quasar 2.5.3 → 2.5.4

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 (153) hide show
  1. package/dist/api/QBtn.json +2 -2
  2. package/dist/api/QBtnDropdown.json +14 -14
  3. package/dist/api/QCarousel.json +1 -1
  4. package/dist/api/QCheckbox.json +1 -1
  5. package/dist/api/QChip.json +1 -1
  6. package/dist/api/QDialog.json +13 -13
  7. package/dist/api/QDrawer.json +16 -16
  8. package/dist/api/QExpansionItem.json +13 -13
  9. package/dist/api/QFab.json +13 -13
  10. package/dist/api/QFabAction.json +2 -2
  11. package/dist/api/QField.json +2 -2
  12. package/dist/api/QFile.json +1 -1
  13. package/dist/api/QForm.json +9 -3
  14. package/dist/api/QInput.json +2 -2
  15. package/dist/api/QKnob.json +18 -0
  16. package/dist/api/QMenu.json +13 -13
  17. package/dist/api/QPopupEdit.json +6 -6
  18. package/dist/api/QPopupProxy.json +13 -13
  19. package/dist/api/QRadio.json +1 -1
  20. package/dist/api/QRange.json +1 -1
  21. package/dist/api/QRouteTab.json +1 -1
  22. package/dist/api/QSelect.json +18 -4
  23. package/dist/api/QSlider.json +1 -1
  24. package/dist/api/QTable.json +6 -6
  25. package/dist/api/QToggle.json +1 -1
  26. package/dist/api/QTooltip.json +13 -13
  27. package/dist/api/QUploader.json +1 -1
  28. package/dist/api/TouchHold.json +1 -1
  29. package/dist/api/TouchPan.json +1 -1
  30. package/dist/api/TouchRepeat.json +1 -1
  31. package/dist/api/TouchSwipe.json +1 -1
  32. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  33. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  34. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  35. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  36. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  37. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  38. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  39. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  40. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  41. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  42. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  43. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  44. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  45. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  48. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  49. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  50. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  51. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  53. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  54. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  55. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  56. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  57. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  58. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  59. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  60. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  61. package/dist/icon-set/themify.umd.prod.js +1 -1
  62. package/dist/lang/ar.umd.prod.js +1 -1
  63. package/dist/lang/az-Latn.umd.prod.js +1 -1
  64. package/dist/lang/bg.umd.prod.js +1 -1
  65. package/dist/lang/bn.umd.prod.js +1 -1
  66. package/dist/lang/ca.umd.prod.js +1 -1
  67. package/dist/lang/cs.umd.prod.js +1 -1
  68. package/dist/lang/da.umd.prod.js +1 -1
  69. package/dist/lang/de.umd.prod.js +1 -1
  70. package/dist/lang/el.umd.prod.js +1 -1
  71. package/dist/lang/en-GB.umd.prod.js +1 -1
  72. package/dist/lang/en-US.umd.prod.js +1 -1
  73. package/dist/lang/eo.umd.prod.js +1 -1
  74. package/dist/lang/es.umd.prod.js +1 -1
  75. package/dist/lang/et.umd.prod.js +1 -1
  76. package/dist/lang/fa-IR.umd.prod.js +1 -1
  77. package/dist/lang/fa.umd.prod.js +1 -1
  78. package/dist/lang/fi.umd.prod.js +1 -1
  79. package/dist/lang/fr.umd.prod.js +1 -1
  80. package/dist/lang/gn.umd.prod.js +1 -1
  81. package/dist/lang/he.umd.prod.js +1 -1
  82. package/dist/lang/hr.umd.prod.js +1 -1
  83. package/dist/lang/hu.umd.prod.js +1 -1
  84. package/dist/lang/id.umd.prod.js +1 -1
  85. package/dist/lang/is.umd.prod.js +1 -1
  86. package/dist/lang/it.umd.prod.js +1 -1
  87. package/dist/lang/ja.umd.prod.js +1 -1
  88. package/dist/lang/km.umd.prod.js +1 -1
  89. package/dist/lang/ko-KR.umd.prod.js +1 -1
  90. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  91. package/dist/lang/lt.umd.prod.js +1 -1
  92. package/dist/lang/lu.umd.prod.js +1 -1
  93. package/dist/lang/lv.umd.prod.js +1 -1
  94. package/dist/lang/ml.umd.prod.js +1 -1
  95. package/dist/lang/ms.umd.prod.js +1 -1
  96. package/dist/lang/my.umd.prod.js +1 -1
  97. package/dist/lang/nb-NO.umd.prod.js +1 -1
  98. package/dist/lang/nl.umd.prod.js +1 -1
  99. package/dist/lang/pl.umd.prod.js +1 -1
  100. package/dist/lang/pt-BR.umd.prod.js +1 -1
  101. package/dist/lang/pt.umd.prod.js +1 -1
  102. package/dist/lang/ro.umd.prod.js +1 -1
  103. package/dist/lang/ru.umd.prod.js +1 -1
  104. package/dist/lang/sk.umd.prod.js +1 -1
  105. package/dist/lang/sl.umd.prod.js +1 -1
  106. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  107. package/dist/lang/sr.umd.prod.js +1 -1
  108. package/dist/lang/sv.umd.prod.js +1 -1
  109. package/dist/lang/ta.umd.prod.js +1 -1
  110. package/dist/lang/th.umd.prod.js +1 -1
  111. package/dist/lang/tr.umd.prod.js +1 -1
  112. package/dist/lang/ug.umd.prod.js +1 -1
  113. package/dist/lang/uk.umd.prod.js +1 -1
  114. package/dist/lang/vi.umd.prod.js +1 -1
  115. package/dist/lang/zh-CN.umd.prod.js +1 -1
  116. package/dist/lang/zh-TW.umd.prod.js +1 -1
  117. package/dist/quasar.cjs.prod.js +2 -2
  118. package/dist/quasar.esm.prod.js +2 -2
  119. package/dist/quasar.sass +1 -1
  120. package/dist/quasar.umd.js +62 -53
  121. package/dist/quasar.umd.prod.js +2 -2
  122. package/dist/ssr-directives/Morph.js +1 -1
  123. package/dist/types/index.d.ts +103 -89
  124. package/dist/vetur/quasar-attributes.json +8 -0
  125. package/dist/vetur/quasar-tags.json +2 -0
  126. package/dist/web-types/web-types.json +81 -55
  127. package/package.json +1 -1
  128. package/src/api-file-example.json +2 -2
  129. package/src/api.extends.json +21 -32
  130. package/src/components/btn/QBtn.json +3 -6
  131. package/src/components/carousel/QCarousel.json +2 -4
  132. package/src/components/checkbox/use-checkbox.json +2 -4
  133. package/src/components/chip/QChip.json +1 -3
  134. package/src/components/fab/QFabAction.json +1 -3
  135. package/src/components/field/QField.json +2 -6
  136. package/src/components/form/QForm.json +9 -7
  137. package/src/components/input/QInput.json +2 -6
  138. package/src/components/input/use-mask.js +2 -2
  139. package/src/components/knob/QKnob.js +46 -40
  140. package/src/components/knob/QKnob.json +16 -0
  141. package/src/components/radio/QRadio.json +2 -4
  142. package/src/components/select/QSelect.js +2 -1
  143. package/src/components/select/QSelect.json +17 -8
  144. package/src/components/slider/use-slider.json +1 -1
  145. package/src/components/table/QTable.json +5 -13
  146. package/src/components/tabs/QRouteTab.json +2 -3
  147. package/src/components/tabs/use-tab.js +11 -8
  148. package/src/composables/private/use-file.json +1 -3
  149. package/src/composables/private/use-router-link.js +1 -1
  150. package/src/directives/TouchHold.json +2 -3
  151. package/src/directives/TouchPan.json +2 -3
  152. package/src/directives/TouchRepeat.json +2 -3
  153. package/src/directives/TouchSwipe.json +2 -3
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.5.3
2
+ * Quasar Framework v2.5.4
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.5.3
2
+ * Quasar Framework v2.5.4
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1463,7 +1463,7 @@
1463
1463
  }
