quasar 1.16.3 → 1.17.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 (296) hide show
  1. package/dist/api/BottomSheet.json +2 -2
  2. package/dist/api/Loading.json +0 -2
  3. package/dist/api/Notify.json +15 -15
  4. package/dist/api/QAvatar.json +1 -1
  5. package/dist/api/QBreadcrumbsEl.json +32 -11
  6. package/dist/api/QBtn.json +35 -14
  7. package/dist/api/QBtnDropdown.json +36 -15
  8. package/dist/api/QBtnToggle.json +1 -1
  9. package/dist/api/QCarousel.json +7 -7
  10. package/dist/api/QCarouselSlide.json +2 -2
  11. package/dist/api/QChatMessage.json +1 -5
  12. package/dist/api/QChip.json +4 -4
  13. package/dist/api/QColor.json +6 -0
  14. package/dist/api/QDialog.json +7 -1
  15. package/dist/api/QExpansionItem.json +34 -13
  16. package/dist/api/QFab.json +34 -2
  17. package/dist/api/QFabAction.json +9 -1
  18. package/dist/api/QField.json +80 -6
  19. package/dist/api/QFile.json +80 -6
  20. package/dist/api/QImg.json +2 -2
  21. package/dist/api/QInnerLoading.json +32 -0
  22. package/dist/api/QInput.json +82 -6
  23. package/dist/api/QItem.json +31 -10
  24. package/dist/api/QOptionGroup.json +58 -1
  25. package/dist/api/QPagination.json +4 -4
  26. package/dist/api/QParallax.json +1 -1
  27. package/dist/api/QPopupEdit.json +14 -7
  28. package/dist/api/QPullToRefresh.json +1 -1
  29. package/dist/api/QRange.json +581 -96
  30. package/dist/api/QRating.json +3 -3
  31. package/dist/api/QRouteTab.json +32 -12
  32. package/dist/api/QScrollArea.json +188 -20
  33. package/dist/api/QSelect.json +81 -9
  34. package/dist/api/QSeparator.json +1 -1
  35. package/dist/api/QSlider.json +499 -34
  36. package/dist/api/QStep.json +4 -4
  37. package/dist/api/QStepper.json +4 -4
  38. package/dist/api/QTab.json +1 -1
  39. package/dist/api/QTable.json +4 -4
  40. package/dist/api/QTabs.json +9 -0
  41. package/dist/api/QTimelineEntry.json +2 -2
  42. package/dist/api/QToggle.json +1 -1
  43. package/dist/api/QTree.json +7 -1
  44. package/dist/api/QVideo.json +10 -0
  45. package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
  46. package/dist/icon-set/eva-icons.umd.min.js +1 -1
  47. package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
  48. package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
  49. package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
  50. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  51. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  52. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  53. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  54. package/dist/icon-set/material-icons.umd.min.js +1 -1
  55. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  56. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  57. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  58. package/dist/icon-set/mdi-v6.umd.min.js +1 -1
  59. package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
  60. package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
  61. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
  62. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  63. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  64. package/dist/icon-set/svg-ionicons-v6.umd.min.js +6 -0
  65. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  66. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
  67. package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
  68. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
  69. package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
  70. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  71. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  72. package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
  73. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  74. package/dist/icon-set/themify.umd.min.js +1 -1
  75. package/dist/lang/ar.umd.min.js +2 -2
  76. package/dist/lang/az-latn.umd.min.js +1 -1
  77. package/dist/lang/bg.umd.min.js +1 -1
  78. package/dist/lang/ca.umd.min.js +1 -1
  79. package/dist/lang/cs.umd.min.js +1 -1
  80. package/dist/lang/da.umd.min.js +1 -1
  81. package/dist/lang/de.umd.min.js +1 -1
  82. package/dist/lang/el.umd.min.js +1 -1
  83. package/dist/lang/en-gb.umd.min.js +1 -1
  84. package/dist/lang/en-us.umd.min.js +1 -1
  85. package/dist/lang/eo.umd.min.js +1 -1
  86. package/dist/lang/es.umd.min.js +1 -1
  87. package/dist/lang/et.umd.min.js +1 -1
  88. package/dist/lang/fa-ir.umd.min.js +1 -1
  89. package/dist/lang/fa.umd.min.js +1 -1
  90. package/dist/lang/fi.umd.min.js +1 -1
  91. package/dist/lang/fr.umd.min.js +2 -2
  92. package/dist/lang/gn.umd.min.js +1 -1
  93. package/dist/lang/he.umd.min.js +1 -1
  94. package/dist/lang/hr.umd.min.js +1 -1
  95. package/dist/lang/hu.umd.min.js +1 -1
  96. package/dist/lang/id.umd.min.js +1 -1
  97. package/dist/lang/is.umd.min.js +1 -1
  98. package/dist/lang/it.umd.min.js +1 -1
  99. package/dist/lang/ja.umd.min.js +1 -1
  100. package/dist/lang/km.umd.min.js +1 -1
  101. package/dist/lang/ko-kr.umd.min.js +1 -1
  102. package/dist/lang/kur-ckb.umd.min.js +1 -1
  103. package/dist/lang/lu.umd.min.js +1 -1
  104. package/dist/lang/lv.umd.min.js +1 -1
  105. package/dist/lang/ml.umd.min.js +1 -1
  106. package/dist/lang/ms.umd.min.js +1 -1
  107. package/dist/lang/nb-no.umd.min.js +1 -1
  108. package/dist/lang/nl.umd.min.js +1 -1
  109. package/dist/lang/pl.umd.min.js +1 -1
  110. package/dist/lang/pt-br.umd.min.js +1 -1
  111. package/dist/lang/pt.umd.min.js +1 -1
  112. package/dist/lang/ro.umd.min.js +1 -1
  113. package/dist/lang/ru.umd.min.js +1 -1
  114. package/dist/lang/sk.umd.min.js +1 -1
  115. package/dist/lang/sl.umd.min.js +1 -1
  116. package/dist/lang/sr.umd.min.js +2 -2
  117. package/dist/lang/sv.umd.min.js +1 -1
  118. package/dist/lang/ta.umd.min.js +1 -1
  119. package/dist/lang/th.umd.min.js +1 -1
  120. package/dist/lang/tr.umd.min.js +1 -1
  121. package/dist/lang/ug.umd.min.js +2 -2
  122. package/dist/lang/uk.umd.min.js +1 -1
  123. package/dist/lang/vi.umd.min.js +1 -1
  124. package/dist/lang/zh-hans.umd.min.js +2 -2
  125. package/dist/lang/zh-hant.umd.min.js +2 -2
  126. package/dist/quasar.addon.css +1 -1
  127. package/dist/quasar.addon.rtl.css +1 -1
  128. package/dist/quasar.common.js +2 -2
  129. package/dist/quasar.css +376 -225
  130. package/dist/quasar.esm.js +2 -2
  131. package/dist/quasar.ie.polyfills.js +1 -1
  132. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  133. package/dist/quasar.min.css +1 -1
  134. package/dist/quasar.rtl.css +508 -301
  135. package/dist/quasar.rtl.min.css +1 -1
  136. package/dist/quasar.sass +324 -208
  137. package/dist/quasar.styl +324 -208
  138. package/dist/quasar.umd.js +3098 -1836
  139. package/dist/quasar.umd.min.js +2 -2
  140. package/dist/quasar.umd.modern.js +3057 -1817
  141. package/dist/quasar.umd.modern.min.js +2 -2
  142. package/dist/transform-asset-urls.json +20 -0
  143. package/dist/types/index.d.ts +421 -103
  144. package/dist/types/utils/scroll.d.ts +1 -0
  145. package/dist/vetur/quasar-attributes.json +313 -89
  146. package/dist/vetur/quasar-tags.json +74 -18
  147. package/dist/web-types/web-types.json +1289 -259
  148. package/icon-set/svg-ionicons-v6.js +225 -0
  149. package/lang/ar.js +1 -1
  150. package/lang/fa-ir.js +3 -1
  151. package/lang/fa.js +3 -1
  152. package/lang/fr.js +1 -1
  153. package/lang/index.json +1 -1
  154. package/lang/kur-ckb.js +2 -2
  155. package/lang/sr.js +4 -4
  156. package/lang/ug.js +48 -46
  157. package/lang/zh-hans.js +1 -1
  158. package/lang/zh-hant.js +18 -18
  159. package/package.json +1 -1
  160. package/src/api.extends.json +1 -2
  161. package/src/components/breadcrumbs/QBreadcrumbs.js +15 -11
  162. package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
  163. package/src/components/breadcrumbs/QBreadcrumbs.styl +0 -3
  164. package/src/components/breadcrumbs/QBreadcrumbsEl.js +25 -9
  165. package/src/components/btn/QBtn.js +3 -3
  166. package/src/components/btn-dropdown/QBtnDropdown.sass +2 -0
  167. package/src/components/btn-dropdown/QBtnDropdown.styl +2 -0
  168. package/src/components/carousel/QCarousel.js +6 -2
  169. package/src/components/carousel/QCarousel.json +9 -1
  170. package/src/components/carousel/QCarouselSlide.json +2 -2
  171. package/src/components/chat/QChatMessage.json +1 -1
  172. package/src/components/color/QColor.js +100 -85
  173. package/src/components/color/QColor.json +7 -0
  174. package/src/components/color/QColor.sass +14 -24
  175. package/src/components/color/QColor.styl +14 -24
  176. package/src/components/date/QDate.js +7 -1
  177. package/src/components/date/QDate.sass +2 -0
  178. package/src/components/date/QDate.styl +2 -0
  179. package/src/components/dialog/QDialog.js +8 -4
  180. package/src/components/dialog/QDialog.json +8 -1
  181. package/src/components/drawer/QDrawer.js +16 -15
  182. package/src/components/editor/QEditor.js +2 -2
  183. package/src/components/editor/QEditor.sass +13 -1
  184. package/src/components/editor/QEditor.styl +13 -1
  185. package/src/components/expansion-item/QExpansionItem.js +13 -11
  186. package/src/components/fab/QFab.js +20 -11
  187. package/src/components/fab/QFab.json +35 -0
  188. package/src/components/fab/QFabAction.js +16 -9
  189. package/src/components/fab/QFabAction.json +10 -0
  190. package/src/components/field/QField.js +28 -23
  191. package/src/components/field/__QField.json +72 -8
  192. package/src/components/file/QFile.js +12 -4
  193. package/src/components/file/QFile.sass +4 -3
  194. package/src/components/file/QFile.styl +4 -3
  195. package/src/components/footer/QFooter.js +1 -1
  196. package/src/components/form/QForm.js +1 -1
  197. package/src/components/header/QHeader.js +1 -1
  198. package/src/components/icon/QIcon.js +54 -49
  199. package/src/components/img/QImg.json +2 -2
  200. package/src/components/infinite-scroll/QInfiniteScroll.js +49 -36
  201. package/src/components/inner-loading/QInnerLoading.js +54 -22
  202. package/src/components/inner-loading/QInnerLoading.json +29 -0
  203. package/src/components/inner-loading/QInnerLoading.sass +3 -0
  204. package/src/components/inner-loading/QInnerLoading.styl +3 -0
  205. package/src/components/item/QItem.js +9 -15
  206. package/src/components/linear-progress/QLinearProgress.js +6 -2
  207. package/src/components/menu/QMenu.js +5 -1
  208. package/src/components/option-group/QOptionGroup.js +32 -22
  209. package/src/components/option-group/QOptionGroup.json +50 -1
  210. package/src/components/parallax/QParallax.js +3 -0
  211. package/src/components/parallax/QParallax.json +1 -1
  212. package/src/components/popup-edit/QPopupEdit.js +41 -16
  213. package/src/components/popup-edit/QPopupEdit.json +15 -8
  214. package/src/components/range/QRange.js +223 -278
  215. package/src/components/range/QRange.json +11 -122
  216. package/src/components/rating/QRating.js +56 -38
  217. package/src/components/rating/QRating.json +3 -3
  218. package/src/components/rating/QRating.sass +8 -6
  219. package/src/components/rating/QRating.styl +8 -6
  220. package/src/components/resize-observer/QResizeObserver.js +15 -10
  221. package/src/components/scroll-area/QScrollArea.js +342 -126
  222. package/src/components/scroll-area/QScrollArea.json +164 -20
  223. package/src/components/scroll-area/QScrollArea.sass +4 -0
  224. package/src/components/scroll-area/QScrollArea.styl +4 -0
  225. package/src/components/scroll-observer/QScrollObserver.js +9 -2
  226. package/src/components/select/QSelect.js +8 -2
  227. package/src/components/separator/QSeparator.js +0 -1
  228. package/src/components/separator/QSeparator.json +1 -1
  229. package/src/components/slider/QSlider.js +97 -140
  230. package/src/components/slider/QSlider.json +1 -122
  231. package/src/components/slider/QSlider.sass +205 -139
  232. package/src/components/slider/QSlider.styl +205 -139
  233. package/src/components/slider/slider-utils.js +468 -123
  234. package/src/components/slider/slider-utils.json +546 -0
  235. package/src/components/stepper/QStepper.js +1 -1
  236. package/src/components/stepper/QStepper.sass +25 -26
  237. package/src/components/stepper/QStepper.styl +25 -26
  238. package/src/components/table/QTable.sass +3 -0
  239. package/src/components/table/QTable.styl +3 -0
  240. package/src/components/tabs/QRouteTab.js +13 -13
  241. package/src/components/tabs/QRouteTab.json +0 -7
  242. package/src/components/tabs/QTab.js +71 -20
  243. package/src/components/tabs/QTabs.js +237 -52
  244. package/src/components/tabs/QTabs.json +8 -0
  245. package/src/components/tabs/QTabs.sass +6 -6
  246. package/src/components/tabs/QTabs.styl +6 -6
  247. package/src/components/time/QTime.js +6 -2
  248. package/src/components/timeline/QTimelineEntry.json +1 -1
  249. package/src/components/tree/QTree.js +10 -6
  250. package/src/components/tree/QTree.json +5 -0
  251. package/src/components/tree/QTree.sass +58 -4
  252. package/src/components/tree/QTree.styl +58 -4
  253. package/src/components/uploader/QUploaderBase.js +15 -19
  254. package/src/components/video/QVideo.js +4 -1
  255. package/src/components/video/QVideo.json +11 -0
  256. package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
  257. package/src/components/virtual-scroll/QVirtualScroll.styl +1 -0
  258. package/src/css/core/helpers.sass +3 -0
  259. package/src/css/core/helpers.styl +3 -0
  260. package/src/css/core/positioning.sass +5 -0
  261. package/src/css/core/positioning.styl +5 -0
  262. package/src/css/variables.sass +4 -6
  263. package/src/css/variables.styl +4 -6
  264. package/src/directives/Scroll.js +2 -2
  265. package/src/directives/ScrollFire.js +1 -0
  266. package/src/ie-compat/ie.js +13 -13
  267. package/src/install.js +1 -1
  268. package/src/lang.js +7 -4
  269. package/src/mixins/anchor.js +3 -13
  270. package/src/mixins/btn.js +30 -38
  271. package/src/mixins/btn.json +26 -11
  272. package/src/mixins/file.js +27 -5
  273. package/src/mixins/fullscreen.js +16 -4
  274. package/src/mixins/portal.js +10 -10
  275. package/src/mixins/router-link.js +88 -14
  276. package/src/mixins/router-link.json +26 -10
  277. package/src/mixins/validate.js +33 -15
  278. package/src/mixins/virtual-scroll.js +40 -42
  279. package/src/plugins/AppFullscreen.js +41 -16
  280. package/src/plugins/BottomSheet.json +1 -1
  281. package/src/plugins/Cookies.js +1 -1
  282. package/src/plugins/Loading.js +8 -0
  283. package/src/plugins/LoadingBar.js +9 -0
  284. package/src/plugins/Notify.js +351 -333
  285. package/src/plugins/Notify.json +10 -10
  286. package/src/plugins/Notify.sass +9 -3
  287. package/src/plugins/Notify.styl +9 -3
  288. package/src/utils/clone.js +53 -4
  289. package/src/utils/date.js +134 -69
  290. package/src/utils/dom.js +28 -9
  291. package/src/utils/extend.js +2 -2
  292. package/src/utils/focus-manager.js +8 -10
  293. package/src/utils/global-dialog.js +18 -1
  294. package/src/utils/is.js +2 -2
  295. package/src/utils/morph.js +2 -12
  296. package/src/utils/scroll.js +71 -35
