quasar 1.22.6 → 1.22.8

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 (124) hide show
  1. package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
  2. package/dist/icon-set/eva-icons.umd.min.js +1 -1
  3. package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
  4. package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
  5. package/dist/icon-set/fontawesome-v6-pro.umd.min.js +1 -1
  6. package/dist/icon-set/fontawesome-v6.umd.min.js +1 -1
  7. package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
  8. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  9. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  10. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  11. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  12. package/dist/icon-set/material-icons.umd.min.js +1 -1
  13. package/dist/icon-set/material-symbols-outlined.umd.min.js +1 -1
  14. package/dist/icon-set/material-symbols-rounded.umd.min.js +1 -1
  15. package/dist/icon-set/material-symbols-sharp.umd.min.js +1 -1
  16. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  17. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  18. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  19. package/dist/icon-set/mdi-v6.umd.min.js +1 -1
  20. package/dist/icon-set/mdi-v7.umd.min.js +1 -1
  21. package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
  22. package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
  23. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
  24. package/dist/icon-set/svg-fontawesome-v6.umd.min.js +1 -1
  25. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  26. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  27. package/dist/icon-set/svg-ionicons-v6.umd.min.js +1 -1
  28. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  29. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
  30. package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
  31. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
  32. package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
  33. package/dist/icon-set/svg-material-symbols-outlined.umd.min.js +1 -1
  34. package/dist/icon-set/svg-material-symbols-rounded.umd.min.js +1 -1
  35. package/dist/icon-set/svg-material-symbols-sharp.umd.min.js +1 -1
  36. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  37. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  38. package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
  39. package/dist/icon-set/svg-mdi-v7.umd.min.js +1 -1
  40. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  41. package/dist/icon-set/themify.umd.min.js +1 -1
  42. package/dist/lang/ar.umd.min.js +1 -1
  43. package/dist/lang/az-latn.umd.min.js +1 -1
  44. package/dist/lang/bg.umd.min.js +1 -1
  45. package/dist/lang/ca.umd.min.js +1 -1
  46. package/dist/lang/cs.umd.min.js +1 -1
  47. package/dist/lang/da.umd.min.js +1 -1
  48. package/dist/lang/de.umd.min.js +1 -1
  49. package/dist/lang/el.umd.min.js +1 -1
  50. package/dist/lang/en-gb.umd.min.js +1 -1
  51. package/dist/lang/en-us.umd.min.js +1 -1
  52. package/dist/lang/eo.umd.min.js +1 -1
  53. package/dist/lang/es.umd.min.js +1 -1
  54. package/dist/lang/et.umd.min.js +1 -1
  55. package/dist/lang/eu.umd.min.js +1 -1
  56. package/dist/lang/fa-ir.umd.min.js +1 -1
  57. package/dist/lang/fa.umd.min.js +1 -1
  58. package/dist/lang/fi.umd.min.js +1 -1
  59. package/dist/lang/fr.umd.min.js +1 -1
  60. package/dist/lang/gn.umd.min.js +1 -1
  61. package/dist/lang/he.umd.min.js +1 -1
  62. package/dist/lang/hr.umd.min.js +1 -1
  63. package/dist/lang/hu.umd.min.js +1 -1
  64. package/dist/lang/id.umd.min.js +1 -1
  65. package/dist/lang/is.umd.min.js +1 -1
  66. package/dist/lang/it.umd.min.js +1 -1
  67. package/dist/lang/ja.umd.min.js +2 -2
  68. package/dist/lang/km.umd.min.js +1 -1
  69. package/dist/lang/ko-kr.umd.min.js +1 -1
  70. package/dist/lang/kur-ckb.umd.min.js +1 -1
  71. package/dist/lang/kz.umd.min.js +1 -1
  72. package/dist/lang/lu.umd.min.js +1 -1
  73. package/dist/lang/lv.umd.min.js +1 -1
  74. package/dist/lang/ml.umd.min.js +1 -1
  75. package/dist/lang/mm.umd.min.js +1 -1
  76. package/dist/lang/ms.umd.min.js +1 -1
  77. package/dist/lang/my.umd.min.js +1 -1
  78. package/dist/lang/nb-no.umd.min.js +1 -1
  79. package/dist/lang/nl.umd.min.js +1 -1
  80. package/dist/lang/pl.umd.min.js +1 -1
  81. package/dist/lang/pt-br.umd.min.js +1 -1
  82. package/dist/lang/pt.umd.min.js +1 -1
  83. package/dist/lang/ro.umd.min.js +1 -1
  84. package/dist/lang/ru.umd.min.js +1 -1
  85. package/dist/lang/sk.umd.min.js +1 -1
  86. package/dist/lang/sl.umd.min.js +1 -1
  87. package/dist/lang/sm.umd.min.js +1 -1
  88. package/dist/lang/sr.umd.min.js +1 -1
  89. package/dist/lang/sv.umd.min.js +1 -1
  90. package/dist/lang/ta.umd.min.js +1 -1
  91. package/dist/lang/th.umd.min.js +1 -1
  92. package/dist/lang/tr.umd.min.js +1 -1
  93. package/dist/lang/ug.umd.min.js +1 -1
  94. package/dist/lang/uk.umd.min.js +1 -1
  95. package/dist/lang/uz-Cyrl.umd.min.js +1 -1
  96. package/dist/lang/uz-Latn.umd.min.js +1 -1
  97. package/dist/lang/vi.umd.min.js +1 -1
  98. package/dist/lang/zh-hans.umd.min.js +1 -1
  99. package/dist/lang/zh-hant.umd.min.js +1 -1
  100. package/dist/quasar.addon.css +1 -1
  101. package/dist/quasar.addon.rtl.css +1 -1
  102. package/dist/quasar.common.js +2 -2
  103. package/dist/quasar.css +25 -5
  104. package/dist/quasar.esm.js +2 -2
  105. package/dist/quasar.ie.polyfills.js +1 -1
  106. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  107. package/dist/quasar.min.css +1 -1
  108. package/dist/quasar.rtl.css +3 -3
  109. package/dist/quasar.rtl.min.css +1 -1
  110. package/dist/quasar.sass +17 -5
  111. package/dist/quasar.styl +17 -5
  112. package/dist/quasar.umd.js +96 -56
  113. package/dist/quasar.umd.min.js +2 -2
  114. package/dist/quasar.umd.modern.js +95 -56
  115. package/dist/quasar.umd.modern.min.js +2 -2
  116. package/dist/web-types/web-types.json +1 -1
  117. package/lang/ja.js +1 -1
  118. package/package.json +1 -1
  119. package/src/components/field/QField.js +5 -1
  120. package/src/components/field/QField.sass +18 -4
  121. package/src/components/field/QField.styl +18 -4
  122. package/src/components/input/QInput.js +17 -4
  123. package/src/components/table/table-top.js +1 -1
  124. package/src/mixins/mask.js +70 -48
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.6
2
+ * Quasar Framework v1.22.8
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -2333,8 +2333,14 @@ $field-transition-label-right-up: .324s cubic-bezier(.4,0,.2,1)
2333
2333
  -webkit-animation-fill-mode: both
