quasar 1.18.3 → 1.18.4

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 (109) hide show
  1. package/dist/api/QKnob.json +18 -0
  2. package/dist/api/QRange.json +1 -1
  3. package/dist/api/QSlider.json +1 -1
  4. package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
  5. package/dist/icon-set/eva-icons.umd.min.js +1 -1
  6. package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
  7. package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
  8. package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
  9. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  10. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  11. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  12. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  13. package/dist/icon-set/material-icons.umd.min.js +1 -1
  14. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  15. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  16. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  17. package/dist/icon-set/mdi-v6.umd.min.js +1 -1
  18. package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
  19. package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
  20. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
  21. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  22. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  23. package/dist/icon-set/svg-ionicons-v6.umd.min.js +1 -1
  24. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  25. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
  26. package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
  27. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
  28. package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
  29. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  30. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  31. package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
  32. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  33. package/dist/icon-set/themify.umd.min.js +1 -1
  34. package/dist/lang/ar.umd.min.js +1 -1
  35. package/dist/lang/az-latn.umd.min.js +1 -1
  36. package/dist/lang/bg.umd.min.js +1 -1
  37. package/dist/lang/ca.umd.min.js +1 -1
  38. package/dist/lang/cs.umd.min.js +1 -1
  39. package/dist/lang/da.umd.min.js +1 -1
  40. package/dist/lang/de.umd.min.js +1 -1
  41. package/dist/lang/el.umd.min.js +1 -1
  42. package/dist/lang/en-gb.umd.min.js +1 -1
  43. package/dist/lang/en-us.umd.min.js +1 -1
  44. package/dist/lang/eo.umd.min.js +1 -1
  45. package/dist/lang/es.umd.min.js +1 -1
  46. package/dist/lang/et.umd.min.js +1 -1
  47. package/dist/lang/fa-ir.umd.min.js +1 -1
  48. package/dist/lang/fa.umd.min.js +1 -1
  49. package/dist/lang/fi.umd.min.js +1 -1
  50. package/dist/lang/fr.umd.min.js +1 -1
  51. package/dist/lang/gn.umd.min.js +1 -1
  52. package/dist/lang/he.umd.min.js +1 -1
  53. package/dist/lang/hr.umd.min.js +1 -1
  54. package/dist/lang/hu.umd.min.js +1 -1
  55. package/dist/lang/id.umd.min.js +1 -1
  56. package/dist/lang/is.umd.min.js +1 -1
  57. package/dist/lang/it.umd.min.js +1 -1
  58. package/dist/lang/ja.umd.min.js +1 -1
  59. package/dist/lang/km.umd.min.js +1 -1
  60. package/dist/lang/ko-kr.umd.min.js +1 -1
  61. package/dist/lang/kur-ckb.umd.min.js +1 -1
  62. package/dist/lang/lu.umd.min.js +1 -1
  63. package/dist/lang/lv.umd.min.js +1 -1
  64. package/dist/lang/ml.umd.min.js +1 -1
  65. package/dist/lang/ms.umd.min.js +1 -1
  66. package/dist/lang/my.umd.min.js +1 -1
  67. package/dist/lang/nb-no.umd.min.js +1 -1
  68. package/dist/lang/nl.umd.min.js +1 -1
  69. package/dist/lang/pl.umd.min.js +1 -1
  70. package/dist/lang/pt-br.umd.min.js +1 -1
  71. package/dist/lang/pt.umd.min.js +1 -1
  72. package/dist/lang/ro.umd.min.js +1 -1
  73. package/dist/lang/ru.umd.min.js +1 -1
  74. package/dist/lang/sk.umd.min.js +1 -1
  75. package/dist/lang/sl.umd.min.js +1 -1
  76. package/dist/lang/sr.umd.min.js +1 -1
  77. package/dist/lang/sv.umd.min.js +1 -1
  78. package/dist/lang/ta.umd.min.js +1 -1
  79. package/dist/lang/th.umd.min.js +1 -1
  80. package/dist/lang/tr.umd.min.js +1 -1
  81. package/dist/lang/ug.umd.min.js +1 -1
  82. package/dist/lang/uk.umd.min.js +1 -1
  83. package/dist/lang/vi.umd.min.js +1 -1
  84. package/dist/lang/zh-hans.umd.min.js +1 -1
  85. package/dist/lang/zh-hant.umd.min.js +1 -1
  86. package/dist/quasar.addon.css +1 -1
  87. package/dist/quasar.addon.rtl.css +1 -1
  88. package/dist/quasar.common.js +2 -2
  89. package/dist/quasar.css +1 -1
  90. package/dist/quasar.esm.js +2 -2
  91. package/dist/quasar.ie.polyfills.js +1 -1
  92. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  93. package/dist/quasar.rtl.css +1 -1
  94. package/dist/quasar.sass +1 -1
  95. package/dist/quasar.styl +1 -1
  96. package/dist/quasar.umd.js +45 -27
  97. package/dist/quasar.umd.min.js +2 -2
  98. package/dist/quasar.umd.modern.js +45 -27
  99. package/dist/quasar.umd.modern.min.js +2 -2
  100. package/dist/types/index.d.ts +8 -0
  101. package/dist/vetur/quasar-attributes.json +8 -0
  102. package/dist/vetur/quasar-tags.json +2 -0
  103. package/dist/web-types/web-types.json +21 -3
  104. package/package.json +1 -1
  105. package/src/components/knob/QKnob.js +41 -23
  106. package/src/components/knob/QKnob.json +16 -0
  107. package/src/components/select/QSelect.js +1 -1
  108. package/src/components/slider/slider-utils.json +1 -1
  109. package/src/mixins/mask.js +1 -1
