quasar 2.2.1 → 2.3.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 (261) hide show
  1. package/dist/api/QCircularProgress.json +14 -0
  2. package/dist/api/QLinearProgress.json +14 -0
  3. package/dist/api/QOptionGroup.json +36 -1
  4. package/dist/api/QSkeleton.json +1 -1
  5. package/dist/api/QTable.json +5 -0
  6. package/dist/api/QTree.json +6 -0
  7. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  8. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  9. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  10. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  11. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  12. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  13. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  14. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  15. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  16. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  17. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  18. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  19. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  20. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  21. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  22. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  23. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  35. package/dist/icon-set/themify.umd.prod.js +1 -1
  36. package/dist/lang/ar.umd.prod.js +1 -1
  37. package/dist/lang/az-Latn.umd.prod.js +1 -1
  38. package/dist/lang/bg.umd.prod.js +1 -1
  39. package/dist/lang/bn.umd.prod.js +1 -1
  40. package/dist/lang/ca.umd.prod.js +1 -1
  41. package/dist/lang/cs.umd.prod.js +1 -1
  42. package/dist/lang/da.umd.prod.js +1 -1
  43. package/dist/lang/de.umd.prod.js +1 -1
  44. package/dist/lang/el.umd.prod.js +1 -1
  45. package/dist/lang/en-GB.umd.prod.js +1 -1
  46. package/dist/lang/en-US.umd.prod.js +1 -1
  47. package/dist/lang/eo.umd.prod.js +1 -1
  48. package/dist/lang/es.umd.prod.js +1 -1
  49. package/dist/lang/et.umd.prod.js +1 -1
  50. package/dist/lang/fa-IR.umd.prod.js +1 -1
  51. package/dist/lang/fa.umd.prod.js +1 -1
  52. package/dist/lang/fi.umd.prod.js +1 -1
  53. package/dist/lang/fr.umd.prod.js +1 -1
  54. package/dist/lang/gn.umd.prod.js +1 -1
  55. package/dist/lang/he.umd.prod.js +1 -1
  56. package/dist/lang/hr.umd.prod.js +1 -1
  57. package/dist/lang/hu.umd.prod.js +1 -1
  58. package/dist/lang/id.umd.prod.js +1 -1
  59. package/dist/lang/is.umd.prod.js +1 -1
  60. package/dist/lang/it.umd.prod.js +1 -1
  61. package/dist/lang/ja.umd.prod.js +1 -1
  62. package/dist/lang/km.umd.prod.js +1 -1
  63. package/dist/lang/ko-KR.umd.prod.js +1 -1
  64. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  65. package/dist/lang/lt.umd.prod.js +1 -1
  66. package/dist/lang/lu.umd.prod.js +1 -1
  67. package/dist/lang/lv.umd.prod.js +1 -1
  68. package/dist/lang/ml.umd.prod.js +1 -1
  69. package/dist/lang/ms.umd.prod.js +1 -1
  70. package/dist/lang/nb-NO.umd.prod.js +1 -1
  71. package/dist/lang/nl.umd.prod.js +1 -1
  72. package/dist/lang/pl.umd.prod.js +1 -1
  73. package/dist/lang/pt-BR.umd.prod.js +1 -1
  74. package/dist/lang/pt.umd.prod.js +1 -1
  75. package/dist/lang/ro.umd.prod.js +1 -1
  76. package/dist/lang/ru.umd.prod.js +1 -1
  77. package/dist/lang/sk.umd.prod.js +1 -1
  78. package/dist/lang/sl.umd.prod.js +1 -1
  79. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  80. package/dist/lang/sr.umd.prod.js +1 -1
  81. package/dist/lang/sv.umd.prod.js +1 -1
  82. package/dist/lang/ta.umd.prod.js +1 -1
  83. package/dist/lang/th.umd.prod.js +1 -1
  84. package/dist/lang/tr.umd.prod.js +1 -1
  85. package/dist/lang/ug.umd.prod.js +1 -1
  86. package/dist/lang/uk.umd.prod.js +1 -1
  87. package/dist/lang/vi.umd.prod.js +1 -1
  88. package/dist/lang/zh-CN.umd.prod.js +1 -1
  89. package/dist/lang/zh-TW.umd.prod.js +1 -1
  90. package/dist/quasar.cjs.prod.js +2 -2
  91. package/dist/quasar.css +53 -9
  92. package/dist/quasar.esm.prod.js +2 -2
  93. package/dist/quasar.prod.css +1 -1
  94. package/dist/quasar.rtl.css +120 -9
  95. package/dist/quasar.rtl.prod.css +1 -1
  96. package/dist/quasar.sass +45 -7
  97. package/dist/quasar.umd.js +320 -254
  98. package/dist/quasar.umd.prod.js +2 -2
  99. package/dist/ssr-directives/Morph.js +1 -1
  100. package/dist/types/index.d.ts +33 -3
  101. package/dist/vetur/quasar-attributes.json +13 -1
  102. package/dist/vetur/quasar-tags.json +5 -2
  103. package/dist/web-types/web-types.json +32 -2
  104. package/package.json +1 -1
  105. package/src/api.extends.json +7 -0
  106. package/src/components/ajax-bar/QAjaxBar.js +3 -2
  107. package/src/components/avatar/QAvatar.js +3 -2
  108. package/src/components/badge/QBadge.js +3 -2
  109. package/src/components/banner/QBanner.js +3 -2
  110. package/src/components/bar/QBar.js +3 -2
  111. package/src/components/breadcrumbs/QBreadcrumbs.js +3 -2
  112. package/src/components/breadcrumbs/QBreadcrumbsEl.js +3 -2
  113. package/src/components/btn/QBtn.js +3 -2
  114. package/src/components/btn-dropdown/QBtnDropdown.js +3 -2
  115. package/src/components/btn-group/QBtnGroup.js +3 -2
  116. package/src/components/btn-toggle/QBtnToggle.js +3 -2
  117. package/src/components/card/QCard.js +3 -2
  118. package/src/components/card/QCardActions.js +3 -2
  119. package/src/components/card/QCardSection.js +3 -2
  120. package/src/components/carousel/QCarousel.js +3 -2
  121. package/src/components/carousel/QCarouselControl.js +3 -2
  122. package/src/components/carousel/QCarouselSlide.js +3 -2
  123. package/src/components/chat/QChatMessage.js +3 -2
  124. package/src/components/checkbox/QCheckbox.js +3 -2
  125. package/src/components/chip/QChip.js +3 -2
  126. package/src/components/circular-progress/QCircularProgress.js +9 -3
  127. package/src/components/circular-progress/QCircularProgress.json +6 -0
  128. package/src/components/color/QColor.js +3 -2
  129. package/src/components/date/QDate.js +5 -3
  130. package/src/components/dialog/QDialog.js +3 -2
  131. package/src/components/dialog-bottom-sheet/BottomSheet.js +3 -2
  132. package/src/components/dialog-plugin/DialogPlugin.js +3 -2
  133. package/src/components/drawer/QDrawer.js +3 -2
  134. package/src/components/editor/QEditor.js +3 -2
  135. package/src/components/expansion-item/QExpansionItem.js +3 -2
  136. package/src/components/fab/QFab.js +3 -2
  137. package/src/components/fab/QFabAction.js +3 -2
  138. package/src/components/field/QField.js +3 -3
  139. package/src/components/file/QFile.js +3 -2
  140. package/src/components/footer/QFooter.js +3 -2
  141. package/src/components/form/QForm.js +3 -2
  142. package/src/components/header/QHeader.js +3 -2
  143. package/src/components/icon/QIcon.js +4 -2
  144. package/src/components/img/QImg.js +5 -2
  145. package/src/components/infinite-scroll/QInfiniteScroll.js +50 -32
  146. package/src/components/inner-loading/QInnerLoading.js +3 -2
  147. package/src/components/input/QInput.js +3 -2
  148. package/src/components/intersection/QIntersection.js +3 -2
  149. package/src/components/item/QItem.js +3 -2
  150. package/src/components/item/QItemLabel.js +3 -2
  151. package/src/components/item/QItemSection.js +3 -2
  152. package/src/components/item/QList.js +3 -3
  153. package/src/components/knob/QKnob.js +3 -2
  154. package/src/components/layout/QLayout.js +3 -2
  155. package/src/components/linear-progress/QLinearProgress.js +13 -3
  156. package/src/components/linear-progress/QLinearProgress.json +6 -0
  157. package/src/components/linear-progress/QLinearProgress.sass +2 -1
  158. package/src/components/markup-table/QMarkupTable.js +3 -2
  159. package/src/components/menu/QMenu.js +4 -3
  160. package/src/components/no-ssr/QNoSsr.js +3 -2
  161. package/src/components/option-group/QOptionGroup.js +4 -2
  162. package/src/components/option-group/QOptionGroup.json +24 -1
  163. package/src/components/page/QPage.js +3 -2
  164. package/src/components/page/QPageContainer.js +3 -2
  165. package/src/components/page-scroller/QPageScroller.js +4 -2
  166. package/src/components/page-sticky/QPageSticky.js +2 -3
  167. package/src/components/pagination/QPagination.js +3 -2
  168. package/src/components/parallax/QParallax.js +3 -2
  169. package/src/components/popup-edit/QPopupEdit.js +3 -2
  170. package/src/components/popup-proxy/QPopupProxy.js +10 -17
  171. package/src/components/pull-to-refresh/QPullToRefresh.js +3 -2
  172. package/src/components/radio/QRadio.js +3 -2
  173. package/src/components/range/QRange.js +3 -2
  174. package/src/components/rating/QRating.js +6 -5
  175. package/src/components/resize-observer/QResizeObserver.js +3 -2
  176. package/src/components/responsive/QResponsive.js +3 -2
  177. package/src/components/scroll-area/QScrollArea.js +3 -2
  178. package/src/components/scroll-observer/QScrollObserver.js +3 -2
  179. package/src/components/select/QSelect.js +11 -20
  180. package/src/components/separator/QSeparator.js +4 -2
  181. package/src/components/skeleton/QSkeleton.js +3 -2
  182. package/src/components/skeleton/QSkeleton.json +1 -4
  183. package/src/components/slide-item/QSlideItem.js +3 -2
  184. package/src/components/slide-transition/QSlideTransition.js +4 -2
  185. package/src/components/slider/QSlider.js +3 -2
  186. package/src/components/space/QSpace.js +4 -2
  187. package/src/components/spinner/QSpinner.js +4 -2
  188. package/src/components/spinner/QSpinnerAudio.js +4 -2
  189. package/src/components/spinner/QSpinnerBall.js +4 -2
  190. package/src/components/spinner/QSpinnerBars.js +4 -2
  191. package/src/components/spinner/QSpinnerBox.js +4 -2
  192. package/src/components/spinner/QSpinnerClock.js +4 -2
  193. package/src/components/spinner/QSpinnerComment.js +4 -2
  194. package/src/components/spinner/QSpinnerCube.js +4 -2
  195. package/src/components/spinner/QSpinnerDots.js +4 -2
  196. package/src/components/spinner/QSpinnerFacebook.js +4 -2
  197. package/src/components/spinner/QSpinnerGears.js +4 -2
  198. package/src/components/spinner/QSpinnerGrid.js +4 -2
  199. package/src/components/spinner/QSpinnerHearts.js +4 -2
  200. package/src/components/spinner/QSpinnerHourglass.js +4 -2
  201. package/src/components/spinner/QSpinnerInfinity.js +4 -2
  202. package/src/components/spinner/QSpinnerIos.js +4 -2
  203. package/src/components/spinner/QSpinnerOrbit.js +4 -2
  204. package/src/components/spinner/QSpinnerOval.js +4 -2
  205. package/src/components/spinner/QSpinnerPie.js +4 -2
  206. package/src/components/spinner/QSpinnerPuff.js +4 -2
  207. package/src/components/spinner/QSpinnerRadio.js +4 -2
  208. package/src/components/spinner/QSpinnerRings.js +4 -2
  209. package/src/components/spinner/QSpinnerTail.js +4 -2
  210. package/src/components/splitter/QSplitter.js +3 -2
  211. package/src/components/stepper/QStep.js +3 -2
  212. package/src/components/stepper/QStepper.js +3 -2
  213. package/src/components/stepper/QStepperNavigation.js +3 -2
  214. package/src/components/stepper/StepHeader.js +4 -2
  215. package/src/components/tab-panels/QTabPanel.js +4 -2
  216. package/src/components/tab-panels/QTabPanels.js +3 -2
  217. package/src/components/table/QTable.js +4 -2
  218. package/src/components/table/QTable.json +1 -0
  219. package/src/components/table/QTd.js +3 -2
  220. package/src/components/table/QTh.js +3 -2
  221. package/src/components/table/QTr.js +3 -2
  222. package/src/components/table/table-pagination.js +2 -2
  223. package/src/components/tabs/QRouteTab.js +4 -2
  224. package/src/components/tabs/QTab.js +3 -3
  225. package/src/components/tabs/QTabs.js +4 -3
  226. package/src/components/time/QTime.js +9 -9
  227. package/src/components/timeline/QTimeline.js +3 -2
  228. package/src/components/timeline/QTimelineEntry.js +3 -2
  229. package/src/components/toggle/QToggle.js +5 -2
  230. package/src/components/toolbar/QToolbar.js +3 -2
  231. package/src/components/toolbar/QToolbarTitle.js +3 -2
  232. package/src/components/tooltip/QTooltip.js +3 -2
  233. package/src/components/tree/QTree.js +12 -7
  234. package/src/components/tree/QTree.json +5 -0
  235. package/src/components/tree/QTree.sass +52 -4
  236. package/src/components/uploader/QUploaderAddTrigger.js +3 -2
  237. package/src/components/uploader/uploader-core.js +2 -7
  238. package/src/components/video/QVideo.js +4 -2
  239. package/src/components/virtual-scroll/QVirtualScroll.js +3 -2
  240. package/src/components/virtual-scroll/use-virtual-scroll.js +17 -1
  241. package/src/composables/private/use-file.js +8 -0
  242. package/src/composables/private/use-model-toggle.js +1 -1
  243. package/src/composables/use-dialog-plugin-component.js +6 -1
  244. package/src/css/normalize.sass +0 -7
  245. package/src/directives/ClosePopup.js +3 -1
  246. package/src/directives/Intersection.js +3 -1
  247. package/src/directives/Morph.js +4 -1
  248. package/src/directives/Mutation.js +3 -1
  249. package/src/directives/Ripple.js +3 -1
  250. package/src/directives/Scroll.js +3 -1
  251. package/src/directives/ScrollFire.js +3 -1
  252. package/src/directives/TouchHold.js +4 -1
  253. package/src/directives/TouchPan.js +4 -1
  254. package/src/directives/TouchRepeat.js +4 -1
  255. package/src/directives/TouchSwipe.js +4 -1
  256. package/src/plugins/Notify.js +4 -3
  257. package/src/utils/create-uploader-component.js +9 -7
  258. package/src/utils/date.js +1 -1
  259. package/src/utils/private/create.js +4 -0
  260. package/src/utils/private/get-emits-object.js +11 -0
  261. package/src/utils/private/vm.js +3 -3
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.2.1
2
+ * Quasar Framework v2.3.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -560,7 +560,7 @@
560
560
  }
