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.
Files changed (143) hide show
  1. package/dist/api/QFile.json +1 -1
  2. package/dist/api/QUploader.json +1 -1
  3. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  4. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  5. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  6. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  7. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  8. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  9. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  10. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  11. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  12. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  13. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  14. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  15. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  16. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  17. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  18. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  19. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  20. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  23. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +2 -2
  27. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
  36. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  37. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  38. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  41. package/dist/icon-set/themify.umd.prod.js +1 -1
  42. package/dist/lang/ar-TN.umd.prod.js +1 -1
  43. package/dist/lang/ar.umd.prod.js +1 -1
  44. package/dist/lang/az-Latn.umd.prod.js +1 -1
  45. package/dist/lang/bg.umd.prod.js +1 -1
  46. package/dist/lang/bn.umd.prod.js +1 -1
  47. package/dist/lang/bs-BA.umd.prod.js +1 -1
  48. package/dist/lang/ca.umd.prod.js +1 -1
  49. package/dist/lang/cs.umd.prod.js +1 -1
  50. package/dist/lang/da.umd.prod.js +1 -1
  51. package/dist/lang/de-CH.umd.prod.js +1 -1
  52. package/dist/lang/de-DE.umd.prod.js +1 -1
  53. package/dist/lang/de.umd.prod.js +1 -1
  54. package/dist/lang/el.umd.prod.js +1 -1
  55. package/dist/lang/en-GB.umd.prod.js +1 -1
  56. package/dist/lang/en-US.umd.prod.js +1 -1
  57. package/dist/lang/eo.umd.prod.js +1 -1
  58. package/dist/lang/es.umd.prod.js +1 -1
  59. package/dist/lang/et.umd.prod.js +1 -1
  60. package/dist/lang/eu.umd.prod.js +1 -1
  61. package/dist/lang/fa-IR.umd.prod.js +1 -1
  62. package/dist/lang/fa.umd.prod.js +1 -1
  63. package/dist/lang/fi.umd.prod.js +1 -1
  64. package/dist/lang/fr.umd.prod.js +1 -1
  65. package/dist/lang/gn.umd.prod.js +1 -1
  66. package/dist/lang/he.umd.prod.js +1 -1
  67. package/dist/lang/hi.umd.prod.js +1 -1
  68. package/dist/lang/hr.umd.prod.js +1 -1
  69. package/dist/lang/hu.umd.prod.js +1 -1
  70. package/dist/lang/id.umd.prod.js +1 -1
  71. package/dist/lang/is.umd.prod.js +1 -1
  72. package/dist/lang/it.umd.prod.js +1 -1
  73. package/dist/lang/ja.umd.prod.js +1 -1
  74. package/dist/lang/kk.umd.prod.js +1 -1
  75. package/dist/lang/km.umd.prod.js +1 -1
  76. package/dist/lang/ko-KR.umd.prod.js +1 -1
  77. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  78. package/dist/lang/lt.umd.prod.js +1 -1
  79. package/dist/lang/lu.umd.prod.js +1 -1
  80. package/dist/lang/lv.umd.prod.js +1 -1
  81. package/dist/lang/mk.umd.prod.js +1 -1
  82. package/dist/lang/ml.umd.prod.js +1 -1
  83. package/dist/lang/mm.umd.prod.js +1 -1
  84. package/dist/lang/ms-MY.umd.prod.js +1 -1
  85. package/dist/lang/ms.umd.prod.js +1 -1
  86. package/dist/lang/my.umd.prod.js +1 -1
  87. package/dist/lang/nb-NO.umd.prod.js +1 -1
  88. package/dist/lang/nl.umd.prod.js +1 -1
  89. package/dist/lang/pl.umd.prod.js +1 -1
  90. package/dist/lang/pt-BR.umd.prod.js +1 -1
  91. package/dist/lang/pt.umd.prod.js +1 -1
  92. package/dist/lang/ro.umd.prod.js +1 -1
  93. package/dist/lang/ru.umd.prod.js +1 -1
  94. package/dist/lang/sk.umd.prod.js +1 -1
  95. package/dist/lang/sl.umd.prod.js +1 -1
  96. package/dist/lang/sm.umd.prod.js +1 -1
  97. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  98. package/dist/lang/sr.umd.prod.js +1 -1
  99. package/dist/lang/sv.umd.prod.js +1 -1
  100. package/dist/lang/ta.umd.prod.js +1 -1
  101. package/dist/lang/th.umd.prod.js +1 -1
  102. package/dist/lang/tl.umd.prod.js +1 -1
  103. package/dist/lang/tr.umd.prod.js +1 -1
  104. package/dist/lang/ug.umd.prod.js +1 -1
  105. package/dist/lang/uk.umd.prod.js +1 -1
  106. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  107. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  108. package/dist/lang/vi.umd.prod.js +1 -1
  109. package/dist/lang/zh-CN.umd.prod.js +1 -1
  110. package/dist/lang/zh-TW.umd.prod.js +1 -1
  111. package/dist/quasar.client.js +21 -22
  112. package/dist/quasar.sass +58 -58
  113. package/dist/quasar.server.prod.cjs +4 -4
  114. package/dist/quasar.server.prod.js +4 -4
  115. package/dist/quasar.umd.js +21 -22
  116. package/dist/quasar.umd.prod.js +16 -16
  117. package/dist/types/api/qfile.d.ts +2 -0
  118. package/dist/types/api/qtree.d.ts +1 -1
  119. package/dist/types/api/slider.d.ts +2 -1
  120. package/dist/types/extras/icon-set.d.ts +11 -6
  121. package/dist/types/index.d.ts +161 -160
  122. package/dist/types/lang.d.ts +5 -1
  123. package/dist/types/plugin.d.ts +7 -7
  124. package/dist/web-types/web-types.json +1 -1
  125. package/package.json +4 -4
  126. package/src/components/file/QFile.json +2 -1
  127. package/src/components/select/QSelect.js +15 -13
  128. package/src/components/time/QTime.sass +5 -5
  129. package/src/components/uploader/QUploader.json +0 -12
  130. package/src/composables/private.use-file/use-file.json +5 -2
  131. package/src/composables/private.use-key-composition/use-key-composition.js +19 -2
  132. package/src/composables/use-timeout/use-timeout.js +1 -1
  133. package/src/css/core/elevation.sass +6 -4
  134. package/src/css/core/flex.sass +5 -6
  135. package/src/css/core/size.sass +20 -18
  136. package/src/css/core/typography.sass +11 -9
  137. package/src/css/flex-addon.sass +22 -20
  138. package/src/css/helpers/math.sass +1 -1
  139. package/src/css/helpers/string.sass +7 -4
  140. package/src/css/variables.sass +11 -9
  141. package/src/utils/private.config/nodes.js +1 -3
  142. package/wrappers/index.cjs +1 -0
  143. package/wrappers/index.js +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar",