@@ -4315,6 +4315,14 @@ export interface QKnob extends Vue {
4315
4315
  * The maximum value that the model (the knob value) should go to
4316
4316
  */
4317
4317
  max? : number
4318
+ /**
4319
+ * Inner minimum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be higher or equal to 'min' prop; Defaults to 'min' prop
4320
+ */
4321
+ innerMin? : number
4322
+ /**
4323
+ * Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop
4324
+ */
4325
+ innerMax? : number
4318
4326
  /**
4319
4327
  * A number representing steps in the value of the model, while adjusting the knob
4320
4328
  */
@@ -2755,6 +2755,14 @@
2755
2755
  "type": "number",
2756
2756
  "description": "The maximum value that the model (the knob value) should go to"
2757
2757
  },
2758
+ "q-knob/inner-min": {
2759
+ "type": "number",
2760
+ "description": "Inner minimum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be higher or equal to 'min' prop; Defaults to 'min' prop"
2761
+ },
2762
+ "q-knob/inner-max": {
2763
+ "type": "number",
2764
+ "description": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop"
2765
+ },
2758
2766
  "q-knob/step": {
2759
2767
  "type": "number",
2760
2768
  "description": "A number representing steps in the value of the model, while adjusting the knob"
@@ -910,6 +910,8 @@
910
910
  "value",
911
911
  "min",
912
912
  "max",
913
+ "inner-min",
914
+ "inner-max",
913
915
  "step",
914
916
  "instant-feedback",
915
917
  "color",
@@ -2,7 +2,7 @@
2
2
  "$schema": "",
3
3
  "framework": "vue",
4
4
  "name": "quasar",
5
- "version": "1.18.3",
5
+ "version": "1.18.4",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
@@ -9107,6 +9107,24 @@
9107
9107
  "description": "The maximum value that the model (the knob value) should go to\n\nExamples:\n100\n50",
9108
9108
  "doc-url": "https://v1.quasar.dev/vue-components/knob"
9109
9109
  },