561
561
 
562
562
  const SIZE_LIST = [ 'sm', 'md', 'lg', 'xl' ];
563
- const { passive: passive$3 } = listenOpts;
563
+ const { passive: passive$4 } = listenOpts;
564
564
 
565
565
  var Screen = defineReactivePlugin({
566
566
  width: 0,
@@ -697,11 +697,11 @@
697
697
  };
698
698
 
699
699
  this.setDebounce = delay => {
700
- updateEvt !== void 0 && target.removeEventListener('resize', updateEvt, passive$3);
700
+ updateEvt !== void 0 && target.removeEventListener('resize', updateEvt, passive$4);
701
701
  updateEvt = delay > 0
702
702
  ? debounce(this.__update, delay)
703
703
  : this.__update;
704
- target.addEventListener('resize', updateEvt, passive$3);
704
+ target.addEventListener('resize', updateEvt, passive$4);
705
705
  };
706
706
 
707
707
  this.setDebounce(updateDebounce);
@@ -1437,7 +1437,7 @@
1437
1437
  }
1438
1438
 
1439
1439
  var installQuasar = function (parentApp, opts = {}) {
1440
- const $q = { version: '2.2.1' };
1440
+ const $q = { version: '2.3.0' };
1441
1441
 
1442
1442
  if (globalConfigIsFrozen === false) {
1443
1443
  if (opts.config !== void 0) {
@@ -1460,6 +1460,9 @@
1460
1460
  });
1461
1461
  };
1462
1462
 
1463
+ const createComponent = raw => vue.markRaw(vue.defineComponent(raw));
1464
+ const createDirective = raw => vue.markRaw(raw);
1465
+
1463
1466
  const units = [ 'B', 'KB', 'MB', 'GB', 'TB', 'PB' ];
1464
1467
 
1465
1468
  function humanStorageSize (bytes) {
@@ -1589,7 +1592,7 @@
1589
1592
  }
1590
1593
  }
1591
1594
 
