@use '../../../../../ui-design-system/src/styles/semantic' as *; .demo-container { padding: $semantic-spacing-layout-section-md; max-width: 1200px; margin: 0 auto; h2 { font-family: map-get($semantic-typography-heading-h2, font-family); font-size: map-get($semantic-typography-heading-h2, font-size); font-weight: map-get($semantic-typography-heading-h2, font-weight); line-height: map-get($semantic-typography-heading-h2, line-height); color: $semantic-color-text-primary; margin-bottom: $semantic-spacing-layout-section-sm; } } .demo-section { margin-bottom: $semantic-spacing-layout-section-md; h3 { font-family: map-get($semantic-typography-heading-h3, font-family); font-size: map-get($semantic-typography-heading-h3, font-size); font-weight: map-get($semantic-typography-heading-h3, font-weight); line-height: map-get($semantic-typography-heading-h3, line-height); color: $semantic-color-text-primary; margin-bottom: $semantic-spacing-content-heading; } h4 { font-family: map-get($semantic-typography-heading-h4, font-family); font-size: map-get($semantic-typography-heading-h4, font-size); font-weight: map-get($semantic-typography-heading-h4, font-weight); line-height: map-get($semantic-typography-heading-h4, line-height); color: $semantic-color-text-secondary; margin-bottom: $semantic-spacing-component-md; } h5 { font-family: map-get($semantic-typography-heading-h5, font-family); font-size: map-get($semantic-typography-heading-h5, font-size); font-weight: map-get($semantic-typography-heading-h5, font-weight); line-height: map-get($semantic-typography-heading-h5, line-height); color: $semantic-color-text-primary; margin-bottom: $semantic-spacing-component-sm; } h6 { font-family: map-get($semantic-typography-body-medium, font-family); font-size: map-get($semantic-typography-body-medium, font-size); font-weight: $semantic-typography-font-weight-semibold; line-height: map-get($semantic-typography-body-medium, line-height); color: $semantic-color-text-primary; margin-bottom: $semantic-spacing-component-sm; } p { font-family: map-get($semantic-typography-body-medium, font-family); font-size: map-get($semantic-typography-body-medium, font-size); font-weight: map-get($semantic-typography-body-medium, font-weight); line-height: map-get($semantic-typography-body-medium, line-height); color: $semantic-color-text-secondary; margin-bottom: $semantic-spacing-content-paragraph; } } .demo-row { display: flex; gap: $semantic-spacing-grid-gap-lg; flex-wrap: wrap; align-items: flex-start; @media (max-width: 768px) { flex-direction: column; } } .demo-column { flex: 1; min-width: 200px; } // Flex demo containers .flex-demo { background: $semantic-color-surface-elevated; border: $semantic-border-width-1 solid $semantic-color-border-primary; border-radius: $semantic-border-radius-md; padding: $semantic-spacing-component-lg; min-height: 100px; } .flex-item { background: $semantic-color-primary; color: $semantic-color-on-primary; padding: $semantic-spacing-component-md; border-radius: $semantic-border-radius-sm; text-align: center; font-weight: $semantic-typography-font-weight-semibold; font-family: map-get($semantic-typography-body-medium, font-family); font-size: map-get($semantic-typography-body-medium, font-size); line-height: map-get($semantic-typography-body-medium, line-height); &--small { padding: $semantic-spacing-component-sm; } &--medium { padding: $semantic-spacing-component-md; } &--large { padding: $semantic-spacing-component-lg; } &--fixed { min-width: 120px; background: $semantic-color-secondary; color: $semantic-color-on-secondary; } &--inline { padding: $semantic-spacing-component-xs $semantic-spacing-component-sm; font-size: map-get($semantic-typography-body-small, font-size); background: $semantic-color-info; color: $semantic-color-on-info; } } // Justify content demos .justify-example { margin-bottom: $semantic-spacing-component-lg; } .justify-demo { background: $semantic-color-surface-secondary; border: $semantic-border-width-1 solid $semantic-color-border-secondary; border-radius: $semantic-border-radius-md; padding: $semantic-spacing-component-md; min-height: 80px; } // Align items demos .align-demo { background: $semantic-color-surface-secondary; border: $semantic-border-width-1 solid $semantic-color-border-secondary; border-radius: $semantic-border-radius-md; padding: $semantic-spacing-component-md; min-height: 120px; } // Wrap demos .wrap-example { margin-bottom: $semantic-spacing-component-lg; } .wrap-demo { background: $semantic-color-surface-secondary; border: $semantic-border-width-1 solid $semantic-color-border-secondary; border-radius: $semantic-border-radius-md; padding: $semantic-spacing-component-md; max-width: 400px; } // Gap demos .gap-demo { background: $semantic-color-surface-secondary; border: $semantic-border-width-1 solid $semantic-color-border-secondary; border-radius: $semantic-border-radius-md; padding: $semantic-spacing-component-md; } // Complex examples .complex-example { margin-bottom: $semantic-spacing-layout-section-sm; } .centered-container { background: $semantic-color-surface-secondary; border: $semantic-border-width-1 solid $semantic-color-border-secondary; border-radius: $semantic-border-radius-md; min-height: 200px; .card { background: $semantic-color-surface-primary; padding: $semantic-spacing-component-xl; border-radius: $semantic-border-radius-lg; box-shadow: $semantic-shadow-elevation-2; text-align: center; max-width: 300px; h5 { margin-bottom: $semantic-spacing-component-sm; } p { margin-bottom: 0; } } } .nav-demo { background: $semantic-color-primary; color: $semantic-color-on-primary; padding: $semantic-spacing-component-lg; border-radius: $semantic-border-radius-md; .nav-brand { font-weight: $semantic-typography-font-weight-bold; font-size: map-get($semantic-typography-body-large, font-size); } .nav-item { padding: $semantic-spacing-component-sm $semantic-spacing-component-md; border-radius: $semantic-border-radius-sm; transition: background-color $semantic-motion-duration-fast $semantic-motion-easing-ease; &:hover { background: rgba(255, 255, 255, 0.1); } } } .card-grid { .grid-card { background: $semantic-color-surface-primary; border: $semantic-border-width-1 solid $semantic-color-border-primary; border-radius: $semantic-border-radius-md; padding: $semantic-spacing-component-lg; box-shadow: $semantic-shadow-elevation-1; flex: 1; min-width: 250px; max-width: 350px; h6 { margin-bottom: $semantic-spacing-component-sm; } p { margin-bottom: 0; } } } .sidebar-layout { background: $semantic-color-surface-secondary; border: $semantic-border-width-1 solid $semantic-color-border-secondary; border-radius: $semantic-border-radius-md; min-height: 200px; .sidebar { background: $semantic-color-surface-primary; padding: $semantic-spacing-component-lg; min-width: 200px; border-right: $semantic-border-width-1 solid $semantic-color-border-secondary; font-weight: $semantic-typography-font-weight-semibold; color: $semantic-color-text-primary; } .main-content { padding: $semantic-spacing-component-lg; flex: 1; h6 { margin-bottom: $semantic-spacing-component-md; } p { margin-bottom: 0; } } } // Size examples .size-example { margin-bottom: $semantic-spacing-component-xl; } .size-demo { background: $semantic-color-surface-secondary; border: $semantic-border-width-1 solid $semantic-color-border-secondary; border-radius: $semantic-border-radius-md; padding: $semantic-spacing-component-md; } .inline-flex-demo { background: $semantic-color-surface-elevated; border: $semantic-border-width-1 solid $semantic-color-border-subtle; border-radius: $semantic-border-radius-sm; padding: $semantic-spacing-component-sm; }