9110
+ {
9111
+ "name": "inner-min",
9112
+ "value": {
9113
+ "kind": "expression",
9114
+ "type": "number"
9115
+ },
9116
+ "description": "Inner minimum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be higher or equal to 'min' prop; Defaults to 'min' prop\n\nExamples:\n:inner-min=\"0\"",
9117
+ "doc-url": "https://v1.quasar.dev/vue-components/knob"
9118
+ },
9119
+ {
9120
+ "name": "inner-max",
9121
+ "value": {
9122
+ "kind": "expression",
9123
+ "type": "number"
9124
+ },
9125
+ "description": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop\n\nExamples:\n:inner-max=\"100\"",
9126
+ "doc-url": "https://v1.quasar.dev/vue-components/knob"
9127
+ },
9110
9128
  {
9111
9129
  "name": "step",
9112
9130
  "value": {
@@ -11557,7 +11575,7 @@
11557
11575
  "kind": "expression",
11558
11576
  "type": "number"
11559
11577
  },
11560
- "description": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop\n\nExamples:\n:max-value=\"100\"",
11578
+ "description": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop\n\nExamples:\n:inner-max=\"100\"",
11561
11579
  "doc-url": "https://v1.quasar.dev/vue-components/range"
11562
11580
  },
11563
11581
  {
@@ -14139,7 +14157,7 @@
14139
14157
  "kind": "expression",
14140
14158
  "type": "number"
14141
14159
  },
14142
- "description": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop\n\nExamples:\n:max-value=\"100\"",
14160
+ "description": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop\n\nExamples:\n:inner-max=\"100\"",
14143
14161
  "doc-url": "https://v1.quasar.dev/vue-components/slider"
14144
14162
  },
14145
14163
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar",
3
- "version": "1.18.3",
3
+ "version": "1.18.4",
4
4
  "description": "Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time",
5
5
  "module": "src/index.esm.js",
6
6
  "typings": "dist/types/index.d.ts",
