Vmeda.Online/src/theme/theme.design-system.scss

254 lines
14 KiB
SCSS

@import "./globals.scss";
@import "theme.light.scss";
@import "theme.dark.scss";
html {
// Variables in the design system should be named using the following pattern:
// SYSTEM-CATEGORY-CONCEPT-PROPERTY-VARIANT (where the only required part is SYSTEM)
// SYSTEM: The name of the design system (e.g. ion, mdl, app, etc.)
// CATEGORY: The category of the component (e.g. color, typography, spacing, etc.)
// CONCEPT: The concept of the category (e.g. component name)
// PROPERTY: The property of the concept in camel case (e.g. color, fontSize, spacing, etc.)
// VARIANT: The variant of the property (e.g. primary, size[sm, md, lg], dark/light, state etc.)
//
// Some guide: https://medium.com/eightshapes-llc/naming-tokens-in-design-systems-9e86c7444676
// ***** SPACING category ***** //
@for $i from 0 to 6 {
--mdl-spacing-#{$i}: #{$i*4}px;
}
// ***** TYPOGRAPHY category ***** //
// Sintaxis:[ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height> ]? <font-family>
--mdl-typography-fontSize-sm: #{dynamic-font(12px)}; // 0.75rem
--mdl-typography-fontSize-md: #{dynamic-font(14px)}; // 0.875rem
--mdl-typography-fontSize-lg: #{dynamic-font(16px)}; // 1rem
--mdl-typography-fontWeight-normal: 400;
--mdl-typography-fontWeight-medium: 500;
--mdl-typography-monospace-font: Andale Mono,Monaco,Courier New,DejaVu Sans Mono,monospace;
// Body font size
--mdl-typography-body-fontSize-sm: var(--mdl-typography-fontSize-sm);
--mdl-typography-body-fontSize-md: var(--mdl-typography-fontSize-md);
--mdl-typography-body-fontSize-lg: var(--mdl-typography-fontSize-lg);
--mdl-typography-body-fontWeight: var(--mdl-typography-fontWeight-normal);
--mdl-typography-body-lineHeight: 150%;
--mdl-typography-body-letterSpacing: 0.5px;
--mdl-typography-body-paragraphSpacing: 150%;
--mdl-typography-body-font-sm: normal normal var(--mdl-typography-body-fontWeight) var(--mdl-typography-body-fontSize-sm)/var(--mdl-typography-body-lineHeight) var(--ion-font-family);
--mdl-typography-body-font-md: normal normal var(--mdl-typography-body-fontWeight) var(--mdl-typography-body-fontSize-md)/var(--mdl-typography-body-lineHeight) var(--ion-font-family);
--mdl-typography-body-font-lg: normal normal var(--mdl-typography-body-fontWeight) var(--mdl-typography-body-fontSize-lg)/var(--mdl-typography-body-lineHeight) var(--ion-font-family);
// Links
--mdl-typography-link-fontSize-sm: var(--mdl-typography-fontSize-sm);
--mdl-typography-link-fontSize-md: var(--mdl-typography-fontSize-md);
--mdl-typography-link-fontSize-lg: var(--mdl-typography-fontSize-lg);
--mdl-typography-link-fontWeight: var(--mdl-typography-fontWeight-normal);
--mdl-typography-link-lineHeight: 150%;
--mdl-typography-link-letterSpacing: 0.5px;
--mdl-typography-link-paragraphSpacing: 150%;
--mdl-typography-link-font-sm: normal normal var(--mdl-typography-link-fontWeight) var(--mdl-typography-link-fontSize-sm)/var(--mdl-typography-link-lineHeight) var(--ion-font-family);
--mdl-typography-link-font-md: normal normal var(--mdl-typography-link-fontWeight) var(--mdl-typography-link-fontSize-md)/var(--mdl-typography-link-lineHeight) var(--ion-font-family);
--mdl-typography-link-font-lg: normal normal var(--mdl-typography-link-fontWeight) var(--mdl-typography-link-fontSize-lg)/var(--mdl-typography-link-lineHeight) var(--ion-font-family);
// Labels
--mdl-typography-label-fontSize-sm: #{dynamic-font(10px)}; // 0.625rem
--mdl-typography-label-fontSize-md: #{dynamic-font(12px)};
--mdl-typography-label-fontSize-lg: #{dynamic-font(14px)};
--mdl-typography-label-fontWeight: var(--mdl-typography-fontWeight-medium);
--mdl-typography-label-lineHeight-sm: #{dynamic-font(16px)};
--mdl-typography-label-lineHeight-md: #{dynamic-font(16px)};
--mdl-typography-label-lineHeight-lg: #{dynamic-font(20px)};
--mdl-typography-label-letterSpacing: 0.1px;
--mdl-typography-label-font-sm: normal normal var(--mdl-typography-label-fontWeight) var(--mdl-typography-label-fontSize-sm)/var(--mdl-typography-label-lineHeight-sm) var(--ion-font-family);
--mdl-typography-label-font-md: normal normal var(--mdl-typography-label-fontWeight) var(--mdl-typography-label-fontSize-md)/var(--mdl-typography-label-lineHeight-md) var(--ion-font-family);
--mdl-typography-label-font-lg: normal normal var(--mdl-typography-label-fontWeight) var(--mdl-typography-label-fontSize-lg)/var(--mdl-typography-label-lineHeight-lg) var(--ion-font-family);
// Subtitles
--mdl-typography-subtitle-fontSize-sm: #{dynamic-font(14px)};
--mdl-typography-subtitle-fontSize-md: #{dynamic-font(16px)};
--mdl-typography-subtitle-fontSize-lg: #{dynamic-font(20px)};
--mdl-typography-subtitle-fontWeight: var(--mdl-typography-fontWeight-medium);
--mdl-typography-subtitle-lineHeight: 150%;
--mdl-typography-subtitle-letterSpacing: 0.1px;
--mdl-typography-subtitle-font-sm: normal normal var(--mdl-typography-subtitle-fontWeight) var(--mdl-typography-subtitle-fontSize-sm)/var(--mdl-typography-subtitle-lineHeight) var(--ion-font-family);
--mdl-typography-subtitle-font-md: normal normal var(--mdl-typography-subtitle-fontWeight) var(--mdl-typography-subtitle-fontSize-md)/var(--mdl-typography-subtitle-lineHeight) var(--ion-font-family);
--mdl-typography-subtitle-font-lg: normal normal var(--mdl-typography-subtitle-fontWeight) var(--mdl-typography-subtitle-fontSize-lg)/var(--mdl-typography-subtitle-lineHeight) var(--ion-font-family);
// Headings
--mdl-typography-heading1-fontSize: #{dynamic-font(28px)}; // 1.75rem
--mdl-typography-heading2-fontSize: #{dynamic-font(24px)}; // 1.5rem
--mdl-typography-heading3-fontSize: #{dynamic-font(22px)}; // 1.375rem
--mdl-typography-heading4-fontSize: #{dynamic-font(20px)}; // 1.25rem
--mdl-typography-heading5-fontSize: #{dynamic-font(18px)}; // 1.125rem
--mdl-typography-heading6-fontSize: #{dynamic-font(16px)}; // 1rem
--mdl-typography-heading1-fontWeight: var(--mdl-typography-fontWeight-normal);
--mdl-typography-heading2-fontWeight: var(--mdl-typography-fontWeight-normal);
--mdl-typography-heading3-fontWeight: var(--mdl-typography-fontWeight-normal);
--mdl-typography-heading4-fontWeight: var(--mdl-typography-fontWeight-medium);
--mdl-typography-heading5-fontWeight: var(--mdl-typography-fontWeight-medium);
--mdl-typography-heading6-fontWeight: var(--mdl-typography-fontWeight-medium);
--mdl-typography-heading-lineHeight: 130%;
--mdl-typography-heading1-font: normal normal var(--mdl-typography-heading1-fontWeight) var(--mdl-typography-heading1-fontSize)/var(--mdl-typography-heading-lineHeight) var(--ion-font-family);
--mdl-typography-heading2-font: normal normal var(--mdl-typography-heading2-fontWeight) var(--mdl-typography-heading2-fontSize)/var(--mdl-typography-heading-lineHeight) var(--ion-font-family);
--mdl-typography-heading3-font: normal normal var(--mdl-typography-heading3-fontWeight) var(--mdl-typography-heading3-fontSize)/var(--mdl-typography-heading-lineHeight) var(--ion-font-family);
--mdl-typography-heading4-font: normal normal var(--mdl-typography-heading4-fontWeight) var(--mdl-typography-heading4-fontSize)/var(--mdl-typography-heading-lineHeight) var(--ion-font-family);
--mdl-typography-heading5-font: normal normal var(--mdl-typography-heading5-fontWeight) var(--mdl-typography-heading5-fontSize)/var(--mdl-typography-heading-lineHeight) var(--ion-font-family);
--mdl-typography-heading6-font: normal normal var(--mdl-typography-heading6-fontWeight) var(--mdl-typography-heading6-fontSize)/var(--mdl-typography-heading-lineHeight) var(--ion-font-family);
// Icons
--mdl-typography-icon-fontSize-sm: #{dynamic-font(16px)};
--mdl-typography-icon-fontSize-md: #{dynamic-font(20px)};
--mdl-typography-icon-fontSize-lg: #{dynamic-font(24px)};
// ***** SHAPE category ***** //
--mdl-shape-borderRadius-none: 0px;
--mdl-shape-borderRadius-xs: 4px;
--mdl-shape-borderRadius-sm: 8px;
--mdl-shape-borderRadius-md: 12px;
--mdl-shape-borderRadius-lg: 16px;
--mdl-shape-borderRadius-xl: 24px;
--mdl-shape-borderRadius-round: 50%;
// ***** SHADOW category ***** //
--mdl-shadow-boxShadowColor: 40 40 40; //#282828;
--mdl-shadow-boxShadow-00: 0px 0px 0px 0px rgb(var(--mdl-shadow-boxShadowColor) / 20%);
--mdl-shadow-boxShadow-outline: 0px 0px 0px 2px rgb(var(--mdl-shadow-boxShadowColor) / 15%), 0px 2px 4px 0px rgb(var(--mdl-shadow-boxShadowColor) / 2%);
--mdl-shadow-boxShadow-01: 0px 1px 3px 0px rgb(var(--mdl-shadow-boxShadowColor) / 20%), 0px 2px 1px 0px rgb(var(--mdl-shadow-boxShadowColor) / 12%), 0px 1px 1px 0px rgb(var(--mdl-shadow-boxShadowColor) / 14%);
--mdl-shadow-boxShadow-02: 0px 1px 5px 0px rgb(var(--mdl-shadow-boxShadowColor) / 20%), 0px 3px 1px 0px rgb(var(--mdl-shadow-boxShadowColor) / 12%), 0px 2px 2px 0px rgb(var(--mdl-shadow-boxShadowColor) / 14%);
--mdl-shadow-boxShadow-03: 0px 1px 8px 0px rgb(var(--mdl-shadow-boxShadowColor) / 20%), 0px 3px 3px 0px rgb(var(--mdl-shadow-boxShadowColor) / 12%), 0px 3px 4px 0px rgb(var(--mdl-shadow-boxShadowColor) / 14%);
--mdl-shadow-boxShadow-04: 0px 2px 4px 0px rgb(var(--mdl-shadow-boxShadowColor) / 20%), 0px 1px 10px 0px rgb(var(--mdl-shadow-boxShadowColor) / 12%), 0px 4px 5px 0px rgb(var(--mdl-shadow-boxShadowColor) / 14%);
--mdl-shadow-boxShadow-06: 0px 3px 5px 0px rgb(var(--mdl-shadow-boxShadowColor) / 20%), 0px 1px 18px 0px rgb(var(--mdl-shadow-boxShadowColor) / 12%), 0px 6px 10px 0px rgb(var(--mdl-shadow-boxShadowColor) / 14%);
--mdl-shadow-boxShadow-08: 0px 5px 5px 0px rgb(var(--mdl-shadow-boxShadowColor) / 20%), 0px 3px 14px 0px rgb(var(--mdl-shadow-boxShadowColor) / 12%), 0px 8px 10px 0px rgb(var(--mdl-shadow-boxShadowColor) / 14%);
--mdl-shadow-boxShadow-12: 0px 7px 8px 0px rgb(var(--mdl-shadow-boxShadowColor) / 20%),0px 5px 22px 0px rgb(var(--mdl-shadow-boxShadowColor) / 12%),0px 12px 17px 0px rgb(var(--mdl-shadow-boxShadowColor) / 14%);
--mdl-shadow-boxShadow-16: 0px 7px 8px 0px rgb(var(--mdl-shadow-boxShadowColor) / 20%),0px 5px 22px 0px rgb(var(--mdl-shadow-boxShadowColor) / 12%),0px 12px 17px 0px rgb(var(--mdl-shadow-boxShadowColor) / 14%);
--mdl-shadow-boxShadow-24: 0px 11px 15px 0px rgb(var(--mdl-shadow-boxShadowColor) / 20%), 0px 9px 46px 0px rgb(var(--mdl-shadow-boxShadowColor) / 12%), 0px 24px 38px 0px rgb(var(--mdl-shadow-boxShadowColor) / 14%);
// ***** ACCESSIBILITY ***** //
--a11y-sizing-minTargetSize: 44px;
--a11y-shadow-focus-borderWidth: 2px;
--a11y-shadow-focus-boxShadow: inset 0 0 var(--a11y-shadow-focus-borderWidth) 1px var(--a11y-focus-color);
--a11y-shadow-focus-outline: var(--a11y-shadow-focus-borderWidth) solid var(--a11y-focus-color);
--a11y-background-focus-background: var(--ion-text-color);
--a11y-background-focus-opacity: 0.08;
--a11y-background-focus-background-rgb: rgba(var(--ion-text-color-rgb), var(--a11y-background-focus-opacity));
// @TODO ***** VARIABLES TO BE REVIEWED, RENAMED AND TIDIED ***** //
--text-size: var(--mdl-typography-body-fontSize-md);
--core-input-radius: var(--mdl-shape-borderRadius-xs);
--core-input-border-width: 1px;
--list-item-max-width: 768px;
--modal-radius: var(--mdl-shape-borderRadius-md);
--modal-lateral-max-width: 320px;
--modal-lateral-margin: 56px;
--loader-radius: var(--mdl-shape-borderRadius-xs);
--loader-display: block;
--drop-shadow-top: 0px 2px 5px rgb(var(--mdl-shadow-boxShadowColor) / 50%);
--drop-shadow-bottom: 0px -2px 5px rgb(var(--mdl-shadow-boxShadowColor) / 50%);
--drop-shadow-end: -2px 0px 5px rgb(var(--mdl-shadow-boxShadowColor) / 50%);
--drop-shadow-start: 2px 0px 5px rgb(var(--mdl-shadow-boxShadowColor) / 50%);
--ion-card-vertical-margin: 12px;
--ion-card-horizontal-margin: 12px;
--ion-card-radius: var(--mdl-shape-borderRadius-lg);
--ion-card-border-width: 1px;
--bottom-tabs-size: 48px;
--side-tabs-size: 56px;
--core-header-toolbar-button-image-size: var(--a11y-sizing-minTargetSize);
--core-header-toolbar-border-width: 0px;
--core-header-toolbar-height: 48px;
--core-header-shadow: none;
--ion-searchbar-height: var(--a11y-sizing-minTargetSize);
--ion-searchbar-border-radius: var(--core-input-radius);
--core-search-box-border-radius: var(--core-input-radius);
--core-combobox-radius: var(--core-input-radius);
--core-combobox-border-width: var(--core-input-border-width);
--core-combobox-box-shadow: none;
--core-tab-font-weight-active: normal;
--core-tabs-height: 48px;
--core-progressbar-height: 8px;
--ion-item-detail-icon-font-size: var(--mdl-typography-icon-fontSize-md);
--ion-item-detail-icon-opacity: 1;
--item-divider-min-height: calc(var(--a11y-sizing-minTargetSize) + 8px);
--item-divider-border-width: 0px;
--spacer-vertical: 8px;
--selected-item-border-width: 5px;
--core-large-avatar-size: 80px;
--core-avatar-size: var(--a11y-sizing-minTargetSize);
--core-avatar-radius: 50%;
--core-courseimage-on-course-size: 72px;
--core-courseimage-radius: var(--mdl-shape-borderRadius-sm);
--core-user-menu-site-logo-max-height: 32px;
--core-messages-message-note-font-size: 75%;
--core-messages-avatar-size: 30px;
--core-dd-question-selected-shadow: 2px 2px 4px var(--gray-500);
--core-dd-question-radius: 10px;
--rotate-expandable: rotate(90deg);
--core-mainpage-sitename-display: none;
--core-mainpage-headerlogo-display: none;
--core-mainpage-headerlogo-maxheight: calc(var(--core-header-toolbar-height) - 16px);
@if ($core-dashboard-logo) {
--core-mainpage-headerlogo-display: inline;
} @else {
--core-mainpage-sitename-display: inline;
}
}
/** @deprecated since 4.3 **/
html {
--small-radius: var(--mdl-shape-borderRadius-xs);
--medium-radius: var(--mdl-shape-borderRadius-sm);
--big-radius: var(--mdl-shape-borderRadius-lg);
--huge-radius: var(--mdl-shape-borderRadius-xl);
}
/** @deprecated since 4.4 **/
html {
--font-size-normal: var(--mdl-typography-fontSize-md);
--a11y-min-target-size: var(--a11y-sizing-minTargetSize);
--a11y-focus-width: var(--a11y-shadow-focus-boxShadowSpread);
--a11y-focus-color: var(--a11y-shadow-focus-boxShadowColor);
--item-divider-font-size: var(--mdl-typography-subtitle-fontSize-md);
--item-divider-font-size-big: var(--mdl-typography-subtitle-fontSize-lg);
}