carbon-components-svelte/types/Theme/Theme.svelte.d.ts
Eric Liu 3203e7a61f
Upgrade sveld to v0.10 (#856)
* chore(deps-dev): upgrade sveld to v0.10.2

* feat(types): regenerate types using sveld@0.10.2

* fix(types): update @extends to use .svelte extension
2021-10-16 12:34:29 -07:00

56 lines
1.4 KiB
TypeScript

/// <reference types="svelte" />
import { SvelteComponentTyped } from "svelte";
export type CarbonTheme = "white" | "g10" | "g80" | "g90" | "g100";
export interface ThemeProps {
/**
* Set the current Carbon theme
* @default "white"
*/
theme?: CarbonTheme;
/**
* Customize a theme with your own tokens
* https://carbondesignsystem.com/guidelines/themes/overview#customizing-a-theme
* @default {}
*/
tokens?: { [token: string]: any };
/**
* Set to `true` to persist the theme using window.localStorage
* @default false
*/
persist?: boolean;
/**
* Specify the local storage key
* @default "theme"
*/
persistKey?: string;
/**
* Render a toggle or select dropdown to control the theme
*/
render?: "toggle" | "select";
/**
* Override the default toggle props
* @default { themes: ["white", "g100"], labelA: "", labelB: "", labelText: "Dark mode", hideLabel: false, }
*/
toggle?: import("../Toggle/Toggle").ToggleProps & {
themes?: [labelA: CarbonTheme, labelB: CarbonTheme];
};
/**
* Override the default select props
* @default { themes: themeKeys, labelText: "Themes", hideLabel: false, }
*/
select?: import("../Select/Select").SelectProps & { themes?: CarbonTheme[] };
}
export default class Theme extends SvelteComponentTyped<
ThemeProps,
{ update: CustomEvent<{ theme: CarbonTheme }> },
{ default: { theme: CarbonTheme } }
> {}