@vhyxseal/react 0.1.0

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.
Files changed (73) hide show
  1. package/dist/components/Button/index.d.ts +22 -0
  2. package/dist/components/Button/index.d.ts.map +1 -0
  3. package/dist/components/Button/index.js +18 -0
  4. package/dist/components/Button/index.js.map +1 -0
  5. package/dist/components/Confirmation/index.d.ts +55 -0
  6. package/dist/components/Confirmation/index.d.ts.map +1 -0
  7. package/dist/components/Confirmation/index.js +52 -0
  8. package/dist/components/Confirmation/index.js.map +1 -0
  9. package/dist/components/Display/index.d.ts +26 -0
  10. package/dist/components/Display/index.d.ts.map +1 -0
  11. package/dist/components/Display/index.js +20 -0
  12. package/dist/components/Display/index.js.map +1 -0
  13. package/dist/components/Form/index.d.ts +24 -0
  14. package/dist/components/Form/index.d.ts.map +1 -0
  15. package/dist/components/Form/index.js +20 -0
  16. package/dist/components/Form/index.js.map +1 -0
  17. package/dist/components/Input/index.d.ts +21 -0
  18. package/dist/components/Input/index.d.ts.map +1 -0
  19. package/dist/components/Input/index.js +18 -0
  20. package/dist/components/Input/index.js.map +1 -0
  21. package/dist/components/Nav/index.d.ts +24 -0
  22. package/dist/components/Nav/index.d.ts.map +1 -0
  23. package/dist/components/Nav/index.js +20 -0
  24. package/dist/components/Nav/index.js.map +1 -0
  25. package/dist/components/index.d.ts +13 -0
  26. package/dist/components/index.d.ts.map +1 -0
  27. package/dist/components/index.js +7 -0
  28. package/dist/components/index.js.map +1 -0
  29. package/dist/components/shared/useContractRegistration.d.ts +11 -0
  30. package/dist/components/shared/useContractRegistration.d.ts.map +1 -0
  31. package/dist/components/shared/useContractRegistration.js +27 -0
  32. package/dist/components/shared/useContractRegistration.js.map +1 -0
  33. package/dist/hoc/index.d.ts +2 -0
  34. package/dist/hoc/index.d.ts.map +1 -0
  35. package/dist/hoc/index.js +2 -0
  36. package/dist/hoc/index.js.map +1 -0
  37. package/dist/hoc/withAgentContract.d.ts +32 -0
  38. package/dist/hoc/withAgentContract.d.ts.map +1 -0
  39. package/dist/hoc/withAgentContract.js +57 -0
  40. package/dist/hoc/withAgentContract.js.map +1 -0
  41. package/dist/hooks/index.d.ts +6 -0
  42. package/dist/hooks/index.d.ts.map +1 -0
  43. package/dist/hooks/index.js +4 -0
  44. package/dist/hooks/index.js.map +1 -0
  45. package/dist/hooks/useAgentAction.d.ts +75 -0
  46. package/dist/hooks/useAgentAction.d.ts.map +1 -0
  47. package/dist/hooks/useAgentAction.js +103 -0
  48. package/dist/hooks/useAgentAction.js.map +1 -0
  49. package/dist/hooks/useCapability.d.ts +35 -0
  50. package/dist/hooks/useCapability.d.ts.map +1 -0
  51. package/dist/hooks/useCapability.js +39 -0
  52. package/dist/hooks/useCapability.js.map +1 -0
  53. package/dist/hooks/useContract.d.ts +16 -0
  54. package/dist/hooks/useContract.d.ts.map +1 -0
  55. package/dist/hooks/useContract.js +19 -0
  56. package/dist/hooks/useContract.js.map +1 -0
  57. package/dist/index.d.ts +5 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +6 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/provider/SealProvider.d.ts +46 -0
  62. package/dist/provider/SealProvider.d.ts.map +1 -0
  63. package/dist/provider/SealProvider.js +103 -0
  64. package/dist/provider/SealProvider.js.map +1 -0
  65. package/dist/provider/context.d.ts +41 -0
  66. package/dist/provider/context.d.ts.map +1 -0
  67. package/dist/provider/context.js +27 -0
  68. package/dist/provider/context.js.map +1 -0
  69. package/dist/provider/index.d.ts +5 -0
  70. package/dist/provider/index.d.ts.map +1 -0
  71. package/dist/provider/index.js +3 -0
  72. package/dist/provider/index.js.map +1 -0
  73. package/package.json +38 -0
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import type { ComponentContract } from "@vhyxseal/core";
3
+ /**
4
+ * Props for the Button component.
5
+ * Extends all standard HTML button attributes.
6
+ */
7
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
8
+ /** Optional VhyxSeal contract. When provided, registers with the nearest SealProvider. */
9
+ contract?: Readonly<ComponentContract>;
10
+ children: React.ReactNode;
11
+ }
12
+ /**
13
+ * Headless action button with optional VhyxSeal contract registration.
14
+ * Renders a native <button> element. All standard HTML button attributes are forwarded.
15
+ * Supports ref forwarding. Degrades gracefully when no SealProvider is present.
16
+ *
17
+ * @example
18
+ * const orderContract = defineContract({ id: 'place-order-btn', intent: 'place-order', ... });
19
+ * <Button contract={orderContract} onClick={handleOrder}>Place Order</Button>
20
+ */
21
+ export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;GAGG;AACH,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACrD,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,uFASlB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { useContractRegistration } from "../shared/useContractRegistration.js";
4
+ /**
5
+ * Headless action button with optional VhyxSeal contract registration.
6
+ * Renders a native <button> element. All standard HTML button attributes are forwarded.
7
+ * Supports ref forwarding. Degrades gracefully when no SealProvider is present.
8
+ *
9
+ * @example
10
+ * const orderContract = defineContract({ id: 'place-order-btn', intent: 'place-order', ... });
11
+ * <Button contract={orderContract} onClick={handleOrder}>Place Order</Button>
12
+ */
13
+ export const Button = React.forwardRef(function Button({ contract, children, ...rest }, ref) {
14
+ useContractRegistration(contract);
15
+ return (_jsx("button", { ref: ref, ...rest, children: children }));
16
+ });
17
+ Button.displayName = "Button";
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAa/E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CACpC,SAAS,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG;IAClD,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CACL,iBAAQ,GAAG,EAAE,GAAG,KAAM,IAAI,YACvB,QAAQ,GACF,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { type ReactNode } from "react";
2
+ import type { ComponentContract } from "@vhyxseal/core";
3
+ /**
4
+ * State and handlers exposed to the Confirmation render prop.
5
+ */
6
+ export interface ConfirmationState {
7
+ /** True once the user has confirmed the action. */
8
+ confirmed: boolean;
9
+ /** True while the confirmation UI is being presented to the user. */
10
+ isPending: boolean;
11
+ /** Request confirmation — transitions to pending state. */
12
+ requestConfirmation: () => void;
13
+ /** User confirmed — sets confirmed true and clears pending. */
14
+ confirm: () => void;
15
+ /** User cancelled — clears pending, leaves confirmed unchanged. */
16
+ cancel: () => void;
17
+ /** Reset to initial state (confirmed false, isPending false). */
18
+ reset: () => void;
19
+ }
20
+ /**
21
+ * Props for the Confirmation component.
22
+ */
23
+ export interface ConfirmationProps {
24
+ /** Optional VhyxSeal contract. When provided, registers with the nearest SealProvider. */
25
+ contract?: Readonly<ComponentContract>;
26
+ /**
27
+ * Render prop. Receives the current confirmation state and handlers.
28
+ * The component renders nothing itself — the caller provides the UI.
29
+ */
30
+ children: (state: ConfirmationState) => ReactNode;
31
+ }
32
+ /**
33
+ * Headless confirmation gate component with optional VhyxSeal contract registration.
34
+ * Manages confirmation lifecycle state and exposes it via render prop.
35
+ * The component renders no DOM elements of its own — developers bring their own UI.
36
+ * Does not require a SealProvider.
37
+ *
38
+ * @example
39
+ * <Confirmation contract={deleteContract}>
40
+ * {({ confirmed, isPending, requestConfirmation, confirm, cancel }) => (
41
+ * <>
42
+ * <button onClick={requestConfirmation}>Delete</button>
43
+ * {isPending && (
44
+ * <dialog open>
45
+ * <p>Are you sure?</p>
46
+ * <button onClick={confirm}>Yes</button>
47
+ * <button onClick={cancel}>No</button>
48
+ * </dialog>
49
+ * )}
50
+ * </>
51
+ * )}
52
+ * </Confirmation>
53
+ */
54
+ export declare function Confirmation({ contract, children, }: ConfirmationProps): ReactNode;
55
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Confirmation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mEAAmE;IACnE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,iEAAiE;IACjE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACvC;;;OAGG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,SAAS,CAAC;CACnD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,QAAQ,GACT,EAAE,iBAAiB,GAAG,SAAS,CAgC/B"}
@@ -0,0 +1,52 @@
1
+ import { useState, useCallback } from "react";
2
+ import { useContractRegistration } from "../shared/useContractRegistration.js";
3
+ /**
4
+ * Headless confirmation gate component with optional VhyxSeal contract registration.
5
+ * Manages confirmation lifecycle state and exposes it via render prop.
6
+ * The component renders no DOM elements of its own — developers bring their own UI.
7
+ * Does not require a SealProvider.
8
+ *
9
+ * @example
10
+ * <Confirmation contract={deleteContract}>
11
+ * {({ confirmed, isPending, requestConfirmation, confirm, cancel }) => (
12
+ * <>
13
+ * <button onClick={requestConfirmation}>Delete</button>
14
+ * {isPending && (
15
+ * <dialog open>
16
+ * <p>Are you sure?</p>
17
+ * <button onClick={confirm}>Yes</button>
18
+ * <button onClick={cancel}>No</button>
19
+ * </dialog>
20
+ * )}
21
+ * </>
22
+ * )}
23
+ * </Confirmation>
24
+ */
25
+ export function Confirmation({ contract, children, }) {
26
+ useContractRegistration(contract);
27
+ const [confirmed, setConfirmed] = useState(false);
28
+ const [isPending, setIsPending] = useState(false);
29
+ const requestConfirmation = useCallback(() => {
30
+ setIsPending(true);
31
+ }, []);
32
+ const confirm = useCallback(() => {
33
+ setConfirmed(true);
34
+ setIsPending(false);
35
+ }, []);
36
+ const cancel = useCallback(() => {
37
+ setIsPending(false);
38
+ }, []);
39
+ const reset = useCallback(() => {
40
+ setConfirmed(false);
41
+ setIsPending(false);
42
+ }, []);
43
+ return children({
44
+ confirmed,
45
+ isPending,
46
+ requestConfirmation,
47
+ confirm,
48
+ cancel,
49
+ reset,
50
+ });
51
+ }
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Confirmation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAkB,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAiC/E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,QAAQ,GACU;IAClB,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAElC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAS,EAAE;QACjD,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,WAAW,CAAC,GAAS,EAAE;QACrC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CAAC,GAAS,EAAE;QACpC,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,WAAW,CAAC,GAAS,EAAE;QACnC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,QAAQ,CAAC;QACd,SAAS;QACT,SAAS;QACT,mBAAmB;QACnB,OAAO;QACP,MAAM;QACN,KAAK;KACN,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ import type { ComponentContract } from "@vhyxseal/core";
3
+ /**
4
+ * Props for the Display component.
5
+ * Extends all standard HTML div attributes.
6
+ */
7
+ export interface DisplayProps extends React.HTMLAttributes<HTMLDivElement> {
8
+ /** Optional VhyxSeal contract. When provided, registers with the nearest SealProvider. */
9
+ contract?: Readonly<ComponentContract>;
10
+ children: React.ReactNode;
11
+ /** ARIA live region behavior. Defaults to "polite". */
12
+ live?: "off" | "polite" | "assertive";
13
+ }
14
+ /**
15
+ * Headless read-only state display component with optional VhyxSeal contract registration.
16
+ * Renders a <div> with an ARIA live region for accessible dynamic content updates.
17
+ * Supports ref forwarding. Degrades gracefully when no SealProvider is present.
18
+ *
19
+ * @example
20
+ * const statusContract = defineContract({ id: 'order-status', type: 'display', ... });
21
+ * <Display contract={statusContract} live="polite">
22
+ * Order confirmed — shipping in 2 days
23
+ * </Display>
24
+ */
25
+ export declare const Display: React.ForwardRefExoticComponent<DisplayProps & React.RefAttributes<HTMLDivElement>>;
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Display/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,uDAAuD;IACvD,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,qFASnB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { useContractRegistration } from "../shared/useContractRegistration.js";
4
+ /**
5
+ * Headless read-only state display component with optional VhyxSeal contract registration.
6
+ * Renders a <div> with an ARIA live region for accessible dynamic content updates.
7
+ * Supports ref forwarding. Degrades gracefully when no SealProvider is present.
8
+ *
9
+ * @example
10
+ * const statusContract = defineContract({ id: 'order-status', type: 'display', ... });
11
+ * <Display contract={statusContract} live="polite">
12
+ * Order confirmed — shipping in 2 days
13
+ * </Display>
14
+ */
15
+ export const Display = React.forwardRef(function Display({ contract, children, live, ...rest }, ref) {
16
+ useContractRegistration(contract);
17
+ return (_jsx("div", { ref: ref, "aria-live": live ?? "polite", ...rest, children: children }));
18
+ });
19
+ Display.displayName = "Display";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Display/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAc/E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CACrC,SAAS,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG;IACzD,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CACL,cAAK,GAAG,EAAE,GAAG,eAAa,IAAI,IAAI,QAAQ,KAAM,IAAI,YACjD,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC"}
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import type { ComponentContract } from "@vhyxseal/core";
3
+ /**
4
+ * Props for the Form component.
5
+ * Extends all standard HTML form attributes.
6
+ */
7
+ export interface FormProps extends React.FormHTMLAttributes<HTMLFormElement> {
8
+ /** Optional VhyxSeal contract. When provided, registers with the nearest SealProvider. */
9
+ contract?: Readonly<ComponentContract>;
10
+ children: React.ReactNode;
11
+ }
12
+ /**
13
+ * Headless form wrapper with optional VhyxSeal contract registration.
14
+ * Renders a native <form> element. All standard HTML form attributes are forwarded.
15
+ * Supports ref forwarding. Degrades gracefully when no SealProvider is present.
16
+ *
17
+ * @example
18
+ * const loginContract = defineContract({ id: 'login-form', intent: 'authenticate', ... });
19
+ * <Form contract={loginContract} onSubmit={handleSubmit}>
20
+ * <Input type="email" /><Button type="submit">Sign In</Button>
21
+ * </Form>
22
+ */
23
+ export declare const Form: React.ForwardRefExoticComponent<FormProps & React.RefAttributes<HTMLFormElement>>;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Form/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC;IAC1E,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,mFAShB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { useContractRegistration } from "../shared/useContractRegistration.js";
4
+ /**
5
+ * Headless form wrapper with optional VhyxSeal contract registration.
6
+ * Renders a native <form> element. All standard HTML form attributes are forwarded.
7
+ * Supports ref forwarding. Degrades gracefully when no SealProvider is present.
8
+ *
9
+ * @example
10
+ * const loginContract = defineContract({ id: 'login-form', intent: 'authenticate', ... });
11
+ * <Form contract={loginContract} onSubmit={handleSubmit}>
12
+ * <Input type="email" /><Button type="submit">Sign In</Button>
13
+ * </Form>
14
+ */
15
+ export const Form = React.forwardRef(function Form({ contract, children, ...rest }, ref) {
16
+ useContractRegistration(contract);
17
+ return (_jsx("form", { ref: ref, ...rest, children: children }));
18
+ });
19
+ Form.displayName = "Form";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Form/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAY/E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAClC,SAAS,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG;IAChD,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CACL,eAAM,GAAG,EAAE,GAAG,KAAM,IAAI,YACrB,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC"}
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import type { ComponentContract } from "@vhyxseal/core";
3
+ /**
4
+ * Props for the Input component.
5
+ * Extends all standard HTML input attributes.
6
+ */
7
+ export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
8
+ /** Optional VhyxSeal contract. When provided, registers with the nearest SealProvider. */
9
+ contract?: Readonly<ComponentContract>;
10
+ }
11
+ /**
12
+ * Headless input component with optional VhyxSeal contract registration.
13
+ * Renders a native <input> element. All standard HTML input attributes are forwarded.
14
+ * Supports ref forwarding. Degrades gracefully when no SealProvider is present.
15
+ *
16
+ * @example
17
+ * const searchContract = defineContract({ id: 'search-input', intent: 'search', ... });
18
+ * <Input contract={searchContract} type="search" placeholder="Search..." />
19
+ */
20
+ export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Input/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;GAGG;AACH,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;IAC7E,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;CACxC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,qFAKjB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { useContractRegistration } from "../shared/useContractRegistration.js";
4
+ /**
5
+ * Headless input component with optional VhyxSeal contract registration.
6
+ * Renders a native <input> element. All standard HTML input attributes are forwarded.
7
+ * Supports ref forwarding. Degrades gracefully when no SealProvider is present.
8
+ *
9
+ * @example
10
+ * const searchContract = defineContract({ id: 'search-input', intent: 'search', ... });
11
+ * <Input contract={searchContract} type="search" placeholder="Search..." />
12
+ */
13
+ export const Input = React.forwardRef(function Input({ contract, ...rest }, ref) {
14
+ useContractRegistration(contract);
15
+ return _jsx("input", { ref: ref, ...rest });
16
+ });
17
+ Input.displayName = "Input";
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Input/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAW/E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CACnC,SAAS,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG;IACvC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,gBAAO,GAAG,EAAE,GAAG,KAAM,IAAI,GAAI,CAAC;AACvC,CAAC,CACF,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC"}
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import type { ComponentContract } from "@vhyxseal/core";
3
+ /**
4
+ * Props for the Nav component.
5
+ * Extends all standard HTML element attributes.
6
+ */
7
+ export interface NavProps extends React.HTMLAttributes<HTMLElement> {
8
+ /** Optional VhyxSeal contract. When provided, registers with the nearest SealProvider. */
9
+ contract?: Readonly<ComponentContract>;
10
+ children: React.ReactNode;
11
+ }
12
+ /**
13
+ * Headless navigation wrapper with optional VhyxSeal contract registration.
14
+ * Renders a native <nav> element. All standard HTML attributes are forwarded.
15
+ * Supports ref forwarding. Degrades gracefully when no SealProvider is present.
16
+ *
17
+ * @example
18
+ * const navContract = defineContract({ id: 'main-nav', intent: 'navigate', ... });
19
+ * <Nav contract={navContract}>
20
+ * <a href="/home">Home</a>
21
+ * </Nav>
22
+ */
23
+ export declare const Nav: React.ForwardRefExoticComponent<NavProps & React.RefAttributes<HTMLElement>>;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Nav/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACjE,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,8EASf,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { useContractRegistration } from "../shared/useContractRegistration.js";
4
+ /**
5
+ * Headless navigation wrapper with optional VhyxSeal contract registration.
6
+ * Renders a native <nav> element. All standard HTML attributes are forwarded.
7
+ * Supports ref forwarding. Degrades gracefully when no SealProvider is present.
8
+ *
9
+ * @example
10
+ * const navContract = defineContract({ id: 'main-nav', intent: 'navigate', ... });
11
+ * <Nav contract={navContract}>
12
+ * <a href="/home">Home</a>
13
+ * </Nav>
14
+ */
15
+ export const Nav = React.forwardRef(function Nav({ contract, children, ...rest }, ref) {
16
+ useContractRegistration(contract);
17
+ return (_jsx("nav", { ref: ref, ...rest, children: children }));
18
+ });
19
+ Nav.displayName = "Nav";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Nav/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAY/E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CACjC,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG;IAC/C,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CACL,cAAK,GAAG,EAAE,GAAG,KAAM,IAAI,YACpB,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC"}
@@ -0,0 +1,13 @@
1
+ export { Button } from "./Button/index.js";
2
+ export type { ButtonProps } from "./Button/index.js";
3
+ export { Input } from "./Input/index.js";
4
+ export type { InputProps } from "./Input/index.js";
5
+ export { Form } from "./Form/index.js";
6
+ export type { FormProps } from "./Form/index.js";
7
+ export { Nav } from "./Nav/index.js";
8
+ export type { NavProps } from "./Nav/index.js";
9
+ export { Display } from "./Display/index.js";
10
+ export type { DisplayProps } from "./Display/index.js";
11
+ export { Confirmation } from "./Confirmation/index.js";
12
+ export type { ConfirmationProps, ConfirmationState, } from "./Confirmation/index.js";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { Button } from "./Button/index.js";
2
+ export { Input } from "./Input/index.js";
3
+ export { Form } from "./Form/index.js";
4
+ export { Nav } from "./Nav/index.js";
5
+ export { Display } from "./Display/index.js";
6
+ export { Confirmation } from "./Confirmation/index.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ComponentContract } from "@vhyxseal/core";
2
+ /**
3
+ * Internal hook. Registers a contract with the nearest SealProvider on mount and
4
+ * unregisters on unmount. No-ops gracefully when no SealProvider is present or
5
+ * when contract is undefined.
6
+ *
7
+ * @param contract - The contract to register, or undefined for no-op.
8
+ * @internal — not exported from the package public API.
9
+ */
10
+ export declare function useContractRegistration(contract: Readonly<ComponentContract> | undefined): void;
11
+ //# sourceMappingURL=useContractRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContractRegistration.d.ts","sourceRoot":"","sources":["../../../src/components/shared/useContractRegistration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAChD,IAAI,CAeN"}
@@ -0,0 +1,27 @@
1
+ import { useContext, useEffect } from "react";
2
+ import { SealContext } from "../../provider/context.js";
3
+ /**
4
+ * Internal hook. Registers a contract with the nearest SealProvider on mount and
5
+ * unregisters on unmount. No-ops gracefully when no SealProvider is present or
6
+ * when contract is undefined.
7
+ *
8
+ * @param contract - The contract to register, or undefined for no-op.
9
+ * @internal — not exported from the package public API.
10
+ */
11
+ export function useContractRegistration(contract) {
12
+ const ctx = useContext(SealContext);
13
+ useEffect(() => {
14
+ if (!contract || !ctx)
15
+ return;
16
+ ctx.registerContract(contract);
17
+ return () => {
18
+ ctx.unregisterContract(contract.id);
19
+ };
20
+ // contract.id and contract.fingerprint as deps — re-register when contract identity or
21
+ // content changes. ctx intentionally omitted: registerContract / unregisterContract are
22
+ // stable useCallback references from SealProvider; including ctx causes infinite render
23
+ // loops (Session 012 finding: "never put [ctx] in useEffect deps").
24
+ // eslint-disable-next-line react-hooks/exhaustive-deps
25
+ }, [contract?.id, contract?.fingerprint]);
26
+ }
27
+ //# sourceMappingURL=useContractRegistration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContractRegistration.js","sourceRoot":"","sources":["../../../src/components/shared/useContractRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAiD;IAEjD,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG;YAAE,OAAO;QAC9B,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,uFAAuF;QACvF,wFAAwF;QACxF,wFAAwF;QACxF,oEAAoE;QACpE,uDAAuD;IACzD,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { withAgentContract } from "./withAgentContract.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hoc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { withAgentContract } from "./withAgentContract.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hoc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { type ComponentType } from "react";
2
+ import type { ComponentContract } from "@vhyxseal/core";
3
+ /**
4
+ * Wraps any React component with a VhyxSeal contract without modifying the original.
5
+ *
6
+ * The contract is registered in SealContext on mount and unregistered on unmount.
7
+ * When rendered outside a SealProvider the component still renders — the contract
8
+ * is silently skipped and a console.warn is emitted in non-production environments.
9
+ * This follows the "errors never crash the visual layer" principle.
10
+ *
11
+ * For stable behavior, define the contract outside the render function using
12
+ * defineContract() from @vhyxseal/core. Inline contract objects will trigger
13
+ * re-registration on every render.
14
+ *
15
+ * @param WrappedComponent - Any React component. Receives all its original props unchanged.
16
+ * @param contract - A complete ComponentContract. Use defineContract() for fingerprinting.
17
+ * @returns A new component with the same props interface.
18
+ * @example
19
+ * import { withAgentContract } from '@vhyxseal/react';
20
+ * import { defineContract } from '@vhyxseal/core';
21
+ *
22
+ * const orderContract = defineContract({ id: 'checkout-btn', intent: 'place-order', ... });
23
+ *
24
+ * const PlaceOrderButton = withAgentContract(
25
+ * ({ onClick, disabled }) => (
26
+ * <button onClick={onClick} disabled={disabled}>Place Order</button>
27
+ * ),
28
+ * orderContract,
29
+ * );
30
+ */
31
+ export declare function withAgentContract<P extends object>(WrappedComponent: ComponentType<P>, contract: Readonly<ComponentContract>): ComponentType<P>;
32
+ //# sourceMappingURL=withAgentContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withAgentContract.d.ts","sourceRoot":"","sources":["../../src/hoc/withAgentContract.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,EAClC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GACpC,aAAa,CAAC,CAAC,CAAC,CAiClB"}
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useContext, useEffect, } from "react";
3
+ import { SealContext } from "../provider/context.js";
4
+ /**
5
+ * Wraps any React component with a VhyxSeal contract without modifying the original.
6
+ *
7
+ * The contract is registered in SealContext on mount and unregistered on unmount.
8
+ * When rendered outside a SealProvider the component still renders — the contract
9
+ * is silently skipped and a console.warn is emitted in non-production environments.
10
+ * This follows the "errors never crash the visual layer" principle.
11
+ *
12
+ * For stable behavior, define the contract outside the render function using
13
+ * defineContract() from @vhyxseal/core. Inline contract objects will trigger
14
+ * re-registration on every render.
15
+ *
16
+ * @param WrappedComponent - Any React component. Receives all its original props unchanged.
17
+ * @param contract - A complete ComponentContract. Use defineContract() for fingerprinting.
18
+ * @returns A new component with the same props interface.
19
+ * @example
20
+ * import { withAgentContract } from '@vhyxseal/react';
21
+ * import { defineContract } from '@vhyxseal/core';
22
+ *
23
+ * const orderContract = defineContract({ id: 'checkout-btn', intent: 'place-order', ... });
24
+ *
25
+ * const PlaceOrderButton = withAgentContract(
26
+ * ({ onClick, disabled }) => (
27
+ * <button onClick={onClick} disabled={disabled}>Place Order</button>
28
+ * ),
29
+ * orderContract,
30
+ * );
31
+ */
32
+ export function withAgentContract(WrappedComponent, contract) {
33
+ const WithAgentContract = (props) => {
34
+ const ctx = useContext(SealContext);
35
+ useEffect(() => {
36
+ if (ctx === null) {
37
+ if (process.env["NODE_ENV"] !== "production") {
38
+ console.warn(`[VhyxSeal] withAgentContract: component "${contract.id}" rendered ` +
39
+ `outside SealProvider. Contract not registered.`);
40
+ }
41
+ return;
42
+ }
43
+ ctx.registerContract(contract);
44
+ return () => {
45
+ ctx.unregisterContract(contract.id);
46
+ };
47
+ // contract.fingerprint as sole dep: re-register when fingerprint changes, not on every
48
+ // render. ctx.registerContract / unregisterContract are stable useCallback references
49
+ // from SealProvider — intentionally omitted to avoid [ctx] infinite-render issues.
50
+ // eslint-disable-next-line react-hooks/exhaustive-deps
51
+ }, [contract.fingerprint]);
52
+ return _jsx(WrappedComponent, { ...props });
53
+ };
54
+ WithAgentContract.displayName = `WithAgentContract(${WrappedComponent.displayName || WrappedComponent.name || "Component"})`;
55
+ return WithAgentContract;
56
+ }
57
+ //# sourceMappingURL=withAgentContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withAgentContract.js","sourceRoot":"","sources":["../../src/hoc/withAgentContract.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,EACV,SAAS,GAIV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,iBAAiB,CAC/B,gBAAkC,EAClC,QAAqC;IAErC,MAAM,iBAAiB,GAAyB,CAAC,KAAQ,EAAa,EAAE;QACtE,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAEpC,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;oBAC7C,OAAO,CAAC,IAAI,CACV,4CAA4C,QAAQ,CAAC,EAAE,aAAa;wBAClE,gDAAgD,CACnD,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAE/B,OAAO,GAAG,EAAE;gBACV,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC;YACF,uFAAuF;YACvF,sFAAsF;YACtF,mFAAmF;YACnF,uDAAuD;QACzD,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAE3B,OAAO,KAAC,gBAAgB,OAAK,KAAK,GAAI,CAAC;IACzC,CAAC,CAAC;IAEF,iBAAiB,CAAC,WAAW,GAAG,qBAC9B,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,IAAI,WAC3D,GAAG,CAAC;IACJ,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { useContract } from "./useContract.js";
2
+ export { useCapability } from "./useCapability.js";
3
+ export type { CapabilityMap } from "./useCapability.js";
4
+ export { useAgentAction } from "./useAgentAction.js";
5
+ export type { AgentActionStatus, AgentActionRecord, UseAgentActionReturn, } from "./useAgentAction.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { useContract } from "./useContract.js";
2
+ export { useCapability } from "./useCapability.js";
3
+ export { useAgentAction } from "./useAgentAction.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}