quasar 1.15.21 → 1.16.1

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 (134) 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/ionicons-v4.umd.min.js +1 -1
  6. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  7. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  8. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  9. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  10. package/dist/icon-set/material-icons.umd.min.js +1 -1
  11. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  12. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  13. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  14. package/dist/icon-set/mdi-v6.umd.min.js +6 -0
  15. package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
  16. package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
  17. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
  18. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  19. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  20. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  21. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +2 -2
  22. package/dist/icon-set/svg-material-icons-round.umd.min.js +2 -2
  23. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +2 -2
  24. package/dist/icon-set/svg-material-icons.umd.min.js +2 -2
  25. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  26. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  27. package/dist/icon-set/svg-mdi-v6.umd.min.js +6 -0
  28. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  29. package/dist/icon-set/themify.umd.min.js +1 -1
  30. package/dist/lang/ar.umd.min.js +2 -2
  31. package/dist/lang/az-latn.umd.min.js +1 -1
  32. package/dist/lang/bg.umd.min.js +1 -1
  33. package/dist/lang/ca.umd.min.js +1 -1
  34. package/dist/lang/cs.umd.min.js +1 -1
  35. package/dist/lang/da.umd.min.js +1 -1
  36. package/dist/lang/de.umd.min.js +2 -2
  37. package/dist/lang/el.umd.min.js +1 -1
  38. package/dist/lang/en-gb.umd.min.js +1 -1
  39. package/dist/lang/en-us.umd.min.js +1 -1
  40. package/dist/lang/eo.umd.min.js +1 -1
  41. package/dist/lang/es.umd.min.js +1 -1
  42. package/dist/lang/et.umd.min.js +1 -1
  43. package/dist/lang/fa-ir.umd.min.js +1 -1
  44. package/dist/lang/fa.umd.min.js +1 -1
  45. package/dist/lang/fi.umd.min.js +1 -1
  46. package/dist/lang/fr.umd.min.js +1 -1
  47. package/dist/lang/gn.umd.min.js +1 -1
  48. package/dist/lang/he.umd.min.js +1 -1
  49. package/dist/lang/hr.umd.min.js +1 -1
  50. package/dist/lang/hu.umd.min.js +1 -1
  51. package/dist/lang/id.umd.min.js +1 -1
  52. package/dist/lang/is.umd.min.js +1 -1
  53. package/dist/lang/it.umd.min.js +1 -1
  54. package/dist/lang/ja.umd.min.js +1 -1
  55. package/dist/lang/km.umd.min.js +1 -1
  56. package/dist/lang/ko-kr.umd.min.js +1 -1
  57. package/dist/lang/kur-ckb.umd.min.js +1 -1
  58. package/dist/lang/lu.umd.min.js +1 -1
  59. package/dist/lang/lv.umd.min.js +1 -1
  60. package/dist/lang/ml.umd.min.js +1 -1
  61. package/dist/lang/ms.umd.min.js +1 -1
  62. package/dist/lang/nb-no.umd.min.js +1 -1
  63. package/dist/lang/nl.umd.min.js +1 -1
  64. package/dist/lang/pl.umd.min.js +1 -1
  65. package/dist/lang/pt-br.umd.min.js +1 -1
  66. package/dist/lang/pt.umd.min.js +1 -1
  67. package/dist/lang/ro.umd.min.js +1 -1
  68. package/dist/lang/ru.umd.min.js +1 -1
  69. package/dist/lang/sk.umd.min.js +1 -1
  70. package/dist/lang/sl.umd.min.js +1 -1
  71. package/dist/lang/sr.umd.min.js +2 -2
  72. package/dist/lang/sv.umd.min.js +1 -1
  73. package/dist/lang/ta.umd.min.js +1 -1
  74. package/dist/lang/th.umd.min.js +1 -1
  75. package/dist/lang/tr.umd.min.js +1 -1
  76. package/dist/lang/ug.umd.min.js +1 -1
  77. package/dist/lang/uk.umd.min.js +1 -1
  78. package/dist/lang/vi.umd.min.js +1 -1
  79. package/dist/lang/zh-hans.umd.min.js +1 -1
  80. package/dist/lang/zh-hant.umd.min.js +1 -1
  81. package/dist/quasar.addon.css +1 -1
  82. package/dist/quasar.addon.rtl.css +1 -1
  83. package/dist/quasar.common.js +2 -2
  84. package/dist/quasar.css +17 -17
  85. package/dist/quasar.esm.js +2 -2
  86. package/dist/quasar.ie.polyfills.js +1 -1
  87. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  88. package/dist/quasar.min.css +1 -1
  89. package/dist/quasar.rtl.css +26 -26
  90. package/dist/quasar.rtl.min.css +1 -1
  91. package/dist/quasar.sass +15 -12
  92. package/dist/quasar.styl +15 -14
  93. package/dist/quasar.umd.js +69 -20
  94. package/dist/quasar.umd.min.js +2 -2
  95. package/dist/quasar.umd.modern.js +67 -16
  96. package/dist/quasar.umd.modern.min.js +2 -2
  97. package/dist/types/extras/icon-set.d.ts +2 -0
  98. package/dist/web-types/web-types.json +1 -1
  99. package/icon-set/bootstrap-icons.js +1 -1
  100. package/icon-set/eva-icons.js +1 -1
  101. package/icon-set/ionicons-v4.js +1 -1
  102. package/icon-set/mdi-v6.js +141 -0
  103. package/icon-set/svg-bootstrap-icons.js +1 -1
  104. package/icon-set/svg-eva-icons.js +1 -1
  105. package/icon-set/svg-ionicons-v4.js +1 -1
  106. package/icon-set/svg-ionicons-v5.js +1 -1
  107. package/icon-set/svg-mdi-v5.js +1 -1
  108. package/icon-set/svg-mdi-v6.js +225 -0
  109. package/icon-set/svg-themify.js +1 -1
  110. package/icon-set/themify.js +1 -1
  111. package/lang/ar.js +1 -1
  112. package/lang/de.js +1 -1
  113. package/lang/index.json +1 -1
  114. package/lang/sr.js +4 -4
  115. package/package.json +2 -2
  116. package/src/components/chat/QChatMessage.js +2 -2
  117. package/src/components/checkbox/QCheckbox.sass +1 -0
  118. package/src/components/checkbox/QCheckbox.styl +1 -0
  119. package/src/components/expansion-item/QExpansionItem.js +1 -1
  120. package/src/components/fab/QFab.js +10 -2
  121. package/src/components/fab/QFab.sass +13 -12
  122. package/src/components/fab/QFab.styl +13 -12
  123. package/src/components/field/QField.js +1 -1
  124. package/src/components/input/QInput.js +5 -1
  125. package/src/components/popup-edit/QPopupEdit.js +1 -1
  126. package/src/components/radio/QRadio.sass +1 -0
  127. package/src/components/radio/QRadio.styl +1 -0
  128. package/src/components/select/QSelect.js +34 -4
  129. package/src/components/toggle/QToggle.sass +1 -0
  130. package/src/components/toggle/QToggle.styl +1 -0
  131. package/src/css/normalize.styl +0 -7
  132. package/src/mixins/mask.js +5 -1
  133. package/src/mixins/validate.js +5 -0
  134. package/src/utils/slot.js +1 -1
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.15.21
2
+ * Quasar Framework v1.16.1
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1312,6 +1312,7 @@ $checkbox-transition: .22s cubic-bezier(0,0,.2,1) 0ms
1312
1312
  border: 2px solid currentColor