@@ -11,19 +11,51 @@
11
11
 
12
12
  "bar-style": {
13
13
  "type": [ "Array", "String", "Object"],
14
- "desc": "Object with CSS properties and values for styling the custom scrollbar",
15
- "examples": [ ":bar-style=\"{ right: '4px', borderRadius: '5px', background: 'red', width: '10px', opacity: 1 }\"" ],
14
+ "desc": "Object with CSS properties and values for custom styling the scrollbars (both vertical and horizontal)",
15
+ "examples": [ ":bar-style=\"{ borderRadius: '5px', background: 'red', opacity: 1 }\"" ],
16
16
  "category": "style",
17
17
  "addedIn": "v1.5.0"
18
18
  },
19
19
 
20
+ "vertical-bar-style": {
21
+ "type": [ "Array", "String", "Object"],
22
+ "desc": "Object with CSS properties and values for custom styling the vertical scrollbar; Is applied on top of 'bar-style' prop",
23
+ "examples": [ ":bar-style=\"{ right: '4px', borderRadius: '5px', background: 'red', width: '10px', opacity: 1 }\"" ],
24
+ "category": "style",
25
+ "addedIn": "v1.17"
26
+ },
27
+
28
+ "horizontal-bar-style": {
29
+ "type": [ "Array", "String", "Object"],
30
+ "desc": "Object with CSS properties and values for custom styling the horizontal scrollbar; Is applied on top of 'bar-style' prop",
31
+ "examples": [ ":bar-style=\"{ bottom: '4px', borderRadius: '5px', background: 'red', height: '10px', opacity: 1 }\"" ],
32
+ "category": "style",
33
+ "addedIn": "v1.17"
34
+ },
35
+
20
36
  "thumb-style": {
21
37
  "type": "Object",
22
- "desc": "Object with CSS properties and values for styling the thumb of custom scrollbar",
23
- "examples": [ ":thumb-style=\"{ right: '4px', borderRadius: '5px', background: 'red', width: '10px', opacity: 1 }\"" ],
38
+ "desc": "Object with CSS properties and values for custom styling the thumb of scrollbars (both vertical and horizontal)",
39
+ "examples": [ ":thumb-style=\"{ borderRadius: '5px', background: 'red', opacity: 1 }\"" ],
24
40
  "category": "style"
25
41
  },