3
- "version": "2.17.0",
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.23.1",
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.78.0",
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.12",
79
+ "@quasar/extras": "1.16.13",
80
80
  "eslint-config-quasar": "0.0.1"
81
81
  },
82
82
  "vetur": {
@@ -125,7 +125,8 @@
125
125
  "desc": "Override default selection slot; Suggestion: QChip",
126
126
  "scope": {
127
127
  "files": {
128
- "type": [ "Array", "FileList" ],
128
+ "type": "Array",
129
+ "tsType": "File",
129
130
  "desc": "Array of File objects"
130
131
  },
131
132
 
@@ -171,7 +171,12 @@ export default createComponent({
171
171
 
172
172
  const onComposition = useKeyComposition(onInput)
173
173
 
174
- const virtualScrollLength = computed(() => props.options.length)
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 (findFn(getOptionValue) === true) {
685
- return
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
- @import '../../css/helpers/math.sass'
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": [ "Array", "FileList" ],
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
- "desc": "Array of files (instances of File)",
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 (e.type === 'compositionstart') {
9
- e.target.qComposing = true
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
  }
@@ -26,7 +26,7 @@ export default function () {
26
26
  removeTimeout,
27
27
 
28
28
  registerTimeout (fn, delay) {
29
- removeTimeout(timer)
29
+ removeTimeout()
30
30
 
31
31
  if (vmIsDestroyed(vm) === false) {
32
32
  timer = setTimeout(() => {
@@ -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
@@ -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
@@ -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-get($value, "y") map-get($value, "x")
34
+ padding: map.get($value, "y") map.get($value, "x")
33
35
  .q-pl-#{$space}
34
- padding-left: map-get($value, "x")
36
+ padding-left: map.get($value, "x")
35
37
  .q-pr-#{$space}
36
- padding-right: map-get($value, "x")
38
+ padding-right: map.get($value, "x")
37
39
  .q-pt-#{$space}
38
- padding-top: map-get($value, "y")
40
+ padding-top: map.get($value, "y")
39
41
  .q-pb-#{$space}
40
- padding-bottom: map-get($value, "y")
42
+ padding-bottom: map.get($value, "y")
41
43
  .q-px-#{$space}
42
- padding-left: map-get($value, "x")
43
- padding-right: map-get($value, "x")
44
+ padding-left: map.get($value, "x")
45
+ padding-right: map.get($value, "x")
44
46
  .q-py-#{$space}
45
- padding-top: map-get($value, "y")
46
- padding-bottom: map-get($value, "y")
47
+ padding-top: map.get($value, "y")
48
+ padding-bottom: map.get($value, "y")
47
49
 
48
50
  .q-ma-#{$space}
49
- margin: map-get($value, "y") map-get($value, "x")
51
+ margin: map.get($value, "y") map.get($value, "x")
50
52
  .q-ml-#{$space}
51
- margin-left: map-get($value, "x")
53
+ margin-left: map.get($value, "x")
52
54
  .q-mr-#{$space}
53
- margin-right: map-get($value, "x")
55
+ margin-right: map.get($value, "x")
54
56
  .q-mt-#{$space}
55
- margin-top: map-get($value, "y")
57
+ margin-top: map.get($value, "y")
56
58
  .q-mb-#{$space}
57
- margin-bottom: map-get($value, "y")
59
+ margin-bottom: map.get($value, "y")
58
60
  .q-mx-#{$space}
59
- margin-left: map-get($value, "x")
60
- margin-right: map-get($value, "x")
61
+ margin-left: map.get($value, "x")
62
+ margin-right: map.get($value, "x")
61
63
  .q-my-#{$space}
62
- margin-top: map-get($value, "y")
63
- margin-bottom: map-get($value, "y")
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-get($value, "size")
16
- font-weight: map-get($value, "weight")
17
- line-height: map-get($value, "line-height")
18
- letter-spacing: map-get($value, "letter-spacing")
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-get(map-get($spaces, "md"), "y")
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-get($value, "size")
27
- font-weight: map-get($value, "weight")
28
- line-height: map-get($value, "line-height")
29
- letter-spacing: map-get($value, "letter-spacing")
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
@@ -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-get($value, "y") map-get($value, "x")
23
+ padding: map.get($value, "y") map.get($value, "x")
22
24
  .q-pl#{$name}-#{$space}
23
- padding-left: map-get($value, "x")
25
+ padding-left: map.get($value, "x")
24
26
  .q-pr#{$name}-#{$space}
25
- padding-right: map-get($value, "x")
27
+ padding-right: map.get($value, "x")
26
28
  .q-pt#{$name}-#{$space}
27
- padding-top: map-get($value, "y")
29
+ padding-top: map.get($value, "y")
28
30
  .q-pb#{$name}-#{$space}
29
- padding-bottom: map-get($value, "y")
31
+ padding-bottom: map.get($value, "y")
30
32
  .q-px#{$name}-#{$space}
31
- padding-left: map-get($value, "x")
32
- padding-right: map-get($value, "x")
33
+ padding-left: map.get($value, "x")
34
+ padding-right: map.get($value, "x")
33
35
  .q-py#{$name}-#{$space}
34
- padding-top: map-get($value, "y")
35
- padding-bottom: map-get($value, "y")
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-get($value, "y") map-get($value, "x")
40
+ margin: map.get($value, "y") map.get($value, "x")
39
41
  .q-ml#{$name}-#{$space}
40
- margin-left: map-get($value, "x")
42
+ margin-left: map.get($value, "x")
41
43
  .q-mr#{$name}-#{$space}
42
- margin-right: map-get($value, "x")
44
+ margin-right: map.get($value, "x")
43
45
  .q-mt#{$name}-#{$space}
44
- margin-top: map-get($value, "y")
46
+ margin-top: map.get($value, "y")
45
47
  .q-mb#{$name}-#{$space}
46
- margin-bottom: map-get($value, "y")
48
+ margin-bottom: map.get($value, "y")
47
49
  .q-mx#{$name}-#{$space}
48
- margin-left: map-get($value, "x")
49
- margin-right: map-get($value, "x")
50
+ margin-left: map.get($value, "x")
51
+ margin-right: map.get($value, "x")
50
52
  .q-my#{$name}-#{$space}
51
- margin-top: map-get($value, "y")
52
- margin-bottom: map-get($value, "y")
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: str-index($string, $search)
5
+ $index: string.index($string, $search)
3
6
 
4
7
  @if $index
5
- $start: str-slice($string, 1, $index - 1)
6
- $end: str-replace(str-slice($string, $index + str-length($search)), $search, $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)
@@ -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-get($sizes, "sm") - 0.02) !default
44
+ $breakpoint-xs-max: (map.get($sizes, "sm") - 0.02) !default
43
45
 
44
- $breakpoint-sm-min: map-get($sizes, "sm") !default
45
- $breakpoint-sm-max: (map-get($sizes, "md") - 0.02) !default
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-get($sizes, "md") !default
48
- $breakpoint-md-max: (map-get($sizes, "lg") - 0.02) !default
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-get($sizes, "lg") !default
51
- $breakpoint-lg-max: (map-get($sizes, "xl") - 0.02) !default
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-get($sizes, "xl") !default
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-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
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
@@ -39,9 +39,7 @@ export function removeGlobalNode (el) {
39
39
  }
40
40
 
41
41
  export function changeGlobalNodesTarget (newTarget) {
42
- if (newTarget === target) {
43
- return
44
- }
42
+ if (newTarget === target) return
45
43
 
46
44
  target = newTarget
47
45
 
@@ -38,6 +38,7 @@ module.exports.bexContent = function (callback) {
38
38
  return callback
39
39
  }
40
40
 
41
+ // legacy q/app-vite v1 & q/app-webpack v3
41
42
  module.exports.bexDom = function (callback) {
42
43
  return callback
43
44
  }
package/wrappers/index.js CHANGED
@@ -38,6 +38,7 @@ export function bexContent (callback) {
38
38
  return callback
39
39
  }
40
40
 
41
+ // Below only for @quasar/app-vite v1 & @quasar/app-webpack v3
41
42
  export function bexDom (callback) {
42
43
  return callback
43
44
  }