Files
upscayl/renderer/styles/globals.css
anna7261 5a2672651d refactor: update component styles and dependencies
- Modified component styles to use 'rounded-field' instead of 'rounded-btn' for consistency.
- Updated 'lucide-react' and 'react-resizable-panels' versions in package.json and package-lock.json.
- Adjusted paths in components.json for Tailwind CSS and global styles.
- Added new themes to the SelectTheme component for enhanced customization options.
2026-01-04 18:29:47 -04:00

336 lines
8.6 KiB
CSS

@import "tailwindcss";
/*
---break--- */
@plugin "daisyui" {
themes:
dark, light, cupcake, bumblebee, emerald, corporate, synthwave, retro,
cyberpunk, valentine, halloween, garden, forest, aqua, lofi, pastel,
fantasy, wireframe, black, luxury, dracula, cmyk, autumn, business, acid,
lemonade, night, coffee, winter, dim, nord, sunset, caramellatte, abyss,
silk;
}
@plugin "daisyui/theme" {
name: "upscayl";
default: true;
prefersdark: true;
color-scheme: "dark";
--color-base-100: oklch(27.95% 0.0368 260);
--color-base-200: oklch(20.77% 0.0398 265.8);
--color-base-300: oklch(12.88% 0.0406 264.7);
--color-base-content: oklch(100% 0 0);
--color-primary: oklch(37.17% 0.0392 257.3);
--color-primary-content: oklch(100% 0 0);
--color-secondary: oklch(51.06% 0.2301 277);
--color-secondary-content: oklch(100% 0 0);
--color-accent: oklch(49.07% 0.2412 292.6);
--color-accent-content: oklch(100% 0 0);
--color-neutral: oklch(44.55% 0.0374 257.3);
--color-neutral-content: oklch(100% 0 0);
--color-info: oklch(87.1% 0.079 241.68);
--color-info-content: oklch(40% 0.079 241.68);
--color-success: oklch(83.9% 0.201 136.87);
--color-success-content: oklch(30% 0.201 136.87);
--color-warning: oklch(83.9% 0.165 80);
--color-warning-content: oklch(40% 0.165 80);
--color-error: oklch(75.1% 0.199 22.37);
--color-error-content: oklch(20% 0.199 22.37);
--radius-selector: 2rem;
--radius-field: 2rem;
--radius-box: 1rem;
--size-selector: 0.25rem;
--size-field: 0.25rem;
--border: 1px;
--depth: 0;
--noise: 0;
}
@plugin "@tailwindcss/typography";
@plugin "tailwind-scrollbar";
@import "tw-animate-css";
@custom-variant dark (&:is(.dark *));
/* Fonts */
@font-face {
font-family: "Poppins";
src: url("../fonts/poppins/Poppins-Regular.ttf");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: "Poppins";
src: url("../fonts/poppins/Poppins-Medium.ttf");
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: "Poppins";
src: url("../fonts/poppins/Poppins-SemiBold.ttf");
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: "Poppins";
src: url("../fonts/poppins/Poppins-Bold.ttf");
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: "Poppins";
src: url("../fonts/poppins/Poppins-ExtraBold.ttf");
font-weight: 800;
font-style: normal;
}
@font-face {
font-family: "Poppins";
src: url("../fonts/poppins/Poppins-Black.ttf");
font-weight: 900;
font-style: normal;
}
/* Tailwind v4 Theme Configuration */
@theme {
/* Spacing */
--spacing-128: 28rem;
/* Animations */
--animate-marquee: marquee 25s linear infinite;
--animate-marquee2: marquee2 25s linear infinite;
--animate-accordion-down: accordion-down 0.2s ease-out;
--animate-accordion-up: accordion-up 0.2s ease-out;
@keyframes marquee {
0% {
transform: translateX(0%);
}
100% {
transform: translateX(-100%);
}
}
@keyframes marquee2 {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(0%);
}
}
@keyframes accordion-down {
from {
height: 0;
}
to {
height: var(--radix-accordion-content-height);
}
}
@keyframes accordion-up {
from {
height: var(--radix-accordion-content-height);
}
to {
height: 0;
}
}
}
/* 1. Global Mappings: Connect Shadcn to whatever the CURRENT DaisyUI theme is */
:root {
/* Map Shadcn Variables to the generic DaisyUI variables */
/* This allows Shadcn to adapt to ANY DaisyUI theme automatically */
--background: oklch(var(--color-base-100));
--foreground: oklch(var(--color-base-content));
--card: oklch(var(--color-base-100));
--card-foreground: oklch(var(--color-base-content));
--popover: oklch(var(--color-base-100));
--popover-foreground: oklch(var(--color-base-content));
--primary: oklch(var(--color-primary));
--primary-foreground: oklch(var(--color-primary-content));
--secondary: oklch(var(--color-secondary));
--secondary-foreground: oklch(var(--color-secondary-content));
--muted: oklch(var(--color-base-300));
--muted-foreground: oklch(var(--color-base-content));
--accent: oklch(var(--color-accent));
--accent-foreground: oklch(var(--color-accent-content));
--destructive: oklch(var(--color-error));
--destructive-foreground: oklch(var(--color-error-content));
--input: oklch(var(--color-base-content));
--ring: oklch(var(--color-base-content));
--radius: var(--rounded-field);
}
.dark {
--background: oklch(var(--color-base-100));
--foreground: oklch(var(--color-base-content));
--card: oklch(var(--color-base-200));
--card-foreground: oklch(var(--color-base-content));
--popover: oklch(var(--color-base-200));
--popover-foreground: oklch(var(--color-base-content));
--primary: oklch(var(--color-primary));
--primary-foreground: oklch(var(--color-primary-content));
--secondary: oklch(var(--color-secondary));
--secondary-foreground: oklch(var(--color-secondary-content));
--muted: oklch(var(--color-base-300));
--muted-foreground: oklch(var(--color-base-content));
--accent: oklch(var(--color-accent));
--accent-foreground: oklch(var(--color-accent-content));
--destructive: oklch(var(--color-error));
--destructive-foreground: oklch(var(--color-error-content));
--input: oklch(var(--color-base-content));
--ring: oklch(var(--color-base-content));
--radius: var(--rounded-field);
}
/* Upscayl Custom Theme Fonts */
@theme {
--font-sans: "Poppins", sans-serif;
}
/* Utilities */
.zoom-100 {
transform: scale(1);
}
.zoom-125 {
transform: scale(1.25);
}
.zoom-150 {
transform: scale(1.5);
}
.zoom-175 {
transform: scale(1.75);
}
.zoom-200 {
transform: scale(2);
}
.animate-step-in {
animation: animate-step-in 0.6s cubic-bezier(0.07, 0.43, 0.02, 1);
}
.mac-titlebar {
-webkit-app-region: drag;
}
.spinner {
animation: sk-rotateplane 2.2s infinite ease-in-out;
}
@keyframes animate-step-in {
0% {
opacity: 0;
transform: translateY(-10px);
}
80% {
opacity: 1;
}
100% {
opacity: 1;
transform: translateY(0px);
}
}
@keyframes sk-rotateplane {
0% {
transform: perspective(120px) rotateX(0deg) rotateY(0deg);
}
50% {
transform: perspective(120px) rotateX(-360.1deg) rotateY(0deg);
}
100% {
transform: perspective(120px) rotateX(-360deg) rotateY(-179.9deg);
}
}
/* Legacy Utility Overrides */
@layer utilities {
.react-select-container {
width: 10rem;
}
.full-width {
width: 100%;
}
.react-select-container .react-select__control {
border-radius: var(--rounded-field);
background-color: var(--color-primary);
height: 3rem;
cursor: pointer;
border: none !important;
box-shadow: none;
}
[data-theme="upscayl"] .react-select-container .react-select__control {
height: 2.5rem;
}
.react-select-container .react-select__single-value {
color: var(--color-primary-content);
font-size: 0.875rem;
font-weight: 600;
text-transform: uppercase;
}
.react-select-container .react-select__menu {
background-color: var(--color-primary);
border-radius: 0.5rem;
padding: 0.25rem;
font-size: 0.875rem;
font-weight: 600;
text-transform: uppercase;
}
.react-select-container .react-select__option {
background-color: var(--color-primary);
color: var(--color-primary-content);
margin-block: 0.25rem;
cursor: pointer;
border-radius: 0.375rem;
word-break: break-all;
}
.react-select-container .react-select__option--is-selected {
background-color: var(--color-accent);
color: var(--color-accent-content);
}
.outline-title {
text-shadow:
0px 0px 10px rgba(255, 255, 255, 0.5),
0px 0px 10px rgba(255, 255, 255, 1);
}
.outline-title-none {
text-shadow: none;
}
[data-theme="upscayl"] .btn {
@apply h-10 min-h-min! px-3 py-2 font-medium normal-case;
}
[data-theme="upscayl"] input[type="range"] {
@apply rounded-full;
}
[data-theme="upscayl"] .react-select-container .react-select__control {
@apply bg-primary h-10 cursor-pointer border-0! border-none! border-transparent! shadow-none;
border-radius: var(--rounded-field);
}
[data-theme="upscayl"] .react-select-container .react-select__single-value {
@apply text-primary-content font-medium normal-case;
}
[data-theme="upscayl"]
.react-select-container
.react-select__input-container {
@apply text-primary-content text-xs font-medium normal-case;
}
[data-theme="upscayl"] .react-select-container .react-select__menu {
@apply bg-primary rounded-lg p-1 font-medium normal-case;
}
.__rcs-handle-button {
@apply border-white;
}
}