@asturiu/v0-sdk 0.0.0-stage → 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.
Files changed (239) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +5 -0
  4. package/README.md +82 -2
  5. package/contract/assertion-vectors.json +90 -0
  6. package/contract/schemas/branding.schema.json +46 -0
  7. package/contract/schemas/definitions.schema.json +376 -0
  8. package/contract/schemas/portal.schema.json +56 -0
  9. package/contract/tenant-api-routes.json +165 -0
  10. package/dist/branding.d.ts +131 -0
  11. package/dist/branding.d.ts.map +1 -0
  12. package/dist/branding.js +206 -0
  13. package/dist/branding.js.map +1 -0
  14. package/dist/changesets.d.ts +58 -0
  15. package/dist/changesets.d.ts.map +1 -0
  16. package/dist/changesets.js +18 -0
  17. package/dist/changesets.js.map +1 -0
  18. package/dist/cli/bin.d.ts +3 -0
  19. package/dist/cli/bin.d.ts.map +1 -0
  20. package/dist/cli/bin.js +12 -0
  21. package/dist/cli/bin.js.map +1 -0
  22. package/dist/cli/changesets.d.ts +14 -0
  23. package/dist/cli/changesets.d.ts.map +1 -0
  24. package/dist/cli/changesets.js +252 -0
  25. package/dist/cli/changesets.js.map +1 -0
  26. package/dist/cli/cli.d.ts +37 -0
  27. package/dist/cli/cli.d.ts.map +1 -0
  28. package/dist/cli/cli.js +415 -0
  29. package/dist/cli/cli.js.map +1 -0
  30. package/dist/cli/context.d.ts +147 -0
  31. package/dist/cli/context.d.ts.map +1 -0
  32. package/dist/cli/context.js +258 -0
  33. package/dist/cli/context.js.map +1 -0
  34. package/dist/cli/engine.d.ts +59 -0
  35. package/dist/cli/engine.d.ts.map +1 -0
  36. package/dist/cli/engine.js +85 -0
  37. package/dist/cli/engine.js.map +1 -0
  38. package/dist/cli/feedback.d.ts +40 -0
  39. package/dist/cli/feedback.d.ts.map +1 -0
  40. package/dist/cli/feedback.js +420 -0
  41. package/dist/cli/feedback.js.map +1 -0
  42. package/dist/cli/files.d.ts +83 -0
  43. package/dist/cli/files.d.ts.map +1 -0
  44. package/dist/cli/files.js +389 -0
  45. package/dist/cli/files.js.map +1 -0
  46. package/dist/cli/index.d.ts +8 -0
  47. package/dist/cli/index.d.ts.map +1 -0
  48. package/dist/cli/index.js +8 -0
  49. package/dist/cli/index.js.map +1 -0
  50. package/dist/cli/overview.d.ts +6 -0
  51. package/dist/cli/overview.d.ts.map +1 -0
  52. package/dist/cli/overview.js +379 -0
  53. package/dist/cli/overview.js.map +1 -0
  54. package/dist/cli/parts.d.ts +5 -0
  55. package/dist/cli/parts.d.ts.map +1 -0
  56. package/dist/cli/parts.js +414 -0
  57. package/dist/cli/parts.js.map +1 -0
  58. package/dist/cli/sources.d.ts +37 -0
  59. package/dist/cli/sources.d.ts.map +1 -0
  60. package/dist/cli/sources.js +91 -0
  61. package/dist/cli/sources.js.map +1 -0
  62. package/dist/cli/terminal.d.ts +135 -0
  63. package/dist/cli/terminal.d.ts.map +1 -0
  64. package/dist/cli/terminal.js +353 -0
  65. package/dist/cli/terminal.js.map +1 -0
  66. package/dist/cli/ui-page.d.ts +8 -0
  67. package/dist/cli/ui-page.d.ts.map +1 -0
  68. package/dist/cli/ui-page.js +216 -0
  69. package/dist/cli/ui-page.js.map +1 -0
  70. package/dist/cli/ui.d.ts +54 -0
  71. package/dist/cli/ui.d.ts.map +1 -0
  72. package/dist/cli/ui.js +251 -0
  73. package/dist/cli/ui.js.map +1 -0
  74. package/dist/client.d.ts +88 -0
  75. package/dist/client.d.ts.map +1 -0
  76. package/dist/client.js +165 -0
  77. package/dist/client.js.map +1 -0
  78. package/dist/contacts.d.ts +43 -0
  79. package/dist/contacts.d.ts.map +1 -0
  80. package/dist/contacts.js +46 -0
  81. package/dist/contacts.js.map +1 -0
  82. package/dist/definition-set.d.ts +731 -0
  83. package/dist/definition-set.d.ts.map +1 -0
  84. package/dist/definition-set.js +659 -0
  85. package/dist/definition-set.js.map +1 -0
  86. package/dist/definitions.d.ts +42 -0
  87. package/dist/definitions.d.ts.map +1 -0
  88. package/dist/definitions.js +154 -0
  89. package/dist/definitions.js.map +1 -0
  90. package/dist/enrolment.d.ts +9 -0
  91. package/dist/enrolment.d.ts.map +1 -0
  92. package/dist/enrolment.js +8 -0
  93. package/dist/enrolment.js.map +1 -0
  94. package/dist/fill.d.ts +73 -0
  95. package/dist/fill.d.ts.map +1 -0
  96. package/dist/fill.js +46 -0
  97. package/dist/fill.js.map +1 -0
  98. package/dist/index.d.ts +39 -0
  99. package/dist/index.d.ts.map +1 -0
  100. package/dist/index.js +39 -0
  101. package/dist/index.js.map +1 -0
  102. package/dist/notifications.d.ts +33 -0
  103. package/dist/notifications.d.ts.map +1 -0
  104. package/dist/notifications.js +36 -0
  105. package/dist/notifications.js.map +1 -0
  106. package/dist/oidc.d.ts +122 -0
  107. package/dist/oidc.d.ts.map +1 -0
  108. package/dist/oidc.js +150 -0
  109. package/dist/oidc.js.map +1 -0
  110. package/dist/overlay.d.ts +109 -0
  111. package/dist/overlay.d.ts.map +1 -0
  112. package/dist/overlay.js +58 -0
  113. package/dist/overlay.js.map +1 -0
  114. package/dist/passes.d.ts +95 -0
  115. package/dist/passes.d.ts.map +1 -0
  116. package/dist/passes.js +140 -0
  117. package/dist/passes.js.map +1 -0
  118. package/dist/portal-options.d.ts +65 -0
  119. package/dist/portal-options.d.ts.map +1 -0
  120. package/dist/portal-options.js +120 -0
  121. package/dist/portal-options.js.map +1 -0
  122. package/dist/reads.d.ts +41 -0
  123. package/dist/reads.d.ts.map +1 -0
  124. package/dist/reads.js +44 -0
  125. package/dist/reads.js.map +1 -0
  126. package/dist/recovery-words.d.ts +8 -0
  127. package/dist/recovery-words.d.ts.map +1 -0
  128. package/dist/recovery-words.js +136 -0
  129. package/dist/recovery-words.js.map +1 -0
  130. package/dist/recovery.d.ts +198 -0
  131. package/dist/recovery.d.ts.map +1 -0
  132. package/dist/recovery.js +112 -0
  133. package/dist/recovery.js.map +1 -0
  134. package/dist/reveal.d.ts +35 -0
  135. package/dist/reveal.d.ts.map +1 -0
  136. package/dist/reveal.js +66 -0
  137. package/dist/reveal.js.map +1 -0
  138. package/dist/seal.d.ts +15 -0
  139. package/dist/seal.d.ts.map +1 -0
  140. package/dist/seal.js +0 -0
  141. package/dist/seal.js.map +1 -0
  142. package/dist/session.d.ts +66 -0
  143. package/dist/session.d.ts.map +1 -0
  144. package/dist/session.js +61 -0
  145. package/dist/session.js.map +1 -0
  146. package/dist/signing-in-mark.d.ts +14 -0
  147. package/dist/signing-in-mark.d.ts.map +1 -0
  148. package/dist/signing-in-mark.js +24 -0
  149. package/dist/signing-in-mark.js.map +1 -0
  150. package/dist/signing-in.d.ts +22 -0
  151. package/dist/signing-in.d.ts.map +1 -0
  152. package/dist/signing-in.js +203 -0
  153. package/dist/signing-in.js.map +1 -0
  154. package/dist/tags.d.ts +96 -0
  155. package/dist/tags.d.ts.map +1 -0
  156. package/dist/tags.js +88 -0
  157. package/dist/tags.js.map +1 -0
  158. package/dist/tenant-subscription.d.ts +47 -0
  159. package/dist/tenant-subscription.d.ts.map +1 -0
  160. package/dist/tenant-subscription.js +7 -0
  161. package/dist/tenant-subscription.js.map +1 -0
  162. package/dist/testing/index.d.ts +125 -0
  163. package/dist/testing/index.d.ts.map +1 -0
  164. package/dist/testing/index.js +320 -0
  165. package/dist/testing/index.js.map +1 -0
  166. package/dist/theme.d.ts +237 -0
  167. package/dist/theme.d.ts.map +1 -0
  168. package/dist/theme.js +504 -0
  169. package/dist/theme.js.map +1 -0
  170. package/dist/tickets.d.ts +152 -0
  171. package/dist/tickets.d.ts.map +1 -0
  172. package/dist/tickets.js +65 -0
  173. package/dist/tickets.js.map +1 -0
  174. package/dist/tiers.d.ts +168 -0
  175. package/dist/tiers.d.ts.map +1 -0
  176. package/dist/tiers.js +341 -0
  177. package/dist/tiers.js.map +1 -0
  178. package/dist/types.d.ts +885 -0
  179. package/dist/types.d.ts.map +1 -0
  180. package/dist/types.js +12 -0
  181. package/dist/types.js.map +1 -0
  182. package/dist/urlid.d.ts +50 -0
  183. package/dist/urlid.d.ts.map +1 -0
  184. package/dist/urlid.js +78 -0
  185. package/dist/urlid.js.map +1 -0
  186. package/dist/version.d.ts +15 -0
  187. package/dist/version.d.ts.map +1 -0
  188. package/dist/version.js +15 -0
  189. package/dist/version.js.map +1 -0
  190. package/make/asturiu.mk +43 -0
  191. package/package.json +63 -4
  192. package/src/branding.ts +221 -0
  193. package/src/changesets.ts +61 -0
  194. package/src/cli/bin.ts +12 -0
  195. package/src/cli/changesets.ts +233 -0
  196. package/src/cli/cli.ts +425 -0
  197. package/src/cli/context.ts +299 -0
  198. package/src/cli/engine.ts +112 -0
  199. package/src/cli/feedback.ts +406 -0
  200. package/src/cli/files.ts +371 -0
  201. package/src/cli/index.ts +7 -0
  202. package/src/cli/overview.ts +343 -0
  203. package/src/cli/parts.ts +371 -0
  204. package/src/cli/sources.ts +111 -0
  205. package/src/cli/terminal.ts +384 -0
  206. package/src/cli/ui-page.ts +215 -0
  207. package/src/cli/ui.ts +266 -0
  208. package/src/client.ts +202 -0
  209. package/src/contacts.ts +61 -0
  210. package/src/definition-set.ts +965 -0
  211. package/src/definitions.ts +156 -0
  212. package/src/enrolment.ts +10 -0
  213. package/src/fill.ts +83 -0
  214. package/src/index.ts +38 -0
  215. package/src/notifications.ts +55 -0
  216. package/src/oidc.ts +199 -0
  217. package/src/overlay.ts +137 -0
  218. package/src/passes.ts +168 -0
  219. package/src/portal-options.ts +125 -0
  220. package/src/reads.ts +71 -0
  221. package/src/recovery-words.ts +137 -0
  222. package/src/recovery.ts +269 -0
  223. package/src/reveal.ts +72 -0
  224. package/src/seal.ts +0 -0
  225. package/src/session.ts +93 -0
  226. package/src/signing-in-mark.ts +23 -0
  227. package/src/signing-in.ts +213 -0
  228. package/src/tags.ts +146 -0
  229. package/src/tenant-subscription.ts +44 -0
  230. package/src/testing/index.ts +337 -0
  231. package/src/theme.ts +628 -0
  232. package/src/tickets.ts +195 -0
  233. package/src/tiers.ts +397 -0
  234. package/src/types.ts +847 -0
  235. package/src/urlid.ts +77 -0
  236. package/src/version.ts +15 -0
  237. package/templates/asturiu/branding.json +4 -0
  238. package/templates/asturiu/definitions.json +23 -0
  239. package/templates/asturiu/portal.json +16 -0
