quasar 2.13.1 → 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.
- package/dist/api/QImg.json +3 -3
- package/dist/api/QTime.json +8 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +2 -2
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v7.umd.prod.js +2 -2
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar-TN.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de-CH.umd.prod.js +1 -1
- package/dist/lang/de-DE.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/eu.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hi.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/kk.umd.prod.js +1 -1
- package/dist/lang/km.umd.prod.js +1 -1
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/mk.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/mm.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +2 -2
- package/dist/lang/my.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sm.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.addon.css +0 -940
- package/dist/quasar.addon.prod.css +1 -1
- package/dist/quasar.addon.rtl.prod.css +1 -1
- package/dist/quasar.cjs.prod.js +2 -2
- package/dist/quasar.css +3 -138
- package/dist/quasar.esm.js +33 -17
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +3 -6
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +17 -13
- package/dist/quasar.umd.js +33 -17
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/types/index.d.ts +8 -5
- package/dist/web-types/web-types.json +4 -4
- package/lang/ms.js +1 -1
- package/lang/ms.mjs +1 -1
- package/package.json +1 -1
- package/src/components/btn/QBtn.js +2 -2
- package/src/components/circular-progress/QCircularProgress.js +9 -4
- package/src/components/date/QDate.js +15 -3
- package/src/components/img/QImg.json +3 -3
- package/src/components/select/QSelect.js +3 -4
- package/src/components/slider/use-slider.js +1 -1
- package/src/components/time/QTime.json +4 -1
- package/src/css/core/flex.sass +5 -3
- package/src/css/flex-addon.sass +3 -1
- package/src/css/helpers/math.sass +7 -5
package/dist/types/index.d.ts
CHANGED
|
@@ -5914,9 +5914,9 @@ export interface QImgProps {
|
|
|
5914
5914
|
onLoad?: (src: string) => void;
|
|
5915
5915
|
/**
|
|
5916
5916
|
* Emitted when browser could not load the image
|
|
5917
|
-
* @param
|
|
5917
|
+
* @param evt JS Event object (same as the browser's native 'error' event)
|
|
5918
5918
|
*/
|
|
5919
|
-
onError?: (
|
|
5919
|
+
onError?: (evt: Event) => void;
|
|
5920
5920
|
}
|
|
5921
5921
|
|
|
5922
5922
|
export interface QImgSlots {
|
|
@@ -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
|
-
|
|
12816
|
-
|
|
|
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.
|
|
5
|
+
"version": "2.14.1",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"types-syntax": "typescript",
|
|
@@ -7610,9 +7610,9 @@
|
|
|
7610
7610
|
"name": "error",
|
|
7611
7611
|
"arguments": [
|
|
7612
7612
|
{
|
|
7613
|
-
"name": "
|
|
7614
|
-
"type": "
|
|
7615
|
-
"description": "JS
|
|
7613
|
+
"name": "evt",
|
|
7614
|
+
"type": "Event",
|
|
7615
|
+
"description": "JS Event object (same as the browser's native 'error' event)",
|
|
7616
7616
|
"doc-url": "https://v2.quasar.dev/vue-components/img"
|
|
7617
7617
|
}
|
|
7618
7618
|
],
|
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: '
|
|
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: '
|
|
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
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
732
|
-
const month = daysMap.value[ getMonthHash(date) ]
|
|
731
|
+
const { year, month, day } = today.value
|
|
733
732
|
|
|
734
|
-
|
|
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
|
|
|
@@ -246,9 +246,9 @@
|
|
|
246
246
|
"error": {
|
|
247
247
|
"desc": "Emitted when browser could not load the image",
|
|
248
248
|
"params": {
|
|
249
|
-
"
|
|
250
|
-
"type": "
|
|
251
|
-
"desc": "JS
|
|
249
|
+
"evt": {
|
|
250
|
+
"type": "Event",
|
|
251
|
+
"desc": "JS Event object (same as the browser's native 'error' event)"
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
254
|
}
|
|
@@ -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
|
|
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 -
|
|
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
|
|
package/src/css/core/flex.sass
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'sass:math'
|
|
2
|
+
|
|
1
3
|
@import '../helpers/string.sass'
|
|
2
4
|
|
|
3
5
|
@mixin fg($name, $size)
|
|
@@ -30,13 +32,13 @@
|
|
|
30
32
|
.row
|
|
31
33
|
#{str-fe('> .col<name>-<i>', $name, $noProcNotZero, $ic)}
|
|
32
34
|
height: auto
|
|
33
|
-
width: toFixed(percentage($i
|
|
35
|
+
width: toFixed(percentage(math.div($i, $flex-cols)), 10000)
|
|
34
36
|
@if $i != 0 or $name != ''
|
|
35
37
|
#{str-fe('> .offset<name>-<i>', $name, $noProcNotZero, $ic)}
|
|
36
|
-
margin-left: toFixed(percentage($i
|
|
38
|
+
margin-left: toFixed(percentage(math.div($i, $flex-cols)), 10000)
|
|
37
39
|
.column
|
|
38
40
|
#{str-fe('> .col<name>-<i>', $name, $noProcNotZero, $ic)}
|
|
39
|
-
height: toFixed(percentage($i
|
|
41
|
+
height: toFixed(percentage(math.div($i, $flex-cols)), 10000)
|
|
40
42
|
width: auto
|
|
41
43
|
@if $size == 0 and $i == $flex-cols
|
|
42
44
|
.row > .col-all
|
package/src/css/flex-addon.sass
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'sass:math'
|
|
2
|
+
|
|
1
3
|
@import './helpers/string.sass'
|
|
2
4
|
@import './helpers/math.sass'
|
|
3
5
|
|
|
@@ -194,7 +196,7 @@
|
|
|
194
196
|
|
|
195
197
|
@for $i from 0 through $flex-cols
|
|
196
198
|
$ic: quote('' + $i)
|
|
197
|
-
$internal-size: toFixed(percentage($i
|
|
199
|
+
$internal-size: toFixed(percentage(math.div($i, $flex-cols)), 10000)
|
|
198
200
|
|
|
199
201
|
#{str-fr('.row<name>', $name)}
|
|
200
202
|
#{str-fe('> .col<name>-<i>', $name2c, $noProcNotZero2, $ic)}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use 'sass:math'
|
|
2
|
+
|
|
1
3
|
$PI: 3.14159265359
|
|
2
4
|
|
|
3
5
|
@function pow($number, $exp)
|
|
@@ -21,22 +23,22 @@ $PI: 3.14159265359
|
|
|
21
23
|
// toFixed(0.12345, 100) -> 0.12
|
|
22
24
|
// toFixed(0.12345, 1000) -> 0.123
|
|
23
25
|
@function toFixed($number, $power)
|
|
24
|
-
@return round($number * $power)
|
|
26
|
+
@return math.div(round($number * $power), $power)
|
|
25
27
|
|
|
26
28
|
@function sin($angle)
|
|
27
29
|
$sin: 0
|
|
28
30
|
// angle -> radians
|
|
29
|
-
$rad: $angle
|
|
31
|
+
$rad: math.div($angle, 180) * $PI
|
|
30
32
|
// interval determines precision
|
|
31
33
|
@for $i from 0 through 25
|
|
32
|
-
$sin: $sin + pow(-1, $i) * pow($rad, (2 * $i + 1))
|
|
34
|
+
$sin: $sin + math.div(pow(-1, $i) * pow($rad, (2 * $i + 1)), fact(2 * $i + 1))
|
|
33
35
|
@return $sin
|
|
34
36
|
|
|
35
37
|
@function cos($angle)
|
|
36
38
|
$cos: 0
|
|
37
39
|
// angle -> radians
|
|
38
|
-
$rad: $angle
|
|
40
|
+
$rad: math.div($angle, 180) * $PI
|
|
39
41
|
// interval determines precision
|
|
40
42
|
@for $i from 0 through 25
|
|
41
|
-
$cos: $cos + pow(-1, $i) * pow($rad, 2 * $i)
|
|
43
|
+
$cos: $cos + math.div(pow(-1, $i) * pow($rad, 2 * $i), fact(2 * $i))
|
|
42
44
|
@return $cos
|