26
42
 
43
+ "vertical-thumb-style": {
44
+ "type": "Object",
45
+ "desc": "Object with CSS properties and values for custom styling the thumb of the vertical scrollbar; Is applied on top of 'thumb-style' prop",
46
+ "examples": [ ":thumb-style=\"{ right: '4px', borderRadius: '5px', background: 'red', width: '10px', opacity: 1 }\"" ],
47
+ "category": "style",
48
+ "addedIn": "v1.17"
49
+ },
50
+
51
+ "horizontal-thumb-style": {
52
+ "type": "Object",
53
+ "desc": "Object with CSS properties and values for custom styling the thumb of the horizontal scrollbar; Is applied on top of 'thumb-style' prop",
54
+ "examples": [ ":thumb-style=\"{ bottom: '4px', borderRadius: '5px', background: 'red', height: '10px', opacity: 1 }\"" ],
55
+ "category": "style",
56
+ "addedIn": "v1.17"
57
+ },
58
+
27
59
  "content-style": {
28
60
  "type": [ "Array", "String", "Object"],
29
61
  "desc": "Object with CSS properties and values for styling the container of QScrollArea",
@@ -55,7 +87,7 @@
55
87
 
56
88
  "horizontal": {
57
89
  "type": "Boolean",
58
- "desc": "Register for horizontal scroll instead of vertical (which is default)",
90
+ "desc": "Changes the default axis to horizontal instead of vertical (which is default) for getScrollPosition, getScrollPercentage, setScrollPosition, and setScrollPercentage",
59
91
  "category": "behavior"
60
92
  },
61
93
 
@@ -86,43 +118,43 @@
86
118
  },
