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
  */
@@ -2699,6 +2699,11 @@ export interface QCircularProgressProps {
2699
2699
  * No animation when model changes
2700
2700
  */
2701
2701
  instantFeedback?: boolean | undefined;
2702
+ /**
2703
+ * Animation speed (in milliseconds, without unit)
2704
+ * Default value: 600
2705
+ */
2706
+ animationSpeed?: string | number | undefined;
2702
2707
  }
2703
2708
 
2704
2709
  export interface QCircularProgressSlots {
@@ -5932,6 +5937,11 @@ export interface QLinearProgressProps {
5932
5937
  * No transition when model changes
5933
5938
  */
5934
5939
  instantFeedback?: boolean | undefined;
5940
+ /**
5941
+ * Animation speed (in milliseconds, without unit)
5942
+ * Default value: 300
5943
+ */
5944
+ animationSpeed?: string | number | undefined;
5935
5945
  }
5936
5946
 
5937
5947
  export interface QLinearProgressSlots {
@@ -6218,9 +6228,25 @@ export interface QOptionGroupProps {
6218
6228
  */
6219
6229
  modelValue: any;
6220
6230
  /**
6221
- * Array of objects with value and label props. The binary components will be created according to this array; Props from QToggle, QCheckbox or QRadio can also be added as key/value pairs to control the components singularly
6231
+ * Array of objects with value, label, and disable (optional) props. The binary components will be created according to this array; Props from QToggle, QCheckbox or QRadio can also be added as key/value pairs to control the components singularly
6222
6232
  */
6223
- options?: any[] | undefined;
6233
+ options?:
6234
+ | {
6235
+ /**
6236
+ * Label to display along the component
6237
+ */
6238
+ label: string;
6239
+ /**
6240
+ * Value of the option that will be used by the component model
6241
+ */
6242
+ value: any;
6243
+ /**
6244
+ * If true, the option will be disabled
6245
+ */
6246
+ disable?: boolean;
6247
+ [index: string]: any;
6248
+ }[]
6249
+ | undefined;
6224
6250
  /**
6225
6251
  * Used to specify the name of the controls; Useful if dealing with forms submitted directly to a URL
6226
6252
  */
@@ -9621,7 +9647,7 @@ export interface QTableProps {
9621
9647
  * Horizontal alignment of cells in this column
9622
9648
  * Default value: right
9623
9649
  */
9624
- align?: string;
9650
+ align?: "left" | "right" | "center";
9625
9651
  /**
9626
9652
  * Tell QTable you want this column sortable
9627
9653
  */
@@ -11902,6 +11928,10 @@ export interface QTreeProps {
11902
11928
  * Color name for selected nodes (from the Quasar Color Palette)
11903
11929
  */
11904
11930
  selectedColor?: string | undefined;
11931
+ /**
11932
+ * Dense mode; occupies less space
11933
+ */
11934
+ dense?: boolean | undefined;
11905
11935
  /**
11906
11936
  * Notify the component that the background is a dark color
11907
11937
  */
@@ -1027,6 +1027,10 @@
1027
1027
  "type": "boolean",
1028
1028
  "description": "No animation when model changes"
1029
1029
  },
1030
+ "q-circular-progress/animation-speed": {
1031
+ "type": "string|number",
1032
+ "description": "Animation speed (in milliseconds, without unit)"
1033
+ },
1030
1034
  "q-color/name": {
1031
1035
  "type": "string",
1032
1036
  "description": "Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL"
@@ -2819,6 +2823,10 @@
2819
2823
  "type": "boolean",
2820
2824
  "description": "No transition when model changes"
2821
2825
  },
2826
+ "q-linear-progress/animation-speed": {
2827
+ "type": "string|number",
2828
+ "description": "Animation speed (in milliseconds, without unit)"
2829
+ },
2822
2830
  "q-markup-table/dense": {
2823
2831
  "type": "boolean",
2824
2832
  "description": "Dense mode; occupies less space"
@@ -2961,7 +2969,7 @@
2961
2969
  },
2962
2970
  "q-option-group/options": {
2963
2971
  "type": "array",
2964
- "description": "Array of objects with value and label props. The binary components will be created according to this array; Props from QToggle, QCheckbox or QRadio can also be added as key/value pairs to control the components singularly"
2972
+ "description": "Array of objects with value, label, and disable (optional) props. The binary components will be created according to this array; Props from QToggle, QCheckbox or QRadio can also be added as key/value pairs to control the components singularly"
2965
2973
  },
2966
2974
  "q-option-group/name": {
2967
2975
  "type": "string",
@@ -5347,6 +5355,10 @@
5347
5355
  "type": "string",
5348
5356
  "description": "Color name for selected nodes (from the Quasar Color Palette)"
5349
5357
  },
5358
+ "q-tree/dense": {
5359
+ "type": "boolean",
5360
+ "description": "Dense mode; occupies less space"
5361
+ },
5350
5362
  "q-tree/dark": {
5351
5363
  "type": "boolean",
5352
5364
  "description": "Notify the component that the background is a dark color"
@@ -357,7 +357,8 @@
357
357
  "indeterminate",
358
358
  "show-value",
359
359
  "reverse",
360
- "instant-feedback"
360
+ "instant-feedback",
361
+ "animation-speed"
361
362
  ],
362
363
  "description": ""
363
364
  },
@@ -939,7 +940,8 @@
939
940
  "indeterminate",
940
941
  "query",
941
942
  "rounded",
942
- "instant-feedback"
943
+ "instant-feedback",
944
+ "animation-speed"
943
945
  ],
944
946
  "description": ""
945
947
  },
@@ -1924,6 +1926,7 @@
1924
1926
  "control-color",
1925
1927
  "text-color",
1926
1928
  "selected-color",
1929
+ "dense",
1927
1930
  "dark",
1928
1931
  "icon",
1929
1932
  "tick-strategy",
@@ -2,7 +2,7 @@
2
2
  "$schema": "",
3
3
  "framework": "vue",
4
4
  "name": "quasar",
5
- "version": "2.2.1",
5
+ "version": "2.3.0",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
@@ -3155,6 +3155,16 @@
3155
3155
  "description": "No animation when model changes",
3156
3156
  "doc-url": "https://v2.quasar.dev/vue-components/circular-progress",
3157
3157
  "type": "boolean"
3158
+ },
3159
+ {
3160
+ "name": "animation-speed",
3161
+ "value": {
3162
+ "kind": "expression",
3163
+ "type": "string|number"
3164
+ },
3165
+ "description": "Animation speed (in milliseconds, without unit)\n\nExamples:\n500\n1200",
3166
+ "doc-url": "https://v2.quasar.dev/vue-components/circular-progress",
3167
+ "default": "600"
3158
3168
  }
