@use '../../../../../ui-design-system/src/styles/semantic' as *; .demo-container { padding: $semantic-spacing-component-lg; } .demo-section { margin-bottom: $semantic-spacing-layout-section-lg; 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; border-bottom: $semantic-border-width-1 solid $semantic-color-border-subtle; padding-bottom: $semantic-spacing-component-sm; } 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-primary; margin-bottom: $semantic-spacing-component-sm; } } .demo-row { display: flex; gap: $semantic-spacing-layout-section-md; flex-wrap: wrap; } .demo-column { flex: 1; min-width: 300px; .ui-tree-view { max-height: 300px; overflow-y: auto; } } .demo-controls { display: flex; gap: $semantic-spacing-component-sm; margin-bottom: $semantic-spacing-component-md; flex-wrap: wrap; } .demo-button { padding: $semantic-spacing-interactive-button-padding-y $semantic-spacing-interactive-button-padding-x; border: $semantic-border-width-1 solid $semantic-color-border-primary; border-radius: $semantic-border-button-radius; background: $semantic-color-surface-primary; color: $semantic-color-text-primary; cursor: pointer; transition: all $semantic-motion-duration-fast $semantic-motion-easing-ease; font-family: map-get($semantic-typography-button-medium, font-family); font-size: map-get($semantic-typography-button-medium, font-size); font-weight: map-get($semantic-typography-button-medium, font-weight); line-height: map-get($semantic-typography-button-medium, line-height); &:hover { background: $semantic-color-surface-secondary; box-shadow: $semantic-shadow-button-hover; } &:focus-visible { outline: 2px solid $semantic-color-focus; outline-offset: 2px; } &:active { box-shadow: $semantic-shadow-button-rest; } } .demo-info { margin-top: $semantic-spacing-component-md; padding: $semantic-spacing-component-sm; background: $semantic-color-surface-secondary; border-radius: $semantic-border-radius-sm; border-left: 4px solid $semantic-color-primary; font-family: map-get($semantic-typography-body-small, font-family); font-size: map-get($semantic-typography-body-small, font-size); font-weight: map-get($semantic-typography-body-small, font-weight); line-height: map-get($semantic-typography-body-small, line-height); color: $semantic-color-text-secondary; strong { color: $semantic-color-text-primary; font-weight: $semantic-typography-font-weight-semibold; } } // Responsive Design @media (max-width: $semantic-breakpoint-md - 1) { .demo-row { flex-direction: column; gap: $semantic-spacing-component-md; } .demo-column { min-width: unset; } .demo-controls { justify-content: center; } }