@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,151 +1,145 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
};
|
|
38
|
-
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
39
|
-
|
|
40
|
-
// src/dom/applicators/layout.ts
|
|
41
|
-
function mapAlignmentValue(value) {
|
|
42
|
-
const v = String(value).toLowerCase();
|
|
43
|
-
switch (v) {
|
|
44
|
-
case "top":
|
|
45
|
-
case "start":
|
|
46
|
-
case "leading":
|
|
47
|
-
case "left":
|
|
48
|
-
return "flex-start";
|
|
49
|
-
case "bottom":
|
|
50
|
-
case "end":
|
|
51
|
-
case "trailing":
|
|
52
|
-
case "right":
|
|
53
|
-
return "flex-end";
|
|
54
|
-
case "center":
|
|
55
|
-
return "center";
|
|
56
|
-
case "spacebetween":
|
|
57
|
-
case "space-between":
|
|
58
|
-
return "space-between";
|
|
59
|
-
case "spacearound":
|
|
60
|
-
case "space-around":
|
|
61
|
-
return "space-around";
|
|
62
|
-
case "spaceevenly":
|
|
63
|
-
case "space-evenly":
|
|
64
|
-
return "space-evenly";
|
|
65
|
-
default:
|
|
66
|
-
return v;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
var layoutHandlers = {
|
|
70
|
-
verticalAlignment: (el, value) => {
|
|
71
|
-
const val = mapAlignmentValue(String(value));
|
|
72
|
-
const display = el.style.display || getComputedStyle(el).display;
|
|
73
|
-
const flexDirection = el.style.flexDirection || getComputedStyle(el).flexDirection;
|
|
74
|
-
if (display === "grid") {
|
|
75
|
-
el.style.alignItems = val;
|
|
76
|
-
} else if (flexDirection === "column" || flexDirection === "column-reverse") {
|
|
77
|
-
el.style.justifyContent = val;
|
|
78
|
-
} else {
|
|
79
|
-
el.style.alignItems = val;
|
|
1
|
+
/**
|
|
2
|
+
* Layout Applicators (Flexbox/Grid)
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Maps Hypen alignment values to CSS flexbox values.
|
|
6
|
+
* Ensures consistent cross-platform API (Android/iOS/Web).
|
|
7
|
+
*/
|
|
8
|
+
export function mapAlignmentValue(value) {
|
|
9
|
+
const v = String(value).toLowerCase();
|
|
10
|
+
switch (v) {
|
|
11
|
+
// Positional values -> CSS equivalents
|
|
12
|
+
case "top":
|
|
13
|
+
case "start":
|
|
14
|
+
case "leading":
|
|
15
|
+
case "left":
|
|
16
|
+
return "flex-start";
|
|
17
|
+
case "bottom":
|
|
18
|
+
case "end":
|
|
19
|
+
case "trailing":
|
|
20
|
+
case "right":
|
|
21
|
+
return "flex-end";
|
|
22
|
+
case "center":
|
|
23
|
+
return "center";
|
|
24
|
+
// Spacing values -> CSS equivalents
|
|
25
|
+
case "spacebetween":
|
|
26
|
+
case "space-between":
|
|
27
|
+
return "space-between";
|
|
28
|
+
case "spacearound":
|
|
29
|
+
case "space-around":
|
|
30
|
+
return "space-around";
|
|
31
|
+
case "spaceevenly":
|
|
32
|
+
case "space-evenly":
|
|
33
|
+
return "space-evenly";
|
|
34
|
+
// Pass through CSS values as-is
|
|
35
|
+
default:
|
|
36
|
+
return v;
|
|
80
37
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
38
|
+
}
|
|
39
|
+
export const layoutHandlers = {
|
|
40
|
+
// Unified alignment API - works for both Column and Row
|
|
41
|
+
verticalAlignment: (el, value) => {
|
|
42
|
+
const val = mapAlignmentValue(String(value));
|
|
43
|
+
// Check display and flex-direction to determine which CSS property to set
|
|
44
|
+
const display = el.style.display || getComputedStyle(el).display;
|
|
45
|
+
const flexDirection = el.style.flexDirection || getComputedStyle(el).flexDirection;
|
|
46
|
+
if (display === "grid") {
|
|
47
|
+
// For Grid (Stack): use align-items to align children vertically
|
|
48
|
+
el.style.alignItems = val;
|
|
49
|
+
}
|
|
50
|
+
else if (flexDirection === "column" || flexDirection === "column-reverse") {
|
|
51
|
+
// For column: vertical is the main axis (justify-content)
|
|
52
|
+
el.style.justifyContent = val;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// For row: vertical is the cross axis (align-items)
|
|
56
|
+
el.style.alignItems = val;
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
horizontalAlignment: (el, value) => {
|
|
60
|
+
const val = mapAlignmentValue(String(value));
|
|
61
|
+
// Check display and flex-direction to determine which CSS property to set
|
|
62
|
+
const display = el.style.display || getComputedStyle(el).display;
|
|
63
|
+
const flexDirection = el.style.flexDirection || getComputedStyle(el).flexDirection;
|
|
64
|
+
if (display === "grid") {
|
|
65
|
+
// For Grid (Stack): use justify-items to align children horizontally
|
|
66
|
+
el.style.justifyItems = val;
|
|
67
|
+
}
|
|
68
|
+
else if (flexDirection === "column" || flexDirection === "column-reverse") {
|
|
69
|
+
// For column: horizontal is the cross axis (align-items)
|
|
70
|
+
el.style.alignItems = val;
|
|
71
|
+
}
|
|
72
|
+
else if (flexDirection === "row" || flexDirection === "row-reverse") {
|
|
73
|
+
// For row: horizontal is the main axis (justify-content)
|
|
74
|
+
el.style.justifyContent = val;
|
|
75
|
+
// For arrangement to have visible effect, Row needs to fill available width
|
|
76
|
+
// (matching iOS/Android behavior where non-start alignment auto-expands)
|
|
77
|
+
// Only auto-expand if not scrollable
|
|
78
|
+
if (val !== "flex-start" && el.style.overflow !== "auto" && el.style.overflowX !== "auto") {
|
|
79
|
+
el.style.width = "100%";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
// Fallback for other display types
|
|
84
|
+
el.style.justifyContent = val;
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
// Legacy aliases (kept for backward compatibility)
|
|
88
|
+
horizontalAlign: (el, value) => {
|
|
89
|
+
el.style.justifyContent = mapAlignmentValue(String(value));
|
|
90
|
+
},
|
|
91
|
+
verticalAlign: (el, value) => {
|
|
92
|
+
el.style.alignItems = mapAlignmentValue(String(value));
|
|
93
|
+
},
|
|
94
|
+
gap: (el, value) => {
|
|
95
|
+
el.style.gap = typeof value === "number" ? `${value}px` : String(value);
|
|
96
|
+
},
|
|
97
|
+
// weight: unified cross-platform API (same as flex)
|
|
98
|
+
// Use .weight(1) to make element take remaining space in Row/Column
|
|
99
|
+
weight: (el, value) => {
|
|
100
|
+
el.style.flex = String(value);
|
|
101
|
+
// Mark element as having flex for CSS parent detection
|
|
102
|
+
el.dataset.hypenFlex = "true";
|
|
103
|
+
},
|
|
104
|
+
// flex: CSS flex shorthand (kept for CSS compatibility)
|
|
105
|
+
flex: (el, value) => {
|
|
106
|
+
el.style.flex = String(value);
|
|
107
|
+
// Mark element as having flex for CSS parent detection
|
|
108
|
+
el.dataset.hypenFlex = "true";
|
|
109
|
+
},
|
|
110
|
+
flexGrow: (el, value) => {
|
|
111
|
+
el.style.flexGrow = String(value);
|
|
112
|
+
},
|
|
113
|
+
flexShrink: (el, value) => {
|
|
114
|
+
el.style.flexShrink = String(value);
|
|
115
|
+
},
|
|
116
|
+
cursor: (el, value) => {
|
|
117
|
+
el.style.cursor = String(value);
|
|
118
|
+
},
|
|
119
|
+
overflow: (el, value) => {
|
|
120
|
+
el.style.overflow = String(value);
|
|
121
|
+
},
|
|
122
|
+
scrollable: (el, value) => {
|
|
123
|
+
if (value === true || value === "true") {
|
|
124
|
+
el.style.overflow = "auto";
|
|
125
|
+
}
|
|
126
|
+
else if (value === false || value === "false") {
|
|
127
|
+
el.style.overflow = "hidden";
|
|
128
|
+
}
|
|
129
|
+
else if (value === "vertical") {
|
|
130
|
+
el.style.overflowX = "hidden";
|
|
131
|
+
el.style.overflowY = "auto";
|
|
132
|
+
}
|
|
133
|
+
else if (value === "horizontal") {
|
|
134
|
+
el.style.overflowX = "auto";
|
|
135
|
+
el.style.overflowY = "hidden";
|
|
136
|
+
}
|
|
137
|
+
else if (value === "both") {
|
|
138
|
+
el.style.overflow = "auto";
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
el.style.overflow = String(value);
|
|
142
|
+
}
|
|
143
|
+
},
|
|
149
144
|
};
|
|
150
|
-
|
|
151
|
-
//# debugId=2982DE6D6B400B8964756E2164756E21
|
|
145
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/dom/applicators/layout.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Layout Applicators (Flexbox/Grid)\n */\n\nimport type { ApplicatorHandler } from \"./types.js\";\n\n/**\n * Maps Hypen alignment values to CSS flexbox values.\n * Ensures consistent cross-platform API (Android/iOS/Web).\n */\nexport function mapAlignmentValue(value: string): string {\n const v = String(value).toLowerCase();\n switch (v) {\n // Positional values -> CSS equivalents\n case \"top\":\n case \"start\":\n case \"leading\":\n case \"left\":\n return \"flex-start\";\n case \"bottom\":\n case \"end\":\n case \"trailing\":\n case \"right\":\n return \"flex-end\";\n case \"center\":\n return \"center\";\n // Spacing values -> CSS equivalents\n case \"spacebetween\":\n case \"space-between\":\n return \"space-between\";\n case \"spacearound\":\n case \"space-around\":\n return \"space-around\";\n case \"spaceevenly\":\n case \"space-evenly\":\n return \"space-evenly\";\n // Pass through CSS values as-is\n default:\n return v;\n }\n}\n\nexport const layoutHandlers: Record<string, ApplicatorHandler> = {\n // Unified alignment API - works for both Column and Row\n verticalAlignment: (el, value) => {\n const val = mapAlignmentValue(String(value));\n // Check display and flex-direction to determine which CSS property to set\n const display = el.style.display || getComputedStyle(el).display;\n const flexDirection = el.style.flexDirection || getComputedStyle(el).flexDirection;\n\n if (display === \"grid\") {\n // For Grid (Stack): use align-items to align children vertically\n el.style.alignItems = val;\n } else if (flexDirection === \"column\" || flexDirection === \"column-reverse\") {\n // For column: vertical is the main axis (justify-content)\n el.style.justifyContent = val;\n } else {\n // For row: vertical is the cross axis (align-items)\n el.style.alignItems = val;\n }\n },\n\n horizontalAlignment: (el, value) => {\n const val = mapAlignmentValue(String(value));\n // Check display and flex-direction to determine which CSS property to set\n const display = el.style.display || getComputedStyle(el).display;\n const flexDirection = el.style.flexDirection || getComputedStyle(el).flexDirection;\n\n if (display === \"grid\") {\n // For Grid (Stack): use justify-items to align children horizontally\n el.style.justifyItems = val;\n } else if (flexDirection === \"column\" || flexDirection === \"column-reverse\") {\n // For column: horizontal is the cross axis (align-items)\n el.style.alignItems = val;\n } else if (flexDirection === \"row\" || flexDirection === \"row-reverse\") {\n // For row: horizontal is the main axis (justify-content)\n el.style.justifyContent = val;\n // For arrangement to have visible effect, Row needs to fill available width\n // (matching iOS/Android behavior where non-start alignment auto-expands)\n // Only auto-expand if not scrollable\n if (val !== \"flex-start\" && el.style.overflow !== \"auto\" && el.style.overflowX !== \"auto\") {\n el.style.width = \"100%\";\n }\n } else {\n // Fallback for other display types\n el.style.justifyContent = val;\n }\n },\n\n // Legacy aliases (kept for backward compatibility)\n horizontalAlign: (el, value) => {\n el.style.justifyContent = mapAlignmentValue(String(value));\n },\n\n verticalAlign: (el, value) => {\n el.style.alignItems = mapAlignmentValue(String(value));\n },\n\n gap: (el, value) => {\n el.style.gap = typeof value === \"number\" ? `${value}px` : String(value);\n },\n\n // weight: unified cross-platform API (same as flex)\n // Use .weight(1) to make element take remaining space in Row/Column\n weight: (el, value) => {\n el.style.flex = String(value);\n // Mark element as having flex for CSS parent detection\n el.dataset.hypenFlex = \"true\";\n },\n\n // flex: CSS flex shorthand (kept for CSS compatibility)\n flex: (el, value) => {\n el.style.flex = String(value);\n // Mark element as having flex for CSS parent detection\n el.dataset.hypenFlex = \"true\";\n },\n\n flexGrow: (el, value) => {\n el.style.flexGrow = String(value);\n },\n\n flexShrink: (el, value) => {\n el.style.flexShrink = String(value);\n },\n\n cursor: (el, value) => {\n el.style.cursor = String(value);\n },\n\n overflow: (el, value) => {\n el.style.overflow = String(value);\n },\n\n scrollable: (el, value) => {\n if (value === true || value === \"true\") {\n el.style.overflow = \"auto\";\n } else if (value === false || value === \"false\") {\n el.style.overflow = \"hidden\";\n } else if (value === \"vertical\") {\n el.style.overflowX = \"hidden\";\n el.style.overflowY = \"auto\";\n } else if (value === \"horizontal\") {\n el.style.overflowX = \"auto\";\n el.style.overflowY = \"hidden\";\n } else if (value === \"both\") {\n el.style.overflow = \"auto\";\n } else {\n el.style.overflow = String(value);\n }\n },\n};\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "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",
|
|
8
|
-
"debugId": "2982DE6D6B400B8964756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/dom/applicators/layout.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC;QACV,uCAAuC;QACvC,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,MAAM;YACT,OAAO,YAAY,CAAC;QACtB,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK,CAAC;QACX,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,UAAU,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,oCAAoC;QACpC,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe;YAClB,OAAO,eAAe,CAAC;QACzB,KAAK,aAAa,CAAC;QACnB,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,KAAK,aAAa,CAAC;QACnB,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,gCAAgC;QAChC;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAsC;IAC/D,wDAAwD;IACxD,iBAAiB,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,0EAA0E;QAC1E,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QACjE,MAAM,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC;QAEnF,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,iEAAiE;YACjE,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;QAC5B,CAAC;aAAM,IAAI,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;YAC5E,0DAA0D;YAC1D,EAAE,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,mBAAmB,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,0EAA0E;QAC1E,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QACjE,MAAM,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC;QAEnF,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,qEAAqE;YACrE,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC;QAC9B,CAAC;aAAM,IAAI,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;YAC5E,yDAAyD;YACzD,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;QAC5B,CAAC;aAAM,IAAI,aAAa,KAAK,KAAK,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;YACtE,yDAAyD;YACzD,EAAE,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC;YAC9B,4EAA4E;YAC5E,yEAAyE;YACzE,qCAAqC;YACrC,IAAI,GAAG,KAAK,YAAY,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBAC1F,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,EAAE,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC;QAChC,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,eAAe,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QAC7B,EAAE,CAAC,KAAK,CAAC,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QAC3B,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACjB,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,oDAAoD;IACpD,oEAAoE;IACpE,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACpB,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,uDAAuD;QACvD,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;IAChC,CAAC;IAED,wDAAwD;IACxD,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QAClB,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,uDAAuD;QACvD,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;IAChC,CAAC;IAED,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACtB,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACxB,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACpB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACtB,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACxB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACvC,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;QAC7B,CAAC;aAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAChD,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,CAAC;aAAM,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC9B,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;QAC9B,CAAC;aAAM,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;YAClC,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;QAChC,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5B,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -1,114 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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;
|
|
1
|
+
/**
|
|
2
|
+
* Margin Applicators
|
|
3
|
+
*/
|
|
4
|
+
// Helper to extract numeric value from applicator value
|
|
5
|
+
const getNumericValue = (value) => {
|
|
6
|
+
if (typeof value === "number")
|
|
7
|
+
return value;
|
|
8
|
+
if (typeof value === "object" && value["0"] !== undefined)
|
|
9
|
+
return Number(value["0"]);
|
|
10
|
+
if (typeof value === "string")
|
|
11
|
+
return parseFloat(value);
|
|
12
|
+
return null;
|
|
23
13
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (typeof value === "string")
|
|
47
|
-
return parseFloat(value);
|
|
48
|
-
return null;
|
|
49
|
-
};
|
|
50
|
-
var marginHandler = (el, value) => {
|
|
51
|
-
if (typeof value === "number") {
|
|
52
|
-
el.style.margin = `${value}px`;
|
|
53
|
-
} else if (typeof value === "object") {
|
|
54
|
-
if (value["0"] !== undefined && Object.keys(value).length === 1) {
|
|
55
|
-
el.style.margin = `${value["0"]}px`;
|
|
56
|
-
} else {
|
|
57
|
-
if (value.left !== undefined)
|
|
58
|
-
el.style.marginLeft = `${value.left}px`;
|
|
59
|
-
if (value.right !== undefined)
|
|
60
|
-
el.style.marginRight = `${value.right}px`;
|
|
61
|
-
if (value.top !== undefined)
|
|
62
|
-
el.style.marginTop = `${value.top}px`;
|
|
63
|
-
if (value.bottom !== undefined)
|
|
64
|
-
el.style.marginBottom = `${value.bottom}px`;
|
|
14
|
+
export const marginHandler = (el, value) => {
|
|
15
|
+
if (typeof value === "number") {
|
|
16
|
+
el.style.margin = `${value}px`;
|
|
17
|
+
}
|
|
18
|
+
else if (typeof value === "object") {
|
|
19
|
+
// Handle {0: value} format from .margin(value)
|
|
20
|
+
if (value["0"] !== undefined && Object.keys(value).length === 1) {
|
|
21
|
+
el.style.margin = `${value["0"]}px`;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
if (value.left !== undefined)
|
|
25
|
+
el.style.marginLeft = `${value.left}px`;
|
|
26
|
+
if (value.right !== undefined)
|
|
27
|
+
el.style.marginRight = `${value.right}px`;
|
|
28
|
+
if (value.top !== undefined)
|
|
29
|
+
el.style.marginTop = `${value.top}px`;
|
|
30
|
+
if (value.bottom !== undefined)
|
|
31
|
+
el.style.marginBottom = `${value.bottom}px`;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
el.style.margin = String(value);
|
|
65
36
|
}
|
|
66
|
-
} else {
|
|
67
|
-
el.style.margin = String(value);
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
var marginTopHandler = (el, value) => {
|
|
71
|
-
const v = getNumericValue(value);
|
|
72
|
-
if (v !== null)
|
|
73
|
-
el.style.marginTop = `${v}px`;
|
|
74
37
|
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
38
|
+
// Directional margin handlers for .marginTop(8), .marginBottom(8), etc.
|
|
39
|
+
export const marginTopHandler = (el, value) => {
|
|
40
|
+
const v = getNumericValue(value);
|
|
41
|
+
if (v !== null)
|
|
42
|
+
el.style.marginTop = `${v}px`;
|
|
79
43
|
};
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
44
|
+
export const marginBottomHandler = (el, value) => {
|
|
45
|
+
const v = getNumericValue(value);
|
|
46
|
+
if (v !== null)
|
|
47
|
+
el.style.marginBottom = `${v}px`;
|
|
84
48
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
49
|
+
export const marginLeftHandler = (el, value) => {
|
|
50
|
+
const v = getNumericValue(value);
|
|
51
|
+
if (v !== null)
|
|
52
|
+
el.style.marginLeft = `${v}px`;
|
|
89
53
|
};
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
el.style.marginRight = `${v}px`;
|
|
95
|
-
}
|
|
54
|
+
export const marginRightHandler = (el, value) => {
|
|
55
|
+
const v = getNumericValue(value);
|
|
56
|
+
if (v !== null)
|
|
57
|
+
el.style.marginRight = `${v}px`;
|
|
96
58
|
};
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
59
|
+
export const marginHorizontalHandler = (el, value) => {
|
|
60
|
+
const v = getNumericValue(value);
|
|
61
|
+
if (v !== null) {
|
|
62
|
+
el.style.marginLeft = `${v}px`;
|
|
63
|
+
el.style.marginRight = `${v}px`;
|
|
64
|
+
}
|
|
103
65
|
};
|
|
104
|
-
export {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
marginHandler,
|
|
111
|
-
marginBottomHandler
|
|
66
|
+
export const marginVerticalHandler = (el, value) => {
|
|
67
|
+
const v = getNumericValue(value);
|
|
68
|
+
if (v !== null) {
|
|
69
|
+
el.style.marginTop = `${v}px`;
|
|
70
|
+
el.style.marginBottom = `${v}px`;
|
|
71
|
+
}
|
|
112
72
|
};
|
|
113
|
-
|
|
114
|
-
//# debugId=8E302FFA69B77AF964756E2164756E21
|
|
73
|
+
//# sourceMappingURL=margin.js.map
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/dom/applicators/margin.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Margin Applicators\n */\n\nimport type { ApplicatorHandler } from \"./types.js\";\n\n// Helper to extract numeric value from applicator value\nconst getNumericValue = (value: any): number | null => {\n if (typeof value === \"number\") return value;\n if (typeof value === \"object\" && value[\"0\"] !== undefined) return Number(value[\"0\"]);\n if (typeof value === \"string\") return parseFloat(value);\n return null;\n};\n\nexport const marginHandler: ApplicatorHandler = (el, value) => {\n if (typeof value === \"number\") {\n el.style.margin = `${value}px`;\n } else if (typeof value === \"object\") {\n // Handle {0: value} format from .margin(value)\n if (value[\"0\"] !== undefined && Object.keys(value).length === 1) {\n el.style.margin = `${value[\"0\"]}px`;\n } else {\n if (value.left !== undefined) el.style.marginLeft = `${value.left}px`;\n if (value.right !== undefined) el.style.marginRight = `${value.right}px`;\n if (value.top !== undefined) el.style.marginTop = `${value.top}px`;\n if (value.bottom !== undefined) el.style.marginBottom = `${value.bottom}px`;\n }\n } else {\n el.style.margin = String(value);\n }\n};\n\n// Directional margin handlers for .marginTop(8), .marginBottom(8), etc.\nexport const marginTopHandler: ApplicatorHandler = (el, value) => {\n const v = getNumericValue(value);\n if (v !== null) el.style.marginTop = `${v}px`;\n};\n\nexport const marginBottomHandler: ApplicatorHandler = (el, value) => {\n const v = getNumericValue(value);\n if (v !== null) el.style.marginBottom = `${v}px`;\n};\n\nexport const marginLeftHandler: ApplicatorHandler = (el, value) => {\n const v = getNumericValue(value);\n if (v !== null) el.style.marginLeft = `${v}px`;\n};\n\nexport const marginRightHandler: ApplicatorHandler = (el, value) => {\n const v = getNumericValue(value);\n if (v !== null) el.style.marginRight = `${v}px`;\n};\n\nexport const marginHorizontalHandler: ApplicatorHandler = (el, value) => {\n const v = getNumericValue(value);\n if (v !== null) {\n el.style.marginLeft = `${v}px`;\n el.style.marginRight = `${v}px`;\n }\n};\n\nexport const marginVerticalHandler: ApplicatorHandler = (el, value) => {\n const v = getNumericValue(value);\n if (v !== null) {\n el.style.marginTop = `${v}px`;\n el.style.marginBottom = `${v}px`;\n }\n};\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAM,kBAAkB,CAAC,UAA8B;AAAA,EACrD,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EACtC,IAAI,OAAO,UAAU,YAAY,MAAM,SAAS;AAAA,IAAW,OAAO,OAAO,MAAM,IAAI;AAAA,EACnF,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO,WAAW,KAAK;AAAA,EACtD,OAAO;AAAA;AAGF,IAAM,gBAAmC,CAAC,IAAI,UAAU;AAAA,EAC7D,IAAI,OAAO,UAAU,UAAU;AAAA,IAC7B,GAAG,MAAM,SAAS,GAAG;AAAA,EACvB,EAAO,SAAI,OAAO,UAAU,UAAU;AAAA,IAEpC,IAAI,MAAM,SAAS,aAAa,OAAO,KAAK,KAAK,EAAE,WAAW,GAAG;AAAA,MAC/D,GAAG,MAAM,SAAS,GAAG,MAAM;AAAA,IAC7B,EAAO;AAAA,MACL,IAAI,MAAM,SAAS;AAAA,QAAW,GAAG,MAAM,aAAa,GAAG,MAAM;AAAA,MAC7D,IAAI,MAAM,UAAU;AAAA,QAAW,GAAG,MAAM,cAAc,GAAG,MAAM;AAAA,MAC/D,IAAI,MAAM,QAAQ;AAAA,QAAW,GAAG,MAAM,YAAY,GAAG,MAAM;AAAA,MAC3D,IAAI,MAAM,WAAW;AAAA,QAAW,GAAG,MAAM,eAAe,GAAG,MAAM;AAAA;AAAA,EAErE,EAAO;AAAA,IACL,GAAG,MAAM,SAAS,OAAO,KAAK;AAAA;AAAA;AAK3B,IAAM,mBAAsC,CAAC,IAAI,UAAU;AAAA,EAChE,MAAM,IAAI,gBAAgB,KAAK;AAAA,EAC/B,IAAI,MAAM;AAAA,IAAM,GAAG,MAAM,YAAY,GAAG;AAAA;AAGnC,IAAM,sBAAyC,CAAC,IAAI,UAAU;AAAA,EACnE,MAAM,IAAI,gBAAgB,KAAK;AAAA,EAC/B,IAAI,MAAM;AAAA,IAAM,GAAG,MAAM,eAAe,GAAG;AAAA;AAGtC,IAAM,oBAAuC,CAAC,IAAI,UAAU;AAAA,EACjE,MAAM,IAAI,gBAAgB,KAAK;AAAA,EAC/B,IAAI,MAAM;AAAA,IAAM,GAAG,MAAM,aAAa,GAAG;AAAA;AAGpC,IAAM,qBAAwC,CAAC,IAAI,UAAU;AAAA,EAClE,MAAM,IAAI,gBAAgB,KAAK;AAAA,EAC/B,IAAI,MAAM;AAAA,IAAM,GAAG,MAAM,cAAc,GAAG;AAAA;AAGrC,IAAM,0BAA6C,CAAC,IAAI,UAAU;AAAA,EACvE,MAAM,IAAI,gBAAgB,KAAK;AAAA,EAC/B,IAAI,MAAM,MAAM;AAAA,IACd,GAAG,MAAM,aAAa,GAAG;AAAA,IACzB,GAAG,MAAM,cAAc,GAAG;AAAA,EAC5B;AAAA;AAGK,IAAM,wBAA2C,CAAC,IAAI,UAAU;AAAA,EACrE,MAAM,IAAI,gBAAgB,KAAK;AAAA,EAC/B,IAAI,MAAM,MAAM;AAAA,IACd,GAAG,MAAM,YAAY,GAAG;AAAA,IACxB,GAAG,MAAM,eAAe,GAAG;AAAA,EAC7B;AAAA;",
|
|
8
|
-
"debugId": "8E302FFA69B77AF964756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
|
1
|
+
{"version":3,"file":"margin.js","sourceRoot":"","sources":["../../../src/dom/applicators/margin.ts"],"names":[],"mappings":"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"}
|