quasar 2.14.0 → 2.14.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 (123) hide show
  1. package/dist/api/QTime.json +8 -1
  2. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  3. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  4. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  5. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  6. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  7. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  8. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  9. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  10. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  11. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  12. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  13. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  14. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  15. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  16. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  17. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  18. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  19. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  20. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  22. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  23. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  40. package/dist/icon-set/themify.umd.prod.js +1 -1
  41. package/dist/lang/ar-TN.umd.prod.js +1 -1
  42. package/dist/lang/ar.umd.prod.js +1 -1
  43. package/dist/lang/az-Latn.umd.prod.js +1 -1
  44. package/dist/lang/bg.umd.prod.js +1 -1
  45. package/dist/lang/bn.umd.prod.js +1 -1
  46. package/dist/lang/ca.umd.prod.js +1 -1
  47. package/dist/lang/cs.umd.prod.js +1 -1
  48. package/dist/lang/da.umd.prod.js +1 -1
  49. package/dist/lang/de-CH.umd.prod.js +1 -1
  50. package/dist/lang/de-DE.umd.prod.js +1 -1
  51. package/dist/lang/de.umd.prod.js +1 -1
  52. package/dist/lang/el.umd.prod.js +1 -1
  53. package/dist/lang/en-GB.umd.prod.js +1 -1
  54. package/dist/lang/en-US.umd.prod.js +1 -1
  55. package/dist/lang/eo.umd.prod.js +1 -1
  56. package/dist/lang/es.umd.prod.js +1 -1
  57. package/dist/lang/et.umd.prod.js +1 -1
  58. package/dist/lang/eu.umd.prod.js +1 -1
  59. package/dist/lang/fa-IR.umd.prod.js +1 -1
  60. package/dist/lang/fa.umd.prod.js +1 -1
  61. package/dist/lang/fi.umd.prod.js +1 -1
  62. package/dist/lang/fr.umd.prod.js +1 -1
  63. package/dist/lang/gn.umd.prod.js +1 -1
  64. package/dist/lang/he.umd.prod.js +1 -1
  65. package/dist/lang/hi.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/kk.umd.prod.js +1 -1
  73. package/dist/lang/km.umd.prod.js +1 -1
  74. package/dist/lang/ko-KR.umd.prod.js +1 -1
  75. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  76. package/dist/lang/lt.umd.prod.js +1 -1
  77. package/dist/lang/lu.umd.prod.js +1 -1
  78. package/dist/lang/lv.umd.prod.js +1 -1
  79. package/dist/lang/mk.umd.prod.js +1 -1
  80. package/dist/lang/ml.umd.prod.js +1 -1
  81. package/dist/lang/mm.umd.prod.js +1 -1
  82. package/dist/lang/ms.umd.prod.js +2 -2
  83. package/dist/lang/my.umd.prod.js +1 -1
  84. package/dist/lang/nb-NO.umd.prod.js +1 -1
  85. package/dist/lang/nl.umd.prod.js +1 -1
  86. package/dist/lang/pl.umd.prod.js +1 -1
  87. package/dist/lang/pt-BR.umd.prod.js +1 -1
  88. package/dist/lang/pt.umd.prod.js +1 -1
  89. package/dist/lang/ro.umd.prod.js +1 -1
  90. package/dist/lang/ru.umd.prod.js +1 -1
  91. package/dist/lang/sk.umd.prod.js +1 -1
  92. package/dist/lang/sl.umd.prod.js +1 -1
  93. package/dist/lang/sm.umd.prod.js +1 -1
  94. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  95. package/dist/lang/sr.umd.prod.js +1 -1
  96. package/dist/lang/sv.umd.prod.js +1 -1
  97. package/dist/lang/ta.umd.prod.js +1 -1
  98. package/dist/lang/th.umd.prod.js +1 -1
  99. package/dist/lang/tr.umd.prod.js +1 -1
  100. package/dist/lang/ug.umd.prod.js +1 -1
  101. package/dist/lang/uk.umd.prod.js +1 -1
  102. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  103. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  104. package/dist/lang/vi.umd.prod.js +1 -1
  105. package/dist/lang/zh-CN.umd.prod.js +1 -1
  106. package/dist/lang/zh-TW.umd.prod.js +1 -1
  107. package/dist/quasar.cjs.prod.js +2 -2
  108. package/dist/quasar.esm.js +33 -17
  109. package/dist/quasar.esm.prod.js +2 -2
  110. package/dist/quasar.sass +1 -1
  111. package/dist/quasar.umd.js +33 -17
  112. package/dist/quasar.umd.prod.js +2 -2
  113. package/dist/types/index.d.ts +6 -3
  114. package/dist/web-types/web-types.json +1 -1
  115. package/lang/ms.js +1 -1
  116. package/lang/ms.mjs +1 -1
  117. package/package.json +1 -1
  118. package/src/components/btn/QBtn.js +2 -2
  119. package/src/components/circular-progress/QCircularProgress.js +9 -4
  120. package/src/components/date/QDate.js +15 -3
  121. package/src/components/select/QSelect.js +3 -4
  122. package/src/components/slider/use-slider.js +1 -1
  123. package/src/components/time/QTime.json +4 -1