1313
1313
  border-radius: 2px
1314
1314
  transition: background $checkbox-transition
1315
+ -webkit-print-color-adjust: exact
1315
1316
  &__native
1316
1317
  width: 1px
1317
1318
  height: 1px
@@ -2094,17 +2095,6 @@ body.q-ios-padding .q-dialog__inner
2094
2095
  border-radius: $button-rounded-border-radius
2095
2096
  &--form-square
2096
2097
  border-radius: $generic-border-radius
2097
- &--opened
2098
- .q-fab__actions
2099
- opacity: 1
2100
- transform: scale(1) translate(0, 0)
2101
- pointer-events: all
2102
- .q-fab__icon
2103
- transform: rotate(180deg)
2104
- opacity: 0
2105
- .q-fab__active-icon
2106
- transform: rotate(0deg)
2107
- opacity: 1
2108
2098
  &__icon, &__active-icon
2109
2099
  transition: opacity .4s, transform .4s
2110
2100
  &__icon
@@ -2161,6 +2151,13 @@ body.q-ios-padding .q-dialog__inner
2161
2151
  min-width: 24px
2162
2152
  min-height: 24px
2163
2153
  position: relative
2154
+ &--opened
2155
+ .q-fab__icon
2156
+ transform: rotate(180deg)
2157
+ opacity: 0
2158
+ .q-fab__active-icon
2159
+ transform: rotate(0deg)
2160
+ opacity: 1
2164
2161
  &__actions
