kt.js 0.13.0 → 0.13.2
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/jsx-runtime.mjs +23 -10
- package/package.json +3 -3
package/dist/jsx-runtime.mjs
CHANGED
|
@@ -48,22 +48,22 @@ if (typeof Promise === 'undefined') {
|
|
|
48
48
|
}
|
|
49
49
|
const $isThenable = (o) => typeof o === 'object' && o !== null && typeof o.then === 'function';
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
const booleanHandler = (element, key, value) => {
|
|
52
52
|
if (key in element) {
|
|
53
53
|
element[key] = !!value;
|
|
54
54
|
}
|
|
55
55
|
else {
|
|
56
56
|
element.setAttribute(key, value);
|
|
57
57
|
}
|
|
58
|
-
}
|
|
59
|
-
|
|
58
|
+
};
|
|
59
|
+
const valueHandler = (element, key, value) => {
|
|
60
60
|
if (key in element) {
|
|
61
61
|
element[key] = value;
|
|
62
62
|
}
|
|
63
63
|
else {
|
|
64
64
|
element.setAttribute(key, value);
|
|
65
65
|
}
|
|
66
|
-
}
|
|
66
|
+
};
|
|
67
67
|
// Attribute handlers map for optimized lookup
|
|
68
68
|
const handlers = {
|
|
69
69
|
checked: booleanHandler,
|
|
@@ -86,13 +86,18 @@ const handlers = {
|
|
|
86
86
|
muted: booleanHandler,
|
|
87
87
|
defer: booleanHandler,
|
|
88
88
|
async: booleanHandler,
|
|
89
|
-
hidden:
|
|
90
|
-
element.hidden = !!value;
|
|
91
|
-
},
|
|
89
|
+
hidden: (element, _key, value) => (element.hidden = !!value),
|
|
92
90
|
};
|
|
93
|
-
const
|
|
94
|
-
|
|
91
|
+
const ktEventHandlers = {
|
|
92
|
+
'on:ktchange': (element, handler) => element.addEventListener('change', () => handler(element.value)),
|
|
93
|
+
'ontrim:ktchange': (element, handler) => element.addEventListener('change', () => handler(element.value.trim())),
|
|
94
|
+
'on:ktchangenumber': (element, handler) => element.addEventListener('change', () => handler(Number(element.value))),
|
|
95
|
+
'on:ktinput': (element, handler) => element.addEventListener('input', () => handler(element.value)),
|
|
96
|
+
'ontrim:ktinput': (element, handler) => element.addEventListener('input', () => handler(element.value.trim())),
|
|
97
|
+
'on:ktinputnumber': (element, handler) => element.addEventListener('input', () => handler(Number(element.value))),
|
|
95
98
|
};
|
|
99
|
+
|
|
100
|
+
const defaultHandler = (element, key, value) => element.setAttribute(key, value);
|
|
96
101
|
function attrIsObject(element, attr) {
|
|
97
102
|
const classValue = attr.class;
|
|
98
103
|
const style = attr.style;
|
|
@@ -112,11 +117,19 @@ function attrIsObject(element, attr) {
|
|
|
112
117
|
delete attr.style;
|
|
113
118
|
}
|
|
114
119
|
const keys = $keys(attr);
|
|
120
|
+
// todo 这里的处理每次遍历都要if所有的情况,能否用map或者对象来优化?
|
|
115
121
|
for (let i = keys.length - 1; i >= 0; i--) {
|
|
116
122
|
const key = keys[i];
|
|
117
123
|
const o = attr[key];
|
|
118
124
|
// force register on:xxx as an event handler
|
|
119
125
|
// !if o is not valid, the throwing job will be done by `on`, not kt.js
|
|
126
|
+
// # special handling for kt.js specific events
|
|
127
|
+
const ktEvent = ktEventHandlers[key];
|
|
128
|
+
if (ktEvent) {
|
|
129
|
+
ktEvent(element, o);
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
// # normal event handler
|
|
120
133
|
if (key.startsWith('on:')) {
|
|
121
134
|
element.addEventListener(key.slice(3), o); // chop off the `@`
|
|
122
135
|
continue;
|
|
@@ -203,7 +216,7 @@ function applyContent(element, content) {
|
|
|
203
216
|
* ## About
|
|
204
217
|
* @package @ktjs/core
|
|
205
218
|
* @author Kasukabe Tsumugi <futami16237@gmail.com>
|
|
206
|
-
* @version 0.13.
|
|
219
|
+
* @version 0.13.2 (Last Update: 2026.01.16 19:38:40.621)
|
|
207
220
|
* @license MIT
|
|
208
221
|
* @link https://github.com/baendlorel/kt.js
|
|
209
222
|
* @link https://baendlorel.github.io/ Welcome to my site!
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kt.js",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.2",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Kasukabe Tsumugi",
|
|
6
6
|
"email": "futami16237@gmail.com"
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
],
|
|
42
42
|
"license": "MIT",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@ktjs/
|
|
45
|
-
"@ktjs/
|
|
44
|
+
"@ktjs/shortcuts": "0.7.3",
|
|
45
|
+
"@ktjs/core": "0.13.2"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "rollup -c rollup.config.mjs",
|