quasar 2.10.1 → 2.10.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 (138) hide show
  1. package/dist/api/Dialog.json +3 -1
  2. package/dist/api/QPopupProxy.json +21 -0
  3. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  4. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  5. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  6. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  7. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  8. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  9. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  10. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  11. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  12. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  13. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  14. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  15. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  16. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  17. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  18. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  19. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  20. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v7.umd.prod.js +6 -0
  23. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-mdi-v7.umd.prod.js +6 -0
  40. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  41. package/dist/icon-set/themify.umd.prod.js +1 -1
  42. package/dist/lang/ar-TN.umd.prod.js +1 -1
  43. package/dist/lang/ar.umd.prod.js +1 -1
  44. package/dist/lang/az-Latn.umd.prod.js +1 -1
  45. package/dist/lang/bg.umd.prod.js +1 -1
  46. package/dist/lang/bn.umd.prod.js +1 -1
  47. package/dist/lang/ca.umd.prod.js +1 -1
  48. package/dist/lang/cs.umd.prod.js +1 -1
  49. package/dist/lang/da.umd.prod.js +1 -1
  50. package/dist/lang/de.umd.prod.js +1 -1
  51. package/dist/lang/el.umd.prod.js +1 -1
  52. package/dist/lang/en-GB.umd.prod.js +1 -1
  53. package/dist/lang/en-US.umd.prod.js +1 -1
  54. package/dist/lang/eo.umd.prod.js +1 -1
  55. package/dist/lang/es.umd.prod.js +1 -1
  56. package/dist/lang/et.umd.prod.js +1 -1
  57. package/dist/lang/eu.umd.prod.js +1 -1
  58. package/dist/lang/fa-IR.umd.prod.js +1 -1
  59. package/dist/lang/fa.umd.prod.js +1 -1
  60. package/dist/lang/fi.umd.prod.js +1 -1
  61. package/dist/lang/fr.umd.prod.js +1 -1
  62. package/dist/lang/gn.umd.prod.js +1 -1
  63. package/dist/lang/he.umd.prod.js +1 -1
  64. package/dist/lang/hr.umd.prod.js +1 -1
  65. package/dist/lang/hu.umd.prod.js +1 -1
  66. package/dist/lang/id.umd.prod.js +1 -1
  67. package/dist/lang/is.umd.prod.js +1 -1
  68. package/dist/lang/it.umd.prod.js +1 -1
  69. package/dist/lang/ja.umd.prod.js +1 -1
  70. package/dist/lang/km.umd.prod.js +1 -1
  71. package/dist/lang/ko-KR.umd.prod.js +1 -1
  72. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  73. package/dist/lang/kz.umd.prod.js +1 -1
  74. package/dist/lang/lt.umd.prod.js +1 -1
  75. package/dist/lang/lu.umd.prod.js +1 -1
  76. package/dist/lang/lv.umd.prod.js +1 -1
  77. package/dist/lang/ml.umd.prod.js +1 -1
  78. package/dist/lang/mm.umd.prod.js +1 -1
  79. package/dist/lang/ms.umd.prod.js +1 -1
  80. package/dist/lang/my.umd.prod.js +1 -1
  81. package/dist/lang/nb-NO.umd.prod.js +1 -1
  82. package/dist/lang/nl.umd.prod.js +1 -1
  83. package/dist/lang/pl.umd.prod.js +1 -1
  84. package/dist/lang/pt-BR.umd.prod.js +1 -1
  85. package/dist/lang/pt.umd.prod.js +1 -1
  86. package/dist/lang/ro.umd.prod.js +1 -1
  87. package/dist/lang/ru.umd.prod.js +1 -1
  88. package/dist/lang/sk.umd.prod.js +1 -1
  89. package/dist/lang/sl.umd.prod.js +1 -1
  90. package/dist/lang/sm.umd.prod.js +1 -1
  91. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  92. package/dist/lang/sr.umd.prod.js +1 -1
  93. package/dist/lang/sv.umd.prod.js +1 -1
  94. package/dist/lang/ta.umd.prod.js +1 -1
  95. package/dist/lang/th.umd.prod.js +1 -1
  96. package/dist/lang/tr.umd.prod.js +1 -1
  97. package/dist/lang/ug.umd.prod.js +1 -1
  98. package/dist/lang/uk.umd.prod.js +1 -1
  99. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  100. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  101. package/dist/lang/vi.umd.prod.js +1 -1
  102. package/dist/lang/zh-CN.umd.prod.js +1 -1
  103. package/dist/lang/zh-TW.umd.prod.js +1 -1
  104. package/dist/quasar.cjs.prod.js +2 -2
  105. package/dist/quasar.css +1 -1
  106. package/dist/quasar.esm.js +82 -59
  107. package/dist/quasar.esm.prod.js +2 -2
  108. package/dist/quasar.prod.css +1 -1
  109. package/dist/quasar.rtl.css +8 -1
  110. package/dist/quasar.rtl.prod.css +1 -1
  111. package/dist/quasar.sass +3 -2
  112. package/dist/quasar.umd.js +81 -58
  113. package/dist/quasar.umd.prod.js +2 -2
  114. package/dist/types/api/dialog.d.ts +101 -0
  115. package/dist/types/api/qpopupproxy.d.ts +3 -0
  116. package/dist/types/api.d.ts +2 -0
  117. package/dist/types/index.d.ts +18 -54
  118. package/dist/web-types/web-types.json +1 -1
  119. package/icon-set/mdi-v7.js +146 -0
  120. package/icon-set/mdi-v7.mjs +141 -0
  121. package/icon-set/svg-mdi-v7.js +224 -0
  122. package/icon-set/svg-mdi-v7.mjs +224 -0
  123. package/package.json +2 -2
  124. package/src/components/btn-dropdown/QBtnDropdown.js +0 -1
  125. package/src/components/date/QDate.js +3 -1
  126. package/src/components/dialog/QDialog.js +7 -4
  127. package/src/components/expansion-item/QExpansionItem.js +0 -1
  128. package/src/components/fab/QFab.js +3 -6
  129. package/src/components/fab/QFab.sass +2 -1
  130. package/src/components/img/QImg.js +20 -19
  131. package/src/components/input/QInput.js +8 -2
  132. package/src/components/input/use-mask.js +2 -0
  133. package/src/components/item/QList.js +1 -1
  134. package/src/components/menu/QMenu.js +4 -1
  135. package/src/components/popup-proxy/QPopupProxy.js +6 -0
  136. package/src/components/popup-proxy/QPopupProxy.json +19 -0
  137. package/src/components/select/QSelect.js +26 -21
  138. package/src/plugins/Dialog.json +3 -1
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.10.1
2
+ * Quasar Framework v2.10.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -2192,7 +2192,8 @@ body.q-ios-padding .q-dialog__inner
2192
2192
  margin-left: -28px
