mirror of
https://github.com/mztlive/dx-admin-template.git
synced 2025-12-22 21:59:59 +00:00
2292 lines
48 KiB
CSS
2292 lines
48 KiB
CSS
:root {
|
|
color-scheme: light;
|
|
--background: 0 0% 100%;
|
|
--foreground: 222.2 47.4% 11.2%;
|
|
--muted: 210 40% 96.1%;
|
|
--muted-foreground: 215.4 16.3% 46.9%;
|
|
--popover: 0 0% 100%;
|
|
--popover-foreground: 222.2 47.4% 11.2%;
|
|
--border: 214.3 31.8% 91.4%;
|
|
--input: 214.3 31.8% 91.4%;
|
|
--card: 0 0% 100%;
|
|
--card-foreground: 222.2 47.4% 11.2%;
|
|
--primary: 222.2 47.4% 11.2%;
|
|
--primary-foreground: 210 40% 98%;
|
|
--secondary: 210 40% 96.1%;
|
|
--secondary-foreground: 222.2 47.4% 11.2%;
|
|
--accent: 210 40% 96.1%;
|
|
--accent-foreground: 222.2 47.4% 11.2%;
|
|
--destructive: 0 84.2% 60.2%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
--ring: 215 20.2% 65.1%;
|
|
--radius: 0.3rem;
|
|
--shadow-sm: 0 1px 2px 0 rgb(15 23 42 / 0.05);
|
|
--shadow-md:
|
|
0 4px 6px -1px rgb(15 23 42 / 0.1), 0 2px 4px -2px rgb(15 23 42 / 0.1);
|
|
}
|
|
|
|
.dark,
|
|
:root[data-theme="dark"] {
|
|
color-scheme: dark;
|
|
--background: 222.2 84% 4.9%;
|
|
--foreground: 210 40% 98%;
|
|
--muted: 217.2 32.6% 17.5%;
|
|
--muted-foreground: 215 20.2% 65.1%;
|
|
--popover: 222.2 84% 4.9%;
|
|
--popover-foreground: 210 40% 98%;
|
|
--border: 217.2 32.6% 17.5%;
|
|
--input: 217.2 32.6% 17.5%;
|
|
--card: 222.2 84% 4.9%;
|
|
--card-foreground: 210 40% 98%;
|
|
--primary: 210 40% 98%;
|
|
--primary-foreground: 222.2 47.4% 11.2%;
|
|
--secondary: 217.2 32.6% 17.5%;
|
|
--secondary-foreground: 210 40% 98%;
|
|
--accent: 217.2 32.6% 17.5%;
|
|
--accent-foreground: 210 40% 98%;
|
|
--destructive: 0 62.8% 30.6%;
|
|
--destructive-foreground: 0 0% 98%;
|
|
--ring: 215 20.2% 65.1%;
|
|
}
|
|
|
|
.shadcn {
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-button {
|
|
align-items: center;
|
|
background-color: hsl(var(--primary));
|
|
border: 1px solid transparent;
|
|
border-radius: var(--radius);
|
|
color: hsl(var(--primary-foreground));
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
gap: 0.5rem;
|
|
height: 2.25rem;
|
|
justify-content: center;
|
|
line-height: 1;
|
|
padding: 0 1rem;
|
|
box-shadow: 0 0 0 1px transparent;
|
|
transition:
|
|
background-color 0.2s ease,
|
|
color 0.2s ease,
|
|
border-color 0.2s ease,
|
|
box-shadow 0.2s ease,
|
|
transform 0.2s ease;
|
|
}
|
|
|
|
.ui-button[data-size="sm"] {
|
|
height: 2rem;
|
|
padding: 0 0.75rem;
|
|
}
|
|
|
|
.ui-button[data-size="lg"] {
|
|
height: 2.75rem;
|
|
padding: 0 1.5rem;
|
|
font-size: 1rem;
|
|
}
|
|
|
|
.ui-button[data-size="icon"] {
|
|
width: 2.25rem;
|
|
height: 2.25rem;
|
|
padding: 0;
|
|
border-radius: 9999px;
|
|
}
|
|
|
|
.ui-button[data-variant="secondary"] {
|
|
background-color: hsl(var(--secondary));
|
|
border-color: hsl(var(--border));
|
|
color: hsl(var(--secondary-foreground));
|
|
}
|
|
|
|
.ui-button[data-variant="destructive"] {
|
|
background-color: hsl(var(--destructive));
|
|
color: hsl(var(--destructive-foreground));
|
|
}
|
|
|
|
.ui-button[data-variant="outline"] {
|
|
background-color: transparent;
|
|
border-color: hsl(var(--border));
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-button[data-variant="ghost"] {
|
|
background-color: transparent;
|
|
border-color: transparent;
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-button[data-variant="ghost"]:hover {
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-button[data-variant="icon"] {
|
|
background-color: transparent;
|
|
border-color: transparent;
|
|
color: hsl(var(--foreground));
|
|
padding: 0;
|
|
}
|
|
|
|
.ui-button[data-variant="icon"]:hover {
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border: 0;
|
|
}
|
|
|
|
.theme-toggle-icon {
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
}
|
|
|
|
.ui-button[data-variant="link"] {
|
|
background-color: transparent;
|
|
border-color: transparent;
|
|
color: hsl(var(--primary));
|
|
height: auto;
|
|
padding: 0;
|
|
border-radius: 0;
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.ui-button[data-variant="secondary"]:hover {
|
|
background-color: hsl(var(--secondary) / 0.9);
|
|
}
|
|
|
|
.ui-button[data-variant="destructive"]:hover {
|
|
background-color: hsl(var(--destructive) / 0.9);
|
|
}
|
|
|
|
.ui-button[data-variant="outline"]:hover {
|
|
background-color: hsl(var(--accent));
|
|
}
|
|
|
|
.ui-button:hover {
|
|
background-color: hsl(var(--primary) / 0.9);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.ui-button:focus-visible {
|
|
outline: none;
|
|
box-shadow:
|
|
0 0 0 2px hsl(var(--background)),
|
|
0 0 0 4px hsl(var(--ring) / 0.55);
|
|
}
|
|
|
|
.ui-button:disabled,
|
|
.ui-button[aria-disabled="true"] {
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.ui-toggle {
|
|
border: 1px solid hsl(var(--border));
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
border-radius: calc(var(--radius) - 0.25rem);
|
|
padding: 0.35rem 0.75rem;
|
|
font-size: 0.85rem;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.35rem;
|
|
transition:
|
|
background-color 0.2s ease,
|
|
color 0.2s ease,
|
|
border-color 0.2s ease,
|
|
transform 0.2s ease;
|
|
}
|
|
|
|
.ui-toggle[data-state="on"] {
|
|
background-color: hsl(var(--primary));
|
|
color: hsl(var(--primary-foreground));
|
|
border-color: hsl(var(--primary));
|
|
}
|
|
|
|
.ui-toggle:hover {
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.ui-toggle:disabled {
|
|
opacity: 0.6;
|
|
cursor: not-allowed;
|
|
transform: none;
|
|
}
|
|
|
|
.ui-toggle-group {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.4rem;
|
|
}
|
|
|
|
.ui-toggle-group[data-orientation="vertical"] {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.ui-toggle-group-item {
|
|
min-width: 2.25rem;
|
|
justify-content: center;
|
|
}
|
|
|
|
.ui-badge {
|
|
align-items: center;
|
|
background-color: hsl(var(--primary) / 0.1);
|
|
border: 1px solid transparent;
|
|
border-radius: 9999px;
|
|
color: hsl(var(--primary));
|
|
display: inline-flex;
|
|
font-size: 0.75rem;
|
|
font-weight: 500;
|
|
height: 1.5rem;
|
|
line-height: 1;
|
|
padding: 0 0.6rem;
|
|
text-transform: none;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.ui-badge[data-variant="secondary"] {
|
|
background-color: hsl(var(--secondary));
|
|
color: hsl(var(--secondary-foreground));
|
|
}
|
|
|
|
.ui-badge[data-variant="outline"] {
|
|
background-color: transparent;
|
|
border-color: hsl(var(--border));
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-badge[data-variant="destructive"] {
|
|
background-color: hsl(var(--destructive) / 0.1);
|
|
color: hsl(var(--destructive));
|
|
}
|
|
|
|
.ui-input,
|
|
.ui-textarea {
|
|
appearance: none;
|
|
background-color: hsl(var(--background));
|
|
border: 1px solid hsl(var(--input));
|
|
border-radius: var(--radius);
|
|
color: hsl(var(--foreground));
|
|
font-size: 0.875rem;
|
|
line-height: 1.4;
|
|
outline: none;
|
|
transition:
|
|
border-color 0.2s ease,
|
|
box-shadow 0.2s ease,
|
|
background-color 0.2s ease;
|
|
width: 100%;
|
|
}
|
|
|
|
.ui-input {
|
|
height: 2.5rem;
|
|
padding: 0 0.75rem;
|
|
}
|
|
|
|
.ui-textarea {
|
|
min-height: 5rem;
|
|
padding: 0.75rem;
|
|
resize: vertical;
|
|
}
|
|
|
|
.ui-input::placeholder,
|
|
.ui-textarea::placeholder {
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-input:focus-visible,
|
|
.ui-textarea:focus-visible {
|
|
border-color: hsl(var(--ring));
|
|
box-shadow:
|
|
0 0 0 1px hsl(var(--ring)),
|
|
0 0 0 4px hsl(var(--ring) / 0.08);
|
|
}
|
|
|
|
.ui-input:disabled,
|
|
.ui-textarea:disabled {
|
|
cursor: not-allowed;
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.ui-label {
|
|
color: hsl(var(--foreground));
|
|
display: inline-flex;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.ui-label[data-disabled="true"] {
|
|
cursor: not-allowed;
|
|
opacity: 0.7;
|
|
}
|
|
|
|
.ui-checkbox,
|
|
.ui-radio {
|
|
appearance: none;
|
|
align-items: center;
|
|
background-color: hsl(var(--background));
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) - 0.25rem);
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
height: 1.1rem;
|
|
justify-content: center;
|
|
position: relative;
|
|
width: 1.1rem;
|
|
transition:
|
|
border-color 0.2s ease,
|
|
background-color 0.2s ease,
|
|
box-shadow 0.2s ease,
|
|
transform 0.2s ease;
|
|
}
|
|
|
|
.ui-checkbox:focus-visible,
|
|
.ui-radio:focus-visible {
|
|
outline: none;
|
|
}
|
|
|
|
.ui-checkbox:focus-visible {
|
|
box-shadow:
|
|
0 0 0 2px hsl(var(--background)),
|
|
0 0 0 4px hsl(var(--ring) / 0.45);
|
|
}
|
|
|
|
.ui-radio {
|
|
border-color: transparent;
|
|
border-radius: 9999px;
|
|
box-shadow: inset 0 0 0 1px hsl(var(--border) / 0.6);
|
|
}
|
|
|
|
.ui-checkbox:checked {
|
|
background-color: hsl(var(--primary));
|
|
border-color: hsl(var(--primary));
|
|
}
|
|
|
|
.ui-checkbox:checked::after {
|
|
content: "";
|
|
height: 0.55rem;
|
|
width: 0.65rem;
|
|
display: block;
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 12 10'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M1 5l3 3 7-7'/%3E%3C/svg%3E");
|
|
background-repeat: no-repeat;
|
|
background-size: contain;
|
|
}
|
|
|
|
.ui-checkbox:disabled,
|
|
.ui-radio:disabled {
|
|
opacity: 0.6;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.ui-radio:checked {
|
|
background-color: hsl(var(--primary) / 0.25);
|
|
border-color: hsl(var(--primary));
|
|
box-shadow: inset 0 0 0 1px hsl(var(--primary));
|
|
}
|
|
|
|
.ui-radio:focus-visible {
|
|
box-shadow:
|
|
inset 0 0 0 1px hsl(var(--border) / 0.6),
|
|
0 0 0 2px hsl(var(--background)),
|
|
0 0 0 4px hsl(var(--ring) / 0.45);
|
|
}
|
|
|
|
.ui-radio::after {
|
|
content: "";
|
|
width: 0.5rem;
|
|
height: 0.5rem;
|
|
border-radius: 9999px;
|
|
background-color: hsl(var(--primary));
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%) scale(0);
|
|
transition:
|
|
transform 0.2s ease,
|
|
background-color 0.2s ease;
|
|
}
|
|
|
|
.ui-radio:checked::after {
|
|
transform: translate(-50%, -50%) scale(1);
|
|
background-color: hsl(var(--primary));
|
|
}
|
|
|
|
.ui-radio-group {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.ui-radio-chip-group,
|
|
.ui-checkbox-chip-group {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.ui-choice-group-label {
|
|
font-size: 0.9rem;
|
|
font-weight: 500;
|
|
color: hsl(var(--foreground));
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.ui-choice-group-options {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.ui-radio-chip,
|
|
.ui-checkbox-chip {
|
|
appearance: none;
|
|
background-color: hsl(var(--background));
|
|
border: 1px dashed hsl(var(--border));
|
|
border-radius: 0.65rem;
|
|
color: hsl(var(--muted-foreground));
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
flex-direction: column;
|
|
gap: 0.15rem;
|
|
justify-content: center;
|
|
min-height: 2.2rem;
|
|
min-width: 3.5rem;
|
|
padding: 0.45rem 1.1rem;
|
|
position: relative;
|
|
text-align: center;
|
|
transition:
|
|
border-color 0.2s ease,
|
|
color 0.2s ease,
|
|
background-color 0.2s ease,
|
|
box-shadow 0.2s ease;
|
|
}
|
|
|
|
.ui-radio-chip:hover:not([data-disabled="true"]),
|
|
.ui-checkbox-chip:hover:not([data-disabled="true"]) {
|
|
border-color: hsl(var(--foreground) / 0.6);
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-radio-chip[data-state="selected"],
|
|
.ui-checkbox-chip[data-state="selected"] {
|
|
border: 1px solid hsl(var(--foreground));
|
|
color: hsl(var(--foreground));
|
|
background-color: hsl(var(--background));
|
|
box-shadow: 0 1px 2px hsl(var(--foreground) / 0.2);
|
|
}
|
|
|
|
.ui-radio-chip[data-disabled="true"],
|
|
.ui-checkbox-chip[data-disabled="true"] {
|
|
cursor: not-allowed;
|
|
opacity: 0.55;
|
|
}
|
|
|
|
.ui-radio-chip:focus-visible,
|
|
.ui-checkbox-chip:focus-visible {
|
|
outline: none;
|
|
box-shadow:
|
|
0 0 0 2px hsl(var(--background)),
|
|
0 0 0 4px hsl(var(--ring) / 0.45);
|
|
}
|
|
|
|
.ui-chip-label {
|
|
font-size: 0.95rem;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.ui-chip-description {
|
|
font-size: 0.75rem;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-switch {
|
|
appearance: none;
|
|
background-color: hsl(var(--muted));
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: 999px;
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
height: 1.5rem;
|
|
padding: 0.125rem;
|
|
position: relative;
|
|
transition:
|
|
background-color 0.2s ease,
|
|
border-color 0.2s ease;
|
|
width: 2.75rem;
|
|
}
|
|
|
|
.ui-switch::after {
|
|
background-color: hsl(var(--background));
|
|
border-radius: 50%;
|
|
content: "";
|
|
height: 1.1rem;
|
|
left: 0.1rem;
|
|
position: absolute;
|
|
top: 0.1rem;
|
|
transition:
|
|
transform 0.2s ease,
|
|
background-color 0.2s ease;
|
|
width: 1.1rem;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
.ui-switch:checked {
|
|
background-color: hsl(var(--primary));
|
|
border-color: hsl(var(--primary));
|
|
}
|
|
|
|
.ui-switch:checked::after {
|
|
background-color: hsl(var(--primary-foreground));
|
|
transform: translateX(1.2rem);
|
|
}
|
|
|
|
.ui-switch:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.ui-tabs {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.ui-tabs-nav {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
background-color: hsl(var(--muted));
|
|
border-radius: var(--radius);
|
|
border: 1px solid hsl(var(--border));
|
|
padding: 0.25rem;
|
|
width: max-content;
|
|
}
|
|
|
|
.ui-tabs-trigger {
|
|
appearance: none;
|
|
background-color: transparent;
|
|
border: none;
|
|
border-radius: var(--radius);
|
|
color: hsl(var(--muted-foreground));
|
|
cursor: pointer;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
padding: 0.4rem 0.9rem;
|
|
box-shadow: inset 0 0 0 1px transparent;
|
|
transition:
|
|
color 0.2s ease,
|
|
background-color 0.2s ease,
|
|
box-shadow 0.2s ease;
|
|
}
|
|
|
|
.ui-tabs-trigger[data-state="active"] {
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
box-shadow: inset 0 0 0 1px hsl(var(--border));
|
|
}
|
|
|
|
.ui-tabs-trigger:focus-visible {
|
|
outline: none;
|
|
box-shadow:
|
|
0 0 0 2px hsl(var(--background)),
|
|
0 0 0 4px hsl(var(--ring) / 0.45);
|
|
}
|
|
|
|
.ui-tabs-content {
|
|
outline: none;
|
|
}
|
|
|
|
.ui-tabs-content[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.ui-card {
|
|
background-color: hsl(var(--card));
|
|
border-radius: calc(var(--radius) + 0.25rem);
|
|
border: 1px solid hsl(var(--border));
|
|
box-shadow: none;
|
|
color: hsl(var(--card-foreground));
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.ui-card-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 1.5rem 1.5rem 0 1.5rem;
|
|
}
|
|
|
|
.ui-card-title {
|
|
font-size: 1.125rem;
|
|
font-weight: 600;
|
|
letter-spacing: -0.01em;
|
|
}
|
|
|
|
.ui-card-description {
|
|
color: hsl(var(--muted-foreground));
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.ui-card-content {
|
|
padding: 1.5rem;
|
|
padding-top: 0;
|
|
}
|
|
|
|
.ui-card-footer {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
padding: 1.25rem 1.5rem;
|
|
border-top: 1px solid hsl(var(--border));
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.ui-shell {
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
margin: 3rem auto;
|
|
max-width: 1024px;
|
|
width: 100%;
|
|
padding: 0 1.5rem 3rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
}
|
|
|
|
.ui-demo-grid {
|
|
display: grid;
|
|
gap: 1.5rem;
|
|
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
|
}
|
|
|
|
.ui-stack {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.ui-collapsible {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.ui-collapsible-trigger {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 0.5rem;
|
|
border-radius: var(--radius);
|
|
border: 1px solid hsl(var(--border));
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
padding: 0.6rem 0.9rem;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition:
|
|
background-color 0.2s ease,
|
|
border-color 0.2s ease;
|
|
}
|
|
|
|
.ui-collapsible-trigger[data-state="open"] {
|
|
border-color: hsl(var(--ring));
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-collapsible-trigger:disabled {
|
|
opacity: 0.6;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.ui-collapsible-content {
|
|
border-radius: calc(var(--radius) - 2px);
|
|
border: 1px solid hsl(var(--border));
|
|
padding: 0.9rem;
|
|
background-color: hsl(var(--muted) / 0.25);
|
|
}
|
|
|
|
.ui-aspect-ratio {
|
|
position: relative;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
border-radius: calc(var(--radius) - 2px);
|
|
background-color: hsl(var(--muted) / 0.2);
|
|
}
|
|
|
|
.ui-aspect-ratio::before {
|
|
content: "";
|
|
display: block;
|
|
padding-bottom: calc(100% / var(--ui-aspect-ratio));
|
|
}
|
|
|
|
.ui-aspect-ratio-inner {
|
|
position: absolute;
|
|
inset: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.ui-cluster {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.ui-scroll-area {
|
|
position: relative;
|
|
overflow: auto;
|
|
border-radius: calc(var(--radius) - 2px);
|
|
border: 1px solid hsl(var(--border));
|
|
background-color: hsl(var(--background));
|
|
padding: 0.75rem;
|
|
box-shadow: inset 0 0 0 1px hsl(var(--border) / 0.35);
|
|
}
|
|
|
|
.ui-scroll-area::-webkit-scrollbar {
|
|
width: 0.5rem;
|
|
height: 0.5rem;
|
|
}
|
|
|
|
.ui-scroll-area::-webkit-scrollbar-thumb {
|
|
background-color: hsl(var(--muted));
|
|
border-radius: 9999px;
|
|
}
|
|
|
|
.ui-scroll-area::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
.ui-dropzone {
|
|
position: relative;
|
|
border: 1.5px dashed hsl(var(--border));
|
|
border-radius: calc(var(--radius));
|
|
padding: 1.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
cursor: pointer;
|
|
transition:
|
|
border-color 0.2s ease,
|
|
background-color 0.2s ease,
|
|
box-shadow 0.2s ease;
|
|
}
|
|
|
|
.ui-dropzone[data-state="active"] {
|
|
border-color: hsl(var(--primary));
|
|
background-color: hsl(var(--primary) / 0.08);
|
|
box-shadow: 0 0 0 3px hsl(var(--primary) / 0.12);
|
|
}
|
|
|
|
.ui-dropzone-input {
|
|
position: absolute;
|
|
inset: 0;
|
|
opacity: 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.ui-dropzone-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.ui-dropzone-title {
|
|
font-weight: 600;
|
|
font-size: 1rem;
|
|
}
|
|
|
|
.ui-dropzone-summary {
|
|
font-size: 0.8rem;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-bleed {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.ui-breadcrumb {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.6rem;
|
|
font-size: 0.85rem;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-breadcrumb a {
|
|
color: hsl(var(--foreground));
|
|
text-decoration: none;
|
|
}
|
|
|
|
.ui-breadcrumb a:hover {
|
|
color: hsl(var(--primary));
|
|
}
|
|
|
|
.ui-breadcrumb-separator {
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.ui-pagination {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.ui-page-button {
|
|
min-width: 2.25rem;
|
|
height: 2.25rem;
|
|
padding: 0 0.5rem;
|
|
border-radius: var(--radius);
|
|
border: 1px solid hsl(var(--border));
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
font-size: 0.85rem;
|
|
cursor: pointer;
|
|
transition:
|
|
background-color 0.2s ease,
|
|
border-color 0.2s ease;
|
|
}
|
|
|
|
.ui-page-button:hover {
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-page-button[data-active="true"] {
|
|
border-color: hsl(var(--primary));
|
|
background-color: hsl(var(--primary));
|
|
color: hsl(var(--primary-foreground));
|
|
}
|
|
|
|
.ui-page-button:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.ui-steps {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.ui-step {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.4rem;
|
|
font-size: 0.8rem;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-step-indicator {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
border-radius: 999px;
|
|
border: 2px solid hsl(var(--border));
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: hsl(var(--background));
|
|
font-weight: 600;
|
|
}
|
|
|
|
.ui-step[data-state="active"] .ui-step-indicator {
|
|
border-color: hsl(var(--primary));
|
|
background-color: hsl(var(--primary));
|
|
color: hsl(var(--primary-foreground));
|
|
}
|
|
|
|
.ui-step[data-state="complete"] .ui-step-indicator {
|
|
border-color: hsl(var(--primary));
|
|
color: hsl(var(--primary));
|
|
}
|
|
|
|
.ui-navmenu,
|
|
.ui-menubar {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.4rem;
|
|
padding: 0.2rem;
|
|
border-radius: calc(var(--radius) - 2px);
|
|
background-color: hsl(var(--muted));
|
|
position: relative;
|
|
}
|
|
|
|
.ui-navmenu-trigger,
|
|
.ui-menubar-trigger {
|
|
appearance: none;
|
|
border: none;
|
|
background: transparent;
|
|
padding: 0.45rem 0.75rem;
|
|
border-radius: calc(var(--radius) - 4px);
|
|
font-size: 0.85rem;
|
|
color: hsl(var(--muted-foreground));
|
|
cursor: pointer;
|
|
}
|
|
|
|
.ui-navmenu-trigger[data-open="true"],
|
|
.ui-menubar-trigger[data-open="true"] {
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
.ui-navmenu-content,
|
|
.ui-menubar-content {
|
|
position: absolute;
|
|
top: calc(100% + 0.35rem);
|
|
left: 0;
|
|
min-width: 12rem;
|
|
background-color: hsl(var(--popover));
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) - 2px);
|
|
box-shadow: var(--shadow-md);
|
|
padding: 0.5rem 0.4rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
z-index: 35;
|
|
}
|
|
|
|
.ui-navmenu-item,
|
|
.ui-menubar-item {
|
|
padding: 0.4rem 0.6rem;
|
|
border-radius: calc(var(--radius) - 4px);
|
|
font-size: 0.85rem;
|
|
color: hsl(var(--foreground));
|
|
cursor: pointer;
|
|
}
|
|
|
|
.ui-navmenu-item:hover,
|
|
.ui-menubar-item:hover {
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-command {
|
|
width: 100%;
|
|
max-width: 420px;
|
|
background-color: hsl(var(--popover));
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) + 2px);
|
|
box-shadow: var(--shadow-md);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.ui-command-header {
|
|
padding: 0.6rem 0.9rem;
|
|
border-bottom: 1px solid hsl(var(--border));
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.6rem;
|
|
}
|
|
|
|
.ui-command-input {
|
|
flex: 1;
|
|
border: none;
|
|
background: transparent;
|
|
font-size: 0.9rem;
|
|
color: hsl(var(--foreground));
|
|
outline: none;
|
|
}
|
|
|
|
.ui-command-list {
|
|
max-height: 14rem;
|
|
overflow-y: auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.ui-command-item {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 0.55rem 0.9rem;
|
|
font-size: 0.85rem;
|
|
cursor: pointer;
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-command-item:hover,
|
|
.ui-command-item[data-state="active"] {
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-context-trigger {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.ui-context-menu {
|
|
position: fixed;
|
|
min-width: 220px;
|
|
background-color: hsl(var(--popover));
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) - 2px);
|
|
box-shadow: var(--shadow-md);
|
|
padding: 0.3rem 0.2rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
z-index: 40;
|
|
}
|
|
|
|
.ui-context-item {
|
|
padding: 0.45rem 0.75rem;
|
|
border-radius: calc(var(--radius) - 4px);
|
|
font-size: 0.85rem;
|
|
color: hsl(var(--foreground));
|
|
cursor: pointer;
|
|
}
|
|
|
|
.ui-context-item[data-variant="destructive"] {
|
|
color: hsl(var(--destructive));
|
|
}
|
|
|
|
.ui-context-item:hover {
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-alert {
|
|
border-radius: calc(var(--radius) + 2px);
|
|
border: 1px solid hsl(var(--border));
|
|
background-color: hsl(var(--muted) / 0.6);
|
|
padding: 1.1rem 1.25rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.3rem;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
.ui-alert[data-variant="destructive"] {
|
|
border-color: hsl(var(--destructive));
|
|
background-color: hsl(var(--destructive) / 0.1);
|
|
color: hsl(var(--destructive));
|
|
}
|
|
|
|
.ui-alert-title {
|
|
font-weight: 600;
|
|
font-size: 0.95rem;
|
|
}
|
|
|
|
.ui-alert-description {
|
|
font-size: 0.85rem;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-select,
|
|
.ui-dropdown {
|
|
position: relative;
|
|
display: inline-flex;
|
|
flex-direction: column;
|
|
gap: 0.6rem;
|
|
width: 100%;
|
|
}
|
|
|
|
.ui-select[data-disabled="true"] {
|
|
opacity: 0.6;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.ui-select-trigger,
|
|
.ui-dropdown-trigger {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 0.5rem;
|
|
height: 2.5rem;
|
|
padding: 0 0.85rem;
|
|
border-radius: calc(var(--radius) - 2px);
|
|
border: 1px solid hsl(var(--border));
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
transition:
|
|
border-color 0.2s ease,
|
|
box-shadow 0.2s ease;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.ui-select-icon {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 1rem;
|
|
height: 1rem;
|
|
color: hsl(var(--muted-foreground));
|
|
transition:
|
|
transform 0.2s ease,
|
|
color 0.2s ease;
|
|
}
|
|
|
|
.ui-select-icon svg {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.ui-select-trigger[data-open="true"] .ui-select-icon {
|
|
transform: rotate(180deg);
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-select-trigger:focus-visible,
|
|
.ui-dropdown-trigger:focus-visible {
|
|
outline: none;
|
|
border-color: hsl(var(--ring));
|
|
box-shadow: 0 0 0 1px hsl(var(--ring));
|
|
}
|
|
|
|
.ui-select-trigger[data-open="true"],
|
|
.ui-dropdown-trigger[data-open="true"] {
|
|
border-color: hsl(var(--ring));
|
|
}
|
|
|
|
.ui-select-content,
|
|
.ui-dropdown-content {
|
|
position: absolute;
|
|
top: calc(100% + 0.35rem);
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 30;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: hsl(var(--popover));
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) - 2px);
|
|
box-shadow: var(--shadow-md);
|
|
overflow: hidden;
|
|
max-height: 14rem;
|
|
}
|
|
|
|
.ui-select-list,
|
|
.ui-dropdown-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.ui-select-item,
|
|
.ui-dropdown-item {
|
|
width: 100%;
|
|
border: none;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0.65rem 0.9rem;
|
|
font-size: 0.875rem;
|
|
color: hsl(var(--foreground));
|
|
transition:
|
|
background-color 0.2s ease,
|
|
color 0.2s ease;
|
|
}
|
|
|
|
.ui-select-item:hover,
|
|
.ui-dropdown-item:hover,
|
|
.ui-select-item[data-state="active"],
|
|
.ui-dropdown-item[data-state="active"] {
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-dropdown-item[data-variant="destructive"] {
|
|
color: hsl(var(--destructive));
|
|
}
|
|
|
|
.ui-combobox {
|
|
position: relative;
|
|
display: inline-flex;
|
|
flex-direction: column;
|
|
gap: 0.6rem;
|
|
width: 100%;
|
|
}
|
|
|
|
.ui-combobox[data-disabled="true"] {
|
|
opacity: 0.6;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.ui-combobox-trigger {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 0.5rem;
|
|
height: 2.5rem;
|
|
padding: 0 0.85rem;
|
|
border-radius: calc(var(--radius) - 2px);
|
|
border: 1px solid hsl(var(--border));
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
cursor: pointer;
|
|
transition:
|
|
border-color 0.2s ease,
|
|
box-shadow 0.2s ease,
|
|
background-color 0.2s ease;
|
|
}
|
|
|
|
.ui-combobox-trigger:hover {
|
|
background-color: hsl(var(--accent) / 0.4);
|
|
}
|
|
|
|
.ui-combobox-content {
|
|
position: absolute;
|
|
top: calc(100% + 0.35rem);
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 40;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) - 2px);
|
|
background-color: hsl(var(--popover));
|
|
box-shadow: var(--shadow-lg);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.ui-combobox-search {
|
|
padding: 0.5rem 0.65rem;
|
|
border-bottom: 1px solid hsl(var(--border));
|
|
}
|
|
|
|
.ui-combobox-input {
|
|
width: 100%;
|
|
border: 1px solid hsl(var(--border) / 0.6);
|
|
border-radius: calc(var(--radius) - 4px);
|
|
padding: 0.45rem 0.6rem;
|
|
font-size: 0.875rem;
|
|
background-color: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-combobox-input:focus-visible {
|
|
outline: none;
|
|
border-color: hsl(var(--ring));
|
|
box-shadow: 0 0 0 2px hsl(var(--ring) / 0.35);
|
|
}
|
|
|
|
.ui-combobox-list {
|
|
max-height: 14rem;
|
|
overflow-y: auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.ui-combobox-item {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
width: 100%;
|
|
padding: 0.65rem 0.85rem;
|
|
border: none;
|
|
background: transparent;
|
|
}
|
|
|
|
.ui-combobox-item button {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
width: 100%;
|
|
gap: 0.2rem;
|
|
border: none;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
color: hsl(var(--foreground));
|
|
font-size: 0.85rem;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
|
|
.ui-combobox-item[data-state="active"] button {
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-combobox-item button:hover {
|
|
background-color: hsl(var(--muted) / 0.8);
|
|
}
|
|
|
|
.ui-combobox-label {
|
|
font-weight: 500;
|
|
}
|
|
|
|
.ui-combobox-description {
|
|
font-size: 0.75rem;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-combobox-empty {
|
|
padding: 1rem 0.85rem;
|
|
font-size: 0.85rem;
|
|
color: hsl(var(--muted-foreground));
|
|
text-align: center;
|
|
}
|
|
|
|
.ui-combobox-caret {
|
|
font-size: 0.8rem;
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.ui-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
border-spacing: 0;
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) - 2px);
|
|
overflow: hidden;
|
|
background-color: hsl(var(--background));
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
.ui-table caption {
|
|
caption-side: bottom;
|
|
}
|
|
|
|
.ui-table-header,
|
|
.ui-table-footer {
|
|
background-color: hsl(var(--muted) / 0.3);
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-table-row {
|
|
border-bottom: 1px solid hsl(var(--border));
|
|
}
|
|
|
|
.ui-table-row:hover {
|
|
background-color: hsl(var(--muted) / 0.3);
|
|
}
|
|
|
|
.ui-table-head {
|
|
text-align: left;
|
|
font-size: 0.75rem;
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
padding: 0.75rem 1rem;
|
|
color: hsl(var(--muted-foreground));
|
|
border-bottom: 1px solid hsl(var(--border));
|
|
}
|
|
|
|
.ui-table-cell {
|
|
padding: 0.75rem 1rem;
|
|
font-size: 0.875rem;
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-table-caption {
|
|
font-size: 0.8rem;
|
|
padding: 0.85rem;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-calendar {
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) - 2px);
|
|
padding: 1rem;
|
|
background-color: hsl(var(--background));
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.8rem;
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
.ui-calendar-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.ui-calendar-title {
|
|
font-weight: 600;
|
|
}
|
|
|
|
.ui-date-range {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius));
|
|
padding: 1rem;
|
|
background-color: hsl(var(--background));
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
.ui-date-range-toolbar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.ui-date-range-nav-group {
|
|
display: flex;
|
|
gap: 0.25rem;
|
|
}
|
|
|
|
.ui-date-range-nav {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0;
|
|
}
|
|
|
|
.ui-date-range-title {
|
|
font-weight: 600;
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-date-range-labels {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 0.5rem;
|
|
text-align: center;
|
|
font-size: 0.85rem;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-calendar-nav {
|
|
background-color: hsl(var(--muted));
|
|
border: none;
|
|
color: hsl(var(--foreground));
|
|
width: 2rem;
|
|
height: 2rem;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: calc(var(--radius) - 4px);
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
|
|
.ui-calendar-nav:hover {
|
|
background-color: hsl(var(--muted) / 0.8);
|
|
}
|
|
|
|
.ui-date-range-preview {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
min-width: 0;
|
|
flex: 1 1 auto;
|
|
font-size: 0.85rem;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-date-range-footer {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
justify-content: space-between;
|
|
gap: 1rem;
|
|
width: 100%;
|
|
margin-top: 0.5rem;
|
|
}
|
|
|
|
.ui-date-range-shortcuts {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.5rem;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.ui-date-range-controls {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 0.5rem;
|
|
flex-shrink: 0;
|
|
margin-left: auto;
|
|
}
|
|
|
|
.ui-date-range-shortcut,
|
|
.ui-date-range-clear,
|
|
.ui-date-range-confirm {
|
|
min-width: 0;
|
|
}
|
|
|
|
.ui-date-range-calendars {
|
|
display: grid;
|
|
gap: 1rem;
|
|
min-width: 460px;
|
|
grid-template-columns: repeat(2, minmax(220px, 1fr));
|
|
}
|
|
|
|
.ui-date-range-calendars > .ui-date-range-calendar {
|
|
padding: 0.75rem;
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) - 2px);
|
|
background-color: hsl(var(--background));
|
|
box-shadow: var(--shadow-xs);
|
|
}
|
|
|
|
.ui-date-range-calendar {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.ui-calendar-weekdays {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
gap: 0.35rem;
|
|
font-size: 0.7rem;
|
|
text-transform: uppercase;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-calendar-weekday {
|
|
text-align: center;
|
|
font-weight: 600;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
.ui-calendar-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
gap: 0.35rem;
|
|
}
|
|
|
|
.ui-calendar-day {
|
|
border: none;
|
|
border-radius: calc(var(--radius) - 4px);
|
|
padding: 0.55rem 0;
|
|
font-size: 0.85rem;
|
|
background-color: hsl(var(--muted) / 0.2);
|
|
color: hsl(var(--foreground));
|
|
cursor: pointer;
|
|
transition:
|
|
background-color 0.2s ease,
|
|
color 0.2s ease,
|
|
transform 0.2s ease;
|
|
}
|
|
|
|
.ui-calendar-day[data-outside="true"] {
|
|
color: hsl(var(--muted-foreground));
|
|
background-color: transparent;
|
|
}
|
|
|
|
.ui-calendar-day[data-state="selected"] {
|
|
background-color: hsl(var(--primary));
|
|
color: hsl(var(--primary-foreground));
|
|
box-shadow: inset 0 0 0 1px hsl(var(--primary) / 0.9);
|
|
}
|
|
|
|
.ui-calendar-day[data-in-range="true"]:not([data-state="selected"]) {
|
|
background-color: hsl(var(--primary) / 0.12);
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-calendar-day:disabled {
|
|
opacity: 0.4;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.ui-calendar-day:not(:disabled):hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: var(--shadow-sm);
|
|
}
|
|
|
|
.ui-tooltip-wrapper {
|
|
position: relative;
|
|
display: inline-flex;
|
|
}
|
|
|
|
.ui-tooltip-bubble {
|
|
position: absolute;
|
|
left: 50%;
|
|
transform: translate(-50%, -8px);
|
|
bottom: 100%;
|
|
background-color: hsl(var(--foreground));
|
|
color: hsl(var(--background));
|
|
font-size: 0.72rem;
|
|
padding: 0.3rem 0.55rem;
|
|
border-radius: calc(var(--radius) - 4px);
|
|
white-space: nowrap;
|
|
box-shadow: var(--shadow-sm);
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
transition:
|
|
opacity 0.1s ease,
|
|
transform 0.1s ease;
|
|
}
|
|
|
|
.ui-tooltip-bubble[data-state="visible"] {
|
|
opacity: 1;
|
|
transform: translate(-50%, -12px);
|
|
}
|
|
|
|
.ui-accordion {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.ui-accordion-item {
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) - 2px);
|
|
overflow: hidden;
|
|
background-color: hsl(var(--card));
|
|
}
|
|
|
|
.ui-accordion-trigger {
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 0.75rem;
|
|
padding: 0.75rem 1rem;
|
|
background: transparent;
|
|
border: none;
|
|
cursor: pointer;
|
|
font-weight: 500;
|
|
font-size: 0.9rem;
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-accordion-trigger:focus-visible {
|
|
outline: none;
|
|
box-shadow: 0 0 0 1px hsl(var(--ring));
|
|
}
|
|
|
|
.ui-accordion-content {
|
|
padding: 0 1rem 0.9rem;
|
|
color: hsl(var(--muted-foreground));
|
|
font-size: 0.85rem;
|
|
display: none;
|
|
}
|
|
|
|
.ui-accordion-content[data-state="open"] {
|
|
display: block;
|
|
}
|
|
|
|
.ui-avatar {
|
|
width: 3rem;
|
|
height: 3rem;
|
|
border-radius: 999px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: hsl(var(--muted));
|
|
color: hsl(var(--muted-foreground));
|
|
font-weight: 600;
|
|
text-transform: uppercase;
|
|
border: 1px solid hsl(var(--border));
|
|
}
|
|
|
|
.ui-avatar img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.ui-avatar-fallback {
|
|
position: absolute;
|
|
inset: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 1rem;
|
|
letter-spacing: 0.03em;
|
|
}
|
|
|
|
.ui-overlay-backdrop {
|
|
position: fixed;
|
|
inset: 0;
|
|
background-color: hsl(var(--foreground) / 0.45);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 1.5rem;
|
|
z-index: 48;
|
|
animation: ui-fade-in 120ms ease;
|
|
}
|
|
|
|
.ui-dialog {
|
|
background-color: hsl(var(--popover));
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) + 4px);
|
|
padding: 1.5rem;
|
|
width: min(480px, 92vw);
|
|
box-shadow: var(--shadow-md);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
color: hsl(var(--popover-foreground));
|
|
transform: scale(0.96);
|
|
opacity: 0;
|
|
animation: ui-dialog-in 160ms ease forwards;
|
|
}
|
|
|
|
.ui-dialog-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.35rem;
|
|
}
|
|
|
|
.ui-dialog-title {
|
|
font-size: 1.1rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.ui-dialog-description {
|
|
font-size: 0.9rem;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-dialog-footer {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.ui-popover,
|
|
.ui-hovercard {
|
|
position: absolute;
|
|
min-width: 220px;
|
|
border-radius: calc(var(--radius) - 2px);
|
|
border: 1px solid hsl(var(--border));
|
|
background-color: hsl(var(--popover));
|
|
box-shadow: var(--shadow-md);
|
|
padding: 0.75rem;
|
|
z-index: 45;
|
|
}
|
|
|
|
.ui-popover-trigger {
|
|
position: relative;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.ui-popover[data-placement="top"] {
|
|
transform: translate(-50%, -0.75rem);
|
|
}
|
|
|
|
.ui-popover[data-placement="bottom"] {
|
|
transform: translate(-50%, 0.75rem);
|
|
}
|
|
|
|
.ui-hovercard {
|
|
transform: translate(-50%, -0.75rem);
|
|
}
|
|
|
|
.ui-sheet-backdrop {
|
|
position: fixed;
|
|
inset: 0;
|
|
background-color: hsl(var(--foreground) / 0.45);
|
|
z-index: 49;
|
|
}
|
|
|
|
.ui-sheet {
|
|
position: fixed;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: min(360px, 85vw);
|
|
background-color: hsl(var(--popover));
|
|
border-left: 1px solid hsl(var(--border));
|
|
box-shadow: -16px 0 40px -28px rgb(15 23 42 / 0.65);
|
|
padding: 1.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
z-index: 50;
|
|
transform: translateX(20px);
|
|
animation: ui-sheet-slide-right 200ms ease forwards;
|
|
}
|
|
|
|
.ui-sheet[data-side="left"] {
|
|
left: 0;
|
|
border-left: none;
|
|
border-right: 1px solid hsl(var(--border));
|
|
box-shadow: 16px 0 40px -28px rgb(15 23 42 / 0.65);
|
|
transform: translateX(-20px);
|
|
animation: ui-sheet-slide-left 200ms ease forwards;
|
|
}
|
|
|
|
.ui-sheet[data-side="right"] {
|
|
right: 0;
|
|
}
|
|
|
|
.ui-toast-container {
|
|
position: fixed;
|
|
right: 1.5rem;
|
|
bottom: 1.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
z-index: 60;
|
|
}
|
|
|
|
.ui-toast {
|
|
background-color: hsl(var(--popover));
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) + 2px);
|
|
padding: 0.85rem 1.1rem;
|
|
box-shadow: var(--shadow-md);
|
|
min-width: 240px;
|
|
color: hsl(var(--popover-foreground));
|
|
animation: ui-toast-in 150ms ease;
|
|
}
|
|
|
|
@keyframes ui-fade-in {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes ui-dialog-in {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.96);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
@keyframes ui-sheet-slide-right {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateX(20px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
|
|
@keyframes ui-sheet-slide-left {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateX(-20px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
|
|
@keyframes ui-toast-in {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(8px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
.ui-separator {
|
|
background-color: hsl(var(--border));
|
|
display: block;
|
|
}
|
|
|
|
.ui-separator[data-orientation="horizontal"] {
|
|
height: 1px;
|
|
width: 100%;
|
|
}
|
|
|
|
.ui-separator[data-orientation="vertical"] {
|
|
width: 1px;
|
|
align-self: stretch;
|
|
}
|
|
|
|
.ui-progress {
|
|
position: relative;
|
|
height: 0.5rem;
|
|
width: 100%;
|
|
overflow: hidden;
|
|
border-radius: 9999px;
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-progress span {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
background-color: hsl(var(--primary));
|
|
transition: width 0.2s ease;
|
|
}
|
|
|
|
.ui-slider {
|
|
width: 100%;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
height: 1.5rem;
|
|
}
|
|
|
|
.ui-slider input[type="range"] {
|
|
appearance: none;
|
|
width: 100%;
|
|
height: 0.3rem;
|
|
border-radius: 999px;
|
|
background: linear-gradient(
|
|
to right,
|
|
hsl(var(--primary)) var(--fill, 50%),
|
|
hsl(var(--muted)) var(--fill, 50%)
|
|
);
|
|
outline: none;
|
|
border: none;
|
|
}
|
|
|
|
.ui-slider input[type="range"]::-webkit-slider-thumb {
|
|
appearance: none;
|
|
width: 1.1rem;
|
|
height: 1.1rem;
|
|
border-radius: 50%;
|
|
background-color: hsl(var(--background));
|
|
border: 2px solid hsl(var(--primary));
|
|
box-shadow: var(--shadow-sm);
|
|
cursor: pointer;
|
|
transition: transform 0.2s ease;
|
|
}
|
|
|
|
.ui-slider input[type="range"]::-webkit-slider-thumb:active {
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
.ui-slider input[type="range"]::-moz-range-track {
|
|
height: 0.3rem;
|
|
border-radius: 999px;
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-slider input[type="range"]::-moz-range-progress {
|
|
height: 0.3rem;
|
|
border-radius: 999px;
|
|
background-color: hsl(var(--primary));
|
|
}
|
|
|
|
.ui-slider input[type="range"]::-moz-range-thumb {
|
|
width: 1.1rem;
|
|
height: 1.1rem;
|
|
border-radius: 50%;
|
|
background-color: hsl(var(--background));
|
|
border: 2px solid hsl(var(--primary));
|
|
box-shadow: var(--shadow-sm);
|
|
cursor: pointer;
|
|
transition: transform 0.2s ease;
|
|
}
|
|
|
|
.ui-skeleton {
|
|
position: relative;
|
|
overflow: hidden;
|
|
background-color: hsl(var(--muted));
|
|
border-radius: calc(var(--radius) - 4px);
|
|
}
|
|
|
|
.ui-skeleton::after {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
transform: translateX(-100%);
|
|
background: linear-gradient(
|
|
90deg,
|
|
transparent,
|
|
hsl(var(--muted) / 0.5),
|
|
transparent
|
|
);
|
|
animation: ui-skeleton-shimmer 1.5s infinite;
|
|
}
|
|
|
|
@keyframes ui-skeleton-shimmer {
|
|
0% {
|
|
transform: translateX(-100%);
|
|
}
|
|
100% {
|
|
transform: translateX(100%);
|
|
}
|
|
}
|
|
|
|
.ui-form-field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.4rem;
|
|
}
|
|
|
|
.ui-field-helper {
|
|
color: hsl(var(--muted-foreground));
|
|
font-size: 0.75rem;
|
|
}
|
|
|
|
.ui-form-message {
|
|
font-size: 0.75rem;
|
|
line-height: 1.2;
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.ui-form-message[data-variant="error"] {
|
|
color: hsl(var(--destructive));
|
|
}
|
|
|
|
.ui-sidebar-layout {
|
|
background-color: hsl(var(--card));
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) + 0.5rem);
|
|
box-shadow: var(--shadow-md);
|
|
display: grid;
|
|
grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr);
|
|
min-height: 20rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.ui-sidebar {
|
|
background-color: hsl(var(--card));
|
|
border-right: 1px solid hsl(var(--border));
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
padding: 1.25rem;
|
|
transition: width 0.25s ease;
|
|
width: 18rem;
|
|
}
|
|
|
|
.ui-sidebar[data-collapsed="true"] {
|
|
padding-left: 0.75rem;
|
|
padding-right: 0.75rem;
|
|
width: 4.5rem;
|
|
}
|
|
|
|
.ui-sidebar-header,
|
|
.ui-sidebar-footer {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.ui-sidebar-footer {
|
|
border-top: 1px solid hsl(var(--border));
|
|
margin-top: auto;
|
|
padding-top: 1rem;
|
|
}
|
|
|
|
.ui-sidebar-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.ui-sidebar-group {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.ui-sidebar-group-label {
|
|
color: hsl(var(--muted-foreground));
|
|
font-size: 0.75rem;
|
|
font-weight: 600;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.ui-sidebar-group-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.ui-sidebar-separator {
|
|
background-color: hsl(var(--border));
|
|
border: none;
|
|
height: 1px;
|
|
width: 100%;
|
|
}
|
|
|
|
.ui-sidebar-menu {
|
|
width: 100%;
|
|
}
|
|
|
|
.ui-sidebar-menu-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.ui-sidebar-menu-item {
|
|
display: contents;
|
|
}
|
|
|
|
.ui-sidebar-menu-button {
|
|
align-items: center;
|
|
background-color: transparent;
|
|
border: none;
|
|
border-radius: calc(var(--radius) - 4px);
|
|
color: inherit;
|
|
cursor: pointer;
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
justify-content: flex-start;
|
|
padding: 0.5rem 0.75rem;
|
|
text-align: left;
|
|
text-decoration: none;
|
|
transition:
|
|
background-color 0.2s ease,
|
|
color 0.2s ease;
|
|
width: 100%;
|
|
}
|
|
|
|
.ui-sidebar-menu-button:hover {
|
|
background-color: hsl(var(--muted));
|
|
}
|
|
|
|
.ui-sidebar-menu-button[data-active="true"] {
|
|
background-color: hsl(var(--accent));
|
|
color: hsl(var(--accent-foreground));
|
|
font-weight: 600;
|
|
}
|
|
|
|
.ui-sidebar-button-body {
|
|
align-items: center;
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
width: 100%;
|
|
}
|
|
|
|
.ui-sidebar-icon {
|
|
align-items: center;
|
|
background-color: hsl(var(--accent));
|
|
border-radius: calc(var(--radius) - 6px);
|
|
color: hsl(var(--accent-foreground));
|
|
display: inline-flex;
|
|
font-size: 1.05rem;
|
|
height: 2.1rem;
|
|
justify-content: center;
|
|
min-width: 2.1rem;
|
|
width: 2.1rem;
|
|
}
|
|
|
|
.ui-sidebar-text {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.2rem;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.ui-sidebar-label {
|
|
font-weight: 500;
|
|
}
|
|
|
|
.ui-sidebar-description {
|
|
color: hsl(var(--muted-foreground));
|
|
font-size: 0.75rem;
|
|
}
|
|
|
|
.ui-sidebar-badge {
|
|
background-color: hsl(var(--secondary));
|
|
border-radius: 999px;
|
|
color: hsl(var(--secondary-foreground));
|
|
font-size: 0.75rem;
|
|
font-weight: 500;
|
|
padding: 0.15rem 0.55rem;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.ui-sidebar-trigger {
|
|
align-items: center;
|
|
background-color: transparent;
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: calc(var(--radius) - 4px);
|
|
color: hsl(var(--muted-foreground));
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
gap: 0.5rem;
|
|
padding: 0.35rem 0.75rem;
|
|
transition:
|
|
background-color 0.2s ease,
|
|
color 0.2s ease;
|
|
}
|
|
|
|
.ui-sidebar-trigger:hover {
|
|
background-color: hsl(var(--muted));
|
|
color: hsl(var(--foreground));
|
|
}
|
|
|
|
.ui-sidebar-trigger-icon {
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.ui-sidebar-inset {
|
|
background-color: hsl(var(--muted));
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
/*padding: 1.5rem;*/
|
|
}
|
|
|
|
.ui-sidebar-rail {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.ui-sidebar[data-collapsed="true"] .ui-sidebar-text,
|
|
.ui-sidebar[data-collapsed="true"] .ui-sidebar-description,
|
|
.ui-sidebar[data-collapsed="true"] .ui-sidebar-badge,
|
|
.ui-sidebar[data-collapsed="true"] .ui-sidebar-group-label,
|
|
.ui-sidebar[data-collapsed="true"] .ui-sidebar-trigger-label {
|
|
display: none;
|
|
}
|
|
|
|
.ui-sidebar[data-collapsed="true"] .ui-sidebar-menu-button {
|
|
justify-content: center;
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
.ui-sidebar[data-collapsed="true"] .ui-sidebar-icon {
|
|
background-color: transparent;
|
|
}
|
|
|
|
@media (max-width: 960px) {
|
|
.ui-sidebar-layout {
|
|
grid-template-columns: minmax(0, 1fr);
|
|
}
|
|
|
|
.ui-sidebar {
|
|
border-bottom: 1px solid hsl(var(--border));
|
|
border-right: none;
|
|
width: 100%;
|
|
}
|
|
|
|
.ui-sidebar[data-collapsed="true"] {
|
|
width: 100%;
|
|
}
|
|
}
|