quasar 2.13.0 → 2.14.0

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 (199) hide show
  1. package/dist/api/BottomSheet.json +7 -2
  2. package/dist/api/Dialog.json +7 -2
  3. package/dist/api/QBanner.json +7 -2
  4. package/dist/api/QBar.json +7 -2
  5. package/dist/api/QBtn.json +7 -2
  6. package/dist/api/QBtnDropdown.json +7 -2
  7. package/dist/api/QCard.json +7 -2
  8. package/dist/api/QCarousel.json +7 -2
  9. package/dist/api/QCheckbox.json +8 -3
  10. package/dist/api/QChip.json +13 -3
  11. package/dist/api/QColor.json +7 -2
  12. package/dist/api/QDate.json +7 -2
  13. package/dist/api/QDrawer.json +7 -2
  14. package/dist/api/QEditor.json +7 -2
  15. package/dist/api/QExpansionItem.json +7 -2
  16. package/dist/api/QFab.json +7 -2
  17. package/dist/api/QFabAction.json +7 -2
  18. package/dist/api/QField.json +28 -4
  19. package/dist/api/QFile.json +14 -4
  20. package/dist/api/QImg.json +3 -3
  21. package/dist/api/QInnerLoading.json +7 -2
  22. package/dist/api/QInput.json +16 -5
  23. package/dist/api/QIntersection.json +7 -2
  24. package/dist/api/QItem.json +12 -4
  25. package/dist/api/QLinearProgress.json +7 -2
  26. package/dist/api/QList.json +7 -2
  27. package/dist/api/QMarkupTable.json +7 -2
  28. package/dist/api/QMenu.json +21 -6
  29. package/dist/api/QOptionGroup.json +7 -2
  30. package/dist/api/QPagination.json +37 -11
  31. package/dist/api/QRadio.json +7 -2
  32. package/dist/api/QRange.json +7 -2
  33. package/dist/api/QScrollArea.json +14 -4
  34. package/dist/api/QSelect.json +23 -7
  35. package/dist/api/QSeparator.json +7 -2
  36. package/dist/api/QSkeleton.json +7 -2
  37. package/dist/api/QSlideItem.json +7 -2
  38. package/dist/api/QSlider.json +7 -2
  39. package/dist/api/QStepper.json +7 -2
  40. package/dist/api/QTabPanel.json +7 -2
  41. package/dist/api/QTable.json +70 -20
  42. package/dist/api/QTime.json +17 -6
  43. package/dist/api/QTimeline.json +7 -2
  44. package/dist/api/QToggle.json +8 -3
  45. package/dist/api/QTooltip.json +14 -4
  46. package/dist/api/QTree.json +7 -2
  47. package/dist/api/QUploader.json +7 -2
  48. package/dist/api/QVirtualScroll.json +2 -1
  49. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  50. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  51. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  52. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  53. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  54. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  55. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  56. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  57. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  58. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  59. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  60. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  61. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  62. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  63. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  64. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  65. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  66. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  67. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  68. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  69. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +2 -2
  70. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  71. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  72. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  73. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  74. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  75. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  76. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  77. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  78. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  79. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  80. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  81. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
  82. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  83. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  84. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  85. package/dist/icon-set/svg-mdi-v7.umd.prod.js +2 -2
  86. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  87. package/dist/icon-set/themify.umd.prod.js +1 -1
  88. package/dist/lang/ar-TN.umd.prod.js +1 -1
  89. package/dist/lang/ar.umd.prod.js +1 -1
  90. package/dist/lang/az-Latn.umd.prod.js +1 -1
  91. package/dist/lang/bg.umd.prod.js +1 -1
  92. package/dist/lang/bn.umd.prod.js +1 -1
  93. package/dist/lang/ca.umd.prod.js +1 -1
  94. package/dist/lang/cs.umd.prod.js +1 -1
  95. package/dist/lang/da.umd.prod.js +1 -1
  96. package/dist/lang/de-CH.umd.prod.js +1 -1
  97. package/dist/lang/de-DE.umd.prod.js +1 -1
  98. package/dist/lang/de.umd.prod.js +1 -1
  99. package/dist/lang/el.umd.prod.js +1 -1
  100. package/dist/lang/en-GB.umd.prod.js +1 -1
  101. package/dist/lang/en-US.umd.prod.js +1 -1
  102. package/dist/lang/eo.umd.prod.js +1 -1
  103. package/dist/lang/es.umd.prod.js +1 -1
  104. package/dist/lang/et.umd.prod.js +1 -1
  105. package/dist/lang/eu.umd.prod.js +1 -1
  106. package/dist/lang/fa-IR.umd.prod.js +1 -1
  107. package/dist/lang/fa.umd.prod.js +1 -1
  108. package/dist/lang/fi.umd.prod.js +1 -1
  109. package/dist/lang/fr.umd.prod.js +1 -1
  110. package/dist/lang/gn.umd.prod.js +1 -1
  111. package/dist/lang/he.umd.prod.js +1 -1
  112. package/dist/lang/hi.umd.prod.js +1 -1
  113. package/dist/lang/hr.umd.prod.js +1 -1
  114. package/dist/lang/hu.umd.prod.js +1 -1
  115. package/dist/lang/id.umd.prod.js +1 -1
  116. package/dist/lang/is.umd.prod.js +1 -1
  117. package/dist/lang/it.umd.prod.js +1 -1
  118. package/dist/lang/ja.umd.prod.js +1 -1
  119. package/dist/lang/kk.umd.prod.js +1 -1
  120. package/dist/lang/km.umd.prod.js +1 -1
  121. package/dist/lang/ko-KR.umd.prod.js +1 -1
  122. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  123. package/dist/lang/lt.umd.prod.js +1 -1
  124. package/dist/lang/lu.umd.prod.js +1 -1
  125. package/dist/lang/lv.umd.prod.js +1 -1
  126. package/dist/lang/mk.umd.prod.js +2 -2
  127. package/dist/lang/ml.umd.prod.js +1 -1
  128. package/dist/lang/mm.umd.prod.js +1 -1
  129. package/dist/lang/ms.umd.prod.js +1 -1
  130. package/dist/lang/my.umd.prod.js +1 -1
  131. package/dist/lang/nb-NO.umd.prod.js +1 -1
  132. package/dist/lang/nl.umd.prod.js +1 -1
  133. package/dist/lang/pl.umd.prod.js +1 -1
  134. package/dist/lang/pt-BR.umd.prod.js +1 -1
  135. package/dist/lang/pt.umd.prod.js +1 -1
  136. package/dist/lang/ro.umd.prod.js +1 -1
  137. package/dist/lang/ru.umd.prod.js +1 -1
  138. package/dist/lang/sk.umd.prod.js +1 -1
  139. package/dist/lang/sl.umd.prod.js +1 -1
  140. package/dist/lang/sm.umd.prod.js +1 -1
  141. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  142. package/dist/lang/sr.umd.prod.js +1 -1
  143. package/dist/lang/sv.umd.prod.js +1 -1
  144. package/dist/lang/ta.umd.prod.js +1 -1
  145. package/dist/lang/th.umd.prod.js +1 -1
  146. package/dist/lang/tr.umd.prod.js +1 -1
  147. package/dist/lang/ug.umd.prod.js +1 -1
  148. package/dist/lang/uk.umd.prod.js +1 -1
  149. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  150. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  151. package/dist/lang/vi.umd.prod.js +1 -1
  152. package/dist/lang/zh-CN.umd.prod.js +1 -1
  153. package/dist/lang/zh-TW.umd.prod.js +1 -1
  154. package/dist/quasar.addon.css +0 -940
  155. package/dist/quasar.addon.prod.css +1 -1
  156. package/dist/quasar.addon.rtl.prod.css +1 -1
  157. package/dist/quasar.cjs.prod.js +2 -2
  158. package/dist/quasar.css +3 -138
  159. package/dist/quasar.esm.js +43 -18
  160. package/dist/quasar.esm.prod.js +2 -2
  161. package/dist/quasar.prod.css +1 -1
  162. package/dist/quasar.rtl.css +3 -6
  163. package/dist/quasar.rtl.prod.css +1 -1
  164. package/dist/quasar.sass +17 -13
  165. package/dist/quasar.umd.js +43 -18
  166. package/dist/quasar.umd.prod.js +2 -2
  167. package/dist/types/api/qtree.d.ts +115 -21
  168. package/dist/types/index.d.ts +85 -80
  169. package/dist/vetur/quasar-attributes.json +69 -65
  170. package/dist/vetur/quasar-tags.json +2 -1
  171. package/dist/web-types/web-types.json +135 -181
  172. package/lang/mk.js +4 -4
  173. package/lang/mk.mjs +4 -4
  174. package/package.json +1 -1
  175. package/src/api.extends.json +2 -1
  176. package/src/components/btn/use-btn.json +2 -1
  177. package/src/components/checkbox/use-checkbox.json +1 -1
  178. package/src/components/chip/QChip.json +2 -1
  179. package/src/components/date/QDate.js +4 -4
  180. package/src/components/fab/use-fab.json +2 -1
  181. package/src/components/field/QField.js +14 -2
  182. package/src/components/field/QField.json +7 -0
  183. package/src/components/img/QImg.json +3 -3
  184. package/src/components/input/QInput.json +2 -1
  185. package/src/components/intersection/QIntersection.json +2 -1
  186. package/src/components/item/QItem.js +1 -1
  187. package/src/components/item/QItem.json +3 -3
  188. package/src/components/menu/QMenu.json +4 -0
  189. package/src/components/pagination/QPagination.json +9 -5
  190. package/src/components/scroll-area/QScrollArea.json +2 -1
  191. package/src/components/select/QSelect.json +2 -1
  192. package/src/components/time/QTime.json +4 -3
  193. package/src/components/tooltip/QTooltip.json +4 -0
  194. package/src/components/virtual-scroll/use-virtual-scroll.json +1 -1
  195. package/src/composables/private/use-field.js +21 -8
  196. package/src/composables/private/use-validate.json +2 -1
  197. package/src/css/core/flex.sass +5 -3
  198. package/src/css/flex-addon.sass +3 -1
  199. package/src/css/helpers/math.sass +7 -5
