quasar 2.16.11 → 2.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/Platform.json +1 -1
- package/dist/api/QOptionGroup.json +1 -1
- package/dist/api/QScrollArea.json +1 -1
- package/dist/api/QSelect.json +1 -1
- package/dist/api/QUploader.json +1 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar-TN.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/bs-BA.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de-CH.umd.prod.js +1 -1
- package/dist/lang/de-DE.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/eu.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hi.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/kk.umd.prod.js +1 -1
- package/dist/lang/km.umd.prod.js +1 -1
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/mk.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/mm.umd.prod.js +1 -1
- package/dist/lang/ms-MY.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/my.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sm.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tl.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.client.js +758 -2145
- package/dist/quasar.css +6 -5
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +6 -5
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +67 -63
- package/dist/quasar.server.prod.cjs +49 -49
- package/dist/quasar.server.prod.js +47 -47
- package/dist/quasar.umd.js +348 -1738
- package/dist/quasar.umd.prod.js +48 -48
- package/dist/types/api/slider.d.ts +2 -1
- package/dist/types/extras/icon-set.d.ts +11 -6
- package/dist/types/index.d.ts +272 -203
- package/dist/types/plugin.d.ts +7 -7
- package/dist/vetur/quasar-attributes.json +1 -1
- package/dist/vetur/quasar-tags.json +1 -1
- package/dist/web-types/web-types.json +1 -1
- package/package.json +9 -9
- package/src/components/menu/QMenu.sass +2 -2
- package/src/components/option-group/QOptionGroup.js +38 -15
- package/src/components/option-group/QOptionGroup.json +88 -1
- package/src/components/scroll-area/QScrollArea.js +115 -107
- package/src/components/scroll-area/QScrollArea.json +40 -0
- package/src/components/scroll-area/ScrollAreaControls.js +54 -0
- package/src/components/select/QSelect.js +16 -18
- package/src/components/select/QSelect.json +7 -0
- package/src/components/spinner/QSpinnerAudio.js +4 -70
- package/src/components/spinner/QSpinnerBall.js +4 -86
- package/src/components/spinner/QSpinnerBars.js +4 -125
- package/src/components/spinner/QSpinnerBox.js +4 -43
- package/src/components/spinner/QSpinnerClock.js +4 -54
- package/src/components/spinner/QSpinnerComment.js +4 -66
- package/src/components/spinner/QSpinnerCube.js +4 -114
- package/src/components/spinner/QSpinnerDots.js +4 -86
- package/src/components/spinner/QSpinnerFacebook.js +4 -85
- package/src/components/spinner/QSpinnerGears.js +4 -41
- package/src/components/spinner/QSpinnerGrid.js +4 -134
- package/src/components/spinner/QSpinnerHearts.js +4 -36
- package/src/components/spinner/QSpinnerHourglass.js +4 -94
- package/src/components/spinner/QSpinnerInfinity.js +4 -25
- package/src/components/spinner/QSpinnerIos.js +4 -156
- package/src/components/spinner/QSpinnerOrbit.js +4 -33
- package/src/components/spinner/QSpinnerOval.js +4 -32
- package/src/components/spinner/QSpinnerPie.js +4 -63
- package/src/components/spinner/QSpinnerPuff.js +4 -65
- package/src/components/spinner/QSpinnerRadio.js +4 -58
- package/src/components/spinner/QSpinnerRings.js +4 -88
- package/src/components/spinner/QSpinnerTail.js +4 -66
- package/src/components/tabs/QRouteTab.js +4 -3
- package/src/components/tabs/QTabs.js +28 -15
- package/src/components/time/QTime.sass +5 -5
- package/src/components/tooltip/QTooltip.sass +2 -0
- package/src/components/uploader/QUploader.json +9 -0
- package/src/components/uploader/QUploader.sass +0 -1
- package/src/components/uploader/uploader-core.js +6 -2
- package/src/composables/private.use-key-composition/use-key-composition.js +19 -2
- package/src/composables/private.use-panel/use-panel.js +5 -3
- package/src/css/core/elevation.sass +6 -4
- package/src/css/core/flex.sass +5 -6
- package/src/css/core/size.sass +20 -18
- package/src/css/core/typography.sass +11 -9
- package/src/css/core/visibility.sass +2 -2
- package/src/css/flex-addon.sass +22 -20
- package/src/css/helpers/math.sass +1 -1
- package/src/css/helpers/string.sass +7 -4
- package/src/css/variables.sass +14 -9
- package/src/plugins/platform/Platform.js +40 -5
- package/src/plugins/platform/Platform.json +52 -69
- package/src/plugins/platform/Platform.test.js +22 -14
- package/src/utils/private.config/nodes.js +1 -3
- package/src/utils/private.position-engine/position-engine.js +11 -4
package/src/css/core/flex.sass
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
@use 'sass:math'
|
|
2
|
-
|
|
3
|
-
@import '../helpers/string.sass'
|
|
2
|
+
@use 'sass:string'
|
|
4
3
|
|
|
5
4
|
@mixin fg($name, $size)
|
|
6
5
|
$noProcNotZero: $size > 0
|
|
@@ -26,19 +25,19 @@
|
|
|
26
25
|
flex: 0 1 auto
|
|
27
26
|
|
|
28
27
|
@for $i from 0 through $flex-cols
|
|
29
|
-
$ic: quote('' + $i)
|
|
28
|
+
$ic: string.quote('' + $i)
|
|
30
29
|
#{str-fe('.col<name>-<i>', $name, $noProcNotZero, $ic)}
|
|
31
30
|
@extend .col#{$name}-auto
|
|
32
31
|
.row
|
|
33
32
|
#{str-fe('> .col<name>-<i>', $name, $noProcNotZero, $ic)}
|
|
34
33
|
height: auto
|
|
35
|
-
width: toFixed(percentage(math.div($i, $flex-cols)), 10000)
|
|
34
|
+
width: toFixed(math.percentage(math.div($i, $flex-cols)), 10000)
|
|
36
35
|
@if $i != 0 or $name != ''
|
|
37
36
|
#{str-fe('> .offset<name>-<i>', $name, $noProcNotZero, $ic)}
|
|
38
|
-
margin-left: toFixed(percentage(math.div($i, $flex-cols)), 10000)
|
|
37
|
+
margin-left: toFixed(math.percentage(math.div($i, $flex-cols)), 10000)
|
|
39
38
|
.column
|
|
40
39
|
#{str-fe('> .col<name>-<i>', $name, $noProcNotZero, $ic)}
|
|
41
|
-
height: toFixed(percentage(math.div($i, $flex-cols)), 10000)
|
|
40
|
+
height: toFixed(math.percentage(math.div($i, $flex-cols)), 10000)
|
|
42
41
|
width: auto
|
|
43
42
|
@if $size == 0 and $i == $flex-cols
|
|
44
43
|
.row > .col-all
|
package/src/css/core/size.sass
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'sass:map'
|
|
2
|
+
|
|
1
3
|
\:root
|
|
2
4
|
@each $name, $size in $sizes
|
|
3
5
|
#{"--q-size-"}#{$name}: #{$size}
|
|
@@ -29,38 +31,38 @@
|
|
|
29
31
|
@each $space, $value in $spaces
|
|
30
32
|
|
|
31
33
|
.q-pa-#{$space}
|
|
32
|
-
padding: map
|
|
34
|
+
padding: map.get($value, "y") map.get($value, "x")
|
|
33
35
|
.q-pl-#{$space}
|
|
34
|
-
padding-left: map
|
|
36
|
+
padding-left: map.get($value, "x")
|
|
35
37
|
.q-pr-#{$space}
|
|
36
|
-
padding-right: map
|
|
38
|
+
padding-right: map.get($value, "x")
|
|
37
39
|
.q-pt-#{$space}
|
|
38
|
-
padding-top: map
|
|
40
|
+
padding-top: map.get($value, "y")
|
|
39
41
|
.q-pb-#{$space}
|
|
40
|
-
padding-bottom: map
|
|
42
|
+
padding-bottom: map.get($value, "y")
|
|
41
43
|
.q-px-#{$space}
|
|
42
|
-
padding-left: map
|
|
43
|
-
padding-right: map
|
|
44
|
+
padding-left: map.get($value, "x")
|
|
45
|
+
padding-right: map.get($value, "x")
|
|
44
46
|
.q-py-#{$space}
|
|
45
|
-
padding-top: map
|
|
46
|
-
padding-bottom: map
|
|
47
|
+
padding-top: map.get($value, "y")
|
|
48
|
+
padding-bottom: map.get($value, "y")
|
|
47
49
|
|
|
48
50
|
.q-ma-#{$space}
|
|
49
|
-
margin: map
|
|
51
|
+
margin: map.get($value, "y") map.get($value, "x")
|
|
50
52
|
.q-ml-#{$space}
|
|
51
|
-
margin-left: map
|
|
53
|
+
margin-left: map.get($value, "x")
|
|
52
54
|
.q-mr-#{$space}
|
|
53
|
-
margin-right: map
|
|
55
|
+
margin-right: map.get($value, "x")
|
|
54
56
|
.q-mt-#{$space}
|
|
55
|
-
margin-top: map
|
|
57
|
+
margin-top: map.get($value, "y")
|
|
56
58
|
.q-mb-#{$space}
|
|
57
|
-
margin-bottom: map
|
|
59
|
+
margin-bottom: map.get($value, "y")
|
|
58
60
|
.q-mx-#{$space}
|
|
59
|
-
margin-left: map
|
|
60
|
-
margin-right: map
|
|
61
|
+
margin-left: map.get($value, "x")
|
|
62
|
+
margin-right: map.get($value, "x")
|
|
61
63
|
.q-my-#{$space}
|
|
62
|
-
margin-top: map
|
|
63
|
-
margin-bottom: map
|
|
64
|
+
margin-top: map.get($value, "y")
|
|
65
|
+
margin-bottom: map.get($value, "y")
|
|
64
66
|
|
|
65
67
|
.q-mt-auto, .q-my-auto
|
|
66
68
|
margin-top: auto
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'sass:map'
|
|
2
|
+
|
|
1
3
|
body
|
|
2
4
|
min-width: 100px
|
|
3
5
|
min-height: 100%
|
|
@@ -12,21 +14,21 @@ body
|
|
|
12
14
|
|
|
13
15
|
@each $heading, $value in $h-tags
|
|
14
16
|
#{$heading}
|
|
15
|
-
font-size: map
|
|
16
|
-
font-weight: map
|
|
17
|
-
line-height: map
|
|
18
|
-
letter-spacing: map
|
|
17
|
+
font-size: map.get($value, "size")
|
|
18
|
+
font-weight: map.get($value, "weight")
|
|
19
|
+
line-height: map.get($value, "line-height")
|
|
20
|
+
letter-spacing: map.get($value, "letter-spacing")
|
|
19
21
|
|
|
20
22
|
p
|
|
21
|
-
margin: 0 0 map
|
|
23
|
+
margin: 0 0 map.get(map.get($spaces, "md"), "y")
|
|
22
24
|
|
|
23
25
|
.text-
|
|
24
26
|
@each $heading, $value in $headings
|
|
25
27
|
&#{$heading}
|
|
26
|
-
font-size: map
|
|
27
|
-
font-weight: map
|
|
28
|
-
line-height: map
|
|
29
|
-
letter-spacing: map
|
|
28
|
+
font-size: map.get($value, "size")
|
|
29
|
+
font-weight: map.get($value, "weight")
|
|
30
|
+
line-height: map.get($value, "line-height")
|
|
31
|
+
letter-spacing: map.get($value, "letter-spacing")
|
|
30
32
|
|
|
31
33
|
&uppercase
|
|
32
34
|
text-transform: uppercase
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
|
|
28
28
|
.readonly
|
|
29
29
|
cursor: default !important
|
|
30
|
-
.disabled, [disabled]
|
|
30
|
+
.disabled, [disabled]:not([disabled=false])
|
|
31
31
|
&,
|
|
32
32
|
*
|
|
33
33
|
outline: 0 !important
|
|
34
34
|
cursor: not-allowed !important
|
|
35
|
-
.disabled, [disabled]
|
|
35
|
+
.disabled, [disabled]:not([disabled=false])
|
|
36
36
|
opacity: .6 !important
|
|
37
37
|
|
|
38
38
|
.hidden
|
package/src/css/flex-addon.sass
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
@use 'sass:math'
|
|
2
|
+
@use 'sass:map'
|
|
3
|
+
@use 'sass:string'
|
|
2
4
|
|
|
3
5
|
@import './helpers/string.sass'
|
|
4
6
|
@import './helpers/math.sass'
|
|
@@ -18,38 +20,38 @@
|
|
|
18
20
|
|
|
19
21
|
@each $space, $value in $spaces
|
|
20
22
|
.q-pa#{$name}-#{$space}
|
|
21
|
-
padding: map
|
|
23
|
+
padding: map.get($value, "y") map.get($value, "x")
|
|
22
24
|
.q-pl#{$name}-#{$space}
|
|
23
|
-
padding-left: map
|
|
25
|
+
padding-left: map.get($value, "x")
|
|
24
26
|
.q-pr#{$name}-#{$space}
|
|
25
|
-
padding-right: map
|
|
27
|
+
padding-right: map.get($value, "x")
|
|
26
28
|
.q-pt#{$name}-#{$space}
|
|
27
|
-
padding-top: map
|
|
29
|
+
padding-top: map.get($value, "y")
|
|
28
30
|
.q-pb#{$name}-#{$space}
|
|
29
|
-
padding-bottom: map
|
|
31
|
+
padding-bottom: map.get($value, "y")
|
|
30
32
|
.q-px#{$name}-#{$space}
|
|
31
|
-
padding-left: map
|
|
32
|
-
padding-right: map
|
|
33
|
+
padding-left: map.get($value, "x")
|
|
34
|
+
padding-right: map.get($value, "x")
|
|
33
35
|
.q-py#{$name}-#{$space}
|
|
34
|
-
padding-top: map
|
|
35
|
-
padding-bottom: map
|
|
36
|
+
padding-top: map.get($value, "y")
|
|
37
|
+
padding-bottom: map.get($value, "y")
|
|
36
38
|
|
|
37
39
|
.q-ma#{$name}-#{$space}
|
|
38
|
-
margin: map
|
|
40
|
+
margin: map.get($value, "y") map.get($value, "x")
|
|
39
41
|
.q-ml#{$name}-#{$space}
|
|
40
|
-
margin-left: map
|
|
42
|
+
margin-left: map.get($value, "x")
|
|
41
43
|
.q-mr#{$name}-#{$space}
|
|
42
|
-
margin-right: map
|
|
44
|
+
margin-right: map.get($value, "x")
|
|
43
45
|
.q-mt#{$name}-#{$space}
|
|
44
|
-
margin-top: map
|
|
46
|
+
margin-top: map.get($value, "y")
|
|
45
47
|
.q-mb#{$name}-#{$space}
|
|
46
|
-
margin-bottom: map
|
|
48
|
+
margin-bottom: map.get($value, "y")
|
|
47
49
|
.q-mx#{$name}-#{$space}
|
|
48
|
-
margin-left: map
|
|
49
|
-
margin-right: map
|
|
50
|
+
margin-left: map.get($value, "x")
|
|
51
|
+
margin-right: map.get($value, "x")
|
|
50
52
|
.q-my#{$name}-#{$space}
|
|
51
|
-
margin-top: map
|
|
52
|
-
margin-bottom: map
|
|
53
|
+
margin-top: map.get($value, "y")
|
|
54
|
+
margin-bottom: map.get($value, "y")
|
|
53
55
|
|
|
54
56
|
.q-ml#{$name}-auto
|
|
55
57
|
margin-left: auto
|
|
@@ -195,8 +197,8 @@
|
|
|
195
197
|
$noProcNotZero2: ($size2 > 0)
|
|
196
198
|
|
|
197
199
|
@for $i from 0 through $flex-cols
|
|
198
|
-
$ic: quote('' + $i)
|
|
199
|
-
$internal-size: toFixed(percentage(math.div($i, $flex-cols)), 10000)
|
|
200
|
+
$ic: string.quote('' + $i)
|
|
201
|
+
$internal-size: toFixed(math.percentage(math.div($i, $flex-cols)), 10000)
|
|
200
202
|
|
|
201
203
|
#{str-fr('.row<name>', $name)}
|
|
202
204
|
#{str-fe('> .col<name>-<i>', $name2c, $noProcNotZero2, $ic)}
|
|
@@ -23,7 +23,7 @@ $PI: 3.14159265359
|
|
|
23
23
|
// toFixed(0.12345, 100) -> 0.12
|
|
24
24
|
// toFixed(0.12345, 1000) -> 0.123
|
|
25
25
|
@function toFixed($number, $power)
|
|
26
|
-
@return math.div(round($number * $power), $power)
|
|
26
|
+
@return math.div(math.round($number * $power), $power)
|
|
27
27
|
|
|
28
28
|
@function sin($angle)
|
|
29
29
|
$sin: 0
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
@use 'sass:list'
|
|
2
|
+
@use 'sass:string'
|
|
3
|
+
|
|
1
4
|
@function str-replace($string, $search, $replace: '')
|
|
2
|
-
$index:
|
|
5
|
+
$index: string.index($string, $search)
|
|
3
6
|
|
|
4
7
|
@if $index
|
|
5
|
-
$start:
|
|
6
|
-
$end: str-replace(
|
|
8
|
+
$start: string.slice($string, 1, $index - 1)
|
|
9
|
+
$end: str-replace(string.slice($string, $index + string.length($search)), $search, $replace)
|
|
7
10
|
@return $start + $replace + $end
|
|
8
11
|
|
|
9
12
|
@return $string
|
|
@@ -14,4 +17,4 @@
|
|
|
14
17
|
@function str-fe($selector, $name, $noProc, $i: '')
|
|
15
18
|
@if $noProc
|
|
16
19
|
@return str-fr($selector, $name, $i)
|
|
17
|
-
@return join(str-fr($selector, '', $i), str-fr($selector, $name, $i), $separator: comma)
|
|
20
|
+
@return list.join(str-fr($selector, '', $i), str-fr($selector, $name, $i), $separator: comma)
|
package/src/css/variables.sass
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'sass:map'
|
|
2
|
+
|
|
1
3
|
$space-base : 16px !default
|
|
2
4
|
$space-x-base : $space-base !default
|
|
3
5
|
$space-y-base : $space-base !default
|
|
@@ -39,18 +41,18 @@ $flex-gutter: ('none': 0, 'xs': $flex-gutter-xs, 'sm': $flex-gutter-sm, 'md': $f
|
|
|
39
41
|
// sorry for long line; we need .sass and it doesn't support multi-line list
|
|
40
42
|
$sizes: ('xs': 0, 'sm': ($breakpoint-xs + 1), 'md': ($breakpoint-sm + 1), 'lg': ($breakpoint-md + 1), 'xl': ($breakpoint-lg + 1)) !default
|
|
41
43
|
|
|
42
|
-
$breakpoint-xs-max: (map
|
|
44
|
+
$breakpoint-xs-max: (map.get($sizes, "sm") - 0.02) !default
|
|
43
45
|
|
|
44
|
-
$breakpoint-sm-min: map
|
|
45
|
-
$breakpoint-sm-max: (map
|
|
46
|
+
$breakpoint-sm-min: map.get($sizes, "sm") !default
|
|
47
|
+
$breakpoint-sm-max: (map.get($sizes, "md") - 0.02) !default
|
|
46
48
|
|
|
47
|
-
$breakpoint-md-min: map
|
|
48
|
-
$breakpoint-md-max: (map
|
|
49
|
+
$breakpoint-md-min: map.get($sizes, "md") !default
|
|
50
|
+
$breakpoint-md-max: (map.get($sizes, "lg") - 0.02) !default
|
|
49
51
|
|
|
50
|
-
$breakpoint-lg-min: map
|
|
51
|
-
$breakpoint-lg-max: (map
|
|
52
|
+
$breakpoint-lg-min: map.get($sizes, "lg") !default
|
|
53
|
+
$breakpoint-lg-max: (map.get($sizes, "xl") - 0.02) !default
|
|
52
54
|
|
|
53
|
-
$breakpoint-xl-min: map
|
|
55
|
+
$breakpoint-xl-min: map.get($sizes, "xl") !default
|
|
54
56
|
|
|
55
57
|
$h1: (size: 6rem, line-height: 6rem, letter-spacing: -.01562em, weight: 300) !default
|
|
56
58
|
$h2: (size: 3.75rem, line-height: 3.75rem, letter-spacing: -.00833em, weight: 300) !default
|
|
@@ -69,7 +71,7 @@ $caption: (size: .75rem, line-height: 1.25rem, letter-spacing: .03333em, w
|
|
|
69
71
|
$headings: ('h1': $h1, 'h2': $h2, 'h3': $h3, 'h4': $h4, 'h5': $h5, 'h6': $h6, 'subtitle1': $subtitle1, 'subtitle2': $subtitle2, 'body1': $body1, 'body2': $body2, 'overline': $overline, 'caption': $caption) !default
|
|
70
72
|
|
|
71
73
|
// sorry for long line; we need .sass and it doesn't support multi-line list
|
|
72
|
-
$h-tags: (h1: map
|
|
74
|
+
$h-tags: (h1: map.get($headings, "h1"), h2: map.get($headings, "h2"), h3: map.get($headings, "h3"), h4: map.get($headings, "h4"), h5: map.get($headings, "h5"), h6: map.get($headings, "h6")) !default
|
|
73
75
|
|
|
74
76
|
// sorry for long line; we need .sass and it doesn't support multi-line list
|
|
75
77
|
$text-weights: (thin: 100, light: 300, regular: 400, medium: 500, bold: 700, bolder: 900) !default
|
|
@@ -704,6 +706,7 @@ $menu-background : #fff !default
|
|
|
704
706
|
$menu-box-shadow : $shadow-2 !default
|
|
705
707
|
$menu-box-shadow-dark : $dark-shadow-2 !default
|
|
706
708
|
$menu-max-width : 95vw !default
|
|
709
|
+
$menu-max-height : 65vh !default
|
|
707
710
|
|
|
708
711
|
$rating-grade-color : $yellow !default
|
|
709
712
|
$rating-shadow : 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24) !default
|
|
@@ -715,6 +718,8 @@ $tooltip-border-radius : $generic-border-radius !default
|
|
|
715
718
|
$tooltip-fontsize : 10px !default
|
|
716
719
|
$tooltip-mobile-padding : 8px 16px !default
|
|
717
720
|
$tooltip-mobile-fontsize : 14px !default
|
|
721
|
+
$tooltip-max-width : 95vw !default
|
|
722
|
+
$tooltip-max-height : 65vh !default
|
|
718
723
|
|
|
719
724
|
$uploader-title-font-size : 14px !default
|
|
720
725
|
$uploader-title-line-height : 1.285714 !default
|
|
@@ -65,11 +65,46 @@ const hasTouch = __QUASAR_SSR_SERVER__
|
|
|
65
65
|
: 'ontouchstart' in window || window.navigator.maxTouchPoints > 0
|
|
66
66
|
|
|
67
67
|
function getPlatform (UA) {
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
const userAgent = UA.toLowerCase()
|
|
69
|
+
const platformMatch = getPlatformMatch(userAgent)
|
|
70
|
+
const matched = getMatch(userAgent, platformMatch)
|
|
71
|
+
const browser = {
|
|
72
|
+
mobile: false,
|
|
73
|
+
desktop: false,
|
|
74
|
+
|
|
75
|
+
cordova: false,
|
|
76
|
+
capacitor: false,
|
|
77
|
+
nativeMobile: false,
|
|
78
|
+
// nativeMobileWrapper: void 0,
|
|
79
|
+
electron: false,
|
|
80
|
+
bex: false,
|
|
81
|
+
|
|
82
|
+
linux: false,
|
|
83
|
+
mac: false,
|
|
84
|
+
win: false,
|
|
85
|
+
cros: false,
|
|
86
|
+
|
|
87
|
+
chrome: false,
|
|
88
|
+
firefox: false,
|
|
89
|
+
opera: false,
|
|
90
|
+
safari: false,
|
|
91
|
+
vivaldi: false,
|
|
92
|
+
edge: false,
|
|
93
|
+
edgeChromium: false,
|
|
94
|
+
ie: false,
|
|
95
|
+
webkit: false,
|
|
96
|
+
|
|
97
|
+
android: false,
|
|
98
|
+
ios: false,
|
|
99
|
+
ipad: false,
|
|
100
|
+
iphone: false,
|
|
101
|
+
ipod: false,
|
|
102
|
+
kindle: false,
|
|
103
|
+
winphone: false,
|
|
104
|
+
blackberry: false,
|
|
105
|
+
playbook: false,
|
|
106
|
+
silk: false
|
|
107
|
+
}
|
|
73
108
|
|
|
74
109
|
if (matched.browser) {
|
|
75
110
|
browser[ matched.browser ] = true
|
|
@@ -38,39 +38,25 @@
|
|
|
38
38
|
"desc": "Major browser version as a number"
|
|
39
39
|
},
|
|
40
40
|
|
|
41
|
-
"desktop": {
|
|
42
|
-
"type": "Boolean",
|
|
43
|
-
"required": false,
|
|
44
|
-
"desc": "Whether the platform is desktop"
|
|
45
|
-
},
|
|
46
41
|
"mobile": {
|
|
47
42
|
"type": "Boolean",
|
|
48
|
-
"required": false,
|
|
49
43
|
"desc": "Whether the platform is mobile"
|
|
50
44
|
},
|
|
51
|
-
"
|
|
45
|
+
"desktop": {
|
|
52
46
|
"type": "Boolean",
|
|
53
|
-
"
|
|
54
|
-
"desc": "Whether the platform is Electron"
|
|
47
|
+
"desc": "Whether the platform is desktop"
|
|
55
48
|
},
|
|
56
|
-
|
|
49
|
+
|
|
50
|
+
"cordova": {
|
|
57
51
|
"type": "Boolean",
|
|
58
|
-
"
|
|
59
|
-
"desc": "Whether the platform is BEX(Browser Extension)"
|
|
52
|
+
"desc": "Whether the platform is Cordova"
|
|
60
53
|
},
|
|
61
54
|
"capacitor": {
|
|
62
55
|
"type": "Boolean",
|
|
63
|
-
"required": false,
|
|
64
56
|
"desc": "Whether the platform is Capacitor"
|
|
65
57
|
},
|
|
66
|
-
"cordova": {
|
|
67
|
-
"type": "Boolean",
|
|
68
|
-
"required": false,
|
|
69
|
-
"desc": "Whether the platform is Cordova"
|
|
70
|
-
},
|
|
71
58
|
"nativeMobile": {
|
|
72
59
|
"type": "Boolean",
|
|
73
|
-
"required": false,
|
|
74
60
|
"desc": "Whether the platform is a native mobile wrapper"
|
|
75
61
|
},
|
|
76
62
|
"nativeMobileWrapper": {
|
|
@@ -79,110 +65,107 @@
|
|
|
79
65
|
"values": [ "'cordova'", "'capacitor'" ],
|
|
80
66
|
"desc": "Type of the native mobile wrapper"
|
|
81
67
|
},
|
|
82
|
-
|
|
83
|
-
"webkit": {
|
|
68
|
+
"electron": {
|
|
84
69
|
"type": "Boolean",
|
|
85
|
-
"
|
|
86
|
-
|
|
70
|
+
"desc": "Whether the platform is Electron"
|
|
71
|
+
},
|
|
72
|
+
"bex": {
|
|
73
|
+
"type": "Boolean",
|
|
74
|
+
"desc": "Whether the platform is BEX(Browser Extension)"
|
|
87
75
|
},
|
|
88
76
|
|
|
89
|
-
"
|
|
77
|
+
"linux": {
|
|
90
78
|
"type": "Boolean",
|
|
91
|
-
"
|
|
92
|
-
"desc": "Whether the browser is Google Chrome"
|
|
79
|
+
"desc": "Whether the operating system is Linux"
|
|
93
80
|
},
|
|
94
|
-
"
|
|
81
|
+
"mac": {
|
|
95
82
|
"type": "Boolean",
|
|
96
|
-
"
|
|
97
|
-
"desc": "Whether the browser is Firefox"
|
|
83
|
+
"desc": "Whether the operating system is Mac OS"
|
|
98
84
|
},
|
|
99
|
-
"
|
|
85
|
+
"win": {
|
|
100
86
|
"type": "Boolean",
|
|
101
|
-
"
|
|
102
|
-
"desc": "Whether the browser is Safari"
|
|
87
|
+
"desc": "Whether the operating system is Windows"
|
|
103
88
|
},
|
|
104
|
-
"
|
|
89
|
+
"cros": {
|
|
105
90
|
"type": "Boolean",
|
|
106
|
-
"
|
|
107
|
-
"desc": "Whether the browser is Microsoft Edge (Chromium)"
|
|
91
|
+
"desc": "Whether the operating system is Chrome OS"
|
|
108
92
|
},
|
|
109
|
-
|
|
93
|
+
|
|
94
|
+
"chrome": {
|
|
110
95
|
"type": "Boolean",
|
|
111
|
-
"
|
|
112
|
-
|
|
96
|
+
"desc": "Whether the browser is Google Chrome"
|
|
97
|
+
},
|
|
98
|
+
"firefox": {
|
|
99
|
+
"type": "Boolean",
|
|
100
|
+
"desc": "Whether the browser is Firefox"
|
|
113
101
|
},
|
|
114
102
|
"opera": {
|
|
115
103
|
"type": "Boolean",
|
|
116
|
-
"required": false,
|
|
117
104
|
"desc": "Whether the browser is Opera"
|
|
118
105
|
},
|
|
106
|
+
"safari": {
|
|
107
|
+
"type": "Boolean",
|
|
108
|
+
"desc": "Whether the browser is Safari"
|
|
109
|
+
},
|
|
119
110
|
"vivaldi": {
|
|
120
111
|
"type": "Boolean",
|
|
121
|
-
"required": false,
|
|
122
112
|
"desc": "Whether the browser is Vivaldi"
|
|
123
113
|
},
|
|
124
|
-
|
|
125
|
-
"win": {
|
|
114
|
+
"edge": {
|
|
126
115
|
"type": "Boolean",
|
|
127
|
-
"
|
|
128
|
-
"desc": "Whether the operating system is Windows"
|
|
116
|
+
"desc": "Whether the browser is Microsoft Edge Legacy"
|
|
129
117
|
},
|
|
130
|
-
"
|
|
118
|
+
"edgeChromium": {
|
|
131
119
|
"type": "Boolean",
|
|
132
|
-
"
|
|
133
|
-
"desc": "Whether the operating system is Linux"
|
|
120
|
+
"desc": "Whether the browser is Microsoft Edge (Chromium)"
|
|
134
121
|
},
|
|
135
|
-
"
|
|
122
|
+
"ie": {
|
|
136
123
|
"type": "Boolean",
|
|
137
|
-
"
|
|
138
|
-
"desc": "Whether the operating system is Mac OS"
|
|
124
|
+
"desc": "Whether the browser is Internet Explorer"
|
|
139
125
|
},
|
|
140
|
-
"
|
|
126
|
+
"webkit": {
|
|
141
127
|
"type": "Boolean",
|
|
142
|
-
"
|
|
143
|
-
"desc": "Whether the operating system is Chrome OS"
|
|
128
|
+
"desc": "Whether the browser is a Webkit or Webkit-based one"
|
|
144
129
|
},
|
|
145
130
|
|
|
146
131
|
"android": {
|
|
147
132
|
"type": "Boolean",
|
|
148
|
-
"required": false,
|
|
149
133
|
"desc": "Whether the operating system is Android"
|
|
150
134
|
},
|
|
151
135
|
"ios": {
|
|
152
136
|
"type": "Boolean",
|
|
153
|
-
"required": false,
|
|
154
137
|
"desc": "Whether the operating system is iOS"
|
|
155
138
|
},
|
|
156
|
-
"
|
|
139
|
+
"ipad": {
|
|
157
140
|
"type": "Boolean",
|
|
158
|
-
"
|
|
159
|
-
"desc": "Whether the operating system is Windows Phone"
|
|
141
|
+
"desc": "Whether the device is an iPad"
|
|
160
142
|
},
|
|
161
|
-
|
|
162
143
|
"iphone": {
|
|
163
144
|
"type": "Boolean",
|
|
164
|
-
"required": false,
|
|
165
145
|
"desc": "Whether the device is an iPhone"
|
|
166
146
|
},
|
|
167
|
-
"ipad": {
|
|
168
|
-
"type": "Boolean",
|
|
169
|
-
"required": false,
|
|
170
|
-
"desc": "Whether the device is an iPad"
|
|
171
|
-
},
|
|
172
147
|
"ipod": {
|
|
173
148
|
"type": "Boolean",
|
|
174
|
-
"required": false,
|
|
175
149
|
"desc": "Whether the device is an iPod"
|
|
176
150
|
},
|
|
177
|
-
|
|
178
151
|
"kindle": {
|
|
179
152
|
"type": "Boolean",
|
|
180
|
-
"required": false,
|
|
181
153
|
"desc": "Whether the device is a Kindle"
|
|
182
154
|
},
|
|
155
|
+
"winphone": {
|
|
156
|
+
"type": "Boolean",
|
|
157
|
+
"desc": "Whether the operating system is Windows Phone"
|
|
158
|
+
},
|
|
159
|
+
"blackberry": {
|
|
160
|
+
"type": "Boolean",
|
|
161
|
+
"desc": "Whether the device is a Blackberry"
|
|
162
|
+
},
|
|
163
|
+
"playbook": {
|
|
164
|
+
"type": "Boolean",
|
|
165
|
+
"desc": "Whether the device is a Blackberry Playbook"
|
|
166
|
+
},
|
|
183
167
|
"silk": {
|
|
184
168
|
"type": "Boolean",
|
|
185
|
-
"required": false,
|
|
186
169
|
"desc": "Whether the browser is Amazon Silk"
|
|
187
170
|
}
|
|
188
171
|
},
|
|
@@ -35,36 +35,44 @@ describe('[Platform API]', () => {
|
|
|
35
35
|
platform: expect.any(String),
|
|
36
36
|
version: expect.any(String),
|
|
37
37
|
versionNumber: expect.any(Number),
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
mobile: expect.any(Boolean),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
capacitor: expect.any(Boolean),
|
|
40
|
+
desktop: expect.any(Boolean),
|
|
41
|
+
|
|
43
42
|
cordova: expect.any(Boolean),
|
|
43
|
+
capacitor: expect.any(Boolean),
|
|
44
44
|
nativeMobile: expect.any(Boolean),
|
|
45
45
|
nativeMobileWrapper: expect.$any([
|
|
46
46
|
'cordova',
|
|
47
47
|
'capacitor'
|
|
48
48
|
]),
|
|
49
|
-
|
|
49
|
+
electron: expect.any(Boolean),
|
|
50
|
+
bex: expect.any(Boolean),
|
|
51
|
+
|
|
52
|
+
linux: expect.any(Boolean),
|
|
53
|
+
mac: expect.any(Boolean),
|
|
54
|
+
win: expect.any(Boolean),
|
|
55
|
+
cros: expect.any(Boolean),
|
|
56
|
+
|
|
50
57
|
chrome: expect.any(Boolean),
|
|
51
58
|
firefox: expect.any(Boolean),
|
|
52
|
-
safari: expect.any(Boolean),
|
|
53
|
-
edgeChromium: expect.any(Boolean),
|
|
54
|
-
edge: expect.any(Boolean),
|
|
55
59
|
opera: expect.any(Boolean),
|
|
60
|
+
safari: expect.any(Boolean),
|
|
56
61
|
vivaldi: expect.any(Boolean),
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
edge: expect.any(Boolean),
|
|
63
|
+
edgeChromium: expect.any(Boolean),
|
|
64
|
+
ie: expect.any(Boolean),
|
|
65
|
+
webkit: expect.any(Boolean),
|
|
66
|
+
|
|
61
67
|
android: expect.any(Boolean),
|
|
62
68
|
ios: expect.any(Boolean),
|
|
63
|
-
winphone: expect.any(Boolean),
|
|
64
|
-
iphone: expect.any(Boolean),
|
|
65
69
|
ipad: expect.any(Boolean),
|
|
70
|
+
iphone: expect.any(Boolean),
|
|
66
71
|
ipod: expect.any(Boolean),
|
|
67
72
|
kindle: expect.any(Boolean),
|
|
73
|
+
winphone: expect.any(Boolean),
|
|
74
|
+
blackberry: expect.any(Boolean),
|
|
75
|
+
playbook: expect.any(Boolean),
|
|
68
76
|
silk: expect.any(Boolean)
|
|
69
77
|
}
|
|
70
78
|
|