quasar 1.19.2 → 1.19.5

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 (152) hide show
  1. package/dist/api/QExpansionItem.json +11 -2
  2. package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
  3. package/dist/icon-set/eva-icons.umd.min.js +1 -1
  4. package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
  5. package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
  6. package/dist/icon-set/fontawesome-v6-pro.umd.min.js +1 -1
  7. package/dist/icon-set/fontawesome-v6.umd.min.js +1 -1
  8. package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
  9. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  10. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  11. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  12. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  13. package/dist/icon-set/material-icons.umd.min.js +1 -1
  14. package/dist/icon-set/material-symbols-outlined.umd.min.js +1 -1
  15. package/dist/icon-set/material-symbols-rounded.umd.min.js +1 -1
  16. package/dist/icon-set/material-symbols-sharp.umd.min.js +1 -1
  17. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  18. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  19. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  20. package/dist/icon-set/mdi-v6.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 +2 -2
  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 +2 -2
  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-themify.umd.min.js +1 -1
  40. package/dist/icon-set/themify.umd.min.js +1 -1
  41. package/dist/lang/ar.umd.min.js +1 -1
  42. package/dist/lang/az-latn.umd.min.js +1 -1
  43. package/dist/lang/bg.umd.min.js +1 -1
  44. package/dist/lang/ca.umd.min.js +1 -1
  45. package/dist/lang/cs.umd.min.js +1 -1
  46. package/dist/lang/da.umd.min.js +1 -1
  47. package/dist/lang/de.umd.min.js +1 -1
  48. package/dist/lang/el.umd.min.js +1 -1
  49. package/dist/lang/en-gb.umd.min.js +1 -1
  50. package/dist/lang/en-us.umd.min.js +1 -1
  51. package/dist/lang/eo.umd.min.js +1 -1
  52. package/dist/lang/es.umd.min.js +1 -1
  53. package/dist/lang/et.umd.min.js +1 -1
  54. package/dist/lang/eu.umd.min.js +1 -1
  55. package/dist/lang/fa-ir.umd.min.js +1 -1
  56. package/dist/lang/fa.umd.min.js +1 -1
  57. package/dist/lang/fi.umd.min.js +1 -1
  58. package/dist/lang/fr.umd.min.js +1 -1
  59. package/dist/lang/gn.umd.min.js +1 -1
  60. package/dist/lang/he.umd.min.js +1 -1
  61. package/dist/lang/hr.umd.min.js +1 -1
  62. package/dist/lang/hu.umd.min.js +1 -1
  63. package/dist/lang/id.umd.min.js +1 -1
  64. package/dist/lang/is.umd.min.js +1 -1
  65. package/dist/lang/it.umd.min.js +1 -1
  66. package/dist/lang/ja.umd.min.js +1 -1
  67. package/dist/lang/km.umd.min.js +1 -1
  68. package/dist/lang/ko-kr.umd.min.js +1 -1
  69. package/dist/lang/kur-ckb.umd.min.js +1 -1
  70. package/dist/lang/kz.umd.min.js +1 -1
  71. package/dist/lang/lu.umd.min.js +1 -1
  72. package/dist/lang/lv.umd.min.js +1 -1
  73. package/dist/lang/ml.umd.min.js +1 -1
  74. package/dist/lang/mm.umd.min.js +1 -1
  75. package/dist/lang/ms.umd.min.js +1 -1
  76. package/dist/lang/my.umd.min.js +1 -1
  77. package/dist/lang/nb-no.umd.min.js +1 -1
  78. package/dist/lang/nl.umd.min.js +1 -1
  79. package/dist/lang/pl.umd.min.js +1 -1
  80. package/dist/lang/pt-br.umd.min.js +1 -1
  81. package/dist/lang/pt.umd.min.js +1 -1
  82. package/dist/lang/ro.umd.min.js +1 -1
  83. package/dist/lang/ru.umd.min.js +1 -1
  84. package/dist/lang/sk.umd.min.js +1 -1
  85. package/dist/lang/sl.umd.min.js +1 -1
  86. package/dist/lang/sm.umd.min.js +1 -1
  87. package/dist/lang/sr.umd.min.js +1 -1
  88. package/dist/lang/sv.umd.min.js +1 -1
  89. package/dist/lang/ta.umd.min.js +1 -1
  90. package/dist/lang/th.umd.min.js +1 -1
  91. package/dist/lang/tr.umd.min.js +1 -1
  92. package/dist/lang/ug.umd.min.js +1 -1
  93. package/dist/lang/uk.umd.min.js +1 -1
  94. package/dist/lang/uz-Cyrl.umd.min.js +6 -0
  95. package/dist/lang/uz-Latn.umd.min.js +6 -0
  96. package/dist/lang/vi.umd.min.js +1 -1
  97. package/dist/lang/zh-hans.umd.min.js +1 -1
  98. package/dist/lang/zh-hant.umd.min.js +1 -1
  99. package/dist/quasar.addon.css +1 -1
  100. package/dist/quasar.addon.rtl.css +1 -1
  101. package/dist/quasar.common.js +2 -2
  102. package/dist/quasar.css +14 -9
  103. package/dist/quasar.esm.js +2 -2
  104. package/dist/quasar.ie.polyfills.js +1 -1
  105. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  106. package/dist/quasar.min.css +1 -1
  107. package/dist/quasar.rtl.css +21 -16
  108. package/dist/quasar.rtl.min.css +1 -1
  109. package/dist/quasar.sass +8 -3
  110. package/dist/quasar.styl +8 -3
  111. package/dist/quasar.umd.js +125 -101
  112. package/dist/quasar.umd.min.js +2 -2
  113. package/dist/quasar.umd.modern.js +124 -101
  114. package/dist/quasar.umd.modern.min.js +2 -2
  115. package/dist/types/index.d.ts +2 -0
  116. package/dist/web-types/web-types.json +9 -1
  117. package/lang/index.json +8 -0
  118. package/lang/uz-Cyrl.js +93 -0
  119. package/lang/uz-Latn.js +97 -0
  120. package/package.json +1 -1
  121. package/src/components/carousel/QCarousel.js +2 -2
  122. package/src/components/chat/QChatMessage.js +4 -4
  123. package/src/components/date/QDate.js +4 -4
  124. package/src/components/drawer/QDrawer.js +1 -1
  125. package/src/components/editor/QEditor.js +1 -1
  126. package/src/components/expansion-item/QExpansionItem.js +1 -1
  127. package/src/components/expansion-item/QExpansionItem.json +11 -2
  128. package/src/components/field/QField.js +3 -5
  129. package/src/components/field/QField.sass +1 -0
  130. package/src/components/field/QField.styl +1 -0
  131. package/src/components/file/QFile.js +5 -0
  132. package/src/components/markup-table/QMarkupTable.js +6 -6
  133. package/src/components/scroll-area/QScrollArea.js +4 -2
  134. package/src/components/select/QSelect.js +65 -48
  135. package/src/components/stepper/StepHeader.js +1 -1
  136. package/src/components/table/QTable.js +8 -8
  137. package/src/components/time/QTime.js +3 -3
  138. package/src/components/timeline/QTimeline.sass +4 -0
  139. package/src/components/timeline/QTimeline.styl +4 -0
  140. package/src/components/tree/QTree.js +4 -4
  141. package/src/components/tree/QTree.sass +1 -1
  142. package/src/components/tree/QTree.styl +1 -1
  143. package/src/components/uploader/QUploader.sass +1 -1
  144. package/src/components/uploader/QUploader.styl +1 -1
  145. package/src/components/uploader/QUploaderBase.js +3 -3
  146. package/src/components/virtual-scroll/QVirtualScroll.js +1 -1
  147. package/src/directives/TouchSwipe.js +1 -1
  148. package/src/mixins/fab.js +1 -1
  149. package/src/plugins/Meta.js +1 -1
  150. package/src/plugins/Screen.js +1 -1
  151. package/src/utils/date.js +1 -1
  152. package/src/utils/patterns.js +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.19.2
