quasar 2.3.0 → 2.3.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 (137) hide show
  1. package/dist/api/BottomSheet.json +17 -2
  2. package/dist/api/Dialog.json +17 -2
  3. package/dist/api/LocalStorage.json +8 -0
  4. package/dist/api/QCircularProgress.json +1 -1
  5. package/dist/api/QDate.json +46 -0
  6. package/dist/api/QEditor.json +7 -2
  7. package/dist/api/QFooter.json +1 -1
  8. package/dist/api/QHeader.json +1 -1
  9. package/dist/api/QIntersection.json +14 -0
  10. package/dist/api/QLinearProgress.json +1 -1
  11. package/dist/api/QRouteTab.json +1 -24
  12. package/dist/api/QScrollArea.json +3 -0
  13. package/dist/api/QSelect.json +62 -0
  14. package/dist/api/QTable.json +62 -5
  15. package/dist/api/QUploader.json +81 -1
  16. package/dist/api/SessionStorage.json +8 -0
  17. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  18. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  19. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  20. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  21. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  22. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  23. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  24. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  25. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  26. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  27. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  28. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  29. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  30. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  45. package/dist/icon-set/themify.umd.prod.js +1 -1
  46. package/dist/lang/ar.umd.prod.js +1 -1
  47. package/dist/lang/az-Latn.umd.prod.js +1 -1
  48. package/dist/lang/bg.umd.prod.js +1 -1
  49. package/dist/lang/bn.umd.prod.js +1 -1
  50. package/dist/lang/ca.umd.prod.js +1 -1
  51. package/dist/lang/cs.umd.prod.js +1 -1
  52. package/dist/lang/da.umd.prod.js +1 -1
  53. package/dist/lang/de.umd.prod.js +1 -1
  54. package/dist/lang/el.umd.prod.js +1 -1
  55. package/dist/lang/en-GB.umd.prod.js +1 -1
  56. package/dist/lang/en-US.umd.prod.js +1 -1
  57. package/dist/lang/eo.umd.prod.js +1 -1
  58. package/dist/lang/es.umd.prod.js +1 -1
  59. package/dist/lang/et.umd.prod.js +1 -1
  60. package/dist/lang/fa-IR.umd.prod.js +1 -1
  61. package/dist/lang/fa.umd.prod.js +1 -1
  62. package/dist/lang/fi.umd.prod.js +1 -1
  63. package/dist/lang/fr.umd.prod.js +1 -1
  64. package/dist/lang/gn.umd.prod.js +1 -1
  65. package/dist/lang/he.umd.prod.js +1 -1
  66. package/dist/lang/hr.umd.prod.js +1 -1
  67. package/dist/lang/hu.umd.prod.js +1 -1
  68. package/dist/lang/id.umd.prod.js +1 -1
  69. package/dist/lang/is.umd.prod.js +1 -1
  70. package/dist/lang/it.umd.prod.js +1 -1
  71. package/dist/lang/ja.umd.prod.js +1 -1
  72. package/dist/lang/km.umd.prod.js +1 -1
  73. package/dist/lang/ko-KR.umd.prod.js +1 -1
  74. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  75. package/dist/lang/lt.umd.prod.js +1 -1
  76. package/dist/lang/lu.umd.prod.js +1 -1
  77. package/dist/lang/lv.umd.prod.js +1 -1
  78. package/dist/lang/ml.umd.prod.js +1 -1
  79. package/dist/lang/ms.umd.prod.js +1 -1
  80. package/dist/lang/nb-NO.umd.prod.js +1 -1
  81. package/dist/lang/nl.umd.prod.js +1 -1
  82. package/dist/lang/pl.umd.prod.js +1 -1
  83. package/dist/lang/pt-BR.umd.prod.js +1 -1
  84. package/dist/lang/pt.umd.prod.js +1 -1
  85. package/dist/lang/ro.umd.prod.js +1 -1
  86. package/dist/lang/ru.umd.prod.js +1 -1
  87. package/dist/lang/sk.umd.prod.js +1 -1
  88. package/dist/lang/sl.umd.prod.js +1 -1
  89. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  90. package/dist/lang/sr.umd.prod.js +1 -1
  91. package/dist/lang/sv.umd.prod.js +1 -1
  92. package/dist/lang/ta.umd.prod.js +1 -1
  93. package/dist/lang/th.umd.prod.js +1 -1
  94. package/dist/lang/tr.umd.prod.js +1 -1
  95. package/dist/lang/ug.umd.prod.js +1 -1
  96. package/dist/lang/uk.umd.prod.js +1 -1
  97. package/dist/lang/vi.umd.prod.js +1 -1
  98. package/dist/lang/zh-CN.umd.prod.js +1 -1
  99. package/dist/lang/zh-TW.umd.prod.js +1 -1
  100. package/dist/quasar.cjs.prod.js +2 -2
  101. package/dist/quasar.css +4 -0
  102. package/dist/quasar.esm.prod.js +2 -2
  103. package/dist/quasar.prod.css +1 -1
  104. package/dist/quasar.rtl.css +4 -0
  105. package/dist/quasar.rtl.prod.css +1 -1
  106. package/dist/quasar.sass +3 -1
  107. package/dist/quasar.umd.js +39 -18
  108. package/dist/quasar.umd.prod.js +2 -2
  109. package/dist/ssr-directives/Morph.js +1 -1
  110. package/dist/types/index.d.ts +360 -141
  111. package/dist/vetur/quasar-attributes.json +6 -2
  112. package/dist/vetur/quasar-tags.json +1 -0
  113. package/dist/web-types/web-types.json +14 -3
  114. package/package.json +4 -1
  115. package/src/body.js +14 -4
  116. package/src/components/circular-progress/QCircularProgress.json +1 -1
  117. package/src/components/date/QDate.json +34 -0
  118. package/src/components/editor/QEditor.json +6 -2
  119. package/src/components/footer/QFooter.json +1 -1
  120. package/src/components/header/QHeader.json +1 -1
  121. package/src/components/intersection/QIntersection.js +9 -1
  122. package/src/components/intersection/QIntersection.json +9 -0
  123. package/src/components/linear-progress/QLinearProgress.json +1 -1
  124. package/src/components/scroll-area/QScrollArea.json +4 -1
  125. package/src/components/select/QSelect.js +6 -2
  126. package/src/components/select/QSelect.json +47 -0
  127. package/src/components/slider/use-slider.js +3 -3
  128. package/src/components/table/QTable.json +51 -5
  129. package/src/components/tabs/QRouteTab.json +1 -23
  130. package/src/components/uploader/xhr-uploader-plugin.json +97 -1
  131. package/src/composables/private/use-field.js +2 -2
  132. package/src/composables/private/use-refocus-target.js +12 -3
  133. package/src/css/core/transitions.sass +3 -1
  134. package/src/install-quasar.js +1 -0
  135. package/src/utils/private/global-dialog.json +10 -2
  136. package/src/utils/private/web-storage.json +10 -0
  137. package/wrappers/index.js +4 -0
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.3.0
2
+ * Quasar Framework v2.3.1
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -7023,6 +7023,8 @@ img.responsive
7023
7023
  touch-action: pan-x