87
119
  "verticalPosition": {
88
120
  "type": "Number",
89
- "desc": "Vertical scroll position (in px); available only if QScrollArea is NOT in horizontal mode",
121
+ "desc": "Vertical scroll position (in px)",
90
122
  "__exemption": [ "examples" ]
91
123
  },
92
124
  "verticalPercentage": {
93
125
  "type": "Number",
94
- "desc": "Vertical scroll percentage (0.0 < x < 1.0); available only if QScrollArea is NOT in horizontal mode",
126
+ "desc": "Vertical scroll percentage (0.0 <= x <= 1.0)",
95
127
  "__exemption": [ "examples" ]
96
128
  },
97
129
  "verticalSize": {
98
130
  "type": "Number",
99
- "desc": "Vertical scroll size (in px); available only if QScrollArea is NOT in horizontal mode",
131
+ "desc": "Vertical scroll size (in px)",
100
132
  "__exemption": [ "examples" ]
101
133
  },
102
134
  "verticalContainerSize": {
103
135
  "type": "Number",
104
- "desc": "Height of the container (in px); available only if QScrollArea is NOT in horizontal mode",
136
+ "desc": "Height of the container (in px)",
105
137
  "__exemption": [ "examples" ]
106
138
  },
107
139
 
108
140
  "horizontalPosition": {
109
141
  "type": "Number",
110
- "desc": "Horizontal scroll position (in px); available only if QScrollArea is in horizontal mode",
142
+ "desc": "Horizontal scroll position (in px)",
111
143
  "__exemption": [ "examples" ]
112
144
  },
