@hypen-space/web 0.4.82 → 0.4.83
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/canvas/events.d.ts +30 -2
- package/dist/canvas/events.js +112 -30
- package/dist/canvas/events.js.map +1 -1
- package/dist/canvas/input.d.ts +15 -2
- package/dist/canvas/input.js +43 -24
- package/dist/canvas/input.js.map +1 -1
- package/dist/canvas/layout.js +479 -96
- package/dist/canvas/layout.js.map +1 -1
- package/dist/canvas/paint.d.ts +4 -0
- package/dist/canvas/paint.js +141 -29
- package/dist/canvas/paint.js.map +1 -1
- package/dist/canvas/props.d.ts +55 -0
- package/dist/canvas/props.js +121 -0
- package/dist/canvas/props.js.map +1 -0
- package/dist/canvas/renderer.d.ts +13 -0
- package/dist/canvas/renderer.js +109 -11
- package/dist/canvas/renderer.js.map +1 -1
- package/dist/canvas/scroll.d.ts +27 -3
- package/dist/canvas/scroll.js +66 -26
- package/dist/canvas/scroll.js.map +1 -1
- package/dist/canvas/selection.js +3 -4
- package/dist/canvas/selection.js.map +1 -1
- package/dist/canvas/utils.d.ts +23 -3
- package/dist/canvas/utils.js +90 -30
- package/dist/canvas/utils.js.map +1 -1
- package/dist/dom/applicators/border.js +9 -0
- package/dist/dom/applicators/border.js.map +1 -1
- package/dist/dom/applicators/font.js +18 -1
- package/dist/dom/applicators/font.js.map +1 -1
- package/dist/dom/applicators/layout.js +44 -8
- package/dist/dom/applicators/layout.js.map +1 -1
- package/dist/dom/applicators/margin.js +18 -53
- package/dist/dom/applicators/margin.js.map +1 -1
- package/dist/dom/applicators/padding.js +21 -33
- package/dist/dom/applicators/padding.js.map +1 -1
- package/dist/dom/applicators/typography.js +13 -1
- package/dist/dom/applicators/typography.js.map +1 -1
- package/dist/dom/components/column.d.ts +11 -2
- package/dist/dom/components/column.js +12 -4
- package/dist/dom/components/column.js.map +1 -1
- package/dist/dom/components/image.js +9 -3
- package/dist/dom/components/image.js.map +1 -1
- package/dist/dom/components/input.js +11 -0
- package/dist/dom/components/input.js.map +1 -1
- package/dist/dom/components/textarea.js +8 -0
- package/dist/dom/components/textarea.js.map +1 -1
- package/dist/dom/renderer.d.ts +18 -0
- package/dist/dom/renderer.js +87 -3
- package/dist/dom/renderer.js.map +1 -1
- package/package.json +2 -2
- package/src/canvas/PARITY.md +254 -0
- package/src/canvas/events.ts +113 -32
- package/src/canvas/input.ts +44 -25
- package/src/canvas/layout.ts +492 -91
- package/src/canvas/paint.ts +143 -29
- package/src/canvas/props.ts +117 -0
- package/src/canvas/renderer.ts +132 -11
- package/src/canvas/scroll.ts +62 -29
- package/src/canvas/selection.ts +3 -4
- package/src/canvas/utils.ts +83 -31
- package/src/dom/applicators/border.ts +9 -0
- package/src/dom/applicators/font.ts +16 -1
- package/src/dom/applicators/layout.ts +34 -7
- package/src/dom/applicators/margin.ts +16 -43
- package/src/dom/applicators/padding.ts +19 -27
- package/src/dom/applicators/typography.ts +11 -1
- package/src/dom/components/column.ts +12 -4
- package/src/dom/components/image.ts +8 -3
- package/src/dom/components/input.ts +11 -0
- package/src/dom/components/textarea.ts +8 -0
- package/src/dom/renderer.ts +92 -3
package/dist/canvas/utils.js
CHANGED
|
@@ -3,6 +3,72 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Common utility functions
|
|
5
5
|
*/
|
|
6
|
+
// Pixel equivalent for 1rem (and 1em, which we approximate the same without a
|
|
7
|
+
// real inheritance chain). The engine emits Tailwind values — `0.75rem`,
|
|
8
|
+
// `1rem`, `3.5rem` — and any earlier `parseFloat` path was stripping the unit
|
|
9
|
+
// and treating `3.5rem` as 3.5px, collapsing whole layouts to 1/16 size.
|
|
10
|
+
const ROOT_FONT_PX = 16;
|
|
11
|
+
/**
|
|
12
|
+
* Parse a CSS length string (or number) into pixels.
|
|
13
|
+
* Returns `null` for `"auto"` or unparseable input; returns `null` for `%`
|
|
14
|
+
* values so callers can decide whether to keep the percentage verbatim or
|
|
15
|
+
* fall back to 0.
|
|
16
|
+
*/
|
|
17
|
+
export function cssLengthToPx(value) {
|
|
18
|
+
if (typeof value === "number")
|
|
19
|
+
return Number.isFinite(value) ? value : null;
|
|
20
|
+
if (typeof value !== "string")
|
|
21
|
+
return null;
|
|
22
|
+
const s = value.trim();
|
|
23
|
+
if (s === "" || s === "auto")
|
|
24
|
+
return null;
|
|
25
|
+
if (s.endsWith("%"))
|
|
26
|
+
return null;
|
|
27
|
+
const match = s.match(/^(-?\d*\.?\d+)\s*([a-zA-Z]+)?$/);
|
|
28
|
+
if (!match)
|
|
29
|
+
return null;
|
|
30
|
+
const n = parseFloat(match[1]);
|
|
31
|
+
if (!Number.isFinite(n))
|
|
32
|
+
return null;
|
|
33
|
+
const unit = (match[2] || "px").toLowerCase();
|
|
34
|
+
switch (unit) {
|
|
35
|
+
case "px": return n;
|
|
36
|
+
case "rem":
|
|
37
|
+
case "em": return n * ROOT_FONT_PX;
|
|
38
|
+
// We don't have a viewport reference here; treat vw/vh as unitless px
|
|
39
|
+
// fallback so the layout gets _some_ numeric value rather than zero.
|
|
40
|
+
case "vw":
|
|
41
|
+
case "vh": return n;
|
|
42
|
+
// Point/pica — rarely seen from the engine but honoured for completeness.
|
|
43
|
+
case "pt": return n * (96 / 72);
|
|
44
|
+
case "pc": return n * 16;
|
|
45
|
+
case "in": return n * 96;
|
|
46
|
+
case "cm": return n * (96 / 2.54);
|
|
47
|
+
case "mm": return n * (96 / 25.4);
|
|
48
|
+
default: return n;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Parse a CSS length string for Taffy's Dimension type. Keeps `%` values as
|
|
53
|
+
* the tagged percentage string, turns `"auto"`/empty/invalid into `"auto"`,
|
|
54
|
+
* converts everything else (including rem/em) through `cssLengthToPx`.
|
|
55
|
+
*/
|
|
56
|
+
export function cssLengthToDimension(value) {
|
|
57
|
+
if (value === undefined || value === null || value === "auto")
|
|
58
|
+
return "auto";
|
|
59
|
+
if (typeof value === "number")
|
|
60
|
+
return Number.isFinite(value) ? value : "auto";
|
|
61
|
+
if (typeof value === "string") {
|
|
62
|
+
const s = value.trim();
|
|
63
|
+
if (s === "" || s === "auto")
|
|
64
|
+
return "auto";
|
|
65
|
+
if (s.endsWith("%"))
|
|
66
|
+
return s;
|
|
67
|
+
const px = cssLengthToPx(s);
|
|
68
|
+
return px !== null ? px : "auto";
|
|
69
|
+
}
|
|
70
|
+
return "auto";
|
|
71
|
+
}
|
|
6
72
|
/**
|
|
7
73
|
* Parse spacing value (margin, padding).
|
|
8
74
|
*
|
|
@@ -18,7 +84,7 @@ export function parseSpacing(value) {
|
|
|
18
84
|
return { top: value, right: value, bottom: value, left: value };
|
|
19
85
|
}
|
|
20
86
|
if (typeof value === "string") {
|
|
21
|
-
const parts = value.split(/\s+/).map((v) =>
|
|
87
|
+
const parts = value.split(/\s+/).map((v) => cssLengthToPx(v) ?? 0);
|
|
22
88
|
return spacingFromArray(parts);
|
|
23
89
|
}
|
|
24
90
|
if (typeof value === "object" && value !== null) {
|
|
@@ -28,16 +94,16 @@ export function parseSpacing(value) {
|
|
|
28
94
|
value.bottom !== undefined ||
|
|
29
95
|
value.left !== undefined) {
|
|
30
96
|
return {
|
|
31
|
-
top:
|
|
32
|
-
right:
|
|
33
|
-
bottom:
|
|
34
|
-
left:
|
|
97
|
+
top: cssLengthToPx(value.top) ?? 0,
|
|
98
|
+
right: cssLengthToPx(value.right) ?? 0,
|
|
99
|
+
bottom: cssLengthToPx(value.bottom) ?? 0,
|
|
100
|
+
left: cssLengthToPx(value.left) ?? 0,
|
|
35
101
|
};
|
|
36
102
|
}
|
|
37
103
|
// Positional form: walk contiguous "0", "1", … keys.
|
|
38
104
|
const args = [];
|
|
39
105
|
for (let i = 0; value[String(i)] !== undefined; i++) {
|
|
40
|
-
args.push(
|
|
106
|
+
args.push(cssLengthToPx(value[String(i)]) ?? 0);
|
|
41
107
|
}
|
|
42
108
|
if (args.length > 0) {
|
|
43
109
|
return spacingFromArray(args);
|
|
@@ -60,19 +126,12 @@ function spacingFromArray(parts) {
|
|
|
60
126
|
return { top: parts[0], right: parts[1], bottom: parts[2], left: parts[3] };
|
|
61
127
|
}
|
|
62
128
|
/**
|
|
63
|
-
* Parse size value (width, height)
|
|
64
|
-
* Returns
|
|
129
|
+
* Parse size value (width, height) into pixels.
|
|
130
|
+
* Returns `null` for `"auto"`, percentages, or unparseable input — callers
|
|
131
|
+
* that want to keep the percentage form should use `cssLengthToDimension`.
|
|
65
132
|
*/
|
|
66
133
|
export function parseSize(value) {
|
|
67
|
-
|
|
68
|
-
return value;
|
|
69
|
-
if (typeof value === "string") {
|
|
70
|
-
if (value === "auto")
|
|
71
|
-
return null;
|
|
72
|
-
const num = parseFloat(value);
|
|
73
|
-
return isNaN(num) ? null : num;
|
|
74
|
-
}
|
|
75
|
-
return null;
|
|
134
|
+
return cssLengthToPx(value);
|
|
76
135
|
}
|
|
77
136
|
/**
|
|
78
137
|
* Check if point is inside rectangle
|
|
@@ -91,9 +150,13 @@ export function isPointInRoundedRect(point, rect, radius) {
|
|
|
91
150
|
// Quick reject if outside bounding box
|
|
92
151
|
if (!isPointInRect(point, rect))
|
|
93
152
|
return false;
|
|
94
|
-
// No radius means simple rectangle
|
|
153
|
+
// No radius means simple rectangle. Clamp the radius to the box, since
|
|
154
|
+
// Tailwind's `rounded-full` arrives as 9999 — without clamping, the
|
|
155
|
+
// corner-test math thinks the corners are far outside the box and
|
|
156
|
+
// mis-classifies hits.
|
|
95
157
|
if (radius <= 0)
|
|
96
158
|
return true;
|
|
159
|
+
radius = Math.min(radius, width / 2, height / 2);
|
|
97
160
|
const px = point.x;
|
|
98
161
|
const py = point.y;
|
|
99
162
|
// Check corners
|
|
@@ -173,23 +236,20 @@ export function findNodeById(root, id) {
|
|
|
173
236
|
return null;
|
|
174
237
|
}
|
|
175
238
|
/**
|
|
176
|
-
* Get absolute bounds of node
|
|
239
|
+
* Get absolute bounds of a node. `node.layout.{x,y}` is already absolute
|
|
240
|
+
* (the layout pass writes parent.absX + child.x in both the Taffy and JS
|
|
241
|
+
* fallback paths), so this is a thin wrapper for callers that work in
|
|
242
|
+
* `Rectangle` shape.
|
|
243
|
+
*
|
|
244
|
+
* Use `getScrollAwareBounds` (in `scroll.ts`) when ancestor scroll offsets
|
|
245
|
+
* matter — e.g. for hit testing.
|
|
177
246
|
*/
|
|
178
247
|
export function getAbsoluteBounds(node) {
|
|
179
248
|
if (!node.layout)
|
|
180
249
|
return null;
|
|
181
|
-
let x = node.layout.x;
|
|
182
|
-
let y = node.layout.y;
|
|
183
|
-
// Walk up tree to accumulate offsets
|
|
184
|
-
let current = node.parent;
|
|
185
|
-
while (current && current.layout) {
|
|
186
|
-
x += current.layout.contentX;
|
|
187
|
-
y += current.layout.contentY;
|
|
188
|
-
current = current.parent;
|
|
189
|
-
}
|
|
190
250
|
return {
|
|
191
|
-
x,
|
|
192
|
-
y,
|
|
251
|
+
x: node.layout.x,
|
|
252
|
+
y: node.layout.y,
|
|
193
253
|
width: node.layout.width,
|
|
194
254
|
height: node.layout.height,
|
|
195
255
|
};
|
package/dist/canvas/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/canvas/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,KAAU;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/canvas/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,15 @@ export const borderHandlers = {
|
|
|
39
39
|
},
|
|
40
40
|
borderWidth: (el, value) => {
|
|
41
41
|
el.style.borderWidth = typeof value === "number" ? `${value}px` : String(value);
|
|
42
|
+
// CSS `border-style` default is `none`, so a width-only border draws
|
|
43
|
+
// nothing. The Hypen DSL writes `.borderWidth(2).borderColor(...)`
|
|
44
|
+
// expecting a visible stroke (the social Stories ring + the Profile
|
|
45
|
+
// page Edit button). Override `none` too — the Button component
|
|
46
|
+
// resets `border: none` at create time, so the inherited
|
|
47
|
+
// border-style is "none" by the time this applicator lands.
|
|
48
|
+
if (!el.style.borderStyle || el.style.borderStyle === "none") {
|
|
49
|
+
el.style.borderStyle = "solid";
|
|
50
|
+
}
|
|
42
51
|
},
|
|
43
52
|
borderStyle: (el, value) => {
|
|
44
53
|
el.style.borderStyle = String(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"border.js","sourceRoot":"","sources":["../../../src/dom/applicators/border.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,cAAc,GAAsC;IAC/D,oEAAoE;IACpE,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,aAAa;YACb,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,KAAK,IAAI,CAAC;YACpC,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,KAA4B,CAAC;YAEzC,QAAQ;YACR,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC5B,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9F,CAAC;YAED,QAAQ;YACR,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC5B,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;YAED,sCAAsC;YACtC,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC5B,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;YACjC,CAAC;YAED,SAAS;YACT,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,uCAAuC;YACvC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,WAAW,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACzB,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"border.js","sourceRoot":"","sources":["../../../src/dom/applicators/border.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,7 +72,24 @@ export const fontHandlers = {
|
|
|
72
72
|
el.style.fontFamily = processFontFamily(fontValue);
|
|
73
73
|
},
|
|
74
74
|
textAlign: (el, value) => {
|
|
75
|
-
|
|
75
|
+
const v = String(value);
|
|
76
|
+
el.style.textAlign = v;
|
|
77
|
+
// `text-align: center | right | end | justify` only takes visible
|
|
78
|
+
// effect when the box is wider than the text. Hypen's Text defaults
|
|
79
|
+
// to `inline-block` (shrink-to-fit), so without this an author
|
|
80
|
+
// writing `Text("Edit Profile").tw("text-center")` saw the same
|
|
81
|
+
// left-flush text whether they set `text-center` or not (the
|
|
82
|
+
// social Profile page Edit button). Stretch the box across its
|
|
83
|
+
// flex parent and switch to block so the alignment has room to act.
|
|
84
|
+
if (v === "center" || v === "right" || v === "end" || v === "justify") {
|
|
85
|
+
if (!el.style.alignSelf)
|
|
86
|
+
el.style.alignSelf = "stretch";
|
|
87
|
+
if (!el.style.width)
|
|
88
|
+
el.style.width = "100%";
|
|
89
|
+
if (el.style.display === "inline-block" || !el.style.display) {
|
|
90
|
+
el.style.display = "block";
|
|
91
|
+
}
|
|
92
|
+
}
|
|
76
93
|
},
|
|
77
94
|
lineHeight: (el, value) => {
|
|
78
95
|
el.style.lineHeight = String(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../../src/dom/applicators/font.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../../src/dom/applicators/font.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,13 +98,27 @@ export const layoutHandlers = {
|
|
|
98
98
|
// Use .weight(1) to make element take remaining space in Row/Column
|
|
99
99
|
weight: (el, value) => {
|
|
100
100
|
el.style.flex = String(value);
|
|
101
|
-
//
|
|
101
|
+
// CSS sets `min-width/min-height: auto` (= min-content) on flex items by
|
|
102
|
+
// default, so a flex-1 child can never shrink below its intrinsic
|
|
103
|
+
// content size — meaning a 20,000-tall feed inside a 900px viewport
|
|
104
|
+
// overflowed because HomePage's `flex-1` couldn't shrink. The classic
|
|
105
|
+
// CSS workaround is `min-*: 0`. Apply it here so authors don't need to
|
|
106
|
+
// remember; explicit user `minWidth`/`minHeight` overrides it (the
|
|
107
|
+
// applicator runs after `weight`/`flex`).
|
|
108
|
+
if (!el.style.minWidth)
|
|
109
|
+
el.style.minWidth = "0";
|
|
110
|
+
if (!el.style.minHeight)
|
|
111
|
+
el.style.minHeight = "0";
|
|
102
112
|
el.dataset.hypenFlex = "true";
|
|
103
113
|
},
|
|
104
114
|
// flex: CSS flex shorthand (kept for CSS compatibility)
|
|
105
115
|
flex: (el, value) => {
|
|
106
116
|
el.style.flex = String(value);
|
|
107
|
-
//
|
|
117
|
+
// See note on `weight` above — flex children need `min-*: 0` to shrink.
|
|
118
|
+
if (!el.style.minWidth)
|
|
119
|
+
el.style.minWidth = "0";
|
|
120
|
+
if (!el.style.minHeight)
|
|
121
|
+
el.style.minHeight = "0";
|
|
108
122
|
el.dataset.hypenFlex = "true";
|
|
109
123
|
},
|
|
110
124
|
flexGrow: (el, value) => {
|
|
@@ -120,22 +134,44 @@ export const layoutHandlers = {
|
|
|
120
134
|
el.style.overflow = String(value);
|
|
121
135
|
},
|
|
122
136
|
scrollable: (el, value) => {
|
|
123
|
-
|
|
137
|
+
// CSS spec: setting `overflow-x` to a non-visible value forces
|
|
138
|
+
// `overflow-y: auto` (and vice versa) — you can't mix `visible` with
|
|
139
|
+
// a scrolling axis. That combo makes the element a scroll container
|
|
140
|
+
// on both axes, and flex items with overflow get `min-height: auto`
|
|
141
|
+
// collapsed to 0, so a `scrollable("horizontal")` row inside a
|
|
142
|
+
// flex-column parent (the social Stories carousel) shrank to just
|
|
143
|
+
// its padding (18 tall) instead of hugging its 92-tall avatars. We
|
|
144
|
+
// pin `min-height`/`min-width` to `fit-content` on the non-scroll
|
|
145
|
+
// axis so the intrinsic size survives.
|
|
146
|
+
if (value === true || value === "true" || value === "both") {
|
|
124
147
|
el.style.overflow = "auto";
|
|
125
148
|
}
|
|
126
149
|
else if (value === false || value === "false") {
|
|
127
150
|
el.style.overflow = "hidden";
|
|
128
151
|
}
|
|
129
152
|
else if (value === "vertical") {
|
|
130
|
-
el.style.overflowX = "hidden";
|
|
131
153
|
el.style.overflowY = "auto";
|
|
154
|
+
if (!el.style.minWidth)
|
|
155
|
+
el.style.minWidth = "fit-content";
|
|
132
156
|
}
|
|
133
157
|
else if (value === "horizontal") {
|
|
134
158
|
el.style.overflowX = "auto";
|
|
135
|
-
el.style.
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
159
|
+
if (!el.style.minHeight)
|
|
160
|
+
el.style.minHeight = "fit-content";
|
|
161
|
+
// A flex-column parent with `align-items: flex-start` (our Column
|
|
162
|
+
// default, matching iOS/Android "wrap to content") leaves a child
|
|
163
|
+
// row at its natural width — so a 5×96 carousel was 498 wide inside
|
|
164
|
+
// a 470 viewport and the whole page scrolled horizontally. Force
|
|
165
|
+
// the scroll container to fit the parent's cross-axis and clamp at
|
|
166
|
+
// that width so the overflow is trapped inside.
|
|
167
|
+
if (!el.style.alignSelf)
|
|
168
|
+
el.style.alignSelf = "stretch";
|
|
169
|
+
if (!el.style.width)
|
|
170
|
+
el.style.width = "100%";
|
|
171
|
+
if (!el.style.maxWidth)
|
|
172
|
+
el.style.maxWidth = "100%";
|
|
173
|
+
if (!el.style.minWidth)
|
|
174
|
+
el.style.minWidth = "0";
|
|
139
175
|
}
|
|
140
176
|
else {
|
|
141
177
|
el.style.overflow = String(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/dom/applicators/layout.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/dom/applicators/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Margin Applicators
|
|
3
3
|
*/
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return value;
|
|
8
|
-
if (typeof value === "object" && value["0"] !== undefined)
|
|
9
|
-
return Number(value["0"]);
|
|
10
|
-
if (typeof value === "string")
|
|
11
|
-
return parseFloat(value);
|
|
12
|
-
return null;
|
|
13
|
-
};
|
|
14
|
-
// Extract a CSS length value, supporting numbers, strings ("auto", "10px",
|
|
15
|
-
// percentages), or `{0: value}` positional form. Returns null if no value.
|
|
16
|
-
const getCssLengthValue = (value) => {
|
|
17
|
-
if (value === null || value === undefined)
|
|
18
|
-
return null;
|
|
19
|
-
if (typeof value === "number")
|
|
20
|
-
return `${value}px`;
|
|
21
|
-
if (typeof value === "string")
|
|
22
|
-
return value;
|
|
23
|
-
if (typeof value === "object") {
|
|
24
|
-
if (value["0"] !== undefined) {
|
|
25
|
-
const inner = value["0"];
|
|
26
|
-
if (typeof inner === "number")
|
|
27
|
-
return `${inner}px`;
|
|
28
|
-
if (typeof inner === "string")
|
|
29
|
-
return inner;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return null;
|
|
33
|
-
};
|
|
34
|
-
// Format a value as a CSS length: numbers become "Npx", strings pass through
|
|
4
|
+
// Format a value as a CSS length: numbers become "Npx", strings pass through.
|
|
5
|
+
// Same caveat as `padding.ts#toCssLength`: rem/em/% values must survive,
|
|
6
|
+
// otherwise `parseFloat("0.5rem")` collapses to literal `0.5px`.
|
|
35
7
|
const toCssLength = (v) => {
|
|
8
|
+
if (v == null)
|
|
9
|
+
return "";
|
|
36
10
|
if (typeof v === "number")
|
|
37
11
|
return `${v}px`;
|
|
12
|
+
if (typeof v === "object" && v["0"] !== undefined)
|
|
13
|
+
return toCssLength(v["0"]);
|
|
38
14
|
return String(v);
|
|
39
15
|
};
|
|
40
16
|
// Collect positional args ("0", "1", "2", "3") in order, stopping at the first gap.
|
|
@@ -77,38 +53,27 @@ export const marginHandler = (el, value) => {
|
|
|
77
53
|
}
|
|
78
54
|
};
|
|
79
55
|
// Directional margin handlers for .marginTop(8), .marginBottom(8), etc.
|
|
56
|
+
// All routed through `toCssLength` so `rem` / `em` / `%` units survive.
|
|
80
57
|
export const marginTopHandler = (el, value) => {
|
|
81
|
-
|
|
82
|
-
if (v !== null)
|
|
83
|
-
el.style.marginTop = `${v}px`;
|
|
58
|
+
el.style.marginTop = toCssLength(value);
|
|
84
59
|
};
|
|
85
60
|
export const marginBottomHandler = (el, value) => {
|
|
86
|
-
|
|
87
|
-
if (v !== null)
|
|
88
|
-
el.style.marginBottom = `${v}px`;
|
|
61
|
+
el.style.marginBottom = toCssLength(value);
|
|
89
62
|
};
|
|
90
63
|
export const marginLeftHandler = (el, value) => {
|
|
91
|
-
|
|
92
|
-
if (v !== null)
|
|
93
|
-
el.style.marginLeft = `${v}px`;
|
|
64
|
+
el.style.marginLeft = toCssLength(value);
|
|
94
65
|
};
|
|
95
66
|
export const marginRightHandler = (el, value) => {
|
|
96
|
-
|
|
97
|
-
if (v !== null)
|
|
98
|
-
el.style.marginRight = `${v}px`;
|
|
67
|
+
el.style.marginRight = toCssLength(value);
|
|
99
68
|
};
|
|
100
69
|
export const marginHorizontalHandler = (el, value) => {
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
el.style.marginRight = `${v}px`;
|
|
105
|
-
}
|
|
70
|
+
const css = toCssLength(value);
|
|
71
|
+
el.style.marginLeft = css;
|
|
72
|
+
el.style.marginRight = css;
|
|
106
73
|
};
|
|
107
74
|
export const marginVerticalHandler = (el, value) => {
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
el.style.marginBottom = `${v}px`;
|
|
112
|
-
}
|
|
75
|
+
const css = toCssLength(value);
|
|
76
|
+
el.style.marginTop = css;
|
|
77
|
+
el.style.marginBottom = css;
|
|
113
78
|
};
|
|
114
79
|
//# sourceMappingURL=margin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"margin.js","sourceRoot":"","sources":["../../../src/dom/applicators/margin.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,
|
|
1
|
+
{"version":3,"file":"margin.js","sourceRoot":"","sources":["../../../src/dom/applicators/margin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Padding Applicators
|
|
3
3
|
*/
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (typeof value === "string")
|
|
11
|
-
return parseFloat(value);
|
|
12
|
-
return null;
|
|
13
|
-
};
|
|
14
|
-
// Format a value as a CSS length: numbers become "Npx", strings pass through
|
|
4
|
+
// Format a value as a CSS length: numbers become "Npx", strings pass through.
|
|
5
|
+
// Strings come through verbatim because the Tailwind→CSS pipeline emits
|
|
6
|
+
// values like `"0.5rem"` (= py-2) or `"1rem"` (= px-4); stripping the unit
|
|
7
|
+
// via `parseFloat` collapsed them to literal `0.5px` / `1px` and the
|
|
8
|
+
// social feed rendered with no usable spacing (avatars touched the
|
|
9
|
+
// container edges, the BottomNav fell off-screen, etc.).
|
|
15
10
|
const toCssLength = (v) => {
|
|
11
|
+
if (v == null)
|
|
12
|
+
return "";
|
|
16
13
|
if (typeof v === "number")
|
|
17
14
|
return `${v}px`;
|
|
15
|
+
if (typeof v === "object" && v["0"] !== undefined)
|
|
16
|
+
return toCssLength(v["0"]);
|
|
18
17
|
return String(v);
|
|
19
18
|
};
|
|
20
19
|
// Collect positional args ("0", "1", "2", "3") in order, stopping at the first
|
|
@@ -61,38 +60,27 @@ export const paddingHandler = (el, value) => {
|
|
|
61
60
|
}
|
|
62
61
|
};
|
|
63
62
|
// Directional padding handlers for .paddingTop(8), .paddingBottom(8), etc.
|
|
63
|
+
// All routed through `toCssLength` so `rem` / `em` / `%` units survive.
|
|
64
64
|
export const paddingTopHandler = (el, value) => {
|
|
65
|
-
|
|
66
|
-
if (v !== null)
|
|
67
|
-
el.style.paddingTop = `${v}px`;
|
|
65
|
+
el.style.paddingTop = toCssLength(value);
|
|
68
66
|
};
|
|
69
67
|
export const paddingBottomHandler = (el, value) => {
|
|
70
|
-
|
|
71
|
-
if (v !== null)
|
|
72
|
-
el.style.paddingBottom = `${v}px`;
|
|
68
|
+
el.style.paddingBottom = toCssLength(value);
|
|
73
69
|
};
|
|
74
70
|
export const paddingLeftHandler = (el, value) => {
|
|
75
|
-
|
|
76
|
-
if (v !== null)
|
|
77
|
-
el.style.paddingLeft = `${v}px`;
|
|
71
|
+
el.style.paddingLeft = toCssLength(value);
|
|
78
72
|
};
|
|
79
73
|
export const paddingRightHandler = (el, value) => {
|
|
80
|
-
|
|
81
|
-
if (v !== null)
|
|
82
|
-
el.style.paddingRight = `${v}px`;
|
|
74
|
+
el.style.paddingRight = toCssLength(value);
|
|
83
75
|
};
|
|
84
76
|
export const paddingHorizontalHandler = (el, value) => {
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
el.style.paddingRight = `${v}px`;
|
|
89
|
-
}
|
|
77
|
+
const css = toCssLength(value);
|
|
78
|
+
el.style.paddingLeft = css;
|
|
79
|
+
el.style.paddingRight = css;
|
|
90
80
|
};
|
|
91
81
|
export const paddingVerticalHandler = (el, value) => {
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
el.style.paddingBottom = `${v}px`;
|
|
96
|
-
}
|
|
82
|
+
const css = toCssLength(value);
|
|
83
|
+
el.style.paddingTop = css;
|
|
84
|
+
el.style.paddingBottom = css;
|
|
97
85
|
};
|
|
98
86
|
//# sourceMappingURL=padding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"padding.js","sourceRoot":"","sources":["../../../src/dom/applicators/padding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,
|
|
1
|
+
{"version":3,"file":"padding.js","sourceRoot":"","sources":["../../../src/dom/applicators/padding.ts"],"names":[],"mappings":"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"}
|