@rvx/ui 0.3.2 → 0.3.3

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.
@@ -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":"AAEA,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;;;;;;;;;;;;;;;;;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"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/common/events.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "rvx"
13
13
  ],
14
14
  "license": "MIT",
15
- "version": "0.3.2",
15
+ "version": "0.3.3",
16
16
  "type": "module",
17
17
  "main": "./dist/index.js",
18
18
  "sideEffects": false,
@@ -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
  *