quasar 1.16.3 → 1.17.3

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 (308) hide show
  1. package/dist/api/BottomSheet.json +2 -2
  2. package/dist/api/Loading.json +0 -2
  3. package/dist/api/LoadingBar.json +1 -1
  4. package/dist/api/Notify.json +25 -25
  5. package/dist/api/QAjaxBar.json +23 -4
  6. package/dist/api/QAvatar.json +1 -1
  7. package/dist/api/QBreadcrumbsEl.json +32 -11
  8. package/dist/api/QBtn.json +35 -14
  9. package/dist/api/QBtnDropdown.json +36 -15
  10. package/dist/api/QBtnToggle.json +1 -1
  11. package/dist/api/QCarousel.json +7 -7
  12. package/dist/api/QCarouselSlide.json +2 -2
  13. package/dist/api/QChatMessage.json +1 -5
  14. package/dist/api/QChip.json +4 -4
  15. package/dist/api/QColor.json +6 -0
  16. package/dist/api/QDialog.json +7 -1
  17. package/dist/api/QExpansionItem.json +34 -13
  18. package/dist/api/QFab.json +34 -2
  19. package/dist/api/QFabAction.json +9 -1
  20. package/dist/api/QField.json +80 -6
  21. package/dist/api/QFile.json +80 -6
  22. package/dist/api/QImg.json +2 -2
  23. package/dist/api/QInnerLoading.json +32 -0
  24. package/dist/api/QInput.json +82 -6
  25. package/dist/api/QItem.json +31 -10
  26. package/dist/api/QOptionGroup.json +58 -1
  27. package/dist/api/QPagination.json +4 -4
  28. package/dist/api/QParallax.json +1 -1
  29. package/dist/api/QPopupEdit.json +14 -7
  30. package/dist/api/QPullToRefresh.json +1 -1
  31. package/dist/api/QRange.json +581 -96
  32. package/dist/api/QRating.json +3 -3
  33. package/dist/api/QRouteTab.json +32 -12
  34. package/dist/api/QScrollArea.json +188 -20
  35. package/dist/api/QSelect.json +82 -10
  36. package/dist/api/QSeparator.json +1 -1
  37. package/dist/api/QSlider.json +499 -34
  38. package/dist/api/QStep.json +4 -4
  39. package/dist/api/QStepper.json +4 -4
  40. package/dist/api/QTab.json +1 -1
  41. package/dist/api/QTable.json +4 -4
  42. package/dist/api/QTabs.json +9 -0
  43. package/dist/api/QTimelineEntry.json +2 -2
  44. package/dist/api/QToggle.json +1 -1
  45. package/dist/api/QTree.json +7 -1
  46. package/dist/api/QVideo.json +10 -0
  47. package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
  48. package/dist/icon-set/eva-icons.umd.min.js +1 -1
  49. package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
  50. package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
  51. package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
  52. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  53. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  54. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  55. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  56. package/dist/icon-set/material-icons.umd.min.js +1 -1
  57. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  58. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  59. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  60. package/dist/icon-set/mdi-v6.umd.min.js +1 -1
  61. package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
  62. package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
  63. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
  64. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  65. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  66. package/dist/icon-set/svg-ionicons-v6.umd.min.js +6 -0
  67. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  68. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
  69. package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
  70. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
  71. package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
  72. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  73. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  74. package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
  75. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  76. package/dist/icon-set/themify.umd.min.js +1 -1
  77. package/dist/lang/ar.umd.min.js +2 -2
  78. package/dist/lang/az-latn.umd.min.js +1 -1
  79. package/dist/lang/bg.umd.min.js +1 -1
  80. package/dist/lang/ca.umd.min.js +1 -1
  81. package/dist/lang/cs.umd.min.js +1 -1
  82. package/dist/lang/da.umd.min.js +1 -1
  83. package/dist/lang/de.umd.min.js +1 -1
  84. package/dist/lang/el.umd.min.js +1 -1
  85. package/dist/lang/en-gb.umd.min.js +1 -1
  86. package/dist/lang/en-us.umd.min.js +1 -1
  87. package/dist/lang/eo.umd.min.js +1 -1
  88. package/dist/lang/es.umd.min.js +1 -1
  89. package/dist/lang/et.umd.min.js +1 -1
  90. package/dist/lang/fa-ir.umd.min.js +1 -1
  91. package/dist/lang/fa.umd.min.js +1 -1
  92. package/dist/lang/fi.umd.min.js +1 -1
  93. package/dist/lang/fr.umd.min.js +2 -2
  94. package/dist/lang/gn.umd.min.js +1 -1
  95. package/dist/lang/he.umd.min.js +1 -1
  96. package/dist/lang/hr.umd.min.js +1 -1
  97. package/dist/lang/hu.umd.min.js +1 -1
  98. package/dist/lang/id.umd.min.js +1 -1
  99. package/dist/lang/is.umd.min.js +1 -1
  100. package/dist/lang/it.umd.min.js +1 -1
  101. package/dist/lang/ja.umd.min.js +1 -1
  102. package/dist/lang/km.umd.min.js +1 -1
  103. package/dist/lang/ko-kr.umd.min.js +1 -1
  104. package/dist/lang/kur-ckb.umd.min.js +1 -1
  105. package/dist/lang/lu.umd.min.js +1 -1
  106. package/dist/lang/lv.umd.min.js +1 -1
  107. package/dist/lang/ml.umd.min.js +1 -1
  108. package/dist/lang/ms.umd.min.js +1 -1
  109. package/dist/lang/nb-no.umd.min.js +1 -1
  110. package/dist/lang/nl.umd.min.js +1 -1
  111. package/dist/lang/pl.umd.min.js +1 -1
  112. package/dist/lang/pt-br.umd.min.js +1 -1
  113. package/dist/lang/pt.umd.min.js +1 -1
  114. package/dist/lang/ro.umd.min.js +1 -1
  115. package/dist/lang/ru.umd.min.js +1 -1
  116. package/dist/lang/sk.umd.min.js +1 -1
  117. package/dist/lang/sl.umd.min.js +1 -1
  118. package/dist/lang/sr.umd.min.js +2 -2
  119. package/dist/lang/sv.umd.min.js +1 -1
  120. package/dist/lang/ta.umd.min.js +1 -1
  121. package/dist/lang/th.umd.min.js +1 -1
  122. package/dist/lang/tr.umd.min.js +1 -1
  123. package/dist/lang/ug.umd.min.js +2 -2
  124. package/dist/lang/uk.umd.min.js +1 -1
  125. package/dist/lang/vi.umd.min.js +1 -1
  126. package/dist/lang/zh-hans.umd.min.js +2 -2
  127. package/dist/lang/zh-hant.umd.min.js +2 -2
  128. package/dist/quasar.addon.css +1 -1
  129. package/dist/quasar.addon.rtl.css +1 -1
  130. package/dist/quasar.common.js +2 -2
  131. package/dist/quasar.css +380 -227
  132. package/dist/quasar.esm.js +2 -2
  133. package/dist/quasar.ie.polyfills.js +1 -1
  134. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  135. package/dist/quasar.min.css +1 -1
  136. package/dist/quasar.rtl.css +512 -303
  137. package/dist/quasar.rtl.min.css +1 -1
  138. package/dist/quasar.sass +328 -210
  139. package/dist/quasar.styl +328 -210
  140. package/dist/quasar.umd.js +3244 -1894
  141. package/dist/quasar.umd.min.js +2 -2
  142. package/dist/quasar.umd.modern.js +3199 -1875
  143. package/dist/quasar.umd.modern.min.js +2 -2
  144. package/dist/transform-asset-urls.json +20 -0
  145. package/dist/types/index.d.ts +427 -105
  146. package/dist/types/utils/scroll.d.ts +1 -0
  147. package/dist/vetur/quasar-attributes.json +320 -92
  148. package/dist/vetur/quasar-tags.json +76 -19
  149. package/dist/web-types/web-types.json +1296 -257
  150. package/icon-set/svg-ionicons-v6.js +225 -0
  151. package/lang/ar.js +1 -1
  152. package/lang/fa-ir.js +3 -1
  153. package/lang/fa.js +3 -1
  154. package/lang/fr.js +1 -1
  155. package/lang/index.json +1 -1
  156. package/lang/kur-ckb.js +2 -2
  157. package/lang/sr.js +4 -4
  158. package/lang/ug.js +48 -46
  159. package/lang/zh-hans.js +1 -1
  160. package/lang/zh-hant.js +18 -18
  161. package/package.json +1 -1
  162. package/src/api.extends.json +1 -2
  163. package/src/components/ajax-bar/QAjaxBar.js +48 -26
  164. package/src/components/ajax-bar/QAjaxBar.json +22 -4
  165. package/src/components/breadcrumbs/QBreadcrumbs.js +15 -11
  166. package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
  167. package/src/components/breadcrumbs/QBreadcrumbs.styl +0 -3
  168. package/src/components/breadcrumbs/QBreadcrumbsEl.js +25 -9
  169. package/src/components/btn/QBtn.js +3 -3
  170. package/src/components/btn-dropdown/QBtnDropdown.sass +2 -0
  171. package/src/components/btn-dropdown/QBtnDropdown.styl +2 -0
  172. package/src/components/btn-toggle/QBtnToggle.js +4 -1
  173. package/src/components/carousel/QCarousel.js +6 -2
  174. package/src/components/carousel/QCarousel.json +9 -1
  175. package/src/components/carousel/QCarouselSlide.json +2 -2
  176. package/src/components/chat/QChatMessage.json +1 -1
  177. package/src/components/color/QColor.js +100 -85
  178. package/src/components/color/QColor.json +7 -0
  179. package/src/components/color/QColor.sass +14 -24
  180. package/src/components/color/QColor.styl +14 -24
  181. package/src/components/date/QDate.js +7 -1
  182. package/src/components/date/QDate.sass +2 -0
  183. package/src/components/date/QDate.styl +2 -0
  184. package/src/components/dialog/QDialog.js +8 -4
  185. package/src/components/dialog/QDialog.json +8 -1
  186. package/src/components/drawer/QDrawer.js +16 -15
  187. package/src/components/editor/QEditor.js +2 -2
  188. package/src/components/editor/QEditor.sass +13 -1
  189. package/src/components/editor/QEditor.styl +13 -1
  190. package/src/components/expansion-item/QExpansionItem.js +13 -11
  191. package/src/components/fab/QFab.js +20 -11
  192. package/src/components/fab/QFab.json +35 -0
  193. package/src/components/fab/QFabAction.js +16 -9
  194. package/src/components/fab/QFabAction.json +10 -0
  195. package/src/components/field/QField.js +28 -23
  196. package/src/components/field/__QField.json +72 -8
  197. package/src/components/file/QFile.js +12 -4
  198. package/src/components/file/QFile.sass +4 -3
  199. package/src/components/file/QFile.styl +4 -3
  200. package/src/components/footer/QFooter.js +1 -1
  201. package/src/components/form/QForm.js +1 -1
  202. package/src/components/header/QHeader.js +1 -1
  203. package/src/components/icon/QIcon.js +89 -75
  204. package/src/components/icon/QIcon.sass +2 -2
  205. package/src/components/icon/QIcon.styl +2 -2
  206. package/src/components/img/QImg.json +2 -2
  207. package/src/components/infinite-scroll/QInfiniteScroll.js +49 -36
  208. package/src/components/inner-loading/QInnerLoading.js +54 -22
  209. package/src/components/inner-loading/QInnerLoading.json +29 -0
  210. package/src/components/inner-loading/QInnerLoading.sass +3 -0
  211. package/src/components/inner-loading/QInnerLoading.styl +3 -0
  212. package/src/components/item/QItem.js +9 -15
  213. package/src/components/layout/QLayout.js +49 -0
  214. package/src/components/linear-progress/QLinearProgress.js +6 -2
  215. package/src/components/menu/QMenu.js +5 -1
  216. package/src/components/option-group/QOptionGroup.js +32 -22
  217. package/src/components/option-group/QOptionGroup.json +50 -1
  218. package/src/components/parallax/QParallax.js +3 -0
  219. package/src/components/parallax/QParallax.json +1 -1
  220. package/src/components/popup-edit/QPopupEdit.js +41 -16
  221. package/src/components/popup-edit/QPopupEdit.json +15 -8
  222. package/src/components/range/QRange.js +223 -278
  223. package/src/components/range/QRange.json +11 -122
  224. package/src/components/rating/QRating.js +56 -38
  225. package/src/components/rating/QRating.json +3 -3
  226. package/src/components/rating/QRating.sass +8 -6
  227. package/src/components/rating/QRating.styl +8 -6
  228. package/src/components/resize-observer/QResizeObserver.js +15 -10
  229. package/src/components/scroll-area/QScrollArea.js +342 -126
  230. package/src/components/scroll-area/QScrollArea.json +164 -20
  231. package/src/components/scroll-area/QScrollArea.sass +5 -0
  232. package/src/components/scroll-area/QScrollArea.styl +5 -0
  233. package/src/components/scroll-observer/QScrollObserver.js +12 -7
  234. package/src/components/select/QSelect.js +8 -2
  235. package/src/components/select/QSelect.json +1 -1
  236. package/src/components/separator/QSeparator.js +0 -1
  237. package/src/components/separator/QSeparator.json +1 -1
  238. package/src/components/slider/QSlider.js +97 -140
  239. package/src/components/slider/QSlider.json +1 -122
  240. package/src/components/slider/QSlider.sass +205 -139
  241. package/src/components/slider/QSlider.styl +205 -139
  242. package/src/components/slider/slider-utils.js +468 -123
  243. package/src/components/slider/slider-utils.json +546 -0
  244. package/src/components/stepper/QStepper.js +1 -1
  245. package/src/components/stepper/QStepper.sass +25 -26
  246. package/src/components/stepper/QStepper.styl +25 -26
  247. package/src/components/table/QTable.sass +3 -0
  248. package/src/components/table/QTable.styl +3 -0
  249. package/src/components/tabs/QRouteTab.js +13 -13
  250. package/src/components/tabs/QRouteTab.json +0 -7
  251. package/src/components/tabs/QTab.js +71 -20
  252. package/src/components/tabs/QTabs.js +237 -52
  253. package/src/components/tabs/QTabs.json +8 -0
  254. package/src/components/tabs/QTabs.sass +6 -6
  255. package/src/components/tabs/QTabs.styl +6 -6
  256. package/src/components/time/QTime.js +6 -2
  257. package/src/components/timeline/QTimeline.sass +1 -2
  258. package/src/components/timeline/QTimeline.styl +1 -2
  259. package/src/components/timeline/QTimelineEntry.json +1 -1
  260. package/src/components/tree/QTree.js +10 -6
  261. package/src/components/tree/QTree.json +5 -0
  262. package/src/components/tree/QTree.sass +58 -4
  263. package/src/components/tree/QTree.styl +58 -4
  264. package/src/components/uploader/QUploaderBase.js +15 -19
  265. package/src/components/video/QVideo.js +4 -1
  266. package/src/components/video/QVideo.json +11 -0
  267. package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
  268. package/src/components/virtual-scroll/QVirtualScroll.styl +1 -0
  269. package/src/css/core/helpers.sass +3 -0
  270. package/src/css/core/helpers.styl +3 -0
  271. package/src/css/core/positioning.sass +5 -0
  272. package/src/css/core/positioning.styl +5 -0
  273. package/src/css/variables.sass +4 -6
  274. package/src/css/variables.styl +4 -6
  275. package/src/directives/Scroll.js +2 -2
  276. package/src/directives/ScrollFire.js +1 -0
  277. package/src/ie-compat/ie.js +13 -13
  278. package/src/install.js +1 -1
  279. package/src/lang.js +7 -4
  280. package/src/mixins/anchor.js +3 -13
  281. package/src/mixins/btn.js +33 -38
  282. package/src/mixins/btn.json +26 -11
  283. package/src/mixins/file.js +27 -5
  284. package/src/mixins/fullscreen.js +16 -4
  285. package/src/mixins/portal.js +10 -10
  286. package/src/mixins/router-link.js +88 -14
  287. package/src/mixins/router-link.json +26 -10
  288. package/src/mixins/validate.js +33 -15
  289. package/src/mixins/virtual-scroll.js +40 -42
  290. package/src/plugins/AppFullscreen.js +41 -16
  291. package/src/plugins/BottomSheet.json +1 -1
  292. package/src/plugins/Cookies.js +1 -1
  293. package/src/plugins/Loading.js +8 -0
  294. package/src/plugins/LoadingBar.js +9 -0
  295. package/src/plugins/LoadingBar.json +1 -1
  296. package/src/plugins/Notify.js +351 -333
  297. package/src/plugins/Notify.json +20 -20
  298. package/src/plugins/Notify.sass +9 -3
  299. package/src/plugins/Notify.styl +9 -3
  300. package/src/utils/clone.js +53 -4
  301. package/src/utils/date.js +134 -69
  302. package/src/utils/dom.js +28 -9
  303. package/src/utils/extend.js +2 -2
  304. package/src/utils/focus-manager.js +8 -10
  305. package/src/utils/global-dialog.js +18 -1
  306. package/src/utils/is.js +2 -2
  307. package/src/utils/morph.js +2 -12
  308. 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
  }