2334
2334
  &:-webkit-autofill + .q-field__label
2335
2335
  transform: translateY(-40%) scale(.75)
2336
- &[type="number"]:invalid + .q-field__label
2337
- transform: translateY(-40%) scale(.75)
2336
+ &[type="color"],
2337
+ &[type="date"],
2338
+ &[type="datetime-local"],
2339
+ &[type="month"],
2340
+ &[type="time"],
2341
+ &[type="week"]
2342
+ + .q-field__label
2343
+ transform: translateY(-40%) scale(.75)
2338
2344
  &:invalid
2339
2345
  box-shadow: none
2340
2346
  &__native[type="file"]
@@ -2581,8 +2587,14 @@ $field-transition-label-right-up: .324s cubic-bezier(.4,0,.2,1)
2581
2587
  .q-field__native, .q-field__input
2582
2588
  &:-webkit-autofill + .q-field__label
2583
2589
  transform: translateY(-30%) scale(.75)
2584
- &[type="number"]:invalid + .q-field__label
2585
- transform: translateY(-30%) scale(.75)
2590
+ &[type="color"],
2591
+ &[type="date"],
2592
+ &[type="datetime-local"],
2593
+ &[type="month"],
2594
+ &[type="time"],
2595
+ &[type="week"]
2596
+ + .q-field__label
2597
+ transform: translateY(-30%) scale(.75)
2586
2598
  &--borderless, &--standard
