@refrakt-md/vue 0.33.0 → 0.34.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/dist/Renderer.d.ts.map +1 -1
- package/dist/Renderer.js +24 -10
- package/dist/Renderer.js.map +1 -1
- package/package.json +3 -3
package/dist/Renderer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../src/Renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../src/Renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AA+HrE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ;;cAG8B,GAAG;;;;cACtB,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;;;;cACjC,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;;;;;;;cAFV,GAAG;;;;cACtB,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;;;;cACjC,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;;;;;;;4EAK3D,CAAC"}
|
package/dist/Renderer.js
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { defineComponent, h } from 'vue';
|
|
2
2
|
import { isTag, extractComponentInterface, renderToHtml } from '@refrakt-md/transform';
|
|
3
3
|
const VOID_ELEMENTS = new Set([
|
|
4
|
-
'area',
|
|
5
|
-
'
|
|
4
|
+
'area',
|
|
5
|
+
'base',
|
|
6
|
+
'br',
|
|
7
|
+
'col',
|
|
8
|
+
'embed',
|
|
9
|
+
'hr',
|
|
10
|
+
'img',
|
|
11
|
+
'input',
|
|
12
|
+
'link',
|
|
13
|
+
'meta',
|
|
14
|
+
'param',
|
|
15
|
+
'source',
|
|
16
|
+
'track',
|
|
17
|
+
'wbr',
|
|
6
18
|
]);
|
|
7
19
|
/**
|
|
8
20
|
* Convert serialized tag attributes to Vue-compatible props.
|
|
@@ -30,7 +42,7 @@ function renderNode(node, components, elements) {
|
|
|
30
42
|
if (typeof node === 'number')
|
|
31
43
|
return String(node);
|
|
32
44
|
if (Array.isArray(node)) {
|
|
33
|
-
const children = node.map(child => renderNode(child, components, elements)).filter(Boolean);
|
|
45
|
+
const children = node.map((child) => renderNode(child, components, elements)).filter(Boolean);
|
|
34
46
|
return children.length === 1 ? children[0] : h('template', null, children);
|
|
35
47
|
}
|
|
36
48
|
if (!isTag(node))
|
|
@@ -43,13 +55,13 @@ function renderNode(node, components, elements) {
|
|
|
43
55
|
// Build named slots from refs (pre-rendered HTML)
|
|
44
56
|
const slots = {};
|
|
45
57
|
for (const [name, tags] of Object.entries(iface.refs)) {
|
|
46
|
-
const html = tags.map(t => renderToHtml(t)).join('');
|
|
58
|
+
const html = tags.map((t) => renderToHtml(t)).join('');
|
|
47
59
|
slots[name] = () => h('div', { 'data-ref': name, innerHTML: html });
|
|
48
60
|
}
|
|
49
61
|
// Default slot from anonymous children
|
|
50
62
|
if (iface.children.length > 0) {
|
|
51
63
|
const childVnodes = iface.children
|
|
52
|
-
.map(child => renderNode(child, components, elements))
|
|
64
|
+
.map((child) => renderNode(child, components, elements))
|
|
53
65
|
.filter(Boolean);
|
|
54
66
|
slots.default = () => h('template', null, childVnodes);
|
|
55
67
|
}
|
|
@@ -59,7 +71,7 @@ function renderNode(node, components, elements) {
|
|
|
59
71
|
const ElementOverride = elements?.[node.name];
|
|
60
72
|
if (ElementOverride) {
|
|
61
73
|
const childVnodes = node.children
|
|
62
|
-
.map(child => renderNode(child, components, elements))
|
|
74
|
+
.map((child) => renderNode(child, components, elements))
|
|
63
75
|
.filter(Boolean);
|
|
64
76
|
return h(ElementOverride, { tag: node }, { default: () => childVnodes });
|
|
65
77
|
}
|
|
@@ -70,7 +82,7 @@ function renderNode(node, components, elements) {
|
|
|
70
82
|
// Null-named tags (Markdoc document root) — render children without wrapper
|
|
71
83
|
if (!node.name) {
|
|
72
84
|
const childVnodes = node.children
|
|
73
|
-
.map(child => renderNode(child, components, elements))
|
|
85
|
+
.map((child) => renderNode(child, components, elements))
|
|
74
86
|
.filter(Boolean);
|
|
75
87
|
return h('template', null, childVnodes);
|
|
76
88
|
}
|
|
@@ -81,16 +93,18 @@ function renderNode(node, components, elements) {
|
|
|
81
93
|
// Raw HTML content (code blocks, raw-html attribute)
|
|
82
94
|
const isRaw = node.attributes?.['data-codeblock'] || node.attributes?.['data-raw-html'];
|
|
83
95
|
if (isRaw) {
|
|
84
|
-
const html = node.children
|
|
96
|
+
const html = node.children
|
|
97
|
+
.map((child) => {
|
|
85
98
|
if (typeof child === 'string')
|
|
86
99
|
return child;
|
|
87
100
|
return renderToHtml(child);
|
|
88
|
-
})
|
|
101
|
+
})
|
|
102
|
+
.join('');
|
|
89
103
|
return h(node.name, { ...toVueProps(node.attributes), innerHTML: html });
|
|
90
104
|
}
|
|
91
105
|
// Regular HTML element — recursively render children
|
|
92
106
|
const childVnodes = node.children
|
|
93
|
-
.map(child => renderNode(child, components, elements))
|
|
107
|
+
.map((child) => renderNode(child, components, elements))
|
|
94
108
|
.filter(Boolean);
|
|
95
109
|
return h(node.name, toVueProps(node.attributes), childVnodes);
|
|
96
110
|
}
|
package/dist/Renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../src/Renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAA8B,MAAM,KAAK,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEvF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC7B,MAAM,
|
|
1
|
+
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../src/Renderer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@refrakt-md/vue",
|
|
3
3
|
"description": "Vue renderer for refrakt.md content — ADR-008 component interface with props and named slots",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.34.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"build": "tsc"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@refrakt-md/transform": "0.
|
|
33
|
-
"@refrakt-md/types": "0.
|
|
32
|
+
"@refrakt-md/transform": "0.34.0",
|
|
33
|
+
"@refrakt-md/types": "0.34.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"vue": "^3.5.0"
|