@@ -1,5 +1,6 @@
1
1
  .q-scrollarea
2
2
  position: relative
3
+ contain: strict
3
4
 
4
5
  &__bar,
5
6
  &__thumb
@@ -28,5 +29,9 @@
28
29
  &:active
29
30
  opacity: .5
30
31
 
32
+ &__content
33
+ min-height: 100%
34
+ min-width: 100%
35
+
31
36
  &--dark .q-scrollarea__thumb
32
37
  background: #fff
@@ -1,5 +1,6 @@
1
1
  .q-scrollarea
2
2
  position: relative
3
+ contain: strict
3
4
 
4
5
  &__bar,
5
6
  &__thumb
@@ -28,5 +29,9 @@
28
29
  &:active
29
30
  opacity: .5
30
31
 
32
+ &__content
33
+ min-height: 100%
34
+ min-width: 100%
35
+
31
36
  &--dark .q-scrollarea__thumb
32
37
  background: #fff
@@ -49,14 +49,21 @@ 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) {
53
- this.timer = this.debounce
54
- ? setTimeout(this.__emit, this.debounce)
55
- : requestAnimationFrame(this.__emit)
52
+ else if (this.clearTimer === void 0) {
53
+ const [ timer, fn ] = this.debounce
54
+ ? [ setTimeout(this.__emit, this.debounce), clearTimeout ]
55
+ : [ requestAnimationFrame(this.__emit), cancelAnimationFrame ]
56
+
57
+ this.clearTimer = () => {
58
+ fn(timer)
59
+ this.clearTimer = void 0
60
+ }
56
61
  }
57
62
  },
