@stridge/kit 0.1.0-alpha.2 → 0.1.0-alpha.20
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/README.md +17 -3
- package/dist/KitProvider.d.ts +13 -0
- package/dist/KitProvider.js +1 -1
- package/dist/_internal/withdraw/driver/index.d.ts +2 -2
- package/dist/drivers/stridge/createStridgeDepositDriver.js +1 -1
- package/dist/drivers/stridge/createStridgeWithdrawDriver.d.ts +10 -12
- package/dist/drivers/stridge/createStridgeWithdrawDriver.js +1 -1
- package/dist/drivers/stridge/internal/metadata.js +1 -1
- package/dist/drivers/stridge/types.d.ts +7 -4
- package/dist/drivers/stridge-mock/createStridgeMockWithdrawDriver.d.ts +2 -2
- package/dist/drivers/stridge-mock/createStridgeMockWithdrawDriver.js +1 -1
- package/dist/drivers/stridge-mock/fixtures.d.ts +1 -1
- package/dist/drivers/stridge-mock/fixtures.js +1 -1
- package/dist/flows/deposit/dialog/DepositDialog.js +1 -1
- package/dist/flows/deposit/orchestrator/controller.js +1 -1
- package/dist/flows/deposit/widgets/deposit/Deposit.js +1 -1
- package/dist/flows/deposit/widgets/deposit-status-banner/DepositStatusBanner.js +1 -1
- package/dist/flows/deposit/widgets/deposit-status-banner/compound/DepositStatusBanner.js +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Address.js +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Disclosure.d.ts +2 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/Disclosure.js +1 -1
- package/dist/flows/deposit/widgets/transfer-crypto/compound/components/QrCode.js +1 -1
- package/dist/flows/shared/transformers/pickRelevantSettlement.js +1 -1
- package/dist/flows/withdraw/bindings/WithdrawBindings.d.ts +92 -0
- package/dist/flows/withdraw/bindings/WithdrawBindings.js +1 -0
- package/dist/flows/withdraw/bindings/index.d.ts +1 -0
- package/dist/flows/withdraw/bindings/index.js +1 -0
- package/dist/flows/withdraw/dialog/WithdrawDialog.d.ts +57 -11
- package/dist/flows/withdraw/dialog/WithdrawDialog.js +1 -1
- package/dist/flows/withdraw/driver/types.d.ts +53 -11
- package/dist/flows/withdraw/orchestrator/controller.js +1 -1
- package/dist/flows/withdraw/orchestrator/reducer.js +1 -1
- package/dist/flows/withdraw/orchestrator/types.d.ts +106 -31
- package/dist/flows/withdraw/widgets/withdraw-form/WithdrawForm.js +1 -1
- package/dist/flows/withdraw/widgets/withdraw-form/compound/WithdrawForm.js +1 -1
- package/dist/flows/withdraw/widgets/withdraw-form/compound/components/RecipientField.d.ts +7 -5
- package/dist/flows/withdraw/widgets/withdraw-form/compound/components/RecipientField.js +1 -1
- package/dist/flows/withdraw/widgets/withdraw-form/compound/types.d.ts +8 -5
- package/dist/i18n/index.d.ts +5 -4
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/locales/ar.js +1 -1
- package/dist/i18n/locales/es.js +1 -1
- package/dist/i18n/locales/source-keys.d.ts +12 -0
- package/dist/i18n/locales/source-keys.js +0 -0
- package/dist/icons/index.d.ts +2 -1
- package/dist/icons/index.js +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +1 -1
- package/dist/package.js +1 -0
- package/dist/scope/KitPortalScope.js +1 -1
- package/dist/scope/KitScope.d.ts +18 -1
- package/dist/scope/KitScope.js +1 -1
- package/dist/scope/context.d.ts +17 -1
- package/dist/scope/index.d.ts +1 -1
- package/dist/shared/attribution/Attribution.js +1 -0
- package/dist/shared/attribution/Attribution.slots.js +1 -0
- package/dist/shared/attribution/Attribution.styles.js +1 -0
- package/dist/shared/attribution/index.js +1 -0
- package/dist/shared/constants/brand-intercom.js +1 -0
- package/dist/shared/cuer/Cuer.js +1 -0
- package/dist/shared/cuer/QrCode.js +1 -0
- package/dist/shared/cuer/index.js +1 -0
- package/dist/shared/dialog/Frame.js +1 -1
- package/dist/shared/dialog/StepTransition.js +1 -1
- package/dist/shared/driver/types.d.ts +4 -3
- package/dist/shared/format/shortenAddress.d.ts +2 -2
- package/dist/shared/format/types.d.ts +2 -2
- package/dist/shared/i18n/KitI18nProvider.d.ts +11 -8
- package/dist/shared/i18n/KitI18nProvider.js +1 -1
- package/dist/shared/i18n/createKitI18n.d.ts +79 -16
- package/dist/shared/i18n/createKitI18n.js +1 -1
- package/dist/shared/i18n/useLingui.d.ts +11 -3
- package/dist/shared/icons/LogoIcon.d.ts +13 -0
- package/dist/shared/icons/LogoIcon.js +1 -0
- package/dist/shared/orchestrator/useSettlementWatcher.js +1 -1
- package/dist/shared/primitives/TxHashValue/TxHashValue.js +1 -1
- package/dist/shared/support/SupportButton.d.ts +1 -0
- package/dist/shared/support/SupportButton.js +1 -0
- package/dist/shared/support/SupportConfigContext.d.ts +1 -0
- package/dist/shared/support/SupportConfigContext.js +1 -0
- package/dist/shared/support/SupportLink.d.ts +1 -0
- package/dist/shared/support/SupportLink.js +1 -0
- package/dist/shared/support/SupportSpinner.d.ts +1 -0
- package/dist/shared/support/SupportSpinner.js +1 -0
- package/dist/shared/support/index.d.ts +2 -0
- package/dist/shared/support/index.js +1 -0
- package/dist/shared/support/intercom-loader.d.ts +17 -0
- package/dist/shared/support/intercom-loader.js +1 -0
- package/dist/shared/support/resolveSupport.d.ts +1 -0
- package/dist/shared/support/resolveSupport.js +1 -0
- package/dist/shared/support/types.d.ts +43 -0
- package/dist/shared/support/useIntercomMerchantContext.d.ts +27 -0
- package/dist/shared/support/useIntercomMerchantContext.js +1 -0
- package/dist/shared/support/useIntercomShutdownOnUnmount.js +1 -0
- package/dist/shared/support/useMerchantContext.d.ts +1 -0
- package/dist/shared/support/useMerchantContext.js +1 -0
- package/dist/shared/support/useSupportTrigger.js +1 -0
- package/dist/shared/ui/Card/Card.styles.js +1 -1
- package/dist/shared/ui/Details/Details.d.ts +10 -2
- package/dist/shared/ui/Details/Details.styles.js +1 -1
- package/dist/shared/ui/Dialog/Dialog.js +1 -1
- package/dist/shared/ui/Dialog/Dialog.styles.js +1 -1
- package/dist/shared/ui/ExternalLink/ExternalLink.js +1 -1
- package/dist/shared/ui/Select/Select.js +1 -1
- package/dist/shared/ui/WalletRow/WalletRow.d.ts +1 -1
- package/dist/shared/ui/WalletRow/WalletRow.js +1 -1
- package/dist/shared/widgets/confirm-transfer/compound/components/Disclaimer.js +1 -1
- package/dist/shared/widgets/confirm-transfer/compound/types.d.ts +1 -1
- package/dist/shared/widgets/error-state/compound/components/AssetValue.js +1 -1
- package/dist/shared/widgets/error-state/compound/components/HelpInfo.js +1 -1
- package/dist/shared/widgets/error-state/compound/components/StatusValue.js +1 -1
- package/dist/shared/widgets/processing-state/compound/components/Rows.js +1 -1
- package/dist/shared/widgets/success-state/compound/components/Actions.js +1 -1
- package/dist/shared/widgets/success-state/compound/components/AssetValue.js +1 -1
- package/dist/shared/widgets/success-state/compound/components/RouteValue.js +1 -1
- package/dist/shared/widgets/success-state/compound/components/StatusPill.js +1 -1
- package/dist/stridge/StridgeProvider.d.ts +87 -3
- package/dist/stridge/StridgeProvider.js +1 -1
- package/dist/stridge/optionalWagmi.js +1 -0
- package/dist/stridge/stubs.js +1 -1
- package/dist/styles/index.css +58 -12
- package/dist/types.d.ts +3 -2
- package/dist/ui/index.js +1 -1
- package/dist/withdraw/dialog/index.d.ts +3 -1
- package/package.json +10 -11
- package/dist/kit/package.js +0 -1
- /package/dist/{utils/src/use-copy-to-clipboard.js → shared/utils/useCopyToClipboard.js} +0 -0
|
@@ -3,21 +3,24 @@ import { ReactNode } from "react";
|
|
|
3
3
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region src/shared/i18n/KitI18nProvider.d.ts
|
|
6
|
-
interface Props extends KitI18nConfig {
|
|
7
|
-
children: ReactNode;
|
|
8
|
-
}
|
|
9
6
|
/**
|
|
10
7
|
* Mounts a per-request Lingui `I18n` instance into React context. Re-creates the instance only
|
|
11
|
-
* when `locale` or the identity of `
|
|
12
|
-
* other context providers, and the SSR-safe alternative to mutating a module-level
|
|
8
|
+
* when `locale` or the identity of `messages` changes — same render-stable pattern as the
|
|
9
|
+
* kit's other context providers, and the SSR-safe alternative to mutating a module-level
|
|
10
|
+
* singleton.
|
|
13
11
|
*
|
|
14
12
|
* Used internally by `KitProvider`. Hosts don't mount this directly; they pass a single
|
|
15
|
-
* `i18n={{ locale,
|
|
13
|
+
* `i18n={{ locale, messages }}` prop on `<KitProvider>` and the kit handles the wiring.
|
|
16
14
|
*/
|
|
17
15
|
declare function KitI18nProvider({
|
|
18
16
|
locale,
|
|
19
|
-
|
|
17
|
+
messages,
|
|
20
18
|
children
|
|
21
|
-
}: Props): _$react_jsx_runtime0.JSX.Element;
|
|
19
|
+
}: KitI18nProvider.Props): _$react_jsx_runtime0.JSX.Element;
|
|
20
|
+
declare namespace KitI18nProvider {
|
|
21
|
+
interface Props extends KitI18nConfig {
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
22
25
|
//#endregion
|
|
23
26
|
export { KitI18nProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{createKitI18n as e}from"./createKitI18n.js";import{useMemo as t}from"react";import{jsx as n}from"react/jsx-runtime";import{I18nProvider as r}from"@lingui/react";function i({locale:i=`en`,
|
|
1
|
+
"use client";import{createKitI18n as e}from"./createKitI18n.js";import{useMemo as t}from"react";import{jsx as n}from"react/jsx-runtime";import{I18nProvider as r}from"@lingui/react";function i({locale:i=`en`,messages:a,children:o}){return n(r,{i18n:t(()=>e({locale:i,messages:a}),[i,a]),children:o})}export{i as KitI18nProvider};
|
|
@@ -1,33 +1,96 @@
|
|
|
1
|
+
import { SupportedLocale } from "./locales.js";
|
|
2
|
+
import { KitTranslatableKey } from "../../i18n/locales/source-keys.js";
|
|
1
3
|
import { I18n, Messages } from "@lingui/core";
|
|
2
4
|
|
|
3
5
|
//#region src/shared/i18n/createKitI18n.d.ts
|
|
4
6
|
/**
|
|
5
|
-
*
|
|
6
|
-
* (`"en"`, `"es"`,
|
|
7
|
-
*
|
|
7
|
+
* Locale codes the kit's i18n surface accepts. Autocompletes on the locales the kit ships
|
|
8
|
+
* catalogs for ({@link SupportedLocale} — `"en"`, `"es"`, `"ar"`) while still accepting any
|
|
9
|
+
* other BCP-47 tag, so hosts who add their own catalogs via `defineMessages` aren't fenced
|
|
10
|
+
* out of the type.
|
|
11
|
+
*
|
|
12
|
+
* The `(string & {})` intersection is the standard escape hatch for "literal union + open
|
|
13
|
+
* string with autocomplete": without it, TypeScript collapses `Supported | string` to plain
|
|
14
|
+
* `string` and the editor loses the autocomplete suggestions for the named literals.
|
|
15
|
+
*/
|
|
16
|
+
type KitLocale = SupportedLocale | (string & {});
|
|
17
|
+
/**
|
|
18
|
+
* Map of locale codes to compiled message catalogs. Values are lingui `Messages` —
|
|
19
|
+
* content-hash-keyed `{ [id]: translation }` maps where ICU placeholders and plurals are
|
|
20
|
+
* compiled at runtime by {@link compileMessage}.
|
|
21
|
+
*
|
|
22
|
+
* Shipped locales (`@stridge/kit/i18n/locales/<code>`) export `Messages` directly. For hosts
|
|
23
|
+
* authoring their own translations, the recommended path is {@link defineMessages}, which
|
|
24
|
+
* takes a plain English-keyed map and emits the same hash-keyed shape — so shipped and
|
|
25
|
+
* host-authored translations slot into the same prop without different shapes.
|
|
8
26
|
*/
|
|
9
|
-
type
|
|
27
|
+
type KitMessages = Partial<Record<KitLocale, Messages>>;
|
|
28
|
+
/**
|
|
29
|
+
* Hash a plain English-keyed translation map into the lingui `Messages` shape, ready to drop
|
|
30
|
+
* into `<KitProvider i18n={{ messages: { … } }}>`. Use this whenever you want to author
|
|
31
|
+
* translations by hand — adding a locale the kit doesn't ship, overriding a single key on a
|
|
32
|
+
* shipped locale, or tweaking the source English copy.
|
|
33
|
+
*
|
|
34
|
+
* Keys are constrained to {@link KitTranslatableKey} — the literal union of every English
|
|
35
|
+
* source the kit actually translates. Editors autocomplete on every valid key, and typos /
|
|
36
|
+
* stale keys fail at compile time via excess-property checks on the object literal. The union
|
|
37
|
+
* is codegened from `en.po` at `pnpm i18n:compile` time.
|
|
38
|
+
*
|
|
39
|
+
* Hashing runs once per call (typically at module load), not on every render. ICU placeholders
|
|
40
|
+
* (`{symbol}`) and plurals (`{count, plural, one {# item} other {# items}}`) are supported in
|
|
41
|
+
* both keys and values; the kit's runtime compiler handles ICU on access.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```tsx
|
|
45
|
+
* import { messages as es } from "@stridge/kit/i18n/locales/es";
|
|
46
|
+
* import { defineMessages } from "@stridge/kit/i18n";
|
|
47
|
+
*
|
|
48
|
+
* const fr = defineMessages({
|
|
49
|
+
* Continue: "Suivant",
|
|
50
|
+
* "Deposit {symbol}": "Dépôt de {symbol}",
|
|
51
|
+
* "{count, plural, one {# item} other {# items}}":
|
|
52
|
+
* "{count, plural, one {# article} other {# articles}}",
|
|
53
|
+
* });
|
|
54
|
+
*
|
|
55
|
+
* // Add a brand-new locale:
|
|
56
|
+
* <KitProvider i18n={{ locale: "fr", messages: { fr } }} />;
|
|
57
|
+
*
|
|
58
|
+
* // Override one key on a shipped locale (spread to preserve the rest):
|
|
59
|
+
* <KitProvider i18n={{ locale: "es", messages: { es: { ...es, ...defineMessages({ Continue: "Adelante" }) } } }} />;
|
|
60
|
+
*
|
|
61
|
+
* // Override source English:
|
|
62
|
+
* <KitProvider i18n={{ locale: "en", messages: { en: defineMessages({ Deposit: "Top up" }) } }} />;
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
declare function defineMessages(translations: Partial<Record<KitTranslatableKey, string>>): Messages;
|
|
10
66
|
/**
|
|
11
67
|
* Public-facing i18n configuration. Pass the whole object to `<KitProvider i18n={…}>` —
|
|
12
|
-
* `locale` selects the active locale, `
|
|
13
|
-
* against. Locales not present in `
|
|
68
|
+
* `locale` selects the active locale, `messages` lists the catalogs the kit can resolve
|
|
69
|
+
* against. Locales not present in `messages` fall back to the source English string per leaf.
|
|
14
70
|
*/
|
|
15
71
|
interface KitI18nConfig {
|
|
16
|
-
/** Active locale code. Defaults to `"en"`. */
|
|
17
|
-
locale?: string;
|
|
18
72
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
|
|
73
|
+
* Active locale code. Defaults to `"en"`. Autocompletes on shipped locales (`"en"`, `"es"`,
|
|
74
|
+
* `"ar"`) but accepts any other BCP-47 tag for host-supplied catalogs.
|
|
75
|
+
*/
|
|
76
|
+
locale?: KitLocale;
|
|
77
|
+
/**
|
|
78
|
+
* Locale catalogs the kit can resolve against. Each value is a hash-keyed lingui
|
|
79
|
+
* `Messages` map — either deep-imported from `@stridge/kit/i18n/locales/<code>` (shipped
|
|
80
|
+
* locales: `en`, `es`, `ar`) or produced by {@link defineMessages} from a plain
|
|
81
|
+
* English-keyed map (host-authored locales and per-key overrides). Same-locale entries
|
|
82
|
+
* merge per-key — spread a shipped catalog and overlay specific keys via `defineMessages`
|
|
83
|
+
* to override individual phrases without touching the rest.
|
|
22
84
|
*/
|
|
23
|
-
|
|
85
|
+
messages?: KitMessages;
|
|
24
86
|
}
|
|
25
87
|
/**
|
|
26
88
|
* Build a fresh {@link I18n} instance for one render tree (one `KitProvider` mount, one SSR
|
|
27
|
-
* request). Loads `
|
|
89
|
+
* request). Loads each entry of `messages`, registers the runtime message compiler, and
|
|
90
|
+
* activates `locale`.
|
|
28
91
|
*
|
|
29
92
|
* Per-request instances are the SSR-safe alternative to mutating a process-wide singleton. The
|
|
30
|
-
* kit's {@link KitProvider} calls this on every render that changes `locale` or `
|
|
93
|
+
* kit's {@link KitProvider} calls this on every render that changes `locale` or `messages`.
|
|
31
94
|
*
|
|
32
95
|
* `setupI18n` ships its own no-op compiler in production builds; we override with the real
|
|
33
96
|
* `compileMessage` so ICU placeholders (`{symbol}`) and plurals (`{count, plural, one {…}
|
|
@@ -35,7 +98,7 @@ interface KitI18nConfig {
|
|
|
35
98
|
*/
|
|
36
99
|
declare function createKitI18n({
|
|
37
100
|
locale,
|
|
38
|
-
|
|
101
|
+
messages
|
|
39
102
|
}?: KitI18nConfig): I18n;
|
|
40
103
|
//#endregion
|
|
41
|
-
export {
|
|
104
|
+
export { KitI18nConfig, KitLocale, KitMessages, createKitI18n, defineMessages };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{setupI18n as e}from"@lingui/core";import{compileMessage as t}from"@lingui/message-utils/compileMessage";function n({locale:n=`en`,
|
|
1
|
+
import{setupI18n as e}from"@lingui/core";import{compileMessage as t}from"@lingui/message-utils/compileMessage";import{generateMessageId as n}from"@lingui/message-utils/generateMessageId";function r(e){let t={};for(let[r,i]of Object.entries(e))!r||typeof i!=`string`||(t[n(r)]=i);return t}function i({locale:n=`en`,messages:r}={}){let i=e();if(i.setMessagesCompiler(t),i.load(`en`,{}),r)for(let[e,t]of Object.entries(r))t&&i.load(e,t);return i.activate(n),i}export{i as createKitI18n,r as defineMessages};
|
|
@@ -2,7 +2,15 @@ import { ComponentType } from "react";
|
|
|
2
2
|
import { I18n } from "@lingui/core";
|
|
3
3
|
|
|
4
4
|
//#region src/shared/i18n/useLingui.d.ts
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Shape of the value returned by the kit's {@link useLingui}. Mirrors Lingui's own
|
|
7
|
+
* `LinguiContextValue` (`{ i18n, _, defaultComponent? }`) so the macro's rewrite of `` t`…` ``
|
|
8
|
+
* into `_({ id, message })` calls type-checks against this surface.
|
|
9
|
+
*
|
|
10
|
+
* Exported alongside {@link useLingui} so power users wrapping the hook can name the return
|
|
11
|
+
* type without reaching back into Lingui internals.
|
|
12
|
+
*/
|
|
13
|
+
interface KitLinguiContextValue {
|
|
6
14
|
i18n: I18n;
|
|
7
15
|
defaultComponent?: ComponentType<{
|
|
8
16
|
id: string;
|
|
@@ -30,6 +38,6 @@ interface LinguiContextValue {
|
|
|
30
38
|
* Callers shouldn't import this directly — they should write `import { useLingui } from
|
|
31
39
|
* "@lingui/react/macro"` and let the build pipeline rewire the runtime target.
|
|
32
40
|
*/
|
|
33
|
-
declare function useLingui():
|
|
41
|
+
declare function useLingui(): KitLinguiContextValue;
|
|
34
42
|
//#endregion
|
|
35
|
-
export { useLingui };
|
|
43
|
+
export { KitLinguiContextValue, useLingui };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SVGProps } from "react";
|
|
2
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/shared/icons/LogoIcon.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Stridge brand mark. Path is the optimized 18×18 variant used in social cards, scaled to
|
|
7
|
+
* whatever `width`/`height` the caller passes (defaults to 14×14 for inline use). Decorative
|
|
8
|
+
* when paired with the "Stridge" wordmark — mark it `aria-hidden` in those compositions so
|
|
9
|
+
* screen readers announce the wordmark only once.
|
|
10
|
+
*/
|
|
11
|
+
declare function LogoIcon(props: SVGProps<SVGSVGElement>): _$react_jsx_runtime0.JSX.Element;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { LogoIcon };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";function t(t){return e(`svg`,{fill:`currentColor`,height:`14`,viewBox:`0 0 18 18`,width:`14`,xmlns:`http://www.w3.org/2000/svg`,...t,children:e(`path`,{clipRule:`evenodd`,d:`M0 9a9 9 0 0 0 9 9A9 9 0 1 0 9 0a9 9 0 0 0-9 9Zm11.675 1.953a.88.88 0 0 0-.742.198 5.311 5.311 0 0 1-3.998 1.807C-.985 12.958.955 1.742 9 1.742a7.24 7.24 0 0 1 5.374 2.379 7.042 7.042 0 0 0-3.309-.82A7.048 7.048 0 0 0 5.76 5.697.879.879 0 0 0 7.068 6.85a5.31 5.31 0 0 1 3.998-1.807c7.92 0 5.98 11.216-2.066 11.216a7.237 7.237 0 0 1-5.373-2.379 7.035 7.035 0 0 0 3.308.821 7.044 7.044 0 0 0 5.306-2.398.878.878 0 0 0-.566-1.349Z`,fillRule:`evenodd`})})}export{t as LogoIcon};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useEffect as e}from"react";function
|
|
1
|
+
import{useEffect as e,useRef as t}from"react";function n(n,r,i){let a=t(r);a.current=r,e(()=>{let e=a.current;if(e==null)return;let t=new AbortController;return n.watchSettlement(e,()=>void 0,t.signal),()=>t.abort()},[n,i])}export{n as useSettlementWatcher};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{toSafeHref as e}from"../../ui/ExternalLink/toSafeHref.js";import{ExternalLink as t}from"../../ui/ExternalLink/ExternalLink.js";import"../../ui/ExternalLink/index.js";import{ExternalLinkIcon as n}from"../../icons/ExternalLinkIcon.js";import"../../../icons/index.js";import{LtrAtom as r}from"../../ui/LtrAtom/LtrAtom.js";import"../../ui/LtrAtom/index.js";import{text as i}from"../../ui/Text/Text.js";import"../../ui/Text/index.js";import{TX_HASH_VALUE_SLOTS as a}from"./TxHashValue.slots.js";import{styles as o}from"./TxHashValue.styles.js";import{jsx as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";function l({hash:l,explorerUrl:u,linkColor:d=`var(--stridge-kit-primary)`}){let f=e(u),p=c.props(o.root),m=s(i.span,{size:`xs`,fontWeight:`medium`,leading:`tight`,tracking:`normal`,font:`mono`,color:`inherit`,children:s(r,{children:l})});return f?s(t,{dir:`ltr`,href:f,suffix:s(n,{"aria-hidden":!0}),"data-stridge-slot":a.root,className:p.className,style:{...p.style,color:d},children:m}):s(`span`,{dir:`ltr`,"data-stridge-slot":a.root,className:p.className,style:p.style,children:m})}export{l as TxHashValue};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { ComponentProps, ReactNode } from "react";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{styles as e}from"../ui/ExternalLink/ExternalLink.styles.js";import{joinClassNames as t}from"../utils/joinClassNames.js";import{cloneElement as n,isValidElement as r}from"react";import{jsx as i,jsxs as a}from"react/jsx-runtime";import*as o from"@stylexjs/stylex";function s({children:n,suffix:r,className:s,style:d,...f}){let p=r!=null&&r!==!1,m=o.props(e.root,l.button),h=t(m.className,s),g=o.props(e.iconSlot,e.suffixSpacing);return a(`button`,{"data-stridge-slot":u.root,type:`button`,...f,className:h,style:{...m.style,...d},children:[n,p?i(`span`,{"data-icon":`inline-end`,...g,children:c(r)}):null]})}function c(t){if(!r(t))return t;let i=o.props(e.iconSvg);return n(t,{className:[t.props.className,i.className].filter(Boolean).join(` `),style:{...t.props.style,...i.style}})}const l={button:{"SupportButton__supportButtonStyles.button":`SupportButton__supportButtonStyles.button`,"appearance-kysU6D":`xjyslct`,"padding-kmVPX3":`x1717udv`,"font-kVVagm":`xln7xf2`,"color-kMwMTN":`x1heor9g`,"cursor-kkrTdU":`x1ypdohk`,"textAlign-k9WMMc":`x16tdsg8`,$$css:`@stridge/kit:src/shared/support/SupportButton.tsx:52`}},u={root:`support-button`};export{s as SupportButton};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{createContext as e,use as t}from"react";const n=e({config:void 0,merchantContext:null});n.displayName=`SupportConfigContext`;function r(){return t(n)}export{n as SupportConfigContext,r as useSupportConfig};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { CSSProperties, MouseEventHandler, ReactNode } from "react";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useSupportConfig as e}from"./SupportConfigContext.js";import{resolveSupport as t}from"./resolveSupport.js";import{SupportButton as n}from"./SupportButton.js";import{BRAND_LINKS as r}from"../constants/brand-links.js";import{ExternalLink as i}from"../ui/ExternalLink/ExternalLink.js";import"../ui/ExternalLink/index.js";import{SupportSpinner as a}from"./SupportSpinner.js";import{useSupportTrigger as o}from"./useSupportTrigger.js";import{useCallback as s}from"react";import{jsx as c}from"react/jsx-runtime";const l={cursor:`not-allowed`,opacity:.6,pointerEvents:`none`};function u(n){let{config:r,merchantContext:i}=e(),a=t(r);return a.kind===`stridge`?c(d,{...n}):a.kind===`url`?c(f,{...n,url:a.url}):c(p,{...n,url:a.url,onOpen:a.onOpen,merchantContext:i})}function d({children:e,suffix:t,onClick:n,style:u,...d}){let f=o(),p=f.status===`loading`,m=s(e=>{n?.(e),!e.defaultPrevented&&e.button===0&&(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),f.open()))},[f,n]),h=p?{...u,...l}:u;return c(i,{...d,href:r.support,suffix:p?c(a,{}):t,onClick:m,"aria-busy":p||void 0,"aria-disabled":p||void 0,style:h,children:e})}function f({url:e,children:t,...n}){return c(i,{...n,href:e,children:t})}function p({url:e,onOpen:t,merchantContext:r,children:a,suffix:o,onClick:l,...u}){let d=s(e=>{l?.(e),!e.defaultPrevented&&e.button===0&&(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),t({event:e,...m(r)})))},[l,t,r]),f=s(e=>{l?.(e),!e.defaultPrevented&&t({event:e,...m(r)})},[l,t,r]);return e?c(i,{...u,href:e,suffix:o,onClick:d,children:a}):c(n,{...u,suffix:o,onClick:f,children:a})}function m(e){return e??{gatewayKey:``,environment:``,assetChain:``,assetSymbol:``}}export{u as SupportLink};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{LoaderIcon as e}from"../icons/LoaderIcon.js";import"../../icons/index.js";import{jsx as t}from"react/jsx-runtime";function n(){return t(e,{"aria-hidden":!0,role:`img`,"aria-label":`Loading`,className:`SupportSpinner__styles.spinning x1aerksh xof6966 x1esw782 xa4qsjk x1g0ag68 x1764fhq`,"data-style-src":`@stridge/kit:src/shared/support/SupportSpinner.tsx:12`})}export{n as SupportSpinner};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./SupportConfigContext.js";import"./intercom-loader.js";import"./resolveSupport.js";import"./SupportButton.js";import"./SupportSpinner.js";import"./useSupportTrigger.js";import"./SupportLink.js";import"./useIntercomMerchantContext.js";import"./useIntercomShutdownOnUnmount.js";import"./useMerchantContext.js";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/shared/support/intercom-loader.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Messenger command dispatcher exposed at `window.Intercom`. The vendor accepts arbitrary
|
|
4
|
+
* command tuples (`["boot", settings]`, `["onShow", callback]`, `["show"]`, …); our calls
|
|
5
|
+
* are funneled through {@link openIntercom} / {@link shutdownIntercom}.
|
|
6
|
+
*/
|
|
7
|
+
type IntercomFn = (...args: unknown[]) => void;
|
|
8
|
+
declare global {
|
|
9
|
+
interface Window {
|
|
10
|
+
Intercom?: IntercomFn;
|
|
11
|
+
intercomSettings?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns `true` when the vendor's real dispatcher is mounted on `window.Intercom`. Used by
|
|
16
|
+
* {@link useSupportTrigger} as a hint for whether a subsequent click can skip the spinner.
|
|
17
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{BRAND_INTERCOM as e}from"../constants/brand-intercom.js";const t=`__stridgeKitShim__`;let n=null,r=!1;function i(e){return e[t]===!0}function a(){if(typeof window>`u`)return!1;let t=window.intercomSettings?.app_id,n=!1;if(typeof t==`string`&&t!==e.appId)n=!0;else{let e=window.Intercom;typeof e==`function`&&!i(e)&&t===void 0&&(n=!0)}return n&&o(),n}function o(){r||process.env.NODE_ENV!==`production`&&(r=!0,console.warn("[@stridge/kit] Detected a foreign Intercom workspace already mounted on this page. The kit's support link will fall back to opening the static support URL in a new tab. Configure `<StridgeProvider support={{ url: '...' }} />` or `<StridgeProvider support={{ onOpen: ... }} />` to silence this warning and customize the behavior."))}function s(){let e=window;if(typeof e.Intercom==`function`)return e.Intercom;let n=[],r=Object.assign((...e)=>{n.push(e)},{q:n,c:e=>{n.push(e)},[t]:!0});return e.Intercom=r,r}function c(){return n||(typeof document>`u`?Promise.reject(Error(`Intercom can only load in a browser`)):(n=new Promise((t,r)=>{let a=document.createElement(`script`);a.type=`text/javascript`,a.async=!0,a.src=`https://widget.intercom.io/widget/${e.appId}`,a.dataset.stridgeIntercom=`true`,a.addEventListener(`load`,()=>t()),a.addEventListener(`error`,()=>{n=null,a.remove(),typeof window<`u`&&window.Intercom&&i(window.Intercom)&&delete window.Intercom,r(Error(`Failed to load Intercom widget script`))}),document.head.appendChild(a)}),n))}function l(){if(typeof window>`u`)return!1;let e=window.Intercom;return typeof e==`function`&&!i(e)}function u(){return typeof window>`u`?Promise.reject(Error(`Intercom can only load in a browser`)):a()?Promise.reject(Error(`Another Intercom workspace is already mounted; falling back to web link`)):new Promise((t,n)=>{let r=window;r.intercomSettings={...r.intercomSettings,app_id:e.appId,hide_default_launcher:!0};let i=s(),a=!1,o,l=e=>{a||(a=!0,o!==void 0&&clearTimeout(o),e())};i(`boot`,{...r.intercomSettings,app_id:e.appId,hide_default_launcher:!0}),i(`onShow`,()=>{l(()=>t())}),i(`onHide`,()=>{d()}),i(`show`),o=setTimeout(()=>{l(()=>n(Error(`Intercom messenger did not display within timeout`)))},1e4),c().catch(e=>{l(()=>n(e))})})}function d(){if(typeof window>`u`)return;let e=window.Intercom;if(typeof e==`function`&&!i(e))try{e(`shutdown`)}catch{}}export{l as isIntercomReady,u as openIntercom,d as shutdownIntercom};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return e?.onOpen?e.url?{kind:`custom`,onOpen:e.onOpen,url:e.url}:{kind:`custom`,onOpen:e.onOpen}:e?.url?{kind:`url`,url:e.url}:{kind:`stridge`}}export{e as resolveSupport};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { IntercomMerchantContext } from "./useIntercomMerchantContext.js";
|
|
2
|
+
import { MouseEvent } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/shared/support/types.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Configures the kit's in-dialog "Get help" entry point.
|
|
7
|
+
*
|
|
8
|
+
* Omit `support` to boot Stridge's hosted messenger on plain left-click and fall back to
|
|
9
|
+
* {@link https://stridge.com/contact-us | the support URL}. Provide `url`, `onOpen`, or both
|
|
10
|
+
* to use merchant-owned support; either field opts out of Stridge messenger globals. Empty
|
|
11
|
+
* values (`{}` or `{ url: "" }`) fall back to the Stridge default.
|
|
12
|
+
*
|
|
13
|
+
* Treated as static across the kit's lifetime. Switching the mode after mount (e.g. from
|
|
14
|
+
* Stridge to merchant-owned support) is not supported — the kit will not shut down an
|
|
15
|
+
* already-booted Stridge messenger or clear `window.intercomSettings` on the transition.
|
|
16
|
+
* Resolve support configuration before the first render of `<StridgeProvider>`.
|
|
17
|
+
*/
|
|
18
|
+
interface SupportConfig {
|
|
19
|
+
/**
|
|
20
|
+
* URL used as the "Get help" anchor `href`.
|
|
21
|
+
*
|
|
22
|
+
* Empty string is treated as if the field were omitted.
|
|
23
|
+
*/
|
|
24
|
+
url?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Custom click handler invoked instead of the default Stridge messenger.
|
|
27
|
+
*
|
|
28
|
+
* Fires on plain left-click with the click event and the merchant/user triage metadata.
|
|
29
|
+
* Modified clicks keep anchor navigation when `url` is set.
|
|
30
|
+
*/
|
|
31
|
+
onOpen?: (ctx: SupportOpenContext) => void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Represents the argument passed to {@link SupportConfig.onOpen}.
|
|
35
|
+
*
|
|
36
|
+
* Combines the click event with the same triage metadata used by the Stridge messenger.
|
|
37
|
+
*/
|
|
38
|
+
interface SupportOpenContext extends IntercomMerchantContext {
|
|
39
|
+
/** React synthetic event for the click that triggered support. */
|
|
40
|
+
event: MouseEvent<HTMLElement>;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { SupportConfig, SupportOpenContext };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/shared/support/useIntercomMerchantContext.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Merchant, asset, and end-user triage metadata the kit attaches to support requests.
|
|
4
|
+
*
|
|
5
|
+
* Stridge's hosted messenger reads these fields via `window.intercomSettings` so support
|
|
6
|
+
* agents can route an incoming conversation without asking the user for context. Merchant-
|
|
7
|
+
* owned support entry points receive the same shape via
|
|
8
|
+
* {@link SupportOpenContext}, so triage data carries through verbatim into custom handlers.
|
|
9
|
+
*/
|
|
10
|
+
interface IntercomMerchantContext {
|
|
11
|
+
/** Stridge gateway key — primary key uniquely identifying which integrating business the user is coming through. */
|
|
12
|
+
gatewayKey: string;
|
|
13
|
+
/** Stridge API environment the kit is talking to. Goes alongside the gateway key for support triage. */
|
|
14
|
+
environment: string;
|
|
15
|
+
/** Stridge `network_id` of the settlement asset (e.g. `"60"`, `"9006"`). */
|
|
16
|
+
assetChain: string;
|
|
17
|
+
/** Settlement asset symbol (e.g. `"USDC"`). */
|
|
18
|
+
assetSymbol: string;
|
|
19
|
+
/** Connected wallet address — best-effort end-user identifier in a web3 context. */
|
|
20
|
+
userAddress?: string;
|
|
21
|
+
/** Merchant display name resolved from `gateway/start.metadata.brand_name`. Async; undefined pre-bootstrap. */
|
|
22
|
+
brandName?: string;
|
|
23
|
+
/** Optional secondary line from `gateway/start.metadata.checkout_item_title`. */
|
|
24
|
+
checkoutItemTitle?: string;
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { IntercomMerchantContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{BRAND_INTERCOM as e}from"../constants/brand-intercom.js";import{useEffect as t}from"react";function n(n){let r=n?.gatewayKey,i=n?.environment,a=n?.assetChain,o=n?.assetSymbol,s=n?.userAddress,c=n?.brandName,l=n?.checkoutItemTitle;t(()=>{if(!r||!i||!a||!o||typeof window>`u`)return;let t=window.intercomSettings?.app_id;if(typeof t==`string`&&t!==e.appId)return;let n={company_id:r,environment:i,asset_chain:a,asset_symbol:o};c&&(n.name=c),l&&(n.checkout_item_title=l);let u={...window.intercomSettings,app_id:e.appId,hide_default_launcher:!0,company:n};if(s&&(u.user_id=s,u.wallet_address=s),window.intercomSettings=u,typeof window.Intercom==`function`)try{window.Intercom(`update`,u)}catch{}},[r,i,a,o,s,c,l])}export{n as useIntercomMerchantContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{shutdownIntercom as e}from"./intercom-loader.js";import{useEffect as t}from"react";function n(){t(()=>()=>{e()},[])}export{n as useIntercomShutdownOnUnmount};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{useSyncExternalStore as e}from"react";function t({gatewayKey:t,environment:n,assetChain:r,assetSymbol:i,userAddress:a,depositDriver:o}){let s=e(e=>o?.subscribe(e)??(()=>{}),()=>{if(!o)return;let e=o.getSnapshot();if(e.brand.status===`ready`||e.brand.status===`stale`)return e.brand.payload.name},()=>void 0),c=e(e=>o?.subscribe(e)??(()=>{}),()=>{if(!o)return;let e=o.getSnapshot();if(e.brand.status===`ready`||e.brand.status===`stale`)return e.brand.payload.checkoutItemTitle},()=>void 0);return{gatewayKey:t,environment:n,assetChain:r,assetSymbol:i,...a?{userAddress:a}:{},...s?{brandName:s}:{},...c?{checkoutItemTitle:c}:{}}}export{t as useMerchantContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{isIntercomReady as e,openIntercom as t}from"./intercom-loader.js";import{BRAND_LINKS as n}from"../constants/brand-links.js";import{useCallback as r,useRef as i,useState as a}from"react";function o(){let[n,o]=a(()=>e()?`ready`:`idle`),c=i(!1);return{status:n,open:r(()=>{c.current||(c.current=!0,o(`loading`),t().then(()=>{c.current=!1,o(`ready`)},()=>{c.current=!1,s(),o(`error`)}))},[])}}function s(){typeof window>`u`||window.open(n.support,`_blank`,`noopener,noreferrer`)}export{o as useSupportTrigger};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={root:{"Card__styles.root":`Card__styles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"borderStyle-ksu8eU":`x1y0btm7`,"borderWidth-kMzoRj":`xmkeg23`,"overflow-kVQacm":`x7giv3`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:4`}},t={default:{"Card__variantStyles.default":`Card__variantStyles.default`,"backgroundColor-kWkggS":`x12obg9s`,"borderColor-kVAM5u":`x1bue7yx`,"borderRadius-kaIpWk":`x5bw3pk`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:13`},subdued:{"Card__variantStyles.subdued":`Card__variantStyles.subdued`,"backgroundColor-kWkggS":`x407w7c`,"borderColor-kVAM5u":`x1bue7yx`,"borderRadius-kaIpWk":`x5bw3pk`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:18`},frame:{"Card__variantStyles.frame":`Card__variantStyles.frame`,"backgroundColor-kWkggS":`x3cgcfv`,"borderColor-kVAM5u":`x1aqcfi1`,"borderRadius-kaIpWk":`x1c2egtx`,"boxShadow-kGVxlE":`xa2vu2y`,"color-kMwMTN":`xzn0pkc`,"fontFamily-kMv6JI":`xlaww2m`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:23`}},n={root:{"Card__headerStyles.root":`Card__headerStyles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"flexShrink-kmuXW":`x2lah0s`,"paddingTop-kLKAdn":`x1cnzs8`,"paddingInlineEnd-kwRFfy":`x1o5r3ls`,"paddingBottom-kGO01o":`x1hhzuzn`,"paddingInlineStart-kZCmMZ":`xz7312c`,"borderBottomWidth-kt9PQ7":`xso031l`,"borderBottomStyle-kfdmCh":`x1q0q8m5`,"borderBottomColor-kL6WhQ":`x188r5k3`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:39`}},r={root:{"Card__footerStyles.root":`Card__footerStyles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"flexShrink-kmuXW":`x2lah0s`,"borderTopWidth-kEafiO":`x178xt8z`,"borderTopStyle-kPef9Z":`x13fuv20`,"borderTopColor-kLZC3w":`x1wc9ssx`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:54`}},i={root:{"Card__bodyStyles.root":`Card__bodyStyles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:71`},scroll:{"Card__bodyStyles.scroll":`Card__bodyStyles.scroll`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"flex-kUk6DE":`x12lumcd`,"minHeight-kAzted":`x2lwn1j`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:82`},scrollArea:{"Card__bodyStyles.scrollArea":`Card__bodyStyles.scrollArea`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"flex-kUk6DE":`x12lumcd`,"minHeight-kAzted":`x2lwn1j`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:97`},scrollViewport:{"Card__bodyStyles.scrollViewport":`Card__bodyStyles.scrollViewport`,"flex-kUk6DE":`x845mor`,"minHeight-kAzted":`x2lwn1j`,"width-kzqmXN":`xh8yej3`,"maxWidth-ks0D6T":`x193iq5w`,"height-kZKoxP":`xt7dq6l`,"maxHeight-kskxy":`xmz0i5r`,"overflowX-kXHlph":`x6ikm8r`,"overflowY-kORKVm":`
|
|
1
|
+
const e={root:{"Card__styles.root":`Card__styles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"borderStyle-ksu8eU":`x1y0btm7`,"borderWidth-kMzoRj":`xmkeg23`,"overflow-kVQacm":`x7giv3`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:4`}},t={default:{"Card__variantStyles.default":`Card__variantStyles.default`,"backgroundColor-kWkggS":`x12obg9s`,"borderColor-kVAM5u":`x1bue7yx`,"borderRadius-kaIpWk":`x5bw3pk`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:13`},subdued:{"Card__variantStyles.subdued":`Card__variantStyles.subdued`,"backgroundColor-kWkggS":`x407w7c`,"borderColor-kVAM5u":`x1bue7yx`,"borderRadius-kaIpWk":`x5bw3pk`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:18`},frame:{"Card__variantStyles.frame":`Card__variantStyles.frame`,"backgroundColor-kWkggS":`x3cgcfv`,"borderColor-kVAM5u":`x1aqcfi1`,"borderRadius-kaIpWk":`x1c2egtx`,"boxShadow-kGVxlE":`xa2vu2y`,"color-kMwMTN":`xzn0pkc`,"fontFamily-kMv6JI":`xlaww2m`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:23`}},n={root:{"Card__headerStyles.root":`Card__headerStyles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"flexShrink-kmuXW":`x2lah0s`,"paddingTop-kLKAdn":`x1cnzs8`,"paddingInlineEnd-kwRFfy":`x1o5r3ls`,"paddingBottom-kGO01o":`x1hhzuzn`,"paddingInlineStart-kZCmMZ":`xz7312c`,"borderBottomWidth-kt9PQ7":`xso031l`,"borderBottomStyle-kfdmCh":`x1q0q8m5`,"borderBottomColor-kL6WhQ":`x188r5k3`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:39`}},r={root:{"Card__footerStyles.root":`Card__footerStyles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"flexShrink-kmuXW":`x2lah0s`,"borderTopWidth-kEafiO":`x178xt8z`,"borderTopStyle-kPef9Z":`x13fuv20`,"borderTopColor-kLZC3w":`x1wc9ssx`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:54`}},i={root:{"Card__bodyStyles.root":`Card__bodyStyles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:71`},scroll:{"Card__bodyStyles.scroll":`Card__bodyStyles.scroll`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"flex-kUk6DE":`x12lumcd`,"minHeight-kAzted":`x2lwn1j`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:82`},scrollArea:{"Card__bodyStyles.scrollArea":`Card__bodyStyles.scrollArea`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"flex-kUk6DE":`x12lumcd`,"minHeight-kAzted":`x2lwn1j`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:97`},scrollViewport:{"Card__bodyStyles.scrollViewport":`Card__bodyStyles.scrollViewport`,"flex-kUk6DE":`x845mor`,"minHeight-kAzted":`x2lwn1j`,"width-kzqmXN":`xh8yej3`,"maxWidth-ks0D6T":`x193iq5w`,"height-kZKoxP":`xt7dq6l`,"maxHeight-kskxy":`xmz0i5r`,"overflowX-kXHlph":`x6ikm8r`,"overflowY-kORKVm":`x1odjw0f`,$$css:`@stridge/kit:src/shared/ui/Card/Card.styles.ts:103`}};export{i as bodyStyles,r as footerStyles,n as headerStyles,e as styles,t as variantStyles};
|
|
@@ -25,7 +25,15 @@ declare function Details({
|
|
|
25
25
|
}: Details.Props): _$react_jsx_runtime0.JSX.Element;
|
|
26
26
|
/**
|
|
27
27
|
* Single row inside a {@link Details} list. Renders a `label` on the leading edge and its `children` on the
|
|
28
|
-
* trailing edge.
|
|
28
|
+
* trailing edge.
|
|
29
|
+
*
|
|
30
|
+
* The row itself owns the row's typography (size, weight, color, leading, tracking), so a bare-string `children`
|
|
31
|
+
* ("Stridge ACME", "May 7, 18:54", "28m 5s") inherits the value baseline automatically. Reach for
|
|
32
|
+
* {@link Details.Value} only when you need the value's flex / gap / end-aligned layout chrome (e.g. pairing an
|
|
33
|
+
* `icon` with the value, or composing multiple inline atoms). Helpers like
|
|
34
|
+
* {@link import("#/shared/primitives/WalletValue").WalletValue} and
|
|
35
|
+
* {@link import("#/shared/primitives/TxHashValue").TxHashValue} set their own typography and override the row
|
|
36
|
+
* baseline where they need to.
|
|
29
37
|
*/
|
|
30
38
|
declare function DetailsRow({
|
|
31
39
|
label,
|
|
@@ -39,7 +47,7 @@ declare function DetailsRow({
|
|
|
39
47
|
* render any `ReactNode` inside `Details.Row` directly instead.
|
|
40
48
|
*
|
|
41
49
|
* The cluster is force-LTR via `dir="ltr"` so an icon paired with a numeric / symbol / hex
|
|
42
|
-
* atom — `[icon] 5 USDC`, `[icon] Stridge ACME`, `[wallet-icon] محفظة (…
|
|
50
|
+
* atom — `[icon] 5 USDC`, `[icon] Stridge ACME`, `[wallet-icon] محفظة (…2266)` — keeps the
|
|
43
51
|
* icon-leading visual ordering in RTL contexts. The pair is treated as a single LTR atom in
|
|
44
52
|
* the row's flex layout; the surrounding Detail row and label still respect ambient direction.
|
|
45
53
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={root:{"Details__styles.root":`Details__styles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"backgroundColor-kWkggS":`x14ogoj5`,"borderColor-kVAM5u":`xbeer74`,"borderRadius-kaIpWk":`xxbqt08`,"borderStyle-ksu8eU":`x1y0btm7`,"borderWidth-kMzoRj":`xmkeg23`,"color-kMwMTN":`x1i40r7x`,"fontFamily-kMv6JI":`xlaww2m`,"overflow-kVQacm":`x7giv3`,$$css:`@stridge/kit:src/shared/ui/Details/Details.styles.ts:4`},row:{"Details__styles.row":`Details__styles.row`,"alignItems-kGNEyG":`x6s0dn4`,"borderBottomColor-kL6WhQ":`x2kdqbz`,"borderBottomStyle-kfdmCh":`x1q0q8m5`,"borderBottomWidth-kt9PQ7":`xso031l`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"gap-kOIVth":`x1v2ro7d`,"justifyContent-kjj79g":`x1qughib`,"paddingBlock-k8WAf4":`xxlmvz2`,"paddingInline-kg3NbH":`x1hr3lfm`,":last-child_borderBottomWidth-kx8K5S":`x1t1lzn6`,$$css:`@stridge/kit:src/shared/ui/Details/Details.styles.ts:16`},label:{"Details__styles.label":`Details__styles.label`,"color-kMwMTN":`x18cw6k6`,"
|
|
1
|
+
const e={root:{"Details__styles.root":`Details__styles.root`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"backgroundColor-kWkggS":`x14ogoj5`,"borderColor-kVAM5u":`xbeer74`,"borderRadius-kaIpWk":`xxbqt08`,"borderStyle-ksu8eU":`x1y0btm7`,"borderWidth-kMzoRj":`xmkeg23`,"color-kMwMTN":`x1i40r7x`,"fontFamily-kMv6JI":`xlaww2m`,"overflow-kVQacm":`x7giv3`,$$css:`@stridge/kit:src/shared/ui/Details/Details.styles.ts:4`},row:{"Details__styles.row":`Details__styles.row`,"alignItems-kGNEyG":`x6s0dn4`,"borderBottomColor-kL6WhQ":`x2kdqbz`,"borderBottomStyle-kfdmCh":`x1q0q8m5`,"borderBottomWidth-kt9PQ7":`xso031l`,"color-kMwMTN":`x1i40r7x`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"fontSize-kGuDYH":`x1oae1zf`,"fontWeight-k63SB2":`x1qvi77d`,"gap-kOIVth":`x1v2ro7d`,"justifyContent-kjj79g":`x1qughib`,"letterSpacing-kb6lSQ":`x1ixy4ik`,"lineHeight-kLWn49":`x2fnr2h`,"paddingBlock-k8WAf4":`xxlmvz2`,"paddingInline-kg3NbH":`x1hr3lfm`,":last-child_borderBottomWidth-kx8K5S":`x1t1lzn6`,$$css:`@stridge/kit:src/shared/ui/Details/Details.styles.ts:16`},label:{"Details__styles.label":`Details__styles.label`,"color-kMwMTN":`x18cw6k6`,"fontWeight-k63SB2":`xi0sa8g`,$$css:`@stridge/kit:src/shared/ui/Details/Details.styles.ts:36`},value:{"Details__styles.value":`Details__styles.value`,"alignItems-kGNEyG":`x6s0dn4`,"display-k1xSpc":`x3nfvp2`,"flexDirection-kXwgrk":`x1q0g3np`,"gap-kOIVth":`x167g77z`,"minWidth-k7Eaqz":`xeuugli`,"textAlign-k9WMMc":`xp4054r`,$$css:`@stridge/kit:src/shared/ui/Details/Details.styles.ts:40`}};export{e as styles};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{useLingui as e}from"../../i18n/useLingui.js";import"../../../i18n/index.js";import{KitPortalScope as t}from"../../../scope/KitPortalScope.js";import"../../../scope/index.js";import{
|
|
1
|
+
"use client";import{useLingui as e}from"../../i18n/useLingui.js";import"../../../i18n/index.js";import{KitPortalScope as t}from"../../../scope/KitPortalScope.js";import"../../../scope/index.js";import{joinClassNames as n}from"../../utils/joinClassNames.js";import{XIcon as r}from"../../icons/XIcon.js";import"../../../icons/index.js";import{mergeClassName as i}from"../../utils/mergeClassName.js";import{mergeStyle as a}from"../../utils/mergeStyle.js";import{IconButton as o}from"../IconButton/IconButton.js";import"../IconButton/index.js";import{ScrollArea as s}from"../ScrollArea/ScrollArea.js";import"../ScrollArea/index.js";import{DIALOG_SLOTS as c}from"./Dialog.slots.js";import{styles as l}from"./Dialog.styles.js";import{createContext as u,use as d}from"react";import{jsx as f,jsxs as p}from"react/jsx-runtime";import*as m from"@stylexjs/stylex";import{Dialog as h}from"@base-ui/react/dialog";const g=u(!1);function _(){return d(g)}function v(e){return f(h.Root,{"data-stridge-slot":c.root,...e})}function y(e){return f(h.Trigger,{"data-stridge-slot":c.trigger,...e})}function b(e){return f(h.Portal,{"data-stridge-slot":c.portal,...e})}function x(e){return f(h.Close,{"data-stridge-slot":c.close,...e})}function S({className:e,style:t,...n}){let r=m.props(l.overlay);return f(h.Backdrop,{"data-stridge-slot":c.overlay,...n,className:i(r.className,e),style:a(r.style,t)})}function C({children:e,className:n,style:r,container:o,...s}){let u=m.props(l.content);return f(b,{container:o??void 0,children:p(t,{children:[f(S,{}),f(h.Popup,{"data-stridge-slot":c.content,...s,className:i(u.className,n),style:a(u.style,r),children:f(g.Provider,{value:!0,children:e})})]})})}function w(){let t=_(),{_:n}=e();return t?f(h.Close,{"data-stridge-slot":c.close,render:f(o,{"aria-label":n({id:`yz7wBu`,message:`Close`}),...m.props(l.closeButton),children:f(r,{"aria-hidden":!0})})}):null}function T({className:e,style:t,...r}){let i=m.props(l.header);return f(`div`,{"data-stridge-slot":c.header,...r,className:n(i.className,e),style:{...i.style,...t}})}function E({className:e,style:t,children:r,...i}){let a=m.props(l.body),o=m.props(l.bodyScrollArea),u=m.props(l.bodyScrollViewport),d=m.props(l.bodyInner);return f(`div`,{"data-stridge-slot":c.body,className:a.className,style:a.style,children:p(s,{className:o.className,style:o.style,children:[f(s.Viewport,{...i,className:n(u.className,e),style:{...u.style,...t},children:f(`div`,{className:d.className,style:d.style,children:r})}),f(s.Scrollbar,{orientation:`vertical`,children:f(s.Thumb,{})})]})})}function D({className:e,style:t,...r}){let i=m.props(l.footer);return f(`div`,{"data-stridge-slot":c.footer,...r,className:n(i.className,e),style:{...i.style,...t}})}function O({className:e,style:t,...n}){let r=m.props(l.title);return f(h.Title,{"data-stridge-slot":c.title,...n,className:i(r.className,e),style:a(r.style,t)})}function k({className:e,style:t,...n}){let r=m.props(l.description);return f(h.Description,{"data-stridge-slot":c.description,...n,className:i(r.className,e),style:a(r.style,t)})}(function(e){e.Trigger=y,e.Close=x,e.CloseButton=w,e.Portal=b,e.Overlay=S,e.Content=C,e.Header=T,e.Body=E,e.Footer=D,e.Title=O,e.Description=k})(v||={});export{v as Dialog,_ as useIsInsideDialogContent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={overlay:{"Dialog__styles.overlay":`Dialog__styles.overlay`,"position-kVAEAm":`xixxii4`,"inset-kpwlN0":`x10a8y8t`,"zIndex-kY2c9j":`xg4qres`,"backgroundColor-kWkggS":`xyxldge`,"[data-open]_animationName-k6MjMx":`x12nsbnh`,"[data-open]_animationDuration-kQT8Nr":`x1e1ssmj`,"[data-open]_animationTimingFunction-kGrMy9":`x1o9hdch`,"[data-open]_animationFillMode-kmxUqy":`x1je04mk`,"[data-closed]_animationName-khiDtg":`x5l6jkr`,"[data-closed]_animationDuration-kfqKPr":`x1ej03p1`,"[data-closed]_animationTimingFunction-kBIjI2":`x7w1vdx`,"[data-closed]_animationFillMode-kd5yZw":`x1i76y9b`,"@media (prefers-reduced-motion: reduce)_animationName-kjO2d4":`x1aquc0h`,"@media (prefers-reduced-motion: reduce)_animationDuration-kkDQuc":`x1u6grsq`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:26`},content:{"Dialog__styles.content":`Dialog__styles.content`,"position-kVAEAm":`xixxii4`,"inset-kpwlN0":`x10a8y8t`,"margin-kogj98":`x1bpp3o7`,"zIndex-kY2c9j":`x51lqrf`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"width-kzqmXN":`xh8yej3`,"height-kZKoxP":`xg7h5cd`,"maxWidth-ks0D6T":`xvq9yp0`,"maxHeight-kskxy":`x1q5actc`,"borderWidth-kMzoRj":`xmkeg23`,"borderStyle-ksu8eU":`x1y0btm7`,"borderColor-kVAM5u":`x1aqcfi1`,"borderRadius-kaIpWk":`x1c2egtx`,"backgroundColor-kWkggS":`x3cgcfv`,"color-kMwMTN":`xzn0pkc`,"boxShadow-kGVxlE":`xa2vu2y`,"fontFamily-kMv6JI":`xlaww2m`,"outline-kI3sdo":`x1a2a7pz`,"overflow-kVQacm":`x7giv3`,"
|
|
1
|
+
const e={overlay:{"Dialog__styles.overlay":`Dialog__styles.overlay`,"position-kVAEAm":`xixxii4`,"inset-kpwlN0":`x10a8y8t`,"zIndex-kY2c9j":`xg4qres`,"backgroundColor-kWkggS":`xyxldge`,"[data-open]_animationName-k6MjMx":`x12nsbnh`,"[data-open]_animationDuration-kQT8Nr":`x1e1ssmj`,"[data-open]_animationTimingFunction-kGrMy9":`x1o9hdch`,"[data-open]_animationFillMode-kmxUqy":`x1je04mk`,"[data-closed]_animationName-khiDtg":`x5l6jkr`,"[data-closed]_animationDuration-kfqKPr":`x1ej03p1`,"[data-closed]_animationTimingFunction-kBIjI2":`x7w1vdx`,"[data-closed]_animationFillMode-kd5yZw":`x1i76y9b`,"@media (prefers-reduced-motion: reduce)_animationName-kjO2d4":`x1aquc0h`,"@media (prefers-reduced-motion: reduce)_animationDuration-kkDQuc":`x1u6grsq`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:26`},content:{"Dialog__styles.content":`Dialog__styles.content`,"position-kVAEAm":`xixxii4`,"inset-kpwlN0":`x10a8y8t`,"margin-kogj98":`x1bpp3o7`,"zIndex-kY2c9j":`x51lqrf`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"width-kzqmXN":`xh8yej3`,"height-kZKoxP":`xg7h5cd`,"maxWidth-ks0D6T":`xvq9yp0`,"maxHeight-kskxy":`x1q5actc`,"borderWidth-kMzoRj":`xmkeg23`,"borderStyle-ksu8eU":`x1y0btm7`,"borderColor-kVAM5u":`x1aqcfi1`,"borderRadius-kaIpWk":`x1c2egtx`,"backgroundColor-kWkggS":`x3cgcfv`,"color-kMwMTN":`xzn0pkc`,"boxShadow-kGVxlE":`xa2vu2y`,"fontFamily-kMv6JI":`xlaww2m`,"outline-kI3sdo":`x1a2a7pz`,"overflow-kVQacm":`x7giv3`,"transformOrigin-k3nNDw":`x1g0ag68`,"[data-open]_animationName-k6MjMx":`x1lhd1x2`,"[data-open]_animationDuration-kQT8Nr":`x1e1ssmj`,"[data-open]_animationTimingFunction-kGrMy9":`x1o9hdch`,"[data-open]_animationFillMode-kmxUqy":`x1je04mk`,"[data-closed]_animationName-khiDtg":`x1t6nk59`,"[data-closed]_animationDuration-kfqKPr":`x1ej03p1`,"[data-closed]_animationTimingFunction-kBIjI2":`x7w1vdx`,"[data-closed]_animationFillMode-kd5yZw":`x1i76y9b`,"@media (prefers-reduced-motion: reduce)_animationName-kjO2d4":`x1aquc0h`,"@media (prefers-reduced-motion: reduce)_animationDuration-kkDQuc":`x1u6grsq`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:66`},closeButton:{"Dialog__styles.closeButton":`Dialog__styles.closeButton`,"marginInlineStart-keTefX":`xvc5jky`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:131`},header:{"Dialog__styles.header":`Dialog__styles.header`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"flexShrink-kmuXW":`x2lah0s`,"paddingTop-kLKAdn":`x1cnzs8`,"paddingInlineEnd-kwRFfy":`x1o5r3ls`,"paddingBottom-kGO01o":`x1hhzuzn`,"paddingInlineStart-kZCmMZ":`xz7312c`,"borderBottomWidth-kt9PQ7":`xso031l`,"borderBottomStyle-kfdmCh":`x1q0q8m5`,"borderBottomColor-kL6WhQ":`x188r5k3`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:139`},body:{"Dialog__styles.body":`Dialog__styles.body`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"flex-kUk6DE":`x12lumcd`,"minHeight-kAzted":`x2lwn1j`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:164`},bodyScrollArea:{"Dialog__styles.bodyScrollArea":`Dialog__styles.bodyScrollArea`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"flex-kUk6DE":`x12lumcd`,"minHeight-kAzted":`x2lwn1j`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:177`},bodyScrollViewport:{"Dialog__styles.bodyScrollViewport":`Dialog__styles.bodyScrollViewport`,"flex-kUk6DE":`x845mor`,"minHeight-kAzted":`x2lwn1j`,"width-kzqmXN":`xh8yej3`,"maxWidth-ks0D6T":`x193iq5w`,"height-kZKoxP":`xt7dq6l`,"maxHeight-kskxy":`xmz0i5r`,"overflowX-kXHlph":`x6ikm8r`,"overflowY-kORKVm":`x1odjw0f`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:183`},bodyInner:{"Dialog__styles.bodyInner":`Dialog__styles.bodyInner`,"boxSizing-kB7OPa":`x9f619`,"width-kzqmXN":`xh8yej3`,"maxWidth-ks0D6T":`x193iq5w`,"minWidth-k7Eaqz":`xeuugli`,"paddingTop-kLKAdn":`x1h03h88`,"paddingBottom-kGO01o":`xfvigk`,"paddingInlineStart-kZCmMZ":`xz7312c`,"paddingInlineEnd-kwRFfy":`x1o5r3ls`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:203`},footer:{"Dialog__styles.footer":`Dialog__styles.footer`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"flexShrink-kmuXW":`x2lah0s`,"borderTopWidth-kEafiO":`x178xt8z`,"borderTopStyle-kPef9Z":`x13fuv20`,"borderTopColor-kLZC3w":`x1wc9ssx`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:218`},title:{"Dialog__styles.title":`Dialog__styles.title`,"marginTop-keoZOQ":`xdj266r`,"marginBottom-k1K539":`xat24cr`,"color-kMwMTN":`xzn0pkc`,"fontFamily-kMv6JI":`xlaww2m`,"fontSize-kGuDYH":`x126f79r`,"fontWeight-k63SB2":`x1qvi77d`,"lineHeight-kLWn49":`xfh9y1j`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:227`},description:{"Dialog__styles.description":`Dialog__styles.description`,"marginTop-keoZOQ":`xdj266r`,"marginBottom-k1K539":`xat24cr`,"color-kMwMTN":`xi96bwj`,"fontFamily-kMv6JI":`xlaww2m`,"fontSize-kGuDYH":`x14qa7mu`,"lineHeight-kLWn49":`x14vj8e1`,$$css:`@stridge/kit:src/shared/ui/Dialog/Dialog.styles.ts:236`}};export{e as styles};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{styles as e}from"./ExternalLink.styles.js";import{joinClassNames as t}from"../../utils/joinClassNames.js";import{EXTERNAL_LINK_SLOTS as n}from"./ExternalLink.slots.js";import{toSafeHref as r}from"./toSafeHref.js";import{cloneElement as i,isValidElement as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";function l({href:i,suffix:a,className:l,style:d,children:f,...p}){let m=r(i)??`#`,h=a!=null&&a!==!1,g=c.props(e.root),_=t(g.className,l),v=c.props(e.iconSlot,e.suffixSpacing);return s(`a`,{"data-stridge-slot":n.root,...p,href:m,target:`_blank`,rel:`noreferrer noopener`,className:_,style:{...g.style,...d},children:[f,h?o(`span`,{"data-icon":`inline-end`,...v,children:u(a)}):null]})}function u(t){if(!a(t))return t;let n=c.props(e.iconSvg);return i(t,{className:[t.props.className,n.className].filter(Boolean).join(` `),style:{...t.props.style,...n.style}})}export{l as ExternalLink};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{KitPortalScope as e}from"../../../scope/KitPortalScope.js";import"../../../scope/index.js";import{
|
|
1
|
+
"use client";import{KitPortalScope as e}from"../../../scope/KitPortalScope.js";import"../../../scope/index.js";import{joinClassNames as t}from"../../utils/joinClassNames.js";import{ChevronDownIcon as n}from"../../icons/ChevronDownIcon.js";import{ChevronUpIcon as r}from"../../icons/ChevronUpIcon.js";import"../../../icons/index.js";import{mergeClassName as i}from"../../utils/mergeClassName.js";import{mergeStyle as a}from"../../utils/mergeStyle.js";import{ScrollArea as o}from"../ScrollArea/ScrollArea.js";import"../ScrollArea/index.js";import{DEFAULT_SELECT_CONTEXT as s,SelectContext as c,useSelectContext as l}from"./Select.context.js";import{SELECT_SLOTS as u}from"./Select.slots.js";import{styles as d}from"./Select.styles.js";import{jsx as f,jsxs as p}from"react/jsx-runtime";import*as m from"@stylexjs/stylex";import{Select as h}from"@base-ui/react/select";function g({variant:e=s.variant,...t}){return f(c.Provider,{value:{variant:e},children:f(h.Root,{"data-stridge-slot":u.root,...t})})}function _(e){return f(h.Group,{"data-stridge-slot":u.group,...e})}function v({placeholder:e,className:t,style:n,...r}){let o=m.props(d.value),s=m.props(d.value,d.placeholder);return e?f(h.Value,{render:(c,{value:l})=>(Array.isArray(l)?l.length>0:l!=null)?f(h.Value,{"data-stridge-slot":u.value,...r,className:i(o.className,t),style:a(o.style,n)}):f(`span`,{"data-stridge-slot":u.value,...s,children:e}),...r}):f(h.Value,{"data-stridge-slot":u.value,...r,className:i(o.className,t),style:a(o.style,n)})}function y({children:e,className:t,style:r,...o}){let{variant:s}=l(),c=m.props(d.triggerBase,s===`tile`?d.triggerTile:d.triggerOutline),g=m.props(d.triggerContent),_=m.props(d.iconBase,s===`tile`?d.iconTile:d.iconOutline);return p(h.Trigger,{"data-stridge-slot":u.trigger,...o,className:i(c.className,t),style:a(c.style,r),children:[f(`span`,{...g,children:e}),f(h.Icon,{children:f(n,{"data-stridge-slot":u.icon,..._})})]})}function b({variant:e=s.variant,children:r,className:i,style:a,...o}){let c=m.props(d.triggerBase,e===`tile`?d.triggerTile:d.triggerOutline,d.triggerStatic),l=m.props(d.triggerContent),h=m.props(d.iconBase,e===`tile`?d.iconTile:d.iconOutline);return p(`div`,{"data-stridge-slot":u.staticTrigger,...o,className:t(c.className,i),style:{...c.style,...a},children:[f(`span`,{...l,children:r}),f(n,{"data-stridge-slot":u.icon,"aria-hidden":!0,...h})]})}function x(e){return f(h.Portal,{"data-stridge-slot":u.portal,...e})}function S(e){return f(h.Positioner,{"data-stridge-slot":u.positioner,...e,...m.props(d.positioner)})}function C({position:n=`popper`,side:r=`bottom`,align:s=`center`,sideOffset:c=4,scrollArrows:g=!0,className:_,style:v,children:y,...b}){let{variant:C}=l(),w=m.props(d.popupBase,C===`tile`?d.popupTile:d.popupOutline),T=m.props(d.popupScrollArea),E=m.props(d.popupViewport);return f(x,{children:f(e,{children:p(S,{align:s,alignItemWithTrigger:n===`item-aligned`,side:r,sideOffset:c,children:[g?f(O,{}):null,f(h.Popup,{"data-stridge-slot":u.content,...b,render:e=>{let{children:n,className:r,style:i,...a}=e;return p(o,{className:T.className,style:T.style,children:[f(o.Viewport,{...a,className:t(E.className,r),style:{...E.style,...i},children:n}),f(o.Scrollbar,{orientation:`vertical`,children:f(o.Thumb,{})})]})},className:i(w.className,_),style:a(w.style,v),children:y}),g?f(k,{}):null]})})})}function w({className:e,style:t,...n}){let r=m.props(d.label);return f(h.GroupLabel,{"data-stridge-slot":u.label,...n,className:i(r.className,e),style:a(r.style,t)})}function T({children:e,className:t,style:n,...r}){let{variant:o}=l(),s=m.props(d.itemBase,o===`tile`?d.itemTile:d.itemOutline),c=m.props(d.itemText);return f(h.Item,{"data-stridge-slot":u.item,...r,className:i(s.className,t),style:a(s.style,n),children:f(h.ItemText,{...c,children:e})})}function E({children:e,className:n,style:r,...i}){let{variant:a}=l(),o=m.props(d.itemBase,a===`tile`?d.itemTile:d.itemOutline,d.itemDisabled),s=m.props(d.itemText);return f(`div`,{role:`option`,"aria-disabled":`true`,"aria-selected":`false`,tabIndex:-1,"data-stridge-slot":u.item,"data-disabled":``,...i,className:t(o.className,n),style:{...o.style,...r},children:f(`span`,{...s,children:e})})}function D({className:e,style:t,...n}){let r=m.props(d.separator);return f(h.Separator,{"data-stridge-slot":u.separator,...n,className:i(r.className,e),style:a(r.style,t)})}function O({className:e,style:t,...n}){let o=m.props(d.scrollButton,d.scrollUpButton),s=m.props(d.scrollIcon);return f(h.ScrollUpArrow,{"data-stridge-slot":u.scrollUpButton,...n,className:i(o.className,e),style:a(o.style,t),children:f(r,{...s})})}function k({className:e,style:t,...r}){let o=m.props(d.scrollButton,d.scrollDownButton),s=m.props(d.scrollIcon);return f(h.ScrollDownArrow,{"data-stridge-slot":u.scrollDownButton,...r,className:i(o.className,e),style:a(o.style,t),children:f(n,{...s})})}(function(e){e.Group=_,e.Value=v,e.Trigger=y,e.StaticTrigger=b,e.Portal=x,e.Positioner=S,e.Content=C,e.Label=w,e.Item=T,e.DisabledItem=E,e.Separator=D,e.ScrollUpButton=O,e.ScrollDownButton=k})(g||={});export{g as Select};
|
|
@@ -3,7 +3,7 @@ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
|
3
3
|
//#region src/shared/ui/WalletRow/WalletRow.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Typography rhythm for the name span. `regular` renders at `sm/medium`; `compact` at
|
|
6
|
-
* `
|
|
6
|
+
* `xs/semibold` for denser layouts (error-, success-, and processing-state receipt rows).
|
|
7
7
|
*/
|
|
8
8
|
type WalletRowDensity = "regular" | "compact";
|
|
9
9
|
interface WalletRowProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{toSafeHref as e}from"../ExternalLink/toSafeHref.js";import{ExternalLink as t}from"../ExternalLink/ExternalLink.js";import"../ExternalLink/index.js";import{ExternalLinkIcon as n}from"../../icons/ExternalLinkIcon.js";import"../../../icons/index.js";import{Image as r}from"../Image/Image.js";import"../Image/index.js";import{LtrAtom as i}from"../LtrAtom/LtrAtom.js";import"../LtrAtom/index.js";import{text as a}from"../Text/Text.js";import"../Text/index.js";import{WALLET_ROW_SLOTS as o}from"./WalletRow.slots.js";import{styles as s}from"./WalletRow.styles.js";import{Fragment as c,jsx as l,jsxs as u}from"react/jsx-runtime";import*as d from"@stylexjs/stylex";function f({iconUrl:f,name:p,formattedAddress:m,explorerUrl:h,density:g=`regular`,hideIcon:_=!1}){let v=e(h),y=d.props(s.root),b=u(c,{children:[_?null:l(r,{size:`md`,src:f,alt:p??``}),p?g===`compact`?l(a.span,{size:`xs`,fontWeight:`semibold`,leading:`tight`,children:p}):l(a.span,{size:`sm`,fontWeight:`medium`,leading:`tight`,children:p}):null,l(a.span,{size:g===`compact`?`xs`:`meta`,fontWeight:`medium`,leading:`tight`,tracking:`normal`,font:`mono`,color:`subdued`,children:l(i,{children:p?`(${m})`:m})})]});return v?l(t,{dir:`ltr`,href:v,suffix:l(n,{"aria-hidden":!0}),"data-stridge-slot":o.root,className:y.className,style:y.style,children:b}):l(`span`,{dir:`ltr`,"data-stridge-slot":o.root,className:y.className,style:y.style,children:b})}export{f as WalletRow};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{Trans as e}from"../../../../i18n/Trans.js";import"../../../../../i18n/index.js";import{
|
|
1
|
+
"use client";import{Trans as e}from"../../../../i18n/Trans.js";import"../../../../../i18n/index.js";import{BRAND_LINKS as t}from"../../../../constants/brand-links.js";import{ExternalLink as n}from"../../../../ui/ExternalLink/ExternalLink.js";import"../../../../ui/ExternalLink/index.js";import{InfoIcon as r}from"../../../../icons/InfoIcon.js";import"../../../../../icons/index.js";import{Alert as i}from"../../../../ui/Alert/Alert.js";import"../../../../../ui/index.js";import{CONFIRM_TRANSFER_SLOTS as a}from"../ConfirmTransfer.slots.js";import{styles as o}from"../ConfirmTransfer.styles.js";import{jsx as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";const l=s(e,{id:`kR8ayx`,message:`By clicking Confirm Deposit, you agree to our <0>terms</0>.`,components:{0:s(n,{href:t.terms,...c.props(o.disclaimerTermsLink)})}});function u({children:e=l}){return s(i,{"data-stridge-slot":a.disclaimer,variant:`default`,icon:s(r,{}),...c.props(o.section),children:e})}export{u as ConfirmTransferDisclaimer};
|