2273 lines
63 KiB
CSS
2273 lines
63 KiB
CSS
/* ========================================================= */
|
|
/* Foundations */
|
|
/* ========================================================= */
|
|
|
|
:root {
|
|
/* Colors */
|
|
--color-darkblue: #4661A9;
|
|
--color-midblue: #657FBA;
|
|
--color-darkgreen: #4D646E;
|
|
--color-darkbrown: #665F57;
|
|
--color-light-grey: #E2E5E9;
|
|
--color-medium-grey: #CDCFD4;
|
|
--color-dark-grey: #7B879D;
|
|
--color-white: #FFFFFF;
|
|
--color-process-inactive: #FFAE79;
|
|
--color-signal-green: #009101;
|
|
--color-signal-yellow: #9C7A00;
|
|
--color-signal-red: #9B3B2F;
|
|
--color-font-dark: #414959;
|
|
--color-font-light: #FFFFFF;
|
|
--color-font-hyperlink: #FF6900;
|
|
--color-background-purple: #373C4A;
|
|
--color-background-purple-light: #656C7D;
|
|
--color-transparent: transparent;
|
|
|
|
/* Semantic component tokens: Cards */
|
|
--surface-card: var(--color-light-grey);
|
|
--surface-card-body: var(--color-light-grey);
|
|
--surface-card-group: var(--color-background-purple-light);
|
|
--surface-card-transparent: var(--color-transparent);
|
|
--surface-card-header-primary: var(--color-darkblue);
|
|
--surface-card-header-alternative: var(--color-darkgreen);
|
|
--surface-card-header-muted: var(--color-darkbrown);
|
|
--divider-card-segment: var(--color-white);
|
|
--text-card-header: var(--color-font-light);
|
|
--text-card-body: var(--color-font-dark);
|
|
--text-card-transparent: var(--color-font-light);
|
|
--layout-card-body-content-justify: flex-start;
|
|
--layout-card-segment-content-gap: var(--spacing-small);
|
|
|
|
/* Semantic component tokens: Interactive elements */
|
|
--surface-form-preview: var(--color-light-grey);
|
|
--surface-control-default: var(--color-white);
|
|
--surface-control-active: var(--color-white);
|
|
--surface-control-inactive: var(--color-white);
|
|
--surface-control-disabled: var(--color-white);
|
|
--surface-button-active: var(--color-medium-grey);
|
|
--surface-button-process: var(--color-font-hyperlink);
|
|
--surface-button-process-inactive: var(--color-process-inactive);
|
|
--surface-button-inactive: var(--color-light-grey);
|
|
--surface-tab-selected: var(--color-dark-grey);
|
|
--surface-tab-unselected: var(--color-white);
|
|
--surface-tab-compact-background: var(--surface-form-preview);
|
|
--surface-tab-compact-unselected: var(--color-medium-grey);
|
|
--surface-input-clear: var(--color-medium-grey);
|
|
--surface-toggle-track: var(--color-medium-grey);
|
|
--surface-toggle-handle: var(--color-darkblue);
|
|
--surface-menu-panel-portal: var(--color-light-grey);
|
|
--surface-menu-panel-object: var(--color-light-grey);
|
|
--surface-help-icon: var(--color-medium-grey);
|
|
--surface-help-panel: var(--color-light-grey);
|
|
--surface-pulldown-panel: var(--color-light-grey);
|
|
--surface-slider-track: var(--color-medium-grey);
|
|
--surface-slider-progress: var(--color-dark-grey);
|
|
--surface-slider-thumb: var(--color-dark-grey);
|
|
--surface-checkbox-default: var(--color-light-grey);
|
|
--surface-checkbox-on-context: var(--color-white);
|
|
--surface-radio-default: var(--color-white);
|
|
--layout-pulldown-panel-padding-inline: var(--compact-interaction-padding-horizontal);
|
|
--layout-pulldown-option-padding-inline: var(--compact-interaction-padding-horizontal);
|
|
--layout-pulldown-padding-inline: var(--compact-interaction-padding-horizontal);
|
|
--layout-pulldown-chevron-offset: var(--compact-interaction-padding-horizontal);
|
|
--layout-tab-navigation-large-padding-inline: var(--interaction-padding-horizontal);
|
|
--layout-pulldown-chevron-reserved-space: var(--spacing-large);
|
|
--layout-input-label-width: var(--dimension-input-label-width);
|
|
--layout-input-field-desktop-width: var(--dimension-input-field-desktop-width);
|
|
--layout-input-field-max-width: var(--dimension-input-field-max-width);
|
|
--layout-search-field-width: var(--dimension-search-field-width);
|
|
--layout-mode-toggle-local-height: var(--compact-interaction-height);
|
|
--layout-mode-toggle-local-width-factor: 3;
|
|
--layout-mode-toggle-width: calc(var(--interaction-height) * 3.5);
|
|
--layout-help-panel-width: calc(var(--interaction-height) * 8);
|
|
--text-control-default: var(--color-font-dark);
|
|
--text-control-disabled: var(--color-dark-grey);
|
|
--text-button-process: var(--color-font-light);
|
|
--text-tab-selected: var(--color-font-light);
|
|
--text-tab-unselected: var(--color-dark-grey);
|
|
--text-menu-link-portal: var(--color-font-dark);
|
|
--text-menu-link-object: var(--color-font-dark);
|
|
--text-help-icon: var(--color-font-dark);
|
|
--text-help-panel: var(--color-font-dark);
|
|
--text-hyperlink: var(--color-font-hyperlink);
|
|
--icon-pulldown-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M2 2l4 4 4-4' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
|
|
--icon-sandwich-line-portal: var(--color-font-dark);
|
|
--icon-sandwich-line-object: var(--color-font-dark);
|
|
--icon-radio-mark: var(--color-font-dark);
|
|
|
|
/* Semantic component tokens: Charts */
|
|
--surface-score-bar-track: var(--color-light-grey);
|
|
--surface-chart-area: var(--color-light-grey);
|
|
--chart-value-positive: var(--color-signal-green);
|
|
--chart-value-neutral: var(--color-signal-yellow);
|
|
--chart-value-negative: var(--color-signal-red);
|
|
--chart-value-primary: var(--color-darkblue);
|
|
--chart-value-reference: var(--color-medium-grey);
|
|
--chart-grid-line: var(--color-medium-grey);
|
|
--chart-axis-line: var(--color-font-dark);
|
|
--chart-marker-line: var(--color-font-dark);
|
|
--chart-median-line: var(--color-font-dark);
|
|
--text-chart-default: var(--color-font-dark);
|
|
|
|
/* Semantic component tokens: Data display */
|
|
--surface-data-table: var(--color-light-grey);
|
|
--surface-data-table-header: var(--color-light-grey);
|
|
--surface-data-table-cell: var(--color-light-grey);
|
|
--surface-data-table-help-icon: var(--color-medium-grey);
|
|
|
|
--text-data-table-default: var(--color-font-dark);
|
|
--text-data-table-warning: var(--color-signal-yellow);
|
|
--text-data-table-help-icon: var(--color-font-dark);
|
|
|
|
/* Semantic component tokens: Typography */
|
|
--text-typography-preview: var(--color-font-light);
|
|
--layout-preview-align-items: flex-start;
|
|
|
|
/* Semantic pattern tokens: Portal header */
|
|
--surface-portal-header: var(--color-darkblue);
|
|
--surface-portal-header-tab: var(--color-midblue);
|
|
--surface-portal-header-tab-active: var(--color-light-grey);
|
|
--surface-portal-header-menu-panel: var(--surface-menu-panel-portal);
|
|
--surface-portal-header-menu-trigger: var(--surface-control-default);
|
|
--text-portal-header-brand: var(--color-font-light);
|
|
--font-size-portal-header-brand: calc(var(--font-size-brand) * 1.1);
|
|
--text-portal-header-tab: var(--color-font-light);
|
|
--text-portal-header-tab-active: var(--color-font-dark);
|
|
--text-portal-header-menu-link: var(--text-menu-link-portal);
|
|
--icon-portal-header-menu-line: var(--icon-sandwich-line-portal);
|
|
--surface-options-row: var(--color-light-grey);
|
|
--surface-options-row-control: var(--surface-control-default);
|
|
--surface-options-row-control-selected: var(--surface-control-active);
|
|
--surface-options-row-input-clear: var(--surface-input-clear);
|
|
--surface-options-row-toggle-track: var(--surface-toggle-track);
|
|
--surface-options-row-toggle-handle: var(--surface-toggle-handle);
|
|
--surface-options-row-slider-track: var(--surface-slider-track);
|
|
--surface-options-row-slider-progress: var(--surface-slider-progress);
|
|
--surface-options-row-slider-thumb: var(--surface-slider-thumb);
|
|
--surface-options-row-help-icon: var(--surface-help-icon);
|
|
--surface-options-row-help-panel: var(--surface-help-panel);
|
|
--divider-options-row-mobile: var(--color-white);
|
|
--text-options-row-default: var(--text-control-default);
|
|
--text-options-row-placeholder: var(--text-control-disabled);
|
|
--text-options-row-help-icon: var(--color-font-light);
|
|
--text-options-row-help-panel: var(--text-help-panel);
|
|
--text-options-row-description: var(--color-font-light);
|
|
--layout-options-row-margin-top: var(--spacing-small);
|
|
--layout-options-row-main-gap: var(--spacing-large);
|
|
--layout-options-row-group-gap: var(--spacing-small);
|
|
--layout-options-row-mode-toggle-width: 7rem;
|
|
--layout-options-row-help-panel-width: 16rem;
|
|
--layout-object-card-min-width: var(--dimension-object-card-min-width);
|
|
--layout-object-card-max-width: var(--dimension-object-card-max-width);
|
|
--layout-object-card-height: var(--dimension-object-card-height);
|
|
--layout-object-card-content-grow: var(--dimension-object-card-content-grow);
|
|
--layout-object-card-mobile-width: var(--dimension-object-card-mobile-width);
|
|
--layout-object-card-mobile-height: var(--dimension-object-card-mobile-height);
|
|
--layout-object-card-desktop-breakpoint: var(--dimension-object-card-desktop-breakpoint);
|
|
--layout-object-card-actions-margin-top: var(--spacing-small);
|
|
--surface-object-card-lower-segment: var(--color-white);
|
|
--surface-navigation-card: var(--color-white);
|
|
--surface-navigation-card-body: var(--color-white);
|
|
--surface-content-block-card-title: var(--color-light-grey);
|
|
--surface-content-block-card-content: var(--color-white);
|
|
--surface-card-list-drawer: var(--color-light-grey);
|
|
--text-content-block-card-title: var(--color-font-dark);
|
|
--text-content-block-card-content: var(--color-font-dark);
|
|
--text-card-list-drawer: var(--color-font-dark);
|
|
--layout-card-list-drawer-width: 40%;
|
|
|
|
/* Typography */
|
|
--font-family-base: "Open Sans", sans-serif;
|
|
--font-size-base: 1rem;
|
|
--font-size-small: 0.8rem;
|
|
--font-size-brand: 1.6rem;
|
|
--font-size-h1: 1.5rem;
|
|
--font-size-h2: 1.25rem;
|
|
--font-weight-regular: 400;
|
|
--font-weight-semibold: 600;
|
|
--line-height-base: 1.5;
|
|
|
|
/* Spacing */
|
|
--spacing-small: 0.3rem;
|
|
--spacing-large: 1rem;
|
|
--card-segment-padding-vertical: 0.75rem;
|
|
--card-segment-padding-horizontal: 1rem;
|
|
--card-segment-padding-horizontal-mobile: 0.5rem;
|
|
--interaction-padding-vertical: 0.25rem;
|
|
--interaction-padding-horizontal: 1rem;
|
|
|
|
/* Dimensions */
|
|
--interaction-height: 2rem;
|
|
--compact-interaction-height: 1.5rem;
|
|
--compact-interaction-padding-vertical: 0.15rem;
|
|
--compact-interaction-padding-horizontal: 0.75rem;
|
|
--small-interaction-element-size: 1.25rem;
|
|
--disabled-opacity: 0.7;
|
|
--sandwich-line-width: 1.25rem;
|
|
--sandwich-line-height: 4px;
|
|
--sandwich-line-gap: 3px;
|
|
--score-bar-height: 1rem;
|
|
--score-marker-width: 6px;
|
|
--score-marker-height: calc(var(--score-bar-height) + 2px);
|
|
--chart-height-bar: 24rem;
|
|
--chart-height-line: 18rem;
|
|
--chart-axis-label-column-width: 4rem;
|
|
--chart-axis-label-gap: 5px;
|
|
--chart-bar-width: 2rem;
|
|
--chart-grid-line-width: 1px;
|
|
--chart-line-width: 2px;
|
|
--chart-label-position-default: 50%;
|
|
--dimension-object-card-min-width: 395px;
|
|
--dimension-object-card-max-width: 550px;
|
|
--dimension-object-card-height: 600px;
|
|
--dimension-object-card-content-grow: 1;
|
|
--dimension-object-card-mobile-width: 100%;
|
|
--dimension-object-card-mobile-height: auto;
|
|
--dimension-object-card-desktop-breakpoint: 768px;
|
|
--dimension-input-label-width: 9rem;
|
|
--dimension-input-field-desktop-width: 400px;
|
|
--dimension-input-field-max-width: 600px;
|
|
--dimension-search-field-width: 15.3rem;
|
|
--dimension-slider-track-height: 6px;
|
|
--dimension-slider-thumb-size: 22px;
|
|
--dimension-slider-thumb-offset-top: -8px;
|
|
--radius-slider-track: 999px;
|
|
|
|
/* Radius */
|
|
--radius-card: 8px;
|
|
--radius-graph-bar: 2px;
|
|
--radius-interaction: 4px;
|
|
|
|
/* Shadows */
|
|
--shadow-none: none;
|
|
--shadow-overlay: 0 10px 24px rgba(0, 0, 0, 0.22);
|
|
--shadow-interaction-inset: none;
|
|
|
|
/* Borders */
|
|
--border-none: none;
|
|
--border-control: none;
|
|
|
|
/* Runtime defaults */
|
|
--layout-object-card-shared-width: auto;
|
|
--sg-slider-progress: 0%;
|
|
--chart-label-position: var(--chart-label-position-default);
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Base */
|
|
/* ========================================================= */
|
|
|
|
body {
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-base);
|
|
font-weight: var(--font-weight-regular);
|
|
line-height: var(--line-height-base);
|
|
color: var(--color-font-dark);
|
|
background: var(--color-background-purple);
|
|
margin: 0;
|
|
padding: var(--spacing-small);
|
|
}
|
|
|
|
@media (max-width: 48rem) {
|
|
:root {
|
|
--layout-tab-navigation-large-padding-inline: 0.8rem;
|
|
}
|
|
|
|
body {
|
|
padding: var(--spacing-small);
|
|
}
|
|
}
|
|
|
|
section {
|
|
margin-bottom: var(--spacing-large);
|
|
}
|
|
|
|
section + section {
|
|
margin-top: var(--spacing-large);
|
|
}
|
|
|
|
.sg-main-heading {
|
|
margin: 0 0 var(--spacing-large) 0;
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-brand);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: var(--line-height-base);
|
|
color: var(--color-font-light);
|
|
}
|
|
|
|
.sg-sub-heading {
|
|
margin: 0 0 var(--spacing-large) 0;
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-base);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.sg-text-on-dark {
|
|
color: var(--color-font-light);
|
|
}
|
|
|
|
.sg-brand-title {
|
|
margin: 0 0 var(--spacing-large) 0;
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-brand);
|
|
font-weight: var(--font-weight-regular);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.sg-heading-h1 {
|
|
margin: 0 0 calc(var(--spacing-large) - 0.5rem) 0;
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-h1);
|
|
font-weight: var(--font-weight-regular);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.sg-heading-h2 {
|
|
margin: 0 0 var(--spacing-large) 0;
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-h2);
|
|
font-weight: var(--font-weight-regular);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.sg-preview-label {
|
|
margin: 0 0 var(--spacing-small) 0;
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-small);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: var(--line-height-base);
|
|
color: var(--color-font-light);
|
|
}
|
|
|
|
.sg-preview-area {
|
|
display: inline-flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-small);
|
|
align-items: var(--layout-preview-align-items);
|
|
padding: 0;
|
|
border-radius: 0;
|
|
background: transparent;
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Typography helpers */
|
|
/* ========================================================= */
|
|
|
|
.sg-body,
|
|
.sg-strong,
|
|
.sg-section-title,
|
|
.sg-bar-label,
|
|
.sg-table-label,
|
|
.sg-table-value {
|
|
font-family: var(--font-family-base);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.sg-body,
|
|
.sg-section-title {
|
|
font-size: var(--font-size-base);
|
|
font-weight: var(--font-weight-regular);
|
|
}
|
|
|
|
.sg-strong,
|
|
.sg-bar-label {
|
|
font-size: var(--font-size-base);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.sg-table-label {
|
|
font-size: var(--font-size-small);
|
|
font-weight: var(--font-weight-regular);
|
|
}
|
|
|
|
.sg-table-value {
|
|
font-size: var(--font-size-small);
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.sg-index a {
|
|
color: var(--color-font-hyperlink);
|
|
}
|
|
|
|
.sg-index .sg-sub-heading {
|
|
color: var(--color-font-light);
|
|
}
|
|
|
|
.sg-foundation-table {
|
|
width: 100%;
|
|
margin-bottom: var(--spacing-large);
|
|
color: var(--color-font-light);
|
|
border: 1px solid var(--color-white);
|
|
}
|
|
|
|
.sg-foundation-table th,
|
|
.sg-foundation-table td {
|
|
color: var(--color-font-light);
|
|
border: 1px solid var(--color-white);
|
|
vertical-align: top;
|
|
}
|
|
|
|
.sg-section-h2,
|
|
.sg-section-h3 {
|
|
margin: 0 0 var(--spacing-small) 0;
|
|
color: var(--color-font-light);
|
|
}
|
|
/* ========================================================= */
|
|
/* Components: Interactive Elements */
|
|
/* ========================================================= */
|
|
|
|
|
|
|
|
.sg-component-row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-small);
|
|
align-items: center;
|
|
}
|
|
|
|
.sg-component-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
width: fit-content;
|
|
}
|
|
|
|
/*
|
|
Form preview surface only:
|
|
All form elements in this component are intentionally shown on the form-area background.
|
|
This wrapper provides only that evaluation background and must not be implemented as part of the form control itself.
|
|
The current preview background uses light-grey according to the style foundations.
|
|
*/
|
|
.sg-form-preview-area {
|
|
display: inline-flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
width: fit-content;
|
|
padding: var(--spacing-large);
|
|
border-radius: var(--radius-card);
|
|
background: var(--surface-form-preview);
|
|
}
|
|
|
|
.sg-pulldown-demo {
|
|
position: relative;
|
|
display: inline-flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
width: fit-content;
|
|
}
|
|
|
|
|
|
.sg-state-example {
|
|
display: grid;
|
|
grid-template-columns: calc(var(--interaction-height) * 6) auto;
|
|
gap: var(--spacing-small);
|
|
align-items: center;
|
|
}
|
|
|
|
.sg-state-example__label {
|
|
margin: 0;
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-interaction-element {
|
|
box-sizing: border-box;
|
|
height: var(--interaction-height);
|
|
padding:
|
|
var(--interaction-padding-vertical)
|
|
var(--interaction-padding-horizontal);
|
|
border: var(--border-none);
|
|
border-radius: var(--radius-interaction);
|
|
box-shadow: var(--shadow-none);
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-base);
|
|
line-height: var(--line-height-base);
|
|
color: var(--text-control-default);
|
|
background: var(--surface-control-default);
|
|
}
|
|
|
|
.sg-form-active {
|
|
background: var(--surface-control-active);
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-form-inactive-selectable {
|
|
background: var(--surface-control-inactive);
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-form-disabled {
|
|
background: var(--surface-control-disabled);
|
|
color: var(--text-control-disabled);
|
|
opacity: var(--disabled-opacity);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.sg-interaction-element:focus,
|
|
.sg-interaction-element:focus-visible {
|
|
outline: none;
|
|
}
|
|
|
|
.sg-button {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-weight: var(--font-weight-semibold);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sg-button--active {
|
|
background: var(--surface-button-active);
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-button--process {
|
|
background: var(--surface-button-process);
|
|
color: var(--text-button-process);
|
|
}
|
|
|
|
.sg-button--process-inactive {
|
|
background: var(--surface-button-process-inactive);
|
|
color: var(--text-button-process);
|
|
}
|
|
|
|
.sg-button--inactive {
|
|
background: var(--surface-button-inactive);
|
|
color: var(--text-control-disabled);
|
|
}
|
|
|
|
.sg-button:disabled,
|
|
.sg-button--disabled {
|
|
cursor: not-allowed;
|
|
color: var(--text-control-disabled);
|
|
}
|
|
|
|
.sg-button--process-inactive:disabled {
|
|
color: var(--text-button-process);
|
|
}
|
|
|
|
.sg-tab-button-group {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-small);
|
|
align-items: center;
|
|
}
|
|
|
|
.sg-tab-button-group[data-component-size="compact"] {
|
|
background: var(--surface-tab-compact-background);
|
|
}
|
|
|
|
.sg-tab-button-group[data-component="tab-navigation"][data-component-size="large"] .sg-tab-button {
|
|
padding-inline: var(--layout-tab-navigation-large-padding-inline);
|
|
}
|
|
|
|
.sg-tab-button[aria-selected="true"] {
|
|
background: var(--surface-tab-selected);
|
|
color: var(--text-tab-selected);
|
|
}
|
|
|
|
.sg-tab-button[aria-selected="false"] {
|
|
background: var(--surface-tab-unselected);
|
|
color: var(--text-tab-unselected);
|
|
}
|
|
|
|
.sg-tab-button-group[data-component-size="compact"] .sg-tab-button[aria-selected="false"] {
|
|
background: var(--surface-tab-compact-unselected);
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-tab-button--compact {
|
|
height: var(--compact-interaction-height);
|
|
padding:
|
|
var(--compact-interaction-padding-vertical)
|
|
var(--compact-interaction-padding-horizontal);
|
|
font-size: var(--font-size-small);
|
|
}
|
|
|
|
.sg-pulldown {
|
|
font-weight: var(--font-weight-regular);
|
|
appearance: none;
|
|
padding-left: var(--layout-pulldown-padding-inline);
|
|
padding-right: calc(
|
|
var(--layout-pulldown-chevron-offset)
|
|
+ var(--layout-pulldown-chevron-reserved-space)
|
|
);
|
|
background-image: var(--icon-pulldown-chevron);
|
|
background-position: right var(--layout-pulldown-chevron-offset) center;
|
|
background-size: calc(var(--interaction-height) * 0.375) calc(var(--interaction-height) * 0.25);
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.sg-pulldown-demo__trigger {
|
|
text-align: left;
|
|
}
|
|
|
|
.sg-pulldown--selected {
|
|
background-color: var(--surface-control-active);
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-pulldown--inactive-selectable {
|
|
background-color: var(--surface-control-inactive);
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-pulldown--disabled {
|
|
background-color: var(--surface-control-disabled);
|
|
color: var(--text-control-disabled);
|
|
opacity: var(--disabled-opacity);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.sg-input-single-line {
|
|
font-weight: var(--font-weight-regular);
|
|
color: var(--text-control-default);
|
|
appearance: none;
|
|
}
|
|
|
|
.sg-input-single-line::placeholder {
|
|
color: var(--text-control-disabled);
|
|
opacity: 1;
|
|
}
|
|
|
|
.sg-input-single-line--inactive-selectable {
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-input-single-line--disabled {
|
|
color: var(--text-control-disabled);
|
|
opacity: var(--disabled-opacity);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.sg-input-single-line-wrap {
|
|
position: relative;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.sg-input-single-line-wrap .sg-input-single-line {
|
|
padding-right: calc(var(--interaction-padding-horizontal) + var(--interaction-height));
|
|
}
|
|
|
|
.sg-input-clear-button {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
display: none;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--interaction-height);
|
|
height: var(--interaction-height);
|
|
padding: 0;
|
|
border: var(--border-none);
|
|
border-radius: 0 var(--radius-interaction) var(--radius-interaction) 0;
|
|
box-shadow: var(--shadow-none);
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-base);
|
|
line-height: 1;
|
|
color: var(--text-control-default);
|
|
background: var(--surface-input-clear);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sg-input-single-line-wrap[data-has-value="true"] .sg-input-clear-button {
|
|
display: inline-flex;
|
|
}
|
|
|
|
.sg-search-field-row {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--spacing-small);
|
|
white-space: nowrap;
|
|
flex-wrap: nowrap;
|
|
}
|
|
|
|
.sg-search-field-input {
|
|
width: var(--layout-search-field-width);
|
|
}
|
|
|
|
.sg-search-result-count {
|
|
color: var(--color-dark-grey);
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-base);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.sg-labeled-input-row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--spacing-small);
|
|
width: auto;
|
|
max-width: none;
|
|
}
|
|
|
|
.sg-labeled-input-row .sg-label {
|
|
min-width: var(--layout-input-label-width);
|
|
flex: 0 0 var(--layout-input-label-width);
|
|
}
|
|
|
|
.sg-labeled-input-row .sg-input-single-line,
|
|
.sg-labeled-input-row .sg-input-multi-line {
|
|
width: 100%;
|
|
min-width: 0;
|
|
max-width: var(--layout-input-field-max-width);
|
|
}
|
|
|
|
.sg-labeled-input-row:has(.sg-input-multi-line) {
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.sg-input-multi-line {
|
|
box-sizing: border-box;
|
|
min-height: calc(var(--interaction-height) * 2.75);
|
|
padding: var(--interaction-padding-vertical) var(--interaction-padding-horizontal);
|
|
border: var(--border-control);
|
|
border-radius: var(--radius-interaction);
|
|
box-shadow: var(--shadow-interaction-inset);
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-base);
|
|
line-height: var(--line-height-base);
|
|
color: var(--text-control-default);
|
|
background: var(--surface-control-inactive);
|
|
resize: vertical;
|
|
}
|
|
|
|
.sg-input-component .sg-form-preview-area {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.sg-input-component .sg-state-example {
|
|
grid-template-columns: calc(var(--interaction-height) * 6) minmax(0, 1fr);
|
|
}
|
|
|
|
@media (max-width: 48rem) {
|
|
.sg-input-component .sg-form-preview-area {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.sg-input-component .sg-state-example {
|
|
grid-template-columns: 1fr;
|
|
align-items: start;
|
|
width: 100%;
|
|
}
|
|
|
|
.sg-input-component .sg-state-example > :last-child {
|
|
width: 100%;
|
|
min-width: 0;
|
|
}
|
|
|
|
.sg-labeled-input-row {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
width: 100%;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.sg-labeled-input-row .sg-label {
|
|
min-width: 0;
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.sg-labeled-input-row .sg-input-single-line,
|
|
.sg-labeled-input-row .sg-input-multi-line {
|
|
min-width: 0;
|
|
max-width: 100%;
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
.sg-mode-toggle {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--spacing-small);
|
|
height: auto;
|
|
padding: 0;
|
|
border: var(--border-none);
|
|
border-radius: 0;
|
|
box-shadow: var(--shadow-none);
|
|
appearance: none;
|
|
-webkit-tap-highlight-color: transparent;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sg-mode-toggle:focus,
|
|
.sg-mode-toggle:focus-visible {
|
|
outline: none;
|
|
}
|
|
|
|
.sg-mode-toggle__label {
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-base);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: var(--line-height-base);
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-mode-toggle__switch {
|
|
position: relative;
|
|
width: var(--layout-mode-toggle-width);
|
|
height: var(--interaction-height);
|
|
border-radius: var(--radius-interaction);
|
|
background: var(--surface-toggle-track);
|
|
}
|
|
|
|
.sg-mode-toggle__handle {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
width: calc(100% / 2);
|
|
height: 100%;
|
|
border-radius: var(--radius-interaction);
|
|
background: var(--surface-toggle-handle);
|
|
}
|
|
|
|
.sg-mode-toggle[data-active="absolute"] .sg-mode-toggle__handle {
|
|
left: 0;
|
|
right: auto;
|
|
}
|
|
|
|
.sg-mode-toggle[data-active="relative"] .sg-mode-toggle__handle {
|
|
left: auto;
|
|
right: 0;
|
|
}
|
|
|
|
.sg-mode-toggle--local .sg-mode-toggle__label {
|
|
font-weight: var(--font-weight-regular);
|
|
}
|
|
|
|
.sg-mode-toggle--local .sg-mode-toggle__switch {
|
|
width: calc(var(--layout-mode-toggle-local-height) * var(--layout-mode-toggle-local-width-factor));
|
|
height: var(--layout-mode-toggle-local-height);
|
|
}
|
|
|
|
.sg-slider-row {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--spacing-small);
|
|
}
|
|
|
|
.sg-slider-row .sg-label {
|
|
min-width: var(--layout-input-label-width);
|
|
flex: 0 0 var(--layout-input-label-width);
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-slider {
|
|
width: var(--layout-input-field-desktop-width);
|
|
min-width: var(--layout-input-field-desktop-width);
|
|
max-width: var(--layout-input-field-desktop-width);
|
|
height: var(--interaction-height);
|
|
margin: 0;
|
|
padding: 0;
|
|
border: 0;
|
|
appearance: none;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sg-slider::-webkit-slider-runnable-track {
|
|
height: var(--dimension-slider-track-height);
|
|
border-radius: var(--radius-slider-track);
|
|
background:
|
|
linear-gradient(
|
|
to right,
|
|
var(--surface-slider-progress) 0%,
|
|
var(--surface-slider-progress) var(--sg-slider-progress, 0%),
|
|
var(--surface-slider-track) var(--sg-slider-progress, 0%),
|
|
var(--surface-slider-track) 100%
|
|
);
|
|
}
|
|
|
|
.sg-slider::-webkit-slider-thumb {
|
|
width: var(--dimension-slider-thumb-size);
|
|
height: var(--dimension-slider-thumb-size);
|
|
margin-top: var(--dimension-slider-thumb-offset-top);
|
|
border: 0;
|
|
border-radius: 50%;
|
|
appearance: none;
|
|
background: var(--surface-slider-thumb);
|
|
}
|
|
|
|
.sg-slider::-moz-range-track {
|
|
height: var(--dimension-slider-track-height);
|
|
border: 0;
|
|
border-radius: var(--radius-slider-track);
|
|
background: var(--surface-slider-track);
|
|
}
|
|
|
|
.sg-slider::-moz-range-progress {
|
|
height: var(--dimension-slider-track-height);
|
|
border-radius: var(--radius-slider-track);
|
|
background: var(--surface-slider-progress);
|
|
}
|
|
|
|
.sg-slider::-moz-range-thumb {
|
|
width: var(--dimension-slider-thumb-size);
|
|
height: var(--dimension-slider-thumb-size);
|
|
border: 0;
|
|
border-radius: 50%;
|
|
background: var(--surface-slider-thumb);
|
|
}
|
|
|
|
.sg-slider-value {
|
|
min-width: calc(var(--interaction-height) * 1.25);
|
|
text-align: right;
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
@media (max-width: 48rem) {
|
|
.sg-slider-row {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
width: 100%;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.sg-slider-row .sg-label {
|
|
min-width: 0;
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.sg-slider {
|
|
min-width: 0;
|
|
max-width: 100%;
|
|
width: 100%;
|
|
}
|
|
|
|
.sg-slider-value {
|
|
align-self: flex-end;
|
|
}
|
|
}
|
|
|
|
.sg-sandwich-button {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: calc(var(--interaction-height) + var(--spacing-small));
|
|
height: calc(var(--interaction-height) + var(--spacing-small));
|
|
padding: 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sg-sandwich-button--small {
|
|
width: calc(var(--interaction-height) * 0.9);
|
|
height: calc(var(--interaction-height) * 0.9);
|
|
}
|
|
|
|
.sg-sandwich-button__icon {
|
|
width: var(--sandwich-line-width);
|
|
height: auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--sandwich-line-gap);
|
|
justify-content: center;
|
|
}
|
|
|
|
.sg-sandwich-button__line {
|
|
display: block;
|
|
width: 100%;
|
|
height: var(--sandwich-line-height);
|
|
border-radius: var(--radius-interaction);
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap[data-component-size="default"] .sg-sandwich-button__line {
|
|
background: var(--icon-sandwich-line-portal);
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap[data-component-size="small"] .sg-sandwich-button__line {
|
|
height: calc(var(--sandwich-line-height) - 1px);
|
|
background: var(--icon-sandwich-line-object);
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap[data-component-size="small"] .sg-sandwich-button__icon {
|
|
width: calc(var(--sandwich-line-width) - 3px);
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap {
|
|
position: relative;
|
|
display: inline-flex;
|
|
}
|
|
|
|
.sg-sandwich-menu-panel {
|
|
position: absolute;
|
|
top: calc(100% + var(--spacing-small));
|
|
right: 0;
|
|
display: none;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
width: max-content;
|
|
padding: var(--spacing-large);
|
|
border: var(--border-none);
|
|
border-radius: var(--radius-card);
|
|
box-shadow: var(--shadow-overlay);
|
|
z-index: 1;
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap[data-component-size="default"] .sg-sandwich-menu-panel {
|
|
background: var(--surface-menu-panel-portal);
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap[data-component-size="small"] .sg-sandwich-menu-panel {
|
|
background: var(--surface-menu-panel-object);
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap[data-open="true"] .sg-sandwich-menu-panel {
|
|
display: flex;
|
|
}
|
|
|
|
.sg-sandwich-menu-link {
|
|
text-decoration: none;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap[data-component-size="default"] .sg-sandwich-menu-link {
|
|
color: var(--text-menu-link-portal);
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap[data-component-size="small"] .sg-sandwich-menu-link {
|
|
color: var(--text-menu-link-object);
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap[data-align="left"] .sg-sandwich-menu-panel {
|
|
right: auto;
|
|
left: 0;
|
|
}
|
|
|
|
.sg-sandwich-menu-wrap[data-align="right"] .sg-sandwich-menu-panel {
|
|
right: 0;
|
|
left: auto;
|
|
}
|
|
|
|
.sg-help-icon-wrap {
|
|
position: relative;
|
|
display: inline-flex;
|
|
}
|
|
|
|
.sg-help-icon {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--small-interaction-element-size);
|
|
height: var(--small-interaction-element-size);
|
|
padding: 0;
|
|
border: var(--border-none);
|
|
border-radius: 50%;
|
|
box-shadow: var(--shadow-none);
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-small);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: 1;
|
|
color: var(--text-help-icon);
|
|
background: var(--surface-help-icon);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sg-help-icon-panel {
|
|
position: absolute;
|
|
top: calc(100% + var(--spacing-small));
|
|
left: 0;
|
|
z-index: 2;
|
|
display: none;
|
|
width: var(--layout-help-panel-width);
|
|
padding: var(--spacing-large);
|
|
border-radius: var(--radius-card);
|
|
color: var(--text-help-panel);
|
|
background: var(--surface-help-panel);
|
|
box-shadow: var(--shadow-overlay);
|
|
}
|
|
|
|
.sg-help-icon-wrap[data-open="true"] .sg-help-icon-panel {
|
|
display: block;
|
|
}
|
|
|
|
.sg-help-icon-wrap[data-align="left"] .sg-help-icon-panel {
|
|
left: 0;
|
|
right: auto;
|
|
}
|
|
|
|
.sg-help-icon-wrap[data-align="right"] .sg-help-icon-panel {
|
|
left: auto;
|
|
right: 0;
|
|
}
|
|
|
|
.sg-pulldown-panel {
|
|
position: absolute;
|
|
top: calc(100% + var(--spacing-small));
|
|
left: 0;
|
|
z-index: 2;
|
|
display: none;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
min-width: 100%;
|
|
width: max-content;
|
|
max-width: calc(100vw - (2 * var(--spacing-large)));
|
|
padding-block: var(--spacing-large);
|
|
padding-inline: var(--layout-pulldown-panel-padding-inline);
|
|
border-radius: var(--radius-card);
|
|
background: var(--surface-pulldown-panel);
|
|
box-shadow: var(--shadow-overlay);
|
|
}
|
|
|
|
.sg-pulldown-demo[data-open="true"] .sg-pulldown-panel {
|
|
display: inline-flex;
|
|
}
|
|
|
|
.sg-pulldown-demo[data-align="left"] .sg-pulldown-panel {
|
|
left: 0;
|
|
right: auto;
|
|
}
|
|
|
|
.sg-pulldown-demo[data-align="right"] .sg-pulldown-panel {
|
|
left: auto;
|
|
right: 0;
|
|
}
|
|
|
|
.sg-pulldown-panel__row {
|
|
display: grid;
|
|
grid-template-columns: calc(var(--interaction-height) * 5) calc(var(--interaction-height) * 7) var(--interaction-height);
|
|
gap: var(--spacing-small);
|
|
align-items: center;
|
|
}
|
|
|
|
.sg-pulldown-panel__label {
|
|
margin: 0;
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-pulldown-panel__remove {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--interaction-height);
|
|
height: var(--interaction-height);
|
|
padding: 0;
|
|
border: var(--border-none);
|
|
border-radius: var(--radius-interaction);
|
|
background: var(--surface-control-default);
|
|
color: var(--text-control-default);
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-base);
|
|
line-height: 1;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sg-pulldown-panel__remove[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.sg-pulldown-panel__row--disabled {
|
|
color: var(--text-control-disabled);
|
|
opacity: var(--disabled-opacity);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.sg-pulldown-panel__row--disabled .sg-pulldown,
|
|
.sg-pulldown-panel__row--disabled .sg-pulldown-panel__label {
|
|
color: var(--text-control-disabled);
|
|
}
|
|
|
|
.sg-pulldown-panel__checkbox-list {
|
|
margin-top: var(--spacing-large);
|
|
}
|
|
|
|
.sg-pulldown-option-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
.sg-pulldown-option {
|
|
display: flex;
|
|
gap: var(--spacing-small);
|
|
align-items: center;
|
|
padding-block: var(--interaction-padding-vertical);
|
|
padding-inline: var(--layout-pulldown-option-padding-inline);
|
|
border-radius: var(--radius-interaction);
|
|
white-space: nowrap;
|
|
color: var(--text-control-default);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sg-pulldown-option--selected {
|
|
background: var(--surface-control-active);
|
|
}
|
|
|
|
.sg-pulldown-option--disabled {
|
|
color: var(--text-control-disabled);
|
|
}
|
|
|
|
.sg-pulldown-option__checkbox {
|
|
width: var(--font-size-base);
|
|
height: var(--font-size-base);
|
|
margin: 0;
|
|
}
|
|
|
|
.sg-checkbox-field {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--small-interaction-element-size);
|
|
height: var(--small-interaction-element-size);
|
|
padding: 0;
|
|
border: var(--border-none);
|
|
border-radius: var(--radius-interaction);
|
|
box-shadow: var(--shadow-none);
|
|
color: var(--text-control-default);
|
|
background: var(--surface-checkbox-default);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sg-checkbox-field--on-grey,
|
|
.sg-checkbox-field--on-color {
|
|
background: var(--surface-checkbox-on-context);
|
|
}
|
|
|
|
.sg-checkbox-field__mark {
|
|
display: none;
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-base);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: 1;
|
|
}
|
|
|
|
.sg-checkbox-field[aria-checked="true"] .sg-checkbox-field__mark {
|
|
display: inline;
|
|
}
|
|
|
|
.sg-checkbox-field.sg-form-active {
|
|
background: var(--surface-control-active);
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-checkbox-field--inactive-selectable {
|
|
color: var(--text-control-default);
|
|
background: var(--surface-control-inactive);
|
|
}
|
|
|
|
.sg-checkbox-field--disabled {
|
|
color: var(--text-control-disabled);
|
|
background: var(--surface-control-disabled);
|
|
opacity: var(--disabled-opacity);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.sg-checkbox-field-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
}
|
|
|
|
.sg-checkbox-field-option {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--spacing-small);
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-checkbox-field-option--inactive-selectable {
|
|
color: var(--text-control-default);
|
|
}
|
|
|
|
.sg-checkbox-field-option--disabled {
|
|
color: var(--text-control-disabled);
|
|
opacity: var(--disabled-opacity);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.sg-radio-field {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--small-interaction-element-size);
|
|
height: var(--small-interaction-element-size);
|
|
padding: 0;
|
|
border: var(--border-none);
|
|
border-radius: 50%;
|
|
box-shadow: var(--shadow-none);
|
|
color: var(--text-control-default);
|
|
background: var(--surface-radio-default);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sg-radio-field__mark {
|
|
display: none;
|
|
width: calc(var(--small-interaction-element-size) * 0.44);
|
|
height: calc(var(--small-interaction-element-size) * 0.44);
|
|
border-radius: 50%;
|
|
background: var(--icon-radio-mark);
|
|
}
|
|
|
|
.sg-radio-field[aria-checked="true"] .sg-radio-field__mark {
|
|
display: block;
|
|
}
|
|
|
|
.sg-radio-field--inactive-selectable {
|
|
color: var(--text-control-default);
|
|
background: var(--surface-radio-default);
|
|
}
|
|
|
|
.sg-radio-field--disabled {
|
|
color: var(--text-control-disabled);
|
|
background: var(--surface-control-disabled);
|
|
opacity: var(--disabled-opacity);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.sg-hyperlink {
|
|
color: var(--text-hyperlink);
|
|
text-decoration: none;
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Patterns: Portal Header */
|
|
/* ========================================================= */
|
|
|
|
.sg-portal-header {
|
|
--surface-tab-selected: var(--surface-portal-header-tab-active);
|
|
--surface-tab-unselected: var(--surface-portal-header-tab);
|
|
--text-tab-selected: var(--text-portal-header-tab-active);
|
|
--text-tab-unselected: var(--text-portal-header-tab);
|
|
--surface-control-default: var(--surface-portal-header-menu-trigger);
|
|
--surface-menu-panel-portal: var(--surface-portal-header-menu-panel);
|
|
--text-menu-link-portal: var(--text-portal-header-menu-link);
|
|
--icon-sandwich-line-portal: var(--icon-portal-header-menu-line);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--spacing-large);
|
|
padding:
|
|
var(--card-segment-padding-vertical)
|
|
var(--card-segment-padding-horizontal);
|
|
border: var(--border-none);
|
|
border-radius: var(--radius-card);
|
|
box-shadow: var(--shadow-none);
|
|
background: var(--surface-portal-header);
|
|
}
|
|
|
|
.sg-portal-header__main {
|
|
display: grid;
|
|
flex: 1 1 auto;
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
grid-template-areas:
|
|
"brand menu"
|
|
"tabs tabs";
|
|
gap: var(--spacing-large);
|
|
min-width: 0;
|
|
}
|
|
|
|
.sg-portal-header__brand {
|
|
grid-area: brand;
|
|
margin: 0;
|
|
padding-left: 0;
|
|
font-size: var(--font-size-portal-header-brand);
|
|
color: var(--text-portal-header-brand);
|
|
}
|
|
|
|
.sg-portal-header__tabs {
|
|
grid-area: tabs;
|
|
width: 100%;
|
|
}
|
|
|
|
.sg-portal-header__menu-wrap {
|
|
grid-area: menu;
|
|
justify-self: end;
|
|
}
|
|
|
|
.sg-portal-header-pattern-variant {
|
|
margin-bottom: var(--spacing-large);
|
|
}
|
|
|
|
.sg-portal-header-pattern-variant__label {
|
|
margin: 0 0 var(--spacing-small) 0;
|
|
}
|
|
|
|
.sg-portal-header-pattern-variant__next-element {
|
|
margin-top: var(--spacing-large);
|
|
}
|
|
|
|
@media (max-width: calc(var(--layout-object-card-desktop-breakpoint) - 1px)) {
|
|
.sg-portal-header__main {
|
|
gap: var(--spacing-small) var(--spacing-large);
|
|
}
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Patterns: Options Row */
|
|
/* ========================================================= */
|
|
|
|
.sg-options-row {
|
|
--surface-control-default: var(--surface-options-row-control);
|
|
--surface-control-active: var(--surface-options-row-control-selected);
|
|
--surface-input-clear: var(--surface-options-row-input-clear);
|
|
--surface-toggle-track: var(--surface-options-row-toggle-track);
|
|
--surface-toggle-handle: var(--surface-options-row-toggle-handle);
|
|
--surface-help-icon: var(--surface-options-row-help-icon);
|
|
--surface-help-panel: var(--surface-options-row-help-panel);
|
|
--text-control-default: var(--text-options-row-default);
|
|
--text-control-disabled: var(--text-options-row-placeholder);
|
|
--text-help-icon: var(--text-options-row-help-icon);
|
|
--text-help-panel: var(--text-options-row-help-panel);
|
|
--layout-mode-toggle-width: var(--layout-options-row-mode-toggle-width);
|
|
--layout-help-panel-width: var(--layout-options-row-help-panel-width);
|
|
margin-top: var(--layout-options-row-margin-top);
|
|
display: flex;
|
|
justify-content: space-between;
|
|
gap: var(--layout-options-row-main-gap);
|
|
padding:
|
|
var(--card-segment-padding-vertical)
|
|
var(--card-segment-padding-horizontal);
|
|
border: var(--border-none);
|
|
border-radius: var(--radius-card);
|
|
box-shadow: var(--shadow-none);
|
|
background: var(--surface-options-row);
|
|
}
|
|
|
|
.sg-options-row__left,
|
|
.sg-options-row__right {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--layout-options-row-group-gap);
|
|
align-items: center;
|
|
}
|
|
|
|
.sg-options-row__left {
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.sg-options-row__right {
|
|
justify-content: flex-end;
|
|
flex-wrap: nowrap;
|
|
margin-left: auto;
|
|
}
|
|
|
|
@media (max-width: 48rem) {
|
|
.sg-options-row {
|
|
flex-direction: column;
|
|
gap: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.sg-options-row__right,
|
|
.sg-options-row__left {
|
|
padding:
|
|
var(--card-segment-padding-vertical)
|
|
var(--card-segment-padding-horizontal);
|
|
}
|
|
|
|
.sg-options-row__right {
|
|
order: 1;
|
|
justify-content: flex-end;
|
|
flex-wrap: nowrap;
|
|
margin-left: 0;
|
|
}
|
|
|
|
.sg-options-row__left {
|
|
order: 2;
|
|
box-shadow: inset 0 1px 0 var(--divider-options-row-mobile);
|
|
}
|
|
|
|
.sg-options-row__left > .sg-pulldown-demo,
|
|
.sg-options-row__left > .sg-input-single-line-wrap,
|
|
.sg-options-row__left > .sg-search-field-row {
|
|
flex: 1 1 calc(50% - var(--layout-options-row-group-gap));
|
|
min-width: 0;
|
|
}
|
|
|
|
.sg-options-row__left > .sg-input-single-line-wrap,
|
|
.sg-options-row__left > .sg-search-field-row {
|
|
flex-basis: 100%;
|
|
}
|
|
|
|
.sg-options-row__left > .sg-input-single-line-wrap .sg-input-single-line,
|
|
.sg-options-row__left > .sg-pulldown-demo .sg-pulldown {
|
|
width: 100%;
|
|
}
|
|
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Patterns: Object Card */
|
|
/* ========================================================= */
|
|
|
|
.sg-object-card-grid {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-small);
|
|
align-items: flex-start;
|
|
width: 100%;
|
|
}
|
|
|
|
.sg-object-card {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex: 1 1 var(--layout-object-card-min-width);
|
|
min-width: var(--layout-object-card-min-width);
|
|
max-width: var(--layout-object-card-max-width);
|
|
height: var(--layout-object-card-height);
|
|
}
|
|
|
|
.sg-object-card-grid.sg-object-card-grid--multi-row .sg-object-card {
|
|
flex: 0 0 var(--layout-object-card-shared-width);
|
|
width: var(--layout-object-card-shared-width);
|
|
}
|
|
|
|
@media (max-width: 767px) {
|
|
.sg-object-card {
|
|
width: var(--layout-object-card-mobile-width);
|
|
min-width: 0;
|
|
max-width: none;
|
|
height: var(--layout-object-card-mobile-height);
|
|
}
|
|
}
|
|
|
|
.sg-object-card__content {
|
|
flex: var(--layout-object-card-content-grow) 1 auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-start;
|
|
background: var(--color-white);
|
|
}
|
|
|
|
.sg-object-card__header {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.sg-object-card__actions {
|
|
display: flex;
|
|
gap: var(--spacing-small);
|
|
width: 100%;
|
|
margin-top: 0;
|
|
}
|
|
|
|
.sg-object-card__action {
|
|
flex: 1 1 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Patterns: Object Group Card */
|
|
/* ========================================================= */
|
|
|
|
.sg-object-group-card__actions {
|
|
margin-top: auto;
|
|
}
|
|
|
|
.sg-object-group-card__hint {
|
|
color: var(--color-font-light);
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Patterns: Navigation Card */
|
|
/* ========================================================= */
|
|
|
|
/* ========================================================= */
|
|
/* Patterns: Formular mit Abschnitten */
|
|
/* ========================================================= */
|
|
|
|
.sg-form-sections-card {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: clamp(
|
|
var(--layout-object-card-max-width),
|
|
65vw,
|
|
calc(var(--layout-object-card-max-width) * 1.3)
|
|
);
|
|
max-width: 100%;
|
|
}
|
|
|
|
.sg-form-sections-card-wrapper {
|
|
display: flex;
|
|
justify-content: center;
|
|
width: 100%;
|
|
height: auto;
|
|
}
|
|
|
|
.sg-form-sections-card__body {
|
|
background: var(--surface-form-preview);
|
|
padding: var(--card-segment-padding-vertical) var(--card-segment-padding-horizontal);
|
|
}
|
|
|
|
.sg-form-sections-card__title {
|
|
margin: 0 0 var(--spacing-large) 0;
|
|
}
|
|
|
|
.sg-form-sections-card__actions-segment {
|
|
background: var(--surface-form-preview);
|
|
padding: 0 var(--card-segment-padding-horizontal) var(--card-segment-padding-vertical);
|
|
}
|
|
|
|
.sg-form-sections-card__chapter + .sg-form-sections-card__chapter {
|
|
margin-top: var(--spacing-large);
|
|
}
|
|
|
|
.sg-form-sections-card__chapter-title,
|
|
.sg-form-sections-card__sentence {
|
|
margin: 0;
|
|
}
|
|
|
|
.sg-form-sections-card__sentence {
|
|
margin-top: var(--spacing-small);
|
|
}
|
|
|
|
.sg-form-sections-card__option-group,
|
|
.sg-form-sections-card__field-group {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
margin-top: var(--spacing-large);
|
|
}
|
|
|
|
.sg-form-sections-card__actions {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: var(--spacing-small);
|
|
width: 100%;
|
|
margin-top: 0;
|
|
}
|
|
|
|
.sg-form-sections-card__action {
|
|
width: 100%;
|
|
}
|
|
|
|
.sg-navigation-card-layout {
|
|
width: 100%;
|
|
}
|
|
|
|
.sg-navigation-card-block {
|
|
--surface-card: var(--surface-navigation-card);
|
|
--surface-card-body: var(--surface-navigation-card-body);
|
|
display: block;
|
|
flex: none;
|
|
min-width: 0;
|
|
max-width: none;
|
|
width: 100%;
|
|
}
|
|
|
|
.sg-navigation-card-center {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Layouts: Card Listen Seite */
|
|
/* ========================================================= */
|
|
|
|
.sg-card-list-page {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.sg-card-list-page-drawer {
|
|
position: fixed;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
width: var(--layout-card-list-drawer-width);
|
|
max-width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
transform: translateX(100%);
|
|
transition: transform 220ms ease;
|
|
background: var(--surface-card-list-drawer);
|
|
color: var(--text-card-list-drawer);
|
|
box-shadow: var(--shadow-overlay);
|
|
z-index: 1000;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.sg-card-list-page-drawer[data-open="true"] {
|
|
transform: translateX(0);
|
|
}
|
|
|
|
.sg-card-list-page-drawer__header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--spacing-small);
|
|
padding:
|
|
var(--card-segment-padding-vertical)
|
|
var(--card-segment-padding-horizontal);
|
|
}
|
|
|
|
.sg-card-list-page-drawer__title {
|
|
margin: 0;
|
|
color: inherit;
|
|
}
|
|
|
|
.sg-card-list-page-drawer__content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-large);
|
|
padding:
|
|
var(--card-segment-padding-vertical)
|
|
var(--card-segment-padding-horizontal)
|
|
var(--card-segment-padding-vertical)
|
|
var(--card-segment-padding-horizontal);
|
|
}
|
|
|
|
.sg-card-list-page-drawer__info-card.sg-card {
|
|
--surface-card-header-primary: var(--color-light-grey);
|
|
--text-card-header: var(--color-font-dark);
|
|
}
|
|
|
|
.sg-card-list-page-mobile-detail {
|
|
display: none;
|
|
flex-direction: column;
|
|
gap: var(--spacing-large);
|
|
}
|
|
|
|
.sg-card-list-page-mobile-detail[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.sg-card-list-page > * + * {
|
|
margin-top: var(--spacing-large);
|
|
}
|
|
|
|
.sg-card-list-page__title-row {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--spacing-small);
|
|
padding-right: var(--card-segment-padding-horizontal);
|
|
padding-left: var(--card-segment-padding-horizontal);
|
|
width: fit-content;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.sg-card-list-page > .sg-options-row {
|
|
margin-top: var(--spacing-small);
|
|
}
|
|
|
|
.sg-card-list-page > .sg-card-list-page__intro-card {
|
|
margin-top: calc(var(--spacing-large) - 0.5rem);
|
|
}
|
|
|
|
.sg-card-list-page__intro-card.sg-card {
|
|
--layout-card-body-padding-top: 0;
|
|
--layout-card-body-padding-bottom: 0;
|
|
--surface-card-body: var(--surface-card-transparent);
|
|
align-self: flex-start;
|
|
width: min(60vw, 100%);
|
|
max-width: 100%;
|
|
}
|
|
|
|
@media (max-width: 767px) {
|
|
.sg-card-list-page-drawer {
|
|
display: none;
|
|
}
|
|
|
|
.sg-card-list-page-mobile-detail {
|
|
display: flex;
|
|
}
|
|
|
|
.sg-card-list-page__intro-card.sg-card {
|
|
align-self: stretch;
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
.sg-card-list-page__object-grid,
|
|
.sg-card-list-page__navigation {
|
|
width: 100%;
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Patterns: Card Gruppe mit Tastennavigation */
|
|
/* ========================================================= */
|
|
|
|
.sg-content-block-card-group {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
width: 100%;
|
|
}
|
|
|
|
.sg-content-block-card-group__tabs,
|
|
.sg-content-block-card-group__panels,
|
|
.sg-content-block-card-group__panel,
|
|
.sg-content-block-card-group__card {
|
|
width: 100%;
|
|
}
|
|
|
|
.sg-content-block-card-group__panel[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.sg-content-block-card-group__title {
|
|
color: var(--text-content-block-card-title);
|
|
background: var(--surface-content-block-card-title);
|
|
}
|
|
|
|
.sg-content-block-card-group__content {
|
|
color: var(--text-content-block-card-content);
|
|
background: var(--surface-content-block-card-content);
|
|
}
|
|
|
|
.sg-content-block-card-group__content .sg-body {
|
|
margin: 0;
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Components: Cards */
|
|
/* ========================================================= */
|
|
|
|
.sg-card {
|
|
--layout-card-segment-padding-top: var(--card-segment-padding-vertical);
|
|
--layout-card-segment-padding-right: var(--card-segment-padding-horizontal);
|
|
--layout-card-segment-padding-bottom: var(--card-segment-padding-vertical);
|
|
--layout-card-segment-padding-left: var(--card-segment-padding-horizontal);
|
|
--layout-card-body-padding-top: var(--layout-card-segment-padding-top);
|
|
--layout-card-body-padding-right: var(--layout-card-segment-padding-right);
|
|
--layout-card-body-padding-bottom: var(--layout-card-segment-padding-bottom);
|
|
--layout-card-body-padding-left: var(--layout-card-segment-padding-left);
|
|
--layout-card-body-text-margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
border: var(--border-none);
|
|
border-radius: var(--radius-card);
|
|
box-shadow: var(--shadow-none);
|
|
background: var(--surface-card);
|
|
}
|
|
|
|
@media (max-width: 48rem) {
|
|
:root {
|
|
--card-segment-padding-horizontal: var(--card-segment-padding-horizontal-mobile);
|
|
}
|
|
}
|
|
|
|
.sg-card-segment {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-start;
|
|
padding:
|
|
var(--layout-card-segment-padding-top)
|
|
var(--layout-card-segment-padding-right)
|
|
var(--layout-card-segment-padding-bottom)
|
|
var(--layout-card-segment-padding-left);
|
|
gap: var(--layout-card-segment-content-gap);
|
|
}
|
|
|
|
.sg-card-segment--header {
|
|
color: var(--text-card-header);
|
|
}
|
|
|
|
.sg-card-segment--body {
|
|
justify-content: var(--layout-card-body-content-justify);
|
|
padding:
|
|
var(--layout-card-body-padding-top)
|
|
var(--layout-card-body-padding-right)
|
|
var(--layout-card-body-padding-bottom)
|
|
var(--layout-card-body-padding-left);
|
|
color: var(--text-card-body);
|
|
background: var(--surface-card-body);
|
|
}
|
|
|
|
.sg-card-segment--body > .sg-body {
|
|
margin: var(--layout-card-body-text-margin, 0);
|
|
}
|
|
|
|
.sg-card-segment--darkblue {
|
|
background: var(--surface-card-header-primary);
|
|
}
|
|
|
|
.sg-card-segment--darkgreen {
|
|
background: var(--surface-card-header-alternative);
|
|
}
|
|
|
|
.sg-card-segment--darkbrown {
|
|
background: var(--surface-card-header-muted);
|
|
}
|
|
|
|
.sg-card-segment + .sg-card-segment {
|
|
box-shadow: inset 0 1px 0 var(--divider-card-segment);
|
|
}
|
|
|
|
.sg-card-segment--darkbrown + .sg-card-segment--body {
|
|
box-shadow: none;
|
|
}
|
|
|
|
.sg-card-segment.sg-object-card__header {
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.sg-card-segment--body.sg-object-card__content {
|
|
background: var(--surface-object-card-lower-segment);
|
|
}
|
|
|
|
.sg-card-segment--body.sg-object-card__actions-segment {
|
|
background: var(--surface-object-card-lower-segment);
|
|
}
|
|
|
|
.sg-group-card {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-small);
|
|
align-items: flex-start;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
padding: var(--spacing-small);
|
|
border-radius: var(--radius-card);
|
|
background: var(--surface-card-group);
|
|
}
|
|
|
|
.sg-group-card > .sg-card {
|
|
flex: 1 1 calc(50% - var(--spacing-small));
|
|
width: calc(50% - var(--spacing-small));
|
|
}
|
|
|
|
.sg-transparent-card {
|
|
color: var(--text-card-transparent);
|
|
background: var(--surface-card-transparent);
|
|
padding: 0;
|
|
}
|
|
|
|
.sg-transparent-card p {
|
|
margin: 0;
|
|
color: var(--text-card-transparent);
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Components: Charts */
|
|
/* ========================================================= */
|
|
|
|
.sg-score-bar-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
width: 100%;
|
|
}
|
|
|
|
.sg-score-bar-item {
|
|
display: grid;
|
|
grid-template-columns: var(--chart-axis-label-column-width) 1fr;
|
|
gap: var(--spacing-small);
|
|
align-items: center;
|
|
}
|
|
|
|
.sg-score-bar-label {
|
|
margin: 0;
|
|
color: var(--text-chart-default);
|
|
}
|
|
|
|
.sg-score-bar {
|
|
position: relative;
|
|
height: var(--score-bar-height);
|
|
overflow: visible;
|
|
border-radius: var(--radius-graph-bar);
|
|
background: var(--surface-score-bar-track);
|
|
}
|
|
|
|
.sg-score-bar--marker-mid {
|
|
--score-marker-position: 50%;
|
|
}
|
|
|
|
.sg-score-bar__value {
|
|
height: 100%;
|
|
border-radius: var(--radius-graph-bar);
|
|
}
|
|
|
|
.sg-score-bar__value--w96 { width: 96%; }
|
|
.sg-score-bar__value--w64 { width: 64%; }
|
|
.sg-score-bar__value--w35 { width: 35%; }
|
|
|
|
.sg-score-bar__value--positive { background: var(--chart-value-positive); }
|
|
.sg-score-bar__value--neutral { background: var(--chart-value-neutral); }
|
|
.sg-score-bar__value--negative { background: var(--chart-value-negative); }
|
|
|
|
.sg-score-bar__median-marker {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: var(--score-marker-position);
|
|
width: var(--score-marker-width);
|
|
height: var(--score-marker-height);
|
|
border-radius: 0;
|
|
background: var(--chart-marker-line);
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
.sg-score-bar__median-marker--outline {
|
|
border: var(--chart-grid-line-width) solid var(--chart-marker-line);
|
|
background: transparent;
|
|
}
|
|
|
|
.sg-bar-chart {
|
|
display: block;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
padding: 0;
|
|
background: var(--surface-chart-area);
|
|
color: var(--text-chart-default);
|
|
}
|
|
|
|
.sg-chart-frame {
|
|
display: grid;
|
|
grid-template-columns: min-content 1fr;
|
|
column-gap: var(--chart-axis-label-gap);
|
|
height: calc(var(--chart-height-bar) * 0.7);
|
|
}
|
|
|
|
.sg-chart-y-labels {
|
|
position: relative;
|
|
width: min-content;
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
color: var(--text-chart-default);
|
|
text-align: right;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.sg-chart-y-labels li {
|
|
position: absolute;
|
|
white-space: nowrap;
|
|
right: 0;
|
|
top: var(--chart-label-position);
|
|
transform: translateY(-50%);
|
|
}
|
|
|
|
.sg-chart-x-labels {
|
|
display: grid;
|
|
grid-template-columns: repeat(10, 1fr);
|
|
margin: var(--spacing-small) 0 var(--spacing-large) 0;
|
|
padding: 0 0 0 calc(var(--interaction-height) + var(--chart-axis-label-gap));
|
|
list-style: none;
|
|
color: var(--text-chart-default);
|
|
text-align: center;
|
|
}
|
|
|
|
.sg-chart-x-labels--line {
|
|
position: relative;
|
|
display: block;
|
|
height: var(--spacing-large);
|
|
grid-template-columns: none;
|
|
}
|
|
|
|
.sg-chart-x-labels--line li {
|
|
position: absolute;
|
|
left: var(--chart-label-position);
|
|
transform: translateX(-50%);
|
|
}
|
|
|
|
.sg-chart-y-labels li,
|
|
.sg-chart-x-labels li {
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-small);
|
|
font-weight: var(--font-weight-regular);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.sg-bar-chart__svg,
|
|
.sg-line-chart__svg {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.sg-bar-chart__grid-line,
|
|
.sg-line-chart__grid-line {
|
|
stroke: var(--chart-grid-line);
|
|
stroke-width: var(--chart-grid-line-width);
|
|
}
|
|
|
|
.sg-bar-chart__axis-line,
|
|
.sg-line-chart__axis-line {
|
|
stroke: var(--chart-axis-line);
|
|
stroke-width: var(--chart-grid-line-width);
|
|
}
|
|
|
|
.sg-bar-chart__bar {
|
|
rx: var(--radius-graph-bar);
|
|
ry: var(--radius-graph-bar);
|
|
}
|
|
|
|
.sg-bar-chart__bar--value { fill: var(--chart-value-primary); }
|
|
.sg-bar-chart__bar--median { fill: var(--chart-value-reference); }
|
|
.sg-bar-chart__label,
|
|
.sg-line-chart__label { display: none; }
|
|
|
|
.sg-bar-chart__legend,
|
|
.sg-line-chart__legend {
|
|
display: flex;
|
|
gap: var(--spacing-large);
|
|
padding-left: 0;
|
|
margin-left: 0;
|
|
}
|
|
|
|
.sg-bar-chart__legend {
|
|
flex-wrap: wrap;
|
|
margin-top: 0;
|
|
color: var(--text-chart-default);
|
|
}
|
|
|
|
.sg-line-chart__legend {
|
|
margin-top: var(--spacing-large);
|
|
}
|
|
|
|
.sg-bar-chart__legend-item,
|
|
.sg-line-chart__legend-item {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--spacing-small);
|
|
color: var(--text-chart-default);
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-small);
|
|
font-weight: var(--font-weight-regular);
|
|
line-height: var(--line-height-base);
|
|
}
|
|
|
|
.sg-bar-chart__legend-swatch {
|
|
display: inline-block;
|
|
width: var(--interaction-height);
|
|
height: var(--interaction-height);
|
|
border-radius: var(--radius-interaction);
|
|
}
|
|
|
|
.sg-bar-chart__legend-swatch--value { background: var(--chart-value-primary); }
|
|
.sg-bar-chart__legend-swatch--median { background: var(--chart-value-reference); }
|
|
|
|
.sg-line-chart {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
padding: 0;
|
|
background: var(--surface-chart-area);
|
|
color: var(--text-chart-default);
|
|
}
|
|
|
|
.sg-chart-frame--line {
|
|
height: calc(var(--chart-height-line) * 0.7);
|
|
}
|
|
|
|
.sg-line-chart__line {
|
|
fill: none;
|
|
stroke: var(--chart-value-primary);
|
|
stroke-width: var(--chart-line-width);
|
|
stroke-linecap: round;
|
|
stroke-linejoin: round;
|
|
}
|
|
|
|
.sg-line-chart__median-line {
|
|
fill: none;
|
|
stroke: var(--chart-median-line);
|
|
stroke-width: var(--chart-grid-line-width);
|
|
stroke-dasharray: var(--sandwich-line-height) var(--sandwich-line-height);
|
|
}
|
|
|
|
.sg-line-chart__legend-line {
|
|
display: inline-block;
|
|
width: var(--spacing-large);
|
|
height: var(--chart-line-width);
|
|
background: var(--chart-value-primary);
|
|
}
|
|
|
|
.sg-line-chart__legend-line--median {
|
|
height: var(--chart-grid-line-width);
|
|
background: repeating-linear-gradient(
|
|
to right,
|
|
var(--chart-median-line) 0,
|
|
var(--chart-median-line) var(--sandwich-line-height),
|
|
transparent var(--sandwich-line-height),
|
|
transparent calc(var(--sandwich-line-height) * 2)
|
|
);
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Components: Data Display */
|
|
/* ========================================================= */
|
|
|
|
.sg-data-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
background: var(--surface-data-table);
|
|
table-layout: fixed;
|
|
}
|
|
|
|
.sg-data-table th,
|
|
.sg-data-table td {
|
|
width: 33.333%;
|
|
padding: 0 0 var(--spacing-small) 0;
|
|
border: var(--border-none);
|
|
text-align: left;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.sg-data-table th {
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-small);
|
|
font-weight: var(--font-weight-regular);
|
|
line-height: var(--line-height-base);
|
|
color: var(--text-data-table-default);
|
|
background: var(--surface-data-table-header);
|
|
}
|
|
|
|
.sg-data-table td {
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-base);
|
|
font-weight: var(--font-weight-regular);
|
|
line-height: var(--line-height-base);
|
|
color: var(--text-data-table-default);
|
|
background: var(--surface-data-table-cell);
|
|
}
|
|
|
|
.sg-data-table__label,
|
|
.sg-data-table__value {
|
|
font-weight: var(--font-weight-semibold);
|
|
}
|
|
|
|
.sg-data-table__value--warning {
|
|
color: var(--text-data-table-warning);
|
|
}
|
|
|
|
.sg-data-table__help-icon {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: var(--small-interaction-element-size);
|
|
height: var(--small-interaction-element-size);
|
|
border: var(--border-none);
|
|
border-radius: 50%;
|
|
box-shadow: var(--shadow-none);
|
|
font-family: var(--font-family-base);
|
|
font-size: var(--font-size-small);
|
|
font-weight: var(--font-weight-semibold);
|
|
line-height: 1;
|
|
color: var(--text-data-table-help-icon);
|
|
background: var(--surface-data-table-help-icon);
|
|
}
|
|
|
|
/* ========================================================= */
|
|
/* Components: Typography */
|
|
/* ========================================================= */
|
|
|
|
.sg-typography-preview {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-small);
|
|
color: var(--text-typography-preview);
|
|
}
|
|
|
|
.sg-typography-preview h1,
|
|
.sg-typography-preview h2,
|
|
.sg-typography-preview p {
|
|
color: var(--text-typography-preview);
|
|
margin-top: 0;
|
|
}
|