@jalvin/ui 2.0.38 → 2.0.40
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/__tests__/annotated-string.test.d.ts +1 -1
- package/dist/__tests__/annotated-string.test.d.ts.map +1 -1
- package/dist/__tests__/annotated-string.test.js +26 -39
- package/dist/__tests__/annotated-string.test.js.map +1 -1
- package/dist/__tests__/children-signature.test.js +20 -20
- package/dist/__tests__/children-signature.test.js.map +1 -1
- package/dist/__tests__/interaction.test.js +52 -35
- package/dist/__tests__/interaction.test.js.map +1 -1
- package/dist/__tests__/text.test.d.ts +1 -1
- package/dist/__tests__/text.test.d.ts.map +1 -1
- package/dist/__tests__/text.test.js +22 -16
- package/dist/__tests__/text.test.js.map +1 -1
- package/dist/__tests__/windowsizeclass.test.js +57 -66
- package/dist/__tests__/windowsizeclass.test.js.map +1 -1
- package/dist/annotated-string.d.ts +2 -4
- package/dist/annotated-string.d.ts.map +1 -1
- package/dist/annotated-string.js +19 -17
- package/dist/annotated-string.js.map +1 -1
- package/dist/button.d.ts +2 -3
- package/dist/button.d.ts.map +1 -1
- package/dist/button.js +8 -12
- package/dist/button.js.map +1 -1
- package/dist/canvas.d.ts +3 -3
- package/dist/canvas.d.ts.map +1 -1
- package/dist/canvas.js +31 -40
- package/dist/canvas.js.map +1 -1
- package/dist/checkbox.d.ts +1 -2
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.js +18 -11
- package/dist/checkbox.js.map +1 -1
- package/dist/image.d.ts +4 -6
- package/dist/image.d.ts.map +1 -1
- package/dist/image.js +32 -21
- package/dist/image.js.map +1 -1
- package/dist/index.d.ts +15 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -19
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +1 -3
- package/dist/input.d.ts.map +1 -1
- package/dist/input.js +20 -13
- package/dist/input.js.map +1 -1
- package/dist/interaction.d.ts.map +1 -1
- package/dist/interaction.js +9 -27
- package/dist/interaction.js.map +1 -1
- package/dist/layout.d.ts +3 -4
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +7 -7
- package/dist/layout.js.map +1 -1
- package/dist/spacer.d.ts +2 -3
- package/dist/spacer.d.ts.map +1 -1
- package/dist/spacer.js +5 -5
- package/dist/spacer.js.map +1 -1
- package/dist/surface.d.ts +9 -10
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +30 -13
- package/dist/surface.js.map +1 -1
- package/dist/text.d.ts +3 -5
- package/dist/text.d.ts.map +1 -1
- package/dist/text.js +23 -12
- package/dist/text.js.map +1 -1
- package/dist/textarea.d.ts +1 -3
- package/dist/textarea.d.ts.map +1 -1
- package/dist/textarea.js +20 -13
- package/dist/textarea.js.map +1 -1
- package/dist/typography.d.ts +101 -129
- package/dist/typography.d.ts.map +1 -1
- package/dist/typography.js +29 -25
- package/dist/typography.js.map +1 -1
- package/package.json +3 -8
package/dist/interaction.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
//
|
|
12
12
|
// Box({ modifier: Modifier.hoverable(source).pressable(source) }) { ... }
|
|
13
13
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
14
|
-
import {
|
|
14
|
+
import { mutableStateOf, remember } from "@jalvin/runtime";
|
|
15
15
|
// ── MutableInteractionSource ─────────────────────────────────────────────────
|
|
16
16
|
/**
|
|
17
17
|
* Mutable implementation of {@link InteractionSource}.
|
|
@@ -22,7 +22,7 @@ import { useState, useEffect, useRef } from "react";
|
|
|
22
22
|
* so a single source describes the full interaction state of the element.
|
|
23
23
|
*/
|
|
24
24
|
export class MutableInteractionSource {
|
|
25
|
-
_interactions = [];
|
|
25
|
+
_interactions = mutableStateOf([]);
|
|
26
26
|
_listeners = new Set();
|
|
27
27
|
// ── active interaction tracking ─────────────────────────────────────────
|
|
28
28
|
_currentHover = null;
|
|
@@ -30,7 +30,7 @@ export class MutableInteractionSource {
|
|
|
30
30
|
_currentPress = null;
|
|
31
31
|
// ── InteractionSource ────────────────────────────────────────────────────
|
|
32
32
|
getInteractions() {
|
|
33
|
-
return this._interactions;
|
|
33
|
+
return this._interactions.value;
|
|
34
34
|
}
|
|
35
35
|
subscribe(listener) {
|
|
36
36
|
this._listeners.add(listener);
|
|
@@ -118,10 +118,10 @@ export class MutableInteractionSource {
|
|
|
118
118
|
const paired = interaction.type === "hover.exit" ? interaction.enter :
|
|
119
119
|
interaction.type === "focus.unfocus" ? interaction.focus :
|
|
120
120
|
interaction.press;
|
|
121
|
-
this._interactions = this._interactions.filter(i => i !== paired);
|
|
121
|
+
this._interactions.value = this._interactions.value.filter(i => i !== paired);
|
|
122
122
|
}
|
|
123
123
|
else {
|
|
124
|
-
this._interactions = [...this._interactions, interaction];
|
|
124
|
+
this._interactions.value = [...this._interactions.value, interaction];
|
|
125
125
|
}
|
|
126
126
|
this._listeners.forEach(l => l());
|
|
127
127
|
}
|
|
@@ -132,44 +132,26 @@ export class MutableInteractionSource {
|
|
|
132
132
|
* of the component. Equivalent to `remember { MutableInteractionSource() }`.
|
|
133
133
|
*/
|
|
134
134
|
export function useMutableInteractionSource() {
|
|
135
|
-
|
|
136
|
-
if (ref.current === null)
|
|
137
|
-
ref.current = new MutableInteractionSource();
|
|
138
|
-
return ref.current;
|
|
135
|
+
return remember(() => new MutableInteractionSource());
|
|
139
136
|
}
|
|
140
137
|
/**
|
|
141
138
|
* Returns `true` while the pointer is inside the bounds of the component
|
|
142
139
|
* attached to `source` via `Modifier.hoverable(source)`.
|
|
143
140
|
*/
|
|
144
141
|
export function useIsHovered(source) {
|
|
145
|
-
|
|
146
|
-
useEffect(() => {
|
|
147
|
-
setVal(source.getInteractions().some(i => i.type === "hover.enter"));
|
|
148
|
-
return source.subscribe(() => setVal(source.getInteractions().some(i => i.type === "hover.enter")));
|
|
149
|
-
}, [source]);
|
|
150
|
-
return val;
|
|
142
|
+
return source.getInteractions().some(i => i.type === "hover.enter");
|
|
151
143
|
}
|
|
152
144
|
/**
|
|
153
145
|
* Returns `true` while the component attached to `source` has keyboard focus.
|
|
154
146
|
*/
|
|
155
147
|
export function useIsFocused(source) {
|
|
156
|
-
|
|
157
|
-
useEffect(() => {
|
|
158
|
-
setVal(source.getInteractions().some(i => i.type === "focus.focus"));
|
|
159
|
-
return source.subscribe(() => setVal(source.getInteractions().some(i => i.type === "focus.focus")));
|
|
160
|
-
}, [source]);
|
|
161
|
-
return val;
|
|
148
|
+
return source.getInteractions().some(i => i.type === "focus.focus");
|
|
162
149
|
}
|
|
163
150
|
/**
|
|
164
151
|
* Returns `true` while the user is pressing down on the component attached to
|
|
165
152
|
* `source` via `Modifier.pressable(source)`.
|
|
166
153
|
*/
|
|
167
154
|
export function useIsPressed(source) {
|
|
168
|
-
|
|
169
|
-
useEffect(() => {
|
|
170
|
-
setVal(source.getInteractions().some(i => i.type === "press.press"));
|
|
171
|
-
return source.subscribe(() => setVal(source.getInteractions().some(i => i.type === "press.press")));
|
|
172
|
-
}, [source]);
|
|
173
|
-
return val;
|
|
155
|
+
return source.getInteractions().some(i => i.type === "press.press");
|
|
174
156
|
}
|
|
175
157
|
//# sourceMappingURL=interaction.js.map
|
package/dist/interaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.js","sourceRoot":"","sources":["../src/interaction.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,2DAA2D;AAC3D,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,0EAA0E;AAC1E,EAAE;AACF,kDAAkD;AAClD,4CAA4C;AAC5C,4CAA4C;AAC5C,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAEhF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"interaction.js","sourceRoot":"","sources":["../src/interaction.ts"],"names":[],"mappings":"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"}
|
package/dist/layout.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Modifier } from "./modifier.js";
|
|
3
2
|
export type Alignment = "start" | "center" | "end" | "stretch";
|
|
4
3
|
export type Arrangement = "start" | "center" | "end" | "spaceBetween" | "spaceAround" | "spaceEvenly";
|
|
@@ -9,7 +8,7 @@ export interface ColumnProps {
|
|
|
9
8
|
horizontalAlignment?: Alignment;
|
|
10
9
|
}
|
|
11
10
|
/** Vertical flex container. */
|
|
12
|
-
export declare function Column({ modifier, spacing, verticalArrangement, horizontalAlignment }: ColumnProps, children?:
|
|
11
|
+
export declare function Column({ modifier, spacing, verticalArrangement, horizontalAlignment }: ColumnProps, children?: Node[]): HTMLElement;
|
|
13
12
|
export interface RowProps {
|
|
14
13
|
modifier?: Modifier;
|
|
15
14
|
spacing?: number;
|
|
@@ -18,11 +17,11 @@ export interface RowProps {
|
|
|
18
17
|
wrap?: boolean;
|
|
19
18
|
}
|
|
20
19
|
/** Horizontal flex container. */
|
|
21
|
-
export declare function Row({ modifier, spacing, horizontalArrangement, verticalAlignment, wrap }: RowProps, children?:
|
|
20
|
+
export declare function Row({ modifier, spacing, horizontalArrangement, verticalAlignment, wrap }: RowProps, children?: Node[]): HTMLElement;
|
|
22
21
|
export interface BoxProps {
|
|
23
22
|
modifier?: Modifier;
|
|
24
23
|
contentAlignment?: "topStart" | "topCenter" | "topEnd" | "centerStart" | "center" | "centerEnd" | "bottomStart" | "bottomCenter" | "bottomEnd";
|
|
25
24
|
}
|
|
26
25
|
/** Positioned container. */
|
|
27
|
-
export declare function Box({ modifier, contentAlignment }: BoxProps, children?:
|
|
26
|
+
export declare function Box({ modifier, contentAlignment }: BoxProps, children?: Node[]): HTMLElement;
|
|
28
27
|
//# sourceMappingURL=layout.d.ts.map
|
package/dist/layout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAC/D,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAsBtG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAClC,mBAAmB,CAAC,EAAE,SAAS,CAAC;CACjC;AAED,+BAA+B;AAC/B,wBAAgB,MAAM,CACpB,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAA6B,EAAE,mBAA6B,EAAE,EAAE,WAAW,EAChG,QAAQ,CAAC,EAAE,IAAI,EAAE,GAChB,WAAW,CAab;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,WAAW,CAAC;IACpC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,iCAAiC;AACjC,wBAAgB,GAAG,CACjB,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAA+B,EAAE,iBAA4B,EAAE,IAAY,EAAE,EAAE,QAAQ,EAC5G,QAAQ,CAAC,EAAE,IAAI,EAAE,GAChB,WAAW,CAcb;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gBAAgB,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,WAAW,CAAC;CAChJ;AAED,4BAA4B;AAC5B,wBAAgB,GAAG,CACjB,EAAE,QAAQ,EAAE,gBAA6B,EAAE,EAAE,QAAQ,EACrD,QAAQ,CAAC,EAAE,IAAI,EAAE,GAChB,WAAW,CAab"}
|
package/dist/layout.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jalvinCreateElement } from "@jalvin/runtime";
|
|
2
2
|
function arrangementToJustify(a) {
|
|
3
3
|
switch (a) {
|
|
4
4
|
case "start": return "flex-start";
|
|
@@ -20,7 +20,7 @@ function alignmentToAlign(a) {
|
|
|
20
20
|
/** Vertical flex container. */
|
|
21
21
|
export function Column({ modifier, spacing, verticalArrangement = "start", horizontalAlignment = "start" }, children) {
|
|
22
22
|
const modProps = modifier?.toProps() ?? {};
|
|
23
|
-
return
|
|
23
|
+
return jalvinCreateElement("div", {
|
|
24
24
|
...modProps,
|
|
25
25
|
style: {
|
|
26
26
|
display: "flex",
|
|
@@ -30,12 +30,12 @@ export function Column({ modifier, spacing, verticalArrangement = "start", horiz
|
|
|
30
30
|
...(spacing !== undefined ? { gap: `${spacing}px` } : {}),
|
|
31
31
|
...modProps.style,
|
|
32
32
|
},
|
|
33
|
-
},
|
|
33
|
+
}, children ?? []);
|
|
34
34
|
}
|
|
35
35
|
/** Horizontal flex container. */
|
|
36
36
|
export function Row({ modifier, spacing, horizontalArrangement = "start", verticalAlignment = "center", wrap = false }, children) {
|
|
37
37
|
const modProps = modifier?.toProps() ?? {};
|
|
38
|
-
return
|
|
38
|
+
return jalvinCreateElement("div", {
|
|
39
39
|
...modProps,
|
|
40
40
|
style: {
|
|
41
41
|
display: "flex",
|
|
@@ -46,13 +46,13 @@ export function Row({ modifier, spacing, horizontalArrangement = "start", vertic
|
|
|
46
46
|
...(spacing !== undefined ? { gap: `${spacing}px` } : {}),
|
|
47
47
|
...modProps.style,
|
|
48
48
|
},
|
|
49
|
-
},
|
|
49
|
+
}, children ?? []);
|
|
50
50
|
}
|
|
51
51
|
/** Positioned container. */
|
|
52
52
|
export function Box({ modifier, contentAlignment = "topStart" }, children) {
|
|
53
53
|
const modProps = modifier?.toProps() ?? {};
|
|
54
54
|
const isCentered = contentAlignment === "center";
|
|
55
|
-
return
|
|
55
|
+
return jalvinCreateElement("div", {
|
|
56
56
|
...modProps,
|
|
57
57
|
style: {
|
|
58
58
|
position: "relative",
|
|
@@ -61,6 +61,6 @@ export function Box({ modifier, contentAlignment = "topStart" }, children) {
|
|
|
61
61
|
...(isCentered ? { alignItems: "center", justifyContent: "center" } : {}),
|
|
62
62
|
...modProps.style,
|
|
63
63
|
},
|
|
64
|
-
},
|
|
64
|
+
}, children ?? []);
|
|
65
65
|
}
|
|
66
66
|
//# sourceMappingURL=layout.js.map
|
package/dist/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
|
package/dist/spacer.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Modifier } from "./modifier.js";
|
|
3
2
|
export interface SpacerProps {
|
|
4
3
|
/** Fixed width in pixels (horizontal spacer) */
|
|
@@ -10,7 +9,7 @@ export interface SpacerProps {
|
|
|
10
9
|
modifier?: Modifier;
|
|
11
10
|
}
|
|
12
11
|
/** Flexible or fixed-size spacer. */
|
|
13
|
-
export declare function Spacer({ width, height, weight, modifier }: SpacerProps):
|
|
12
|
+
export declare function Spacer({ width, height, weight, modifier }: SpacerProps): HTMLElement;
|
|
14
13
|
export interface DividerProps {
|
|
15
14
|
modifier?: Modifier;
|
|
16
15
|
color?: string;
|
|
@@ -19,5 +18,5 @@ export interface DividerProps {
|
|
|
19
18
|
orientation?: "horizontal" | "vertical";
|
|
20
19
|
}
|
|
21
20
|
/** Thin line divider. */
|
|
22
|
-
export declare function Divider({ modifier, color, thickness, orientation, }: DividerProps):
|
|
21
|
+
export declare function Divider({ modifier, color, thickness, orientation, }: DividerProps): HTMLElement;
|
|
23
22
|
//# sourceMappingURL=spacer.d.ts.map
|
package/dist/spacer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spacer.d.ts","sourceRoot":"","sources":["../src/spacer.
|
|
1
|
+
{"version":3,"file":"spacer.d.ts","sourceRoot":"","sources":["../src/spacer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,qCAAqC;AACrC,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,WAAW,GAAG,WAAW,CAYpF;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC;AAED,yBAAyB;AACzB,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,KAAiB,EACjB,SAAa,EACb,WAA0B,GAC3B,EAAE,YAAY,GAAG,WAAW,CAc5B"}
|
package/dist/spacer.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jalvinCreateElement } from "@jalvin/runtime";
|
|
2
2
|
/** Flexible or fixed-size spacer. */
|
|
3
3
|
export function Spacer({ width, height, weight, modifier }) {
|
|
4
4
|
const modProps = modifier?.toProps() ?? {};
|
|
5
|
-
return
|
|
5
|
+
return jalvinCreateElement("div", {
|
|
6
6
|
...modProps,
|
|
7
7
|
style: {
|
|
8
8
|
flex: weight !== undefined ? weight : undefined,
|
|
@@ -11,13 +11,13 @@ export function Spacer({ width, height, weight, modifier }) {
|
|
|
11
11
|
flexShrink: 0,
|
|
12
12
|
...modProps.style,
|
|
13
13
|
},
|
|
14
|
-
});
|
|
14
|
+
}, []);
|
|
15
15
|
}
|
|
16
16
|
/** Thin line divider. */
|
|
17
17
|
export function Divider({ modifier, color = "#c4c4c4", thickness = 1, orientation = "horizontal", }) {
|
|
18
18
|
const modProps = modifier?.toProps() ?? {};
|
|
19
19
|
const isVertical = orientation === "vertical";
|
|
20
|
-
return
|
|
20
|
+
return jalvinCreateElement("div", {
|
|
21
21
|
...modProps,
|
|
22
22
|
role: "separator",
|
|
23
23
|
style: {
|
|
@@ -27,6 +27,6 @@ export function Divider({ modifier, color = "#c4c4c4", thickness = 1, orientatio
|
|
|
27
27
|
flexShrink: 0,
|
|
28
28
|
...modProps.style,
|
|
29
29
|
},
|
|
30
|
-
});
|
|
30
|
+
}, []);
|
|
31
31
|
}
|
|
32
32
|
//# sourceMappingURL=spacer.js.map
|
package/dist/spacer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spacer.js","sourceRoot":"","sources":["../src/spacer.
|
|
1
|
+
{"version":3,"file":"spacer.js","sourceRoot":"","sources":["../src/spacer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAYtD,qCAAqC;AACrC,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAe;IACrE,MAAM,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3C,OAAO,mBAAmB,CAAC,KAAK,EAAE;QAChC,GAAG,QAAQ;QACX,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC/C,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;YACpF,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;YACvF,UAAU,EAAE,CAAC;YACb,GAAG,QAAQ,CAAC,KAAK;SAClB;KACF,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAUD,yBAAyB;AACzB,MAAM,UAAU,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,GAAG,SAAS,EACjB,SAAS,GAAG,CAAC,EACb,WAAW,GAAG,YAAY,GACb;IACb,MAAM,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,WAAW,KAAK,UAAU,CAAC;IAC9C,OAAO,mBAAmB,CAAC,KAAK,EAAE;QAChC,GAAG,QAAQ;QACX,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE;YACL,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM;YAC7C,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI;YAC9C,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,CAAC;YACb,GAAG,QAAQ,CAAC,KAAK;SAClB;KACF,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
package/dist/surface.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Modifier } from "./modifier.js";
|
|
3
2
|
export interface CardProps {
|
|
4
3
|
modifier?: Modifier;
|
|
@@ -8,23 +7,23 @@ export interface CardProps {
|
|
|
8
7
|
outlined?: boolean;
|
|
9
8
|
}
|
|
10
9
|
/** Card container. */
|
|
11
|
-
export declare function Card({ modifier, onClick, elevation, outlined, }: CardProps, children?:
|
|
10
|
+
export declare function Card({ modifier, onClick, elevation, outlined, }: CardProps, children?: Node[]): HTMLElement;
|
|
12
11
|
export interface ScaffoldProps {
|
|
13
|
-
topBar?:
|
|
14
|
-
bottomBar?:
|
|
15
|
-
floatingActionButton?:
|
|
12
|
+
topBar?: Node;
|
|
13
|
+
bottomBar?: Node;
|
|
14
|
+
floatingActionButton?: Node;
|
|
16
15
|
modifier?: Modifier;
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* Full-page layout scaffold. Stacks topBar, scrollable content, and bottomBar.
|
|
20
19
|
*/
|
|
21
|
-
export declare function Scaffold({ topBar, bottomBar, floatingActionButton, modifier, }: ScaffoldProps, children?:
|
|
20
|
+
export declare function Scaffold({ topBar, bottomBar, floatingActionButton, modifier, }: ScaffoldProps, children?: Node[]): HTMLElement;
|
|
22
21
|
export interface TopBarProps {
|
|
23
|
-
title: string |
|
|
24
|
-
navigationIcon?:
|
|
25
|
-
actions?:
|
|
22
|
+
title: string | Node;
|
|
23
|
+
navigationIcon?: Node;
|
|
24
|
+
actions?: Node;
|
|
26
25
|
modifier?: Modifier;
|
|
27
26
|
}
|
|
28
27
|
/** App top bar. */
|
|
29
|
-
export declare function TopBar({ title, navigationIcon, actions, modifier, }: TopBarProps):
|
|
28
|
+
export declare function TopBar({ title, navigationIcon, actions, modifier, }: TopBarProps): HTMLElement;
|
|
30
29
|
//# sourceMappingURL=surface.d.ts.map
|
package/dist/surface.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../src/surface.
|
|
1
|
+
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,uBAAuB;IACvB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AASD,sBAAsB;AACtB,wBAAgB,IAAI,CAClB,EACE,QAAQ,EACR,OAAO,EACP,SAAa,EACb,QAAgB,GACjB,EAAE,SAAS,EACZ,QAAQ,CAAC,EAAE,IAAI,EAAE,GAChB,WAAW,CAiBb;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,oBAAoB,CAAC,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,EACE,MAAM,EACN,SAAS,EACT,oBAAoB,EACpB,QAAQ,GACT,EAAE,aAAa,EAChB,QAAQ,CAAC,EAAE,IAAI,EAAE,GAChB,WAAW,CA4Bb;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,mBAAmB;AACnB,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,cAAc,EACd,OAAO,EACP,QAAQ,GACT,EAAE,WAAW,GAAG,WAAW,CA0B3B"}
|
package/dist/surface.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jalvinCreateElement } from "@jalvin/runtime";
|
|
2
2
|
const SHADOWS = [
|
|
3
3
|
"none",
|
|
4
4
|
"0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.08)",
|
|
@@ -8,7 +8,7 @@ const SHADOWS = [
|
|
|
8
8
|
/** Card container. */
|
|
9
9
|
export function Card({ modifier, onClick, elevation = 1, outlined = false, }, children) {
|
|
10
10
|
const modProps = modifier?.toProps() ?? {};
|
|
11
|
-
return
|
|
11
|
+
return jalvinCreateElement("div", {
|
|
12
12
|
...modProps,
|
|
13
13
|
onClick,
|
|
14
14
|
role: onClick ? "button" : undefined,
|
|
@@ -22,14 +22,28 @@ export function Card({ modifier, onClick, elevation = 1, outlined = false, }, ch
|
|
|
22
22
|
cursor: onClick ? "pointer" : "default",
|
|
23
23
|
...modProps.style,
|
|
24
24
|
},
|
|
25
|
-
},
|
|
25
|
+
}, children ?? []);
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Full-page layout scaffold. Stacks topBar, scrollable content, and bottomBar.
|
|
29
29
|
*/
|
|
30
30
|
export function Scaffold({ topBar, bottomBar, floatingActionButton, modifier, }, children) {
|
|
31
31
|
const modProps = modifier?.toProps() ?? {};
|
|
32
|
-
|
|
32
|
+
const main = jalvinCreateElement("main", {
|
|
33
|
+
style: { flex: 1, overflow: "auto", WebkitOverflowScrolling: "touch" },
|
|
34
|
+
}, children ?? []);
|
|
35
|
+
const scaffoldChildren = [];
|
|
36
|
+
if (topBar)
|
|
37
|
+
scaffoldChildren.push(topBar);
|
|
38
|
+
scaffoldChildren.push(main);
|
|
39
|
+
if (bottomBar)
|
|
40
|
+
scaffoldChildren.push(bottomBar);
|
|
41
|
+
if (floatingActionButton) {
|
|
42
|
+
scaffoldChildren.push(jalvinCreateElement("div", {
|
|
43
|
+
style: { position: "absolute", bottom: "16px", right: "16px" },
|
|
44
|
+
}, [floatingActionButton]));
|
|
45
|
+
}
|
|
46
|
+
return jalvinCreateElement("div", {
|
|
33
47
|
...modProps,
|
|
34
48
|
style: {
|
|
35
49
|
display: "flex",
|
|
@@ -39,16 +53,21 @@ export function Scaffold({ topBar, bottomBar, floatingActionButton, modifier, },
|
|
|
39
53
|
position: "relative",
|
|
40
54
|
...modProps.style,
|
|
41
55
|
},
|
|
42
|
-
},
|
|
43
|
-
style: { flex: 1, overflow: "auto", WebkitOverflowScrolling: "touch" },
|
|
44
|
-
}, ...(children ?? [])), bottomBar, floatingActionButton && React.createElement("div", {
|
|
45
|
-
style: { position: "absolute", bottom: "16px", right: "16px" },
|
|
46
|
-
}, floatingActionButton));
|
|
56
|
+
}, scaffoldChildren);
|
|
47
57
|
}
|
|
48
58
|
/** App top bar. */
|
|
49
59
|
export function TopBar({ title, navigationIcon, actions, modifier, }) {
|
|
50
60
|
const modProps = modifier?.toProps() ?? {};
|
|
51
|
-
|
|
61
|
+
const titleNode = title;
|
|
62
|
+
const barChildren = [];
|
|
63
|
+
if (navigationIcon)
|
|
64
|
+
barChildren.push(navigationIcon);
|
|
65
|
+
barChildren.push(jalvinCreateElement("span", {
|
|
66
|
+
style: { flex: 1, fontSize: "1.375rem", fontWeight: 500 },
|
|
67
|
+
}, [titleNode]));
|
|
68
|
+
if (actions)
|
|
69
|
+
barChildren.push(actions);
|
|
70
|
+
return jalvinCreateElement("header", {
|
|
52
71
|
...modProps,
|
|
53
72
|
style: {
|
|
54
73
|
display: "flex",
|
|
@@ -61,8 +80,6 @@ export function TopBar({ title, navigationIcon, actions, modifier, }) {
|
|
|
61
80
|
flexShrink: 0,
|
|
62
81
|
...modProps.style,
|
|
63
82
|
},
|
|
64
|
-
},
|
|
65
|
-
style: { flex: 1, fontSize: "1.375rem", fontWeight: 500 },
|
|
66
|
-
}, title), actions);
|
|
83
|
+
}, barChildren);
|
|
67
84
|
}
|
|
68
85
|
//# sourceMappingURL=surface.js.map
|
package/dist/surface.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.
|
|
1
|
+
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"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"}
|
package/dist/text.d.ts
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Modifier } from "./modifier.js";
|
|
3
2
|
import { type TextStyleDef } from "./typography.js";
|
|
4
|
-
import type { CSSProperties } from "react";
|
|
5
3
|
import { type AnnotatedString } from "./annotated-string.js";
|
|
6
4
|
export interface TextProps {
|
|
7
|
-
children?:
|
|
5
|
+
children?: Node[];
|
|
8
6
|
/** Plain string content or an AnnotatedString (for inline links / spans). */
|
|
9
7
|
text?: string | AnnotatedString;
|
|
10
8
|
modifier?: Modifier;
|
|
11
9
|
/** Typography style — use TextStyle tokens (e.g. TextStyle.headlineLarge) */
|
|
12
|
-
style?: TextStyleDef |
|
|
10
|
+
style?: TextStyleDef | Record<string, any>;
|
|
13
11
|
color?: string;
|
|
14
12
|
maxLines?: number;
|
|
15
13
|
}
|
|
16
14
|
/** Text element. Accepts plain strings or AnnotatedStrings with inline links and spans. */
|
|
17
|
-
export declare function Text({ children, text, modifier, style, color, maxLines, }: TextProps):
|
|
15
|
+
export declare function Text({ children, text, modifier, style, color, maxLines, }: TextProps): HTMLElement;
|
|
18
16
|
//# sourceMappingURL=text.d.ts.map
|
package/dist/text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,uBAAuB,CAAC;AAGpF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAChC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,2FAA2F;AAC3F,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE,SAAS,GAAG,WAAW,CAiCzB"}
|
package/dist/text.js
CHANGED
|
@@ -1,27 +1,38 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { textStyleToCSS } from "./typography.js";
|
|
3
2
|
import { renderAnnotatedString } from "./annotated-string.js";
|
|
3
|
+
import { jalvinCreateElement } from "@jalvin/runtime";
|
|
4
4
|
/** Text element. Accepts plain strings or AnnotatedStrings with inline links and spans. */
|
|
5
5
|
export function Text({ children, text, modifier, style, color, maxLines, }) {
|
|
6
6
|
const modProps = modifier?.toProps() ?? {};
|
|
7
|
-
const textStyle = style ? textStyleToCSS(style) : {};
|
|
7
|
+
const textStyle = style && style.fontSize ? textStyleToCSS(style) : (style ?? {});
|
|
8
8
|
const clampStyle = maxLines !== undefined ? {
|
|
9
9
|
display: "-webkit-box",
|
|
10
10
|
WebkitLineClamp: maxLines,
|
|
11
11
|
WebkitBoxOrient: "vertical",
|
|
12
12
|
overflow: "hidden",
|
|
13
13
|
} : {};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
let content;
|
|
15
|
+
if (typeof text === "object" && text !== null && "spanStyles" in text) {
|
|
16
|
+
content = renderAnnotatedString(text);
|
|
17
|
+
}
|
|
18
|
+
else if (text !== undefined) {
|
|
19
|
+
content = [String(text)];
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
content = children ?? [];
|
|
23
|
+
}
|
|
24
|
+
const finalStyle = {
|
|
25
|
+
...textStyle,
|
|
26
|
+
...clampStyle,
|
|
27
|
+
...modProps.style,
|
|
28
|
+
};
|
|
29
|
+
if (color)
|
|
30
|
+
finalStyle.color = color;
|
|
31
|
+
else if (textStyle.color)
|
|
32
|
+
finalStyle.color = textStyle.color;
|
|
33
|
+
return jalvinCreateElement("span", {
|
|
18
34
|
...modProps,
|
|
19
|
-
style:
|
|
20
|
-
...textStyle,
|
|
21
|
-
color: color ?? textStyle.color,
|
|
22
|
-
...clampStyle,
|
|
23
|
-
...modProps.style,
|
|
24
|
-
},
|
|
35
|
+
style: finalStyle,
|
|
25
36
|
}, content);
|
|
26
37
|
}
|
|
27
38
|
//# sourceMappingURL=text.js.map
|
package/dist/text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAwB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAatD,2FAA2F;AAC3F,MAAM,UAAU,IAAI,CAAC,EACnB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAQ,GACE;IACV,MAAM,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,KAAK,IAAK,KAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAE3G,MAAM,UAAU,GAAwB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,aAAa;QACtB,eAAe,EAAE,QAAQ;QACzB,eAAe,EAAE,UAAU;QAC3B,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,OAA6B,CAAC;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACtE,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,UAAU,GAAkB;QAChC,GAAG,SAAS;QACZ,GAAG,UAAU;QACb,GAAG,QAAQ,CAAC,KAAK;KAClB,CAAC;IAEF,IAAI,KAAK;QAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;SAC/B,IAAI,SAAS,CAAC,KAAK;QAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAE7D,OAAO,mBAAmB,CAAC,MAAM,EAAE;QACjC,GAAG,QAAQ;QACX,KAAK,EAAE,UAAU;KAClB,EAAE,OAAO,CAAC,CAAC;AACd,CAAC"}
|
package/dist/textarea.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Modifier } from "./modifier.js";
|
|
3
2
|
export interface TextAreaProps {
|
|
4
3
|
value?: string;
|
|
@@ -14,9 +13,8 @@ export interface TextAreaProps {
|
|
|
14
13
|
rows?: number;
|
|
15
14
|
onFocus?: () => void;
|
|
16
15
|
onBlur?: () => void;
|
|
17
|
-
onKeyDown?: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void;
|
|
18
16
|
autoFocus?: boolean;
|
|
19
17
|
}
|
|
20
18
|
/** Multiline text input. */
|
|
21
|
-
export declare function TextArea({ value, onValueChange, placeholder, modifier, enabled, readOnly, label, supportingText, isError, maxLength, rows, onFocus, onBlur,
|
|
19
|
+
export declare function TextArea({ value, onValueChange, placeholder, modifier, enabled, readOnly, label, supportingText, isError, maxLength, rows, onFocus, onBlur, autoFocus, }: TextAreaProps): HTMLElement;
|
|
22
20
|
//# sourceMappingURL=textarea.d.ts.map
|
package/dist/textarea.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../src/textarea.
|
|
1
|
+
{"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../src/textarea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,4BAA4B;AAC5B,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,aAAa,EACb,WAAW,EACX,QAAQ,EACR,OAAc,EACd,QAAgB,EAChB,KAAK,EACL,cAAc,EACd,OAAe,EACf,SAAS,EACT,IAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,GACV,EAAE,aAAa,GAAG,WAAW,CAoD7B"}
|
package/dist/textarea.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jalvinCreateElement } from "@jalvin/runtime";
|
|
2
2
|
/** Multiline text input. */
|
|
3
|
-
export function TextArea({ value, onValueChange, placeholder, modifier, enabled = true, readOnly = false, label, supportingText, isError = false, maxLength, rows = 4, onFocus, onBlur,
|
|
3
|
+
export function TextArea({ value, onValueChange, placeholder, modifier, enabled = true, readOnly = false, label, supportingText, isError = false, maxLength, rows = 4, onFocus, onBlur, autoFocus, }) {
|
|
4
4
|
const modProps = modifier?.toProps() ?? {};
|
|
5
5
|
const borderColor = isError ? "#b00020" : "#c4c4c4";
|
|
6
|
-
const textArea =
|
|
6
|
+
const textArea = jalvinCreateElement("textarea", {
|
|
7
7
|
value,
|
|
8
|
-
|
|
8
|
+
onInput: (e) => onValueChange?.(e.target.value),
|
|
9
9
|
placeholder,
|
|
10
10
|
disabled: !enabled,
|
|
11
11
|
readOnly,
|
|
@@ -13,7 +13,6 @@ export function TextArea({ value, onValueChange, placeholder, modifier, enabled
|
|
|
13
13
|
rows,
|
|
14
14
|
onFocus,
|
|
15
15
|
onBlur,
|
|
16
|
-
onKeyDown,
|
|
17
16
|
autoFocus,
|
|
18
17
|
style: {
|
|
19
18
|
width: "100%",
|
|
@@ -29,17 +28,25 @@ export function TextArea({ value, onValueChange, placeholder, modifier, enabled
|
|
|
29
28
|
resize: "vertical",
|
|
30
29
|
lineHeight: 1.4,
|
|
31
30
|
},
|
|
32
|
-
});
|
|
31
|
+
}, []);
|
|
33
32
|
if (!label && !supportingText) {
|
|
34
|
-
return
|
|
33
|
+
return jalvinCreateElement("div", { ...modProps }, [textArea]);
|
|
35
34
|
}
|
|
36
|
-
|
|
35
|
+
const containerChildren = [];
|
|
36
|
+
if (label) {
|
|
37
|
+
containerChildren.push(jalvinCreateElement("label", {
|
|
38
|
+
style: { fontSize: "0.875rem", fontWeight: 500, color: isError ? "#b00020" : "#5c5c5c" },
|
|
39
|
+
}, [document.createTextNode(label)]));
|
|
40
|
+
}
|
|
41
|
+
containerChildren.push(textArea);
|
|
42
|
+
if (supportingText) {
|
|
43
|
+
containerChildren.push(jalvinCreateElement("span", {
|
|
44
|
+
style: { fontSize: "0.75rem", color: isError ? "#b00020" : "#5c5c5c" },
|
|
45
|
+
}, [document.createTextNode(supportingText)]));
|
|
46
|
+
}
|
|
47
|
+
return jalvinCreateElement("div", {
|
|
37
48
|
...modProps,
|
|
38
49
|
style: { display: "flex", flexDirection: "column", gap: "4px", ...modProps.style },
|
|
39
|
-
},
|
|
40
|
-
style: { fontSize: "0.875rem", fontWeight: 500, color: isError ? "#b00020" : "#5c5c5c" },
|
|
41
|
-
}, label), textArea, supportingText && React.createElement("span", {
|
|
42
|
-
style: { fontSize: "0.75rem", color: isError ? "#b00020" : "#5c5c5c" },
|
|
43
|
-
}, supportingText));
|
|
50
|
+
}, containerChildren);
|
|
44
51
|
}
|
|
45
52
|
//# sourceMappingURL=textarea.js.map
|