quasar 2.17.0 → 2.17.2
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/QFile.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 +2 -2
- 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 +2 -2
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
- 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 +21 -22
- package/dist/quasar.sass +58 -58
- package/dist/quasar.server.prod.cjs +4 -4
- package/dist/quasar.server.prod.js +4 -4
- package/dist/quasar.umd.js +21 -22
- package/dist/quasar.umd.prod.js +16 -16
- package/dist/types/api/qfile.d.ts +2 -0
- package/dist/types/api/qtree.d.ts +1 -1
- 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 +161 -160
- package/dist/types/lang.d.ts +5 -1
- package/dist/types/plugin.d.ts +7 -7
- package/dist/web-types/web-types.json +1 -1
- package/package.json +4 -4
- package/src/components/file/QFile.json +2 -1
- package/src/components/select/QSelect.js +15 -13
- package/src/components/time/QTime.sass +5 -5
- package/src/components/uploader/QUploader.json +0 -12
- package/src/composables/private.use-file/use-file.json +5 -2
- package/src/composables/private.use-key-composition/use-key-composition.js +19 -2
- package/src/composables/use-timeout/use-timeout.js +1 -1
- 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/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 +11 -9
- package/src/utils/private.config/nodes.js +1 -3
- package/wrappers/index.cjs +1 -0
- package/wrappers/index.js +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quasar",
|
|
3
|
-
"version": "2.17.
|
|
3
|
+
"version": "2.17.2",
|
|
4
4
|
"description": "Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "dist/quasar.client.js",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"cross-env": "^7.0.3",
|
|
65
65
|
"cssnano": "^7.0.6",
|
|
66
66
|
"diff": "^5.2.0",
|
|
67
|
-
"esbuild": "^0.
|
|
67
|
+
"esbuild": "^0.24.0",
|
|
68
68
|
"eslint": "^8.57.0",
|
|
69
69
|
"fast-glob": "^3.3.2",
|
|
70
70
|
"fs-extra": "^11.2.0",
|
|
@@ -72,11 +72,11 @@
|
|
|
72
72
|
"open": "^10.1.0",
|
|
73
73
|
"postcss-rtlcss": "^5.4.0",
|
|
74
74
|
"prettier": "^3.3.3",
|
|
75
|
-
"sass-embedded": "^1.
|
|
75
|
+
"sass-embedded": "^1.80.2",
|
|
76
76
|
"table": "^6.8.2",
|
|
77
77
|
"typescript": "^5.6.2",
|
|
78
78
|
"vue": "^3.5.5",
|
|
79
|
-
"@quasar/extras": "1.16.
|
|
79
|
+
"@quasar/extras": "1.16.13",
|
|
80
80
|
"eslint-config-quasar": "0.0.1"
|
|
81
81
|
},
|
|
82
82
|
"vetur": {
|
|
@@ -171,7 +171,12 @@ export default createComponent({
|
|
|
171
171
|
|
|
172
172
|
const onComposition = useKeyComposition(onInput)
|
|
173
173
|
|
|
174
|
-
const virtualScrollLength = computed(() =>
|
|
174
|
+
const virtualScrollLength = computed(() => (
|
|
175
|
+
Array.isArray(props.options)
|
|
176
|
+
? props.options.length
|
|
177
|
+
: 0
|
|
178
|
+
))
|
|
179
|
+
|
|
175
180
|
const virtualScrollItemSizeComputed = computed(() => (
|
|
176
181
|
props.virtualScrollItemSize === void 0
|
|
177
182
|
? (props.optionsDense === true ? 24 : 48)
|
|
@@ -200,7 +205,7 @@ export default createComponent({
|
|
|
200
205
|
? (props.multiple === true && Array.isArray(props.modelValue) ? props.modelValue : [ props.modelValue ])
|
|
201
206
|
: []
|
|
202
207
|
|
|
203
|
-
if (props.mapOptions === true) {
|
|
208
|
+
if (props.mapOptions === true && Array.isArray(props.options) === true) {
|
|
204
209
|
const cache = props.mapOptions === true && innerValueCache !== void 0
|
|
205
210
|
? innerValueCache
|
|
206
211
|
: []
|
|
@@ -665,11 +670,9 @@ export default createComponent({
|
|
|
665
670
|
if (typeof value === 'string' && value.length !== 0) {
|
|
666
671
|
const needle = value.toLocaleLowerCase()
|
|
667
672
|
const findFn = extractFn => {
|
|
668
|
-
const option = props.options.find(opt => extractFn.value(opt).toLocaleLowerCase() === needle)
|
|
673
|
+
const option = props.options.find(opt => String(extractFn.value(opt)).toLocaleLowerCase() === needle)
|
|
669
674
|
|
|
670
|
-
if (option === void 0)
|
|
671
|
-
return false
|
|
672
|
-
}
|
|
675
|
+
if (option === void 0) return false
|
|
673
676
|
|
|
674
677
|
if (innerValue.value.indexOf(option) === -1) {
|
|
675
678
|
toggleOption(option)
|
|
@@ -681,14 +684,13 @@ export default createComponent({
|
|
|
681
684
|
return true
|
|
682
685
|
}
|
|
683
686
|
const fillFn = afterFilter => {
|
|
684
|
-
if (
|
|
685
|
-
|
|
687
|
+
if (
|
|
688
|
+
findFn(getOptionValue) !== true
|
|
689
|
+
&& afterFilter !== true
|
|
690
|
+
&& findFn(getOptionLabel) !== true
|
|
691
|
+
) {
|
|
692
|
+
filter(value, true, () => fillFn(true))
|
|
686
693
|
}
|
|
687
|
-
if (findFn(getOptionLabel) === true || afterFilter === true) {
|
|
688
|
-
return
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
filter(value, true, () => fillFn(true))
|
|
692
694
|
}
|
|
693
695
|
|
|
694
696
|
fillFn()
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@
|
|
1
|
+
@use 'sass:math'
|
|
2
2
|
|
|
3
3
|
.q-time
|
|
4
4
|
box-shadow: $shadow-2
|
|
@@ -129,8 +129,8 @@
|
|
|
129
129
|
$left: (1 + cos($angle))
|
|
130
130
|
|
|
131
131
|
&__clock-pos-#{$pos}
|
|
132
|
-
top: toFixed(percentage($top * 0.5), 100)
|
|
133
|
-
left: toFixed(percentage($left * 0.5), 100) #{"/* rtl:ignore */"}
|
|
132
|
+
top: toFixed(math.percentage($top * 0.5), 100)
|
|
133
|
+
left: toFixed(math.percentage($left * 0.5), 100) #{"/* rtl:ignore */"}
|
|
134
134
|
|
|
135
135
|
@for $pos from 12 through 23
|
|
136
136
|
$angle: (270 + 30 * $pos)
|
|
@@ -138,8 +138,8 @@
|
|
|
138
138
|
$left: (1 + cos($angle))
|
|
139
139
|
|
|
140
140
|
&__clock-pos-#{$pos}
|
|
141
|
-
top: toFixed(percentage(.15 + $top * .35), 100)
|
|
142
|
-
left: toFixed(percentage(.15 + $left * .35), 100) #{"/* rtl:ignore */"}
|
|
141
|
+
top: toFixed(math.percentage(.15 + $top * .35), 100)
|
|
142
|
+
left: toFixed(math.percentage(.15 + $left * .35), 100) #{"/* rtl:ignore */"}
|
|
143
143
|
|
|
144
144
|
&__now-button
|
|
145
145
|
background-color: var(--q-primary)
|
|
@@ -212,18 +212,6 @@
|
|
|
212
212
|
}
|
|
213
213
|
},
|
|
214
214
|
"returns": null
|
|
215
|
-
},
|
|
216
|
-
|
|
217
|
-
"addFiles": {
|
|
218
|
-
"desc": "Manually add files to the queue",
|
|
219
|
-
"params": {
|
|
220
|
-
"files": {
|
|
221
|
-
"type": "Array",
|
|
222
|
-
"required": true,
|
|
223
|
-
"desc": "Must be an array of instances of JS File type"
|
|
224
|
-
}
|
|
225
|
-
},
|
|
226
|
-
"returns": null
|
|
227
215
|
}
|
|
228
216
|
},
|
|
229
217
|
|
|
@@ -44,12 +44,14 @@
|
|
|
44
44
|
"desc": "Custom filter for added files; Only files that pass this filter will be added to the queue and uploaded; For best performance, reference it from your scope and do not define it inline",
|
|
45
45
|
"params": {
|
|
46
46
|
"files": {
|
|
47
|
-
"type":
|
|
47
|
+
"type": "Array",
|
|
48
|
+
"tsType": "File",
|
|
48
49
|
"desc": "Candidate files to be added to queue"
|
|
49
50
|
}
|
|
50
51
|
},
|
|
51
52
|
"returns": {
|
|
52
53
|
"type": "Array",
|
|
54
|
+
"tsType": "File",
|
|
53
55
|
"desc": "Filtered files to be added to queue"
|
|
54
56
|
},
|
|
55
57
|
"examples": [ "files => files.filter(file => file.size === 1024)" ],
|
|
@@ -86,7 +88,8 @@
|
|
|
86
88
|
"params": {
|
|
87
89
|
"files": {
|
|
88
90
|
"type": [ "Array", "FileList" ],
|
|
89
|
-
"
|
|
91
|
+
"tsType": "QUseFileAddInput",
|
|
92
|
+
"desc": "Array of files (instances of File) or FileList",
|
|
90
93
|
"required": true
|
|
91
94
|
}
|
|
92
95
|
},
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import { client } from '../../plugins/platform/Platform.js'
|
|
2
|
+
|
|
3
|
+
const isJapanese = /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/
|
|
4
|
+
const isChinese = /[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u
|
|
5
|
+
const isKorean = /[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/
|
|
6
|
+
const isPlainText = /[a-z0-9_ -]$/i
|
|
7
|
+
|
|
1
8
|
export default function (onInput) {
|
|
2
9
|
return function onComposition (e) {
|
|
3
10
|
if (e.type === 'compositionend' || e.type === 'change') {
|
|
@@ -5,8 +12,18 @@ export default function (onInput) {
|
|
|
5
12
|
e.target.qComposing = false
|
|
6
13
|
onInput(e)
|
|
7
14
|
}
|
|
8
|
-
else if (
|
|
9
|
-
e.
|
|
15
|
+
else if (
|
|
16
|
+
e.type === 'compositionupdate'
|
|
17
|
+
&& e.target.qComposing !== true
|
|
18
|
+
&& typeof e.data === 'string'
|
|
19
|
+
) {
|
|
20
|
+
const isComposing = client.is.firefox === true
|
|
21
|
+
? isPlainText.test(e.data) === false
|
|
22
|
+
: isJapanese.test(e.data) === true || isChinese.test(e.data) === true || isKorean.test(e.data) === true
|
|
23
|
+
|
|
24
|
+
if (isComposing === true) {
|
|
25
|
+
e.target.qComposing = true
|
|
26
|
+
}
|
|
10
27
|
}
|
|
11
28
|
}
|
|
12
29
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
@use 'sass:list'
|
|
2
|
+
|
|
1
3
|
.shadow-transition
|
|
2
4
|
transition: $shadow-transition !important
|
|
3
5
|
|
|
4
6
|
@for $z from 1 through 24
|
|
5
7
|
.shadow-#{$z}
|
|
6
|
-
box-shadow: nth($shadows, $z)
|
|
8
|
+
box-shadow: list.nth($shadows, $z)
|
|
7
9
|
.shadow-up-#{$z}
|
|
8
|
-
box-shadow: nth($shadows-up, $z)
|
|
10
|
+
box-shadow: list.nth($shadows-up, $z)
|
|
9
11
|
|
|
10
12
|
.inset-shadow
|
|
11
13
|
box-shadow: $inset-shadow
|
|
@@ -15,9 +17,9 @@
|
|
|
15
17
|
body.body--dark
|
|
16
18
|
@for $z from 1 through 24
|
|
17
19
|
.shadow-#{$z}
|
|
18
|
-
box-shadow: nth($dark-shadows, $z)
|
|
20
|
+
box-shadow: list.nth($dark-shadows, $z)
|
|
19
21
|
.shadow-up-#{$z}
|
|
20
|
-
box-shadow: nth($dark-shadows-up, $z)
|
|
22
|
+
box-shadow: list.nth($dark-shadows-up, $z)
|
|
21
23
|
|
|
22
24
|
.inset-shadow
|
|
23
25
|
box-shadow: $inset-dark-shadow
|
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
|
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
|
package/wrappers/index.cjs
CHANGED