2165
2162
  position: absolute
2166
2163
  opacity: 0
@@ -2202,6 +2199,10 @@ body.q-ios-padding .q-dialog__inner
2202
2199
  &--up, &--down
2203
2200
  left: 50%
2204
2201
  margin-left: -28px
2202
+ &--opened
2203
+ opacity: 1
2204
+ transform: scale(1) translate(0, 0)
2205
+ pointer-events: all
2205
2206
  &--align-left
2206
2207
  > .q-fab__actions
2207
2208
  &--up, &--down
@@ -3132,6 +3133,7 @@ $radio-transition: .22s cubic-bezier(0,0,.2,1) 0ms
3132
3133
  left: 25%
3133
3134
  width: 50%
3134
3135
  height: 50%
3136
+ -webkit-print-color-adjust: exact
3135
3137
  path
3136
3138
  fill: currentColor
3137
3139
  &__native
@@ -4710,6 +4712,7 @@ $toggle-transition: .22s cubic-bezier(.4,0,.2,1)
4710
4712
  min-width: 1.4em
4711
4713
  height: 1em
4712
4714
  padding: .325em .3em
4715
+ -webkit-print-color-adjust: exact
4713
4716
  &--indet
4714
4717
  .q-toggle__thumb
4715
4718
  left: .45em
package/dist/quasar.styl CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.15.21
2
+ * Quasar Framework v1.16.1
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -689,8 +689,6 @@ progress
689
689
  vertical-align: baseline
690
690
  textarea
691
691
  overflow: auto
692
- input[type='search']
693
- -webkit-appearance: textfield
694
692
  input[type='search']::-webkit-search-cancel-button,
695
693
  input[type='search']::-webkit-search-decoration
696
694
  -webkit-appearance: none
@@ -1358,6 +1356,7 @@ $checkbox-transition = .22s cubic-bezier(0,0,.2,1) 0ms
1358
1356
  border: 2px solid currentColor
1359
1357
  border-radius: 2px
1360
1358
  transition: background $checkbox-transition
1359
+ -webkit-print-color-adjust: exact
1361
1360
  &__native
1362
1361
  width: 1px
1363
1362
  height: 1px
@@ -2141,17 +2140,6 @@ body.q-ios-padding .q-dialog__inner
2141
2140
  border-radius: $button-rounded-border-radius
2142
2141
  &--form-square
2143
2142
  border-radius: $generic-border-radius
2144
- &--opened
2145
- .q-fab__actions
2146
- opacity: 1
2147
- transform: scale(1) translate(0, 0)
2148
- pointer-events: all
2149
- .q-fab__icon
2150
- transform: rotate(180deg)
2151
- opacity: 0
2152
- .q-fab__active-icon
2153
- transform: rotate(0deg)
2154
- opacity: 1
2155
2143
  &__icon, &__active-icon
2156
2144
  transition: opacity .4s, transform .4s
2157
2145
  &__icon
@@ -2208,6 +2196,13 @@ body.q-ios-padding .q-dialog__inner
2208
2196
  min-width: 24px
2209
2197
  min-height: 24px
2210
2198
  position: relative
2199
+ &--opened
2200
+ .q-fab__icon
2201
+ transform: rotate(180deg)
2202
+ opacity: 0
2203
+ .q-fab__active-icon
2204
+ transform: rotate(0deg)
2205
+ opacity: 1
2211
2206
  &__actions
2212
2207
  position: absolute
2213
2208
  opacity: 0
@@ -2249,6 +2244,10 @@ body.q-ios-padding .q-dialog__inner
2249
2244
  &--up, &--down
2250
2245
  left: 50%
2251
2246
  margin-left: -28px
