@hypen-space/web 0.3.7 → 0.3.8

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 (34) hide show
  1. package/dist/src/dom/applicators/advanced-layout.js +106 -3
  2. package/dist/src/dom/applicators/advanced-layout.js.map +5 -4
  3. package/dist/src/dom/applicators/index.js +5 -3
  4. package/dist/src/dom/applicators/index.js.map +4 -4
  5. package/dist/src/dom/applicators/layout.js +3 -1
  6. package/dist/src/dom/applicators/layout.js.map +3 -3
  7. package/dist/src/dom/components/column.js +2 -1
  8. package/dist/src/dom/components/column.js.map +3 -3
  9. package/dist/src/dom/components/container.js +4 -1
  10. package/dist/src/dom/components/container.js.map +3 -3
  11. package/dist/src/dom/components/index.js +47 -19
  12. package/dist/src/dom/components/index.js.map +7 -7
  13. package/dist/src/dom/components/list.js +3 -1
  14. package/dist/src/dom/components/list.js.map +3 -3
  15. package/dist/src/dom/components/row.js +18 -2
  16. package/dist/src/dom/components/row.js.map +3 -3
  17. package/dist/src/dom/components/stack.js +24 -18
  18. package/dist/src/dom/components/stack.js.map +3 -3
  19. package/dist/src/dom/index.js +51 -21
  20. package/dist/src/dom/index.js.map +9 -9
  21. package/dist/src/dom/renderer.js +51 -21
  22. package/dist/src/dom/renderer.js.map +9 -9
  23. package/dist/src/hypen.js +51 -21
  24. package/dist/src/hypen.js.map +9 -9
  25. package/dist/src/index.js +51 -21
  26. package/dist/src/index.js.map +9 -9
  27. package/package.json +1 -1
  28. package/src/dom/applicators/advanced-layout.ts +3 -2
  29. package/src/dom/applicators/layout.ts +1 -1
  30. package/src/dom/components/column.ts +3 -0
  31. package/src/dom/components/container.ts +3 -0
  32. package/src/dom/components/list.ts +3 -0
  33. package/src/dom/components/row.ts +23 -0
  34. package/src/dom/components/stack.ts +27 -19
@@ -39,6 +39,7 @@ var init_column = __esm(() => {
39
39
  const el = document.createElement("div");
40
40
  el.style.display = "flex";
41
41
  el.style.flexDirection = "column";
42
+ el.style.alignItems = "flex-start";
42
43
  el.dataset.hypenType = "column";
43
44
  return el;
44
45
  }
@@ -50,13 +51,29 @@ var exports_row = {};
50
51
  __export(exports_row, {
51
52
  rowHandler: () => rowHandler
52
53
  });
53
- var rowHandler;
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
69
  var init_row = __esm(() => {
55
70
  rowHandler = {
56
71
  create() {
72
+ ensureRowStyles();
57
73
  const el = document.createElement("div");
58
74
  el.style.display = "flex";
59
75
  el.style.flexDirection = "row";
76
+ el.style.alignItems = "flex-start";
60
77
  el.dataset.hypenType = "row";
61
78
  return el;
62
79
  }
@@ -139,6 +156,9 @@ var init_container = __esm(() => {
139
156
  containerHandler = {
140
157
  create() {
141
158
  const el = document.createElement("div");
159
+ el.style.display = "flex";
160
+ el.style.flexDirection = "column";
161
+ el.style.alignItems = "stretch";
142
162
  el.dataset.hypenType = "container";
143
163
  return el;
144
164
  }
@@ -175,6 +195,8 @@ var init_list = __esm(() => {
175
195
  create() {
176
196
  const el = document.createElement("div");
177
197
  el.style.display = "flex";
198
+ el.style.flexDirection = "column";
199
+ el.style.alignItems = "flex-start";
178
200
  el.style.overflow = "auto";
179
201
  el.dataset.hypenType = "list";
180
202
  return el;
@@ -395,28 +417,34 @@ var exports_stack = {};
395
417
  __export(exports_stack, {
396
418
  stackHandler: () => stackHandler
397
419
  });
398
- var stackHandler;
420
+ function ensureStackStyles() {
421
+ if (stackStylesInjected)
422
+ return;
423
+ stackStylesInjected = true;
424
+ const style = document.createElement("style");
425
+ style.id = "hypen-stack-styles";
426
+ style.textContent = `
427
+ [data-hypen-type="stack"] {
428
+ position: relative;
429
+ display: grid;
430
+ grid-template-areas: "stack";
431
+ /* Ensure Stack participates properly in flex layouts (Row/Column) */
432
+ min-width: 0;
433
+ min-height: 0;
434
+ }
435
+ [data-hypen-type="stack"] > * {
436
+ grid-area: stack;
437
+ }
438
+ `;
439
+ document.head.appendChild(style);
440
+ }
441
+ var stackStylesInjected = false, stackHandler;
399
442
  var init_stack = __esm(() => {
400
443
  stackHandler = {
401
444
  create() {
445
+ ensureStackStyles();
402
446
  const el = document.createElement("div");
403
- el.style.position = "relative";
404
- el.style.display = "flex";
405
447
  el.dataset.hypenType = "stack";
406
- const style = document.createElement("style");
407
- style.textContent = `
408
- [data-hypen-type="stack"] > * {
409
- position: absolute;
410
- top: 0;
411
- left: 0;
412
- width: 100%;
413
- height: 100%;
414
- }
415
- [data-hypen-type="stack"] > *:first-child {
416
- position: relative;
417
- }
418
- `;
419
- el.appendChild(style);
420
448
  return el;
421
449
  }
422
450
  };
@@ -1619,6 +1647,7 @@ var init_font = __esm(() => {
1619
1647
  // src/dom/applicators/layout.ts
1620
1648
  var exports_layout = {};
1621
1649
  __export(exports_layout, {
1650
+ mapAlignmentValue: () => mapAlignmentValue,
1622
1651
  layoutHandlers: () => layoutHandlers
1623
1652
  });
1624
1653
  function mapAlignmentValue(value) {
@@ -2377,6 +2406,7 @@ __export(exports_advanced_layout, {
2377
2406
  });
2378
2407
  var advancedLayoutHandlers;
2379
2408
  var init_advanced_layout = __esm(() => {
2409
+ init_layout();
2380
2410
  advancedLayoutHandlers = {
2381
2411
  flexDirection: (el, value) => {
2382
2412
  el.style.flexDirection = String(value);
@@ -2388,10 +2418,10 @@ var init_advanced_layout = __esm(() => {
2388
2418
  el.style.flexBasis = typeof value === "number" ? `${value}px` : String(value);
2389
2419
  },
2390
2420
  justifyContent: (el, value) => {
2391
- el.style.justifyContent = String(value);
2421
+ el.style.justifyContent = mapAlignmentValue(String(value));
2392
2422
  },
2393
2423
  alignItems: (el, value) => {
2394
- el.style.alignItems = String(value);
2424
+ el.style.alignItems = mapAlignmentValue(String(value));
2395
2425
  },
2396
2426
  alignContent: (el, value) => {
2397
2427
  el.style.alignContent = String(value);
@@ -3536,4 +3566,4 @@ export {
3536
3566
  ApplicatorRegistry
3537
3567
  };
3538
3568
 
3539
- //# debugId=42F73782BE47D84964756E2164756E21
3569
+ //# debugId=DAAB42C61CF69F0464756E2164756E21