quasar-framework
Version:
Build responsive SPA, SSR, PWA, Hybrid Mobile Apps and Electron apps, all simultaneously using the same codebase
1,852 lines (1,851 loc) • 145 kB
text/stylus
/*!
* Quasar Framework v0.17.20
* (c) 2016-present Razvan Stoenescu
* Released under the MIT License.
*/
$space-base ?= 16px
$space-x-base ?= $space-base
$space-y-base ?= $space-base
$spaces ?= {
none: {
x: 0,
y: 0
},
xs: {
x: ($space-x-base * .25),
y: ($space-y-base * .25)
},
sm: {
x: ($space-x-base * .5),
y: ($space-y-base * .5)
},
md: {
x: $space-x-base,
y: $space-y-base
},
lg: {
x: ($space-x-base * 1.5),
y: ($space-y-base * 1.5)
},
xl: {
x: ($space-x-base * 3),
y: ($space-y-base * 3)
}
}
$breakpoint-xs ?= 575px
$breakpoint-sm ?= 767px
$breakpoint-md ?= 991px
$breakpoint-lg ?= 1199px
$flex-cols ?= 12
$flex-gutter-xs ?= 8px
$flex-gutter-sm ?= 16px
$flex-gutter-md ?= 32px
$flex-gutter-lg ?= 48px
$flex-gutter-xl ?= 64px
$body-background ?= white
$body-color ?= #0c0c0c
$flex-gutter ?= {
none: 0,
xs: $flex-gutter-xs,
sm: $flex-gutter-sm,
md: $flex-gutter-md,
lg: $flex-gutter-lg,
xl: $flex-gutter-xl
}
$sizes ?= {
xs: 0,
sm: $breakpoint-xs + 1,
md: $breakpoint-sm + 1,
lg: $breakpoint-md + 1,
xl: $breakpoint-lg + 1
}
$breakpoint-xs-min ?= 0
$breakpoint-xs-max ?= $breakpoint-xs
$breakpoint-sm-min ?= $sizes[sm]
$breakpoint-sm-max ?= $breakpoint-sm
$breakpoint-md-min ?= $sizes[md]
$breakpoint-md-max ?= $breakpoint-md
$breakpoint-lg-min ?= $sizes[lg]
$breakpoint-lg-max ?= $breakpoint-lg
$breakpoint-xl-min ?= $sizes[xl]
$breakpoint-xl-max ?= 9999px
$backdrop-opacity ?= .3
$backdrop-background ?= rgba(0, 0, 0, $backdrop-opacity)
$router-link-active ?= router-link-active
$router-link-exact-active ?= router-link-exact-active
$headings ?= {
display-4: {
size: 112px,
weight: 300,
opacity: .54,
line-height: $min-line-height,
letter-spacing: -.04em
},
display-3: {
size: 56px,
weight: 400,
opacity: .54,
line-height: 1.35,
letter-spacing: -.02em
},
display-2: {
size: 45px,
weight: 400,
opacity: .54,
line-height: 48px,
letter-spacing: normal
},
display-1: {
size: 34px,
weight: 400,
opacity: .54,
line-height: 40px,
letter-spacing: normal
},
headline: {
size: 24px,
weight: 400,
opacity: .87
line-height: 32px,
letter-spacing: normal
},
title: {
size: 20px,
weight: 500,
opacity: .87
line-height: $min-line-height,
letter-spacing: .02em
},
subheading: {
size: 16px,
weight: 400,
opacity: .87
},
body-2: {
size: 14px,
weight: 500,
opacity: .87
},
body-1: {
size: 14px,
weight: 400,
opacity: .87
},
caption: {
size: 12px,
weight: 400,
opacity: .54
}
}
$h-tags ?= {
h1: $headings.display-4,
h2: $headings.display-3,
h3: $headings.display-2,
h4: $headings.display-1,
h5: $headings.headline,
h6: $headings.title
}
$text-weights ?= {
thin: 100,
light: 300,
regular: 400,
medium: 500,
bold: 700,
bolder: 900
}
$primary ?= #027be3
$secondary ?= #26A69A
$tertiary ?= #555
$positive ?= #21BA45
$negative ?= #DB2828
$info ?= #31CCEC
$warning ?= #F2C037
$light ?= #bdbdbd
$dark ?= #424242
$faded ?= #777
$form-light ?= #a7a7a7
$form-dark ?= #979797
$form-autofill ?= #ff9800
$dimmed-background ?= rgba(0, 0, 0, .4)
$light-dimmed-background ?= rgba(255, 255, 255, .6)
$red = #f44336
$red-1 = #ffebee
$red-2 = #ffcdd2
$red-3 = #ef9a9a
$red-4 = #e57373
$red-5 = #ef5350
$red-6 = #f44336
$red-7 = #e53935
$red-8 = #d32f2f
$red-9 = #c62828
$red-10 = #b71c1c
$red-11 = #ff8a80
$red-12 = #ff5252
$red-13 = #ff1744
$red-14 = #d50000
$pink = #e91e63
$pink-1 = #fce4ec
$pink-2 = #f8bbd0
$pink-3 = #f48fb1
$pink-4 = #f06292
$pink-5 = #ec407a
$pink-6 = #e91e63
$pink-7 = #d81b60
$pink-8 = #c2185b
$pink-9 = #ad1457
$pink-10 = #880e4f
$pink-11 = #ff80ab
$pink-12 = #ff4081
$pink-13 = #f50057
$pink-14 = #c51162
$purple = #9c27b0
$purple-1 = #f3e5f5
$purple-2 = #e1bee7
$purple-3 = #ce93d8
$purple-4 = #ba68c8
$purple-5 = #ab47bc
$purple-6 = #9c27b0
$purple-7 = #8e24aa
$purple-8 = #7b1fa2
$purple-9 = #6a1b9a
$purple-10 = #4a148c
$purple-11 = #ea80fc
$purple-12 = #e040fb
$purple-13 = #d500f9
$purple-14 = #aa00ff
$deep-purple = #673ab7
$deep-purple-1 = #ede7f6
$deep-purple-2 = #d1c4e9
$deep-purple-3 = #b39ddb
$deep-purple-4 = #9575cd
$deep-purple-5 = #7e57c2
$deep-purple-6 = #673ab7
$deep-purple-7 = #5e35b1
$deep-purple-8 = #512da8
$deep-purple-9 = #4527a0
$deep-purple-10 = #311b92
$deep-purple-11 = #b388ff
$deep-purple-12 = #7c4dff
$deep-purple-13 = #651fff
$deep-purple-14 = #6200ea
$indigo = #3f51b5
$indigo-1 = #e8eaf6
$indigo-2 = #c5cae9
$indigo-3 = #9fa8da
$indigo-4 = #7986cb
$indigo-5 = #5c6bc0
$indigo-6 = #3f51b5
$indigo-7 = #3949ab
$indigo-8 = #303f9f
$indigo-9 = #283593
$indigo-10 = #1a237e
$indigo-11 = #8c9eff
$indigo-12 = #536dfe
$indigo-13 = #3d5afe
$indigo-14 = #304ffe
$blue = #2196f3
$blue-1 = #e3f2fd
$blue-2 = #bbdefb
$blue-3 = #90caf9
$blue-4 = #64b5f6
$blue-5 = #42a5f5
$blue-6 = #2196f3
$blue-7 = #1e88e5
$blue-8 = #1976d2
$blue-9 = #1565c0
$blue-10 = #0d47a1
$blue-11 = #82b1ff
$blue-12 = #448aff
$blue-13 = #2979ff
$blue-14 = #2962ff
$light-blue = #03a9f4
$light-blue-1 = #e1f5fe
$light-blue-2 = #b3e5fc
$light-blue-3 = #81d4fa
$light-blue-4 = #4fc3f7
$light-blue-5 = #29b6f6
$light-blue-6 = #03a9f4
$light-blue-7 = #039be5
$light-blue-8 = #0288d1
$light-blue-9 = #0277bd
$light-blue-10 = #01579b
$light-blue-11 = #80d8ff
$light-blue-12 = #40c4ff
$light-blue-13 = #00b0ff
$light-blue-14 = #0091ea
$cyan = #00bcd4
$cyan-1 = #e0f7fa
$cyan-2 = #b2ebf2
$cyan-3 = #80deea
$cyan-4 = #4dd0e1
$cyan-5 = #26c6da
$cyan-6 = #00bcd4
$cyan-7 = #00acc1
$cyan-8 = #0097a7
$cyan-9 = #00838f
$cyan-10 = #006064
$cyan-11 = #84ffff
$cyan-12 = #18ffff
$cyan-13 = #00e5ff
$cyan-14 = #00b8d4
$teal = #009688
$teal-1 = #e0f2f1
$teal-2 = #b2dfdb
$teal-3 = #80cbc4
$teal-4 = #4db6ac
$teal-5 = #26a69a
$teal-6 = #009688
$teal-7 = #00897b
$teal-8 = #00796b
$teal-9 = #00695c
$teal-10 = #004d40
$teal-11 = #a7ffeb
$teal-12 = #64ffda
$teal-13 = #1de9b6
$teal-14 = #00bfa5
$green = #4caf50
$green-1 = #e8f5e9
$green-2 = #c8e6c9
$green-3 = #a5d6a7
$green-4 = #81c784
$green-5 = #66bb6a
$green-6 = #4caf50
$green-7 = #43a047
$green-8 = #388e3c
$green-9 = #2e7d32
$green-10 = #1b5e20
$green-11 = #b9f6ca
$green-12 = #69f0ae
$green-13 = #00e676
$green-14 = #00c853
$light-green = #8bc34a
$light-green-1 = #f1f8e9
$light-green-2 = #dcedc8
$light-green-3 = #c5e1a5
$light-green-4 = #aed581
$light-green-5 = #9ccc65
$light-green-6 = #8bc34a
$light-green-7 = #7cb342
$light-green-8 = #689f38
$light-green-9 = #558b2f
$light-green-10 = #33691e
$light-green-11 = #ccff90
$light-green-12 = #b2ff59
$light-green-13 = #76ff03
$light-green-14 = #64dd17
$lime = #cddc39
$lime-1 = #f9fbe7
$lime-2 = #f0f4c3
$lime-3 = #e6ee9c
$lime-4 = #dce775
$lime-5 = #d4e157
$lime-6 = #cddc39
$lime-7 = #c0ca33
$lime-8 = #afb42b
$lime-9 = #9e9d24
$lime-10 = #827717
$lime-11 = #f4ff81
$lime-12 = #eeff41
$lime-13 = #c6ff00
$lime-14 = #aeea00
$yellow = #ffeb3b
$yellow-1 = #fffde7
$yellow-2 = #fff9c4
$yellow-3 = #fff59d
$yellow-4 = #fff176
$yellow-5 = #ffee58
$yellow-6 = #ffeb3b
$yellow-7 = #fdd835
$yellow-8 = #fbc02d
$yellow-9 = #f9a825
$yellow-10 = #f57f17
$yellow-11 = #ffff8d
$yellow-12 = #ffff00
$yellow-13 = #ffea00
$yellow-14 = #ffd600
$amber = #ffc107
$amber-1 = #fff8e1
$amber-2 = #ffecb3
$amber-3 = #ffe082
$amber-4 = #ffd54f
$amber-5 = #ffca28
$amber-6 = #ffc107
$amber-7 = #ffb300
$amber-8 = #ffa000
$amber-9 = #ff8f00
$amber-10 = #ff6f00
$amber-11 = #ffe57f
$amber-12 = #ffd740
$amber-13 = #ffc400
$amber-14 = #ffab00
$orange = #ff9800
$orange-1 = #fff3e0
$orange-2 = #ffe0b2
$orange-3 = #ffcc80
$orange-4 = #ffb74d
$orange-5 = #ffa726
$orange-6 = #ff9800
$orange-7 = #fb8c00
$orange-8 = #f57c00
$orange-9 = #ef6c00
$orange-10 = #e65100
$orange-11 = #ffd180
$orange-12 = #ffab40
$orange-13 = #ff9100
$orange-14 = #ff6d00
$deep-orange = #ff5722
$deep-orange-1 = #fbe9e7
$deep-orange-2 = #ffccbc
$deep-orange-3 = #ffab91
$deep-orange-4 = #ff8a65
$deep-orange-5 = #ff7043
$deep-orange-6 = #ff5722
$deep-orange-7 = #f4511e
$deep-orange-8 = #e64a19
$deep-orange-9 = #d84315
$deep-orange-10 = #bf360c
$deep-orange-11 = #ff9e80
$deep-orange-12 = #ff6e40
$deep-orange-13 = #ff3d00
$deep-orange-14 = #dd2c00
$brown = #795548
$brown-1 = #efebe9
$brown-2 = #d7ccc8
$brown-3 = #bcaaa4
$brown-4 = #a1887f
$brown-5 = #8d6e63
$brown-6 = #795548
$brown-7 = #6d4c41
$brown-8 = #5d4037
$brown-9 = #4e342e
$brown-10 = #3e2723
$brown-11 = #d7ccc8
$brown-12 = #bcaaa4
$brown-13 = #8d6e63
$brown-14 = #5d4037
$grey ?= #9e9e9e
$grey-1 ?= #fafafa
$grey-2 ?= #f5f5f5
$grey-3 ?= #eeeeee
$grey-4 ?= #e0e0e0
$grey-5 ?= #bdbdbd
$grey-6 ?= #9e9e9e
$grey-7 ?= #757575
$grey-8 ?= #616161
$grey-9 ?= #424242
$grey-10 ?= #212121
$grey-11 ?= #f5f5f5
$grey-12 ?= #eeeeee
$grey-13 ?= #bdbdbd
$grey-14 ?= #616161
$blue-grey = #607d8b
$blue-grey-1 = #eceff1
$blue-grey-2 = #cfd8dc
$blue-grey-3 = #b0bec5
$blue-grey-4 = #90a4ae
$blue-grey-5 = #78909c
$blue-grey-6 = #607d8b
$blue-grey-7 = #546e7a
$blue-grey-8 = #455a64
$blue-grey-9 = #37474f
$blue-grey-10 = #263238
$blue-grey-11 = #cfd8dc
$blue-grey-12 = #b0bec5
$blue-grey-13 = #78909c
$blue-grey-14 = #455a64
active-color($color)
if luminosity($color) > .29
darken($color, 10%)
else
lighten($color, 30%)
light-active-color($color)
if luminosity($color) > .29
darken($color, 5%)
else
lighten($color, 20%)
dark-active-color($color)
if luminosity($color) > .1
darken($color, 20%)
else
lighten($color, 20%)
hover-color($color)
if luminosity($color) > .29
darken($color, 15%)
else
lighten($color, 15%)
strong-active-color($color)
if luminosity($color) > .29
darken($color, 20%)
else
lighten($color, 80%)
composite-color($color)
if luminosity($color) > .29
darken($color, 35%)
else
lighten($color, 65%)
opposite-non-color($color)
if luminosity($color) > .29
black
else
white
max(value1, value2)
if value1 <= value2
value2
else
value1
$ios-statusbar-height ?= 20px
$z-fab ?= 990
$z-side ?= 1000
$z-marginals ?= 2000
$z-fixed-drawer ?= 3000
$z-modal ?= 5000
$z-fullscreen ?= 6000
$z-top ?= 7000
$z-popover ?= 8000
$z-tooltip ?= 9000
$z-notify ?= 9500
$z-max ?= 9998
$shadow-color ?= black
$shadow-transition ?= box-shadow .28s cubic-bezier(.4, 0, .2, 1)
$inset-shadow = 0 7px 9px -7px alpha($shadow-color, .7) inset
$elevation-umbra = rgba($shadow-color, .2)
$elevation-penumbra = rgba($shadow-color, .14)
$elevation-ambient = rgba($shadow-color, .12)
$shadow-0 = 0 0 0 $elevation-umbra, 0 0 0 $elevation-penumbra, 0 0 0 $elevation-ambient
$shadow-1 = 0 1px 3px $elevation-umbra, 0 1px 1px $elevation-penumbra, 0 2px 1px -1px $elevation-ambient
$shadow-2 = 0 1px 5px $elevation-umbra, 0 2px 2px $elevation-penumbra, 0 3px 1px -2px $elevation-ambient
$shadow-3 = 0 1px 8px $elevation-umbra, 0 3px 4px $elevation-penumbra, 0 3px 3px -2px $elevation-ambient
$shadow-4 = 0 2px 4px -1px $elevation-umbra, 0 4px 5px $elevation-penumbra, 0 1px 10px $elevation-ambient
$shadow-5 = 0 3px 5px -1px $elevation-umbra, 0 5px 8px $elevation-penumbra, 0 1px 14px $elevation-ambient
$shadow-6 = 0 3px 5px -1px $elevation-umbra, 0 6px 10px $elevation-penumbra, 0 1px 18px $elevation-ambient
$shadow-7 = 0 4px 5px -2px $elevation-umbra, 0 7px 10px 1px $elevation-penumbra, 0 2px 16px 1px $elevation-ambient
$shadow-8 = 0 5px 5px -3px $elevation-umbra, 0 8px 10px 1px $elevation-penumbra, 0 3px 14px 2px $elevation-ambient
$shadow-9 = 0 5px 6px -3px $elevation-umbra, 0 9px 12px 1px $elevation-penumbra, 0 3px 16px 2px $elevation-ambient
$shadow-10 = 0 6px 6px -3px $elevation-umbra, 0 10px 14px 1px $elevation-penumbra, 0 4px 18px 3px $elevation-ambient
$shadow-11 = 0 6px 7px -4px $elevation-umbra, 0 11px 15px 1px $elevation-penumbra, 0 4px 20px 3px $elevation-ambient
$shadow-12 = 0 7px 8px -4px $elevation-umbra, 0 12px 17px 2px $elevation-penumbra, 0 5px 22px 4px $elevation-ambient
$shadow-13 = 0 7px 8px -4px $elevation-umbra, 0 13px 19px 2px $elevation-penumbra, 0 5px 24px 4px $elevation-ambient
$shadow-14 = 0 7px 9px -4px $elevation-umbra, 0 14px 21px 2px $elevation-penumbra, 0 5px 26px 4px $elevation-ambient
$shadow-15 = 0 8px 9px -5px $elevation-umbra, 0 15px 22px 2px $elevation-penumbra, 0 6px 28px 5px $elevation-ambient
$shadow-16 = 0 8px 10px -5px $elevation-umbra, 0 16px 24px 2px $elevation-penumbra, 0 6px 30px 5px $elevation-ambient
$shadow-17 = 0 8px 11px -5px $elevation-umbra, 0 17px 26px 2px $elevation-penumbra, 0 6px 32px 5px $elevation-ambient
$shadow-18 = 0 9px 11px -5px $elevation-umbra, 0 18px 28px 2px $elevation-penumbra, 0 7px 34px 6px $elevation-ambient
$shadow-19 = 0 9px 12px -6px $elevation-umbra, 0 19px 29px 2px $elevation-penumbra, 0 7px 36px 6px $elevation-ambient
$shadow-20 = 0 10px 13px -6px $elevation-umbra, 0 20px 31px 3px $elevation-penumbra, 0 8px 38px 7px $elevation-ambient
$shadow-21 = 0 10px 13px -6px $elevation-umbra, 0 21px 33px 3px $elevation-penumbra, 0 8px 40px 7px $elevation-ambient
$shadow-22 = 0 10px 14px -6px $elevation-umbra, 0 22px 35px 3px $elevation-penumbra, 0 8px 42px 7px $elevation-ambient
$shadow-23 = 0 11px 14px -7px $elevation-umbra, 0 23px 36px 3px $elevation-penumbra, 0 9px 44px 8px $elevation-ambient
$shadow-24 = 0 11px 15px -7px $elevation-umbra, 0 24px 38px 3px $elevation-penumbra, 0 9px 46px 8px $elevation-ambient
$shadow-up-0 = 0 0 0 $elevation-umbra, 0 0 0 $elevation-penumbra, 0 0 0 $elevation-ambient
$shadow-up-1 = 0 -1px 3px $elevation-umbra, 0 -1px 1px $elevation-penumbra, 0 -2px 1px -1px $elevation-ambient
$shadow-up-2 = 0 -1px 5px $elevation-umbra, 0 -2px 2px $elevation-penumbra, 0 -3px 1px -2px $elevation-ambient
$shadow-up-3 = 0 -1px 8px $elevation-umbra, 0 -3px 4px $elevation-penumbra, 0 -3px 3px -2px $elevation-ambient
$shadow-up-4 = 0 -2px 4px -1px $elevation-umbra, 0 -4px 5px $elevation-penumbra, 0 -1px 10px $elevation-ambient
$shadow-up-5 = 0 -3px 5px -1px $elevation-umbra, 0 -5px 8px $elevation-penumbra, 0 -1px 14px $elevation-ambient
$shadow-up-6 = 0 -3px 5px -1px $elevation-umbra, 0 -6px 10px $elevation-penumbra, 0 -1px 18px $elevation-ambient
$shadow-up-7 = 0 -4px 5px -2px $elevation-umbra, 0 -7px 10px 1px $elevation-penumbra, 0 -2px 16px 1px $elevation-ambient
$shadow-up-8 = 0 -5px 5px -3px $elevation-umbra, 0 -8px 10px 1px $elevation-penumbra, 0 -3px 14px 2px $elevation-ambient
$shadow-up-9 = 0 -5px 6px -3px $elevation-umbra, 0 -9px 12px 1px $elevation-penumbra, 0 -3px 16px 2px $elevation-ambient
$shadow-up-10 = 0 -6px 6px -3px $elevation-umbra, 0 -10px 14px 1px $elevation-penumbra, 0 -4px 18px 3px $elevation-ambient
$shadow-up-11 = 0 -6px 7px -4px $elevation-umbra, 0 -11px 15px 1px $elevation-penumbra, 0 -4px 20px 3px $elevation-ambient
$shadow-up-12 = 0 -7px 8px -4px $elevation-umbra, 0 -12px 17px 2px $elevation-penumbra, 0 -5px 22px 4px $elevation-ambient
$shadow-up-13 = 0 -7px 8px -4px $elevation-umbra, 0 -13px 19px 2px $elevation-penumbra, 0 -5px 24px 4px $elevation-ambient
$shadow-up-14 = 0 -7px 9px -4px $elevation-umbra, 0 -14px 21px 2px $elevation-penumbra, 0 -5px 26px 4px $elevation-ambient
$shadow-up-15 = 0 -8px 9px -5px $elevation-umbra, 0 -15px 22px 2px $elevation-penumbra, 0 -6px 28px 5px $elevation-ambient
$shadow-up-16 = 0 -8px 10px -5px $elevation-umbra, 0 -16px 24px 2px $elevation-penumbra, 0 -6px 30px 5px $elevation-ambient
$shadow-up-17 = 0 -8px 11px -5px $elevation-umbra, 0 -17px 26px 2px $elevation-penumbra, 0 -6px 32px 5px $elevation-ambient
$shadow-up-18 = 0 -9px 11px -5px $elevation-umbra, 0 -18px 28px 2px $elevation-penumbra, 0 -7px 34px 6px $elevation-ambient
$shadow-up-19 = 0 -9px 12px -6px $elevation-umbra, 0 -19px 29px 2px $elevation-penumbra, 0 -7px 36px 6px $elevation-ambient
$shadow-up-20 = 0 -10px 13px -6px $elevation-umbra, 0 -20px 31px 3px $elevation-penumbra, 0 -8px 38px 7px $elevation-ambient
$shadow-up-21 = 0 -10px 13px -6px $elevation-umbra, 0 -21px 33px 3px $elevation-penumbra, 0 -8px 40px 7px $elevation-ambient
$shadow-up-22 = 0 -10px 14px -6px $elevation-umbra, 0 -22px 35px 3px $elevation-penumbra, 0 -8px 42px 7px $elevation-ambient
$shadow-up-23 = 0 -11px 14px -7px $elevation-umbra, 0 -23px 36px 3px $elevation-penumbra, 0 -9px 44px 8px $elevation-ambient
$shadow-up-24 = 0 -11px 15px -7px $elevation-umbra, 0 -24px 38px 3px $elevation-penumbra, 0 -9px 46px 8px $elevation-ambient
$generic-border-radius ?= 4px
$generic-hover-transition ?= .3s cubic-bezier(.25, .8, .5, 1)
$typography-font-family ?= '-apple-system', 'Helvetica Neue', Helvetica, Arial, sans-serif
$min-line-height ?= 1.19
$action-sheet-background ?= white
$action-sheet-border-radius ?= 13px
$action-sheet-hover-background ?= #d0d0d0
$alert-padding ?= 12px
$alert-border-radius ?= $generic-border-radius
$alert-min-width ?= 200px
$button-border-radius ?= $generic-border-radius
$button-padding ?= 4px 16px
$button-dense-padding ?= .285em
$button-transition ?= $generic-hover-transition
$button-font-size ?= 14px
$button-rounded-border-radius ?= 28px
$button-push-border-radius ?= 7px
$card-faded-color ?= rgba(0, 0, 0, .4)
$card-separator-color ?= rgba(0, 0, 0, .1)
$card-overlay-color ?= rgba(0, 0, 0, .47)
$card-shadow ?= $shadow-2
$card-dark-faded-color ?= rgba(255, 255, 255, .6)
$card-dark-separator-color ?= rgba(255, 255, 255, .2)
$carousel-padding ?= 18px
$carousel-quick-nav-icon-font-size ?= 18px
$carousel-quick-nav-icon-inactive-font-size ?= 14px
$carousel-quick-nav-background ?= rgba(0, 0, 0, .3)
$chat-message-received-color ?= black
$chat-message-received-bg ?= $green-4
$chat-message-sent-color ?= black
$chat-message-sent-bg ?= $grey-4
$chat-message-avatar-size ?= 48px
$chat-message-border-radius ?= 20px
$chat-message-distance ?= 8px
$chat-message-text-padding-vert ?= 9px
$chat-message-text-padding-horiz ?= 11px
$chip-border ?= #e0e0e0
$chip-border-radius ?= 2rem
$chip-font-size ?= 14px
$chip-padding-horizontal ?= 0
$chip-padding-vertical ?= 12px
$chip-height ?= 32px
$chip-icon-size ?= 24px
$chip-small-icon-size ?= 16px
$chip-small-height ?= 26px
$chip-color ?= black
$chip-background ?= $grey-3
$item-dense-factor ?= .2
$item-sparse-factor ?= 1.4
$item-base-color ?= $grey-5
$item-highlight-color ?= alpha($item-base-color, 50%)
$item-stripe-color ?= alpha($item-base-color, 65%)
$item-active-color ?= alpha($item-base-color, 40%)
$item-side-color ?= #737373
$item-label-color ?= $grey-7
$item-content-secondary-text-color ?= $grey-7
$item-separator-color ?= rgb(224, 224, 224)
$item-base-dark-color ?= $grey-7
$item-highlight-dark-color ?= alpha($item-base-dark-color, 30%)
$item-stripe-dark-color ?= alpha($item-base-dark-color, 45%)
$item-active-dark-color ?= alpha($item-base-dark-color, 20%)
$item-side-dark-color ?= #bbb
$item-label-dark-color ?= rgba(255,255,255,0.64)
$item-content-secondary-text-dark-color ?= $grey-5
$item-separator-dark-color ?= rgba(255,255,255,0.32)
$item-min-height ?= 40px
$item-padding ?= 16px
$item-gutter ?= 10px
$item-primary-size ?= 38px
$item-inverted-icon-size ?= round($item-primary-size * .52)
$item-icon-size ?= round($item-primary-size * .63)
$item-image-size ?= round(3 * $item-primary-size)
$item-font-size ?= 1rem
$item-stamp-font-size ?= .8rem
$item-inset ?= ($item-gutter + $item-primary-size)
$jumbotron-padding ?= 2rem 1rem
$jumbotron-large-padding ?= 4rem 2rem
$jumbotron-border-radius ?= $generic-border-radius
$jumbotron-bg ?= $grey-3
$jumbotron-dark-bg ?= $grey-7
$jumbotron-dark-color ?= white
$collapsible-padding ?= 8px 16px
$collapsible-indent-left-padding ?= ($item-primary-size + $item-gutter)
$collapsible-active-color ?= $item-active-color
$collapsible-menu-left-padding ?= 48px
$datetime-range-space ?= 10px
$datetime-input-min-width ?= 70px
$dot-color ?= $red
$dot-opacity ?= .8
$dot-size ?= 10px
$dot-position-top ?= -2px
$dot-position-right ?= -10px
$editor-border-color ?= #ccc
$editor-border ?= 1px solid $editor-border-color
$editor-content-padding ?= 10px
$editor-content-min-height ?= 10em
$editor-toolbar-padding ?= 4px
$editor-hr-color ?= $editor-border-color
$editor-button-gutter ?= 5px
$fab-margin ?= 5px
$field-icon-size ?= 28px
$field-label-color ?= $dark
$field-dark-label-color ?= $light
$table-transition ?= $generic-hover-transition
$table-border-radius ?= $generic-border-radius
$table-box-shadow ?= $shadow-2
$table-border-color ?= rgba(0, 0, 0, .12)
$table-color ?= rgba(0, 0, 0, .87)
$table-header-color ?= rgba(0, 0, 0, .54)
$table-hover-background ?= rgba(0, 0, 0, .03)
$table-selected-background ?= rgba(0, 0, 0, .06)
$table-dark-border-color ?= rgba(255, 255, 255, .12)
$table-dark-color ?= white
$table-dark-header-color ?= rgba(255, 255, 255, .64)
$table-dark-hover-background ?= rgba(255, 255, 255, .1)
$table-dark-selected-background ?= rgba(255, 255, 255, .2)
$input-margin-top ?= 16px
$input-margin-bottom ?= 8px
$input-font-size ?= 1rem
$input-label-top-scale ?= .75
$input-padding-x ?= 8px
$input-padding-top ?= 25px
$input-padding-bottom ?= 7px
$input-control-size ?= 24px
$input-control-margin ?= 4px
$input-min-height ?= $input-control-size
$input-hide-underline-padding-top ?= 18px
$input-box-padding-top ?= $input-padding-top
$input-box-padding-bottom ?= $input-padding-bottom
$input-inverted-border-radius ?= $generic-border-radius
$input-label-transform-base ?= translate(0, 0)
$input-label-box-transform-base ?= translate(0, -21px)
$input-label-transform ?= translate(0, -100%)
$input-label-box-transform ?= translate(0, -125%)
$input-frame-transition ?= all .45s cubic-bezier(.23, 1, .32, 1), display 0s 0s
$input-frame-transition-border ?= opacity .45s cubic-bezier(.23, 1, .32, 1)
$toolbar-min-height ?= 50px
$toolbar-padding ?= 4px 10px
$toolbar-title-font-size ?= 16px
$toolbar-subtitle-font-size ?= 12px
$toolbar-title-font-weight ?= 600
$toolbar-title-padding ?= 0 5px
$layout-aside-background ?= white
$layout-border-color ?= $item-separator-color
$layout-border ?= 1px solid $layout-border-color
$loading-background ?= $dimmed-background
$modal-background ?= white
$modal-width ?= 80vw
$modal-max-width ?= 1000px
$modal-height ?= 80vh
$modal-max-height ?= 1000px
$modal-header-font-size ?= 1.3rem
$modal-header-padding ?= 20px 16px 10px
$modal-header-text-align ?= center
$modal-body-color ?= black
$modal-body-padding ?= 10px 16px 21px
$modal-scroll-size ?= 240px
$modal-buttons-padding ?= 0
$modal-border-radius ?= 13px
$label-offset ?= 8px
$paralax-text-shadow ?= 0 0 5px white
$popover-background ?= white
$popover-box-shadow ?= $shadow-4
$popover-max-width ?= 100vw
$progress-track-height ?= 5px
$progress-track-color ?= currentColor
$progress-track-opacity ?= .2
$progress-transition ?= width .3s linear
$pull-to-refresh-font-size ?= 1rem
$pull-to-refresh-icon-size ?= 2rem
$rating-grade-color ?= $yellow
$rating-shadow ?= 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24)
$stepper-divider-color ?= rgba(0, 0, 0, .12)
$stepper-label-color ?= rgba(0, 0, 0, .56)
$stepper-label-inactive-color ?= rgba(0, 0, 0, .42)
$stepper-hover-background ?= rgba(0, 0, 0, .05)
$stepper-active-background ?= rgba(0, 0, 0, .17)
$stepper-pane-padding ?= 16px
$stepper-border-radius ?= $generic-border-radius
$tabs-padding ?= 8px 10px
$tabs-big-screen-horiz-padding ?= 25px
$tabs-min-height ?= 35px
$tabs-big-screen-side-padding ?= 12px
$tabs-pane-padding ?= 12px
$tabs-pane-border ?= 1px solid rgba(0, 0, 0, .1)
$tabs-unselected-opacity ?= .6
$tabs-font-size ?= .7rem
$tabs-big-font-size ?= .9rem
$tabs-icon-font-size ?= 1.5rem
$tabs-font-weight ?= 400
$tooltip-color ?= black
$tooltip-background ?= white
$tooltip-box-shadow ?= $shadow-6
$tooltip-padding ?= 10px
$tooltip-border-radius ?= $generic-border-radius
$tooltip-fontsize ?= 12px
$tree-connector-color ?= #ccc
$tree-label-padding ?= 5px
$tree-label-border-radius ?= $generic-border-radius
$tree-highlight-color ?= inherit
$tree-highlight-background ?= $tree-connector-color
$tree-label-icon-font-size ?= 1.3rem
*, *:before, *:after
box-sizing inherit
-webkit-tap-highlight-color transparent
-moz-tap-highlight-color transparent
html, body, #q-app
width 100%
direction ltr
html, body
margin 0
box-sizing border-box
input[type='text'], input[type='email'], input[type='search'], input[type='password']
-webkit-appearance none
-moz-appearance none /* mobile firefox too! */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary
display block
audio:not([controls])
display none
height 0
abbr[title]
border-bottom none
text-decoration underline
text-decoration underline dotted
dfn
font-style italic
img
border-style none
svg:not(:root)
overflow hidden
code, kbd, pre, samp
font-family monospace, monospace
font-size 1em
hr
box-sizing content-box
height 0
overflow visible
button,
input,
select,
textarea
font inherit
margin 0
optgroup
font-weight bold
button,
input,
select
overflow visible
button::-moz-focus-inner, input::-moz-focus-inner
border 0
padding 0
button:-moz-focusring, input:-moz-focusring
outline 1px dotted ButtonText
textarea
overflow auto
input[type='search']
-webkit-appearance textfield
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration
-webkit-appearance none
.q-icon
line-height 1
letter-spacing normal
text-transform none
white-space nowrap
word-wrap normal
direction ltr
.q-icon, .material-icons
user-select none
cursor inherit
font-size inherit
display inline-flex
align-items center
justify-content center
vertical-align middle
.q-actionsheet
border-radius $action-sheet-border-radius
background $action-sheet-background
max-width 95%
margin-left auto
margin-right auto
margin-bottom 10px
overflow hidden
.q-actionsheet-title
min-height 48px
padding 0 16px
color $faded
color var(--q-color-faded)
text-align center
.q-actionsheet-grid
padding 8px 16px
.q-item-separator-component
margin 18px 0
.q-actionsheet-grid-item
padding 8px 16px
transition background .3s
&:hover, &:focus
background $action-sheet-hover-background
outline 0
i, img
font-size 48px
margin-bottom 4px
.avatar
width 48px
height 48px
span
color $faded
color var(--q-color-faded)
.q-loading-bar
position fixed
z-index $z-max
transition transform .5s cubic-bezier(0, 0, .2, 1), opacity .5s
&.top
left 0 /* rtl:ignore */
right 0 /* rtl:ignore */
top 0
width 100%
&.bottom
left 0 /* rtl:ignore */
right 0 /* rtl:ignore */
bottom 0
width 100%
&.right
top 0
bottom 0
right 0
height 100%
&.left
top 0
bottom 0
left 0
height 100%
.q-alert
border-radius $generic-border-radius
box-shadow none
.avatar
width 32px
height 32px
.q-alert-side, .q-alert-content
padding 12px
font-size 16px
word-break break-word
.q-alert-side
font-size 24px
background rgba(0, 0, 0, .1)
.q-alert-actions
padding 12px 12px 12px 0
.q-alert-detail
font-size 12px
.q-breadcrumbs
.q-icon, .q-breadcrumbs-separator
font-size 150%
.q-breadcrumbs-last a
pointer-events none
[dir=rtl] .q-breadcrumbs-separator .q-icon
transform scaleX(-1) /* rtl:ignore */
.q-btn
outline 0
border 0
vertical-align middle
cursor pointer
padding $button-padding
font-size $button-font-size
text-decoration none
color inherit
background transparent
transition $button-transition
min-height 2.572em
button&
-webkit-appearance button
a&
display inline-flex
.q-icon, .q-spinner
font-size 1.4em
.q-btn-inner
transition opacity .6s
&--hidden
opacity 0
&:before
content ''
&.disabled
opacity .7 !important
.q-btn-progress
transition all .3s
height 100%
background rgba(255, 255, 255, .25)
&.q-btn-dark-progress
background rgba(0, 0, 0, .2)
.q-btn-rectangle
border-radius $button-border-radius
.q-btn-outline
border 1px solid currentColor
background transparent !important
.q-btn-push
border-radius $button-push-border-radius
border-bottom 3px solid rgba(0, 0, 0, .15)
&:active:not(.disabled)
&.active:not(.disabled)
transform translateY(3px)
border-bottom-color transparent
.q-focus-helper, .q-ripple-container
height auto
bottom -3px
.q-btn-rounded
border-radius $button-rounded-border-radius
.q-btn-round
border-radius 50%
padding 0
min-height 0
height 3em
width 3em
.q-btn-dense
padding $button-dense-padding
min-height 2em
&.q-btn-round
padding 0
height 2.4em
width 2.4em
.on-left
margin-right 6px
.on-right
margin-left 6px
.q-btn-fab, .q-btn-fab-mini
.q-icon
font-size 24px
.q-btn-fab
height 56px
width 56px
.q-btn-fab-mini
height 40px
width 40px
.q-transition
&--fade
&-leave-active
position absolute
&--fade
&-enter-active, &-leave-active
transition opacity .4s ease-out
&-enter, &-leave, &-leave-to
opacity 0
.q-btn-dropdown-split .q-btn-dropdown-arrow
padding 0 4px
border-left 1px solid rgba(255, 255, 255, .3)
.q-btn-group
border-radius $button-border-radius
vertical-align middle
> .q-btn-group
> .q-btn:first-child
border-top-left-radius inherit
border-bottom-left-radius inherit
> .q-btn:last-child
border-top-right-radius inherit
border-bottom-right-radius inherit
> .q-btn-group:not(:first-child) > .q-btn:first-child
border-left 0
> .q-btn-group:not(:last-child) > .q-btn:last-child
border-right 0
> .q-btn-item:not(:last-child)
border-top-right-radius 0
border-bottom-right-radius 0
> .q-btn-item + .q-btn-item
border-top-left-radius 0
border-bottom-left-radius 0
.q-btn-group-push
border-radius $button-push-border-radius
> .q-btn-push
.q-btn-inner
transition $button-transition
&:active:not(.disabled)
&.active:not(.disabled)
border-bottom-color rgba(0, 0, 0, .15)
transform translateY(0)
.q-btn-inner
transform translateY(3px)
.q-btn-group-rounded
border-radius $button-rounded-border-radius
.q-btn-group-outline
> .q-btn-item + .q-btn-item
border-left 0
> .q-btn-item:not(:last-child)
border-right 0
.q-card
border-radius $generic-border-radius
box-shadow $card-shadow
vertical-align top
> div:first-child
border-top-left-radius inherit
border-top-right-radius inherit
> div:last-child
border-bottom-left-radius inherit
border-bottom-right-radius inherit
> .q-list
border 0
.q-card-separator
background $card-separator-color
height 1px
&.inset
margin 0 16px
.q-card-container
padding 16px
.q-card-title
font-size 18px
font-weight 400
letter-spacing normal
line-height 2rem
&:empty
display none
.q-card-subtitle, .q-card-title-extra
font-size 14px
color $card-faded-color
.q-icon
font-size 24px
.q-card-main
font-size 14px
.q-card-primary + .q-card-main
padding-top 0
.q-card-actions
padding 8px
.q-btn
padding 0 8px
.q-card-actions-horiz
.q-btn:not(:last-child)
margin-right 8px
.q-card-actions-vert
.q-btn + .q-btn
margin-top 4px
.q-card-media
overflow hidden
> img
display block
width 100%
max-width 100%
border 0
.q-card-media-overlay
color white
background $card-overlay-color
.q-card-subtitle
color white
.q-card-dark
.q-card-separator
background $card-dark-separator-color
.q-card-subtitle, .q-card-title-extra
color $card-dark-faded-color
.q-carousel
overflow hidden
position relative
.q-carousel-inner
position relative
height 100%
.q-carousel-slide
flex 0 0 100%
margin 0
padding $carousel-padding
.q-carousel-track
padding 0
margin 0
will-change transform
display flex
flex-wrap nowrap
height 100%
&.infinite-left > div:nth-last-child(2)
order -1000
margin-left -100%
&.infinite-right > div:nth-child(2)
order 1000
.q-carousel-left-arrow,
.q-carousel-right-arrow
top 50%
transform translateY(-50%)
background $carousel-quick-nav-background
.q-carousel-left-arrow
left 5px
.q-carousel-right-arrow
right 5px
.q-carousel-quick-nav
padding 2px 0
background $carousel-quick-nav-background
.q-icon
font-size $carousel-quick-nav-icon-font-size !important
.q-btn.inactive
opacity .5
.q-icon
font-size $carousel-quick-nav-icon-inactive-font-size !important
.q-carousel-thumbnails
will-change transform
transition transform .3s
transform translateY(105%)
width 100%
height auto
max-height 60%
overflow auto
background black
padding .5rem
text-align center
box-shadow 0 -3px 6px rgba(0, 0, 0, .16), 0 -5px 6px rgba(0, 0, 0, .23)
&.active
transform translateY(0)
img
height auto
width 100%
display block
opacity .5
will-change opacity
transition opacity .3s
cursor pointer
border 1px solid black
> div > div
flex 0 0 108px
&.active img, img.active
opacity 1
border-color white
.q-carousel-thumbnail-btn
background $carousel-quick-nav-background
top 5px
right 5px
body.desktop .q-carousel-thumbnails img:hover
opacity 1
.q-message-name, .q-message-stamp, .q-message-label
font-size small
.q-message-name
padding-left $chat-message-text-padding-horiz
.q-message-label
margin (3 * $chat-message-distance) 0
.q-message-stamp
color inherit
margin-top 4px
opacity .6
display none
.q-message-avatar
border-radius 50%
width $chat-message-avatar-size
height $chat-message-avatar-size
.q-message
margin-bottom $chat-message-distance
&:first-child .q-message-label
margin-top 0
.q-message-received
.q-message-avatar
margin-right 8px
.q-message-text
color $chat-message-received-bg
border-radius $chat-message-border-radius
&:last-child
&:before
left -7px
border-left 20px solid currentColor
border-bottom-right-radius 16px 14px
&:after
left 23px
border-bottom-right-radius 10px
.q-message-text-content
color $chat-message-received-color
.q-message-sent
.q-message-name
text-align right
padding-right $chat-message-text-padding-horiz
.q-message-avatar
margin-left 8px
.q-message-container
flex-direction row-reverse
.q-message-text
color $chat-message-sent-bg
border-radius $chat-message-border-radius
&:last-child
&:before
right -7px
border-right 20px solid currentColor
border-bottom-left-radius 16px 14px
&:after
right -37px
border-bottom-left-radius 10px
.q-message-text-content
color $chat-message-sent-color
.q-message-text
background currentColor
padding $chat-message-text-padding-vert $chat-message-text-padding-horiz
line-height max(1.2, $min-line-height)
word-break break-word
position relative
transform translate3d(0, 0, 0)
& + &
margin-top 3px
&:last-child
min-height $chat-message-avatar-size
.q-message-stamp
display block
&:before, &:after
content ''
position absolute
bottom -2px
height 20px
transform translate(0, -2px)
&:after
background white
width 7px
transform translate(-30px, -2px)
$checkbox-size = 21px
.q-checkbox-icon
height $checkbox-size
width $checkbox-size
font-size $checkbox-size
opacity 0
.q-chip
min-height $chip-height
max-width 100%
padding $chip-padding-horizontal $chip-padding-vertical
font-size $chip-font-size
border $chip-border
border-radius $chip-border-radius
vertical-align middle
color $chip-color
background $chip-background
&:focus .q-chip-close
opacity .8
.q-icon
font-size $chip-icon-size
line-height 1
.q-chip-main
line-height initial
flex 1 1 auto
.q-chip-side
border-radius 50%
height $chip-height
width $chip-height
min-width $chip-height
overflow hidden
img
width 100%
height 100%
.q-chip-left
margin-left -12px
margin-right 8px
.q-chip-right
margin-left 2px
margin-right -12px
.q-chip-square
border-radius 2px
.q-chip-floating
position absolute
top -.3em
right -.3em
pointer-events none
z-index 1
.q-chip-tag
position relative
padding-left 1.7rem
&:after
content ''
position absolute
top 50%
left .5rem
margin-top -.25rem
background white
width .5rem
height .5rem
box-shadow 0 -1px 1px 0 rgba(0, 0, 0, .3)
border-radius 50%
.q-chip-pointing
position relative
z-index 0
&:before
content ''
z-index -1
background inherit
width 16px
height 16px
position absolute
.q-chip-pointing-up
margin-top .8rem
&:before
top 0
left 50%
transform translateX(-50%) translateY(-22%) rotate(45deg)
.q-chip-pointing-down
margin-bottom .8rem
&:before
right auto
top 100%
left 50%
transform translateX(-50%) translateY(-78%) rotate(45deg)
.q-chip-pointing-right
margin-right .8rem
&:before
top 50%
right 2px
bottom auto
left auto
transform translateX(33%) translateY(-50%) rotate(45deg)
.q-chip-pointing-left
margin-left .8rem
&:before
top 50%
left 2px
bottom auto
right auto
transform translateX(-33%) translateY(-50%) rotate(45deg)
.q-chip-detail
background rgba(0, 0, 0, .1)
opacity .8
padding 0 5px
border-radius inherit
border-top-right-radius 0
border-bottom-right-radius 0
.q-chip-small
min-height $chip-small-height
.q-chip-main
padding 4px 1px
line-height initial
.q-chip-side
height $chip-small-height
width $chip-small-height
min-width $chip-small-height
.q-chip-icon
font-size $chip-small-icon-size
.q-chip-dense
min-height 1px
padding 0 3px
font-size 12px
&.q-chip-tag
padding-left 1.3rem
&.q-chip-pointing:before
width 9px
height 9px
.q-chip-main
padding 1px
.q-chip-side
height 18px
width 18px
min-width 16px
font-size 14px
.q-chip-left
margin-left -3px
margin-right 2px
.q-chip-right
margin-left 2px
margin-right -2px
.q-icon
font-size 16px
.q-input-chips
margin-top -1px
margin-bottom -1px
.q-chip
margin 1px
input.q-input-target
min-width 70px !important
.q-collapsible-sub-item
padding $collapsible-padding
&.indent
padding-left $collapsible-menu-left-padding
padding-right 0
.q-card
margin-bottom 0
.q-collapsible.{$router-link-active} > .q-item
background $collapsible-active-color
.q-collapsible
transition padding .5s
.q-collapsible-popup-closed
padding 0 15px
.q-collapsible-inner
border 1px solid $item-separator-color
& + &
.q-collapsible-inner
border-top 0
.q-collapsible-popup-opened
padding 15px 0
.q-collapsible-inner
box-shadow $shadow-2
& + &, &:first-child
padding-top 0
&:last-child
padding-bottom 0
.q-collapsible-cursor-pointer > .q-collapsible-inner > .q-item
cursor pointer
.q-collapsible-toggle-icon
border-radius 50%
width 1em
text-align center
.q-color
max-width 100vw
border 1px solid $grey-4
display inline-block
width 100%
background white
.q-color-saturation
width 100%
height 123px
.q-color-saturation-white
background linear-gradient(to right, white, rgba(255, 255, 255, 0))
.q-color-saturation-black
background linear-gradient(to top, black, rgba(0, 0, 0, 0))
.q-color-saturation-circle
width 10px
height 10px
box-shadow 0 0 0 1.5px white, inset 0 0 1px 1px rgba(0, 0, 0, .3), 0 0 1px 2px rgba(0, 0, 0, .4)
border-radius 50%
transform translate(-5px, -5px)
.q-color-swatch, .q-color-alpha .q-slider-track
background-image url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==') !important
.q-color-swatch
position relative
width 32px
height 32px
border-radius 50%
background white
border 1px solid $grey-4
.q-color-hue .q-slider-track
border-radius 2px
background linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%)
opacity 1
height $dot-size * .8
&.active-track
opacity 0
.q-color-alpha .q-slider-track
position relative
background white
opacity 1
height $dot-size * .8
&:after
content ''
position absolute
left 0
right 0
top 0
bottom 0
background linear-gradient(90deg, rgba(255, 255, 255, 0), $grey-7)
&.active-track
opacity 0
.q-color-sliders
height 66px
.q-slider
height 24px
.q-slider-handle
height 18px
width 18px
box-shadow 0 1px 4px 0 rgba(0, 0, 0, .37)
.q-slider-ring
display none
.q-color-inputs
font-size 11px
color $grey-7
input
border 1px solid $grey-4
outline 0
.q-color-padding
padding 0 2px
.q-color-label
padding-top 4px
.q-color-dark
background black
border 1px solid $grey-9
input
background black
color $light
color var(--q-color-light)
border 1px solid $dark
border 1px solid var(--q-color-dark)
.q-color-inputs
color $light
color var(--q-color-light)
.q-color-swatch
border 1px solid $dark
border 1px solid var(--q-color-dark)
.q-datetime-input
min-width $datetime-input-min-width
.q-datetime
border 1px solid $grey-4
&.type-date, &.type-datetime
min-width 320px
&.type-time
min-width 250px
.q-datetime-content
height 200px
position relative
.q-datetime-inner
font-size 21px
overflow hidden
perspective 1200px
height 100%
text-align right
position relative
padding 0
direction ltr /* rtl:ignore */
.q-datetime-col
display block
overflow visible
transform-style preserve-3d
position relative
max-height 100%
.q-datetime-col-wrapper, .q-datetime-item
transform-style preserve-3d
transition all .2s ease-out
cursor pointer
.q-datetime-col-divider
max-height 100%
width 10px
.q-datetime-col-month
width 117px
text-align left
.q-datetime-col-day
width 37px
.q-datetime-col-year
width 61px
.q-datetime-col-hour
width 37px
.q-datetime-col-minute
width 37px
.q-datetime-item
font-size 85%
height 36px
line-height 36px
color rgba(0, 0, 0, .87)
position absolute
white-space nowrap
overflow hidden
text-overflow ellipsis
left 0
top 0
width 100%
backface-visibility hidden
transform-origin center center -110px
[dir=rtl] .q-datetime-col-month .q-datetime-item
padding-right 5px
.q-datetime-mask
position absolute
top 0
right 0
bottom 0
left 0
height 100%
width 100%
background linear-gradient(to top, white, rgba(255, 255, 255, 0.0) 50%, white)
pointer-events none
.q-datetime-highlight
height 36px
position absolute
left 0
right 0
width 100%
top 50%
margin-top -18px
pointer-events none
border-top 1px solid $grey-5
border-bottom 1px solid $grey-5
.q-datetime-range
&.row
.q-datetime-range-left
border-top-right-radius 0
border-bottom-right-radius 0
.q-datetime-range-right
border-top-left-radius 0
border-bottom-left-radius 0
&.column > div + div
margin-top $datetime-range-space
.q-datetime-dark
background $dark
background var(--q-color-dark)
.modal-buttons
background black
.q-datetime-item
color rgba(255, 255, 255, .87)
.q-datetime-mask
background linear-gradient(to top, black, rgba(0, 0, 0, 0.0) 50%, black)
@media (max-width $breakpoint-sm-max)
.datetime-ios-modal
&.type-date, &.type-datetime
min-width 320px
width auto
&.type-time
min-width 250px
width auto
@media (min-width $breakpoint-md-min)
.datetime-ios-modal.type-time
min-width 280px
.q-dot
position absolute
top $dot-position-top
right $dot-position-right
height $dot-size
width $dot-size
border-radius 50%
background $dot-color
opacity $dot-opacity
.q-editor
border $editor-border
&.disabled
border-style dashed
&.fullscreen
border 0 !important
.q-editor-content
outline 0
padding $editor-content-padding
min-height $editor-content-min-height
background white
hr
border 0
outline 0
margin 1px
height 1px
background $editor-hr-color
.q-editor-toolbar-padding
padding $editor-toolbar-padding
.q-editor-toolbar
border-bottom $editor-border
background $grey-4
min-height 37px
.q-btn-group
box-shadow none
.q-btn-group + .q-btn-group
margin-left $editor-button-gutter
.q-editor-toolbar-separator
.q-btn-group + .q-btn-group
padding-left $editor-button-gutter
&:before
content ''
position absolute
left 0
top 0
bottom 0
height 100%
width 1px
background $editor-border-color
.q-editor-input input
color inherit
.q-fab
position relative
vertical-align middle
.z-fab
z-index $z-fab
.q-fab-opened
.q-fab-actions
opacity 1
transform scaleX(1) scaleY(1) translateX(0) translateY(0)
pointer-events all
.q-fab-icon
transform rotate3d(0, 0, 1, 180deg)
opacity 0
.q-fab-active-icon
transform rotate3d(0, 0, 1, 0deg)
opacity 1
.q-fab-icon, .q-fab-active-icon
transition opacity .4s, transform .4s
.q-fab-icon
opacity 1
transform rotate3d(0, 0, 1, 0deg)
.q-fab-active-icon
opacity 0
transform rotate3d(0, 0, 1, -180deg)
.q-fab-actions
position absolute
opacity 0
transition all .2s ease-in
pointer-events none
.q-btn
margin $fab-margin
.q-fab-right
transform scaleX(.4) scaleY(.4) translateX(-100%)
top 0
bottom 0
left 120%
.q-fab-left
transform scaleX(.4) scaleY(.4) translateX(100%)
top 0
bottom 0
right 120%
flex-direction row-reverse
.q-fab-up
transform scaleX(.4) scaleY(.4) translateY(100%)
flex-direction column-reverse
justify-content center
bottom 120%
left 0
right 0
.q-fab-down
transform scaleX(.4) scaleY(.4) translateY(-100%)
flex-direction column
justify-content center
top 120%
left 0
right 0
.q-field-icon
width $field-icon-size
height $field-icon-size
min-width $field-icon-size
font-size $field-icon-size
margin-right 16px
color $field-label-color
.q-field-label
padding-right 8px
color $field-label-color
.q-field-label-inner
min-height $field-icon-size
.q-field-label-hint
padding-left 8px
.q-field-bottom
font-size 12px
padding-top $input-margin-bottom
color $form-dark
.q-field-no-input .q-field-bottom
margin-top 8px
border-top 1px solid rgba(0, 0, 0, .12)
.q-field-counter
color $field-label-color
padding-left 8px
.q-field-dark
.q-field-label, .q-field-icon, .q-field-counter, .q-field-bottom
color $form-light
.q-field-no-input .q-field-bottom
border-top 1px solid $field-label-color
.q-field-with-error
.q-field-icon, .q-field-label, .q-field-bottom
color $negative
color var(--q-color-negative)
.q-field-no-input .q-field-bottom
border-top 1px solid $negative
border-top 1px solid var(--q-color-negative)
.q-field-with-warning
.q-field-icon, .q-field-label, .q-field-bottom
color $warning
color var(--q-color-warning)
.q-field-no-input .q-field-bottom
border-top 1px solid $warning
border-top 1px solid var(--q-color-warning)
.q-field-margin
margin-top 5px
.q-field-floating .q-field-margin
margin-top 23px
.q-field-no-input .q-field-margin
margin-top 3px
.q-field-content
.q-if.q-if-has-label:not(.q-if-standard)
margin-top 9px
.q-if-standard:not(.q-if-has-label)
padding-top 6px
.q-option-group
padding-top 0
.q-field-no-input .q-field-content
padding-top 6px
qfield-vertical()
&:not(.q-field-no-label)
.q-field-margin
margin-top 0
.q-if-standard:not(.q-if-has-label)
padding-top 0
.q-if.q-if-has-label:not(.q-if-standard)
margin-top 0px
&.q-field-no-label .q-field-label
display none
.q-field-vertical
qfield-vertical()
@media (max-width $breakpoint-xs-max)
.q-field-responsive
qfield-vertical()
.q-inner-loading
background $light-dimmed-background
&.dark
background $dimmed-background
.q-if, .q-if:before, .q-if-label, .q-if-addon, .q-field-icon, .q-field-label, .q-if-control, .q-field-bottom
transition $input-frame-transition
$content-none
content none
$padding-x
padding-left $input-padding-x
padding-right $input-padding-x
$margin-y-box
margin-top $input-box-padding-bottom
margin-bottom $input-box-padding-bottom
$margin-top-box
margin-top $input-box-padding-top
.q-if
&:before, &:after
position absolute
top 0
bottom 0
left 0
right 0
border 1px hid