113
145
  "horizontalPercentage": {
114
146
  "type": "Number",
115
- "desc": "Horizontal scroll percentage (0.0 < x < 1.0); available only if QScrollArea is in horizontal mode",
147
+ "desc": "Horizontal scroll percentage (0.0 <= x <= 1.0)",
116
148
  "__exemption": [ "examples" ]
117
149
  },
118
150
  "horizontalSize": {
119
151
  "type": "Number",
120
- "desc": "Horizontal scroll size (in px); available only if QScrollArea is in horizontal mode",
152
+ "desc": "Horizontal scroll size (in px)",
121
153
  "__exemption": [ "examples" ]
122
154
  },
123
155
  "horizontalContainerSize": {
124
156
  "type": "Number",
125
- "desc": "Width of the container (in px); available only if QScrollArea is in horizontal mode",
157
+ "desc": "Width of the container (in px)",
126
158
  "__exemption": [ "examples" ]
127
159
  }
128
160
  }
@@ -142,18 +174,124 @@
142
174
  }
143
175
  },
144
176
 
177
+ "getScroll": {
178
+ "desc": "Get the current scroll information",
179
+ "returns": {
180
+ "type": "Object",
181
+ "desc": "Scroll information",
182
+ "__exemption": [ "examples" ],
183
+ "definition": {
184
+ "verticalPosition": {
185
+ "type": "Number",
186
+ "desc": "Vertical scroll position (in px)",
187
+ "__exemption": [ "examples" ]
188
+ },
189
+ "verticalPercentage": {
190
+ "type": "Number",
191
+ "desc": "Vertical scroll percentage (0.0 <= x <= 1.0)",
192
+ "__exemption": [ "examples" ]
193
+ },
194
+ "verticalSize": {
195
+ "type": "Number",
196
+ "desc": "Vertical scroll size (in px)",
197
+ "__exemption": [ "examples" ]
198
+ },
199
+ "verticalContainerSize": {
200
+ "type": "Number",
201
+ "desc": "Height of the container (in px)",
202
+ "__exemption": [ "examples" ]
203
+ },
204
+
205
+ "horizontalPosition": {
206
+ "type": "Number",
207
+ "desc": "Horizontal scroll position (in px)",
208
+ "__exemption": [ "examples" ]
209
+ },
210
+ "horizontalPercentage": {
211
+ "type": "Number",
212
+ "desc": "Horizontal scroll percentage (0.0 <= x <= 1.0)",
213
+ "__exemption": [ "examples" ]
214
+ },
215
+ "horizontalSize": {
216
+ "type": "Number",
217
+ "desc": "Horizontal scroll size (in px)",
218
+ "__exemption": [ "examples" ]
219
+ },
220
+ "horizontalContainerSize": {
221
+ "type": "Number",
222
+ "desc": "Width of the container (in px)",
223
+ "__exemption": [ "examples" ]
224
+ }
225
+ }
226
+ },
227
+ "addedIn": "v1.17"
228
+ },
229
+
145
230
  "getScrollPosition": {
146
231
  "desc": "Get current scroll position",
232
+ "params": {
233
+ "axis": {
234
+ "type": "String",
235
+ "desc": "Scroll axis - defaults to 'vertical' (or to 'horizontal' if horizontal prop is set)",
236
+ "values": [ "vertical", "horizontal", "both" ]
237
+ }
238
+ },
147
239
  "returns": {
148
- "type": "Number",
149
- "desc": "Scroll position offset from top (in pixels)",
150
- "examples": [ 110 ]
151
- }
240
+ "type": "Object",
241
+ "definition": {
242
+ "top": {
243
+ "type": "Number",
244
+ "desc": "Scroll offset from top (vertical)",
245
+ "examples": [ 120 ]
246
+ },
247
+ "left": {
248
+ "type": "Number",
249
+ "desc": "Scroll offset from left (horizontal)",
250
+ "examples": [ 10 ]
251
+ }
252
+ },
253
+ "examples": [ "{ top: 10, left: 0 }" ]
254
+ },
255
+ "addedIn": "v1.17"
256
+ },
257
+
258
+ "getScrollPercentage": {
259
+ "desc": "Get current scroll position in percentage (0.0 <= x <= 1.0)",
260
+ "params": {
261
+ "axis": {
262
+ "type": "String",
263
+ "desc": "Scroll axis - defaults to 'vertical' (or to 'horizontal' if horizontal prop is set)",
264
+ "values": [ "vertical", "horizontal", "both" ]
265
+ }
266
+ },
267
+ "returns": {
268
+ "type": "Object",
269
+ "definition": {
270
+ "top": {
271
+ "type": "Number",
272
+ "desc": "Scroll percentage (0.0 <= x <= 1.0) offset from top (vertical)",
273
+ "examples": [ 0.12 ]
274
+ },
275
+ "left": {
276
+ "type": "Number",
277
+ "desc": "Scroll percentage (0.0 <= x <= 1.0) offset from left (horizontal)",
278
+ "examples": [ 0.92 ]
279
+ }
280
+ },
281
+ "examples": [ "{ top: 0.212, left: 0 }" ]
282
+ },
283
+ "addedIn": "v1.17"
152
284
  },
