@hypen-space/web 0.4.36 → 0.4.38
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 +7 -6
- package/dist/canvas/accessibility.js +174 -174
- package/dist/canvas/accessibility.js.map +1 -10
- package/dist/canvas/events.js +264 -360
- package/dist/canvas/events.js.map +1 -11
- package/dist/canvas/index.js +11 -47
- package/dist/canvas/index.js.map +1 -9
- package/dist/canvas/input.js +178 -289
- package/dist/canvas/input.js.map +1 -11
- package/dist/canvas/layout.js +349 -547
- package/dist/canvas/layout.js.map +1 -12
- package/dist/canvas/paint.js +1122 -1146
- package/dist/canvas/paint.js.map +1 -12
- package/dist/canvas/renderer.js +352 -2259
- package/dist/canvas/renderer.js.map +1 -17
- package/dist/canvas/text.js +129 -264
- package/dist/canvas/text.js.map +1 -11
- package/dist/canvas/types.js +7 -2
- package/dist/canvas/types.js.map +1 -9
- package/dist/canvas/utils.js +158 -161
- package/dist/canvas/utils.js.map +1 -10
- package/dist/dom/applicators/advanced-layout.js +105 -138
- package/dist/dom/applicators/advanced-layout.js.map +1 -10
- package/dist/dom/applicators/background.js +36 -76
- package/dist/dom/applicators/background.js.map +1 -10
- package/dist/dom/applicators/border.js +82 -106
- package/dist/dom/applicators/border.js.map +1 -10
- package/dist/dom/applicators/color.js +17 -58
- package/dist/dom/applicators/color.js.map +1 -10
- package/dist/dom/applicators/display.js +39 -79
- package/dist/dom/applicators/display.js.map +1 -10
- package/dist/dom/applicators/effects.js +121 -147
- package/dist/dom/applicators/effects.js.map +1 -10
- package/dist/dom/applicators/events.js +413 -450
- package/dist/dom/applicators/events.js.map +1 -11
- package/dist/dom/applicators/font.js +119 -140
- package/dist/dom/applicators/font.js.map +1 -10
- package/dist/dom/applicators/index.js +386 -1770
- package/dist/dom/applicators/index.js.map +1 -26
- package/dist/dom/applicators/layout.js +143 -149
- package/dist/dom/applicators/layout.js.map +1 -10
- package/dist/dom/applicators/margin.js +64 -105
- package/dist/dom/applicators/margin.js.map +1 -10
- package/dist/dom/applicators/padding.js +64 -105
- package/dist/dom/applicators/padding.js.map +1 -10
- package/dist/dom/applicators/size.js +169 -172
- package/dist/dom/applicators/size.js.map +1 -10
- package/dist/dom/applicators/transform.js +73 -114
- package/dist/dom/applicators/transform.js.map +1 -10
- package/dist/dom/applicators/transition.js +47 -88
- package/dist/dom/applicators/transition.js.map +1 -10
- package/dist/dom/applicators/types.js +7 -2
- package/dist/dom/applicators/types.js.map +1 -9
- package/dist/dom/applicators/typography.js +68 -109
- package/dist/dom/applicators/typography.js.map +1 -10
- package/dist/dom/canvas/index.js +49 -83
- package/dist/dom/canvas/index.js.map +1 -10
- package/dist/dom/components/app.js +16 -63
- package/dist/dom/components/app.js.map +1 -10
- package/dist/dom/components/audio.js +31 -76
- package/dist/dom/components/audio.js.map +1 -10
- package/dist/dom/components/avatar.js +41 -87
- package/dist/dom/components/avatar.js.map +1 -10
- package/dist/dom/components/badge.js +35 -83
- package/dist/dom/components/badge.js.map +1 -10
- package/dist/dom/components/button.js +26 -69
- package/dist/dom/components/button.js.map +1 -10
- package/dist/dom/components/card.js +13 -63
- package/dist/dom/components/card.js.map +1 -10
- package/dist/dom/components/center.js +21 -65
- package/dist/dom/components/center.js.map +1 -10
- package/dist/dom/components/checkbox.js +37 -82
- package/dist/dom/components/checkbox.js.map +1 -10
- package/dist/dom/components/column.js +16 -62
- package/dist/dom/components/column.js.map +1 -10
- package/dist/dom/components/container.js +11 -59
- package/dist/dom/components/container.js.map +1 -10
- package/dist/dom/components/divider.js +27 -73
- package/dist/dom/components/divider.js.map +1 -10
- package/dist/dom/components/grid.js +41 -80
- package/dist/dom/components/grid.js.map +1 -10
- package/dist/dom/components/heading.js +28 -74
- package/dist/dom/components/heading.js.map +1 -10
- package/dist/dom/components/hypenapp.js +291 -288
- package/dist/dom/components/hypenapp.js.map +1 -10
- package/dist/dom/components/image.js +18 -67
- package/dist/dom/components/image.js.map +1 -10
- package/dist/dom/components/index.js +109 -1427
- package/dist/dom/components/index.js.map +1 -42
- package/dist/dom/components/input.js +19 -69
- package/dist/dom/components/input.js.map +1 -10
- package/dist/dom/components/link.js +23 -70
- package/dist/dom/components/link.js.map +1 -10
- package/dist/dom/components/list.js +26 -72
- package/dist/dom/components/list.js.map +1 -10
- package/dist/dom/components/paragraph.js +14 -63
- package/dist/dom/components/paragraph.js.map +1 -10
- package/dist/dom/components/progressbar.js +38 -85
- package/dist/dom/components/progressbar.js.map +1 -10
- package/dist/dom/components/route.js +27 -73
- package/dist/dom/components/route.js.map +1 -10
- package/dist/dom/components/router.js +15 -62
- package/dist/dom/components/router.js.map +1 -10
- package/dist/dom/components/row.js +25 -70
- package/dist/dom/components/row.js.map +1 -10
- package/dist/dom/components/select.js +42 -85
- package/dist/dom/components/select.js.map +1 -10
- package/dist/dom/components/slider.js +31 -76
- package/dist/dom/components/slider.js.map +1 -10
- package/dist/dom/components/spacer.js +10 -60
- package/dist/dom/components/spacer.js.map +1 -10
- package/dist/dom/components/spinner.js +41 -88
- package/dist/dom/components/spinner.js.map +1 -10
- package/dist/dom/components/stack.js +19 -67
- package/dist/dom/components/stack.js.map +1 -10
- package/dist/dom/components/switch.js +50 -93
- package/dist/dom/components/switch.js.map +1 -10
- package/dist/dom/components/text.js +24 -69
- package/dist/dom/components/text.js.map +1 -10
- package/dist/dom/components/textarea.js +35 -79
- package/dist/dom/components/textarea.js.map +1 -10
- package/dist/dom/components/video.js +35 -79
- package/dist/dom/components/video.js.map +1 -10
- package/dist/dom/debug.js +159 -160
- package/dist/dom/debug.js.map +1 -10
- package/dist/dom/element-data.js +181 -143
- package/dist/dom/element-data.js.map +1 -10
- package/dist/dom/events.js +133 -142
- package/dist/dom/events.js.map +1 -10
- package/dist/dom/index.js +11 -48
- package/dist/dom/index.js.map +1 -9
- package/dist/dom/renderer.js +311 -3596
- package/dist/dom/renderer.js.map +1 -62
- package/dist/index.d.ts +2 -2
- package/dist/index.js +36 -53
- package/dist/index.js.map +1 -9
- package/package.json +2 -16
- package/src/canvas/QUICKSTART.md +4 -3
- package/src/canvas/README.md +3 -2
- package/src/dom/README.md +4 -3
- package/src/index.ts +2 -2
- package/dist/client.d.ts +0 -19
- package/dist/client.js +0 -45
- package/dist/client.js.map +0 -9
- package/dist/hypen.d.ts +0 -140
- package/dist/hypen.js +0 -3909
- package/dist/hypen.js.map +0 -63
- package/src/client.ts +0 -20
- package/src/hypen.ts +0 -556
|
@@ -1,10 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/dom/components/container.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Container/Box Component\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const containerHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"div\");\n // Simple block container - wraps to content by default\n // Use .fillMaxWidth(true) to stretch\n el.dataset.hypenType = \"container\";\n return el;\n },\n};\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMa;AAAA;AAAA,qBAAqC;AAAA,IAChD,MAAM,GAAgB;AAAA,MACpB,MAAM,KAAK,SAAS,cAAc,KAAK;AAAA,MAGvC,GAAG,QAAQ,YAAY;AAAA,MACvB,OAAO;AAAA;AAAA,EAEX;AAAA;",
|
|
8
|
-
"debugId": "DC11F92D0D1E3B6D64756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/dom/components/container.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,MAAM;QACJ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,uDAAuD;QACvD,qCAAqC;QACrC,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAC"}
|
|
@@ -1,77 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function __accessProp(key) {
|
|
6
|
-
return this[key];
|
|
7
|
-
}
|
|
8
|
-
var __toCommonJS = (from) => {
|
|
9
|
-
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
10
|
-
if (entry)
|
|
11
|
-
return entry;
|
|
12
|
-
entry = __defProp({}, "__esModule", { value: true });
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (var key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(entry, key))
|
|
16
|
-
__defProp(entry, key, {
|
|
17
|
-
get: __accessProp.bind(from, key),
|
|
18
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
__moduleCache.set(from, entry);
|
|
22
|
-
return entry;
|
|
23
|
-
};
|
|
24
|
-
var __moduleCache;
|
|
25
|
-
var __returnValue = (v) => v;
|
|
26
|
-
function __exportSetter(name, newValue) {
|
|
27
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
-
}
|
|
29
|
-
var __export = (target, all) => {
|
|
30
|
-
for (var name in all)
|
|
31
|
-
__defProp(target, name, {
|
|
32
|
-
get: all[name],
|
|
33
|
-
enumerable: true,
|
|
34
|
-
configurable: true,
|
|
35
|
-
set: __exportSetter.bind(all, name)
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
39
|
-
|
|
40
|
-
// src/dom/components/divider.ts
|
|
41
|
-
var exports_divider = {};
|
|
42
|
-
__export(exports_divider, {
|
|
43
|
-
dividerHandler: () => dividerHandler
|
|
44
|
-
});
|
|
45
|
-
var dividerHandler;
|
|
46
|
-
var init_divider = __esm(() => {
|
|
47
|
-
dividerHandler = {
|
|
1
|
+
/**
|
|
2
|
+
* Divider Component - Visual separator
|
|
3
|
+
*/
|
|
4
|
+
export const dividerHandler = {
|
|
48
5
|
create() {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
6
|
+
const el = document.createElement("hr");
|
|
7
|
+
el.dataset.hypenType = "divider";
|
|
8
|
+
el.style.border = "none";
|
|
9
|
+
el.style.borderTop = "1px solid #e0e0e0";
|
|
10
|
+
el.style.margin = "0";
|
|
11
|
+
return el;
|
|
55
12
|
},
|
|
56
13
|
applyProps(el, props) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
export {
|
|
74
|
-
dividerHandler
|
|
14
|
+
// Thickness
|
|
15
|
+
if (props.thickness !== undefined) {
|
|
16
|
+
const thickness = typeof props.thickness === "number"
|
|
17
|
+
? `${props.thickness}px`
|
|
18
|
+
: String(props.thickness);
|
|
19
|
+
el.style.borderTopWidth = thickness;
|
|
20
|
+
}
|
|
21
|
+
// Orientation
|
|
22
|
+
if (props.orientation === "vertical") {
|
|
23
|
+
el.style.borderTop = "none";
|
|
24
|
+
el.style.borderLeft = "1px solid #e0e0e0";
|
|
25
|
+
el.style.height = "100%";
|
|
26
|
+
el.style.width = "0";
|
|
27
|
+
el.style.display = "inline-block";
|
|
28
|
+
}
|
|
29
|
+
},
|
|
75
30
|
};
|
|
76
|
-
|
|
77
|
-
//# debugId=4EBBBEDF0C2E623064756E2164756E21
|
|
31
|
+
//# sourceMappingURL=divider.js.map
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/dom/components/divider.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Divider Component - Visual separator\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const dividerHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"hr\");\n el.dataset.hypenType = \"divider\";\n el.style.border = \"none\";\n el.style.borderTop = \"1px solid #e0e0e0\";\n el.style.margin = \"0\";\n return el;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n // Thickness\n if (props.thickness !== undefined) {\n const thickness = typeof props.thickness === \"number\" \n ? `${props.thickness}px` \n : String(props.thickness);\n el.style.borderTopWidth = thickness;\n }\n\n // Orientation\n if (props.orientation === \"vertical\") {\n el.style.borderTop = \"none\";\n el.style.borderLeft = \"1px solid #e0e0e0\";\n el.style.height = \"100%\";\n el.style.width = \"0\";\n el.style.display = \"inline-block\";\n }\n },\n};\n\n\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMa;AAAA;AAAA,mBAAmC;AAAA,IAC9C,MAAM,GAAgB;AAAA,MACpB,MAAM,KAAK,SAAS,cAAc,IAAI;AAAA,MACtC,GAAG,QAAQ,YAAY;AAAA,MACvB,GAAG,MAAM,SAAS;AAAA,MAClB,GAAG,MAAM,YAAY;AAAA,MACrB,GAAG,MAAM,SAAS;AAAA,MAClB,OAAO;AAAA;AAAA,IAGT,UAAU,CAAC,IAAiB,OAAkC;AAAA,MAE5D,IAAI,MAAM,cAAc,WAAW;AAAA,QACjC,MAAM,YAAY,OAAO,MAAM,cAAc,WACzC,GAAG,MAAM,gBACT,OAAO,MAAM,SAAS;AAAA,QAC1B,GAAG,MAAM,iBAAiB;AAAA,MAC5B;AAAA,MAGA,IAAI,MAAM,gBAAgB,YAAY;AAAA,QACpC,GAAG,MAAM,YAAY;AAAA,QACrB,GAAG,MAAM,aAAa;AAAA,QACtB,GAAG,MAAM,SAAS;AAAA,QAClB,GAAG,MAAM,QAAQ;AAAA,QACjB,GAAG,MAAM,UAAU;AAAA,MACrB;AAAA;AAAA,EAEJ;AAAA;",
|
|
8
|
-
"debugId": "4EBBBEDF0C2E623064756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
1
|
+
{"version":3,"file":"divider.js","sourceRoot":"","sources":["../../../src/dom/components/divider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,MAAM;QACJ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QACjC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACzC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,UAAU,CAAC,EAAe,EAAE,KAA0B;QACpD,YAAY;QACZ,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;gBACnD,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI;gBACxB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;QACtC,CAAC;QAED,cAAc;QACd,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YACrC,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,mBAAmB,CAAC;YAC1C,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;YACrB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC;QACpC,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -1,92 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var __toCommonJS = (from) => {
|
|
9
|
-
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
10
|
-
if (entry)
|
|
11
|
-
return entry;
|
|
12
|
-
entry = __defProp({}, "__esModule", { value: true });
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (var key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(entry, key))
|
|
16
|
-
__defProp(entry, key, {
|
|
17
|
-
get: __accessProp.bind(from, key),
|
|
18
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
__moduleCache.set(from, entry);
|
|
22
|
-
return entry;
|
|
23
|
-
};
|
|
24
|
-
var __moduleCache;
|
|
25
|
-
var __returnValue = (v) => v;
|
|
26
|
-
function __exportSetter(name, newValue) {
|
|
27
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
-
}
|
|
29
|
-
var __export = (target, all) => {
|
|
30
|
-
for (var name in all)
|
|
31
|
-
__defProp(target, name, {
|
|
32
|
-
get: all[name],
|
|
33
|
-
enumerable: true,
|
|
34
|
-
configurable: true,
|
|
35
|
-
set: __exportSetter.bind(all, name)
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
39
|
-
|
|
40
|
-
// src/dom/components/grid.ts
|
|
41
|
-
var exports_grid = {};
|
|
42
|
-
__export(exports_grid, {
|
|
43
|
-
gridHandler: () => gridHandler
|
|
44
|
-
});
|
|
1
|
+
/**
|
|
2
|
+
* Grid Component - CSS Grid Layout
|
|
3
|
+
*
|
|
4
|
+
* Grid items stretch to fill their cells by default (matching Android/iOS behavior).
|
|
5
|
+
*/
|
|
6
|
+
// Inject global styles for grid children
|
|
7
|
+
let gridStylesInjected = false;
|
|
45
8
|
function ensureGridStyles() {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
9
|
+
if (gridStylesInjected)
|
|
10
|
+
return;
|
|
11
|
+
gridStylesInjected = true;
|
|
12
|
+
const style = document.createElement("style");
|
|
13
|
+
style.id = "hypen-grid-styles";
|
|
14
|
+
style.textContent = `
|
|
52
15
|
/* Grid children stretch to fill cells by default (matches Android behavior) */
|
|
53
16
|
[data-hypen-type="grid"] > * {
|
|
54
17
|
justify-self: stretch;
|
|
55
18
|
align-self: stretch;
|
|
56
19
|
}
|
|
57
20
|
`;
|
|
58
|
-
|
|
21
|
+
document.head.appendChild(style);
|
|
59
22
|
}
|
|
60
|
-
|
|
61
|
-
var init_grid = __esm(() => {
|
|
62
|
-
gridHandler = {
|
|
23
|
+
export const gridHandler = {
|
|
63
24
|
create() {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
25
|
+
ensureGridStyles();
|
|
26
|
+
const el = document.createElement("div");
|
|
27
|
+
el.style.display = "grid";
|
|
28
|
+
el.dataset.hypenType = "grid";
|
|
29
|
+
return el;
|
|
69
30
|
},
|
|
70
31
|
applyProps(el, props) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
32
|
+
// Columns
|
|
33
|
+
if (props.columns !== undefined) {
|
|
34
|
+
const columns = typeof props.columns === "number"
|
|
35
|
+
? `repeat(${props.columns}, 1fr)`
|
|
36
|
+
: String(props.columns);
|
|
37
|
+
el.style.gridTemplateColumns = columns;
|
|
38
|
+
}
|
|
39
|
+
// Rows
|
|
40
|
+
if (props.rows !== undefined) {
|
|
41
|
+
const rows = typeof props.rows === "number"
|
|
42
|
+
? `repeat(${props.rows}, 1fr)`
|
|
43
|
+
: String(props.rows);
|
|
44
|
+
el.style.gridTemplateRows = rows;
|
|
45
|
+
}
|
|
46
|
+
// Gap
|
|
47
|
+
if (props.gap !== undefined) {
|
|
48
|
+
const gap = typeof props.gap === "number" ? `${props.gap}px` : String(props.gap);
|
|
49
|
+
el.style.gap = gap;
|
|
50
|
+
}
|
|
51
|
+
},
|
|
90
52
|
};
|
|
91
|
-
|
|
92
|
-
//# debugId=96BFDBC03C14F29264756E2164756E21
|
|
53
|
+
//# sourceMappingURL=grid.js.map
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/dom/components/grid.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Grid Component - CSS Grid Layout\n *\n * Grid items stretch to fill their cells by default (matching Android/iOS behavior).\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\n// Inject global styles for grid children\nlet gridStylesInjected = false;\nfunction ensureGridStyles(): void {\n if (gridStylesInjected) return;\n gridStylesInjected = true;\n\n const style = document.createElement(\"style\");\n style.id = \"hypen-grid-styles\";\n style.textContent = `\n /* Grid children stretch to fill cells by default (matches Android behavior) */\n [data-hypen-type=\"grid\"] > * {\n justify-self: stretch;\n align-self: stretch;\n }\n `;\n document.head.appendChild(style);\n}\n\nexport const gridHandler: ComponentHandler = {\n create(): HTMLElement {\n ensureGridStyles();\n\n const el = document.createElement(\"div\");\n el.style.display = \"grid\";\n el.dataset.hypenType = \"grid\";\n return el;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n // Columns\n if (props.columns !== undefined) {\n const columns = typeof props.columns === \"number\"\n ? `repeat(${props.columns}, 1fr)`\n : String(props.columns);\n el.style.gridTemplateColumns = columns;\n }\n\n // Rows\n if (props.rows !== undefined) {\n const rows = typeof props.rows === \"number\"\n ? `repeat(${props.rows}, 1fr)`\n : String(props.rows);\n el.style.gridTemplateRows = rows;\n }\n\n // Gap\n if (props.gap !== undefined) {\n const gap = typeof props.gap === \"number\" ? `${props.gap}px` : String(props.gap);\n el.style.gap = gap;\n }\n },\n};\n\n\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,SAAS,gBAAgB,GAAS;AAAA,EAChC,IAAI;AAAA,IAAoB;AAAA,EACxB,qBAAqB;AAAA,EAErB,MAAM,QAAQ,SAAS,cAAc,OAAO;AAAA,EAC5C,MAAM,KAAK;AAAA,EACX,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpB,SAAS,KAAK,YAAY,KAAK;AAAA;AAAA,IAd7B,qBAAqB,OAiBZ;AAAA;AAAA,gBAAgC;AAAA,IAC3C,MAAM,GAAgB;AAAA,MACpB,iBAAiB;AAAA,MAEjB,MAAM,KAAK,SAAS,cAAc,KAAK;AAAA,MACvC,GAAG,MAAM,UAAU;AAAA,MACnB,GAAG,QAAQ,YAAY;AAAA,MACvB,OAAO;AAAA;AAAA,IAGT,UAAU,CAAC,IAAiB,OAAkC;AAAA,MAE5D,IAAI,MAAM,YAAY,WAAW;AAAA,QAC/B,MAAM,UAAU,OAAO,MAAM,YAAY,WACrC,UAAU,MAAM,kBAChB,OAAO,MAAM,OAAO;AAAA,QACxB,GAAG,MAAM,sBAAsB;AAAA,MACjC;AAAA,MAGA,IAAI,MAAM,SAAS,WAAW;AAAA,QAC5B,MAAM,OAAO,OAAO,MAAM,SAAS,WAC/B,UAAU,MAAM,eAChB,OAAO,MAAM,IAAI;AAAA,QACrB,GAAG,MAAM,mBAAmB;AAAA,MAC9B;AAAA,MAGA,IAAI,MAAM,QAAQ,WAAW;AAAA,QAC3B,MAAM,MAAM,OAAO,MAAM,QAAQ,WAAW,GAAG,MAAM,UAAU,OAAO,MAAM,GAAG;AAAA,QAC/E,GAAG,MAAM,MAAM;AAAA,MACjB;AAAA;AAAA,EAEJ;AAAA;",
|
|
8
|
-
"debugId": "96BFDBC03C14F29264756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
1
|
+
{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../src/dom/components/grid.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,yCAAyC;AACzC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,SAAS,gBAAgB;IACvB,IAAI,kBAAkB;QAAE,OAAO;IAC/B,kBAAkB,GAAG,IAAI,CAAC;IAE1B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,mBAAmB,CAAC;IAC/B,KAAK,CAAC,WAAW,GAAG;;;;;;GAMnB,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,MAAM;QACJ,gBAAgB,EAAE,CAAC;QAEnB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,UAAU,CAAC,EAAe,EAAE,KAA0B;QACpD,UAAU;QACV,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;gBAC/C,CAAC,CAAC,UAAU,KAAK,CAAC,OAAO,QAAQ;gBACjC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1B,EAAE,CAAC,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACzC,CAAC;QAED,OAAO;QACP,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACzC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,QAAQ;gBAC9B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvB,EAAE,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,MAAM;QACN,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjF,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -1,79 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function __accessProp(key) {
|
|
6
|
-
return this[key];
|
|
7
|
-
}
|
|
8
|
-
var __toCommonJS = (from) => {
|
|
9
|
-
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
10
|
-
if (entry)
|
|
11
|
-
return entry;
|
|
12
|
-
entry = __defProp({}, "__esModule", { value: true });
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (var key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(entry, key))
|
|
16
|
-
__defProp(entry, key, {
|
|
17
|
-
get: __accessProp.bind(from, key),
|
|
18
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
__moduleCache.set(from, entry);
|
|
22
|
-
return entry;
|
|
23
|
-
};
|
|
24
|
-
var __moduleCache;
|
|
25
|
-
var __returnValue = (v) => v;
|
|
26
|
-
function __exportSetter(name, newValue) {
|
|
27
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
-
}
|
|
29
|
-
var __export = (target, all) => {
|
|
30
|
-
for (var name in all)
|
|
31
|
-
__defProp(target, name, {
|
|
32
|
-
get: all[name],
|
|
33
|
-
enumerable: true,
|
|
34
|
-
configurable: true,
|
|
35
|
-
set: __exportSetter.bind(all, name)
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
39
|
-
|
|
40
|
-
// src/dom/components/heading.ts
|
|
41
|
-
var exports_heading = {};
|
|
42
|
-
__export(exports_heading, {
|
|
43
|
-
headingHandler: () => headingHandler
|
|
44
|
-
});
|
|
45
|
-
var headingHandler;
|
|
46
|
-
var init_heading = __esm(() => {
|
|
47
|
-
headingHandler = {
|
|
1
|
+
/**
|
|
2
|
+
* Heading Component - Semantic headings (h1-h6)
|
|
3
|
+
*/
|
|
4
|
+
export const headingHandler = {
|
|
48
5
|
create() {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
6
|
+
const el = document.createElement("h2");
|
|
7
|
+
el.dataset.hypenType = "heading";
|
|
8
|
+
return el;
|
|
52
9
|
},
|
|
53
10
|
applyProps(el, props) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
11
|
+
// Level property (1-6)
|
|
12
|
+
if (props.level !== undefined) {
|
|
13
|
+
const level = Math.max(1, Math.min(6, Number(props.level)));
|
|
14
|
+
const newEl = document.createElement(`h${level}`);
|
|
15
|
+
newEl.dataset.hypenType = "heading";
|
|
16
|
+
// Copy content and attributes
|
|
17
|
+
newEl.innerHTML = el.innerHTML;
|
|
18
|
+
Array.from(el.attributes).forEach(attr => {
|
|
19
|
+
newEl.setAttribute(attr.name, attr.value);
|
|
20
|
+
});
|
|
21
|
+
// Replace the element
|
|
22
|
+
if (el.parentNode) {
|
|
23
|
+
el.parentNode.replaceChild(newEl, el);
|
|
24
|
+
}
|
|
64
25
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
});
|
|
73
|
-
init_heading();
|
|
74
|
-
|
|
75
|
-
export {
|
|
76
|
-
headingHandler
|
|
26
|
+
// Text content
|
|
27
|
+
const text = props["0"] || props.text;
|
|
28
|
+
if (text !== undefined) {
|
|
29
|
+
el.textContent = String(text);
|
|
30
|
+
}
|
|
31
|
+
},
|
|
77
32
|
};
|
|
78
|
-
|
|
79
|
-
//# debugId=FF5A0680D5657CEB64756E2164756E21
|
|
33
|
+
//# sourceMappingURL=heading.js.map
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/dom/components/heading.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Heading Component - Semantic headings (h1-h6)\n */\n\nimport type { ComponentHandler } from \"./index.js\";\n\nexport const headingHandler: ComponentHandler = {\n create(): HTMLElement {\n const el = document.createElement(\"h2\");\n el.dataset.hypenType = \"heading\";\n return el;\n },\n\n applyProps(el: HTMLElement, props: Record<string, any>): void {\n // Level property (1-6)\n if (props.level !== undefined) {\n const level = Math.max(1, Math.min(6, Number(props.level)));\n const newEl = document.createElement(`h${level}`);\n newEl.dataset.hypenType = \"heading\";\n \n // Copy content and attributes\n newEl.innerHTML = el.innerHTML;\n Array.from(el.attributes).forEach(attr => {\n newEl.setAttribute(attr.name, attr.value);\n });\n \n // Replace the element\n if (el.parentNode) {\n el.parentNode.replaceChild(newEl, el);\n }\n }\n\n // Text content\n const text = props[\"0\"] || props.text;\n if (text !== undefined) {\n el.textContent = String(text);\n }\n },\n};\n\n\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMa;AAAA;AAAA,mBAAmC;AAAA,IAC9C,MAAM,GAAgB;AAAA,MACpB,MAAM,KAAK,SAAS,cAAc,IAAI;AAAA,MACtC,GAAG,QAAQ,YAAY;AAAA,MACvB,OAAO;AAAA;AAAA,IAGT,UAAU,CAAC,IAAiB,OAAkC;AAAA,MAE5D,IAAI,MAAM,UAAU,WAAW;AAAA,QAC7B,MAAM,QAAQ,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,OAAO,MAAM,KAAK,CAAC,CAAC;AAAA,QAC1D,MAAM,QAAQ,SAAS,cAAc,IAAI,OAAO;AAAA,QAChD,MAAM,QAAQ,YAAY;AAAA,QAG1B,MAAM,YAAY,GAAG;AAAA,QACrB,MAAM,KAAK,GAAG,UAAU,EAAE,QAAQ,UAAQ;AAAA,UACxC,MAAM,aAAa,KAAK,MAAM,KAAK,KAAK;AAAA,SACzC;AAAA,QAGD,IAAI,GAAG,YAAY;AAAA,UACjB,GAAG,WAAW,aAAa,OAAO,EAAE;AAAA,QACtC;AAAA,MACF;AAAA,MAGA,MAAM,OAAO,MAAM,QAAQ,MAAM;AAAA,MACjC,IAAI,SAAS,WAAW;AAAA,QACtB,GAAG,cAAc,OAAO,IAAI;AAAA,MAC9B;AAAA;AAAA,EAEJ;AAAA;",
|
|
8
|
-
"debugId": "FF5A0680D5657CEB64756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
1
|
+
{"version":3,"file":"heading.js","sourceRoot":"","sources":["../../../src/dom/components/heading.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,MAAM;QACJ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,UAAU,CAAC,EAAe,EAAE,KAA0B;QACpD,uBAAuB;QACvB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;YAClD,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YAEpC,8BAA8B;YAC9B,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,sBAAsB;YACtB,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;gBAClB,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,eAAe;QACf,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF,CAAC"}
|