@jvs-milkdown/components 1.2.1 → 1.2.3
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/lib/__internal__/components/icon.d.ts +24 -0
- package/lib/__internal__/components/icon.d.ts.map +1 -0
- package/lib/__internal__/components/image-input.d.ts +17 -0
- package/lib/__internal__/components/image-input.d.ts.map +1 -0
- package/lib/__internal__/keep-alive.d.ts +2 -0
- package/lib/__internal__/keep-alive.d.ts.map +1 -0
- package/lib/__internal__/meta.d.ts +3 -0
- package/lib/__internal__/meta.d.ts.map +1 -0
- package/lib/__tests__/setup.d.ts +2 -0
- package/lib/__tests__/setup.d.ts.map +1 -0
- package/lib/code-block/config.d.ts +25 -0
- package/lib/code-block/config.d.ts.map +1 -0
- package/lib/code-block/index.d.ts +5 -0
- package/lib/code-block/index.d.ts.map +1 -0
- package/lib/code-block/view/components/code-block.d.ts +18 -0
- package/lib/code-block/view/components/code-block.d.ts.map +1 -0
- package/lib/code-block/view/components/copy-button.d.ts +9 -0
- package/lib/code-block/view/components/copy-button.d.ts.map +1 -0
- package/lib/code-block/view/components/language-picker.d.ts +5 -0
- package/lib/code-block/view/components/language-picker.d.ts.map +1 -0
- package/lib/code-block/view/components/preview-panel.d.ts +9 -0
- package/lib/code-block/view/components/preview-panel.d.ts.map +1 -0
- package/lib/code-block/view/index.d.ts +3 -0
- package/lib/code-block/view/index.d.ts.map +1 -0
- package/lib/code-block/view/loader.d.ts +13 -0
- package/lib/code-block/view/loader.d.ts.map +1 -0
- package/lib/code-block/view/node-view.d.ts +43 -0
- package/lib/code-block/view/node-view.d.ts.map +1 -0
- package/lib/image-block/config.d.ts +21 -0
- package/lib/image-block/config.d.ts.map +1 -0
- package/lib/image-block/convert-plugin.d.ts +2 -0
- package/lib/image-block/convert-plugin.d.ts.map +1 -0
- package/lib/image-block/index.d.ts +9 -0
- package/lib/image-block/index.d.ts.map +1 -0
- package/lib/image-block/index.js +120 -56
- package/lib/image-block/index.js.map +1 -1
- package/lib/image-block/paste-rule.d.ts +2 -0
- package/lib/image-block/paste-rule.d.ts.map +1 -0
- package/lib/image-block/remark-plugin.d.ts +2 -0
- package/lib/image-block/remark-plugin.d.ts.map +1 -0
- package/lib/image-block/schema.d.ts +3 -0
- package/lib/image-block/schema.d.ts.map +1 -0
- package/lib/image-block/view/components/__tests__/image-viewer.onImageLoadError.spec.d.ts +2 -0
- package/lib/image-block/view/components/__tests__/image-viewer.onImageLoadError.spec.d.ts.map +1 -0
- package/lib/image-block/view/components/image-block.d.ts +27 -0
- package/lib/image-block/view/components/image-block.d.ts.map +1 -0
- package/lib/image-block/view/components/image-viewer.d.ts +3 -0
- package/lib/image-block/view/components/image-viewer.d.ts.map +1 -0
- package/lib/image-block/view/index.d.ts +3 -0
- package/lib/image-block/view/index.d.ts.map +1 -0
- package/lib/image-inline/components/image-inline.d.ts +18 -0
- package/lib/image-inline/components/image-inline.d.ts.map +1 -0
- package/lib/image-inline/config.d.ts +11 -0
- package/lib/image-inline/config.d.ts.map +1 -0
- package/lib/image-inline/index.d.ts +5 -0
- package/lib/image-inline/index.d.ts.map +1 -0
- package/lib/image-inline/view.d.ts +3 -0
- package/lib/image-inline/view.d.ts.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/link-tooltip/command.d.ts +2 -0
- package/lib/link-tooltip/command.d.ts.map +1 -0
- package/lib/link-tooltip/configure.d.ts +3 -0
- package/lib/link-tooltip/configure.d.ts.map +1 -0
- package/lib/link-tooltip/edit/component.d.ts +11 -0
- package/lib/link-tooltip/edit/component.d.ts.map +1 -0
- package/lib/link-tooltip/edit/edit-configure.d.ts +3 -0
- package/lib/link-tooltip/edit/edit-configure.d.ts.map +1 -0
- package/lib/link-tooltip/edit/edit-view.d.ts +15 -0
- package/lib/link-tooltip/edit/edit-view.d.ts.map +1 -0
- package/lib/link-tooltip/index.d.ts +7 -0
- package/lib/link-tooltip/index.d.ts.map +1 -0
- package/lib/link-tooltip/index.js +1 -2
- package/lib/link-tooltip/index.js.map +1 -1
- package/lib/link-tooltip/preview/component.d.ts +11 -0
- package/lib/link-tooltip/preview/component.d.ts.map +1 -0
- package/lib/link-tooltip/preview/preview-configure.d.ts +3 -0
- package/lib/link-tooltip/preview/preview-configure.d.ts.map +1 -0
- package/lib/link-tooltip/preview/preview-view.d.ts +14 -0
- package/lib/link-tooltip/preview/preview-view.d.ts.map +1 -0
- package/lib/link-tooltip/slices.d.ts +34 -0
- package/lib/link-tooltip/slices.d.ts.map +1 -0
- package/lib/link-tooltip/tooltips.d.ts +3 -0
- package/lib/link-tooltip/tooltips.d.ts.map +1 -0
- package/lib/link-tooltip/utils.d.ts +14 -0
- package/lib/link-tooltip/utils.d.ts.map +1 -0
- package/lib/list-item-block/component.d.ts +19 -0
- package/lib/list-item-block/component.d.ts.map +1 -0
- package/lib/list-item-block/config.d.ts +13 -0
- package/lib/list-item-block/config.d.ts.map +1 -0
- package/lib/list-item-block/index.d.ts +6 -0
- package/lib/list-item-block/index.d.ts.map +1 -0
- package/lib/list-item-block/view.d.ts +3 -0
- package/lib/list-item-block/view.d.ts.map +1 -0
- package/lib/table-block/config.d.ts +8 -0
- package/lib/table-block/config.d.ts.map +1 -0
- package/lib/table-block/dnd/calc-drag-over.d.ts +3 -0
- package/lib/table-block/dnd/calc-drag-over.d.ts.map +1 -0
- package/lib/table-block/dnd/create-drag-handler.d.ts +5 -0
- package/lib/table-block/dnd/create-drag-handler.d.ts.map +1 -0
- package/lib/table-block/dnd/drag-over-handler.d.ts +3 -0
- package/lib/table-block/dnd/drag-over-handler.d.ts.map +1 -0
- package/lib/table-block/dnd/prepare-dnd-context.d.ts +3 -0
- package/lib/table-block/dnd/prepare-dnd-context.d.ts.map +1 -0
- package/lib/table-block/dnd/preview.d.ts +3 -0
- package/lib/table-block/dnd/preview.d.ts.map +1 -0
- package/lib/table-block/index.d.ts +5 -0
- package/lib/table-block/index.d.ts.map +1 -0
- package/lib/table-block/index.js.map +1 -1
- package/lib/table-block/view/component.d.ts +16 -0
- package/lib/table-block/view/component.d.ts.map +1 -0
- package/lib/table-block/view/drag.d.ts +10 -0
- package/lib/table-block/view/drag.d.ts.map +1 -0
- package/lib/table-block/view/index.d.ts +2 -0
- package/lib/table-block/view/index.d.ts.map +1 -0
- package/lib/table-block/view/operation.d.ts +13 -0
- package/lib/table-block/view/operation.d.ts.map +1 -0
- package/lib/table-block/view/pointer.d.ts +7 -0
- package/lib/table-block/view/pointer.d.ts.map +1 -0
- package/lib/table-block/view/types.d.ts +28 -0
- package/lib/table-block/view/types.d.ts.map +1 -0
- package/lib/table-block/view/utils.d.ts +12 -0
- package/lib/table-block/view/utils.d.ts.map +1 -0
- package/lib/table-block/view/view.d.ts +22 -0
- package/lib/table-block/view/view.d.ts.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/image-block/convert-plugin.ts +1 -1
- package/src/image-block/paste-rule.ts +1 -21
- package/src/image-block/view/components/image-viewer.tsx +139 -53
- package/src/link-tooltip/edit/component.tsx +0 -1
- package/src/table-block/view/utils.ts +4 -3
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { MilkdownImageBlockProps } from './image-block';
|
|
2
|
+
export declare const ImageViewer: import("vue").DefineComponent<MilkdownImageBlockProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MilkdownImageBlockProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
3
|
+
//# sourceMappingURL=image-viewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-viewer.d.ts","sourceRoot":"","sources":["../../../../src/image-block/view/components/image-viewer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAe5D,eAAO,MAAM,WAAW,0TA8wBtB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/image-block/view/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAWnE,eAAO,MAAM,cAAc,+FA+I1B,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import type { InlineImageConfig } from '../config';
|
|
3
|
+
type Attrs = {
|
|
4
|
+
src: string;
|
|
5
|
+
alt: string;
|
|
6
|
+
title: string;
|
|
7
|
+
};
|
|
8
|
+
type MilkdownImageInlineProps = {
|
|
9
|
+
selected: Ref<boolean>;
|
|
10
|
+
readonly: Ref<boolean>;
|
|
11
|
+
setAttr: <T extends keyof Attrs>(attr: T, value: Attrs[T]) => void;
|
|
12
|
+
config: InlineImageConfig;
|
|
13
|
+
} & {
|
|
14
|
+
[P in keyof Attrs]: Ref<Attrs[P] | undefined>;
|
|
15
|
+
};
|
|
16
|
+
export declare const MilkdownImageInline: import("vue").DefineComponent<MilkdownImageInlineProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MilkdownImageInlineProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=image-inline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-inline.d.ts","sourceRoot":"","sources":["../../../src/image-inline/components/image-inline.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,GAAG,EAAmB,MAAM,KAAK,CAAA;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAOlD,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACtB,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACtB,OAAO,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAClE,MAAM,EAAE,iBAAiB,CAAA;CAC1B,GAAG;KACD,CAAC,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CAC9C,CAAA;AAED,eAAO,MAAM,mBAAmB,4TA4D9B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface InlineImageConfig {
|
|
2
|
+
imageIcon: string | undefined;
|
|
3
|
+
uploadButton: string | undefined;
|
|
4
|
+
confirmButton: string | undefined;
|
|
5
|
+
uploadPlaceholderText: string;
|
|
6
|
+
onUpload: (file: File) => Promise<string>;
|
|
7
|
+
proxyDomURL?: (url: string) => Promise<string> | string;
|
|
8
|
+
}
|
|
9
|
+
export declare const defaultInlineImageConfig: InlineImageConfig;
|
|
10
|
+
export declare const inlineImageConfig: import("@jvs-milkdown/utils").$Ctx<InlineImageConfig, "inlineImageConfigCtx">;
|
|
11
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/image-inline/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACzC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;CACxD;AAED,eAAO,MAAM,wBAAwB,EAAE,iBAMtC,CAAA;AAED,eAAO,MAAM,iBAAiB,+EAG7B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/image-inline/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAKvD,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AAEtB,eAAO,MAAM,oBAAoB,EAAE,cAAc,EAGhD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/image-inline/view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAWnE,eAAO,MAAM,eAAe,+FA2F3B,CAAA"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/link-tooltip/command.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB,iDAa5B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/link-tooltip/configure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAK5C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,QAG5C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import type { LinkTooltipConfig } from '../slices';
|
|
3
|
+
type EditLinkProps = {
|
|
4
|
+
config: Ref<LinkTooltipConfig>;
|
|
5
|
+
src: Ref<string>;
|
|
6
|
+
onConfirm: (href: string) => void;
|
|
7
|
+
onCancel: () => void;
|
|
8
|
+
};
|
|
9
|
+
export declare const EditLink: import("vue").DefineComponent<EditLinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<EditLinkProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/link-tooltip/edit/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,GAAG,EAAK,MAAM,KAAK,CAAA;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAOlD,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC9B,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,QAAQ,sSA8EnB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-configure.d.ts","sourceRoot":"","sources":["../../../src/link-tooltip/edit/edit-configure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAM5C,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,QAsBhD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Ctx } from '@jvs-milkdown/ctx';
|
|
2
|
+
import type { Mark } from '@jvs-milkdown/prose/model';
|
|
3
|
+
import type { PluginView } from '@jvs-milkdown/prose/state';
|
|
4
|
+
import type { EditorView } from '@jvs-milkdown/prose/view';
|
|
5
|
+
export declare class LinkEditTooltip implements PluginView {
|
|
6
|
+
#private;
|
|
7
|
+
readonly ctx: Ctx;
|
|
8
|
+
constructor(ctx: Ctx, view: EditorView);
|
|
9
|
+
update: (view: EditorView) => void;
|
|
10
|
+
destroy: () => void;
|
|
11
|
+
addLink: (from: number, to: number) => void;
|
|
12
|
+
editLink: (mark: Mark, from: number, to: number) => void;
|
|
13
|
+
removeLink: (from: number, to: number) => void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=edit-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-view.d.ts","sourceRoot":"","sources":["../../../src/link-tooltip/edit/edit-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AA6B1D,qBAAa,eAAgB,YAAW,UAAU;;IAS9C,QAAQ,CAAC,GAAG,EAAE,GAAG;gBAAR,GAAG,EAAE,GAAG,EACjB,IAAI,EAAE,UAAU;IA+ElB,MAAM,GAAI,MAAM,UAAU,UAQzB;IAED,OAAO,aAIN;IAED,OAAO,GAAI,MAAM,MAAM,EAAE,IAAI,MAAM,UAOlC;IAED,QAAQ,GAAI,MAAM,IAAI,EAAE,MAAM,MAAM,EAAE,IAAI,MAAM,UAO/C;IAED,UAAU,GAAI,MAAM,MAAM,EAAE,IAAI,MAAM,UAQrC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MilkdownPlugin } from '@jvs-milkdown/ctx';
|
|
2
|
+
export * from './slices';
|
|
3
|
+
export * from './configure';
|
|
4
|
+
export * from './tooltips';
|
|
5
|
+
export * from './command';
|
|
6
|
+
export declare const linkTooltipPlugin: MilkdownPlugin[];
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/link-tooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAMvD,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AAEzB,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAOtC,CAAA"}
|
|
@@ -220,8 +220,7 @@ const EditLink = defineComponent({
|
|
|
220
220
|
{
|
|
221
221
|
class: clsx("button confirm", !isValidUrl(link.value) && "disabled"),
|
|
222
222
|
icon: config.value.confirmButton,
|
|
223
|
-
onClick: onConfirmEdit
|
|
224
|
-
style: !isValidUrl(link.value) ? { opacity: 0.5, cursor: "not-allowed" } : void 0
|
|
223
|
+
onClick: onConfirmEdit
|
|
225
224
|
}
|
|
226
225
|
) : null);
|
|
227
226
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/__internal__/meta.ts","../../src/link-tooltip/slices.ts","../../src/link-tooltip/command.ts","../../src/link-tooltip/tooltips.ts","../../src/__internal__/keep-alive.ts","../../src/__internal__/components/icon.tsx","../../src/link-tooltip/edit/component.tsx","../../src/link-tooltip/edit/edit-view.ts","../../src/link-tooltip/edit/edit-configure.ts","../../src/link-tooltip/utils.ts","../../src/link-tooltip/preview/component.tsx","../../src/link-tooltip/preview/preview-view.ts","../../src/link-tooltip/preview/preview-configure.ts","../../src/link-tooltip/configure.ts","../../src/link-tooltip/index.ts"],"sourcesContent":["import type { Meta, MilkdownPlugin } from '@jvs-milkdown/ctx'\n\nexport function withMeta<T extends MilkdownPlugin>(\n plugin: T,\n meta: Partial<Meta> & Pick<Meta, 'displayName'>\n): T {\n Object.assign(plugin, {\n meta: {\n package: '@jvs-milkdown/components',\n ...meta,\n },\n })\n\n return plugin\n}\n","import type { Mark } from '@jvs-milkdown/prose/model'\n\nimport { $ctx } from '@jvs-milkdown/utils'\n\nimport { withMeta } from '../__internal__/meta'\n\nexport interface LinkToolTipState {\n mode: 'preview' | 'edit'\n}\n\nconst defaultState: LinkToolTipState = {\n mode: 'preview',\n}\n\nexport const linkTooltipState = $ctx({ ...defaultState }, 'linkTooltipStateCtx')\n\nwithMeta(linkTooltipState, {\n displayName: 'State<link-tooltip>',\n group: 'LinkTooltip',\n})\n\nexport interface LinkTooltipAPI {\n addLink: (from: number, to: number) => void\n editLink: (mark: Mark, from: number, to: number) => void\n removeLink: (from: number, to: number) => void\n}\n\nconst defaultAPI: LinkTooltipAPI = {\n addLink: () => {},\n editLink: () => {},\n removeLink: () => {},\n}\n\nexport const linkTooltipAPI = $ctx({ ...defaultAPI }, 'linkTooltipAPICtx')\n\nwithMeta(linkTooltipState, {\n displayName: 'API<link-tooltip>',\n group: 'LinkTooltip',\n})\n\nexport interface LinkTooltipConfig {\n linkIcon: string\n editButton: string\n confirmButton: string\n removeButton: string\n onCopyLink: (link: string) => void\n inputPlaceholder: string\n}\n\nconst defaultConfig: LinkTooltipConfig = {\n linkIcon: '🔗',\n editButton: '✎',\n removeButton: '⌫',\n confirmButton: 'Confirm ⏎',\n onCopyLink: () => {},\n inputPlaceholder: 'Paste link...',\n}\n\nexport const linkTooltipConfig = $ctx(\n {\n ...defaultConfig,\n },\n 'linkTooltipConfigCtx'\n)\n\nwithMeta(linkTooltipState, {\n displayName: 'Config<link-tooltip>',\n group: 'LinkTooltip',\n})\n","import { linkSchema } from '@jvs-milkdown/preset-commonmark'\nimport { $command } from '@jvs-milkdown/utils'\n\nimport { linkTooltipAPI } from './slices'\n\nexport const toggleLinkCommand = $command('ToggleLink', (ctx) => {\n return () => (state) => {\n const { doc, selection } = state\n const mark = linkSchema.type(ctx)\n const hasLink = doc.rangeHasMark(selection.from, selection.to, mark)\n if (hasLink) {\n ctx.get(linkTooltipAPI.key).removeLink(selection.from, selection.to)\n return true\n }\n\n ctx.get(linkTooltipAPI.key).addLink(selection.from, selection.to)\n return true\n }\n})\n","import { tooltipFactory } from '@jvs-milkdown/plugin-tooltip'\n\nimport { withMeta } from '../__internal__/meta'\n\nexport const linkPreviewTooltip = tooltipFactory('LINK_PREVIEW')\nwithMeta(linkPreviewTooltip[0], {\n displayName: 'PreviewTooltipSpec<link-tooltip>',\n group: 'LinkTooltip',\n})\nwithMeta(linkPreviewTooltip[1], {\n displayName: 'PreviewTooltipPlugin<link-tooltip>',\n group: 'LinkTooltip',\n})\nexport const linkEditTooltip = tooltipFactory('LINK_EDIT')\nwithMeta(linkEditTooltip[0], {\n displayName: 'EditTooltipSpec<link-tooltip>',\n group: 'LinkTooltip',\n})\nwithMeta(linkEditTooltip[1], {\n displayName: 'EditTooltipPlugin<link-tooltip>',\n group: 'LinkTooltip',\n})\n","// Prevent tree-shaking from removing Vue's `h` and `Fragment`,\n// which are required at runtime for TSX to work.\nexport function keepAlive(..._args: unknown[]) {}\n","import clsx from 'clsx'\nimport DOMPurify from 'dompurify'\nimport { h } from 'vue'\n\nimport { keepAlive } from '../keep-alive'\n\nkeepAlive(h)\n\ntype IconProps = {\n icon?: string | null\n class?: string\n onClick?: (event: PointerEvent) => void\n}\n\nexport function Icon({ icon, class: className, onClick }: IconProps) {\n return (\n <span\n class={clsx('milkdown-icon', className)}\n onPointerdown={onClick}\n innerHTML={icon ? DOMPurify.sanitize(icon.trim()) : undefined}\n />\n )\n}\n\nIcon.props = {\n icon: {\n type: String,\n required: false,\n },\n class: {\n type: String,\n required: false,\n },\n onClick: {\n type: Function,\n required: false,\n },\n}\n","import clsx from 'clsx'\nimport { defineComponent, ref, watch, type Ref, h } from 'vue'\n\nimport type { LinkTooltipConfig } from '../slices'\n\nimport { Icon } from '../../__internal__/components/icon'\nimport { keepAlive } from '../../__internal__/keep-alive'\n\nkeepAlive(h)\n\ntype EditLinkProps = {\n config: Ref<LinkTooltipConfig>\n src: Ref<string>\n onConfirm: (href: string) => void\n onCancel: () => void\n}\n\nexport const EditLink = defineComponent<EditLinkProps>({\n props: {\n config: {\n type: Object,\n required: true,\n },\n src: {\n type: Object,\n required: true,\n },\n onConfirm: {\n type: Function,\n required: true,\n },\n onCancel: {\n type: Function,\n required: true,\n },\n },\n setup({ config, src, onConfirm, onCancel }) {\n const link = ref(src)\n\n watch(src, (value) => {\n link.value = value\n })\n\n const isValidUrl = (url: string) => {\n if (!url) return false\n const trimmedUrl = url.trim()\n // Accept standard http/https links, relative links, anchors, or mailto\n return /^(https?:\\/\\/|\\/|\\.\\.?\\/|mailto:|#|[a-zA-Z0-9-]+\\.[a-zA-Z]+)/i.test(trimmedUrl)\n }\n\n const onConfirmEdit = () => {\n const val = link.value?.trim() ?? ''\n if (isValidUrl(val)) {\n onConfirm(val)\n }\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n e.stopPropagation()\n if (e.key === 'Enter') {\n e.preventDefault()\n const val = link.value?.trim() ?? ''\n if (isValidUrl(val)) {\n onConfirmEdit()\n }\n }\n if (e.key === 'Escape') {\n e.preventDefault()\n onCancel()\n }\n }\n\n return () => {\n return (\n <div class=\"link-edit\">\n <input\n class=\"input-area\"\n placeholder={config.value.inputPlaceholder}\n onKeydown={onKeydown}\n onInput={(e: Event) => {\n link.value = (e.target as HTMLInputElement).value\n }}\n value={link.value}\n />\n {link.value ? (\n <Icon\n class={clsx('button confirm', !isValidUrl(link.value) && 'disabled')}\n icon={config.value.confirmButton}\n onClick={onConfirmEdit}\n style={!isValidUrl(link.value) ? { opacity: 0.5, cursor: 'not-allowed' } : undefined}\n />\n ) : null}\n </div>\n )\n }\n },\n})\n","import type { Ctx } from '@jvs-milkdown/ctx'\nimport type { Mark } from '@jvs-milkdown/prose/model'\nimport type { PluginView } from '@jvs-milkdown/prose/state'\nimport type { EditorView } from '@jvs-milkdown/prose/view'\n\nimport { editorViewCtx } from '@jvs-milkdown/core'\nimport { TooltipProvider } from '@jvs-milkdown/plugin-tooltip'\nimport { linkSchema } from '@jvs-milkdown/preset-commonmark'\nimport { posToDOMRect } from '@jvs-milkdown/prose'\nimport { TextSelection } from '@jvs-milkdown/prose/state'\nimport DOMPurify from 'dompurify'\nimport { createApp, ref, type App, type Ref } from 'vue'\n\nimport {\n linkTooltipConfig,\n linkTooltipState,\n type LinkTooltipConfig,\n} from '../slices'\nimport { EditLink } from './component'\n\ninterface Data {\n from: number\n to: number\n mark: Mark | null\n}\n\nconst defaultData: Data = {\n from: -1,\n to: -1,\n mark: null,\n}\n\nexport class LinkEditTooltip implements PluginView {\n #content: HTMLElement\n #provider: TooltipProvider\n #data: Data = { ...defaultData }\n #app: App\n #config: Ref<LinkTooltipConfig>\n #src = ref('')\n\n constructor(\n readonly ctx: Ctx,\n view: EditorView\n ) {\n this.#config = ref(this.ctx.get(linkTooltipConfig.key))\n\n const content = document.createElement('div')\n content.className = 'milkdown-link-edit'\n\n const app = createApp(EditLink, {\n config: this.#config,\n src: this.#src,\n onConfirm: this.#confirmEdit,\n onCancel: this.#reset,\n })\n app.mount(content)\n this.#app = app\n\n this.#content = content\n this.#provider = new TooltipProvider({\n content,\n debounce: 0,\n shouldShow: () => false,\n })\n this.#provider.onHide = () => {\n requestAnimationFrame(() => {\n view.dom.focus({ preventScroll: true })\n })\n }\n this.#provider.update(view)\n }\n\n #reset = () => {\n this.#provider.hide()\n this.ctx.update(linkTooltipState.key, (state) => ({\n ...state,\n mode: 'preview' as const,\n }))\n this.#data = { ...defaultData }\n }\n\n #confirmEdit = (href: string) => {\n const view = this.ctx.get(editorViewCtx)\n const { from, to, mark } = this.#data\n const type = linkSchema.type(this.ctx)\n const link = DOMPurify.sanitize(href)\n if (mark && mark.attrs.href === link) {\n this.#reset()\n return\n }\n\n const tr = view.state.tr\n if (mark) tr.removeMark(from, to, mark)\n\n tr.addMark(from, to, type.create({ href: link }))\n view.dispatch(tr)\n\n this.#reset()\n }\n\n #enterEditMode = (value: string, from: number, to: number) => {\n const config = this.ctx.get(linkTooltipConfig.key)\n this.#config.value = config\n this.#src.value = value\n this.ctx.update(linkTooltipState.key, (state) => ({\n ...state,\n mode: 'edit' as const,\n }))\n const view = this.ctx.get(editorViewCtx)\n view.dispatch(\n view.state.tr.setSelection(TextSelection.create(view.state.doc, from, to))\n )\n this.#provider.show(\n { getBoundingClientRect: () => posToDOMRect(view, from, to) },\n view\n )\n requestAnimationFrame(() => {\n this.#content.querySelector('input')?.focus()\n })\n }\n\n update = (view: EditorView) => {\n const { state } = view\n const { selection } = state\n if (!(selection instanceof TextSelection)) return\n const { from, to } = selection\n if (from === this.#data.from && to === this.#data.to) return\n\n this.#reset()\n }\n\n destroy = () => {\n this.#app.unmount()\n this.#provider.destroy()\n this.#content.remove()\n }\n\n addLink = (from: number, to: number) => {\n this.#data = {\n from,\n to,\n mark: null,\n }\n this.#enterEditMode('', from, to)\n }\n\n editLink = (mark: Mark, from: number, to: number) => {\n this.#data = {\n from,\n to,\n mark,\n }\n this.#enterEditMode(mark.attrs.href, from, to)\n }\n\n removeLink = (from: number, to: number) => {\n const view = this.ctx.get(editorViewCtx)\n\n const tr = view.state.tr\n tr.removeMark(from, to, linkSchema.type(this.ctx))\n view.dispatch(tr)\n\n this.#reset()\n }\n}\n","import type { Ctx } from '@jvs-milkdown/ctx'\n\nimport { linkTooltipAPI } from '../slices'\nimport { linkEditTooltip } from '../tooltips'\nimport { LinkEditTooltip } from './edit-view'\n\nexport function configureLinkEditTooltip(ctx: Ctx) {\n let linkEditTooltipView: LinkEditTooltip | null\n\n ctx.update(linkTooltipAPI.key, (api) => ({\n ...api,\n addLink: (from, to) => {\n linkEditTooltipView?.addLink(from, to)\n },\n editLink: (mark, from, to) => {\n linkEditTooltipView?.editLink(mark, from, to)\n },\n removeLink: (from, to) => {\n linkEditTooltipView?.removeLink(from, to)\n },\n }))\n\n ctx.set(linkEditTooltip.key, {\n view: (view) => {\n linkEditTooltipView = new LinkEditTooltip(ctx, view)\n return linkEditTooltipView\n },\n })\n}\n","import type { Ctx } from '@jvs-milkdown/ctx'\nimport type { Mark, Node } from '@jvs-milkdown/prose/model'\nimport type { EditorView } from '@jvs-milkdown/prose/view'\n\nimport { linkSchema } from '@jvs-milkdown/preset-commonmark'\n\nimport { linkPreviewTooltip } from './tooltips'\n\nexport function findMarkPosition(\n mark: Mark,\n node: Node,\n doc: Node,\n from: number,\n to: number\n) {\n let markPos = { start: -1, end: -1 }\n doc.nodesBetween(from, to, (n, pos) => {\n // stop recursive finding if result is found\n if (markPos.start > -1) return false\n\n if (markPos.start === -1 && mark.isInSet(n.marks) && node === n) {\n markPos = {\n start: pos,\n end: pos + Math.max(n.textContent.length, 1),\n }\n }\n\n return undefined\n })\n\n return markPos\n}\n\nexport function shouldShowPreviewWhenHover(\n ctx: Ctx,\n view: EditorView,\n event: MouseEvent\n) {\n const $pos = view.posAtCoords({ left: event.clientX, top: event.clientY })\n if (!$pos) return\n\n const { pos } = $pos\n const node = view.state.doc.nodeAt(pos)\n\n if (!node) return\n\n const mark = node.marks.find(\n (mark) => mark.type === linkSchema.mark.type(ctx)\n )\n if (!mark) return\n\n const key = linkPreviewTooltip.pluginKey()\n if (!key) return\n\n return { show: true, pos, node, mark }\n}\n","import { defineComponent, type Ref, h } from 'vue'\n\nimport type { LinkTooltipConfig } from '../slices'\n\nimport { Icon } from '../../__internal__/components/icon'\nimport { keepAlive } from '../../__internal__/keep-alive'\n\nkeepAlive(h)\n\ntype PreviewLinkProps = {\n config: Ref<LinkTooltipConfig>\n src: Ref<string>\n onEdit: Ref<() => void>\n onRemove: Ref<() => void>\n}\n\nexport const PreviewLink = defineComponent<PreviewLinkProps>({\n props: {\n config: {\n type: Object,\n required: true,\n },\n src: {\n type: Object,\n required: true,\n },\n onEdit: {\n type: Object,\n required: true,\n },\n onRemove: {\n type: Object,\n required: true,\n },\n },\n setup({ config, src, onEdit, onRemove }) {\n const onClickEditButton = (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n onEdit.value()\n }\n\n const onClickRemoveButton = (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n onRemove.value()\n }\n\n const onClickPreview = (e: Event) => {\n e.preventDefault()\n const link = src.value\n if (navigator.clipboard && link) {\n navigator.clipboard\n .writeText(link)\n .then(() => {\n config.value.onCopyLink(link)\n })\n .catch((e) => console.error(e))\n }\n }\n\n return () => {\n return (\n <div class=\"link-preview\">\n <Icon\n class=\"button link-icon\"\n icon={config.value.linkIcon}\n onClick={onClickPreview}\n />\n <a href={src.value} target=\"_blank\" class=\"link-display\">\n {src.value}\n </a>\n <Icon\n class=\"button link-edit-button\"\n icon={config.value.editButton}\n onClick={onClickEditButton}\n />\n <Icon\n class=\"button link-remove-button\"\n icon={config.value.removeButton}\n onClick={onClickRemoveButton}\n />\n </div>\n )\n }\n },\n})\n","import type { Ctx, Slice } from '@jvs-milkdown/ctx'\nimport type { Mark } from '@jvs-milkdown/prose/model'\nimport type { PluginView } from '@jvs-milkdown/prose/state'\nimport type { EditorView } from '@jvs-milkdown/prose/view'\n\nimport { TooltipProvider } from '@jvs-milkdown/plugin-tooltip'\nimport { createApp, ref, type App, type Ref } from 'vue'\n\nimport type { LinkTooltipConfig, LinkToolTipState } from '../slices'\n\nimport { linkTooltipAPI, linkTooltipConfig, linkTooltipState } from '../slices'\nimport { PreviewLink } from './component'\n\nexport class LinkPreviewTooltip implements PluginView {\n #content: HTMLElement\n #provider: TooltipProvider\n #slice: Slice<LinkToolTipState>\n #config: Ref<LinkTooltipConfig>\n #src = ref('')\n #onEdit = ref(() => {})\n #onRemove = ref(() => {})\n #app: App\n #editorView: EditorView\n\n #hovering = false\n\n constructor(\n readonly ctx: Ctx,\n view: EditorView\n ) {\n this.#editorView = view\n this.#config = ref(this.ctx.get(linkTooltipConfig.key))\n this.#app = createApp(PreviewLink, {\n config: this.#config,\n src: this.#src,\n onEdit: this.#onEdit,\n onRemove: this.#onRemove,\n })\n this.#content = document.createElement('div')\n this.#content.className = 'milkdown-link-preview'\n this.#app.mount(this.#content)\n\n this.#provider = new TooltipProvider({\n debounce: 0,\n content: this.#content,\n shouldShow: () => false,\n })\n this.#provider.update(view)\n this.#slice = ctx.use(linkTooltipState.key)\n this.#slice.on(this.#onStateChange)\n }\n\n #onStateChange = ({ mode }: LinkToolTipState) => {\n if (mode === 'edit') this.#hide()\n }\n\n #onMouseEnter = () => {\n this.#hovering = true\n }\n\n #onMouseLeave = () => {\n this.#hovering = false\n }\n\n #hide = () => {\n this.#provider.hide()\n this.#provider.element.removeEventListener('mouseenter', this.#onMouseEnter)\n this.#provider.element.removeEventListener('mouseleave', this.#onMouseLeave)\n }\n\n show = (mark: Mark, from: number, to: number, rect: DOMRect) => {\n this.#config.value = this.ctx.get(linkTooltipConfig.key)\n this.#src.value = mark.attrs.href\n this.#onEdit.value = () => {\n this.ctx.get(linkTooltipAPI.key).editLink(mark, from, to)\n }\n this.#onRemove.value = () => {\n this.ctx.get(linkTooltipAPI.key).removeLink(from, to)\n this.#hide()\n }\n\n this.#provider.show({ getBoundingClientRect: () => rect }, this.#editorView)\n this.#provider.element.addEventListener('mouseenter', this.#onMouseEnter)\n this.#provider.element.addEventListener('mouseleave', this.#onMouseLeave)\n }\n\n hide = () => {\n if (this.#hovering) return\n\n this.#hide()\n }\n\n update = () => {}\n\n destroy = () => {\n this.#app.unmount()\n this.#slice.off(this.#onStateChange)\n this.#provider.destroy()\n this.#content.remove()\n }\n}\n","import type { Ctx } from '@jvs-milkdown/ctx'\nimport type { EditorView } from '@jvs-milkdown/prose/view'\n\nimport { posToDOMRect } from '@jvs-milkdown/prose'\nimport { debounce } from 'lodash-es'\n\nimport { linkTooltipState } from '../slices'\nimport { linkPreviewTooltip } from '../tooltips'\nimport { findMarkPosition, shouldShowPreviewWhenHover } from '../utils'\nimport { LinkPreviewTooltip } from './preview-view'\n\nexport function configureLinkPreviewTooltip(ctx: Ctx) {\n let linkPreviewTooltipView: LinkPreviewTooltip | null\n\n const DELAY = 50\n const onMouseMove = debounce((view: EditorView, event: MouseEvent) => {\n if (!linkPreviewTooltipView) return\n if (!view.hasFocus()) return\n\n const state = ctx.get(linkTooltipState.key)\n if (state.mode === 'edit') return\n\n const result = shouldShowPreviewWhenHover(ctx, view, event)\n if (result) {\n const position = view.state.doc.resolve(result.pos)\n const markPosition = findMarkPosition(\n result.mark,\n result.node,\n view.state.doc,\n position.before(),\n position.after()\n )\n const from = markPosition.start\n const to = markPosition.end\n linkPreviewTooltipView.show(\n result.mark,\n from,\n to,\n posToDOMRect(view, from, to)\n )\n return\n }\n\n linkPreviewTooltipView.hide()\n }, DELAY)\n\n const onMouseLeave = () => {\n setTimeout(() => {\n linkPreviewTooltipView?.hide()\n }, DELAY)\n }\n\n ctx.set(linkPreviewTooltip.key, {\n props: {\n handleDOMEvents: {\n mousemove: onMouseMove,\n mouseleave: onMouseLeave,\n },\n },\n view: (view) => {\n linkPreviewTooltipView = new LinkPreviewTooltip(ctx, view)\n return linkPreviewTooltipView\n },\n })\n}\n","import type { Ctx } from '@jvs-milkdown/ctx'\n\nimport { configureLinkEditTooltip } from './edit/edit-configure'\nimport { configureLinkPreviewTooltip } from './preview/preview-configure'\n\nexport function configureLinkTooltip(ctx: Ctx) {\n configureLinkPreviewTooltip(ctx)\n configureLinkEditTooltip(ctx)\n}\n","import type { MilkdownPlugin } from '@jvs-milkdown/ctx'\n\nimport { toggleLinkCommand } from './command'\nimport { linkTooltipAPI, linkTooltipConfig, linkTooltipState } from './slices'\nimport { linkEditTooltip, linkPreviewTooltip } from './tooltips'\n\nexport * from './slices'\nexport * from './configure'\nexport * from './tooltips'\nexport * from './command'\n\nexport const linkTooltipPlugin: MilkdownPlugin[] = [\n linkTooltipState,\n linkTooltipAPI,\n linkTooltipConfig,\n linkPreviewTooltip,\n linkEditTooltip,\n toggleLinkCommand,\n].flat()\n"],"names":["__spreadValues","_content","_provider","_app","_config","_src","__privateAdd","__privateGet","__spreadProps","__privateSet","mark","e"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,SAAS,QAAA,CACd,QACA,IAAA,EACG;AACH,EAAA,MAAA,CAAO,OAAO,MAAA,EAAQ;AAAA,IACpB,IAAA,EAAMA,gBAAA,CAAA;AAAA,MACJ,OAAA,EAAS;AAAA,KAAA,EACN,IAAA;AAAA,GAEN,CAAA;AAED,EAAA,OAAO,MAAA;AACT;;;;;;;;;;;;;;;;;;ACJA,MAAM,YAAA,GAAiC;AAAA,EACrC,IAAA,EAAM;AACR,CAAA;AAEO,MAAM,gBAAA,GAAmB,IAAA,CAAKA,gBAAA,CAAA,EAAA,EAAK,YAAA,CAAA,EAAgB,qBAAqB;AAE/E,QAAA,CAAS,gBAAA,EAAkB;AAAA,EACzB,WAAA,EAAa,qBAAA;AAAA,EACb,KAAA,EAAO;AACT,CAAC,CAAA;AAQD,MAAM,UAAA,GAA6B;AAAA,EACjC,SAAS,MAAM;AAAA,EAAC,CAAA;AAAA,EAChB,UAAU,MAAM;AAAA,EAAC,CAAA;AAAA,EACjB,YAAY,MAAM;AAAA,EAAC;AACrB,CAAA;AAEO,MAAM,cAAA,GAAiB,IAAA,CAAKA,gBAAA,CAAA,EAAA,EAAK,UAAA,CAAA,EAAc,mBAAmB;AAEzE,QAAA,CAAS,gBAAA,EAAkB;AAAA,EACzB,WAAA,EAAa,mBAAA;AAAA,EACb,KAAA,EAAO;AACT,CAAC,CAAA;AAWD,MAAM,aAAA,GAAmC;AAAA,EACvC,QAAA,EAAU,WAAA;AAAA,EACV,UAAA,EAAY,QAAA;AAAA,EACZ,YAAA,EAAc,QAAA;AAAA,EACd,aAAA,EAAe,gBAAA;AAAA,EACf,YAAY,MAAM;AAAA,EAAC,CAAA;AAAA,EACnB,gBAAA,EAAkB;AACpB,CAAA;AAEO,MAAM,iBAAA,GAAoB,IAAA;AAAA,EAC/BA,gBAAA,CAAA,EAAA,EACK,aAAA,CAAA;AAAA,EAEL;AACF;AAEA,QAAA,CAAS,gBAAA,EAAkB;AAAA,EACzB,WAAA,EAAa,sBAAA;AAAA,EACb,KAAA,EAAO;AACT,CAAC,CAAA;;AC/DM,MAAM,iBAAA,GAAoB,QAAA,CAAS,YAAA,EAAc,CAAC,GAAA,KAAQ;AAC/D,EAAA,OAAO,MAAM,CAAC,KAAA,KAAU;AACtB,IAAA,MAAM,EAAE,GAAA,EAAK,SAAA,EAAU,GAAI,KAAA;AAC3B,IAAA,MAAM,IAAA,GAAO,UAAA,CAAW,IAAA,CAAK,GAAG,CAAA;AAChC,IAAA,MAAM,UAAU,GAAA,CAAI,YAAA,CAAa,UAAU,IAAA,EAAM,SAAA,CAAU,IAAI,IAAI,CAAA;AACnE,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,GAAA,CAAI,GAAA,CAAI,eAAe,GAAG,CAAA,CAAE,WAAW,SAAA,CAAU,IAAA,EAAM,UAAU,EAAE,CAAA;AACnE,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,GAAA,CAAI,GAAA,CAAI,eAAe,GAAG,CAAA,CAAE,QAAQ,SAAA,CAAU,IAAA,EAAM,UAAU,EAAE,CAAA;AAChE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AACF,CAAC;;ACdM,MAAM,kBAAA,GAAqB,eAAe,cAAc;AAC/D,QAAA,CAAS,kBAAA,CAAmB,CAAC,CAAA,EAAG;AAAA,EAC9B,WAAA,EAAa,kCAAA;AAAA,EACb,KAAA,EAAO;AACT,CAAC,CAAA;AACD,QAAA,CAAS,kBAAA,CAAmB,CAAC,CAAA,EAAG;AAAA,EAC9B,WAAA,EAAa,oCAAA;AAAA,EACb,KAAA,EAAO;AACT,CAAC,CAAA;AACM,MAAM,eAAA,GAAkB,eAAe,WAAW;AACzD,QAAA,CAAS,eAAA,CAAgB,CAAC,CAAA,EAAG;AAAA,EAC3B,WAAA,EAAa,+BAAA;AAAA,EACb,KAAA,EAAO;AACT,CAAC,CAAA;AACD,QAAA,CAAS,eAAA,CAAgB,CAAC,CAAA,EAAG;AAAA,EAC3B,WAAA,EAAa,iCAAA;AAAA,EACb,KAAA,EAAO;AACT,CAAC,CAAA;;ACnBM,SAAS,aAAa,KAAA,EAAkB;AAAC;;ACIhD,SAAA,CAAU,CAAC,CAAA;AAQJ,SAAS,KAAK,EAAE,IAAA,EAAM,KAAA,EAAO,SAAA,EAAW,SAAQ,EAAc;AACnE,EAAA,uBACE,CAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,IAAA,CAAK,eAAA,EAAiB,SAAS,CAAA;AAAA,MACtC,aAAA,EAAe,OAAA;AAAA,MACf,WAAW,IAAA,GAAO,SAAA,CAAU,SAAS,IAAA,CAAK,IAAA,EAAM,CAAA,GAAI;AAAA;AAAA,GACtD;AAEJ;AAEA,IAAA,CAAK,KAAA,GAAQ;AAAA,EACX,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,QAAA,EAAU;AAAA;AAEd,CAAA;;AC7BA,SAAA,CAAU,CAAC,CAAA;AASJ,MAAM,WAAW,eAAA,CAA+B;AAAA,EACrD,KAAA,EAAO;AAAA,IACL,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,MAAA;AAAA,MACN,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,GAAA,EAAK;AAAA,MACH,IAAA,EAAM,MAAA;AAAA,MACN,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,SAAA,EAAW;AAAA,MACT,IAAA,EAAM,QAAA;AAAA,MACN,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,QAAA;AAAA,MACN,QAAA,EAAU;AAAA;AACZ,GACF;AAAA,EACA,MAAM,EAAE,MAAA,EAAQ,GAAA,EAAK,SAAA,EAAW,UAAS,EAAG;AAC1C,IAAA,MAAM,IAAA,GAAO,IAAI,GAAG,CAAA;AAEpB,IAAA,KAAA,CAAM,GAAA,EAAK,CAAC,KAAA,KAAU;AACpB,MAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AAAA,IACf,CAAC,CAAA;AAED,IAAA,MAAM,UAAA,GAAa,CAAC,GAAA,KAAgB;AAClC,MAAA,IAAI,CAAC,KAAK,OAAO,KAAA;AACjB,MAAA,MAAM,UAAA,GAAa,IAAI,IAAA,EAAK;AAE5B,MAAA,OAAO,+DAAA,CAAgE,KAAK,UAAU,CAAA;AAAA,IACxF,CAAA;AAEA,IAAA,MAAM,gBAAgB,MAAM;AAlDhC,MAAA,IAAA,EAAA,EAAA,EAAA;AAmDM,MAAA,MAAM,GAAA,GAAA,CAAM,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,KAAA,KAAL,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,WAAZ,IAAA,GAAA,EAAA,GAAsB,EAAA;AAClC,MAAA,IAAI,UAAA,CAAW,GAAG,CAAA,EAAG;AACnB,QAAA,SAAA,CAAU,GAAG,CAAA;AAAA,MACf;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,SAAA,GAAY,CAAC,CAAA,KAAqB;AAzD5C,MAAA,IAAA,EAAA,EAAA,EAAA;AA0DM,MAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,MAAA,IAAI,CAAA,CAAE,QAAQ,OAAA,EAAS;AACrB,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,MAAM,GAAA,GAAA,CAAM,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,KAAA,KAAL,IAAA,GAAA,MAAA,GAAA,EAAA,CAAY,WAAZ,IAAA,GAAA,EAAA,GAAsB,EAAA;AAClC,QAAA,IAAI,UAAA,CAAW,GAAG,CAAA,EAAG;AACnB,UAAA,aAAA,EAAc;AAAA,QAChB;AAAA,MACF;AACA,MAAA,IAAI,CAAA,CAAE,QAAQ,QAAA,EAAU;AACtB,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,QAAA,EAAS;AAAA,MACX;AAAA,IACF,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,uBACE,CAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,WAAA,EAAA,kBACT,CAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,YAAA;AAAA,UACN,WAAA,EAAa,OAAO,KAAA,CAAM,gBAAA;AAAA,UAC1B,SAAA;AAAA,UACA,OAAA,EAAS,CAAC,CAAA,KAAa;AACrB,YAAA,IAAA,CAAK,KAAA,GAAS,EAAE,MAAA,CAA4B,KAAA;AAAA,UAC9C,CAAA;AAAA,UACA,OAAO,IAAA,CAAK;AAAA;AAAA,OACd,EACC,KAAK,KAAA,mBACJ,CAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO,KAAK,gBAAA,EAAkB,CAAC,WAAW,IAAA,CAAK,KAAK,KAAK,UAAU,CAAA;AAAA,UACnE,IAAA,EAAM,OAAO,KAAA,CAAM,aAAA;AAAA,UACnB,OAAA,EAAS,aAAA;AAAA,UACT,KAAA,EAAO,CAAC,UAAA,CAAW,IAAA,CAAK,KAAK,CAAA,GAAI,EAAE,OAAA,EAAS,GAAA,EAAK,MAAA,EAAQ,aAAA,EAAc,GAAI;AAAA;AAAA,UAE3E,IACN,CAAA;AAAA,IAEJ,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChGD,IAAAC,UAAA,EAAAC,WAAA,EAAA,KAAA,EAAAC,MAAA,EAAAC,SAAA,EAAAC,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA;AA0BA,MAAM,WAAA,GAAoB;AAAA,EACxB,IAAA,EAAM,EAAA;AAAA,EACN,EAAA,EAAI,EAAA;AAAA,EACJ,IAAA,EAAM;AACR,CAAA;AAEO,MAAM,eAAA,CAAsC;AAAA,EAQjD,WAAA,CACW,KACT,IAAA,EACA;AAFS,IAAA,IAAA,CAAA,GAAA,GAAA,GAAA;AARX,IAAAC,cAAA,CAAA,IAAA,EAAAL,UAAA,CAAA;AACA,IAAAK,cAAA,CAAA,IAAA,EAAAJ,WAAA,CAAA;AACA,IAAAI,cAAA,CAAA,IAAA,EAAA,KAAA,EAAcN,gBAAA,CAAA,EAAA,EAAK,WAAA,CAAA,CAAA;AACnB,IAAAM,cAAA,CAAA,IAAA,EAAAH,MAAA,CAAA;AACA,IAAAG,cAAA,CAAA,IAAA,EAAAF,SAAA,CAAA;AACA,IAAAE,cAAA,CAAA,IAAA,EAAAD,MAAA,EAAO,IAAI,EAAE,CAAA,CAAA;AAkCb,IAAAC,cAAA,CAAA,IAAA,EAAA,MAAA,EAAS,MAAM;AACb,MAAAC,cAAA,CAAA,IAAA,EAAKL,aAAU,IAAA,EAAK;AACpB,MAAA,IAAA,CAAK,IAAI,MAAA,CAAO,gBAAA,CAAiB,KAAK,CAAC,KAAA,KAAWM,qCAC7C,KAAA,CAAA,EAD6C;AAAA,QAEhD,IAAA,EAAM;AAAA,OACR,CAAE,CAAA;AACF,MAAAC,cAAA,CAAA,IAAA,EAAK,OAAQT,gBAAA,CAAA,EAAA,EAAK,WAAA,CAAA,CAAA;AAAA,IACpB,CAAA,CAAA;AAEA,IAAAM,cAAA,CAAA,IAAA,EAAA,YAAA,EAAe,CAAC,IAAA,KAAiB;AAC/B,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,GAAA,CAAI,GAAA,CAAI,aAAa,CAAA;AACvC,MAAA,MAAM,EAAE,IAAA,EAAM,EAAA,EAAI,IAAA,KAASC,cAAA,CAAA,IAAA,EAAK,KAAA,CAAA;AAChC,MAAA,MAAM,IAAA,GAAO,UAAA,CAAW,IAAA,CAAK,IAAA,CAAK,GAAG,CAAA;AACrC,MAAA,MAAM,IAAA,GAAO,SAAA,CAAU,QAAA,CAAS,IAAI,CAAA;AACpC,MAAA,IAAI,IAAA,IAAQ,IAAA,CAAK,KAAA,CAAM,IAAA,KAAS,IAAA,EAAM;AACpC,QAAAA,cAAA,CAAA,IAAA,EAAK,MAAA,CAAA,CAAL,IAAA,CAAA,IAAA,CAAA;AACA,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,EAAA,GAAK,KAAK,KAAA,CAAM,EAAA;AACtB,MAAA,IAAI,IAAA,EAAM,EAAA,CAAG,UAAA,CAAW,IAAA,EAAM,IAAI,IAAI,CAAA;AAEtC,MAAA,EAAA,CAAG,OAAA,CAAQ,MAAM,EAAA,EAAI,IAAA,CAAK,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,CAAC,CAAA;AAChD,MAAA,IAAA,CAAK,SAAS,EAAE,CAAA;AAEhB,MAAAA,cAAA,CAAA,IAAA,EAAK,MAAA,CAAA,CAAL,IAAA,CAAA,IAAA,CAAA;AAAA,IACF,CAAA,CAAA;AAEA,IAAAD,cAAA,CAAA,IAAA,EAAA,cAAA,EAAiB,CAAC,KAAA,EAAe,IAAA,EAAc,EAAA,KAAe;AAC5D,MAAA,MAAM,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,GAAA,CAAI,kBAAkB,GAAG,CAAA;AACjD,MAAAC,cAAA,CAAA,IAAA,EAAKH,WAAQ,KAAA,GAAQ,MAAA;AACrB,MAAAG,cAAA,CAAA,IAAA,EAAKF,QAAK,KAAA,GAAQ,KAAA;AAClB,MAAA,IAAA,CAAK,IAAI,MAAA,CAAO,gBAAA,CAAiB,KAAK,CAAC,KAAA,KAAWG,qCAC7C,KAAA,CAAA,EAD6C;AAAA,QAEhD,IAAA,EAAM;AAAA,OACR,CAAE,CAAA;AACF,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,GAAA,CAAI,GAAA,CAAI,aAAa,CAAA;AACvC,MAAA,IAAA,CAAK,QAAA;AAAA,QACH,IAAA,CAAK,KAAA,CAAM,EAAA,CAAG,YAAA,CAAa,aAAA,CAAc,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,GAAA,EAAK,IAAA,EAAM,EAAE,CAAC;AAAA,OAC3E;AACA,MAAAD,cAAA,CAAA,IAAA,EAAKL,WAAA,CAAA,CAAU,IAAA;AAAA,QACb,EAAE,qBAAA,EAAuB,MAAM,aAAa,IAAA,EAAM,IAAA,EAAM,EAAE,CAAA,EAAE;AAAA,QAC5D;AAAA,OACF;AACA,MAAA,qBAAA,CAAsB,MAAM;AApHhC,QAAA,IAAA,EAAA;AAqHM,QAAA,CAAA,EAAA,GAAAK,cAAA,CAAA,IAAA,EAAKN,UAAA,CAAA,CAAS,aAAA,CAAc,OAAO,CAAA,KAAnC,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsC,KAAA,EAAA;AAAA,MACxC,CAAC,CAAA;AAAA,IACH,CAAA,CAAA;AAEA,IAAA,IAAA,CAAA,MAAA,GAAS,CAAC,IAAA,KAAqB;AAC7B,MAAA,MAAM,EAAE,OAAM,GAAI,IAAA;AAClB,MAAA,MAAM,EAAE,WAAU,GAAI,KAAA;AACtB,MAAA,IAAI,EAAE,qBAAqB,aAAA,CAAA,EAAgB;AAC3C,MAAA,MAAM,EAAE,IAAA,EAAM,EAAA,EAAG,GAAI,SAAA;AACrB,MAAA,IAAI,SAASM,cAAA,CAAA,IAAA,EAAK,KAAA,CAAA,CAAM,QAAQ,EAAA,KAAOA,cAAA,CAAA,IAAA,EAAK,OAAM,EAAA,EAAI;AAEtD,MAAAA,cAAA,CAAA,IAAA,EAAK,MAAA,CAAA,CAAL,IAAA,CAAA,IAAA,CAAA;AAAA,IACF,CAAA;AAEA,IAAA,IAAA,CAAA,OAAA,GAAU,MAAM;AACd,MAAAA,cAAA,CAAA,IAAA,EAAKJ,QAAK,OAAA,EAAQ;AAClB,MAAAI,cAAA,CAAA,IAAA,EAAKL,aAAU,OAAA,EAAQ;AACvB,MAAAK,cAAA,CAAA,IAAA,EAAKN,YAAS,MAAA,EAAO;AAAA,IACvB,CAAA;AAEA,IAAA,IAAA,CAAA,OAAA,GAAU,CAAC,MAAc,EAAA,KAAe;AACtC,MAAAQ,cAAA,CAAA,IAAA,EAAK,KAAA,EAAQ;AAAA,QACX,IAAA;AAAA,QACA,EAAA;AAAA,QACA,IAAA,EAAM;AAAA,OACR,CAAA;AACA,MAAAF,cAAA,CAAA,IAAA,EAAK,cAAA,CAAA,CAAL,IAAA,CAAA,IAAA,EAAoB,EAAA,EAAI,IAAA,EAAM,EAAA,CAAA;AAAA,IAChC,CAAA;AAEA,IAAA,IAAA,CAAA,QAAA,GAAW,CAAC,IAAA,EAAY,IAAA,EAAc,EAAA,KAAe;AACnD,MAAAE,cAAA,CAAA,IAAA,EAAK,KAAA,EAAQ;AAAA,QACX,IAAA;AAAA,QACA,EAAA;AAAA,QACA;AAAA,OACF,CAAA;AACA,MAAAF,cAAA,CAAA,IAAA,EAAK,cAAA,CAAA,CAAL,IAAA,CAAA,IAAA,EAAoB,IAAA,CAAK,KAAA,CAAM,MAAM,IAAA,EAAM,EAAA,CAAA;AAAA,IAC7C,CAAA;AAEA,IAAA,IAAA,CAAA,UAAA,GAAa,CAAC,MAAc,EAAA,KAAe;AACzC,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,GAAA,CAAI,GAAA,CAAI,aAAa,CAAA;AAEvC,MAAA,MAAM,EAAA,GAAK,KAAK,KAAA,CAAM,EAAA;AACtB,MAAA,EAAA,CAAG,WAAW,IAAA,EAAM,EAAA,EAAI,WAAW,IAAA,CAAK,IAAA,CAAK,GAAG,CAAC,CAAA;AACjD,MAAA,IAAA,CAAK,SAAS,EAAE,CAAA;AAEhB,MAAAA,cAAA,CAAA,IAAA,EAAK,MAAA,CAAA,CAAL,IAAA,CAAA,IAAA,CAAA;AAAA,IACF,CAAA;AAvHE,IAAAE,cAAA,CAAA,IAAA,EAAKL,WAAU,GAAA,CAAI,IAAA,CAAK,IAAI,GAAA,CAAI,iBAAA,CAAkB,GAAG,CAAC,CAAA,CAAA;AAEtD,IAAA,MAAM,OAAA,GAAU,QAAA,CAAS,aAAA,CAAc,KAAK,CAAA;AAC5C,IAAA,OAAA,CAAQ,SAAA,GAAY,oBAAA;AAEpB,IAAA,MAAM,GAAA,GAAM,UAAU,QAAA,EAAU;AAAA,MAC9B,QAAQG,cAAA,CAAA,IAAA,EAAKH,SAAA,CAAA;AAAA,MACb,KAAKG,cAAA,CAAA,IAAA,EAAKF,MAAA,CAAA;AAAA,MACV,WAAWE,cAAA,CAAA,IAAA,EAAK,YAAA,CAAA;AAAA,MAChB,UAAUA,cAAA,CAAA,IAAA,EAAK,MAAA;AAAA,KAChB,CAAA;AACD,IAAA,GAAA,CAAI,MAAM,OAAO,CAAA;AACjB,IAAAE,cAAA,CAAA,IAAA,EAAKN,MAAA,EAAO,GAAA,CAAA;AAEZ,IAAAM,cAAA,CAAA,IAAA,EAAKR,UAAA,EAAW,OAAA,CAAA;AAChB,IAAAQ,cAAA,CAAA,IAAA,EAAKP,WAAA,EAAY,IAAI,eAAA,CAAgB;AAAA,MACnC,OAAA;AAAA,MACA,QAAA,EAAU,CAAA;AAAA,MACV,YAAY,MAAM;AAAA,KACnB,CAAA,CAAA;AACD,IAAAK,cAAA,CAAA,IAAA,EAAKL,WAAA,CAAA,CAAU,SAAS,MAAM;AAC5B,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,IAAA,CAAK,GAAA,CAAI,KAAA,CAAM,EAAE,aAAA,EAAe,MAAM,CAAA;AAAA,MACxC,CAAC,CAAA;AAAA,IACH,CAAA;AACA,IAAAK,cAAA,CAAA,IAAA,EAAKL,WAAA,CAAA,CAAU,OAAO,IAAI,CAAA;AAAA,EAC5B;AA8FF;AAnIED,UAAA,GAAA,IAAA,OAAA,EAAA;AACAC,WAAA,GAAA,IAAA,OAAA,EAAA;AACA,KAAA,GAAA,IAAA,OAAA,EAAA;AACAC,MAAA,GAAA,IAAA,OAAA,EAAA;AACAC,SAAA,GAAA,IAAA,OAAA,EAAA;AACAC,MAAA,GAAA,IAAA,OAAA,EAAA;AAkCA,MAAA,GAAA,IAAA,OAAA,EAAA;AASA,YAAA,GAAA,IAAA,OAAA,EAAA;AAmBA,cAAA,GAAA,IAAA,OAAA,EAAA;;;;;;;;;;;;;;;;;;;;;AC9FK,SAAS,yBAAyB,GAAA,EAAU;AACjD,EAAA,IAAI,mBAAA;AAEJ,EAAA,GAAA,CAAI,OAAO,cAAA,CAAe,GAAA,EAAK,CAAC,GAAA,KAAS,iCACpC,GAAA,CAAA,EADoC;AAAA,IAEvC,OAAA,EAAS,CAAC,IAAA,EAAM,EAAA,KAAO;AACrB,MAAA,mBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,mBAAA,CAAqB,QAAQ,IAAA,EAAM,EAAA,CAAA;AAAA,IACrC,CAAA;AAAA,IACA,QAAA,EAAU,CAAC,IAAA,EAAM,IAAA,EAAM,EAAA,KAAO;AAC5B,MAAA,mBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,mBAAA,CAAqB,QAAA,CAAS,MAAM,IAAA,EAAM,EAAA,CAAA;AAAA,IAC5C,CAAA;AAAA,IACA,UAAA,EAAY,CAAC,IAAA,EAAM,EAAA,KAAO;AACxB,MAAA,mBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,mBAAA,CAAqB,WAAW,IAAA,EAAM,EAAA,CAAA;AAAA,IACxC;AAAA,GACF,CAAE,CAAA;AAEF,EAAA,GAAA,CAAI,GAAA,CAAI,gBAAgB,GAAA,EAAK;AAAA,IAC3B,IAAA,EAAM,CAAC,IAAA,KAAS;AACd,MAAA,mBAAA,GAAsB,IAAI,eAAA,CAAgB,GAAA,EAAK,IAAI,CAAA;AACnD,MAAA,OAAO,mBAAA;AAAA,IACT;AAAA,GACD,CAAA;AACH;;ACpBO,SAAS,gBAAA,CACd,IAAA,EACA,IAAA,EACA,GAAA,EACA,MACA,EAAA,EACA;AACA,EAAA,IAAI,OAAA,GAAU,EAAE,KAAA,EAAO,EAAA,EAAI,KAAK,EAAA,EAAG;AACnC,EAAA,GAAA,CAAI,YAAA,CAAa,IAAA,EAAM,EAAA,EAAI,CAAC,GAAG,GAAA,KAAQ;AAErC,IAAA,IAAI,OAAA,CAAQ,KAAA,GAAQ,EAAA,EAAI,OAAO,KAAA;AAE/B,IAAA,IAAI,OAAA,CAAQ,UAAU,EAAA,IAAM,IAAA,CAAK,QAAQ,CAAA,CAAE,KAAK,CAAA,IAAK,IAAA,KAAS,CAAA,EAAG;AAC/D,MAAA,OAAA,GAAU;AAAA,QACR,KAAA,EAAO,GAAA;AAAA,QACP,KAAK,GAAA,GAAM,IAAA,CAAK,IAAI,CAAA,CAAE,WAAA,CAAY,QAAQ,CAAC;AAAA,OAC7C;AAAA,IACF;AAEA,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,OAAO,OAAA;AACT;AAEO,SAAS,0BAAA,CACd,GAAA,EACA,IAAA,EACA,KAAA,EACA;AACA,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,WAAA,CAAY,EAAE,IAAA,EAAM,MAAM,OAAA,EAAS,GAAA,EAAK,KAAA,CAAM,OAAA,EAAS,CAAA;AACzE,EAAA,IAAI,CAAC,IAAA,EAAM;AAEX,EAAA,MAAM,EAAE,KAAI,GAAI,IAAA;AAChB,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,OAAO,GAAG,CAAA;AAEtC,EAAA,IAAI,CAAC,IAAA,EAAM;AAEX,EAAA,MAAM,IAAA,GAAO,KAAK,KAAA,CAAM,IAAA;AAAA,IACtB,CAACK,KAAAA,KAASA,KAAAA,CAAK,SAAS,UAAA,CAAW,IAAA,CAAK,KAAK,GAAG;AAAA,GAClD;AACA,EAAA,IAAI,CAAC,IAAA,EAAM;AAEX,EAAA,MAAM,GAAA,GAAM,mBAAmB,SAAA,EAAU;AACzC,EAAA,IAAI,CAAC,GAAA,EAAK;AAEV,EAAA,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,GAAA,EAAK,MAAM,IAAA,EAAK;AACvC;;AChDA,SAAA,CAAU,CAAC,CAAA;AASJ,MAAM,cAAc,eAAA,CAAkC;AAAA,EAC3D,KAAA,EAAO;AAAA,IACL,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,MAAA;AAAA,MACN,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,GAAA,EAAK;AAAA,MACH,IAAA,EAAM,MAAA;AAAA,MACN,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,MAAA;AAAA,MACN,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,MAAA;AAAA,MACN,QAAA,EAAU;AAAA;AACZ,GACF;AAAA,EACA,MAAM,EAAE,MAAA,EAAQ,GAAA,EAAK,MAAA,EAAQ,UAAS,EAAG;AACvC,IAAA,MAAM,iBAAA,GAAoB,CAAC,CAAA,KAAa;AACtC,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,MAAA,MAAA,CAAO,KAAA,EAAM;AAAA,IACf,CAAA;AAEA,IAAA,MAAM,mBAAA,GAAsB,CAAC,CAAA,KAAa;AACxC,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,MAAA,QAAA,CAAS,KAAA,EAAM;AAAA,IACjB,CAAA;AAEA,IAAA,MAAM,cAAA,GAAiB,CAAC,CAAA,KAAa;AACnC,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAA,MAAM,OAAO,GAAA,CAAI,KAAA;AACjB,MAAA,IAAI,SAAA,CAAU,aAAa,IAAA,EAAM;AAC/B,QAAA,SAAA,CAAU,SAAA,CACP,SAAA,CAAU,IAAI,CAAA,CACd,KAAK,MAAM;AACV,UAAA,MAAA,CAAO,KAAA,CAAM,WAAW,IAAI,CAAA;AAAA,QAC9B,CAAC,EACA,KAAA,CAAM,CAACC,OAAM,OAAA,CAAQ,KAAA,CAAMA,EAAC,CAAC,CAAA;AAAA,MAClC;AAAA,IACF,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,uBACE,CAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,cAAA,EAAA,kBACT,CAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,kBAAA;AAAA,UACN,IAAA,EAAM,OAAO,KAAA,CAAM,QAAA;AAAA,UACnB,OAAA,EAAS;AAAA;AAAA,OACX,kBACA,CAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAM,GAAA,CAAI,KAAA,EAAO,MAAA,EAAO,QAAA,EAAS,KAAA,EAAM,cAAA,EAAA,EACvC,GAAA,CAAI,KACP,CAAA,kBACA,CAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,yBAAA;AAAA,UACN,IAAA,EAAM,OAAO,KAAA,CAAM,UAAA;AAAA,UACnB,OAAA,EAAS;AAAA;AAAA,OACX,kBACA,CAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,2BAAA;AAAA,UACN,IAAA,EAAM,OAAO,KAAA,CAAM,YAAA;AAAA,UACnB,OAAA,EAAS;AAAA;AAAA,OAEb,CAAA;AAAA,IAEJ,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;;;;;;ACtFD,IAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,IAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAA,EAAA,SAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,KAAA;AAaO,MAAM,kBAAA,CAAyC;AAAA,EAapD,WAAA,CACW,KACT,IAAA,EACA;AAFS,IAAA,IAAA,CAAA,GAAA,GAAA,GAAA;AAbX,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,SAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,OAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAO,IAAI,EAAE,CAAA,CAAA;AACb,IAAA,YAAA,CAAA,IAAA,EAAA,OAAA,EAAU,IAAI,MAAM;AAAA,IAAC,CAAC,CAAA,CAAA;AACtB,IAAA,YAAA,CAAA,IAAA,EAAA,SAAA,EAAY,IAAI,MAAM;AAAA,IAAC,CAAC,CAAA,CAAA;AACxB,IAAA,YAAA,CAAA,IAAA,EAAA,IAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,WAAA,CAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAA,SAAA,EAAY,KAAA,CAAA;AA4BZ,IAAA,YAAA,CAAA,IAAA,EAAA,cAAA,EAAiB,CAAC,EAAE,IAAA,EAAK,KAAwB;AAC/C,MAAA,IAAI,IAAA,KAAS,MAAA,EAAQ,YAAA,CAAA,IAAA,EAAK,KAAA,CAAA,CAAL,IAAA,CAAA,IAAA,CAAA;AAAA,IACvB,CAAA,CAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAA,aAAA,EAAgB,MAAM;AACpB,MAAA,YAAA,CAAA,IAAA,EAAK,SAAA,EAAY,IAAA,CAAA;AAAA,IACnB,CAAA,CAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAA,aAAA,EAAgB,MAAM;AACpB,MAAA,YAAA,CAAA,IAAA,EAAK,SAAA,EAAY,KAAA,CAAA;AAAA,IACnB,CAAA,CAAA;AAEA,IAAA,YAAA,CAAA,IAAA,EAAA,KAAA,EAAQ,MAAM;AACZ,MAAA,YAAA,CAAA,IAAA,EAAK,WAAU,IAAA,EAAK;AACpB,MAAA,YAAA,CAAA,IAAA,EAAK,SAAA,CAAA,CAAU,OAAA,CAAQ,mBAAA,CAAoB,YAAA,EAAc,mBAAK,aAAA,CAAa,CAAA;AAC3E,MAAA,YAAA,CAAA,IAAA,EAAK,SAAA,CAAA,CAAU,OAAA,CAAQ,mBAAA,CAAoB,YAAA,EAAc,mBAAK,aAAA,CAAa,CAAA;AAAA,IAC7E,CAAA,CAAA;AAEA,IAAA,IAAA,CAAA,IAAA,GAAO,CAAC,IAAA,EAAY,IAAA,EAAc,EAAA,EAAY,IAAA,KAAkB;AAC9D,MAAA,YAAA,CAAA,IAAA,EAAK,SAAQ,KAAA,GAAQ,IAAA,CAAK,GAAA,CAAI,GAAA,CAAI,kBAAkB,GAAG,CAAA;AACvD,MAAA,YAAA,CAAA,IAAA,EAAK,IAAA,CAAA,CAAK,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,IAAA;AAC7B,MAAA,YAAA,CAAA,IAAA,EAAK,OAAA,CAAA,CAAQ,QAAQ,MAAM;AACzB,QAAA,IAAA,CAAK,GAAA,CAAI,IAAI,cAAA,CAAe,GAAG,EAAE,QAAA,CAAS,IAAA,EAAM,MAAM,EAAE,CAAA;AAAA,MAC1D,CAAA;AACA,MAAA,YAAA,CAAA,IAAA,EAAK,SAAA,CAAA,CAAU,QAAQ,MAAM;AAC3B,QAAA,IAAA,CAAK,IAAI,GAAA,CAAI,cAAA,CAAe,GAAG,CAAA,CAAE,UAAA,CAAW,MAAM,EAAE,CAAA;AACpD,QAAA,YAAA,CAAA,IAAA,EAAK,KAAA,CAAA,CAAL,IAAA,CAAA,IAAA,CAAA;AAAA,MACF,CAAA;AAEA,MAAA,YAAA,CAAA,IAAA,EAAK,SAAA,CAAA,CAAU,KAAK,EAAE,qBAAA,EAAuB,MAAM,IAAA,EAAK,EAAG,mBAAK,WAAA,CAAW,CAAA;AAC3E,MAAA,YAAA,CAAA,IAAA,EAAK,SAAA,CAAA,CAAU,OAAA,CAAQ,gBAAA,CAAiB,YAAA,EAAc,mBAAK,aAAA,CAAa,CAAA;AACxE,MAAA,YAAA,CAAA,IAAA,EAAK,SAAA,CAAA,CAAU,OAAA,CAAQ,gBAAA,CAAiB,YAAA,EAAc,mBAAK,aAAA,CAAa,CAAA;AAAA,IAC1E,CAAA;AAEA,IAAA,IAAA,CAAA,IAAA,GAAO,MAAM;AACX,MAAA,IAAI,mBAAK,SAAA,CAAA,EAAW;AAEpB,MAAA,YAAA,CAAA,IAAA,EAAK,KAAA,CAAA,CAAL,IAAA,CAAA,IAAA,CAAA;AAAA,IACF,CAAA;AAEA,IAAA,IAAA,CAAA,MAAA,GAAS,MAAM;AAAA,IAAC,CAAA;AAEhB,IAAA,IAAA,CAAA,OAAA,GAAU,MAAM;AACd,MAAA,YAAA,CAAA,IAAA,EAAK,MAAK,OAAA,EAAQ;AAClB,MAAA,YAAA,CAAA,IAAA,EAAK,MAAA,CAAA,CAAO,GAAA,CAAI,YAAA,CAAA,IAAA,EAAK,cAAA,CAAc,CAAA;AACnC,MAAA,YAAA,CAAA,IAAA,EAAK,WAAU,OAAA,EAAQ;AACvB,MAAA,YAAA,CAAA,IAAA,EAAK,UAAS,MAAA,EAAO;AAAA,IACvB,CAAA;AArEE,IAAA,YAAA,CAAA,IAAA,EAAK,WAAA,EAAc,IAAA,CAAA;AACnB,IAAA,YAAA,CAAA,IAAA,EAAK,SAAU,GAAA,CAAI,IAAA,CAAK,IAAI,GAAA,CAAI,iBAAA,CAAkB,GAAG,CAAC,CAAA,CAAA;AACtD,IAAA,YAAA,CAAA,IAAA,EAAK,IAAA,EAAO,UAAU,WAAA,EAAa;AAAA,MACjC,QAAQ,YAAA,CAAA,IAAA,EAAK,OAAA,CAAA;AAAA,MACb,KAAK,YAAA,CAAA,IAAA,EAAK,IAAA,CAAA;AAAA,MACV,QAAQ,YAAA,CAAA,IAAA,EAAK,OAAA,CAAA;AAAA,MACb,UAAU,YAAA,CAAA,IAAA,EAAK,SAAA;AAAA,KAChB,CAAA,CAAA;AACD,IAAA,YAAA,CAAA,IAAA,EAAK,QAAA,EAAW,QAAA,CAAS,aAAA,CAAc,KAAK,CAAA,CAAA;AAC5C,IAAA,YAAA,CAAA,IAAA,EAAK,UAAS,SAAA,GAAY,uBAAA;AAC1B,IAAA,YAAA,CAAA,IAAA,EAAK,IAAA,CAAA,CAAK,KAAA,CAAM,YAAA,CAAA,IAAA,EAAK,QAAA,CAAQ,CAAA;AAE7B,IAAA,YAAA,CAAA,IAAA,EAAK,SAAA,EAAY,IAAI,eAAA,CAAgB;AAAA,MACnC,QAAA,EAAU,CAAA;AAAA,MACV,SAAS,YAAA,CAAA,IAAA,EAAK,QAAA,CAAA;AAAA,MACd,YAAY,MAAM;AAAA,KACnB,CAAA,CAAA;AACD,IAAA,YAAA,CAAA,IAAA,EAAK,SAAA,CAAA,CAAU,OAAO,IAAI,CAAA;AAC1B,IAAA,YAAA,CAAA,IAAA,EAAK,MAAA,EAAS,GAAA,CAAI,GAAA,CAAI,gBAAA,CAAiB,GAAG,CAAA,CAAA;AAC1C,IAAA,YAAA,CAAA,IAAA,EAAK,MAAA,CAAA,CAAO,EAAA,CAAG,YAAA,CAAA,IAAA,EAAK,cAAA,CAAc,CAAA;AAAA,EACpC;AAkDF;AAtFE,QAAA,GAAA,IAAA,OAAA,EAAA;AACA,SAAA,GAAA,IAAA,OAAA,EAAA;AACA,MAAA,GAAA,IAAA,OAAA,EAAA;AACA,OAAA,GAAA,IAAA,OAAA,EAAA;AACA,IAAA,GAAA,IAAA,OAAA,EAAA;AACA,OAAA,GAAA,IAAA,OAAA,EAAA;AACA,SAAA,GAAA,IAAA,OAAA,EAAA;AACA,IAAA,GAAA,IAAA,OAAA,EAAA;AACA,WAAA,GAAA,IAAA,OAAA,EAAA;AAEA,SAAA,GAAA,IAAA,OAAA,EAAA;AA4BA,cAAA,GAAA,IAAA,OAAA,EAAA;AAIA,aAAA,GAAA,IAAA,OAAA,EAAA;AAIA,aAAA,GAAA,IAAA,OAAA,EAAA;AAIA,KAAA,GAAA,IAAA,OAAA,EAAA;;ACrDK,SAAS,4BAA4B,GAAA,EAAU;AACpD,EAAA,IAAI,sBAAA;AAEJ,EAAA,MAAM,KAAA,GAAQ,EAAA;AACd,EAAA,MAAM,WAAA,GAAc,QAAA,CAAS,CAAC,IAAA,EAAkB,KAAA,KAAsB;AACpE,IAAA,IAAI,CAAC,sBAAA,EAAwB;AAC7B,IAAA,IAAI,CAAC,IAAA,CAAK,QAAA,EAAS,EAAG;AAEtB,IAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,GAAA,CAAI,gBAAA,CAAiB,GAAG,CAAA;AAC1C,IAAA,IAAI,KAAA,CAAM,SAAS,MAAA,EAAQ;AAE3B,IAAA,MAAM,MAAA,GAAS,0BAAA,CAA2B,GAAA,EAAK,IAAA,EAAM,KAAK,CAAA;AAC1D,IAAA,IAAI,MAAA,EAAQ;AACV,MAAA,MAAM,WAAW,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,OAAA,CAAQ,OAAO,GAAG,CAAA;AAClD,MAAA,MAAM,YAAA,GAAe,gBAAA;AAAA,QACnB,MAAA,CAAO,IAAA;AAAA,QACP,MAAA,CAAO,IAAA;AAAA,QACP,KAAK,KAAA,CAAM,GAAA;AAAA,QACX,SAAS,MAAA,EAAO;AAAA,QAChB,SAAS,KAAA;AAAM,OACjB;AACA,MAAA,MAAM,OAAO,YAAA,CAAa,KAAA;AAC1B,MAAA,MAAM,KAAK,YAAA,CAAa,GAAA;AACxB,MAAA,sBAAA,CAAuB,IAAA;AAAA,QACrB,MAAA,CAAO,IAAA;AAAA,QACP,IAAA;AAAA,QACA,EAAA;AAAA,QACA,YAAA,CAAa,IAAA,EAAM,IAAA,EAAM,EAAE;AAAA,OAC7B;AACA,MAAA;AAAA,IACF;AAEA,IAAA,sBAAA,CAAuB,IAAA,EAAK;AAAA,EAC9B,GAAG,KAAK,CAAA;AAER,EAAA,MAAM,eAAe,MAAM;AACzB,IAAA,UAAA,CAAW,MAAM;AACf,MAAA,sBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,sBAAA,CAAwB,IAAA,EAAA;AAAA,IAC1B,GAAG,KAAK,CAAA;AAAA,EACV,CAAA;AAEA,EAAA,GAAA,CAAI,GAAA,CAAI,mBAAmB,GAAA,EAAK;AAAA,IAC9B,KAAA,EAAO;AAAA,MACL,eAAA,EAAiB;AAAA,QACf,SAAA,EAAW,WAAA;AAAA,QACX,UAAA,EAAY;AAAA;AACd,KACF;AAAA,IACA,IAAA,EAAM,CAAC,IAAA,KAAS;AACd,MAAA,sBAAA,GAAyB,IAAI,kBAAA,CAAmB,GAAA,EAAK,IAAI,CAAA;AACzD,MAAA,OAAO,sBAAA;AAAA,IACT;AAAA,GACD,CAAA;AACH;;AC3DO,SAAS,qBAAqB,GAAA,EAAU;AAC7C,EAAA,2BAAA,CAA4B,GAAG,CAAA;AAC/B,EAAA,wBAAA,CAAyB,GAAG,CAAA;AAC9B;;ACGO,MAAM,iBAAA,GAAsC;AAAA,EACjD,gBAAA;AAAA,EACA,cAAA;AAAA,EACA,iBAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAA,CAAE,IAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/__internal__/meta.ts","../../src/link-tooltip/slices.ts","../../src/link-tooltip/command.ts","../../src/link-tooltip/tooltips.ts","../../src/__internal__/keep-alive.ts","../../src/__internal__/components/icon.tsx","../../src/link-tooltip/edit/component.tsx","../../src/link-tooltip/edit/edit-view.ts","../../src/link-tooltip/edit/edit-configure.ts","../../src/link-tooltip/utils.ts","../../src/link-tooltip/preview/component.tsx","../../src/link-tooltip/preview/preview-view.ts","../../src/link-tooltip/preview/preview-configure.ts","../../src/link-tooltip/configure.ts","../../src/link-tooltip/index.ts"],"sourcesContent":["import type { Meta, MilkdownPlugin } from '@jvs-milkdown/ctx'\n\nexport function withMeta<T extends MilkdownPlugin>(\n plugin: T,\n meta: Partial<Meta> & Pick<Meta, 'displayName'>\n): T {\n Object.assign(plugin, {\n meta: {\n package: '@jvs-milkdown/components',\n ...meta,\n },\n })\n\n return plugin\n}\n","import type { Mark } from '@jvs-milkdown/prose/model'\n\nimport { $ctx } from '@jvs-milkdown/utils'\n\nimport { withMeta } from '../__internal__/meta'\n\nexport interface LinkToolTipState {\n mode: 'preview' | 'edit'\n}\n\nconst defaultState: LinkToolTipState = {\n mode: 'preview',\n}\n\nexport const linkTooltipState = $ctx({ ...defaultState }, 'linkTooltipStateCtx')\n\nwithMeta(linkTooltipState, {\n displayName: 'State<link-tooltip>',\n group: 'LinkTooltip',\n})\n\nexport interface LinkTooltipAPI {\n addLink: (from: number, to: number) => void\n editLink: (mark: Mark, from: number, to: number) => void\n removeLink: (from: number, to: number) => void\n}\n\nconst defaultAPI: LinkTooltipAPI = {\n addLink: () => {},\n editLink: () => {},\n removeLink: () => {},\n}\n\nexport const linkTooltipAPI = $ctx({ ...defaultAPI }, 'linkTooltipAPICtx')\n\nwithMeta(linkTooltipState, {\n displayName: 'API<link-tooltip>',\n group: 'LinkTooltip',\n})\n\nexport interface LinkTooltipConfig {\n linkIcon: string\n editButton: string\n confirmButton: string\n removeButton: string\n onCopyLink: (link: string) => void\n inputPlaceholder: string\n}\n\nconst defaultConfig: LinkTooltipConfig = {\n linkIcon: '🔗',\n editButton: '✎',\n removeButton: '⌫',\n confirmButton: 'Confirm ⏎',\n onCopyLink: () => {},\n inputPlaceholder: 'Paste link...',\n}\n\nexport const linkTooltipConfig = $ctx(\n {\n ...defaultConfig,\n },\n 'linkTooltipConfigCtx'\n)\n\nwithMeta(linkTooltipState, {\n displayName: 'Config<link-tooltip>',\n group: 'LinkTooltip',\n})\n","import { linkSchema } from '@jvs-milkdown/preset-commonmark'\nimport { $command } from '@jvs-milkdown/utils'\n\nimport { linkTooltipAPI } from './slices'\n\nexport const toggleLinkCommand = $command('ToggleLink', (ctx) => {\n return () => (state) => {\n const { doc, selection } = state\n const mark = linkSchema.type(ctx)\n const hasLink = doc.rangeHasMark(selection.from, selection.to, mark)\n if (hasLink) {\n ctx.get(linkTooltipAPI.key).removeLink(selection.from, selection.to)\n return true\n }\n\n ctx.get(linkTooltipAPI.key).addLink(selection.from, selection.to)\n return true\n }\n})\n","import { tooltipFactory } from '@jvs-milkdown/plugin-tooltip'\n\nimport { withMeta } from '../__internal__/meta'\n\nexport const linkPreviewTooltip = tooltipFactory('LINK_PREVIEW')\nwithMeta(linkPreviewTooltip[0], {\n displayName: 'PreviewTooltipSpec<link-tooltip>',\n group: 'LinkTooltip',\n})\nwithMeta(linkPreviewTooltip[1], {\n displayName: 'PreviewTooltipPlugin<link-tooltip>',\n group: 'LinkTooltip',\n})\nexport const linkEditTooltip = tooltipFactory('LINK_EDIT')\nwithMeta(linkEditTooltip[0], {\n displayName: 'EditTooltipSpec<link-tooltip>',\n group: 'LinkTooltip',\n})\nwithMeta(linkEditTooltip[1], {\n displayName: 'EditTooltipPlugin<link-tooltip>',\n group: 'LinkTooltip',\n})\n","// Prevent tree-shaking from removing Vue's `h` and `Fragment`,\n// which are required at runtime for TSX to work.\nexport function keepAlive(..._args: unknown[]) {}\n","import clsx from 'clsx'\nimport DOMPurify from 'dompurify'\nimport { h } from 'vue'\n\nimport { keepAlive } from '../keep-alive'\n\nkeepAlive(h)\n\ntype IconProps = {\n icon?: string | null\n class?: string\n onClick?: (event: PointerEvent) => void\n}\n\nexport function Icon({ icon, class: className, onClick }: IconProps) {\n return (\n <span\n class={clsx('milkdown-icon', className)}\n onPointerdown={onClick}\n innerHTML={icon ? DOMPurify.sanitize(icon.trim()) : undefined}\n />\n )\n}\n\nIcon.props = {\n icon: {\n type: String,\n required: false,\n },\n class: {\n type: String,\n required: false,\n },\n onClick: {\n type: Function,\n required: false,\n },\n}\n","import clsx from 'clsx'\nimport { defineComponent, ref, watch, type Ref, h } from 'vue'\n\nimport type { LinkTooltipConfig } from '../slices'\n\nimport { Icon } from '../../__internal__/components/icon'\nimport { keepAlive } from '../../__internal__/keep-alive'\n\nkeepAlive(h)\n\ntype EditLinkProps = {\n config: Ref<LinkTooltipConfig>\n src: Ref<string>\n onConfirm: (href: string) => void\n onCancel: () => void\n}\n\nexport const EditLink = defineComponent<EditLinkProps>({\n props: {\n config: {\n type: Object,\n required: true,\n },\n src: {\n type: Object,\n required: true,\n },\n onConfirm: {\n type: Function,\n required: true,\n },\n onCancel: {\n type: Function,\n required: true,\n },\n },\n setup({ config, src, onConfirm, onCancel }) {\n const link = ref(src)\n\n watch(src, (value) => {\n link.value = value\n })\n\n const isValidUrl = (url: string) => {\n if (!url) return false\n const trimmedUrl = url.trim()\n // Accept standard http/https links, relative links, anchors, or mailto\n return /^(https?:\\/\\/|\\/|\\.\\.?\\/|mailto:|#|[a-zA-Z0-9-]+\\.[a-zA-Z]+)/i.test(trimmedUrl)\n }\n\n const onConfirmEdit = () => {\n const val = link.value?.trim() ?? ''\n if (isValidUrl(val)) {\n onConfirm(val)\n }\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n e.stopPropagation()\n if (e.key === 'Enter') {\n e.preventDefault()\n const val = link.value?.trim() ?? ''\n if (isValidUrl(val)) {\n onConfirmEdit()\n }\n }\n if (e.key === 'Escape') {\n e.preventDefault()\n onCancel()\n }\n }\n\n return () => {\n return (\n <div class=\"link-edit\">\n <input\n class=\"input-area\"\n placeholder={config.value.inputPlaceholder}\n onKeydown={onKeydown}\n onInput={(e: Event) => {\n link.value = (e.target as HTMLInputElement).value\n }}\n value={link.value}\n />\n {link.value ? (\n <Icon\n class={clsx('button confirm', !isValidUrl(link.value) && 'disabled')}\n icon={config.value.confirmButton}\n onClick={onConfirmEdit}\n />\n ) : null}\n </div>\n )\n }\n },\n})\n","import type { Ctx } from '@jvs-milkdown/ctx'\nimport type { Mark } from '@jvs-milkdown/prose/model'\nimport type { PluginView } from '@jvs-milkdown/prose/state'\nimport type { EditorView } from '@jvs-milkdown/prose/view'\n\nimport { editorViewCtx } from '@jvs-milkdown/core'\nimport { TooltipProvider } from '@jvs-milkdown/plugin-tooltip'\nimport { linkSchema } from '@jvs-milkdown/preset-commonmark'\nimport { posToDOMRect } from '@jvs-milkdown/prose'\nimport { TextSelection } from '@jvs-milkdown/prose/state'\nimport DOMPurify from 'dompurify'\nimport { createApp, ref, type App, type Ref } from 'vue'\n\nimport {\n linkTooltipConfig,\n linkTooltipState,\n type LinkTooltipConfig,\n} from '../slices'\nimport { EditLink } from './component'\n\ninterface Data {\n from: number\n to: number\n mark: Mark | null\n}\n\nconst defaultData: Data = {\n from: -1,\n to: -1,\n mark: null,\n}\n\nexport class LinkEditTooltip implements PluginView {\n #content: HTMLElement\n #provider: TooltipProvider\n #data: Data = { ...defaultData }\n #app: App\n #config: Ref<LinkTooltipConfig>\n #src = ref('')\n\n constructor(\n readonly ctx: Ctx,\n view: EditorView\n ) {\n this.#config = ref(this.ctx.get(linkTooltipConfig.key))\n\n const content = document.createElement('div')\n content.className = 'milkdown-link-edit'\n\n const app = createApp(EditLink, {\n config: this.#config,\n src: this.#src,\n onConfirm: this.#confirmEdit,\n onCancel: this.#reset,\n })\n app.mount(content)\n this.#app = app\n\n this.#content = content\n this.#provider = new TooltipProvider({\n content,\n debounce: 0,\n shouldShow: () => false,\n })\n this.#provider.onHide = () => {\n requestAnimationFrame(() => {\n view.dom.focus({ preventScroll: true })\n })\n }\n this.#provider.update(view)\n }\n\n #reset = () => {\n this.#provider.hide()\n this.ctx.update(linkTooltipState.key, (state) => ({\n ...state,\n mode: 'preview' as const,\n }))\n this.#data = { ...defaultData }\n }\n\n #confirmEdit = (href: string) => {\n const view = this.ctx.get(editorViewCtx)\n const { from, to, mark } = this.#data\n const type = linkSchema.type(this.ctx)\n const link = DOMPurify.sanitize(href)\n if (mark && mark.attrs.href === link) {\n this.#reset()\n return\n }\n\n const tr = view.state.tr\n if (mark) tr.removeMark(from, to, mark)\n\n tr.addMark(from, to, type.create({ href: link }))\n view.dispatch(tr)\n\n this.#reset()\n }\n\n #enterEditMode = (value: string, from: number, to: number) => {\n const config = this.ctx.get(linkTooltipConfig.key)\n this.#config.value = config\n this.#src.value = value\n this.ctx.update(linkTooltipState.key, (state) => ({\n ...state,\n mode: 'edit' as const,\n }))\n const view = this.ctx.get(editorViewCtx)\n view.dispatch(\n view.state.tr.setSelection(TextSelection.create(view.state.doc, from, to))\n )\n this.#provider.show(\n { getBoundingClientRect: () => posToDOMRect(view, from, to) },\n view\n )\n requestAnimationFrame(() => {\n this.#content.querySelector('input')?.focus()\n })\n }\n\n update = (view: EditorView) => {\n const { state } = view\n const { selection } = state\n if (!(selection instanceof TextSelection)) return\n const { from, to } = selection\n if (from === this.#data.from && to === this.#data.to) return\n\n this.#reset()\n }\n\n destroy = () => {\n this.#app.unmount()\n this.#provider.destroy()\n this.#content.remove()\n }\n\n addLink = (from: number, to: number) => {\n this.#data = {\n from,\n to,\n mark: null,\n }\n this.#enterEditMode('', from, to)\n }\n\n editLink = (mark: Mark, from: number, to: number) => {\n this.#data = {\n from,\n to,\n mark,\n }\n this.#enterEditMode(mark.attrs.href, from, to)\n }\n\n removeLink = (from: number, to: number) => {\n const view = this.ctx.get(editorViewCtx)\n\n const tr = view.state.tr\n tr.removeMark(from, to, linkSchema.type(this.ctx))\n view.dispatch(tr)\n\n this.#reset()\n }\n}\n","import type { Ctx } from '@jvs-milkdown/ctx'\n\nimport { linkTooltipAPI } from '../slices'\nimport { linkEditTooltip } from '../tooltips'\nimport { LinkEditTooltip } from './edit-view'\n\nexport function configureLinkEditTooltip(ctx: Ctx) {\n let linkEditTooltipView: LinkEditTooltip | null\n\n ctx.update(linkTooltipAPI.key, (api) => ({\n ...api,\n addLink: (from, to) => {\n linkEditTooltipView?.addLink(from, to)\n },\n editLink: (mark, from, to) => {\n linkEditTooltipView?.editLink(mark, from, to)\n },\n removeLink: (from, to) => {\n linkEditTooltipView?.removeLink(from, to)\n },\n }))\n\n ctx.set(linkEditTooltip.key, {\n view: (view) => {\n linkEditTooltipView = new LinkEditTooltip(ctx, view)\n return linkEditTooltipView\n },\n })\n}\n","import type { Ctx } from '@jvs-milkdown/ctx'\nimport type { Mark, Node } from '@jvs-milkdown/prose/model'\nimport type { EditorView } from '@jvs-milkdown/prose/view'\n\nimport { linkSchema } from '@jvs-milkdown/preset-commonmark'\n\nimport { linkPreviewTooltip } from './tooltips'\n\nexport function findMarkPosition(\n mark: Mark,\n node: Node,\n doc: Node,\n from: number,\n to: number\n) {\n let markPos = { start: -1, end: -1 }\n doc.nodesBetween(from, to, (n, pos) => {\n // stop recursive finding if result is found\n if (markPos.start > -1) return false\n\n if (markPos.start === -1 && mark.isInSet(n.marks) && node === n) {\n markPos = {\n start: pos,\n end: pos + Math.max(n.textContent.length, 1),\n }\n }\n\n return undefined\n })\n\n return markPos\n}\n\nexport function shouldShowPreviewWhenHover(\n ctx: Ctx,\n view: EditorView,\n event: MouseEvent\n) {\n const $pos = view.posAtCoords({ left: event.clientX, top: event.clientY })\n if (!$pos) return\n\n const { pos } = $pos\n const node = view.state.doc.nodeAt(pos)\n\n if (!node) return\n\n const mark = node.marks.find(\n (mark) => mark.type === linkSchema.mark.type(ctx)\n )\n if (!mark) return\n\n const key = linkPreviewTooltip.pluginKey()\n if (!key) return\n\n return { show: true, pos, node, mark }\n}\n","import { defineComponent, type Ref, h } from 'vue'\n\nimport type { LinkTooltipConfig } from '../slices'\n\nimport { Icon } from '../../__internal__/components/icon'\nimport { keepAlive } from '../../__internal__/keep-alive'\n\nkeepAlive(h)\n\ntype PreviewLinkProps = {\n config: Ref<LinkTooltipConfig>\n src: Ref<string>\n onEdit: Ref<() => void>\n onRemove: Ref<() => void>\n}\n\nexport const PreviewLink = defineComponent<PreviewLinkProps>({\n props: {\n config: {\n type: Object,\n required: true,\n },\n src: {\n type: Object,\n required: true,\n },\n onEdit: {\n type: Object,\n required: true,\n },\n onRemove: {\n type: Object,\n required: true,\n },\n },\n setup({ config, src, onEdit, onRemove }) {\n const onClickEditButton = (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n onEdit.value()\n }\n\n const onClickRemoveButton = (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n onRemove.value()\n }\n\n const onClickPreview = (e: Event) => {\n e.preventDefault()\n const link = src.value\n if (navigator.clipboard && link) {\n navigator.clipboard\n .writeText(link)\n .then(() => {\n config.value.onCopyLink(link)\n })\n .catch((e) => console.error(e))\n }\n }\n\n return () => {\n return (\n <div class=\"link-preview\">\n <Icon\n class=\"button link-icon\"\n icon={config.value.linkIcon}\n onClick={onClickPreview}\n />\n <a href={src.value} target=\"_blank\" class=\"link-display\">\n {src.value}\n </a>\n <Icon\n class=\"button link-edit-button\"\n icon={config.value.editButton}\n onClick={onClickEditButton}\n />\n <Icon\n class=\"button link-remove-button\"\n icon={config.value.removeButton}\n onClick={onClickRemoveButton}\n />\n </div>\n )\n }\n },\n})\n","import type { Ctx, Slice } from '@jvs-milkdown/ctx'\nimport type { Mark } from '@jvs-milkdown/prose/model'\nimport type { PluginView } from '@jvs-milkdown/prose/state'\nimport type { EditorView } from '@jvs-milkdown/prose/view'\n\nimport { TooltipProvider } from '@jvs-milkdown/plugin-tooltip'\nimport { createApp, ref, type App, type Ref } from 'vue'\n\nimport type { LinkTooltipConfig, LinkToolTipState } from '../slices'\n\nimport { linkTooltipAPI, linkTooltipConfig, linkTooltipState } from '../slices'\nimport { PreviewLink } from './component'\n\nexport class LinkPreviewTooltip implements PluginView {\n #content: HTMLElement\n #provider: TooltipProvider\n #slice: Slice<LinkToolTipState>\n #config: Ref<LinkTooltipConfig>\n #src = ref('')\n #onEdit = ref(() => {})\n #onRemove = ref(() => {})\n #app: App\n #editorView: EditorView\n\n #hovering = false\n\n constructor(\n readonly ctx: Ctx,\n view: EditorView\n ) {\n this.#editorView = view\n this.#config = ref(this.ctx.get(linkTooltipConfig.key))\n this.#app = createApp(PreviewLink, {\n config: this.#config,\n src: this.#src,\n onEdit: this.#onEdit,\n onRemove: this.#onRemove,\n })\n this.#content = document.createElement('div')\n this.#content.className = 'milkdown-link-preview'\n this.#app.mount(this.#content)\n\n this.#provider = new TooltipProvider({\n debounce: 0,\n content: this.#content,\n shouldShow: () => false,\n })\n this.#provider.update(view)\n this.#slice = ctx.use(linkTooltipState.key)\n this.#slice.on(this.#onStateChange)\n }\n\n #onStateChange = ({ mode }: LinkToolTipState) => {\n if (mode === 'edit') this.#hide()\n }\n\n #onMouseEnter = () => {\n this.#hovering = true\n }\n\n #onMouseLeave = () => {\n this.#hovering = false\n }\n\n #hide = () => {\n this.#provider.hide()\n this.#provider.element.removeEventListener('mouseenter', this.#onMouseEnter)\n this.#provider.element.removeEventListener('mouseleave', this.#onMouseLeave)\n }\n\n show = (mark: Mark, from: number, to: number, rect: DOMRect) => {\n this.#config.value = this.ctx.get(linkTooltipConfig.key)\n this.#src.value = mark.attrs.href\n this.#onEdit.value = () => {\n this.ctx.get(linkTooltipAPI.key).editLink(mark, from, to)\n }\n this.#onRemove.value = () => {\n this.ctx.get(linkTooltipAPI.key).removeLink(from, to)\n this.#hide()\n }\n\n this.#provider.show({ getBoundingClientRect: () => rect }, this.#editorView)\n this.#provider.element.addEventListener('mouseenter', this.#onMouseEnter)\n this.#provider.element.addEventListener('mouseleave', this.#onMouseLeave)\n }\n\n hide = () => {\n if (this.#hovering) return\n\n this.#hide()\n }\n\n update = () => {}\n\n destroy = () => {\n this.#app.unmount()\n this.#slice.off(this.#onStateChange)\n this.#provider.destroy()\n this.#content.remove()\n }\n}\n","import type { Ctx } from '@jvs-milkdown/ctx'\nimport type { EditorView } from '@jvs-milkdown/prose/view'\n\nimport { posToDOMRect } from '@jvs-milkdown/prose'\nimport { debounce } from 'lodash-es'\n\nimport { linkTooltipState } from '../slices'\nimport { linkPreviewTooltip } from '../tooltips'\nimport { findMarkPosition, shouldShowPreviewWhenHover } from '../utils'\nimport { LinkPreviewTooltip } from './preview-view'\n\nexport function configureLinkPreviewTooltip(ctx: Ctx) {\n let linkPreviewTooltipView: LinkPreviewTooltip | null\n\n const DELAY = 50\n const onMouseMove = debounce((view: EditorView, event: MouseEvent) => {\n if (!linkPreviewTooltipView) return\n if (!view.hasFocus()) return\n\n const state = ctx.get(linkTooltipState.key)\n if (state.mode === 'edit') return\n\n const result = shouldShowPreviewWhenHover(ctx, view, event)\n if (result) {\n const position = view.state.doc.resolve(result.pos)\n const markPosition = findMarkPosition(\n result.mark,\n result.node,\n view.state.doc,\n position.before(),\n position.after()\n )\n const from = markPosition.start\n const to = markPosition.end\n linkPreviewTooltipView.show(\n result.mark,\n from,\n to,\n posToDOMRect(view, from, to)\n )\n return\n }\n\n linkPreviewTooltipView.hide()\n }, DELAY)\n\n const onMouseLeave = () => {\n setTimeout(() => {\n linkPreviewTooltipView?.hide()\n }, DELAY)\n }\n\n ctx.set(linkPreviewTooltip.key, {\n props: {\n handleDOMEvents: {\n mousemove: onMouseMove,\n mouseleave: onMouseLeave,\n },\n },\n view: (view) => {\n linkPreviewTooltipView = new LinkPreviewTooltip(ctx, view)\n return linkPreviewTooltipView\n },\n })\n}\n","import type { Ctx } from '@jvs-milkdown/ctx'\n\nimport { configureLinkEditTooltip } from './edit/edit-configure'\nimport { configureLinkPreviewTooltip } from './preview/preview-configure'\n\nexport function configureLinkTooltip(ctx: Ctx) {\n configureLinkPreviewTooltip(ctx)\n configureLinkEditTooltip(ctx)\n}\n","import type { MilkdownPlugin } from '@jvs-milkdown/ctx'\n\nimport { toggleLinkCommand } from './command'\nimport { linkTooltipAPI, linkTooltipConfig, linkTooltipState } from './slices'\nimport { linkEditTooltip, linkPreviewTooltip } from './tooltips'\n\nexport * from './slices'\nexport * from './configure'\nexport * from './tooltips'\nexport * from './command'\n\nexport const linkTooltipPlugin: MilkdownPlugin[] = [\n linkTooltipState,\n linkTooltipAPI,\n linkTooltipConfig,\n linkPreviewTooltip,\n linkEditTooltip,\n toggleLinkCommand,\n].flat()\n"],"names":["__spreadValues","_content","_provider","_app","_config","_src","__privateAdd","__privateGet","__spreadProps","__privateSet","mark","e"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import type { LinkTooltipConfig } from '../slices';
|
|
3
|
+
type PreviewLinkProps = {
|
|
4
|
+
config: Ref<LinkTooltipConfig>;
|
|
5
|
+
src: Ref<string>;
|
|
6
|
+
onEdit: Ref<() => void>;
|
|
7
|
+
onRemove: Ref<() => void>;
|
|
8
|
+
};
|
|
9
|
+
export declare const PreviewLink: import("vue").DefineComponent<PreviewLinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PreviewLinkProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/link-tooltip/preview/component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,GAAG,EAAK,MAAM,KAAK,CAAA;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAOlD,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC9B,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,WAAW,4SAsEtB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-configure.d.ts","sourceRoot":"","sources":["../../../src/link-tooltip/preview/preview-configure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAW5C,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,GAAG,QAqDnD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Ctx } from '@jvs-milkdown/ctx';
|
|
2
|
+
import type { Mark } from '@jvs-milkdown/prose/model';
|
|
3
|
+
import type { PluginView } from '@jvs-milkdown/prose/state';
|
|
4
|
+
import type { EditorView } from '@jvs-milkdown/prose/view';
|
|
5
|
+
export declare class LinkPreviewTooltip implements PluginView {
|
|
6
|
+
#private;
|
|
7
|
+
readonly ctx: Ctx;
|
|
8
|
+
constructor(ctx: Ctx, view: EditorView);
|
|
9
|
+
show: (mark: Mark, from: number, to: number, rect: DOMRect) => void;
|
|
10
|
+
hide: () => void;
|
|
11
|
+
update: () => void;
|
|
12
|
+
destroy: () => void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=preview-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-view.d.ts","sourceRoot":"","sources":["../../../src/link-tooltip/preview/preview-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAS,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAU1D,qBAAa,kBAAmB,YAAW,UAAU;;IAcjD,QAAQ,CAAC,GAAG,EAAE,GAAG;gBAAR,GAAG,EAAE,GAAG,EACjB,IAAI,EAAE,UAAU;IA0ClB,IAAI,GAAI,MAAM,IAAI,EAAE,MAAM,MAAM,EAAE,IAAI,MAAM,EAAE,MAAM,OAAO,UAc1D;IAED,IAAI,aAIH;IAED,MAAM,aAAW;IAEjB,OAAO,aAKN;CACF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Mark } from '@jvs-milkdown/prose/model';
|
|
2
|
+
export interface LinkToolTipState {
|
|
3
|
+
mode: 'preview' | 'edit';
|
|
4
|
+
}
|
|
5
|
+
export declare const linkTooltipState: import("@jvs-milkdown/utils").$Ctx<{
|
|
6
|
+
mode: "preview" | "edit";
|
|
7
|
+
}, "linkTooltipStateCtx">;
|
|
8
|
+
export interface LinkTooltipAPI {
|
|
9
|
+
addLink: (from: number, to: number) => void;
|
|
10
|
+
editLink: (mark: Mark, from: number, to: number) => void;
|
|
11
|
+
removeLink: (from: number, to: number) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const linkTooltipAPI: import("@jvs-milkdown/utils").$Ctx<{
|
|
14
|
+
addLink: (from: number, to: number) => void;
|
|
15
|
+
editLink: (mark: Mark, from: number, to: number) => void;
|
|
16
|
+
removeLink: (from: number, to: number) => void;
|
|
17
|
+
}, "linkTooltipAPICtx">;
|
|
18
|
+
export interface LinkTooltipConfig {
|
|
19
|
+
linkIcon: string;
|
|
20
|
+
editButton: string;
|
|
21
|
+
confirmButton: string;
|
|
22
|
+
removeButton: string;
|
|
23
|
+
onCopyLink: (link: string) => void;
|
|
24
|
+
inputPlaceholder: string;
|
|
25
|
+
}
|
|
26
|
+
export declare const linkTooltipConfig: import("@jvs-milkdown/utils").$Ctx<{
|
|
27
|
+
linkIcon: string;
|
|
28
|
+
editButton: string;
|
|
29
|
+
confirmButton: string;
|
|
30
|
+
removeButton: string;
|
|
31
|
+
onCopyLink: (link: string) => void;
|
|
32
|
+
inputPlaceholder: string;
|
|
33
|
+
}, "linkTooltipConfigCtx">;
|
|
34
|
+
//# sourceMappingURL=slices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slices.d.ts","sourceRoot":"","sources":["../../src/link-tooltip/slices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAMrD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CACzB;AAMD,eAAO,MAAM,gBAAgB;UAPrB,SAAS,GAAG,MAAM;yBAOsD,CAAA;AAOhF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/C;AAQD,eAAO,MAAM,cAAc;aAXhB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI;cACjC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI;gBAC5C,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI;uBAS0B,CAAA;AAO1E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAWD,eAAO,MAAM,iBAAiB;cAjBlB,MAAM;gBACJ,MAAM;mBACH,MAAM;kBACP,MAAM;gBACR,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;sBAChB,MAAM;0BAiBzB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltips.d.ts","sourceRoot":"","sources":["../../src/link-tooltip/tooltips.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,2EAAiC,CAAA;AAShE,eAAO,MAAM,eAAe,wEAA8B,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Ctx } from '@jvs-milkdown/ctx';
|
|
2
|
+
import type { Mark, Node } from '@jvs-milkdown/prose/model';
|
|
3
|
+
import type { EditorView } from '@jvs-milkdown/prose/view';
|
|
4
|
+
export declare function findMarkPosition(mark: Mark, node: Node, doc: Node, from: number, to: number): {
|
|
5
|
+
start: number;
|
|
6
|
+
end: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function shouldShowPreviewWhenHover(ctx: Ctx, view: EditorView, event: MouseEvent): {
|
|
9
|
+
show: boolean;
|
|
10
|
+
pos: number;
|
|
11
|
+
node: Node;
|
|
12
|
+
mark: Mark;
|
|
13
|
+
} | undefined;
|
|
14
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/link-tooltip/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAM1D,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM;;;EAkBX;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,UAAU;;;;;cAmBlB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import type { ListItemBlockConfig } from './config';
|
|
3
|
+
interface Attrs {
|
|
4
|
+
label: string;
|
|
5
|
+
checked: boolean;
|
|
6
|
+
listType: string;
|
|
7
|
+
}
|
|
8
|
+
type ListItemProps = {
|
|
9
|
+
[P in keyof Attrs]: Ref<Attrs[P]>;
|
|
10
|
+
} & {
|
|
11
|
+
config: ListItemBlockConfig;
|
|
12
|
+
readonly: Ref<boolean>;
|
|
13
|
+
selected: Ref<boolean>;
|
|
14
|
+
setAttr: <T extends keyof Attrs>(attr: T, value: Attrs[T]) => void;
|
|
15
|
+
onMount: (div: Element) => void;
|
|
16
|
+
};
|
|
17
|
+
export declare const ListItem: import("vue").DefineComponent<ListItemProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ListItemProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/list-item-block/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,GAAG,EAAoB,MAAM,KAAK,CAAA;AAE3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAOnD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,KAAK,aAAa,GAAG;KAClB,CAAC,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAClC,GAAG;IACF,MAAM,EAAE,mBAAmB,CAAA;IAC3B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACtB,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACtB,OAAO,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAClE,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,QAAQ,sSA0GnB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface RenderLabelProps {
|
|
2
|
+
label: string;
|
|
3
|
+
listType: string;
|
|
4
|
+
readonly?: boolean;
|
|
5
|
+
checked?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface ListItemBlockConfig {
|
|
8
|
+
renderLabel: (props: RenderLabelProps) => string;
|
|
9
|
+
}
|
|
10
|
+
export declare const defaultListItemBlockConfig: ListItemBlockConfig;
|
|
11
|
+
export declare const listItemBlockConfig: import("@jvs-milkdown/utils").$Ctx<ListItemBlockConfig, "listItemBlockConfigCtx">;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/list-item-block/config.ts"],"names":[],"mappings":"AAIA,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAA;CACjD;AAED,eAAO,MAAM,0BAA0B,EAAE,mBAaxC,CAAA;AAED,eAAO,MAAM,mBAAmB,mFAG/B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/list-item-block/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAKvD,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AAEtB,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAGlD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/list-item-block/view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAWnE,eAAO,MAAM,iBAAiB,+FAgH7B,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type RenderType = 'add_row' | 'add_col' | 'delete_row' | 'delete_col' | 'align_col_left' | 'align_col_center' | 'align_col_right' | 'col_drag_handle' | 'row_drag_handle' | 'merge_cells' | 'split_cell';
|
|
2
|
+
export interface TableBlockConfig {
|
|
3
|
+
renderButton: (renderType: RenderType) => string;
|
|
4
|
+
}
|
|
5
|
+
export declare const tableBlockConfig: import("@jvs-milkdown/utils").$Ctx<{
|
|
6
|
+
renderButton: (renderType: RenderType) => string;
|
|
7
|
+
}, "tableBlockConfigCtx">;
|
|
8
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/table-block/config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,YAAY,CAAA;AAEhB,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,MAAM,CAAA;CACjD;AA+BD,eAAO,MAAM,gBAAgB;kBAhCb,CAAC,UAAU,EAAE,UAAU,KAAK,MAAM;yBAmCjD,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare function getDragOverColumn(table: Element, pointerX: number): [element: Element, index: number] | undefined;
|
|
2
|
+
export declare function getDragOverRow(table: Element, pointerY: number): [element: Element, index: number] | undefined;
|
|
3
|
+
//# sourceMappingURL=calc-drag-over.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calc-drag-over.d.ts","sourceRoot":"","sources":["../../../src/table-block/dnd/calc-drag-over.ts"],"names":[],"mappings":"AA6BA,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAK/C;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAG/C"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Ctx } from '@jvs-milkdown/ctx';
|
|
2
|
+
import type { Refs } from '../view/types';
|
|
3
|
+
export declare function createDragRowHandler(refs: Refs, ctx?: Ctx): (event: DragEvent) => void;
|
|
4
|
+
export declare function createDragColHandler(refs: Refs, ctx?: Ctx): (event: DragEvent) => void;
|
|
5
|
+
//# sourceMappingURL=create-drag-handler.d.ts.map
|