@web-my-money/brand 1.0.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.
- package/README.md +76 -0
- package/assets/logos/isologotipo-blue.svg +14 -0
- package/assets/logos/isologotipo-full.svg +25 -0
- package/assets/logos/isologotipo-white.svg +14 -0
- package/assets/logos/isotipo-blue.svg +3 -0
- package/assets/logos/isotipo-full.svg +15 -0
- package/assets/logos/isotipo-white.svg +3 -0
- package/assets/logos/logotipo-blue.svg +12 -0
- package/assets/logos/logotipo-white.svg +12 -0
- package/brand-tokens.css +60 -0
- package/brand.css +18 -0
- package/dist/index.d.mts +380 -0
- package/dist/index.d.ts +380 -0
- package/dist/index.js +606 -0
- package/dist/index.mjs +540 -0
- package/package.json +50 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
type LogoVariant = "lockup" | "mark" | "wordmark";
|
|
4
|
+
declare const RAW_SVG: Record<string, string>;
|
|
5
|
+
declare const INK_SVG: Record<LogoVariant, string>;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Theme-aware WMM logo. Renders one inline SVG whose ink follows the
|
|
9
|
+
* `--wmm-logo-ink` CSS variable — white on dark/wmm, navy on light — set by
|
|
10
|
+
* `@web-my-money/brand/brand.css`. SSR-safe, no flash, no client JS for theming.
|
|
11
|
+
*
|
|
12
|
+
* <WmmLogo /> // lockup, 28px tall, theme-driven
|
|
13
|
+
* <WmmLogo variant="mark" size={32} />
|
|
14
|
+
* <WmmLogo variant="wordmark" /> // "WEBMYMONEY" text only
|
|
15
|
+
* <WmmLogo tone="white" /> // force a tone (e.g. on a colored CTA)
|
|
16
|
+
*
|
|
17
|
+
* `variant`: "lockup" (mark + wordmark) · "mark" (symbol only) · "wordmark" (text only).
|
|
18
|
+
* Import `@web-my-money/brand/brand.css` once (e.g. in globals.css) so the
|
|
19
|
+
* per-theme ink var resolves; without it the logo falls back to `currentColor`.
|
|
20
|
+
*/
|
|
21
|
+
type WmmLogoTone = "auto" | "white" | "navy" | "currentColor" | "full";
|
|
22
|
+
interface WmmLogoProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "title"> {
|
|
23
|
+
/** "lockup" = mark + wordmark (default), "mark" = symbol only, "wordmark" = text only. */
|
|
24
|
+
variant?: LogoVariant;
|
|
25
|
+
/** Rendered height in px (width scales with the artwork). Default 28. */
|
|
26
|
+
size?: number;
|
|
27
|
+
/** Force a color; "auto" (default) follows the theme via --wmm-logo-ink. */
|
|
28
|
+
tone?: WmmLogoTone;
|
|
29
|
+
/** Accessible label. Default "Web My Money". */
|
|
30
|
+
title?: string;
|
|
31
|
+
}
|
|
32
|
+
declare function WmmLogo({ variant, size, tone, title, className, style, ...rest }: WmmLogoProps): React.JSX.Element;
|
|
33
|
+
|
|
34
|
+
interface WmmLogo3DProps extends Omit<WmmLogoProps, "size"> {
|
|
35
|
+
/** Rendered logo height in px. Default 96. */
|
|
36
|
+
size?: number;
|
|
37
|
+
/** Max pointer tilt in degrees. Default 18. */
|
|
38
|
+
max?: number;
|
|
39
|
+
/** Float gently when the pointer is away (needs the tokens theme CSS for the keyframe). Default true. */
|
|
40
|
+
idle?: boolean;
|
|
41
|
+
/** Soft contact shadow beneath the mark. Default true. */
|
|
42
|
+
shadow?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 3D treatment of the WMM logo — interactive parallax tilt + idle float + depth
|
|
46
|
+
* shadow, all in CSS transforms. No WebGL, no binary 3D assets, no animation
|
|
47
|
+
* library — light and fast. Defaults to the `mark` variant (best in 3D).
|
|
48
|
+
*
|
|
49
|
+
* <WmmLogo3D /> // tilting mark, 96px
|
|
50
|
+
* <WmmLogo3D variant="lockup" size={64} />
|
|
51
|
+
*
|
|
52
|
+
* For a fully pre-rendered 3D logo instead, use an <img> of a Drive render.
|
|
53
|
+
*/
|
|
54
|
+
declare function WmmLogo3D({ variant, size, max, idle, shadow, ...logoProps }: WmmLogo3DProps): React.JSX.Element;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Living WMM brand board — renders the palette, gradients, logo variants and
|
|
58
|
+
* type specimen from the canonical brand tokens. Self-contained (inline styles,
|
|
59
|
+
* no Tailwind/token dependency) so it drops into ANY app as a brand reference.
|
|
60
|
+
*
|
|
61
|
+
* import { WmmBrandboard } from "@web-my-money/brand";
|
|
62
|
+
* <WmmBrandboard />
|
|
63
|
+
*/
|
|
64
|
+
interface WmmBrandboardProps {
|
|
65
|
+
className?: string;
|
|
66
|
+
style?: React.CSSProperties;
|
|
67
|
+
}
|
|
68
|
+
declare function WmmBrandboard({ className, style }: WmmBrandboardProps): React.JSX.Element;
|
|
69
|
+
|
|
70
|
+
interface WmmAssetProps extends React.HTMLAttributes<HTMLElement> {
|
|
71
|
+
/** Registry id, e.g. "mark-white", "lockup-blue", "3d-renders". */
|
|
72
|
+
id: string;
|
|
73
|
+
/** Force rendering as an <img> from the CDN instead of inline SVG. */
|
|
74
|
+
asImage?: boolean;
|
|
75
|
+
/** Override the CDN base. */
|
|
76
|
+
base?: string;
|
|
77
|
+
/** Rendered height in px (vectors) or width for images. */
|
|
78
|
+
size?: number;
|
|
79
|
+
alt?: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Render any brand asset by registry id. Bundled vectors render inline (crisp,
|
|
83
|
+
* no network); published assets can render from the CDN with `asImage`; Drive-
|
|
84
|
+
* only assets render a link to the vault.
|
|
85
|
+
*
|
|
86
|
+
* <WmmAsset id="mark-white" size={48} />
|
|
87
|
+
* <WmmAsset id="lockup-blue" asImage /> // <img> from CDN
|
|
88
|
+
* <WmmAsset id="3d-renders" /> // link to Drive folder
|
|
89
|
+
*/
|
|
90
|
+
declare function WmmAsset({ id, asImage, base, size, alt, className, style, ...rest }: WmmAssetProps): React.JSX.Element | null;
|
|
91
|
+
|
|
92
|
+
interface WmmLogoMotionProps {
|
|
93
|
+
/**
|
|
94
|
+
* Published video URL of the animated logo (mp4/webm) — from the brand CDN or
|
|
95
|
+
* a direct Drive file link. Without it, falls back to the static mark.
|
|
96
|
+
*/
|
|
97
|
+
src?: string;
|
|
98
|
+
/** Optional poster image URL. */
|
|
99
|
+
poster?: string;
|
|
100
|
+
/** Rendered height in px. Default 96. */
|
|
101
|
+
size?: number;
|
|
102
|
+
/** Loop the motion. Default true. */
|
|
103
|
+
loop?: boolean;
|
|
104
|
+
className?: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Plays the WMM "logo in motion" asset as a lightweight, autoplaying, muted
|
|
108
|
+
* inline video (no animation library). Falls back to the static <WmmLogo mark>
|
|
109
|
+
* when no `src` is provided or video can't play — so it's always safe to render.
|
|
110
|
+
*
|
|
111
|
+
* import { WMM_DRIVE } from "@web-my-money/brand";
|
|
112
|
+
* <WmmLogoMotion src={`${cdn}/motion/logo-loop.webm`} size={120} />
|
|
113
|
+
*/
|
|
114
|
+
declare function WmmLogoMotion({ src, poster, size, loop, className }: WmmLogoMotionProps): React.JSX.Element;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Theme → logo tone resolution. Single source of the rule the brand team set:
|
|
118
|
+
* white logo on dark/wmm surfaces, navy ("blue") logo on light surfaces.
|
|
119
|
+
*
|
|
120
|
+
* The <WmmLogo> component does NOT need this — it renders one geometry whose ink
|
|
121
|
+
* follows the `--wmm-logo-ink` CSS var per theme. Use this only for raw-asset
|
|
122
|
+
* consumers (CDN, <img>, favicons, emails) that must pick a concrete file.
|
|
123
|
+
*/
|
|
124
|
+
type ThemeName = "light" | "dark" | "wmm";
|
|
125
|
+
type LogoTone$1 = "white" | "blue";
|
|
126
|
+
declare function resolveLogoTone(theme: ThemeName | string | null | undefined): LogoTone$1;
|
|
127
|
+
/** Filename (without extension) of the raw asset for a shape + theme. */
|
|
128
|
+
declare function rawLogoKey(shape: "isologotipo" | "isotipo" | "logotipo", theme: ThemeName | string | null | undefined): string;
|
|
129
|
+
|
|
130
|
+
interface WmmMetadataOptions {
|
|
131
|
+
/** App name → title "WMM <appName>" + "%s · WMM <appName>" template. */
|
|
132
|
+
appName?: string;
|
|
133
|
+
description?: string;
|
|
134
|
+
/** Override the favicon (raw SVG markup). Defaults to the navy isotipo. */
|
|
135
|
+
favicon?: string;
|
|
136
|
+
}
|
|
137
|
+
declare function wmmMetadata(opts?: WmmMetadataOptions): {
|
|
138
|
+
title: string | {
|
|
139
|
+
default: string;
|
|
140
|
+
template: string;
|
|
141
|
+
};
|
|
142
|
+
description: string | undefined;
|
|
143
|
+
icons: {
|
|
144
|
+
icon: {
|
|
145
|
+
url: string;
|
|
146
|
+
type: string;
|
|
147
|
+
}[];
|
|
148
|
+
};
|
|
149
|
+
openGraph: {
|
|
150
|
+
title: string;
|
|
151
|
+
description: string | undefined;
|
|
152
|
+
siteName: string;
|
|
153
|
+
type: string;
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
/** Next 15 wants themeColor in `viewport`, not `metadata`. */
|
|
157
|
+
declare function wmmViewport(themeColor?: string): {
|
|
158
|
+
themeColor: string;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
declare const wmmColors: {
|
|
162
|
+
readonly aqua: "#8fccb6";
|
|
163
|
+
readonly periwinkle: "#869ce2";
|
|
164
|
+
readonly blueLift: "#7388cf";
|
|
165
|
+
readonly spaceCadet: "#1f2d56";
|
|
166
|
+
readonly teal: "#8fccb6";
|
|
167
|
+
readonly violet: "#869ce2";
|
|
168
|
+
readonly sky: "#7388cf";
|
|
169
|
+
readonly navy: "#080b14";
|
|
170
|
+
readonly surface: "#0b1322";
|
|
171
|
+
readonly card: "#0f172a";
|
|
172
|
+
readonly overlay: "#16203a";
|
|
173
|
+
readonly foreground: "#f8fafc";
|
|
174
|
+
readonly mutedForeground: "#94a3b8";
|
|
175
|
+
readonly faint: "#64748b";
|
|
176
|
+
readonly primaryForeground: "#04201c";
|
|
177
|
+
readonly accentForeground: "#0a1222";
|
|
178
|
+
readonly border: "rgba(255, 255, 255, 0.08)";
|
|
179
|
+
readonly borderStrong: "rgba(255, 255, 255, 0.14)";
|
|
180
|
+
readonly danger: "#ef4444";
|
|
181
|
+
readonly warn: "#f59e0b";
|
|
182
|
+
readonly ok: "#22c55e";
|
|
183
|
+
readonly logoInkLight: "#1f2d56";
|
|
184
|
+
readonly logoInkDark: "#fbfbfb";
|
|
185
|
+
readonly glow: "rgba(143, 204, 182, 0.15)";
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* WMM brand tokens — the canonical Web My Money brand values, as plain
|
|
190
|
+
* JS/TS objects (hex + rgba, no CSS vars) so they work EVERYWHERE: web,
|
|
191
|
+
* React Native, email, design tooling, other languages via the JSON manifest.
|
|
192
|
+
*
|
|
193
|
+
* Source of truth for the WMM marketing palette — mirrors the `wmm` theme in
|
|
194
|
+
* @web-my-money/tokens (palette.mjs) and the live wmm-website. Edit here only
|
|
195
|
+
* for brand-level changes; per-app theming still goes through the tokens themes.
|
|
196
|
+
*/
|
|
197
|
+
|
|
198
|
+
/** Brand gradients — mirror production (wmm-website hero + CTA). */
|
|
199
|
+
declare const wmmGradients: {
|
|
200
|
+
readonly brand: "linear-gradient(135deg, #1f2d56 0%, #8fccb6 100%)";
|
|
201
|
+
readonly heroText: "linear-gradient(118deg, #8aa0e6 0%, #7388cf 42%, #8fccb6 100%)";
|
|
202
|
+
readonly hero: "linear-gradient(180deg, #070b13 0%, #080c14 46%, #0a1220 100%)";
|
|
203
|
+
readonly aquaGlow: "radial-gradient(ellipse at 50% 0%, rgba(143,204,182,0.18) 0%, transparent 70%)";
|
|
204
|
+
readonly periwinkleGlow: "radial-gradient(ellipse at 84% 6%, rgba(115,136,207,0.14) 0%, transparent 60%)";
|
|
205
|
+
readonly shine: "linear-gradient(105deg, transparent 40%, rgba(143,204,182,0.10) 50%, transparent 60%)";
|
|
206
|
+
};
|
|
207
|
+
/** Brand typography — Satoshi (display) over Inter (body), Space Grotesk fallback. */
|
|
208
|
+
declare const wmmTypography: {
|
|
209
|
+
readonly fontDisplay: "\"Satoshi\", \"Space Grotesk\", system-ui, sans-serif";
|
|
210
|
+
readonly fontSans: "\"Inter\", system-ui, -apple-system, \"Segoe UI\", sans-serif";
|
|
211
|
+
readonly fontMono: "ui-monospace, \"JetBrains Mono\", \"Fira Code\", monospace";
|
|
212
|
+
/** The brand display face, shipped via @web-my-money/tokens/fonts.css. */
|
|
213
|
+
readonly displayFace: "Satoshi";
|
|
214
|
+
readonly weights: {
|
|
215
|
+
readonly regular: 400;
|
|
216
|
+
readonly medium: 500;
|
|
217
|
+
readonly semibold: 600;
|
|
218
|
+
readonly bold: 700;
|
|
219
|
+
readonly black: 900;
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
/** Brand identity facts. */
|
|
223
|
+
declare const wmmIdentity: {
|
|
224
|
+
readonly name: "Web My Money";
|
|
225
|
+
readonly short: "WMM";
|
|
226
|
+
readonly domain: "webmymoney.com";
|
|
227
|
+
readonly themeColor: "#080c14";
|
|
228
|
+
};
|
|
229
|
+
/**
|
|
230
|
+
* Single aggregated brand manifest — JSON-serialisable. Consume from any
|
|
231
|
+
* JS/TS runtime (web, React Native, Node) or read the shipped manifest as data.
|
|
232
|
+
*/
|
|
233
|
+
declare const wmmManifest: {
|
|
234
|
+
readonly identity: {
|
|
235
|
+
readonly name: "Web My Money";
|
|
236
|
+
readonly short: "WMM";
|
|
237
|
+
readonly domain: "webmymoney.com";
|
|
238
|
+
readonly themeColor: "#080c14";
|
|
239
|
+
};
|
|
240
|
+
readonly colors: {
|
|
241
|
+
readonly aqua: "#8fccb6";
|
|
242
|
+
readonly periwinkle: "#869ce2";
|
|
243
|
+
readonly blueLift: "#7388cf";
|
|
244
|
+
readonly spaceCadet: "#1f2d56";
|
|
245
|
+
readonly teal: "#8fccb6";
|
|
246
|
+
readonly violet: "#869ce2";
|
|
247
|
+
readonly sky: "#7388cf";
|
|
248
|
+
readonly navy: "#080b14";
|
|
249
|
+
readonly surface: "#0b1322";
|
|
250
|
+
readonly card: "#0f172a";
|
|
251
|
+
readonly overlay: "#16203a";
|
|
252
|
+
readonly foreground: "#f8fafc";
|
|
253
|
+
readonly mutedForeground: "#94a3b8";
|
|
254
|
+
readonly faint: "#64748b";
|
|
255
|
+
readonly primaryForeground: "#04201c";
|
|
256
|
+
readonly accentForeground: "#0a1222";
|
|
257
|
+
readonly border: "rgba(255, 255, 255, 0.08)";
|
|
258
|
+
readonly borderStrong: "rgba(255, 255, 255, 0.14)";
|
|
259
|
+
readonly danger: "#ef4444";
|
|
260
|
+
readonly warn: "#f59e0b";
|
|
261
|
+
readonly ok: "#22c55e";
|
|
262
|
+
readonly logoInkLight: "#1f2d56";
|
|
263
|
+
readonly logoInkDark: "#fbfbfb";
|
|
264
|
+
readonly glow: "rgba(143, 204, 182, 0.15)";
|
|
265
|
+
};
|
|
266
|
+
readonly gradients: {
|
|
267
|
+
readonly brand: "linear-gradient(135deg, #1f2d56 0%, #8fccb6 100%)";
|
|
268
|
+
readonly heroText: "linear-gradient(118deg, #8aa0e6 0%, #7388cf 42%, #8fccb6 100%)";
|
|
269
|
+
readonly hero: "linear-gradient(180deg, #070b13 0%, #080c14 46%, #0a1220 100%)";
|
|
270
|
+
readonly aquaGlow: "radial-gradient(ellipse at 50% 0%, rgba(143,204,182,0.18) 0%, transparent 70%)";
|
|
271
|
+
readonly periwinkleGlow: "radial-gradient(ellipse at 84% 6%, rgba(115,136,207,0.14) 0%, transparent 60%)";
|
|
272
|
+
readonly shine: "linear-gradient(105deg, transparent 40%, rgba(143,204,182,0.10) 50%, transparent 60%)";
|
|
273
|
+
};
|
|
274
|
+
readonly typography: {
|
|
275
|
+
readonly fontDisplay: "\"Satoshi\", \"Space Grotesk\", system-ui, sans-serif";
|
|
276
|
+
readonly fontSans: "\"Inter\", system-ui, -apple-system, \"Segoe UI\", sans-serif";
|
|
277
|
+
readonly fontMono: "ui-monospace, \"JetBrains Mono\", \"Fira Code\", monospace";
|
|
278
|
+
/** The brand display face, shipped via @web-my-money/tokens/fonts.css. */
|
|
279
|
+
readonly displayFace: "Satoshi";
|
|
280
|
+
readonly weights: {
|
|
281
|
+
readonly regular: 400;
|
|
282
|
+
readonly medium: 500;
|
|
283
|
+
readonly semibold: 600;
|
|
284
|
+
readonly bold: 700;
|
|
285
|
+
readonly black: 900;
|
|
286
|
+
};
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
type WmmColors = typeof wmmColors;
|
|
290
|
+
type WmmGradients = typeof wmmGradients;
|
|
291
|
+
type WmmTypography = typeof wmmTypography;
|
|
292
|
+
type WmmManifest = typeof wmmManifest;
|
|
293
|
+
|
|
294
|
+
type LogoShape = "lockup" | "mark" | "wordmark";
|
|
295
|
+
type LogoTone = "white" | "blue" | "full";
|
|
296
|
+
/** Drive folder IDs + ready-to-open URLs for every brand asset group. */
|
|
297
|
+
declare const WMM_DRIVE: {
|
|
298
|
+
readonly vaultUrl: string;
|
|
299
|
+
readonly brandRootUrl: string;
|
|
300
|
+
readonly twoDUrl: string;
|
|
301
|
+
readonly threeDUrl: string;
|
|
302
|
+
readonly svgUrl: string;
|
|
303
|
+
readonly pngUrl: string;
|
|
304
|
+
readonly jpgUrl: string;
|
|
305
|
+
readonly faviconUrl: string;
|
|
306
|
+
readonly editablesUrl: string;
|
|
307
|
+
readonly profilePicsUrl: string;
|
|
308
|
+
readonly googleWorkspaceUrl: string;
|
|
309
|
+
readonly motionGraphicsUrl: string;
|
|
310
|
+
readonly threeTexturesUrl: string;
|
|
311
|
+
readonly threeAnimationUrl: string;
|
|
312
|
+
readonly threeRendersUrl: string;
|
|
313
|
+
readonly vault: "1Q3vCA1tM0IsFDhxaKPhJWlAV7EfQufmY";
|
|
314
|
+
readonly brandRoot: "1J6omjsUEJBQ3FEJGGUz1kJv7PS_fHK29";
|
|
315
|
+
readonly twoD: "1lNFkLeR0Tw8Wbg7lA4IhIpjqJjRMiWc-";
|
|
316
|
+
readonly threeD: "1SyBRUYR7QvmRWEFEd0xHvIP8cbzm7ufm";
|
|
317
|
+
readonly svg: "1dAXNZnVhnp4DqwmuoCd_xz6eWvgKBdYy";
|
|
318
|
+
readonly png: "1QVM15JJiSOWesL5O1XRNL31t1CimQu1u";
|
|
319
|
+
readonly jpg: "1DqvVtzgBtt5HQsUzktQg4glZ0t4oQQKS";
|
|
320
|
+
readonly favicon: "1UDa8pu2i99fFCIhCANf62y1Hnx46n15A";
|
|
321
|
+
readonly editables: "1lA_CMErZCQRL2SzY3j3A14MJjvTicbLW";
|
|
322
|
+
readonly profilePics: "1DlNNsYbwOIMXIVSrfO1NRHdHdDCLyATE";
|
|
323
|
+
readonly googleWorkspace: "1fg3m06tjpHZpG5Wm43iAsc6YVwI-7Lqu";
|
|
324
|
+
readonly motionGraphics: "1ATY9HjB740KNjCSaq2NkIbt3Um99sC_c";
|
|
325
|
+
readonly threeTextures: "1xJXvCRlO1bZ15idjbebi06W7O0yBToag";
|
|
326
|
+
readonly threeAnimation: "1KrbZVE3V1OySk1EISphp1fkot9XEvf7B";
|
|
327
|
+
readonly threeRenders: "11m9WXI_2hgrTxY3vBLiOJBUFYCpx4kLH";
|
|
328
|
+
};
|
|
329
|
+
interface BrandAsset {
|
|
330
|
+
id: string;
|
|
331
|
+
label: string;
|
|
332
|
+
/** "vector" assets ship inline in this package; "drive" assets live in the vault. */
|
|
333
|
+
source: "vector" | "drive";
|
|
334
|
+
/** "2d" | "3d" | "favicon" | "social" | "motion" */
|
|
335
|
+
kind: "2d" | "3d" | "favicon" | "social" | "motion";
|
|
336
|
+
/** For vector assets — the RAW_SVG key (also fetchable via resolveAsset). */
|
|
337
|
+
svgKey?: string;
|
|
338
|
+
/** CDN path (relative to the asset CDN base) once published via push-assets. */
|
|
339
|
+
path?: string;
|
|
340
|
+
/** For drive assets — the Drive folder URL to pull from. */
|
|
341
|
+
driveUrl?: string;
|
|
342
|
+
/** Available file formats. */
|
|
343
|
+
formats: string[];
|
|
344
|
+
note?: string;
|
|
345
|
+
}
|
|
346
|
+
/** The full brand asset catalog — what exists and where to get it. */
|
|
347
|
+
declare const wmmAssets: BrandAsset[];
|
|
348
|
+
/** Inline SVG markup for a logo shape + tone (bundled vector). */
|
|
349
|
+
declare function resolveAsset(shape: LogoShape, tone?: LogoTone): string;
|
|
350
|
+
/** Look up an asset entry by id. */
|
|
351
|
+
declare function getAsset(id: string): BrandAsset | undefined;
|
|
352
|
+
/** Override the CDN base used to resolve published asset URLs. */
|
|
353
|
+
declare function setAssetCdnBase(url: string): void;
|
|
354
|
+
/** Current CDN base. */
|
|
355
|
+
declare function getAssetCdnBase(): string;
|
|
356
|
+
/** Build a public URL for a CDN path (e.g. "logos/isotipo-white.svg"). */
|
|
357
|
+
declare function assetUrl(path: string, base?: string): string;
|
|
358
|
+
/** Public CDN URL for a logo shape + tone + format (svg/png). */
|
|
359
|
+
declare function logoUrl(shape: LogoShape, tone?: LogoTone, format?: "svg" | "png", base?: string): string;
|
|
360
|
+
/** Resolve a registry asset's public URL (if it has been published). */
|
|
361
|
+
declare function assetUrlById(id: string, base?: string): string | undefined;
|
|
362
|
+
type MotionName = "mark" | "mark-vertical" | "lockup" | "lockup-vertical" | "hero-3d";
|
|
363
|
+
/** CDN path + source Drive file id for each motion asset. */
|
|
364
|
+
declare const WMM_MOTION: Record<MotionName, {
|
|
365
|
+
path: string;
|
|
366
|
+
driveId: string;
|
|
367
|
+
}>;
|
|
368
|
+
/** Public CDN URL for an animated logo asset (once published). */
|
|
369
|
+
declare function motionUrl(name?: MotionName, base?: string): string;
|
|
370
|
+
/** 3D still-render CDN paths (heavy PNGs; hero/login backdrops). Published under renders/. */
|
|
371
|
+
declare const WMM_RENDERS: {
|
|
372
|
+
readonly hero: "renders/webmymoney-1.png";
|
|
373
|
+
readonly heroNoise: "renders/webmymoney-1-noise.png";
|
|
374
|
+
readonly plane: "renders/plano-1.png";
|
|
375
|
+
readonly planeDark: "renders/plano-1-dark.png";
|
|
376
|
+
};
|
|
377
|
+
/** Public CDN URL for a 3D still render (once published). */
|
|
378
|
+
declare function renderUrl(key?: keyof typeof WMM_RENDERS, base?: string): string;
|
|
379
|
+
|
|
380
|
+
export { type BrandAsset, INK_SVG, type LogoShape, type LogoTone$1 as LogoTone, type LogoVariant, type MotionName, RAW_SVG, type ThemeName, WMM_DRIVE, WMM_MOTION, WMM_RENDERS, WmmAsset, type WmmAssetProps, WmmBrandboard, type WmmBrandboardProps, type WmmColors, type WmmGradients, WmmLogo, WmmLogo3D, type WmmLogo3DProps, WmmLogo as WmmLogoDefault, WmmLogoMotion, type WmmLogoMotionProps, type WmmLogoProps, type WmmLogoTone, type WmmManifest, type WmmMetadataOptions, type WmmTypography, assetUrl, assetUrlById, getAsset, getAssetCdnBase, logoUrl, motionUrl, rawLogoKey, renderUrl, resolveAsset, resolveLogoTone, setAssetCdnBase, wmmAssets, wmmColors, wmmGradients, wmmIdentity, wmmManifest, wmmMetadata, wmmTypography, wmmViewport };
|