nudge-components-library
Version:
A library of nudge UI components
180 lines • 4.75 kB
TypeScript
import React, { ReactNode } from "react";
type BaseCSS = {
[K in keyof React.CSSProperties]?: React.CSSProperties[K];
};
export type ThemeCSS = BaseCSS & {
baseBorder?: string;
hoverBorder?: string;
triangleColor?: string;
triangleWidth?: string;
filledColor?: string;
emptyColor?: string;
[key: string]: any;
};
export type Theme = {
checkbox: {
wrapper: ThemeCSS;
container: ThemeCSS;
checkboxLabel: ThemeCSS;
input: ThemeCSS;
checkBox: ThemeCSS;
checked: ThemeCSS;
checkIcon: ThemeCSS;
disabled: ThemeCSS;
label: ThemeCSS;
nudgeText: ThemeCSS;
nudgeTop: ThemeCSS;
nudgeBottom: ThemeCSS;
nudgeLeft: ThemeCSS;
nudgeRight: ThemeCSS;
};
radio: {
wrapper: ThemeCSS;
container: ThemeCSS;
radioLabel: ThemeCSS;
input: ThemeCSS;
radioCircle: ThemeCSS;
radioCircleChecked: ThemeCSS;
disabled: ThemeCSS;
label: ThemeCSS;
nudgeText: ThemeCSS;
radioDot: ThemeCSS;
nudgeTop: ThemeCSS;
nudgeBottom: ThemeCSS;
nudgeLeft: ThemeCSS;
nudgeRight: ThemeCSS;
};
dropdown: {
dropdownLabel: ThemeCSS;
wrapper: ThemeCSS;
button: ThemeCSS;
disabled: ThemeCSS;
chevron: ThemeCSS;
chevronOpen: ThemeCSS;
list: ThemeCSS;
option: ThemeCSS;
optionHover: ThemeCSS;
hover: ThemeCSS;
optionSelected: ThemeCSS;
content: ThemeCSS;
label: ThemeCSS;
checkIcon: ThemeCSS;
nudgeText: ThemeCSS;
nudgeTop: ThemeCSS;
nudgeBottom: ThemeCSS;
};
slider: {
wrapper: ThemeCSS;
container: ThemeCSS;
tooltip: ThemeCSS;
sliderLabel: ThemeCSS;
input: ThemeCSS;
thumb: ThemeCSS;
value: ThemeCSS;
nudgeText: ThemeCSS;
disabled: ThemeCSS;
nudgeTop: ThemeCSS;
nudgeBottom: ThemeCSS;
nudgeLeft: ThemeCSS;
nudgeRight: ThemeCSS;
};
textBox: {
wrapper: ThemeCSS;
textBoxLabel: ThemeCSS;
input: ThemeCSS;
nudgeText: ThemeCSS;
disabled: ThemeCSS;
hover: ThemeCSS;
nudgeTop: ThemeCSS;
nudgeBottom: ThemeCSS;
nudgeLeft: ThemeCSS;
nudgeRight: ThemeCSS;
};
popup: {
container: ThemeCSS;
content: ThemeCSS;
closeButton: ThemeCSS;
title: ThemeCSS;
message: ThemeCSS;
image: ThemeCSS;
actionButton: ThemeCSS;
};
rating: {
wrapper: ThemeCSS;
container: ThemeCSS;
ratingLabel: ThemeCSS;
star: ThemeCSS;
filledStar: ThemeCSS;
disabled: ThemeCSS;
nudgeText: ThemeCSS;
nudgeTop: ThemeCSS;
nudgeBottom: ThemeCSS;
nudgeLeft: ThemeCSS;
nudgeRight: ThemeCSS;
};
badge: {
wrapper: ThemeCSS;
container: ThemeCSS;
badgeLabel: ThemeCSS;
label: ThemeCSS;
count: ThemeCSS;
icon: ThemeCSS;
disabled: ThemeCSS;
nudgeText: ThemeCSS;
nudgeLeft: ThemeCSS;
nudgeRight: ThemeCSS;
nudgeTop: ThemeCSS;
nudgeBottom: ThemeCSS;
};
tooltip: {
container: ThemeCSS;
closeButton: ThemeCSS;
content: ThemeCSS;
closeButtonContainer: ThemeCSS;
message: ThemeCSS;
actionButton: ThemeCSS;
icon: ThemeCSS;
};
moodSlider: {
tooltip: ThemeCSS;
icon: ThemeCSS;
};
textArea: {
wrapper: ThemeCSS;
textAreaLabel: ThemeCSS;
input: ThemeCSS;
hover: ThemeCSS;
nudgeText: ThemeCSS;
disabled: ThemeCSS;
nudgeLeft: ThemeCSS;
nudgeRight: ThemeCSS;
nudgeTop: ThemeCSS;
nudgeBottom: ThemeCSS;
};
dialog: {
container: ThemeCSS;
overlay: ThemeCSS;
content: ThemeCSS;
textContainer: ThemeCSS;
inputContainer: ThemeCSS;
buttonContainer: ThemeCSS;
header: ThemeCSS;
closeButton: ThemeCSS;
title: ThemeCSS;
message: ThemeCSS;
confirmButton: ThemeCSS;
cancelButton: ThemeCSS;
disabled: ThemeCSS;
input: ThemeCSS;
promptText: ThemeCSS;
};
};
export declare const defaultTheme: Theme;
export declare const ThemeContext: React.Context<Theme>;
type ThemeProviderProps = {
theme: Theme;
children: ReactNode;
};
export declare function ThemeProvider({ theme, children }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=ThemeContext.d.ts.map