@@ -0,0 +1,237 @@
1
+ export declare const THEME_PRESETS: readonly ["asturiu", "porcelain", "midnight", "aurora", "sandstone", "evergreen", "graphite", "ember"];
2
+ /** `auto` follows the device, and the person may pick light or dark on the page. */
3
+ export declare const THEME_SCHEMES: readonly ["dark", "light", "auto"];
4
+ export declare const THEME_BACKGROUNDS: readonly ["plain", "glow", "gradient", "mesh", "grid", "dots", "image"];
5
+ export declare const THEME_INTENSITIES: readonly ["subtle", "medium", "bold"];
6
+ /** Corner radius scale: controls and cards together. */
7
+ export declare const THEME_SHAPES: readonly ["sharp", "soft", "rounded", "pill"];
8
+ export declare const THEME_DENSITIES: readonly ["compact", "comfortable", "spacious"];
9
+ export declare const THEME_BUTTONS: readonly ["solid", "gradient", "outline", "soft", "glow"];
10
+ /** How cards, lists and tiles sit on the page. */
11
+ export declare const THEME_SURFACES: readonly ["flat", "outlined", "raised", "glass"];
12
+ /** `bar`: a tab bar on a phone and a side rail on a wide screen; `floating`: a dock and a floating panel. */
13
+ export declare const THEME_NAVIGATION: readonly ["bar", "floating"];
14
+ export declare const THEME_FONTS: readonly ["system", "humanist", "geometric", "grotesque", "rounded", "serif", "classic", "editorial", "industrial", "mono"];
15
+ export declare const THEME_WEIGHTS: readonly ["regular", "medium", "semibold", "bold", "heavy"];
16
+ /** Section labels and eyebrows. */
17
+ export declare const THEME_LABEL_CASES: readonly ["upper", "normal"];
18
+ export declare const THEME_TONES: readonly ["primary", "secondary", "neutral"];
19
+ export declare const THEME_ICON_STROKES: readonly ["light", "regular", "bold"];
20
+ export declare const THEME_ICON_FRAMES: readonly ["tile", "circle", "outline", "plain"];
21
+ /** The frame around the Tenant's logo (or its initial, when it has none). */
22
+ export declare const THEME_MARK_FRAMES: readonly ["tile", "circle", "plain"];
23
+ export declare const THEME_SIGN_IN_LAYOUTS: readonly ["centered", "card", "split"];
24
+ export declare const THEME_MOTION: readonly ["full", "subtle", "off"];
25
+ export type ThemePreset = (typeof THEME_PRESETS)[number];
26
+ export type ThemeScheme = (typeof THEME_SCHEMES)[number];
27
+ export type ThemeBackground = (typeof THEME_BACKGROUNDS)[number];
28
+ export type ThemeIntensity = (typeof THEME_INTENSITIES)[number];
29
+ export type ThemeShape = (typeof THEME_SHAPES)[number];
30
+ export type ThemeDensity = (typeof THEME_DENSITIES)[number];
31
+ export type ThemeButtons = (typeof THEME_BUTTONS)[number];
32
+ export type ThemeSurfaces = (typeof THEME_SURFACES)[number];
33
+ export type ThemeNavigation = (typeof THEME_NAVIGATION)[number];
34
+ export type ThemeFont = (typeof THEME_FONTS)[number];
35
+ export type ThemeWeight = (typeof THEME_WEIGHTS)[number];
36
+ export type ThemeLabelCase = (typeof THEME_LABEL_CASES)[number];
37
+ export type ThemeTone = (typeof THEME_TONES)[number];
38
+ export type ThemeIconStroke = (typeof THEME_ICON_STROKES)[number];
39
+ export type ThemeIconFrame = (typeof THEME_ICON_FRAMES)[number];
40
+ export type ThemeMarkFrame = (typeof THEME_MARK_FRAMES)[number];
41
+ export type ThemeSignInLayout = (typeof THEME_SIGN_IN_LAYOUTS)[number];
42
+ export type ThemeMotion = (typeof THEME_MOTION)[number];
43
+ /** Colours one scheme may override. Everything else in the scheme is derived from these. */
44
+ export interface ThemeSchemeColors {
45
+ background?: string;
46
+ surface?: string;
47
+ text?: string;
48
+ primary?: string;
49
+ secondary?: string;
50
+ }
51
+ /** `branding.theme`: a preset and what the Tenant changes about it. Every key is optional. */
52
+ export interface PortalThemeSpec {
53
+ preset?: ThemePreset;
54
+ scheme?: ThemeScheme;
55
+ colors?: {
56
+ primary?: string;
57
+ secondary?: string;
58
+ light?: ThemeSchemeColors;
59
+ dark?: ThemeSchemeColors;
60
+ };
61
+ background?: {
62
+ style?: ThemeBackground;
63
+ intensity?: ThemeIntensity;
64
+ grain?: boolean;
65
+ image_url?: string;
66
+ };
67
+ shape?: ThemeShape;
68
+ density?: ThemeDensity;
69
+ buttons?: ThemeButtons;
70
+ surfaces?: ThemeSurfaces;
71
+ navigation?: ThemeNavigation;
72
+ typography?: {
73
+ body?: ThemeFont;
74
+ display?: ThemeFont;
75
+ weight?: ThemeWeight;
76
+ labels?: ThemeLabelCase;
77
+ label_tone?: ThemeTone;
78
+ };
79
+ icons?: {
80
+ stroke?: ThemeIconStroke;
81
+ frame?: ThemeIconFrame;
82
+ tone?: ThemeTone;
83
+ };
84
+ mark?: ThemeMarkFrame;
85
+ sign_in?: {
86
+ layout?: ThemeSignInLayout;
87
+ headline?: string;
88
+ tagline?: string;
89
+ image_url?: string;
90
+ };
91
+ motion?: ThemeMotion;
92
+ }
93
+ /** Limits the Engine enforces on the free text and images of a theme. */
94
+ export declare const THEME_LIMITS: {
95
+ readonly headline: 80;
96
+ readonly tagline: 200;
97
+ readonly imageUrl: 400000;
98
+ };
99
+ /** Every colour token of one scheme, as `#rrggbb`. */
100
+ export interface ThemePalette {
101
+ background: string;
102
+ surface: string;
103
+ surface2: string;
104
+ line: string;
105
+ line2: string;
106
+ text: string;
107
+ text2: string;
108
+ text3: string;
109
+ primary: string;
110
+ onPrimary: string;
111
+ /** The primary as text or an icon on this scheme's background: adjusted until it reads (WCAG AA). */
112
+ primaryText: string;
113
+ primarySoft: string;
114
+ primaryHover: string;
115
+ secondary: string;
116
+ onSecondary: string;
117
+ secondaryText: string;
118
+ secondarySoft: string;
119
+ }
120
+ /** A theme with every choice made: what the portal draws. */
121
+ export interface ResolvedPortalTheme {
122
+ preset: ThemePreset;
123
+ scheme: ThemeScheme;
124
+ light: ThemePalette;
125
+ dark: ThemePalette;
126
+ background: {
127
+ style: ThemeBackground;
128
+ intensity: ThemeIntensity;
129
+ grain: boolean;
130
+ imageUrl: string | null;
131
+ };
132
+ shape: ThemeShape;
133
+ density: ThemeDensity;
134
+ buttons: ThemeButtons;
135
+ surfaces: ThemeSurfaces;
136
+ navigation: ThemeNavigation;
137
+ typography: {
138
+ body: ThemeFont;
139
+ display: ThemeFont;
140
+ weight: ThemeWeight;
141
+ labels: ThemeLabelCase;
142
+ labelTone: ThemeTone;
143
+ };
144
+ icons: {
145
+ stroke: ThemeIconStroke;
146
+ frame: ThemeIconFrame;
147
+ tone: ThemeTone;
148
+ };
149
+ mark: ThemeMarkFrame;
150
+ signIn: {
151
+ layout: ThemeSignInLayout;
152
+ headline: string | null;
153
+ tagline: string | null;
154
+ imageUrl: string | null;
155
+ };
156
+ motion: ThemeMotion;
157
+ logoUrl: string | null;
158
+ /** A logo drawn for dark backgrounds; the dark scheme shows it instead of `logoUrl`. */
159
+ logoDarkUrl: string | null;
160
+ faviconUrl: string | null;
161
+ }
162
+ /** System font stacks only: nothing is downloaded, nothing reaches another origin, and each reads well where it falls back. */
163
+ export declare const THEME_FONT_STACKS: Record<ThemeFont, {
164
+ label: string;
165
+ stack: string;
166
+ }>;
167
+ /** A preset's scheme: the neutrals, and optionally its own primary and secondary with their exact companions (used only while the Tenant keeps the preset's colour). */
168
+ type SchemeBase = Pick<ThemePalette, "background" | "surface" | "surface2" | "line" | "line2" | "text" | "text2" | "text3"> & Partial<Pick<ThemePalette, "primary" | "secondary" | "onPrimary" | "primaryHover">>;
169
+ interface PresetDefinition {
170
+ label: string;
171
+ description: string;
172
+ primary: string;
173
+ secondary: string;
174
+ light: SchemeBase;
175
+ dark: SchemeBase;
176
+ choices: Omit<ResolvedPortalTheme, "preset" | "light" | "dark" | "logoUrl" | "logoDarkUrl" | "faviconUrl" | "background" | "signIn"> & {
177
+ background: Omit<ResolvedPortalTheme["background"], "imageUrl">;
178
+ signIn: Pick<ResolvedPortalTheme["signIn"], "layout">;
179
+ };
180
+ }
181
+ /**
182
+ * The presets. `asturiu` is the platform's own look — the Admin UI's tokens,
183
+ * one for one — and the default for a Tenant that sets no branding at all.
184
+ * Names describe a look, never a product.
185
+ */
186
+ export declare const THEME_PRESET_DEFINITIONS: Record<ThemePreset, PresetDefinition>;
187
+ /** The preset for a Tenant that names no theme: the platform's look, or — for a Tenant that only ever set `primary_color` — Porcelain in that colour, close to the portal's look before themes. */
188
+ export declare function defaultPresetFor(branding: Record<string, unknown> | null | undefined): ThemePreset;
189
+ /** A colour as the theme stores it: `#rrggbb`, lower case; null when it is not one. */
190
+ export declare function themeColor(c: unknown): string | null;
191
+ /** WCAG contrast ratio of two colours. */
192
+ export declare function contrastRatio(a: string, b: string): number;
193
+ /**
194
+ * An image a theme may show: an inline base64 image, a path on this origin
195
+ * (how the Customer Portal names an image it serves, ADR-038) or an http(s)
196
+ * URL, and nothing that could leave a CSS `url("…")` — no quotes, brackets,
197
+ * backslashes or white space.
198
+ */
199
+ export declare function themeImageUrl(v: unknown): string | null;
200
+ /**
201
+ * The theme as far as it can be read: every known key with a valid value, the
202
+ * rest dropped. The Engine refuses a bad theme when it is written (the Tenant
203
+ * schema); this is for reading, so an odd stored value falls back to the
204
+ * preset's instead of breaking a page. Image paths are kept as they are — the
205
+ * Interface API resolves them against the Tenant's site, like `logo_url`.
206
+ */
207
+ export declare function sanitizeThemeSpec(raw: unknown): PortalThemeSpec;
208
+ /**
209
+ * Every choice made: the preset (named, or the default for this branding),
210
+ * then the Tenant's overrides. `branding` supplies the logo, the dark logo,
211
+ * the favicon and — when the theme names no primary — `primary_color`.
212
+ */
213
+ export declare function resolvePortalTheme(input: {
214
+ branding?: Record<string, unknown> | null;
215
+ theme?: unknown;
216
+ } | null | undefined): ResolvedPortalTheme;
217
+ /** The CSS custom property names a palette is written to, per scheme prefix (`--l-*`, `--d-*`). */
218
+ export declare const THEME_PALETTE_VARS: string[];
219
+ export interface PortalThemeStyle {
220
+ /** CSS custom properties for the root element: both schemes' palettes (`--l-*`, `--d-*`), the fonts, and the images as `url("…")`. */
221
+ vars: Record<string, string>;
222
+ /** `data-*` attributes for the root element, one per choice; the stylesheet draws each. */
223
+ attrs: Record<string, string>;
224
+ }
225
+ /**
226
+ * A resolved theme as the root element carries it. `scheme` overrides the
227
+ * theme's (a person's own light or dark choice on an `auto` theme).
228
+ */
229
+ export declare function portalThemeStyle(t: ResolvedPortalTheme, scheme?: "light" | "dark" | null): PortalThemeStyle;
230
+ /** The ground colour a browser's own chrome (status bar, overscroll) should take for each scheme. */
231
+ export declare function portalThemeColors(t: ResolvedPortalTheme): {
232
+ light: string;
233
+ dark: string;
234
+ scheme: ThemeScheme;
235
+ };
236
+ export {};
237
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}