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
@@ -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
 
@@ -2225,7 +2225,7 @@
2225
2225
 
2226
2226
  function uniqueSlot (vm, slotName, otherwise) {
2227
2227
  return vm.$scopedSlots[slotName] !== void 0
2228
- ? vm.$scopedSlots[slotName]().slice()
2228
+ ? [].concat(vm.$scopedSlots[slotName]())
2229
2229
  : otherwise
2230
2230
  }
2231
2231
 
@@ -7032,8 +7032,8 @@
7032
7032
  }
7033
7033
 
7034
7034
  const content = withSlots === true
7035
- ? (contentList.length > 1 ? text => text : text => h('div', [ text ]))
7036
- : text => h('div', { domProps: { [domPropText]: text } });
7035
+ ? (contentList.length > 1 ? (text => text) : (text => h('div', [ text ])))
7036
+ : (text => h('div', { domProps: { [domPropText]: text } }));
7037
7037
 
7038
7038
  return contentList.map((msg, index) => h('div', {
7039
7039
  key: index,
@@ -16552,7 +16552,7 @@
16552
16552
  let child;
16553
16553
 
16554
16554
  if (this.$scopedSlots.header !== void 0) {
16555
- child = this.$scopedSlots.header().slice();
16555
+ child = [].concat(this.$scopedSlots.header());
16556
16556
  }
16557
16557
  else {
16558
16558
  child = [
@@ -16817,6 +16817,14 @@
16817
16817
  (this.showing === true ? ' q-fab--opened' : '')
16818
16818
  },
16819
16819
 
16820
+ actionsClasses () {
16821
+ return `q-fab__actions--${this.direction}` + (this.showing === true ? ' q-fab__actions--opened' : '')
16822
+ },
16823
+
16824
+ iconHolderClasses () {
16825
+ return this.showing === true ? 'q-fab__icon-holder--opened' : ''
16826
+ },
16827
+
16820
16828
  attrs () {
16821
16829
  return {
16822
16830
  'aria-expanded': this.showing === true ? 'true' : 'false',
@@ -16840,7 +16848,7 @@
16840
16848
  const child = [];
16841
16849
 
16842
16850
  this.hideIcon !== true && child.push(
16843
- h('div', { staticClass: 'q-fab__icon-holder' }, [
16851
+ h('div', { staticClass: 'q-fab__icon-holder', class: this.iconHolderClasses }, [
16844
16852
  h(QIcon, {
16845
16853
  staticClass: 'q-fab__icon absolute-full',
16846
16854
  props: { name: this.icon || this.$q.iconSet.fab.icon }
@@ -16882,7 +16890,7 @@
16882
16890
 
16883
16891
  h('div', {
16884
16892
  staticClass: 'q-fab__actions flex no-wrap inline',
16885
- class: `q-fab__actions--${this.direction}`
16893
+ class: this.actionsClasses
16886
16894
  }, slot(this, 'default'))
16887
16895
  ])
16888
16896
  }
@@ -17049,6 +17057,11 @@
17049
17057
  this.validate();
17050
17058
  }
17051
17059
  }
17060
+ },
17061
+
17062
+ hasError (invalid) {
17063
+ const targetEl = document.getElementById(this.targetUid);
17064
+ targetEl !== null && targetEl.setAttribute('aria-invalid', invalid === true);
17052
17065
  }
17053
17066
  },
17054
17067
 
@@ -17645,7 +17658,7 @@
17645
17658
 
17646
17659
  if (this.hasError === true) {
17647
17660
  if (this.computedErrorMessage !== void 0) {
17648
- msg = [ h('div', [ this.computedErrorMessage ]) ];
17661
+ msg = [ h('div', { attrs: { role: 'alert' } }, [ this.computedErrorMessage ]) ];
17649
17662
  key = this.computedErrorMessage;
17650
17663
  }
17651
17664
  else {
@@ -19524,6 +19537,10 @@
19524
19537
  this.__updateMaskInternals();
19525
19538
  },
19526
19539
 
19540
+ autogrow () {
19541
+ this.__updateMaskInternals();
19542
+ },
19543
+
19527
19544
  mask (v) {
19528
19545
  if (v !== void 0) {
19529
19546
  this.__updateMaskValue(this.innerValue, true);
@@ -19588,7 +19605,7 @@
19588
19605
  __updateMaskInternals () {
19589
19606
  this.hasMask = this.mask !== void 0 &&
19590
19607
  this.mask.length > 0 &&
19591
- ['text', 'search', 'url', 'tel', 'password'].includes(this.type);
19608
+ (this.autogrow === true || ['textarea', 'text', 'search', 'url', 'tel', 'password'].includes(this.type));
19592
19609
 
19593
19610
  if (this.hasMask === false) {
19594
19611
  this.computedUnmask = void 0;
@@ -20127,6 +20144,10 @@
20127
20144
  return this.type === 'textarea' || this.autogrow === true
20128
20145
  },
20129
20146
 
20147
+ isTypeText () {
20148
+ return this.isTextarea === true || ['text', 'search', 'url', 'tel', 'password'].includes(this.type)
20149
+ },
20150
+
20130
20151
  fieldClass () {
20131
20152
  return `q-${this.isTextarea === true ? 'textarea' : 'input'}` +
20132
20153
  (this.autogrow === true ? ' q-textarea--autogrow' : '')
@@ -20238,7 +20259,7 @@
20238
20259
  else {
20239
20260
  this.__emitValue(val);
20240
20261
 
20241
- if (['text', 'search', 'url', 'tel', 'password'].includes(this.type) && e.target === document.activeElement) {
20262
+ if (this.isTypeText === true && e.target === document.activeElement) {
20242
20263
  const { selectionStart, selectionEnd } = e.target;
20243
20264
 
20244
20265
  if (selectionStart !== void 0 && selectionEnd !== void 0) {
@@ -22667,7 +22688,7 @@
22667
22688
  title = slot(this, 'title', this.title),
22668
22689
  child = this.$scopedSlots.default === void 0
22669
22690
  ? []
22670
- : this.$scopedSlots.default(this.defaultSlotScope).slice();
22691
+ : [].concat(this.$scopedSlots.default(this.defaultSlotScope));
22671
22692
 
22672
22693
  title && child.unshift(
22673
22694
  h('div', { staticClass: 'q-dialog__title q-mt-sm q-mb-sm' }, [ title ])
@@ -25236,8 +25257,15 @@
25236
25257
  dark: this.isOptionsDark
25237
25258
  };
25238
25259
 
25260
+ const itemAttrs = {
25261
+ role: 'option',
25262
+ id: `${this.targetUid}_${index}`
25263
+ };
25264
+
25239
25265
  if (disable !== true) {
25240
25266
  this.isOptionSelected(opt) === true && (itemProps.active = true);
25267
+ itemAttrs['aria-selected'] = itemProps.active === true ? 'true' : 'false';
25268
+
25241
25269
  this.optionIndex === index && (itemProps.focused = true);
25242
25270
  }
25243
25271
 
@@ -25257,7 +25285,8 @@
25257
25285
  focused: itemProps.focused,
25258
25286
  toggleOption: this.toggleOption,
25259
25287
  setOptionIndex: this.setOptionIndex,
25260
- itemProps
25288
+ itemProps,
25289
+ itemAttrs
25261
25290
  };
25262
25291
 
25263
25292
  if (options[i] === void 0 || isDeepEqual(option, options[i]) !== true) {
@@ -25340,6 +25369,23 @@
25340
25369
  return this.virtualScrollItemSize === void 0
25341
25370
  ? (this.dense === true ? 24 : 48)
25342
25371
  : this.virtualScrollItemSize
25372
+ },
25373
+
25374
+ comboboxAttrs () {
25375
+ return {
25376
+ role: 'combobox',
25377
+ 'aria-multiselectable': this.multiple === true ? 'true' : 'false',
25378
+ 'aria-expanded': this.menu === true ? 'true' : 'false',
25379
+ 'aria-owns': `${this.targetUid}_lb`,
25380
+ 'aria-activedescendant': `${this.targetUid}_${this.optionIndex}`
25381
+ }
25382
+ },
25383
+
25384
+ listboxAttrs () {
25385
+ return {
25386
+ role: 'listbox',
25387
+ id: `${this.targetUid}_lb`
25388
+ }
25343
25389
  }
25344
25390
  },
25345
25391
 
@@ -25821,7 +25867,7 @@
25821
25867
  }
25822
25868
 
25823
25869
  if (this.$scopedSlots.selected !== void 0) {
25824
- return this.$scopedSlots.selected().slice()
25870
+ return [].concat(this.$scopedSlots.selected())
25825
25871
  }
25826
25872
 
25827
25873
  if (this.useChips === true) {
@@ -25873,7 +25919,8 @@
25873
25919
  staticClass: 'no-outline',
25874
25920
  attrs: {
25875
25921
  id: this.targetUid,
25876
- tabindex: this.tabindex
25922
+ tabindex: this.tabindex,
25923
+ ...this.comboboxAttrs
25877
25924
  },
25878
25925
  on: cache(this, 'f-tget', {
25879
25926
  keydown: this.__onTargetKeydown,
@@ -25933,6 +25980,7 @@
25933
25980
  : scope => h(QItem, {
25934
25981
  key: scope.index,
25935
25982
  props: scope.itemProps,
25983
+ attrs: scope.itemAttrs,
25936
25984
  on: scope.itemEvents
25937
25985
  }, [
25938
25986
  h(QItemSection, [
@@ -25990,7 +26038,8 @@
25990
26038
  autocomplete: this.autocomplete,
25991
26039
  'data-autofocus': fromDialog === true ? false : this.autofocus,
25992
26040
  disabled: this.disable === true,
25993
- readonly: this.readonly === true
26041
+ readonly: this.readonly === true,
26042
+ ...this.comboboxAttrs
25994
26043
  },
25995
26044
  on: this.inputControlEvents
25996
26045
  };
@@ -26201,6 +26250,7 @@
26201
26250
  transitionHide: this.transitionHide,
26202
26251
  separateClosePopup: true
26203
26252
  },
26253
+ attrs: this.listboxAttrs,
26204
26254
  on: cache(this, 'menu', {
26205
26255
  '&scroll': this.__onVirtualScrollEvt,
26206
26256
  'before-hide': this.__closeMenu,
@@ -26261,6 +26311,7 @@
26261
26311
  staticClass: 'scroll',
26262
26312
  class: this.menuContentClass,
26263
26313
  style: this.popupContentStyle,
26314
+ attrs: this.listboxAttrs,
26264
26315
  on: cache(this, 'virtMenu', {
26265
26316
  click: prevent,
26266
26317
  '&scroll': this.__onVirtualScrollEvt