Added extensive component library with feedback components (empty state, loading spinner, skeleton loader), enhanced form components (autocomplete, date picker, file upload, form field, time picker), navigation components (pagination), and overlay components (backdrop, drawer, modal, overlay container). Updated demo application with comprehensive showcase components and enhanced styling throughout the project. Excluded font files from repository to reduce size. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
176 lines
4.1 KiB
SCSS
176 lines
4.1 KiB
SCSS
@use '../../../../../shared-ui/src/styles/semantic' as tokens;
|
|
|
|
.demo-container {
|
|
padding: tokens.$semantic-spacing-layout-md;
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.demo-section {
|
|
margin-bottom: tokens.$semantic-spacing-layout-lg;
|
|
|
|
h3 {
|
|
margin-bottom: tokens.$semantic-spacing-component-md;
|
|
color: tokens.$semantic-color-text-primary;
|
|
font-size: 1.25rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
h4 {
|
|
margin-bottom: tokens.$semantic-spacing-component-sm;
|
|
color: tokens.$semantic-color-text-secondary;
|
|
font-size: 1.125rem;
|
|
font-weight: 500;
|
|
}
|
|
|
|
p {
|
|
color: tokens.$semantic-color-text-secondary;
|
|
margin-bottom: tokens.$semantic-spacing-component-md;
|
|
}
|
|
}
|
|
|
|
.demo-row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: tokens.$semantic-spacing-layout-md;
|
|
}
|
|
|
|
.demo-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
gap: tokens.$semantic-spacing-layout-md;
|
|
}
|
|
|
|
.demo-spacer-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
min-width: 200px;
|
|
margin-bottom: tokens.$semantic-spacing-component-lg;
|
|
}
|
|
|
|
.demo-direction-container {
|
|
padding: tokens.$semantic-spacing-component-md;
|
|
border: 1px solid tokens.$semantic-color-border-subtle;
|
|
border-radius: tokens.$semantic-border-radius-md;
|
|
}
|
|
|
|
.demo-horizontal-container {
|
|
display: flex;
|
|
align-items: center;
|
|
border: 2px dashed tokens.$semantic-color-border-subtle;
|
|
border-radius: tokens.$semantic-border-radius-sm;
|
|
padding: tokens.$semantic-spacing-component-sm;
|
|
min-height: 60px;
|
|
}
|
|
|
|
.demo-vertical-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
border: 2px dashed tokens.$semantic-color-border-subtle;
|
|
border-radius: tokens.$semantic-border-radius-sm;
|
|
padding: tokens.$semantic-spacing-component-sm;
|
|
min-height: 160px;
|
|
}
|
|
|
|
.demo-flex-container {
|
|
margin-bottom: tokens.$semantic-spacing-component-lg;
|
|
}
|
|
|
|
.demo-flex-row {
|
|
display: flex;
|
|
align-items: center;
|
|
border: 2px dashed tokens.$semantic-color-border-subtle;
|
|
border-radius: tokens.$semantic-border-radius-sm;
|
|
padding: tokens.$semantic-spacing-component-sm;
|
|
min-height: 60px;
|
|
width: 100%;
|
|
}
|
|
|
|
.demo-flex-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
border: 2px dashed tokens.$semantic-color-border-subtle;
|
|
border-radius: tokens.$semantic-border-radius-sm;
|
|
padding: tokens.$semantic-spacing-component-sm;
|
|
height: 200px;
|
|
width: 100%;
|
|
}
|
|
|
|
.demo-box {
|
|
background: tokens.$semantic-color-container-primary;
|
|
color: tokens.$semantic-color-on-container-primary;
|
|
padding: tokens.$semantic-spacing-component-sm;
|
|
border-radius: tokens.$semantic-border-radius-sm;
|
|
font-weight: 500;
|
|
min-width: 60px;
|
|
text-align: center;
|
|
}
|
|
|
|
.demo-label {
|
|
font-size: 0.875rem;
|
|
color: tokens.$semantic-color-text-secondary;
|
|
margin-bottom: tokens.$semantic-spacing-component-xs;
|
|
text-align: center;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.demo-card {
|
|
background: tokens.$semantic-color-surface-primary;
|
|
border: 1px solid tokens.$semantic-color-border-subtle;
|
|
border-radius: tokens.$semantic-border-radius-md;
|
|
padding: tokens.$semantic-spacing-component-lg;
|
|
max-width: 400px;
|
|
|
|
.demo-card-header {
|
|
font-weight: 600;
|
|
color: tokens.$semantic-color-text-primary;
|
|
font-size: 1.125rem;
|
|
}
|
|
|
|
.demo-card-content {
|
|
color: tokens.$semantic-color-text-secondary;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.demo-card-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
}
|
|
|
|
.demo-button {
|
|
background: tokens.$semantic-color-surface-secondary;
|
|
color: tokens.$semantic-color-text-primary;
|
|
border: 1px solid tokens.$semantic-color-border-subtle;
|
|
border-radius: tokens.$semantic-border-radius-sm;
|
|
padding: tokens.$semantic-spacing-component-sm tokens.$semantic-spacing-component-md;
|
|
font-size: 0.875rem;
|
|
cursor: pointer;
|
|
|
|
&--primary {
|
|
background: tokens.$semantic-color-container-primary;
|
|
color: tokens.$semantic-color-on-container-primary;
|
|
border-color: tokens.$semantic-color-container-primary;
|
|
}
|
|
|
|
&:hover {
|
|
opacity: 0.9;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.demo-row {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.demo-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.demo-spacer-container {
|
|
min-width: auto;
|
|
}
|
|
} |