2587
2599
  .q-field__bottom,
2588
2600
  &.q-field--dense .q-field__control
package/dist/quasar.styl CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.6
2
+ * Quasar Framework v1.22.8
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -2380,8 +2380,14 @@ $field-transition-label-right-up = .324s cubic-bezier(.4,0,.2,1)
2380
2380
  -webkit-animation-fill-mode: both
2381
2381
  &:-webkit-autofill + .q-field__label
2382
2382
  transform: translateY(-40%) scale(.75)
2383
- &[type="number"]:invalid + .q-field__label
2384
- transform: translateY(-40%) scale(.75)
2383
+ &[type="color"],
2384
+ &[type="date"],
2385
+ &[type="datetime-local"],
2386
+ &[type="month"],
2387
+ &[type="time"],
2388
+ &[type="week"]
2389
+ + .q-field__label
2390
+ transform: translateY(-40%) scale(.75)
2385
2391
  &:invalid
2386
2392
  box-shadow: none
2387
2393
  &__native[type="file"]
@@ -2628,8 +2634,14 @@ $field-transition-label-right-up = .324s cubic-bezier(.4,0,.2,1)
2628
2634
  .q-field__native, .q-field__input
2629
2635
  &:-webkit-autofill + .q-field__label
2630
2636
  transform: translateY(-30%) scale(.75)
2631
- &[type="number"]:invalid + .q-field__label
2632
- transform: translateY(-30%) scale(.75)
2637
+ &[type="color"],
2638
+ &[type="date"],
2639
+ &[type="datetime-local"],
2640
+ &[type="month"],
2641
+ &[type="time"],
2642
+ &[type="week"]
2643
+ + .q-field__label
2644
+ transform: translateY(-30%) scale(.75)
2633
2645
  &--borderless, &--standard
2634
2646
  .q-field__bottom,
2635
2647
  &.q-field--dense .q-field__control
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.6
2
+ * Quasar Framework v1.22.8
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -12,7 +12,7 @@
12
12
 
13
13
  Vue = Vue && Object.prototype.hasOwnProperty.call(Vue, 'default') ? Vue['default'] : Vue;
14
14
 
15
- var version = "1.22.6";
15
+ var version = "1.22.8";
16
16
 
17
17
  /* eslint-disable no-useless-escape */
18
18
 
@@ -19248,7 +19248,11 @@
19248
19248
  this.focused === true ||
19249
19249
  typeof this.inputValue === 'number' ||
19250
19250
  (typeof this.inputValue === 'string' && this.inputValue.length > 0) ||
19251
- (this.hideSelected !== true && this.hasValue === true) ||
19251
+ (
19252
+ this.hideSelected !== true &&
19253
+ this.hasValue === true &&
19254
+ (this.type !== 'number' || isNaN(this.value) === false)
19255
+ ) ||
19252
19256
  (
19253
19257
  this.displayValue !== void 0 &&
19254
19258
  this.displayValue !== null &&
@@ -21777,8 +21781,15 @@
21777
21781
  }
21778
21782
 
21779
21783
  if (inputType === 'insertFromPaste' && this$1.reverseFillMask !== true) {
21784
+ var maxEnd = inp.selectionEnd;
21780
21785
  var cursor$1 = end - 1;
21781
- this$1.__moveCursorRight(inp, cursor$1, cursor$1);
21786
+ // each non-marker char means we move once to right
21787
+ for (var i = this$1.__pastedTextStart; i <= cursor$1 && i < maxEnd; i++) {
21788
+ if (this$1.maskMarked[i] !== MARKER) {
21789
+ cursor$1++;
21790
+ }
21791
+ }
21792
+ this$1.__moveCursorRight(inp, cursor$1);
21782
21793
 
21783
21794
  return
21784
21795
  }
@@ -21804,7 +21815,7 @@
21804
21815
  inp.setSelectionRange(cursor$3, cursor$3, 'forward');
21805
21816
  }
21806
21817
  else {
21807
- this$1.__moveCursorRightReverse(inp, cursor$3, cursor$3);
21818
+ this$1.__moveCursorRightReverse(inp, cursor$3);
21808
21819
  }
21809
21820
  }