@@ -12810,10 +12810,13 @@ export interface QTimeProps {
12810
12810
  * @param hr Hour
12811
12811
  * @param min Minutes
12812
12812
  * @param sec Seconds
12813
+ * @returns Is the user allowed to set the specified time?
12813
12814
  */
12814
- options?:
12815
- | ((hr: number, min: number | null, sec: number | null) => void)
12816
- | undefined;
12815
+ options?: (
12816
+ hr: number,
12817
+ min: number | null,
12818
+ sec: number | null
12819
+ ) => boolean | null | undefined;
12817
12820
  /**
12818
12821
  * Optionally configure what hours is the user allowed to set; Overrides 'options' prop if that is also set
12819
12822
  */
@@ -2,7 +2,7 @@
2
2
  "$schema": "",
3
3
  "framework": "vue",
4
4
  "name": "quasar",
5
- "version": "2.14.0",
5
+ "version": "2.14.1",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
package/lang/ms.js CHANGED
@@ -25,7 +25,7 @@ module.exports = {
25
25
  },
26
26
  date: {
27
27
  days: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jummat_Sabtu'.split('_'),
28
- daysShort: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jummat_Sabtu'.split('_'),
28
+ daysShort: 'Aha_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
29
29
  months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_Oktober_November_Disember'.split('_'),
30
30
  monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogos_Sep_Okt_Nov_Dis'.split('_'),
31
31
  firstDayOfWeek: 1, // 0-6, 0 - Sunday, 1 Monday, ...
package/lang/ms.mjs CHANGED
@@ -20,7 +20,7 @@ export default {
20
20
  },
21
21
  date: {
22
22
  days: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jummat_Sabtu'.split('_'),
23
- daysShort: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jummat_Sabtu'.split('_'),
23
+ daysShort: 'Aha_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
24
24
  months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_Oktober_November_Disember'.split('_'),
25
25
  monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogos_Sep_Okt_Nov_Dis'.split('_'),
26
26
  firstDayOfWeek: 1, // 0-6, 0 - Sunday, 1 Monday, ...
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar",
3
- "version": "2.14.0",
3
+ "version": "2.14.1",
4
4
  "description": "Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time",
5
5
  "main": "dist/quasar.cjs.prod.js",
6
6
  "module": "dist/quasar.esm.prod.js",
@@ -297,7 +297,7 @@ export default createComponent({
297
297
  props.icon !== void 0 && inner.push(
298
298
  h(QIcon, {
299
299
  name: props.icon,
300
- left: props.stack === false && hasLabel.value === true,
300
+ left: props.stack !== true && hasLabel.value === true,
301
301
  role: 'img',
302
302
  'aria-hidden': 'true'
303
303
  })
@@ -313,7 +313,7 @@ export default createComponent({
313
313
  inner.push(
314
314
  h(QIcon, {
315
315
  name: props.iconRight,
316
- right: props.stack === false && hasLabel.value === true,
316
+ right: props.stack !== true && hasLabel.value === true,
317
317
  role: 'img',
318
318
  'aria-hidden': 'true'
319
319
  })
@@ -60,11 +60,16 @@ export default createComponent({
60
60
 
61
61
  const normalized = computed(() => between(props.value, props.min, props.max))
62
62
 
63
- const strokeDashOffset = computed(() => circumference * (
64
- 1 - (normalized.value - props.min) / (props.max - props.min)
65
- ))
66
-
63
+ const range = computed(() => props.max - props.min)
67
64
  const strokeWidth = computed(() => props.thickness / 2 * viewBox.value)
65
+ const strokeDashOffset = computed(() => {
66
+ const dashRatio = (props.max - normalized.value) / range.value
67
+ const dashGap = props.rounded === true && normalized.value < props.max && dashRatio < 0.25
68
+ ? strokeWidth.value / 2 * (1 - dashRatio / 0.25)
69
+ : 0
70
+
71
+ return circumference * dashRatio + dashGap
72
+ })
68
73
 
69
74
  function getCircle ({ thickness, offset, color, cls, rounded }) {
70
75
  return h('circle', {
@@ -728,10 +728,22 @@ export default createComponent({
728
728
  })
729
729
 
730
730
  function setToday () {
731
- const date = today.value
732
- const month = daysMap.value[ getMonthHash(date) ]
731
+ const { year, month, day } = today.value
733
732
 
734
- if (month === void 0 || month.includes(date.day) === false) {
733
+ const date = {
734
+ // contains more props than needed (hour, minute, second, millisecond)
735
+ // but those aren't used in the processing of this "date" variable
736
+ ...viewModel.value,
737
+
738
+ // overwriting with today's date
739
+ year,
740
+ month,
741
+ day
742
+ }
743
+
744
+ const monthMap = daysMap.value[ getMonthHash(date) ]
745
+
746
+ if (monthMap === void 0 || monthMap.includes(date.day) === false) {
735
747
  addToModel(date)
736
748
  }
737
749
 
@@ -319,11 +319,12 @@ export default createComponent({
319
319
 
320
320
  return props.options.slice(from, to).map((opt, i) => {
321
321
  const disable = isOptionDisabled.value(opt) === true
322
+ const active = isOptionSelected(opt) === true
322
323
  const index = from + i
323
324
 
324
325
  const itemProps = {
325
326
  clickable: true,
326
- active: false,
327
+ active,
327
328
  activeClass: computedOptionsSelectedClass.value,
328
329
  manualFocus: true,
329
330
  focused: false,
@@ -332,16 +333,14 @@ export default createComponent({
332
333
  dense: props.optionsDense,
333
334
  dark: isOptionsDark.value,
334
335
  role: 'option',
336
+ 'aria-selected': active === true ? 'true' : 'false',
335
337
  id: `${ state.targetUid.value }_${ index }`,
336
338
  onClick: () => { toggleOption(opt) }
337
339
  }
338
340
 
339
341
  if (disable !== true) {
340
- isOptionSelected(opt) === true && (itemProps.active = true)
341
342
  optionIndex.value === index && (itemProps.focused = true)
342
343
 
343
- itemProps[ 'aria-selected' ] = itemProps.active === true ? 'true' : 'false'
344
-
345
344
  if ($q.platform.is.desktop === true) {
346
345
  itemProps.onMousemove = () => { menu.value === true && setOptionIndex(index) }
347
346
  }
@@ -238,7 +238,7 @@ export default function ({ updateValue, updatePosition, getDragging, formAttrs }
238
238
  let model = min + ratio * (max - min)
239
239
 
240
240
  if (step > 0) {
241
- const modulo = (model - min) % step
241
+ const modulo = (model - innerMin.value) % step
242
242
  model += (Math.abs(modulo) >= step / 2 ? (modulo < 0 ? -1 : 1) * step : 0) - modulo
243
243
  }
244
244
 
@@ -55,7 +55,10 @@
55
55
  "desc": "Seconds"
56
56
  }
57
57
  },
58
- "returns": null,
58
+ "returns": {
59
+ "type": [ "Boolean", "null", "undefined" ],
60
+ "desc": "Is the user allowed to set the specified time?"
61
+ },
59
62
  "examples": [
60
63
  ":options=\"(hr, min, sec) => hr <= 6\""
61
64
  ],