artDeco: {
borders: { frame: "3px"; width: "1px" };
breakpoints: {
lg: "64rem";
md: "48rem";
sm: "40rem";
xl: "80rem";
xs: "30rem";
};
colors: {
danger: { dark: "#e7a3b0"; light: "#923946" };
info: { dark: "#a1c6e1"; light: "#325d7c" };
neutral: { dark: "#bcc8c5"; light: "#414d4c" };
primary: { dark: "#d9b868"; light: "#896613" };
success: { dark: "#9ad1b5"; light: "#285d50" };
warning: { dark: "#ebbe87"; light: "#945c21" };
};
components: {
Alert: { gap: "sm"; padding: "md"; textStyle: "label" };
Avatar: { radius: "rounded" };
Card: {
radius: "square";
shadow: "sm";
slots: { root: { border: "double"; borderWidth: "frame" } };
};
Dialog: {
radius: "square";
slots: {
header: { textStyle: "heading" };
root: { border: "double"; borderWidth: "frame" };
};
};
Drawer: {
size: "sm";
slots: { root: { border: "double"; borderWidth: "frame" } };
};
EmptyState: {
color: "neutral";
gap: "sm";
padding: "lg";
textStyle: "body";
};
Stepper: { radius: "rounded" };
Table: {
slots: {
header: {
border: "double";
borderWidth: "frame";
textStyle: "label";
};
};
};
Toast: { gap: "sm"; padding: "md"; radius: "lg"; textStyle: "label" };
Tooltip: { padding: "sm"; radius: "md"; textStyle: "caption" };
};
defaults: {
color: "primary";
density: "comfortable";
errorColor: "danger";
floatingShadow: "md";
gap: "md";
helperStyle: "caption";
labelStyle: "label";
modalSize: "md";
padding: "lg";
radius: "square";
size: "md";
softVariant: "soft";
textStyle: "body";
variant: "solid";
};
density: {
comfortable: {
fontSize: "0.875rem";
paddingX: "1rem";
paddingY: "0.875rem";
};
compact: {
fontSize: "0.8125rem";
paddingX: "0.75rem";
paddingY: "0.5rem";
};
};
focusRing: { color: "primary"; offset: "4px"; width: "2px" };
labels: {
actions: "Actions";
audioLevel: "Input level";
avatarOverflow: (count: number) => string;
breadcrumb: "Breadcrumb";
chooseAction: "Choose action";
chooseColor: "Choose color";
chooseDate: "Choose date";
chooseFile: "Choose file";
chooseFiles: "Choose files";
close: "Close";
colorPresets: "Suggested colors";
commandPalette: "Command palette";
currentImage: "Current image";
currentImageName: "current image";
decrease: "Decrease";
dismiss: "Dismiss";
dropFile: "or drop a file here";
dropFiles: "or drop files here";
dropReplacement: "or drop a replacement here";
expandBreadcrumb: "Show all breadcrumbs";
increase: "Increase";
loading: "Loading";
loadingResults: "Loading…";
nextMonth: "Next month";
nextPage: "Next page";
noResults: "No results";
notifications: "Notifications";
page: (page: number) => string;
pageSummary: (page: number, count: number) => string;
pagination: "Pagination";
pauseAudio: "Pause audio";
playAudio: "Play audio";
previewImage: (name: string) => string;
previousMonth: "Previous month";
previousPage: "Previous page";
progress: "Progress";
progressValue: (value: number, max: number) => string;
remove: "Remove";
removeItem: (name: string) => string;
replaceFile: "Replace file";
searchCommands: "Search commands…";
seekAudio: "Seek audio";
selectAllRows: "Select all rows";
selectedImage: "selected image";
selectedItems: "Selected";
shortcutAlt: "Alt";
shortcutControl: "Ctrl";
shortcutMeta: "Meta";
shortcutShift: "Shift";
sliderMaximum: "Maximum";
sliderMinimum: "Minimum";
stepCompleted: "Completed";
};
modalSizes: {
full: "100vw";
lg: "48rem";
md: "32rem";
sm: "24rem";
xl: "64rem";
};
motion: {
base: "200ms";
easing: "cubic-bezier(0.2, 0, 0, 1)";
fast: "120ms";
};
neutrals: {
bg: { dark: "#080d0c"; light: "#f2f3ed" };
border: { dark: "#a68c4c"; light: "#806c36" };
muted: { dark: "#b7c3b9"; light: "#56635e" };
surface: { dark: "#17221f"; light: "#ffffff" };
text: { dark: "#f3eee0"; light: "#17221f" };
};
radii: {
lg: "0";
md: "0";
rounded: "9999px";
sm: "0";
square: "0";
xl: "0";
};
shadows: {
lg: "0 24px 56px -12px light-dark(rgb(23 34 31 / 0.28), rgb(0 0 0 / 0.75))";
md: "0 12px 32px -8px light-dark(rgb(23 34 31 / 0.2), rgb(0 0 0 / 0.6))";
sm: "0 0 0 1px light-dark(#806c36, #a68c4c), 0 0 0 4px light-dark(#f2f3ed, #080d0c), 0 0 0 5px light-dark(#806c36, #a68c4c)";
};
sizes: {
lg: {
fontSize: "1rem";
height: "3.25rem";
iconSize: "1.25rem";
paddingX: "1.875rem";
};
md: {
fontSize: "0.875rem";
height: "2.75rem";
iconSize: "1rem";
paddingX: "1.5rem";
};
sm: {
fontSize: "0.8125rem";
height: "2.25rem";
iconSize: "1rem";
paddingX: "1rem";
};
xl: {
fontSize: "1.125rem";
height: "3.75rem";
iconSize: "1.5rem";
paddingX: "2.25rem";
};
xs: {
fontSize: "0.75rem";
height: "1.875rem";
iconSize: "0.875rem";
paddingX: "0.75rem";
};
};
spacing: {
lg: "1.875rem";
md: "1.25rem";
sm: "0.75rem";
xl: "2.75rem";
xs: "0.375rem";
};
timing: {
hoverCloseDelay: 150;
hoverOpenDelay: 300;
toastDuration: 5000;
tooltipDelay: 400;
typeaheadTimeout: 1000;
};
typography: {
families: {
mono: "ui-monospace, \"SF Mono\", Menlo, Consolas, monospace";
sans: "Futura, \"Century Gothic\", \"Avenir Next\", system-ui, sans-serif";
};
fonts: { body: "sans"; heading: "sans"; mono: "mono" };
headings: {
h1: "display";
h2: "heading";
h3: "subheading";
h4: "subheading";
h5: "label";
h6: "label";
};
styles: {
body: { family: "sans"; lineHeight: 1.6; size: "1rem"; weight: 400 };
caption: {
family: "sans";
letterSpacing: "0.04em";
lineHeight: 1.5;
size: "0.8125rem";
weight: 400;
};
code: { family: "mono"; lineHeight: 1.5; size: "0.875rem"; weight: 400 };
display: {
family: "sans";
letterSpacing: "0.08em";
lineHeight: 1.2;
size: "2.25rem";
weight: 500;
};
heading: {
family: "sans";
letterSpacing: "0.06em";
lineHeight: 1.3;
size: "1.5rem";
weight: 500;
};
label: {
family: "sans";
letterSpacing: "0.1em";
lineHeight: 1.5;
size: "0.75rem";
weight: 600;
};
subheading: {
family: "sans";
letterSpacing: "0.035em";
lineHeight: 1.4;
size: "1.125rem";
weight: 600;
};
};
};
variants: {
ghost: { background: "none"; border: "none"; text: "color" };
outline: { background: "none"; border: "neutral"; text: "color" };
soft: { background: "tint"; border: "neutral"; text: "color" };
solid: { background: "fill"; border: "neutral"; text: "on" };
};
widths: { page: "72rem"; reading: "44rem"; sidebar: "15rem" };
zIndex: { dialog: 1200; dropdown: 1000; toast: 1300; tooltip: 1100 };
} = ...
Type Declaration
-
Readonlyborders: { frame: "3px"; width: "1px" }
-
Readonlybreakpoints: { lg: "64rem"; md: "48rem"; sm: "40rem"; xl: "80rem"; xs: "30rem" }
-
Readonlycolors: {
danger: { dark: "#e7a3b0"; light: "#923946" };
info: { dark: "#a1c6e1"; light: "#325d7c" };
neutral: { dark: "#bcc8c5"; light: "#414d4c" };
primary: { dark: "#d9b868"; light: "#896613" };
success: { dark: "#9ad1b5"; light: "#285d50" };
warning: { dark: "#ebbe87"; light: "#945c21" };
}
-
Readonlycomponents: {
Alert: { gap: "sm"; padding: "md"; textStyle: "label" };
Avatar: { radius: "rounded" };
Card: {
radius: "square";
shadow: "sm";
slots: { root: { border: "double"; borderWidth: "frame" } };
};
Dialog: {
radius: "square";
slots: {
header: { textStyle: "heading" };
root: { border: "double"; borderWidth: "frame" };
};
};
Drawer: {
size: "sm";
slots: { root: { border: "double"; borderWidth: "frame" } };
};
EmptyState: {
color: "neutral";
gap: "sm";
padding: "lg";
textStyle: "body";
};
Stepper: { radius: "rounded" };
Table: {
slots: {
header: { border: "double"; borderWidth: "frame"; textStyle: "label" };
};
};
Toast: { gap: "sm"; padding: "md"; radius: "lg"; textStyle: "label" };
Tooltip: { padding: "sm"; radius: "md"; textStyle: "caption" };
}
-
Readonlydefaults: {
color: "primary";
density: "comfortable";
errorColor: "danger";
floatingShadow: "md";
gap: "md";
helperStyle: "caption";
labelStyle: "label";
modalSize: "md";
padding: "lg";
radius: "square";
size: "md";
softVariant: "soft";
textStyle: "body";
variant: "solid";
}
-
Readonlydensity: {
comfortable: {
fontSize: "0.875rem";
paddingX: "1rem";
paddingY: "0.875rem";
};
compact: { fontSize: "0.8125rem"; paddingX: "0.75rem"; paddingY: "0.5rem" };
}
-
ReadonlyfocusRing: { color: "primary"; offset: "4px"; width: "2px" }
-
Readonlylabels: {
actions: "Actions";
audioLevel: "Input level";
avatarOverflow: (count: number) => string;
breadcrumb: "Breadcrumb";
chooseAction: "Choose action";
chooseColor: "Choose color";
chooseDate: "Choose date";
chooseFile: "Choose file";
chooseFiles: "Choose files";
close: "Close";
colorPresets: "Suggested colors";
commandPalette: "Command palette";
currentImage: "Current image";
currentImageName: "current image";
decrease: "Decrease";
dismiss: "Dismiss";
dropFile: "or drop a file here";
dropFiles: "or drop files here";
dropReplacement: "or drop a replacement here";
expandBreadcrumb: "Show all breadcrumbs";
increase: "Increase";
loading: "Loading";
loadingResults: "Loading…";
nextMonth: "Next month";
nextPage: "Next page";
noResults: "No results";
notifications: "Notifications";
page: (page: number) => string;
pageSummary: (page: number, count: number) => string;
pagination: "Pagination";
pauseAudio: "Pause audio";
playAudio: "Play audio";
previewImage: (name: string) => string;
previousMonth: "Previous month";
previousPage: "Previous page";
progress: "Progress";
progressValue: (value: number, max: number) => string;
remove: "Remove";
removeItem: (name: string) => string;
replaceFile: "Replace file";
searchCommands: "Search commands…";
seekAudio: "Seek audio";
selectAllRows: "Select all rows";
selectedImage: "selected image";
selectedItems: "Selected";
shortcutAlt: "Alt";
shortcutControl: "Ctrl";
shortcutMeta: "Meta";
shortcutShift: "Shift";
sliderMaximum: "Maximum";
sliderMinimum: "Minimum";
stepCompleted: "Completed";
}
-
ReadonlymodalSizes: { full: "100vw"; lg: "48rem"; md: "32rem"; sm: "24rem"; xl: "64rem" }
-
Readonlymotion: { base: "200ms"; easing: "cubic-bezier(0.2, 0, 0, 1)"; fast: "120ms" }
-
Readonlyneutrals: {
bg: { dark: "#080d0c"; light: "#f2f3ed" };
border: { dark: "#a68c4c"; light: "#806c36" };
muted: { dark: "#b7c3b9"; light: "#56635e" };
surface: { dark: "#17221f"; light: "#ffffff" };
text: { dark: "#f3eee0"; light: "#17221f" };
}
-
Readonlyradii: { lg: "0"; md: "0"; rounded: "9999px"; sm: "0"; square: "0"; xl: "0" }
-
Readonlyshadows: {
lg: "0 24px 56px -12px light-dark(rgb(23 34 31 / 0.28), rgb(0 0 0 / 0.75))";
md: "0 12px 32px -8px light-dark(rgb(23 34 31 / 0.2), rgb(0 0 0 / 0.6))";
sm: "0 0 0 1px light-dark(#806c36, #a68c4c), 0 0 0 4px light-dark(#f2f3ed, #080d0c), 0 0 0 5px light-dark(#806c36, #a68c4c)";
}
-
Readonlysizes: {
lg: {
fontSize: "1rem";
height: "3.25rem";
iconSize: "1.25rem";
paddingX: "1.875rem";
};
md: {
fontSize: "0.875rem";
height: "2.75rem";
iconSize: "1rem";
paddingX: "1.5rem";
};
sm: {
fontSize: "0.8125rem";
height: "2.25rem";
iconSize: "1rem";
paddingX: "1rem";
};
xl: {
fontSize: "1.125rem";
height: "3.75rem";
iconSize: "1.5rem";
paddingX: "2.25rem";
};
xs: {
fontSize: "0.75rem";
height: "1.875rem";
iconSize: "0.875rem";
paddingX: "0.75rem";
};
}
-
Readonlyspacing: { lg: "1.875rem"; md: "1.25rem"; sm: "0.75rem"; xl: "2.75rem"; xs: "0.375rem" }
-
Readonlytiming: {
hoverCloseDelay: 150;
hoverOpenDelay: 300;
toastDuration: 5000;
tooltipDelay: 400;
typeaheadTimeout: 1000;
}
-
Readonlytypography: {
families: {
mono: "ui-monospace, \"SF Mono\", Menlo, Consolas, monospace";
sans: "Futura, \"Century Gothic\", \"Avenir Next\", system-ui, sans-serif";
};
fonts: { body: "sans"; heading: "sans"; mono: "mono" };
headings: {
h1: "display";
h2: "heading";
h3: "subheading";
h4: "subheading";
h5: "label";
h6: "label";
};
styles: {
body: { family: "sans"; lineHeight: 1.6; size: "1rem"; weight: 400 };
caption: {
family: "sans";
letterSpacing: "0.04em";
lineHeight: 1.5;
size: "0.8125rem";
weight: 400;
};
code: { family: "mono"; lineHeight: 1.5; size: "0.875rem"; weight: 400 };
display: {
family: "sans";
letterSpacing: "0.08em";
lineHeight: 1.2;
size: "2.25rem";
weight: 500;
};
heading: {
family: "sans";
letterSpacing: "0.06em";
lineHeight: 1.3;
size: "1.5rem";
weight: 500;
};
label: {
family: "sans";
letterSpacing: "0.1em";
lineHeight: 1.5;
size: "0.75rem";
weight: 600;
};
subheading: {
family: "sans";
letterSpacing: "0.035em";
lineHeight: 1.4;
size: "1.125rem";
weight: 600;
};
};
}
-
Readonlyvariants: {
ghost: { background: "none"; border: "none"; text: "color" };
outline: { background: "none"; border: "neutral"; text: "color" };
soft: { background: "tint"; border: "neutral"; text: "color" };
solid: { background: "fill"; border: "neutral"; text: "on" };
}
-
Readonlywidths: { page: "72rem"; reading: "44rem"; sidebar: "15rem" }
-
ReadonlyzIndex: { dialog: 1200; dropdown: 1000; toast: 1300; tooltip: 1100 }
Architectural and opulent: gold on pearl and black, geometric letterspaced type, square controls and double-framed panels.