@rvx/ui 0.3.2 → 0.3.4
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/common/events.d.ts +6 -0
- package/dist/common/events.d.ts.map +1 -1
- package/dist/common/events.js +5 -0
- package/dist/common/events.js.map +1 -1
- package/dist/common/id-pairs.d.ts +11 -0
- package/dist/common/id-pairs.d.ts.map +1 -0
- package/dist/common/id-pairs.js +19 -0
- package/dist/common/id-pairs.js.map +1 -0
- package/dist/components/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox.js +3 -1
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/dialog.d.ts.map +1 -1
- package/dist/components/dialog.js +3 -3
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/dropdown-input.d.ts.map +1 -1
- package/dist/components/dropdown-input.js +3 -1
- package/dist/components/dropdown-input.js.map +1 -1
- package/dist/components/label.d.ts +0 -6
- package/dist/components/label.d.ts.map +1 -1
- package/dist/components/label.js +4 -8
- package/dist/components/label.js.map +1 -1
- package/dist/components/radio-buttons.d.ts.map +1 -1
- package/dist/components/radio-buttons.js +2 -0
- package/dist/components/radio-buttons.js.map +1 -1
- package/dist/components/slider.d.ts.map +1 -1
- package/dist/components/slider.js +3 -1
- package/dist/components/slider.js.map +1 -1
- package/dist/components/text-input.d.ts.map +1 -1
- package/dist/components/text-input.js +3 -1
- package/dist/components/text-input.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/common/events.tsx +11 -0
- package/src/common/id-pairs.tsx +25 -0
- package/src/components/checkbox.tsx +3 -1
- package/src/components/dialog.tsx +3 -3
- package/src/components/dropdown-input.tsx +3 -1
- package/src/components/label.tsx +4 -16
- package/src/components/radio-buttons.tsx +2 -0
- package/src/components/slider.tsx +3 -1
- package/src/components/text-input.tsx +3 -2
- package/src/index.tsx +1 -0
package/dist/common/events.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Expression } from "rvx";
|
|
1
2
|
export interface Key {
|
|
2
3
|
key: string;
|
|
3
4
|
meta?: boolean;
|
|
@@ -17,6 +18,11 @@ export type Action<T extends unknown[] = [], E = Event> = (event: E, ...args: T)
|
|
|
17
18
|
*/
|
|
18
19
|
export declare function handleActionEvent<T extends unknown[], E extends Event = Event>(event: E, action: Action<T, E>, ...args: T): boolean;
|
|
19
20
|
export declare function handleKeyActionEvent<T extends unknown[]>(event: KeyboardEvent, key: string | Key, action: Action<T, KeyboardEvent>, ...args: T): boolean;
|
|
21
|
+
export declare function WithAction(props: {
|
|
22
|
+
children: unknown;
|
|
23
|
+
action: Action<[], KeyboardEvent>;
|
|
24
|
+
key?: Expression<string | Key | undefined>;
|
|
25
|
+
}): unknown;
|
|
20
26
|
/**
|
|
21
27
|
* Run an action of the event target is hovered for a minimum duration.
|
|
22
28
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/common/events.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/common/events.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAGjD,MAAM,WAAW,GAAG;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,WAS5D;AAED;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAWnI;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,WAM9I;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAClC,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC;CAC3C,WAIA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,KAAK,SAAM,GAAG,IAAI,CAWtG;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,KAAK,CAEhD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAQjG"}
|
package/dist/common/events.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "rvx/jsx-runtime";
|
|
2
|
+
import { get, Overwrite } from "rvx";
|
|
1
3
|
import { TASKS } from "rvx/async";
|
|
2
4
|
export function isKey(event, key) {
|
|
3
5
|
if (typeof key === "string") {
|
|
@@ -29,6 +31,9 @@ export function handleKeyActionEvent(event, key, action, ...args) {
|
|
|
29
31
|
return false;
|
|
30
32
|
}
|
|
31
33
|
}
|
|
34
|
+
export function WithAction(props) {
|
|
35
|
+
return _jsx(Overwrite, { "on:keydown": e => handleKeyActionEvent(e, get(props.key) ?? "enter", props.action), children: props.children });
|
|
36
|
+
}
|
|
32
37
|
export function startDelayedHoverOnMouseenter(event, action, delay = 300) {
|
|
33
38
|
const timer = setTimeout(action, delay);
|
|
34
39
|
const cancel = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/common/events.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAUlC,MAAM,UAAU,KAAK,CAAC,KAAoB,EAAE,GAAiB;IAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,GAAG;WACtC,KAAK,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC;WACrC,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC;WACnC,KAAK,CAAC,QAAQ,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC;WACvC,KAAK,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;AAC3C,CAAC;AAYD,MAAM,UAAU,iBAAiB,CAA+C,KAAQ,EAAE,MAAoB,EAAE,GAAG,IAAO;IACzH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,KAAK,CAAC,cAAc,EAAE,CAAC;IACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;IACjC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAsB,KAAoB,EAAE,GAAiB,EAAE,MAAgC,EAAE,GAAG,IAAO;IAC9I,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QAClD,OAAO,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAoBD,MAAM,UAAU,6BAA6B,CAAC,KAAiB,EAAE,MAAkB,EAAE,KAAK,GAAG,GAAG;IAC/F,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,GAAG,EAAE;QACnB,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACxD,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,YAAY,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IACF,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACrD,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACzE,CAAC;AAQD,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAO5D,MAAM,UAAU,wBAAwB;IACvC,OAAO,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAC9C,CAAC;AAKD,MAAM,UAAU,aAAa,CAAI,OAAe,EAAE,OAA2B;IAC5E,IAAI,KAAa,CAAC;IAClB,OAAO,KAAK,CAAC,EAAE;QACd,IAAI,KAAK,EAAE,CAAC;YACX,YAAY,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,GAAI,UAAuC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/common/events.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Content, Context } from "rvx";
|
|
2
|
+
export declare class IdPair {
|
|
3
|
+
#private;
|
|
4
|
+
prefix(): string;
|
|
5
|
+
consume(): string | undefined;
|
|
6
|
+
}
|
|
7
|
+
export declare const ID_PAIR: Context<IdPair>;
|
|
8
|
+
export declare function PairId(props: {
|
|
9
|
+
children?: (id: string | undefined) => Content;
|
|
10
|
+
}): Content;
|
|
11
|
+
//# sourceMappingURL=id-pairs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-pairs.d.ts","sourceRoot":"","sources":["../../src/common/id-pairs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAY,MAAM,KAAK,CAAC;AAEjD,qBAAa,MAAM;;IAGlB,MAAM;IAKN,OAAO,IAAI,MAAM,GAAG,SAAS;CAK7B;AAED,eAAO,MAAM,OAAO,iBAA4B,CAAC;AAEjD,wBAAgB,MAAM,CAAC,KAAK,EAAE;IAC7B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;CAC/C,GAAG,OAAO,CAGV"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Context, uniqueId } from "rvx";
|
|
2
|
+
export class IdPair {
|
|
3
|
+
#prefix;
|
|
4
|
+
prefix() {
|
|
5
|
+
this.#prefix = uniqueId();
|
|
6
|
+
return this.#prefix;
|
|
7
|
+
}
|
|
8
|
+
consume() {
|
|
9
|
+
const value = this.#prefix;
|
|
10
|
+
this.#prefix = undefined;
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export const ID_PAIR = new Context(new IdPair());
|
|
15
|
+
export function PairId(props) {
|
|
16
|
+
const id = ID_PAIR.current.consume();
|
|
17
|
+
return props.children?.(id);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=id-pairs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-pairs.js","sourceRoot":"","sources":["../../src/common/id-pairs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAEjD,MAAM,OAAO,MAAM;IAClB,OAAO,CAAqB;IAE5B,MAAM;QACL,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,OAAO;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;AAEjD,MAAM,UAAU,MAAM,CAAC,KAEtB;IACA,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAe,UAAU,EAAmB,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAe,UAAU,EAAmB,MAAM,KAAK,CAAC;AASvF,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE1C,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE3C,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CA6CV"}
|
|
@@ -2,11 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "rvx/jsx-runtime";
|
|
|
2
2
|
import { get, Signal, uniqueId, watch } from "rvx";
|
|
3
3
|
import { isPending } from "rvx/async";
|
|
4
4
|
import { optionalString, string } from "rvx/convert";
|
|
5
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
5
6
|
import { THEME } from "../common/theme.js";
|
|
6
7
|
import { Text } from "./text.js";
|
|
7
8
|
import { closestValidator } from "./validation.js";
|
|
8
9
|
export function Checkbox(props) {
|
|
9
|
-
const
|
|
10
|
+
const pairId = ID_PAIR.current.consume();
|
|
11
|
+
const id = props.children === undefined ? pairId : uniqueId();
|
|
10
12
|
const theme = THEME.current;
|
|
11
13
|
const disabled = props.checked instanceof Signal
|
|
12
14
|
? () => isPending() || get(props.disabled)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,GAAG,EAAE,MAAM,EAAc,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,UAAU,QAAQ,CAAC,KASxB;IACA,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,GAAG,EAAE,MAAM,EAAc,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,UAAU,QAAQ,CAAC,KASxB;IACA,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAE5B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,YAAY,MAAM;QAC/C,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1C,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IAEd,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,YAAY,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhG,MAAM,KAAK,GAAG,gBACb,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,EAAE,cAAc,cAClB,GAAG,EAAE;YACd,IAAI,KAAK,CAAC,OAAO,YAAY,MAAM,EAAE,CAAC;gBACrC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;YACrC,CAAC;QACF,CAAC,mBACc,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,MAAM,CAAC,CAAC,kBAC3C,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,uBACpD,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC/D,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,QAAQ,GACG,CAAC;IAEvB,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QAC9B,KAAK,CAAC,aAAa,GAAG,OAAO,KAAK,SAAS,CAAC;QAC5C,KAAK,CAAC,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,OAAO,iBACN,GAAG,EAAE,EAAE,EACP,KAAK,EAAE;YACN,KAAK,EAAE,cAAc;YACrB,KAAK,CAAC,KAAK;SACX,EACD,KAAK,EAAE,KAAK,CAAC,KAAK,aAEjB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,cAAK,KAAK,EAAE,KAAK,CAAC,gBAAgB,YAAG,KAAK,GAAO,CAAC,CAAC,CAAC,KAAK,EACpF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,YAClC,KAAK,CAAC,QAAQ,GACT,IACA,CAAC;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAE,OAAO,EAAW,KAAK,EAAE,UAAU,EAAe,UAAU,EAAsB,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAE,OAAO,EAAW,KAAK,EAAE,UAAU,EAAe,UAAU,EAAsB,MAAM,KAAK,CAAC;AAGnI,OAAO,EAAE,MAAM,EAA0D,MAAM,aAAa,CAAC;AAG7F,qBAAa,gBAAiB,SAAQ,KAAK;CAAI;AAE/C,MAAM,WAAW,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,sDAA6D,CAAC;AAEzF,wBAAgB,UAAU,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CA2C7F;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,aAAa,CAAC;AAElD,wBAAgB,UAAU,CAAC,KAAK,EAAE;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,UAAU,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE3C,iBAAiB,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACnD,kBAAkB,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACpD,GAAG,OAAO,CAwDV;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,WAEzF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IACnC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAoBV"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "rvx/jsx-runtime";
|
|
2
2
|
import { $, captureSelf, Context, Emitter, map, render, teardown, uniqueId } from "rvx";
|
|
3
3
|
import { TASKS, Tasks, useMicrotask } from "rvx/async";
|
|
4
|
+
import { inOverlayContext } from "../common/context.js";
|
|
4
5
|
import { Column, FlexSpace, Group, Heading, Row, Separated, Text, THEME } from "../index.js";
|
|
5
6
|
import { LAYER, Layer } from "./layer.js";
|
|
6
|
-
import { inOverlayContext } from "../common/context.js";
|
|
7
7
|
export class DialogAbortError extends Error {
|
|
8
8
|
}
|
|
9
9
|
export const DIALOG_FADEOUT = new Context();
|
|
@@ -23,12 +23,12 @@ export function showDialog(init, options) {
|
|
|
23
23
|
},
|
|
24
24
|
reject(reason) {
|
|
25
25
|
dispose();
|
|
26
|
-
reject(reason);
|
|
26
|
+
reject(reason ?? new DialogAbortError());
|
|
27
27
|
},
|
|
28
28
|
};
|
|
29
29
|
if (options?.cancellable ?? true) {
|
|
30
30
|
LAYER.current.useHotkey("escape", () => {
|
|
31
|
-
dialog.reject(
|
|
31
|
+
dialog.reject();
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
return init(dialog);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,WAAW,EAAc,OAAO,EAAE,OAAO,EAAqB,GAAG,EAAE,MAAM,EAAc,QAAQ,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACnI,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-input.d.ts","sourceRoot":"","sources":["../../src/components/dropdown-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAoB,UAAU,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"dropdown-input.d.ts","sourceRoot":"","sources":["../../src/components/dropdown-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAoB,UAAU,EAAE,MAAM,KAAK,CAAC;AAE3E,OAAO,EAAU,aAAa,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG/D,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE3C,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,SAAS,CAAC,EAAE,UAAU,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,UAAU,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IACpD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,GAAG,OAAO,CAgDV"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx } from "rvx/jsx-runtime";
|
|
2
2
|
import { get, map, Signal } from "rvx";
|
|
3
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
3
4
|
import { Button } from "./button.js";
|
|
4
5
|
import { Dropdown } from "./dropdown.js";
|
|
5
6
|
import { closestValidator } from "./validation.js";
|
|
6
7
|
export function DropdownInput(props) {
|
|
8
|
+
const id = props.id ?? ID_PAIR.current.consume();
|
|
7
9
|
const items = new WeakMap();
|
|
8
|
-
return _jsx(Dropdown, { anchor: a => _jsx(Button, { ...a, variant: map(props.variant, v => v ?? "input"), disabled: props.value instanceof Signal ? props.disabled : true, class: props.class, style: props.style, id:
|
|
10
|
+
return _jsx(Dropdown, { anchor: a => _jsx(Button, { ...a, variant: map(props.variant, v => v ?? "input"), disabled: props.value instanceof Signal ? props.disabled : true, class: props.class, style: props.style, id: id, autofocus: props.autofocus, title: props.title, role: "combobox", "aria-label": props["aria-label"], "aria-labelledby": props["aria-labelledby"], validator: props.value instanceof Signal ? closestValidator(props.value) : undefined, children: props.children ?? (() => {
|
|
9
11
|
const value = get(props.value);
|
|
10
12
|
return get(props.values).find(v => v.value === value)?.label;
|
|
11
13
|
}) }), items: () => get(props.values).map(value => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-input.js","sourceRoot":"","sources":["../../src/components/dropdown-input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,GAAG,EAAE,GAAG,EAAE,MAAM,EAAc,MAAM,KAAK,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAOnD,MAAM,UAAU,aAAa,CAAI,KAsBhC;IACA,MAAM,KAAK,GAAG,IAAI,OAAO,EAAkC,CAAC;IAC5D,OAAO,KAAC,QAAQ,IACf,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAC,MAAM,OACf,CAAC,EACL,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,EAC9C,QAAQ,EAAE,KAAK,CAAC,KAAK,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAC/D,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"dropdown-input.js","sourceRoot":"","sources":["../../src/components/dropdown-input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,4 @@ export declare function Label(props: {
|
|
|
6
6
|
id?: Expression<string | undefined>;
|
|
7
7
|
children?: unknown;
|
|
8
8
|
}): unknown;
|
|
9
|
-
export declare function LabelFor(props: {
|
|
10
|
-
class?: ClassValue;
|
|
11
|
-
style?: StyleValue;
|
|
12
|
-
label: unknown;
|
|
13
|
-
children: (id: string) => unknown;
|
|
14
|
-
}): unknown;
|
|
15
9
|
//# sourceMappingURL=label.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAIzD,wBAAgB,KAAK,CAAC,KAAK,EAAE;IAC5B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrC,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAcV"}
|
package/dist/components/label.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as _jsx } from "rvx/jsx-runtime";
|
|
2
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
3
3
|
import { THEME } from "../common/theme.js";
|
|
4
|
-
import { Group } from "./column.js";
|
|
5
4
|
export function Label(props) {
|
|
6
5
|
const theme = THEME.current;
|
|
6
|
+
const idFor = props.for ?? ID_PAIR.current.prefix();
|
|
7
7
|
return _jsx("label", { class: [
|
|
8
8
|
theme?.label,
|
|
9
9
|
props.class,
|
|
10
|
-
], style: props.style, for:
|
|
11
|
-
}
|
|
12
|
-
export function LabelFor(props) {
|
|
13
|
-
const id = uniqueId();
|
|
14
|
-
return _jsxs(Group, { children: [_jsx(Label, { class: props.class, style: props.style, for: id, children: props.label }), props.children(id)] });
|
|
10
|
+
], style: props.style, for: idFor, id: props.id, children: props.children });
|
|
15
11
|
}
|
|
16
12
|
//# sourceMappingURL=label.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,UAAU,KAAK,CAAC,KAMrB;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACpD,OAAO,gBACN,KAAK,EAAE;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,CAAC,KAAK;SACX,EACD,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,GAAG,EAAE,KAAK,EACV,EAAE,EAAE,KAAK,CAAC,EAAE,YAEX,KAAK,CAAC,QAAQ,GACR,CAAC;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-buttons.d.ts","sourceRoot":"","sources":["../../src/components/radio-buttons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAyB,UAAU,EAAY,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"radio-buttons.d.ts","sourceRoot":"","sources":["../../src/components/radio-buttons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAyB,UAAU,EAAY,MAAM,KAAK,CAAC;AAQ1F,MAAM,WAAW,WAAW,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE;IACtC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAClC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEtC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE3C,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEnD,QAAQ,CAAC,EAAE,KAAK,CAAC;CACjB,GAAG,OAAO,CAwDV"}
|
|
@@ -2,10 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "rvx/jsx-runtime";
|
|
|
2
2
|
import { For, get, map, Signal, uniqueId } from "rvx";
|
|
3
3
|
import { isPending } from "rvx/async";
|
|
4
4
|
import { optionalString, string } from "rvx/convert";
|
|
5
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
5
6
|
import { THEME } from "../common/theme.js";
|
|
6
7
|
import { Text } from "./text.js";
|
|
7
8
|
import { closestValidator } from "./validation.js";
|
|
8
9
|
export function RadioButtons(props) {
|
|
10
|
+
const id = props.id ?? ID_PAIR.current.consume();
|
|
9
11
|
const group = uniqueId();
|
|
10
12
|
const theme = THEME.current;
|
|
11
13
|
const disabled = props.value instanceof Signal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-buttons.js","sourceRoot":"","sources":["../../src/components/radio-buttons.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAc,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAOnD,MAAM,UAAU,YAAY,CAAI,KAc/B;IACA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAE5B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,YAAY,MAAM;QAC7C,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC;IAER,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,YAAY,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,OAAO,cACN,IAAI,EAAC,YAAY,EACjB,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,KAAK,EAAE;YACN,KAAK,EAAE,aAAa;YACpB,KAAK,CAAC,KAAK;SACX,EACD,KAAK,EAAE,KAAK,CAAC,KAAK,mBACH,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,MAAM,CAAC,CAAC,kBAC3C,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,uBACpD,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,gBACnD,KAAK,CAAC,YAAY,CAAC,qBACd,KAAK,CAAC,iBAAiB,CAAC,YAEzC,KAAC,GAAG,IAAC,IAAI,EAAE,KAAK,CAAC,OAAO,YACtB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAClB,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,gBACb,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAChC,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,EAAE,EACT,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE,KAAK,CAAC,kBACxC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,cAC7C,GAAG,EAAE;wBACd,IAAI,KAAK,CAAC,KAAK,YAAY,MAAM,EAAE,CAAC;4BACnC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;wBAClC,CAAC;oBACF,CAAC,GACA,CAAC;gBAEH,OAAO,iBACN,GAAG,EAAE,EAAE,EACP,KAAK,EAAE,KAAK,EAAE,kBAAkB,aAE/B,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,cAAK,KAAK,EAAE,KAAK,CAAC,oBAAoB,YAAG,KAAK,GAAO,CAAC,CAAC,CAAC,KAAK,EAC5F,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,oBAAoB,YACtC,MAAM,CAAC,KAAK,GACP,IACA,CAAC;YACV,CAAC,GACI,GACD,CAAC;AACR,CAAC"}
|
|
1
|
+
{"version":3,"file":"radio-buttons.js","sourceRoot":"","sources":["../../src/components/radio-buttons.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../src/components/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA+B,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../src/components/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA+B,MAAM,KAAK,CAAC;AAI9D,wBAAgB,MAAM,CAAC,KAAK,EAAE;IAC7B,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,WAiCA;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAS9E"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "rvx/jsx-runtime";
|
|
2
2
|
import { map, Show, Signal, uniqueId } from "rvx";
|
|
3
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
3
4
|
import { THEME } from "../common/theme.js";
|
|
4
5
|
export function Slider(props) {
|
|
5
6
|
const theme = THEME.current;
|
|
6
7
|
const markerId = uniqueId();
|
|
7
|
-
const
|
|
8
|
+
const id = props.id ?? ID_PAIR.current.consume();
|
|
9
|
+
const input = _jsx("input", { id: id, type: "range", min: map(props.min, min => min ?? 0), max: map(props.max, max => max ?? 100), step: map(props.step, step => step ?? 1), "prop:value": map(props.value, value => value ?? "0"), "on:input": () => {
|
|
8
10
|
if (props.value instanceof Signal) {
|
|
9
11
|
props.value.value = Number(input.value);
|
|
10
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","sourceRoot":"","sources":["../../src/components/slider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,UAAU,MAAM,CAAC,KAQtB;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"slider.js","sourceRoot":"","sources":["../../src/components/slider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,UAAU,MAAM,CAAC,KAQtB;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC5B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAEjD,MAAM,KAAK,GAAG,gBACb,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EACpC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,EACtC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,gBAC5B,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,cACzC,GAAG,EAAE;YACd,IAAI,KAAK,CAAC,KAAK,YAAY,MAAM,EAAE,CAAC;gBACnC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;QACF,CAAC,EACD,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GAC9C,CAAC;IAEvB,OAAO,eACN,KAAK,EAAE,KAAK,EAAE,WAAW,aAExB,KAAK,EAEN,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,OAAO,YACvB,OAAO,CAAC,EAAE,CAAC,mBAAU,EAAE,EAAE,QAAQ,YAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAQ,KAAK,EAAE,MAAM,GAAI,CAAC,GACvC,GACL,EAEN,KAAK,CAAC,QAAQ,IACV,CAAC;AACR,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,GAAW,EAAE,IAAY;IACnE,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QACf,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../../src/components/text-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAe,UAAU,EAAE,MAAM,KAAK,CAAC;AAOtE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,wBAAgB,SAAS,CAAC,KAAK,EAAE,CAAC;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAElB;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC7C,GAAG;IACH;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEtC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;CAC5C,CAAC,GAAG;IACJ;;;;OAIG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE3C;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACnD,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../../src/components/text-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAe,UAAU,EAAE,MAAM,KAAK,CAAC;AAOtE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,wBAAgB,SAAS,CAAC,KAAK,EAAE,CAAC;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;IAElB;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC7C,GAAG;IACH;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEtC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;CAC5C,CAAC,GAAG;IACJ;;;;OAIG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE3C;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACnD,GAAG,OAAO,CAsCV"}
|
|
@@ -2,9 +2,11 @@ import { jsx as _jsx } from "rvx/jsx-runtime";
|
|
|
2
2
|
import { get, Signal } from "rvx";
|
|
3
3
|
import { isPending } from "rvx/async";
|
|
4
4
|
import { optionalString } from "rvx/convert";
|
|
5
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
5
6
|
import { THEME } from "../common/theme.js";
|
|
6
7
|
import { closestValidator } from "./validation.js";
|
|
7
8
|
export function TextInput(props) {
|
|
9
|
+
const id = props.id ?? ID_PAIR.current.consume();
|
|
8
10
|
const theme = THEME.current;
|
|
9
11
|
const disabled = () => isPending() || get(props.disabled);
|
|
10
12
|
const validator = props.value instanceof Signal ? closestValidator(props.value) : undefined;
|
|
@@ -12,7 +14,7 @@ export function TextInput(props) {
|
|
|
12
14
|
const input = _jsx(InputTag, { type: props.multiline ? undefined : (() => get(props.type) ?? "text"), rows: props.multiline ? props.rows : undefined, wrap: props.multiline ? props.wrap : undefined, disabled: disabled, class: [
|
|
13
15
|
theme?.text_input,
|
|
14
16
|
props.class,
|
|
15
|
-
], style: props.style, id:
|
|
17
|
+
], style: props.style, id: id, autofocus: props.autofocus, spellcheck: optionalString(props.spellcheck), readonly: !(props.value instanceof Signal), "prop:value": props.value, "on:input": () => {
|
|
16
18
|
if (props.value instanceof Signal) {
|
|
17
19
|
props.value.value = input.value;
|
|
18
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../src/components/text-input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,GAAG,EAAE,MAAM,EAAc,MAAM,KAAK,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../src/components/text-input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,GAAG,EAAE,MAAM,EAAc,MAAM,KAAK,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKnD,MAAM,UAAU,SAAS,CAAC,KAqDzB;IACA,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE1D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,YAAY,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,MAAM,KAAK,GAAG,KAAC,QAAQ,IACtB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,EACrE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC9C,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC9C,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;YACN,KAAK,EAAE,UAAU;YACjB,KAAK,CAAC,KAAK;SACX,EACD,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,EAC5C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY,MAAM,CAAC,gBAE9B,KAAK,CAAC,KAAK,cACb,GAAG,EAAE;YACd,IAAI,KAAK,CAAC,KAAK,YAAY,MAAM,EAAE,CAAC;gBACnC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACjC,CAAC;QACF,CAAC,gBAEW,KAAK,CAAC,YAAY,CAAC,qBACd,KAAK,CAAC,iBAAiB,CAAC,kBAE3B,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,uBACpD,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,GAC1C,CAAC;IAEvB,OAAO,KAAK,CAAC;AACd,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./common/context.js";
|
|
|
2
2
|
export * from "./common/coupling.js";
|
|
3
3
|
export * from "./common/events.js";
|
|
4
4
|
export * from "./common/focus-trap.js";
|
|
5
|
+
export * from "./common/id-pairs.js";
|
|
5
6
|
export * from "./common/theme.js";
|
|
6
7
|
export * from "./common/types.js";
|
|
7
8
|
export * from "./common/writing-mode.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./common/context.js";
|
|
|
2
2
|
export * from "./common/coupling.js";
|
|
3
3
|
export * from "./common/events.js";
|
|
4
4
|
export * from "./common/focus-trap.js";
|
|
5
|
+
export * from "./common/id-pairs.js";
|
|
5
6
|
export * from "./common/theme.js";
|
|
6
7
|
export * from "./common/types.js";
|
|
7
8
|
export * from "./common/writing-mode.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
|
package/package.json
CHANGED
package/src/common/events.tsx
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Expression, get, Overwrite } from "rvx";
|
|
1
2
|
import { TASKS } from "rvx/async";
|
|
2
3
|
|
|
3
4
|
export interface Key {
|
|
@@ -50,6 +51,16 @@ export function handleKeyActionEvent<T extends unknown[]>(event: KeyboardEvent,
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
|
|
54
|
+
export function WithAction(props: {
|
|
55
|
+
children: unknown,
|
|
56
|
+
action: Action<[], KeyboardEvent>,
|
|
57
|
+
key?: Expression<string | Key | undefined>;
|
|
58
|
+
}) {
|
|
59
|
+
return <Overwrite on:keydown={e => handleKeyActionEvent(e, get(props.key) ?? "enter", props.action)}>
|
|
60
|
+
{props.children}
|
|
61
|
+
</Overwrite>;
|
|
62
|
+
}
|
|
63
|
+
|
|
53
64
|
/**
|
|
54
65
|
* Run an action of the event target is hovered for a minimum duration.
|
|
55
66
|
*
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Content, Context, uniqueId } from "rvx";
|
|
2
|
+
|
|
3
|
+
export class IdPair {
|
|
4
|
+
#prefix: string | undefined;
|
|
5
|
+
|
|
6
|
+
prefix() {
|
|
7
|
+
this.#prefix = uniqueId();
|
|
8
|
+
return this.#prefix;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
consume(): string | undefined {
|
|
12
|
+
const value = this.#prefix;
|
|
13
|
+
this.#prefix = undefined;
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const ID_PAIR = new Context(new IdPair());
|
|
19
|
+
|
|
20
|
+
export function PairId(props: {
|
|
21
|
+
children?: (id: string | undefined) => Content;
|
|
22
|
+
}): Content {
|
|
23
|
+
const id = ID_PAIR.current.consume();
|
|
24
|
+
return props.children?.(id);
|
|
25
|
+
}
|
|
@@ -2,6 +2,7 @@ import { ClassValue, Expression, get, Signal, StyleValue, uniqueId, watch } from
|
|
|
2
2
|
import { isPending } from "rvx/async";
|
|
3
3
|
|
|
4
4
|
import { optionalString, string } from "rvx/convert";
|
|
5
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
5
6
|
import { THEME } from "../common/theme.js";
|
|
6
7
|
import { Text } from "./text.js";
|
|
7
8
|
import { closestValidator } from "./validation.js";
|
|
@@ -16,7 +17,8 @@ export function Checkbox(props: {
|
|
|
16
17
|
autofocus?: Expression<boolean | undefined>;
|
|
17
18
|
children?: unknown;
|
|
18
19
|
}): unknown {
|
|
19
|
-
const
|
|
20
|
+
const pairId = ID_PAIR.current.consume();
|
|
21
|
+
const id = props.children === undefined ? pairId : uniqueId();
|
|
20
22
|
const theme = THEME.current;
|
|
21
23
|
|
|
22
24
|
const disabled = props.checked instanceof Signal
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { $, captureSelf, ClassValue, Context, Emitter, Event, Expression, map, render, StyleValue, teardown, uniqueId } from "rvx";
|
|
2
2
|
import { TASKS, Tasks, useMicrotask } from "rvx/async";
|
|
3
|
+
import { inOverlayContext } from "../common/context.js";
|
|
3
4
|
import { Column, FlexSpace, Group, Heading, Row, Separated, Text, THEME } from "../index.js";
|
|
4
5
|
import { LAYER, Layer } from "./layer.js";
|
|
5
|
-
import { inOverlayContext } from "../common/context.js";
|
|
6
6
|
|
|
7
7
|
export class DialogAbortError extends Error { }
|
|
8
8
|
|
|
@@ -37,12 +37,12 @@ export function showDialog<T = void>(init: DialogInit<T>, options?: DialogOption
|
|
|
37
37
|
},
|
|
38
38
|
reject(reason) {
|
|
39
39
|
dispose();
|
|
40
|
-
reject(reason);
|
|
40
|
+
reject(reason ?? new DialogAbortError());
|
|
41
41
|
},
|
|
42
42
|
};
|
|
43
43
|
if (options?.cancellable ?? true) {
|
|
44
44
|
LAYER.current!.useHotkey("escape", () => {
|
|
45
|
-
dialog.reject(
|
|
45
|
+
dialog.reject();
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
48
|
return init(dialog);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ClassValue, Expression, get, map, Signal, StyleValue } from "rvx";
|
|
2
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
2
3
|
import { Button, ButtonVariant } from "./button.js";
|
|
3
4
|
import { Dropdown, DropdownItem } from "./dropdown.js";
|
|
4
5
|
import { PopoutAlignment, PopoutPlacement } from "./popout.js";
|
|
@@ -32,6 +33,7 @@ export function DropdownInput<T>(props: {
|
|
|
32
33
|
alignment?: Expression<PopoutAlignment | undefined>;
|
|
33
34
|
foreignEvents?: string[];
|
|
34
35
|
}): unknown {
|
|
36
|
+
const id = props.id ?? ID_PAIR.current.consume();
|
|
35
37
|
const items = new WeakMap<DropdownValue<T>, DropdownItem>();
|
|
36
38
|
return <Dropdown
|
|
37
39
|
anchor={a => <Button
|
|
@@ -40,7 +42,7 @@ export function DropdownInput<T>(props: {
|
|
|
40
42
|
disabled={props.value instanceof Signal ? props.disabled : true}
|
|
41
43
|
class={props.class}
|
|
42
44
|
style={props.style}
|
|
43
|
-
id={
|
|
45
|
+
id={id}
|
|
44
46
|
autofocus={props.autofocus}
|
|
45
47
|
title={props.title}
|
|
46
48
|
role="combobox"
|
package/src/components/label.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ClassValue, Expression, StyleValue
|
|
1
|
+
import { ClassValue, Expression, StyleValue } from "rvx";
|
|
2
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
2
3
|
import { THEME } from "../common/theme.js";
|
|
3
|
-
import { Group } from "./column.js";
|
|
4
4
|
|
|
5
5
|
export function Label(props: {
|
|
6
6
|
class?: ClassValue;
|
|
@@ -10,28 +10,16 @@ export function Label(props: {
|
|
|
10
10
|
children?: unknown;
|
|
11
11
|
}): unknown {
|
|
12
12
|
const theme = THEME.current;
|
|
13
|
+
const idFor = props.for ?? ID_PAIR.current.prefix();
|
|
13
14
|
return <label
|
|
14
15
|
class={[
|
|
15
16
|
theme?.label,
|
|
16
17
|
props.class,
|
|
17
18
|
]}
|
|
18
19
|
style={props.style}
|
|
19
|
-
for={
|
|
20
|
+
for={idFor}
|
|
20
21
|
id={props.id}
|
|
21
22
|
>
|
|
22
23
|
{props.children}
|
|
23
24
|
</label>;
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
-
export function LabelFor(props: {
|
|
27
|
-
class?: ClassValue;
|
|
28
|
-
style?: StyleValue;
|
|
29
|
-
label: unknown;
|
|
30
|
-
children: (id: string) => unknown;
|
|
31
|
-
}): unknown {
|
|
32
|
-
const id = uniqueId();
|
|
33
|
-
return <Group>
|
|
34
|
-
<Label class={props.class} style={props.style} for={id}>{props.label}</Label>
|
|
35
|
-
{props.children(id)}
|
|
36
|
-
</Group>;
|
|
37
|
-
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ClassValue, Expression, For, get, map, Signal, StyleValue, uniqueId } from "rvx";
|
|
2
2
|
import { isPending } from "rvx/async";
|
|
3
3
|
import { optionalString, string } from "rvx/convert";
|
|
4
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
4
5
|
import { THEME } from "../common/theme.js";
|
|
5
6
|
import { Text } from "./text.js";
|
|
6
7
|
import { closestValidator } from "./validation.js";
|
|
@@ -25,6 +26,7 @@ export function RadioButtons<T>(props: {
|
|
|
25
26
|
|
|
26
27
|
children?: never;
|
|
27
28
|
}): unknown {
|
|
29
|
+
const id = props.id ?? ID_PAIR.current.consume();
|
|
28
30
|
const group = uniqueId();
|
|
29
31
|
const theme = THEME.current;
|
|
30
32
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Expression, map, Show, Signal, uniqueId } from "rvx";
|
|
2
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
2
3
|
import { THEME } from "../common/theme.js";
|
|
3
4
|
|
|
4
5
|
export function Slider(props: {
|
|
@@ -12,9 +13,10 @@ export function Slider(props: {
|
|
|
12
13
|
}) {
|
|
13
14
|
const theme = THEME.current;
|
|
14
15
|
const markerId = uniqueId();
|
|
16
|
+
const id = props.id ?? ID_PAIR.current.consume();
|
|
15
17
|
|
|
16
18
|
const input = <input
|
|
17
|
-
id={
|
|
19
|
+
id={id}
|
|
18
20
|
type="range"
|
|
19
21
|
min={map(props.min, min => min ?? 0)}
|
|
20
22
|
max={map(props.max, max => max ?? 100)}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ClassValue, Expression, get, Signal, StyleValue } from "rvx";
|
|
2
2
|
import { isPending } from "rvx/async";
|
|
3
3
|
import { optionalString } from "rvx/convert";
|
|
4
|
-
import {
|
|
4
|
+
import { ID_PAIR } from "../common/id-pairs.js";
|
|
5
5
|
import { THEME } from "../common/theme.js";
|
|
6
6
|
import { closestValidator } from "./validation.js";
|
|
7
7
|
|
|
@@ -62,6 +62,7 @@ export function TextInput(props: ({
|
|
|
62
62
|
"aria-label"?: Expression<string | undefined>;
|
|
63
63
|
"aria-labelledby"?: Expression<string | undefined>;
|
|
64
64
|
}): unknown {
|
|
65
|
+
const id = props.id ?? ID_PAIR.current.consume();
|
|
65
66
|
const theme = THEME.current;
|
|
66
67
|
const disabled = () => isPending() || get(props.disabled);
|
|
67
68
|
|
|
@@ -78,7 +79,7 @@ export function TextInput(props: ({
|
|
|
78
79
|
props.class,
|
|
79
80
|
]}
|
|
80
81
|
style={props.style}
|
|
81
|
-
id={
|
|
82
|
+
id={id}
|
|
82
83
|
autofocus={props.autofocus}
|
|
83
84
|
spellcheck={optionalString(props.spellcheck)}
|
|
84
85
|
readonly={!(props.value instanceof Signal)}
|
package/src/index.tsx
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./common/context.js";
|
|
|
2
2
|
export * from "./common/coupling.js";
|
|
3
3
|
export * from "./common/events.js";
|
|
4
4
|
export * from "./common/focus-trap.js";
|
|
5
|
+
export * from "./common/id-pairs.js";
|
|
5
6
|
export * from "./common/theme.js";
|
|
6
7
|
export * from "./common/types.js";
|
|
7
8
|
export * from "./common/writing-mode.js";
|