@@ -25,6 +25,9 @@ export default Vue.extend({
25
25
  },
26
26
 
27
27
  props: {
28
+ innerMin: Number,
29
+ innerMax: Number,
30
+
28
31
  step: {
29
32
  type: Number,
30
33
  default: 1,
@@ -41,31 +44,22 @@ export default Vue.extend({
41
44
  },
42
45
 
43
46
  data () {
47
+ const innerMin = this.__getInnerMin(this.innerMin)
48
+ const innerMax = this.__getInnerMax(this.innerMax)
49
+
44
50
  return {
45
- model: this.value,
51
+ model: this.value === null ? innerMin : between(this.value, innerMin, innerMax),
46
52
  dragging: false
47
53
  }
48
54
  },
49
55
 
50
56
  watch: {
51
- value (value) {
52
- if (value < this.min) {
53
- this.model = this.min
54
- }
55
- else if (value > this.max) {
56
- this.model = this.max
57
- }
58
- else {
59
- if (value !== this.model) {
60
- this.model = value
61
- }
62
- return
63
- }
57
+ modelUpdate () {
58
+ this.model = this.value === null
59
+ ? this.computedInnerMin
60
+ : between(this.value, this.computedInnerMin, this.computedInnerMax)
64
61
 
65
- if (this.model !== this.value) {
66
- this.$emit('input', this.model)
67
- this.$emit('change', this.model)
68
- }
62
+ this.__updateValue(true)
69
63
  }
70
64
  },
71
65
 
@@ -78,6 +72,18 @@ export default Vue.extend({
78
72
  )
79
73
  },
80
74
 
75
+ computedInnerMin () {
76
+ return this.__getInnerMin(this.innerMin)
77
+ },
78
+
79
+ computedInnerMax () {
80
+ return this.__getInnerMax(this.innerMax)
81
+ },
82
+
83
+ modelUpdate () {
84
+ return `${this.value}|${this.computedInnerMin}|${this.computedInnerMax}`
85
+ },
86
+
81
87
  editable () {
82
88
  return this.disable === false && this.readonly === false
83
89
  },
@@ -109,8 +115,8 @@ export default Vue.extend({
109
115
  attrs () {
110
116
  const attrs = {
111
117
  role: 'slider',
112
- 'aria-valuemin': this.min,
113
- 'aria-valuemax': this.max,
118
+ 'aria-valuemin': this.computedInnerMin,
119
+ 'aria-valuemax': this.computedInnerMax,
114
120
  'aria-valuenow': this.value
115
121
  }
116
122
 
@@ -126,6 +132,18 @@ export default Vue.extend({
126
132
  },
127
133
 
128
134
  methods: {
135
+ __getInnerMin (val) {
136
+ return isNaN(val) === true || this.innerMin < this.min
137
+ ? this.min
138
+ : this.innerMin
139
+ },
140
+
141
+ __getInnerMax (val) {
142
+ return isNaN(val) === true || val > this.max
143
+ ? this.max
144
+ : this.innerMax
145
+ },
146
+
129
147
  __updateCenterPosition () {
130
148
  const { top, left, width, height } = this.$el.getBoundingClientRect()
131
149
  this.centerPosition = {
@@ -167,8 +185,8 @@ export default Vue.extend({
167
185
 
168
186
  this.model = between(
169
187
  parseFloat((this.model + offset).toFixed(this.decimals)),
170
- this.min,
171
- this.max
188
+ this.computedInnerMin,
189
+ this.computedInnerMax
172
190
  )
173
191
 
174
192
  this.__updateValue()
@@ -225,7 +243,7 @@ export default Vue.extend({
225
243
  model = parseFloat(model.toFixed(this.decimals))
226
244
  }
227
245
 
228
- model = between(model, this.min, this.max)
246
+ model = between(model, this.computedInnerMin, this.computedInnerMax)
229
247
 
230
248
  this.$emit('drag-value', model)
231
249
 
@@ -27,6 +27,22 @@
27
27
  "category": "model"
28
28
  },
29
29
 
30
+ "inner-min": {
31
+ "type": "Number",
32
+ "desc": "Inner minimum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be higher or equal to 'min' prop; Defaults to 'min' prop",
33
+ "examples": [ ":inner-min=\"0\"" ],
34
+ "category": "model",
35
+ "addedIn": "v1.18.4"
36
+ },
37
+
38
+ "inner-max": {
39
+ "type": "Number",
40
+ "desc": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop",
41
+ "examples": [ ":inner-max=\"100\"" ],
42
+ "category": "model",
43
+ "addedIn": "v1.18.4"
44
+ },
45
+
30
46
  "step": {
31
47
  "type": "Number",
32
48
  "default": "1",
@@ -302,7 +302,7 @@ export default Vue.extend({
302
302
  }
303
303
 
304
304
  if (this.$q.platform.is.desktop === true) {
305
- itemEvents.mousemove = () => { this.setOptionIndex(index) }
305
+ itemEvents.mousemove = () => { this.menu === true && this.setOptionIndex(index) }
306
306
  }
307
307
 
308
308
  const option = {
@@ -29,7 +29,7 @@
29
29
  "inner-max": {
30
30
  "type": "Number",
31
31
  "desc": "Inner maximum value of the model; Use in case you need the model value to be inside of the track's min-max values; Needs to be lower or equal to 'max' prop; Defaults to 'max' prop",
32
- "examples": [ ":max-value=\"100\"" ],
32
+ "examples": [ ":inner-max=\"100\"" ],
33
33
  "category": "model",
34
34
  "addedIn": "v1.17"
35
35
  },
@@ -301,7 +301,7 @@ export default {
301
301
  ? this.__unmask(masked)
302
302
  : masked
303
303
 
304
- this.value !== val && this.__emitValue(val, true)
304
+ String(this.value) !== val && this.__emitValue(val, true)
305
305
  },
306
306
 
307
307
  __moveCursorForPaste (inp, start, end) {