package/dist/quasar.sass CHANGED
@@ -1,8 +1,10 @@
1
- /*!
2
- * Quasar Framework v2.13.0
3
- * (c) 2015-present Razvan Stoenescu
4
- * Released under the MIT License.
5
- */
1
+ /*!
2
+ * Quasar Framework v2.14.0
3
+ * (c) 2015-present Razvan Stoenescu
4
+ * Released under the MIT License.
5
+ */
6
+ @use 'sass:math'
7
+
6
8
  @function str-replace($string, $search, $replace: '')
7
9
  $index: str-index($string, $search)
8
10
  @if $index
@@ -16,6 +18,7 @@
16
18
  @if $noProc
17
19
  @return str-fr($selector, $name, $i)
18
20
  @return join(str-fr($selector, '', $i), str-fr($selector, $name, $i), $separator: comma)
21
+
19
22
  $PI: 3.14159265359
20
23
  @function pow($number, $exp)
21
24
  $value: 1
@@ -33,22 +36,22 @@ $PI: 3.14159265359
33
36
  $value: $value * $i
34
37
  @return $value
35
38
  @function toFixed($number, $power)
36
- @return round($number * $power) / $power
39
+ @return math.div(round($number * $power), $power)
37
40
  @function sin($angle)
38
41
  $sin: 0