2
+ * Quasar Framework v1.19.5
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.19.2";
15
+ var version = "1.19.5";
16
16
 
17
17
  /* eslint-disable no-useless-escape */
18
18
 
@@ -743,7 +743,7 @@
743
743
 
744
744
  // due to optimizations, this would be left out otherwise
745
745
  classes === true && this.name === 'xs' &&
746
- document.body.classList.add(`screen--xs`);
746
+ document.body.classList.add('screen--xs');
747
747
  };
748
748
 
749
749
  if (fromSSR === true) {
@@ -6351,7 +6351,7 @@
6351
6351
 
6352
6352
  client.has.touch === true && addEvt(ctx, 'main', [
6353
6353
  [ el, 'touchstart', 'touchStart', `passive${modifiers.capture === true ? 'Capture' : ''}` ],
6354
- [ el, 'touchmove', 'noop', `notPassiveCapture` ]
6354
+ [ el, 'touchmove', 'noop', 'notPassiveCapture' ]
6355
6355
  ]);
6356
6356
  },
6357
6357
 
@@ -6972,11 +6972,11 @@
6972
6972
  },
6973
6973
 
6974
6974
  transitionPrevComputed () {
6975
- return this.transitionPrev || `fade`
6975
+ return this.transitionPrev || 'fade'
6976
6976
  },
