mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
scss/index.scss, scss/components.scss, storybook/src/styles/globals.scss Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
413 lines
7.5 KiB
SCSS
413 lines
7.5 KiB
SCSS
// Component-specific styles - Material Design 3
|
|
// Application-specific components using M3 tokens
|
|
|
|
@use './components/page.scss';
|
|
@use './components/typography.scss';
|
|
@use './components/buttons.scss';
|
|
@use './components/form-inputs.scss';
|
|
@use './components/form-structure.scss';
|
|
@use './components/badges.scss';
|
|
@use './components/cards.scss';
|
|
@use './components/data-display.scss';
|
|
@use './components/feedback.scss';
|
|
@use './components/media.scss';
|
|
@use './components/dialogs.scss';
|
|
@use './components/app-layout.scss';
|
|
@use './components/conflict-features.scss';
|
|
@use './components/feature-pages.scss';
|
|
|
|
// Loading container
|
|
.loading-container {
|
|
display: flex;
|
|
justify-content: center;
|
|
margin-top: 32px;
|
|
}
|
|
|
|
// Back button
|
|
.back-button {
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
// Error alert
|
|
.error-alert {
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
// Task card
|
|
.task-card {
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
// Chip row
|
|
.chip-row {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-bottom: 16px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
// Task ID
|
|
.task-id {
|
|
color: var(--mat-sys-on-surface-variant);
|
|
font-family: var(--mat-sys-body-small-font);
|
|
font-size: var(--mat-sys-body-small-size);
|
|
display: block;
|
|
}
|
|
|
|
// Monospace text
|
|
.mono {
|
|
font-family: var(--mat-sys-body-large-font);
|
|
font-feature-settings: "tnum" on, "lnum" on;
|
|
}
|
|
|
|
// Tabs container
|
|
.tabs-container {
|
|
border-bottom: 1px solid var(--mat-sys-outline-variant);
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
// Tab panel
|
|
.tab-panel {
|
|
padding: 16px;
|
|
}
|
|
|
|
// Editor container
|
|
.editor-container {
|
|
border-radius: var(--mat-sys-corner-medium);
|
|
overflow: hidden;
|
|
height: 400px;
|
|
|
|
&.small {
|
|
height: 300px;
|
|
}
|
|
|
|
&.large {
|
|
height: 500px;
|
|
}
|
|
}
|
|
|
|
// Status chip
|
|
.status-chip {
|
|
margin-top: 8px;
|
|
}
|
|
|
|
// Turn title
|
|
.turn-title {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
// Current chip
|
|
.current-chip {
|
|
margin-right: 8px;
|
|
}
|
|
|
|
// Turn actions
|
|
.turn-actions {
|
|
margin-bottom: 16px;
|
|
display: flex;
|
|
gap: 8px;
|
|
align-items: center;
|
|
}
|
|
|
|
// Turn section
|
|
.turn-section {
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
// Turn content
|
|
.turn-content {
|
|
padding: 16px;
|
|
background-color: var(--mat-sys-surface-container-low);
|
|
border-radius: var(--mat-sys-corner-medium);
|
|
}
|
|
|
|
// Patch header
|
|
.patch-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
// Patch actions
|
|
.patch-actions {
|
|
display: flex;
|
|
gap: 4px;
|
|
}
|
|
|
|
// Patch description
|
|
.patch-description {
|
|
margin-bottom: 16px;
|
|
padding: 16px;
|
|
background-color: var(--mat-sys-surface-container-low);
|
|
border-radius: var(--mat-sys-corner-medium);
|
|
}
|
|
|
|
// Text utilities
|
|
.text-secondary {
|
|
color: var(--mat-sys-on-surface-variant);
|
|
}
|
|
|
|
.text-disabled {
|
|
color: color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent);
|
|
}
|
|
|
|
.text-center {
|
|
text-align: center;
|
|
}
|
|
|
|
.flex-grow {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
// Search dialog
|
|
.search-dialog {
|
|
.fakemui-dialog-content {
|
|
min-height: 400px;
|
|
max-height: 80vh;
|
|
}
|
|
}
|
|
|
|
.search-dialog-title {
|
|
padding-bottom: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.search-dialog-content {
|
|
padding: 16px;
|
|
}
|
|
|
|
.search-input {
|
|
margin-bottom: 16px;
|
|
width: 100%;
|
|
}
|
|
|
|
.search-loading {
|
|
padding: 16px 0;
|
|
}
|
|
|
|
.search-loading-row {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
gap: 16px;
|
|
}
|
|
|
|
.search-progress {
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.search-error {
|
|
text-align: center;
|
|
padding: 32px 0;
|
|
color: var(--mat-sys-error);
|
|
}
|
|
|
|
.search-section-title {
|
|
margin-bottom: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
font-family: var(--mat-sys-title-small-font);
|
|
font-size: var(--mat-sys-title-small-size);
|
|
font-weight: var(--mat-sys-title-small-weight);
|
|
color: var(--mat-sys-on-surface);
|
|
|
|
svg {
|
|
width: 18px;
|
|
height: 18px;
|
|
vertical-align: middle;
|
|
}
|
|
}
|
|
|
|
.search-results-list {
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.search-result-meta {
|
|
display: flex;
|
|
gap: 8px;
|
|
align-items: center;
|
|
margin-top: 4px;
|
|
color: var(--mat-sys-on-surface-variant);
|
|
font-size: var(--mat-sys-body-small-size);
|
|
}
|
|
|
|
.search-result-desc {
|
|
max-width: 300px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.search-divider {
|
|
margin: 16px 0;
|
|
border: none;
|
|
border-top: 1px solid var(--mat-sys-outline-variant);
|
|
}
|
|
|
|
.search-code-title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.search-code-preview {
|
|
margin-top: 8px;
|
|
padding: 8px;
|
|
background-color: var(--mat-sys-surface-container-highest);
|
|
font-family: var(--mat-sys-body-large-font);
|
|
font-feature-settings: "tnum" on, "lnum" on;
|
|
font-size: var(--mat-sys-body-small-size);
|
|
overflow: hidden;
|
|
border-radius: var(--mat-sys-corner-small);
|
|
}
|
|
|
|
.search-code-line {
|
|
padding: 2px 0;
|
|
|
|
.line-number {
|
|
color: var(--mat-sys-on-surface-variant);
|
|
margin-right: 8px;
|
|
font-size: var(--mat-sys-label-small-size);
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.line-content {
|
|
font-family: var(--mat-sys-body-large-font);
|
|
font-feature-settings: "tnum" on, "lnum" on;
|
|
font-size: var(--mat-sys-body-small-size);
|
|
|
|
&.added {
|
|
color: var(--color-success);
|
|
}
|
|
|
|
&.removed {
|
|
color: var(--mat-sys-error);
|
|
}
|
|
}
|
|
}
|
|
|
|
.search-empty {
|
|
text-align: center;
|
|
padding: 32px 0;
|
|
color: var(--mat-sys-on-surface-variant);
|
|
|
|
> * {
|
|
margin-top: 8px;
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
// Highlight for search matches
|
|
.highlight {
|
|
background-color: color-mix(in srgb, var(--mat-sys-tertiary) 30%, transparent);
|
|
color: var(--mat-sys-on-surface);
|
|
padding: 0 4px;
|
|
border-radius: var(--mat-sys-corner-extra-small);
|
|
}
|
|
|
|
// Documentation styles
|
|
.documentation {
|
|
padding: 16px 0;
|
|
}
|
|
|
|
.doc-title {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
margin-bottom: 16px;
|
|
font-family: var(--mat-sys-headline-medium-font);
|
|
font-size: var(--mat-sys-headline-medium-size);
|
|
font-weight: var(--mat-sys-headline-medium-weight);
|
|
|
|
svg {
|
|
width: 32px;
|
|
height: 32px;
|
|
}
|
|
}
|
|
|
|
.doc-tabs-container {
|
|
margin-bottom: 24px;
|
|
border-bottom: 1px solid var(--mat-sys-outline-variant);
|
|
}
|
|
|
|
.code-block {
|
|
padding: 16px;
|
|
background-color: var(--mat-sys-surface-container-highest);
|
|
border-radius: var(--mat-sys-corner-medium);
|
|
position: relative;
|
|
font-family: var(--mat-sys-body-large-font);
|
|
font-feature-settings: "tnum" on, "lnum" on;
|
|
overflow: auto;
|
|
margin: 8px 0;
|
|
|
|
.copy-button {
|
|
position: absolute;
|
|
top: 8px;
|
|
right: 8px;
|
|
color: var(--mat-sys-on-surface-variant);
|
|
|
|
svg {
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
}
|
|
|
|
.code-content {
|
|
margin: 0;
|
|
color: var(--mat-sys-on-surface);
|
|
font-size: var(--mat-sys-body-small-size);
|
|
line-height: 1.6;
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
}
|
|
}
|
|
|
|
.endpoint-row {
|
|
transition: background-color var(--mat-sys-motion-duration-short4) var(--mat-sys-motion-easing-standard);
|
|
|
|
&:hover {
|
|
background-color: color-mix(in srgb, var(--mat-sys-on-surface) 8%, transparent);
|
|
}
|
|
|
|
td {
|
|
padding: 12px;
|
|
border-bottom: 1px solid var(--mat-sys-outline-variant);
|
|
}
|
|
|
|
.method-chip {
|
|
font-family: var(--mat-sys-body-large-font);
|
|
font-feature-settings: "tnum" on, "lnum" on;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.endpoint-path {
|
|
font-family: var(--mat-sys-body-large-font);
|
|
font-feature-settings: "tnum" on, "lnum" on;
|
|
font-size: var(--mat-sys-body-medium-size);
|
|
}
|
|
}
|
|
|
|
// Table styles for endpoints
|
|
.endpoints-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
|
|
th {
|
|
text-align: left;
|
|
padding: 12px;
|
|
border-bottom: 2px solid var(--mat-sys-outline-variant);
|
|
font-family: var(--mat-sys-title-small-font);
|
|
font-weight: var(--mat-sys-title-small-weight);
|
|
color: var(--mat-sys-on-surface);
|
|
}
|
|
|
|
td {
|
|
padding: 12px;
|
|
border-bottom: 1px solid var(--mat-sys-outline-variant);
|
|
color: var(--mat-sys-on-surface);
|
|
}
|
|
}
|