39
42
 
40
- $rad: $angle / 180 * $PI
43
+ $rad: math.div($angle, 180) * $PI
41
44
 
42
45
  @for $i from 0 through 25
43
- $sin: $sin + pow(-1, $i) * pow($rad, (2 * $i + 1)) / fact(2 * $i + 1)
46
+ $sin: $sin + math.div(pow(-1, $i) * pow($rad, (2 * $i + 1)), fact(2 * $i + 1))
44
47
  @return $sin
45
48
  @function cos($angle)
46
49
  $cos: 0
47
50
 
48
- $rad: $angle / 180 * $PI
51
+ $rad: math.div($angle, 180) * $PI
49
52
 
50
53
  @for $i from 0 through 25
51
- $cos: $cos + pow(-1, $i) * pow($rad, 2 * $i) / fact(2 * $i)
54
+ $cos: $cos + math.div(pow(-1, $i) * pow($rad, 2 * $i), fact(2 * $i))
52
55
  @return $cos
53
56
  $space-base : 16px !default
54
57
  $space-x-base : $space-base !default
@@ -6825,6 +6828,7 @@ body.body--dark
6825
6828
  z-index: $z-fullscreen
6826
6829
  .z-inherit
6827
6830
  z-index: inherit !important
6831
+
6828
6832
  @mixin fg($name, $size)
