@gravity-ui/markdown-editor 15.2.0 → 15.2.1
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/build/cjs/extensions/additional/YfmHtmlBlock/utils.d.ts +1 -1
- package/build/cjs/extensions/additional/YfmHtmlBlock/utils.js +2 -2
- package/build/cjs/extensions/additional/YfmHtmlBlock/utils.js.map +1 -1
- package/build/cjs/extensions/markdown/Deflist/DeflistSpecs/index.js +2 -2
- package/build/cjs/extensions/markdown/Deflist/DeflistSpecs/index.js.map +1 -1
- package/build/cjs/extensions/markdown/Html/schema.js +2 -2
- package/build/cjs/extensions/markdown/Html/schema.js.map +1 -1
- package/build/cjs/extensions/markdown/Superscript/SuperscriptSpecs/index.js +3 -3
- package/build/cjs/extensions/markdown/Superscript/SuperscriptSpecs/index.js.map +1 -1
- package/build/cjs/extensions/yfm/Checkbox/CheckboxSpecs/index.js +2 -2
- package/build/cjs/extensions/yfm/Checkbox/CheckboxSpecs/index.js.map +1 -1
- package/build/cjs/extensions/yfm/Emoji/EmojiSpecs/EmojiSpecs.js +2 -2
- package/build/cjs/extensions/yfm/Emoji/EmojiSpecs/EmojiSpecs.js.map +1 -1
- package/build/cjs/extensions/yfm/ImgSize/ImgSizeSpecs/const.d.ts +1 -1
- package/build/cjs/extensions/yfm/ImgSize/ImgSizeSpecs/const.js +6 -6
- package/build/cjs/extensions/yfm/ImgSize/ImgSizeSpecs/const.js.map +1 -1
- package/build/cjs/extensions/yfm/ImgSize/ImgSizeSpecs/index.js +3 -3
- package/build/cjs/extensions/yfm/ImgSize/ImgSizeSpecs/index.js.map +1 -1
- package/build/cjs/extensions/yfm/Monospace/MonospaceSpecs/index.js +3 -3
- package/build/cjs/extensions/yfm/Monospace/MonospaceSpecs/index.js.map +1 -1
- package/build/cjs/extensions/yfm/Video/VideoSpecs/index.js +2 -2
- package/build/cjs/extensions/yfm/Video/VideoSpecs/index.js.map +1 -1
- package/build/cjs/extensions/yfm/Video/VideoSpecs/md-video.d.ts +4 -4
- package/build/cjs/extensions/yfm/Video/VideoSpecs/md-video.js +7 -7
- package/build/cjs/extensions/yfm/Video/VideoSpecs/md-video.js.map +1 -1
- package/build/cjs/extensions/yfm/YfmConfigs/index.d.ts +2 -2
- package/build/cjs/extensions/yfm/YfmConfigs/index.js +2 -2
- package/build/cjs/extensions/yfm/YfmConfigs/index.js.map +1 -1
- package/build/cjs/extensions/yfm/YfmNote/YfmNoteSpecs/index.js +3 -3
- package/build/cjs/extensions/yfm/YfmNote/YfmNoteSpecs/index.js.map +1 -1
- package/build/cjs/extensions/yfm/YfmTable/YfmTableSpecs/index.js +3 -3
- package/build/cjs/extensions/yfm/YfmTable/YfmTableSpecs/index.js.map +1 -1
- package/build/cjs/extensions/yfm/YfmTabs/actions.js +4 -4
- package/build/cjs/extensions/yfm/YfmTabs/actions.js.map +1 -1
- package/build/cjs/extensions/yfm/YfmTabs/plugins.js +11 -11
- package/build/cjs/extensions/yfm/YfmTabs/plugins.js.map +1 -1
- package/build/cjs/markdown-it/emoji.d.ts +2 -2
- package/build/cjs/markdown-it/emoji.js +4 -4
- package/build/cjs/markdown-it/emoji.js.map +1 -1
- package/build/cjs/version.js +1 -1
- package/build/cjs/version.js.map +1 -1
- package/build/esm/extensions/additional/YfmHtmlBlock/utils.d.ts +1 -1
- package/build/esm/extensions/additional/YfmHtmlBlock/utils.js +1 -1
- package/build/esm/extensions/additional/YfmHtmlBlock/utils.js.map +1 -1
- package/build/esm/extensions/markdown/Deflist/DeflistSpecs/index.js +1 -1
- package/build/esm/extensions/markdown/Deflist/DeflistSpecs/index.js.map +1 -1
- package/build/esm/extensions/markdown/Html/schema.js +1 -1
- package/build/esm/extensions/markdown/Html/schema.js.map +1 -1
- package/build/esm/extensions/markdown/Superscript/SuperscriptSpecs/index.js +2 -2
- package/build/esm/extensions/markdown/Superscript/SuperscriptSpecs/index.js.map +1 -1
- package/build/esm/extensions/yfm/Checkbox/CheckboxSpecs/index.js +1 -1
- package/build/esm/extensions/yfm/Checkbox/CheckboxSpecs/index.js.map +1 -1
- package/build/esm/extensions/yfm/Emoji/EmojiSpecs/EmojiSpecs.js +1 -1
- package/build/esm/extensions/yfm/Emoji/EmojiSpecs/EmojiSpecs.js.map +1 -1
- package/build/esm/extensions/yfm/ImgSize/ImgSizeSpecs/const.d.ts +1 -1
- package/build/esm/extensions/yfm/ImgSize/ImgSizeSpecs/const.js +1 -1
- package/build/esm/extensions/yfm/ImgSize/ImgSizeSpecs/const.js.map +1 -1
- package/build/esm/extensions/yfm/ImgSize/ImgSizeSpecs/index.js +2 -2
- package/build/esm/extensions/yfm/ImgSize/ImgSizeSpecs/index.js.map +1 -1
- package/build/esm/extensions/yfm/Monospace/MonospaceSpecs/index.js +2 -2
- package/build/esm/extensions/yfm/Monospace/MonospaceSpecs/index.js.map +1 -1
- package/build/esm/extensions/yfm/Video/VideoSpecs/index.js +1 -1
- package/build/esm/extensions/yfm/Video/VideoSpecs/index.js.map +1 -1
- package/build/esm/extensions/yfm/Video/VideoSpecs/md-video.d.ts +4 -4
- package/build/esm/extensions/yfm/Video/VideoSpecs/md-video.js +3 -3
- package/build/esm/extensions/yfm/Video/VideoSpecs/md-video.js.map +1 -1
- package/build/esm/extensions/yfm/YfmConfigs/index.d.ts +2 -2
- package/build/esm/extensions/yfm/YfmConfigs/index.js +2 -2
- package/build/esm/extensions/yfm/YfmConfigs/index.js.map +1 -1
- package/build/esm/extensions/yfm/YfmNote/YfmNoteSpecs/index.js +2 -2
- package/build/esm/extensions/yfm/YfmNote/YfmNoteSpecs/index.js.map +1 -1
- package/build/esm/extensions/yfm/YfmTable/YfmTableSpecs/index.js +2 -2
- package/build/esm/extensions/yfm/YfmTable/YfmTableSpecs/index.js.map +1 -1
- package/build/esm/extensions/yfm/YfmTabs/actions.js +1 -1
- package/build/esm/extensions/yfm/YfmTabs/actions.js.map +1 -1
- package/build/esm/extensions/yfm/YfmTabs/plugins.js +1 -1
- package/build/esm/extensions/yfm/YfmTabs/plugins.js.map +1 -1
- package/build/esm/markdown-it/emoji.d.ts +2 -2
- package/build/esm/markdown-it/emoji.js +2 -2
- package/build/esm/markdown-it/emoji.js.map +1 -1
- package/build/esm/version.js +1 -1
- package/build/esm/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/ImgSize/ImgSizeSpecs/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/ImgSize/ImgSizeSpecs/index.ts"],"names":[],"mappings":"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","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\nimport imsize from '@diplodoc/transform/lib/plugins/imsize/index.js';\nimport isNumber from 'is-number';\nimport type {NodeSpec} from 'prosemirror-model';\n\nimport type {ExtensionAuto} from '../../../../core';\nimport {imageNodeName} from '../../../markdown/Image/const';\n\nimport {ImgSizeAttr} from './const';\n\ntype ImsizeTypedAttributes = {\n [ImgSizeAttr.Src]: string;\n [ImgSizeAttr.Title]: string | null;\n [ImgSizeAttr.Alt]: string | null;\n [ImgSizeAttr.Width]: string | null;\n [ImgSizeAttr.Height]: string | null;\n [ImgSizeAttr.Loading]: string | null;\n};\n\nexport {ImgSizeAttr};\n\nexport type ImgSizeSpecsOptions = {\n /**\n * @deprecated: use placeholder option in BehaviorPreset instead.\n */\n placeholder?: NodeSpec['placeholder'];\n};\n\nexport const ImgSizeSpecs: ExtensionAuto<ImgSizeSpecsOptions> = (builder, opts) => {\n const placeholderContent = builder.context.get('placeholder')?.imgSize;\n\n builder.configureMd((md) => md.use(imsize, {log, enableInlineStyling: true}));\n builder.addNode(imageNodeName, () => ({\n spec: {\n inline: true,\n attrs: {\n [ImgSizeAttr.Src]: {},\n [ImgSizeAttr.Alt]: {default: null},\n [ImgSizeAttr.Title]: {default: null},\n [ImgSizeAttr.Height]: {default: null},\n [ImgSizeAttr.Width]: {default: null},\n [ImgSizeAttr.Loading]: {default: null},\n },\n placeholder: placeholderContent ? {content: placeholderContent} : opts.placeholder,\n group: 'inline',\n draggable: true,\n parseDOM: [\n {\n tag: 'img[src]',\n getAttrs(dom) {\n const height = (dom as Element).getAttribute(ImgSizeAttr.Height);\n const width = (dom as Element).getAttribute(ImgSizeAttr.Width);\n\n return {\n [ImgSizeAttr.Src]: (dom as Element).getAttribute(ImgSizeAttr.Src),\n [ImgSizeAttr.Alt]: (dom as Element).getAttribute(ImgSizeAttr.Alt),\n [ImgSizeAttr.Title]: (dom as Element).getAttribute(ImgSizeAttr.Title),\n [ImgSizeAttr.Loading]: (dom as Element).getAttribute(\n ImgSizeAttr.Loading,\n ),\n [ImgSizeAttr.Height]: isNumber(height) ? height : null,\n [ImgSizeAttr.Width]: isNumber(width) ? height : null,\n };\n },\n },\n ],\n toDOM(node) {\n return ['img', node.attrs];\n },\n },\n fromMd: {\n tokenSpec: {\n name: imageNodeName,\n type: 'node',\n getAttrs: (tok): ImsizeTypedAttributes => ({\n [ImgSizeAttr.Src]: tok.attrGet(ImgSizeAttr.Src)!,\n [ImgSizeAttr.Title]: tok.attrGet(ImgSizeAttr.Title),\n [ImgSizeAttr.Height]: tok.attrGet(ImgSizeAttr.Height),\n [ImgSizeAttr.Width]: tok.attrGet(ImgSizeAttr.Width),\n [ImgSizeAttr.Loading]: tok.attrGet(ImgSizeAttr.Loading),\n [ImgSizeAttr.Alt]: tok.children?.[0]?.content || null,\n }),\n },\n },\n toMd: (state, node) => {\n const attrs = node.attrs as ImsizeTypedAttributes;\n let result = ' {\n result += state.esc(attrs.src);\n }\n\n if (attrs.title) {\n result += ` ${state.quote(attrs.title)}`;\n }\n\n result += getSize(attrs);\n result += ')';\n\n state.write(result);\n },\n }));\n};\n\nfunction getSize({width, height}: ImsizeTypedAttributes): string {\n if (width || height) {\n return ` =${width || ''}x${height || ''}`;\n }\n\n return '';\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import log from '@diplodoc/transform/lib/log';
|
|
2
|
-
import yfmPlugin from '@diplodoc/transform/lib/plugins/monospace';
|
|
1
|
+
import log from '@diplodoc/transform/lib/log.js';
|
|
2
|
+
import yfmPlugin from '@diplodoc/transform/lib/plugins/monospace.js';
|
|
3
3
|
import { markTypeFactory } from "../../../../utils/schema.js";
|
|
4
4
|
export const monospaceMarkName = 'monospace';
|
|
5
5
|
export const monospaceType = markTypeFactory(monospaceMarkName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/Monospace/MonospaceSpecs/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/Monospace/MonospaceSpecs/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,SAAS,MAAM,8CAA8C,CAAC;AAGrE,OAAO,EAAC,eAAe,EAAC,oCAAiC;AAEzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAkB,CAAC,OAAO,EAAE,EAAE;IACrD,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;SAC7C,OAAO,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE;YACF,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,MAAM,EAAC,CAAC;YACzB,KAAK;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;SACJ;QACD,MAAM,EAAE;YACJ,SAAS,EAAE;gBACP,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,MAAM;aACf;SACJ;QACD,IAAI,EAAE;YACF,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,wBAAwB,EAAE,IAAI;SACjC;KACJ,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\nimport yfmPlugin from '@diplodoc/transform/lib/plugins/monospace.js';\n\nimport type {ExtensionAuto} from '../../../../core';\nimport {markTypeFactory} from '../../../../utils/schema';\n\nexport const monospaceMarkName = 'monospace';\nexport const monospaceType = markTypeFactory(monospaceMarkName);\n\nexport const MonospaceSpecs: ExtensionAuto = (builder) => {\n builder\n .configureMd((md) => md.use(yfmPlugin, {log}))\n .addMark(monospaceMarkName, () => ({\n spec: {\n parseDOM: [{tag: 'samp'}],\n toDOM() {\n return ['samp'];\n },\n },\n fromMd: {\n tokenSpec: {\n name: monospaceMarkName,\n type: 'mark',\n },\n },\n toMd: {\n open: '##',\n close: '##',\n mixable: true,\n expelEnclosingWhitespace: true,\n },\n }));\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import log from '@diplodoc/transform/lib/log';
|
|
1
|
+
import log from '@diplodoc/transform/lib/log.js';
|
|
2
2
|
import { VideoAttr, videoNodeName } from "./const.js";
|
|
3
3
|
import { VideoService, defaults, videoPlugin, } from "./md-video.js";
|
|
4
4
|
import { createViewStub, serializeNodeToString } from "./utils.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/Video/VideoSpecs/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/Video/VideoSpecs/index.ts"],"names":[],"mappings":"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","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\n\nimport type {ExtensionAuto} from '../../../../core';\n\nimport {VideoAttr, videoNodeName} from './const';\nimport {\n type VideoPluginOptions,\n VideoService,\n type VideoToken,\n defaults,\n videoPlugin,\n} from './md-video';\nimport {createViewStub, serializeNodeToString} from './utils';\n\n// we don't support osf service\nconst availableServices: ReadonlySet<string> = new Set([\n VideoService.YouTube,\n VideoService.Vimeo,\n VideoService.Vine,\n VideoService.Prezi,\n]);\n\nexport {videoNodeName} from './const';\nexport {videoType} from './utils';\n\nexport type VideoSpecsOptions = VideoPluginOptions & {};\n\nexport const VideoSpecs: ExtensionAuto<VideoSpecsOptions> = (builder, opts) => {\n const options = {...defaults, ...opts, log};\n\n builder.configureMd((md) => md.use(videoPlugin, options));\n builder.addNode(videoNodeName, () => ({\n spec: {\n inline: true,\n atom: true,\n group: 'inline',\n attrs: {[VideoAttr.Service]: {}, [VideoAttr.VideoID]: {}},\n parseDOM: [\n {\n tag: `span[${VideoAttr.Service}][${VideoAttr.VideoID}]`,\n getAttrs(dom) {\n const domElem = dom as HTMLElement;\n return {\n [VideoAttr.Service]: domElem.getAttribute(VideoAttr.Service),\n [VideoAttr.VideoID]: domElem.getAttribute(VideoAttr.VideoID),\n };\n },\n },\n {\n tag: `iframe[${VideoAttr.Service}][${VideoAttr.VideoID}]`,\n getAttrs(dom) {\n const domElem = dom as HTMLElement;\n return {\n [VideoAttr.Service]: domElem.getAttribute(VideoAttr.Service),\n [VideoAttr.VideoID]: domElem.getAttribute(VideoAttr.VideoID),\n };\n },\n priority: 100,\n },\n ],\n toDOM(node) {\n const service = node.attrs[VideoAttr.Service];\n const videoId = node.attrs[VideoAttr.VideoID];\n\n if (availableServices.has(service) || !videoId) {\n let src = '';\n if (typeof options.videoUrl === 'function') {\n src = options.videoUrl(service, videoId, options);\n }\n return [\n 'div',\n {\n class: 'embed-responsive embed-responsive-16by9',\n },\n [\n 'iframe',\n {\n class: `embed-responsive-item ${service}-player`,\n type: 'text/html',\n width: String(options[service as VideoService].width),\n height: String(options[service as VideoService].height),\n src: src,\n frameborder: '0',\n webkitallowfullscreen: '',\n mozallowfullscreen: '',\n allowfullscreen: '',\n [VideoAttr.Service]: service,\n [VideoAttr.VideoID]: videoId,\n },\n ],\n ];\n }\n\n return createViewStub(node);\n },\n },\n fromMd: {\n tokenSpec: {\n name: videoNodeName,\n type: 'node',\n getAttrs: (tok) => ({\n [VideoAttr.Service]: (tok as VideoToken).service,\n [VideoAttr.VideoID]: (tok as VideoToken).videoID,\n }),\n },\n },\n toMd: (state, node) => {\n state.write(serializeNodeToString(node));\n },\n }));\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const videoPlugin: import("markdown-it").PluginWithOptions<Partial<import("@diplodoc/transform/lib/plugins/video/types").VideoFullOptions>>;
|
|
2
|
-
export { VideoService, defaults } from '@diplodoc/transform/lib/plugins/video/const';
|
|
3
|
-
export type { VideoPluginOptions, VideoToken } from '@diplodoc/transform/lib/plugins/video/types';
|
|
4
|
-
export { parseVideoUrl } from '@diplodoc/transform/lib/plugins/video/parsers';
|
|
1
|
+
export declare const videoPlugin: import("markdown-it").PluginWithOptions<Partial<import("@diplodoc/transform/lib/plugins/video/types.js").VideoFullOptions>>;
|
|
2
|
+
export { VideoService, defaults } from '@diplodoc/transform/lib/plugins/video/const.js';
|
|
3
|
+
export type { VideoPluginOptions, VideoToken } from '@diplodoc/transform/lib/plugins/video/types.js';
|
|
4
|
+
export { parseVideoUrl } from '@diplodoc/transform/lib/plugins/video/parsers.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import video from '@diplodoc/transform/lib/plugins/video';
|
|
1
|
+
import video from '@diplodoc/transform/lib/plugins/video/index.js';
|
|
2
2
|
export const videoPlugin = video;
|
|
3
|
-
export { VideoService, defaults } from '@diplodoc/transform/lib/plugins/video/const';
|
|
4
|
-
export { parseVideoUrl } from '@diplodoc/transform/lib/plugins/video/parsers';
|
|
3
|
+
export { VideoService, defaults } from '@diplodoc/transform/lib/plugins/video/const.js';
|
|
4
|
+
export { parseVideoUrl } from '@diplodoc/transform/lib/plugins/video/parsers.js';
|
|
5
5
|
//# sourceMappingURL=md-video.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"md-video.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/Video/VideoSpecs/md-video.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"md-video.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/Video/VideoSpecs/md-video.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gDAAgD,CAAC;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC;AACjC,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAC,aAAa,EAAC,MAAM,kDAAkD,CAAC","sourcesContent":["import video from '@diplodoc/transform/lib/plugins/video/index.js';\nexport const videoPlugin = video;\nexport {VideoService, defaults} from '@diplodoc/transform/lib/plugins/video/const.js';\nexport type {VideoPluginOptions, VideoToken} from '@diplodoc/transform/lib/plugins/video/types.js';\nexport {parseVideoUrl} from '@diplodoc/transform/lib/plugins/video/parsers.js';\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import '@diplodoc/transform/dist/js/base';
|
|
2
|
-
import '@diplodoc/transform/dist/js/_yfm-only';
|
|
1
|
+
import '@diplodoc/transform/dist/js/base.js';
|
|
2
|
+
import '@diplodoc/transform/dist/js/_yfm-only.js';
|
|
3
3
|
import type { ExtensionAuto } from "../../../core/index.js";
|
|
4
4
|
import { type YfmConfigsSpecsOptions } from "./YfmConfigsSpecs/index.js";
|
|
5
5
|
import '@diplodoc/transform/dist/css/base.css';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import '@diplodoc/transform/dist/js/base';
|
|
2
|
-
import '@diplodoc/transform/dist/js/_yfm-only'; // eslint-disable-line import/order
|
|
1
|
+
import '@diplodoc/transform/dist/js/base.js';
|
|
2
|
+
import '@diplodoc/transform/dist/js/_yfm-only.js'; // eslint-disable-line import/order
|
|
3
3
|
import { Plugin } from 'prosemirror-state';
|
|
4
4
|
import { YfmConfigsSpecs } from "./YfmConfigsSpecs/index.js";
|
|
5
5
|
import '@diplodoc/transform/dist/css/base.css';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["extensions/yfm/YfmConfigs/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../../../src","sources":["extensions/yfm/YfmConfigs/index.ts"],"names":[],"mappings":"AAAA,OAAO,qCAAqC,CAAC;AAC7C,OAAO,0CAA0C,CAAC,CAAC,mCAAmC;AACtF,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAIzC,OAAO,EAAC,eAAe,EAA8B,mCAA0B;AAE/E,OAAO,uCAAuC,CAAC;AAC/C,OAAO,4CAA4C,CAAC,CAAC,mCAAmC;AACxF,mBAAoB,CAAC,mCAAmC;AAIxD,MAAM,CAAC,MAAM,UAAU,GAAqC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;IAC1E,qDAAqD;IACrD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAEnC,OAAO,CAAC,SAAS,CACb,GAAG,EAAE,CACD,IAAI,MAAM,CAAC;QACP,KAAK,EAAE;YACH,UAAU,EAAE;gBACR,KAAK,EAAE,kCAAkC;aAC5C;SACJ;KACJ,CAAC,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import '@diplodoc/transform/dist/js/base.js';\nimport '@diplodoc/transform/dist/js/_yfm-only.js'; // eslint-disable-line import/order\nimport {Plugin} from 'prosemirror-state';\n\nimport type {ExtensionAuto} from '../../../core';\n\nimport {YfmConfigsSpecs, type YfmConfigsSpecsOptions} from './YfmConfigsSpecs';\n\nimport '@diplodoc/transform/dist/css/base.css';\nimport '@diplodoc/transform/dist/css/_yfm-only.css'; // eslint-disable-line import/order\nimport './yfm.scss'; // eslint-disable-line import/order\n\nexport type YfmConfigsOptions = YfmConfigsSpecsOptions & {};\n\nexport const YfmConfigs: ExtensionAuto<YfmConfigsOptions> = (builder, opts) => {\n // apply md-it-attrs plugin and ignore yfm lint token\n builder.use(YfmConfigsSpecs, opts);\n\n builder.addPlugin(\n () =>\n new Plugin({\n props: {\n attributes: {\n class: 'yfm yfm_no-list-reset yfm-editor',\n },\n },\n }),\n );\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import log from '@diplodoc/transform/lib/log';
|
|
2
|
-
import yfmPlugin from '@diplodoc/transform/lib/plugins/notes';
|
|
1
|
+
import log from '@diplodoc/transform/lib/log.js';
|
|
2
|
+
import yfmPlugin from '@diplodoc/transform/lib/plugins/notes/index.js';
|
|
3
3
|
import { NoteNode } from "./const.js";
|
|
4
4
|
import { parserTokens } from "./parser.js";
|
|
5
5
|
import { getSchemaSpecs } from "./schema.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/YfmNote/YfmNoteSpecs/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/YfmNote/YfmNoteSpecs/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,SAAS,MAAM,gDAAgD,CAAC;AAKvE,OAAO,EAAC,QAAQ,EAAC,mBAAgB;AACjC,OAAO,EAAC,YAAY,EAAC,oBAAiB;AACtC,OAAO,EAAC,cAAc,EAAC,oBAAiB;AACxC,OAAO,EAAC,gBAAgB,EAAC,wBAAqB;AAE9C,OAAO,EAAC,QAAQ,IAAI,WAAW,EAAC,mBAAgB;AAChD,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,mBAAgB;AAShD,MAAM,CAAC,MAAM,YAAY,GAAuC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;IAC9E,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAE7E,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;SAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrC,MAAM,EAAE;YACJ,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;SACzC;KACJ,CAAC,CAAC;SACF,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1C,MAAM,EAAE;YACJ,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;SAC9C;KACJ,CAAC,CAAC;SACF,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5C,MAAM,EAAE;YACJ,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;SAChD;KACJ,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\nimport yfmPlugin from '@diplodoc/transform/lib/plugins/notes/index.js';\nimport type {NodeSpec} from 'prosemirror-model';\n\nimport type {ExtensionAuto} from '../../../../core';\n\nimport {NoteNode} from './const';\nimport {parserTokens} from './parser';\nimport {getSchemaSpecs} from './schema';\nimport {serializerTokens} from './serializer';\n\nexport {NoteNode as YfmNoteNode} from './const';\nexport {noteType, noteTitleType} from './utils';\n\nexport type YfmNoteSpecsOptions = {\n /**\n * @deprecated: use placeholder option in BehaviorPreset instead.\n */\n yfmNoteTitlePlaceholder?: NonNullable<NodeSpec['placeholder']>['content'];\n};\n\nexport const YfmNoteSpecs: ExtensionAuto<YfmNoteSpecsOptions> = (builder, opts) => {\n const schemaSpecs = getSchemaSpecs(opts, builder.context.get('placeholder'));\n\n builder\n .configureMd((md) => md.use(yfmPlugin, {log}))\n .addNode(NoteNode.Note, () => ({\n spec: schemaSpecs[NoteNode.Note],\n toMd: serializerTokens[NoteNode.Note],\n fromMd: {\n tokenSpec: parserTokens[NoteNode.Note],\n },\n }))\n .addNode(NoteNode.NoteTitle, () => ({\n spec: schemaSpecs[NoteNode.NoteTitle],\n toMd: serializerTokens[NoteNode.NoteTitle],\n fromMd: {\n tokenSpec: parserTokens[NoteNode.NoteTitle],\n },\n }))\n .addNode(NoteNode.NoteContent, () => ({\n spec: schemaSpecs[NoteNode.NoteContent],\n toMd: serializerTokens[NoteNode.NoteContent],\n fromMd: {\n tokenSpec: parserTokens[NoteNode.NoteContent],\n },\n }));\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import log from '@diplodoc/transform/lib/log';
|
|
2
|
-
import yfmTable from '@diplodoc/transform/lib/plugins/table';
|
|
1
|
+
import log from '@diplodoc/transform/lib/log.js';
|
|
2
|
+
import yfmTable from '@diplodoc/transform/lib/plugins/table/index.js';
|
|
3
3
|
import { YfmTableNode } from "./const.js";
|
|
4
4
|
import { parserTokens } from "./parser.js";
|
|
5
5
|
import { getSchemaSpecs } from "./schema.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/YfmTable/YfmTableSpecs/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../../../../src","sources":["extensions/yfm/YfmTable/YfmTableSpecs/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,QAAQ,MAAM,gDAAgD,CAAC;AAItE,OAAO,EAAC,YAAY,EAAC,mBAAgB;AACrC,OAAO,EAAC,YAAY,EAAC,oBAAiB;AACtC,OAAO,EAA6B,cAAc,EAAC,oBAAiB;AACpE,OAAO,EAAC,gBAAgB,EAAC,wBAAqB;AAE9C,OAAO,EAAC,YAAY,EAAC,mBAAgB;AACrC,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAC,mBAAgB;AAI1F,MAAM,CAAC,MAAM,aAAa,GAA+C,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;IAC1F,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAEhF,OAAO;SACF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;SAC5C,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC;QACrC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC;QAC1C,MAAM,EAAE,EAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,EAAC;KACxD,CAAC,CAAC;SACF,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC;QACzC,MAAM,EAAE,EAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC;KACvD,CAAC,CAAC;SACF,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC;QACnC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC;QACxC,MAAM,EAAE,EAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,EAAC;KACtD,CAAC,CAAC;SACF,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC;QACzC,MAAM,EAAE,EAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC;KACvD,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC","sourcesContent":["import log from '@diplodoc/transform/lib/log.js';\nimport yfmTable from '@diplodoc/transform/lib/plugins/table/index.js';\n\nimport type {ExtensionWithOptions} from '../../../../core';\n\nimport {YfmTableNode} from './const';\nimport {parserTokens} from './parser';\nimport {type YfmTableSchemaOptions, getSchemaSpecs} from './schema';\nimport {serializerTokens} from './serializer';\n\nexport {YfmTableNode} from './const';\nexport {yfmTableType, yfmTableBodyType, yfmTableRowType, yfmTableCellType} from './utils';\n\nexport type YfmTableSpecsOptions = YfmTableSchemaOptions & {};\n\nexport const YfmTableSpecs: ExtensionWithOptions<YfmTableSpecsOptions> = (builder, options) => {\n const schemaSpecs = getSchemaSpecs(options, builder.context.get('placeholder'));\n\n builder\n .configureMd((md) => md.use(yfmTable, {log}))\n .addNode(YfmTableNode.Table, () => ({\n spec: schemaSpecs[YfmTableNode.Table],\n toMd: serializerTokens[YfmTableNode.Table],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Table]},\n }))\n .addNode(YfmTableNode.Body, () => ({\n spec: schemaSpecs[YfmTableNode.Body],\n toMd: serializerTokens[YfmTableNode.Body],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Body]},\n }))\n .addNode(YfmTableNode.Row, () => ({\n spec: schemaSpecs[YfmTableNode.Row],\n toMd: serializerTokens[YfmTableNode.Row],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Row]},\n }))\n .addNode(YfmTableNode.Cell, () => ({\n spec: schemaSpecs[YfmTableNode.Cell],\n toMd: serializerTokens[YfmTableNode.Cell],\n fromMd: {tokenSpec: parserTokens[YfmTableNode.Cell]},\n }));\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generateID } from '@diplodoc/transform/lib/plugins/utils';
|
|
1
|
+
import { generateID } from '@diplodoc/transform/lib/plugins/utils.js';
|
|
2
2
|
import { pType } from "../../base/BaseSchema/index.js";
|
|
3
3
|
import { TabAttrs, TabPanelAttrs, TabsAttrs, tabActiveClassname, tabPanelActiveClassname, tabPanelType, tabType, tabsListType, tabsType, } from "./const.js";
|
|
4
4
|
export const createYfmTabsCommand = (state, dispatch) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"../../../../../src","sources":["extensions/yfm/YfmTabs/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"../../../../../src","sources":["extensions/yfm/YfmTabs/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,0CAA0C,CAAC;AAGpE,OAAO,EAAC,KAAK,EAAC,uCAA8B;AAE5C,OAAO,EACH,QAAQ,EACR,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,QAAQ,GACX,mBAAgB;AAEjB,MAAM,CAAC,MAAM,oBAAoB,GAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC7D,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC;QAEvB,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEjC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CACjD;YACI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,KAAK;YACrC,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,OAAO;YAC3B,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,uBAAuB;SACjD,EACD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CACtC,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YACxC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK;YACpB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB;YACpC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO;YAChC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM;YACvC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK;YAChC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK;SACpC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,EAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAC,EAAE;YACvE,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YAClC,WAAW;SACd,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,QAAQ,EAAE,oBAAoB;IAC9B,GAAG,EAAE,oBAAoB;CAC5B,CAAC","sourcesContent":["import {generateID} from '@diplodoc/transform/lib/plugins/utils.js';\nimport type {Command} from 'prosemirror-state';\n\nimport {pType} from '../../base/BaseSchema';\n\nimport {\n TabAttrs,\n TabPanelAttrs,\n TabsAttrs,\n tabActiveClassname,\n tabPanelActiveClassname,\n tabPanelType,\n tabType,\n tabsListType,\n tabsType,\n} from './const';\n\nexport const createYfmTabsCommand: Command = (state, dispatch) => {\n if (dispatch) {\n const {schema} = state;\n\n const tabId = generateID();\n const panelId = generateID();\n const yfmTabsList = tabsListType(schema);\n const yfmTabs = tabsType(schema);\n\n const yfmTabPanel = tabPanelType(state.schema).create(\n {\n [TabPanelAttrs.ariaLabelledby]: tabId,\n [TabPanelAttrs.id]: panelId,\n [TabPanelAttrs.class]: tabPanelActiveClassname,\n },\n pType(state.schema).createAndFill(),\n );\n const yfmTab = tabType(state.schema).create({\n [TabAttrs.id]: tabId,\n [TabAttrs.class]: tabActiveClassname,\n [TabAttrs.ariaControls]: panelId,\n [TabAttrs.dataDiplodocIsActive]: 'true',\n [TabAttrs.dataDiplodocid]: tabId,\n [TabAttrs.dataDiplodocKey]: tabId,\n });\n\n const tabs = yfmTabs.create({[TabsAttrs.dataDiplodocGroup]: generateID()}, [\n yfmTabsList.create(null, [yfmTab]),\n yfmTabPanel,\n ]);\n\n dispatch(state.tr.replaceSelectionWith(tabs).scrollIntoView());\n }\n\n return true;\n};\n\nexport const createYfmTabs = {\n isEnable: createYfmTabsCommand,\n run: createYfmTabsCommand,\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generateID } from '@diplodoc/transform/lib/plugins/utils';
|
|
1
|
+
import { generateID } from '@diplodoc/transform/lib/plugins/utils.js';
|
|
2
2
|
import { Plugin, TextSelection } from 'prosemirror-state';
|
|
3
3
|
import { findChildren, findDomRefAtPos, findParentNodeOfType, findParentNodeOfTypeClosestToPos,
|
|
4
4
|
// @ts-ignore // TODO: fix cjs build
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"../../../../../src","sources":["extensions/yfm/YfmTabs/plugins.ts"],"names":[],"mappings":"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","sourcesContent":["import {generateID} from '@diplodoc/transform/lib/plugins/utils';\nimport type {Node} from 'prosemirror-model';\nimport {type Command, Plugin, type PluginView, TextSelection} from 'prosemirror-state';\nimport {\n type NodeWithPos,\n findChildren,\n findDomRefAtPos,\n findParentNodeOfType,\n findParentNodeOfTypeClosestToPos,\n // @ts-ignore // TODO: fix cjs build\n} from 'prosemirror-utils';\nimport type {EditorView} from 'prosemirror-view';\n\nimport {\n createFakeParagraph,\n findFakeParaPosClosestToPos,\n findFakeParaPosForTextSelection,\n isGapCursorSelection,\n pType,\n} from '../../';\nimport {throttle} from '../../../lodash';\nimport {findChildIndex} from '../../../table-utils/helpers';\nimport {isSameNodeType} from '../../../utils';\nimport {get$Cursor, isTextSelection} from '../../../utils/selection';\n\nimport {TabAttrs, TabPanelAttrs} from './YfmTabsSpecs/const';\nimport {\n tabInactiveClassname,\n tabPanelActiveClassname,\n tabPanelInactiveClassname,\n tabPanelType,\n tabType,\n tabsListType,\n tabsType,\n} from './const';\nimport {atEndOfPanel, execAfterPaint, switchTabByElem, switchTabById} from './utils';\n\nexport const dragAutoSwitch = () =>\n new Plugin({\n view: TabsAutoSwitchOnDragOver.view,\n });\n\nclass TabsAutoSwitchOnDragOver implements PluginView {\n private static readonly TAB_SELECTOR = '.yfm-tab:not([data-diplodoc-is-active=true])';\n private static readonly OPEN_TIMEOUT = 500; //ms\n private static readonly THROTTLE_WAIT = 50; //ms\n\n static readonly view = (view: EditorView): PluginView => new this(view);\n\n private _tabElem: HTMLElement | null = null;\n private _editorView: EditorView;\n private _timeout: ReturnType<typeof setTimeout> | null = null;\n private readonly _docListener;\n\n constructor(view: EditorView) {\n this._editorView = view;\n this._docListener = throttle(\n this._onDocEvent.bind(this),\n TabsAutoSwitchOnDragOver.THROTTLE_WAIT,\n );\n document.addEventListener('mousemove', this._docListener);\n document.addEventListener('dragover', this._docListener);\n }\n\n destroy(): void {\n this._clear();\n this._docListener.cancel();\n document.removeEventListener('mousemove', this._docListener);\n document.removeEventListener('dragover', this._docListener);\n }\n\n private _onDocEvent(event: MouseEvent) {\n const view = this._editorView;\n if (!view.dragging) return;\n const pos = view.posAtCoords({left: event.clientX, top: event.clientY});\n if (pos) {\n const elem = findDomRefAtPos(pos.pos, view.domAtPos.bind(view)) as HTMLElement;\n const tabElem = elem.closest(TabsAutoSwitchOnDragOver.TAB_SELECTOR);\n if (tabElem === this._tabElem) return;\n this._clear();\n if (tabElem) this._setTabElem(tabElem as HTMLElement);\n }\n }\n\n private _clear() {\n if (this._timeout !== null) clearTimeout(this._timeout);\n this._timeout = null;\n this._tabElem = null;\n }\n\n private _setTabElem(elem: HTMLElement) {\n this._tabElem = elem;\n this._timeout = setTimeout(\n this._switchTab.bind(this),\n TabsAutoSwitchOnDragOver.OPEN_TIMEOUT,\n );\n }\n\n private _switchTab() {\n if (this._editorView.dragging && this._tabElem) {\n switchTabByElem(this._tabElem);\n }\n this._clear();\n }\n}\n\nexport const tabPanelArrowDown: Command = (state, dispatch, view) => {\n const {selection: sel} = state;\n const tabsParentNode = findParentNodeOfType(tabsType(state.schema))(state.selection);\n\n if (atEndOfPanel(view) && view?.endOfTextblock('down')) {\n const [direction, $cursor] = ['after', sel.$to] as const;\n let $pos;\n if (isTextSelection(sel)) {\n $pos =\n findFakeParaPosForTextSelection(sel, direction) ??\n findFakeParaPosClosestToPos($cursor, $cursor.depth - 2, direction);\n }\n if (isGapCursorSelection(sel) && tabsParentNode) {\n $pos = state.doc.resolve(tabsParentNode.pos + tabsParentNode.node.nodeSize);\n }\n if ($pos) {\n dispatch?.(createFakeParagraph(state.tr, $pos, direction).scrollIntoView());\n return true;\n }\n }\n\n return false;\n};\n\nexport const tabEnter: Command = (state) => {\n const $cursor = get$Cursor(state.selection);\n return $cursor?.node($cursor.depth).type === tabType(state.schema);\n};\n\nexport const liftEmptyBlockFromTabPanel: Command = (state, dispatch) => {\n const {selection, schema} = state;\n if (!isTextSelection(selection)) return false;\n\n const {$cursor} = selection;\n\n // cursor should be inside an empty textblock\n if (!$cursor || $cursor.parent.content.size) return false;\n\n if (\n $cursor.depth > 2 && // depth must be at least 3\n isSameNodeType($cursor.node(-1), tabPanelType(schema)) &&\n isSameNodeType($cursor.node(-2), tabsType(schema))\n ) {\n // current texblock is last child\n if ($cursor.after() === $cursor.end(-1)) {\n if (dispatch) {\n const copeidNode = $cursor.parent.copy();\n const tabsAfter = $cursor.after(-2);\n\n const {tr} = state;\n\n tr.insert(tabsAfter, copeidNode)\n .delete($cursor.before(), $cursor.after())\n .setSelection(TextSelection.create(tr.doc, tr.mapping.map(tabsAfter)));\n\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n }\n return false;\n};\n\nexport const createTab: (afterTab: NodeWithPos, tabsParentNode: NodeWithPos) => Command =\n (afterTab, tabsParentNode) => (state, dispatch, view) => {\n const tabNodes = findChildren(\n tabsParentNode.node,\n (node: Node) => node.type.name === tabType(state.schema).name,\n );\n\n const tabPanels = findChildren(tabsParentNode.node, (tabNode: Node) => {\n return tabNode.type.name === tabPanelType(state.schema).name;\n });\n\n const afterPanelNode = tabPanels.filter(\n (tabPanelNode: {node: Node}) =>\n tabPanelNode.node.attrs[TabPanelAttrs.ariaLabelledby] ===\n afterTab.node.attrs[TabAttrs.dataDiplodocid],\n )[0];\n\n const tabId = generateID();\n const panelId = generateID();\n\n const newPanel = tabPanelType(state.schema).create(\n {\n [TabPanelAttrs.ariaLabelledby]: tabId,\n [TabPanelAttrs.id]: panelId,\n [TabPanelAttrs.class]: tabPanelInactiveClassname,\n },\n pType(state.schema).createAndFill(),\n );\n const newTab = tabType(state.schema).create({\n [TabAttrs.id]: tabId,\n [TabAttrs.dataDiplodocid]: tabId,\n [TabAttrs.dataDiplodocKey]: tabId,\n [TabAttrs.dataDiplodocIsActive]: 'false',\n [TabAttrs.class]: tabInactiveClassname,\n [TabAttrs.role]: 'tab',\n [TabAttrs.ariaControls]: panelId,\n });\n\n const {tr} = state;\n\n // Change relative pos to absolute\n tabNodes.forEach((v: {pos: number}) => {\n v.pos = v.pos + tabsParentNode.pos + 1;\n });\n\n tabPanels.forEach((v: {pos: number}) => {\n v.pos = v.pos + tabsParentNode.pos + 1;\n });\n\n dispatch?.(\n tr\n .insert(afterPanelNode.pos + afterPanelNode.node.nodeSize, newPanel)\n .insert(afterTab.pos + afterTab.node.nodeSize, newTab)\n .setSelection(\n TextSelection.create(tr.doc, afterTab.pos + afterTab.node.nodeSize + 1),\n ),\n );\n\n view?.focus();\n\n if (view) {\n execAfterPaint(() => switchTabById(view.dom, tabId));\n }\n\n return true;\n };\n\nexport const removeTab: (tabToRemove: NodeWithPos, tabsParentNode: NodeWithPos) => Command =\n (tabToRemove, tabsParentNode) => (state, dispatch, view) => {\n const tabList = findChildren(tabsParentNode.node, (tabNode: Node) => {\n return tabNode.type.name === tabsListType(state.schema).name;\n })[0];\n const tabToRemoveIdx = findChildIndex(tabList.node, tabToRemove.node);\n\n const tabNodes = findChildren(\n tabList.node,\n (node: Node) => node.type.name === tabType(state.schema).name,\n );\n\n const tabPanels = findChildren(tabsParentNode.node, (tabNode: Node) => {\n return tabNode.type.name === tabPanelType(state.schema).name;\n });\n\n const panelToRemove = tabPanels.filter(\n (tabPanelNode: {node: Node}) =>\n tabPanelNode.node.attrs[TabPanelAttrs.ariaLabelledby] ===\n tabToRemove.node.attrs[TabAttrs.dataDiplodocid],\n )[0];\n\n if (panelToRemove && dispatch) {\n const {tr} = state;\n\n if (tabNodes.length <= 1) {\n tr.delete(tabsParentNode.pos, tabsParentNode.pos + tabsParentNode.node.nodeSize);\n } else {\n const newTabIdx = tabToRemoveIdx - 1 < 0 ? 1 : tabToRemoveIdx - 1;\n\n // Change relative pos to absolute\n tabNodes.forEach((v: {pos: number}) => {\n v.pos = v.pos + tabsParentNode.pos + 2;\n });\n\n tabPanels.forEach((v: {pos: number}) => {\n v.pos = v.pos + tabsParentNode.pos + 1;\n });\n\n const newTabNode = tabNodes[newTabIdx];\n const newActiveTabId: string = newTabNode.node.attrs[TabAttrs.dataDiplodocid];\n\n tr\n // Delete panel\n .delete(panelToRemove.pos, panelToRemove.pos + panelToRemove.node.nodeSize)\n // Delete tab\n .delete(tabToRemove.pos, tabToRemove.pos + tabToRemove.node.nodeSize)\n .setSelection(\n TextSelection.create(\n tr.doc,\n tr.mapping.map(newTabNode.pos + newTabNode.node.nodeSize - 1),\n ),\n );\n\n // Set new active tab\n if (view) execAfterPaint(() => switchTabById(view.dom, newActiveTabId));\n }\n dispatch(tr);\n view?.focus();\n\n return true;\n }\n\n return false;\n };\n\nexport const removeTabWhenCursorAtTheStartOfTab: Command = (state, dispatch) => {\n const tabToRemove = findParentNodeOfType(tabType(state.schema))(state.selection);\n const tabsParentNode = findParentNodeOfType(tabsType(state.schema))(state.selection);\n\n if (\n tabsParentNode &&\n tabToRemove &&\n state.selection.from === tabToRemove.pos + 1 &&\n state.selection.from === state.selection.to\n ) {\n return removeTab(tabToRemove, tabsParentNode)(state, dispatch);\n }\n\n return false;\n};\n\nexport const joinBackwardToOpenTab: Command = (state, dispatch) => {\n const $cursor = get$Cursor(state.selection);\n if (!$cursor || $cursor.parentOffset !== 0) return false;\n // --> cursor at start of textblock\n const textBlockIndex = $cursor.index($cursor.depth - 1);\n if (textBlockIndex <= 0) return false;\n const nodeBefore = $cursor.node($cursor.depth - 1).child(textBlockIndex - 1);\n\n if (nodeBefore.type !== tabsType(state.schema)) {\n return false;\n }\n\n const tabsParent = findParentNodeOfTypeClosestToPos(\n state.doc.resolve($cursor.pos - 2),\n tabsType(state.schema),\n );\n\n if (!tabsParent) {\n return false;\n }\n const activePanel = findChildren(\n tabsParent.node,\n (n: Node) => n.attrs.class === tabPanelActiveClassname,\n )[0];\n\n if (dispatch) {\n const posEndOfLastLayoutCell = activePanel.pos + tabsParent.pos + activePanel.node.nodeSize;\n const tr = state.tr;\n tr.delete($cursor.before(), $cursor.after());\n tr.insert(posEndOfLastLayoutCell, $cursor.parent);\n tr.setSelection(TextSelection.create(tr.doc, posEndOfLastLayoutCell + 1));\n dispatch(tr.scrollIntoView());\n }\n\n return true;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"../../../../../src","sources":["extensions/yfm/YfmTabs/plugins.ts"],"names":[],"mappings":"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","sourcesContent":["import {generateID} from '@diplodoc/transform/lib/plugins/utils.js';\nimport type {Node} from 'prosemirror-model';\nimport {type Command, Plugin, type PluginView, TextSelection} from 'prosemirror-state';\nimport {\n type NodeWithPos,\n findChildren,\n findDomRefAtPos,\n findParentNodeOfType,\n findParentNodeOfTypeClosestToPos,\n // @ts-ignore // TODO: fix cjs build\n} from 'prosemirror-utils';\nimport type {EditorView} from 'prosemirror-view';\n\nimport {\n createFakeParagraph,\n findFakeParaPosClosestToPos,\n findFakeParaPosForTextSelection,\n isGapCursorSelection,\n pType,\n} from '../../';\nimport {throttle} from '../../../lodash';\nimport {findChildIndex} from '../../../table-utils/helpers';\nimport {isSameNodeType} from '../../../utils';\nimport {get$Cursor, isTextSelection} from '../../../utils/selection';\n\nimport {TabAttrs, TabPanelAttrs} from './YfmTabsSpecs/const';\nimport {\n tabInactiveClassname,\n tabPanelActiveClassname,\n tabPanelInactiveClassname,\n tabPanelType,\n tabType,\n tabsListType,\n tabsType,\n} from './const';\nimport {atEndOfPanel, execAfterPaint, switchTabByElem, switchTabById} from './utils';\n\nexport const dragAutoSwitch = () =>\n new Plugin({\n view: TabsAutoSwitchOnDragOver.view,\n });\n\nclass TabsAutoSwitchOnDragOver implements PluginView {\n private static readonly TAB_SELECTOR = '.yfm-tab:not([data-diplodoc-is-active=true])';\n private static readonly OPEN_TIMEOUT = 500; //ms\n private static readonly THROTTLE_WAIT = 50; //ms\n\n static readonly view = (view: EditorView): PluginView => new this(view);\n\n private _tabElem: HTMLElement | null = null;\n private _editorView: EditorView;\n private _timeout: ReturnType<typeof setTimeout> | null = null;\n private readonly _docListener;\n\n constructor(view: EditorView) {\n this._editorView = view;\n this._docListener = throttle(\n this._onDocEvent.bind(this),\n TabsAutoSwitchOnDragOver.THROTTLE_WAIT,\n );\n document.addEventListener('mousemove', this._docListener);\n document.addEventListener('dragover', this._docListener);\n }\n\n destroy(): void {\n this._clear();\n this._docListener.cancel();\n document.removeEventListener('mousemove', this._docListener);\n document.removeEventListener('dragover', this._docListener);\n }\n\n private _onDocEvent(event: MouseEvent) {\n const view = this._editorView;\n if (!view.dragging) return;\n const pos = view.posAtCoords({left: event.clientX, top: event.clientY});\n if (pos) {\n const elem = findDomRefAtPos(pos.pos, view.domAtPos.bind(view)) as HTMLElement;\n const tabElem = elem.closest(TabsAutoSwitchOnDragOver.TAB_SELECTOR);\n if (tabElem === this._tabElem) return;\n this._clear();\n if (tabElem) this._setTabElem(tabElem as HTMLElement);\n }\n }\n\n private _clear() {\n if (this._timeout !== null) clearTimeout(this._timeout);\n this._timeout = null;\n this._tabElem = null;\n }\n\n private _setTabElem(elem: HTMLElement) {\n this._tabElem = elem;\n this._timeout = setTimeout(\n this._switchTab.bind(this),\n TabsAutoSwitchOnDragOver.OPEN_TIMEOUT,\n );\n }\n\n private _switchTab() {\n if (this._editorView.dragging && this._tabElem) {\n switchTabByElem(this._tabElem);\n }\n this._clear();\n }\n}\n\nexport const tabPanelArrowDown: Command = (state, dispatch, view) => {\n const {selection: sel} = state;\n const tabsParentNode = findParentNodeOfType(tabsType(state.schema))(state.selection);\n\n if (atEndOfPanel(view) && view?.endOfTextblock('down')) {\n const [direction, $cursor] = ['after', sel.$to] as const;\n let $pos;\n if (isTextSelection(sel)) {\n $pos =\n findFakeParaPosForTextSelection(sel, direction) ??\n findFakeParaPosClosestToPos($cursor, $cursor.depth - 2, direction);\n }\n if (isGapCursorSelection(sel) && tabsParentNode) {\n $pos = state.doc.resolve(tabsParentNode.pos + tabsParentNode.node.nodeSize);\n }\n if ($pos) {\n dispatch?.(createFakeParagraph(state.tr, $pos, direction).scrollIntoView());\n return true;\n }\n }\n\n return false;\n};\n\nexport const tabEnter: Command = (state) => {\n const $cursor = get$Cursor(state.selection);\n return $cursor?.node($cursor.depth).type === tabType(state.schema);\n};\n\nexport const liftEmptyBlockFromTabPanel: Command = (state, dispatch) => {\n const {selection, schema} = state;\n if (!isTextSelection(selection)) return false;\n\n const {$cursor} = selection;\n\n // cursor should be inside an empty textblock\n if (!$cursor || $cursor.parent.content.size) return false;\n\n if (\n $cursor.depth > 2 && // depth must be at least 3\n isSameNodeType($cursor.node(-1), tabPanelType(schema)) &&\n isSameNodeType($cursor.node(-2), tabsType(schema))\n ) {\n // current texblock is last child\n if ($cursor.after() === $cursor.end(-1)) {\n if (dispatch) {\n const copeidNode = $cursor.parent.copy();\n const tabsAfter = $cursor.after(-2);\n\n const {tr} = state;\n\n tr.insert(tabsAfter, copeidNode)\n .delete($cursor.before(), $cursor.after())\n .setSelection(TextSelection.create(tr.doc, tr.mapping.map(tabsAfter)));\n\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n }\n return false;\n};\n\nexport const createTab: (afterTab: NodeWithPos, tabsParentNode: NodeWithPos) => Command =\n (afterTab, tabsParentNode) => (state, dispatch, view) => {\n const tabNodes = findChildren(\n tabsParentNode.node,\n (node: Node) => node.type.name === tabType(state.schema).name,\n );\n\n const tabPanels = findChildren(tabsParentNode.node, (tabNode: Node) => {\n return tabNode.type.name === tabPanelType(state.schema).name;\n });\n\n const afterPanelNode = tabPanels.filter(\n (tabPanelNode: {node: Node}) =>\n tabPanelNode.node.attrs[TabPanelAttrs.ariaLabelledby] ===\n afterTab.node.attrs[TabAttrs.dataDiplodocid],\n )[0];\n\n const tabId = generateID();\n const panelId = generateID();\n\n const newPanel = tabPanelType(state.schema).create(\n {\n [TabPanelAttrs.ariaLabelledby]: tabId,\n [TabPanelAttrs.id]: panelId,\n [TabPanelAttrs.class]: tabPanelInactiveClassname,\n },\n pType(state.schema).createAndFill(),\n );\n const newTab = tabType(state.schema).create({\n [TabAttrs.id]: tabId,\n [TabAttrs.dataDiplodocid]: tabId,\n [TabAttrs.dataDiplodocKey]: tabId,\n [TabAttrs.dataDiplodocIsActive]: 'false',\n [TabAttrs.class]: tabInactiveClassname,\n [TabAttrs.role]: 'tab',\n [TabAttrs.ariaControls]: panelId,\n });\n\n const {tr} = state;\n\n // Change relative pos to absolute\n tabNodes.forEach((v: {pos: number}) => {\n v.pos = v.pos + tabsParentNode.pos + 1;\n });\n\n tabPanels.forEach((v: {pos: number}) => {\n v.pos = v.pos + tabsParentNode.pos + 1;\n });\n\n dispatch?.(\n tr\n .insert(afterPanelNode.pos + afterPanelNode.node.nodeSize, newPanel)\n .insert(afterTab.pos + afterTab.node.nodeSize, newTab)\n .setSelection(\n TextSelection.create(tr.doc, afterTab.pos + afterTab.node.nodeSize + 1),\n ),\n );\n\n view?.focus();\n\n if (view) {\n execAfterPaint(() => switchTabById(view.dom, tabId));\n }\n\n return true;\n };\n\nexport const removeTab: (tabToRemove: NodeWithPos, tabsParentNode: NodeWithPos) => Command =\n (tabToRemove, tabsParentNode) => (state, dispatch, view) => {\n const tabList = findChildren(tabsParentNode.node, (tabNode: Node) => {\n return tabNode.type.name === tabsListType(state.schema).name;\n })[0];\n const tabToRemoveIdx = findChildIndex(tabList.node, tabToRemove.node);\n\n const tabNodes = findChildren(\n tabList.node,\n (node: Node) => node.type.name === tabType(state.schema).name,\n );\n\n const tabPanels = findChildren(tabsParentNode.node, (tabNode: Node) => {\n return tabNode.type.name === tabPanelType(state.schema).name;\n });\n\n const panelToRemove = tabPanels.filter(\n (tabPanelNode: {node: Node}) =>\n tabPanelNode.node.attrs[TabPanelAttrs.ariaLabelledby] ===\n tabToRemove.node.attrs[TabAttrs.dataDiplodocid],\n )[0];\n\n if (panelToRemove && dispatch) {\n const {tr} = state;\n\n if (tabNodes.length <= 1) {\n tr.delete(tabsParentNode.pos, tabsParentNode.pos + tabsParentNode.node.nodeSize);\n } else {\n const newTabIdx = tabToRemoveIdx - 1 < 0 ? 1 : tabToRemoveIdx - 1;\n\n // Change relative pos to absolute\n tabNodes.forEach((v: {pos: number}) => {\n v.pos = v.pos + tabsParentNode.pos + 2;\n });\n\n tabPanels.forEach((v: {pos: number}) => {\n v.pos = v.pos + tabsParentNode.pos + 1;\n });\n\n const newTabNode = tabNodes[newTabIdx];\n const newActiveTabId: string = newTabNode.node.attrs[TabAttrs.dataDiplodocid];\n\n tr\n // Delete panel\n .delete(panelToRemove.pos, panelToRemove.pos + panelToRemove.node.nodeSize)\n // Delete tab\n .delete(tabToRemove.pos, tabToRemove.pos + tabToRemove.node.nodeSize)\n .setSelection(\n TextSelection.create(\n tr.doc,\n tr.mapping.map(newTabNode.pos + newTabNode.node.nodeSize - 1),\n ),\n );\n\n // Set new active tab\n if (view) execAfterPaint(() => switchTabById(view.dom, newActiveTabId));\n }\n dispatch(tr);\n view?.focus();\n\n return true;\n }\n\n return false;\n };\n\nexport const removeTabWhenCursorAtTheStartOfTab: Command = (state, dispatch) => {\n const tabToRemove = findParentNodeOfType(tabType(state.schema))(state.selection);\n const tabsParentNode = findParentNodeOfType(tabsType(state.schema))(state.selection);\n\n if (\n tabsParentNode &&\n tabToRemove &&\n state.selection.from === tabToRemove.pos + 1 &&\n state.selection.from === state.selection.to\n ) {\n return removeTab(tabToRemove, tabsParentNode)(state, dispatch);\n }\n\n return false;\n};\n\nexport const joinBackwardToOpenTab: Command = (state, dispatch) => {\n const $cursor = get$Cursor(state.selection);\n if (!$cursor || $cursor.parentOffset !== 0) return false;\n // --> cursor at start of textblock\n const textBlockIndex = $cursor.index($cursor.depth - 1);\n if (textBlockIndex <= 0) return false;\n const nodeBefore = $cursor.node($cursor.depth - 1).child(textBlockIndex - 1);\n\n if (nodeBefore.type !== tabsType(state.schema)) {\n return false;\n }\n\n const tabsParent = findParentNodeOfTypeClosestToPos(\n state.doc.resolve($cursor.pos - 2),\n tabsType(state.schema),\n );\n\n if (!tabsParent) {\n return false;\n }\n const activePanel = findChildren(\n tabsParent.node,\n (n: Node) => n.attrs.class === tabPanelActiveClassname,\n )[0];\n\n if (dispatch) {\n const posEndOfLastLayoutCell = activePanel.pos + tabsParent.pos + activePanel.node.nodeSize;\n const tr = state.tr;\n tr.delete($cursor.before(), $cursor.after());\n tr.insert(posEndOfLastLayoutCell, $cursor.parent);\n tr.setSelection(TextSelection.create(tr.doc, posEndOfLastLayoutCell + 1));\n dispatch(tr.scrollIntoView());\n }\n\n return true;\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import emoji from 'markdown-it-emoji';
|
|
2
|
-
import bare from 'markdown-it-emoji/bare';
|
|
3
|
-
import light from 'markdown-it-emoji/light';
|
|
2
|
+
import bare from 'markdown-it-emoji/bare.js';
|
|
3
|
+
import light from 'markdown-it-emoji/light.js';
|
|
4
4
|
export default emoji;
|
|
5
5
|
export { bare, light };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import emoji from 'markdown-it-emoji';
|
|
2
|
-
import bare from 'markdown-it-emoji/bare';
|
|
3
|
-
import light from 'markdown-it-emoji/light';
|
|
2
|
+
import bare from 'markdown-it-emoji/bare.js';
|
|
3
|
+
import light from 'markdown-it-emoji/light.js';
|
|
4
4
|
export default emoji;
|
|
5
5
|
export { bare, light };
|
|
6
6
|
//# sourceMappingURL=emoji.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emoji.js","sourceRoot":"../../../src","sources":["markdown-it/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"emoji.js","sourceRoot":"../../../src","sources":["markdown-it/emoji.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,IAAI,MAAM,2BAA2B,CAAC;AAC7C,OAAO,KAAK,MAAM,4BAA4B,CAAC;AAE/C,eAAe,KAAK,CAAC;AAErB,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC","sourcesContent":["import emoji from 'markdown-it-emoji';\nimport bare from 'markdown-it-emoji/bare.js';\nimport light from 'markdown-it-emoji/light.js';\n\nexport default emoji;\n\nexport {bare, light};\n"]}
|
package/build/esm/version.js
CHANGED
package/build/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"../../src","sources":["version.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC","sourcesContent":["/** During build process, the current version will be injected here */\nexport const VERSION = typeof '15.2.
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"../../src","sources":["version.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC","sourcesContent":["/** During build process, the current version will be injected here */\nexport const VERSION = typeof '15.2.1' !== 'undefined' ? '15.2.1' : 'unknown';\n"]}
|