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
@@ -2,7 +2,7 @@
2
2
  "$schema": "",
3
3
  "framework": "vue",
4
4
  "name": "quasar",
5
- "version": "1.22.6",
5
+ "version": "1.22.8",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
package/lang/ja.js CHANGED
@@ -28,7 +28,7 @@ export default {
28
28
  weekday: 'short', month: 'short', day: 'numeric'
29
29
  }).format(date)
30
30
  },
31
- firstDayOfWeek: 1, // 0-6, 0 - Sunday, 1 Monday, ...
31
+ firstDayOfWeek: 0, // 0-6, 0 - Sunday, 1 Monday, ...
32
32
  format24h: true, // true
33
33
  pluralDay: '日間'
34
34
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar",
3
- "version": "1.22.6",
3
+ "version": "1.22.8",
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",
@@ -122,7 +122,11 @@ export default Vue.extend({
122
122
  this.focused === true ||
123
123
  typeof this.inputValue === 'number' ||
124
124
  (typeof this.inputValue === 'string' && this.inputValue.length > 0) ||
125
- (this.hideSelected !== true && this.hasValue === true) ||
125
+ (
126
+ this.hideSelected !== true &&
127
+ this.hasValue === true &&
128
+ (this.type !== 'number' || isNaN(this.value) === false)
129
+ ) ||
126
130
  (
127
131
  this.displayValue !== void 0 &&
128
132
  this.displayValue !== null &&
@@ -134,8 +134,15 @@ $field-transition-label-right-up: .324s cubic-bezier(.4,0,.2,1)
134
134
 
135
135
  &:-webkit-autofill + .q-field__label
136
136
  transform: translateY(-40%) scale(.75)
137
- &[type="number"]:invalid + .q-field__label
138
- transform: translateY(-40%) scale(.75)
137
+
138
+ &[type="color"],
139
+ &[type="date"],
140
+ &[type="datetime-local"],
141
+ &[type="month"],
142
+ &[type="time"],
143
+ &[type="week"]
144
+ + .q-field__label
145
+ transform: translateY(-40%) scale(.75)
139
146
 
140
147
  &:invalid
141
148
  box-shadow: none
@@ -439,8 +446,15 @@ $field-transition-label-right-up: .324s cubic-bezier(.4,0,.2,1)
439
446
  .q-field__native, .q-field__input
440
447
  &:-webkit-autofill + .q-field__label
441
448
  transform: translateY(-30%) scale(.75)
442
- &[type="number"]:invalid + .q-field__label
443
- transform: translateY(-30%) scale(.75)
449
+
450
+ &[type="color"],
451
+ &[type="date"],
452
+ &[type="datetime-local"],
453
+ &[type="month"],
454
+ &[type="time"],
455
+ &[type="week"]
456
+ + .q-field__label
457
+ transform: translateY(-30%) scale(.75)
444
458
 
445
459
  &--borderless, &--standard
446
460
 
@@ -134,8 +134,15 @@ $field-transition-label-right-up = .324s cubic-bezier(.4,0,.2,1)
134
134
 
135
135
  &:-webkit-autofill + .q-field__label
136
136
  transform: translateY(-40%) scale(.75)
137
- &[type="number"]:invalid + .q-field__label
138
- transform: translateY(-40%) scale(.75)
137
+
138
+ &[type="color"],
139
+ &[type="date"],
140
+ &[type="datetime-local"],
141
+ &[type="month"],
142
+ &[type="time"],
143
+ &[type="week"]
144
+ + .q-field__label
145
+ transform: translateY(-40%) scale(.75)
139
146
 
140
147
  &:invalid
141
148
  box-shadow: none
@@ -439,8 +446,15 @@ $field-transition-label-right-up = .324s cubic-bezier(.4,0,.2,1)
439
446
  .q-field__native, .q-field__input
440
447
  &:-webkit-autofill + .q-field__label
441
448
  transform: translateY(-30%) scale(.75)
442
- &[type="number"]:invalid + .q-field__label
443
- transform: translateY(-30%) scale(.75)
449
+
450
+ &[type="color"],
451
+ &[type="date"],
452
+ &[type="datetime-local"],
453
+ &[type="month"],
454
+ &[type="time"],
455
+ &[type="week"]
456
+ + .q-field__label
457
+ transform: translateY(-30%) scale(.75)
444
458
 
445
459
  &--borderless, &--standard
446
460
 
@@ -142,6 +142,8 @@ export default Vue.extend({
142
142
 
143
143
  if (this.hasMask === true) {
144
144
  on.keydown = this.__onMaskedKeydown
145
+ // reset selection anchor on pointer selection
146
+ on.click = this.__onMaskedClick
145
147
  }
146
148
 
147
149
  if (this.autogrow === true) {
@@ -291,18 +293,29 @@ export default Vue.extend({
291
293
  const inp = this.$refs.input
292
294
  if (inp !== void 0) {
293
295
  const parentStyle = inp.parentNode.style
294
- const { overflow } = inp.style
296
+ // chrome does not keep scroll #15498
297
+ const { scrollTop } = inp
298
+ // chrome calculates a smaller scrollHeight when in a .column container
299
+ const { overflowY, maxHeight } = this.$q.platform.is.firefox === true
300
+ ? {}
301
+ : window.getComputedStyle(inp)
302
+ // on firefox or if overflowY is specified as scroll #14263, #14344
303
+ // we don't touch overflow
304
+ // firefox is not so bad in the end
305
+ const changeOverflow = overflowY !== void 0 && overflowY !== 'scroll'
295
306
 
296
307
  // reset height of textarea to a small size to detect the real height
297
308
  // but keep the total control size the same
298
- // Firefox rulez #14263, #14344
299
- this.$q.platform.is.firefox !== true && (inp.style.overflow = 'hidden')
309
+ changeOverflow === true && (inp.style.overflowY = 'hidden')
300
310
  parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px'
301
311
  inp.style.height = '1px'
302
312
 
303
313
  inp.style.height = inp.scrollHeight + 'px'
304
- inp.style.overflow = overflow
314
+ // we should allow scrollbars only
315
+ // if there is maxHeight and content is taller than maxHeight
316
+ changeOverflow === true && (inp.style.overflowY = parseInt(maxHeight, 10) < inp.scrollHeight ? 'auto' : 'hidden')
305
317
  parentStyle.marginBottom = ''
318
+ inp.scrollTop = scrollTop
306
319
  }
307
320
  })
308
321
  },
@@ -43,7 +43,7 @@ export default {
43
43
 
44
44
  if (topLeft !== void 0) {
45
45
  child.push(
46
- h('div', { staticClass: 'q-table-control' }, [
46
+ h('div', { staticClass: 'q-table__control' }, [
47
47
  topLeft(this.marginalsScope)
48
48
  ])
49
49
  )
@@ -250,8 +250,15 @@ export default {
250
250
  }
251
251
 
252
252
  if (inputType === 'insertFromPaste' && this.reverseFillMask !== true) {
253
- const cursor = end - 1
254
- this.__moveCursorRight(inp, cursor, cursor)
253
+ const maxEnd = inp.selectionEnd
254
+ let cursor = end - 1
255
+ // each non-marker char means we move once to right
256
+ for (let i = this.__pastedTextStart; i <= cursor && i < maxEnd; i++) {
257
+ if (this.maskMarked[i] !== MARKER) {
258
+ cursor++
259
+ }
260
+ }
261
+ this.__moveCursorRight(inp, cursor)
255
262
 
256
263
  return
257
264
  }
@@ -277,7 +284,7 @@ export default {
277
284
  inp.setSelectionRange(cursor, cursor, 'forward')
278
285
  }
279
286
  else {
280
- this.__moveCursorRightReverse(inp, cursor, cursor)
287
+ this.__moveCursorRightReverse(inp, cursor)
281
288
  }
282
289
  }
283
290
  else {
@@ -288,11 +295,11 @@ export default {
288
295
  else {
289
296
  if (changed === true) {
290
297
  const cursor = Math.max(0, this.maskMarked.indexOf(MARKER), Math.min(preMasked.length, end) - 1)
291
- this.__moveCursorRight(inp, cursor, cursor)
298
+ this.__moveCursorRight(inp, cursor)
292
299
  }
293
300
  else {
294
301
  const cursor = end - 1
295
- this.__moveCursorRight(inp, cursor, cursor)
302
+ this.__moveCursorRight(inp, cursor)
296
303
  }
297
304
  }
298
305
  })
@@ -308,73 +315,71 @@ export default {
308
315
  const preMasked = this.__mask(this.__unmask(inp.value))
309
316
 
310
317
  start = Math.max(0, this.maskMarked.indexOf(MARKER), Math.min(preMasked.length, start))
318
+ this.__pastedTextStart = start
311
319
 
312
320
  inp.setSelectionRange(start, end, 'forward')
313
321
  },
314
322
 
315
- __moveCursorLeft (inp, start, end, selection) {
316
- const noMarkBefore = this.maskMarked.slice(start - 1).indexOf(MARKER) === -1
317
- let i = Math.max(0, start - 1)
323
+ __moveCursorLeft (inp, cursor) {
324
+ const noMarkBefore = this.maskMarked.slice(cursor - 1).indexOf(MARKER) === -1
325
+ let i = Math.max(0, cursor - 1)
318
326
 
319
327
  for (; i >= 0; i--) {
320
328
  if (this.maskMarked[i] === MARKER) {
321
- start = i
322
- noMarkBefore === true && start++
329
+ cursor = i
330
+ noMarkBefore === true && cursor++
323
331
  break
324
332
  }
325
333
  }
326
334
 
327
335
  if (
328
336
  i < 0 &&
329
- this.maskMarked[start] !== void 0 &&
330
- this.maskMarked[start] !== MARKER
337
+ this.maskMarked[cursor] !== void 0 &&
338
+ this.maskMarked[cursor] !== MARKER
331
339
  ) {
332
- return this.__moveCursorRight(inp, 0, 0)
340
+ return this.__moveCursorRight(inp, 0)
333
341
  }
334
342
 
335
- start >= 0 && inp.setSelectionRange(
336
- start,
337
- selection === true ? end : start, 'backward'
338
- )
343
+ cursor >= 0 && inp.setSelectionRange(cursor, cursor, 'backward')
339
344
  },
340
345
 
341
- __moveCursorRight (inp, start, end, selection) {
346
+ __moveCursorRight (inp, cursor) {
342
347
  const limit = inp.value.length
343
- let i = Math.min(limit, end + 1)
348
+ let i = Math.min(limit, cursor + 1)
344
349
 
345
350
  for (; i <= limit; i++) {
346
351
  if (this.maskMarked[i] === MARKER) {
347
- end = i
352
+ cursor = i
348
353
  break
349
354
  }
350
355
  else if (this.maskMarked[i - 1] === MARKER) {
351
- end = i
356
+ cursor = i
352
357
  }
353
358
  }
354
359
 
355
360
  if (
356
361
  i > limit &&
357
- this.maskMarked[end - 1] !== void 0 &&
358
- this.maskMarked[end - 1] !== MARKER
362
+ this.maskMarked[cursor - 1] !== void 0 &&
363
+ this.maskMarked[cursor - 1] !== MARKER
359
364
  ) {
360
- return this.__moveCursorLeft(inp, limit, limit)
365
+ return this.__moveCursorLeft(inp, limit)
361
366
  }
362
367
 
363
- inp.setSelectionRange(selection ? start : end, end, 'forward')
368
+ inp.setSelectionRange(cursor, cursor, 'forward')
364
369
  },
365
370
 
366
- __moveCursorLeftReverse (inp, start, end, selection) {
371
+ __moveCursorLeftReverse (inp, cursor) {
367
372
  const
368
373
  maskMarked = this.__getPaddedMaskMarked(inp.value.length)
369
- let i = Math.max(0, start - 1)
374
+ let i = Math.max(0, cursor - 1)
370
375
 
371
376
  for (; i >= 0; i--) {
372
377
  if (maskMarked[i - 1] === MARKER) {
373
- start = i
378
+ cursor = i
374
379
  break
375
380
  }
376
381
  else if (maskMarked[i] === MARKER) {
377
- start = i
382
+ cursor = i
378
383
  if (i === 0) {
379
384
  break
380
385
  }
@@ -383,42 +388,45 @@ export default {
383
388
 
384
389
  if (
385
390
  i < 0 &&
386
- maskMarked[start] !== void 0 &&
387
- maskMarked[start] !== MARKER
391
+ maskMarked[cursor] !== void 0 &&
392
+ maskMarked[cursor] !== MARKER
388
393
  ) {
389
- return this.__moveCursorRightReverse(inp, 0, 0)
394
+ return this.__moveCursorRightReverse(inp, 0)
390
395
  }
391
396
 
392
- start >= 0 && inp.setSelectionRange(
393
- start,
394
- selection === true ? end : start, 'backward'
395
- )
397
+ cursor >= 0 && inp.setSelectionRange(cursor, cursor, 'backward')
396
398
  },
397
399
 
398
- __moveCursorRightReverse (inp, start, end, selection) {
400
+ __moveCursorRightReverse (inp, cursor) {
399
401
  const
400
402
  limit = inp.value.length,
401
403
  maskMarked = this.__getPaddedMaskMarked(limit),
402
- noMarkBefore = maskMarked.slice(0, end + 1).indexOf(MARKER) === -1
403
- let i = Math.min(limit, end + 1)
404
+ noMarkBefore = maskMarked.slice(0, cursor + 1).indexOf(MARKER) === -1
405
+ let i = Math.min(limit, cursor + 1)
404
406
 
405
407
  for (; i <= limit; i++) {
406
408
  if (maskMarked[i - 1] === MARKER) {
407
- end = i
408
- end > 0 && noMarkBefore === true && end--
409
+ cursor = i
410
+ cursor > 0 && noMarkBefore === true && cursor--
409
411
  break
410
412
  }
411
413
  }
412
414
 
413
415
  if (
414
416
  i > limit &&
415
- maskMarked[end - 1] !== void 0 &&
416
- maskMarked[end - 1] !== MARKER
417
+ maskMarked[cursor - 1] !== void 0 &&
418
+ maskMarked[cursor - 1] !== MARKER
417
419
  ) {
418
- return this.__moveCursorLeftReverse(inp, limit, limit)
420
+ return this.__moveCursorLeftReverse(inp, limit)
419
421
  }
420
422
 
421
- inp.setSelectionRange(selection === true ? start : end, end, 'forward')
423
+ inp.setSelectionRange(cursor, cursor, 'forward')
424
+ },
425
+
426
+ __onMaskedClick (e) {
427
+ this.qListeners.click !== void 0 && this.$emit('click', e)
428
+
429
+ this.__selectionAnchor = void 0
422
430
  },
423
431
 
424
432
  __onMaskedKeydown (e) {
@@ -433,25 +441,39 @@ export default {
433
441
  start = inp.selectionStart,
434
442
  end = inp.selectionEnd
435
443
 
444
+ if (!e.shiftKey) {
445
+ this.__selectionAnchor = void 0
446
+ }
447
+
436
448
  if (e.keyCode === 37 || e.keyCode === 39) { // Left / Right
449
+ if (e.shiftKey && this.__selectionAnchor === void 0) {
450
+ this.__selectionAnchor = inp.selectionDirection === 'forward' ? start : end
451
+ }
452
+
437
453
  const fn = this['__moveCursor' + (e.keyCode === 39 ? 'Right' : 'Left') + (this.reverseFillMask === true ? 'Reverse' : '')]
438
454
 
439
455
  e.preventDefault()
440
- fn(inp, start, end, e.shiftKey)
456
+ fn(inp, this.__selectionAnchor === start ? end : start)
457
+
458
+ if (e.shiftKey) {
459
+ const anchor = this.__selectionAnchor
460
+ const cursor = inp.selectionStart
461
+ inp.setSelectionRange(Math.min(anchor, cursor), Math.max(anchor, cursor), 'forward')
462
+ }
441
463
  }
442
464
  else if (
443
465
  e.keyCode === 8 && // Backspace
444
466
  this.reverseFillMask !== true &&
445
467
  start === end
446
468
  ) {
447
- this.__moveCursorLeft(inp, start, end, true)
469
+ this.__moveCursorLeft(inp, start)
448
470
  }
449
471
  else if (
450
472
  e.keyCode === 46 && // Delete
451
473
  this.reverseFillMask === true &&
452
474
  start === end
453
475
  ) {
454
- this.__moveCursorRightReverse(inp, start, end, true)
476
+ this.__moveCursorRightReverse(inp, end)
455
477
  }
456
478
 
457
479
  this.$emit('keydown', e)