@hypen-space/web 0.3.8 → 0.3.9

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.
Files changed (77) hide show
  1. package/dist/src/dom/applicators/advanced-layout.js +163 -181
  2. package/dist/src/dom/applicators/advanced-layout.js.map +3 -3
  3. package/dist/src/dom/applicators/background.js +33 -42
  4. package/dist/src/dom/applicators/background.js.map +3 -3
  5. package/dist/src/dom/applicators/border.js +58 -67
  6. package/dist/src/dom/applicators/border.js.map +3 -3
  7. package/dist/src/dom/applicators/color.js +15 -24
  8. package/dist/src/dom/applicators/color.js.map +3 -3
  9. package/dist/src/dom/applicators/display.js +36 -45
  10. package/dist/src/dom/applicators/display.js.map +3 -3
  11. package/dist/src/dom/applicators/effects.js +103 -112
  12. package/dist/src/dom/applicators/effects.js.map +3 -3
  13. package/dist/src/dom/applicators/events.js +36 -45
  14. package/dist/src/dom/applicators/events.js.map +4 -4
  15. package/dist/src/dom/applicators/font.js +76 -86
  16. package/dist/src/dom/applicators/font.js.map +3 -3
  17. package/dist/src/dom/applicators/index.js +774 -890
  18. package/dist/src/dom/applicators/index.js.map +18 -18
  19. package/dist/src/dom/applicators/layout.js +63 -73
  20. package/dist/src/dom/applicators/layout.js.map +3 -3
  21. package/dist/src/dom/applicators/margin.js +1 -5
  22. package/dist/src/dom/applicators/margin.js.map +3 -3
  23. package/dist/src/dom/applicators/padding.js +1 -5
  24. package/dist/src/dom/applicators/padding.js.map +3 -3
  25. package/dist/src/dom/applicators/size.js +69 -77
  26. package/dist/src/dom/applicators/size.js.map +3 -3
  27. package/dist/src/dom/applicators/transform.js +71 -80
  28. package/dist/src/dom/applicators/transform.js.map +3 -3
  29. package/dist/src/dom/applicators/transition.js +45 -54
  30. package/dist/src/dom/applicators/transition.js.map +3 -3
  31. package/dist/src/dom/applicators/types.js +2 -0
  32. package/dist/src/dom/applicators/types.js.map +9 -0
  33. package/dist/src/dom/applicators/typography.js +65 -74
  34. package/dist/src/dom/applicators/typography.js.map +3 -3
  35. package/dist/src/dom/components/avatar.js +4 -3
  36. package/dist/src/dom/components/avatar.js.map +3 -3
  37. package/dist/src/dom/components/button.js +11 -1
  38. package/dist/src/dom/components/button.js.map +3 -3
  39. package/dist/src/dom/components/index.js +15 -19
  40. package/dist/src/dom/components/index.js.map +5 -5
  41. package/dist/src/dom/components/row.js +2 -17
  42. package/dist/src/dom/components/row.js.map +3 -3
  43. package/dist/src/dom/element-data.js +6 -11
  44. package/dist/src/dom/element-data.js.map +3 -3
  45. package/dist/src/dom/index.js +877 -999
  46. package/dist/src/dom/index.js.map +23 -23
  47. package/dist/src/dom/renderer.js +877 -999
  48. package/dist/src/dom/renderer.js.map +23 -23
  49. package/dist/src/hypen.js +879 -1001
  50. package/dist/src/hypen.js.map +23 -23
  51. package/dist/src/index.js +879 -1001
  52. package/dist/src/index.js.map +23 -23
  53. package/package.json +2 -2
  54. package/src/dom/applicators/background.ts +1 -1
  55. package/src/dom/applicators/border.ts +1 -1
  56. package/src/dom/applicators/color.ts +1 -1
  57. package/src/dom/applicators/display.ts +1 -1
  58. package/src/dom/applicators/effects.ts +1 -1
  59. package/src/dom/applicators/events.ts +2 -2
  60. package/src/dom/applicators/font.ts +1 -1
  61. package/src/dom/applicators/index.ts +49 -17
  62. package/src/dom/applicators/layout.ts +27 -8
  63. package/src/dom/applicators/margin.ts +56 -6
  64. package/src/dom/applicators/padding.ts +56 -6
  65. package/src/dom/applicators/size.ts +14 -4
  66. package/src/dom/applicators/transform.ts +1 -1
  67. package/src/dom/applicators/transition.ts +1 -1
  68. package/src/dom/applicators/types.ts +7 -0
  69. package/src/dom/applicators/typography.ts +1 -1
  70. package/src/dom/components/avatar.ts +4 -3
  71. package/src/dom/components/button.ts +17 -0
  72. package/src/dom/components/column.ts +8 -2
  73. package/src/dom/components/container.ts +2 -3
  74. package/src/dom/components/row.ts +3 -22
  75. package/src/dom/components/stack.ts +4 -0
  76. package/src/dom/components/text.ts +7 -0
  77. package/src/dom/element-data.ts +1 -1
@@ -51,25 +51,10 @@ var exports_row = {};
51
51
  __export(exports_row, {
52
52
  rowHandler: () => rowHandler
53
53
  });
