@hypen-space/web 0.2.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/chunk-2s02mkzs.js +32 -0
- package/dist/chunk-2s02mkzs.js.map +9 -0
- package/dist/src/canvas/accessibility.js +152 -0
- package/dist/src/canvas/accessibility.js.map +10 -0
- package/dist/src/canvas/events.js +198 -0
- package/dist/src/canvas/events.js.map +10 -0
- package/dist/src/canvas/index.js +28 -0
- package/dist/src/canvas/index.js.map +9 -0
- package/dist/src/canvas/input.js +132 -0
- package/dist/src/canvas/input.js.map +10 -0
- package/dist/src/canvas/layout.js +309 -0
- package/dist/src/canvas/layout.js.map +10 -0
- package/dist/src/canvas/paint.js +878 -0
- package/dist/src/canvas/paint.js.map +10 -0
- package/dist/src/canvas/renderer.js +276 -0
- package/dist/src/canvas/renderer.js.map +10 -0
- package/dist/src/canvas/text.js +118 -0
- package/dist/src/canvas/text.js.map +10 -0
- package/dist/src/canvas/types.js +2 -0
- package/dist/src/canvas/types.js.map +9 -0
- package/dist/src/canvas/utils.js +139 -0
- package/dist/src/canvas/utils.js.map +10 -0
- package/dist/src/dom/applicators/advanced-layout.js +111 -0
- package/dist/src/dom/applicators/advanced-layout.js.map +10 -0
- package/dist/src/dom/applicators/background.js +54 -0
- package/dist/src/dom/applicators/background.js.map +10 -0
- package/dist/src/dom/applicators/border.js +33 -0
- package/dist/src/dom/applicators/border.js.map +10 -0
- package/dist/src/dom/applicators/color.js +36 -0
- package/dist/src/dom/applicators/color.js.map +10 -0
- package/dist/src/dom/applicators/display.js +57 -0
- package/dist/src/dom/applicators/display.js.map +10 -0
- package/dist/src/dom/applicators/effects.js +89 -0
- package/dist/src/dom/applicators/effects.js.map +10 -0
- package/dist/src/dom/applicators/events.js +518 -0
- package/dist/src/dom/applicators/events.js.map +10 -0
- package/dist/src/dom/applicators/font.js +39 -0
- package/dist/src/dom/applicators/font.js.map +10 -0
- package/dist/src/dom/applicators/index.js +296 -0
- package/dist/src/dom/applicators/index.js.map +10 -0
- package/dist/src/dom/applicators/layout.js +86 -0
- package/dist/src/dom/applicators/layout.js.map +10 -0
- package/dist/src/dom/applicators/margin.js +32 -0
- package/dist/src/dom/applicators/margin.js.map +10 -0
- package/dist/src/dom/applicators/padding.js +35 -0
- package/dist/src/dom/applicators/padding.js.map +10 -0
- package/dist/src/dom/applicators/size.js +42 -0
- package/dist/src/dom/applicators/size.js.map +10 -0
- package/dist/src/dom/applicators/transform.js +92 -0
- package/dist/src/dom/applicators/transform.js.map +10 -0
- package/dist/src/dom/applicators/transition.js +66 -0
- package/dist/src/dom/applicators/transition.js.map +10 -0
- package/dist/src/dom/applicators/typography.js +87 -0
- package/dist/src/dom/applicators/typography.js.map +10 -0
- package/dist/src/dom/canvas/index.js +50 -0
- package/dist/src/dom/canvas/index.js.map +10 -0
- package/dist/src/dom/components/audio.js +48 -0
- package/dist/src/dom/components/audio.js.map +10 -0
- package/dist/src/dom/components/avatar.js +58 -0
- package/dist/src/dom/components/avatar.js.map +10 -0
- package/dist/src/dom/components/badge.js +55 -0
- package/dist/src/dom/components/badge.js.map +10 -0
- package/dist/src/dom/components/button.js +29 -0
- package/dist/src/dom/components/button.js.map +10 -0
- package/dist/src/dom/components/card.js +33 -0
- package/dist/src/dom/components/card.js.map +10 -0
- package/dist/src/dom/components/center.js +32 -0
- package/dist/src/dom/components/center.js.map +10 -0
- package/dist/src/dom/components/checkbox.js +54 -0
- package/dist/src/dom/components/checkbox.js.map +10 -0
- package/dist/src/dom/components/column.js +31 -0
- package/dist/src/dom/components/column.js.map +10 -0
- package/dist/src/dom/components/container.js +29 -0
- package/dist/src/dom/components/container.js.map +10 -0
- package/dist/src/dom/components/divider.js +45 -0
- package/dist/src/dom/components/divider.js.map +10 -0
- package/dist/src/dom/components/grid.js +44 -0
- package/dist/src/dom/components/grid.js.map +10 -0
- package/dist/src/dom/components/heading.js +47 -0
- package/dist/src/dom/components/heading.js.map +10 -0
- package/dist/src/dom/components/image.js +39 -0
- package/dist/src/dom/components/image.js.map +10 -0
- package/dist/src/dom/components/index.js +217 -0
- package/dist/src/dom/components/index.js.map +10 -0
- package/dist/src/dom/components/input.js +41 -0
- package/dist/src/dom/components/input.js.map +10 -0
- package/dist/src/dom/components/link.js +42 -0
- package/dist/src/dom/components/link.js.map +10 -0
- package/dist/src/dom/components/list.js +42 -0
- package/dist/src/dom/components/list.js.map +10 -0
- package/dist/src/dom/components/paragraph.js +35 -0
- package/dist/src/dom/components/paragraph.js.map +10 -0
- package/dist/src/dom/components/progressbar.js +57 -0
- package/dist/src/dom/components/progressbar.js.map +10 -0
- package/dist/src/dom/components/route.js +44 -0
- package/dist/src/dom/components/route.js.map +10 -0
- package/dist/src/dom/components/router.js +33 -0
- package/dist/src/dom/components/router.js.map +10 -0
- package/dist/src/dom/components/row.js +31 -0
- package/dist/src/dom/components/row.js.map +10 -0
- package/dist/src/dom/components/select.js +57 -0
- package/dist/src/dom/components/select.js.map +10 -0
- package/dist/src/dom/components/slider.js +48 -0
- package/dist/src/dom/components/slider.js.map +10 -0
- package/dist/src/dom/components/spacer.js +30 -0
- package/dist/src/dom/components/spacer.js.map +10 -0
- package/dist/src/dom/components/spinner.js +65 -0
- package/dist/src/dom/components/spinner.js.map +10 -0
- package/dist/src/dom/components/stack.js +45 -0
- package/dist/src/dom/components/stack.js.map +10 -0
- package/dist/src/dom/components/switch.js +83 -0
- package/dist/src/dom/components/switch.js.map +10 -0
- package/dist/src/dom/components/text.js +37 -0
- package/dist/src/dom/components/text.js.map +10 -0
- package/dist/src/dom/components/textarea.js +51 -0
- package/dist/src/dom/components/textarea.js.map +10 -0
- package/dist/src/dom/components/video.js +51 -0
- package/dist/src/dom/components/video.js.map +10 -0
- package/dist/src/dom/debug.js +170 -0
- package/dist/src/dom/debug.js.map +10 -0
- package/dist/src/dom/events.js +112 -0
- package/dist/src/dom/events.js.map +10 -0
- package/dist/src/dom/index.js +73 -0
- package/dist/src/dom/index.js.map +9 -0
- package/dist/src/dom/renderer.js +277 -0
- package/dist/src/dom/renderer.js.map +10 -0
- package/dist/src/index.js +89 -0
- package/dist/src/index.js.map +9 -0
- package/package.json +84 -0
- package/src/canvas/QUICKSTART.md +421 -0
- package/src/canvas/README.md +376 -0
- package/src/canvas/accessibility.ts +218 -0
- package/src/canvas/events.ts +307 -0
- package/src/canvas/index.ts +35 -0
- package/src/canvas/input.ts +210 -0
- package/src/canvas/layout.ts +401 -0
- package/src/canvas/paint.ts +1321 -0
- package/src/canvas/renderer.ts +422 -0
- package/src/canvas/text.ts +182 -0
- package/src/canvas/types.ts +137 -0
- package/src/canvas/utils.ts +218 -0
- package/src/dom/README.md +265 -0
- package/src/dom/applicators/advanced-layout.ts +128 -0
- package/src/dom/applicators/background.ts +50 -0
- package/src/dom/applicators/border.ts +19 -0
- package/src/dom/applicators/color.ts +23 -0
- package/src/dom/applicators/display.ts +54 -0
- package/src/dom/applicators/effects.ts +97 -0
- package/src/dom/applicators/events.ts +689 -0
- package/src/dom/applicators/font.ts +27 -0
- package/src/dom/applicators/index.ts +354 -0
- package/src/dom/applicators/layout.ts +92 -0
- package/src/dom/applicators/margin.ts +18 -0
- package/src/dom/applicators/padding.ts +18 -0
- package/src/dom/applicators/size.ts +31 -0
- package/src/dom/applicators/transform.ts +93 -0
- package/src/dom/applicators/transition.ts +65 -0
- package/src/dom/applicators/typography.ts +91 -0
- package/src/dom/canvas/index.ts +60 -0
- package/src/dom/components/audio.ts +45 -0
- package/src/dom/components/avatar.ts +49 -0
- package/src/dom/components/badge.ts +45 -0
- package/src/dom/components/button.ts +13 -0
- package/src/dom/components/card.ts +19 -0
- package/src/dom/components/center.ts +16 -0
- package/src/dom/components/checkbox.ts +54 -0
- package/src/dom/components/column.ts +15 -0
- package/src/dom/components/container.ts +13 -0
- package/src/dom/components/divider.ts +37 -0
- package/src/dom/components/grid.ts +40 -0
- package/src/dom/components/heading.ts +41 -0
- package/src/dom/components/image.ts +27 -0
- package/src/dom/components/index.ts +115 -0
- package/src/dom/components/input.ts +29 -0
- package/src/dom/components/link.ts +35 -0
- package/src/dom/components/list.ts +30 -0
- package/src/dom/components/paragraph.ts +23 -0
- package/src/dom/components/progressbar.ts +51 -0
- package/src/dom/components/route.ts +37 -0
- package/src/dom/components/router.ts +22 -0
- package/src/dom/components/row.ts +15 -0
- package/src/dom/components/select.ts +56 -0
- package/src/dom/components/slider.ts +45 -0
- package/src/dom/components/spacer.ts +16 -0
- package/src/dom/components/spinner.ts +60 -0
- package/src/dom/components/stack.ts +34 -0
- package/src/dom/components/switch.ts +86 -0
- package/src/dom/components/text.ts +24 -0
- package/src/dom/components/textarea.ts +50 -0
- package/src/dom/components/video.ts +50 -0
- package/src/dom/debug.ts +247 -0
- package/src/dom/events.ts +168 -0
- package/src/dom/index.ts +11 -0
- package/src/dom/renderer.ts +327 -0
- package/src/index.ts +56 -0
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import {
|
|
2
|
+
exports_events,
|
|
3
|
+
init_events
|
|
4
|
+
} from "./events.js";
|
|
5
|
+
import {
|
|
6
|
+
exports_color,
|
|
7
|
+
init_color
|
|
8
|
+
} from "./color.js";
|
|
9
|
+
import {
|
|
10
|
+
exports_typography,
|
|
11
|
+
init_typography
|
|
12
|
+
} from "./typography.js";
|
|
13
|
+
import {
|
|
14
|
+
exports_effects,
|
|
15
|
+
init_effects
|
|
16
|
+
} from "./effects.js";
|
|
17
|
+
import {
|
|
18
|
+
exports_margin
|
|
19
|
+
} from "./margin.js";
|
|
20
|
+
import {
|
|
21
|
+
exports_advanced_layout,
|
|
22
|
+
init_advanced_layout
|
|
23
|
+
} from "./advanced-layout.js";
|
|
24
|
+
import {
|
|
25
|
+
exports_display,
|
|
26
|
+
init_display
|
|
27
|
+
} from "./display.js";
|
|
28
|
+
import {
|
|
29
|
+
exports_size,
|
|
30
|
+
init_size
|
|
31
|
+
} from "./size.js";
|
|
32
|
+
import {
|
|
33
|
+
exports_font,
|
|
34
|
+
init_font
|
|
35
|
+
} from "./font.js";
|
|
36
|
+
import {
|
|
37
|
+
exports_background,
|
|
38
|
+
init_background
|
|
39
|
+
} from "./background.js";
|
|
40
|
+
import {
|
|
41
|
+
exports_transition,
|
|
42
|
+
init_transition
|
|
43
|
+
} from "./transition.js";
|
|
44
|
+
import {
|
|
45
|
+
exports_layout,
|
|
46
|
+
init_layout
|
|
47
|
+
} from "./layout.js";
|
|
48
|
+
import {
|
|
49
|
+
exports_padding
|
|
50
|
+
} from "./padding.js";
|
|
51
|
+
import {
|
|
52
|
+
exports_border,
|
|
53
|
+
init_border
|
|
54
|
+
} from "./border.js";
|
|
55
|
+
import {
|
|
56
|
+
exports_transform,
|
|
57
|
+
init_transform
|
|
58
|
+
} from "./transform.js";
|
|
59
|
+
import {
|
|
60
|
+
__toCommonJS
|
|
61
|
+
} from "../../../chunk-2s02mkzs.js";
|
|
62
|
+
|
|
63
|
+
// src/dom/applicators/index.ts
|
|
64
|
+
class ApplicatorRegistry {
|
|
65
|
+
handlers = new Map;
|
|
66
|
+
elementState = new WeakMap;
|
|
67
|
+
constructor() {
|
|
68
|
+
this.registerDefaults();
|
|
69
|
+
}
|
|
70
|
+
register(name, handler) {
|
|
71
|
+
this.handlers.set(name, handler);
|
|
72
|
+
}
|
|
73
|
+
apply(element, name, value) {
|
|
74
|
+
const { handlerName, argKey, aggregate, fallbackName } = this.parseApplicatorName(name);
|
|
75
|
+
const handler = this.handlers.get(handlerName);
|
|
76
|
+
const state = this.getElementState(element);
|
|
77
|
+
const previous = state.get(handlerName);
|
|
78
|
+
if (aggregate && argKey !== null) {
|
|
79
|
+
const merged = this.mergeAggregateState(previous, argKey, this.normalizeValue(value));
|
|
80
|
+
state.set(handlerName, merged);
|
|
81
|
+
if (handler) {
|
|
82
|
+
handler(element, merged);
|
|
83
|
+
} else {
|
|
84
|
+
this.setStyleProperty(element, fallbackName, value);
|
|
85
|
+
}
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (handler) {
|
|
89
|
+
if (this.isEventApplicator(handlerName)) {
|
|
90
|
+
const normalizedValue = this.normalizeEventValue(previous, value);
|
|
91
|
+
state.set(handlerName, normalizedValue);
|
|
92
|
+
handler(element, normalizedValue);
|
|
93
|
+
} else {
|
|
94
|
+
state.set(handlerName, value);
|
|
95
|
+
handler(element, value);
|
|
96
|
+
}
|
|
97
|
+
} else {
|
|
98
|
+
this.setStyleProperty(element, handlerName, value);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
parseApplicatorName(name) {
|
|
102
|
+
const dotIndex = name.indexOf(".");
|
|
103
|
+
if (dotIndex === -1) {
|
|
104
|
+
return { handlerName: name, argKey: null, aggregate: false, fallbackName: name };
|
|
105
|
+
}
|
|
106
|
+
const baseName = name.substring(0, dotIndex);
|
|
107
|
+
const argKey = name.substring(dotIndex + 1);
|
|
108
|
+
if (this.handlers.has(baseName) && this.isEventApplicator(baseName)) {
|
|
109
|
+
return { handlerName: baseName, argKey, aggregate: true, fallbackName: name };
|
|
110
|
+
}
|
|
111
|
+
if (/^\d+$/.test(argKey)) {
|
|
112
|
+
return { handlerName: baseName, argKey: null, aggregate: false, fallbackName: baseName };
|
|
113
|
+
}
|
|
114
|
+
return { handlerName: name, argKey: null, aggregate: false, fallbackName: name };
|
|
115
|
+
}
|
|
116
|
+
getElementState(element) {
|
|
117
|
+
let state = this.elementState.get(element);
|
|
118
|
+
if (!state) {
|
|
119
|
+
state = new Map;
|
|
120
|
+
this.elementState.set(element, state);
|
|
121
|
+
}
|
|
122
|
+
return state;
|
|
123
|
+
}
|
|
124
|
+
mergeAggregateState(previous, argKey, value) {
|
|
125
|
+
const base = this.cloneAggregateState(previous);
|
|
126
|
+
if (value === undefined) {
|
|
127
|
+
delete base[argKey];
|
|
128
|
+
} else {
|
|
129
|
+
base[argKey] = value;
|
|
130
|
+
}
|
|
131
|
+
return base;
|
|
132
|
+
}
|
|
133
|
+
cloneAggregateState(previous) {
|
|
134
|
+
if (previous && typeof previous === "object" && !Array.isArray(previous)) {
|
|
135
|
+
return { ...previous };
|
|
136
|
+
}
|
|
137
|
+
if (typeof previous === "string") {
|
|
138
|
+
return { "0": previous };
|
|
139
|
+
}
|
|
140
|
+
return {};
|
|
141
|
+
}
|
|
142
|
+
normalizeEventValue(previous, value) {
|
|
143
|
+
const normalizedInput = this.normalizeValue(value);
|
|
144
|
+
const base = this.cloneAggregateState(previous);
|
|
145
|
+
if (normalizedInput && typeof normalizedInput === "object" && !Array.isArray(normalizedInput)) {
|
|
146
|
+
const next = { ...base, ...normalizedInput };
|
|
147
|
+
if (!Object.prototype.hasOwnProperty.call(next, "0") && base["0"] !== undefined) {
|
|
148
|
+
next["0"] = base["0"];
|
|
149
|
+
}
|
|
150
|
+
return next;
|
|
151
|
+
}
|
|
152
|
+
if (normalizedInput !== undefined) {
|
|
153
|
+
base["0"] = normalizedInput;
|
|
154
|
+
}
|
|
155
|
+
return base;
|
|
156
|
+
}
|
|
157
|
+
normalizeValue(value) {
|
|
158
|
+
if (value instanceof Map) {
|
|
159
|
+
const obj = {};
|
|
160
|
+
for (const [key, val] of value.entries()) {
|
|
161
|
+
obj[key] = this.normalizeValue(val);
|
|
162
|
+
}
|
|
163
|
+
return obj;
|
|
164
|
+
}
|
|
165
|
+
if (Array.isArray(value)) {
|
|
166
|
+
return value.map((item) => this.normalizeValue(item));
|
|
167
|
+
}
|
|
168
|
+
if (value && typeof value === "object") {
|
|
169
|
+
const obj = {};
|
|
170
|
+
for (const [key, val] of Object.entries(value)) {
|
|
171
|
+
obj[key] = this.normalizeValue(val);
|
|
172
|
+
}
|
|
173
|
+
return obj;
|
|
174
|
+
}
|
|
175
|
+
return value;
|
|
176
|
+
}
|
|
177
|
+
isEventApplicator(name) {
|
|
178
|
+
return /^on[A-Z]/.test(name);
|
|
179
|
+
}
|
|
180
|
+
applyAll(element, applicators) {
|
|
181
|
+
const grouped = new Map;
|
|
182
|
+
for (const [name, value] of Object.entries(applicators)) {
|
|
183
|
+
const dotIndex = name.indexOf(".");
|
|
184
|
+
const baseName = dotIndex !== -1 ? name.substring(0, dotIndex) : name;
|
|
185
|
+
const argKey = dotIndex !== -1 ? name.substring(dotIndex + 1) : null;
|
|
186
|
+
if (!grouped.has(baseName)) {
|
|
187
|
+
grouped.set(baseName, {});
|
|
188
|
+
}
|
|
189
|
+
const args = grouped.get(baseName);
|
|
190
|
+
if (argKey !== null) {
|
|
191
|
+
args[argKey] = value;
|
|
192
|
+
} else {
|
|
193
|
+
args["__value"] = value;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
for (const [baseName, args] of grouped.entries()) {
|
|
197
|
+
if (Object.keys(args).length === 1) {
|
|
198
|
+
if ("__value" in args) {
|
|
199
|
+
this.apply(element, baseName, args["__value"]);
|
|
200
|
+
} else if ("0" in args) {
|
|
201
|
+
this.apply(element, baseName, args["0"]);
|
|
202
|
+
} else {
|
|
203
|
+
this.apply(element, baseName, args);
|
|
204
|
+
}
|
|
205
|
+
} else {
|
|
206
|
+
this.apply(element, baseName, args);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
setStyleProperty(element, name, value) {
|
|
211
|
+
const cssName = name.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
212
|
+
if (typeof value === "number" && this.needsUnit(cssName)) {
|
|
213
|
+
element.style.setProperty(cssName, `${value}px`);
|
|
214
|
+
} else {
|
|
215
|
+
element.style.setProperty(cssName, String(value));
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
needsUnit(prop) {
|
|
219
|
+
const unitless = [
|
|
220
|
+
"opacity",
|
|
221
|
+
"z-index",
|
|
222
|
+
"font-weight",
|
|
223
|
+
"line-height",
|
|
224
|
+
"flex",
|
|
225
|
+
"flex-grow",
|
|
226
|
+
"flex-shrink",
|
|
227
|
+
"order"
|
|
228
|
+
];
|
|
229
|
+
return !unitless.includes(prop);
|
|
230
|
+
}
|
|
231
|
+
registerDefaults() {
|
|
232
|
+
const { paddingHandler } = __toCommonJS(exports_padding);
|
|
233
|
+
const { marginHandler } = __toCommonJS(exports_margin);
|
|
234
|
+
const { colorHandlers } = (init_color(), __toCommonJS(exports_color));
|
|
235
|
+
const { borderHandlers } = (init_border(), __toCommonJS(exports_border));
|
|
236
|
+
const { sizeHandlers } = (init_size(), __toCommonJS(exports_size));
|
|
237
|
+
const { fontHandlers } = (init_font(), __toCommonJS(exports_font));
|
|
238
|
+
const { layoutHandlers } = (init_layout(), __toCommonJS(exports_layout));
|
|
239
|
+
const { eventHandlers } = (init_events(), __toCommonJS(exports_events));
|
|
240
|
+
const { typographyHandlers } = (init_typography(), __toCommonJS(exports_typography));
|
|
241
|
+
const { transformHandlers } = (init_transform(), __toCommonJS(exports_transform));
|
|
242
|
+
const { effectsHandlers } = (init_effects(), __toCommonJS(exports_effects));
|
|
243
|
+
const { advancedLayoutHandlers } = (init_advanced_layout(), __toCommonJS(exports_advanced_layout));
|
|
244
|
+
const { backgroundHandlers } = (init_background(), __toCommonJS(exports_background));
|
|
245
|
+
const { displayHandlers } = (init_display(), __toCommonJS(exports_display));
|
|
246
|
+
const { transitionHandlers } = (init_transition(), __toCommonJS(exports_transition));
|
|
247
|
+
this.register("padding", paddingHandler);
|
|
248
|
+
this.register("margin", marginHandler);
|
|
249
|
+
for (const [name, handler] of Object.entries(colorHandlers)) {
|
|
250
|
+
this.register(name, handler);
|
|
251
|
+
}
|
|
252
|
+
for (const [name, handler] of Object.entries(borderHandlers)) {
|
|
253
|
+
this.register(name, handler);
|
|
254
|
+
}
|
|
255
|
+
for (const [name, handler] of Object.entries(sizeHandlers)) {
|
|
256
|
+
this.register(name, handler);
|
|
257
|
+
}
|
|
258
|
+
for (const [name, handler] of Object.entries(fontHandlers)) {
|
|
259
|
+
this.register(name, handler);
|
|
260
|
+
}
|
|
261
|
+
for (const [name, handler] of Object.entries(layoutHandlers)) {
|
|
262
|
+
this.register(name, handler);
|
|
263
|
+
}
|
|
264
|
+
for (const [name, handler] of Object.entries(eventHandlers)) {
|
|
265
|
+
this.register(name, handler);
|
|
266
|
+
}
|
|
267
|
+
for (const [name, handler] of Object.entries(typographyHandlers)) {
|
|
268
|
+
this.register(name, handler);
|
|
269
|
+
}
|
|
270
|
+
for (const [name, handler] of Object.entries(transformHandlers)) {
|
|
271
|
+
this.register(name, handler);
|
|
272
|
+
}
|
|
273
|
+
for (const [name, handler] of Object.entries(effectsHandlers)) {
|
|
274
|
+
this.register(name, handler);
|
|
275
|
+
}
|
|
276
|
+
for (const [name, handler] of Object.entries(advancedLayoutHandlers)) {
|
|
277
|
+
this.register(name, handler);
|
|
278
|
+
}
|
|
279
|
+
for (const [name, handler] of Object.entries(backgroundHandlers)) {
|
|
280
|
+
this.register(name, handler);
|
|
281
|
+
}
|
|
282
|
+
for (const [name, handler] of Object.entries(displayHandlers)) {
|
|
283
|
+
this.register(name, handler);
|
|
284
|
+
}
|
|
285
|
+
for (const [name, handler] of Object.entries(transitionHandlers)) {
|
|
286
|
+
this.register(name, handler);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
export {
|
|
291
|
+
ApplicatorRegistry
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
export { ApplicatorRegistry };
|
|
295
|
+
|
|
296
|
+
//# debugId=FC865C18036E241064756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/dom/applicators/index.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Applicator Registry\n *\n * Handles style applicators (modifiers) for Hypen components\n */\n\nexport type ApplicatorHandler = (element: HTMLElement, value: any) => void;\n\nexport class ApplicatorRegistry {\n private handlers: Map<string, ApplicatorHandler> = new Map();\n private elementState: WeakMap<HTMLElement, Map<string, any>> = new WeakMap();\n\n constructor() {\n this.registerDefaults();\n }\n\n /**\n * Register an applicator handler\n */\n register(name: string, handler: ApplicatorHandler): void {\n this.handlers.set(name, handler);\n }\n\n /**\n * Apply an applicator to an element\n */\n apply(element: HTMLElement, name: string, value: any): void {\n // Parse applicator metadata so we can normalize event arguments and retain legacy behavior\n const { handlerName, argKey, aggregate, fallbackName } = this.parseApplicatorName(name);\n\n const handler = this.handlers.get(handlerName);\n const state = this.getElementState(element);\n const previous = state.get(handlerName);\n\n if (aggregate && argKey !== null) {\n // Merge event payload updates with the previously applied arguments so handlers\n // always receive the full payload object (prevents stale dispatch data)\n const merged = this.mergeAggregateState(previous, argKey, this.normalizeValue(value));\n\n state.set(handlerName, merged);\n\n if (handler) {\n handler(element, merged);\n } else {\n // Fallback: set as CSS property using the original name if no handler exists\n this.setStyleProperty(element, fallbackName, value);\n }\n return;\n }\n\n if (handler) {\n if (this.isEventApplicator(handlerName)) {\n const normalizedValue = this.normalizeEventValue(previous, value);\n state.set(handlerName, normalizedValue);\n handler(element, normalizedValue);\n } else {\n state.set(handlerName, value);\n handler(element, value);\n }\n } else {\n // Fallback: set as CSS property\n this.setStyleProperty(element, handlerName, value);\n }\n }\n\n /**\n * Parse applicator name to handle indexed and event argument formats\n * e.g., \"fontSize.0\" -> { handlerName: \"fontSize\" }\n * \"onClick.id\" -> { handlerName: \"onClick\", aggregate: true, argKey: \"id\" }\n * Keeps compound names like \"padding.top\" as-is so they can fall back to CSS.\n */\n private parseApplicatorName(name: string): {\n handlerName: string;\n argKey: string | null;\n aggregate: boolean;\n fallbackName: string;\n } {\n const dotIndex = name.indexOf('.');\n if (dotIndex === -1) {\n return { handlerName: name, argKey: null, aggregate: false, fallbackName: name };\n }\n\n const baseName = name.substring(0, dotIndex);\n const argKey = name.substring(dotIndex + 1);\n\n if (this.handlers.has(baseName) && this.isEventApplicator(baseName)) {\n return { handlerName: baseName, argKey, aggregate: true, fallbackName: name };\n }\n\n if (/^\\d+$/.test(argKey)) {\n return { handlerName: baseName, argKey: null, aggregate: false, fallbackName: baseName };\n }\n\n return { handlerName: name, argKey: null, aggregate: false, fallbackName: name };\n }\n\n /**\n * Get or initialize per-element applicator state used for merging event payloads\n */\n private getElementState(element: HTMLElement): Map<string, any> {\n let state = this.elementState.get(element);\n if (!state) {\n state = new Map();\n this.elementState.set(element, state);\n }\n return state;\n }\n\n /**\n * Merge updated event argument into previously stored payload snapshot\n */\n private mergeAggregateState(previous: any, argKey: string, value: any): Record<string, any> {\n const base: Record<string, any> = this.cloneAggregateState(previous);\n\n if (value === undefined) {\n delete base[argKey];\n } else {\n base[argKey] = value;\n }\n\n return base;\n }\n\n /**\n * Convert stored state into a mutable payload object we can merge into\n */\n private cloneAggregateState(previous: any): Record<string, any> {\n if (previous && typeof previous === \"object\" && !Array.isArray(previous)) {\n return { ...previous };\n }\n\n if (typeof previous === \"string\") {\n return { \"0\": previous };\n }\n\n return {};\n }\n\n /**\n * Normalize event value updates so action payload arguments persist across SetProp orderings\n */\n private normalizeEventValue(previous: any, value: any): Record<string, any> {\n const normalizedInput = this.normalizeValue(value);\n const base = this.cloneAggregateState(previous);\n\n if (normalizedInput && typeof normalizedInput === \"object\" && !Array.isArray(normalizedInput)) {\n const next = { ...base, ...normalizedInput } as Record<string, any>;\n\n if (!Object.prototype.hasOwnProperty.call(next, \"0\") && base[\"0\"] !== undefined) {\n next[\"0\"] = base[\"0\"];\n }\n\n return next;\n }\n\n if (normalizedInput !== undefined) {\n base[\"0\"] = normalizedInput;\n }\n\n return base;\n }\n\n /**\n * Convert Maps (from WASM) and nested structures into plain JS values we can merge safely\n */\n private normalizeValue(value: any): any {\n if (value instanceof Map) {\n const obj: Record<string, any> = {};\n for (const [key, val] of value.entries()) {\n obj[key] = this.normalizeValue(val);\n }\n return obj;\n }\n\n if (Array.isArray(value)) {\n return value.map((item) => this.normalizeValue(item));\n }\n\n if (value && typeof value === \"object\") {\n const obj: Record<string, any> = {};\n for (const [key, val] of Object.entries(value)) {\n obj[key] = this.normalizeValue(val);\n }\n return obj;\n }\n\n return value;\n }\n\n /**\n * Determine if a handler name follows the event applicator naming convention\n */\n private isEventApplicator(name: string): boolean {\n return /^on[A-Z]/.test(name);\n }\n\n /**\n * Apply multiple applicators\n */\n applyAll(element: HTMLElement, applicators: Record<string, any>): void {\n //console.log(`[ApplicatorRegistry] Applying applicators:`, applicators);\n\n // Group applicators by their base name (treat applicators like components with arguments)\n // e.g., \"onClick.0\", \"onClick.id\", \"onClick.title\" -> onClick: {0: ..., id: ..., title: ...}\n const grouped = new Map<string, Record<string, any>>();\n\n for (const [name, value] of Object.entries(applicators)) {\n // Extract base name and argument key\n const dotIndex = name.indexOf('.');\n const baseName = dotIndex !== -1 ? name.substring(0, dotIndex) : name;\n const argKey = dotIndex !== -1 ? name.substring(dotIndex + 1) : null;\n\n if (!grouped.has(baseName)) {\n grouped.set(baseName, {});\n }\n\n const args = grouped.get(baseName)!;\n if (argKey !== null) {\n // This is an argument (e.g., \"onClick.0\" or \"onClick.id\")\n args[argKey] = value;\n } else {\n // This is a single-value applicator (e.g., \"padding\")\n args['__value'] = value;\n }\n }\n\n // Apply each applicator with its arguments\n for (const [baseName, args] of grouped.entries()) {\n // If it's a single value (either __value or just \"0\"), pass just the value\n if (Object.keys(args).length === 1) {\n if ('__value' in args) {\n this.apply(element, baseName, args['__value']);\n } else if ('0' in args) {\n // Single positional argument (e.g., padding.0 -> just pass the value)\n this.apply(element, baseName, args['0']);\n } else {\n // Single named argument? Pass the whole object\n this.apply(element, baseName, args);\n }\n } else {\n // Multiple arguments - pass the entire args object\n this.apply(element, baseName, args);\n }\n }\n }\n\n /**\n * Set a CSS property with automatic unit handling\n */\n private setStyleProperty(element: HTMLElement, name: string, value: any): void {\n // Convert camelCase to kebab-case\n const cssName = name.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n\n // Add units for numeric values on size properties\n if (typeof value === \"number\" && this.needsUnit(cssName)) {\n element.style.setProperty(cssName, `${value}px`);\n } else {\n element.style.setProperty(cssName, String(value));\n }\n }\n\n /**\n * Check if a property needs a unit\n */\n private needsUnit(prop: string): boolean {\n const unitless = [\n \"opacity\",\n \"z-index\",\n \"font-weight\",\n \"line-height\",\n \"flex\",\n \"flex-grow\",\n \"flex-shrink\",\n \"order\",\n ];\n return !unitless.includes(prop);\n }\n\n /**\n * Register default applicator handlers\n */\n private registerDefaults(): void {\n const { paddingHandler } = require(\"./padding.js\");\n const { marginHandler } = require(\"./margin.js\");\n const { colorHandlers } = require(\"./color.js\");\n const { borderHandlers } = require(\"./border.js\");\n const { sizeHandlers } = require(\"./size.js\");\n const { fontHandlers } = require(\"./font.js\");\n const { layoutHandlers } = require(\"./layout.js\");\n const { eventHandlers } = require(\"./events.js\");\n const { typographyHandlers } = require(\"./typography.js\");\n const { transformHandlers } = require(\"./transform.js\");\n const { effectsHandlers } = require(\"./effects.js\");\n const { advancedLayoutHandlers } = require(\"./advanced-layout.js\");\n const { backgroundHandlers } = require(\"./background.js\");\n const { displayHandlers } = require(\"./display.js\");\n const { transitionHandlers } = require(\"./transition.js\");\n\n this.register(\"padding\", paddingHandler);\n this.register(\"margin\", marginHandler);\n\n for (const [name, handler] of Object.entries(colorHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(borderHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(sizeHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(fontHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(layoutHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(eventHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(typographyHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(transformHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(effectsHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(advancedLayoutHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(backgroundHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(displayHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n\n for (const [name, handler] of Object.entries(transitionHandlers)) {\n this.register(name, handler as ApplicatorHandler);\n }\n }\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "FC865C18036E241064756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__esm,
|
|
3
|
+
__export
|
|
4
|
+
} from "../../../chunk-2s02mkzs.js";
|
|
5
|
+
|
|
6
|
+
// src/dom/applicators/layout.ts
|
|
7
|
+
var exports_layout = {};
|
|
8
|
+
__export(exports_layout, {
|
|
9
|
+
layoutHandlers: () => layoutHandlers
|
|
10
|
+
});
|
|
11
|
+
var layoutHandlers;
|
|
12
|
+
var init_layout = __esm(() => {
|
|
13
|
+
layoutHandlers = {
|
|
14
|
+
verticalAlignment: (el, value) => {
|
|
15
|
+
const val = String(value);
|
|
16
|
+
const flexDirection = getComputedStyle(el).flexDirection;
|
|
17
|
+
if (flexDirection === "column" || flexDirection === "column-reverse") {
|
|
18
|
+
el.style.justifyContent = val;
|
|
19
|
+
} else {
|
|
20
|
+
el.style.alignItems = val;
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
horizontalAlignment: (el, value) => {
|
|
24
|
+
const val = String(value);
|
|
25
|
+
const flexDirection = getComputedStyle(el).flexDirection;
|
|
26
|
+
if (flexDirection === "column" || flexDirection === "column-reverse") {
|
|
27
|
+
el.style.alignItems = val;
|
|
28
|
+
} else {
|
|
29
|
+
el.style.justifyContent = val;
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
horizontalAlign: (el, value) => {
|
|
33
|
+
el.style.justifyContent = String(value);
|
|
34
|
+
},
|
|
35
|
+
verticalAlign: (el, value) => {
|
|
36
|
+
el.style.alignItems = String(value);
|
|
37
|
+
},
|
|
38
|
+
gap: (el, value) => {
|
|
39
|
+
el.style.gap = typeof value === "number" ? `${value}px` : String(value);
|
|
40
|
+
},
|
|
41
|
+
weight: (el, value) => {
|
|
42
|
+
el.style.flex = String(value);
|
|
43
|
+
},
|
|
44
|
+
flex: (el, value) => {
|
|
45
|
+
el.style.flex = String(value);
|
|
46
|
+
},
|
|
47
|
+
flexGrow: (el, value) => {
|
|
48
|
+
el.style.flexGrow = String(value);
|
|
49
|
+
},
|
|
50
|
+
flexShrink: (el, value) => {
|
|
51
|
+
el.style.flexShrink = String(value);
|
|
52
|
+
},
|
|
53
|
+
cursor: (el, value) => {
|
|
54
|
+
el.style.cursor = String(value);
|
|
55
|
+
},
|
|
56
|
+
overflow: (el, value) => {
|
|
57
|
+
el.style.overflow = String(value);
|
|
58
|
+
},
|
|
59
|
+
scrollable: (el, value) => {
|
|
60
|
+
if (value === true || value === "true") {
|
|
61
|
+
el.style.overflow = "auto";
|
|
62
|
+
} else if (value === false || value === "false") {
|
|
63
|
+
el.style.overflow = "hidden";
|
|
64
|
+
} else if (value === "vertical") {
|
|
65
|
+
el.style.overflowX = "hidden";
|
|
66
|
+
el.style.overflowY = "auto";
|
|
67
|
+
} else if (value === "horizontal") {
|
|
68
|
+
el.style.overflowX = "auto";
|
|
69
|
+
el.style.overflowY = "hidden";
|
|
70
|
+
} else if (value === "both") {
|
|
71
|
+
el.style.overflow = "auto";
|
|
72
|
+
} else {
|
|
73
|
+
el.style.overflow = String(value);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
init_layout();
|
|
79
|
+
|
|
80
|
+
export {
|
|
81
|
+
layoutHandlers
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export { exports_layout, init_layout };
|
|
85
|
+
|
|
86
|
+
//# debugId=D6FCEF8A4A64B64D64756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
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 \"./index.js\";\n\nexport const layoutHandlers: Record<string, ApplicatorHandler> = {\n // Unified alignment API - works for both Column and Row\n verticalAlignment: (el, value) => {\n const val = String(value);\n // Check flex-direction to determine which CSS property to set\n const flexDirection = getComputedStyle(el).flexDirection;\n 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 = String(value);\n // Check flex-direction to determine which CSS property to set\n const flexDirection = getComputedStyle(el).flexDirection;\n if (flexDirection === \"column\" || flexDirection === \"column-reverse\") {\n // For column: horizontal is the cross axis (align-items)\n el.style.alignItems = val;\n } else {\n // For row: horizontal is the main axis (justify-content)\n el.style.justifyContent = val;\n }\n },\n\n // Legacy aliases (kept for backward compatibility)\n horizontalAlign: (el, value) => {\n el.style.justifyContent = String(value);\n },\n\n verticalAlign: (el, value) => {\n el.style.alignItems = 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 },\n\n // flex: CSS flex shorthand (kept for CSS compatibility)\n flex: (el, value) => {\n el.style.flex = String(value);\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": ";;;;;;;;;;IAMa;AAAA;AAAA,mBAAoD;AAAA,IAE/D,mBAAmB,CAAC,IAAI,UAAU;AAAA,MAChC,MAAM,MAAM,OAAO,KAAK;AAAA,MAExB,MAAM,gBAAgB,iBAAiB,EAAE,EAAE;AAAA,MAC3C,IAAI,kBAAkB,YAAY,kBAAkB,kBAAkB;AAAA,QAEpE,GAAG,MAAM,iBAAiB;AAAA,MAC5B,EAAO;AAAA,QAEL,GAAG,MAAM,aAAa;AAAA;AAAA;AAAA,IAI1B,qBAAqB,CAAC,IAAI,UAAU;AAAA,MAClC,MAAM,MAAM,OAAO,KAAK;AAAA,MAExB,MAAM,gBAAgB,iBAAiB,EAAE,EAAE;AAAA,MAC3C,IAAI,kBAAkB,YAAY,kBAAkB,kBAAkB;AAAA,QAEpE,GAAG,MAAM,aAAa;AAAA,MACxB,EAAO;AAAA,QAEL,GAAG,MAAM,iBAAiB;AAAA;AAAA;AAAA,IAK9B,iBAAiB,CAAC,IAAI,UAAU;AAAA,MAC9B,GAAG,MAAM,iBAAiB,OAAO,KAAK;AAAA;AAAA,IAGxC,eAAe,CAAC,IAAI,UAAU;AAAA,MAC5B,GAAG,MAAM,aAAa,OAAO,KAAK;AAAA;AAAA,IAGpC,KAAK,CAAC,IAAI,UAAU;AAAA,MAClB,GAAG,MAAM,MAAM,OAAO,UAAU,WAAW,GAAG,YAAY,OAAO,KAAK;AAAA;AAAA,IAKxE,QAAQ,CAAC,IAAI,UAAU;AAAA,MACrB,GAAG,MAAM,OAAO,OAAO,KAAK;AAAA;AAAA,IAI9B,MAAM,CAAC,IAAI,UAAU;AAAA,MACnB,GAAG,MAAM,OAAO,OAAO,KAAK;AAAA;AAAA,IAG9B,UAAU,CAAC,IAAI,UAAU;AAAA,MACvB,GAAG,MAAM,WAAW,OAAO,KAAK;AAAA;AAAA,IAGlC,YAAY,CAAC,IAAI,UAAU;AAAA,MACzB,GAAG,MAAM,aAAa,OAAO,KAAK;AAAA;AAAA,IAGpC,QAAQ,CAAC,IAAI,UAAU;AAAA,MACrB,GAAG,MAAM,SAAS,OAAO,KAAK;AAAA;AAAA,IAGhC,UAAU,CAAC,IAAI,UAAU;AAAA,MACvB,GAAG,MAAM,WAAW,OAAO,KAAK;AAAA;AAAA,IAGlC,YAAY,CAAC,IAAI,UAAU;AAAA,MACzB,IAAI,UAAU,QAAQ,UAAU,QAAQ;AAAA,QACtC,GAAG,MAAM,WAAW;AAAA,MACtB,EAAO,SAAI,UAAU,SAAS,UAAU,SAAS;AAAA,QAC/C,GAAG,MAAM,WAAW;AAAA,MACtB,EAAO,SAAI,UAAU,YAAY;AAAA,QAC/B,GAAG,MAAM,YAAY;AAAA,QACrB,GAAG,MAAM,YAAY;AAAA,MACvB,EAAO,SAAI,UAAU,cAAc;AAAA,QACjC,GAAG,MAAM,YAAY;AAAA,QACrB,GAAG,MAAM,YAAY;AAAA,MACvB,EAAO,SAAI,UAAU,QAAQ;AAAA,QAC3B,GAAG,MAAM,WAAW;AAAA,MACtB,EAAO;AAAA,QACL,GAAG,MAAM,WAAW,OAAO,KAAK;AAAA;AAAA;AAAA,EAGtC;AAAA;",
|
|
8
|
+
"debugId": "D6FCEF8A4A64B64D64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "../../../chunk-2s02mkzs.js";
|
|
4
|
+
|
|
5
|
+
// src/dom/applicators/margin.ts
|
|
6
|
+
var exports_margin = {};
|
|
7
|
+
__export(exports_margin, {
|
|
8
|
+
marginHandler: () => marginHandler
|
|
9
|
+
});
|
|
10
|
+
var marginHandler = (el, value) => {
|
|
11
|
+
if (typeof value === "number") {
|
|
12
|
+
el.style.margin = `${value}px`;
|
|
13
|
+
} else if (typeof value === "object") {
|
|
14
|
+
if (value.left !== undefined)
|
|
15
|
+
el.style.marginLeft = `${value.left}px`;
|
|
16
|
+
if (value.right !== undefined)
|
|
17
|
+
el.style.marginRight = `${value.right}px`;
|
|
18
|
+
if (value.top !== undefined)
|
|
19
|
+
el.style.marginTop = `${value.top}px`;
|
|
20
|
+
if (value.bottom !== undefined)
|
|
21
|
+
el.style.marginBottom = `${value.bottom}px`;
|
|
22
|
+
} else {
|
|
23
|
+
el.style.margin = String(value);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
marginHandler
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export { __INVALID__REF__, exports_margin };
|
|
31
|
+
|
|
32
|
+
//# debugId=5408522A6C03BB7F64756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/dom/applicators/margin.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Margin Applicator\n */\n\nimport type { ApplicatorHandler } from \"./index.js\";\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 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 } else {\n el.style.margin = String(value);\n }\n};\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;;;;;IAMa,gBAAmC,CAAC,IAAI,UAAU;AAAA,EAC7D,IAAI,OAAO,UAAU,UAAU;AAAA,IAC7B,GAAG,MAAM,SAAS,GAAG;AAAA,EACvB,EAAO,SAAI,OAAO,UAAU,UAAU;AAAA,IACpC,IAAI,MAAM,SAAS;AAAA,MAAW,GAAG,MAAM,aAAa,GAAG,MAAM;AAAA,IAC7D,IAAI,MAAM,UAAU;AAAA,MAAW,GAAG,MAAM,cAAc,GAAG,MAAM;AAAA,IAC/D,IAAI,MAAM,QAAQ;AAAA,MAAW,GAAG,MAAM,YAAY,GAAG,MAAM;AAAA,IAC3D,IAAI,MAAM,WAAW;AAAA,MAAW,GAAG,MAAM,eAAe,GAAG,MAAM;AAAA,EACnE,EAAO;AAAA,IACL,GAAG,MAAM,SAAS,OAAO,KAAK;AAAA;AAAA;",
|
|
8
|
+
"debugId": "5408522A6C03BB7F64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__INVALID__REF__
|
|
3
|
+
} from "./margin.js";
|
|
4
|
+
import {
|
|
5
|
+
__export
|
|
6
|
+
} from "../../../chunk-2s02mkzs.js";
|
|
7
|
+
|
|
8
|
+
// src/dom/applicators/padding.ts
|
|
9
|
+
var exports_padding = {};
|
|
10
|
+
__export(exports_padding, {
|
|
11
|
+
paddingHandler: () => paddingHandler
|
|
12
|
+
});
|
|
13
|
+
var paddingHandler = (el, value) => {
|
|
14
|
+
if (typeof value === "number") {
|
|
15
|
+
el.style.padding = `${value}px`;
|
|
16
|
+
} else if (typeof value === "object") {
|
|
17
|
+
if (value.left !== undefined)
|
|
18
|
+
el.style.paddingLeft = `${value.left}px`;
|
|
19
|
+
if (value.right !== undefined)
|
|
20
|
+
el.style.paddingRight = `${value.right}px`;
|
|
21
|
+
if (value.top !== undefined)
|
|
22
|
+
el.style.paddingTop = `${value.top}px`;
|
|
23
|
+
if (value.bottom !== undefined)
|
|
24
|
+
el.style.paddingBottom = `${value.bottom}px`;
|
|
25
|
+
} else {
|
|
26
|
+
el.style.padding = String(value);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
paddingHandler
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { exports_padding };
|
|
34
|
+
|
|
35
|
+
//# debugId=EB3870B8570719C064756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/dom/applicators/padding.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Padding Applicator\n */\n\nimport type { ApplicatorHandler } from \"./index.js\";\n\nexport const paddingHandler: ApplicatorHandler = (el, value) => {\n if (typeof value === \"number\") {\n el.style.padding = `${value}px`;\n } else if (typeof value === \"object\") {\n if (value.left !== undefined) el.style.paddingLeft = `${value.left}px`;\n if (value.right !== undefined) el.style.paddingRight = `${value.right}px`;\n if (value.top !== undefined) el.style.paddingTop = `${value.top}px`;\n if (value.bottom !== undefined) el.style.paddingBottom = `${value.bottom}px`;\n } else {\n el.style.padding = String(value);\n }\n};\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;;;;;;;;IAMa,iBAAoC,CAAC,IAAI,UAAU;AAAA,EAC9D,IAAI,OAAO,UAAU,UAAU;AAAA,IAC7B,GAAG,MAAM,UAAU,GAAG;AAAA,EACxB,EAAO,SAAI,OAAO,UAAU,UAAU;AAAA,IACpC,IAAI,MAAM,SAAS;AAAA,MAAW,GAAG,MAAM,cAAc,GAAG,MAAM;AAAA,IAC9D,IAAI,MAAM,UAAU;AAAA,MAAW,GAAG,MAAM,eAAe,GAAG,MAAM;AAAA,IAChE,IAAI,MAAM,QAAQ;AAAA,MAAW,GAAG,MAAM,aAAa,GAAG,MAAM;AAAA,IAC5D,IAAI,MAAM,WAAW;AAAA,MAAW,GAAG,MAAM,gBAAgB,GAAG,MAAM;AAAA,EACpE,EAAO;AAAA,IACL,GAAG,MAAM,UAAU,OAAO,KAAK;AAAA;AAAA;",
|
|
8
|
+
"debugId": "EB3870B8570719C064756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__esm,
|
|
3
|
+
__export
|
|
4
|
+
} from "../../../chunk-2s02mkzs.js";
|
|
5
|
+
|
|
6
|
+
// src/dom/applicators/size.ts
|
|
7
|
+
var exports_size = {};
|
|
8
|
+
__export(exports_size, {
|
|
9
|
+
sizeHandlers: () => sizeHandlers
|
|
10
|
+
});
|
|
11
|
+
var sizeHandlers;
|
|
12
|
+
var init_size = __esm(() => {
|
|
13
|
+
sizeHandlers = {
|
|
14
|
+
width: (el, value) => {
|
|
15
|
+
el.style.width = typeof value === "number" ? `${value}px` : String(value);
|
|
16
|
+
},
|
|
17
|
+
height: (el, value) => {
|
|
18
|
+
el.style.height = typeof value === "number" ? `${value}px` : String(value);
|
|
19
|
+
},
|
|
20
|
+
minWidth: (el, value) => {
|
|
21
|
+
el.style.minWidth = typeof value === "number" ? `${value}px` : String(value);
|
|
22
|
+
},
|
|
23
|
+
minHeight: (el, value) => {
|
|
24
|
+
el.style.minHeight = typeof value === "number" ? `${value}px` : String(value);
|
|
25
|
+
},
|
|
26
|
+
maxWidth: (el, value) => {
|
|
27
|
+
el.style.maxWidth = typeof value === "number" ? `${value}px` : String(value);
|
|
28
|
+
},
|
|
29
|
+
maxHeight: (el, value) => {
|
|
30
|
+
el.style.maxHeight = typeof value === "number" ? `${value}px` : String(value);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
init_size();
|
|
35
|
+
|
|
36
|
+
export {
|
|
37
|
+
sizeHandlers
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export { exports_size, init_size };
|
|
41
|
+
|
|
42
|
+
//# debugId=3F587E69A6F92B8C64756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/dom/applicators/size.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Size Applicators\n */\n\nimport type { ApplicatorHandler } from \"./index.js\";\n\nexport const sizeHandlers: Record<string, ApplicatorHandler> = {\n width: (el, value) => {\n el.style.width = typeof value === \"number\" ? `${value}px` : String(value);\n },\n\n height: (el, value) => {\n el.style.height = typeof value === \"number\" ? `${value}px` : String(value);\n },\n\n minWidth: (el, value) => {\n el.style.minWidth = typeof value === \"number\" ? `${value}px` : String(value);\n },\n\n minHeight: (el, value) => {\n el.style.minHeight = typeof value === \"number\" ? `${value}px` : String(value);\n },\n\n maxWidth: (el, value) => {\n el.style.maxWidth = typeof value === \"number\" ? `${value}px` : String(value);\n },\n\n maxHeight: (el, value) => {\n el.style.maxHeight = typeof value === \"number\" ? `${value}px` : String(value);\n },\n};\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;;;;;;IAMa;AAAA;AAAA,iBAAkD;AAAA,IAC7D,OAAO,CAAC,IAAI,UAAU;AAAA,MACpB,GAAG,MAAM,QAAQ,OAAO,UAAU,WAAW,GAAG,YAAY,OAAO,KAAK;AAAA;AAAA,IAG1E,QAAQ,CAAC,IAAI,UAAU;AAAA,MACrB,GAAG,MAAM,SAAS,OAAO,UAAU,WAAW,GAAG,YAAY,OAAO,KAAK;AAAA;AAAA,IAG3E,UAAU,CAAC,IAAI,UAAU;AAAA,MACvB,GAAG,MAAM,WAAW,OAAO,UAAU,WAAW,GAAG,YAAY,OAAO,KAAK;AAAA;AAAA,IAG7E,WAAW,CAAC,IAAI,UAAU;AAAA,MACxB,GAAG,MAAM,YAAY,OAAO,UAAU,WAAW,GAAG,YAAY,OAAO,KAAK;AAAA;AAAA,IAG9E,UAAU,CAAC,IAAI,UAAU;AAAA,MACvB,GAAG,MAAM,WAAW,OAAO,UAAU,WAAW,GAAG,YAAY,OAAO,KAAK;AAAA;AAAA,IAG7E,WAAW,CAAC,IAAI,UAAU;AAAA,MACxB,GAAG,MAAM,YAAY,OAAO,UAAU,WAAW,GAAG,YAAY,OAAO,KAAK;AAAA;AAAA,EAEhF;AAAA;",
|
|
8
|
+
"debugId": "3F587E69A6F92B8C64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|