quasar 1.22.0 → 1.22.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 (147) hide show
  1. package/dist/api/QDialog.json +11 -1
  2. package/dist/api/QList.json +12 -0
  3. package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
  4. package/dist/icon-set/eva-icons.umd.min.js +1 -1
  5. package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
  6. package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
  7. package/dist/icon-set/fontawesome-v6-pro.umd.min.js +1 -1
  8. package/dist/icon-set/fontawesome-v6.umd.min.js +1 -1
  9. package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
  10. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  11. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  12. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  13. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  14. package/dist/icon-set/material-icons.umd.min.js +1 -1
  15. package/dist/icon-set/material-symbols-outlined.umd.min.js +1 -1
  16. package/dist/icon-set/material-symbols-rounded.umd.min.js +1 -1
  17. package/dist/icon-set/material-symbols-sharp.umd.min.js +1 -1
  18. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  19. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  20. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  21. package/dist/icon-set/mdi-v6.umd.min.js +1 -1
  22. package/dist/icon-set/mdi-v7.umd.min.js +6 -0
  23. package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
  24. package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
  25. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
  26. package/dist/icon-set/svg-fontawesome-v6.umd.min.js +1 -1
  27. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  28. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  29. package/dist/icon-set/svg-ionicons-v6.umd.min.js +1 -1
  30. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  31. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
  32. package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
  33. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
  34. package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
  35. package/dist/icon-set/svg-material-symbols-outlined.umd.min.js +1 -1
  36. package/dist/icon-set/svg-material-symbols-rounded.umd.min.js +1 -1
  37. package/dist/icon-set/svg-material-symbols-sharp.umd.min.js +1 -1
  38. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  39. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  40. package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
  41. package/dist/icon-set/svg-mdi-v7.umd.min.js +6 -0
  42. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  43. package/dist/icon-set/themify.umd.min.js +1 -1
  44. package/dist/lang/ar.umd.min.js +1 -1
  45. package/dist/lang/az-latn.umd.min.js +1 -1
  46. package/dist/lang/bg.umd.min.js +1 -1
  47. package/dist/lang/ca.umd.min.js +1 -1
  48. package/dist/lang/cs.umd.min.js +1 -1
  49. package/dist/lang/da.umd.min.js +1 -1
  50. package/dist/lang/de.umd.min.js +1 -1
  51. package/dist/lang/el.umd.min.js +1 -1
  52. package/dist/lang/en-gb.umd.min.js +1 -1
  53. package/dist/lang/en-us.umd.min.js +1 -1
  54. package/dist/lang/eo.umd.min.js +1 -1
  55. package/dist/lang/es.umd.min.js +1 -1
  56. package/dist/lang/et.umd.min.js +1 -1
  57. package/dist/lang/eu.umd.min.js +1 -1
  58. package/dist/lang/fa-ir.umd.min.js +1 -1
  59. package/dist/lang/fa.umd.min.js +1 -1
  60. package/dist/lang/fi.umd.min.js +1 -1
  61. package/dist/lang/fr.umd.min.js +1 -1
  62. package/dist/lang/gn.umd.min.js +1 -1
  63. package/dist/lang/he.umd.min.js +1 -1
  64. package/dist/lang/hr.umd.min.js +1 -1
  65. package/dist/lang/hu.umd.min.js +1 -1
  66. package/dist/lang/id.umd.min.js +1 -1
  67. package/dist/lang/is.umd.min.js +1 -1
  68. package/dist/lang/it.umd.min.js +1 -1
  69. package/dist/lang/ja.umd.min.js +1 -1
  70. package/dist/lang/km.umd.min.js +1 -1
  71. package/dist/lang/ko-kr.umd.min.js +1 -1
  72. package/dist/lang/kur-ckb.umd.min.js +1 -1
  73. package/dist/lang/kz.umd.min.js +1 -1
  74. package/dist/lang/lu.umd.min.js +1 -1
  75. package/dist/lang/lv.umd.min.js +1 -1
  76. package/dist/lang/ml.umd.min.js +1 -1
  77. package/dist/lang/mm.umd.min.js +1 -1
  78. package/dist/lang/ms.umd.min.js +1 -1
  79. package/dist/lang/my.umd.min.js +1 -1
  80. package/dist/lang/nb-no.umd.min.js +1 -1
  81. package/dist/lang/nl.umd.min.js +1 -1
  82. package/dist/lang/pl.umd.min.js +1 -1
  83. package/dist/lang/pt-br.umd.min.js +1 -1
  84. package/dist/lang/pt.umd.min.js +1 -1
  85. package/dist/lang/ro.umd.min.js +1 -1
  86. package/dist/lang/ru.umd.min.js +1 -1
  87. package/dist/lang/sk.umd.min.js +1 -1
  88. package/dist/lang/sl.umd.min.js +1 -1
  89. package/dist/lang/sm.umd.min.js +1 -1
  90. package/dist/lang/sr.umd.min.js +1 -1
  91. package/dist/lang/sv.umd.min.js +1 -1
  92. package/dist/lang/ta.umd.min.js +1 -1
  93. package/dist/lang/th.umd.min.js +1 -1
  94. package/dist/lang/tr.umd.min.js +1 -1
  95. package/dist/lang/ug.umd.min.js +1 -1
  96. package/dist/lang/uk.umd.min.js +1 -1
  97. package/dist/lang/uz-Cyrl.umd.min.js +1 -1
  98. package/dist/lang/uz-Latn.umd.min.js +1 -1
  99. package/dist/lang/vi.umd.min.js +1 -1
  100. package/dist/lang/zh-hans.umd.min.js +1 -1
  101. package/dist/lang/zh-hant.umd.min.js +1 -1
  102. package/dist/quasar.addon.css +1 -1
  103. package/dist/quasar.addon.rtl.css +1 -1
  104. package/dist/quasar.common.js +2 -2
  105. package/dist/quasar.css +4 -4
  106. package/dist/quasar.esm.js +2 -2
  107. package/dist/quasar.ie.polyfills.js +1 -1
  108. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  109. package/dist/quasar.min.css +1 -1
  110. package/dist/quasar.rtl.css +8 -5
  111. package/dist/quasar.rtl.min.css +1 -1
  112. package/dist/quasar.sass +5 -4
  113. package/dist/quasar.styl +5 -4
  114. package/dist/quasar.umd.js +124 -101
  115. package/dist/quasar.umd.min.js +2 -2
  116. package/dist/quasar.umd.modern.js +123 -96
  117. package/dist/quasar.umd.modern.min.js +2 -2
  118. package/dist/types/index.d.ts +6 -1
  119. package/dist/vetur/quasar-attributes.json +4 -0
  120. package/dist/vetur/quasar-tags.json +1 -0
  121. package/dist/web-types/web-types.json +11 -1
  122. package/icon-set/mdi-v7.js +141 -0
  123. package/icon-set/svg-mdi-v7.js +225 -0
  124. package/package.json +2 -2
  125. package/src/components/btn-dropdown/QBtnDropdown.js +0 -1
  126. package/src/components/date/QDate.js +3 -1
  127. package/src/components/dialog/QDialog.js +35 -30
  128. package/src/components/dialog/QDialog.json +9 -1
  129. package/src/components/dialog-bottom-sheet/BottomSheet.js +5 -4
  130. package/src/components/expansion-item/QExpansionItem.js +0 -1
  131. package/src/components/fab/QFab.js +3 -6
  132. package/src/components/fab/QFab.sass +2 -1
  133. package/src/components/fab/QFab.styl +2 -1
  134. package/src/components/form/QForm.js +3 -1
  135. package/src/components/inner-loading/QInnerLoading.js +1 -6
  136. package/src/components/input/QInput.js +6 -1
  137. package/src/components/item/QList.js +7 -5
  138. package/src/components/item/QList.json +8 -0
  139. package/src/components/menu/QMenu.js +11 -5
  140. package/src/components/scroll-area/QScrollArea.js +9 -3
  141. package/src/components/scroll-observer/QScrollObserver.js +4 -0
  142. package/src/components/select/QSelect.js +12 -8
  143. package/src/components/select/QSelect.sass +2 -2
  144. package/src/components/select/QSelect.styl +2 -2
  145. package/src/components/tooltip/QTooltip.js +1 -1
  146. package/src/mixins/mask.js +3 -1
  147. package/src/mixins/transition.js +14 -15
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.0
2
+ * Quasar Framework v1.22.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -2212,7 +2212,8 @@ body.q-ios-padding .q-dialog__inner
2212
2212
  margin-left: -28px