153
285
 
154
286
  "setScrollPosition": {
155
287
  "desc": "Set scroll position to an offset; If a duration (in milliseconds) is specified then the scroll is animated",
156
288
  "params": {
289
+ "axis": {
290
+ "type": "String",
291
+ "desc": "Scroll axis",
292
+ "values": [ "vertical", "horizontal" ],
293
+ "required": true
294
+ },
157
295
  "offset": {
158
296
  "type": "Number",
159
297
  "desc": "Scroll position offset from top (in pixels)",
@@ -169,11 +307,17 @@
169
307
  },
170
308
 
171
309
  "setScrollPercentage": {
172
- "desc": "Set scroll position to a percentage (0.0 < x < 1.0) of the total scrolling size; If a duration (in milliseconds) is specified then the scroll is animated",
310
+ "desc": "Set scroll position to a percentage (0.0 <= x <= 1.0) of the total scrolling size; If a duration (in milliseconds) is specified then the scroll is animated",
173
311
  "params": {
312
+ "axis": {
313
+ "type": "String",
314
+ "desc": "Scroll axis",
315
+ "values": [ "vertical", "horizontal" ],
316
+ "required": true
317
+ },
174
318
  "offset": {
175
319
  "type": "Number",
176
- "desc": "Scroll percentage (0.0 < x < 1.0) of the total scrolling size",
320
+ "desc": "Scroll percentage (0.0 <= x <= 1.0) of the total scrolling size",
177
321
  "required": true,
178
322
  "examples": [ 220 ]
179
323
  },
@@ -183,7 +327,7 @@
183
327
  "examples": [ 300 ]
184
328
  }
185
329
  },
186
- "addedIn": "v1.13.2"
330
+ "addedIn": "v1.17"
187
331
  }
188
332
  }
