This repository has been archived on 2026-06-18. You can view files and clone it, but cannot push or open issues or pull requests.
Files
ui-essentials/projects/demo-ui-essentials/src/app/demos/skeleton-loader-demo/skeleton-loader-demo.component.scss
skyai_dev 5983722793 Add comprehensive component library and demo application
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>
2025-09-03 05:38:09 +10:00

317 lines
5.3 KiB
SCSS

.demo-container {
padding: 2rem;
max-width: 1200px;
margin: 0 auto;
}
.demo-section {
margin-bottom: 3rem;
h3 {
font-size: 1.5rem;
color: #1f2937;
margin-bottom: 1rem;
border-bottom: 1px solid #d1d5db;
padding-bottom: 0.5rem;
}
}
.demo-subsection {
margin-bottom: 1.5rem;
h4 {
font-size: 1.125rem;
color: #4b5563;
margin-bottom: 0.75rem;
}
}
.demo-row {
display: flex;
gap: 1rem;
flex-wrap: wrap;
margin-bottom: 1rem;
}
.demo-column {
display: flex;
flex-direction: column;
gap: 0.75rem;
margin-bottom: 1rem;
}
.demo-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1.5rem;
margin-bottom: 1rem;
}
.demo-item {
display: flex;
flex-direction: column;
gap: 0.5rem;
padding: 1rem;
background: #f9fafb;
border-radius: 0.5rem;
border: 1px solid #e5e7eb;
label {
font-size: 0.75rem;
font-weight: 600;
color: #6b7280;
text-transform: uppercase;
letter-spacing: 0.5px;
}
}
.demo-interactive {
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 0.75rem;
padding: 1.5rem;
.demo-controls {
display: flex;
gap: 1rem;
align-items: center;
margin-bottom: 1rem;
padding-bottom: 1rem;
border-bottom: 1px solid #e5e7eb;
.toggle-button {
background: #3b82f6;
color: white;
border: none;
border-radius: 0.5rem;
padding: 0.5rem 1rem;
font-size: 0.875rem;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
&:hover {
background: #2563eb;
transform: translateY(-2px);
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
&:active {
transform: translateY(0);
}
}
label {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: 0.875rem;
color: #6b7280;
select {
background: #ffffff;
border: 1px solid #d1d5db;
border-radius: 0.25rem;
padding: 0.25rem;
font-size: 0.875rem;
color: #1f2937;
&:focus {
outline: 2px solid #3b82f6;
outline-offset: 2px;
}
}
}
}
.demo-content {
min-height: 400px;
.real-content {
h3 {
font-size: 1.5rem;
color: #1f2937;
margin-bottom: 0.5rem;
}
.meta {
font-size: 0.875rem;
color: #9ca3af;
margin-bottom: 1rem;
}
img {
width: 100%;
max-width: 400px;
height: auto;
border-radius: 0.5rem;
margin-bottom: 1rem;
}
p {
font-size: 1rem;
line-height: 1.5;
color: #1f2937;
margin-bottom: 0.75rem;
}
}
}
}
.best-practices {
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 0.5rem;
padding: 1.5rem;
ul {
list-style: none;
padding: 0;
margin: 0;
li {
font-size: 1rem;
color: #1f2937;
margin-bottom: 0.75rem;
padding-left: 1rem;
position: relative;
&::before {
content: '';
position: absolute;
left: 0;
color: #10b981;
font-weight: bold;
}
strong {
color: #1f2937;
font-weight: 600;
}
}
}
}
.code-examples {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1rem;
.code-example {
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 0.5rem;
padding: 1rem;
h4 {
font-size: 0.875rem;
color: #6b7280;
margin-bottom: 0.5rem;
text-transform: uppercase;
letter-spacing: 0.5px;
}
pre {
background: #ffffff;
border-radius: 0.25rem;
padding: 0.5rem;
margin: 0;
overflow-x: auto;
code {
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
font-size: 0.875rem;
color: #1f2937;
white-space: pre;
line-height: 1.4;
}
}
}
}
// Responsive adjustments
@media (max-width: 768px) {
.demo-container {
padding: 1rem;
}
.demo-row {
flex-direction: column;
}
.demo-grid {
grid-template-columns: 1fr;
}
.demo-interactive .demo-controls {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem;
}
.code-examples {
grid-template-columns: 1fr;
}
}
// Dark mode adjustments (if needed in the future)
@media (prefers-color-scheme: dark) {
.demo-item {
background: #374151;
border-color: #4b5563;
label {
color: #9ca3af;
}
}
.demo-interactive {
background: #374151;
border-color: #4b5563;
.demo-controls label select {
background: #4b5563;
border-color: #6b7280;
color: #f3f4f6;
}
}
.best-practices {
background: #374151;
border-color: #4b5563;
ul li {
color: #f3f4f6;
strong {
color: #f3f4f6;
}
}
}
.code-examples .code-example {
background: #374151;
border-color: #4b5563;
h4 {
color: #9ca3af;
}
pre {
background: #4b5563;
code {
color: #f3f4f6;
}
}
}
.demo-section h3 {
color: #f3f4f6;
border-color: #6b7280;
}
.demo-subsection h4 {
color: #d1d5db;
}
}