2213
2213
  &--opened
2214
2214
  opacity: 1
2215
- transform: scale(1) translate(0, 0)
2215
+
2216
+ transform: scale(1) translate(0.1px, 0)
2216
2217
  pointer-events: all
2217
2218
  &--align-left
2218
2219
  > .q-fab__actions
@@ -3321,8 +3322,8 @@ body.desktop
3321
3322
  &__autocomplete-input
3322
3323
  position: absolute
3323
3324
  outline: 0 !important
3324
- width: 0
3325
- height: 0
3325
+ width: 1px
3326
+ height: 1px
3326
3327
  padding: 0
3327
3328
  border: 0
3328
3329
  opacity: 0
package/dist/quasar.styl CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.0
2
+ * Quasar Framework v1.22.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -2259,7 +2259,8 @@ body.q-ios-padding .q-dialog__inner
2259
2259
  margin-left: -28px
2260
2260
  &--opened
2261
2261
  opacity: 1
2262
- transform: scale(1) translate(0, 0)
2262
+
2263
+ transform: scale(1) translate(0.1px, 0)
2263
2264
  pointer-events: all
2264
2265
  &--align-left
2265
2266
  > .q-fab__actions
@@ -3368,8 +3369,8 @@ body.desktop
3368
3369
  &__autocomplete-input