3159
3169
  ],
3160
3170
  "slots": [
@@ -8952,6 +8962,16 @@
8952
8962
  "description": "No transition when model changes",
8953
8963
  "doc-url": "https://v2.quasar.dev/vue-components/linear-progress",
8954
8964
  "type": "boolean"
8965
+ },
8966
+ {
8967
+ "name": "animation-speed",
8968
+ "value": {
8969
+ "kind": "expression",
8970
+ "type": "string|number"
8971
+ },
8972
+ "description": "Animation speed (in milliseconds, without unit)\n\nExamples:\n500\n1200",
8973
+ "doc-url": "https://v2.quasar.dev/vue-components/linear-progress",
8974
+ "default": "300"
8955
8975
  }
8956
8976
  ],
8957
8977
  "slots": [
@@ -9454,7 +9474,7 @@
9454
9474
  "kind": "expression",
9455
9475
  "type": "any[]"
9456
9476
  },
9457
- "description": "Array of objects with value and label props. The binary components will be created according to this array; Props from QToggle, QCheckbox or QRadio can also be added as key/value pairs to control the components singularly\n\nExamples:\n:options=\"[ { label: 'Option 1', value: 'op1' }, { label: 'Option 2', value: 'op2' }, { label: 'Option 3', value: 'op3', disable: true } ]\"",
9477
+ "description": "Array of objects with value, label, and disable (optional) props. The binary components will be created according to this array; Props from QToggle, QCheckbox or QRadio can also be added as key/value pairs to control the components singularly\n\nExamples:\n:options=\"[ { label: 'Option 1', value: 'op1' }, { label: 'Option 2', value: 'op2' }, { label: 'Option 3', value: 'op3', disable: true } ]\"",
9458
9478
  "doc-url": "https://v2.quasar.dev/vue-components/option-group"
