quasar 1.22.0 → 1.22.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 (135) 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/svg-bootstrap-icons.umd.min.js +1 -1
  23. package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
  24. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
  25. package/dist/icon-set/svg-fontawesome-v6.umd.min.js +1 -1
  26. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  27. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  28. package/dist/icon-set/svg-ionicons-v6.umd.min.js +1 -1
  29. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  30. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
  31. package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
  32. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
  33. package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
  34. package/dist/icon-set/svg-material-symbols-outlined.umd.min.js +1 -1
  35. package/dist/icon-set/svg-material-symbols-rounded.umd.min.js +1 -1
  36. package/dist/icon-set/svg-material-symbols-sharp.umd.min.js +1 -1
  37. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  38. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  39. package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
  40. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  41. package/dist/icon-set/themify.umd.min.js +1 -1
  42. package/dist/lang/ar.umd.min.js +1 -1
  43. package/dist/lang/az-latn.umd.min.js +1 -1
  44. package/dist/lang/bg.umd.min.js +1 -1
  45. package/dist/lang/ca.umd.min.js +1 -1
  46. package/dist/lang/cs.umd.min.js +1 -1
  47. package/dist/lang/da.umd.min.js +1 -1
  48. package/dist/lang/de.umd.min.js +1 -1
  49. package/dist/lang/el.umd.min.js +1 -1
  50. package/dist/lang/en-gb.umd.min.js +1 -1
  51. package/dist/lang/en-us.umd.min.js +1 -1
  52. package/dist/lang/eo.umd.min.js +1 -1
  53. package/dist/lang/es.umd.min.js +1 -1
  54. package/dist/lang/et.umd.min.js +1 -1
  55. package/dist/lang/eu.umd.min.js +1 -1
  56. package/dist/lang/fa-ir.umd.min.js +1 -1
  57. package/dist/lang/fa.umd.min.js +1 -1
  58. package/dist/lang/fi.umd.min.js +1 -1
  59. package/dist/lang/fr.umd.min.js +1 -1
  60. package/dist/lang/gn.umd.min.js +1 -1
  61. package/dist/lang/he.umd.min.js +1 -1
  62. package/dist/lang/hr.umd.min.js +1 -1
  63. package/dist/lang/hu.umd.min.js +1 -1
  64. package/dist/lang/id.umd.min.js +1 -1
  65. package/dist/lang/is.umd.min.js +1 -1
  66. package/dist/lang/it.umd.min.js +1 -1
  67. package/dist/lang/ja.umd.min.js +1 -1
  68. package/dist/lang/km.umd.min.js +1 -1
  69. package/dist/lang/ko-kr.umd.min.js +1 -1
  70. package/dist/lang/kur-ckb.umd.min.js +1 -1
  71. package/dist/lang/kz.umd.min.js +1 -1
  72. package/dist/lang/lu.umd.min.js +1 -1
  73. package/dist/lang/lv.umd.min.js +1 -1
  74. package/dist/lang/ml.umd.min.js +1 -1
  75. package/dist/lang/mm.umd.min.js +1 -1
  76. package/dist/lang/ms.umd.min.js +1 -1
  77. package/dist/lang/my.umd.min.js +1 -1
  78. package/dist/lang/nb-no.umd.min.js +1 -1
  79. package/dist/lang/nl.umd.min.js +1 -1
  80. package/dist/lang/pl.umd.min.js +1 -1
  81. package/dist/lang/pt-br.umd.min.js +1 -1
  82. package/dist/lang/pt.umd.min.js +1 -1
  83. package/dist/lang/ro.umd.min.js +1 -1
  84. package/dist/lang/ru.umd.min.js +1 -1
  85. package/dist/lang/sk.umd.min.js +1 -1
  86. package/dist/lang/sl.umd.min.js +1 -1
  87. package/dist/lang/sm.umd.min.js +1 -1
  88. package/dist/lang/sr.umd.min.js +1 -1
  89. package/dist/lang/sv.umd.min.js +1 -1
  90. package/dist/lang/ta.umd.min.js +1 -1
  91. package/dist/lang/th.umd.min.js +1 -1
  92. package/dist/lang/tr.umd.min.js +1 -1
  93. package/dist/lang/ug.umd.min.js +1 -1
  94. package/dist/lang/uk.umd.min.js +1 -1
  95. package/dist/lang/uz-Cyrl.umd.min.js +1 -1
  96. package/dist/lang/uz-Latn.umd.min.js +1 -1
  97. package/dist/lang/vi.umd.min.js +1 -1
  98. package/dist/lang/zh-hans.umd.min.js +1 -1
  99. package/dist/lang/zh-hant.umd.min.js +1 -1
  100. package/dist/quasar.addon.css +1 -1
  101. package/dist/quasar.addon.rtl.css +1 -1
  102. package/dist/quasar.common.js +2 -2
  103. package/dist/quasar.css +3 -3
  104. package/dist/quasar.esm.js +2 -2
  105. package/dist/quasar.ie.polyfills.js +1 -1
  106. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  107. package/dist/quasar.min.css +1 -1
  108. package/dist/quasar.rtl.css +3 -3
  109. package/dist/quasar.rtl.min.css +1 -1
  110. package/dist/quasar.sass +3 -3
  111. package/dist/quasar.styl +3 -3
  112. package/dist/quasar.umd.js +80 -68
  113. package/dist/quasar.umd.min.js +2 -2
  114. package/dist/quasar.umd.modern.js +80 -64
  115. package/dist/quasar.umd.modern.min.js +2 -2
  116. package/dist/types/index.d.ts +6 -1
  117. package/dist/vetur/quasar-attributes.json +4 -0
  118. package/dist/vetur/quasar-tags.json +1 -0
  119. package/dist/web-types/web-types.json +11 -1
  120. package/package.json +1 -1
  121. package/src/components/dialog/QDialog.js +29 -27
  122. package/src/components/dialog/QDialog.json +9 -1
  123. package/src/components/dialog-bottom-sheet/BottomSheet.js +5 -4
  124. package/src/components/form/QForm.js +3 -1
  125. package/src/components/inner-loading/QInnerLoading.js +1 -6
  126. package/src/components/item/QList.js +7 -2
  127. package/src/components/item/QList.json +8 -0
  128. package/src/components/menu/QMenu.js +5 -2
  129. package/src/components/scroll-area/QScrollArea.js +9 -3
  130. package/src/components/scroll-observer/QScrollObserver.js +4 -0
  131. package/src/components/select/QSelect.sass +2 -2
  132. package/src/components/select/QSelect.styl +2 -2
  133. package/src/components/tooltip/QTooltip.js +1 -1
  134. package/src/mixins/mask.js +1 -1
  135. package/src/mixins/transition.js +14 -15
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.22.0
2
+ * Quasar Framework v1.22.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.22.0";
15
+ var version = "1.22.1";
16
16
 