3369
3370
  position: absolute
3370
3371
  outline: 0 !important
3371
- width: 0
3372
- height: 0
3372
+ width: 1px
3373
+ height: 1px
3373
3374
  padding: 0
3374
3375
  border: 0
3375
3376
  opacity: 0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.0
2
+ * Quasar Framework v1.22.2
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.0";
15
+ var version = "1.22.2";
16
16
 
17
17
  /* eslint-disable no-useless-escape */
18
18
 
@@ -4135,25 +4135,22 @@
4135
4135
  }
4136
4136
  },
4137
4137
 
4138
- data: function data () {
4139
- return {
4140
- transitionState: this.showing
4141
- }
4142
- },
4138
+ computed: {
4139
+ transitionProps: function transitionProps () {
4140
+ var show = "q-transition--" + (this.transitionShow || this.defaultTransitionShow);
4141
+ var hide = "q-transition--" + (this.transitionHide || this.defaultTransitionHide);
4143
4142
 
4144
- watch: {
4145
- showing: function showing (val) {
4146
- var this$1 = this;
4143
+ return {
4144
+ appear: true,
4147
4145
 
4148
- this.transitionShow !== this.transitionHide && this.$nextTick(function () {
4149
- this$1.transitionState = val;
4150
- });
4151
- }
4152
- },
4146
+ enterClass: (show + "-enter"),
4147
+ enterActiveClass: (show + "-enter-active"),
4148
+ enterToClass: (show + "-enter-to"),
4153
4149
 
4154
- computed: {
4155
- transition: function transition () {
4156
- return 'q-transition--' + (this.transitionState === true ? this.transitionHide : this.transitionShow)
4150
+ leaveClass: (hide + "-leave"),
4151
+ leaveActiveClass: (hide + "-leave-active"),
4152
+ leaveToClass: (hide + "-leave-to")
4153
+ }
4157
4154
  }
4158
4155
  }
4159
4156
  };
@@ -5659,7 +5656,10 @@
5659
5656
  : void 0;
5660
5657
 
5661
5658
  if (node !== void 0 && node.contains(document.activeElement) !== true) {
5662
- node = node.querySelector('[autofocus], [data-autofocus]') || node;
5659
+ node = node.querySelector('[autofocus][tabindex], [data-autofocus][tabindex]') ||
5660
+ node.querySelector('[autofocus] [tabindex], [data-autofocus] [tabindex]') ||
5661
+ node.querySelector('[autofocus], [data-autofocus]') ||
5662
+ node;
5663
5663
  node.focus({ preventScroll: true });
5664
5664
  }
5665
5665
  });
@@ -5673,10 +5673,10 @@
5673
5673
  ? document.activeElement
5674
5674
  : void 0;
5675
5675
 
5676
- EscapeKey.register(this, function () {
5676
+ EscapeKey.register(this, function (escEvt) {
5677
5677
  if (this$1.persistent !== true) {
5678
5678
  this$1.$emit('escape-key');
5679
- this$1.hide();
5679
+ this$1.hide(escEvt);
5680
5680
  }
5681
5681
  });
5682
5682
 
@@ -5748,7 +5748,10 @@
5748
5748
  evt.qClickOutside !== true
5749
5749
  )
5750
5750
  ) {
5751
- this.__refocusTarget.focus();
5751
+ ((evt && evt.type.indexOf('key') === 0
5752
+ ? this.__refocusTarget.closest('[tabindex]:not([tabindex^="-"])')
5753
+ : void 0
5754
+ ) || this.__refocusTarget).focus();
5752
5755
  this.__refocusTarget = void 0;
5753
5756
  }
