@mark-sorcery/vue 0.2.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.
Files changed (88) hide show
  1. package/README.md +141 -7
  2. package/dist/Blockquote-BeOfUsk-.js +41 -0
  3. package/dist/Blockquote-BeOfUsk-.js.map +1 -0
  4. package/dist/Blockquote-RI8XvPhG.cjs +41 -0
  5. package/dist/Blockquote-RI8XvPhG.cjs.map +1 -0
  6. package/dist/Bold-Bi1du8CJ.js +41 -0
  7. package/dist/Bold-Bi1du8CJ.js.map +1 -0
  8. package/dist/Bold-DWA5fzKp.cjs +41 -0
  9. package/dist/Bold-DWA5fzKp.cjs.map +1 -0
  10. package/dist/Code-DPKXUmPC.js +41 -0
  11. package/dist/Code-DPKXUmPC.js.map +1 -0
  12. package/dist/Code-DmkITyUd.cjs +41 -0
  13. package/dist/Code-DmkITyUd.cjs.map +1 -0
  14. package/dist/CodeBlock-CawFy9YT.cjs +45 -0
  15. package/dist/CodeBlock-CawFy9YT.cjs.map +1 -0
  16. package/dist/CodeBlock-Duwcxp3X.js +45 -0
  17. package/dist/CodeBlock-Duwcxp3X.js.map +1 -0
  18. package/dist/Heading-CPB6VryI.js +51 -0
  19. package/dist/Heading-CPB6VryI.js.map +1 -0
  20. package/dist/Heading-CQmmqddk.cjs +51 -0
  21. package/dist/Heading-CQmmqddk.cjs.map +1 -0
  22. package/dist/Italic-DLGLEgQL.cjs +41 -0
  23. package/dist/Italic-DLGLEgQL.cjs.map +1 -0
  24. package/dist/Italic-DmavDuWx.js +41 -0
  25. package/dist/Italic-DmavDuWx.js.map +1 -0
  26. package/dist/Link-9wbnSrks.cjs +41 -0
  27. package/dist/Link-9wbnSrks.cjs.map +1 -0
  28. package/dist/Link-B2nQX8af.js +41 -0
  29. package/dist/Link-B2nQX8af.js.map +1 -0
  30. package/dist/ListItem-L32ueBOJ.cjs +41 -0
  31. package/dist/ListItem-L32ueBOJ.cjs.map +1 -0
  32. package/dist/ListItem-tCoCmS98.js +41 -0
  33. package/dist/ListItem-tCoCmS98.js.map +1 -0
  34. package/dist/NodeList-CXCRf4Sf.cjs +146 -0
  35. package/dist/NodeList-CXCRf4Sf.cjs.map +1 -0
  36. package/dist/NodeList-DliNdSdR.js +123 -0
  37. package/dist/NodeList-DliNdSdR.js.map +1 -0
  38. package/dist/OrderedList-BiBUuBtQ.js +41 -0
  39. package/dist/OrderedList-BiBUuBtQ.js.map +1 -0
  40. package/dist/OrderedList-Otuk3FD-.cjs +41 -0
  41. package/dist/OrderedList-Otuk3FD-.cjs.map +1 -0
  42. package/dist/Paragraph-Cn0qq6eD.cjs +41 -0
  43. package/dist/Paragraph-Cn0qq6eD.cjs.map +1 -0
  44. package/dist/Paragraph-D8vRiJdV.js +41 -0
  45. package/dist/Paragraph-D8vRiJdV.js.map +1 -0
  46. package/dist/Strikethrough-BhFf4qRs.js +41 -0
  47. package/dist/Strikethrough-BhFf4qRs.js.map +1 -0
  48. package/dist/Strikethrough-D6HU-DLr.cjs +41 -0
  49. package/dist/Strikethrough-D6HU-DLr.cjs.map +1 -0
  50. package/dist/Table-Da8GL8er.cjs +41 -0
  51. package/dist/Table-Da8GL8er.cjs.map +1 -0
  52. package/dist/Table-DxMMIS1J.js +41 -0
  53. package/dist/Table-DxMMIS1J.js.map +1 -0
  54. package/dist/TableBody-D6I9wlwE.cjs +41 -0
  55. package/dist/TableBody-D6I9wlwE.cjs.map +1 -0
  56. package/dist/TableBody-DWmHYRny.js +41 -0
  57. package/dist/TableBody-DWmHYRny.js.map +1 -0
  58. package/dist/TableData-8V3hQ4i0.cjs +41 -0
  59. package/dist/TableData-8V3hQ4i0.cjs.map +1 -0
  60. package/dist/TableData-CXjn9U8M.js +41 -0
  61. package/dist/TableData-CXjn9U8M.js.map +1 -0
  62. package/dist/TableHead-DSWO60r-.cjs +41 -0
  63. package/dist/TableHead-DSWO60r-.cjs.map +1 -0
  64. package/dist/TableHead-RMl2XF2I.js +41 -0
  65. package/dist/TableHead-RMl2XF2I.js.map +1 -0
  66. package/dist/TableHeader-CO5WWCf6.js +41 -0
  67. package/dist/TableHeader-CO5WWCf6.js.map +1 -0
  68. package/dist/TableHeader-D4nI4o6p.cjs +41 -0
  69. package/dist/TableHeader-D4nI4o6p.cjs.map +1 -0
  70. package/dist/TableRow-CFEKUaRS.js +41 -0
  71. package/dist/TableRow-CFEKUaRS.js.map +1 -0
  72. package/dist/TableRow-Cso50UW2.cjs +41 -0
  73. package/dist/TableRow-Cso50UW2.cjs.map +1 -0
  74. package/dist/TaskListInput-BlFjVLdG.cjs +33 -0
  75. package/dist/TaskListInput-BlFjVLdG.cjs.map +1 -0
  76. package/dist/TaskListInput-DiQhjFqy.js +33 -0
  77. package/dist/TaskListInput-DiQhjFqy.js.map +1 -0
  78. package/dist/UnorderedList-BCqaq94d.js +41 -0
  79. package/dist/UnorderedList-BCqaq94d.js.map +1 -0
  80. package/dist/UnorderedList-C_w27MXB.cjs +41 -0
  81. package/dist/UnorderedList-C_w27MXB.cjs.map +1 -0
  82. package/dist/index.cjs +18 -70
  83. package/dist/index.cjs.map +1 -1
  84. package/dist/index.d.cts +115 -36
  85. package/dist/index.d.ts +115 -36
  86. package/dist/index.js +17 -71
  87. package/dist/index.js.map +1 -1
  88. package/package.json +5 -3