17
17
  /* eslint-disable no-useless-escape */
18
18
 
@@ -4028,23 +4028,22 @@
4028
4028
  }
4029
4029
  },
4030
4030
 
4031
- data () {
4032
- return {
4033
- transitionState: this.showing
4034
- }
4035
- },
4031
+ computed: {
4032
+ transitionProps () {
4033
+ const show = `q-transition--${this.transitionShow || this.defaultTransitionShow}`;
4034
+ const hide = `q-transition--${this.transitionHide || this.defaultTransitionHide}`;
4036
4035
 
4037
- watch: {
4038
- showing (val) {
4039
- this.transitionShow !== this.transitionHide && this.$nextTick(() => {
4040
- this.transitionState = val;
4041
- });
4042
- }
4043
- },
4036
+ return {
4037
+ appear: true,
4044
4038
 
4045
- computed: {
4046
- transition () {
4047
- return 'q-transition--' + (this.transitionState === true ? this.transitionHide : this.transitionShow)
4039
+ enterClass: `${show}-enter`,
4040
+ enterActiveClass: `${show}-enter-active`,
4041
+ enterToClass: `${show}-enter-to`,
4042
+
4043
+ leaveClass: `${hide}-leave`,
4044
+ leaveActiveClass: `${hide}-leave-active`,
4045
+ leaveToClass: `${hide}-leave-to`
4046
+ }
4048
4047
  }
4049
4048
  }
4050
4049
  };
@@ -5506,7 +5505,10 @@
5506
5505
  : void 0;
5507
5506
 
5508
5507
  if (node !== void 0 && node.contains(document.activeElement) !== true) {
5509
- node = node.querySelector('[autofocus], [data-autofocus]') || node;
5508
+ node = node.querySelector('[autofocus][tabindex], [data-autofocus][tabindex]') ||
5509
+ node.querySelector('[autofocus] [tabindex], [data-autofocus] [tabindex]') ||
5510
+ node.querySelector('[autofocus], [data-autofocus]') ||
5511
+ node;
5510
5512
  node.focus({ preventScroll: true });
5511
5513
  }
5512
5514
  });