6829
6833
  $noProcNotZero: $size > 0
6830
6834
  @media (min-width: $size)
@@ -6853,13 +6857,13 @@ body.body--dark
6853
6857
  .row
6854
6858
  #{str-fe('> .col<name>-<i>', $name, $noProcNotZero, $ic)}
6855
6859
  height: auto
6856
- width: toFixed(percentage($i / $flex-cols), 10000)
6860
+ width: toFixed(percentage(math.div($i, $flex-cols)), 10000)
6857
6861
  @if $i != 0 or $name != ''
6858
6862
  #{str-fe('> .offset<name>-<i>', $name, $noProcNotZero, $ic)}
6859
- margin-left: toFixed(percentage($i / $flex-cols), 10000)
6863
+ margin-left: toFixed(percentage(math.div($i, $flex-cols)), 10000)
6860
6864
  .column
6861
6865
  #{str-fe('> .col<name>-<i>', $name, $noProcNotZero, $ic)}
6862
- height: toFixed(percentage($i / $flex-cols), 10000)
6866
+ height: toFixed(percentage(math.div($i, $flex-cols)), 10000)
6863
6867
  width: auto
6864
6868
  @if $size == 0 and $i == $flex-cols
6865
6869
  .row > .col-all
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.13.0
2
+ * Quasar Framework v2.14.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1653,7 +1653,7 @@
1653
1653
  }
1654
1654
 