9459
9479
  },
9460
9480
  {
@@ -17427,6 +17447,16 @@
17427
17447
  "description": "Color name for selected nodes (from the Quasar Color Palette)\n\nExamples:\nprimary\nteal-10",
17428
17448
  "doc-url": "https://v2.quasar.dev/vue-components/tree"
17429
17449
  },
17450
+ {
17451
+ "name": "dense",
17452
+ "value": {
17453
+ "kind": "expression",
17454
+ "type": "boolean"
17455
+ },
17456
+ "description": "Dense mode; occupies less space",
17457
+ "doc-url": "https://v2.quasar.dev/vue-components/tree",
17458
+ "type": "boolean"
17459
+ },
17430
17460
  {
17431
17461
  "name": "dark",
17432
17462
  "value": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar",
3
- "version": "2.2.1",
3
+ "version": "2.3.0",
4
4
  "description": "Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time",
5
5
  "main": "dist/quasar.cjs.prod.js",
6
6
  "module": "dist/quasar.esm.prod.js",
@@ -95,6 +95,13 @@
95
95
  "category": "transition"
96
96
  },
97
97
 
98
+ "animation-speed": {
99
+ "type": [ "String", "Number" ],
100
+ "desc": "Animation speed (in milliseconds, without unit)",
101
+ "examples": [ 500, "1200" ],
102
+ "category": "style"
103
+ },
104
+
98
105
  "model-value": {
99
106
  "desc": "Model of the component; Either use this property (along with a listener for 'update:model-value' event) OR use v-model directive",
100
107
  "required": true,
@@ -1,5 +1,6 @@
1
- import { h, defineComponent, ref, computed, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import { between } from '../../utils/format.js'
4
5
 
5
6
  const
@@ -74,7 +75,7 @@ function restoreAjax (start, stop) {
74
75
  }
75
76
  }
76
77
 
77
- export default defineComponent({
78
+ export default createComponent({
78
79
  name: 'QAjaxBar',
79
80
 
80
81
  props: {
@@ -1,12 +1,13 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
3
  import QIcon from '../icon/QIcon.js'
4
4
 
5
5
  import useSize, { useSizeProps } from '../../composables/private/use-size.js'
6
6
 
7
+ import { createComponent } from '../../utils/private/create.js'
7
8
  import { hMergeSlotSafely } from '../../utils/private/render.js'
8
9
 
9
- export default defineComponent({
10
+ export default createComponent({
10
11
  name: 'QAvatar',
11
12
 
12
13
  props: {
@@ -1,10 +1,11 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import { hSlot } from '../../utils/private/render.js'
4
5
 
5
6
  const alignValues = [ 'top', 'middle', 'bottom' ]
6
7
 
7
- export default defineComponent({
8
+ export default createComponent({
8
9
  name: 'QBadge',
9
10
 
10
11
  props: {
@@ -1,10 +1,11 @@
1
- import { h, defineComponent, computed, getCurrentInstance } from 'vue'
1
+ import { h, computed, getCurrentInstance } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
4
5
 
5
6
  import { hSlot } from '../../utils/private/render.js'
6
7
 
7
- export default defineComponent({
8
+ export default createComponent({
8
9
  name: 'QBanner',
9
10
 
10
11
  props: {
@@ -1,10 +1,11 @@
1
- import { h, defineComponent, computed, getCurrentInstance } from 'vue'
1
+ import { h, computed, getCurrentInstance } from 'vue'
2
2
 
3
3
  import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
4
4
 
5
+ import { createComponent } from '../../utils/private/create.js'
5
6
  import { hSlot } from '../../utils/private/render.js'
6
7
 
7
- export default defineComponent({
8
+ export default createComponent({
8
9
  name: 'QBar',
9
10
 
10
11
  props: {
@@ -1,11 +1,12 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
3
  import useAlign, { useAlignProps } from '../../composables/private/use-align.js'
4
4
 
5
+ import { createComponent } from '../../utils/private/create.js'
5
6
  import { hSlot } from '../../utils/private/render.js'
6
7
  import { getNormalizedVNodes } from '../../utils/private/vm.js'
7
8
 
8
- export default defineComponent({
9
+ export default createComponent({
9
10
  name: 'QBreadcrumbs',
10
11
 
11
12
  props: {
@@ -1,11 +1,12 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
3
  import QIcon from '../icon/QIcon.js'
4
4
 
5
+ import { createComponent } from '../../utils/private/create.js'
5
6
  import { hMergeSlot } from '../../utils/private/render.js'
6
7
  import useRouterLink, { useRouterLinkProps } from '../../composables/private/use-router-link.js'
7
8
 
8
- export default defineComponent({
9
+ export default createComponent({
9
10
  name: 'QBreadcrumbsEl',
10
11
 
11
12
  props: {
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, computed, Transition, onBeforeUnmount, withDirectives, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, Transition, onBeforeUnmount, withDirectives, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QIcon from '../icon/QIcon.js'
4
4
  import QSpinner from '../spinner/QSpinner.js'
@@ -7,6 +7,7 @@ import Ripple from '../../directives/Ripple.js'
7
7
 
8
8
  import useBtn, { useBtnProps } from './use-btn.js'
9
9
 
10
+ import { createComponent } from '../../utils/private/create.js'
10
11
  import { hMergeSlot } from '../../utils/private/render.js'
11
12
  import { stop, prevent, stopAndPrevent, listenOpts } from '../../utils/event.js'
12
13
  import { isKeyCode } from '../../utils/private/key-composition.js'
@@ -18,7 +19,7 @@ let
18
19
  keyboardTarget = null,
19
20
  mouseTarget = null
20
21
 
21
- export default defineComponent({
22
+ export default createComponent({
22
23
  name: 'QBtn',
23
24
 
24
25
  props: {
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, computed, watch, onMounted, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, watch, onMounted, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QIcon from '../icon/QIcon.js'
4
4
  import QBtn from '../btn/QBtn.js'
@@ -7,10 +7,11 @@ import QMenu from '../menu/QMenu.js'
7
7
 
8
8
  import { useBtnProps } from '../btn/use-btn.js'
9
9
 
10
+ import { createComponent } from '../../utils/private/create.js'
10
11
  import { stop } from '../../utils/event.js'
11
12
  import { hSlot } from '../../utils/private/render.js'
12
13
 
13
- export default defineComponent({
14
+ export default createComponent({
14
15
  name: 'QBtnDropdown',
15
16
 
16
17
  props: {
@@ -1,8 +1,9 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import { hSlot } from '../../utils/private/render.js'
4
5
 
5
- export default defineComponent({
6
+ export default createComponent({
6
7
  name: 'QBtnGroup',
7
8
 
8
9
  props: {
@@ -1,13 +1,14 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
3
  import QBtn from '../btn/QBtn.js'
4
4
  import QBtnGroup from '../btn-group/QBtnGroup.js'
5
5
 
6
+ import { createComponent } from '../../utils/private/create.js'
6
7
  import { useFormInject, useFormProps } from '../../composables/private/use-form.js'
7
8
 
8
9
  import { hMergeSlot } from '../../utils/private/render.js'
9
10
 
10
- export default defineComponent({
11
+ export default createComponent({
11
12
  name: 'QBtnToggle',
12
13
 
13
14
  props: {
@@ -1,10 +1,11 @@
1
- import { h, defineComponent, computed, getCurrentInstance } from 'vue'
1
+ import { h, computed, getCurrentInstance } from 'vue'
2
2
 
3
3
  import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
4
4
 
5
+ import { createComponent } from '../../utils/private/create.js'
5
6
  import { hSlot } from '../../utils/private/render.js'
6
7
 
7
- export default defineComponent({
8
+ export default createComponent({
8
9
  name: 'QCard',
9
10
 
10
11
  props: {
@@ -1,10 +1,11 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
3
  import useAlign, { useAlignProps } from '../../composables/private/use-align.js'
4
4
 
5
+ import { createComponent } from '../../utils/private/create.js'
5
6
  import { hSlot } from '../../utils/private/render.js'
6
7
 
7
- export default defineComponent({
8
+ export default createComponent({
8
9
  name: 'QCardActions',
9
10
 
10
11
  props: {
@@ -1,8 +1,9 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import { hSlot } from '../../utils/private/render.js'
4
5
 
5
- export default defineComponent({
6
+ export default createComponent({
6
7
  name: 'QCardSection',
7
8
 
8
9
  props: {
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, computed, watch, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'
1
+ import { h, computed, watch, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QBtn from '../btn/QBtn.js'
4
4
 
@@ -6,13 +6,14 @@ import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
6
6
  import usePanel, { usePanelProps, usePanelEmits } from '../../composables/private/use-panel.js'
7
7
  import useFullscreen, { useFullscreenProps, useFullscreenEmits } from '../../composables/private/use-fullscreen.js'
8
8
 
9
+ import { createComponent } from '../../utils/private/create.js'
9
10
  import { isNumber } from '../../utils/private/is.js'
10
11
  import { hMergeSlot, hDir } from '../../utils/private/render.js'
11
12
 
12
13
  const navigationPositionOptions = [ 'top', 'right', 'bottom', 'left' ]
13
14
  const controlTypeOptions = [ 'regular', 'flat', 'outline', 'push', 'unelevated' ]
14
15
 
15
- export default defineComponent({
16
+ export default createComponent({
16
17
  name: 'QCarousel',
17
18
 
18
19
  props: {
@@ -1,8 +1,9 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import { hSlot } from '../../utils/private/render.js'
4
5
 
5
- export default defineComponent({
6
+ export default createComponent({
6
7
  name: 'QCarouselControl',
7
8
 
8
9
  props: {
@@ -1,10 +1,11 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import { usePanelChildProps } from '../../composables/private/use-panel.js'
4
5
 
5
6
  import { hSlot } from '../../utils/private/render.js'
6
7
 
7
- export default defineComponent({
8
+ export default createComponent({
8
9
  name: 'QCarouselSlide',
9
10
 
10
11
  props: {
@@ -1,8 +1,9 @@
1
- import { h, defineComponent, computed } from 'vue'
1
+ import { h, computed } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import { getNormalizedVNodes } from '../../utils/private/vm.js'
4
5
 
5
- export default defineComponent({
6
+ export default createComponent({
6
7
  name: 'QChatMessage',
7
8
 
8
9
  props: {
@@ -1,5 +1,6 @@
1
- import { h, defineComponent } from 'vue'
1
+ import { h } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import useCheckbox, { useCheckboxProps, useCheckboxEmits } from './use-checkbox.js'
4
5
 
5
6
  const bgNode = h('div', {
@@ -23,7 +24,7 @@ const bgNode = h('div', {
23
24
  ])
24
25
  ])
25
26
 
26
- export default defineComponent({
27
+ export default createComponent({
27
28
  name: 'QCheckbox',
28
29
 
29
30
  props: useCheckboxProps,
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, computed, getCurrentInstance } from 'vue'
1
+ import { h, computed, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QIcon from '../icon/QIcon.js'
4
4
 
@@ -7,6 +7,7 @@ import Ripple from '../../directives/Ripple.js'
7
7
  import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
8
8
  import useSize, { useSizeProps } from '../../composables/private/use-size.js'
9
9
 
10
+ import { createComponent } from '../../utils/private/create.js'
10
11
  import { stopAndPrevent } from '../../utils/event.js'
11
12
  import { hMergeSlotSafely, hDir } from '../../utils/private/render.js'
12
13
 
@@ -18,7 +19,7 @@ const defaultSizes = {
18
19
  xl: 24
19
20
  }
20
21
 
21
- export default defineComponent({
22
+ export default createComponent({
22
23
  name: 'QChip',
23
24
 
24
25
  props: {
@@ -1,8 +1,9 @@
1
- import { h, defineComponent, computed, getCurrentInstance } from 'vue'
1
+ import { h, computed, getCurrentInstance } from 'vue'
2
2
 
3
3
  import useSize from '../../composables/private/use-size.js'
4
4
  import { useCircularCommonProps } from './use-circular-progress.js'
5
5
 
6
+ import { createComponent } from '../../utils/private/create.js'
6
7
  import { hMergeSlotSafely } from '../../utils/private/render.js'
7
8
  import { between } from '../../utils/format.js'
8
9
 
@@ -12,7 +13,7 @@ const
12
13
  circumference = diameter * Math.PI,
13
14
  strokeDashArray = Math.round(circumference * 1000) / 1000
14
15
 
15
- export default defineComponent({
16
+ export default createComponent({
16
17
  name: 'QCircularProgress',
17
18
 
18
19
  props: {
@@ -23,6 +24,11 @@ export default defineComponent({
23
24
  default: 0
24
25
  },
25
26
 
27
+ animationSpeed: {
28
+ type: [ String, Number ],
29
+ default: 600
30
+ },
31
+
26
32
  indeterminate: Boolean
27
33
  },
28
34
 
@@ -42,7 +48,7 @@ export default defineComponent({
42
48
 
43
49
  const circleStyle = computed(() => (
44
50
  props.instantFeedback !== true && props.indeterminate !== true
45
- ? { transition: 'stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease' }
51
+ ? { transition: `stroke-dashoffset ${ props.animationSpeed }ms ease 0s, stroke ${ props.animationSpeed }ms ease` }
46
52
  : ''
47
53
  ))
48
54
 
@@ -91,6 +91,12 @@
91
91
  "type": "Boolean",
92
92
  "desc": "No animation when model changes",
93
93
  "category": "behavior"
94
+ },
95
+
96
+ "animation-speed": {
97
+ "extends": "animation-speed",
98
+ "default": 600,
99
+ "addedIn": "v2.2.5"
94
100
  }
95
101
  },
96
102
 
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, computed, watch, nextTick, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, watch, nextTick, getCurrentInstance } from 'vue'
2
2
 
3
3
  import TouchPan from '../../directives/TouchPan.js'
4
4
 
@@ -14,6 +14,7 @@ import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
14
14
  import useCache from '../../composables/private/use-cache.js'
15
15
  import { useFormInject, useFormProps } from '../../composables/private/use-form.js'
16
16
 
17
+ import { createComponent } from '../../utils/private/create.js'
17
18
  import { testPattern } from '../../utils/patterns.js'
18
19
  import throttle from '../../utils/throttle.js'
19
20
  import { stop } from '../../utils/event.js'
@@ -35,7 +36,7 @@ const palette = [
35
36
 
36
37
  const thumbPath = 'M5 5 h10 v10 h-10 v-10 z'
37
38
 
38
- export default defineComponent({
39
+ export default createComponent({
39
40
  name: 'QColor',
40
41
 
41
42
  props: {