1464
1464
 
1465
1465
  var installQuasar = function (parentApp, opts = {}) {
1466
- const $q = { version: '2.5.3' };
1466
+ const $q = { version: '2.5.4' };
1467
1467
 
1468
1468
  if (globalConfigIsFrozen === false) {
1469
1469
  if (opts.config !== void 0) {
@@ -2704,7 +2704,7 @@
2704
2704
  prevent(e);
2705
2705
 
2706
2706
  return proxy.$router[ props.replace === true ? 'replace' : 'push' ](props.to)
2707
- .catch(() => {})
2707
+ .catch(err => err)
2708
2708
  }
2709
2709
 
2710
2710
  return {
@@ -9911,9 +9911,12 @@
9911
9911
  $tabs.avoidRouteWatcher = false;
9912
9912
  }
9913
9913
  else {
9914
- res.then(() => {
9914
+ res.then(err => {
9915
9915
  $tabs.avoidRouteWatcher = false;
9916
- $tabs.updateModel({ name: props.name, fromRoute: true });
9916
+
9917
+ if (err === void 0) {
9918
+ $tabs.updateModel({ name: props.name, fromRoute: true });
9919
+ }
9917
9920
  });
9918
9921
  }
9919
9922
  };
@@ -9970,12 +9973,12 @@
9970
9973
  props.alert !== false && content.push(
9971
9974
  props.alertIcon !== void 0
9972
9975
  ? vue.h(QIcon, {
9973
- class: 'q-tab__alert-icon',
9974
- color: props.alert !== true
9975
- ? props.alert
9976
- : void 0,
9977
- name: props.alertIcon
9978
- })
9976
+ class: 'q-tab__alert-icon',
9977
+ color: props.alert !== true
9978
+ ? props.alert
9979
+ : void 0,
9980
+ name: props.alertIcon
9981
+ })
9979
9982
  : vue.h('div', {
9980
9983
  class: 'q-tab__alert'
9981
9984
  + (props.alert !== true ? ` text-${ props.alert }` : '')
@@ -22907,7 +22910,7 @@
22907
22910
  ? unmaskValue(masked)
22908
22911
  : masked;
22909
22912
 
22910
- props.modelValue !== val && emitValue(val, true);
22913
+ String(props.modelValue) !== val && emitValue(val, true);
22911
22914
  }
22912
22915
 
22913
22916
  function moveCursorForPaste (inp, start, end) {
@@ -23802,6 +23805,9 @@
23802
23805
  required: true
23803
23806
  },
23804
23807
 
23808
+ innerMin: Number,
23809
+ innerMax: Number,
23810
+
23805
23811
  step: {
23806
23812
  type: Number,
23807
23813
  default: 1,
@@ -23826,27 +23832,33 @@
23826
23832
  const model = vue.ref(props.modelValue);
23827
23833
  const dragging = vue.ref(false);
23828
23834
 
23829
- let centerPosition, $el;
23835
+ const innerMin = vue.computed(() => (
23836
+ isNaN(props.innerMin) === true || props.innerMin < props.min
23837
+ ? props.min
23838
+ : props.innerMin
23839
+ ));
23840
+ const innerMax = vue.computed(() => (
23841
+ isNaN(props.innerMax) === true || props.innerMax > props.max
23842
+ ? props.max
23843
+ : props.innerMax
23844
+ ));
23830
23845
 
23831
- vue.watch(() => props.modelValue, val => {
23832
- if (val < props.min) {
23833
- model.value = props.min;
23834
- }
23835
- else if (val > props.max) {
23836
- model.value = props.max;
23837
- }
23838
- else {
23839
- if (val !== model.value) {
23840
- model.value = val;
23841
- }
23842
- return
23843
- }
23846
+ let centerPosition;
23844
23847
 
23845
- if (model.value !== props.modelValue) {
23846
- emit('update:modelValue', model.value);
23847
- emit('change', model.value);
23848
- }
23849
- });
23848
+ function normalizeModel () {
23849
+ model.value = props.modelValue === null
23850
+ ? innerMin.value
23851
+ : between(props.modelValue, innerMin.value, innerMax.value);
23852
+
23853
+ updateValue(true);
23854
+ }
23855
+
23856
+ vue.watch(
23857
+ () => `${ props.modelValue }|${ innerMin.value }|${ innerMax.value }`,
23858
+ normalizeModel
23859
+ );
23860
+
23861
+ normalizeModel();
23850
23862
 
23851
23863
  const editable = vue.computed(() => props.disable === false && props.readonly === false);
23852
23864
 
@@ -23914,7 +23926,7 @@
23914
23926
  });
23915
23927
 
23916
23928
  function updateCenterPosition () {
23917
- const { top, left, width, height } = $el.getBoundingClientRect();
23929
+ const { top, left, width, height } = proxy.$el.getBoundingClientRect();
23918
23930
  centerPosition = {
23919
23931
  top: top + height / 2,
23920
23932
  left: left + width / 2
@@ -23944,8 +23956,8 @@
23944
23956
 
23945
23957
  model.value = between(
23946
23958
  parseFloat((model.value + offset).toFixed(decimals.value)),
23947
- props.min,
23948
- props.max
23959
+ innerMin.value,
23960
+ innerMax.value
23949
23961
  );
23950
23962
 
23951
23963
  updateValue();
@@ -23988,7 +24000,7 @@
23988
24000
  newModel = parseFloat(newModel.toFixed(decimals.value));
23989
24001
  }
23990
24002
 
23991
- newModel = between(newModel, props.min, props.max);
24003
+ newModel = between(newModel, innerMin.value, innerMax.value);
23992
24004
 
23993
24005
  emit('drag-value', newModel);
23994
24006
 
@@ -24016,16 +24028,12 @@
24016
24028
  return vue.h('input', formAttrs.value)
24017
24029
  }
24018
24030
 
24019
- vue.onMounted(() => {
24020
- $el = proxy.$el;
24021
- });
24022
-
24023
24031
  return () => {
24024
24032
  const data = {
24025
24033
  class: classes.value,
24026
24034
  role: 'slider',
24027
- 'aria-valuemin': props.min,
24028
- 'aria-valuemax': props.max,
24035
+ 'aria-valuemin': innerMin.value,
24036
+ 'aria-valuemax': innerMax.value,
24029
24037
  'aria-valuenow': props.modelValue,
24030
24038
  ...attrs.value,
24031
24039
  ...circularProps.value,
@@ -24038,18 +24046,18 @@
24038
24046
  default: slots.default
24039
24047
  };
24040
24048
 
24041
- if (editable.value === true) {
24042
- if (props.name !== void 0) {
24043
- child.internal = getNameInput;
24044
- }
24045
-
24046
- return vue.withDirectives(
24047
- vue.h(QCircularProgress, data, child),
24048
- directives.value
24049
- )
24049
+ if (editable.value === true && props.name !== void 0) {
24050
+ child.internal = getNameInput;
24050
24051
  }
24051
24052
 
24052
- return vue.h(QCircularProgress, data, child)
24053
+ return hDir(
24054
+ QCircularProgress,
24055
+ data,
24056
+ child,
24057
+ 'knob',
24058
+ editable.value,
24059
+ () => directives.value
24060
+ )
24053
24061
  }
24054
24062
  }
24055
24063
  });
@@ -28451,7 +28459,7 @@
28451
28459
  itemProps[ 'aria-selected' ] = itemProps.active === true ? 'true' : 'false';
28452
28460
 
28453
28461
  if ($q.platform.is.desktop === true) {
28454
- itemProps.onMousemove = () => { setOptionIndex(index); };
28462
+ itemProps.onMousemove = () => { menu.value === true && setOptionIndex(index); };
28455
28463
  }
28456
28464
  }
28457
28465
 
@@ -29499,6 +29507,7 @@
29499
29507
  Object.assign(proxy, {
29500
29508
  showPopup, hidePopup,
29501
29509
  removeAtIndex, add, toggleOption,
29510
+ getOptionIndex: () => optionIndex.value,
29502
29511
  setOptionIndex, moveOptionSelection,
29503
29512
  filter, updateMenuPosition, updateInputValue,
29504
29513
  isOptionSelected,
@@ -39518,7 +39527,7 @@
39518
39527
  });
39519
39528
 
39520
39529
  var index_umd = {
39521
- version: '2.5.3',
39530
+ version: '2.5.4',
39522
39531
  install (app, opts) {
39523
39532
  installQuasar(app, {
39524
39533
  components,