@rasenjs/web 0.1.0-alpha → 0.1.2-alpha
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 +3 -4
- package/dist/jsx-dev-runtime-ssr.d.ts +1 -0
- package/dist/jsx-dev-runtime-ssr.js +86 -0
- package/dist/jsx-dev-runtime.d.ts +1 -0
- package/dist/jsx-dev-runtime.js +86 -0
- package/dist/jsx-runtime-ssr.d.ts +1 -0
- package/dist/jsx-runtime-ssr.js +75 -0
- package/dist/jsx-runtime.d.ts +2 -0
- package/dist/jsx-runtime.js +75 -0
- package/package.json +23 -5
- package/src/jsx-dev-runtime-ssr.ts +7 -0
- package/src/jsx-dev-runtime.ts +7 -0
- package/src/jsx-runtime-ssr.ts +71 -0
- package/src/jsx-runtime.ts +71 -0
- package/tsup.config.ts +15 -2
package/README.md
CHANGED
|
@@ -42,13 +42,12 @@ Build tools like Vite automatically select the correct export condition based on
|
|
|
42
42
|
Write your component once, and it works in both SSR and client environments:
|
|
43
43
|
|
|
44
44
|
```typescript
|
|
45
|
-
import {
|
|
46
|
-
import { createReactiveRuntime } from '@rasenjs/reactive-vue'
|
|
45
|
+
import { useReactiveRuntime } from '@rasenjs/reactive-vue'
|
|
47
46
|
import { div, p, button } from '@rasenjs/web'
|
|
48
|
-
import { ref } from 'vue'
|
|
47
|
+
import { ref } from '@vue/reactivity'
|
|
49
48
|
|
|
50
49
|
// Setup reactive runtime
|
|
51
|
-
|
|
50
|
+
useReactiveRuntime()
|
|
52
51
|
|
|
53
52
|
// Isomorphic component - works in both SSR and browser
|
|
54
53
|
export const Counter = () => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Fragment, jsx, jsxDEV, jsxs } from '@rasenjs/jsx-runtime/jsx-dev-runtime';
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
|
|
15
|
+
// src/jsx-runtime-ssr.ts
|
|
16
|
+
var jsx_runtime_ssr_exports = {};
|
|
17
|
+
import { setTextPrimitive, setFragmentPrimitive, configureTags } from "@rasenjs/jsx-runtime";
|
|
18
|
+
|
|
19
|
+
// src/html.ts
|
|
20
|
+
var html_exports = {};
|
|
21
|
+
__reExport(html_exports, html_star);
|
|
22
|
+
__reExport(html_exports, router_html_star);
|
|
23
|
+
import * as html_star from "@rasenjs/html";
|
|
24
|
+
import * as router_html_star from "@rasenjs/router-html";
|
|
25
|
+
|
|
26
|
+
// src/jsx-runtime-ssr.ts
|
|
27
|
+
__reExport(jsx_runtime_ssr_exports, jsx_runtime_star);
|
|
28
|
+
import * as jsx_runtime_star from "@rasenjs/jsx-runtime";
|
|
29
|
+
setTextPrimitive(html_exports.text);
|
|
30
|
+
setFragmentPrimitive(html_exports.fragment);
|
|
31
|
+
configureTags({
|
|
32
|
+
"": {
|
|
33
|
+
// Text elements
|
|
34
|
+
div: html_exports.div,
|
|
35
|
+
span: html_exports.span,
|
|
36
|
+
p: html_exports.p,
|
|
37
|
+
a: html_exports.a,
|
|
38
|
+
// Headings
|
|
39
|
+
h1: html_exports.h1,
|
|
40
|
+
h2: html_exports.h2,
|
|
41
|
+
h3: html_exports.h3,
|
|
42
|
+
h4: html_exports.h4,
|
|
43
|
+
h5: html_exports.h5,
|
|
44
|
+
h6: html_exports.h6,
|
|
45
|
+
// Form elements
|
|
46
|
+
button: html_exports.button,
|
|
47
|
+
input: html_exports.input,
|
|
48
|
+
textarea: html_exports.textarea,
|
|
49
|
+
select: html_exports.select,
|
|
50
|
+
option: html_exports.option,
|
|
51
|
+
label: html_exports.label,
|
|
52
|
+
form: html_exports.form,
|
|
53
|
+
// Lists
|
|
54
|
+
ul: html_exports.ul,
|
|
55
|
+
ol: html_exports.ol,
|
|
56
|
+
li: html_exports.li,
|
|
57
|
+
// Media
|
|
58
|
+
img: html_exports.img,
|
|
59
|
+
canvas: html_exports.canvas,
|
|
60
|
+
// Semantic HTML5
|
|
61
|
+
section: html_exports.section,
|
|
62
|
+
article: html_exports.article,
|
|
63
|
+
header: html_exports.header,
|
|
64
|
+
footer: html_exports.footer,
|
|
65
|
+
nav: html_exports.nav,
|
|
66
|
+
main: html_exports.main,
|
|
67
|
+
aside: html_exports.aside,
|
|
68
|
+
// Formatting
|
|
69
|
+
code: html_exports.code,
|
|
70
|
+
pre: html_exports.pre,
|
|
71
|
+
strong: html_exports.strong,
|
|
72
|
+
em: html_exports.em,
|
|
73
|
+
small: html_exports.small,
|
|
74
|
+
br: html_exports.br,
|
|
75
|
+
hr: html_exports.hr
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
// src/jsx-dev-runtime-ssr.ts
|
|
80
|
+
import { jsx, jsxs, jsxDEV, Fragment } from "@rasenjs/jsx-runtime/jsx-dev-runtime";
|
|
81
|
+
export {
|
|
82
|
+
Fragment,
|
|
83
|
+
jsx,
|
|
84
|
+
jsxDEV,
|
|
85
|
+
jsxs
|
|
86
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Fragment, jsx, jsxDEV, jsxs } from '@rasenjs/jsx-runtime/jsx-dev-runtime';
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
|
|
15
|
+
// src/jsx-runtime.ts
|
|
16
|
+
var jsx_runtime_exports = {};
|
|
17
|
+
import { setTextPrimitive, setFragmentPrimitive, configureTags } from "@rasenjs/jsx-runtime";
|
|
18
|
+
|
|
19
|
+
// src/dom.ts
|
|
20
|
+
var dom_exports = {};
|
|
21
|
+
__reExport(dom_exports, dom_star);
|
|
22
|
+
__reExport(dom_exports, router_dom_star);
|
|
23
|
+
import * as dom_star from "@rasenjs/dom";
|
|
24
|
+
import * as router_dom_star from "@rasenjs/router-dom";
|
|
25
|
+
|
|
26
|
+
// src/jsx-runtime.ts
|
|
27
|
+
__reExport(jsx_runtime_exports, jsx_runtime_star);
|
|
28
|
+
import * as jsx_runtime_star from "@rasenjs/jsx-runtime";
|
|
29
|
+
setTextPrimitive(dom_exports.text);
|
|
30
|
+
setFragmentPrimitive(dom_exports.fragment);
|
|
31
|
+
configureTags({
|
|
32
|
+
"": {
|
|
33
|
+
// Text elements
|
|
34
|
+
div: dom_exports.div,
|
|
35
|
+
span: dom_exports.span,
|
|
36
|
+
p: dom_exports.p,
|
|
37
|
+
a: dom_exports.a,
|
|
38
|
+
// Headings
|
|
39
|
+
h1: dom_exports.h1,
|
|
40
|
+
h2: dom_exports.h2,
|
|
41
|
+
h3: dom_exports.h3,
|
|
42
|
+
h4: dom_exports.h4,
|
|
43
|
+
h5: dom_exports.h5,
|
|
44
|
+
h6: dom_exports.h6,
|
|
45
|
+
// Form elements
|
|
46
|
+
button: dom_exports.button,
|
|
47
|
+
input: dom_exports.input,
|
|
48
|
+
textarea: dom_exports.textarea,
|
|
49
|
+
select: dom_exports.select,
|
|
50
|
+
option: dom_exports.option,
|
|
51
|
+
label: dom_exports.label,
|
|
52
|
+
form: dom_exports.form,
|
|
53
|
+
// Lists
|
|
54
|
+
ul: dom_exports.ul,
|
|
55
|
+
ol: dom_exports.ol,
|
|
56
|
+
li: dom_exports.li,
|
|
57
|
+
// Media
|
|
58
|
+
img: dom_exports.img,
|
|
59
|
+
canvas: dom_exports.canvas,
|
|
60
|
+
// Semantic HTML5
|
|
61
|
+
section: dom_exports.section,
|
|
62
|
+
article: dom_exports.article,
|
|
63
|
+
header: dom_exports.header,
|
|
64
|
+
footer: dom_exports.footer,
|
|
65
|
+
nav: dom_exports.nav,
|
|
66
|
+
main: dom_exports.main,
|
|
67
|
+
aside: dom_exports.aside,
|
|
68
|
+
// Formatting
|
|
69
|
+
code: dom_exports.code,
|
|
70
|
+
pre: dom_exports.pre,
|
|
71
|
+
strong: dom_exports.strong,
|
|
72
|
+
em: dom_exports.em,
|
|
73
|
+
small: dom_exports.small,
|
|
74
|
+
br: dom_exports.br,
|
|
75
|
+
hr: dom_exports.hr
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
// src/jsx-dev-runtime.ts
|
|
80
|
+
import { jsx, jsxs, jsxDEV, Fragment } from "@rasenjs/jsx-runtime/jsx-dev-runtime";
|
|
81
|
+
export {
|
|
82
|
+
Fragment,
|
|
83
|
+
jsx,
|
|
84
|
+
jsxDEV,
|
|
85
|
+
jsxs
|
|
86
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@rasenjs/jsx-runtime';
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
|
|
15
|
+
// src/jsx-runtime-ssr.ts
|
|
16
|
+
import { setTextPrimitive, setFragmentPrimitive, configureTags } from "@rasenjs/jsx-runtime";
|
|
17
|
+
|
|
18
|
+
// src/html.ts
|
|
19
|
+
var html_exports = {};
|
|
20
|
+
__reExport(html_exports, html_star);
|
|
21
|
+
__reExport(html_exports, router_html_star);
|
|
22
|
+
import * as html_star from "@rasenjs/html";
|
|
23
|
+
import * as router_html_star from "@rasenjs/router-html";
|
|
24
|
+
|
|
25
|
+
// src/jsx-runtime-ssr.ts
|
|
26
|
+
export * from "@rasenjs/jsx-runtime";
|
|
27
|
+
setTextPrimitive(html_exports.text);
|
|
28
|
+
setFragmentPrimitive(html_exports.fragment);
|
|
29
|
+
configureTags({
|
|
30
|
+
"": {
|
|
31
|
+
// Text elements
|
|
32
|
+
div: html_exports.div,
|
|
33
|
+
span: html_exports.span,
|
|
34
|
+
p: html_exports.p,
|
|
35
|
+
a: html_exports.a,
|
|
36
|
+
// Headings
|
|
37
|
+
h1: html_exports.h1,
|
|
38
|
+
h2: html_exports.h2,
|
|
39
|
+
h3: html_exports.h3,
|
|
40
|
+
h4: html_exports.h4,
|
|
41
|
+
h5: html_exports.h5,
|
|
42
|
+
h6: html_exports.h6,
|
|
43
|
+
// Form elements
|
|
44
|
+
button: html_exports.button,
|
|
45
|
+
input: html_exports.input,
|
|
46
|
+
textarea: html_exports.textarea,
|
|
47
|
+
select: html_exports.select,
|
|
48
|
+
option: html_exports.option,
|
|
49
|
+
label: html_exports.label,
|
|
50
|
+
form: html_exports.form,
|
|
51
|
+
// Lists
|
|
52
|
+
ul: html_exports.ul,
|
|
53
|
+
ol: html_exports.ol,
|
|
54
|
+
li: html_exports.li,
|
|
55
|
+
// Media
|
|
56
|
+
img: html_exports.img,
|
|
57
|
+
canvas: html_exports.canvas,
|
|
58
|
+
// Semantic HTML5
|
|
59
|
+
section: html_exports.section,
|
|
60
|
+
article: html_exports.article,
|
|
61
|
+
header: html_exports.header,
|
|
62
|
+
footer: html_exports.footer,
|
|
63
|
+
nav: html_exports.nav,
|
|
64
|
+
main: html_exports.main,
|
|
65
|
+
aside: html_exports.aside,
|
|
66
|
+
// Formatting
|
|
67
|
+
code: html_exports.code,
|
|
68
|
+
pre: html_exports.pre,
|
|
69
|
+
strong: html_exports.strong,
|
|
70
|
+
em: html_exports.em,
|
|
71
|
+
small: html_exports.small,
|
|
72
|
+
br: html_exports.br,
|
|
73
|
+
hr: html_exports.hr
|
|
74
|
+
}
|
|
75
|
+
});
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
|
|
15
|
+
// src/jsx-runtime.ts
|
|
16
|
+
import { setTextPrimitive, setFragmentPrimitive, configureTags } from "@rasenjs/jsx-runtime";
|
|
17
|
+
|
|
18
|
+
// src/dom.ts
|
|
19
|
+
var dom_exports = {};
|
|
20
|
+
__reExport(dom_exports, dom_star);
|
|
21
|
+
__reExport(dom_exports, router_dom_star);
|
|
22
|
+
import * as dom_star from "@rasenjs/dom";
|
|
23
|
+
import * as router_dom_star from "@rasenjs/router-dom";
|
|
24
|
+
|
|
25
|
+
// src/jsx-runtime.ts
|
|
26
|
+
export * from "@rasenjs/jsx-runtime";
|
|
27
|
+
setTextPrimitive(dom_exports.text);
|
|
28
|
+
setFragmentPrimitive(dom_exports.fragment);
|
|
29
|
+
configureTags({
|
|
30
|
+
"": {
|
|
31
|
+
// Text elements
|
|
32
|
+
div: dom_exports.div,
|
|
33
|
+
span: dom_exports.span,
|
|
34
|
+
p: dom_exports.p,
|
|
35
|
+
a: dom_exports.a,
|
|
36
|
+
// Headings
|
|
37
|
+
h1: dom_exports.h1,
|
|
38
|
+
h2: dom_exports.h2,
|
|
39
|
+
h3: dom_exports.h3,
|
|
40
|
+
h4: dom_exports.h4,
|
|
41
|
+
h5: dom_exports.h5,
|
|
42
|
+
h6: dom_exports.h6,
|
|
43
|
+
// Form elements
|
|
44
|
+
button: dom_exports.button,
|
|
45
|
+
input: dom_exports.input,
|
|
46
|
+
textarea: dom_exports.textarea,
|
|
47
|
+
select: dom_exports.select,
|
|
48
|
+
option: dom_exports.option,
|
|
49
|
+
label: dom_exports.label,
|
|
50
|
+
form: dom_exports.form,
|
|
51
|
+
// Lists
|
|
52
|
+
ul: dom_exports.ul,
|
|
53
|
+
ol: dom_exports.ol,
|
|
54
|
+
li: dom_exports.li,
|
|
55
|
+
// Media
|
|
56
|
+
img: dom_exports.img,
|
|
57
|
+
canvas: dom_exports.canvas,
|
|
58
|
+
// Semantic HTML5
|
|
59
|
+
section: dom_exports.section,
|
|
60
|
+
article: dom_exports.article,
|
|
61
|
+
header: dom_exports.header,
|
|
62
|
+
footer: dom_exports.footer,
|
|
63
|
+
nav: dom_exports.nav,
|
|
64
|
+
main: dom_exports.main,
|
|
65
|
+
aside: dom_exports.aside,
|
|
66
|
+
// Formatting
|
|
67
|
+
code: dom_exports.code,
|
|
68
|
+
pre: dom_exports.pre,
|
|
69
|
+
strong: dom_exports.strong,
|
|
70
|
+
em: dom_exports.em,
|
|
71
|
+
small: dom_exports.small,
|
|
72
|
+
br: dom_exports.br,
|
|
73
|
+
hr: dom_exports.hr
|
|
74
|
+
}
|
|
75
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rasenjs/web",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2-alpha",
|
|
4
4
|
"description": "Isomorphic web components with routing (exports DOM or HTML based on environment)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -8,19 +8,37 @@
|
|
|
8
8
|
"ssr": "./dist/html.js",
|
|
9
9
|
"browser": "./dist/dom.js",
|
|
10
10
|
"default": "./dist/dom.js"
|
|
11
|
+
},
|
|
12
|
+
"./jsx-runtime": {
|
|
13
|
+
"types": "./dist/jsx-runtime.d.ts",
|
|
14
|
+
"worker": "./dist/jsx-runtime.js",
|
|
15
|
+
"browser": "./dist/jsx-runtime.js",
|
|
16
|
+
"node": "./dist/jsx-runtime-ssr.js",
|
|
17
|
+
"default": "./dist/jsx-runtime.js"
|
|
18
|
+
},
|
|
19
|
+
"./jsx-dev-runtime": {
|
|
20
|
+
"types": "./dist/jsx-dev-runtime.d.ts",
|
|
21
|
+
"worker": "./dist/jsx-dev-runtime.js",
|
|
22
|
+
"browser": "./dist/jsx-dev-runtime.js",
|
|
23
|
+
"node": "./dist/jsx-dev-runtime-ssr.js",
|
|
24
|
+
"default": "./dist/jsx-dev-runtime.js"
|
|
11
25
|
}
|
|
12
26
|
},
|
|
13
27
|
"scripts": {
|
|
14
28
|
"build": "tsup"
|
|
15
29
|
},
|
|
16
30
|
"dependencies": {
|
|
17
|
-
"@rasenjs/dom": "0.1.
|
|
18
|
-
"@rasenjs/html": "0.1.
|
|
19
|
-
"@rasenjs/router-dom": "0.1.
|
|
20
|
-
"@rasenjs/router-html": "0.1.
|
|
31
|
+
"@rasenjs/dom": "0.1.7-alpha",
|
|
32
|
+
"@rasenjs/html": "0.1.3-alpha",
|
|
33
|
+
"@rasenjs/router-dom": "0.1.7-alpha",
|
|
34
|
+
"@rasenjs/router-html": "0.1.1-alpha"
|
|
21
35
|
},
|
|
22
36
|
"devDependencies": {
|
|
23
37
|
"tsup": "^8.0.1",
|
|
24
38
|
"typescript": "^5.3.3"
|
|
39
|
+
},
|
|
40
|
+
"publishConfig": {
|
|
41
|
+
"registry": "https://registry.npmjs.org/",
|
|
42
|
+
"access": "public"
|
|
25
43
|
}
|
|
26
44
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSX Dev Runtime for @rasenjs/web (SSR)
|
|
3
|
+
* Development mode version with additional debugging info
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import './jsx-runtime-ssr' // Side effect: configure primitives and tags
|
|
7
|
+
export { jsx, jsxs, jsxDEV, Fragment } from '@rasenjs/jsx-runtime/jsx-dev-runtime'
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSX Runtime integration for @rasenjs/web (SSR/HTML)
|
|
3
|
+
*
|
|
4
|
+
* Auto-configures jsx-runtime with HTML string primitives and tags.
|
|
5
|
+
* This version is used in server-side rendering environments.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { setTextPrimitive, setFragmentPrimitive, configureTags, type TextPrimitive, type FragmentPrimitive } from '@rasenjs/jsx-runtime'
|
|
9
|
+
import * as webComponents from './html'
|
|
10
|
+
|
|
11
|
+
// Configure primitives
|
|
12
|
+
setTextPrimitive(webComponents.text as TextPrimitive)
|
|
13
|
+
setFragmentPrimitive(webComponents.fragment as FragmentPrimitive)
|
|
14
|
+
|
|
15
|
+
// Configure all web tags
|
|
16
|
+
configureTags({
|
|
17
|
+
'': {
|
|
18
|
+
// Text elements
|
|
19
|
+
div: webComponents.div,
|
|
20
|
+
span: webComponents.span,
|
|
21
|
+
p: webComponents.p,
|
|
22
|
+
a: webComponents.a,
|
|
23
|
+
|
|
24
|
+
// Headings
|
|
25
|
+
h1: webComponents.h1,
|
|
26
|
+
h2: webComponents.h2,
|
|
27
|
+
h3: webComponents.h3,
|
|
28
|
+
h4: webComponents.h4,
|
|
29
|
+
h5: webComponents.h5,
|
|
30
|
+
h6: webComponents.h6,
|
|
31
|
+
|
|
32
|
+
// Form elements
|
|
33
|
+
button: webComponents.button,
|
|
34
|
+
input: webComponents.input,
|
|
35
|
+
textarea: webComponents.textarea,
|
|
36
|
+
select: webComponents.select,
|
|
37
|
+
option: webComponents.option,
|
|
38
|
+
label: webComponents.label,
|
|
39
|
+
form: webComponents.form,
|
|
40
|
+
|
|
41
|
+
// Lists
|
|
42
|
+
ul: webComponents.ul,
|
|
43
|
+
ol: webComponents.ol,
|
|
44
|
+
li: webComponents.li,
|
|
45
|
+
|
|
46
|
+
// Media
|
|
47
|
+
img: webComponents.img,
|
|
48
|
+
canvas: webComponents.canvas,
|
|
49
|
+
|
|
50
|
+
// Semantic HTML5
|
|
51
|
+
section: webComponents.section,
|
|
52
|
+
article: webComponents.article,
|
|
53
|
+
header: webComponents.header,
|
|
54
|
+
footer: webComponents.footer,
|
|
55
|
+
nav: webComponents.nav,
|
|
56
|
+
main: webComponents.main,
|
|
57
|
+
aside: webComponents.aside,
|
|
58
|
+
|
|
59
|
+
// Formatting
|
|
60
|
+
code: webComponents.code,
|
|
61
|
+
pre: webComponents.pre,
|
|
62
|
+
strong: webComponents.strong,
|
|
63
|
+
em: webComponents.em,
|
|
64
|
+
small: webComponents.small,
|
|
65
|
+
br: webComponents.br,
|
|
66
|
+
hr: webComponents.hr,
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
// Re-export jsx-runtime
|
|
71
|
+
export * from '@rasenjs/jsx-runtime'
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSX Runtime integration for @rasenjs/web (Browser/DOM)
|
|
3
|
+
*
|
|
4
|
+
* Auto-configures jsx-runtime with DOM primitives and tags.
|
|
5
|
+
* This version is used in browser/client-side environments.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { setTextPrimitive, setFragmentPrimitive, configureTags, type TextPrimitive, type FragmentPrimitive } from '@rasenjs/jsx-runtime'
|
|
9
|
+
import * as webComponents from './dom'
|
|
10
|
+
|
|
11
|
+
// Configure primitives
|
|
12
|
+
setTextPrimitive(webComponents.text as TextPrimitive)
|
|
13
|
+
setFragmentPrimitive(webComponents.fragment as FragmentPrimitive)
|
|
14
|
+
|
|
15
|
+
// Configure all web tags
|
|
16
|
+
configureTags({
|
|
17
|
+
'': {
|
|
18
|
+
// Text elements
|
|
19
|
+
div: webComponents.div,
|
|
20
|
+
span: webComponents.span,
|
|
21
|
+
p: webComponents.p,
|
|
22
|
+
a: webComponents.a,
|
|
23
|
+
|
|
24
|
+
// Headings
|
|
25
|
+
h1: webComponents.h1,
|
|
26
|
+
h2: webComponents.h2,
|
|
27
|
+
h3: webComponents.h3,
|
|
28
|
+
h4: webComponents.h4,
|
|
29
|
+
h5: webComponents.h5,
|
|
30
|
+
h6: webComponents.h6,
|
|
31
|
+
|
|
32
|
+
// Form elements
|
|
33
|
+
button: webComponents.button,
|
|
34
|
+
input: webComponents.input,
|
|
35
|
+
textarea: webComponents.textarea,
|
|
36
|
+
select: webComponents.select,
|
|
37
|
+
option: webComponents.option,
|
|
38
|
+
label: webComponents.label,
|
|
39
|
+
form: webComponents.form,
|
|
40
|
+
|
|
41
|
+
// Lists
|
|
42
|
+
ul: webComponents.ul,
|
|
43
|
+
ol: webComponents.ol,
|
|
44
|
+
li: webComponents.li,
|
|
45
|
+
|
|
46
|
+
// Media
|
|
47
|
+
img: webComponents.img,
|
|
48
|
+
canvas: webComponents.canvas,
|
|
49
|
+
|
|
50
|
+
// Semantic HTML5
|
|
51
|
+
section: webComponents.section,
|
|
52
|
+
article: webComponents.article,
|
|
53
|
+
header: webComponents.header,
|
|
54
|
+
footer: webComponents.footer,
|
|
55
|
+
nav: webComponents.nav,
|
|
56
|
+
main: webComponents.main,
|
|
57
|
+
aside: webComponents.aside,
|
|
58
|
+
|
|
59
|
+
// Formatting
|
|
60
|
+
code: webComponents.code,
|
|
61
|
+
pre: webComponents.pre,
|
|
62
|
+
strong: webComponents.strong,
|
|
63
|
+
em: webComponents.em,
|
|
64
|
+
small: webComponents.small,
|
|
65
|
+
br: webComponents.br,
|
|
66
|
+
hr: webComponents.hr,
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
// Re-export jsx-runtime
|
|
71
|
+
export * from '@rasenjs/jsx-runtime'
|
package/tsup.config.ts
CHANGED
|
@@ -6,13 +6,26 @@ export default defineConfig([
|
|
|
6
6
|
format: ['esm'],
|
|
7
7
|
dts: true,
|
|
8
8
|
clean: true,
|
|
9
|
-
external: ['@rasenjs/dom']
|
|
9
|
+
external: ['@rasenjs/dom', '@rasenjs/router-dom']
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
entry: { html: 'src/html.ts' },
|
|
13
13
|
format: ['esm'],
|
|
14
14
|
dts: true,
|
|
15
15
|
clean: false,
|
|
16
|
-
external: ['@rasenjs/html']
|
|
16
|
+
external: ['@rasenjs/html', '@rasenjs/router-html']
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
entry: {
|
|
20
|
+
'jsx-runtime': 'src/jsx-runtime.ts',
|
|
21
|
+
'jsx-dev-runtime': 'src/jsx-dev-runtime.ts',
|
|
22
|
+
'jsx-runtime-ssr': 'src/jsx-runtime-ssr.ts',
|
|
23
|
+
'jsx-dev-runtime-ssr': 'src/jsx-dev-runtime-ssr.ts',
|
|
24
|
+
},
|
|
25
|
+
format: ['esm'],
|
|
26
|
+
dts: true,
|
|
27
|
+
splitting: false,
|
|
28
|
+
clean: false,
|
|
29
|
+
external: ['@rasenjs/jsx-runtime', '@rasenjs/dom', '@rasenjs/html', '@rasenjs/router-dom', '@rasenjs/router-html']
|
|
17
30
|
}
|
|
18
31
|
])
|