5754
5757
 
@@ -5846,7 +5849,7 @@
5846
5849
 
5847
5850
  __renderPortal: function __renderPortal (h) {
5848
5851
  return h('transition', {
5849
- props: { name: this.transition }
5852
+ props: Object.assign({}, this.transitionProps)
5850
5853
  }, [
5851
5854
  this.showing === true ? h('div', {
5852
5855
  ref: 'inner',
@@ -6027,7 +6030,6 @@
6027
6030
  'aria-expanded': this.showing === true ? 'true' : 'false',
6028
6031
  'aria-haspopup': 'true',
6029
6032
  'aria-controls': this.targetUid,
6030
- 'aria-owns': this.targetUid,
6031
6033
  'aria-label': this.toggleAriaLabel || this.$q.lang.label[ this.showing === true ? 'collapse' : 'expand' ](this.label)
6032
6034
  };
6033
6035
 
@@ -13411,7 +13413,9 @@
13411
13413
  },
13412
13414
 
13413
13415
  view: function view () {
13414
- this.$refs.blurTarget !== void 0 && this.$refs.blurTarget.focus();
13416
+ if (this.$refs.blurTarget !== void 0 && this.$el.contains(document.activeElement) === true) {
13417
+ this.$refs.blurTarget.focus();
13418
+ }
13415
13419
  },
13416
13420
 
13417
13421
  'viewModel.year': function viewModel_year (year) {
@@ -15079,7 +15083,7 @@
15079
15083
  left: 'fixed-left items-center'
15080
15084
  };
15081
15085
 
15082
- var transitions = {
15086
+ var defaultTransitions = {
15083
15087
  standard: ['scale', 'scale'],
15084
15088
  top: ['slide-down', 'slide-up'],
15085
15089
  bottom: ['slide-up', 'slide-down'],
@@ -15087,11 +15091,15 @@
15087
15091
  left: ['slide-right', 'slide-left']
15088
15092
  };
15089
15093
 
15094
+ var backdropAttrs = Object.assign({}, ariaHidden,
15095
+ {tabindex: -1});
15096
+
15090
15097
  var QDialog = Vue.extend({
15091
15098
  name: 'QDialog',
15092
15099
 
15093
15100
  mixins: [
15094
15101
  AttrsMixin,
15102
+ TransitionMixin,
15095
15103
  HistoryMixin,
15096
15104
  TimeoutMixin,
15097
15105
  ModelToggleMixin,
@@ -15132,22 +15140,11 @@
15132
15140
 
15133
15141
  data: function data () {
15134
15142
  return {
15135
- transitionState: this.showing,
15136
15143
  animating: false
15137
15144
  }
15138
15145
  },
15139
15146
 
15140
15147
  watch: {
15141
- showing: function showing (val) {
15142
- var this$1 = this;
15143
-
15144
- if (this.transitionShowComputed !== this.transitionHideComputed) {
15145
- this.$nextTick(function () {
15146
- this$1.transitionState = val;
15147
- });
15148
- }
15149
- },
15150
-
15151
15148
  maximized: function maximized (state) {
15152
15149
  this.showing === true && this.__updateMaximized(state);
15153
15150
  },
@@ -15168,18 +15165,12 @@
15168
15165
  (this.square === true ? ' q-dialog__inner--square' : '')
15169
15166
  },
15170
15167
 
15171
- transitionShowComputed: function transitionShowComputed () {
15172
- return 'q-transition--' + (this.transitionShow === void 0 ? transitions[this.position][0] : this.transitionShow)
15168
+ defaultTransitionShow: function defaultTransitionShow () {
15169
+ return defaultTransitions[this.position][0]
15173
15170
  },
15174
15171
 
15175
- transitionHideComputed: function transitionHideComputed () {
15176
- return 'q-transition--' + (this.transitionHide === void 0 ? transitions[this.position][1] : this.transitionHide)
15177
- },
15178
-
15179
- transition: function transition () {
15180
- return this.transitionState === true
15181
- ? this.transitionHideComputed
15182
- : this.transitionShowComputed
15172
+ defaultTransitionHide: function defaultTransitionHide () {
15173
+ return defaultTransitions[this.position][1]
15183
15174
  },
15184
15175
 
15185
15176
  useBackdrop: function useBackdrop () {
@@ -15224,13 +15215,23 @@
15224
15215
  return
15225
15216
  }
15226
15217
 
15227
- node = node.querySelector(selector || '[autofocus], [data-autofocus]') || node;
15218
+ node = (selector !== '' ? node.querySelector(selector) : null) ||
15219
+ node.querySelector('[autofocus][tabindex], [data-autofocus][tabindex]') ||
15220
+ node.querySelector('[autofocus] [tabindex], [data-autofocus] [tabindex]') ||
15221
+ node.querySelector('[autofocus], [data-autofocus]') ||
15222
+ node;
15228
15223
  node.focus({ preventScroll: true });
15229
15224
  });
15230
15225
  },
15231
15226
 
15232
- shake: function shake () {
15233
- this.focus();
15227
+ shake: function shake (focusTarget) {
15228
+ if (focusTarget && typeof focusTarget.focus === 'function') {
15229
+ focusTarget.focus({ preventScroll: true });
15230
+ }
15231
+ else {
15232
+ this.focus();
15233
+ }
15234
+
15234
15235
  this.$emit('shake');
15235
15236
 
15236
15237
  var node = this.__getInnerNode();
@@ -15264,14 +15265,14 @@
15264
15265
  this.$el.dispatchEvent(create('popup-show', { bubbles: true }));
15265
15266
  this.__updateMaximized(this.maximized);
15266
15267
 
15267
- EscapeKey.register(this, function () {
15268
+ EscapeKey.register(this, function (escEvt) {
15268
15269
  if (this$1.seamless !== true) {
15269
15270
  if (this$1.persistent === true || this$1.noEscDismiss === true) {
15270
15271
  this$1.maximized !== true && this$1.noShake !== true && this$1.shake();
15271
15272
  }
15272
15273
  else {
15273
15274
  this$1.$emit('escape-key');
15274
- this$1.hide();
15275
+ this$1.hide(escEvt);
15275
15276
  }
15276
15277
  }
15277
15278
  });
@@ -15333,7 +15334,10 @@
15333
15334
 
15334
15335
  // check null for IE
15335
15336
  if (this.__refocusTarget !== void 0 && this.__refocusTarget !== null) {
15336
- this.__refocusTarget.focus(evt);
15337
+ ((evt && evt.type.indexOf('key') === 0
15338
+ ? this.__refocusTarget.closest('[tabindex]:not([tabindex^="-"])')
15339
+ : void 0
15340
+ ) || this.__refocusTarget).focus();
15337
15341
  this.__refocusTarget = void 0;
15338
15342
  }
15339
15343
 
@@ -15397,7 +15401,7 @@
15397
15401
  this.hide(e);
15398
15402
  }
15399
15403
  else if (this.noShake !== true) {
15400
- this.shake();
15404
+ this.shake(e.relatedTarget);
15401
15405
  }
15402
15406
  },
15403
15407
 
@@ -15424,15 +15428,15 @@
15424
15428
  }, this.useBackdrop === true ? [
15425
15429
  h('div', {
15426
15430
  staticClass: 'q-dialog__backdrop fixed-full',
15427
- attrs: ariaHidden,
15431
+ attrs: backdropAttrs,
15428
15432
  on: cache(this, 'bkdrop', {
15429
- click: this.__onBackdropClick
15433
+ focusin: this.__onBackdropClick
15430
15434
  })
15431
15435
  })
15432
15436
  ] : null),
15433
15437
 
15434
15438
  h('transition', {
15435
- props: { name: this.transition }
15439
+ props: Object.assign({}, this.transitionProps)
15436
15440
  }, [
15437
15441
  this.showing === true ? h('div', {
15438
15442
  ref: 'inner',
@@ -16393,7 +16397,7 @@
16393
16397
 
16394
16398
  __renderPortal: function __renderPortal (h) {
16395
16399
  return h('transition', {
16396
- props: { name: this.transition }
16400
+ props: Object.assign({}, this.transitionProps)
16397
16401
  }, [
16398
16402
  this.showing === true ? h('div', {
16399
16403
  staticClass: 'q-tooltip q-tooltip--style q-position-engine no-pointer-events',
@@ -16415,8 +16419,6 @@
16415
16419
  }
16416
16420
  });
16417
16421
 
16418
- var attrs$4 = { role: 'list' };
16419
-
16420
16422
  var QList = Vue.extend({
16421
16423
  name: 'QList',
16422
16424
 
@@ -16426,7 +16428,12 @@
16426
16428
  bordered: Boolean,
16427
16429
  dense: Boolean,
16428
16430
  separator: Boolean,
16429
- padding: Boolean
16431
+ padding: Boolean,
16432
+
16433
+ tag: {
16434
+ type: String,
16435
+ default: 'div'
16436
+ }
16430
16437
  },
16431
16438
 
16432
16439
  computed: {
@@ -16441,9 +16448,8 @@
16441
16448
  },
16442
16449
 
16443
16450
  render: function render (h) {
16444
- return h('div', {
16451
+ return h(this.tag, {
16445
16452
  class: this.classes,
16446
- attrs: attrs$4,
16447
16453
  on: Object.assign({}, this.qListeners)
16448
16454
  }, slot(this, 'default'))
16449
16455
  }
@@ -18281,7 +18287,6 @@
18281
18287
  return {
18282
18288
  role: 'button',
18283
18289
  'aria-expanded': this.showing === true ? 'true' : 'false',
18284
- 'aria-owns': this.targetUid,
18285
18290
  'aria-controls': this.targetUid,
18286
18291
  'aria-label': toggleAriaLabel
18287
18292
  }
@@ -18628,13 +18633,11 @@
18628
18633
 
18629
18634
  actionsAttrs: function actionsAttrs () {
18630
18635
  var attrs = {
18631
- id: this.targetUid
18636
+ id: this.targetUid,
18637
+ role: 'menu'
18632
18638
  };
18633
18639
 
18634
- if (this.showing === true) {
18635
- attrs.role = 'menu';
18636
- }
18637
- else {
18640
+ if (this.showing !== true) {
18638
18641
  attrs['aria-hidden'] = 'true';
18639
18642
  }
18640
18643
 
@@ -18648,8 +18651,7 @@
18648
18651
  attrs: function attrs () {
18649
18652
  return Object.assign({}, {'aria-expanded': this.showing === true ? 'true' : 'false',
18650
18653
  'aria-haspopup': 'true',
18651
- 'aria-controls': this.targetUid,
18652
- 'aria-owns': this.targetUid},
18654
+ 'aria-controls': this.targetUid},
18653
18655
  this.qAttrs)
18654
18656
  },
18655
18657
 
@@ -20556,7 +20558,9 @@
20556
20558
  addFocusFn(function () {
20557
20559
  if (!this$1.$el) { return }
20558
20560
 
20559
- var target = this$1.$el.querySelector('[autofocus], [data-autofocus]') ||
20561
+ var target = this$1.$el.querySelector('[autofocus][tabindex], [data-autofocus][tabindex]') ||
20562
+ this$1.$el.querySelector('[autofocus] [tabindex], [data-autofocus] [tabindex]') ||
20563
+ this$1.$el.querySelector('[autofocus], [data-autofocus]') ||
20560
20564
  Array.prototype.find.call(this$1.$el.querySelectorAll('[tabindex]'), function (el) { return el.tabIndex > -1; });
20561
20565
 
20562
20566
  target !== null && target !== void 0 && target.focus({ preventScroll: true });
@@ -21398,12 +21402,7 @@
21398
21402
  },
21399
21403
 
21400
21404
  render: function render (h) {
21401
- return h('transition', {
21402
- props: {
21403
- name: this.transition,
21404
- appear: true
21405
- }
21406
- }, this.__getContent(h))
21405
+ return h('transition', { props: Object.assign({}, this.transitionProps) }, this.__getContent(h))
21407
21406
  }
21408
21407
  });
21409
21408
 
@@ -21599,7 +21598,7 @@
21599
21598
 
21600
21599
  this.computedMask = mask;
21601
21600
  this.computedUnmask = function (val) {
21602
- var unmaskMatch = unmaskMatcher.exec(val);
21601
+ var unmaskMatch = unmaskMatcher.exec(this$1.reverseFillMask === true ? val : val.slice(0, mask.length));
21603
21602
  if (unmaskMatch !== null) {
21604
21603
  val = unmaskMatch.slice(1).join('');
21605
21604
  }
@@ -21833,6 +21832,8 @@
21833
21832
  },
21834
21833
 
21835
21834
  __onMaskedKeydown: function __onMaskedKeydown (e) {
21835
+ this.qListeners.keydown !== void 0 && this.$emit('keydown', e);
21836
+
21836
21837
  if (shouldIgnoreKey(e) === true) {
21837
21838
  return
21838
21839
  }
@@ -22112,7 +22113,7 @@
22112
22113
  }
22113
22114
 
22114
22115
  if (this.autogrow === true) {
22115
- on.animationend = this.__adjustHeight;
22116
+ on.animationend = this.__onAnimationend;
22116
22117
  }
22117
22118
 
22118
22119
  return on
@@ -22211,6 +22212,11 @@
22211
22212
  this.autogrow === true && this.__adjustHeight();
22212
22213
  },
22213
22214
 
22215
+ __onAnimationend: function __onAnimationend (e) {
22216
+ this.qListeners.animationend !== void 0 && this.$emit('animationend', e);
22217
+ this.__adjustHeight();
22218
+ },
22219
+
22214
22220
  __emitValue: function __emitValue (val, stopWatcher) {
22215
22221
  var this$1 = this;
22216
22222
 
@@ -22866,6 +22872,10 @@
22866
22872
  scrollTarget: function scrollTarget () {
22867
22873
  this.__unconfigureScrollTarget();
22868
22874
  this.__configureScrollTarget();
22875
+ },
22876
+
22877
+ '$q.lang.rtl': function $q_lang_rtl () {
22878
+ this.__emit();
22869
22879
  }
22870
22880
  },
22871
22881
 
@@ -26264,7 +26274,7 @@
26264
26274
  horizontalScrollPercentage: function horizontalScrollPercentage () {
26265
26275
  var diff = this.scroll.horizontal.size - this.container.horizontal;
26266
26276
  if (diff <= 0) { return 0 }
26267
- var p = between(this.scroll.horizontal.position / diff, 0, 1);
26277
+ var p = between(Math.abs(this.scroll.horizontal.position) / diff, 0, 1);
26268
26278
  return Math.round(p * 10000) / 10000
26269
26279
  },
26270
26280
 
@@ -26320,10 +26330,12 @@
26320
26330
  },
26321
26331
 
26322
26332
  horizontalStyle: function horizontalStyle () {
26333
+ var obj;
26334
+
26323
26335
  return Object.assign({}, this.thumbStyle,
26324
26336
  this.horizontalThumbStyle,
26325
- {left: ((this.horizontalThumbStart) + "px"),
26326
- width: ((this.horizontalThumbSize) + "px")})
26337
+ ( obj = {}, obj[ this.$q.lang.rtl === true ? 'right' : 'left' ] = ((this.horizontalThumbStart) + "px"), obj ),
26338
+ {width: ((this.horizontalThumbSize) + "px")})
26327
26339
  },
26328
26340
 
26329
26341
  verticalThumbClass: function verticalThumbClass () {
@@ -26410,6 +26422,12 @@
26410
26422
  }
26411
26423
  },
26412
26424
 
26425
+ watch: {
26426
+ '$q.lang.rtl': function $q_lang_rtl (rtl) {
26427
+ this.setScrollPosition('horizontal', Math.abs(this.scroll.horizontal.position) * (rtl === true ? -1 : 1));
26428
+ }
26429
+ },
26430
+
26413
26431
  methods: {
26414
26432
  getScrollTarget: function getScrollTarget () {
26415
26433
  return this.$refs.target
@@ -26495,7 +26513,7 @@
26495
26513
 
26496
26514
  this.setScrollPosition(
26497
26515
  axis,
26498
- percentage * (this.scroll[axis].size - this.container[axis]),
26516
+ percentage * (this.scroll[axis].size - this.container[axis]) * (axis === 'horizontal' && this.$q.lang.rtl === true ? -1 : 1),
26499
26517
  duration
26500
26518
  );
26501
26519
  },
@@ -27709,6 +27727,12 @@
27709
27727
  .join(', ')
27710
27728
  },
27711
27729
 
27730
+ ariaCurrentValue: function ariaCurrentValue () {
27731
+ return this.displayValue !== void 0
27732
+ ? this.displayValue
27733
+ : this.selectedString
27734
+ },
27735
+
27712
27736
  sanitizeFn: function sanitizeFn () {
27713
27737
  return this.optionsSanitize === true
27714
27738
  ? function () { return true; }
@@ -27902,7 +27926,6 @@
27902
27926
  'aria-readonly': this.readonly === true ? 'true' : 'false',
27903
27927
  'aria-autocomplete': this.useInput === true ? 'list' : 'none',
27904
27928
  'aria-expanded': this.menu === true ? 'true' : 'false',
27905
- 'aria-owns': ((this.targetUid) + "_lb"),
27906
27929
  'aria-controls': ((this.targetUid) + "_lb")
27907
27930
  };
27908
27931
 
@@ -27914,13 +27937,11 @@
27914
27937
  },
27915
27938
 
27916
27939
  listboxAttrs: function listboxAttrs () {
27917
- var attrs = {
27940
+ return {
27918
27941
  id: ((this.targetUid) + "_lb"),
27919
27942
  role: 'listbox',
27920
27943
  'aria-multiselectable': this.multiple === true ? 'true' : 'false'
27921
- };
27922
-
27923
- return attrs
27944
+ }
27924
27945
  }
27925
27946
  },
27926
27947
 
@@ -28293,7 +28314,9 @@
28293
28314
  this.useInput !== true &&
28294
28315
  e.key !== void 0 &&
28295
28316
  e.key.length === 1 && // printable char
28296
- e.altKey === e.ctrlKey && // not kbd shortcut
28317
+ e.altKey === false && // not kbd shortcut
28318
+ e.ctrlKey === false && // not kbd shortcut
28319
+ e.metaKey === false && // not kbd shortcut, especially on macOS with Command key
28297
28320
  (e.keyCode !== 32 || this.searchBuffer.length > 0) // space in middle of search
28298
28321
  ) {
28299
28322
  this.menu !== true && this.showPopup(e);
@@ -28455,9 +28478,7 @@
28455
28478
 
28456
28479
  return [
28457
28480
  h('span', {
28458
- domProps: ( obj = {}, obj[this.displayAsText ? 'textContent' : 'innerHTML'] = this.displayValue !== void 0
28459
- ? this.displayValue
28460
- : this.selectedString, obj )
28481
+ domProps: ( obj = {}, obj[this.displayAsText ? 'textContent' : 'innerHTML'] = this.ariaCurrentValue, obj )
28461
28482
  })
28462
28483
  ]
28463
28484
  },
@@ -28495,6 +28516,7 @@
28495
28516
  h('input', {
28496
28517
  key: 'autoinp',
28497
28518
  staticClass: 'q-select__autocomplete-input',
28519
+ domProps: { value: this.ariaCurrentValue },
28498
28520
  attrs: { autocomplete: this.autocomplete, tabindex: -1 },
28499
28521
  on: cache(this, 'autoinp', {
28500
28522
  keyup: this.__onTargetAutocomplete
@@ -32098,7 +32120,7 @@
32098
32120
  }
32099
32121
  });
32100
32122
 
32101
- var attrs$5 = { role: 'tabpanel' };
32123
+ var attrs$4 = { role: 'tabpanel' };
32102
32124
 
32103
32125
  var StepWrapper = Vue.extend({
32104
32126
  name: 'QStepWrapper',
@@ -32195,7 +32217,7 @@
32195
32217
  'div',
32196
32218
  {
32197
32219
  staticClass: 'q-stepper__step',
32198
- attrs: attrs$5,
32220
+ attrs: attrs$4,
32199
32221
  on: this.onEvents
32200
32222
  },
32201
32223
  vertical === true
@@ -35330,7 +35352,7 @@
35330
35352
  }
35331
35353
  });
35332
35354
 
35333
- var attrs$6 = { role: 'toolbar' };
35355
+ var attrs$5 = { role: 'toolbar' };
35334
35356
 
35335
35357
  var QToolbar = Vue.extend({
35336
35358
  name: 'QToolbar',
@@ -35345,7 +35367,7 @@
35345
35367
  return h('div', {
35346
35368
  staticClass: 'q-toolbar row no-wrap items-center',
35347
35369
  class: this.inset ? 'q-toolbar--inset' : null,
35348
- attrs: attrs$6,
35370
+ attrs: attrs$5,
35349
35371
  on: Object.assign({}, this.qListeners)
35350
35372
  }, slot(this, 'default'))
35351
35373
  }
@@ -39198,7 +39220,9 @@
39198
39220
  class: action.classes,
39199
39221
  attrs: attrsGridItem,
39200
39222
  on: {
39201
- click: function () { return this$1.onOk(action); },
39223
+ click: function () {
39224
+ this$1.onOk(action);
39225
+ },
39202
39226
  keyup: function (e) {
39203
39227
  e.keyCode === 13 && this$1.onOk(action);
39204
39228
  }
@@ -39239,9 +39263,8 @@
39239
39263
  dark: this$1.isDark
39240
39264
  },
39241
39265
  on: {
39242
- click: function () { return this$1.onOk(action); },
39243
- keyup: function (e) {
39244
- e.keyCode === 13 && this$1.onOk(action);
39266
+ click: function () {
39267
+ this$1.onOk(action);
39245
39268
  }
39246
39269
  }
39247
39270
  }, [