2193
2193
  &--opened
2194
2194
  opacity: 1
2195
- transform: scale(1) translate(0, 0)
2195
+
2196
+ transform: scale(1) translate(0.1px, 0)
2196
2197
  pointer-events: all
2197
2198
  &--align-left
2198
2199
  > .q-fab__actions
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.10.1
2
+ * Quasar Framework v2.10.2
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1612,7 +1612,7 @@
1612
1612
  }
1613
1613
 
1614
1614
  var installQuasar = function (parentApp, opts = {}) {
1615
- const $q = { version: '2.10.1' };
1615
+ const $q = { version: '2.10.2' };
1616
1616
 
1617
1617
  if (globalConfigIsFrozen === false) {
1618
1618
  if (opts.config !== void 0) {
@@ -5496,7 +5496,10 @@
5496
5496
  || evt.qClickOutside !== true
5497
5497
  )
5498
5498
  ) {
5499
- refocusTarget.focus();
5499
+ ((evt && evt.type.indexOf('key') === 0
5500
+ ? refocusTarget.closest('[tabindex]:not([tabindex^="-"])')
5501
+ : void 0
5502
+ ) || refocusTarget).focus();
5500
5503
  refocusTarget = null;
5501
5504
  }
5502
5505
 
@@ -5755,7 +5758,6 @@
5755
5758
  'aria-expanded': showing.value === true ? 'true' : 'false',
5756
5759
  'aria-haspopup': 'true',
5757
5760
  'aria-controls': targetUid,
5758
- 'aria-owns': targetUid,
5759
5761
  'aria-label': props.toggleAriaLabel || proxy.$q.lang.label[ showing.value === true ? 'collapse' : 'expand' ](props.label)
5760
5762
  };
5761
5763
 
@@ -13719,7 +13721,9 @@
13719
13721
  });
13720
13722
 
13721
13723
  vue.watch(view, () => {
13722
- blurTargetRef.value !== null && blurTargetRef.value.focus();
13724
+ if (blurTargetRef.value !== null && proxy.$el.contains(document.activeElement) === true) {
13725
+ blurTargetRef.value.focus();
13726
+ }
13723
13727
  });