@@ -5687,7 +5689,7 @@
5687
5689
 
5688
5690
  __renderPortal (h) {
5689
5691
  return h('transition', {
5690
- props: { name: this.transition }
5692
+ props: { ...this.transitionProps }
5691
5693
  }, [
5692
5694
  this.showing === true ? h('div', {
5693
5695
  ref: 'inner',
@@ -14771,7 +14773,7 @@
14771
14773
  left: 'fixed-left items-center'
14772
14774
  };
14773
14775
 
14774
- const transitions = {
14776
+ const defaultTransitions = {
14775
14777
  standard: ['scale', 'scale'],
14776
14778
  top: ['slide-down', 'slide-up'],
14777
14779
  bottom: ['slide-up', 'slide-down'],
@@ -14779,11 +14781,17 @@
14779
14781
  left: ['slide-right', 'slide-left']
14780
14782
  };
14781
14783
 
14784
+ const backdropAttrs = {
14785
+ ...ariaHidden,
14786
+ tabindex: -1
14787
+ };
14788
+
14782
14789
  var QDialog = Vue.extend({
14783
14790
  name: 'QDialog',
14784
14791
 
14785
14792
  mixins: [
14786
14793
  AttrsMixin,
14794
+ TransitionMixin,
14787
14795
  HistoryMixin,
14788
14796
  TimeoutMixin,
14789
14797
  ModelToggleMixin,
@@ -14824,20 +14832,11 @@
14824
14832
 
14825
14833
  data () {
14826
14834
  return {
14827
- transitionState: this.showing,
14828
14835
  animating: false
14829
14836
  }
14830
14837
  },
14831
14838
 
14832
14839
  watch: {
14833
- showing (val) {
14834
- if (this.transitionShowComputed !== this.transitionHideComputed) {
14835
- this.$nextTick(() => {
14836
- this.transitionState = val;
14837
- });
14838
- }
14839
- },
14840
-
14841
14840
  maximized (state) {
14842
14841
  this.showing === true && this.__updateMaximized(state);
14843
14842
  },
@@ -14858,18 +14857,12 @@
14858
14857
  (this.square === true ? ' q-dialog__inner--square' : '')
14859
14858
  },
14860
14859
 
14861
- transitionShowComputed () {
14862
- return 'q-transition--' + (this.transitionShow === void 0 ? transitions[this.position][0] : this.transitionShow)
14863
- },
14864
-
14865
- transitionHideComputed () {
14866
- return 'q-transition--' + (this.transitionHide === void 0 ? transitions[this.position][1] : this.transitionHide)
14860
+ defaultTransitionShow () {
14861
+ return defaultTransitions[this.position][0]
14867
14862
  },
14868
14863
 
14869
- transition () {
14870
- return this.transitionState === true
14871
- ? this.transitionHideComputed
14872
- : this.transitionShowComputed
14864
+ defaultTransitionHide () {
14865
+ return defaultTransitions[this.position][1]
14873
14866
  },
14874
14867
 
14875
14868
  useBackdrop () {
@@ -14916,13 +14909,23 @@
14916
14909
  return
14917
14910
  }
14918
14911
 
14919
- node = node.querySelector(selector || '[autofocus], [data-autofocus]') || node;
14912
+ node = (selector !== '' ? node.querySelector(selector) : null) ||
14913
+ node.querySelector('[autofocus][tabindex], [data-autofocus][tabindex]') ||
14914
+ node.querySelector('[autofocus] [tabindex], [data-autofocus] [tabindex]') ||
14915
+ node.querySelector('[autofocus], [data-autofocus]') ||
14916
+ node;
14920
14917
  node.focus({ preventScroll: true });
14921
14918
  });
14922
14919
  },
14923
14920
 
14924
- shake () {
14925
- this.focus();
14921
+ shake (refocusTarget) {
14922
+ if (refocusTarget && typeof refocusTarget.focus === 'function') {
14923
+ refocusTarget.focus({ preventScroll: true });
14924
+ }
14925
+ else {
14926
+ this.focus();
14927
+ }
14928
+
14926
14929
  this.$emit('shake');
14927
14930
 
14928
14931
  const node = this.__getInnerNode();
@@ -15084,7 +15087,7 @@
15084
15087
  this.hide(e);
15085
15088
  }
15086
15089
  else if (this.noShake !== true) {
15087
- this.shake();
15090
+ this.shake(e.relatedTarget);
15088
15091
  }
15089
15092
  },
15090
15093
 
@@ -15111,15 +15114,15 @@
15111
15114
  }, this.useBackdrop === true ? [
15112
15115
  h('div', {
15113
15116
  staticClass: 'q-dialog__backdrop fixed-full',
15114
- attrs: ariaHidden,
15117
+ attrs: backdropAttrs,
15115
15118
  on: cache(this, 'bkdrop', {
15116
- click: this.__onBackdropClick
15119
+ focusin: this.__onBackdropClick
15117
15120
  })
15118
15121
  })
15119
15122
  ] : null),
15120
15123
 
15121
15124
  h('transition', {
15122
- props: { name: this.transition }
15125
+ props: { ...this.transitionProps }
15123
15126
  }, [
15124
15127
  this.showing === true ? h('div', {
15125
15128
  ref: 'inner',
@@ -16062,7 +16065,7 @@
16062
16065
 
16063
16066
  __renderPortal (h) {
16064
16067
  return h('transition', {
16065
- props: { name: this.transition }
16068
+ props: { ...this.transitionProps }
16066
16069
  }, [
16067
16070
  this.showing === true ? h('div', {
16068
16071
  staticClass: 'q-tooltip q-tooltip--style q-position-engine no-pointer-events',
@@ -16095,7 +16098,12 @@
16095
16098
  bordered: Boolean,
16096
16099
  dense: Boolean,
16097
16100
  separator: Boolean,
16098
- padding: Boolean
16101
+ padding: Boolean,
16102
+
16103
+ tag: {
16104
+ type: String,
16105
+ default: 'div'
16106
+ }
16099
16107
  },
16100
16108
 
16101
16109
  computed: {
@@ -16110,7 +16118,7 @@
16110
16118
  },
16111
16119
 
16112
16120
  render (h) {
16113
- return h('div', {
16121
+ return h(this.tag, {
16114
16122
  class: this.classes,
16115
16123
  attrs: attrs$4,
16116
16124
  on: { ...this.qListeners }
@@ -20219,7 +20227,9 @@
20219
20227
  addFocusFn(() => {
20220
20228
  if (!this.$el) { return }
20221
20229
 
20222
- const target = this.$el.querySelector('[autofocus], [data-autofocus]') ||
20230
+ const target = this.$el.querySelector('[autofocus][tabindex], [data-autofocus][tabindex]') ||
20231
+ this.$el.querySelector('[autofocus] [tabindex], [data-autofocus] [tabindex]') ||
20232
+ this.$el.querySelector('[autofocus], [data-autofocus]') ||
20223
20233
  Array.prototype.find.call(this.$el.querySelectorAll('[tabindex]'), el => el.tabIndex > -1);
20224
20234
 
20225
20235
  target !== null && target !== void 0 && target.focus({ preventScroll: true });
@@ -21054,12 +21064,7 @@
21054
21064
  },
21055
21065
 
21056
21066
  render (h) {
21057
- return h('transition', {
21058
- props: {
21059
- name: this.transition,
21060
- appear: true
21061
- }
21062
- }, this.__getContent(h))
21067
+ return h('transition', { props: { ...this.transitionProps } }, this.__getContent(h))
21063
21068
  }
21064
21069
  });
21065
21070
 
@@ -21253,7 +21258,7 @@
21253
21258
 
21254
21259
  this.computedMask = mask;
21255
21260
  this.computedUnmask = val => {
21256
- const unmaskMatch = unmaskMatcher.exec(val);
21261
+ const unmaskMatch = unmaskMatcher.exec(this.reverseFillMask === true ? val : val.slice(0, mask.length));
21257
21262
  if (unmaskMatch !== null) {
21258
21263
  val = unmaskMatch.slice(1).join('');
21259
21264
  }
@@ -22504,6 +22509,10 @@
22504
22509
  scrollTarget () {
22505
22510
  this.__unconfigureScrollTarget();
22506
22511
  this.__configureScrollTarget();
22512
+ },
22513
+
22514
+ '$q.lang.rtl' () {
22515
+ this.__emit();
22507
22516
  }
22508
22517
  },
22509
22518
 
@@ -25866,7 +25875,7 @@
25866
25875
  horizontalScrollPercentage () {
25867
25876
  const diff = this.scroll.horizontal.size - this.container.horizontal;
25868
25877
  if (diff <= 0) { return 0 }
25869
- const p = between(this.scroll.horizontal.position / diff, 0, 1);
25878
+ const p = between(Math.abs(this.scroll.horizontal.position) / diff, 0, 1);
25870
25879
  return Math.round(p * 10000) / 10000
25871
25880
  },
25872
25881
 
@@ -25927,7 +25936,7 @@
25927
25936
  return {
25928
25937
  ...this.thumbStyle,
25929
25938
  ...this.horizontalThumbStyle,
25930
- left: `${this.horizontalThumbStart}px`,
25939
+ [ this.$q.lang.rtl === true ? 'right' : 'left' ]: `${this.horizontalThumbStart}px`,
25931
25940
  width: `${this.horizontalThumbSize}px`
25932
25941
  }
25933
25942
  },
@@ -26016,6 +26025,12 @@
26016
26025
  }
26017
26026
  },
26018
26027
 
26028
+ watch: {
26029
+ '$q.lang.rtl' (rtl) {
26030
+ this.setScrollPosition('horizontal', Math.abs(this.scroll.horizontal.position) * (rtl === true ? -1 : 1));
26031
+ }
26032
+ },
26033
+
26019
26034
  methods: {
26020
26035
  getScrollTarget () {
26021
26036
  return this.$refs.target
@@ -26095,7 +26110,7 @@
26095
26110
 
26096
26111
  this.setScrollPosition(
26097
26112
  axis,
26098
- percentage * (this.scroll[axis].size - this.container[axis]),
26113
+ percentage * (this.scroll[axis].size - this.container[axis]) * (axis === 'horizontal' && this.$q.lang.rtl === true ? -1 : 1),
26099
26114
  duration
26100
26115
  );
26101
26116
  },
@@ -38695,7 +38710,9 @@
38695
38710
  class: action.classes,
38696
38711
  attrs: attrsGridItem,
38697
38712
  on: {
38698
- click: () => this.onOk(action),
38713
+ click: () => {
38714
+ this.onOk(action);
38715
+ },
38699
38716
  keyup: e => {
38700
38717
  e.keyCode === 13 && this.onOk(action);
38701
38718
  }
@@ -38734,9 +38751,8 @@
38734
38751
  dark: this.isDark
38735
38752
  },
38736
38753
  on: {
38737
- click: () => this.onOk(action),
38738
- keyup: e => {
38739
- e.keyCode === 13 && this.onOk(action);
38754
+ click: () => {
38755
+ this.onOk(action);
38740
38756
  }
38741
38757
  }
38742
38758
  }, [