7024
7024
  .q-touch-y
7025
7025
  touch-action: pan-y
7026
+ \:root
7027
+ --q-transition-duration: .3s
7026
7028
  .q-transition
7027
7029
  &--slide-right,
7028
7030
  &--slide-left,
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.3.0
2
+ * Quasar Framework v2.3.1
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1170,16 +1170,16 @@
1170
1170
  var Body = {
1171
1171
  install (opts) {
1172
1172
 
1173
- const { $q } = opts;
1174
-
1175
- $q.config.brand !== void 0 && setColors($q.config.brand);
1176
-
1177
1173
  if (this.__installed === true) { return }
1178
1174
 
1179
1175
  if (isRuntimeSsrPreHydration.value === true) {
1180
1176
  applyClientSsrCorrections();
1181
1177
  }
1182
1178
  else {
1179
+ const { $q } = opts;
1180
+
1181
+ $q.config.brand !== void 0 && setColors($q.config.brand);
1182
+
1183
1183
  const cls = getBodyClasses(client, $q.config);
1184
1184
  document.body.classList.add.apply(document.body.classList, cls);
1185
1185
  }
@@ -1437,7 +1437,7 @@
1437
1437
  }
1438
1438
 
1439
1439
  var installQuasar = function (parentApp, opts = {}) {
1440
- const $q = { version: '2.3.0' };
1440
+ const $q = { version: '2.3.1' };
1441
1441
 
1442
1442
  if (globalConfigIsFrozen === false) {
1443
1443
  if (opts.config !== void 0) {
@@ -7028,12 +7028,21 @@
7028
7028
  });
7029
7029
 
7030
7030
  function refocusTarget (e) {
7031
+ const root = rootRef.value;
7032
+
7031
7033
  if (e !== void 0 && e.type.indexOf('key') === 0) {
7032
- if (document.activeElement !== rootRef.value && rootRef.value.contains(document.activeElement) === true) {
7033
- rootRef.value.focus();
7034
+ if (
7035
+ root !== null
7036
+ && document.activeElement !== root
7037
+ && root.contains(document.activeElement) === true
7038
+ ) {
7039
+ root.focus();
7034
7040
  }
7035
7041
  }
7036
- else if ((e === void 0 || rootRef.value.contains(e.target) === true) && refocusRef.value !== null) {
7042
+ else if (
7043
+ refocusRef.value !== null
7044
+ && (e === void 0 || (root !== null && root.contains(e.target) === true))
7045
+ ) {
7037
7046
  refocusRef.value.focus();
7038
7047
  }
7039
7048
  }
@@ -8286,7 +8295,7 @@
8286
8295
  }
8287
8296
 
8288
8297
  function onPan (event) {
8289
- if (event.isFinal) {
8298
+ if (event.isFinal === true) {
8290
8299
  if (dragging.value !== void 0) {
8291
8300
  updatePosition(event.evt);
8292
8301
  // only if touch, because we also have mousedown/up:
@@ -8296,7 +8305,7 @@
8296
8305
  }
8297
8306
  active.value = false;
8298
8307
  }
8299
- else if (event.isFirst) {
8308
+ else if (event.isFirst === true) {
8300
8309
  dragging.value = getDragging(event.evt);
8301
8310
  updatePosition(event.evt);
8302
8311
  updateValue();
@@ -8326,7 +8335,7 @@
8326
8335
  function onDeactivate () {
8327
8336
  preventFocus.value = false;
8328
8337
 
8329
- if (dragging.value === void 0) {
8338
+ if (dragging.value === false) {
8330
8339
  active.value = false;
8331
8340
  }
8332
8341
 
@@ -17765,7 +17774,7 @@
17765
17774
 
17766
17775
  innerLoading: vue.ref(false),
17767
17776
  focused: vue.ref(false),
17768
- hasPopupOpen: vue.ref(false),
17777
+ hasPopupOpen: false,
17769
17778
 
17770
17779
  splitAttrs: useSplitAttrs(attrs),
17771
17780
  targetUid: vue.ref(getTargetUid(props.for)),
@@ -17978,7 +17987,7 @@
17978
17987
  focusoutTimer = setTimeout(() => {
17979
17988
  if (
17980
17989
  document.hasFocus() === true && (
17981
- state.hasPopupOpen.value === true
17990
+ state.hasPopupOpen === true
17982
17991
  || (
17983
17992
  state.controlRef !== void 0
17984
17993
  && (
@@ -21007,6 +21016,10 @@
21007
21016
 
21008
21017
  once: Boolean,
21009
21018
  transition: String,
21019
+ transitionDuration: {
21020
+ type: [ String, Number ],
21021
+ default: 300
21022
+ },
21010
21023
 
21011
21024
  ssrPrerender: Boolean,
21012
21025
 
@@ -21052,6 +21065,10 @@
21052
21065
  ] ]
21053
21066
  });
21054
21067
 
21068
+ const transitionStyle = vue.computed(
21069
+ () => `--q-transition-duration: ${ props.transitionDuration }ms`
21070
+ );
21071
+
21055
21072
  function trigger (entry) {
21056
21073
  if (showing.value !== entry.isIntersecting) {
21057
21074
  showing.value = entry.isIntersecting;
@@ -21061,7 +21078,7 @@
21061
21078
 
21062
21079
  function getContent () {
21063
21080
  return showing.value === true
21064
- ? [ vue.h('div', { key: 'content' }, hSlot(slots.default)) ]
21081
+ ? [ vue.h('div', { key: 'content', style: transitionStyle.value }, hSlot(slots.default)) ]
21065
21082
  : void 0
21066
21083
  }
21067
21084
 
@@ -26837,14 +26854,14 @@
26837
26854
  function onControlPopupShow (e) {
26838
26855
  e !== void 0 && stop(e);
26839
26856
  emit('popup-show', e);
26840
- state.hasPopupOpen.value = true;
26857
+ state.hasPopupOpen = true;
26841
26858
  state.onControlFocusin(e);
26842
26859
  }
26843
26860
 
26844
26861
  function onControlPopupHide (e) {
26845
26862
  e !== void 0 && stop(e);
26846
26863
  emit('popup-hide', e);
26847
- state.hasPopupOpen.value = false;
26864
+ state.hasPopupOpen = false;
26848
26865
  state.onControlFocusout(e);
26849
26866
  }
26850
26867
 
@@ -26916,6 +26933,10 @@
26916
26933
  ) {
26917
26934
  return hasDialog === true ? getDialog() : getMenu()
26918
26935
  }
26936
+ else if (state.hasPopupOpen === true) {
26937
+ // explicitly set it otherwise TAB will not blur component
26938
+ state.hasPopupOpen = false;
26939
+ }
26919
26940
  },
26920
26941
 
26921
26942
  controlEvents: {
@@ -38787,7 +38808,7 @@
38787
38808
  });
38788
38809
 
38789
38810
  var index_umd = {
38790
- version: '2.3.0',
38811
+ version: '2.3.1',
38791
38812
  install (app, opts) {
38792
38813
  installQuasar(app, {
38793
38814
  components,