@jalvin/ui 2.0.25 → 2.0.27
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 +2 -0
- package/dist/__tests__/annotated-string.test.d.ts.map +1 -0
- package/dist/__tests__/annotated-string.test.js +310 -0
- package/dist/__tests__/annotated-string.test.js.map +1 -0
- package/dist/__tests__/interaction.test.d.ts +2 -0
- package/dist/__tests__/interaction.test.d.ts.map +1 -0
- package/dist/__tests__/interaction.test.js +213 -0
- package/dist/__tests__/interaction.test.js.map +1 -0
- package/dist/__tests__/modifier.test.d.ts +2 -0
- package/dist/__tests__/modifier.test.d.ts.map +1 -0
- package/dist/__tests__/modifier.test.js +189 -0
- package/dist/__tests__/modifier.test.js.map +1 -0
- package/dist/annotated-string.d.ts +77 -0
- package/dist/annotated-string.d.ts.map +1 -0
- package/dist/annotated-string.js +224 -0
- package/dist/annotated-string.js.map +1 -0
- package/dist/button.d.ts +1 -1
- package/dist/button.d.ts.map +1 -1
- package/dist/button.js +13 -1
- package/dist/button.js.map +1 -1
- package/dist/canvas.d.ts +1 -1
- package/dist/canvas.d.ts.map +1 -1
- package/dist/canvas.js +7 -1
- package/dist/canvas.js.map +1 -1
- package/dist/checkbox.d.ts +1 -1
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/image.d.ts +1 -1
- package/dist/image.d.ts.map +1 -1
- package/dist/image.js +1 -1
- package/dist/image.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +1 -1
- package/dist/input.d.ts.map +1 -1
- package/dist/input.js +1 -1
- package/dist/input.js.map +1 -1
- package/dist/interaction.d.ts +103 -0
- package/dist/interaction.d.ts.map +1 -0
- package/dist/interaction.js +150 -0
- package/dist/interaction.js.map +1 -0
- package/dist/layout.d.ts +3 -3
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +3 -3
- package/dist/layout.js.map +1 -1
- package/dist/modifier.d.ts +49 -2
- package/dist/modifier.d.ts.map +1 -1
- package/dist/modifier.js +80 -8
- package/dist/modifier.js.map +1 -1
- package/dist/spacer.d.ts +2 -2
- package/dist/spacer.d.ts.map +1 -1
- package/dist/spacer.js +2 -2
- package/dist/spacer.js.map +1 -1
- package/dist/surface.d.ts +3 -4
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +3 -4
- package/dist/surface.js.map +1 -1
- package/dist/text.d.ts +4 -3
- package/dist/text.d.ts.map +1 -1
- package/dist/text.js +6 -2
- package/dist/text.js.map +1 -1
- package/dist/textarea.d.ts +1 -1
- package/dist/textarea.d.ts.map +1 -1
- package/dist/textarea.js +1 -1
- package/dist/textarea.js.map +1 -1
- package/package.json +1 -1
package/dist/canvas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../src/canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B,SAAS,cAAc,CAAC,GAAG,UAAqC;IAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../src/canvas.tsx"],"names":[],"mappings":"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"}
|
package/dist/checkbox.d.ts
CHANGED
|
@@ -12,6 +12,6 @@ export interface CheckboxProps {
|
|
|
12
12
|
onBlur?: () => void;
|
|
13
13
|
autoFocus?: boolean;
|
|
14
14
|
}
|
|
15
|
-
/** Boolean toggle input
|
|
15
|
+
/** Boolean toggle input. */
|
|
16
16
|
export declare function Checkbox({ checked, onCheckedChange, modifier, enabled, label, supportingText, isError, onFocus, onBlur, autoFocus, }: CheckboxProps): React.ReactElement;
|
|
17
17
|
//# sourceMappingURL=checkbox.d.ts.map
|
package/dist/checkbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../src/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../src/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,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,OAAe,EACf,eAAe,EACf,QAAQ,EACR,OAAc,EACd,KAAK,EACL,cAAc,EACd,OAAe,EACf,OAAO,EACP,MAAM,EACN,SAAS,GACV,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CA6CpC"}
|
package/dist/checkbox.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
/** Boolean toggle input
|
|
2
|
+
/** Boolean toggle input. */
|
|
3
3
|
export function Checkbox({ checked = false, onCheckedChange, modifier, enabled = true, label, supportingText, isError = false, onFocus, onBlur, autoFocus, }) {
|
|
4
4
|
const modProps = modifier?.toProps() ?? {};
|
|
5
5
|
const input = React.createElement("input", {
|
package/dist/checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../src/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../src/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,4BAA4B;AAC5B,MAAM,UAAU,QAAQ,CAAC,EACvB,OAAO,GAAG,KAAK,EACf,eAAe,EACf,QAAQ,EACR,OAAO,GAAG,IAAI,EACd,KAAK,EACL,cAAc,EACd,OAAO,GAAG,KAAK,EACf,OAAO,EACP,MAAM,EACN,SAAS,GACK;IACd,MAAM,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAE3C,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;QACzC,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,QAAQ,EAAE,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAsC,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACzF,OAAO;QACP,MAAM;QACN,SAAS;QACT,KAAK,EAAE;YACL,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC5C,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;SAC5C;KACF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;QACzC,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;SAClC;KACF,EACC,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;QACnC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;KACvE,EAAE,KAAK,CAAC,EACT,cAAc,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;QAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;KACvE,EAAE,cAAc,CAAC,CACnB,CAAC;IAEF,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;QAClC,GAAG,QAAQ;QACX,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;YACpD,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;YAC3C,GAAG,QAAQ,CAAC,KAAK;SAClB;KACF,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACrB,CAAC"}
|
package/dist/image.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface ImageProps {
|
|
|
7
7
|
contentScale?: "fill" | "fit" | "crop" | "none";
|
|
8
8
|
onClick?: () => void;
|
|
9
9
|
}
|
|
10
|
-
/** Image element
|
|
10
|
+
/** Image element. */
|
|
11
11
|
export declare function Image({ src, alt, modifier, contentScale, onClick, }: ImageProps): React.ReactElement;
|
|
12
12
|
export interface AsyncImageProps extends ImageProps {
|
|
13
13
|
loadingPlaceholder?: React.ReactNode;
|
package/dist/image.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AASD,
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AASD,qBAAqB;AACrB,wBAAgB,KAAK,CAAC,EACpB,GAAG,EACH,GAAQ,EACR,QAAQ,EACR,YAAoB,EACpB,OAAO,GACR,EAAE,UAAU,GAAG,KAAK,CAAC,YAAY,CAmBjC;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,gBAAgB,GACjB,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAmBtC"}
|
package/dist/image.js
CHANGED
|
@@ -5,7 +5,7 @@ const CONTENT_SCALE = {
|
|
|
5
5
|
crop: "cover",
|
|
6
6
|
none: "none",
|
|
7
7
|
};
|
|
8
|
-
/** Image element
|
|
8
|
+
/** Image element. */
|
|
9
9
|
export function Image({ src, alt = "", modifier, contentScale = "fit", onClick, }) {
|
|
10
10
|
const modProps = modifier?.toProps() ?? {};
|
|
11
11
|
return React.createElement("img", {
|
package/dist/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,MAAM,aAAa,GAA4D;IAC7E,IAAI,EAAE,WAAW;IACjB,GAAG,EAAG,SAAS;IACf,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,MAAM,aAAa,GAA4D;IAC7E,IAAI,EAAE,WAAW;IACjB,GAAG,EAAG,SAAS;IACf,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,qBAAqB;AACrB,MAAM,UAAU,KAAK,CAAC,EACpB,GAAG,EACH,GAAG,GAAG,EAAE,EACR,QAAQ,EACR,YAAY,GAAG,KAAK,EACpB,OAAO,GACI;IACX,MAAM,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3C,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;QAChC,GAAG;QACH,GAAG;QACH,OAAO;QACP,GAAG,QAAQ;QACX,KAAK,EAAE;YACL,SAAS,EAAE,CAAC,YAAY,KAAK,MAAM;gBACjC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,YAAY,KAAK,KAAK;oBACtB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,YAAY,KAAK,MAAM;wBACvB,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,MAAM,CAA+C;YAC7D,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACvC,GAAG,QAAQ,CAAC,KAAK;SAClB;KACF,CAAC,CAAC;AACL,CAAC;AAOD;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,GAAG,EACH,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,gBAAgB,GACA;IAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA6B,SAAS,CAAC,CAAC;IAElF,IAAI,MAAM,KAAK,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7F,MAAM,KAAK,SAAS,IAAI,kBAAkB,EAC1C,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;QACzB,GAAG;QACH,GAAG,EAAE,GAAG,IAAI,EAAE;QACd,QAAQ;QACR,YAAY;QACZ,OAAO;KACR,CAAC,CAGH,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { Modifier, applyModifier } from "./modifier.js";
|
|
2
2
|
export type { CSSProperties } from "./modifier.js";
|
|
3
|
+
export { MutableInteractionSource, useMutableInteractionSource, useIsHovered, useIsPressed, useIsFocused } from "./interaction.js";
|
|
4
|
+
export type { InteractionSource, Interaction, HoverInteraction, PressInteraction, FocusInteraction } from "./interaction.js";
|
|
3
5
|
export { Color } from "./colors.js";
|
|
4
6
|
export type { ColorValue } from "./colors.js";
|
|
5
7
|
export { Column, Row, Box } from "./layout.js";
|
|
@@ -10,6 +12,8 @@ export { Text } from "./text.js";
|
|
|
10
12
|
export type { TextProps } from "./text.js";
|
|
11
13
|
export { TextStyle } from "./typography.js";
|
|
12
14
|
export type { TextStyleDef, TextStyleKey } from "./typography.js";
|
|
15
|
+
export { TextDecoration, buildAnnotatedString, LinkAnnotation, renderAnnotatedString, } from "./annotated-string.js";
|
|
16
|
+
export type { SpanStyle, TextLinkStyles, AnnotatedString, StringRange, } from "./annotated-string.js";
|
|
13
17
|
export { Input } from "./input.js";
|
|
14
18
|
export type { InputProps } from "./input.js";
|
|
15
19
|
export { TextArea } from "./textarea.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG3F,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG/E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnI,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE7H,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG3F,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG/E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,SAAS,EACT,cAAc,EACd,eAAe,EACf,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @jalvin/ui —
|
|
1
|
+
// @jalvin/ui — Jalvin UI component library
|
|
2
2
|
//
|
|
3
3
|
// Usage example (in a .jalvin file):
|
|
4
4
|
// import @jalvin/ui.Column
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// import @jalvin/ui.Button
|
|
7
7
|
// import @jalvin/ui.Modifier
|
|
8
8
|
export { Modifier, applyModifier } from "./modifier.js";
|
|
9
|
+
export { MutableInteractionSource, useMutableInteractionSource, useIsHovered, useIsPressed, useIsFocused } from "./interaction.js";
|
|
9
10
|
export { Color } from "./colors.js";
|
|
10
11
|
// Layout
|
|
11
12
|
export { Column, Row, Box } from "./layout.js";
|
|
@@ -14,6 +15,7 @@ export { Button, IconButton } from "./button.js";
|
|
|
14
15
|
// Text
|
|
15
16
|
export { Text } from "./text.js";
|
|
16
17
|
export { TextStyle } from "./typography.js";
|
|
18
|
+
export { TextDecoration, buildAnnotatedString, LinkAnnotation, renderAnnotatedString, } from "./annotated-string.js";
|
|
17
19
|
// Input
|
|
18
20
|
export { Input } from "./input.js";
|
|
19
21
|
export { TextArea } from "./textarea.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,EAAE;AACF,qCAAqC;AACrC,6BAA6B;AAC7B,0BAA0B;AAC1B,6BAA6B;AAC7B,+BAA+B;AAE/B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGnI,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAG/C,UAAU;AACV,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAQ/B,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG9C,qBAAqB;AACrB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/input.d.ts
CHANGED
|
@@ -17,6 +17,6 @@ export interface InputProps {
|
|
|
17
17
|
onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
18
18
|
autoFocus?: boolean;
|
|
19
19
|
}
|
|
20
|
-
/** Text input
|
|
20
|
+
/** Text input. */
|
|
21
21
|
export declare function Input({ value, onValueChange, placeholder, modifier, enabled, readOnly, type, label, supportingText, isError, maxLength, onFocus, onBlur, onKeyDown, autoFocus, }: InputProps): React.ReactElement;
|
|
22
22
|
//# sourceMappingURL=input.d.ts.map
|
package/dist/input.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,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,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC/D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,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,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC/D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,kBAAkB;AAClB,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,aAAa,EACb,WAAW,EACX,QAAQ,EACR,OAAc,EACd,QAAgB,EAChB,IAAa,EACb,KAAK,EACL,cAAc,EACd,OAAe,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,SAAS,GACV,EAAE,UAAU,GAAG,KAAK,CAAC,YAAY,CA6CjC"}
|
package/dist/input.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
/** Text input
|
|
2
|
+
/** Text input. */
|
|
3
3
|
export function Input({ value, onValueChange, placeholder, modifier, enabled = true, readOnly = false, type = "text", label, supportingText, isError = false, maxLength, onFocus, onBlur, onKeyDown, autoFocus, }) {
|
|
4
4
|
const modProps = modifier?.toProps() ?? {};
|
|
5
5
|
const borderColor = isError ? "#b00020" : "#c4c4c4";
|
package/dist/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,kBAAkB;AAClB,MAAM,UAAU,KAAK,CAAC,EACpB,KAAK,EACL,aAAa,EACb,WAAW,EACX,QAAQ,EACR,OAAO,GAAG,IAAI,EACd,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,MAAM,EACb,KAAK,EACL,cAAc,EACd,OAAO,GAAG,KAAK,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,SAAS,GACE;IACX,MAAM,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpD,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;QACzC,KAAK;QACL,QAAQ,EAAE,CAAC,CAAsC,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACrF,WAAW;QACX,QAAQ,EAAE,CAAC,OAAO;QAClB,QAAQ;QACR,IAAI;QACJ,SAAS;QACT,OAAO;QACP,MAAM;QACN,SAAS;QACT,SAAS;QACT,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,aAAa,WAAW,EAAE;YAClC,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE,MAAM;YACf,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC7C,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,YAAqB;SACjC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;QAChC,GAAG,QAAQ;QACX,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE;KACnF,EACC,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;QACpC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;KACzF,EAAE,KAAK,CAAC,EACT,KAAK,EACL,cAAc,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;QAC5C,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;KACvE,EAAE,cAAc,CAAC,CACnB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/** Interactions emitted when the pointer enters or leaves a component. */
|
|
2
|
+
export declare namespace HoverInteraction {
|
|
3
|
+
interface Enter {
|
|
4
|
+
readonly type: "hover.enter";
|
|
5
|
+
}
|
|
6
|
+
interface Exit {
|
|
7
|
+
readonly type: "hover.exit";
|
|
8
|
+
readonly enter: Enter;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/** Interactions emitted on pointer press, release, or cancel. */
|
|
12
|
+
export declare namespace PressInteraction {
|
|
13
|
+
interface Press {
|
|
14
|
+
readonly type: "press.press";
|
|
15
|
+
readonly x: number;
|
|
16
|
+
readonly y: number;
|
|
17
|
+
}
|
|
18
|
+
interface Release {
|
|
19
|
+
readonly type: "press.release";
|
|
20
|
+
readonly press: Press;
|
|
21
|
+
}
|
|
22
|
+
interface Cancel {
|
|
23
|
+
readonly type: "press.cancel";
|
|
24
|
+
readonly press: Press;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** Interactions emitted when the component gains or loses keyboard focus. */
|
|
28
|
+
export declare namespace FocusInteraction {
|
|
29
|
+
interface Focus {
|
|
30
|
+
readonly type: "focus.focus";
|
|
31
|
+
}
|
|
32
|
+
interface Unfocus {
|
|
33
|
+
readonly type: "focus.unfocus";
|
|
34
|
+
readonly focus: Focus;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** Union of all interaction types. */
|
|
38
|
+
export type Interaction = HoverInteraction.Enter | HoverInteraction.Exit | PressInteraction.Press | PressInteraction.Release | PressInteraction.Cancel | FocusInteraction.Focus | FocusInteraction.Unfocus;
|
|
39
|
+
/**
|
|
40
|
+
* Read-only view of the currently active (unresolved) interactions on a
|
|
41
|
+
* component. Subscribe to be notified whenever the set changes.
|
|
42
|
+
*/
|
|
43
|
+
export interface InteractionSource {
|
|
44
|
+
/** All interactions that have been emitted but not yet resolved. */
|
|
45
|
+
getInteractions(): ReadonlyArray<Interaction>;
|
|
46
|
+
/**
|
|
47
|
+
* Register a listener invoked after every state change.
|
|
48
|
+
* Returns an unsubscribe function.
|
|
49
|
+
*/
|
|
50
|
+
subscribe(listener: () => void): () => void;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Mutable implementation of {@link InteractionSource}.
|
|
54
|
+
*
|
|
55
|
+
* Create one with {@link useMutableInteractionSource} and attach it to a
|
|
56
|
+
* component via {@link Modifier.hoverable}, {@link Modifier.focusable}, or
|
|
57
|
+
* {@link Modifier.pressable}. All three modifiers write into the same source,
|
|
58
|
+
* so a single source describes the full interaction state of the element.
|
|
59
|
+
*/
|
|
60
|
+
export declare class MutableInteractionSource implements InteractionSource {
|
|
61
|
+
private _interactions;
|
|
62
|
+
private readonly _listeners;
|
|
63
|
+
private _currentHover;
|
|
64
|
+
private _currentFocus;
|
|
65
|
+
private _currentPress;
|
|
66
|
+
getInteractions(): ReadonlyArray<Interaction>;
|
|
67
|
+
subscribe(listener: () => void): () => void;
|
|
68
|
+
/** @internal */
|
|
69
|
+
_handleMouseEnter(): void;
|
|
70
|
+
/** @internal */
|
|
71
|
+
_handleMouseLeave(): void;
|
|
72
|
+
/** @internal */
|
|
73
|
+
_handleFocus(): void;
|
|
74
|
+
/** @internal */
|
|
75
|
+
_handleBlur(): void;
|
|
76
|
+
/** @internal */
|
|
77
|
+
_handleMouseDown(x: number, y: number): void;
|
|
78
|
+
/** @internal */
|
|
79
|
+
_handleMouseUp(): void;
|
|
80
|
+
/** @internal */
|
|
81
|
+
_handlePressCancel(): void;
|
|
82
|
+
private _emit;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Creates and remembers a {@link MutableInteractionSource} for the lifetime
|
|
86
|
+
* of the component. Equivalent to `remember { MutableInteractionSource() }`.
|
|
87
|
+
*/
|
|
88
|
+
export declare function useMutableInteractionSource(): MutableInteractionSource;
|
|
89
|
+
/**
|
|
90
|
+
* Returns `true` while the pointer is inside the bounds of the component
|
|
91
|
+
* attached to `source` via `Modifier.hoverable(source)`.
|
|
92
|
+
*/
|
|
93
|
+
export declare function useIsHovered(source: InteractionSource): boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Returns `true` while the component attached to `source` has keyboard focus.
|
|
96
|
+
*/
|
|
97
|
+
export declare function useIsFocused(source: InteractionSource): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Returns `true` while the user is pressing down on the component attached to
|
|
100
|
+
* `source` via `Modifier.pressable(source)`.
|
|
101
|
+
*/
|
|
102
|
+
export declare function useIsPressed(source: InteractionSource): boolean;
|
|
103
|
+
//# sourceMappingURL=interaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../src/interaction.ts"],"names":[],"mappings":"AAkBA,0EAA0E;AAC1E,yBAAiB,gBAAgB,CAAC;IAChC,UAAiB,KAAK;QAAG,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;KAAE;IACvD,UAAiB,IAAI;QAAI,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;KAAE;CAC/E;AAED,iEAAiE;AACjE,yBAAiB,gBAAgB,CAAC;IAChC,UAAiB,KAAK;QAAK,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IACnG,UAAiB,OAAO;QAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;KAAE;IAClF,UAAiB,MAAM;QAAI,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;KAAE;CACnF;AAED,6EAA6E;AAC7E,yBAAiB,gBAAgB,CAAC;IAChC,UAAiB,KAAK;QAAK,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;KAAE;IACzD,UAAiB,OAAO;QAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;KAAE;CACnF;AAED,sCAAsC;AACtC,MAAM,MAAM,WAAW,GACnB,gBAAgB,CAAC,KAAK,GACtB,gBAAgB,CAAC,IAAI,GACrB,gBAAgB,CAAC,KAAK,GACtB,gBAAgB,CAAC,OAAO,GACxB,gBAAgB,CAAC,MAAM,GACvB,gBAAgB,CAAC,KAAK,GACtB,gBAAgB,CAAC,OAAO,CAAC;AAI7B;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,eAAe,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9C;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAID;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IAGpD,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,aAAa,CAAuC;IAI5D,eAAe,IAAI,aAAa,CAAC,WAAW,CAAC;IAI7C,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAO3C,gBAAgB;IAChB,iBAAiB,IAAI,IAAI;IAMzB,gBAAgB;IAChB,iBAAiB,IAAI,IAAI;IAOzB,gBAAgB;IAChB,YAAY,IAAI,IAAI;IAMpB,gBAAgB;IAChB,WAAW,IAAI,IAAI;IAOnB,gBAAgB;IAChB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM5C,gBAAgB;IAChB,cAAc,IAAI,IAAI;IAOtB,gBAAgB;IAChB,kBAAkB,IAAI,IAAI;IAS1B,OAAO,CAAC,KAAK;CAkBd;AAID;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,wBAAwB,CAItE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAW/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAW/D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAW/D"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
2
|
+
// Interaction — general-purpose interaction state tracking
|
|
3
|
+
//
|
|
4
|
+
// A single MutableInteractionSource aggregates hover, focus, and press state
|
|
5
|
+
// for one component. Multiple modifiers (hoverable, focusable, pressable) all
|
|
6
|
+
// emit into the same source, so you can derive any combination of states:
|
|
7
|
+
//
|
|
8
|
+
// const source = useMutableInteractionSource();
|
|
9
|
+
// const isHovered = useIsHovered(source);
|
|
10
|
+
// const isPressed = useIsPressed(source);
|
|
11
|
+
//
|
|
12
|
+
// Box({ modifier: Modifier.hoverable(source).pressable(source) }) { ... }
|
|
13
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
14
|
+
import { useState, useEffect, useRef } from "react";
|
|
15
|
+
// ── MutableInteractionSource ─────────────────────────────────────────────────
|
|
16
|
+
/**
|
|
17
|
+
* Mutable implementation of {@link InteractionSource}.
|
|
18
|
+
*
|
|
19
|
+
* Create one with {@link useMutableInteractionSource} and attach it to a
|
|
20
|
+
* component via {@link Modifier.hoverable}, {@link Modifier.focusable}, or
|
|
21
|
+
* {@link Modifier.pressable}. All three modifiers write into the same source,
|
|
22
|
+
* so a single source describes the full interaction state of the element.
|
|
23
|
+
*/
|
|
24
|
+
export class MutableInteractionSource {
|
|
25
|
+
_interactions = [];
|
|
26
|
+
_listeners = new Set();
|
|
27
|
+
// ── active interaction tracking ─────────────────────────────────────────
|
|
28
|
+
_currentHover = null;
|
|
29
|
+
_currentFocus = null;
|
|
30
|
+
_currentPress = null;
|
|
31
|
+
// ── InteractionSource ────────────────────────────────────────────────────
|
|
32
|
+
getInteractions() {
|
|
33
|
+
return this._interactions;
|
|
34
|
+
}
|
|
35
|
+
subscribe(listener) {
|
|
36
|
+
this._listeners.add(listener);
|
|
37
|
+
return () => this._listeners.delete(listener);
|
|
38
|
+
}
|
|
39
|
+
// ── Internal DOM event handlers (called by Modifier) ─────────────────────
|
|
40
|
+
/** @internal */
|
|
41
|
+
_handleMouseEnter() {
|
|
42
|
+
const enter = { type: "hover.enter" };
|
|
43
|
+
this._currentHover = enter;
|
|
44
|
+
this._emit(enter);
|
|
45
|
+
}
|
|
46
|
+
/** @internal */
|
|
47
|
+
_handleMouseLeave() {
|
|
48
|
+
if (this._currentHover) {
|
|
49
|
+
this._emit({ type: "hover.exit", enter: this._currentHover });
|
|
50
|
+
this._currentHover = null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** @internal */
|
|
54
|
+
_handleFocus() {
|
|
55
|
+
const focus = { type: "focus.focus" };
|
|
56
|
+
this._currentFocus = focus;
|
|
57
|
+
this._emit(focus);
|
|
58
|
+
}
|
|
59
|
+
/** @internal */
|
|
60
|
+
_handleBlur() {
|
|
61
|
+
if (this._currentFocus) {
|
|
62
|
+
this._emit({ type: "focus.unfocus", focus: this._currentFocus });
|
|
63
|
+
this._currentFocus = null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** @internal */
|
|
67
|
+
_handleMouseDown(x, y) {
|
|
68
|
+
const press = { type: "press.press", x, y };
|
|
69
|
+
this._currentPress = press;
|
|
70
|
+
this._emit(press);
|
|
71
|
+
}
|
|
72
|
+
/** @internal */
|
|
73
|
+
_handleMouseUp() {
|
|
74
|
+
if (this._currentPress) {
|
|
75
|
+
this._emit({ type: "press.release", press: this._currentPress });
|
|
76
|
+
this._currentPress = null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/** @internal */
|
|
80
|
+
_handlePressCancel() {
|
|
81
|
+
if (this._currentPress) {
|
|
82
|
+
this._emit({ type: "press.cancel", press: this._currentPress });
|
|
83
|
+
this._currentPress = null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// ── Private ──────────────────────────────────────────────────────────────
|
|
87
|
+
_emit(interaction) {
|
|
88
|
+
// "exit" interactions remove their paired "enter" from the active set.
|
|
89
|
+
if (interaction.type === "hover.exit" ||
|
|
90
|
+
interaction.type === "press.release" ||
|
|
91
|
+
interaction.type === "press.cancel" ||
|
|
92
|
+
interaction.type === "focus.unfocus") {
|
|
93
|
+
const paired = interaction.type === "hover.exit" ? interaction.enter :
|
|
94
|
+
interaction.type === "focus.unfocus" ? interaction.focus :
|
|
95
|
+
interaction.press;
|
|
96
|
+
this._interactions = this._interactions.filter(i => i !== paired);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this._interactions = [...this._interactions, interaction];
|
|
100
|
+
}
|
|
101
|
+
this._listeners.forEach(l => l());
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// ── Hooks ────────────────────────────────────────────────────────────────────
|
|
105
|
+
/**
|
|
106
|
+
* Creates and remembers a {@link MutableInteractionSource} for the lifetime
|
|
107
|
+
* of the component. Equivalent to `remember { MutableInteractionSource() }`.
|
|
108
|
+
*/
|
|
109
|
+
export function useMutableInteractionSource() {
|
|
110
|
+
const ref = useRef(null);
|
|
111
|
+
if (ref.current === null)
|
|
112
|
+
ref.current = new MutableInteractionSource();
|
|
113
|
+
return ref.current;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Returns `true` while the pointer is inside the bounds of the component
|
|
117
|
+
* attached to `source` via `Modifier.hoverable(source)`.
|
|
118
|
+
*/
|
|
119
|
+
export function useIsHovered(source) {
|
|
120
|
+
const [val, setVal] = useState(() => source.getInteractions().some(i => i.type === "hover.enter"));
|
|
121
|
+
useEffect(() => {
|
|
122
|
+
setVal(source.getInteractions().some(i => i.type === "hover.enter"));
|
|
123
|
+
return source.subscribe(() => setVal(source.getInteractions().some(i => i.type === "hover.enter")));
|
|
124
|
+
}, [source]);
|
|
125
|
+
return val;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Returns `true` while the component attached to `source` has keyboard focus.
|
|
129
|
+
*/
|
|
130
|
+
export function useIsFocused(source) {
|
|
131
|
+
const [val, setVal] = useState(() => source.getInteractions().some(i => i.type === "focus.focus"));
|
|
132
|
+
useEffect(() => {
|
|
133
|
+
setVal(source.getInteractions().some(i => i.type === "focus.focus"));
|
|
134
|
+
return source.subscribe(() => setVal(source.getInteractions().some(i => i.type === "focus.focus")));
|
|
135
|
+
}, [source]);
|
|
136
|
+
return val;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Returns `true` while the user is pressing down on the component attached to
|
|
140
|
+
* `source` via `Modifier.pressable(source)`.
|
|
141
|
+
*/
|
|
142
|
+
export function useIsPressed(source) {
|
|
143
|
+
const [val, setVal] = useState(() => source.getInteractions().some(i => i.type === "press.press"));
|
|
144
|
+
useEffect(() => {
|
|
145
|
+
setVal(source.getInteractions().some(i => i.type === "press.press"));
|
|
146
|
+
return source.subscribe(() => setVal(source.getInteractions().some(i => i.type === "press.press")));
|
|
147
|
+
}, [source]);
|
|
148
|
+
return val;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=interaction.js.map
|
|
@@ -0,0 +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,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAiDpD,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAwB;IAC3B,aAAa,GAA+B,EAAE,CAAC;IACtC,UAAU,GAAG,IAAI,GAAG,EAAc,CAAC;IAEpD,2EAA2E;IACnE,aAAa,GAAkC,IAAI,CAAC;IACpD,aAAa,GAAkC,IAAI,CAAC;IACpD,aAAa,GAAkC,IAAI,CAAC;IAE5D,4EAA4E;IAE5E,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,QAAoB;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,4EAA4E;IAE5E,gBAAgB;IAChB,iBAAiB;QACf,MAAM,KAAK,GAA2B,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,iBAAiB;QACf,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,YAAY;QACV,MAAM,KAAK,GAA2B,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,WAAW;QACT,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,gBAAgB,CAAC,CAAS,EAAE,CAAS;QACnC,MAAM,KAAK,GAA2B,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,cAAc;QACZ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,kBAAkB;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,4EAA4E;IAEpE,KAAK,CAAC,WAAwB;QACpC,uEAAuE;QACvE,IACE,WAAW,CAAC,IAAI,KAAK,YAAY;YACjC,WAAW,CAAC,IAAI,KAAK,eAAe;YACpC,WAAW,CAAC,IAAI,KAAK,cAAc;YACnC,WAAW,CAAC,IAAI,KAAK,eAAe,EACpC,CAAC;YACD,MAAM,MAAM,GACV,WAAW,CAAC,IAAI,KAAK,YAAY,CAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC1D,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBACnB,WAAW,CAAC,KAAK,CAAC;YAC3D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;CACF;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,GAAG,GAAG,MAAM,CAAkC,IAAI,CAAC,CAAC;IAC1D,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;QAAE,GAAG,CAAC,OAAO,GAAG,IAAI,wBAAwB,EAAE,CAAC;IACvE,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAyB;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAClC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAC7D,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAC3B,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CACrE,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAyB;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAClC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAC7D,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAC3B,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CACrE,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAyB;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAClC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAC7D,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAC3B,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CACrE,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/layout.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface ColumnProps {
|
|
|
8
8
|
verticalArrangement?: Arrangement;
|
|
9
9
|
horizontalAlignment?: Alignment;
|
|
10
10
|
}
|
|
11
|
-
/** Vertical flex container
|
|
11
|
+
/** Vertical flex container. */
|
|
12
12
|
export declare function Column({ modifier, spacing, verticalArrangement, horizontalAlignment }: ColumnProps, children?: React.ReactNode[]): React.ReactElement;
|
|
13
13
|
export interface RowProps {
|
|
14
14
|
modifier?: Modifier;
|
|
@@ -17,12 +17,12 @@ export interface RowProps {
|
|
|
17
17
|
verticalAlignment?: Alignment;
|
|
18
18
|
wrap?: boolean;
|
|
19
19
|
}
|
|
20
|
-
/** Horizontal flex container
|
|
20
|
+
/** Horizontal flex container. */
|
|
21
21
|
export declare function Row({ modifier, spacing, horizontalArrangement, verticalAlignment, wrap }: RowProps, children?: React.ReactNode[]): React.ReactElement;
|
|
22
22
|
export interface BoxProps {
|
|
23
23
|
modifier?: Modifier;
|
|
24
24
|
contentAlignment?: "topStart" | "topCenter" | "topEnd" | "centerStart" | "center" | "centerEnd" | "bottomStart" | "bottomCenter" | "bottomEnd";
|
|
25
25
|
}
|
|
26
|
-
/** Positioned container
|
|
26
|
+
/** Positioned container. */
|
|
27
27
|
export declare function Box({ modifier, contentAlignment }: BoxProps, children?: React.ReactNode[]): React.ReactElement;
|
|
28
28
|
//# 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.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,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,+
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,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,KAAK,CAAC,SAAS,EAAE,GAC3B,KAAK,CAAC,YAAY,CAapB;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,KAAK,CAAC,SAAS,EAAE,GAC3B,KAAK,CAAC,YAAY,CAcpB;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,KAAK,CAAC,SAAS,EAAE,GAC3B,KAAK,CAAC,YAAY,CAapB"}
|
package/dist/layout.js
CHANGED
|
@@ -17,7 +17,7 @@ function alignmentToAlign(a) {
|
|
|
17
17
|
case "stretch": return "stretch";
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
/** Vertical flex container
|
|
20
|
+
/** Vertical flex container. */
|
|
21
21
|
export function Column({ modifier, spacing, verticalArrangement = "start", horizontalAlignment = "start" }, children) {
|
|
22
22
|
const modProps = modifier?.toProps() ?? {};
|
|
23
23
|
return React.createElement("div", {
|
|
@@ -32,7 +32,7 @@ export function Column({ modifier, spacing, verticalArrangement = "start", horiz
|
|
|
32
32
|
},
|
|
33
33
|
}, ...(children ?? []));
|
|
34
34
|
}
|
|
35
|
-
/** Horizontal flex container
|
|
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
38
|
return React.createElement("div", {
|
|
@@ -48,7 +48,7 @@ export function Row({ modifier, spacing, horizontalArrangement = "start", vertic
|
|
|
48
48
|
},
|
|
49
49
|
}, ...(children ?? []));
|
|
50
50
|
}
|
|
51
|
-
/** Positioned container
|
|
51
|
+
/** Positioned container. */
|
|
52
52
|
export function Box({ modifier, contentAlignment = "topStart" }, children) {
|
|
53
53
|
const modProps = modifier?.toProps() ?? {};
|
|
54
54
|
const isCentered = contentAlignment === "center";
|
package/dist/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,SAAS,oBAAoB,CAAC,CAAc;IAC1C,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,OAAO,CAAC,CAAQ,OAAO,YAAY,CAAC;QACzC,KAAK,QAAQ,CAAC,CAAO,OAAO,QAAQ,CAAC;QACrC,KAAK,KAAK,CAAC,CAAU,OAAO,UAAU,CAAC;QACvC,KAAK,cAAc,CAAC,CAAC,OAAO,eAAe,CAAC;QAC5C,KAAK,aAAa,CAAC,CAAE,OAAO,cAAc,CAAC;QAC3C,KAAK,aAAa,CAAC,CAAE,OAAO,cAAc,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAY;IACpC,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,OAAO,CAAC,CAAG,OAAO,YAAY,CAAC;QACpC,KAAK,QAAQ,CAAC,CAAE,OAAO,QAAQ,CAAC;QAChC,KAAK,KAAK,CAAC,CAAK,OAAO,UAAU,CAAC;QAClC,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC;IACnC,CAAC;AACH,CAAC;AASD,+
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.tsx"],"names":[],"mappings":"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"}
|
package/dist/modifier.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
export type CSSProperties = {
|
|
2
2
|
[key: string]: string | number | undefined;
|
|
3
3
|
};
|
|
4
|
+
import type { MutableInteractionSource } from "./interaction.js";
|
|
5
|
+
interface InteractionFlags {
|
|
6
|
+
readonly hover: boolean;
|
|
7
|
+
readonly focus: boolean;
|
|
8
|
+
readonly press: boolean;
|
|
9
|
+
}
|
|
4
10
|
export declare class Modifier {
|
|
5
11
|
readonly _styles: CSSProperties;
|
|
6
12
|
readonly _classNames: ReadonlyArray<string>;
|
|
13
|
+
readonly _interactionSource: MutableInteractionSource | undefined;
|
|
14
|
+
readonly _interactionFlags: InteractionFlags;
|
|
7
15
|
private constructor();
|
|
8
16
|
static get Default(): Modifier;
|
|
9
17
|
static fillMaxWidth(): Modifier;
|
|
@@ -29,6 +37,35 @@ export declare class Modifier {
|
|
|
29
37
|
static marginLeft(v: number | string): Modifier;
|
|
30
38
|
static marginRight(v: number | string): Modifier;
|
|
31
39
|
private with;
|
|
40
|
+
/**
|
|
41
|
+
* Tracks pointer enter/leave on this component, emitting
|
|
42
|
+
* `HoverInteraction.Enter` and `HoverInteraction.Exit` into `source`.
|
|
43
|
+
* Read the current state with `useIsHovered(source)`.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```tsx
|
|
47
|
+
* const source = useMutableInteractionSource();
|
|
48
|
+
* const isHovered = useIsHovered(source);
|
|
49
|
+
* Box({ modifier: Modifier.hoverable(source).background(isHovered ? "#eee" : "#fff") })
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
hoverable(source: MutableInteractionSource): Modifier;
|
|
53
|
+
/**
|
|
54
|
+
* Tracks keyboard focus on this component, emitting
|
|
55
|
+
* `FocusInteraction.Focus` and `FocusInteraction.Unfocus` into `source`.
|
|
56
|
+
* Read the current state with `useIsFocused(source)`.
|
|
57
|
+
*/
|
|
58
|
+
focusable(source: MutableInteractionSource): Modifier;
|
|
59
|
+
/**
|
|
60
|
+
* Tracks pointer press/release on this component, emitting
|
|
61
|
+
* `PressInteraction.Press`, `PressInteraction.Release`, and
|
|
62
|
+
* `PressInteraction.Cancel` into `source`.
|
|
63
|
+
* Read the current state with `useIsPressed(source)`.
|
|
64
|
+
*/
|
|
65
|
+
pressable(source: MutableInteractionSource): Modifier;
|
|
66
|
+
static hoverable(source: MutableInteractionSource): Modifier;
|
|
67
|
+
static focusable(source: MutableInteractionSource): Modifier;
|
|
68
|
+
static pressable(source: MutableInteractionSource): Modifier;
|
|
32
69
|
fillMaxWidth(): Modifier;
|
|
33
70
|
fillMaxHeight(): Modifier;
|
|
34
71
|
fillMaxSize(): Modifier;
|
|
@@ -87,12 +124,22 @@ export declare class Modifier {
|
|
|
87
124
|
className(name: string): Modifier;
|
|
88
125
|
/** Merge another Modifier on top of this one. */
|
|
89
126
|
then(other: Modifier): Modifier;
|
|
90
|
-
/** Extract style
|
|
127
|
+
/** Extract style, className, and interaction event handler props for spreading onto an element. */
|
|
91
128
|
toProps(): {
|
|
92
129
|
style?: CSSProperties;
|
|
93
130
|
className?: string;
|
|
131
|
+
onMouseEnter?: () => void;
|
|
132
|
+
onMouseLeave?: () => void;
|
|
133
|
+
onFocus?: () => void;
|
|
134
|
+
onBlur?: () => void;
|
|
135
|
+
onMouseDown?: (e: {
|
|
136
|
+
clientX: number;
|
|
137
|
+
clientY: number;
|
|
138
|
+
}) => void;
|
|
139
|
+
onMouseUp?: () => void;
|
|
94
140
|
};
|
|
95
141
|
}
|
|
96
|
-
/** Apply a Modifier's styles and
|
|
142
|
+
/** Apply a Modifier's styles, className, and interaction handlers to a DOM element. */
|
|
97
143
|
export declare function applyModifier(el: HTMLElement, mod: Modifier): void;
|
|
144
|
+
export {};
|
|
98
145
|
//# sourceMappingURL=modifier.d.ts.map
|