mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-17 00:12:11 +08:00
67 lines
2.0 KiB
SCSS
67 lines
2.0 KiB
SCSS
/** Materio Template base classes **/
|
||
/** https://github.com/themeselection/materio-vuetify-vuejs-admin-template-free **/
|
||
|
||
@use "sass:map";
|
||
@use "@/styles/desktop/template/vuetify/variables" as vuetify;
|
||
|
||
@mixin elevation($z, $important: false) {
|
||
box-shadow: map.get(vuetify.$shadow-key-umbra, $z), map.get(vuetify.$shadow-key-penumbra, $z), map.get(vuetify.$shadow-key-ambient, $z) if($important, !important, null);
|
||
}
|
||
|
||
// #region before-pseudo
|
||
// ℹ️ This mixin is inspired from vuetify for adding hover styles via before pseudo element
|
||
@mixin before-pseudo() {
|
||
position: relative;
|
||
|
||
&::before {
|
||
position: absolute;
|
||
border-radius: inherit;
|
||
background: currentcolor;
|
||
block-size: 100%;
|
||
content: "";
|
||
inline-size: 100%;
|
||
inset: 0;
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
}
|
||
}
|
||
|
||
// #endregion before-pseudo
|
||
|
||
@mixin bordered-skin($component, $border-property: "border", $important: false) {
|
||
#{$component} {
|
||
box-shadow: none !important;
|
||
// stylelint-disable-next-line annotation-no-unknown
|
||
#{$border-property}: 1px solid rgba(var(--v-border-color), var(--v-border-opacity)) if($important, !important, null);
|
||
}
|
||
}
|
||
|
||
// #region selected-states
|
||
// ℹ️ Inspired from vuetify's active-states mixin
|
||
// focus => 0.12 & selected => 0.08
|
||
@mixin selected-states($selector) {
|
||
#{$selector} {
|
||
opacity: calc(var(--v-selected-opacity) * var(--v-theme-overlay-multiplier));
|
||
}
|
||
|
||
&:hover
|
||
#{$selector} {
|
||
opacity: calc(var(--v-selected-opacity) + var(--v-hover-opacity) * var(--v-theme-overlay-multiplier));
|
||
}
|
||
|
||
&:focus-visible
|
||
#{$selector} {
|
||
opacity: calc(var(--v-selected-opacity) + var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
||
}
|
||
|
||
@supports not selector(:focus-visible) {
|
||
&:focus {
|
||
#{$selector} {
|
||
opacity: calc(var(--v-selected-opacity) + var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// #endregion selected-states
|