21810
21821
  else {
@@ -21815,11 +21826,11 @@
21815
21826
  else {
21816
21827
  if (changed === true) {
21817
21828
  var cursor$5 = Math.max(0, this$1.maskMarked.indexOf(MARKER), Math.min(preMasked.length, end) - 1);
21818
- this$1.__moveCursorRight(inp, cursor$5, cursor$5);
21829
+ this$1.__moveCursorRight(inp, cursor$5);
21819
21830
  }
21820
21831
  else {
21821
21832
  var cursor$6 = end - 1;
21822
- this$1.__moveCursorRight(inp, cursor$6, cursor$6);
21833
+ this$1.__moveCursorRight(inp, cursor$6);
21823
21834
  }
21824
21835
  }
21825
21836
  });
@@ -21835,73 +21846,71 @@
21835
21846
  var preMasked = this.__mask(this.__unmask(inp.value));
21836
21847
 
21837
21848
  start = Math.max(0, this.maskMarked.indexOf(MARKER), Math.min(preMasked.length, start));
21849
+ this.__pastedTextStart = start;
21838
21850
 
21839
21851
  inp.setSelectionRange(start, end, 'forward');
21840
21852
  },
21841
21853
 
21842
- __moveCursorLeft: function __moveCursorLeft (inp, start, end, selection) {
21843
- var noMarkBefore = this.maskMarked.slice(start - 1).indexOf(MARKER) === -1;
21844
- var i = Math.max(0, start - 1);
21854
+ __moveCursorLeft: function __moveCursorLeft (inp, cursor) {
21855
+ var noMarkBefore = this.maskMarked.slice(cursor - 1).indexOf(MARKER) === -1;
21856
+ var i = Math.max(0, cursor - 1);
21845
21857
 
21846
21858
  for (; i >= 0; i--) {
21847
21859
  if (this.maskMarked[i] === MARKER) {
21848
- start = i;
21849
- noMarkBefore === true && start++;
21860
+ cursor = i;
21861
+ noMarkBefore === true && cursor++;
21850
21862
  break
21851
21863
  }
21852
21864
  }
21853
21865
 
21854
21866
  if (
21855
21867
  i < 0 &&
21856
- this.maskMarked[start] !== void 0 &&
21857
- this.maskMarked[start] !== MARKER
21868
+ this.maskMarked[cursor] !== void 0 &&
21869
+ this.maskMarked[cursor] !== MARKER
21858
21870
  ) {
21859
- return this.__moveCursorRight(inp, 0, 0)
21871
+ return this.__moveCursorRight(inp, 0)
21860
21872
  }
21861
21873
 
21862
- start >= 0 && inp.setSelectionRange(
21863
- start,
21864
- selection === true ? end : start, 'backward'
21865
- );
21874
+ cursor >= 0 && inp.setSelectionRange(cursor, cursor, 'backward');
21866
21875
  },
21867
21876
 
21868
- __moveCursorRight: function __moveCursorRight (inp, start, end, selection) {
21877
+ __moveCursorRight: function __moveCursorRight (inp, cursor) {
21869
21878
  var limit = inp.value.length;
21870
- var i = Math.min(limit, end + 1);
21879
+ var i = Math.min(limit, cursor + 1);
21871
21880
 
21872
21881
  for (; i <= limit; i++) {
21873
21882
  if (this.maskMarked[i] === MARKER) {
21874
- end = i;
21883
+ cursor = i;
21875
21884
  break
21876
21885
  }
21877
21886
  else if (this.maskMarked[i - 1] === MARKER) {
21878
- end = i;
21887
+ cursor = i;
21879
21888
  }
21880
21889
  }
21881
21890
 
21882
21891
  if (
21883
21892
  i > limit &&
21884
- this.maskMarked[end - 1] !== void 0 &&
21885
- this.maskMarked[end - 1] !== MARKER
21893
+ this.maskMarked[cursor - 1] !== void 0 &&
21894
+ this.maskMarked[cursor - 1] !== MARKER
21886
21895
  ) {
21887
- return this.__moveCursorLeft(inp, limit, limit)
21896
+ return this.__moveCursorLeft(inp, limit)
21888
21897
  }
21889
21898
 
21890
- inp.setSelectionRange(selection ? start : end, end, 'forward');
21899
+ inp.setSelectionRange(cursor, cursor, 'forward');
21891
21900
  },
21892
21901
 
21893
- __moveCursorLeftReverse: function __moveCursorLeftReverse (inp, start, end, selection) {
21902
+ __moveCursorLeftReverse: function __moveCursorLeftReverse (inp, cursor) {
21894
21903
  var
21895
21904
  maskMarked = this.__getPaddedMaskMarked(inp.value.length);
21896
- var i = Math.max(0, start - 1);
21905
+ var i = Math.max(0, cursor - 1);
21897
21906
 
21898
21907
  for (; i >= 0; i--) {
21899
21908
  if (maskMarked[i - 1] === MARKER) {
21900
- start = i;
21909
+ cursor = i;
21901
21910
  break
21902
21911
  }
21903
21912
  else if (maskMarked[i] === MARKER) {
21904
- start = i;
21913
+ cursor = i;
21905
21914
  if (i === 0) {
21906
21915
  break
21907
21916
  }
@@ -21910,42 +21919,45 @@
21910
21919
 
21911
21920
  if (
21912
21921
  i < 0 &&
21913
- maskMarked[start] !== void 0 &&
21914
- maskMarked[start] !== MARKER
21922
+ maskMarked[cursor] !== void 0 &&
21923
+ maskMarked[cursor] !== MARKER
21915
21924
  ) {
21916
- return this.__moveCursorRightReverse(inp, 0, 0)
21925
+ return this.__moveCursorRightReverse(inp, 0)
21917
21926
  }
21918
21927
 
21919
- start >= 0 && inp.setSelectionRange(
21920
- start,
21921
- selection === true ? end : start, 'backward'
21922
- );
21928
+ cursor >= 0 && inp.setSelectionRange(cursor, cursor, 'backward');
21923
21929
  },
21924
21930
 
21925
- __moveCursorRightReverse: function __moveCursorRightReverse (inp, start, end, selection) {
21931
+ __moveCursorRightReverse: function __moveCursorRightReverse (inp, cursor) {
21926
21932
  var
21927
21933
  limit = inp.value.length,
21928
21934
  maskMarked = this.__getPaddedMaskMarked(limit),
21929
- noMarkBefore = maskMarked.slice(0, end + 1).indexOf(MARKER) === -1;
21930
- var i = Math.min(limit, end + 1);
21935
+ noMarkBefore = maskMarked.slice(0, cursor + 1).indexOf(MARKER) === -1;
21936
+ var i = Math.min(limit, cursor + 1);
21931
21937
 
21932
21938
  for (; i <= limit; i++) {
21933
21939
  if (maskMarked[i - 1] === MARKER) {
21934
- end = i;
21935
- end > 0 && noMarkBefore === true && end--;
21940
+ cursor = i;
21941
+ cursor > 0 && noMarkBefore === true && cursor--;
21936
21942
  break
21937
21943
  }
21938
21944
  }
21939
21945
 
21940
21946
  if (
21941
21947
  i > limit &&
21942
- maskMarked[end - 1] !== void 0 &&
21943
- maskMarked[end - 1] !== MARKER
21948
+ maskMarked[cursor - 1] !== void 0 &&
21949
+ maskMarked[cursor - 1] !== MARKER
21944
21950
  ) {
21945
- return this.__moveCursorLeftReverse(inp, limit, limit)
21951
+ return this.__moveCursorLeftReverse(inp, limit)
21946
21952
  }
21947
21953
 
21948
- inp.setSelectionRange(selection === true ? start : end, end, 'forward');
21954
+ inp.setSelectionRange(cursor, cursor, 'forward');
21955
+ },
21956
+
21957
+ __onMaskedClick: function __onMaskedClick (e) {
21958
+ this.qListeners.click !== void 0 && this.$emit('click', e);
21959
+
21960
+ this.__selectionAnchor = void 0;
21949
21961
  },
21950
21962
 
21951
21963
  __onMaskedKeydown: function __onMaskedKeydown (e) {
@@ -21960,25 +21972,39 @@
21960
21972
  start = inp.selectionStart,
21961
21973
  end = inp.selectionEnd;
21962
21974
 
21975
+ if (!e.shiftKey) {
21976
+ this.__selectionAnchor = void 0;
21977
+ }
21978
+
21963
21979
  if (e.keyCode === 37 || e.keyCode === 39) { // Left / Right
21980
+ if (e.shiftKey && this.__selectionAnchor === void 0) {
21981
+ this.__selectionAnchor = inp.selectionDirection === 'forward' ? start : end;
21982
+ }
21983
+
21964
21984
  var fn = this['__moveCursor' + (e.keyCode === 39 ? 'Right' : 'Left') + (this.reverseFillMask === true ? 'Reverse' : '')];
21965
21985
 
21966
21986
  e.preventDefault();
21967
- fn(inp, start, end, e.shiftKey);
21987
+ fn(inp, this.__selectionAnchor === start ? end : start);
21988
+
21989
+ if (e.shiftKey) {
21990
+ var anchor = this.__selectionAnchor;
21991
+ var cursor = inp.selectionStart;
21992
+ inp.setSelectionRange(Math.min(anchor, cursor), Math.max(anchor, cursor), 'forward');
21993
+ }
21968
21994
  }
21969
21995
  else if (
21970
21996
  e.keyCode === 8 && // Backspace
21971
21997
  this.reverseFillMask !== true &&
21972
21998
  start === end
21973
21999
  ) {
21974
- this.__moveCursorLeft(inp, start, end, true);
22000
+ this.__moveCursorLeft(inp, start);
21975
22001
  }
21976
22002
  else if (
21977
22003
  e.keyCode === 46 && // Delete
21978
22004
  this.reverseFillMask === true &&
21979
22005
  start === end
21980
22006
  ) {
21981
- this.__moveCursorRightReverse(inp, start, end, true);
22007
+ this.__moveCursorRightReverse(inp, end);
21982
22008
  }
21983
22009
 
21984
22010
  this.$emit('keydown', e);
@@ -22227,6 +22253,8 @@
22227
22253
 
22228
22254
  if (this.hasMask === true) {
22229
22255
  on.keydown = this.__onMaskedKeydown;
22256
+ // reset selection anchor on pointer selection
22257
+ on.click = this.__onMaskedClick;
22230
22258
  }
22231
22259
 
22232
22260
  if (this.autogrow === true) {
@@ -22382,19 +22410,31 @@
22382
22410
  var inp = this$1.$refs.input;
22383
22411
  if (inp !== void 0) {
22384
22412
  var parentStyle = inp.parentNode.style;
22385
- var ref = inp.style;
22386
- var overflow = ref.overflow;
22413
+ // chrome does not keep scroll #15498
22414
+ var scrollTop = inp.scrollTop;
22415
+ // chrome calculates a smaller scrollHeight when in a .column container
22416
+ var ref = this$1.$q.platform.is.firefox === true
22417
+ ? {}
22418
+ : window.getComputedStyle(inp);
22419
+ var overflowY = ref.overflowY;
22420
+ var maxHeight = ref.maxHeight;
22421
+ // on firefox or if overflowY is specified as scroll #14263, #14344
22422
+ // we don't touch overflow
22423
+ // firefox is not so bad in the end
22424
+ var changeOverflow = overflowY !== void 0 && overflowY !== 'scroll';
22387
22425
 
22388
22426
  // reset height of textarea to a small size to detect the real height
22389
22427
  // but keep the total control size the same
22390
- // Firefox rulez #14263, #14344
22391
- this$1.$q.platform.is.firefox !== true && (inp.style.overflow = 'hidden');
22428
+ changeOverflow === true && (inp.style.overflowY = 'hidden');
22392
22429
  parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px';
22393
22430
  inp.style.height = '1px';
22394
22431
 
22395
22432
  inp.style.height = inp.scrollHeight + 'px';
22396
- inp.style.overflow = overflow;
22433
+ // we should allow scrollbars only
22434
+ // if there is maxHeight and content is taller than maxHeight
22435
+ changeOverflow === true && (inp.style.overflowY = parseInt(maxHeight, 10) < inp.scrollHeight ? 'auto' : 'hidden');
22397
22436
  parentStyle.marginBottom = '';
22437
+ inp.scrollTop = scrollTop;
22398
22438
  }
22399
22439
  });
22400
22440
  },
@@ -32513,7 +32553,7 @@
32513
32553
 
32514
32554
  if (topLeft !== void 0) {
32515
32555
  child.push(
32516
- h('div', { staticClass: 'q-table-control' }, [
32556
+ h('div', { staticClass: 'q-table__control' }, [
32517
32557
  topLeft(this.marginalsScope)
32518
32558
  ])
32519
32559
  );