6977
6977
 
6978
6978
  transitionNextComputed () {
6979
- return this.transitionNext || `fade`
6979
+ return this.transitionNext || 'fade'
6980
6980
  }
6981
6981
  },
6982
6982
 
@@ -7236,7 +7236,7 @@
7236
7236
  },
7237
7237
 
7238
7238
  containerClass () {
7239
- return `q-message-container row items-end no-wrap` +
7239
+ return 'q-message-container row items-end no-wrap' +
7240
7240
  (this.sent === true ? ' reverse' : '')
7241
7241
  },
7242
7242
 
@@ -7286,9 +7286,9 @@
7286
7286
  ]
7287
7287
  }
7288
7288
 
7289
- const content = withSlots === true
7290
- ? (contentList.length > 1 ? (text => text) : (text => h('div', [ text ])))
7291
- : (text => h('div', { domProps: { [domPropText]: text } }));
7289
+ const content = withSlots !== true
7290
+ ? text => h('div', { domProps: { [domPropText]: text } })
7291
+ : (contentList.length > 1 ? text => text : text => h('div', [text]));
7292
7292
 
7293
7293
  return contentList.map((msg, index) => h('div', {
7294
7294
  key: index,
@@ -8067,11 +8067,11 @@
8067
8067
  timeOrFulltime: v => /^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(v),
8068
8068
 
8069
8069
  // -- RFC 5322 --
8070
- // -- Added in v2.6.6 --
8070
+ // -- Added in v1.18.10 --
8071
8071
  // This is a basic helper validation.
8072
8072
  // For something more complex (like RFC 822) you should write and use your own rule.
8073
8073
  // We won't be accepting PRs to enhance the one below because of the reason above.
8074
- email: v => /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(v),
8074
+ email: v => /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(v),
8075
8075
 
8076
8076
  hexColor: v => hex.test(v),
8077
8077
  hexaColor: v => hexa.test(v),
@@ -12396,7 +12396,7 @@
12396
12396
  YY (date, _, forcedYear) {
12397
12397
  // workaround for < 1900 with new Date()
12398
12398
  const y = this.YYYY(date, _, forcedYear) % 100;
12399
- return y > 0
12399
+ return y >= 0
12400
12400
  ? pad(y)
12401
12401
  : '-' + pad(Math.abs(y))
12402
12402
  },
@@ -12785,9 +12785,9 @@
12785
12785
  const type = this.landscape === true ? 'landscape' : 'portrait';
12786
12786
  return `q-date q-date--${type} q-date--${type}-${this.minimal === true ? 'minimal' : 'standard'}` +
12787
12787
  (this.isDark === true ? ' q-date--dark q-dark' : '') +
12788
- (this.bordered === true ? ` q-date--bordered` : '') +
12789
- (this.square === true ? ` q-date--square no-border-radius` : '') +
12790
- (this.flat === true ? ` q-date--flat no-shadow` : '') +
12788
+ (this.bordered === true ? ' q-date--bordered' : '') +
12789
+ (this.square === true ? ' q-date--square no-border-radius' : '') +
12790
+ (this.flat === true ? ' q-date--flat no-shadow' : '') +
12791
12791
  (this.disable === true ? ' disabled' : (this.readonly === true ? ' q-date--readonly' : ''))
12792
12792
  },
12793
12793
 
@@ -13319,7 +13319,7 @@
13319
13319
  }
13320
13320
 
13321
13321
  res.forEach(day => {
13322
- let cls = `q-date__calendar-item `;
13322
+ let cls = 'q-date__calendar-item ';
13323
13323
 
13324
13324
  if (day.fill === true) {
13325
13325
  cls += 'q-date__calendar-item--fill';
@@ -15402,7 +15402,7 @@
15402
15402
  child.push(
15403
15403
  h('aside', {
15404
15404
  ref: 'content',
15405
- staticClass: `q-drawer`,
15405
+ staticClass: 'q-drawer',
15406
15406
  class: this.classes,
15407
15407
  style: this.style,
15408
15408
  on: this.onNativeEvents,
@@ -17102,7 +17102,7 @@
17102
17102
  'div',
17103
17103
  {
17104
17104
  ref: 'content',
17105
- staticClass: `q-editor__content`,
17105
+ staticClass: 'q-editor__content',
17106
17106
  style: this.innerStyle,
17107
17107
  class: this.innerClass,
17108
17108
  attrs: {
@@ -17519,7 +17519,7 @@
17519
17519
  let child;
17520
17520
 
17521
17521
  if (this.$scopedSlots.header !== void 0) {
17522
- child = [].concat(this.$scopedSlots.header());
17522
+ child = [].concat(this.$scopedSlots.header({ expanded: this.showing === true }));
17523
17523
  }
17524
17524
  else {
17525
17525
  child = [
@@ -17706,7 +17706,7 @@
17706
17706
  return {
17707
17707
  action: 'push',
17708
17708
  data: {
17709
- staticClass: `q-fab__label q-tooltip--style q-fab__label--external` +
17709
+ staticClass: 'q-fab__label q-tooltip--style q-fab__label--external' +
17710
17710
  ` q-fab__label--external-${this.labelPosition}` +
17711
17711
  (hideLabel === true ? ' q-fab__label--external-hidden' : ''),
17712
17712
  style: this.labelStyle,
@@ -18389,11 +18389,9 @@
18389
18389
  floatingLabel () {
18390
18390
  return this.stackLabel === true ||
18391
18391
  this.focused === true ||
18392
- (
18393
- this.inputValue !== void 0 && this.hideSelected === true
18394
- ? this.inputValue.length > 0
18395
- : this.hasValue === true
18396
- ) ||
18392
+ typeof this.inputValue === 'number' ||
18393
+ (typeof this.inputValue === 'string' && this.inputValue.length > 0) ||
18394
+ (this.hideSelected !== true && this.hasValue === true) ||
18397
18395
  (
18398
18396
  this.displayValue !== void 0 &&
18399
18397
  this.displayValue !== null &&
@@ -19263,6 +19261,11 @@
19263
19261
 
19264
19262
  __addFiles (e, fileList) {
19265
19263
  const files = this.__processFiles(e, fileList, this.innerValue, this.isAppending);
19264
+ const fileInput = this.__getFileInput();
19265
+
19266
+ if (fileInput !== void 0) {
19267
+ fileInput.value = '';
19268
+ }
19266
19269
 
19267
19270
  // if nothing to do...
19268
19271
  if (files === void 0) { return }
@@ -22401,12 +22404,12 @@
22401
22404
  computed: {
22402
22405
  classes () {
22403
22406
  return `q-table--${this.separator}-separator` +
22404
- (this.isDark === true ? ` q-table--dark q-table__card--dark q-dark` : '') +
22405
- (this.dense === true ? ` q-table--dense` : '') +
22406
- (this.flat === true ? ` q-table--flat` : '') +
22407
- (this.bordered === true ? ` q-table--bordered` : '') +
22408
- (this.square === true ? ` q-table--square` : '') +
22409
- (this.wrapCells === false ? ` q-table--no-wrap` : '')
22407
+ (this.isDark === true ? ' q-table--dark q-table__card--dark q-dark' : '') +
22408
+ (this.dense === true ? ' q-table--dense' : '') +
22409
+ (this.flat === true ? ' q-table--flat' : '') +
22410
+ (this.bordered === true ? ' q-table--bordered' : '') +
22411
+ (this.square === true ? ' q-table--square' : '') +
22412
+ (this.wrapCells === false ? ' q-table--no-wrap' : '')
22410
22413
  }
22411
22414
  },
22412
22415
 
@@ -25238,6 +25241,8 @@
25238
25241
  }
25239
25242
  });
25240
25243
 
25244
+ const getMinThumbSize = size => (size >= 250 ? 50 : Math.ceil(size / 5));
25245
+
25241
25246
  const axisList = [ 'vertical', 'horizontal' ];
25242
25247
  const dirProps = {
25243
25248
  vertical: { offset: 'offsetY', scroll: 'scrollTop', dir: 'down', dist: 'y' },
@@ -25355,7 +25360,7 @@
25355
25360
  return Math.round(
25356
25361
  between(
25357
25362
  this.container.vertical * this.container.vertical / this.scroll.vertical.size,
25358
- 50,
25363
+ getMinThumbSize(this.container.vertical),
25359
25364
  this.container.vertical
25360
25365
  )
25361
25366
  )
@@ -25365,7 +25370,7 @@
25365
25370
  return Math.round(
25366
25371
  between(
25367
25372
  this.container.horizontal * this.container.horizontal / this.scroll.horizontal.size,
25368
- 50,
25373
+ getMinThumbSize(this.container.horizontal),
25369
25374
  this.container.horizontal
25370
25375
  )
25371
25376
  )
@@ -26910,20 +26915,35 @@
26910
26915
  },
26911
26916
 
26912
26917
  comboboxAttrs () {
26913
- return {
26918
+ const attrs = {
26919
+ tabindex: this.tabindex,
26914
26920
  role: 'combobox',
26915
- 'aria-multiselectable': this.multiple === true ? 'true' : 'false',
26921
+ 'aria-label': this.label,
26922
+ 'aria-autocomplete': this.useInput === true ? 'list' : 'none',
26916
26923
  'aria-expanded': this.menu === true ? 'true' : 'false',
26917
26924
  'aria-owns': `${this.targetUid}_lb`,
26918
- 'aria-activedescendant': `${this.targetUid}_${this.optionIndex}`
26925
+ 'aria-controls': `${this.targetUid}_lb`
26926
+ };
26927
+
26928
+ if (this.optionIndex >= 0) {
26929
+ attrs['aria-activedescendant'] = `${this.targetUid}_${this.optionIndex}`;
26919
26930
  }
26931
+
26932
+ return attrs
26920
26933
  },
26921
26934
 
26922
26935
  listboxAttrs () {
26923
- return {
26936
+ const attrs = {
26937
+ id: `${this.targetUid}_lb`,
26924
26938
  role: 'listbox',
26925
- id: `${this.targetUid}_lb`
26939
+ 'aria-multiselectable': this.multiple === true ? 'true' : 'false'
26940
+ };
26941
+
26942
+ if (this.optionIndex >= 0) {
26943
+ attrs['aria-activedescendant'] = `${this.targetUid}_${this.optionIndex}`;
26926
26944
  }
26945
+
26946
+ return attrs
26927
26947
  }
26928
26948
  },
26929
26949
 
@@ -27002,6 +27022,9 @@
27002
27022
  true
27003
27023
  );
27004
27024
 
27025
+ this.dialogFieldFocused = false;
27026
+ document.activeElement.blur();
27027
+
27005
27028
  this.hidePopup();
27006
27029
  }
27007
27030
 
@@ -27073,15 +27096,18 @@
27073
27096
  while (index !== -1 && index !== this.optionIndex && this.isOptionDisabled(this.options[index]) === true)
27074
27097
 
27075
27098
  if (this.optionIndex !== index) {
27076
- this.setOptionIndex(index);
27077
- this.scrollTo(index);
27099
+ cancelAnimationFrame(this.moveAnimationFrame);
27100
+ this.moveAnimationFrame = requestAnimationFrame(() => {
27101
+ this.setOptionIndex(index);
27102
+ this.scrollTo(index);
27078
27103
 
27079
- if (skipInputValue !== true && this.useInput === true && this.fillInput === true) {
27080
- this.__setInputValue(index >= 0
27081
- ? this.getOptionLabel(this.options[index])
27082
- : this.defaultInputValue
27083
- );
27084
- }
27104
+ if (skipInputValue !== true && this.useInput === true && this.fillInput === true) {
27105
+ this.__setInputValue(index >= 0
27106
+ ? this.getOptionLabel(this.options[index])
27107
+ : this.defaultInputValue
27108
+ );
27109
+ }
27110
+ });
27085
27111
  }
27086
27112
  }
27087
27113
  },
@@ -27415,7 +27441,7 @@
27415
27441
 
27416
27442
  if (this.useChips === true) {
27417
27443
  return this.selectedScope.map((scope, i) => h(QChip, {
27418
- key: 'option-' + i,
27444
+ key: 'rem#' + i,
27419
27445
  props: {
27420
27446
  removable: this.editable === true && this.isOptionDisabled(scope.opt) !== true,
27421
27447
  dense: true,
@@ -27458,13 +27484,14 @@
27458
27484
  const attrs = isTarget === true ? this.comboboxAttrs : void 0;
27459
27485
 
27460
27486
  child.push(
27461
- h('div', {
27487
+ h('input', {
27462
27488
  ref: isTarget === true ? 'target' : void 0,
27463
27489
  key: 'd_t',
27464
27490
  staticClass: 'q-select__focus-target',
27465
27491
  attrs: {
27466
27492
  id: isTarget === true ? this.targetUid : void 0,
27467
- tabindex: this.tabindex,
27493
+ readonly: true,
27494
+ 'data-autofocus': (fromDialog === true ? isTarget === true : this.autofocus) || void 0,
27468
27495
  ...attrs
27469
27496
  },
27470
27497
  on: cache(this, 'f-tget', {
@@ -27478,6 +27505,7 @@
27478
27505
  if (isTarget === true && typeof this.autocomplete === 'string' && this.autocomplete.length > 0) {
27479
27506
  child.push(
27480
27507
  h('input', {
27508
+ key: 'autoinp',
27481
27509
  staticClass: 'q-select__autocomplete-input',
27482
27510
  attrs: { autocomplete: this.autocomplete },
27483
27511
  on: cache(this, 'autoinp', {
@@ -27514,6 +27542,12 @@
27514
27542
  return void 0
27515
27543
  }
27516
27544
 
27545
+ if (this.noOptions === true) {
27546
+ return this.$scopedSlots['no-option'] !== void 0
27547
+ ? this.$scopedSlots['no-option']({ inputValue: this.inputValue })
27548
+ : void 0
27549
+ }
27550
+
27517
27551
  if (
27518
27552
  this.$scopedSlots.option !== void 0 &&
27519
27553
  this.__optionScopeCache.optionSlot !== this.$scopedSlots.option
@@ -27583,9 +27617,8 @@
27583
27617
  ...attrs,
27584
27618
  id: isTarget === true ? this.targetUid : void 0,
27585
27619
  maxlength: this.maxlength, // this is converted to prop by QField
27586
- tabindex: this.tabindex,
27587
27620
  autocomplete: this.autocomplete,
27588
- 'data-autofocus': (fromDialog !== true && this.autofocus) || void 0,
27621
+ 'data-autofocus': (fromDialog === true ? isTarget === true : this.autofocus) || void 0,
27589
27622
  disabled: this.disable === true,
27590
27623
  readonly: this.readonly === true
27591
27624
  },
@@ -27704,6 +27737,7 @@
27704
27737
  }
27705
27738
  else {
27706
27739
  this.menu = true;
27740
+ this.hasDialog === true && (this.dialog = true);
27707
27741
  }
27708
27742
  }
27709
27743
 
@@ -27742,15 +27776,13 @@
27742
27776
  focusout(e);
27743
27777
  },
27744
27778
  click: e => {
27745
- if (this.hasDialog !== true) {
27746
- // label from QField will propagate click on the input (except IE)
27747
- prevent(e);
27779
+ // label from QField will propagate click on the input (except IE)
27780
+ prevent(e);
27748
27781
 
27749
- if (this.menu === true) {
27750
- this.__closeMenu();
27751
- this.$refs.target !== void 0 && this.$refs.target.focus();
27752
- return
27753
- }
27782
+ if (this.hasDialog !== true && this.menu === true) {
27783
+ this.__closeMenu();
27784
+ this.$refs.target !== void 0 && this.$refs.target.focus();
27785
+ return
27754
27786
  }
27755
27787
 
27756
27788
  this.showPopup(e);
@@ -27771,15 +27803,8 @@
27771
27803
  },
27772
27804
 
27773
27805
  __getMenu (h) {
27774
- const child = this.noOptions === true
27775
- ? (
27776
- this.$scopedSlots['no-option'] !== void 0
27777
- ? this.$scopedSlots['no-option']({ inputValue: this.inputValue })
27778
- : null
27779
- )
27780
- : this.__getOptions(h);
27781
-
27782
27806
  return h(QMenu, {
27807
+ key: 'menu',
27783
27808
  ref: 'menu',
27784
27809
  props: {
27785
27810
  value: this.menu,
@@ -27805,7 +27830,7 @@
27805
27830
  'before-hide': this.__closeMenu,
27806
27831
  show: this.__onMenuShow
27807
27832
  })
27808
- }, child)
27833
+ }, this.__getOptions(h))
27809
27834
  },
27810
27835
 
27811
27836
  __onMenuShow () {
@@ -27856,8 +27881,9 @@
27856
27881
 
27857
27882
  this.menu === true && content.push(
27858
27883
  h('div', {
27884
+ key: 'virtMenu',
27859
27885
  ref: 'menuContent',
27860
- staticClass: 'scroll',
27886
+ staticClass: 'col scroll',
27861
27887
  class: this.menuContentClass,
27862
27888
  style: this.popupContentStyle,
27863
27889
  attrs: this.listboxAttrs,
@@ -27865,18 +27891,11 @@
27865
27891
  click: prevent,
27866
27892
  '&scroll': this.__onVirtualScrollEvt
27867
27893
  })
27868
- }, (
27869
- this.noOptions === true
27870
- ? (
27871
- this.$scopedSlots['no-option'] !== void 0
27872
- ? this.$scopedSlots['no-option']({ inputValue: this.inputValue })
27873
- : null
27874
- )
27875
- : this.__getOptions(h)
27876
- ))
27894
+ }, this.__getOptions(h))
27877
27895
  );
27878
27896
 
27879
27897
  return h(QDialog, {
27898
+ key: 'dialog',
27880
27899
  ref: 'dialog',
27881
27900
  props: {
27882
27901
  value: this.dialog,
@@ -27900,13 +27919,17 @@
27900
27919
  },
27901
27920
 
27902
27921
  __onDialogBeforeHide () {
27903
- if (client.is.mobile !== true) {
27922
+ if (this.useInput !== true || this.$q.platform.is.desktop === true) {
27904
27923
  this.$refs.dialog.__refocusTarget = this.$el.querySelector('.q-field__native > [tabindex]:last-child');
27905
27924
  }
27906
27925
  this.focused = false;
27926
+ this.dialogFieldFocused = false;
27907
27927
  },
27908
27928
 
27909
27929
  __onDialogHide (e) {
27930
+ if (this.$q.platform.is.desktop !== true) {
27931
+ document.activeElement.blur();
27932
+ }
27910
27933
  this.hidePopup();
27911
27934
  this.focused === false && this.$emit('blur', e);
27912
27935
  this.__resetInputValue();
@@ -30998,7 +31021,7 @@
30998
31021
  },
30999
31022
 
31000
31023
  classes () {
31001
- return `q-stepper__tab col-grow flex items-center no-wrap relative-position` +
31024
+ return 'q-stepper__tab col-grow flex items-center no-wrap relative-position' +
31002
31025
  (this.color !== void 0 ? ` text-${this.color}` : '') +
31003
31026
  (this.isError === true
31004
31027
  ? ' q-stepper__tab--error q-stepper__tab--error-with-' + (this.hasPrefix === true ? 'prefix' : 'icon')
@@ -32184,7 +32207,7 @@
32184
32207
 
32185
32208
  render (h) {
32186
32209
  if (this.$scopedSlots.default === void 0) {
32187
- console.error(`QVirtualScroll: default scoped slot is required for rendering`, this);
32210
+ console.error('QVirtualScroll: default scoped slot is required for rendering', this);
32188
32211
  return
32189
32212
  }
32190
32213
 
@@ -32918,20 +32941,20 @@
32918
32941
  },
32919
32942
 
32920
32943
  cardDefaultClass () {
32921
- return ` q-table__card` +
32944
+ return ' q-table__card' +
32922
32945
  (this.isDark === true ? ' q-table__card--dark q-dark' : '') +
32923
- (this.square === true ? ` q-table--square` : '') +
32924
- (this.flat === true ? ` q-table--flat` : '') +
32925
- (this.bordered === true ? ` q-table--bordered` : '')
32946
+ (this.square === true ? ' q-table--square' : '') +
32947
+ (this.flat === true ? ' q-table--flat' : '') +
32948
+ (this.bordered === true ? ' q-table--bordered' : '')
32926
32949
  },
32927
32950
 
32928
32951
  __containerClass () {
32929
32952
  return `q-table__container q-table--${this.separator}-separator column no-wrap` +
32930
32953
  (this.grid === true ? ' q-table--grid' : this.cardDefaultClass) +
32931
- (this.isDark === true ? ` q-table--dark` : '') +
32932
- (this.dense === true ? ` q-table--dense` : '') +
32933
- (this.wrapCells === false ? ` q-table--no-wrap` : '') +
32934
- (this.inFullscreen === true ? ` fullscreen scroll` : '')
32954
+ (this.isDark === true ? ' q-table--dark' : '') +
32955
+ (this.dense === true ? ' q-table--dense' : '') +
32956
+ (this.wrapCells === false ? ' q-table--no-wrap' : '') +
32957
+ (this.inFullscreen === true ? ' fullscreen scroll' : '')
32935
32958
  },
32936
32959
 
32937
32960
  containerClass () {
@@ -33462,9 +33485,9 @@
33462
33485
  return `q-time q-time--${this.landscape === true ? 'landscape' : 'portrait'}` +
33463
33486
  (this.isDark === true ? ' q-time--dark q-dark' : '') +
33464
33487
  (this.disable === true ? ' disabled' : (this.readonly === true ? ' q-time--readonly' : '')) +
33465
- (this.bordered === true ? ` q-time--bordered` : '') +
33466
- (this.square === true ? ` q-time--square no-border-radius` : '') +
33467
- (this.flat === true ? ` q-time--flat no-shadow` : '')
33488
+ (this.bordered === true ? ' q-time--bordered' : '') +
33489
+ (this.square === true ? ' q-time--square no-border-radius' : '') +
33490
+ (this.flat === true ? ' q-time--flat no-shadow' : '')
33468
33491
  },
33469
33492
 
33470
33493
  stringModel () {
@@ -34519,7 +34542,7 @@
34519
34542
  classes () {
34520
34543
  return `q-tree q-tree--${this.dense === true ? 'dense' : 'standard'}` +
34521
34544
  (this.noConnectors === true ? ' q-tree--no-connectors' : '') +
34522
- (this.isDark === true ? ` q-tree--dark` : '') +
34545
+ (this.isDark === true ? ' q-tree--dark' : '') +
34523
34546
  (this.color !== void 0 ? ` text-${this.color}` : '')
34524
34547
  },
34525
34548
 
@@ -34825,7 +34848,7 @@
34825
34848
  }
34826
34849
 
34827
34850
  if (emit === true) {
34828
- this.$emit(`update:expanded`, target);
34851
+ this.$emit('update:expanded', target);
34829
34852
  }
34830
34853
  else {
34831
34854
  this.innerExpanded = target;
@@ -34855,7 +34878,7 @@
34855
34878
  }
34856
34879
 
34857
34880
  if (emit === true) {
34858
- this.$emit(`update:ticked`, target);
34881
+ this.$emit('update:ticked', target);
34859
34882
  }
34860
34883
  },
34861
34884
 
@@ -34889,7 +34912,7 @@
34889
34912
  __getNodeMedia (h, node) {
34890
34913
  if (node.icon !== void 0) {
34891
34914
  return h(QIcon, {
34892
- staticClass: `q-tree__icon q-mr-sm`,
34915
+ staticClass: 'q-tree__icon q-mr-sm',
34893
34916
  props: { name: node.icon, color: node.iconColor }
34894
34917
  })
34895
34918
  }
@@ -35359,14 +35382,14 @@
35359
35382
 
35360
35383
  __addFiles (e, fileList) {
35361
35384
  const localFiles = this.__processFiles(e, fileList, this.files, true);
35362
-
35363
- if (localFiles === void 0) { return }
35364
-
35365
35385
  const fileInput = this.__getFileInput();
35386
+
35366
35387
  if (fileInput !== void 0) {
35367
35388
  fileInput.value = '';
35368
35389
  }
35369
35390
 
35391
+ if (localFiles === void 0) { return }
35392
+
35370
35393
  localFiles.forEach(file => {
35371
35394
  this.__updateFile(file, 'idle');
35372
35395
  this.uploadSize += file.size;
@@ -39449,7 +39472,7 @@
39449
39472
 
39450
39473
  output += `<${type} ${attrs.join(' ')} data-qmeta="${att}">`;
39451
39474
  if (type === 'script') {
39452
- output += (metaType[att].innerHTML || '') + `</script>`;
39475
+ output += `${metaType[att].innerHTML || ''}</script>`;
39453
39476
  }
39454
39477
  }
39455
39478
  });