@dexterai/connect 0.21.0 → 0.22.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.
@@ -21,6 +21,9 @@ var BUTTON_CSS = `
21
21
  .dx-btn:disabled{ cursor:default; filter:saturate(.85) brightness(.98); }
22
22
  .dx-btn--secondary{ background:transparent; color:var(--dx-ember,#f26c18); box-shadow:none; border-color:color-mix(in srgb,var(--dx-ember,#f26c18) 45%,transparent); }
23
23
  .dx-btn--secondary:hover{ background:color-mix(in srgb,var(--dx-ember,#f26c18) 9%,transparent); filter:none; box-shadow:none; }
24
+ .dx-btn--danger{ background:transparent; color:var(--dx-danger,#b3261e); box-shadow:none; border-color:color-mix(in srgb,var(--dx-danger,#b3261e) 45%,transparent); }
25
+ .dx-btn--danger:hover{ background:color-mix(in srgb,var(--dx-danger,#b3261e) 9%,transparent); filter:none; box-shadow:none; transform:none; }
26
+ .dx-btn--danger:focus-visible{ box-shadow:0 0 0 3px color-mix(in srgb,var(--dx-danger,#b3261e) 38%,transparent); }
24
27
  .dx-btn--block{ width:100%; }
25
28
  .dx-btn__mark{ flex-shrink:0; }
26
29
  .dx-btn__spin{ width:15px; height:15px; flex-shrink:0; border-radius:50%;
@@ -76,17 +79,25 @@ function DexterButton(props) {
76
79
  onClick,
77
80
  disabled = false,
78
81
  className,
79
- type = "button"
82
+ type = "button",
83
+ ...rest
80
84
  } = props;
81
85
  useEffect(ensureDexterButtonStyles, []);
82
86
  return /* @__PURE__ */ jsx(
83
87
  "button",
84
88
  {
85
89
  type,
86
- className: cx("dx-btn", variant === "secondary" && "dx-btn--secondary", block && "dx-btn--block", className),
90
+ className: cx(
91
+ "dx-btn",
92
+ variant === "secondary" && "dx-btn--secondary",
93
+ variant === "danger" && "dx-btn--danger",
94
+ block && "dx-btn--block",
95
+ className
96
+ ),
87
97
  onClick,
88
98
  disabled: disabled || loading,
89
99
  "aria-busy": loading,
100
+ ...rest,
90
101
  children: loading ? /* @__PURE__ */ jsxs(Fragment, { children: [
91
102
  /* @__PURE__ */ jsx("span", { className: "dx-btn__spin", "aria-hidden": true }),
92
103
  /* @__PURE__ */ jsx("span", { className: "dx-btn__doing", children: loadingLabel })
package/dist/react.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { DexterApiBrowserPasskeySigner } from '@dexterai/vault/signers/browser';
2
2
  import { b as CeremonyPhase, S as SignInResult, d as RecoverOutcome, P as PasskeyLoginTokens, c as ConnectVault, e as ConnectError, l as StoredWallet, g as PasskeySignalSupport, i as ResolvedIdentity, C as CreateWalletResult } from './signals-pjh3z6N8.js';
3
3
  export { h as RecoverVault } from './signals-pjh3z6N8.js';
4
- import { ReactElement, ReactNode } from 'react';
4
+ import { ReactElement, ButtonHTMLAttributes, ReactNode } from 'react';
5
5
 
6
6
  type ConnectStatus = 'idle' | 'pending' | 'done' | 'error';
7
7
  interface UseSignInWithDexterConfig {
@@ -101,15 +101,16 @@ declare function SignInWithDexter(props: SignInWithDexterProps): ReactElement |
101
101
 
102
102
  /** The Dexter passkey mark — the brand glyph carried on the branded button. */
103
103
  declare function DexterMark(): ReactElement;
104
- interface DexterButtonProps {
104
+ interface DexterButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onClick' | 'disabled' | 'className' | 'type'> {
105
105
  /** Button content (e.g. "Sign in with Dexter", "Create your Dexter Wallet"). */
106
106
  children?: ReactNode;
107
107
  /** Loading state: shows the animated spinner + `loadingLabel`, disables click. */
108
108
  loading?: boolean;
109
109
  /** Label shown next to the spinner while loading. Default "Connecting…". */
110
110
  loadingLabel?: string;
111
- /** 'primary' = filled ember (default), 'secondary' = outline. */
112
- variant?: 'primary' | 'secondary';
111
+ /** 'primary' = filled ember (default), 'secondary' = outline,
112
+ * 'danger' = outline in the danger color for destructive actions. */
113
+ variant?: 'primary' | 'secondary' | 'danger';
113
114
  /** Full-width (fills its container). */
114
115
  block?: boolean;
115
116
  /** Render the Dexter mark before the children. Default true. */
package/dist/react.js CHANGED
@@ -23,7 +23,7 @@ import {
23
23
  DexterMark,
24
24
  cx,
25
25
  ensureDexterButtonStyles
26
- } from "./chunk-2WETR5DJ.js";
26
+ } from "./chunk-O3KYGAKT.js";
27
27
 
28
28
  // src/useSignInWithDexter.ts
29
29
  import { useCallback, useEffect, useMemo, useState } from "react";
package/dist/worldid.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DexterButton,
3
3
  ensureDexterButtonStyles
4
- } from "./chunk-2WETR5DJ.js";
4
+ } from "./chunk-O3KYGAKT.js";
5
5
 
6
6
  // src/worldid.tsx
7
7
  import { useEffect, useState } from "react";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dexterai/connect",
3
- "version": "0.21.0",
4
- "description": "Sign in with Dexter \u2014 passkey connector. Composes @dexterai/vault.",
3
+ "version": "0.22.0",
4
+ "description": "Sign in with Dexter passkey connector. Composes @dexterai/vault.",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
@@ -44,7 +44,7 @@
44
44
  }
45
45
  },
46
46
  "devDependencies": {
47
- "@dexterai/vault": "^0.30.0",
47
+ "@dexterai/vault": "^0.37.0",
48
48
  "@solana/web3.js": "^1.98.4",
49
49
  "@types/react": "^19.1.12",
50
50
  "@types/react-dom": "^19.2.3",