54
- function ensureRowStyles() {
55
- if (rowStylesInjected)
56
- return;
57
- rowStylesInjected = true;
58
- const style = document.createElement("style");
59
- style.id = "hypen-row-styles";
60
- style.textContent = `
61
- [data-hypen-type="row"] > * {
62
- flex: 1 1 0%;
63
- min-width: 0;
64
- }
65
- `;
66
- document.head.appendChild(style);
67
- }
68
- var rowStylesInjected = false, rowHandler;
54
+ var rowHandler;
69
55
  var init_row = __esm(() => {
70
56
  rowHandler = {
71
57
  create() {
72
- ensureRowStyles();
73
58
  const el = document.createElement("div");
74
59
  el.style.display = "flex";
75
60
  el.style.flexDirection = "row";
@@ -140,6 +125,16 @@ var init_button = __esm(() => {
140
125
  buttonHandler = {
141
126
  create() {
142
127
  const el = document.createElement("button");
128
+ el.style.border = "none";
129
+ el.style.background = "none";
130
+ el.style.padding = "0";
131
+ el.style.margin = "0";
132
+ el.style.font = "inherit";
133
+ el.style.color = "inherit";
134
+ el.style.cursor = "pointer";
135
+ el.style.display = "flex";
136
+ el.style.flexDirection = "column";
137
+ el.style.alignItems = "flex-start";
143
138
  el.dataset.hypenType = "button";
144
139
  return el;
145
140
  }
@@ -791,9 +786,10 @@ var init_avatar = __esm(() => {
791
786
  return el;
792
787
  },
793
788
  applyProps(el, props) {
794
- if (props.src !== undefined) {
789
+ const src = props["src.0"] || props["0"] || props.src || props.source;
790
+ if (src !== undefined) {
795
791
  const img = document.createElement("img");
796
- img.src = String(props.src);
792
+ img.src = String(src);
797
793
  img.style.width = "100%";
798
794
  img.style.height = "100%";
799
795
  img.style.objectFit = "cover";
@@ -1261,11 +1257,96 @@ var init_hypenapp = __esm(() => {
1261
1257
  };
1262
1258
  });
1263
1259
 
1260
+ // src/dom/components/index.ts
1261
+ class ComponentRegistry {
1262
+ handlers = new Map;
1263
+ constructor() {
1264
+ this.registerDefaults();
1265
+ }
1266
+ register(type, handler) {
1267
+ this.handlers.set(type.toLowerCase(), handler);
1268
+ }
1269
+ get(type) {
1270
+ return this.handlers.get(type.toLowerCase());
1271
+ }
1272
+ createElement(type, props = {}) {
1273
+ const handler = this.get(type);
1274
+ if (!handler)
1275
+ return null;
1276
+ const element = handler.create();
1277
+ if (handler.applyProps) {
1278
+ handler.applyProps(element, props);
1279
+ }
1280
+ return element;
1281
+ }
1282
+ registerDefaults() {
1283
+ const { columnHandler: columnHandler2 } = (init_column(), __toCommonJS(exports_column));
1284
+ const { rowHandler: rowHandler2 } = (init_row(), __toCommonJS(exports_row));
1285
+ const { textHandler: textHandler2 } = (init_text(), __toCommonJS(exports_text));
1286
+ const { imageHandler: imageHandler2 } = (init_image(), __toCommonJS(exports_image));
1287
+ const { buttonHandler: buttonHandler2 } = (init_button(), __toCommonJS(exports_button));
1288
+ const { containerHandler: containerHandler2 } = (init_container(), __toCommonJS(exports_container));
1289
+ const { centerHandler: centerHandler2 } = (init_center(), __toCommonJS(exports_center));
1290
+ const { listHandler: listHandler2 } = (init_list(), __toCommonJS(exports_list));
1291
+ const { inputHandler: inputHandler2 } = (init_input(), __toCommonJS(exports_input));
1292
+ const { linkHandler: linkHandler2 } = (init_link(), __toCommonJS(exports_link));
1293
+ const { textareaHandler: textareaHandler2 } = (init_textarea(), __toCommonJS(exports_textarea));
1294
+ const { checkboxHandler: checkboxHandler2 } = (init_checkbox(), __toCommonJS(exports_checkbox));
1295
+ const { selectHandler: selectHandler2 } = (init_select(), __toCommonJS(exports_select));
1296
+ const { spacerHandler: spacerHandler2 } = (init_spacer(), __toCommonJS(exports_spacer));
1297
+ const { stackHandler: stackHandler2 } = (init_stack(), __toCommonJS(exports_stack));
1298
+ const { dividerHandler: dividerHandler2 } = (init_divider(), __toCommonJS(exports_divider));
1299
+ const { gridHandler: gridHandler2 } = (init_grid(), __toCommonJS(exports_grid));
1300
+ const { cardHandler: cardHandler2 } = (init_card(), __toCommonJS(exports_card));
1301
+ const { headingHandler: headingHandler2 } = (init_heading(), __toCommonJS(exports_heading));
1302
+ const { switchHandler: switchHandler2 } = (init_switch(), __toCommonJS(exports_switch));
1303
+ const { sliderHandler: sliderHandler2 } = (init_slider(), __toCommonJS(exports_slider));
1304
+ const { spinnerHandler: spinnerHandler2 } = (init_spinner(), __toCommonJS(exports_spinner));
1305
+ const { badgeHandler: badgeHandler2 } = (init_badge(), __toCommonJS(exports_badge));
1306
+ const { avatarHandler: avatarHandler2 } = (init_avatar(), __toCommonJS(exports_avatar));
1307
+ const { progressBarHandler: progressBarHandler2 } = (init_progressbar(), __toCommonJS(exports_progressbar));
1308
+ const { videoHandler: videoHandler2 } = (init_video(), __toCommonJS(exports_video));
1309
+ const { audioHandler: audioHandler2 } = (init_audio(), __toCommonJS(exports_audio));
1310
+ const { paragraphHandler: paragraphHandler2 } = (init_paragraph(), __toCommonJS(exports_paragraph));
1311
+ const { routerHandler: routerHandler2 } = (init_router(), __toCommonJS(exports_router));
1312
+ const { routeHandler: routeHandler2 } = (init_route(), __toCommonJS(exports_route));
1313
+ const { hypenAppHandler: hypenAppHandler2 } = (init_hypenapp(), __toCommonJS(exports_hypenapp));
1314
+ this.register("column", columnHandler2);
1315
+ this.register("row", rowHandler2);
1316
+ this.register("text", textHandler2);
1317
+ this.register("image", imageHandler2);
1318
+ this.register("button", buttonHandler2);
1319
+ this.register("container", containerHandler2);
1320
+ this.register("box", containerHandler2);
1321
+ this.register("center", centerHandler2);
1322
+ this.register("list", listHandler2);
1323
+ this.register("input", inputHandler2);
1324
+ this.register("link", linkHandler2);
1325
+ this.register("textarea", textareaHandler2);
1326
+ this.register("checkbox", checkboxHandler2);
1327
+ this.register("select", selectHandler2);
1328
+ this.register("spacer", spacerHandler2);
1329
+ this.register("stack", stackHandler2);
1330
+ this.register("divider", dividerHandler2);
1331
+ this.register("grid", gridHandler2);
1332
+ this.register("card", cardHandler2);
1333
+ this.register("heading", headingHandler2);
1334
+ this.register("switch", switchHandler2);
1335
+ this.register("slider", sliderHandler2);
1336
+ this.register("spinner", spinnerHandler2);
1337
+ this.register("badge", badgeHandler2);
1338
+ this.register("avatar", avatarHandler2);
1339
+ this.register("progressbar", progressBarHandler2);
1340
+ this.register("video", videoHandler2);
1341
+ this.register("audio", audioHandler2);
1342
+ this.register("paragraph", paragraphHandler2);
1343
+ this.register("router", routerHandler2);
1344
+ this.register("route", routeHandler2);
1345
+ this.register("hypenapp", hypenAppHandler2);
1346
+ }
1347
+ }
1348
+
1264
1349
  // src/dom/applicators/padding.ts
1265
- var exports_padding = {};
1266
- __export(exports_padding, {
1267
- paddingHandler: () => paddingHandler
1268
- });
1269
1350
  var paddingHandler = (el, value) => {
1270
1351
  if (typeof value === "number") {
1271
1352
  el.style.padding = `${value}px`;
@@ -1284,10 +1365,6 @@ var paddingHandler = (el, value) => {
1284
1365
  };
1285
1366
 
1286
1367
  // src/dom/applicators/margin.ts
1287
- var exports_margin = {};
1288
- __export(exports_margin, {
1289
- marginHandler: () => marginHandler
1290
- });
1291
1368
  var marginHandler = (el, value) => {
1292
1369
  if (typeof value === "number") {
1293
1370
  el.style.margin = `${value}px`;
@@ -1306,104 +1383,86 @@ var marginHandler = (el, value) => {
1306
1383
  };
1307
1384
 
1308
1385
  // src/dom/applicators/color.ts
1309
- var exports_color = {};
1310
- __export(exports_color, {
1311
- colorHandlers: () => colorHandlers
1312
- });
1313
- var colorHandlers;
1314
- var init_color = __esm(() => {
1315
- colorHandlers = {
1316
- color: (el, value) => {
1317
- el.style.color = String(value);
1318
- },
1319
- backgroundColor: (el, value) => {
1320
- el.style.backgroundColor = String(value);
1321
- },
1322
- borderColor: (el, value) => {
1323
- el.style.borderColor = String(value);
1324
- },
1325
- opacity: (el, value) => {
1326
- el.style.opacity = String(value);
1327
- }
1328
- };
1329
- });
1386
+ var colorHandlers = {
1387
+ color: (el, value) => {
1388
+ el.style.color = String(value);
1389
+ },
1390
+ backgroundColor: (el, value) => {
1391
+ el.style.backgroundColor = String(value);
1392
+ },
1393
+ borderColor: (el, value) => {
1394
+ el.style.borderColor = String(value);
1395
+ },
1396
+ opacity: (el, value) => {
1397
+ el.style.opacity = String(value);
1398
+ }
1399
+ };
1330
1400
 
1331
1401
  // src/dom/applicators/border.ts
1332
- var exports_border = {};
1333
- __export(exports_border, {
1334
- borderHandlers: () => borderHandlers
1335
- });
1336
- var borderHandlers;
1337
- var init_border = __esm(() => {
1338
- borderHandlers = {
1339
- border: (el, value) => {
1340
- if (typeof value === "number") {
1341
- el.style.borderWidth = `${value}px`;
1342
- el.style.borderStyle = "solid";
1343
- } else if (typeof value === "object" && value !== null) {
1344
- const obj = value;
1345
- if (obj.width !== undefined) {
1346
- el.style.borderWidth = typeof obj.width === "number" ? `${obj.width}px` : String(obj.width);
1347
- }
1348
- if (obj.color !== undefined) {
1349
- el.style.borderColor = String(obj.color);
1350
- }
1351
- if (obj.style !== undefined) {
1352
- el.style.borderStyle = String(obj.style);
1353
- } else {
1354
- el.style.borderStyle = "solid";
1355
- }
1356
- if (obj.radius !== undefined) {
1357
- el.style.borderRadius = typeof obj.radius === "number" ? `${obj.radius}px` : String(obj.radius);
1358
- }
1359
- } else if (typeof value === "string") {
1360
- el.style.border = value;
1361
- }
1362
- },
1363
- borderWidth: (el, value) => {
1364
- el.style.borderWidth = typeof value === "number" ? `${value}px` : String(value);
1365
- },
1366
- borderStyle: (el, value) => {
1367
- el.style.borderStyle = String(value);
1368
- },
1369
- borderRadius: (el, value) => {
1370
- if (typeof value === "number") {
1371
- el.style.borderRadius = `${value}px`;
1372
- } else if (typeof value === "object" && value !== null) {
1373
- const obj = value;
1374
- const topLeft = obj.topLeft ?? obj.topStart ?? 0;
1375
- const topRight = obj.topRight ?? obj.topEnd ?? 0;
1376
- const bottomRight = obj.bottomRight ?? obj.bottomEnd ?? 0;
1377
- const bottomLeft = obj.bottomLeft ?? obj.bottomStart ?? 0;
1378
- const formatValue = (v) => typeof v === "number" ? `${v}px` : String(v);
1379
- el.style.borderRadius = `${formatValue(topLeft)} ${formatValue(topRight)} ${formatValue(bottomRight)} ${formatValue(bottomLeft)}`;
1402
+ var borderHandlers = {
1403
+ border: (el, value) => {
1404
+ if (typeof value === "number") {
1405
+ el.style.borderWidth = `${value}px`;
1406
+ el.style.borderStyle = "solid";
1407
+ } else if (typeof value === "object" && value !== null) {
1408
+ const obj = value;
1409
+ if (obj.width !== undefined) {
1410
+ el.style.borderWidth = typeof obj.width === "number" ? `${obj.width}px` : String(obj.width);
1411
+ }
1412
+ if (obj.color !== undefined) {
1413
+ el.style.borderColor = String(obj.color);
1414
+ }
1415
+ if (obj.style !== undefined) {
1416
+ el.style.borderStyle = String(obj.style);
1380
1417
  } else {
1381
- el.style.borderRadius = String(value);
1418
+ el.style.borderStyle = "solid";
1382
1419
  }
1383
- },
1384
- cornerRadius: (el, value) => {
1385
- if (typeof value === "number") {
1386
- el.style.borderRadius = `${value}px`;
1387
- } else if (typeof value === "object" && value !== null) {
1388
- const obj = value;
1389
- const topLeft = obj.topLeft ?? obj.topStart ?? 0;
1390
- const topRight = obj.topRight ?? obj.topEnd ?? 0;
1391
- const bottomRight = obj.bottomRight ?? obj.bottomEnd ?? 0;
1392
- const bottomLeft = obj.bottomLeft ?? obj.bottomStart ?? 0;
1393
- const formatValue = (v) => typeof v === "number" ? `${v}px` : String(v);
1394
- el.style.borderRadius = `${formatValue(topLeft)} ${formatValue(topRight)} ${formatValue(bottomRight)} ${formatValue(bottomLeft)}`;
1395
- } else {
1396
- el.style.borderRadius = String(value);
1420
+ if (obj.radius !== undefined) {
1421
+ el.style.borderRadius = typeof obj.radius === "number" ? `${obj.radius}px` : String(obj.radius);
1397
1422
  }
1423
+ } else if (typeof value === "string") {
1424
+ el.style.border = value;
1398
1425
  }
1399
- };
1400
- });
1426
+ },
1427
+ borderWidth: (el, value) => {
1428
+ el.style.borderWidth = typeof value === "number" ? `${value}px` : String(value);
1429
+ },
1430
+ borderStyle: (el, value) => {
1431
+ el.style.borderStyle = String(value);
1432
+ },
1433
+ borderRadius: (el, value) => {
1434
+ if (typeof value === "number") {
1435
+ el.style.borderRadius = `${value}px`;
1436
+ } else if (typeof value === "object" && value !== null) {
1437
+ const obj = value;
1438
+ const topLeft = obj.topLeft ?? obj.topStart ?? 0;
1439
+ const topRight = obj.topRight ?? obj.topEnd ?? 0;
1440
+ const bottomRight = obj.bottomRight ?? obj.bottomEnd ?? 0;
1441
+ const bottomLeft = obj.bottomLeft ?? obj.bottomStart ?? 0;
1442
+ const formatValue = (v) => typeof v === "number" ? `${v}px` : String(v);
1443
+ el.style.borderRadius = `${formatValue(topLeft)} ${formatValue(topRight)} ${formatValue(bottomRight)} ${formatValue(bottomLeft)}`;
1444
+ } else {
1445
+ el.style.borderRadius = String(value);
1446
+ }
1447
+ },
1448
+ cornerRadius: (el, value) => {
1449
+ if (typeof value === "number") {
1450
+ el.style.borderRadius = `${value}px`;
1451
+ } else if (typeof value === "object" && value !== null) {
1452
+ const obj = value;
1453
+ const topLeft = obj.topLeft ?? obj.topStart ?? 0;
1454
+ const topRight = obj.topRight ?? obj.topEnd ?? 0;
1455
+ const bottomRight = obj.bottomRight ?? obj.bottomEnd ?? 0;
1456
+ const bottomLeft = obj.bottomLeft ?? obj.bottomStart ?? 0;
1457
+ const formatValue = (v) => typeof v === "number" ? `${v}px` : String(v);
1458
+ el.style.borderRadius = `${formatValue(topLeft)} ${formatValue(topRight)} ${formatValue(bottomRight)} ${formatValue(bottomLeft)}`;
1459
+ } else {
1460
+ el.style.borderRadius = String(value);
1461
+ }
1462
+ }
1463
+ };
1401
1464
 
1402
1465
  // src/dom/applicators/size.ts
1403
- var exports_size = {};
1404
- __export(exports_size, {
1405
- sizeHandlers: () => sizeHandlers
1406
- });
1407
1466
  function parseSizeValue(value) {
1408
1467
  if (value === null || value === undefined)
1409
1468
  return null;
@@ -1454,88 +1513,105 @@ function parseSizeValue(value) {
1454
1513
  return `${num}px`;
1455
1514
  }
1456
1515
  }
1457
- var sizeHandlers;
1458
- var init_size = __esm(() => {
1459
- sizeHandlers = {
1460
- width: (el, value) => {
1516
+ var sizeHandlers = {
1517
+ width: (el, value) => {
1518
+ const size = parseSizeValue(value);
1519
+ if (size)
1520
+ el.style.width = size;
1521
+ },
1522
+ height: (el, value) => {
1523
+ const size = parseSizeValue(value);
1524
+ if (size)
1525
+ el.style.height = size;
1526
+ },
1527
+ minWidth: (el, value) => {
1528
+ const size = parseSizeValue(value);
1529
+ if (size)
1530
+ el.style.minWidth = size;
1531
+ },
1532
+ minHeight: (el, value) => {
1533
+ const size = parseSizeValue(value);
1534
+ if (size)
1535
+ el.style.minHeight = size;
1536
+ },
1537
+ maxWidth: (el, value) => {
1538
+ const size = parseSizeValue(value);
1539
+ if (size)
1540
+ el.style.maxWidth = size;
1541
+ },
1542
+ maxHeight: (el, value) => {
1543
+ const size = parseSizeValue(value);
1544
+ if (size)
1545
+ el.style.maxHeight = size;
1546
+ },
1547
+ size: (el, value) => {
1548
+ if (typeof value === "object" && value !== null) {
1549
+ const obj = value;
1550
+ if (obj.width !== undefined) {
1551
+ const w = parseSizeValue(obj.width);
1552
+ if (w)
1553
+ el.style.width = w;
1554
+ }
1555
+ if (obj.height !== undefined) {
1556
+ const h = parseSizeValue(obj.height);
1557
+ if (h)
1558
+ el.style.height = h;
1559
+ }
1560
+ } else {
1461
1561
  const size = parseSizeValue(value);
1462
- if (size)
1562
+ if (size) {
1463
1563
  el.style.width = size;
1464
- },
1465
- height: (el, value) => {
1466
- const size = parseSizeValue(value);
1467
- if (size)
1468
1564
  el.style.height = size;
1469
- },
1470
- minWidth: (el, value) => {
1471
- const size = parseSizeValue(value);
1472
- if (size)
1473
- el.style.minWidth = size;
1474
- },
1475
- minHeight: (el, value) => {
1476
- const size = parseSizeValue(value);
1477
- if (size)
1478
- el.style.minHeight = size;
1479
- },
1480
- maxWidth: (el, value) => {
1481
- const size = parseSizeValue(value);
1482
- if (size)
1483
- el.style.maxWidth = size;
1484
- },
1485
- maxHeight: (el, value) => {
1486
- const size = parseSizeValue(value);
1487
- if (size)
1488
- el.style.maxHeight = size;
1489
- },
1490
- size: (el, value) => {
1491
- if (typeof value === "object" && value !== null) {
1492
- const obj = value;
1493
- if (obj.width !== undefined) {
1494
- const w = parseSizeValue(obj.width);
1495
- if (w)
1496
- el.style.width = w;
1497
- }
1498
- if (obj.height !== undefined) {
1499
- const h = parseSizeValue(obj.height);
1500
- if (h)
1501
- el.style.height = h;
1502
- }
1503
- } else {
1504
- const size = parseSizeValue(value);
1505
- if (size) {
1506
- el.style.width = size;
1507
- el.style.height = size;
1508
- }
1509
1565
  }
1510
- },
1511
- fillMaxWidth: (el, value) => {
1512
- if (value === false)
1513
- return;
1514
- const fraction = typeof value === "number" ? value : 1;
1515
- el.style.width = `${fraction * 100}%`;
1516
- },
1517
- fillMaxHeight: (el, value) => {
1518
- if (value === false)
1519
- return;
1520
- const fraction = typeof value === "number" ? value : 1;
1521
- el.style.height = `${fraction * 100}%`;
1522
- },
1523
- fillMaxSize: (el, value) => {
1524
- if (value === false)
1525
- return;
1526
- const fraction = typeof value === "number" ? value : 1;
1527
- el.style.width = `${fraction * 100}%`;
1528
- el.style.height = `${fraction * 100}%`;
1529
1566
  }
1530
- };
1531
- });
1567
+ },
1568
+ fillMaxWidth: (el, value) => {
1569
+ if (value === false)
1570
+ return;
1571
+ const fraction = typeof value === "number" ? value : 1;
1572
+ el.style.width = `${fraction * 100}%`;
1573
+ el.style.alignSelf = "stretch";
1574
+ },
1575
+ fillMaxHeight: (el, value) => {
1576
+ if (value === false)
1577
+ return;
1578
+ const fraction = typeof value === "number" ? value : 1;
1579
+ el.style.height = `${fraction * 100}%`;
1580
+ },
1581
+ fillMaxSize: (el, value) => {
1582
+ if (value === false)
1583
+ return;
1584
+ const fraction = typeof value === "number" ? value : 1;
1585
+ el.style.width = `${fraction * 100}%`;
1586
+ el.style.height = `${fraction * 100}%`;
1587
+ }
1588
+ };
1532
1589
 
1533
1590
  // src/dom/applicators/font.ts
1534
- var exports_font = {};
1535
- __export(exports_font, {
1536
- fontHandlers: () => fontHandlers,
1537
- GoogleFonts: () => GoogleFonts
1538
- });
1591
+ var loadedGoogleFonts = new Set;
1592
+ var systemFontKeywords = new Set([
1593
+ "default",
1594
+ "system",
1595
+ "system-ui",
1596
+ "inherit",
1597
+ "initial",
1598
+ "unset",
1599
+ "serif",
1600
+ "sans-serif",
1601
+ "monospace",
1602
+ "cursive",
1603
+ "fantasy",
1604
+ "-apple-system",
1605
+ "BlinkMacSystemFont",
1606
+ "Segoe UI",
1607
+ "Arial",
1608
+ "Helvetica",
1609
+ "Times New Roman",
1610
+ "Georgia",
1611
+ "Courier New",
1612
+ "Verdana",
1613
+ "Tahoma"
1614
+ ]);
1539
1615
  function isSystemFont(fontName) {
1540
1616
  const normalized = fontName.toLowerCase().trim();
1541
1617
  return systemFontKeywords.has(normalized) || normalized.startsWith("-") || normalized.startsWith("ui-");
@@ -1565,91 +1641,59 @@ function processFontFamily(value) {
1565
1641
  return f;
1566
1642
  }).join(", ");
1567
1643
  }
1568
- var loadedGoogleFonts, systemFontKeywords, fontHandlers, GoogleFonts;
1569
- var init_font = __esm(() => {
1570
- loadedGoogleFonts = new Set;
1571
- systemFontKeywords = new Set([
1572
- "default",
1573
- "system",
1574
- "system-ui",
1575
- "inherit",
1576
- "initial",
1577
- "unset",
1578
- "serif",
1579
- "sans-serif",
1580
- "monospace",
1581
- "cursive",
1582
- "fantasy",
1583
- "-apple-system",
1584
- "BlinkMacSystemFont",
1585
- "Segoe UI",
1586
- "Arial",
1587
- "Helvetica",
1588
- "Times New Roman",
1589
- "Georgia",
1590
- "Courier New",
1591
- "Verdana",
1592
- "Tahoma"
1593
- ]);
1594
- fontHandlers = {
1595
- fontSize: (el, value) => {
1596
- el.style.fontSize = typeof value === "number" ? `${value}px` : String(value);
1597
- },
1598
- fontWeight: (el, value) => {
1599
- el.style.fontWeight = String(value);
1600
- },
1601
- fontFamily: (el, value) => {
1602
- const fontValue = String(value);
1603
- el.style.fontFamily = processFontFamily(fontValue);
1604
- },
1605
- textAlign: (el, value) => {
1606
- el.style.textAlign = String(value);
1607
- },
1608
- lineHeight: (el, value) => {
1609
- el.style.lineHeight = String(value);
1610
- },
1611
- fontStyle: (el, value) => {
1612
- el.style.fontStyle = String(value);
1613
- },
1614
- textTransform: (el, value) => {
1615
- el.style.textTransform = String(value);
1616
- }
1617
- };
1618
- GoogleFonts = {
1619
- preload: loadGoogleFont,
1620
- isLoaded: (fontName) => loadedGoogleFonts.has(fontName.trim()),
1621
- getLoadedFonts: () => Array.from(loadedGoogleFonts),
1622
- popular: [
1623
- "Roboto",
1624
- "Open Sans",
1625
- "Lato",
1626
- "Montserrat",
1627
- "Poppins",
1628
- "Inter",
1629
- "Nunito",
1630
- "Playfair Display",
1631
- "Merriweather",
1632
- "Source Code Pro",
1633
- "Fira Code",
1634
- "JetBrains Mono",
1635
- "Raleway",
1636
- "Ubuntu",
1637
- "Oswald",
1638
- "Quicksand",
1639
- "Work Sans",
1640
- "Rubik",
1641
- "Karla",
1642
- "DM Sans"
1643
- ]
1644
- };
1645
- });
1644
+ var fontHandlers = {
1645
+ fontSize: (el, value) => {
1646
+ el.style.fontSize = typeof value === "number" ? `${value}px` : String(value);
1647
+ },
1648
+ fontWeight: (el, value) => {
1649
+ el.style.fontWeight = String(value);
1650
+ },
1651
+ fontFamily: (el, value) => {
1652
+ const fontValue = String(value);
1653
+ el.style.fontFamily = processFontFamily(fontValue);
1654
+ },
1655
+ textAlign: (el, value) => {
1656
+ el.style.textAlign = String(value);
1657
+ },
1658
+ lineHeight: (el, value) => {
1659
+ el.style.lineHeight = String(value);
1660
+ },
1661
+ fontStyle: (el, value) => {
1662
+ el.style.fontStyle = String(value);
1663
+ },
1664
+ textTransform: (el, value) => {
1665
+ el.style.textTransform = String(value);
1666
+ }
1667
+ };
1668
+ var GoogleFonts = {
1669
+ preload: loadGoogleFont,
1670
+ isLoaded: (fontName) => loadedGoogleFonts.has(fontName.trim()),
1671
+ getLoadedFonts: () => Array.from(loadedGoogleFonts),
1672
+ popular: [
1673
+ "Roboto",
1674
+ "Open Sans",
1675
+ "Lato",
1676
+ "Montserrat",
1677
+ "Poppins",
1678
+ "Inter",
1679
+ "Nunito",
1680
+ "Playfair Display",
1681
+ "Merriweather",
1682
+ "Source Code Pro",
1683
+ "Fira Code",
1684
+ "JetBrains Mono",
1685
+ "Raleway",
1686
+ "Ubuntu",
1687
+ "Oswald",
1688
+ "Quicksand",
1689
+ "Work Sans",
1690
+ "Rubik",
1691
+ "Karla",
1692
+ "DM Sans"
1693
+ ]
1694
+ };
1646
1695
 
1647
1696
  // src/dom/applicators/layout.ts
1648
- var exports_layout = {};
1649
- __export(exports_layout, {
1650
- mapAlignmentValue: () => mapAlignmentValue,
1651
- layoutHandlers: () => layoutHandlers
1652
- });
1653
1697
  function mapAlignmentValue(value) {
1654
1698
  const v = String(value).toLowerCase();
1655
1699
  switch (v) {
@@ -1678,76 +1722,74 @@ function mapAlignmentValue(value) {
1678
1722
  return v;
1679
1723
  }
1680
1724
  }
1681
- var layoutHandlers;
1682
- var init_layout = __esm(() => {
1683
- layoutHandlers = {
1684
- verticalAlignment: (el, value) => {
1685
- const val = mapAlignmentValue(String(value));
1686
- const flexDirection = getComputedStyle(el).flexDirection;
1687
- if (flexDirection === "column" || flexDirection === "column-reverse") {
1688
- el.style.justifyContent = val;
1689
- } else {
1690
- el.style.alignItems = val;
1691
- }
1692
- },
1693
- horizontalAlignment: (el, value) => {
1694
- const val = mapAlignmentValue(String(value));
1695
- const flexDirection = getComputedStyle(el).flexDirection;
1696
- if (flexDirection === "column" || flexDirection === "column-reverse") {
1697
- el.style.alignItems = val;
1698
- } else {
1699
- el.style.justifyContent = val;
1700
- }
1701
- },
1702
- horizontalAlign: (el, value) => {
1703
- el.style.justifyContent = mapAlignmentValue(String(value));
1704
- },
1705
- verticalAlign: (el, value) => {
1706
- el.style.alignItems = mapAlignmentValue(String(value));
1707
- },
1708
- gap: (el, value) => {
1709
- el.style.gap = typeof value === "number" ? `${value}px` : String(value);
1710
- },
1711
- weight: (el, value) => {
1712
- el.style.flex = String(value);
1713
- },
1714
- flex: (el, value) => {
1715
- el.style.flex = String(value);
1716
- },
1717
- flexGrow: (el, value) => {
1718
- el.style.flexGrow = String(value);
1719
- },
1720
- flexShrink: (el, value) => {
1721
- el.style.flexShrink = String(value);
1722
- },
1723
- cursor: (el, value) => {
1724
- el.style.cursor = String(value);
1725
- },
1726
- overflow: (el, value) => {
1725
+ var layoutHandlers = {
1726
+ verticalAlignment: (el, value) => {
1727
+ const val = mapAlignmentValue(String(value));
1728
+ const flexDirection = el.style.flexDirection || getComputedStyle(el).flexDirection;
1729
+ if (flexDirection === "column" || flexDirection === "column-reverse") {
1730
+ el.style.justifyContent = val;
1731
+ } else {
1732
+ el.style.alignItems = val;
1733
+ }
1734
+ },
1735
+ horizontalAlignment: (el, value) => {
1736
+ const val = mapAlignmentValue(String(value));
1737
+ const flexDirection = el.style.flexDirection || getComputedStyle(el).flexDirection;
1738
+ if (flexDirection === "column" || flexDirection === "column-reverse") {
1739
+ el.style.alignItems = val;
1740
+ } else {
1741
+ el.style.justifyContent = val;
1742
+ }
1743
+ },
1744
+ horizontalAlign: (el, value) => {
1745
+ el.style.justifyContent = mapAlignmentValue(String(value));
1746
+ },
1747
+ verticalAlign: (el, value) => {
1748
+ el.style.alignItems = mapAlignmentValue(String(value));
1749
+ },
1750
+ gap: (el, value) => {
1751
+ el.style.gap = typeof value === "number" ? `${value}px` : String(value);
1752
+ },
1753
+ weight: (el, value) => {
1754
+ el.style.flex = String(value);
1755
+ },
1756
+ flex: (el, value) => {
1757
+ el.style.flex = String(value);
1758
+ },
1759
+ flexGrow: (el, value) => {
1760
+ el.style.flexGrow = String(value);
1761
+ },
1762
+ flexShrink: (el, value) => {
1763
+ el.style.flexShrink = String(value);
1764
+ },
1765
+ cursor: (el, value) => {
1766
+ el.style.cursor = String(value);
1767
+ },
1768
+ overflow: (el, value) => {
1769
+ el.style.overflow = String(value);
1770
+ },
1771
+ scrollable: (el, value) => {
1772
+ if (value === true || value === "true") {
1773
+ el.style.overflow = "auto";
1774
+ } else if (value === false || value === "false") {
1775
+ el.style.overflow = "hidden";
1776
+ } else if (value === "vertical") {
1777
+ el.style.overflowX = "hidden";
1778
+ el.style.overflowY = "auto";
1779
+ } else if (value === "horizontal") {
1780
+ el.style.overflowX = "auto";
1781
+ el.style.overflowY = "hidden";
1782
+ } else if (value === "both") {
1783
+ el.style.overflow = "auto";
1784
+ } else {
1727
1785
  el.style.overflow = String(value);
1728
- },
1729
- scrollable: (el, value) => {
1730
- if (value === true || value === "true") {
1731
- el.style.overflow = "auto";
1732
- } else if (value === false || value === "false") {
1733
- el.style.overflow = "hidden";
1734
- } else if (value === "vertical") {
1735
- el.style.overflowX = "hidden";
1736
- el.style.overflowY = "auto";
1737
- } else if (value === "horizontal") {
1738
- el.style.overflowX = "auto";
1739
- el.style.overflowY = "hidden";
1740
- } else if (value === "both") {
1741
- el.style.overflow = "auto";
1742
- } else {
1743
- el.style.overflow = String(value);
1744
- }
1745
1786
  }
1746
- };
1747
- });
1787
+ }
1788
+ };
1748
1789
 
1749
1790
  // src/dom/element-data.ts
1750
- import { getElementDisposables } from "@hypen-space/core";
1791
+ import { getElementDisposables } from "@hypen-space/core/disposable";
1792
+ var elementDataMap = new WeakMap;
1751
1793
  function getHypenData(element) {
1752
1794
  let data = elementDataMap.get(element);
1753
1795
  if (!data) {
@@ -1817,6 +1859,9 @@ function disposeHypenElement(element) {
1817
1859
  } catch {}
1818
1860
  clearHypenData(element);
1819
1861
  }
1862
+ var HYPEN_ENGINE_SYMBOL = Symbol.for("hypen.engine");
1863
+ var REGISTERED_EVENTS_SYMBOL = Symbol.for("hypen.registeredEvents");
1864
+ var KEY_TARGET_SYMBOL = Symbol.for("hypen.keyTarget");
1820
1865
  function getLegacyEngine(element) {
1821
1866
  const engine = getEngine(element);
1822
1867
  if (engine)
@@ -1827,24 +1872,13 @@ function setLegacyEngine(element, engine) {
1827
1872
  setEngine(element, engine);
1828
1873
  element.__hypenEngine = engine;
1829
1874
  }
1830
- var elementDataMap, HYPEN_ENGINE_SYMBOL, REGISTERED_EVENTS_SYMBOL, KEY_TARGET_SYMBOL;
1831
- var init_element_data = __esm(() => {
1832
- elementDataMap = new WeakMap;
1833
- HYPEN_ENGINE_SYMBOL = Symbol.for("hypen.engine");
1834
- REGISTERED_EVENTS_SYMBOL = Symbol.for("hypen.registeredEvents");
1835
- KEY_TARGET_SYMBOL = Symbol.for("hypen.keyTarget");
1836
- });
1837
1875
 
1838
1876
  // src/dom/applicators/events.ts
1839
- var exports_events = {};
1840
- __export(exports_events, {
1841
- eventHandlers: () => eventHandlers
1842
- });
1843
1877
  import {
1844
1878
  getElementDisposables as getElementDisposables2,
1845
1879
  disposableListener,
1846
1880
  disposableTimeout
1847
- } from "@hypen-space/core";
1881
+ } from "@hypen-space/core/disposable";
1848
1882
  function toPlainObject(value) {
1849
1883
  if (value instanceof Map) {
1850
1884
  const obj = {};
@@ -2075,7 +2109,8 @@ var inputPayload = (event, element) => {
2075
2109
  value: target.value,
2076
2110
  input: target.value
2077
2111
  };
2078
- }, scrollPayload = (_event, element) => {
2112
+ };
2113
+ var scrollPayload = (_event, element) => {
2079
2114
  const scrollTop = element.scrollTop;
2080
2115
  const scrollHeight = element.scrollHeight;
2081
2116
  const clientHeight = element.clientHeight;
@@ -2095,11 +2130,13 @@ var inputPayload = (event, element) => {
2095
2130
  atBottom: scrollHeight - scrollTop === clientHeight,
2096
2131
  atTop: scrollTop === 0
2097
2132
  };
2098
- }, focusPayload = (event, element) => ({
2133
+ };
2134
+ var focusPayload = (event, element) => ({
2099
2135
  type: event.type,
2100
2136
  timestamp: Date.now(),
2101
2137
  value: element.value ?? undefined
2102
- }), mousePayload = (event, _element) => {
2138
+ });
2139
+ var mousePayload = (event, _element) => {
2103
2140
  const mouseEvent = event;
2104
2141
  return {
2105
2142
  type: event.type,
@@ -2107,637 +2144,495 @@ var inputPayload = (event, element) => {
2107
2144
  clientX: mouseEvent.clientX,
2108
2145
  clientY: mouseEvent.clientY
2109
2146
  };
2110
- }, eventHandlers;
2111
- var init_events = __esm(() => {
2112
- init_element_data();
2113
- eventHandlers = {
2114
- onClick: createEventHandler("click"),
2115
- onPress: createEventHandler("click"),
2116
- onChange: createEventHandler("change"),
2117
- onSubmit: createEventHandler("submit", { preventDefault: true }),
2118
- onInput: createEventHandler("input", { extractPayload: inputPayload }),
2119
- onKey: createKeyHandler("Enter"),
2120
- "onKey.key": (element, value) => {
2121
- setKeyTarget(element, String(value));
2122
- },
2123
- "onKey.action": createKeyHandler("Enter"),
2124
- onScroll: createEventHandler("scroll", {
2125
- throttleMs: 100,
2126
- passive: true,
2127
- extractPayload: scrollPayload
2128
- }),
2129
- onLongClick: createLongClickHandler(500),
2130
- onFocus: createEventHandler("focus", { extractPayload: focusPayload }),
2131
- onBlur: createEventHandler("blur", { extractPayload: focusPayload }),
2132
- onMouseEnter: createEventHandler("mouseenter", { extractPayload: mousePayload }),
2133
- onMouseLeave: createEventHandler("mouseleave", { extractPayload: mousePayload })
2134
- };
2135
- });
2147
+ };
2148
+ var eventHandlers = {
2149
+ onClick: createEventHandler("click"),
2150
+ onPress: createEventHandler("click"),
2151
+ onChange: createEventHandler("change"),
2152
+ onSubmit: createEventHandler("submit", { preventDefault: true }),
2153
+ onInput: createEventHandler("input", { extractPayload: inputPayload }),
2154
+ onKey: createKeyHandler("Enter"),
2155
+ "onKey.key": (element, value) => {
2156
+ setKeyTarget(element, String(value));
2157
+ },
2158
+ "onKey.action": createKeyHandler("Enter"),
2159
+ onScroll: createEventHandler("scroll", {
2160
+ throttleMs: 100,
2161
+ passive: true,
2162
+ extractPayload: scrollPayload
2163
+ }),
2164
+ onLongClick: createLongClickHandler(500),
2165
+ onFocus: createEventHandler("focus", { extractPayload: focusPayload }),
2166
+ onBlur: createEventHandler("blur", { extractPayload: focusPayload }),
2167
+ onMouseEnter: createEventHandler("mouseenter", { extractPayload: mousePayload }),
2168
+ onMouseLeave: createEventHandler("mouseleave", { extractPayload: mousePayload })
2169
+ };
2136
2170
 
2137
2171
  // src/dom/applicators/typography.ts
2138
- var exports_typography = {};
2139
- __export(exports_typography, {
2140
- typographyHandlers: () => typographyHandlers
2141
- });
2142
- var typographyHandlers;
2143
- var init_typography = __esm(() => {
2144
- typographyHandlers = {
2145
- textAlign: (el, value) => {
2146
- el.style.textAlign = String(value);
2147
- },
2148
- textTransform: (el, value) => {
2149
- el.style.textTransform = String(value);
2150
- },
2151
- textDecoration: (el, value) => {
2152
- el.style.textDecoration = String(value);
2153
- },
2154
- textDecorationColor: (el, value) => {
2155
- el.style.textDecorationColor = String(value);
2156
- },
2157
- textDecorationStyle: (el, value) => {
2158
- el.style.textDecorationStyle = String(value);
2159
- },
2160
- textDecorationThickness: (el, value) => {
2161
- el.style.textDecorationThickness = typeof value === "number" ? `${value}px` : String(value);
2162
- },
2163
- letterSpacing: (el, value) => {
2164
- el.style.letterSpacing = typeof value === "number" ? `${value}px` : String(value);
2165
- },
2166
- wordSpacing: (el, value) => {
2167
- el.style.wordSpacing = typeof value === "number" ? `${value}px` : String(value);
2168
- },
2169
- lineHeight: (el, value) => {
2170
- el.style.lineHeight = String(value);
2171
- },
2172
- textIndent: (el, value) => {
2173
- el.style.textIndent = typeof value === "number" ? `${value}px` : String(value);
2174
- },
2175
- textOverflow: (el, value) => {
2176
- el.style.textOverflow = String(value);
2177
- },
2178
- whiteSpace: (el, value) => {
2179
- el.style.whiteSpace = String(value);
2180
- },
2181
- wordBreak: (el, value) => {
2182
- el.style.wordBreak = String(value);
2183
- },
2184
- verticalAlign: (el, value) => {
2185
- el.style.verticalAlign = String(value);
2186
- },
2187
- fontVariant: (el, value) => {
2188
- el.style.fontVariant = String(value);
2189
- },
2190
- fontStretch: (el, value) => {
2191
- el.style.fontStretch = String(value);
2192
- },
2193
- fontStyle: (el, value) => {
2194
- el.style.fontStyle = String(value);
2195
- },
2196
- writingMode: (el, value) => {
2197
- el.style.writingMode = String(value);
2198
- },
2199
- maxLines: (el, value) => {
2200
- const lines = typeof value === "number" ? value : parseInt(String(value), 10);
2201
- if (!isNaN(lines) && lines > 0) {
2202
- el.style.display = "-webkit-box";
2203
- el.style.setProperty("-webkit-line-clamp", String(lines));
2204
- el.style.setProperty("-webkit-box-orient", "vertical");
2205
- el.style.overflow = "hidden";
2206
- }
2172
+ var typographyHandlers = {
2173
+ textAlign: (el, value) => {
2174
+ el.style.textAlign = String(value);
2175
+ },
2176
+ textTransform: (el, value) => {
2177
+ el.style.textTransform = String(value);
2178
+ },
2179
+ textDecoration: (el, value) => {
2180
+ el.style.textDecoration = String(value);
2181
+ },
2182
+ textDecorationColor: (el, value) => {
2183
+ el.style.textDecorationColor = String(value);
2184
+ },
2185
+ textDecorationStyle: (el, value) => {
2186
+ el.style.textDecorationStyle = String(value);
2187
+ },
2188
+ textDecorationThickness: (el, value) => {
2189
+ el.style.textDecorationThickness = typeof value === "number" ? `${value}px` : String(value);
2190
+ },
2191
+ letterSpacing: (el, value) => {
2192
+ el.style.letterSpacing = typeof value === "number" ? `${value}px` : String(value);
2193
+ },
2194
+ wordSpacing: (el, value) => {
2195
+ el.style.wordSpacing = typeof value === "number" ? `${value}px` : String(value);
2196
+ },
2197
+ lineHeight: (el, value) => {
2198
+ el.style.lineHeight = String(value);
2199
+ },
2200
+ textIndent: (el, value) => {
2201
+ el.style.textIndent = typeof value === "number" ? `${value}px` : String(value);
2202
+ },
2203
+ textOverflow: (el, value) => {
2204
+ el.style.textOverflow = String(value);
2205
+ },
2206
+ whiteSpace: (el, value) => {
2207
+ el.style.whiteSpace = String(value);
2208
+ },
2209
+ wordBreak: (el, value) => {
2210
+ el.style.wordBreak = String(value);
2211
+ },
2212
+ verticalAlign: (el, value) => {
2213
+ el.style.verticalAlign = String(value);
2214
+ },
2215
+ fontVariant: (el, value) => {
2216
+ el.style.fontVariant = String(value);
2217
+ },
2218
+ fontStretch: (el, value) => {
2219
+ el.style.fontStretch = String(value);
2220
+ },
2221
+ fontStyle: (el, value) => {
2222
+ el.style.fontStyle = String(value);
2223
+ },
2224
+ writingMode: (el, value) => {
2225
+ el.style.writingMode = String(value);
2226
+ },
2227
+ maxLines: (el, value) => {
2228
+ const lines = typeof value === "number" ? value : parseInt(String(value), 10);
2229
+ if (!isNaN(lines) && lines > 0) {
2230
+ el.style.display = "-webkit-box";
2231
+ el.style.setProperty("-webkit-line-clamp", String(lines));
2232
+ el.style.setProperty("-webkit-box-orient", "vertical");
2233
+ el.style.overflow = "hidden";
2207
2234
  }
2208
- };
2209
- });
2235
+ }
2236
+ };
2210
2237
 
2211
2238
  // src/dom/applicators/transform.ts
2212
- var exports_transform = {};
2213
- __export(exports_transform, {
2214
- transformHandlers: () => transformHandlers
2215
- });
2216
- var transformHandlers;
2217
- var init_transform = __esm(() => {
2218
- transformHandlers = {
2219
- transform: (el, value) => {
2220
- el.style.transform = String(value);
2221
- },
2222
- transformOrigin: (el, value) => {
2223
- el.style.transformOrigin = String(value);
2224
- },
2225
- translateX: (el, value) => {
2226
- const current = el.style.transform || "";
2227
- const val = typeof value === "number" ? `${value}px` : String(value);
2228
- el.style.transform = current ? `${current} translateX(${val})` : `translateX(${val})`;
2229
- },
2230
- translateY: (el, value) => {
2231
- const current = el.style.transform || "";
2232
- const val = typeof value === "number" ? `${value}px` : String(value);
2233
- el.style.transform = current ? `${current} translateY(${val})` : `translateY(${val})`;
2234
- },
2235
- translateZ: (el, value) => {
2236
- const current = el.style.transform || "";
2237
- const val = typeof value === "number" ? `${value}px` : String(value);
2238
- el.style.transform = current ? `${current} translateZ(${val})` : `translateZ(${val})`;
2239
- },
2240
- rotate: (el, value) => {
2241
- const current = el.style.transform || "";
2242
- const val = String(value);
2243
- el.style.transform = current ? `${current} rotate(${val})` : `rotate(${val})`;
2244
- },
2245
- rotateX: (el, value) => {
2246
- const current = el.style.transform || "";
2247
- const val = String(value);
2248
- el.style.transform = current ? `${current} rotateX(${val})` : `rotateX(${val})`;
2249
- },
2250
- rotateY: (el, value) => {
2251
- const current = el.style.transform || "";
2252
- const val = String(value);
2253
- el.style.transform = current ? `${current} rotateY(${val})` : `rotateY(${val})`;
2254
- },
2255
- rotateZ: (el, value) => {
2256
- const current = el.style.transform || "";
2257
- const val = String(value);
2258
- el.style.transform = current ? `${current} rotateZ(${val})` : `rotateZ(${val})`;
2259
- },
2260
- scale: (el, value) => {
2261
- const current = el.style.transform || "";
2262
- el.style.transform = current ? `${current} scale(${value})` : `scale(${value})`;
2263
- },
2264
- scaleX: (el, value) => {
2265
- const current = el.style.transform || "";
2266
- el.style.transform = current ? `${current} scaleX(${value})` : `scaleX(${value})`;
2267
- },
2268
- scaleY: (el, value) => {
2269
- const current = el.style.transform || "";
2270
- el.style.transform = current ? `${current} scaleY(${value})` : `scaleY(${value})`;
2271
- },
2272
- skew: (el, value) => {
2273
- const current = el.style.transform || "";
2274
- el.style.transform = current ? `${current} skew(${value})` : `skew(${value})`;
2275
- },
2276
- skewX: (el, value) => {
2277
- const current = el.style.transform || "";
2278
- el.style.transform = current ? `${current} skewX(${value})` : `skewX(${value})`;
2279
- },
2280
- skewY: (el, value) => {
2281
- const current = el.style.transform || "";
2282
- el.style.transform = current ? `${current} skewY(${value})` : `skewY(${value})`;
2283
- },
2284
- perspective: (el, value) => {
2285
- el.style.perspective = typeof value === "number" ? `${value}px` : String(value);
2286
- }
2287
- };
2288
- });
2239
+ var transformHandlers = {
2240
+ transform: (el, value) => {
2241
+ el.style.transform = String(value);
2242
+ },
2243
+ transformOrigin: (el, value) => {
2244
+ el.style.transformOrigin = String(value);
2245
+ },
2246
+ translateX: (el, value) => {
2247
+ const current = el.style.transform || "";
2248
+ const val = typeof value === "number" ? `${value}px` : String(value);
2249
+ el.style.transform = current ? `${current} translateX(${val})` : `translateX(${val})`;
2250
+ },
2251
+ translateY: (el, value) => {
2252
+ const current = el.style.transform || "";
2253
+ const val = typeof value === "number" ? `${value}px` : String(value);
2254
+ el.style.transform = current ? `${current} translateY(${val})` : `translateY(${val})`;
2255
+ },
2256
+ translateZ: (el, value) => {
2257
+ const current = el.style.transform || "";
2258
+ const val = typeof value === "number" ? `${value}px` : String(value);
2259
+ el.style.transform = current ? `${current} translateZ(${val})` : `translateZ(${val})`;
2260
+ },
2261
+ rotate: (el, value) => {
2262
+ const current = el.style.transform || "";
2263
+ const val = String(value);
2264
+ el.style.transform = current ? `${current} rotate(${val})` : `rotate(${val})`;
2265
+ },
2266
+ rotateX: (el, value) => {
2267
+ const current = el.style.transform || "";
2268
+ const val = String(value);
2269
+ el.style.transform = current ? `${current} rotateX(${val})` : `rotateX(${val})`;
2270
+ },
2271
+ rotateY: (el, value) => {
2272
+ const current = el.style.transform || "";
2273
+ const val = String(value);
2274
+ el.style.transform = current ? `${current} rotateY(${val})` : `rotateY(${val})`;
2275
+ },
2276
+ rotateZ: (el, value) => {
2277
+ const current = el.style.transform || "";
2278
+ const val = String(value);
2279
+ el.style.transform = current ? `${current} rotateZ(${val})` : `rotateZ(${val})`;
2280
+ },
2281
+ scale: (el, value) => {
2282
+ const current = el.style.transform || "";
2283
+ el.style.transform = current ? `${current} scale(${value})` : `scale(${value})`;
2284
+ },
2285
+ scaleX: (el, value) => {
2286
+ const current = el.style.transform || "";
2287
+ el.style.transform = current ? `${current} scaleX(${value})` : `scaleX(${value})`;
2288
+ },
2289
+ scaleY: (el, value) => {
2290
+ const current = el.style.transform || "";
2291
+ el.style.transform = current ? `${current} scaleY(${value})` : `scaleY(${value})`;
2292
+ },
2293
+ skew: (el, value) => {
2294
+ const current = el.style.transform || "";
2295
+ el.style.transform = current ? `${current} skew(${value})` : `skew(${value})`;
2296
+ },
2297
+ skewX: (el, value) => {
2298
+ const current = el.style.transform || "";
2299
+ el.style.transform = current ? `${current} skewX(${value})` : `skewX(${value})`;
2300
+ },
2301
+ skewY: (el, value) => {
2302
+ const current = el.style.transform || "";
2303
+ el.style.transform = current ? `${current} skewY(${value})` : `skewY(${value})`;
2304
+ },
2305
+ perspective: (el, value) => {
2306
+ el.style.perspective = typeof value === "number" ? `${value}px` : String(value);
2307
+ }
2308
+ };
2289
2309
 
2290
2310
  // src/dom/applicators/effects.ts
2291
- var exports_effects = {};
2292
- __export(exports_effects, {
2293
- effectsHandlers: () => effectsHandlers
2294
- });
2295
- var effectsHandlers;
2296
- var init_effects = __esm(() => {
2297
- effectsHandlers = {
2298
- boxShadow: (el, value) => {
2299
- if (typeof value === "string") {
2300
- el.style.boxShadow = value;
2301
- } else if (typeof value === "object" && value !== null) {
2302
- const obj = value;
2303
- const x = typeof obj.x === "number" ? `${obj.x}px` : obj.x ?? obj.offsetX ?? "0px";
2304
- const y = typeof obj.y === "number" ? `${obj.y}px` : obj.y ?? obj.offsetY ?? "0px";
2305
- const blur = typeof obj.blur === "number" ? `${obj.blur}px` : obj.blur ?? obj.radius ?? "0px";
2306
- const spread = typeof obj.spread === "number" ? `${obj.spread}px` : obj.spread ?? "0px";
2307
- const color = obj.color ?? "rgba(0,0,0,0.2)";
2308
- const inset = obj.inset ? "inset " : "";
2309
- el.style.boxShadow = `${inset}${x} ${y} ${blur} ${spread} ${color}`;
2310
- } else if (typeof value === "number") {
2311
- el.style.boxShadow = `0 ${value}px ${value * 2}px rgba(0,0,0,0.2)`;
2312
- }
2313
- },
2314
- shadow: (el, value) => {
2315
- if (typeof value === "object" && value !== null) {
2316
- const obj = value;
2317
- const x = typeof obj.x === "number" ? `${obj.x}px` : obj.x ?? obj.offsetX ?? "0px";
2318
- const y = typeof obj.y === "number" ? `${obj.y}px` : obj.y ?? obj.offsetY ?? "0px";
2319
- const blur = typeof obj.blur === "number" ? `${obj.blur}px` : obj.blur ?? obj.radius ?? "4px";
2320
- const color = obj.color ?? "rgba(0,0,0,0.2)";
2321
- el.style.boxShadow = `${x} ${y} ${blur} ${color}`;
2322
- } else if (typeof value === "number") {
2323
- el.style.boxShadow = `0 ${value}px ${value * 2}px rgba(0,0,0,0.2)`;
2324
- } else {
2325
- el.style.boxShadow = String(value);
2326
- }
2327
- },
2328
- elevation: (el, value) => {
2329
- const level = typeof value === "number" ? value : parseInt(String(value), 10);
2330
- if (!isNaN(level) && level >= 0) {
2331
- const y = level * 0.5;
2332
- const blur = level * 1.5;
2333
- const opacity = Math.min(0.1 + level * 0.02, 0.4);
2334
- el.style.boxShadow = `0 ${y}px ${blur}px rgba(0,0,0,${opacity})`;
2335
- }
2336
- },
2337
- textShadow: (el, value) => {
2338
- el.style.textShadow = String(value);
2339
- },
2340
- filter: (el, value) => {
2341
- el.style.filter = String(value);
2342
- },
2343
- backdropFilter: (el, value) => {
2344
- el.style.backdropFilter = String(value);
2345
- },
2346
- blur: (el, value) => {
2347
- const val = typeof value === "number" ? `${value}px` : String(value);
2348
- const current = el.style.filter || "";
2349
- el.style.filter = current ? `${current} blur(${val})` : `blur(${val})`;
2350
- },
2351
- brightness: (el, value) => {
2352
- const current = el.style.filter || "";
2353
- el.style.filter = current ? `${current} brightness(${value})` : `brightness(${value})`;
2354
- },
2355
- contrast: (el, value) => {
2356
- const current = el.style.filter || "";
2357
- el.style.filter = current ? `${current} contrast(${value})` : `contrast(${value})`;
2358
- },
2359
- grayscale: (el, value) => {
2360
- const current = el.style.filter || "";
2361
- el.style.filter = current ? `${current} grayscale(${value})` : `grayscale(${value})`;
2362
- },
2363
- hueRotate: (el, value) => {
2364
- const val = String(value);
2365
- const current = el.style.filter || "";
2366
- el.style.filter = current ? `${current} hue-rotate(${val})` : `hue-rotate(${val})`;
2367
- },
2368
- invert: (el, value) => {
2369
- const current = el.style.filter || "";
2370
- el.style.filter = current ? `${current} invert(${value})` : `invert(${value})`;
2371
- },
2372
- saturate: (el, value) => {
2373
- const current = el.style.filter || "";
2374
- el.style.filter = current ? `${current} saturate(${value})` : `saturate(${value})`;
2375
- },
2376
- sepia: (el, value) => {
2377
- const current = el.style.filter || "";
2378
- el.style.filter = current ? `${current} sepia(${value})` : `sepia(${value})`;
2379
- },
2380
- dropShadow: (el, value) => {
2381
- const current = el.style.filter || "";
2382
- el.style.filter = current ? `${current} drop-shadow(${value})` : `drop-shadow(${value})`;
2383
- },
2384
- mixBlendMode: (el, value) => {
2385
- el.style.mixBlendMode = String(value);
2386
- },
2387
- backgroundBlendMode: (el, value) => {
2388
- el.style.backgroundBlendMode = String(value);
2389
- },
2390
- clipPath: (el, value) => {
2391
- el.style.clipPath = String(value);
2392
- },
2393
- mask: (el, value) => {
2394
- el.style.mask = String(value);
2395
- },
2396
- maskImage: (el, value) => {
2397
- el.style.maskImage = String(value);
2311
+ var effectsHandlers = {
2312
+ boxShadow: (el, value) => {
2313
+ if (typeof value === "string") {
2314
+ el.style.boxShadow = value;
2315
+ } else if (typeof value === "object" && value !== null) {
2316
+ const obj = value;
2317
+ const x = typeof obj.x === "number" ? `${obj.x}px` : obj.x ?? obj.offsetX ?? "0px";
2318
+ const y = typeof obj.y === "number" ? `${obj.y}px` : obj.y ?? obj.offsetY ?? "0px";
2319
+ const blur = typeof obj.blur === "number" ? `${obj.blur}px` : obj.blur ?? obj.radius ?? "0px";
2320
+ const spread = typeof obj.spread === "number" ? `${obj.spread}px` : obj.spread ?? "0px";
2321
+ const color = obj.color ?? "rgba(0,0,0,0.2)";
2322
+ const inset = obj.inset ? "inset " : "";
2323
+ el.style.boxShadow = `${inset}${x} ${y} ${blur} ${spread} ${color}`;
2324
+ } else if (typeof value === "number") {
2325
+ el.style.boxShadow = `0 ${value}px ${value * 2}px rgba(0,0,0,0.2)`;
2398
2326
  }
2399
- };
2400
- });
2327
+ },
2328
+ shadow: (el, value) => {
2329
+ if (typeof value === "object" && value !== null) {
2330
+ const obj = value;
2331
+ const x = typeof obj.x === "number" ? `${obj.x}px` : obj.x ?? obj.offsetX ?? "0px";
2332
+ const y = typeof obj.y === "number" ? `${obj.y}px` : obj.y ?? obj.offsetY ?? "0px";
2333
+ const blur = typeof obj.blur === "number" ? `${obj.blur}px` : obj.blur ?? obj.radius ?? "4px";
2334
+ const color = obj.color ?? "rgba(0,0,0,0.2)";
2335
+ el.style.boxShadow = `${x} ${y} ${blur} ${color}`;
2336
+ } else if (typeof value === "number") {
2337
+ el.style.boxShadow = `0 ${value}px ${value * 2}px rgba(0,0,0,0.2)`;
2338
+ } else {
2339
+ el.style.boxShadow = String(value);
2340
+ }
2341
+ },
2342
+ elevation: (el, value) => {
2343
+ const level = typeof value === "number" ? value : parseInt(String(value), 10);
2344
+ if (!isNaN(level) && level >= 0) {
2345
+ const y = level * 0.5;
2346
+ const blur = level * 1.5;
2347
+ const opacity = Math.min(0.1 + level * 0.02, 0.4);
2348
+ el.style.boxShadow = `0 ${y}px ${blur}px rgba(0,0,0,${opacity})`;
2349
+ }
2350
+ },
2351
+ textShadow: (el, value) => {
2352
+ el.style.textShadow = String(value);
2353
+ },
2354
+ filter: (el, value) => {
2355
+ el.style.filter = String(value);
2356
+ },
2357
+ backdropFilter: (el, value) => {
2358
+ el.style.backdropFilter = String(value);
2359
+ },
2360
+ blur: (el, value) => {
2361
+ const val = typeof value === "number" ? `${value}px` : String(value);
2362
+ const current = el.style.filter || "";
2363
+ el.style.filter = current ? `${current} blur(${val})` : `blur(${val})`;
2364
+ },
2365
+ brightness: (el, value) => {
2366
+ const current = el.style.filter || "";
2367
+ el.style.filter = current ? `${current} brightness(${value})` : `brightness(${value})`;
2368
+ },
2369
+ contrast: (el, value) => {
2370
+ const current = el.style.filter || "";
2371
+ el.style.filter = current ? `${current} contrast(${value})` : `contrast(${value})`;
2372
+ },
2373
+ grayscale: (el, value) => {
2374
+ const current = el.style.filter || "";
2375
+ el.style.filter = current ? `${current} grayscale(${value})` : `grayscale(${value})`;
2376
+ },
2377
+ hueRotate: (el, value) => {
2378
+ const val = String(value);
2379
+ const current = el.style.filter || "";
2380
+ el.style.filter = current ? `${current} hue-rotate(${val})` : `hue-rotate(${val})`;
2381
+ },
2382
+ invert: (el, value) => {
2383
+ const current = el.style.filter || "";
2384
+ el.style.filter = current ? `${current} invert(${value})` : `invert(${value})`;
2385
+ },
2386
+ saturate: (el, value) => {
2387
+ const current = el.style.filter || "";
2388
+ el.style.filter = current ? `${current} saturate(${value})` : `saturate(${value})`;
2389
+ },
2390
+ sepia: (el, value) => {
2391
+ const current = el.style.filter || "";
2392
+ el.style.filter = current ? `${current} sepia(${value})` : `sepia(${value})`;
2393
+ },
2394
+ dropShadow: (el, value) => {
2395
+ const current = el.style.filter || "";
2396
+ el.style.filter = current ? `${current} drop-shadow(${value})` : `drop-shadow(${value})`;
2397
+ },
2398
+ mixBlendMode: (el, value) => {
2399
+ el.style.mixBlendMode = String(value);
2400
+ },
2401
+ backgroundBlendMode: (el, value) => {
2402
+ el.style.backgroundBlendMode = String(value);
2403
+ },
2404
+ clipPath: (el, value) => {
2405
+ el.style.clipPath = String(value);
2406
+ },
2407
+ mask: (el, value) => {
2408
+ el.style.mask = String(value);
2409
+ },
2410
+ maskImage: (el, value) => {
2411
+ el.style.maskImage = String(value);
2412
+ }
2413
+ };
2401
2414
 
2402
2415
  // src/dom/applicators/advanced-layout.ts
2403
- var exports_advanced_layout = {};
2404
- __export(exports_advanced_layout, {
2405
- advancedLayoutHandlers: () => advancedLayoutHandlers
2406
- });
2407
- var advancedLayoutHandlers;
2408
- var init_advanced_layout = __esm(() => {
2409
- init_layout();
2410
- advancedLayoutHandlers = {
2411
- flexDirection: (el, value) => {
2412
- el.style.flexDirection = String(value);
2413
- },
2414
- flexWrap: (el, value) => {
2415
- el.style.flexWrap = String(value);
2416
- },
2417
- flexBasis: (el, value) => {
2418
- el.style.flexBasis = typeof value === "number" ? `${value}px` : String(value);
2419
- },
2420
- justifyContent: (el, value) => {
2421
- el.style.justifyContent = mapAlignmentValue(String(value));
2422
- },
2423
- alignItems: (el, value) => {
2424
- el.style.alignItems = mapAlignmentValue(String(value));
2425
- },
2426
- alignContent: (el, value) => {
2427
- el.style.alignContent = String(value);
2428
- },
2429
- alignSelf: (el, value) => {
2430
- el.style.alignSelf = String(value);
2431
- },
2432
- order: (el, value) => {
2433
- el.style.order = String(value);
2434
- },
2435
- gridTemplateColumns: (el, value) => {
2416
+ var advancedLayoutHandlers = {
2417
+ flexDirection: (el, value) => {
2418
+ el.style.flexDirection = String(value);
2419
+ },
2420
+ flexWrap: (el, value) => {
2421
+ el.style.flexWrap = String(value);
2422
+ },
2423
+ flexBasis: (el, value) => {
2424
+ el.style.flexBasis = typeof value === "number" ? `${value}px` : String(value);
2425
+ },
2426
+ justifyContent: (el, value) => {
2427
+ el.style.justifyContent = mapAlignmentValue(String(value));
2428
+ },
2429
+ alignItems: (el, value) => {
2430
+ el.style.alignItems = mapAlignmentValue(String(value));
2431
+ },
2432
+ alignContent: (el, value) => {
2433
+ el.style.alignContent = String(value);
2434
+ },
2435
+ alignSelf: (el, value) => {
2436
+ el.style.alignSelf = String(value);
2437
+ },
2438
+ order: (el, value) => {
2439
+ el.style.order = String(value);
2440
+ },
2441
+ gridTemplateColumns: (el, value) => {
2442
+ el.style.gridTemplateColumns = String(value);
2443
+ },
2444
+ gridTemplateRows: (el, value) => {
2445
+ el.style.gridTemplateRows = String(value);
2446
+ },
2447
+ gridColumns: (el, value) => {
2448
+ if (typeof value === "number") {
2449
+ el.style.gridTemplateColumns = `repeat(${value}, 1fr)`;
2450
+ } else {
2436
2451
  el.style.gridTemplateColumns = String(value);
2437
- },
2438
- gridTemplateRows: (el, value) => {
2452
+ }
2453
+ },
2454
+ gridRows: (el, value) => {
2455
+ if (typeof value === "number") {
2456
+ el.style.gridTemplateRows = `repeat(${value}, 1fr)`;
2457
+ } else {
2439
2458
  el.style.gridTemplateRows = String(value);
2440
- },
2441
- gridColumns: (el, value) => {
2442
- if (typeof value === "number") {
2443
- el.style.gridTemplateColumns = `repeat(${value}, 1fr)`;
2444
- } else {
2445
- el.style.gridTemplateColumns = String(value);
2446
- }
2447
- },
2448
- gridRows: (el, value) => {
2449
- if (typeof value === "number") {
2450
- el.style.gridTemplateRows = `repeat(${value}, 1fr)`;
2451
- } else {
2452
- el.style.gridTemplateRows = String(value);
2453
- }
2454
- },
2455
- gridTemplateAreas: (el, value) => {
2456
- el.style.gridTemplateAreas = String(value);
2457
- },
2458
- gridColumn: (el, value) => {
2459
- el.style.gridColumn = String(value);
2460
- },
2461
- gridRow: (el, value) => {
2462
- el.style.gridRow = String(value);
2463
- },
2464
- gridArea: (el, value) => {
2465
- el.style.gridArea = String(value);
2466
- },
2467
- gridAutoFlow: (el, value) => {
2468
- el.style.gridAutoFlow = String(value);
2469
- },
2470
- gridAutoColumns: (el, value) => {
2471
- el.style.gridAutoColumns = String(value);
2472
- },
2473
- gridAutoRows: (el, value) => {
2474
- el.style.gridAutoRows = String(value);
2475
- },
2476
- rowGap: (el, value) => {
2477
- el.style.rowGap = typeof value === "number" ? `${value}px` : String(value);
2478
- },
2479
- columnGap: (el, value) => {
2480
- el.style.columnGap = typeof value === "number" ? `${value}px` : String(value);
2481
- },
2482
- placeItems: (el, value) => {
2483
- el.style.placeItems = String(value);
2484
- },
2485
- placeContent: (el, value) => {
2486
- el.style.placeContent = String(value);
2487
- },
2488
- placeSelf: (el, value) => {
2489
- el.style.placeSelf = String(value);
2490
- },
2491
- position: (el, value) => {
2492
- el.style.position = String(value);
2493
- },
2494
- top: (el, value) => {
2495
- el.style.top = typeof value === "number" ? `${value}px` : String(value);
2496
- },
2497
- right: (el, value) => {
2498
- el.style.right = typeof value === "number" ? `${value}px` : String(value);
2499
- },
2500
- bottom: (el, value) => {
2501
- el.style.bottom = typeof value === "number" ? `${value}px` : String(value);
2502
- },
2503
- left: (el, value) => {
2504
- el.style.left = typeof value === "number" ? `${value}px` : String(value);
2505
- },
2506
- inset: (el, value) => {
2507
- el.style.inset = typeof value === "number" ? `${value}px` : String(value);
2508
- },
2509
- zIndex: (el, value) => {
2510
- el.style.zIndex = String(value);
2511
2459
  }
2512
- };
2513
- });
2460
+ },
2461
+ gridTemplateAreas: (el, value) => {
2462
+ el.style.gridTemplateAreas = String(value);
2463
+ },
2464
+ gridColumn: (el, value) => {
2465
+ el.style.gridColumn = String(value);
2466
+ },
2467
+ gridRow: (el, value) => {
2468
+ el.style.gridRow = String(value);
2469
+ },
2470
+ gridArea: (el, value) => {
2471
+ el.style.gridArea = String(value);
2472
+ },
2473
+ gridAutoFlow: (el, value) => {
2474
+ el.style.gridAutoFlow = String(value);
2475
+ },
2476
+ gridAutoColumns: (el, value) => {
2477
+ el.style.gridAutoColumns = String(value);
2478
+ },
2479
+ gridAutoRows: (el, value) => {
2480
+ el.style.gridAutoRows = String(value);
2481
+ },
2482
+ rowGap: (el, value) => {
2483
+ el.style.rowGap = typeof value === "number" ? `${value}px` : String(value);
2484
+ },
2485
+ columnGap: (el, value) => {
2486
+ el.style.columnGap = typeof value === "number" ? `${value}px` : String(value);
2487
+ },
2488
+ placeItems: (el, value) => {
2489
+ el.style.placeItems = String(value);
2490
+ },
2491
+ placeContent: (el, value) => {
2492
+ el.style.placeContent = String(value);
2493
+ },
2494
+ placeSelf: (el, value) => {
2495
+ el.style.placeSelf = String(value);
2496
+ },
2497
+ position: (el, value) => {
2498
+ el.style.position = String(value);
2499
+ },
2500
+ top: (el, value) => {
2501
+ el.style.top = typeof value === "number" ? `${value}px` : String(value);
2502
+ },
2503
+ right: (el, value) => {
2504
+ el.style.right = typeof value === "number" ? `${value}px` : String(value);
2505
+ },
2506
+ bottom: (el, value) => {
2507
+ el.style.bottom = typeof value === "number" ? `${value}px` : String(value);
2508
+ },
2509
+ left: (el, value) => {
2510
+ el.style.left = typeof value === "number" ? `${value}px` : String(value);
2511
+ },
2512
+ inset: (el, value) => {
2513
+ el.style.inset = typeof value === "number" ? `${value}px` : String(value);
2514
+ },
2515
+ zIndex: (el, value) => {
2516
+ el.style.zIndex = String(value);
2517
+ }
2518
+ };
2514
2519
 
2515
2520
  // src/dom/applicators/background.ts
2516
- var exports_background = {};
2517
- __export(exports_background, {
2518
- backgroundHandlers: () => backgroundHandlers
2519
- });
2520
- var backgroundHandlers;
2521
- var init_background = __esm(() => {
2522
- backgroundHandlers = {
2523
- backgroundImage: (el, value) => {
2524
- el.style.backgroundImage = String(value);
2525
- },
2526
- backgroundSize: (el, value) => {
2527
- el.style.backgroundSize = String(value);
2528
- },
2529
- backgroundPosition: (el, value) => {
2530
- el.style.backgroundPosition = String(value);
2531
- },
2532
- backgroundRepeat: (el, value) => {
2533
- el.style.backgroundRepeat = String(value);
2534
- },
2535
- backgroundAttachment: (el, value) => {
2536
- el.style.backgroundAttachment = String(value);
2537
- },
2538
- backgroundClip: (el, value) => {
2539
- el.style.backgroundClip = String(value);
2540
- },
2541
- backgroundOrigin: (el, value) => {
2542
- el.style.backgroundOrigin = String(value);
2543
- },
2544
- linearGradient: (el, value) => {
2545
- el.style.backgroundImage = `linear-gradient(${value})`;
2546
- },
2547
- radialGradient: (el, value) => {
2548
- el.style.backgroundImage = `radial-gradient(${value})`;
2549
- },
2550
- conicGradient: (el, value) => {
2551
- el.style.backgroundImage = `conic-gradient(${value})`;
2552
- }
2553
- };
2554
- });
2521
+ var backgroundHandlers = {
2522
+ backgroundImage: (el, value) => {
2523
+ el.style.backgroundImage = String(value);
2524
+ },
2525
+ backgroundSize: (el, value) => {
2526
+ el.style.backgroundSize = String(value);
2527
+ },
2528
+ backgroundPosition: (el, value) => {
2529
+ el.style.backgroundPosition = String(value);
2530
+ },
2531
+ backgroundRepeat: (el, value) => {
2532
+ el.style.backgroundRepeat = String(value);
2533
+ },
2534
+ backgroundAttachment: (el, value) => {
2535
+ el.style.backgroundAttachment = String(value);
2536
+ },
2537
+ backgroundClip: (el, value) => {
2538
+ el.style.backgroundClip = String(value);
2539
+ },
2540
+ backgroundOrigin: (el, value) => {
2541
+ el.style.backgroundOrigin = String(value);
2542
+ },
2543
+ linearGradient: (el, value) => {
2544
+ el.style.backgroundImage = `linear-gradient(${value})`;
2545
+ },
2546
+ radialGradient: (el, value) => {
2547
+ el.style.backgroundImage = `radial-gradient(${value})`;
2548
+ },
2549
+ conicGradient: (el, value) => {
2550
+ el.style.backgroundImage = `conic-gradient(${value})`;
2551
+ }
2552
+ };
2555
2553
 
2556
2554
  // src/dom/applicators/display.ts
2557
- var exports_display = {};
2558
- __export(exports_display, {
2559
- displayHandlers: () => displayHandlers
2560
- });
2561
- var displayHandlers;
2562
- var init_display = __esm(() => {
2563
- displayHandlers = {
2564
- display: (el, value) => {
2565
- el.style.display = String(value);
2566
- },
2567
- visibility: (el, value) => {
2568
- el.style.visibility = String(value);
2569
- },
2570
- overflowX: (el, value) => {
2571
- el.style.overflowX = String(value);
2572
- },
2573
- overflowY: (el, value) => {
2574
- el.style.overflowY = String(value);
2575
- },
2576
- pointerEvents: (el, value) => {
2577
- el.style.pointerEvents = String(value);
2578
- },
2579
- userSelect: (el, value) => {
2580
- el.style.userSelect = String(value);
2581
- },
2582
- resize: (el, value) => {
2583
- el.style.resize = String(value);
2584
- },
2585
- boxSizing: (el, value) => {
2586
- el.style.boxSizing = String(value);
2587
- },
2588
- aspectRatio: (el, value) => {
2589
- el.style.aspectRatio = String(value);
2590
- },
2591
- objectFit: (el, value) => {
2592
- el.style.objectFit = String(value);
2593
- },
2594
- objectPosition: (el, value) => {
2595
- el.style.objectPosition = String(value);
2596
- }
2597
- };
2598
- });
2555
+ var displayHandlers = {
2556
+ display: (el, value) => {
2557
+ el.style.display = String(value);
2558
+ },
2559
+ visibility: (el, value) => {
2560
+ el.style.visibility = String(value);
2561
+ },
2562
+ overflowX: (el, value) => {
2563
+ el.style.overflowX = String(value);
2564
+ },
2565
+ overflowY: (el, value) => {
2566
+ el.style.overflowY = String(value);
2567
+ },
2568
+ pointerEvents: (el, value) => {
2569
+ el.style.pointerEvents = String(value);
2570
+ },
2571
+ userSelect: (el, value) => {
2572
+ el.style.userSelect = String(value);
2573
+ },
2574
+ resize: (el, value) => {
2575
+ el.style.resize = String(value);
2576
+ },
2577
+ boxSizing: (el, value) => {
2578
+ el.style.boxSizing = String(value);
2579
+ },
2580
+ aspectRatio: (el, value) => {
2581
+ el.style.aspectRatio = String(value);
2582
+ },
2583
+ objectFit: (el, value) => {
2584
+ el.style.objectFit = String(value);
2585
+ },
2586
+ objectPosition: (el, value) => {
2587
+ el.style.objectPosition = String(value);
2588
+ }
2589
+ };
2599
2590
 
2600
2591
  // src/dom/applicators/transition.ts
2601
- var exports_transition = {};
2602
- __export(exports_transition, {
2603
- transitionHandlers: () => transitionHandlers
2604
- });
2605
- var transitionHandlers;
2606
- var init_transition = __esm(() => {
2607
- transitionHandlers = {
2608
- transition: (el, value) => {
2609
- el.style.transition = String(value);
2610
- },
2611
- transitionProperty: (el, value) => {
2612
- el.style.transitionProperty = String(value);
2613
- },
2614
- transitionDuration: (el, value) => {
2615
- el.style.transitionDuration = String(value);
2616
- },
2617
- transitionTimingFunction: (el, value) => {
2618
- el.style.transitionTimingFunction = String(value);
2619
- },
2620
- transitionDelay: (el, value) => {
2621
- el.style.transitionDelay = String(value);
2622
- },
2623
- animation: (el, value) => {
2624
- el.style.animation = String(value);
2625
- },
2626
- animationName: (el, value) => {
2627
- el.style.animationName = String(value);
2628
- },
2629
- animationDuration: (el, value) => {
2630
- el.style.animationDuration = String(value);
2631
- },
2632
- animationTimingFunction: (el, value) => {
2633
- el.style.animationTimingFunction = String(value);
2634
- },
2635
- animationDelay: (el, value) => {
2636
- el.style.animationDelay = String(value);
2637
- },
2638
- animationIterationCount: (el, value) => {
2639
- el.style.animationIterationCount = String(value);
2640
- },
2641
- animationDirection: (el, value) => {
2642
- el.style.animationDirection = String(value);
2643
- },
2644
- animationFillMode: (el, value) => {
2645
- el.style.animationFillMode = String(value);
2646
- },
2647
- animationPlayState: (el, value) => {
2648
- el.style.animationPlayState = String(value);
2649
- }
2650
- };
2651
- });
2652
-
2653
- // src/dom/components/index.ts
2654
- class ComponentRegistry {
2655
- handlers = new Map;
2656
- constructor() {
2657
- this.registerDefaults();
2658
- }
2659
- register(type, handler) {
2660
- this.handlers.set(type.toLowerCase(), handler);
2661
- }
2662
- get(type) {
2663
- return this.handlers.get(type.toLowerCase());
2664
- }
2665
- createElement(type, props = {}) {
2666
- const handler = this.get(type);
2667
- if (!handler)
2668
- return null;
2669
- const element = handler.create();
2670
- if (handler.applyProps) {
2671
- handler.applyProps(element, props);
2672
- }
2673
- return element;
2674
- }
2675
- registerDefaults() {
2676
- const { columnHandler: columnHandler2 } = (init_column(), __toCommonJS(exports_column));
2677
- const { rowHandler: rowHandler2 } = (init_row(), __toCommonJS(exports_row));
2678
- const { textHandler: textHandler2 } = (init_text(), __toCommonJS(exports_text));
2679
- const { imageHandler: imageHandler2 } = (init_image(), __toCommonJS(exports_image));
2680
- const { buttonHandler: buttonHandler2 } = (init_button(), __toCommonJS(exports_button));
2681
- const { containerHandler: containerHandler2 } = (init_container(), __toCommonJS(exports_container));
2682
- const { centerHandler: centerHandler2 } = (init_center(), __toCommonJS(exports_center));
2683
- const { listHandler: listHandler2 } = (init_list(), __toCommonJS(exports_list));
2684
- const { inputHandler: inputHandler2 } = (init_input(), __toCommonJS(exports_input));
2685
- const { linkHandler: linkHandler2 } = (init_link(), __toCommonJS(exports_link));
2686
- const { textareaHandler: textareaHandler2 } = (init_textarea(), __toCommonJS(exports_textarea));
2687
- const { checkboxHandler: checkboxHandler2 } = (init_checkbox(), __toCommonJS(exports_checkbox));
2688
- const { selectHandler: selectHandler2 } = (init_select(), __toCommonJS(exports_select));
2689
- const { spacerHandler: spacerHandler2 } = (init_spacer(), __toCommonJS(exports_spacer));
2690
- const { stackHandler: stackHandler2 } = (init_stack(), __toCommonJS(exports_stack));
2691
- const { dividerHandler: dividerHandler2 } = (init_divider(), __toCommonJS(exports_divider));
2692
- const { gridHandler: gridHandler2 } = (init_grid(), __toCommonJS(exports_grid));
2693
- const { cardHandler: cardHandler2 } = (init_card(), __toCommonJS(exports_card));
2694
- const { headingHandler: headingHandler2 } = (init_heading(), __toCommonJS(exports_heading));
2695
- const { switchHandler: switchHandler2 } = (init_switch(), __toCommonJS(exports_switch));
2696
- const { sliderHandler: sliderHandler2 } = (init_slider(), __toCommonJS(exports_slider));
2697
- const { spinnerHandler: spinnerHandler2 } = (init_spinner(), __toCommonJS(exports_spinner));
2698
- const { badgeHandler: badgeHandler2 } = (init_badge(), __toCommonJS(exports_badge));
2699
- const { avatarHandler: avatarHandler2 } = (init_avatar(), __toCommonJS(exports_avatar));
2700
- const { progressBarHandler: progressBarHandler2 } = (init_progressbar(), __toCommonJS(exports_progressbar));
2701
- const { videoHandler: videoHandler2 } = (init_video(), __toCommonJS(exports_video));
2702
- const { audioHandler: audioHandler2 } = (init_audio(), __toCommonJS(exports_audio));
2703
- const { paragraphHandler: paragraphHandler2 } = (init_paragraph(), __toCommonJS(exports_paragraph));
2704
- const { routerHandler: routerHandler2 } = (init_router(), __toCommonJS(exports_router));
2705
- const { routeHandler: routeHandler2 } = (init_route(), __toCommonJS(exports_route));
2706
- const { hypenAppHandler: hypenAppHandler2 } = (init_hypenapp(), __toCommonJS(exports_hypenapp));
2707
- this.register("column", columnHandler2);
2708
- this.register("row", rowHandler2);
2709
- this.register("text", textHandler2);
2710
- this.register("image", imageHandler2);
2711
- this.register("button", buttonHandler2);
2712
- this.register("container", containerHandler2);
2713
- this.register("box", containerHandler2);
2714
- this.register("center", centerHandler2);
2715
- this.register("list", listHandler2);
2716
- this.register("input", inputHandler2);
2717
- this.register("link", linkHandler2);
2718
- this.register("textarea", textareaHandler2);
2719
- this.register("checkbox", checkboxHandler2);
2720
- this.register("select", selectHandler2);
2721
- this.register("spacer", spacerHandler2);
2722
- this.register("stack", stackHandler2);
2723
- this.register("divider", dividerHandler2);
2724
- this.register("grid", gridHandler2);
2725
- this.register("card", cardHandler2);
2726
- this.register("heading", headingHandler2);
2727
- this.register("switch", switchHandler2);
2728
- this.register("slider", sliderHandler2);
2729
- this.register("spinner", spinnerHandler2);
2730
- this.register("badge", badgeHandler2);
2731
- this.register("avatar", avatarHandler2);
2732
- this.register("progressbar", progressBarHandler2);
2733
- this.register("video", videoHandler2);
2734
- this.register("audio", audioHandler2);
2735
- this.register("paragraph", paragraphHandler2);
2736
- this.register("router", routerHandler2);
2737
- this.register("route", routeHandler2);
2738
- this.register("hypenapp", hypenAppHandler2);
2592
+ var transitionHandlers = {
2593
+ transition: (el, value) => {
2594
+ el.style.transition = String(value);
2595
+ },
2596
+ transitionProperty: (el, value) => {
2597
+ el.style.transitionProperty = String(value);
2598
+ },
2599
+ transitionDuration: (el, value) => {
2600
+ el.style.transitionDuration = String(value);
2601
+ },
2602
+ transitionTimingFunction: (el, value) => {
2603
+ el.style.transitionTimingFunction = String(value);
2604
+ },
2605
+ transitionDelay: (el, value) => {
2606
+ el.style.transitionDelay = String(value);
2607
+ },
2608
+ animation: (el, value) => {
2609
+ el.style.animation = String(value);
2610
+ },
2611
+ animationName: (el, value) => {
2612
+ el.style.animationName = String(value);
2613
+ },
2614
+ animationDuration: (el, value) => {
2615
+ el.style.animationDuration = String(value);
2616
+ },
2617
+ animationTimingFunction: (el, value) => {
2618
+ el.style.animationTimingFunction = String(value);
2619
+ },
2620
+ animationDelay: (el, value) => {
2621
+ el.style.animationDelay = String(value);
2622
+ },
2623
+ animationIterationCount: (el, value) => {
2624
+ el.style.animationIterationCount = String(value);
2625
+ },
2626
+ animationDirection: (el, value) => {
2627
+ el.style.animationDirection = String(value);
2628
+ },
2629
+ animationFillMode: (el, value) => {
2630
+ el.style.animationFillMode = String(value);
2631
+ },
2632
+ animationPlayState: (el, value) => {
2633
+ el.style.animationPlayState = String(value);
2739
2634
  }
2740
- }
2635
+ };
2741
2636
 
2742
2637
  // src/dom/applicators/index.ts
2743
2638
  var BREAKPOINTS = {
@@ -2973,60 +2868,45 @@ class ApplicatorRegistry {
2973
2868
  return !unitless.includes(prop);
2974
2869
  }
2975
2870
  registerDefaults() {
2976
- const { paddingHandler: paddingHandler2 } = __toCommonJS(exports_padding);
2977
- const { marginHandler: marginHandler2 } = __toCommonJS(exports_margin);
2978
- const { colorHandlers: colorHandlers2 } = (init_color(), __toCommonJS(exports_color));
2979
- const { borderHandlers: borderHandlers2 } = (init_border(), __toCommonJS(exports_border));
2980
- const { sizeHandlers: sizeHandlers2 } = (init_size(), __toCommonJS(exports_size));
2981
- const { fontHandlers: fontHandlers2 } = (init_font(), __toCommonJS(exports_font));
2982
- const { layoutHandlers: layoutHandlers2 } = (init_layout(), __toCommonJS(exports_layout));
2983
- const { eventHandlers: eventHandlers2 } = (init_events(), __toCommonJS(exports_events));
2984
- const { typographyHandlers: typographyHandlers2 } = (init_typography(), __toCommonJS(exports_typography));
2985
- const { transformHandlers: transformHandlers2 } = (init_transform(), __toCommonJS(exports_transform));
2986
- const { effectsHandlers: effectsHandlers2 } = (init_effects(), __toCommonJS(exports_effects));
2987
- const { advancedLayoutHandlers: advancedLayoutHandlers2 } = (init_advanced_layout(), __toCommonJS(exports_advanced_layout));
2988
- const { backgroundHandlers: backgroundHandlers2 } = (init_background(), __toCommonJS(exports_background));
2989
- const { displayHandlers: displayHandlers2 } = (init_display(), __toCommonJS(exports_display));
2990
- const { transitionHandlers: transitionHandlers2 } = (init_transition(), __toCommonJS(exports_transition));
2991
- this.register("padding", paddingHandler2);
2992
- this.register("margin", marginHandler2);
2993
- for (const [name, handler] of Object.entries(colorHandlers2)) {
2871
+ this.register("padding", paddingHandler);
2872
+ this.register("margin", marginHandler);
2873
+ for (const [name, handler] of Object.entries(colorHandlers)) {
2994
2874
  this.register(name, handler);
2995
2875
  }
2996
- for (const [name, handler] of Object.entries(borderHandlers2)) {
2876
+ for (const [name, handler] of Object.entries(borderHandlers)) {
2997
2877
  this.register(name, handler);
2998
2878
  }
2999
- for (const [name, handler] of Object.entries(sizeHandlers2)) {
2879
+ for (const [name, handler] of Object.entries(sizeHandlers)) {
3000
2880
  this.register(name, handler);
3001
2881
  }
3002
- for (const [name, handler] of Object.entries(fontHandlers2)) {
2882
+ for (const [name, handler] of Object.entries(fontHandlers)) {
3003
2883
  this.register(name, handler);
3004
2884
  }
3005
- for (const [name, handler] of Object.entries(layoutHandlers2)) {
2885
+ for (const [name, handler] of Object.entries(layoutHandlers)) {
3006
2886
  this.register(name, handler);
3007
2887
  }
3008
- for (const [name, handler] of Object.entries(eventHandlers2)) {
2888
+ for (const [name, handler] of Object.entries(eventHandlers)) {
3009
2889
  this.register(name, handler);
3010
2890
  }
3011
- for (const [name, handler] of Object.entries(typographyHandlers2)) {
2891
+ for (const [name, handler] of Object.entries(typographyHandlers)) {
3012
2892
  this.register(name, handler);
3013
2893
  }
3014
- for (const [name, handler] of Object.entries(transformHandlers2)) {
2894
+ for (const [name, handler] of Object.entries(transformHandlers)) {
3015
2895
  this.register(name, handler);
3016
2896
  }
3017
- for (const [name, handler] of Object.entries(effectsHandlers2)) {
2897
+ for (const [name, handler] of Object.entries(effectsHandlers)) {
3018
2898
  this.register(name, handler);
3019
2899
  }
3020
- for (const [name, handler] of Object.entries(advancedLayoutHandlers2)) {
2900
+ for (const [name, handler] of Object.entries(advancedLayoutHandlers)) {
3021
2901
  this.register(name, handler);
3022
2902
  }
3023
- for (const [name, handler] of Object.entries(backgroundHandlers2)) {
2903
+ for (const [name, handler] of Object.entries(backgroundHandlers)) {
3024
2904
  this.register(name, handler);
3025
2905
  }
3026
- for (const [name, handler] of Object.entries(displayHandlers2)) {
2906
+ for (const [name, handler] of Object.entries(displayHandlers)) {
3027
2907
  this.register(name, handler);
3028
2908
  }
3029
- for (const [name, handler] of Object.entries(transitionHandlers2)) {
2909
+ for (const [name, handler] of Object.entries(transitionHandlers)) {
3030
2910
  this.register(name, handler);
3031
2911
  }
3032
2912
  }
@@ -3235,8 +3115,6 @@ class RerenderTracker {
3235
3115
  }
3236
3116
 
3237
3117
  // src/dom/renderer.ts
3238
- init_element_data();
3239
-
3240
3118
  class DOMRenderer {
3241
3119
  container;
3242
3120
  nodes = new Map;
@@ -3566,4 +3444,4 @@ export {
3566
3444
  ApplicatorRegistry
3567
3445
  };
3568
3446
 
3569
- //# debugId=DAAB42C61CF69F0464756E2164756E21
3447
+ //# debugId=7F19F4748F45582064756E2164756E21