1655
1655
  var installQuasar = function (parentApp, opts = {}) {
1656
- const $q = { version: '2.13.0' };
1656
+ const $q = { version: '2.14.0' };
1657
1657
 
1658
1658
  if (globalConfigIsFrozen === false) {
1659
1659
  if (opts.config !== void 0) {
@@ -14096,17 +14096,17 @@
14096
14096
 
14097
14097
  function updateViewModel (year, month, time) {
14098
14098
  if (minNav.value !== null && year <= minNav.value.year) {
14099
- year = minNav.value.year;
14100
- if (month < minNav.value.month) {
14099
+ if (month < minNav.value.month || year < minNav.value.year) {
14101
14100
  month = minNav.value.month;
14102
14101
  }
14102
+ year = minNav.value.year;
14103
14103
  }
14104
14104
 
14105
14105
  if (maxNav.value !== null && year >= maxNav.value.year) {
14106
- year = maxNav.value.year;
14107
- if (month > maxNav.value.month) {
14106
+ if (month > maxNav.value.month || year > maxNav.value.year) {
14108
14107
  month = maxNav.value.month;
14109
14108
  }
14109
+ year = maxNav.value.year;
14110
14110
  }
14111
14111
 
14112
14112
  if (time !== void 0) {
@@ -16743,7 +16743,7 @@
16743
16743
  }
16744
16744
 
16745
16745
  function onKeyup (e) {
16746
- if (isClickable.value === true && isKeyCode(e, 13) === true) {
16746
+ if (isClickable.value === true && isKeyCode(e, [ 13, 32 ]) === true) {
16747
16747
  stopAndPrevent(e);
16748
16748
 
16749
16749
  // for ripple
@@ -18920,8 +18920,10 @@
18920
18920
  }
18921
18921
  }
18922
18922
 
18923
- function getTargetUid (val) {
18924
- return val === void 0 ? `f_${ uid$3() }` : val
18923
+ function getTargetUid (val, requiredForAttr) {
18924
+ return val === void 0
18925
+ ? (requiredForAttr === true ? `f_${ uid$3() }` : void 0)
18926
+ : val
18925
18927
  }
18926
18928
 
18927
18929
  function fieldValueIsFilled (val) {
@@ -18980,12 +18982,17 @@
18980
18982
 
18981
18983
  const useFieldEmits = [ 'update:modelValue', 'clear', 'focus', 'blur', 'popupShow', 'popupHide' ];
18982
18984
 
18983
- function useFieldState () {
18985
+ function useFieldState ({ requiredForAttr = true, tagProp } = {}) {
18984
18986
  const { props, attrs, proxy, vnode } = vue.getCurrentInstance();
18985
18987
 
18986
18988
  const isDark = useDark(props, proxy.$q);
18987
18989
 
18988
18990
  return {
18991
+ requiredForAttr,
18992
+ tag: tagProp === true
18993
+ ? vue.computed(() => props.tag)
18994
+ : { value: 'label' },
18995
+
18989
18996
  isDark,
18990
18997
 
18991
18998
  editable: vue.computed(() =>
@@ -18997,7 +19004,9 @@
18997
19004
  hasPopupOpen: false,
18998
19005
 
18999
19006
  splitAttrs: useSplitAttrs(attrs, vnode),
19000
- targetUid: vue.ref(getTargetUid(props.for)),
19007
+ targetUid: vue.ref(
19008
+ getTargetUid(props.for, requiredForAttr)
19009
+ ),
19001
19010
 
19002
19011
  rootRef: vue.ref(null),
19003
19012
  targetRef: vue.ref(null),
@@ -19166,7 +19175,7 @@
19166
19175
  vue.watch(() => props.for, val => {
19167
19176
  // don't transform targetUid into a computed
19168
19177
  // prop as it will break SSR
19169
- state.targetUid.value = getTargetUid(val);
19178
+ state.targetUid.value = getTargetUid(val, state.requiredForAttr);
19170
19179
  });
19171
19180
 
19172
19181
  function focusHandler () {
@@ -19451,8 +19460,12 @@
19451
19460
  });
19452
19461
 
19453
19462
  vue.onMounted(() => {
19454
- if (isRuntimeSsrPreHydration.value === true && props.for === void 0) {
19455
- state.targetUid.value = getTargetUid();
19463
+ if (
19464
+ isRuntimeSsrPreHydration.value === true
19465
+ && state.requiredForAttr === true
19466
+ && props.for === void 0
19467
+ ) {
19468
+ state.targetUid.value = `f_${ uid$3() }`; // getTargetUid(void 0, true)
19456
19469
  }
19457
19470
 
19458
19471
  props.autofocus === true && proxy.focus();
@@ -19474,7 +19487,7 @@
19474
19487
  }
19475
19488
  : attributes.value;
19476
19489
 
19477
- return vue.h('label', {
19490
+ return vue.h(state.tag.value, {
19478
19491
  ref: state.rootRef,
19479
19492
  class: [
19480
19493
  classes.value,
@@ -19520,12 +19533,24 @@
19520
19533
 
19521
19534
  inheritAttrs: false,
19522
19535
 
19523
- props: useFieldProps,
19536
+ props: {
19537
+ ...useFieldProps,
19538
+
19539
+ tag: {
19540
+ type: String,
19541
+ default: 'label'
19542
+ }
19543
+ },
19524
19544
 
19525
19545
  emits: useFieldEmits,
19526
19546
 
19527
19547
  setup () {
19528
- return useField(useFieldState())
19548
+ return useField(
19549
+ useFieldState({
19550
+ requiredForAttr: false,
19551
+ tagProp: true
19552
+ })
19553
+ )
19529
19554
  }
19530
19555
  });
19531
19556
 
@@ -41000,7 +41025,7 @@
41000
41025
  */
41001
41026
 
41002
41027
  var index_umd = {
41003
- version: '2.13.0',
41028
+ version: '2.14.0',
41004
41029
  install (app, opts) {
41005
41030
  installQuasar(app, {
41006
41031
  components,