13724
13728
 
13725
13729
  vue.watch(() => viewModel.value.year, year => {
@@ -14914,7 +14918,10 @@
14914
14918
  hidePortal();
14915
14919
 
14916
14920
  if (refocusTarget !== null) {
14917
- refocusTarget.focus();
14921
+ ((evt && evt.type.indexOf('key') === 0
14922
+ ? refocusTarget.closest('[tabindex]:not([tabindex^="-"])')
14923
+ : void 0
14924
+ ) || refocusTarget).focus();
14918
14925
  refocusTarget = null;
14919
14926
  }
14920
14927
 
@@ -14943,9 +14950,9 @@
14943
14950
  });
14944
14951
  }
14945
14952
 
14946
- function shake (refocusTarget) {
14947
- if (refocusTarget && typeof refocusTarget.focus === 'function') {
14948
- refocusTarget.focus({ preventScroll: true });
14953
+ function shake (focusTarget) {
14954
+ if (focusTarget && typeof focusTarget.focus === 'function') {
14955
+ focusTarget.focus({ preventScroll: true });
14949
14956
  }
14950
14957
  else {
14951
14958
  focus();
@@ -17884,7 +17891,6 @@
17884
17891
  return {
17885
17892
  role: 'button',
17886
17893
  'aria-expanded': showing.value === true ? 'true' : 'false',
17887
- 'aria-owns': targetUid,
17888
17894
  'aria-controls': targetUid,
17889
17895
  'aria-label': toggleAriaLabel
17890
17896
  }
@@ -18265,13 +18271,11 @@
18265
18271
 
18266
18272
  const actionAttrs = vue.computed(() => {
18267
18273
  const attrs = {
18268
- id: targetUid
18274
+ id: targetUid,
18275
+ role: 'menu'
18269
18276
  };
18270
18277
 
18271
- if (showing.value === true) {
18272
- attrs.role = 'menu';
18273
- }
18274
- else {
18278
+ if (showing.value !== true) {
18275
18279
  attrs[ 'aria-hidden' ] = 'true';
18276
18280
  }
18277
18281
 
@@ -18340,7 +18344,6 @@
18340
18344
  'aria-expanded': showing.value === true ? 'true' : 'false',
18341
18345
  'aria-haspopup': 'true',
18342
18346
  'aria-controls': targetUid,
18343
- 'aria-owns': targetUid,
18344
18347
  onClick: toggle
18345
18348
  }, getTriggerContent),
18346
18349
 
@@ -20525,7 +20528,7 @@
20525
20528
 
20526
20529
  const images = [
20527
20530
  vue.ref(null),
20528
- vue.ref(props.placeholderSrc !== void 0 ? { src: props.placeholderSrc } : null)
20531
+ vue.ref(getPlaceholderSrc())
20529
20532
  ];
20530
20533
 
20531
20534
  const position = vue.ref(0);
@@ -20565,18 +20568,24 @@
20565
20568
  : null
20566
20569
  }
20567
20570
 
20571
+ function getPlaceholderSrc () {
20572
+ return props.placeholderSrc !== void 0
20573
+ ? { src: props.placeholderSrc }
20574
+ : null
20575
+ }
20576
+
20568
20577
  function addImage (imgProps) {
20569
20578
  clearTimeout(loadTimer);
20570
20579
  hasError.value = false;
20571
20580
 
20572
20581
  if (imgProps === null) {
20573
20582
  isLoading.value = false;
20574
- images[ 0 ].value = null;
20575
- images[ 1 ].value = null;
20576
- return
20583
+ images[ position.value ^ 1 ].value = getPlaceholderSrc();
20584
+ }
20585
+ else {
20586
+ isLoading.value = true;
20577
20587
  }
20578
20588
 
20579
- isLoading.value = true;
20580
20589
  images[ position.value ].value = imgProps;
20581
20590
  }
20582
20591
 
@@ -20611,7 +20620,7 @@
20611
20620
  // if component has been already destroyed
20612
20621
  if (loadTimer === null) { return }
20613
20622
 
20614
- position.value = position.value === 1 ? 0 : 1;
20623
+ position.value = position.value ^ 1;
20615
20624
  images[ position.value ].value = null;
20616
20625
  isLoading.value = false;
20617
20626
  hasError.value = false;
@@ -20622,19 +20631,11 @@
20622
20631
  clearTimeout(loadTimer);
20623
20632
  isLoading.value = false;
20624
20633
  hasError.value = true;
20625
- images[ 0 ].value = null;
20626
- images[ 1 ].value = null;
20634
+ images[ position.value ].value = null;
20635
+ images[ position.value ^ 1 ].value = getPlaceholderSrc();
20627
20636
  emit('error', err);
20628
20637
  }
20629
20638
 
20630
- function getContainer (key, child) {
20631
- return vue.h(
20632
- 'div',
20633
- { class: 'q-img__container absolute-full', key },
20634
- child
20635
- )
20636
- }
20637
-
20638
20639
  function getImage (index) {
20639
20640
  const img = images[ index ].value;
20640
20641
 
@@ -20662,7 +20663,11 @@
20662
20663
  data.class += ' q-img__image--loaded';
20663
20664
  }
20664
20665
 
20665
- return getContainer('img' + index, vue.h('img', data))
20666
+ return vue.h(
20667
+ 'div',
20668
+ { class: 'q-img__container absolute-full', key: 'img' + index },
20669
+ vue.h('img', data)
20670
+ )
20666
20671
  }
20667
20672
 
20668
20673
  function getContent () {
@@ -21453,6 +21458,8 @@
21453
21458
  };
21454
21459
 
21455
21460
  function onMaskedKeydown (e) {
21461
+ emit('keydown', e);
21462
+
21456
21463
  if (shouldIgnoreKey(e) === true) {
21457
21464
  return
21458
21465
  }
@@ -21632,7 +21639,8 @@
21632
21639
 
21633
21640
  emits: [
21634
21641
  ...useFieldEmits,
21635
- 'paste', 'change'
21642
+ 'paste', 'change',
21643
+ 'keydown', 'animationend'
21636
21644
  ],
21637
21645
 
21638
21646
  setup (props, { emit, attrs }) {
@@ -21690,7 +21698,7 @@
21690
21698
  }
21691
21699
 
21692
21700
  if (props.autogrow === true) {
21693
- evt.onAnimationend = adjustHeight;
21701
+ evt.onAnimationend = onAnimationend;
21694
21702
  }
21695
21703
 
21696
21704
  return evt
@@ -21845,6 +21853,11 @@
21845
21853
  props.autogrow === true && adjustHeight();
21846
21854
  }
21847
21855
 
21856
+ function onAnimationend (e) {
21857
+ emit('animationend', e);
21858
+ adjustHeight();
21859
+ }
21860
+
21848
21861
  function emitValue (val, stopWatcher) {
21849
21862
  emitValueFn = () => {
21850
21863
  if (
@@ -22232,7 +22245,7 @@
22232
22245
  + (props.padding === true ? ' q-list--padding' : '')
22233
22246
  );
22234
22247
 
22235
- return () => vue.h(props.tag, { class: classes.value, role: 'list' }, hSlot(slots.default))
22248
+ return () => vue.h(props.tag, { class: classes.value }, hSlot(slots.default))
22236
22249
  }
22237
22250
  });
22238
22251
 
@@ -24584,6 +24597,11 @@
24584
24597
  toggle (evt) { popupRef.value.toggle(evt); }
24585
24598
  });