1592
- var QAjaxBar = vue.defineComponent({
1595
+ var QAjaxBar = createComponent({
1593
1596
  name: 'QAjaxBar',
1594
1597
 
1595
1598
  props: {
@@ -1865,7 +1868,7 @@
1865
1868
  const ionRE = /^ion-/;
1866
1869
  const faLaRE = /^[l|f]a[s|r|l|b|d]? /;
1867
1870
 
1868
- var QIcon = vue.defineComponent({
1871
+ var QIcon = createComponent({
1869
1872
  name: 'QIcon',
1870
1873
 
1871
1874
  props: {
@@ -2033,7 +2036,7 @@
2033
2036
  }
2034
2037
  });
2035
2038
 
2036
- var QAvatar = vue.defineComponent({
2039
+ var QAvatar = createComponent({
2037
2040
  name: 'QAvatar',
2038
2041
 
2039
2042
  props: {
@@ -2089,7 +2092,7 @@
2089
2092
 
2090
2093
  const alignValues$3 = [ 'top', 'middle', 'bottom' ];
2091
2094
 
2092
- var QBadge = vue.defineComponent({
2095
+ var QBadge = createComponent({
2093
2096
  name: 'QBadge',
2094
2097
 
2095
2098
  props: {
@@ -2159,7 +2162,7 @@
2159
2162
  ))
2160
2163
  }
2161
2164
 
2162
- var QBanner = vue.defineComponent({
2165
+ var QBanner = createComponent({
2163
2166
  name: 'QBanner',
2164
2167
 
2165
2168
  props: {
@@ -2211,7 +2214,7 @@
2211
2214
  }
2212
2215
  });
2213
2216
 
2214
- var QBar = vue.defineComponent({
2217
+ var QBar = createComponent({
2215
2218
  name: 'QBar',
2216
2219
 
2217
2220
  props: {
@@ -2268,14 +2271,14 @@
2268
2271
 
2269
2272
  // used directly by docs too
2270
2273
  function getParentVm (vm) {
2271
- if (vm.$parent !== void 0 && vm.$parent !== null) {
2274
+ if (Object(vm.$parent) === vm.$parent) {
2272
2275
  return vm.$parent
2273
2276
  }
2274
2277
 
2275
2278
  vm = vm.$.parent;
2276
2279
 
2277
- while (vm !== void 0 && vm !== null) {
2278
- if (vm.proxy !== void 0 && vm.proxy !== null) {
2280
+ while (Object(vm) === vm) {
2281
+ if (Object(vm.proxy) === vm.proxy) {
2279
2282
  return vm.proxy
2280
2283
  }
2281
2284
 
@@ -2305,7 +2308,7 @@
2305
2308
  return vm.appContext.config.globalProperties.$router !== void 0
2306
2309
  }
2307
2310
 
2308
- var QBreadcrumbs = vue.defineComponent({
2311
+ var QBreadcrumbs = createComponent({
2309
2312
  name: 'QBreadcrumbs',
2310
2313
 
2311
2314
  props: {
@@ -2632,7 +2635,7 @@
2632
2635
  }
2633
2636
  }
2634
2637
 
2635
- var QBreadcrumbsEl = vue.defineComponent({
2638
+ var QBreadcrumbsEl = createComponent({
2636
2639
  name: 'QBreadcrumbsEl',
2637
2640
 
2638
2641
  props: {
@@ -2705,7 +2708,7 @@
2705
2708
  }
2706
2709
  }
2707
2710
 
2708
- var QSpinner = vue.defineComponent({
2711
+ var QSpinner = createComponent({
2709
2712
  name: 'QSpinner',
2710
2713
 
2711
2714
  props: {
@@ -2918,7 +2921,7 @@
2918
2921
  };
2919
2922
  }
2920
2923
 
2921
- var Ripple = {
2924
+ var Ripple = createDirective({
2922
2925
  name: 'ripple',
2923
2926
 
2924
2927
  beforeMount (el, binding) {
@@ -2983,7 +2986,8 @@
2983
2986
  cleanEvt(ctx, 'main');
2984
2987
  delete el._qripple;
2985
2988
  }
2986
- };
2989
+ }
2990
+ );
2987
2991
 
2988
2992
  const padding = {
2989
2993
  none: 0,
@@ -3186,7 +3190,7 @@
3186
3190
  keyboardTarget = null,
3187
3191
  mouseTarget = null;
3188
3192
 
3189
- var QBtn = vue.defineComponent({
3193
+ var QBtn = createComponent({
3190
3194
  name: 'QBtn',
3191
3195
 
3192
3196
  props: {
@@ -3541,7 +3545,7 @@
3541
3545
  }
3542
3546
  });
3543
3547
 
3544
- var QBtnGroup = vue.defineComponent({
3548
+ var QBtnGroup = createComponent({
3545
3549
  name: 'QBtnGroup',
3546
3550
 
3547
3551
  props: {
@@ -3842,7 +3846,7 @@
3842
3846
  default: null
3843
3847
  },
3844
3848
 
3845
- 'onUpdate:modelValue': Function
3849
+ 'onUpdate:modelValue': [ Function, Array ]
3846
3850
  };
3847
3851
 
3848
3852
  const useModelToggleEmits = [
@@ -4892,7 +4896,7 @@
4892
4896
  }
4893
4897
  }
4894
4898
 
4895
- var QMenu = vue.defineComponent({
4899
+ var QMenu = createComponent({
4896
4900
  name: 'QMenu',
4897
4901
 
4898
4902
  inheritAttrs: false,
@@ -5239,7 +5243,7 @@
5239
5243
  }
5240
5244
  });
5241
5245
 
5242
- var QBtnDropdown = vue.defineComponent({
5246
+ var QBtnDropdown = createComponent({
5243
5247
  name: 'QBtnDropdown',
5244
5248
 
5245
5249
  props: {
@@ -5471,7 +5475,7 @@
5471
5475
  return vue.computed(() => props.name || props.for)
5472
5476
  }
5473
5477
 
5474
- var QBtnToggle = vue.defineComponent({
5478
+ var QBtnToggle = createComponent({
5475
5479
  name: 'QBtnToggle',
5476
5480
 
5477
5481
  props: {
@@ -5629,7 +5633,7 @@
5629
5633
  }
5630
5634
  });
5631
5635
 
5632
- var QCard = vue.defineComponent({
5636
+ var QCard = createComponent({
5633
5637
  name: 'QCard',
5634
5638
 
5635
5639
  props: {
@@ -5661,7 +5665,7 @@
5661
5665
  }
5662
5666
  });
5663
5667
 
5664
- var QCardSection = vue.defineComponent({
5668
+ var QCardSection = createComponent({
5665
5669
  name: 'QCardSection',
5666
5670
 
5667
5671
  props: {
@@ -5683,7 +5687,7 @@
5683
5687
  }
5684
5688
  });
5685
5689
 
5686
- var QCardActions = vue.defineComponent({
5690
+ var QCardActions = createComponent({
5687
5691
  name: 'QCardActions',
5688
5692
 
5689
5693
  props: {
@@ -5775,7 +5779,7 @@
5775
5779
  return data
5776
5780
  }
5777
5781
 
5778
- var TouchSwipe = {
5782
+ var TouchSwipe = createDirective({
5779
5783
  name: 'touch-swipe',
5780
5784
 
5781
5785
  beforeMount (el, { value, arg, modifiers }) {
@@ -6015,7 +6019,8 @@
6015
6019
  delete el.__qtouchswipe;
6016
6020
  }
6017
6021
  }
6018
- };
6022
+ }
6023
+ );
6019
6024
 
6020
6025
  function useCache () {
6021
6026
  const cache = new Map();
@@ -6539,7 +6544,7 @@
6539
6544
  const navigationPositionOptions = [ 'top', 'right', 'bottom', 'left' ];
6540
6545
  const controlTypeOptions = [ 'regular', 'flat', 'outline', 'push', 'unelevated' ];
6541
6546
 
6542
- var QCarousel = vue.defineComponent({
6547
+ var QCarousel = createComponent({
6543
6548
  name: 'QCarousel',
6544
6549
 
6545
6550
  props: {
@@ -6800,7 +6805,7 @@
6800
6805
  }
6801
6806
  });
6802
6807
 
6803
- var QCarouselSlide = vue.defineComponent({
6808
+ var QCarouselSlide = createComponent({
6804
6809
  name: 'QCarouselSlide',
6805
6810
 
6806
6811
  props: {
@@ -6822,7 +6827,7 @@
6822
6827
  }
6823
6828
  });
6824
6829
 
6825
- var QCarouselControl = vue.defineComponent({
6830
+ var QCarouselControl = createComponent({
6826
6831
  name: 'QCarouselControl',
6827
6832
 
6828
6833
  props: {
@@ -6855,7 +6860,7 @@
6855
6860
  }
6856
6861
  });
6857
6862
 
6858
- var QChatMessage = vue.defineComponent({
6863
+ var QChatMessage = createComponent({
6859
6864
  name: 'QChatMessage',
6860
6865
 
6861
6866
  props: {
@@ -7294,7 +7299,7 @@
7294
7299
  ])
7295
7300
  ]);
7296
7301
 
7297
- var QCheckbox = vue.defineComponent({
7302
+ var QCheckbox = createComponent({
7298
7303
  name: 'QCheckbox',
7299
7304
 
7300
7305
  props: useCheckboxProps,
@@ -7313,7 +7318,7 @@
7313
7318
  xl: 24
7314
7319
  };
7315
7320
 
7316
- var QChip = vue.defineComponent({
7321
+ var QChip = createComponent({
7317
7322
  name: 'QChip',
7318
7323
 
7319
7324
  props: {
@@ -7534,7 +7539,7 @@
7534
7539
  circumference = diameter * Math.PI,
7535
7540
  strokeDashArray = Math.round(circumference * 1000) / 1000;
7536
7541
 
7537
- var QCircularProgress = vue.defineComponent({
7542
+ var QCircularProgress = createComponent({
7538
7543
  name: 'QCircularProgress',
7539
7544
 
7540
7545
  props: {
@@ -7545,6 +7550,11 @@
7545
7550
  default: 0
7546
7551
  },
7547
7552
 
7553
+ animationSpeed: {
7554
+ type: [ String, Number ],
7555
+ default: 600
7556
+ },
7557
+
7548
7558
  indeterminate: Boolean
7549
7559
  },
7550
7560
 
@@ -7564,7 +7574,7 @@
7564
7574
 
7565
7575
  const circleStyle = vue.computed(() => (
7566
7576
  props.instantFeedback !== true && props.indeterminate !== true
7567
- ? { transition: 'stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease' }
7577
+ ? { transition: `stroke-dashoffset ${ props.animationSpeed }ms ease 0s, stroke ${ props.animationSpeed }ms ease` }
7568
7578
  : ''
7569
7579
  ));
7570
7580
 
@@ -7769,7 +7779,7 @@
7769
7779
 
7770
7780
  let uid$4 = 0;
7771
7781
 
7772
- var TouchPan = {
7782
+ var TouchPan = createDirective({
7773
7783
  name: 'touch-pan',
7774
7784
 
7775
7785
  beforeMount (el, { value, modifiers }) {
@@ -8071,7 +8081,8 @@
8071
8081
  delete el.__qtouchpan;
8072
8082
  }
8073
8083
  }
8074
- };
8084
+ }
8085
+ );
8075
8086
 
8076
8087
  // PGDOWN, LEFT, DOWN, PGUP, RIGHT, UP
8077
8088
  const keyCodes$2 = [ 34, 37, 40, 33, 39, 38 ];
@@ -8373,7 +8384,7 @@
8373
8384
  }
8374
8385
  }
8375
8386
 
8376
- var QSlider = vue.defineComponent({
8387
+ var QSlider = createComponent({
8377
8388
  name: 'QSlider',
8378
8389
 
8379
8390
  props: {
@@ -8617,7 +8628,7 @@
8617
8628
  url: 'about:blank'
8618
8629
  };
8619
8630
 
8620
- var QResizeObserver = vue.defineComponent({
8631
+ var QResizeObserver = createComponent({
8621
8632
  name: 'QResizeObserver',
8622
8633
 
8623
8634
  props: {
@@ -8777,7 +8788,7 @@
8777
8788
  const alignValues$1 = [ 'left', 'center', 'right', 'justify' ];
8778
8789
  const emptyFn = () => {};
8779
8790
 
8780
- var QTabs = vue.defineComponent({
8791
+ var QTabs = createComponent({
8781
8792
  name: 'QTabs',
8782
8793
 
8783
8794
  props: {
@@ -8817,7 +8828,7 @@
8817
8828
 
8818
8829
  contentClass: String,
8819
8830
 
8820
- 'onUpdate:modelValue': Function
8831
+ 'onUpdate:modelValue': [ Function, Array ]
8821
8832
  },
8822
8833
 
8823
8834
  setup (props, { slots, emit }) {
@@ -9512,7 +9523,7 @@
9512
9523
  return { renderTab, $tabs }
9513
9524
  }
9514
9525
 
9515
- var QTab = vue.defineComponent({
9526
+ var QTab = createComponent({
9516
9527
  name: 'QTab',
9517
9528
 
9518
9529
  props: useTabProps,
@@ -9525,7 +9536,7 @@
9525
9536
  }
9526
9537
  });
9527
9538
 
9528
- var QTabPanels = vue.defineComponent({
9539
+ var QTabPanels = createComponent({
9529
9540
  name: 'QTabPanels',
9530
9541
 
9531
9542
  props: {
@@ -9561,7 +9572,7 @@
9561
9572
  }
9562
9573
  });
9563
9574
 
9564
- var QTabPanel = vue.defineComponent({
9575
+ var QTabPanel = createComponent({
9565
9576
  name: 'QTabPanel',
9566
9577
 
9567
9578
  props: usePanelChildProps,
@@ -9914,7 +9925,7 @@
9914
9925
 
9915
9926
  const thumbPath = 'M5 5 h10 v10 h-10 v-10 z';
9916
9927
 
9917
- var QColor = vue.defineComponent({
9928
+ var QColor = createComponent({
9918
9929
  name: 'QColor',
9919
9930
 
9920
9931
  props: {
@@ -11484,7 +11495,7 @@
11484
11495
  }
11485
11496
  }
11486
11497
 
11487
- date.dateHash = date.year + '/' + pad(date.month) + '/' + pad(date.day);
11498
+ date.dateHash = pad(date.year, 6) + '/' + pad(date.month) + '/' + pad(date.day);
11488
11499
  date.timeHash = pad(date.hour) + ':' + pad(date.minute) + ':' + pad(date.second) + tzString;
11489
11500
 
11490
11501
  return date
@@ -12019,7 +12030,7 @@
12019
12030
  return date.year + '/' + pad(date.month)
12020
12031
  }
12021
12032
 
12022
- var QDate = vue.defineComponent({
12033
+ var QDate = createComponent({
12023
12034
  name: 'QDate',
12024
12035
 
12025
12036
  props: {
@@ -12797,8 +12808,9 @@
12797
12808
  return getDefaultViewModel()
12798
12809
  }
12799
12810
 
12811
+ const target = model[ model.length - 1 ];
12800
12812
  const decoded = decodeString(
12801
- model[ 0 ].from !== void 0 ? model[ 0 ].from : model[ 0 ],
12813
+ target.from !== void 0 ? target.from : target,
12802
12814
  mask,
12803
12815
  locale
12804
12816
  );
@@ -13706,7 +13718,7 @@
13706
13718
  left: [ 'slide-right', 'slide-left' ]
13707
13719
  };
13708
13720
 
13709
- var QDialog = vue.defineComponent({
13721
+ var QDialog = createComponent({
13710
13722
  name: 'QDialog',
13711
13723
 
13712
13724
  inheritAttrs: false,
@@ -14084,7 +14096,7 @@
14084
14096
 
14085
14097
  const duration = 150;
14086
14098
 
14087
- var QDrawer = vue.defineComponent({
14099
+ var QDrawer = createComponent({
14088
14100
  name: 'QDrawer',
14089
14101
 
14090
14102
  inheritAttrs: false,
@@ -15127,7 +15139,7 @@
15127
15139
  }
15128
15140
  }
15129
15141
 
15130
- var QTooltip = vue.defineComponent({
15142
+ var QTooltip = createComponent({
15131
15143
  name: 'QTooltip',
15132
15144
 
15133
15145
  inheritAttrs: false,
@@ -15421,7 +15433,7 @@
15421
15433
  }
15422
15434
  });
15423
15435
 
15424
- var QItem = vue.defineComponent({
15436
+ var QItem = createComponent({
15425
15437
  name: 'QItem',
15426
15438
 
15427
15439
  props: {
@@ -15569,7 +15581,7 @@
15569
15581
  }
15570
15582
  });
15571
15583
 
15572
- var QItemSection = vue.defineComponent({
15584
+ var QItemSection = createComponent({
15573
15585
  name: 'QItemSection',
15574
15586
 
15575
15587
  props: {
@@ -15985,7 +15997,7 @@
15985
15997
  return target
15986
15998
  }
15987
15999
 
15988
- var QEditor = vue.defineComponent({
16000
+ var QEditor = createComponent({
15989
16001
  name: 'QEditor',
15990
16002
 
15991
16003
  props: {
@@ -16509,7 +16521,7 @@
16509
16521
  }
16510
16522
  });
16511
16523
 
16512
- var QItemLabel = vue.defineComponent({
16524
+ var QItemLabel = createComponent({
16513
16525
  name: 'QItemLabel',
16514
16526
 
16515
16527
  props: {
@@ -16548,7 +16560,7 @@
16548
16560
  }
16549
16561
  });
16550
16562
 
16551
- var QSlideTransition = vue.defineComponent({
16563
+ var QSlideTransition = createComponent({
16552
16564
  name: 'QSlideTransition',
16553
16565
 
16554
16566
  props: {
@@ -16674,7 +16686,7 @@
16674
16686
  xl: 24
16675
16687
  };
16676
16688
 
16677
- var QSeparator = vue.defineComponent({
16689
+ var QSeparator = createComponent({
16678
16690
  name: 'QSeparator',
16679
16691
 
16680
16692
  props: {
@@ -16817,7 +16829,7 @@
16817
16829
  const itemGroups = vue.shallowReactive({});
16818
16830
  const LINK_PROPS = Object.keys(useRouterLinkProps);
16819
16831
 
16820
- var QExpansionItem = vue.defineComponent({
16832
+ var QExpansionItem = createComponent({
16821
16833
  name: 'QExpansionItem',
16822
16834
 
16823
16835
  props: {
@@ -17227,7 +17239,7 @@
17227
17239
  const directions = [ 'up', 'right', 'down', 'left' ];
17228
17240
  const alignValues = [ 'left', 'center', 'right' ];
17229
17241
 
17230
- var QFab = vue.defineComponent({
17242
+ var QFab = createComponent({
17231
17243
  name: 'QFab',
17232
17244
 
17233
17245
  props: {
@@ -17358,7 +17370,7 @@
17358
17370
 
17359
17371
  const anchorValues = Object.keys(anchorMap);
17360
17372
 
17361
- var QFabAction = vue.defineComponent({
17373
+ var QFabAction = createComponent({
17362
17374
  name: 'QFabAction',
17363
17375
 
17364
17376
  props: {
@@ -18251,7 +18263,7 @@
18251
18263
  }
18252
18264
  }
18253
18265
 
18254
- var QField = vue.defineComponent({
18266
+ var QField = createComponent({
18255
18267
  name: 'QField',
18256
18268
 
18257
18269
  inheritAttrs: false,
@@ -18375,6 +18387,14 @@
18375
18387
  files = [ files[ 0 ] ];
18376
18388
  }
18377
18389
 
18390
+ // Avoid duplicate files
18391
+ const filenameMap = currentFileList.map(entry => entry.name);
18392
+ files = filterFiles(files, rejectedFiles, 'duplicate', file => {
18393
+ return filenameMap.includes(file.name) === false
18394
+ });
18395
+
18396
+ if (files.length === 0) { return done() }
18397
+
18378
18398
  if (props.maxTotalSize !== void 0) {
18379
18399
  let size = append === true
18380
18400
  ? currentFileList.reduce((total, file) => total + file.size, 0)
@@ -18506,7 +18526,7 @@
18506
18526
  : vue.computed(getFormDomProps)
18507
18527
  }
18508
18528
 
18509
- var QFile = vue.defineComponent({
18529
+ var QFile = createComponent({
18510
18530
  name: 'QFile',
18511
18531
 
18512
18532
  inheritAttrs: false,
@@ -18768,7 +18788,7 @@
18768
18788
  }
18769
18789
  });
18770
18790
 
18771
- var QFooter = vue.defineComponent({
18791
+ var QFooter = createComponent({
18772
18792
  name: 'QFooter',
18773
18793
 
18774
18794
  props: {
@@ -18960,7 +18980,7 @@
18960
18980
  }
18961
18981
  });
18962
18982
 
18963
- var QForm = vue.defineComponent({
18983
+ var QForm = createComponent({
18964
18984
  name: 'QForm',
18965
18985
 
18966
18986
  props: {
@@ -19176,7 +19196,7 @@
19176
19196
  }
19177
19197
  };
19178
19198
 
19179
- var QHeader = vue.defineComponent({
19199
+ var QHeader = createComponent({
19180
19200
  name: 'QHeader',
19181
19201
 
19182
19202
  props: {
@@ -19368,7 +19388,7 @@
19368
19388
 
19369
19389
  const defaultRatio = 16 / 9;
19370
19390
 
19371
- var QImg = vue.defineComponent({
19391
+ var QImg = createComponent({
19372
19392
  name: 'QImg',
19373
19393
 
19374
19394
  props: {
@@ -19638,7 +19658,9 @@
19638
19658
  }
19639
19659
  });
19640
19660
 
19641
- var QInfiniteScroll = vue.defineComponent({
19661
+ const { passive: passive$3 } = listenOpts;
19662
+
19663
+ var QInfiniteScroll = createComponent({
19642
19664
  name: 'QInfiniteScroll',
19643
19665
 
19644
19666
  props: {
@@ -19665,20 +19687,21 @@
19665
19687
  emits: [ 'load' ],
19666
19688
 
19667
19689
  setup (props, { slots, emit }) {
19668
- const fetching = vue.ref(false);
19690
+ const isFetching = vue.ref(false);
19691
+ const isWorking = vue.ref(true);
19669
19692
  const rootRef = vue.ref(null);
19670
19693
 
19671
19694
  let index = props.initialIndex || 0;
19672
- let isWorking = true;
19695
+ let scrollPos = false;
19673
19696
  let localScrollTarget, poll;
19674
19697
 
19675
19698
  const classes = vue.computed(() =>
19676
19699
  'q-infinite-scroll__loading'
19677
- + (fetching.value === true ? '' : ' invisible')
19700
+ + (isFetching.value === true ? '' : ' invisible')
19678
19701
  );
19679
19702
 
19680
19703
  function immediatePoll () {
19681
- if (props.disable === true || fetching.value === true || isWorking === false) {
19704
+ if (props.disable === true || isFetching.value === true || isWorking.value === false) {
19682
19705
  return
19683
19706
  }
19684
19707
 
@@ -19700,18 +19723,18 @@
19700
19723
  }
19701
19724
 
19702
19725
  function trigger () {
19703
- if (props.disable === true || fetching.value === true || isWorking === false) {
19726
+ if (props.disable === true || isFetching.value === true || isWorking.value === false) {
19704
19727
  return
19705
19728
  }
19706
19729
 
19707
19730
  index++;
19708
- fetching.value = true;
19731
+ isFetching.value = true;
19709
19732
 
19710
19733
  const heightBefore = getScrollHeight(localScrollTarget);
19711
19734
 
19712
19735
  emit('load', index, isDone => {
19713
- if (isWorking === true) {
19714
- fetching.value = false;
19736
+ if (isWorking.value === true) {
19737
+ isFetching.value = false;
19715
19738
  vue.nextTick(() => {
19716
19739
  if (props.reverse === true) {
19717
19740
  const
@@ -19738,31 +19761,31 @@
19738
19761
  }
19739
19762
 
19740
19763
  function resume () {
19741
- if (isWorking === false) {
19742
- isWorking = true;
19743
- localScrollTarget.addEventListener('scroll', poll, listenOpts.passive);
19764
+ if (isWorking.value === false) {
19765
+ isWorking.value = true;
19766
+ localScrollTarget.addEventListener('scroll', poll, passive$3);
19744
19767
  }
19745
19768
 
19746
19769
  immediatePoll();
19747
19770
  }
19748
19771
 
19749
19772
  function stop () {
19750
- if (isWorking === true) {
19751
- isWorking = false;
19752
- fetching.value = false;
19753
- localScrollTarget.removeEventListener('scroll', poll, listenOpts.passive);
19773
+ if (isWorking.value === true) {
19774
+ isWorking.value = false;
19775
+ isFetching.value = false;
19776
+ localScrollTarget.removeEventListener('scroll', poll, passive$3);
19754
19777
  }
19755
19778
  }
19756
19779
 
19757
19780
  function updateScrollTarget () {
19758
- if (localScrollTarget && isWorking === true) {
19759
- localScrollTarget.removeEventListener('scroll', poll, listenOpts.passive);
19781
+ if (localScrollTarget && isWorking.value === true) {
19782
+ localScrollTarget.removeEventListener('scroll', poll, passive$3);
19760
19783
  }
19761
19784
 
19762
19785
  localScrollTarget = getScrollTarget(rootRef.value, props.scrollTarget);
19763
19786
 
19764
- if (isWorking === true) {
19765
- localScrollTarget.addEventListener('scroll', poll, listenOpts.passive);
19787
+ if (isWorking.value === true) {
19788
+ localScrollTarget.addEventListener('scroll', poll, passive$3);
19766
19789
  }
19767
19790
  }
19768
19791
 
@@ -19786,30 +19809,44 @@
19786
19809
  ? immediatePoll
19787
19810
  : debounce(immediatePoll, isNaN(val) === true ? 100 : val);
19788
19811
 
19789
- if (localScrollTarget && isWorking === true) {
19812
+ if (localScrollTarget && isWorking.value === true) {
19790
19813
  if (oldPoll !== void 0) {
19791
- localScrollTarget.removeEventListener('scroll', oldPoll, listenOpts.passive);
19814
+ localScrollTarget.removeEventListener('scroll', oldPoll, passive$3);
19792
19815
  }
19793
19816
 
19794
- localScrollTarget.addEventListener('scroll', poll, listenOpts.passive);
19817
+ localScrollTarget.addEventListener('scroll', poll, passive$3);
19795
19818
  }
19796
19819
  }
19797
19820
 
19798
19821
  vue.watch(() => props.disable, val => {
19799
- if (val === true) {
19800
- stop();
19801
- }
19802
- else {
19803
- resume();
19822
+ if (val === true) { stop(); }
19823
+ else { resume(); }
19824
+ });
19825
+
19826
+ vue.watch(() => props.reverse, val => {
19827
+ if (isFetching.value === false && isWorking.value === true) {
19828
+ immediatePoll();
19804
19829
  }
19805
19830
  });
19806
19831
 
19807
19832
  vue.watch(() => props.scrollTarget, updateScrollTarget);
19808
19833
  vue.watch(() => props.debounce, setDebounce);
19809
19834
 
19835
+ vue.onActivated(() => {
19836
+ if (localScrollTarget && scrollPos !== false) {
19837
+ setVerticalScrollPosition(localScrollTarget, scrollPos);
19838
+ }
19839
+ });
19840
+
19841
+ vue.onDeactivated(() => {
19842
+ scrollPos = localScrollTarget
19843
+ ? getVerticalScrollPosition(localScrollTarget)
19844
+ : false;
19845
+ });
19846
+
19810
19847
  vue.onBeforeUnmount(() => {
19811
- if (isWorking === true) {
19812
- localScrollTarget.removeEventListener('scroll', poll, listenOpts.passive);
19848
+ if (isWorking.value === true) {
19849
+ localScrollTarget.removeEventListener('scroll', poll, passive$3);
19813
19850
  }
19814
19851
  });
19815
19852
 
@@ -19832,7 +19869,7 @@
19832
19869
  return () => {
19833
19870
  const child = hUniqueSlot(slots.default, []);
19834
19871
 
19835
- if (props.disable !== true && isWorking === true) {
19872
+ if (props.disable !== true && isWorking.value === true) {
19836
19873
  child[ props.reverse === false ? 'push' : 'unshift' ](
19837
19874
  vue.h('div', { class: classes.value }, hSlot(slots.loading))
19838
19875
  );
@@ -19846,7 +19883,7 @@
19846
19883
  }
19847
19884
  });
19848
19885
 
19849
- var QInnerLoading = vue.defineComponent({
19886
+ var QInnerLoading = createComponent({
19850
19887
  name: 'QInnerLoading',
19851
19888
 
19852
19889
  props: {
@@ -20488,7 +20525,7 @@
20488
20525
  }
20489
20526
  }
20490
20527
 
20491
- var QInput = vue.defineComponent({
20528
+ var QInput = createComponent({
20492
20529
  name: 'QInput',
20493
20530
 
20494
20531
  inheritAttrs: false,
@@ -20937,7 +20974,7 @@
20937
20974
  }
20938
20975
  }
20939
20976
 
20940
- var Intersection = {
20977
+ var Intersection = createDirective({
20941
20978
  name: 'intersection',
20942
20979
 
20943
20980
  mounted (el, { modifiers, value }) {
@@ -20956,9 +20993,10 @@
20956
20993
  },
20957
20994
 
20958
20995
  beforeUnmount: destroy$1
20959
- };
20996
+ }
20997
+ );
20960
20998
 
20961
- var QIntersection = vue.defineComponent({
20999
+ var QIntersection = createComponent({
20962
21000
  name: 'QIntersection',
20963
21001
 
20964
21002
  props: {
@@ -21048,7 +21086,7 @@
21048
21086
  }
21049
21087
  });
21050
21088
 
21051
- var QList = vue.defineComponent({
21089
+ var QList = createComponent({
21052
21090
  name: 'QList',
21053
21091
 
21054
21092
  props: {
@@ -21081,7 +21119,7 @@
21081
21119
  const keyCodes$1 = [ 34, 37, 40, 33, 39, 38 ];
21082
21120
  const commonPropsName = Object.keys(useCircularCommonProps);
21083
21121
 
21084
- var QKnob = vue.defineComponent({
21122
+ var QKnob = createComponent({
21085
21123
  name: 'QKnob',
21086
21124
 
21087
21125
  props: {
@@ -21348,7 +21386,7 @@
21348
21386
  const { passive: passive$2 } = listenOpts;
21349
21387
  const axisValues = [ 'both', 'horizontal', 'vertical' ];
21350
21388
 
21351
- var QScrollObserver = vue.defineComponent({
21389
+ var QScrollObserver = createComponent({
21352
21390
  name: 'QScrollObserver',
21353
21391
 
21354
21392
  props: {
@@ -21476,7 +21514,7 @@
21476
21514
  }
21477
21515
  });
21478
21516
 
21479
- var QLayout = vue.defineComponent({
21517
+ var QLayout = createComponent({
21480
21518
  name: 'QLayout',
21481
21519
 
21482
21520
  props: {
@@ -21676,7 +21714,7 @@
21676
21714
 
21677
21715
  const separatorValues = [ 'horizontal', 'vertical', 'cell', 'none' ];
21678
21716
 
21679
- var QMarkupTable = vue.defineComponent({
21717
+ var QMarkupTable = createComponent({
21680
21718
  name: 'QMarkupTable',
21681
21719
 
21682
21720
  props: {
@@ -21718,7 +21756,7 @@
21718
21756
  }
21719
21757
  });
21720
21758
 
21721
- var QNoSsr = vue.defineComponent({
21759
+ var QNoSsr = createComponent({
21722
21760
  name: 'QNoSsr',
21723
21761
 
21724
21762
  props: {
@@ -21774,7 +21812,7 @@
21774
21812
  })
21775
21813
  ]);
21776
21814
 
21777
- var QRadio = vue.defineComponent({
21815
+ var QRadio = createComponent({
21778
21816
  name: 'QRadio',
21779
21817
 
21780
21818
  props: {
@@ -21928,7 +21966,7 @@
21928
21966
  }
21929
21967
  });
21930
21968
 
21931
- var QToggle = vue.defineComponent({
21969
+ var QToggle = createComponent({
21932
21970
  name: 'QToggle',
21933
21971
 
21934
21972
  props: {
@@ -21988,7 +22026,7 @@
21988
22026
 
21989
22027
  const typeValues = Object.keys(components$1);
21990
22028
 
21991
- var QOptionGroup = vue.defineComponent({
22029
+ var QOptionGroup = createComponent({
21992
22030
  name: 'QOptionGroup',
21993
22031
 
21994
22032
  props: {
@@ -22097,7 +22135,7 @@
22097
22135
  }
22098
22136
  });
22099
22137
 
22100
- var QPage = vue.defineComponent({
22138
+ var QPage = createComponent({
22101
22139
  name: 'QPage',
22102
22140
 
22103
22141
  props: {
@@ -22148,7 +22186,7 @@
22148
22186
  }
22149
22187
  });
22150
22188
 
22151
- var QPageContainer = vue.defineComponent({
22189
+ var QPageContainer = createComponent({
22152
22190
  name: 'QPageContainer',
22153
22191
 
22154
22192
  setup (_, { slots }) {
@@ -22299,7 +22337,7 @@
22299
22337
  }
22300
22338
  }
22301
22339
 
22302
- var QPageScroller = vue.defineComponent({
22340
+ var QPageScroller = createComponent({
22303
22341
  name: 'QPageScroller',
22304
22342
 
22305
22343
  props: {
@@ -22411,7 +22449,7 @@
22411
22449
  }
22412
22450
  });
22413
22451
 
22414
- var QPageSticky = vue.defineComponent({
22452
+ var QPageSticky = createComponent({
22415
22453
  name: 'QPageSticky',
22416
22454
 
22417
22455
  props: usePageStickyProps,
@@ -22422,7 +22460,7 @@
22422
22460
  }
22423
22461
  });
22424
22462
 
22425
- var QPagination = vue.defineComponent({
22463
+ var QPagination = createComponent({
22426
22464
  name: 'QPagination',
22427
22465
 
22428
22466
  props: {
@@ -22812,7 +22850,7 @@
22812
22850
 
22813
22851
  const { passive: passive$1 } = listenOpts;
22814
22852
 
22815
- var QParallax = vue.defineComponent({
22853
+ var QParallax = createComponent({
22816
22854
  name: 'QParallax',
22817
22855
 
22818
22856
  props: {
@@ -22976,7 +23014,7 @@
22976
23014
  }
22977
23015
  }
22978
23016
 
22979
- var QPopupEdit = vue.defineComponent({
23017
+ var QPopupEdit = createComponent({
22980
23018
  name: 'QPopupEdit',
22981
23019
 
22982
23020
  props: {
@@ -23162,7 +23200,7 @@
23162
23200
  }
23163
23201
  });
23164
23202
 
23165
- var QPopupProxy = vue.defineComponent({
23203
+ var QPopupProxy = createComponent({
23166
23204
  name: 'QPopupProxy',
23167
23205
 
23168
23206
  props: {
@@ -23194,6 +23232,10 @@
23194
23232
 
23195
23233
  const type = vue.ref(getType());
23196
23234
 
23235
+ const popupProps = vue.computed(() => (
23236
+ type.value === 'menu' ? { maxHeight: '99vh' } : {})
23237
+ );
23238
+
23197
23239
  vue.watch(() => getType(), val => {
23198
23240
  if (showing.value !== true) {
23199
23241
  type.value = val;
@@ -23219,21 +23261,9 @@
23219
23261
  }
23220
23262
 
23221
23263
  return () => {
23222
- const def = hSlot(slots.default);
23223
-
23224
- const popupProps = (
23225
- type.value === 'menu'
23226
- && def !== void 0
23227
- && def[ 0 ] !== void 0
23228
- && def[ 0 ].type !== void 0
23229
- && [ 'QDate', 'QTime', 'QCarousel', 'QColor' ].includes(
23230
- def[ 0 ].type.name
23231
- )
23232
- ) ? { cover: true, maxHeight: '99vh' } : {};
23233
-
23234
23264
  const data = {
23235
23265
  ref: popupRef,
23236
- ...popupProps,
23266
+ ...popupProps.value,
23237
23267
  ...attrs,
23238
23268
  onShow,
23239
23269
  onHide
@@ -23254,7 +23284,7 @@
23254
23284
  });
23255
23285
  }
23256
23286
 
23257
- return vue.h(component, data, () => def)
23287
+ return vue.h(component, data, slots.default)
23258
23288
  }
23259
23289
  }
23260
23290
  });
@@ -23275,7 +23305,7 @@
23275
23305
  }
23276
23306
  }
23277
23307
 
23278
- var QLinearProgress = vue.defineComponent({
23308
+ var QLinearProgress = createComponent({
23279
23309
  name: 'QLinearProgress',
23280
23310
 
23281
23311
  props: {
@@ -23297,6 +23327,11 @@
23297
23327
  query: Boolean,
23298
23328
  rounded: Boolean,
23299
23329
 
23330
+ animationSpeed: {
23331
+ type: [ String, Number ],
23332
+ default: 2100
23333
+ },
23334
+
23300
23335
  instantFeedback: Boolean
23301
23336
  },
23302
23337
 
@@ -23306,6 +23341,10 @@
23306
23341
  const sizeStyle = useSize(props, defaultSizes);
23307
23342
 
23308
23343
  const motion = vue.computed(() => props.indeterminate === true || props.query === true);
23344
+ const style = vue.computed(() => ({
23345
+ ...(sizeStyle.value !== null ? sizeStyle.value : {}),
23346
+ '--q-linear-progress-speed': `${ props.animationSpeed }ms`
23347
+ }));
23309
23348
 
23310
23349
  const classes = vue.computed(() =>
23311
23350
  'q-linear-progress'
@@ -23356,7 +23395,7 @@
23356
23395
 
23357
23396
  return vue.h('div', {
23358
23397
  class: classes.value,
23359
- style: sizeStyle.value,
23398
+ style: style.value,
23360
23399
  role: 'progressbar',
23361
23400
  'aria-valuemin': 0,
23362
23401
  'aria-valuemax': 1,
@@ -23372,7 +23411,7 @@
23372
23411
  PULLER_HEIGHT = 40,
23373
23412
  OFFSET_TOP = 20;
23374
23413
 
23375
- var QPullToRefresh = vue.defineComponent({
23414
+ var QPullToRefresh = createComponent({
23376
23415
  name: 'QPullToRefresh',
23377
23416
 
23378
23417
  props: {
@@ -23577,7 +23616,7 @@
23577
23616
  MAX: 2
23578
23617
  };
23579
23618
 
23580
- var QRange = vue.defineComponent({
23619
+ var QRange = createComponent({
23581
23620
  name: 'QRange',
23582
23621
 
23583
23622
  props: {
@@ -24085,7 +24124,7 @@
24085
24124
  }
24086
24125
  });
24087
24126
 
24088
- var QRating = vue.defineComponent({
24127
+ var QRating = createComponent({
24089
24128
  name: 'QRating',
24090
24129
 
24091
24130
  props: {
@@ -24311,7 +24350,7 @@
24311
24350
  }
24312
24351
  });
24313
24352
 
24314
- var QResponsive = vue.defineComponent({
24353
+ var QResponsive = createComponent({
24315
24354
  name: 'QResponsive',
24316
24355
 
24317
24356
  props: useRatioProps,
@@ -24341,7 +24380,7 @@
24341
24380
  horizontal: { offset: 'offsetX', scroll: 'scrollLeft', dir: 'right', dist: 'x' }
24342
24381
  };
24343
24382
 
24344
- var QScrollArea = vue.defineComponent({
24383
+ var QScrollArea = createComponent({
24345
24384
  name: 'QScrollArea',
24346
24385
 
24347
24386
  props: {
@@ -25443,6 +25482,22 @@
25443
25482
  setVirtualScrollSize();
25444
25483
  });
25445
25484
 
25485
+ vue.onActivated(() => {
25486
+ const scrollEl = getVirtualScrollTarget();
25487
+
25488
+ if (prevScrollStart !== void 0 && scrollEl !== void 0 && scrollEl !== null && scrollEl.nodeType !== 8) {
25489
+ setScroll(
25490
+ scrollEl,
25491
+ prevScrollStart,
25492
+ props.virtualScrollHorizontal,
25493
+ $q.lang.rtl
25494
+ );
25495
+ }
25496
+ else {
25497
+ scrollTo(prevToIndex);
25498
+ }
25499
+ });
25500
+
25446
25501
  setOverflowAnchor !== noop && vue.onBeforeUnmount(() => {
25447
25502
  const styleSheet = document.getElementById(vsId + '_ss');
25448
25503
  styleSheet !== null && styleSheet.remove();
@@ -25470,7 +25525,7 @@
25470
25525
  const reEscapeList = '.*+?^${}()|[]\\';
25471
25526
  const fieldPropsList = Object.keys(useFieldProps);
25472
25527
 
25473
- var QSelect = vue.defineComponent({
25528
+ var QSelect = createComponent({
25474
25529
  name: 'QSelect',
25475
25530
 
25476
25531
  inheritAttrs: false,
@@ -26376,6 +26431,12 @@
26376
26431
  }
26377
26432
 
26378
26433
  function getAllOptions () {
26434
+ if (noOptions.value === true) {
26435
+ return slots[ 'no-option' ] !== void 0
26436
+ ? slots[ 'no-option' ]({ inputValue: inputValue.value })
26437
+ : void 0
26438
+ }
26439
+
26379
26440
  const fn = slots.option !== void 0
26380
26441
  ? slots.option
26381
26442
  : scope => {
@@ -26557,14 +26618,6 @@
26557
26618
  }
26558
26619
 
26559
26620
  function getMenu () {
26560
- const child = noOptions.value === true
26561
- ? (
26562
- slots[ 'no-option' ] !== void 0
26563
- ? () => slots[ 'no-option' ]({ inputValue: inputValue.value })
26564
- : void 0
26565
- )
26566
- : getAllOptions;
26567
-
26568
26621
  return vue.h(QMenu, {
26569
26622
  ref: menuRef,
26570
26623
  class: menuContentClass.value,
@@ -26589,7 +26642,7 @@
26589
26642
  onBeforeShow: onControlPopupShow,
26590
26643
  onBeforeHide: onMenuBeforeHide,
26591
26644
  onShow: onMenuShow
26592
- }, child)
26645
+ }, getAllOptions)
26593
26646
  }
26594
26647
 
26595
26648
  function onMenuBeforeHide (e) {
@@ -26646,15 +26699,7 @@
26646
26699
  ...listboxAttrs.value,
26647
26700
  onClick: prevent,
26648
26701
  onScrollPassive: onVirtualScrollEvt
26649
- }, (
26650
- noOptions.value === true
26651
- ? (
26652
- slots[ 'no-option' ] !== void 0
26653
- ? slots[ 'no-option' ]({ inputValue: inputValue.value })
26654
- : null
26655
- )
26656
- : getAllOptions()
26657
- ))
26702
+ }, getAllOptions())
26658
26703
  );
26659
26704
 
26660
26705
  return vue.h(QDialog, {
@@ -26974,7 +27019,7 @@
26974
27019
  'wave', 'pulse', 'pulse-x', 'pulse-y', 'fade', 'blink', 'none'
26975
27020
  ];
26976
27021
 
26977
- var QSkeleton = vue.defineComponent({
27022
+ var QSkeleton = createComponent({
26978
27023
  name: 'QSkeleton',
26979
27024
 
26980
27025
  props: {
@@ -27046,7 +27091,7 @@
27046
27091
  [ 'bottom', 'end', 'center', 'height' ]
27047
27092
  ];
27048
27093
 
27049
- var QSlideItem = vue.defineComponent({
27094
+ var QSlideItem = createComponent({
27050
27095
  name: 'QSlideItem',
27051
27096
 
27052
27097
  props: {
@@ -27265,7 +27310,7 @@
27265
27310
 
27266
27311
  const space = vue.h('div', { class: 'q-space' });
27267
27312
 
27268
- var QSpace = vue.defineComponent({
27313
+ var QSpace = createComponent({
27269
27314
  name: 'QSpace',
27270
27315
 
27271
27316
  setup () {
@@ -27339,7 +27384,7 @@
27339
27384
  ])
27340
27385
  ];
27341
27386
 
27342
- var QSpinnerAudio = vue.defineComponent({
27387
+ var QSpinnerAudio = createComponent({
27343
27388
  name: 'QSpinnerAudio',
27344
27389
 
27345
27390
  props: useSpinnerProps,
@@ -27440,7 +27485,7 @@
27440
27485
  ])
27441
27486
  ];
27442
27487
 
27443
- var QSpinnerBall = vue.defineComponent({
27488
+ var QSpinnerBall = createComponent({
27444
27489
  name: 'QSpinnerBall',
27445
27490
 
27446
27491
  props: useSpinnerProps,
@@ -27580,7 +27625,7 @@
27580
27625
  ])
27581
27626
  ];
27582
27627
 
27583
- var QSpinnerBars = vue.defineComponent({
27628
+ var QSpinnerBars = createComponent({
27584
27629
  name: 'QSpinnerBars',
27585
27630
 
27586
27631
  props: useSpinnerProps,
@@ -27638,7 +27683,7 @@
27638
27683
  ])
27639
27684
  ];
27640
27685
 
27641
- var QSpinnerBox = vue.defineComponent({
27686
+ var QSpinnerBox = createComponent({
27642
27687
  name: 'QSpinnerBox',
27643
27688
 
27644
27689
  props: useSpinnerProps,
@@ -27707,7 +27752,7 @@
27707
27752
  ])
27708
27753
  ];
27709
27754
 
27710
- var QSpinnerClock = vue.defineComponent({
27755
+ var QSpinnerClock = createComponent({
27711
27756
  name: 'QSpinnerClock',
27712
27757
 
27713
27758
  props: useSpinnerProps,
@@ -27788,7 +27833,7 @@
27788
27833
  ])
27789
27834
  ];
27790
27835
 
27791
- var QSpinnerComment = vue.defineComponent({
27836
+ var QSpinnerComment = createComponent({
27792
27837
  name: 'QSpinnerComment',
27793
27838
 
27794
27839
  props: useSpinnerProps,
@@ -27917,7 +27962,7 @@
27917
27962
  ])
27918
27963
  ];
27919
27964
 
27920
- var QSpinnerCube = vue.defineComponent({
27965
+ var QSpinnerCube = createComponent({
27921
27966
  name: 'QSpinnerCube',
27922
27967
 
27923
27968
  props: useSpinnerProps,
@@ -28018,7 +28063,7 @@
28018
28063
  ])
28019
28064
  ];
28020
28065
 
28021
- var QSpinnerDots = vue.defineComponent({
28066
+ var QSpinnerDots = createComponent({
28022
28067
  name: 'QSpinnerDots',
28023
28068
 
28024
28069
  props: useSpinnerProps,
@@ -28118,7 +28163,7 @@
28118
28163
  ])
28119
28164
  ];
28120
28165
 
28121
- var QSpinnerFacebook = vue.defineComponent({
28166
+ var QSpinnerFacebook = createComponent({
28122
28167
  name: 'QSpinnerFacebook',
28123
28168
 
28124
28169
  props: useSpinnerProps,
@@ -28174,7 +28219,7 @@
28174
28219
  ])
28175
28220
  ];
28176
28221
 
28177
- var QSpinnerGears = vue.defineComponent({
28222
+ var QSpinnerGears = createComponent({
28178
28223
  name: 'QSpinnerGears',
28179
28224
 
28180
28225
  props: useSpinnerProps,
@@ -28323,7 +28368,7 @@
28323
28368
  ])
28324
28369
  ];
28325
28370
 
28326
- var QSpinnerGrid = vue.defineComponent({
28371
+ var QSpinnerGrid = createComponent({
28327
28372
  name: 'QSpinnerGrid',
28328
28373
 
28329
28374
  props: useSpinnerProps,
@@ -28374,7 +28419,7 @@
28374
28419
  })
28375
28420
  ];
28376
28421
 
28377
- var QSpinnerHearts = vue.defineComponent({
28422
+ var QSpinnerHearts = createComponent({
28378
28423
  name: 'QSpinnerHearts',
28379
28424
 
28380
28425
  props: useSpinnerProps,
@@ -28483,7 +28528,7 @@
28483
28528
  ])
28484
28529
  ];
28485
28530
 
28486
- var QSpinnerHourglass = vue.defineComponent({
28531
+ var QSpinnerHourglass = createComponent({
28487
28532
  name: 'QSpinnerHourglass',
28488
28533
 
28489
28534
  props: useSpinnerProps,
@@ -28523,7 +28568,7 @@
28523
28568
  ])
28524
28569
  ];
28525
28570
 
28526
- var QSpinnerInfinity = vue.defineComponent({
28571
+ var QSpinnerInfinity = createComponent({
28527
28572
  name: 'QSpinnerInfinity',
28528
28573
 
28529
28574
  props: useSpinnerProps,
@@ -28693,7 +28738,7 @@
28693
28738
  ])
28694
28739
  ];
28695
28740
 
28696
- var QSpinnerIos = vue.defineComponent({
28741
+ var QSpinnerIos = createComponent({
28697
28742
  name: 'QSpinnerIos',
28698
28743
 
28699
28744
  props: useSpinnerProps,
@@ -28741,7 +28786,7 @@
28741
28786
  ])
28742
28787
  ];
28743
28788
 
28744
- var QSpinnerOrbit = vue.defineComponent({
28789
+ var QSpinnerOrbit = createComponent({
28745
28790
  name: 'QSpinnerOrbit',
28746
28791
 
28747
28792
  props: useSpinnerProps,
@@ -28788,7 +28833,7 @@
28788
28833
  ])
28789
28834
  ];
28790
28835
 
28791
- var QSpinnerOval = vue.defineComponent({
28836
+ var QSpinnerOval = createComponent({
28792
28837
  name: 'QSpinnerOval',
28793
28838
 
28794
28839
  props: useSpinnerProps,
@@ -28866,7 +28911,7 @@
28866
28911
  ])
28867
28912
  ];
28868
28913
 
28869
- var QSpinnerPie = vue.defineComponent({
28914
+ var QSpinnerPie = createComponent({
28870
28915
  name: 'QSpinnerPie',
28871
28916
 
28872
28917
  props: useSpinnerProps,
@@ -28946,7 +28991,7 @@
28946
28991
  ])
28947
28992
  ];
28948
28993
 
28949
- var QSpinnerPuff = vue.defineComponent({
28994
+ var QSpinnerPuff = createComponent({
28950
28995
  name: 'QSpinnerPuff',
28951
28996
 
28952
28997
  props: useSpinnerProps,
@@ -29019,7 +29064,7 @@
29019
29064
  ])
29020
29065
  ];
29021
29066
 
29022
- var QSpinnerRadio = vue.defineComponent({
29067
+ var QSpinnerRadio = createComponent({
29023
29068
  name: 'QSpinnerRadio',
29024
29069
 
29025
29070
  props: useSpinnerProps,
@@ -29122,7 +29167,7 @@
29122
29167
  ])
29123
29168
  ];
29124
29169
 
29125
- var QSpinnerRings = vue.defineComponent({
29170
+ var QSpinnerRings = createComponent({
29126
29171
  name: 'QSpinnerRings',
29127
29172
 
29128
29173
  props: useSpinnerProps,
@@ -29203,7 +29248,7 @@
29203
29248
  ])
29204
29249
  ];
29205
29250
 
29206
- var QSpinnerTail = vue.defineComponent({
29251
+ var QSpinnerTail = createComponent({
29207
29252
  name: 'QSpinnerTail',
29208
29253
 
29209
29254
  props: useSpinnerProps,
@@ -29221,7 +29266,7 @@
29221
29266
  }
29222
29267
  });
29223
29268
 
29224
- var QSplitter = vue.defineComponent({
29269
+ var QSplitter = createComponent({
29225
29270
  name: 'QSplitter',
29226
29271
 
29227
29272
  props: {
@@ -29419,7 +29464,7 @@
29419
29464
  }
29420
29465
  });
29421
29466
 
29422
- var StepHeader = vue.defineComponent({
29467
+ var StepHeader = createComponent({
29423
29468
  name: 'StepHeader',
29424
29469
 
29425
29470
  props: {
@@ -29596,7 +29641,7 @@
29596
29641
  }
29597
29642
  };
29598
29643
 
29599
- var QStep = vue.defineComponent({
29644
+ var QStep = createComponent({
29600
29645
  name: 'QStep',
29601
29646
 
29602
29647
  props: {
@@ -29713,7 +29758,7 @@
29713
29758
  return acc
29714
29759
  }
29715
29760
 
29716
- var QStepper = vue.defineComponent({
29761
+ var QStepper = createComponent({
29717
29762
  name: 'QStepper',
29718
29763
 
29719
29764
  props: {
@@ -29826,7 +29871,7 @@
29826
29871
  }
29827
29872
  });
29828
29873
 
29829
- var QStepperNavigation = vue.defineComponent({
29874
+ var QStepperNavigation = createComponent({
29830
29875
  name: 'QStepperNavigation',
29831
29876
 
29832
29877
  setup (_, { slots }) {
@@ -29834,7 +29879,7 @@
29834
29879
  }
29835
29880
  });
29836
29881
 
29837
- var QTh = vue.defineComponent({
29882
+ var QTh = createComponent({
29838
29883
  name: 'QTh',
29839
29884
 
29840
29885
  props: {
@@ -29911,7 +29956,7 @@
29911
29956
 
29912
29957
  const typeOptions = [ 'list', 'table', '__qtable' ];
29913
29958
 
29914
- var QVirtualScroll = vue.defineComponent({
29959
+ var QVirtualScroll = createComponent({
29915
29960
  name: 'QVirtualScroll',
29916
29961
 
29917
29962
  props: {
@@ -30238,7 +30283,7 @@
30238
30283
  default: () => [ 5, 7, 10, 15, 20, 25, 50, 0 ]
30239
30284
  },
30240
30285
 
30241
- 'onUpdate:pagination': Function
30286
+ 'onUpdate:pagination': [ Function, Array ]
30242
30287
  };
30243
30288
 
30244
30289
  function useTablePaginationState (vm, getCellValue) {
@@ -30288,7 +30333,7 @@
30288
30333
  ...val
30289
30334
  });
30290
30335
 
30291
- if (samePagination(computedPagination.value, newPagination)) {
30336
+ if (samePagination(computedPagination.value, newPagination) === true) {
30292
30337
  if (isServerSide.value === true && forceServerRequest === true) {
30293
30338
  sendServerRequest(newPagination);
30294
30339
  }
@@ -30655,7 +30700,7 @@
30655
30700
  const commonVirtPropsObj = {};
30656
30701
  commonVirtPropsList.forEach(p => { commonVirtPropsObj[ p ] = {}; });
30657
30702
 
30658
- var QTable = vue.defineComponent({
30703
+ var QTable = createComponent({
30659
30704
  name: 'QTable',
30660
30705
 
30661
30706
  props: {
@@ -31694,7 +31739,7 @@
31694
31739
  }
31695
31740
  });
31696
31741
 
31697
- var QTr = vue.defineComponent({
31742
+ var QTr = createComponent({
31698
31743
  name: 'QTr',
31699
31744
 
31700
31745
  props: {
@@ -31713,7 +31758,7 @@
31713
31758
  }
31714
31759
  });
31715
31760
 
31716
- var QTd = vue.defineComponent({
31761
+ var QTd = createComponent({
31717
31762
  name: 'QTd',
31718
31763
 
31719
31764
  props: {
@@ -31753,7 +31798,7 @@
31753
31798
  }
31754
31799
  });
31755
31800
 
31756
- var QRouteTab = vue.defineComponent({
31801
+ var QRouteTab = createComponent({
31757
31802
  name: 'QRouteTab',
31758
31803
 
31759
31804
  props: {
@@ -31809,7 +31854,7 @@
31809
31854
  }
31810
31855
  }
31811
31856
 
31812
- var QTime = vue.defineComponent({
31857
+ var QTime = createComponent({
31813
31858
  name: 'QTime',
31814
31859
 
31815
31860
  props: {
@@ -32061,8 +32106,6 @@
32061
32106
  defaultDateModel.value
32062
32107
  );
32063
32108
 
32064
- console.log({ ...model });
32065
-
32066
32109
  if (
32067
32110
  model.dateHash !== innerModel.value.dateHash
32068
32111
  || model.timeHash !== innerModel.value.timeHash
@@ -32433,21 +32476,22 @@
32433
32476
  function setHour (hour) {
32434
32477
  if (innerModel.value.hour !== hour) {
32435
32478
  innerModel.value.hour = hour;
32436
- innerModel.value.minute = null;
32437
- innerModel.value.second = null;
32479
+ verifyAndUpdate();
32438
32480
  }
32439
32481
  }
32440
32482
 
32441
32483
  function setMinute (minute) {
32442
32484
  if (innerModel.value.minute !== minute) {
32443
32485
  innerModel.value.minute = minute;
32444
- innerModel.value.second = null;
32445
- props.withSeconds !== true && updateValue({ minute });
32486
+ verifyAndUpdate();
32446
32487
  }
32447
32488
  }
32448
32489
 
32449
32490
  function setSecond (second) {
32450
- innerModel.value.second !== second && updateValue({ second });
32491
+ if (innerModel.value.second !== second) {
32492
+ innerModel.value.second = second;
32493
+ verifyAndUpdate();
32494
+ }
32451
32495
  }
32452
32496
 
32453
32497
  const setModel = {
@@ -32696,7 +32740,7 @@
32696
32740
  }
32697
32741
  });
32698
32742
 
32699
- var QTimeline = vue.defineComponent({
32743
+ var QTimeline = createComponent({
32700
32744
  name: 'QTimeline',
32701
32745
 
32702
32746
  props: {
@@ -32733,7 +32777,7 @@
32733
32777
  }
32734
32778
  });
32735
32779
 
32736
- var QTimelineEntry = vue.defineComponent({
32780
+ var QTimelineEntry = createComponent({
32737
32781
  name: 'QTimelineEntry',
32738
32782
 
32739
32783
  props: {
@@ -32837,7 +32881,7 @@
32837
32881
  }
32838
32882
  });
32839
32883
 
32840
- var QToolbar = vue.defineComponent({
32884
+ var QToolbar = createComponent({
32841
32885
  name: 'QToolbar',
32842
32886
 
32843
32887
  props: {
@@ -32854,7 +32898,7 @@
32854
32898
  }
32855
32899
  });
32856
32900
 
32857
- var QToolbarTitle = vue.defineComponent({
32901
+ var QToolbarTitle = createComponent({
32858
32902
  name: 'QToolbarTitle',
32859
32903
 
32860
32904
  props: {
@@ -32871,7 +32915,9 @@
32871
32915
  }
32872
32916
  });
32873
32917
 
32874
- var QTree = vue.defineComponent({
32918
+ const tickStrategyOptions = [ 'none', 'strict', 'leaf', 'leaf-filtered' ];
32919
+
32920
+ var QTree = createComponent({
32875
32921
  name: 'QTree',
32876
32922
 
32877
32923
  props: {
@@ -32894,6 +32940,8 @@
32894
32940
  default: 'children'
32895
32941
  },
32896
32942
 
32943
+ dense: Boolean,
32944
+
32897
32945
  color: String,
32898
32946
  controlColor: String,
32899
32947
  textColor: String,
@@ -32904,7 +32952,7 @@
32904
32952
  tickStrategy: {
32905
32953
  type: String,
32906
32954
  default: 'none',
32907
- validator: v => [ 'none', 'strict', 'leaf', 'leaf-filtered' ].includes(v)
32955
+ validator: v => tickStrategyOptions.includes(v)
32908
32956
  },
32909
32957
  ticked: Array, // v-model:ticked
32910
32958
  expanded: Array, // v-model:expanded
@@ -32949,7 +32997,7 @@
32949
32997
  });
32950
32998
 
32951
32999
  const classes = vue.computed(() =>
32952
- 'q-tree'
33000
+ `q-tree q-tree--${ props.dense === true ? 'dense' : 'standard' }`
32953
33001
  + (props.noConnectors === true ? ' q-tree--no-connectors' : '')
32954
33002
  + (isDark.value === true ? ' q-tree--dark' : '')
32955
33003
  + (props.color !== void 0 ? ` text-${ props.color }` : '')
@@ -33391,13 +33439,13 @@
33391
33439
 
33392
33440
  m.lazy === 'loading'
33393
33441
  ? vue.h(QSpinner, {
33394
- class: 'q-tree__spinner q-mr-xs',
33442
+ class: 'q-tree__spinner',
33395
33443
  color: computedControlColor.value
33396
33444
  })
33397
33445
  : (
33398
33446
  isParent === true
33399
33447
  ? vue.h(QIcon, {
33400
- class: 'q-tree__arrow q-mr-xs'
33448
+ class: 'q-tree__arrow'
33401
33449
  + (m.expanded === true ? ' q-tree__arrow--rotate' : ''),
33402
33450
  name: computedIcon.value,
33403
33451
  onClick (e) { onExpandClick(node, m, e); }
@@ -33407,7 +33455,7 @@
33407
33455
 
33408
33456
  m.hasTicking === true && m.noTick !== true
33409
33457
  ? vue.h(QCheckbox, {
33410
- class: 'q-mr-xs',
33458
+ class: 'q-tree__tickbox',
33411
33459
  modelValue: m.indeterminate === true ? null : m.ticked,
33412
33460
  color: computedControlColor.value,
33413
33461
  dark: isDark.value,
@@ -33799,20 +33847,15 @@
33799
33847
  }
33800
33848
 
33801
33849
  function addFilesToQueue (e, fileList) {
33802
- const processedFiles = processFiles(e, fileList, state.files.value, true);
33803
-
33804
- if (processedFiles === void 0) { return }
33850
+ const localFiles = processFiles(e, fileList, state.files.value, true);
33805
33851
 
33806
- const localFiles = processedFiles
33807
- .filter(file => state.files.value.findIndex(f => file.name === f.name) === -1);
33852
+ if (localFiles === void 0) { return }
33808
33853
 
33809
33854
  const fileInput = getFileInput();
33810
33855
  if (fileInput !== void 0 && fileInput !== null) {
33811
33856
  fileInput.value = '';
33812
33857
  }
33813
33858
 
33814
- if (localFiles === void 0) { return }
33815
-
33816
33859
  localFiles.forEach(file => {
33817
33860
  state.updateFileStatus(file, 'idle');
33818
33861
  uploadSize.value += file.size;
@@ -34019,7 +34062,21 @@
34019
34062
  }
34020
34063
  }
34021
34064
 
34022
- var createUploaderComponent = ({ name, props, emits, injectPlugin }) => vue.defineComponent({
34065
+ const trueFn = () => true;
34066
+
34067
+ function getEmitsObject (emitsArray) {
34068
+ const emitsObject = {};
34069
+
34070
+ emitsArray.forEach(val => {
34071
+ emitsObject[ val ] = trueFn;
34072
+ });
34073
+
34074
+ return emitsObject
34075
+ }
34076
+
34077
+ const coreEmitsObject = getEmitsObject(coreEmits);
34078
+
34079
+ var createUploaderComponent = ({ name, props, emits, injectPlugin }) => createComponent({
34023
34080
  name,
34024
34081
 
34025
34082
  props: {
@@ -34027,10 +34084,9 @@
34027
34084
  ...props
34028
34085
  },
34029
34086
 
34030
- emits: [
34031
- ...coreEmits,
34032
- ...emits
34033
- ],
34087
+ emits: Object(emits) === emits
34088
+ ? { ...coreEmitsObject, ...emits }
34089
+ : [ ...coreEmits, ...emits ],
34034
34090
 
34035
34091
  setup () {
34036
34092
  return getRenderer(injectPlugin)
@@ -34064,7 +34120,7 @@
34064
34120
  factory: Function
34065
34121
  };
34066
34122
 
34067
- const emits = [ 'factory-failed', 'uploaded', 'failed', 'uploading' ];
34123
+ const emits$1 = [ 'factory-failed', 'uploaded', 'failed', 'uploading' ];
34068
34124
 
34069
34125
  function injectPlugin ({ props, emit, helpers }) {
34070
34126
  const xhrs = vue.ref([]);
@@ -34290,13 +34346,13 @@
34290
34346
  var xhrUploaderPlugin = {
34291
34347
  name: 'QUploader',
34292
34348
  props: props$2,
34293
- emits,
34349
+ emits: emits$1,
34294
34350
  injectPlugin
34295
34351
  };
34296
34352
 
34297
34353
  var QUploader = createUploaderComponent(xhrUploaderPlugin);
34298
34354
 
34299
- var QUploaderAddTrigger = vue.defineComponent({
34355
+ var QUploaderAddTrigger = createComponent({
34300
34356
  name: 'QUploaderAddTrigger',
34301
34357
 
34302
34358
  setup () {
@@ -34306,7 +34362,7 @@
34306
34362
  }
34307
34363
  });
34308
34364
 
34309
- var QVideo = vue.defineComponent({
34365
+ var QVideo = createComponent({
34310
34366
  name: 'QVideo',
34311
34367
 
34312
34368
  props: {
@@ -34485,7 +34541,7 @@
34485
34541
  return isNaN(depth) ? 0 : depth
34486
34542
  }
34487
34543
 
34488
- var ClosePopup = {
34544
+ var ClosePopup = createDirective({
34489
34545
  name: 'close-popup',
34490
34546
 
34491
34547
  beforeMount (el, { value }) {
@@ -34525,7 +34581,8 @@
34525
34581
  el.removeEventListener('keyup', ctx.handlerKey);
34526
34582
  delete el.__qclosepopup;
34527
34583
  }
34528
- };
34584
+ }
34585
+ );
34529
34586
 
34530
34587
  let id = 0;
34531
34588
  let offsetBase = void 0;
@@ -35675,7 +35732,7 @@
35675
35732
  }
35676
35733
  }
35677
35734
 
35678
- var Morph = {
35735
+ var Morph = createDirective({
35679
35736
  name: 'morph',
35680
35737
 
35681
35738
  mounted (el, binding) {
@@ -35720,7 +35777,8 @@
35720
35777
 
35721
35778
  delete el.__qmorph;
35722
35779
  }
35723
- };
35780
+ }
35781
+ );
35724
35782
 
35725
35783
  const defaultCfg = {
35726
35784
  childList: true,
@@ -35756,7 +35814,7 @@
35756
35814
  }
35757
35815
  }
35758
35816
 
35759
- var Mutation = {
35817
+ var Mutation = createDirective({
35760
35818
  name: 'mutation',
35761
35819
 
35762
35820
  mounted (el, { modifiers: { once, ...mod }, value }) {
@@ -35780,7 +35838,8 @@
35780
35838
  },
35781
35839
 
35782
35840
  beforeUnmount: destroy
35783
- };
35841
+ }
35842
+ );
35784
35843
 
35785
35844
  const { passive } = listenOpts;
35786
35845
 
@@ -35797,7 +35856,7 @@
35797
35856
  }
35798
35857
  }
35799
35858
 
35800
- var ScrollFire = {
35859
+ var ScrollFire = createDirective({
35801
35860
  name: 'scroll-fire',
35802
35861
 
35803
35862
  mounted (el, binding) {
@@ -35838,7 +35897,8 @@
35838
35897
  ctx.scrollTarget.removeEventListener('scroll', ctx.scroll, passive);
35839
35898
  delete el.__qscrollfire;
35840
35899
  }
35841
- };
35900
+ }
35901
+ );
35842
35902
 
35843
35903
  function update (ctx, { value, oldValue }) {
35844
35904
  if (typeof value !== 'function') {
@@ -35852,7 +35912,7 @@
35852
35912
  }
35853
35913
  }
35854
35914
 
35855
- var Scroll = {
35915
+ var Scroll = createDirective({
35856
35916
  name: 'scroll',
35857
35917
 
35858
35918
  mounted (el, binding) {
@@ -35882,9 +35942,10 @@
35882
35942
  ctx.scrollTarget.removeEventListener('scroll', ctx.scroll, listenOpts.passive);
35883
35943
  delete el.__qscroll;
35884
35944
  }
35885
- };
35945
+ }
35946
+ );
35886
35947
 
35887
- var TouchHold = {
35948
+ var TouchHold = createDirective({
35888
35949
  name: 'touch-hold',
35889
35950
 
35890
35951
  beforeMount (el, binding) {
@@ -36035,7 +36096,8 @@
36035
36096
  delete el.__qtouchhold;
36036
36097
  }
36037
36098
  }
36038
- };
36099
+ }
36100
+ );
36039
36101
 
36040
36102
  const
36041
36103
  keyCodes = {
@@ -36058,7 +36120,7 @@
36058
36120
  || Math.abs(top - origin.top) >= 7
36059
36121
  }
36060
36122
 
36061
- var TouchRepeat = {
36123
+ var TouchRepeat = createDirective({
36062
36124
  name: 'touch-repeat',
36063
36125
 
36064
36126
  beforeMount (el, { modifiers, value, arg }) {
@@ -36269,7 +36331,8 @@
36269
36331
  delete el.__qtouchrepeat;
36270
36332
  }
36271
36333
  }
36272
- };
36334
+ }
36335
+ );
36273
36336
 
36274
36337
  var directives = /*#__PURE__*/Object.freeze({
36275
36338
  __proto__: null,
@@ -36502,7 +36565,7 @@
36502
36565
  }
36503
36566
  }
36504
36567
 
36505
- var BottomSheet$1 = vue.defineComponent({
36568
+ var BottomSheet$1 = createComponent({
36506
36569
  name: 'BottomSheetPlugin',
36507
36570
 
36508
36571
  props: {
@@ -37019,7 +37082,7 @@
37019
37082
  Object.assign(Plugin$3, getObject());
37020
37083
  }
37021
37084
 
37022
- var DialogPlugin = vue.defineComponent({
37085
+ var DialogPlugin = createComponent({
37023
37086
  name: 'DialogPlugin',
37024
37087
 
37025
37088
  props: {
@@ -37762,9 +37825,9 @@
37762
37825
  }
37763
37826
 
37764
37827
  function getComponent ($q) {
37765
- return vue.defineComponent({
37828
+ return createComponent({
37766
37829
  name: 'QNotifications',
37767
-
37830
+
37768
37831
  // hide App from Vue devtools
37769
37832
  devtools: { hide: true },
37770
37833
 
@@ -38665,7 +38728,10 @@
38665
38728
  }
38666
38729
  }
38667
38730
 
38668
- useDialogPluginComponent.emits = [ 'ok', 'hide' ];
38731
+ const emits = [ 'ok', 'hide' ];
38732
+
38733
+ useDialogPluginComponent.emits = emits;
38734
+ useDialogPluginComponent.emitsObject = getEmitsObject(emits);
38669
38735
 
38670
38736
  function useMeta (metaOptions) {
38671
38737
  {
@@ -38721,7 +38787,7 @@
38721
38787
  });
38722
38788
 
38723
38789
  var index_umd = {
38724
- version: '2.2.1',
38790
+ version: '2.3.0',
38725
38791
  install (app, opts) {
38726
38792
  installQuasar(app, {
38727
38793
  components,