58
63
 
59
64
  __emit () {
65
+ this.clearTimer !== void 0 && this.clearTimer()
66
+
60
67
  const fn = this.horizontal === true
61
68
  ? getHorizontalScrollPosition
62
69
  : getScrollPosition
@@ -75,7 +82,6 @@ export default Vue.extend({
75
82
  this.dirChangePos = this.pos
76
83
  }
77
84
 
78
- this.timer = null
79
85
  this.pos = pos
80
86
  this.$emit('scroll', this.getPosition())
81
87
  },
@@ -99,8 +105,7 @@ export default Vue.extend({
99
105
  },
100
106
 
101
107
  beforeDestroy () {
102
- clearTimeout(this.timer)
103
- cancelAnimationFrame(this.timer)
108
+ this.clearTimer !== void 0 && this.clearTimer()
104
109
  this.__unconfigureScrollTarget()
105
110
  }
106
111
  })
@@ -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
 
@@ -186,7 +186,7 @@
186
186
  "desc": "Style definitions to be attributed to the popup content",
187
187
  "examples": [
188
188
  "background-color: #ff0000",
189
- ":content-style=\"{ backgroundColor: '#ff0000' }\""
189
+ ":popup-content-style=\"{ backgroundColor: '#ff0000' }\""
190
190
  ],
191
191
  "category": "style"
192
192
  },
@@ -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
  },