quasar 2.3.4 → 2.4.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.
- package/dist/api/Loading.json +2 -6
- package/dist/api/QBreadcrumbsEl.json +31 -10
- package/dist/api/QBtn.json +30 -14
- package/dist/api/QBtnDropdown.json +30 -14
- package/dist/api/QBtnToggle.json +3 -0
- package/dist/api/QChatMessage.json +4 -12
- package/dist/api/QExpansionItem.json +31 -10
- package/dist/api/QFab.json +30 -0
- package/dist/api/QFabAction.json +8 -0
- package/dist/api/QField.json +1 -0
- package/dist/api/QFile.json +1 -0
- package/dist/api/QInput.json +1 -0
- package/dist/api/QItem.json +31 -10
- package/dist/api/QOptionGroup.json +74 -4
- package/dist/api/QRange.json +592 -107
- package/dist/api/QRouteTab.json +31 -11
- package/dist/api/QSelect.json +3 -6
- package/dist/api/QSlider.json +504 -39
- package/dist/api/QUploader.json +16 -2
- 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/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/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/svg-bootstrap-icons.umd.prod.js +1 -1
- 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-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-mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- 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.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.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/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/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/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/ml.umd.prod.js +1 -1
- package/dist/lang/ms.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/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/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.cjs.prod.js +2 -2
- package/dist/quasar.css +264 -183
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +331 -262
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +235 -178
- package/dist/quasar.umd.js +16537 -16226
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/transforms/loader-asset-urls.json +20 -0
- package/dist/types/api/slider.d.ts +46 -0
- package/dist/types/api/validation.d.ts +4 -0
- package/dist/types/api.d.ts +2 -0
- package/dist/types/composables.d.ts +3 -3
- package/dist/types/index.d.ts +594 -120
- package/dist/vetur/quasar-attributes.json +250 -82
- package/dist/vetur/quasar-tags.json +59 -17
- package/dist/web-types/web-types.json +578 -149
- package/package.json +1 -1
- package/src/api.extends.json +0 -1
- package/src/components/breadcrumbs/QBreadcrumbs.js +7 -2
- package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
- package/src/components/breadcrumbs/QBreadcrumbsEl.js +14 -8
- package/src/components/btn/QBtn.js +5 -5
- package/src/components/btn/use-btn.js +21 -21
- package/src/components/btn/use-btn.json +22 -13
- package/src/components/btn-toggle/QBtnToggle.json +3 -0
- package/src/components/checkbox/use-checkbox.js +1 -1
- package/src/components/color/QColor.js +32 -26
- package/src/components/color/QColor.sass +10 -23
- package/src/components/date/QDate.sass +2 -0
- package/src/components/drawer/QDrawer.js +18 -15
- package/src/components/editor/QEditor.js +1 -1
- package/src/components/editor/QEditor.sass +10 -1
- package/src/components/expansion-item/QExpansionItem.js +4 -1
- package/src/components/fab/QFab.js +18 -12
- package/src/components/fab/QFab.json +33 -0
- package/src/components/fab/QFab.sass +1 -1
- package/src/components/fab/QFabAction.js +14 -7
- package/src/components/fab/QFabAction.json +10 -0
- package/src/components/file/QFile.js +12 -5
- package/src/components/file/QFile.sass +4 -2
- package/src/components/footer/QFooter.js +1 -1
- package/src/components/header/QHeader.js +1 -1
- package/src/components/icon/QIcon.js +1 -1
- package/src/components/infinite-scroll/QInfiniteScroll.js +4 -5
- package/src/components/item/QItem.js +2 -3
- package/src/components/option-group/QOptionGroup.js +3 -0
- package/src/components/option-group/QOptionGroup.json +48 -2
- package/src/components/parallax/QParallax.js +4 -2
- package/src/components/popup-edit/QPopupEdit.js +2 -5
- package/src/components/radio/QRadio.js +2 -7
- package/src/components/range/QRange.js +103 -222
- package/src/components/range/QRange.json +11 -121
- package/src/components/scroll-area/QScrollArea.js +3 -1
- package/src/components/slider/QSlider.js +46 -132
- package/src/components/slider/QSlider.json +1 -121
- package/src/components/slider/QSlider.sass +198 -132
- package/src/components/slider/use-slider.js +453 -109
- package/src/components/slider/use-slider.json +546 -0
- package/src/components/stepper/QStepper.js +3 -3
- package/src/components/stepper/QStepper.sass +24 -26
- package/src/components/table/QTable.js +26 -46
- package/src/components/tabs/QRouteTab.js +1 -2
- package/src/components/tabs/QRouteTab.json +0 -7
- package/src/components/tabs/QTabs.js +71 -20
- package/src/components/tabs/use-tab.js +26 -13
- package/src/components/tree/QTree.js +14 -12
- package/src/components/uploader/QUploader.json +14 -2
- package/src/components/uploader/uploader-core.js +16 -9
- package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
- package/src/components/virtual-scroll/use-virtual-scroll.js +30 -17
- package/src/composables/private/use-field.js +5 -5
- package/src/composables/private/use-file.js +20 -5
- package/src/composables/private/use-form.js +2 -3
- package/src/composables/private/use-fullscreen.js +15 -4
- package/src/composables/private/use-router-link.js +44 -23
- package/src/composables/private/use-router-link.json +26 -10
- package/src/composables/private/use-split-attrs.js +4 -4
- package/src/composables/private/use-validate.js +21 -15
- package/src/composables/private/use-validate.json +1 -0
- package/src/css/core/helpers.sass +3 -0
- package/src/css/core/positioning.sass +5 -0
- package/src/directives/ScrollFire.js +1 -0
- package/src/icon-set.js +2 -4
- package/src/plugins/AppFullscreen.js +70 -53
- package/src/plugins/AppVisibility.js +2 -3
- package/src/plugins/BottomSheet.js +3 -5
- package/src/plugins/Dialog.js +3 -5
- package/src/plugins/LoadingBar.js +17 -18
- package/src/plugins/Notify.js +296 -295
- package/src/plugins/Platform.js +14 -14
- package/src/utils/date.js +4 -4
- package/src/utils/dom.js +2 -2
- package/src/utils/open-url.js +2 -2
- package/src/utils/patterns.js +1 -0
- package/src/utils/private/define-reactive-plugin.js +10 -8
- package/src/utils/private/global-dialog.js +6 -8
- package/src/utils/private/inject-obj-prop.js +13 -0
- package/src/utils/private/is.js +2 -2
package/src/plugins/Platform.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
/* eslint-disable no-mixed-operators */
|
|
4
4
|
|
|
5
5
|
import { ref, reactive } from 'vue'
|
|
6
|
+
import { injectProp } from '../utils/private/inject-obj-prop'
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* __ QUASAR_SSR __ -> runs on SSR on client or server
|
|
@@ -330,23 +331,22 @@ else {
|
|
|
330
331
|
// devland actually using it as this will get
|
|
331
332
|
// reported under "Cookies" in Google Chrome
|
|
332
333
|
let hasWebStorage
|
|
333
|
-
Object.defineProperty(client.has, 'webStorage', {
|
|
334
|
-
get: () => {
|
|
335
|
-
if (hasWebStorage !== void 0) {
|
|
336
|
-
return hasWebStorage
|
|
337
|
-
}
|
|
338
334
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
catch (e) {}
|
|
335
|
+
injectProp(client.has, 'webStorage', () => {
|
|
336
|
+
if (hasWebStorage !== void 0) {
|
|
337
|
+
return hasWebStorage
|
|
338
|
+
}
|
|
346
339
|
|
|
347
|
-
|
|
348
|
-
|
|
340
|
+
try {
|
|
341
|
+
if (window.localStorage) {
|
|
342
|
+
hasWebStorage = true
|
|
343
|
+
return true
|
|
344
|
+
}
|
|
349
345
|
}
|
|
346
|
+
catch (e) {}
|
|
347
|
+
|
|
348
|
+
hasWebStorage = false
|
|
349
|
+
return false
|
|
350
350
|
})
|
|
351
351
|
|
|
352
352
|
iosEmulated = client.is.ios === true
|
package/src/utils/date.js
CHANGED
|
@@ -206,12 +206,12 @@ function getChange (date, mod, sign) {
|
|
|
206
206
|
? applyYearMonthDayChange(d, mod, sign)
|
|
207
207
|
: d
|
|
208
208
|
|
|
209
|
-
|
|
209
|
+
for (const key in mod) {
|
|
210
210
|
if (key !== 'years' && key !== 'months' && key !== 'days') {
|
|
211
211
|
const op = capitalize(key)
|
|
212
212
|
t[ `set${ op }` ](t[ `get${ op }` ]() + sign * mod[ key ])
|
|
213
213
|
}
|
|
214
|
-
}
|
|
214
|
+
}
|
|
215
215
|
|
|
216
216
|
return t
|
|
217
217
|
}
|
|
@@ -241,12 +241,12 @@ export function adjustDate (date, mod, utc) {
|
|
|
241
241
|
? applyYearMonthDay(d, mod, middle)
|
|
242
242
|
: d
|
|
243
243
|
|
|
244
|
-
|
|
244
|
+
for (const key in mod) {
|
|
245
245
|
if (key !== 'year' && key !== 'month' && key !== 'date') {
|
|
246
246
|
const op = key.charAt(0).toUpperCase() + key.slice(1)
|
|
247
247
|
t[ `set${ middle }${ op }` ](mod[ key ])
|
|
248
248
|
}
|
|
249
|
-
}
|
|
249
|
+
}
|
|
250
250
|
|
|
251
251
|
return t
|
|
252
252
|
}
|
package/src/utils/dom.js
CHANGED
|
@@ -27,9 +27,9 @@ export function width (el) {
|
|
|
27
27
|
export function css (element, css) {
|
|
28
28
|
const style = element.style
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
for (const prop in css) {
|
|
31
31
|
style[ prop ] = css[ prop ]
|
|
32
|
-
}
|
|
32
|
+
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export function cssBatch (elements, style) {
|
package/src/utils/open-url.js
CHANGED
|
@@ -5,11 +5,11 @@ import { noop } from '../utils/event.js'
|
|
|
5
5
|
function parseFeatures (winFeatures) {
|
|
6
6
|
const cfg = Object.assign({ noopener: true }, winFeatures)
|
|
7
7
|
const feat = []
|
|
8
|
-
|
|
8
|
+
for (const key in cfg) {
|
|
9
9
|
if (cfg[ key ] === true) {
|
|
10
10
|
feat.push(key)
|
|
11
11
|
}
|
|
12
|
-
}
|
|
12
|
+
}
|
|
13
13
|
return feat.join(',')
|
|
14
14
|
}
|
|
15
15
|
|
package/src/utils/patterns.js
CHANGED
|
@@ -7,6 +7,7 @@ const
|
|
|
7
7
|
rgb = /^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,
|
|
8
8
|
rgba = /^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/
|
|
9
9
|
|
|
10
|
+
// Keep in sync with ui/types/api/validation.d.ts
|
|
10
11
|
export const testPattern = {
|
|
11
12
|
date: v => /^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(v),
|
|
12
13
|
time: v => /^([0-1]?\d|2[0-3]):[0-5]\d$/.test(v),
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
|
|
1
2
|
import { reactive } from 'vue'
|
|
3
|
+
import { injectProp } from './inject-obj-prop'
|
|
2
4
|
|
|
3
5
|
export default __QUASAR_SSR_SERVER__
|
|
4
6
|
? (state, plugin) => {
|
|
@@ -6,16 +8,16 @@ export default __QUASAR_SSR_SERVER__
|
|
|
6
8
|
return plugin
|
|
7
9
|
}
|
|
8
10
|
: (state, plugin) => {
|
|
9
|
-
const props = {}
|
|
10
11
|
const reactiveState = reactive(state)
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
for (const name in state) {
|
|
14
|
+
injectProp(
|
|
15
|
+
plugin,
|
|
16
|
+
name,
|
|
17
|
+
() => reactiveState[ name ],
|
|
18
|
+
val => { reactiveState[ name ] = val }
|
|
19
|
+
)
|
|
20
|
+
}
|
|
18
21
|
|
|
19
|
-
Object.defineProperties(plugin, props)
|
|
20
22
|
return plugin
|
|
21
23
|
}
|
|
@@ -133,14 +133,12 @@ export default function (DefaultComponent, supportsCustomComponent, parentApp) {
|
|
|
133
133
|
|
|
134
134
|
let app = createChildApp({
|
|
135
135
|
name: 'QGlobalDialog',
|
|
136
|
-
setup () {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
})
|
|
143
|
-
}
|
|
136
|
+
setup: () => () => h(DialogComponent, {
|
|
137
|
+
...props,
|
|
138
|
+
ref: dialogRef,
|
|
139
|
+
onOk,
|
|
140
|
+
onHide
|
|
141
|
+
})
|
|
144
142
|
}, parentApp)
|
|
145
143
|
|
|
146
144
|
vm = app.mount(el)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function injectProp (target, propName, get, set) {
|
|
2
|
+
Object.defineProperty(target, propName, {
|
|
3
|
+
get,
|
|
4
|
+
set,
|
|
5
|
+
enumerable: true
|
|
6
|
+
})
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export function injectMultipleProps (target, props) {
|
|
10
|
+
for (const key in props) {
|
|
11
|
+
injectProp(target, key, props[ key ])
|
|
12
|
+
}
|
|
13
|
+
}
|
package/src/utils/private/is.js
CHANGED
|
@@ -99,10 +99,10 @@ export function isDeepEqual (a, b) {
|
|
|
99
99
|
return a.toString() === b.toString()
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
const keys = Object.keys(a)
|
|
102
|
+
const keys = Object.keys(a).filter(key => a[ key ] !== void 0)
|
|
103
103
|
length = keys.length
|
|
104
104
|
|
|
105
|
-
if (length !== Object.keys(b).length) {
|
|
105
|
+
if (length !== Object.keys(b).filter(key => b[ key ] !== void 0).length) {
|
|
106
106
|
return false
|
|
107
107
|
}
|
|
108
108
|
|