2247
+ &--opened
2248
+ opacity: 1
2249
+ transform: scale(1) translate(0, 0)
2250
+ pointer-events: all
2252
2251
  &--align-left
2253
2252
  > .q-fab__actions
2254
2253
  &--up, &--down
@@ -3179,6 +3178,7 @@ $radio-transition = .22s cubic-bezier(0,0,.2,1) 0ms
3179
3178
  left: 25%
3180
3179
  width: 50%
3181
3180
  height: 50%
3181
+ -webkit-print-color-adjust: exact
3182
3182
  path
3183
3183
  fill: currentColor
3184
3184
  &__native
@@ -4757,6 +4757,7 @@ $toggle-transition = .22s cubic-bezier(.4,0,.2,1)
4757
4757
  min-width: 1.4em
4758
4758
  height: 1em
4759
4759
  padding: .325em .3em
4760
+ -webkit-print-color-adjust: exact
4760
4761
  &--indet
4761
4762
  .q-toggle__thumb
4762
4763
  left: .45em
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.15.21
2
+ * Quasar Framework v1.16.1
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.15.21";
15
+ var version = "1.16.1";
16
16
 
17
17
  /* eslint-disable no-useless-escape */
18
18
 
@@ -2304,7 +2304,7 @@
2304
2304
 
2305
2305
  function uniqueSlot (vm, slotName, otherwise) {
2306
2306
  return vm.$scopedSlots[slotName] !== void 0
2307
- ? vm.$scopedSlots[slotName]().slice()
2307
+ ? [].concat(vm.$scopedSlots[slotName]())
2308
2308
  : otherwise
2309
2309
  }
2310
2310
 
@@ -7202,12 +7202,12 @@
7202
7202
  }
7203
7203
 
7204
7204
  var content = withSlots === true
7205
- ? (contentList.length > 1 ? function (text) { return text; } : function (text) { return h('div', [ text ]); })
7206
- : function (text) {
7205
+ ? (contentList.length > 1 ? (function (text) { return text; }) : (function (text) { return h('div', [ text ]); }))
7206
+ : (function (text) {
7207
7207
  var obj;
7208
7208
 
7209
7209
  return h('div', { domProps: ( obj = {}, obj[domPropText] = text, obj ) });
7210
- };
7210
+ });
7211
7211
 