@@ -0,0 +1,41 @@
1
+ const require_NodeList = require('./NodeList-CXCRf4Sf.cjs');
2
+ let vue = require("vue");
3
+
4
+ //#region src/components/elements/TableHead.vue
5
+ const _sfc_main = /* @__PURE__ */ (0, vue.defineComponent)({
6
+ inheritAttrs: false,
7
+ __name: "TableHead",
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)("thead", (0, vue.mergeProps)({ "data-mark-sorcery": "table-head" }, __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=TableHead-DSWO60r-.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableHead-DSWO60r-.cjs","names":[],"sources":["../src/components/elements/TableHead.vue","../src/components/elements/TableHead.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 <thead data-mark-sorcery=\"table-head\" 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 </thead>\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 <thead data-mark-sorcery=\"table-head\" 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 </thead>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,8BAAa;;4DCctC,6BAAA,EAVD,qBAAkB,cAAY,EAAS,QAAA,QAAQ,WAAU,EAAA,sBAS5D,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/TableHead.vue
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ inheritAttrs: false,
7
+ __name: "TableHead",
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("thead", mergeProps({ "data-mark-sorcery": "table-head" }, __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=TableHead-RMl2XF2I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableHead-RMl2XF2I.js","names":[],"sources":["../src/components/elements/TableHead.vue","../src/components/elements/TableHead.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 <thead data-mark-sorcery=\"table-head\" 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 </thead>\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 <thead data-mark-sorcery=\"table-head\" 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 </thead>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,aAAa;;uBCI9C,mBAUQ,SAVR,WAUQ,EAVD,qBAAkB,cAAY,EAAS,QAAA,QAAQ,WAAU,EAAA,CAC9D,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
+ 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/TableHeader.vue
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ inheritAttrs: false,
7
+ __name: "TableHeader",
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("th", mergeProps({ "data-mark-sorcery": "table-header" }, __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=TableHeader-CO5WWCf6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableHeader-CO5WWCf6.js","names":[],"sources":["../src/components/elements/TableHeader.vue","../src/components/elements/TableHeader.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 <th data-mark-sorcery=\"table-header\" 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 </th>\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 <th data-mark-sorcery=\"table-header\" 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 </th>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,aAAa;;uBCI9C,mBAUK,MAVL,WAUK,EAVD,qBAAkB,gBAAc,EAAS,QAAA,QAAQ,WAAU,EAAA,CAC7D,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/TableHeader.vue
5
+ const _sfc_main = /* @__PURE__ */ (0, vue.defineComponent)({
6
+ inheritAttrs: false,
7
+ __name: "TableHeader",
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)("th", (0, vue.mergeProps)({ "data-mark-sorcery": "table-header" }, __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=TableHeader-D4nI4o6p.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableHeader-D4nI4o6p.cjs","names":[],"sources":["../src/components/elements/TableHeader.vue","../src/components/elements/TableHeader.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 <th data-mark-sorcery=\"table-header\" 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 </th>\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 <th data-mark-sorcery=\"table-header\" 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 </th>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,8BAAa;;4DCczC,0BAAA,EAVD,qBAAkB,gBAAc,EAAS,QAAA,QAAQ,WAAU,EAAA,sBAS3D,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/TableRow.vue
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ inheritAttrs: false,
7
+ __name: "TableRow",
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("tr", mergeProps({ "data-mark-sorcery": "table-row" }, __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=TableRow-CFEKUaRS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableRow-CFEKUaRS.js","names":[],"sources":["../src/components/elements/TableRow.vue","../src/components/elements/TableRow.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 <tr data-mark-sorcery=\"table-row\" 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 </tr>\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 <tr data-mark-sorcery=\"table-row\" 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 </tr>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,aAAa;;uBCI9C,mBAUK,MAVL,WAUK,EAVD,qBAAkB,aAAW,EAAS,QAAA,QAAQ,WAAU,EAAA,CAC1D,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/TableRow.vue
5
+ const _sfc_main = /* @__PURE__ */ (0, vue.defineComponent)({
6
+ inheritAttrs: false,
7
+ __name: "TableRow",
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)("tr", (0, vue.mergeProps)({ "data-mark-sorcery": "table-row" }, __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=TableRow-Cso50UW2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableRow-Cso50UW2.cjs","names":[],"sources":["../src/components/elements/TableRow.vue","../src/components/elements/TableRow.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 <tr data-mark-sorcery=\"table-row\" 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 </tr>\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 <tr data-mark-sorcery=\"table-row\" 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 </tr>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,8BAAa;;4DCczC,0BAAA,EAVD,qBAAkB,aAAW,EAAS,QAAA,QAAQ,WAAU,EAAA,sBASxD,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,33 @@
1
+ let vue = require("vue");
2
+
3
+ //#region src/components/elements/TaskListInput.vue
4
+ const _sfc_main = /* @__PURE__ */ (0, vue.defineComponent)({
5
+ inheritAttrs: false,
6
+ __name: "TaskListInput",
7
+ props: {
8
+ nodeIdx: {},
9
+ deep: {},
10
+ nodeKey: {},
11
+ parentNode: {},
12
+ element: {}
13
+ },
14
+ setup(__props) {
15
+ const properties = (0, vue.computed)(() => {
16
+ return {
17
+ checked: __props.element.properties.checked,
18
+ class: __props.element.properties.class
19
+ };
20
+ });
21
+ return (_ctx, _cache) => {
22
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("input", (0, vue.mergeProps)({
23
+ "data-mark-sorcery": "task-list-input",
24
+ type: "checkbox",
25
+ disabled: ""
26
+ }, properties.value), null, 16);
27
+ };
28
+ }
29
+ });
30
+
31
+ //#endregion
32
+ exports.default = _sfc_main;
33
+ //# sourceMappingURL=TaskListInput-BlFjVLdG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskListInput-BlFjVLdG.cjs","names":[],"sources":["../src/components/elements/TaskListInput.vue","../src/components/elements/TaskListInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed } from \"vue\";\r\n\r\nimport type { ElementProps } from \"../../types\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element } = defineProps<ElementProps>();\r\n\r\nconst properties = computed(() => {\r\n return {\r\n checked: element.properties.checked,\r\n class: element.properties.class,\r\n } as any;\r\n});\r\n</script>\r\n\r\n<template>\r\n <input data-mark-sorcery=\"task-list-input\" type=\"checkbox\" disabled v-bind=\"properties\" />\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\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element } = defineProps<ElementProps>();\r\n\r\nconst properties = computed(() => {\r\n return {\r\n checked: element.properties.checked,\r\n class: element.properties.class,\r\n } as any;\r\n});\r\n</script>\r\n\r\n<template>\r\n <input data-mark-sorcery=\"task-list-input\" type=\"checkbox\" disabled v-bind=\"properties\" />\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;EAWA,MAAM,qCAA4B;AAChC,UAAO;IACL,SAAS,QAAA,QAAQ,WAAW;IAC5B,OAAO,QAAA,QAAQ,WAAW;IAC3B;IACD;;4DCI0F,6BAAA;IAAnF,qBAAkB;IAAkB,MAAK;IAAW,UAAA;MAAiB,WAAA,MAAU,EAAA,MAAA,GAAA"}
@@ -0,0 +1,33 @@
1
+ import { computed, createElementBlock, defineComponent, mergeProps, openBlock } from "vue";
2
+
3
+ //#region src/components/elements/TaskListInput.vue
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ inheritAttrs: false,
6
+ __name: "TaskListInput",
7
+ props: {
8
+ nodeIdx: {},
9
+ deep: {},
10
+ nodeKey: {},
11
+ parentNode: {},
12
+ element: {}
13
+ },
14
+ setup(__props) {
15
+ const properties = computed(() => {
16
+ return {
17
+ checked: __props.element.properties.checked,
18
+ class: __props.element.properties.class
19
+ };
20
+ });
21
+ return (_ctx, _cache) => {
22
+ return openBlock(), createElementBlock("input", mergeProps({
23
+ "data-mark-sorcery": "task-list-input",
24
+ type: "checkbox",
25
+ disabled: ""
26
+ }, properties.value), null, 16);
27
+ };
28
+ }
29
+ });
30
+
31
+ //#endregion
32
+ export { _sfc_main as default };
33
+ //# sourceMappingURL=TaskListInput-DiQhjFqy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskListInput-DiQhjFqy.js","names":[],"sources":["../src/components/elements/TaskListInput.vue","../src/components/elements/TaskListInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed } from \"vue\";\r\n\r\nimport type { ElementProps } from \"../../types\";\r\n\r\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element } = defineProps<ElementProps>();\r\n\r\nconst properties = computed(() => {\r\n return {\r\n checked: element.properties.checked,\r\n class: element.properties.class,\r\n } as any;\r\n});\r\n</script>\r\n\r\n<template>\r\n <input data-mark-sorcery=\"task-list-input\" type=\"checkbox\" disabled v-bind=\"properties\" />\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\ndefineOptions({\r\n inheritAttrs: false,\r\n});\r\n\r\nconst { element } = defineProps<ElementProps>();\r\n\r\nconst properties = computed(() => {\r\n return {\r\n checked: element.properties.checked,\r\n class: element.properties.class,\r\n } as any;\r\n});\r\n</script>\r\n\r\n<template>\r\n <input data-mark-sorcery=\"task-list-input\" type=\"checkbox\" disabled v-bind=\"properties\" />\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;EAWA,MAAM,aAAa,eAAe;AAChC,UAAO;IACL,SAAS,QAAA,QAAQ,WAAW;IAC5B,OAAO,QAAA,QAAQ,WAAW;IAC3B;IACD;;uBCIA,mBAA0F,SAA1F,WAA0F;IAAnF,qBAAkB;IAAkB,MAAK;IAAW,UAAA;MAAiB,WAAA,MAAU,EAAA,MAAA,GAAA"}
@@ -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/UnorderedList.vue
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ inheritAttrs: false,
7
+ __name: "UnorderedList",
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("ul", mergeProps({ "data-mark-sorcery": "unordered-list" }, __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=UnorderedList-BCqaq94d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnorderedList-BCqaq94d.js","names":[],"sources":["../src/components/elements/UnorderedList.vue","../src/components/elements/UnorderedList.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 <ul data-mark-sorcery=\"unordered-list\" 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 </ul>\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 <ul data-mark-sorcery=\"unordered-list\" 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 </ul>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,aAAa;;uBCI9C,mBAUK,MAVL,WAUK,EAVD,qBAAkB,kBAAgB,EAAS,QAAA,QAAQ,WAAU,EAAA,CAC/D,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/UnorderedList.vue
5
+ const _sfc_main = /* @__PURE__ */ (0, vue.defineComponent)({
6
+ inheritAttrs: false,
7
+ __name: "UnorderedList",
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)("ul", (0, vue.mergeProps)({ "data-mark-sorcery": "unordered-list" }, __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=UnorderedList-C_w27MXB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnorderedList-C_w27MXB.cjs","names":[],"sources":["../src/components/elements/UnorderedList.vue","../src/components/elements/UnorderedList.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 <ul data-mark-sorcery=\"unordered-list\" 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 </ul>\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 <ul data-mark-sorcery=\"unordered-list\" 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 </ul>\r\n</template>\r\n"],"mappings":";;;;;;;;;;;;;;;EAWA,MAAM,EAAE,YAAY,eAAe,8BAAa;;4DCczC,0BAAA,EAVD,qBAAkB,kBAAgB,EAAS,QAAA,QAAQ,WAAU,EAAA,sBAS7D,4BAAA;IAPC,OAAO,QAAA,QAAQ;IACf,SAAS,QAAA;IACT,MAAM,QAAA;IACN,SAAS,QAAA;IACT,YAAY,QAAA;IACZ,2BAAY,WAAU;IACtB,2BAAY,WAAU"}
package/dist/index.cjs CHANGED
@@ -1,72 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_NodeList = require('./NodeList-CXCRf4Sf.cjs');
2
3
  let vue = require("vue");
3
4
  let _mark_sorcery_markdown_parser = require("@mark-sorcery/markdown-parser");
4
5
 
5
- //#region src/hast-to-vnodes.ts
6
- function createNodeKey(node, path) {
7
- const start = node.position?.start?.offset;
8
- const end = node.position?.end?.offset;
9
- if (typeof start === "number" && typeof end === "number") return `${node.tagName}:${start}-${end}`;
10
- if (typeof start === "number") return `${node.tagName}:${start}`;
11
- return path;
12
- }
13
- /**
14
- * Convert HAST node properties to Vue-compatible props.
15
- * - `className` array → `class` string
16
- * - `htmlFor` → `for`
17
- * - All other properties pass through as-is
18
- */
19
- function convertProps(properties) {
20
- const props = {};
21
- for (const [key, value] of Object.entries(properties)) if (key === "className" && Array.isArray(value)) props["class"] = value.join(" ");
22
- else if (key === "htmlFor") props["for"] = value;
23
- else props[key] = value;
24
- return props;
25
- }
26
- /** Resolve the tag/component for an element node from the Components option. */
27
- function resolveTag(node, components) {
28
- return (typeof components === "function" ? components(node) : components[node.tagName]) ?? node.tagName;
29
- }
30
- /**
31
- * Internal recursive converter. `path` is a dot-separated string identifying
32
- * the node's position in the tree (e.g. `"0"`, `"0.1"`, `"0.1.2"`).
33
- */
34
- function toVNodes(node, components, path) {
35
- if (Array.isArray(node)) return node.flatMap((n, i) => toVNodes(n, components, `${path}.${i}`));
36
- switch (node.type) {
37
- case "root": return node.children.flatMap((child, i) => toVNodes(child, components, String(i)));
38
- case "element": {
39
- const { properties = {}, children } = node;
40
- const tag = resolveTag(node, components);
41
- const nodeKey = createNodeKey(node, path);
42
- const props = convertProps(properties);
43
- const childVNodes = children.flatMap((child, i) => toVNodes(child, components, `${path}.${i}`));
44
- return [typeof tag === "string" ? (0, vue.h)(tag, {
45
- ...props,
46
- key: nodeKey
47
- }, childVNodes) : (0, vue.h)(tag, {
48
- ...props,
49
- key: nodeKey,
50
- node
51
- }, { default: () => childVNodes })];
52
- }
53
- case "text": return [node.value];
54
- case "comment": return [(0, vue.createCommentVNode)(node.value)];
55
- default: return [];
56
- }
57
- }
58
- /**
59
- * Recursively convert a HAST node (or array of nodes) into Vue VNodeArrayChildren.
60
- *
61
- * @param node - Root HAST node or array of nodes to convert.
62
- * @param components - Custom component map or resolver function.
63
- * @param transition - Optional `<Transition>` config applied to every element node.
64
- */
65
- function hastToVNodes(node, components) {
66
- return toVNodes(node, components, "");
67
- }
68
-
69
- //#endregion
70
6
  //#region src/Markdown.ts
71
7
  const Markdown = (0, vue.defineComponent)({
72
8
  name: "Markdown",
@@ -88,8 +24,12 @@ const Markdown = (0, vue.defineComponent)({
88
24
  default: false
89
25
  },
90
26
  components: {
91
- type: [Object, Function],
27
+ type: Object,
92
28
  default: () => ({})
29
+ },
30
+ transition: {
31
+ type: [Boolean, Object],
32
+ default: false
93
33
  }
94
34
  },
95
35
  setup(props) {
@@ -122,21 +62,29 @@ const Markdown = (0, vue.defineComponent)({
122
62
  }
123
63
  hast.value = (0, _mark_sorcery_markdown_parser.parse)(currentProcessor, markdown);
124
64
  });
65
+ const { components: providedComponents, transition: providedTransition } = require_NodeList.useProvideMarkdown((0, vue.computed)(() => props.components), (0, vue.computed)(() => props.transition));
125
66
  return () => {
126
- const raw = props.components ?? {};
127
- const components = typeof raw === "function" ? raw : Object.fromEntries(Object.entries(raw).map(([k, v]) => [k, typeof v === "string" || v == null ? v : (0, vue.markRaw)(v)]));
128
- return (0, vue.h)(vue.Fragment, hastToVNodes(hast.value, components));
67
+ return (0, vue.h)(require_NodeList._sfc_main, {
68
+ nodes: hast.value.children,
69
+ nodeKey: "root",
70
+ deep: 0,
71
+ parentNode: hast.value,
72
+ components: providedComponents.value,
73
+ transition: providedTransition.value
74
+ });
129
75
  };
130
76
  }
131
77
  });
132
78
 
133
79
  //#endregion
80
+ exports.DEFAULT_COMPONENTS = require_NodeList.DEFAULT_COMPONENTS;
134
81
  exports.Markdown = Markdown;
82
+ exports.NodeList = require_NodeList._sfc_main;
135
83
  Object.defineProperty(exports, 'createCorePlugin', {
136
84
  enumerable: true,
137
85
  get: function () {
138
86
  return _mark_sorcery_markdown_parser.createCorePlugin;
139
87
  }
140
88
  });
141
- exports.hastToVNodes = hastToVNodes;
89
+ exports.useMarkdown = require_NodeList.useMarkdown;
142
90
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["Fragment"],"sources":["../src/hast-to-vnodes.ts","../src/Markdown.ts"],"sourcesContent":["import { h, createCommentVNode } from 'vue';\nimport type { Element, Nodes } from 'hast';\nimport type { VNodeArrayChildren } from 'vue';\nimport type { ComponentResolution, Components } from './types.ts';\n\nfunction createNodeKey(node: Element, path: string): string {\n const start = node.position?.start?.offset;\n const end = node.position?.end?.offset;\n\n if (typeof start === 'number' && typeof end === 'number') {\n return `${node.tagName}:${start}-${end}`;\n }\n\n if (typeof start === 'number') {\n return `${node.tagName}:${start}`;\n }\n\n return path;\n}\n\n/**\n * Convert HAST node properties to Vue-compatible props.\n * - `className` array → `class` string\n * - `htmlFor` → `for`\n * - All other properties pass through as-is\n */\nfunction convertProps(properties: Record<string, unknown>): Record<string, unknown> {\n const props: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(properties)) {\n if (key === 'className' && Array.isArray(value)) {\n props['class'] = value.join(' ');\n } else if (key === 'htmlFor') {\n props['for'] = value;\n } else {\n props[key] = value;\n }\n }\n\n return props;\n}\n\n/** Resolve the tag/component for an element node from the Components option. */\nfunction resolveTag(node: Element, components: Components): NonNullable<ComponentResolution> {\n const resolved = typeof components === 'function'\n ? components(node)\n : components[node.tagName];\n return resolved ?? node.tagName;\n}\n\n/**\n * Internal recursive converter. `path` is a dot-separated string identifying\n * the node's position in the tree (e.g. `\"0\"`, `\"0.1\"`, `\"0.1.2\"`).\n */\nfunction toVNodes(\n node: Nodes | Nodes[],\n components: Components,\n path: string,\n): VNodeArrayChildren {\n if (Array.isArray(node)) {\n return node.flatMap((n, i) => toVNodes(n, components, `${path}.${i}`));\n }\n\n switch (node.type) {\n case 'root':\n return node.children.flatMap((child, i) =>\n toVNodes(child, components, String(i)),\n );\n\n case 'element': {\n const { properties = {}, children } = node;\n const tag = resolveTag(node, components);\n const nodeKey = createNodeKey(node, path);\n const props = convertProps(properties as Record<string, unknown>);\n const childVNodes: VNodeArrayChildren = children.flatMap((child, i) =>\n toVNodes(child, components, `${path}.${i}`),\n );\n\n // Build the element VNode\n // Custom Vue components also receive the raw HAST `node` prop so they\n // can access the original element (e.g. to extract text content for\n // syntax highlighting or diagram rendering).\n const el = typeof tag === 'string'\n ? h(tag, { ...props, key: nodeKey }, childVNodes)\n : h(tag, { ...props, key: nodeKey, node }, { default: () => childVNodes });\n\n return [el];\n }\n\n case 'text':\n return [node.value];\n\n case 'comment':\n return [createCommentVNode(node.value)];\n\n default:\n return [];\n }\n}\n\n/**\n * Recursively convert a HAST node (or array of nodes) into Vue VNodeArrayChildren.\n *\n * @param node - Root HAST node or array of nodes to convert.\n * @param components - Custom component map or resolver function.\n * @param transition - Optional `<Transition>` config applied to every element node.\n */\nexport function hastToVNodes(\n node: Nodes | Nodes[],\n components: Components,\n): VNodeArrayChildren {\n return toVNodes(node, components, '');\n}\n","import { computed, defineComponent, Fragment, h, markRaw, shallowRef, watchEffect } from 'vue';\nimport { createMemory, createProcessor, parse } from '@mark-sorcery/markdown-parser';\nimport { hastToVNodes } from './hast-to-vnodes.ts';\nimport type {\n Components,\n MarkdownProcessor,\n MarkdownOptions,\n MarkdownProps,\n ParseMemory,\n} from './types.ts';\n\nexport const Markdown = defineComponent({\n name: 'Markdown',\n\n props: {\n markdown: {\n type: String,\n required: true,\n },\n options: {\n type: Object as () => MarkdownOptions,\n default: undefined,\n },\n plugins: {\n type: Array as () => MarkdownProps['plugins'],\n default: undefined,\n },\n stream: {\n type: Boolean,\n default: false,\n },\n components: {\n type: [Object, Function] as unknown as () => Components,\n default: () => ({}),\n },\n } satisfies {\n [K in keyof MarkdownProps]-?: unknown;\n },\n\n setup(props) {\n const getMarkdown = () => props.markdown ?? '';\n\n const processor = computed<MarkdownProcessor>(() => {\n const options = props.options;\n const propPlugins = props.plugins ?? [];\n\n return createProcessor({\n ...options,\n plugins: propPlugins,\n });\n });\n\n const hast = shallowRef(parse(processor.value, getMarkdown()));\n let streamMemory: ParseMemory | undefined;\n let activeProcessor: MarkdownProcessor | undefined;\n\n watchEffect(() => {\n const currentProcessor = processor.value;\n const markdown = getMarkdown();\n\n if (activeProcessor && activeProcessor !== currentProcessor) {\n streamMemory = props.stream ? createMemory() : undefined;\n }\n\n activeProcessor = currentProcessor;\n\n if (props.stream) {\n streamMemory ??= createMemory();\n hast.value = parse(currentProcessor, markdown, streamMemory);\n return;\n }\n\n if (streamMemory) {\n streamMemory.flush = true;\n streamMemory = undefined;\n return;\n }\n\n hast.value = parse(currentProcessor, markdown);\n });\n\n return () => {\n const raw = props.components ?? {};\n // Function resolvers pass through; record values are wrapped in markRaw\n // so Vue doesn't make component objects reactive (perf warning prevention)\n const components: Components = typeof raw === 'function'\n ? raw\n : Object.fromEntries(\n Object.entries(raw).map(([k, v]) =>\n [k, typeof v === 'string' || v == null ? v : markRaw(v)],\n ),\n );\n const vnodes = hastToVNodes(hast.value, components);\n return h(Fragment, vnodes);\n };\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["useProvideMarkdown","NodeList"],"sources":["../src/Markdown.ts"],"sourcesContent":["import { computed, defineComponent, h, shallowRef, watchEffect } from 'vue';\nimport { createMemory, createProcessor, parse } from '@mark-sorcery/markdown-parser';\nimport type {\n MarkdownProcessor,\n MarkdownProps,\n ParseMemory,\n} from './types.ts';\nimport NodeList from './components/NodeList.vue';\nimport { useProvideMarkdown } from './composables/markdown.ts';\n\nexport const Markdown = defineComponent({\n name: 'Markdown',\n\n props: {\n markdown: {\n type: String,\n required: true,\n },\n options: {\n type: Object as () => MarkdownProps['options'],\n default: undefined,\n },\n plugins: {\n type: Array as () => MarkdownProps['plugins'],\n default: undefined,\n },\n stream: {\n type: Boolean,\n default: false,\n },\n components: {\n type: Object as unknown as () => MarkdownProps['components'],\n default: () => ({}),\n },\n transition: {\n type: [Boolean, Object] as unknown as () => MarkdownProps['transition'],\n default: false,\n },\n } satisfies {\n [K in keyof MarkdownProps]-?: unknown;\n },\n\n setup(props) {\n const getMarkdown = () => props.markdown ?? '';\n\n const processor = computed<MarkdownProcessor>(() => {\n const options = props.options;\n const propPlugins = props.plugins ?? [];\n\n return createProcessor({\n ...options,\n plugins: propPlugins,\n });\n });\n\n const hast = shallowRef(parse(processor.value, getMarkdown()));\n let streamMemory: ParseMemory | undefined;\n let activeProcessor: MarkdownProcessor | undefined;\n\n watchEffect(() => {\n const currentProcessor = processor.value;\n const markdown = getMarkdown();\n\n if (activeProcessor && activeProcessor !== currentProcessor) {\n streamMemory = props.stream ? createMemory() : undefined;\n }\n\n activeProcessor = currentProcessor;\n\n if (props.stream) {\n streamMemory ??= createMemory();\n hast.value = parse(currentProcessor, markdown, streamMemory);\n return;\n }\n\n if (streamMemory) {\n streamMemory.flush = true;\n streamMemory = undefined;\n return;\n }\n\n hast.value = parse(currentProcessor, markdown);\n });\n\n const { components: providedComponents, transition: providedTransition } = useProvideMarkdown(computed(() => props.components), computed(() => props.transition));\n\n return () => {\n return h(NodeList, {\n nodes: hast.value.children,\n nodeKey: 'root',\n deep: 0,\n parentNode: hast.value,\n components: providedComponents.value,\n transition: providedTransition.value,\n });\n };\n },\n});\n"],"mappings":";;;;;;AAUA,MAAa,oCAA2B;CACtC,MAAM;CAEN,OAAO;EACL,UAAU;GACR,MAAM;GACN,UAAU;GACX;EACD,SAAS;GACP,MAAM;GACN,SAAS;GACV;EACD,SAAS;GACP,MAAM;GACN,SAAS;GACV;EACD,QAAQ;GACN,MAAM;GACN,SAAS;GACV;EACD,YAAY;GACV,MAAM;GACN,gBAAgB,EAAE;GACnB;EACD,YAAY;GACV,MAAM,CAAC,SAAS,OAAO;GACvB,SAAS;GACV;EACF;CAID,MAAM,OAAO;EACX,MAAM,oBAAoB,MAAM,YAAY;EAE5C,MAAM,oCAA8C;GAClD,MAAM,UAAU,MAAM;GACtB,MAAM,cAAc,MAAM,WAAW,EAAE;AAEvC,6DAAuB;IACrB,GAAG;IACH,SAAS;IACV,CAAC;IACF;EAEF,MAAM,oEAAwB,UAAU,OAAO,aAAa,CAAC,CAAC;EAC9D,IAAI;EACJ,IAAI;AAEJ,6BAAkB;GAChB,MAAM,mBAAmB,UAAU;GACnC,MAAM,WAAW,aAAa;AAE9B,OAAI,mBAAmB,oBAAoB,iBACzC,gBAAe,MAAM,0DAAuB,GAAG;AAGjD,qBAAkB;AAElB,OAAI,MAAM,QAAQ;AAChB,sEAA+B;AAC/B,SAAK,iDAAc,kBAAkB,UAAU,aAAa;AAC5D;;AAGF,OAAI,cAAc;AAChB,iBAAa,QAAQ;AACrB,mBAAe;AACf;;AAGF,QAAK,iDAAc,kBAAkB,SAAS;IAC9C;EAEF,MAAM,EAAE,YAAY,oBAAoB,YAAY,uBAAuBA,4DAAkC,MAAM,WAAW,0BAAiB,MAAM,WAAW,CAAC;AAEjK,eAAa;AACX,qBAASC,4BAAU;IACjB,OAAO,KAAK,MAAM;IAClB,SAAS;IACT,MAAM;IACN,YAAY,KAAK;IACjB,YAAY,mBAAmB;IAC/B,YAAY,mBAAmB;IAChC,CAAC;;;CAGP,CAAC"}