quasar 1.16.2 → 1.17.2
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/BottomSheet.json +2 -2
- package/dist/api/Loading.json +0 -2
- package/dist/api/LoadingBar.json +1 -1
- package/dist/api/Notify.json +25 -25
- package/dist/api/QAjaxBar.json +23 -4
- package/dist/api/QAvatar.json +1 -1
- package/dist/api/QBreadcrumbsEl.json +32 -11
- package/dist/api/QBtn.json +35 -14
- package/dist/api/QBtnDropdown.json +36 -15
- package/dist/api/QBtnToggle.json +1 -1
- package/dist/api/QCarousel.json +7 -7
- package/dist/api/QCarouselSlide.json +2 -2
- package/dist/api/QChatMessage.json +1 -5
- package/dist/api/QChip.json +4 -4
- package/dist/api/QColor.json +6 -0
- package/dist/api/QDialog.json +7 -1
- package/dist/api/QExpansionItem.json +34 -13
- package/dist/api/QFab.json +34 -2
- package/dist/api/QFabAction.json +9 -1
- package/dist/api/QField.json +80 -6
- package/dist/api/QFile.json +80 -6
- package/dist/api/QImg.json +2 -2
- package/dist/api/QInnerLoading.json +32 -0
- package/dist/api/QInput.json +82 -6
- package/dist/api/QItem.json +31 -10
- package/dist/api/QOptionGroup.json +58 -1
- package/dist/api/QPagination.json +4 -4
- package/dist/api/QParallax.json +1 -1
- package/dist/api/QPopupEdit.json +14 -7
- package/dist/api/QPullToRefresh.json +1 -1
- package/dist/api/QRange.json +581 -96
- package/dist/api/QRating.json +3 -3
- package/dist/api/QRouteTab.json +32 -12
- package/dist/api/QScrollArea.json +188 -20
- package/dist/api/QSelect.json +82 -10
- package/dist/api/QSeparator.json +1 -1
- package/dist/api/QSlider.json +499 -34
- package/dist/api/QStep.json +4 -4
- package/dist/api/QStepper.json +4 -4
- package/dist/api/QTab.json +1 -1
- package/dist/api/QTable.json +4 -4
- package/dist/api/QTabs.json +9 -0
- package/dist/api/QTimelineEntry.json +2 -2
- package/dist/api/QToggle.json +1 -1
- package/dist/api/QTree.json +7 -1
- package/dist/api/QVideo.json +10 -0
- package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
- package/dist/icon-set/eva-icons.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
- package/dist/icon-set/line-awesome.umd.min.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
- package/dist/icon-set/material-icons-round.umd.min.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
- package/dist/icon-set/material-icons.umd.min.js +1 -1
- package/dist/icon-set/mdi-v3.umd.min.js +1 -1
- package/dist/icon-set/mdi-v4.umd.min.js +1 -1
- package/dist/icon-set/mdi-v5.umd.min.js +1 -1
- package/dist/icon-set/mdi-v6.umd.min.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.min.js +6 -0
- package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
- package/dist/icon-set/svg-themify.umd.min.js +1 -1
- package/dist/icon-set/themify.umd.min.js +1 -1
- package/dist/lang/ar.umd.min.js +2 -2
- package/dist/lang/az-latn.umd.min.js +1 -1
- package/dist/lang/bg.umd.min.js +1 -1
- package/dist/lang/ca.umd.min.js +1 -1
- package/dist/lang/cs.umd.min.js +1 -1
- package/dist/lang/da.umd.min.js +1 -1
- package/dist/lang/de.umd.min.js +1 -1
- package/dist/lang/el.umd.min.js +1 -1
- package/dist/lang/en-gb.umd.min.js +1 -1
- package/dist/lang/en-us.umd.min.js +1 -1
- package/dist/lang/eo.umd.min.js +1 -1
- package/dist/lang/es.umd.min.js +1 -1
- package/dist/lang/et.umd.min.js +1 -1
- package/dist/lang/fa-ir.umd.min.js +1 -1
- package/dist/lang/fa.umd.min.js +1 -1
- package/dist/lang/fi.umd.min.js +1 -1
- package/dist/lang/fr.umd.min.js +2 -2
- package/dist/lang/gn.umd.min.js +1 -1
- package/dist/lang/he.umd.min.js +1 -1
- package/dist/lang/hr.umd.min.js +1 -1
- package/dist/lang/hu.umd.min.js +1 -1
- package/dist/lang/id.umd.min.js +1 -1
- package/dist/lang/is.umd.min.js +1 -1
- package/dist/lang/it.umd.min.js +1 -1
- package/dist/lang/ja.umd.min.js +1 -1
- package/dist/lang/km.umd.min.js +1 -1
- package/dist/lang/ko-kr.umd.min.js +1 -1
- package/dist/lang/kur-ckb.umd.min.js +1 -1
- package/dist/lang/lu.umd.min.js +1 -1
- package/dist/lang/lv.umd.min.js +1 -1
- package/dist/lang/ml.umd.min.js +1 -1
- package/dist/lang/ms.umd.min.js +1 -1
- package/dist/lang/nb-no.umd.min.js +1 -1
- package/dist/lang/nl.umd.min.js +1 -1
- package/dist/lang/pl.umd.min.js +1 -1
- package/dist/lang/pt-br.umd.min.js +1 -1
- package/dist/lang/pt.umd.min.js +1 -1
- package/dist/lang/ro.umd.min.js +1 -1
- package/dist/lang/ru.umd.min.js +1 -1
- package/dist/lang/sk.umd.min.js +1 -1
- package/dist/lang/sl.umd.min.js +1 -1
- package/dist/lang/sr.umd.min.js +2 -2
- package/dist/lang/sv.umd.min.js +1 -1
- package/dist/lang/ta.umd.min.js +1 -1
- package/dist/lang/th.umd.min.js +1 -1
- package/dist/lang/tr.umd.min.js +1 -1
- package/dist/lang/ug.umd.min.js +2 -2
- package/dist/lang/uk.umd.min.js +1 -1
- package/dist/lang/vi.umd.min.js +1 -1
- package/dist/lang/zh-hans.umd.min.js +2 -2
- package/dist/lang/zh-hant.umd.min.js +2 -2
- package/dist/quasar.addon.css +1 -1
- package/dist/quasar.addon.rtl.css +1 -1
- package/dist/quasar.common.js +2 -2
- package/dist/quasar.css +378 -226
- package/dist/quasar.esm.js +2 -2
- package/dist/quasar.ie.polyfills.js +1 -1
- package/dist/quasar.ie.polyfills.umd.min.js +1 -1
- package/dist/quasar.min.css +1 -1
- package/dist/quasar.rtl.css +510 -302
- package/dist/quasar.rtl.min.css +1 -1
- package/dist/quasar.sass +326 -211
- package/dist/quasar.styl +326 -209
- package/dist/quasar.umd.js +3240 -1889
- package/dist/quasar.umd.min.js +2 -2
- package/dist/quasar.umd.modern.js +3199 -1870
- package/dist/quasar.umd.modern.min.js +2 -2
- package/dist/transform-asset-urls.json +20 -0
- package/dist/types/index.d.ts +427 -105
- package/dist/types/utils/scroll.d.ts +1 -0
- package/dist/vetur/quasar-attributes.json +320 -92
- package/dist/vetur/quasar-tags.json +76 -19
- package/dist/web-types/web-types.json +1296 -257
- package/icon-set/svg-ionicons-v6.js +225 -0
- package/lang/ar.js +1 -1
- package/lang/fa-ir.js +3 -1
- package/lang/fa.js +3 -1
- package/lang/fr.js +1 -1
- package/lang/index.json +1 -1
- package/lang/kur-ckb.js +2 -2
- package/lang/sr.js +4 -4
- package/lang/ug.js +48 -46
- package/lang/zh-hans.js +1 -1
- package/lang/zh-hant.js +18 -18
- package/package.json +1 -1
- package/src/api.extends.json +1 -2
- package/src/components/ajax-bar/QAjaxBar.js +48 -26
- package/src/components/ajax-bar/QAjaxBar.json +22 -4
- package/src/components/breadcrumbs/QBreadcrumbs.js +15 -11
- package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
- package/src/components/breadcrumbs/QBreadcrumbs.styl +0 -3
- package/src/components/breadcrumbs/QBreadcrumbsEl.js +25 -9
- package/src/components/btn/QBtn.js +3 -3
- package/src/components/btn-dropdown/QBtnDropdown.sass +2 -0
- package/src/components/btn-dropdown/QBtnDropdown.styl +2 -0
- package/src/components/btn-toggle/QBtnToggle.js +4 -1
- package/src/components/carousel/QCarousel.js +6 -2
- package/src/components/carousel/QCarousel.json +9 -1
- package/src/components/carousel/QCarouselSlide.json +2 -2
- package/src/components/chat/QChatMessage.json +1 -1
- package/src/components/color/QColor.js +100 -85
- package/src/components/color/QColor.json +7 -0
- package/src/components/color/QColor.sass +14 -24
- package/src/components/color/QColor.styl +14 -24
- package/src/components/date/QDate.js +7 -1
- package/src/components/date/QDate.sass +2 -0
- package/src/components/date/QDate.styl +2 -0
- package/src/components/dialog/QDialog.js +8 -4
- package/src/components/dialog/QDialog.json +8 -1
- package/src/components/drawer/QDrawer.js +16 -15
- package/src/components/editor/QEditor.js +2 -2
- package/src/components/editor/QEditor.sass +13 -1
- package/src/components/editor/QEditor.styl +13 -1
- package/src/components/expansion-item/QExpansionItem.js +13 -11
- package/src/components/fab/QFab.js +20 -11
- package/src/components/fab/QFab.json +35 -0
- package/src/components/fab/QFabAction.js +16 -9
- package/src/components/fab/QFabAction.json +10 -0
- package/src/components/field/QField.js +28 -23
- package/src/components/field/__QField.json +72 -8
- package/src/components/file/QFile.js +12 -4
- package/src/components/file/QFile.sass +4 -3
- package/src/components/file/QFile.styl +4 -3
- package/src/components/footer/QFooter.js +1 -1
- package/src/components/form/QForm.js +1 -1
- package/src/components/header/QHeader.js +1 -1
- package/src/components/icon/QIcon.js +92 -75
- package/src/components/icon/QIcon.sass +0 -1
- package/src/components/icon/QIcon.styl +0 -1
- package/src/components/img/QImg.json +2 -2
- package/src/components/infinite-scroll/QInfiniteScroll.js +49 -36
- package/src/components/inner-loading/QInnerLoading.js +54 -22
- package/src/components/inner-loading/QInnerLoading.json +29 -0
- package/src/components/inner-loading/QInnerLoading.sass +3 -0
- package/src/components/inner-loading/QInnerLoading.styl +3 -0
- package/src/components/item/QItem.js +9 -15
- package/src/components/layout/QLayout.js +49 -0
- package/src/components/linear-progress/QLinearProgress.js +6 -2
- package/src/components/menu/QMenu.js +5 -1
- package/src/components/option-group/QOptionGroup.js +32 -22
- package/src/components/option-group/QOptionGroup.json +50 -1
- package/src/components/parallax/QParallax.js +3 -0
- package/src/components/parallax/QParallax.json +1 -1
- package/src/components/popup-edit/QPopupEdit.js +41 -16
- package/src/components/popup-edit/QPopupEdit.json +15 -8
- package/src/components/range/QRange.js +223 -278
- package/src/components/range/QRange.json +11 -122
- package/src/components/rating/QRating.js +56 -38
- package/src/components/rating/QRating.json +3 -3
- package/src/components/rating/QRating.sass +8 -6
- package/src/components/rating/QRating.styl +8 -6
- package/src/components/resize-observer/QResizeObserver.js +15 -10
- package/src/components/scroll-area/QScrollArea.js +342 -126
- package/src/components/scroll-area/QScrollArea.json +164 -20
- package/src/components/scroll-area/QScrollArea.sass +5 -0
- package/src/components/scroll-area/QScrollArea.styl +5 -0
- package/src/components/scroll-observer/QScrollObserver.js +9 -2
- package/src/components/select/QSelect.js +8 -2
- package/src/components/select/QSelect.json +1 -1
- package/src/components/separator/QSeparator.js +0 -1
- package/src/components/separator/QSeparator.json +1 -1
- package/src/components/slider/QSlider.js +97 -140
- package/src/components/slider/QSlider.json +1 -122
- package/src/components/slider/QSlider.sass +205 -139
- package/src/components/slider/QSlider.styl +205 -139
- package/src/components/slider/slider-utils.js +468 -123
- package/src/components/slider/slider-utils.json +546 -0
- package/src/components/stepper/QStepper.js +1 -1
- package/src/components/stepper/QStepper.sass +25 -26
- package/src/components/stepper/QStepper.styl +25 -26
- package/src/components/table/QTable.sass +3 -0
- package/src/components/table/QTable.styl +3 -0
- package/src/components/tabs/QRouteTab.js +13 -13
- package/src/components/tabs/QRouteTab.json +0 -7
- package/src/components/tabs/QTab.js +71 -20
- package/src/components/tabs/QTabs.js +237 -52
- package/src/components/tabs/QTabs.json +8 -0
- package/src/components/tabs/QTabs.sass +6 -6
- package/src/components/tabs/QTabs.styl +6 -6
- package/src/components/time/QTime.js +6 -2
- package/src/components/timeline/QTimeline.sass +1 -2
- package/src/components/timeline/QTimeline.styl +1 -2
- package/src/components/timeline/QTimelineEntry.json +1 -1
- package/src/components/tree/QTree.js +10 -6
- package/src/components/tree/QTree.json +5 -0
- package/src/components/tree/QTree.sass +58 -4
- package/src/components/tree/QTree.styl +58 -4
- package/src/components/uploader/QUploaderBase.js +15 -19
- package/src/components/video/QVideo.js +4 -1
- package/src/components/video/QVideo.json +11 -0
- package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
- package/src/components/virtual-scroll/QVirtualScroll.styl +1 -0
- package/src/css/core/helpers.sass +3 -0
- package/src/css/core/helpers.styl +3 -0
- package/src/css/core/positioning.sass +5 -0
- package/src/css/core/positioning.styl +5 -0
- package/src/css/normalize.sass +0 -7
- package/src/css/variables.sass +4 -6
- package/src/css/variables.styl +4 -6
- package/src/directives/Scroll.js +2 -2
- package/src/directives/ScrollFire.js +1 -0
- package/src/ie-compat/ie.js +13 -13
- package/src/install.js +1 -1
- package/src/lang.js +7 -4
- package/src/mixins/anchor.js +3 -13
- package/src/mixins/btn.js +33 -38
- package/src/mixins/btn.json +26 -11
- package/src/mixins/file.js +27 -5
- package/src/mixins/fullscreen.js +16 -4
- package/src/mixins/portal.js +10 -10
- package/src/mixins/router-link.js +88 -14
- package/src/mixins/router-link.json +26 -10
- package/src/mixins/validate.js +33 -15
- package/src/mixins/virtual-scroll.js +40 -42
- package/src/plugins/AppFullscreen.js +41 -16
- package/src/plugins/BottomSheet.json +1 -1
- package/src/plugins/Cookies.js +1 -1
- package/src/plugins/Loading.js +8 -0
- package/src/plugins/LoadingBar.js +9 -0
- package/src/plugins/LoadingBar.json +1 -1
- package/src/plugins/Notify.js +351 -333
- package/src/plugins/Notify.json +20 -20
- package/src/plugins/Notify.sass +9 -3
- package/src/plugins/Notify.styl +9 -3
- package/src/utils/clone.js +53 -4
- package/src/utils/date.js +134 -69
- package/src/utils/dom.js +28 -9
- package/src/utils/extend.js +2 -2
- package/src/utils/focus-manager.js +8 -10
- package/src/utils/global-dialog.js +18 -1
- package/src/utils/is.js +2 -2
- package/src/utils/morph.js +2 -12
- package/src/utils/scroll.js +71 -35
|
@@ -71,6 +71,13 @@
|
|
|
71
71
|
"category": "content"
|
|
72
72
|
},
|
|
73
73
|
|
|
74
|
+
"no-header-tabs": {
|
|
75
|
+
"type": "Boolean",
|
|
76
|
+
"desc": "Do not render header tabs (only the input)",
|
|
77
|
+
"category": "content",
|
|
78
|
+
"addedIn": "v1.17"
|
|
79
|
+
},
|
|
80
|
+
|
|
74
81
|
"no-footer": {
|
|
75
82
|
"type": "Boolean",
|
|
76
83
|
"desc": "Do not render footer; Useful when you want a specific view ('default-view' prop) and don't want the user to be able to switch it",
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
border: 1px solid $separator-color
|
|
17
17
|
|
|
18
18
|
&__header
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
&-tabs
|
|
21
|
+
height: 32px
|
|
22
|
+
&-banner
|
|
23
|
+
height: 36px
|
|
20
24
|
|
|
21
25
|
input
|
|
22
26
|
line-height: 24px
|
|
@@ -93,47 +97,34 @@
|
|
|
93
97
|
border-radius: 50%
|
|
94
98
|
transform: translate(-5px, -5px)
|
|
95
99
|
|
|
96
|
-
&__hue .q-slider__track
|
|
100
|
+
&__hue .q-slider__track
|
|
97
101
|
background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%) !important // @stylint ignore
|
|
98
102
|
opacity: 1
|
|
99
103
|
|
|
100
|
-
&__alpha
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
background-color: #fff !important
|
|
105
|
-
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==') !important
|
|
106
|
-
&:after
|
|
104
|
+
&__alpha
|
|
105
|
+
.q-slider__track-container
|
|
106
|
+
padding-top: 0
|
|
107
|
+
.q-slider__track:before
|
|
107
108
|
content: ''
|
|
108
109
|
position: absolute
|
|
109
110
|
top: 0
|
|
110
111
|
right: 0
|
|
111
112
|
bottom: 0
|
|
112
113
|
left: 0
|
|
114
|
+
border-radius: inherit
|
|
113
115
|
background: linear-gradient(90deg, rgba(255,255,255,0), $grey-7)
|
|
114
116
|
|
|
115
117
|
&__sliders
|
|
116
|
-
padding:
|
|
117
|
-
|
|
118
|
-
.q-slider__track-container
|
|
119
|
-
height: 10px
|
|
120
|
-
margin-top: -5px
|
|
121
|
-
|
|
122
|
-
.q-slider__track
|
|
123
|
-
display: none
|
|
118
|
+
padding: 0 16px
|
|
124
119
|
|
|
125
120
|
.q-slider__thumb
|
|
121
|
+
color: $grey-9
|
|
126
122
|
path
|
|
127
123
|
stroke-width: 2px
|
|
128
124
|
fill: transparent
|
|
129
125
|
.q-slider--active path
|
|
130
126
|
stroke-width: 3px
|
|
131
127
|
|
|
132
|
-
.q-slider
|
|
133
|
-
height: 16px
|
|
134
|
-
margin-top: 8px
|
|
135
|
-
color: $grey-9
|
|
136
|
-
|
|
137
128
|
/* Tune Tab */
|
|
138
129
|
|
|
139
130
|
&__tune-tab
|
|
@@ -180,9 +171,8 @@
|
|
|
180
171
|
background: inherit
|
|
181
172
|
|
|
182
173
|
&--dark
|
|
183
|
-
|
|
184
174
|
.q-color-picker__tune-tab input
|
|
185
175
|
border: 1px solid rgba(#fff, .3)
|
|
186
176
|
|
|
187
177
|
.q-slider
|
|
188
|
-
color: $grey-
|
|
178
|
+
color: $grey-1
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
border: 1px solid $separator-color
|
|
17
17
|
|
|
18
18
|
&__header
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
&-tabs
|
|
21
|
+
height: 32px
|
|
22
|
+
&-banner
|
|
23
|
+
height: 36px
|
|
20
24
|
|
|
21
25
|
input
|
|
22
26
|
line-height: 24px
|
|
@@ -93,47 +97,34 @@
|
|
|
93
97
|
border-radius: 50%
|
|
94
98
|
transform: translate(-5px, -5px)
|
|
95
99
|
|
|
96
|
-
&__hue .q-slider__track
|
|
100
|
+
&__hue .q-slider__track
|
|
97
101
|
background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%) !important // @stylint ignore
|
|
98
102
|
opacity: 1
|
|
99
103
|
|
|
100
|
-
&__alpha
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
background-color: #fff !important
|
|
105
|
-
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==') !important
|
|
106
|
-
&:after
|
|
104
|
+
&__alpha
|
|
105
|
+
.q-slider__track-container
|
|
106
|
+
padding-top: 0
|
|
107
|
+
.q-slider__track:before
|
|
107
108
|
content: ''
|
|
108
109
|
position: absolute
|
|
109
110
|
top: 0
|
|
110
111
|
right: 0
|
|
111
112
|
bottom: 0
|
|
112
113
|
left: 0
|
|
114
|
+
border-radius: inherit
|
|
113
115
|
background: linear-gradient(90deg, rgba(255,255,255,0), $grey-7)
|
|
114
116
|
|
|
115
117
|
&__sliders
|
|
116
|
-
padding:
|
|
117
|
-
|
|
118
|
-
.q-slider__track-container
|
|
119
|
-
height: 10px
|
|
120
|
-
margin-top: -5px
|
|
121
|
-
|
|
122
|
-
.q-slider__track
|
|
123
|
-
display: none
|
|
118
|
+
padding: 0 16px
|
|
124
119
|
|
|
125
120
|
.q-slider__thumb
|
|
121
|
+
color: $grey-9
|
|
126
122
|
path
|
|
127
123
|
stroke-width: 2px
|
|
128
124
|
fill: transparent
|
|
129
125
|
.q-slider--active path
|
|
130
126
|
stroke-width: 3px
|
|
131
127
|
|
|
132
|
-
.q-slider
|
|
133
|
-
height: 16px
|
|
134
|
-
margin-top: 8px
|
|
135
|
-
color: $grey-9
|
|
136
|
-
|
|
137
128
|
/* Tune Tab */
|
|
138
129
|
|
|
139
130
|
&__tune-tab
|
|
@@ -180,9 +171,8 @@
|
|
|
180
171
|
background: inherit
|
|
181
172
|
|
|
182
173
|
&--dark
|
|
183
|
-
|
|
184
174
|
.q-color-picker__tune-tab input
|
|
185
175
|
border: 1px solid alpha(#fff, .3)
|
|
186
176
|
|
|
187
177
|
.q-slider
|
|
188
|
-
color: $grey-
|
|
178
|
+
color: $grey-1
|
|
@@ -696,7 +696,13 @@ export default Vue.extend({
|
|
|
696
696
|
|
|
697
697
|
methods: {
|
|
698
698
|
setToday () {
|
|
699
|
-
|
|
699
|
+
const date = this.today
|
|
700
|
+
const month = this.daysMap[this.__getMonthHash(date)]
|
|
701
|
+
|
|
702
|
+
if (month === void 0 || month.includes(date.day) === false) {
|
|
703
|
+
this.__addToModel(date)
|
|
704
|
+
}
|
|
705
|
+
|
|
700
706
|
this.setCalendarTo(this.today.year, this.today.month)
|
|
701
707
|
},
|
|
702
708
|
|
|
@@ -12,6 +12,7 @@ import { slot } from '../../utils/slot.js'
|
|
|
12
12
|
import { create, stop } from '../../utils/event.js'
|
|
13
13
|
import cache from '../../utils/cache.js'
|
|
14
14
|
import { addFocusFn } from '../../utils/focus-manager.js'
|
|
15
|
+
import { client } from '../../plugins/Platform.js'
|
|
15
16
|
|
|
16
17
|
let maximizedModals = 0
|
|
17
18
|
|
|
@@ -51,6 +52,7 @@ export default Vue.extend({
|
|
|
51
52
|
noRouteDismiss: Boolean,
|
|
52
53
|
noRefocus: Boolean,
|
|
53
54
|
noFocus: Boolean,
|
|
55
|
+
noShake: Boolean,
|
|
54
56
|
|
|
55
57
|
seamless: Boolean,
|
|
56
58
|
|
|
@@ -188,7 +190,7 @@ export default Vue.extend({
|
|
|
188
190
|
this.__addHistory()
|
|
189
191
|
|
|
190
192
|
// IE can have null document.activeElement
|
|
191
|
-
this.__refocusTarget = this.noRefocus === false && document.activeElement !== null
|
|
193
|
+
this.__refocusTarget = client.is.mobile !== true && this.noRefocus === false && document.activeElement !== null
|
|
192
194
|
? document.activeElement
|
|
193
195
|
: void 0
|
|
194
196
|
|
|
@@ -198,7 +200,7 @@ export default Vue.extend({
|
|
|
198
200
|
EscapeKey.register(this, () => {
|
|
199
201
|
if (this.seamless !== true) {
|
|
200
202
|
if (this.persistent === true || this.noEscDismiss === true) {
|
|
201
|
-
this.maximized !== true && this.shake()
|
|
203
|
+
this.maximized !== true && this.noShake !== true && this.shake()
|
|
202
204
|
}
|
|
203
205
|
else {
|
|
204
206
|
this.$emit('escape-key')
|
|
@@ -255,7 +257,8 @@ export default Vue.extend({
|
|
|
255
257
|
|
|
256
258
|
// check null for IE
|
|
257
259
|
if (this.__refocusTarget !== void 0 && this.__refocusTarget !== null) {
|
|
258
|
-
this.__refocusTarget.focus()
|
|
260
|
+
this.__refocusTarget.focus(evt)
|
|
261
|
+
this.__refocusTarget = void 0
|
|
259
262
|
}
|
|
260
263
|
|
|
261
264
|
this.$el.dispatchEvent(create('popup-hide', { bubbles: true }))
|
|
@@ -316,7 +319,7 @@ export default Vue.extend({
|
|
|
316
319
|
if (this.persistent !== true && this.noBackdropDismiss !== true) {
|
|
317
320
|
this.hide(e)
|
|
318
321
|
}
|
|
319
|
-
else {
|
|
322
|
+
else if (this.noShake !== true) {
|
|
320
323
|
this.shake()
|
|
321
324
|
}
|
|
322
325
|
},
|
|
@@ -372,5 +375,6 @@ export default Vue.extend({
|
|
|
372
375
|
|
|
373
376
|
beforeDestroy () {
|
|
374
377
|
this.__cleanup()
|
|
378
|
+
this.__refocusTarget = void 0
|
|
375
379
|
}
|
|
376
380
|
})
|
|
@@ -101,12 +101,19 @@
|
|
|
101
101
|
"type": "Boolean",
|
|
102
102
|
"desc": "(Accessibility) When Dialog gets shown, do not switch focus on it",
|
|
103
103
|
"category": "behavior"
|
|
104
|
+
},
|
|
105
|
+
|
|
106
|
+
"no-shake": {
|
|
107
|
+
"type": "Boolean",
|
|
108
|
+
"desc": "Do not shake up the Dialog to catch user's attention",
|
|
109
|
+
"category": "behavior",
|
|
110
|
+
"addedIn": "v1.17"
|
|
104
111
|
}
|
|
105
112
|
},
|
|
106
113
|
|
|
107
114
|
"events": {
|
|
108
115
|
"shake": {
|
|
109
|
-
"desc": "
|
|
116
|
+
"desc": "Emitted when the Dialog shakes in order to catch user's attention, unless the 'no-shake' property is set"
|
|
110
117
|
},
|
|
111
118
|
|
|
112
119
|
"escape-key": {
|
|
@@ -114,11 +114,10 @@ export default Vue.extend({
|
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
116
|
|
|
117
|
-
'layout.totalWidth' (
|
|
118
|
-
this.
|
|
119
|
-
this.
|
|
120
|
-
|
|
121
|
-
))
|
|
117
|
+
'layout.totalWidth' () {
|
|
118
|
+
if (this.layout.container === true || document.qScrollPrevented !== true) {
|
|
119
|
+
this.__updateBelowBreakpoint()
|
|
120
|
+
}
|
|
122
121
|
},
|
|
123
122
|
|
|
124
123
|
side (newSide, oldSide) {
|
|
@@ -134,22 +133,17 @@ export default Vue.extend({
|
|
|
134
133
|
this.layout[newSide].offset = this.offset
|
|
135
134
|
},
|
|
136
135
|
|
|
137
|
-
behavior (
|
|
138
|
-
this.
|
|
139
|
-
val === 'mobile' ||
|
|
140
|
-
(val !== 'desktop' && this.layout.totalWidth <= this.breakpoint)
|
|
141
|
-
))
|
|
136
|
+
behavior () {
|
|
137
|
+
this.__updateBelowBreakpoint()
|
|
142
138
|
},
|
|
143
139
|
|
|
144
|
-
breakpoint (
|
|
145
|
-
this.
|
|
146
|
-
this.behavior === 'mobile' ||
|
|
147
|
-
(this.behavior !== 'desktop' && this.layout.totalWidth <= val)
|
|
148
|
-
))
|
|
140
|
+
breakpoint () {
|
|
141
|
+
this.__updateBelowBreakpoint()
|
|
149
142
|
},
|
|
150
143
|
|
|
151
144
|
'layout.container' (val) {
|
|
152
145
|
this.showing === true && this.__preventScroll(val !== true)
|
|
146
|
+
val === true && this.__updateBelowBreakpoint()
|
|
153
147
|
},
|
|
154
148
|
|
|
155
149
|
'layout.scrollbarWidth' () {
|
|
@@ -583,6 +577,13 @@ export default Vue.extend({
|
|
|
583
577
|
|
|
584
578
|
__updateSizeOnLayout (miniToOverlay, size) {
|
|
585
579
|
this.__update('size', miniToOverlay === true ? this.miniWidth : size)
|
|
580
|
+
},
|
|
581
|
+
|
|
582
|
+
__updateBelowBreakpoint () {
|
|
583
|
+
this.__updateLocal('belowBreakpoint', (
|
|
584
|
+
this.behavior === 'mobile' ||
|
|
585
|
+
(this.behavior !== 'desktop' && this.layout.totalWidth <= this.breakpoint)
|
|
586
|
+
))
|
|
586
587
|
}
|
|
587
588
|
},
|
|
588
589
|
|
|
@@ -516,7 +516,7 @@ export default Vue.extend({
|
|
|
516
516
|
|
|
517
517
|
return h('div', {
|
|
518
518
|
style: {
|
|
519
|
-
height: this.inFullscreen === true ? '
|
|
519
|
+
height: this.inFullscreen === true ? '100%' : null
|
|
520
520
|
},
|
|
521
521
|
class: this.classes,
|
|
522
522
|
attrs: this.attrs,
|
|
@@ -537,7 +537,7 @@ export default Vue.extend({
|
|
|
537
537
|
},
|
|
538
538
|
domProps: isSSR
|
|
539
539
|
? { innerHTML: this.value }
|
|
540
|
-
:
|
|
540
|
+
: void 0,
|
|
541
541
|
on
|
|
542
542
|
}
|
|
543
543
|
)
|
|
@@ -6,10 +6,18 @@
|
|
|
6
6
|
&.disabled
|
|
7
7
|
border-style: dashed
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
&.fullscreen
|
|
10
|
+
max-height: 100%
|
|
11
|
+
|
|
12
|
+
> div:first-child,
|
|
13
|
+
&__toolbars-container,
|
|
14
|
+
&__toolbars-container > div:first-child
|
|
10
15
|
border-top-left-radius: inherit
|
|
11
16
|
border-top-right-radius: inherit
|
|
12
17
|
|
|
18
|
+
&__toolbars-container
|
|
19
|
+
max-width: 100%
|
|
20
|
+
|
|
13
21
|
&__content
|
|
14
22
|
outline: 0
|
|
15
23
|
padding: $editor-content-padding
|
|
@@ -17,14 +25,18 @@
|
|
|
17
25
|
border-bottom-left-radius: inherit
|
|
18
26
|
border-bottom-right-radius: inherit
|
|
19
27
|
overflow: auto
|
|
28
|
+
max-width: 100%
|
|
29
|
+
|
|
20
30
|
pre
|
|
21
31
|
white-space: pre-wrap
|
|
32
|
+
|
|
22
33
|
hr
|
|
23
34
|
border: 0
|
|
24
35
|
outline: 0
|
|
25
36
|
margin: 1px
|
|
26
37
|
height: 1px
|
|
27
38
|
background: $editor-hr-color
|
|
39
|
+
|
|
28
40
|
&:empty:not(:focus):before
|
|
29
41
|
content: attr(placeholder)
|
|
30
42
|
opacity: .7
|
|
@@ -6,10 +6,18 @@
|
|
|
6
6
|
&.disabled
|
|
7
7
|
border-style: dashed
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
&.fullscreen
|
|
10
|
+
max-height: 100%
|
|
11
|
+
|
|
12
|
+
> div:first-child,
|
|
13
|
+
&__toolbars-container,
|
|
14
|
+
&__toolbars-container > div:first-child
|
|
10
15
|
border-top-left-radius: inherit
|
|
11
16
|
border-top-right-radius: inherit
|
|
12
17
|
|
|
18
|
+
&__toolbars-container
|
|
19
|
+
max-width: 100%
|
|
20
|
+
|
|
13
21
|
&__content
|
|
14
22
|
outline: 0
|
|
15
23
|
padding: $editor-content-padding
|
|
@@ -17,14 +25,18 @@
|
|
|
17
25
|
border-bottom-left-radius: inherit
|
|
18
26
|
border-bottom-right-radius: inherit
|
|
19
27
|
overflow: auto
|
|
28
|
+
max-width: 100%
|
|
29
|
+
|
|
20
30
|
pre
|
|
21
31
|
white-space: pre-wrap
|
|
32
|
+
|
|
22
33
|
hr
|
|
23
34
|
border: 0
|
|
24
35
|
outline: 0
|
|
25
36
|
margin: 1px
|
|
26
37
|
height: 1px
|
|
27
38
|
background: $editor-hr-color
|
|
39
|
+
|
|
28
40
|
&:empty:not(:focus):before
|
|
29
41
|
content: attr(placeholder)
|
|
30
42
|
opacity: .7
|
|
@@ -7,7 +7,7 @@ import QIcon from '../icon/QIcon.js'
|
|
|
7
7
|
import QSlideTransition from '../slide-transition/QSlideTransition.js'
|
|
8
8
|
import QSeparator from '../separator/QSeparator.js'
|
|
9
9
|
|
|
10
|
-
import
|
|
10
|
+
import RouterLinkMixin from '../../mixins/router-link.js'
|
|
11
11
|
import ModelToggleMixin from '../../mixins/model-toggle.js'
|
|
12
12
|
import DarkMixin from '../../mixins/dark.js'
|
|
13
13
|
|
|
@@ -92,7 +92,7 @@ export default Vue.extend({
|
|
|
92
92
|
},
|
|
93
93
|
|
|
94
94
|
isClickable () {
|
|
95
|
-
return this.
|
|
95
|
+
return this.hasLink === true || this.expandIconToggle !== true
|
|
96
96
|
},
|
|
97
97
|
|
|
98
98
|
expansionIcon () {
|
|
@@ -102,13 +102,13 @@ export default Vue.extend({
|
|
|
102
102
|
},
|
|
103
103
|
|
|
104
104
|
activeToggleIcon () {
|
|
105
|
-
return this.disable !== true && (this.
|
|
105
|
+
return this.disable !== true && (this.hasLink === true || this.expandIconToggle === true)
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
|
|
109
109
|
methods: {
|
|
110
110
|
__onHeaderClick (e) {
|
|
111
|
-
this.
|
|
111
|
+
this.hasLink !== true && this.toggle(e)
|
|
112
112
|
this.$emit('click', e)
|
|
113
113
|
},
|
|
114
114
|
|
|
@@ -219,18 +219,20 @@ export default Vue.extend({
|
|
|
219
219
|
}
|
|
220
220
|
|
|
221
221
|
if (this.isClickable === true) {
|
|
222
|
-
const evtProp = this.hasRouterLink === true ? 'nativeOn' : 'on'
|
|
223
|
-
|
|
224
222
|
data.props.clickable = true
|
|
225
|
-
data[
|
|
223
|
+
data[this.hasRouterLink === true ? 'nativeOn' : 'on'] = {
|
|
226
224
|
...this.qListeners,
|
|
227
225
|
click: this.__onHeaderClick
|
|
228
226
|
}
|
|
229
227
|
|
|
230
|
-
this.
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
228
|
+
if (this.hasLink === true) {
|
|
229
|
+
Object.assign(
|
|
230
|
+
data.props,
|
|
231
|
+
this.linkProps.props
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
data.attrs = this.linkProps.attrs
|
|
235
|
+
}
|
|
234
236
|
}
|
|
235
237
|
|
|
236
238
|
return h(QItem, data, child)
|
|
@@ -80,6 +80,10 @@ export default Vue.extend({
|
|
|
80
80
|
'aria-haspopup': 'true',
|
|
81
81
|
...this.qAttrs
|
|
82
82
|
}
|
|
83
|
+
},
|
|
84
|
+
|
|
85
|
+
slotScope () {
|
|
86
|
+
return { opened: this.showing }
|
|
83
87
|
}
|
|
84
88
|
},
|
|
85
89
|
|
|
@@ -90,6 +94,15 @@ export default Vue.extend({
|
|
|
90
94
|
if (this.$refs.trigger && this.$refs.trigger.$el) {
|
|
91
95
|
this.$refs.trigger.$el.focus()
|
|
92
96
|
}
|
|
97
|
+
},
|
|
98
|
+
|
|
99
|
+
__getIcon (h, kebab, camel) {
|
|
100
|
+
const slotFn = this.$scopedSlots[kebab]
|
|
101
|
+
const staticClass = `q-fab__${kebab} absolute-full`
|
|
102
|
+
|
|
103
|
+
return slotFn === void 0
|
|
104
|
+
? h(QIcon, { staticClass, props: { name: this[kebab] || this.$q.iconSet.fab[camel] } })
|
|
105
|
+
: h('div', { staticClass }, slotFn(this.slotScope))
|
|
93
106
|
}
|
|
94
107
|
},
|
|
95
108
|
|
|
@@ -98,20 +111,16 @@ export default Vue.extend({
|
|
|
98
111
|
|
|
99
112
|
this.hideIcon !== true && child.push(
|
|
100
113
|
h('div', { staticClass: 'q-fab__icon-holder', class: this.iconHolderClasses }, [
|
|
101
|
-
h
|
|
102
|
-
|
|
103
|
-
props: { name: this.icon || this.$q.iconSet.fab.icon }
|
|
104
|
-
}),
|
|
105
|
-
h(QIcon, {
|
|
106
|
-
staticClass: 'q-fab__active-icon absolute-full',
|
|
107
|
-
props: { name: this.activeIcon || this.$q.iconSet.fab.activeIcon }
|
|
108
|
-
})
|
|
114
|
+
this.__getIcon(h, 'icon', 'icon'),
|
|
115
|
+
this.__getIcon(h, 'active-icon', 'activeIcon')
|
|
109
116
|
])
|
|
110
117
|
)
|
|
111
118
|
|
|
112
|
-
this.label !== ''
|
|
113
|
-
|
|
114
|
-
|
|
119
|
+
if (this.label !== '' || this.$scopedSlots.label !== void 0) {
|
|
120
|
+
child[this.labelProps.action](
|
|
121
|
+
h('div', this.labelProps.data, this.$scopedSlots.label !== void 0 ? this.$scopedSlots.label(this.slotScope) : [ this.label ])
|
|
122
|
+
)
|
|
123
|
+
}
|
|
115
124
|
|
|
116
125
|
return h('div', {
|
|
117
126
|
staticClass: 'q-fab z-fab row inline justify-center',
|
|
@@ -57,6 +57,41 @@
|
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
|
|
60
|
+
"scopedSlots": {
|
|
61
|
+
"icon": {
|
|
62
|
+
"desc": "Slot for icon shown when FAB is closed; Suggestion: QIcon",
|
|
63
|
+
"scope": {
|
|
64
|
+
"opened": {
|
|
65
|
+
"type": "Boolean",
|
|
66
|
+
"desc": "FAB is opened"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"addedIn": "v1.17"
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
"active-icon": {
|
|
73
|
+
"desc": "Slot for icon shown when FAB is opened; Suggestion: QIcon",
|
|
74
|
+
"scope": {
|
|
75
|
+
"opened": {
|
|
76
|
+
"type": "Boolean",
|
|
77
|
+
"desc": "FAB is opened"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"addedIn": "v1.17"
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
"label": {
|
|
84
|
+
"desc": "Slot for label",
|
|
85
|
+
"scope": {
|
|
86
|
+
"opened": {
|
|
87
|
+
"type": "Boolean",
|
|
88
|
+
"desc": "FAB is opened"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"addedIn": "v1.17"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
|
|
60
95
|
"events": {
|
|
61
96
|
"input": {
|
|
62
97
|
"desc": "Emitted when fab actions are shown/hidden; Captured by v-model directive"
|
|
@@ -75,15 +75,22 @@ export default Vue.extend({
|
|
|
75
75
|
render (h) {
|
|
76
76
|
const child = []
|
|
77
77
|
|
|
78
|
-
this.icon !==
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
78
|
+
if (this.$scopedSlots.icon !== void 0) {
|
|
79
|
+
child.push(this.$scopedSlots.icon())
|
|
80
|
+
}
|
|
81
|
+
else if (this.icon !== '') {
|
|
82
|
+
child.push(
|
|
83
|
+
h(QIcon, {
|
|
84
|
+
props: { name: this.icon }
|
|
85
|
+
})
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (this.label !== '' || this.$scopedSlots.label !== void 0) {
|
|
90
|
+
child[this.labelProps.action](
|
|
91
|
+
h('div', this.labelProps.data, this.$scopedSlots.label !== void 0 ? this.$scopedSlots.label() : [ this.label ])
|
|
92
|
+
)
|
|
93
|
+
}
|
|
87
94
|
|
|
88
95
|
return h(QBtn, {
|
|
89
96
|
class: this.classes,
|
|
@@ -36,6 +36,16 @@
|
|
|
36
36
|
"slots": {
|
|
37
37
|
"default": {
|
|
38
38
|
"desc": "Suggestion for this slot: QTooltip"
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
"icon": {
|
|
42
|
+
"desc": "Slot for icon; Suggestion: QIcon",
|
|
43
|
+
"addedIn": "v1.17"
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
"label": {
|
|
47
|
+
"desc": "Slot for label",
|
|
48
|
+
"addedIn": "v1.17"
|
|
39
49
|
}
|
|
40
50
|
},
|
|
41
51
|
|