7212
7212
  return contentList.map(function (msg, index) { return h('div', {
7213
7213
  key: index,
@@ -16856,7 +16856,7 @@
16856
16856
  var child;
16857
16857
 
16858
16858
  if (this.$scopedSlots.header !== void 0) {
16859
- child = this.$scopedSlots.header().slice();
16859
+ child = [].concat(this.$scopedSlots.header());
16860
16860
  }
16861
16861
  else {
16862
16862
  child = [
@@ -17121,6 +17121,14 @@
17121
17121
  (this.showing === true ? ' q-fab--opened' : '')
17122
17122
  },
17123
17123
 
17124
+ actionsClasses: function actionsClasses () {
17125
+ return "q-fab__actions--" + (this.direction) + (this.showing === true ? ' q-fab__actions--opened' : '')
17126
+ },
17127
+
17128
+ iconHolderClasses: function iconHolderClasses () {
17129
+ return this.showing === true ? 'q-fab__icon-holder--opened' : ''
17130
+ },
17131
+
17124
17132
  attrs: function attrs () {
17125
17133
  return Object.assign({}, {'aria-expanded': this.showing === true ? 'true' : 'false',
17126
17134
  'aria-haspopup': 'true'},
@@ -17142,7 +17150,7 @@
17142
17150
  var child = [];
17143
17151
 
17144
17152
  this.hideIcon !== true && child.push(
17145
- h('div', { staticClass: 'q-fab__icon-holder' }, [
17153
+ h('div', { staticClass: 'q-fab__icon-holder', class: this.iconHolderClasses }, [
17146
17154
  h(QIcon, {
17147
17155
  staticClass: 'q-fab__icon absolute-full',
17148
17156
  props: { name: this.icon || this.$q.iconSet.fab.icon }
@@ -17182,7 +17190,7 @@
17182
17190
 
17183
17191
  h('div', {
17184
17192
  staticClass: 'q-fab__actions flex no-wrap inline',
17185
- class: ("q-fab__actions--" + (this.direction))
17193
+ class: this.actionsClasses
17186
17194
  }, slot(this, 'default'))
17187
17195
  ])
17188
17196
  }
@@ -17347,6 +17355,11 @@
17347
17355
  this.validate();
17348
17356
  }
17349
17357
  }
17358
+ },
17359
+
17360
+ hasError: function hasError (invalid) {
17361
+ var targetEl = document.getElementById(this.targetUid);
17362
+ targetEl !== null && targetEl.setAttribute('aria-invalid', invalid === true);
17350
17363
  }
17351
17364
  },
17352
17365
 
@@ -17925,7 +17938,7 @@
17925
17938
 
17926
17939
  if (this.hasError === true) {
17927
17940
  if (this.computedErrorMessage !== void 0) {
17928
- msg = [ h('div', [ this.computedErrorMessage ]) ];
17941
+ msg = [ h('div', { attrs: { role: 'alert' } }, [ this.computedErrorMessage ]) ];
17929
17942
  key = this.computedErrorMessage;
17930
17943
  }
17931
17944
  else {
@@ -19836,6 +19849,10 @@
19836
19849
  this.__updateMaskInternals();
19837
19850
  },
19838
19851
 
19852
+ autogrow: function autogrow () {
19853
+ this.__updateMaskInternals();
19854
+ },
19855
+
19839
19856
  mask: function mask (v) {
19840
19857
  if (v !== void 0) {
19841
19858
  this.__updateMaskValue(this.innerValue, true);
@@ -19902,7 +19919,7 @@
19902
19919
 
19903
19920
  this.hasMask = this.mask !== void 0 &&
19904
19921
  this.mask.length > 0 &&
19905
- ['text', 'search', 'url', 'tel', 'password'].includes(this.type);
19922
+ (this.autogrow === true || ['textarea', 'text', 'search', 'url', 'tel', 'password'].includes(this.type));
19906
19923
 
19907
19924
  if (this.hasMask === false) {
19908
19925
  this.computedUnmask = void 0;
@@ -20443,6 +20460,10 @@
20443
20460
  return this.type === 'textarea' || this.autogrow === true
20444
20461
  },
20445
20462
 
20463
+ isTypeText: function isTypeText () {
20464
+ return this.isTextarea === true || ['text', 'search', 'url', 'tel', 'password'].includes(this.type)
20465
+ },
20466
+
20446
20467
  fieldClass: function fieldClass () {
20447
20468
  return "q-" + (this.isTextarea === true ? 'textarea' : 'input') +
20448
20469
  (this.autogrow === true ? ' q-textarea--autogrow' : '')
@@ -20552,7 +20573,7 @@
20552
20573
  else {
20553
20574
  this.__emitValue(val);
20554
20575
 
20555
- if (['text', 'search', 'url', 'tel', 'password'].includes(this.type) && e.target === document.activeElement) {
20576
+ if (this.isTypeText === true && e.target === document.activeElement) {
20556
20577
  var ref = e.target;
20557
20578
  var selectionStart = ref.selectionStart;
20558
20579
  var selectionEnd = ref.selectionEnd;
@@ -23009,7 +23030,7 @@
23009
23030
  title = slot(this, 'title', this.title),
23010
23031
  child = this.$scopedSlots.default === void 0
23011
23032
  ? []
23012
- : this.$scopedSlots.default(this.defaultSlotScope).slice();
23033
+ : [].concat(this.$scopedSlots.default(this.defaultSlotScope));
23013
23034
 
23014
23035
  title && child.unshift(
23015
23036
  h('div', { staticClass: 'q-dialog__title q-mt-sm q-mb-sm' }, [ title ])
@@ -25625,8 +25646,15 @@
25625
25646
  dark: this$1.isOptionsDark
25626
25647
  };
25627
25648
 
25649
+ var itemAttrs = {
25650
+ role: 'option',
25651
+ id: ((this$1.targetUid) + "_" + index)
25652
+ };
25653
+
25628
25654
  if (disable !== true) {
25629
25655
  this$1.isOptionSelected(opt) === true && (itemProps.active = true);
25656
+ itemAttrs['aria-selected'] = itemProps.active === true ? 'true' : 'false';
25657
+
25630
25658
  this$1.optionIndex === index && (itemProps.focused = true);
25631
25659
  }
25632
25660
 
@@ -25646,7 +25674,8 @@
25646
25674
  focused: itemProps.focused,
25647
25675
  toggleOption: this$1.toggleOption,
25648
25676
  setOptionIndex: this$1.setOptionIndex,
25649
- itemProps: itemProps
25677
+ itemProps: itemProps,
25678
+ itemAttrs: itemAttrs
25650
25679
  };
25651
25680
 
25652
25681
  if (options[i] === void 0 || isDeepEqual(option, options[i]) !== true) {
@@ -25731,6 +25760,23 @@
25731
25760
  return this.virtualScrollItemSize === void 0
25732
25761
  ? (this.dense === true ? 24 : 48)
25733
25762
  : this.virtualScrollItemSize
25763
+ },
25764
+
25765
+ comboboxAttrs: function comboboxAttrs () {
25766
+ return {
25767
+ role: 'combobox',
25768
+ 'aria-multiselectable': this.multiple === true ? 'true' : 'false',
25769
+ 'aria-expanded': this.menu === true ? 'true' : 'false',
25770
+ 'aria-owns': ((this.targetUid) + "_lb"),
25771
+ 'aria-activedescendant': ((this.targetUid) + "_" + (this.optionIndex))
25772
+ }
25773
+ },
25774
+
25775
+ listboxAttrs: function listboxAttrs () {
25776
+ return {
25777
+ role: 'listbox',
25778
+ id: ((this.targetUid) + "_lb")
25779
+ }
25734
25780
  }
25735
25781
  },
25736
25782
 
@@ -26224,7 +26270,7 @@
26224
26270
  }
26225
26271
 
26226
26272
  if (this.$scopedSlots.selected !== void 0) {
26227
- return this.$scopedSlots.selected().slice()
26273
+ return [].concat(this.$scopedSlots.selected())
26228
26274
  }
26229
26275
 
26230
26276
  if (this.useChips === true) {
@@ -26274,10 +26320,9 @@
26274
26320
  ref: 'target',
26275
26321
  key: 'd_t',
26276
26322
  staticClass: 'no-outline',
26277
- attrs: {
26278
- id: this.targetUid,
26279
- tabindex: this.tabindex
26280
- },
26323
+ attrs: Object.assign({}, {id: this.targetUid,
26324
+ tabindex: this.tabindex},
26325
+ this.comboboxAttrs),
26281
26326
  on: cache(this, 'f-tget', {
26282
26327
  keydown: this.__onTargetKeydown,
26283
26328
  keyup: this.__onTargetKeyup,
@@ -26341,6 +26386,7 @@
26341
26386
  return h(QItem, {
26342
26387
  key: scope.index,
26343
26388
  props: scope.itemProps,
26389
+ attrs: scope.itemAttrs,
26344
26390
  on: scope.itemEvents
26345
26391
  }, [
26346
26392
  h(QItemSection, [
@@ -26396,7 +26442,8 @@
26396
26442
  autocomplete: this.autocomplete,
26397
26443
  'data-autofocus': fromDialog === true ? false : this.autofocus,
26398
26444
  disabled: this.disable === true,
26399
- readonly: this.readonly === true}),
26445
+ readonly: this.readonly === true},
26446
+ this.comboboxAttrs),
26400
26447
  on: this.inputControlEvents
26401
26448
  };
26402
26449
 
@@ -26612,6 +26659,7 @@
26612
26659
  transitionHide: this.transitionHide,
26613
26660
  separateClosePopup: true
26614
26661
  },
26662
+ attrs: this.listboxAttrs,
26615
26663
  on: cache(this, 'menu', {
26616
26664
  '&scroll': this.__onVirtualScrollEvt,
26617
26665
  'before-hide': this.__closeMenu,
@@ -26670,6 +26718,7 @@
26670
26718
  staticClass: 'scroll',
26671
26719
  class: this.menuContentClass,
26672
26720
  style: this.popupContentStyle,
26721
+ attrs: this.listboxAttrs,
26673
26722
  on: cache(this, 'virtMenu', {
26674
26723
  click: prevent,
26675
26724
  '&scroll': this.__onVirtualScrollEvt