@mark-sorcery/vue 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +141 -7
- package/dist/Blockquote-BeOfUsk-.js +41 -0
- package/dist/Blockquote-BeOfUsk-.js.map +1 -0
- package/dist/Blockquote-RI8XvPhG.cjs +41 -0
- package/dist/Blockquote-RI8XvPhG.cjs.map +1 -0
- package/dist/Bold-Bi1du8CJ.js +41 -0
- package/dist/Bold-Bi1du8CJ.js.map +1 -0
- package/dist/Bold-DWA5fzKp.cjs +41 -0
- package/dist/Bold-DWA5fzKp.cjs.map +1 -0
- package/dist/Code-DPKXUmPC.js +41 -0
- package/dist/Code-DPKXUmPC.js.map +1 -0
- package/dist/Code-DmkITyUd.cjs +41 -0
- package/dist/Code-DmkITyUd.cjs.map +1 -0
- package/dist/CodeBlock-CawFy9YT.cjs +45 -0
- package/dist/CodeBlock-CawFy9YT.cjs.map +1 -0
- package/dist/CodeBlock-Duwcxp3X.js +45 -0
- package/dist/CodeBlock-Duwcxp3X.js.map +1 -0
- package/dist/Heading-CPB6VryI.js +51 -0
- package/dist/Heading-CPB6VryI.js.map +1 -0
- package/dist/Heading-CQmmqddk.cjs +51 -0
- package/dist/Heading-CQmmqddk.cjs.map +1 -0
- package/dist/Italic-DLGLEgQL.cjs +41 -0
- package/dist/Italic-DLGLEgQL.cjs.map +1 -0
- package/dist/Italic-DmavDuWx.js +41 -0
- package/dist/Italic-DmavDuWx.js.map +1 -0
- package/dist/Link-9wbnSrks.cjs +41 -0
- package/dist/Link-9wbnSrks.cjs.map +1 -0
- package/dist/Link-B2nQX8af.js +41 -0
- package/dist/Link-B2nQX8af.js.map +1 -0
- package/dist/ListItem-L32ueBOJ.cjs +41 -0
- package/dist/ListItem-L32ueBOJ.cjs.map +1 -0
- package/dist/ListItem-tCoCmS98.js +41 -0
- package/dist/ListItem-tCoCmS98.js.map +1 -0
- package/dist/NodeList-CXCRf4Sf.cjs +146 -0
- package/dist/NodeList-CXCRf4Sf.cjs.map +1 -0
- package/dist/NodeList-DliNdSdR.js +123 -0
- package/dist/NodeList-DliNdSdR.js.map +1 -0
- package/dist/OrderedList-BiBUuBtQ.js +41 -0
- package/dist/OrderedList-BiBUuBtQ.js.map +1 -0
- package/dist/OrderedList-Otuk3FD-.cjs +41 -0
- package/dist/OrderedList-Otuk3FD-.cjs.map +1 -0
- package/dist/Paragraph-Cn0qq6eD.cjs +41 -0
- package/dist/Paragraph-Cn0qq6eD.cjs.map +1 -0
- package/dist/Paragraph-D8vRiJdV.js +41 -0
- package/dist/Paragraph-D8vRiJdV.js.map +1 -0
- package/dist/Strikethrough-BhFf4qRs.js +41 -0
- package/dist/Strikethrough-BhFf4qRs.js.map +1 -0
- package/dist/Strikethrough-D6HU-DLr.cjs +41 -0
- package/dist/Strikethrough-D6HU-DLr.cjs.map +1 -0
- package/dist/Table-Da8GL8er.cjs +41 -0
- package/dist/Table-Da8GL8er.cjs.map +1 -0
- package/dist/Table-DxMMIS1J.js +41 -0
- package/dist/Table-DxMMIS1J.js.map +1 -0
- package/dist/TableBody-D6I9wlwE.cjs +41 -0
- package/dist/TableBody-D6I9wlwE.cjs.map +1 -0
- package/dist/TableBody-DWmHYRny.js +41 -0
- package/dist/TableBody-DWmHYRny.js.map +1 -0
- package/dist/TableData-8V3hQ4i0.cjs +41 -0
- package/dist/TableData-8V3hQ4i0.cjs.map +1 -0
- package/dist/TableData-CXjn9U8M.js +41 -0
- package/dist/TableData-CXjn9U8M.js.map +1 -0
- package/dist/TableHead-DSWO60r-.cjs +41 -0
- package/dist/TableHead-DSWO60r-.cjs.map +1 -0
- package/dist/TableHead-RMl2XF2I.js +41 -0
- package/dist/TableHead-RMl2XF2I.js.map +1 -0
- package/dist/TableHeader-CO5WWCf6.js +41 -0
- package/dist/TableHeader-CO5WWCf6.js.map +1 -0
- package/dist/TableHeader-D4nI4o6p.cjs +41 -0
- package/dist/TableHeader-D4nI4o6p.cjs.map +1 -0
- package/dist/TableRow-CFEKUaRS.js +41 -0
- package/dist/TableRow-CFEKUaRS.js.map +1 -0
- package/dist/TableRow-Cso50UW2.cjs +41 -0
- package/dist/TableRow-Cso50UW2.cjs.map +1 -0
- package/dist/TaskListInput-BlFjVLdG.cjs +33 -0
- package/dist/TaskListInput-BlFjVLdG.cjs.map +1 -0
- package/dist/TaskListInput-DiQhjFqy.js +33 -0
- package/dist/TaskListInput-DiQhjFqy.js.map +1 -0
- package/dist/UnorderedList-BCqaq94d.js +41 -0
- package/dist/UnorderedList-BCqaq94d.js.map +1 -0
- package/dist/UnorderedList-C_w27MXB.cjs +41 -0
- package/dist/UnorderedList-C_w27MXB.cjs.map +1 -0
- package/dist/index.cjs +57 -65
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +97 -45
- package/dist/index.d.ts +97 -45
- package/dist/index.js +51 -67
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const require_NodeList = require('./NodeList-CXCRf4Sf.cjs');
|
|
2
|
+
let vue = require("vue");
|
|
3
|
+
|
|
4
|
+
//#region src/components/elements/Heading.vue
|
|
5
|
+
const _sfc_main = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
6
|
+
inheritAttrs: false,
|
|
7
|
+
__name: "Heading",
|
|
8
|
+
props: {
|
|
9
|
+
nodeIdx: {},
|
|
10
|
+
deep: {},
|
|
11
|
+
nodeKey: {},
|
|
12
|
+
parentNode: {},
|
|
13
|
+
element: {}
|
|
14
|
+
},
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const { components, transition } = require_NodeList.useMarkdown();
|
|
17
|
+
const headingLevel = (0, vue.computed)(() => {
|
|
18
|
+
const level = parseInt(__props.element.tagName.slice(1));
|
|
19
|
+
return isNaN(level) ? 1 : level;
|
|
20
|
+
});
|
|
21
|
+
return (_ctx, _cache) => {
|
|
22
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(__props.element.tagName), (0, vue.mergeProps)({
|
|
23
|
+
"data-mark-sorcery": "heading",
|
|
24
|
+
"data-heading-level": headingLevel.value
|
|
25
|
+
}, __props.element.properties), {
|
|
26
|
+
default: (0, vue.withCtx)(() => [(0, vue.createVNode)(require_NodeList._sfc_main, {
|
|
27
|
+
nodes: __props.element.children,
|
|
28
|
+
nodeIdx: __props.nodeIdx,
|
|
29
|
+
deep: __props.deep,
|
|
30
|
+
nodeKey: __props.nodeKey,
|
|
31
|
+
parentNode: __props.element,
|
|
32
|
+
components: (0, vue.unref)(components),
|
|
33
|
+
transition: (0, vue.unref)(transition)
|
|
34
|
+
}, null, 8, [
|
|
35
|
+
"nodes",
|
|
36
|
+
"nodeIdx",
|
|
37
|
+
"deep",
|
|
38
|
+
"nodeKey",
|
|
39
|
+
"parentNode",
|
|
40
|
+
"components",
|
|
41
|
+
"transition"
|
|
42
|
+
])]),
|
|
43
|
+
_: 1
|
|
44
|
+
}, 16, ["data-heading-level"]);
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
exports.default = _sfc_main;
|
|
51
|
+
//# sourceMappingURL=Heading-CQmmqddk.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Heading-CQmmqddk.cjs","names":[],"sources":["../src/components/elements/Heading.vue","../src/components/elements/Heading.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed } from \"vue\";\r\n\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n\r\nconst headingLevel = computed(() => {\r\n const level = parseInt(element.tagName.slice(1));\r\n return isNaN(level) ? 1 : level;\r\n});\r\n</script>\r\n\r\n<template>\r\n <component\r\n :is=\"element.tagName\"\r\n data-mark-sorcery=\"heading\"\r\n :data-heading-level=\"headingLevel\"\r\n v-bind=\"element.properties\"\r\n >\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </component>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport { computed } from \"vue\";\r\n\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n\r\nconst headingLevel = computed(() => {\r\n const level = parseInt(element.tagName.slice(1));\r\n return isNaN(level) ? 1 : level;\r\n});\r\n</script>\r\n\r\n<template>\r\n <component\r\n :is=\"element.tagName\"\r\n data-mark-sorcery=\"heading\"\r\n :data-heading-level=\"headingLevel\"\r\n v-bind=\"element.properties\"\r\n >\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </component>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAaA,MAAM,EAAE,YAAY,eAAe,8BAAa;EAEhD,MAAM,uCAA8B;GAClC,MAAM,QAAQ,SAAS,QAAA,QAAQ,QAAQ,MAAM,EAAE,CAAC;AAChD,UAAO,MAAM,MAAM,GAAG,IAAI;IAC1B;;sFCKO,QAAA,QAAQ,QAAO,sBAcV;IAbV,qBAAkB;IACjB,sBAAoB,aAAA;MACb,QAAA,QAAQ,WAAU,EAAA;oCAUxB,sBAAA,4BAAA;KAPC,OAAO,QAAA,QAAQ;KACf,SAAS,QAAA;KACT,MAAM,QAAA;KACN,SAAS,QAAA;KACT,YAAY,QAAA;KACZ,2BAAY,WAAU;KACtB,2BAAY,WAAU"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const require_NodeList = require('./NodeList-CXCRf4Sf.cjs');
|
|
2
|
+
let vue = require("vue");
|
|
3
|
+
|
|
4
|
+
//#region src/components/elements/Italic.vue
|
|
5
|
+
const _sfc_main = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
6
|
+
inheritAttrs: false,
|
|
7
|
+
__name: "Italic",
|
|
8
|
+
props: {
|
|
9
|
+
nodeIdx: {},
|
|
10
|
+
deep: {},
|
|
11
|
+
nodeKey: {},
|
|
12
|
+
parentNode: {},
|
|
13
|
+
element: {}
|
|
14
|
+
},
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const { components, transition } = require_NodeList.useMarkdown();
|
|
17
|
+
return (_ctx, _cache) => {
|
|
18
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("em", (0, vue.mergeProps)({ "data-mark-sorcery": "italic" }, __props.element.properties), [(0, vue.createVNode)(require_NodeList._sfc_main, {
|
|
19
|
+
nodes: __props.element.children,
|
|
20
|
+
nodeIdx: __props.nodeIdx,
|
|
21
|
+
deep: __props.deep,
|
|
22
|
+
nodeKey: __props.nodeKey,
|
|
23
|
+
parentNode: __props.element,
|
|
24
|
+
components: (0, vue.unref)(components),
|
|
25
|
+
transition: (0, vue.unref)(transition)
|
|
26
|
+
}, null, 8, [
|
|
27
|
+
"nodes",
|
|
28
|
+
"nodeIdx",
|
|
29
|
+
"deep",
|
|
30
|
+
"nodeKey",
|
|
31
|
+
"parentNode",
|
|
32
|
+
"components",
|
|
33
|
+
"transition"
|
|
34
|
+
])], 16);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
exports.default = _sfc_main;
|
|
41
|
+
//# sourceMappingURL=Italic-DLGLEgQL.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Italic-DLGLEgQL.cjs","names":[],"sources":["../src/components/elements/Italic.vue","../src/components/elements/Italic.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <em data-mark-sorcery=\"italic\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </em>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <em data-mark-sorcery=\"italic\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </em>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,8BAAa;;4DCczC,0BAAA,EAVD,qBAAkB,UAAQ,EAAS,QAAA,QAAQ,WAAU,EAAA,sBASrD,4BAAA;IAPC,OAAO,QAAA,QAAQ;IACf,SAAS,QAAA;IACT,MAAM,QAAA;IACN,SAAS,QAAA;IACT,YAAY,QAAA;IACZ,2BAAY,WAAU;IACtB,2BAAY,WAAU"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { n as useMarkdown, t as _sfc_main$1 } from "./NodeList-DliNdSdR.js";
|
|
2
|
+
import { createElementBlock, createVNode, defineComponent, mergeProps, openBlock, unref } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/elements/Italic.vue
|
|
5
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
|
+
inheritAttrs: false,
|
|
7
|
+
__name: "Italic",
|
|
8
|
+
props: {
|
|
9
|
+
nodeIdx: {},
|
|
10
|
+
deep: {},
|
|
11
|
+
nodeKey: {},
|
|
12
|
+
parentNode: {},
|
|
13
|
+
element: {}
|
|
14
|
+
},
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const { components, transition } = useMarkdown();
|
|
17
|
+
return (_ctx, _cache) => {
|
|
18
|
+
return openBlock(), createElementBlock("em", mergeProps({ "data-mark-sorcery": "italic" }, __props.element.properties), [createVNode(_sfc_main$1, {
|
|
19
|
+
nodes: __props.element.children,
|
|
20
|
+
nodeIdx: __props.nodeIdx,
|
|
21
|
+
deep: __props.deep,
|
|
22
|
+
nodeKey: __props.nodeKey,
|
|
23
|
+
parentNode: __props.element,
|
|
24
|
+
components: unref(components),
|
|
25
|
+
transition: unref(transition)
|
|
26
|
+
}, null, 8, [
|
|
27
|
+
"nodes",
|
|
28
|
+
"nodeIdx",
|
|
29
|
+
"deep",
|
|
30
|
+
"nodeKey",
|
|
31
|
+
"parentNode",
|
|
32
|
+
"components",
|
|
33
|
+
"transition"
|
|
34
|
+
])], 16);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { _sfc_main as default };
|
|
41
|
+
//# sourceMappingURL=Italic-DmavDuWx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Italic-DmavDuWx.js","names":[],"sources":["../src/components/elements/Italic.vue","../src/components/elements/Italic.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <em data-mark-sorcery=\"italic\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </em>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <em data-mark-sorcery=\"italic\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </em>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,aAAa;;uBCI9C,mBAUK,MAVL,WAUK,EAVD,qBAAkB,UAAQ,EAAS,QAAA,QAAQ,WAAU,EAAA,CACvD,YAQE,aAAA;IAPC,OAAO,QAAA,QAAQ;IACf,SAAS,QAAA;IACT,MAAM,QAAA;IACN,SAAS,QAAA;IACT,YAAY,QAAA;IACZ,YAAY,MAAA,WAAU;IACtB,YAAY,MAAA,WAAU"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const require_NodeList = require('./NodeList-CXCRf4Sf.cjs');
|
|
2
|
+
let vue = require("vue");
|
|
3
|
+
|
|
4
|
+
//#region src/components/elements/Link.vue
|
|
5
|
+
const _sfc_main = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
6
|
+
inheritAttrs: false,
|
|
7
|
+
__name: "Link",
|
|
8
|
+
props: {
|
|
9
|
+
nodeIdx: {},
|
|
10
|
+
deep: {},
|
|
11
|
+
nodeKey: {},
|
|
12
|
+
parentNode: {},
|
|
13
|
+
element: {}
|
|
14
|
+
},
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const { components, transition } = require_NodeList.useMarkdown();
|
|
17
|
+
return (_ctx, _cache) => {
|
|
18
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("a", (0, vue.mergeProps)({ "data-mark-sorcery": "link" }, __props.element.properties), [(0, vue.createVNode)(require_NodeList._sfc_main, {
|
|
19
|
+
nodes: __props.element.children,
|
|
20
|
+
nodeIdx: __props.nodeIdx,
|
|
21
|
+
deep: __props.deep,
|
|
22
|
+
nodeKey: __props.nodeKey,
|
|
23
|
+
parentNode: __props.element,
|
|
24
|
+
components: (0, vue.unref)(components),
|
|
25
|
+
transition: (0, vue.unref)(transition)
|
|
26
|
+
}, null, 8, [
|
|
27
|
+
"nodes",
|
|
28
|
+
"nodeIdx",
|
|
29
|
+
"deep",
|
|
30
|
+
"nodeKey",
|
|
31
|
+
"parentNode",
|
|
32
|
+
"components",
|
|
33
|
+
"transition"
|
|
34
|
+
])], 16);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
exports.default = _sfc_main;
|
|
41
|
+
//# sourceMappingURL=Link-9wbnSrks.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Link-9wbnSrks.cjs","names":[],"sources":["../src/components/elements/Link.vue","../src/components/elements/Link.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <a data-mark-sorcery=\"link\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </a>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <a data-mark-sorcery=\"link\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </a>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,8BAAa;;4DCc1C,yBAAA,EAVD,qBAAkB,QAAM,EAAS,QAAA,QAAQ,WAAU,EAAA,sBASlD,4BAAA;IAPC,OAAO,QAAA,QAAQ;IACf,SAAS,QAAA;IACT,MAAM,QAAA;IACN,SAAS,QAAA;IACT,YAAY,QAAA;IACZ,2BAAY,WAAU;IACtB,2BAAY,WAAU"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { n as useMarkdown, t as _sfc_main$1 } from "./NodeList-DliNdSdR.js";
|
|
2
|
+
import { createElementBlock, createVNode, defineComponent, mergeProps, openBlock, unref } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/elements/Link.vue
|
|
5
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
|
+
inheritAttrs: false,
|
|
7
|
+
__name: "Link",
|
|
8
|
+
props: {
|
|
9
|
+
nodeIdx: {},
|
|
10
|
+
deep: {},
|
|
11
|
+
nodeKey: {},
|
|
12
|
+
parentNode: {},
|
|
13
|
+
element: {}
|
|
14
|
+
},
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const { components, transition } = useMarkdown();
|
|
17
|
+
return (_ctx, _cache) => {
|
|
18
|
+
return openBlock(), createElementBlock("a", mergeProps({ "data-mark-sorcery": "link" }, __props.element.properties), [createVNode(_sfc_main$1, {
|
|
19
|
+
nodes: __props.element.children,
|
|
20
|
+
nodeIdx: __props.nodeIdx,
|
|
21
|
+
deep: __props.deep,
|
|
22
|
+
nodeKey: __props.nodeKey,
|
|
23
|
+
parentNode: __props.element,
|
|
24
|
+
components: unref(components),
|
|
25
|
+
transition: unref(transition)
|
|
26
|
+
}, null, 8, [
|
|
27
|
+
"nodes",
|
|
28
|
+
"nodeIdx",
|
|
29
|
+
"deep",
|
|
30
|
+
"nodeKey",
|
|
31
|
+
"parentNode",
|
|
32
|
+
"components",
|
|
33
|
+
"transition"
|
|
34
|
+
])], 16);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { _sfc_main as default };
|
|
41
|
+
//# sourceMappingURL=Link-B2nQX8af.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Link-B2nQX8af.js","names":[],"sources":["../src/components/elements/Link.vue","../src/components/elements/Link.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <a data-mark-sorcery=\"link\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </a>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <a data-mark-sorcery=\"link\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </a>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,aAAa;;uBCI9C,mBAUI,KAVJ,WAUI,EAVD,qBAAkB,QAAM,EAAS,QAAA,QAAQ,WAAU,EAAA,CACpD,YAQE,aAAA;IAPC,OAAO,QAAA,QAAQ;IACf,SAAS,QAAA;IACT,MAAM,QAAA;IACN,SAAS,QAAA;IACT,YAAY,QAAA;IACZ,YAAY,MAAA,WAAU;IACtB,YAAY,MAAA,WAAU"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const require_NodeList = require('./NodeList-CXCRf4Sf.cjs');
|
|
2
|
+
let vue = require("vue");
|
|
3
|
+
|
|
4
|
+
//#region src/components/elements/ListItem.vue
|
|
5
|
+
const _sfc_main = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
6
|
+
inheritAttrs: false,
|
|
7
|
+
__name: "ListItem",
|
|
8
|
+
props: {
|
|
9
|
+
nodeIdx: {},
|
|
10
|
+
deep: {},
|
|
11
|
+
nodeKey: {},
|
|
12
|
+
parentNode: {},
|
|
13
|
+
element: {}
|
|
14
|
+
},
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const { components, transition } = require_NodeList.useMarkdown();
|
|
17
|
+
return (_ctx, _cache) => {
|
|
18
|
+
return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", (0, vue.mergeProps)({ "data-mark": "list-item" }, __props.element.properties), [(0, vue.createVNode)(require_NodeList._sfc_main, {
|
|
19
|
+
nodes: __props.element.children,
|
|
20
|
+
nodeIdx: __props.nodeIdx,
|
|
21
|
+
deep: __props.deep,
|
|
22
|
+
nodeKey: __props.nodeKey,
|
|
23
|
+
parentNode: __props.element,
|
|
24
|
+
components: (0, vue.unref)(components),
|
|
25
|
+
transition: (0, vue.unref)(transition)
|
|
26
|
+
}, null, 8, [
|
|
27
|
+
"nodes",
|
|
28
|
+
"nodeIdx",
|
|
29
|
+
"deep",
|
|
30
|
+
"nodeKey",
|
|
31
|
+
"parentNode",
|
|
32
|
+
"components",
|
|
33
|
+
"transition"
|
|
34
|
+
])], 16);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
exports.default = _sfc_main;
|
|
41
|
+
//# sourceMappingURL=ListItem-L32ueBOJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListItem-L32ueBOJ.cjs","names":[],"sources":["../src/components/elements/ListItem.vue","../src/components/elements/ListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <li data-mark=\"list-item\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </li>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <li data-mark=\"list-item\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </li>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,8BAAa;;4DCczC,0BAAA,EAVD,aAAU,aAAW,EAAS,QAAA,QAAQ,WAAU,EAAA,sBAShD,4BAAA;IAPC,OAAO,QAAA,QAAQ;IACf,SAAS,QAAA;IACT,MAAM,QAAA;IACN,SAAS,QAAA;IACT,YAAY,QAAA;IACZ,2BAAY,WAAU;IACtB,2BAAY,WAAU"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { n as useMarkdown, t as _sfc_main$1 } from "./NodeList-DliNdSdR.js";
|
|
2
|
+
import { createElementBlock, createVNode, defineComponent, mergeProps, openBlock, unref } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/elements/ListItem.vue
|
|
5
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
|
+
inheritAttrs: false,
|
|
7
|
+
__name: "ListItem",
|
|
8
|
+
props: {
|
|
9
|
+
nodeIdx: {},
|
|
10
|
+
deep: {},
|
|
11
|
+
nodeKey: {},
|
|
12
|
+
parentNode: {},
|
|
13
|
+
element: {}
|
|
14
|
+
},
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const { components, transition } = useMarkdown();
|
|
17
|
+
return (_ctx, _cache) => {
|
|
18
|
+
return openBlock(), createElementBlock("li", mergeProps({ "data-mark": "list-item" }, __props.element.properties), [createVNode(_sfc_main$1, {
|
|
19
|
+
nodes: __props.element.children,
|
|
20
|
+
nodeIdx: __props.nodeIdx,
|
|
21
|
+
deep: __props.deep,
|
|
22
|
+
nodeKey: __props.nodeKey,
|
|
23
|
+
parentNode: __props.element,
|
|
24
|
+
components: unref(components),
|
|
25
|
+
transition: unref(transition)
|
|
26
|
+
}, null, 8, [
|
|
27
|
+
"nodes",
|
|
28
|
+
"nodeIdx",
|
|
29
|
+
"deep",
|
|
30
|
+
"nodeKey",
|
|
31
|
+
"parentNode",
|
|
32
|
+
"components",
|
|
33
|
+
"transition"
|
|
34
|
+
])], 16);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { _sfc_main as default };
|
|
41
|
+
//# sourceMappingURL=ListItem-tCoCmS98.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListItem-tCoCmS98.js","names":[],"sources":["../src/components/elements/ListItem.vue","../src/components/elements/ListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <li data-mark=\"list-item\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </li>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { ElementProps } from \"../../types\";\r\n\r\nimport { useMarkdown } from \"../../composables/markdown\";\r\nimport NodeList from \"../NodeList.vue\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element, nodeIdx, deep, nodeKey } = defineProps<ElementProps>();\r\nconst { components, transition } = useMarkdown();\r\n</script>\r\n\r\n<template>\r\n <li data-mark=\"list-item\" v-bind=\"element.properties\">\r\n <NodeList\r\n :nodes=\"element.children\"\r\n :nodeIdx=\"nodeIdx\"\r\n :deep=\"deep\"\r\n :nodeKey=\"nodeKey\"\r\n :parentNode=\"element\"\r\n :components=\"components\"\r\n :transition=\"transition\"\r\n />\r\n </li>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,aAAa;;uBCI9C,mBAUK,MAVL,WAUK,EAVD,aAAU,aAAW,EAAS,QAAA,QAAQ,WAAU,EAAA,CAClD,YAQE,aAAA;IAPC,OAAO,QAAA,QAAQ;IACf,SAAS,QAAA;IACT,MAAM,QAAA;IACN,SAAS,QAAA;IACT,YAAY,QAAA;IACZ,YAAY,MAAA,WAAU;IACtB,YAAY,MAAA,WAAU"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
let vue = require("vue");
|
|
2
|
+
|
|
3
|
+
//#region src/components/index.ts
|
|
4
|
+
const heading = (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./Heading-CQmmqddk.cjs")));
|
|
5
|
+
const DEFAULT_COMPONENTS = {
|
|
6
|
+
p: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./Paragraph-Cn0qq6eD.cjs"))),
|
|
7
|
+
h1: heading,
|
|
8
|
+
h2: heading,
|
|
9
|
+
h3: heading,
|
|
10
|
+
h4: heading,
|
|
11
|
+
h5: heading,
|
|
12
|
+
h6: heading,
|
|
13
|
+
strong: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./Bold-DWA5fzKp.cjs"))),
|
|
14
|
+
em: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./Italic-DLGLEgQL.cjs"))),
|
|
15
|
+
del: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./Strikethrough-D6HU-DLr.cjs"))),
|
|
16
|
+
blockquote: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./Blockquote-RI8XvPhG.cjs"))),
|
|
17
|
+
ul: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./UnorderedList-C_w27MXB.cjs"))),
|
|
18
|
+
ol: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./OrderedList-Otuk3FD-.cjs"))),
|
|
19
|
+
li: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./ListItem-L32ueBOJ.cjs"))),
|
|
20
|
+
code: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./Code-DmkITyUd.cjs"))),
|
|
21
|
+
a: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./Link-9wbnSrks.cjs"))),
|
|
22
|
+
input: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./TaskListInput-BlFjVLdG.cjs"))),
|
|
23
|
+
pre: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./CodeBlock-CawFy9YT.cjs"))),
|
|
24
|
+
table: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./Table-Da8GL8er.cjs"))),
|
|
25
|
+
thead: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./TableHead-DSWO60r-.cjs"))),
|
|
26
|
+
tbody: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./TableBody-D6I9wlwE.cjs"))),
|
|
27
|
+
tr: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./TableRow-Cso50UW2.cjs"))),
|
|
28
|
+
th: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./TableHeader-D4nI4o6p.cjs"))),
|
|
29
|
+
td: (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./TableData-8V3hQ4i0.cjs")))
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/composables/markdown.ts
|
|
34
|
+
const MARKDOWN_KEY = "__MARK_SORCERY_";
|
|
35
|
+
const useProvideMarkdown = (userComponents, transition) => {
|
|
36
|
+
const components = (0, vue.computed)(() => ({
|
|
37
|
+
...DEFAULT_COMPONENTS,
|
|
38
|
+
...userComponents.value
|
|
39
|
+
}));
|
|
40
|
+
(0, vue.provide)(MARKDOWN_KEY, {
|
|
41
|
+
components,
|
|
42
|
+
transition
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
components,
|
|
46
|
+
transition
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const useMarkdown = () => {
|
|
50
|
+
const context = (0, vue.inject)(MARKDOWN_KEY);
|
|
51
|
+
if (!context) throw new Error("useMarkdown must be used within a Markdown component");
|
|
52
|
+
return context;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/components/NodeList.vue
|
|
57
|
+
const _sfc_main = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
58
|
+
inheritAttrs: false,
|
|
59
|
+
__name: "NodeList",
|
|
60
|
+
props: {
|
|
61
|
+
nodeIdx: {},
|
|
62
|
+
deep: { default: 0 },
|
|
63
|
+
nodeKey: {},
|
|
64
|
+
parentNode: {},
|
|
65
|
+
nodes: {},
|
|
66
|
+
components: {},
|
|
67
|
+
transition: { type: [Boolean, Object] }
|
|
68
|
+
},
|
|
69
|
+
setup(__props) {
|
|
70
|
+
const { components, transition } = useMarkdown();
|
|
71
|
+
const getRenderNode = ({ node, idx, nodeKey }) => {
|
|
72
|
+
if (node.type === "text") return node.value;
|
|
73
|
+
else if (node.type === "element") {
|
|
74
|
+
const component = components.value[node.tagName];
|
|
75
|
+
if (!component) return [];
|
|
76
|
+
return (0, vue.h)(component, {
|
|
77
|
+
element: node,
|
|
78
|
+
nodeIdx: idx,
|
|
79
|
+
deep: __props.deep + 1,
|
|
80
|
+
nodeKey,
|
|
81
|
+
parentNode: __props.parentNode
|
|
82
|
+
});
|
|
83
|
+
} else return [];
|
|
84
|
+
};
|
|
85
|
+
const nodeRenderer = ({ node, idx, nodeKey }) => {
|
|
86
|
+
const renderNode = getRenderNode({
|
|
87
|
+
node,
|
|
88
|
+
idx,
|
|
89
|
+
nodeKey
|
|
90
|
+
});
|
|
91
|
+
if (transition.value) {
|
|
92
|
+
const transitionProps = { appear: true };
|
|
93
|
+
if (typeof transition.value === "object") Object.assign(transitionProps, transition.value);
|
|
94
|
+
return (0, vue.h)(vue.Transition, transitionProps, () => renderNode);
|
|
95
|
+
}
|
|
96
|
+
return renderNode;
|
|
97
|
+
};
|
|
98
|
+
const nodeKeyPrefix = (0, vue.computed)(() => !__props.nodeKey ? "" : `${__props.nodeKey}.`);
|
|
99
|
+
function getNodeKey(node, idx) {
|
|
100
|
+
if (node.type === "text") return `${nodeKeyPrefix}${node.type}-${idx}`;
|
|
101
|
+
else if (node.type === "element") return `${nodeKeyPrefix}${node.type}-${node.tagName}-${idx}`;
|
|
102
|
+
else return `${nodeKeyPrefix}${node.type}-${idx}`;
|
|
103
|
+
}
|
|
104
|
+
return (_ctx, _cache) => {
|
|
105
|
+
return (0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.nodes, (node, idx) => {
|
|
106
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)(nodeRenderer, {
|
|
107
|
+
key: getNodeKey(node, idx),
|
|
108
|
+
node,
|
|
109
|
+
idx,
|
|
110
|
+
nodeKey: getNodeKey(node, idx)
|
|
111
|
+
}, null, 8, [
|
|
112
|
+
"node",
|
|
113
|
+
"idx",
|
|
114
|
+
"nodeKey"
|
|
115
|
+
]);
|
|
116
|
+
}), 128);
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
//#endregion
|
|
122
|
+
Object.defineProperty(exports, 'DEFAULT_COMPONENTS', {
|
|
123
|
+
enumerable: true,
|
|
124
|
+
get: function () {
|
|
125
|
+
return DEFAULT_COMPONENTS;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
Object.defineProperty(exports, '_sfc_main', {
|
|
129
|
+
enumerable: true,
|
|
130
|
+
get: function () {
|
|
131
|
+
return _sfc_main;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
Object.defineProperty(exports, 'useMarkdown', {
|
|
135
|
+
enumerable: true,
|
|
136
|
+
get: function () {
|
|
137
|
+
return useMarkdown;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
Object.defineProperty(exports, 'useProvideMarkdown', {
|
|
141
|
+
enumerable: true,
|
|
142
|
+
get: function () {
|
|
143
|
+
return useProvideMarkdown;
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
//# sourceMappingURL=NodeList-CXCRf4Sf.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeList-CXCRf4Sf.cjs","names":[],"sources":["../src/components/index.ts","../src/composables/markdown.ts","../src/components/NodeList.vue","../src/components/NodeList.vue"],"sourcesContent":["import { defineAsyncComponent } from \"vue\";\r\n\r\nconst heading = defineAsyncComponent(() => import('./elements/Heading.vue'));\r\n\r\nexport const DEFAULT_COMPONENTS = {\r\n p: defineAsyncComponent(() => import('./elements/Paragraph.vue')),\r\n h1: heading,\r\n h2: heading,\r\n h3: heading,\r\n h4: heading,\r\n h5: heading,\r\n h6: heading,\r\n strong: defineAsyncComponent(() => import('./elements/Bold.vue')),\r\n em: defineAsyncComponent(() => import('./elements/Italic.vue')),\r\n del: defineAsyncComponent(() => import('./elements/Strikethrough.vue')),\r\n blockquote: defineAsyncComponent(() => import('./elements/Blockquote.vue')),\r\n ul: defineAsyncComponent(() => import('./elements/UnorderedList.vue')),\r\n ol: defineAsyncComponent(() => import('./elements/OrderedList.vue')),\r\n li: defineAsyncComponent(() => import('./elements/ListItem.vue')),\r\n code: defineAsyncComponent(() => import('./elements/Code.vue')),\r\n a: defineAsyncComponent(() => import('./elements/Link.vue')),\r\n input: defineAsyncComponent(() => import('./elements/TaskListInput.vue')),\r\n pre: defineAsyncComponent(() => import('./elements/CodeBlock.vue')),\r\n table: defineAsyncComponent(() => import('./elements/Table.vue')),\r\n thead: defineAsyncComponent(() => import('./elements/TableHead.vue')),\r\n tbody: defineAsyncComponent(() => import('./elements/TableBody.vue')),\r\n tr: defineAsyncComponent(() => import('./elements/TableRow.vue')),\r\n th: defineAsyncComponent(() => import('./elements/TableHeader.vue')),\r\n td: defineAsyncComponent(() => import('./elements/TableData.vue')),\r\n}","import { computed, inject, provide, type ComputedRef } from \"vue\";\r\nimport type { MarkdownProps } from \"../types\";\r\nimport { DEFAULT_COMPONENTS } from \"../components\";\r\n\r\nconst MARKDOWN_KEY = \"__MARK_SORCERY_\"\r\n\r\nexport type MarkdownContext = {\r\n components: ComputedRef<NonNullable<MarkdownProps['components']>>\r\n transition: ComputedRef<MarkdownProps['transition']>\r\n}\r\n\r\nconst useProvideMarkdown = (\r\n userComponents: ComputedRef<MarkdownProps['components'] | undefined>,\r\n transition: ComputedRef<MarkdownProps['transition']>\r\n): MarkdownContext => {\r\n const components = computed<NonNullable<MarkdownProps['components']>>(() => ({\r\n ...DEFAULT_COMPONENTS,\r\n ...userComponents.value,\r\n }))\r\n\r\n provide(MARKDOWN_KEY, {\r\n components,\r\n transition,\r\n });\r\n\r\n return {\r\n components,\r\n transition,\r\n }\r\n}\r\n\r\nconst useMarkdown = (): MarkdownContext => {\r\n const context = inject<MarkdownContext>(MARKDOWN_KEY);\r\n\r\n if (!context) {\r\n throw new Error('useMarkdown must be used within a Markdown component');\r\n }\r\n\r\n return context;\r\n}\r\n\r\nexport {\r\n useProvideMarkdown,\r\n useMarkdown,\r\n}","<script setup lang=\"ts\">\r\nimport type { Nodes } from \"hast\";\r\n\r\nimport { computed, h, Transition as VueTransition } from \"vue\";\r\n\r\nimport type { NodeListProps } from \"../types\";\r\n\r\nimport { useMarkdown } from \"../composables/markdown\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { nodes, nodeKey, deep = 0, parentNode } = defineProps<NodeListProps>();\r\n\r\nconst { components, transition } = useMarkdown();\r\n\r\nconst getRenderNode = ({ node, idx, nodeKey }: { node: Nodes; idx: number; nodeKey: string }) => {\r\n if (node.type === \"text\") {\r\n return node.value;\r\n } else if (node.type === \"element\") {\r\n const component = components.value[node.tagName];\r\n if (!component) {\r\n return [];\r\n }\r\n return h(component, {\r\n element: node,\r\n nodeIdx: idx,\r\n deep: deep + 1,\r\n nodeKey,\r\n parentNode,\r\n });\r\n } else {\r\n return [];\r\n }\r\n};\r\n\r\nconst nodeRenderer = ({ node, idx, nodeKey }: { node: Nodes; idx: number; nodeKey: string }) => {\r\n const renderNode = getRenderNode({ node, idx, nodeKey });\r\n\r\n if (transition.value) {\r\n const transitionProps = {\r\n appear: true,\r\n };\r\n if (typeof transition.value === \"object\") {\r\n Object.assign(transitionProps, transition.value);\r\n }\r\n return h(VueTransition, transitionProps, () => renderNode);\r\n }\r\n\r\n return renderNode;\r\n};\r\n\r\nconst nodeKeyPrefix = computed(() => (!nodeKey ? \"\" : `${nodeKey}.`));\r\n\r\nfunction getNodeKey(node: Nodes, idx: number) {\r\n if (node.type === \"text\") {\r\n return `${nodeKeyPrefix}${node.type}-${idx}`;\r\n } else if (node.type === \"element\") {\r\n return `${nodeKeyPrefix}${node.type}-${node.tagName}-${idx}`;\r\n } else {\r\n return `${nodeKeyPrefix}${node.type}-${idx}`;\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <template v-for=\"(node, idx) in nodes\" :key=\"getNodeKey(node, idx)\">\r\n <nodeRenderer :node=\"node\" :idx=\"idx\" :nodeKey=\"getNodeKey(node, idx)\" />\r\n </template>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport type { Nodes } from \"hast\";\r\n\r\nimport { computed, h, Transition as VueTransition } from \"vue\";\r\n\r\nimport type { NodeListProps } from \"../types\";\r\n\r\nimport { useMarkdown } from \"../composables/markdown\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { nodes, nodeKey, deep = 0, parentNode } = defineProps<NodeListProps>();\r\n\r\nconst { components, transition } = useMarkdown();\r\n\r\nconst getRenderNode = ({ node, idx, nodeKey }: { node: Nodes; idx: number; nodeKey: string }) => {\r\n if (node.type === \"text\") {\r\n return node.value;\r\n } else if (node.type === \"element\") {\r\n const component = components.value[node.tagName];\r\n if (!component) {\r\n return [];\r\n }\r\n return h(component, {\r\n element: node,\r\n nodeIdx: idx,\r\n deep: deep + 1,\r\n nodeKey,\r\n parentNode,\r\n });\r\n } else {\r\n return [];\r\n }\r\n};\r\n\r\nconst nodeRenderer = ({ node, idx, nodeKey }: { node: Nodes; idx: number; nodeKey: string }) => {\r\n const renderNode = getRenderNode({ node, idx, nodeKey });\r\n\r\n if (transition.value) {\r\n const transitionProps = {\r\n appear: true,\r\n };\r\n if (typeof transition.value === \"object\") {\r\n Object.assign(transitionProps, transition.value);\r\n }\r\n return h(VueTransition, transitionProps, () => renderNode);\r\n }\r\n\r\n return renderNode;\r\n};\r\n\r\nconst nodeKeyPrefix = computed(() => (!nodeKey ? \"\" : `${nodeKey}.`));\r\n\r\nfunction getNodeKey(node: Nodes, idx: number) {\r\n if (node.type === \"text\") {\r\n return `${nodeKeyPrefix}${node.type}-${idx}`;\r\n } else if (node.type === \"element\") {\r\n return `${nodeKeyPrefix}${node.type}-${node.tagName}-${idx}`;\r\n } else {\r\n return `${nodeKeyPrefix}${node.type}-${idx}`;\r\n }\r\n}\r\n</script>\r\n\r\n<template>\r\n <template v-for=\"(node, idx) in nodes\" :key=\"getNodeKey(node, idx)\">\r\n <nodeRenderer :node=\"node\" :idx=\"idx\" :nodeKey=\"getNodeKey(node, idx)\" />\r\n </template>\r\n</template>\r\n"],"mappings":";;;AAEA,MAAM,mFAAqC,2BAAiC;AAE5E,MAAa,qBAAqB;CAC9B,4EAA8B,6BAAmC;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,iFAAmC,wBAA8B;CACjE,6EAA+B,0BAAgC;CAC/D,8EAAgC,iCAAuC;CACvE,qFAAuC,8BAAoC;CAC3E,6EAA+B,iCAAuC;CACtE,6EAA+B,+BAAqC;CACpE,6EAA+B,4BAAkC;CACjE,+EAAiC,wBAA8B;CAC/D,4EAA8B,wBAA8B;CAC5D,gFAAkC,iCAAuC;CACzE,8EAAgC,6BAAmC;CACnE,gFAAkC,yBAA+B;CACjE,gFAAkC,6BAAmC;CACrE,gFAAkC,6BAAmC;CACrE,6EAA+B,4BAAkC;CACjE,6EAA+B,+BAAqC;CACpE,6EAA+B,6BAAmC;;;;;ACxBtE,MAAM,eAAe;AAOrB,MAAM,sBACF,gBACA,eACkB;CAClB,MAAM,sCAAuE;EACzE,GAAG;EACH,GAAG,eAAe;EACrB,EAAE;AAEH,kBAAQ,cAAc;EAClB;EACA;EACH,CAAC;AAEF,QAAO;EACH;EACA;EACH;;AAGL,MAAM,oBAAqC;CACvC,MAAM,0BAAkC,aAAa;AAErD,KAAI,CAAC,QACD,OAAM,IAAI,MAAM,uDAAuD;AAG3E,QAAO;;;;;;;;;;;;;;;;;;ECvBX,MAAM,EAAE,YAAY,eAAe,aAAa;EAEhD,MAAM,iBAAiB,EAAE,MAAM,KAAK,cAA6D;AAC/F,OAAI,KAAK,SAAS,OAChB,QAAO,KAAK;YACH,KAAK,SAAS,WAAW;IAClC,MAAM,YAAY,WAAW,MAAM,KAAK;AACxC,QAAI,CAAC,UACH,QAAO,EAAE;AAEX,sBAAS,WAAW;KAClB,SAAS;KACT,SAAS;KACT,MAAM,QAAA,OAAO;KACb;KACA,YAAS,QAAA;KACV,CAAC;SAEF,QAAO,EAAE;;EAIb,MAAM,gBAAgB,EAAE,MAAM,KAAK,cAA6D;GAC9F,MAAM,aAAa,cAAc;IAAE;IAAM;IAAK;IAAS,CAAC;AAExD,OAAI,WAAW,OAAO;IACpB,MAAM,kBAAkB,EACtB,QAAQ,MACT;AACD,QAAI,OAAO,WAAW,UAAU,SAC9B,QAAO,OAAO,iBAAiB,WAAW,MAAM;AAElD,sBAAS,gBAAe,uBAAuB,WAAW;;AAG5D,UAAO;;EAGT,MAAM,wCAAgC,CAAC,QAAA,UAAU,KAAK,GAAG,QAAA,QAAQ,GAAI;EAErE,SAAS,WAAW,MAAa,KAAa;AAC5C,OAAI,KAAK,SAAS,OAChB,QAAO,GAAG,gBAAgB,KAAK,KAAK,GAAG;YAC9B,KAAK,SAAS,UACvB,QAAO,GAAG,gBAAgB,KAAK,KAAK,GAAG,KAAK,QAAQ,GAAG;OAEvD,QAAO,GAAG,gBAAgB,KAAK,KAAK,GAAG;;;gECQ9B,cAAA,0BAFqB,QAAA,QAAd,MAAM,QAAG;sDACgD,cAAA;UAD9B,WAAW,MAAM,IAAG;KAC1C;KAAY;KAAM,SAAS,WAAW,MAAM,IAAG"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Fragment, Transition, computed, createBlock, createElementBlock, defineAsyncComponent, defineComponent, h, inject, openBlock, provide, renderList } from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/components/index.ts
|
|
4
|
+
const heading = defineAsyncComponent(() => import("./Heading-CPB6VryI.js"));
|
|
5
|
+
const DEFAULT_COMPONENTS = {
|
|
6
|
+
p: defineAsyncComponent(() => import("./Paragraph-D8vRiJdV.js")),
|
|
7
|
+
h1: heading,
|
|
8
|
+
h2: heading,
|
|
9
|
+
h3: heading,
|
|
10
|
+
h4: heading,
|
|
11
|
+
h5: heading,
|
|
12
|
+
h6: heading,
|
|
13
|
+
strong: defineAsyncComponent(() => import("./Bold-Bi1du8CJ.js")),
|
|
14
|
+
em: defineAsyncComponent(() => import("./Italic-DmavDuWx.js")),
|
|
15
|
+
del: defineAsyncComponent(() => import("./Strikethrough-BhFf4qRs.js")),
|
|
16
|
+
blockquote: defineAsyncComponent(() => import("./Blockquote-BeOfUsk-.js")),
|
|
17
|
+
ul: defineAsyncComponent(() => import("./UnorderedList-BCqaq94d.js")),
|
|
18
|
+
ol: defineAsyncComponent(() => import("./OrderedList-BiBUuBtQ.js")),
|
|
19
|
+
li: defineAsyncComponent(() => import("./ListItem-tCoCmS98.js")),
|
|
20
|
+
code: defineAsyncComponent(() => import("./Code-DPKXUmPC.js")),
|
|
21
|
+
a: defineAsyncComponent(() => import("./Link-B2nQX8af.js")),
|
|
22
|
+
input: defineAsyncComponent(() => import("./TaskListInput-DiQhjFqy.js")),
|
|
23
|
+
pre: defineAsyncComponent(() => import("./CodeBlock-Duwcxp3X.js")),
|
|
24
|
+
table: defineAsyncComponent(() => import("./Table-DxMMIS1J.js")),
|
|
25
|
+
thead: defineAsyncComponent(() => import("./TableHead-RMl2XF2I.js")),
|
|
26
|
+
tbody: defineAsyncComponent(() => import("./TableBody-DWmHYRny.js")),
|
|
27
|
+
tr: defineAsyncComponent(() => import("./TableRow-CFEKUaRS.js")),
|
|
28
|
+
th: defineAsyncComponent(() => import("./TableHeader-CO5WWCf6.js")),
|
|
29
|
+
td: defineAsyncComponent(() => import("./TableData-CXjn9U8M.js"))
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/composables/markdown.ts
|
|
34
|
+
const MARKDOWN_KEY = "__MARK_SORCERY_";
|
|
35
|
+
const useProvideMarkdown = (userComponents, transition) => {
|
|
36
|
+
const components = computed(() => ({
|
|
37
|
+
...DEFAULT_COMPONENTS,
|
|
38
|
+
...userComponents.value
|
|
39
|
+
}));
|
|
40
|
+
provide(MARKDOWN_KEY, {
|
|
41
|
+
components,
|
|
42
|
+
transition
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
components,
|
|
46
|
+
transition
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
const useMarkdown = () => {
|
|
50
|
+
const context = inject(MARKDOWN_KEY);
|
|
51
|
+
if (!context) throw new Error("useMarkdown must be used within a Markdown component");
|
|
52
|
+
return context;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/components/NodeList.vue
|
|
57
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
58
|
+
inheritAttrs: false,
|
|
59
|
+
__name: "NodeList",
|
|
60
|
+
props: {
|
|
61
|
+
nodeIdx: {},
|
|
62
|
+
deep: { default: 0 },
|
|
63
|
+
nodeKey: {},
|
|
64
|
+
parentNode: {},
|
|
65
|
+
nodes: {},
|
|
66
|
+
components: {},
|
|
67
|
+
transition: { type: [Boolean, Object] }
|
|
68
|
+
},
|
|
69
|
+
setup(__props) {
|
|
70
|
+
const { components, transition } = useMarkdown();
|
|
71
|
+
const getRenderNode = ({ node, idx, nodeKey }) => {
|
|
72
|
+
if (node.type === "text") return node.value;
|
|
73
|
+
else if (node.type === "element") {
|
|
74
|
+
const component = components.value[node.tagName];
|
|
75
|
+
if (!component) return [];
|
|
76
|
+
return h(component, {
|
|
77
|
+
element: node,
|
|
78
|
+
nodeIdx: idx,
|
|
79
|
+
deep: __props.deep + 1,
|
|
80
|
+
nodeKey,
|
|
81
|
+
parentNode: __props.parentNode
|
|
82
|
+
});
|
|
83
|
+
} else return [];
|
|
84
|
+
};
|
|
85
|
+
const nodeRenderer = ({ node, idx, nodeKey }) => {
|
|
86
|
+
const renderNode = getRenderNode({
|
|
87
|
+
node,
|
|
88
|
+
idx,
|
|
89
|
+
nodeKey
|
|
90
|
+
});
|
|
91
|
+
if (transition.value) {
|
|
92
|
+
const transitionProps = { appear: true };
|
|
93
|
+
if (typeof transition.value === "object") Object.assign(transitionProps, transition.value);
|
|
94
|
+
return h(Transition, transitionProps, () => renderNode);
|
|
95
|
+
}
|
|
96
|
+
return renderNode;
|
|
97
|
+
};
|
|
98
|
+
const nodeKeyPrefix = computed(() => !__props.nodeKey ? "" : `${__props.nodeKey}.`);
|
|
99
|
+
function getNodeKey(node, idx) {
|
|
100
|
+
if (node.type === "text") return `${nodeKeyPrefix}${node.type}-${idx}`;
|
|
101
|
+
else if (node.type === "element") return `${nodeKeyPrefix}${node.type}-${node.tagName}-${idx}`;
|
|
102
|
+
else return `${nodeKeyPrefix}${node.type}-${idx}`;
|
|
103
|
+
}
|
|
104
|
+
return (_ctx, _cache) => {
|
|
105
|
+
return openBlock(true), createElementBlock(Fragment, null, renderList(__props.nodes, (node, idx) => {
|
|
106
|
+
return openBlock(), createBlock(nodeRenderer, {
|
|
107
|
+
key: getNodeKey(node, idx),
|
|
108
|
+
node,
|
|
109
|
+
idx,
|
|
110
|
+
nodeKey: getNodeKey(node, idx)
|
|
111
|
+
}, null, 8, [
|
|
112
|
+
"node",
|
|
113
|
+
"idx",
|
|
114
|
+
"nodeKey"
|
|
115
|
+
]);
|
|
116
|
+
}), 128);
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
//#endregion
|
|
122
|
+
export { DEFAULT_COMPONENTS as i, useMarkdown as n, useProvideMarkdown as r, _sfc_main as t };
|
|
123
|
+
//# sourceMappingURL=NodeList-DliNdSdR.js.map
|