.#{$namespace}calendarDay { /* Save root element context for easy access if nesting is needed */ $self: &; /* variables specific to current element */ $element-specific-variables: ""; /* properties of current element + media queries */ position: relative; display: flex; flex-direction: column; min-height: 128px; border-radius: map-deep-get($token-radius-map, "8"); @include custom-prop-fallback("background-color", "comp-card-background-color"); padding: map-deep-get($token-spacer-unit-map, "8"); /* Pseudo Elements */ &::before { } &::after { } /* Include elements that are linked to the current element but have to reside at the root level of the stylesheet (e.g: keyframes) */ @at-root { } /* children - write selector in full in comments in order to facilitate search */ // calendarDay__header &__header { text-align: right; + #{$self}__footer { margin-top: auto; } } &__body { margin-left: map-deep-get($token-spacer-unit-map, "8"); flex-grow: 1; } &__helper { @include custom-prop-fallback("color", "sys-color-text-primary-vivid"); display: block; } &__footer { display: flex; justify-content: flex-end; } &__progress { margin-top: map-deep-get($token-spacer-unit-map, "8"); } &__alert { display: none; position: absolute; left: calc(100% + map-deep-get($token-spacer-unit-map, "16")); top: 50%; transform: translateY(-50%); width: 280px; padding: map-deep-get($token-spacer-unit-map, "16"); background-color: map-deep-get($token-color-grayscale-map, "0"); border-radius: map-deep-get($token-radius-map, "8"); box-shadow: $dropdown-box-shadow; z-index: map-deep-get($token-z-index-map, "popover"); } /* modifiers */ // calendarDay -altStyle &.-dayOff { cursor: default; @include custom-prop-fallback("background-color", "sys-color-background-neutral-6"); #{$self}__title { @include custom-prop-fallback("color", "sys-color-text-neutral-vivid"); } } &.-currentDay { #{$self}__title { width: map-deep-get($token-sizes-unit-map, "24"); height: map-deep-get($token-sizes-unit-map, "24"); border-radius: map-deep-get($token-radius-map, "circle"); @include custom-prop-fallback("background-color", "sys-color-background-secondary-100"); @include custom-prop-fallback("color", "sys-color-text-neutral-inverse"); display: inline-flex; align-items: center; justify-content: center; } } &.-holiday { $gradient-width: 2px; $gradient-spacing: 16px; background-image: repeating-linear-gradient( 135deg, #{map-deep-get($token-color-brand-map, "secondary", "06")}, #{map-deep-get($token-color-brand-map, "secondary", "06")}, $gradient-width, map-deep-get($token-color-grayscale-map, "0") $gradient-width, map-deep-get($token-color-grayscale-map, "0") $gradient-spacing /* determines size */ ); cursor: default; &.-halfDay { background-size: 100% 50%; background-repeat: no-repeat; } } &.-alert { &:hover { @media (hover: hover) { #{$self}__alert { display: block; } } } } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { @include custom-prop-fallback("background-color", "comp-card-sunken-background-color"); &.-overTimeNegative { #{$self}__helper { @include custom-prop-fallback("color", "sys-color-text-status-danger-vivid"); } } &.-overTimePositive { #{$self}__helper { @include custom-prop-fallback("color", "sys-color-text-status-success-vivid"); } } #{$self}__iconCircle { &.-secondary10 { @include custom-prop-fallback("background-color", "sys-color-elevation-surface-flat"); } } &.-dayOff { @include custom-prop-fallback("background-color", "sys-color-background-neutral-6"); } &.-holiday { @include custom-prop-fallback("background-color", "comp-card-background-color"); #{$self}__iconCircle { &.-secondary10 { @include custom-prop-fallback("background-color", "sys-color-background-primary-10"); } } } } } &:focus { } &:active { } &:focus, &:active { } }