189
333
  }
@@ -28,5 +28,9 @@
28
28
  &:active
29
29
  opacity: .5
30
30
 
31
+ &__content
32
+ min-height: 100%
33
+ min-width: 100%
34
+
31
35
  &--dark .q-scrollarea__thumb
32
36
  background: #fff
@@ -28,5 +28,9 @@
28
28
  &:active
29
29
  opacity: .5
30
30
 
31
+ &__content
32
+ min-height: 100%
33
+ min-width: 100%
34
+
31
35
  &--dark .q-scrollarea__thumb
32
36
  background: #fff
@@ -49,7 +49,7 @@ export default Vue.extend({
49
49
  if (immediately === true || this.debounce === 0 || this.debounce === '0') {
50
50
  this.__emit()
51
51
  }
52
- else if (!this.timer) {
52
+ else if (this.timer === null) {
53
53
  this.timer = this.debounce
54
54
  ? setTimeout(this.__emit, this.debounce)
55
55
  : requestAnimationFrame(this.__emit)
@@ -57,6 +57,12 @@ export default Vue.extend({
57
57
  },
58
58
 
59
59
  __emit () {
60
+ if (this.timer !== null) {
61
+ clearTimeout(this.timer)
62
+ cancelAnimationFrame(this.timer)
63
+ this.timer = null
64
+ }
65
+
60
66
  const fn = this.horizontal === true
61
67
  ? getHorizontalScrollPosition
62
68
  : getScrollPosition
@@ -75,7 +81,6 @@ export default Vue.extend({
75
81
  this.dirChangePos = this.pos
76
82
  }
77
83
 
78
- this.timer = null
79
84
  this.pos = pos
80
85
  this.$emit('scroll', this.getPosition())
81
86
  },
@@ -95,6 +100,8 @@ export default Vue.extend({
95
100
  },
96
101
 
97
102
  mounted () {
103
+ this.timer = null
104
+
98
105
  this.__configureScrollTarget()
99
106
  },
100
107
 
@@ -22,6 +22,7 @@ import { FormFieldMixin } from '../../mixins/form.js'
22
22
  import VirtualScroll from '../../mixins/virtual-scroll.js'
23
23
  import CompositionMixin from '../../mixins/composition.js'
24
24
  import ListenersMixin from '../../mixins/listeners.js'
25
+ import { client } from '../../plugins/Platform.js'
25
26
 
26
27
  const validateNewValueMode = v => ['add', 'add-unique', 'toggle'].includes(v)
27
28
  const reEscapeList = '.*+?^${}()|[]\\'
@@ -496,7 +497,10 @@ export default Vue.extend({
496
497
 
497
498
  this.$refs.target !== void 0 && this.$refs.target.focus()
498
499
 
499
- if (isDeepEqual(this.getOptionValue(this.innerValue[0]), optValue) !== true) {
500
+ if (
501
+ this.innerValue.length === 0 ||
502
+ isDeepEqual(this.getOptionValue(this.innerValue[0]), optValue) !== true
503
+ ) {
500
504
  this.$emit('input', this.emitValue === true ? optValue : opt)
501
505
  }
502
506
  return
@@ -1378,7 +1382,9 @@ export default Vue.extend({
1378
1382
  },
1379
1383
 
1380
1384
  __onDialogBeforeHide () {
1381
- this.$refs.dialog.__refocusTarget = this.$el.querySelector('.q-field__native > [tabindex]:last-child')
1385
+ if (client.is.mobile !== true) {
1386
+ this.$refs.dialog.__refocusTarget = this.$el.querySelector('.q-field__native > [tabindex]:last-child')
1387
+ }
1382
1388
  this.focused = false
1383
1389
  },
1384
1390
 
@@ -77,7 +77,6 @@ export default Vue.extend({
77
77
 
78
78
  attrs () {
79
79
  return {
80
- role: 'separator',
81
80
  'aria-orientation': this.orientation
82
81
  }
83
82
  }
@@ -24,7 +24,7 @@
24
24
 
25
25
  "inset": {
26
26
  "type": [ "Boolean", "String" ],
27
- "desc": "if set to true, the left and right margins will be set to 16px. If set to item, the left and right margins will be set to 72px. If set to item-thumbnail, the left margin is set to 116px and right margin is set to 0px",
27
+ "desc": "If set to Boolean true, the left and right margins will be set to 16px. If set to 'item' then it will match a QItem's design. If set to 'item-thumbnail' then it will match the design of a QItem with a thumbnail on the left side",
28
28
  "examples": [ "item", "item-thumbnail" ],
29
29
  "category": "content"
30
30
  },