24586
24599
 
24600
+ injectProp(proxy, 'currentComponent', () => ({
24601
+ type: type.value,
24602
+ ref: popupRef.value
24603
+ }));
24604
+
24587
24605
  return () => {
24588
24606
  const data = {
24589
24607
  ref: popupRef,
@@ -27043,6 +27061,11 @@
27043
27061
  .join(', ')
27044
27062
  );
27045
27063
 
27064
+ const ariaCurrentValue = vue.computed(() => (props.displayValue !== void 0
27065
+ ? props.displayValue
27066
+ : selectedString.value
27067
+ ));
27068
+
27046
27069
  const needsHtmlFn = vue.computed(() => (
27047
27070
  props.optionsHtml === true
27048
27071
  ? () => true
@@ -27060,22 +27083,15 @@
27060
27083
 
27061
27084
  const tabindex = vue.computed(() => (state.focused.value === true ? props.tabindex : -1));
27062
27085
 
27063
- const comboboxAttrs = vue.computed(() => ({
27064
- tabindex: props.tabindex,
27065
- role: 'combobox',
27066
- 'aria-label': props.label,
27067
- 'aria-readonly': props.readonly === true ? 'true' : 'false',
27068
- 'aria-autocomplete': props.useInput === true ? 'list' : 'none',
27069
- 'aria-expanded': menu.value === true ? 'true' : 'false',
27070
- 'aria-owns': `${ state.targetUid.value }_lb`,
27071
- 'aria-controls': `${ state.targetUid.value }_lb`
27072
- }));
27073
-
27074
- const listboxAttrs = vue.computed(() => {
27086
+ const comboboxAttrs = vue.computed(() => {
27075
27087
  const attrs = {
27076
- id: `${ state.targetUid.value }_lb`,
27077
- role: 'listbox',
27078
- 'aria-multiselectable': props.multiple === true ? 'true' : 'false'
27088
+ tabindex: props.tabindex,
27089
+ role: 'combobox',
27090
+ 'aria-label': props.label,
27091
+ 'aria-readonly': props.readonly === true ? 'true' : 'false',
27092
+ 'aria-autocomplete': props.useInput === true ? 'list' : 'none',
27093
+ 'aria-expanded': menu.value === true ? 'true' : 'false',
27094
+ 'aria-controls': `${ state.targetUid.value }_lb`
27079
27095
  };
27080
27096
 
27081
27097
  if (optionIndex.value >= 0) {
@@ -27085,6 +27101,12 @@
27085
27101
  return attrs
27086
27102
  });
27087
27103
 
27104
+ const listboxAttrs = vue.computed(() => ({
27105
+ id: `${ state.targetUid.value }_lb`,
27106
+ role: 'listbox',
27107
+ 'aria-multiselectable': props.multiple === true ? 'true' : 'false'
27108
+ }));
27109
+
27088
27110
  const selectedScope = vue.computed(() => {
27089
27111
  return innerValue.value.map((opt, i) => ({
27090
27112
  index: i,
@@ -27580,7 +27602,9 @@
27580
27602
  && props.useInput !== true
27581
27603
  && e.key !== void 0
27582
27604
  && e.key.length === 1 // printable char
27583
- && e.altKey === e.ctrlKey // not kbd shortcut
27605
+ && e.altKey === false // not kbd shortcut
27606
+ && e.ctrlKey === false // not kbd shortcut
27607
+ && e.metaKey === false // not kbd shortcut, especially on macOS with Command key
27584
27608
  && (e.keyCode !== 32 || searchBuffer.length > 0) // space in middle of search
27585
27609
  ) {
27586
27610
  menu.value !== true && showPopup(e);
@@ -27727,9 +27751,7 @@
27727
27751
 
27728
27752
  return [
27729
27753
  vue.h('span', {
27730
- [ valueAsHtml.value === true ? 'innerHTML' : 'textContent' ]: props.displayValue !== void 0
27731
- ? props.displayValue
27732
- : selectedString.value
27754
+ [ valueAsHtml.value === true ? 'innerHTML' : 'textContent' ]: ariaCurrentValue.value
27733
27755
  })
27734
27756
  ]
27735
27757
  }
@@ -27784,7 +27806,7 @@
27784
27806
  id: isTarget === true ? state.targetUid.value : void 0,
27785
27807
  maxlength: props.maxlength,
27786
27808
  autocomplete: props.autocomplete,
27787
- 'data-autofocus': (fromDialog !== true && props.autofocus === true) || void 0,
27809
+ 'data-autofocus': fromDialog === true || props.autofocus === true || void 0,
27788
27810
  disabled: props.disable === true,
27789
27811
  readonly: props.readonly === true,
27790
27812
  ...inputControlEvents.value
@@ -28284,8 +28306,9 @@
28284
28306
  key: 'd_t',
28285
28307
  class: 'q-select__focus-target',
28286
28308
  id: isTarget === true ? state.targetUid.value : void 0,
28309
+ value: ariaCurrentValue.value,
28287
28310
  readonly: true,
28288
- 'data-autofocus': (fromDialog !== true && props.autofocus === true) || void 0,
28311
+ 'data-autofocus': fromDialog === true || props.autofocus === true || void 0,
28289
28312
  ...attrs,
28290
28313
  onKeydown: onTargetKeydown,
28291
28314
  onKeyup: onTargetKeyup,
@@ -40483,7 +40506,7 @@
40483
40506
  */
40484
40507
 
40485
40508
  var index_umd = {
40486
- version: '2.10.1',
40509
+ version: '2.10.2',
40487
40510
  install (app, opts) {
40488
40511
  installQuasar(app, {
40489
40512
  components,