quasar 2.2.0 → 2.2.4

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 (256) hide show
  1. package/dist/api/QOptionGroup.json +36 -1
  2. package/dist/api/QRange.json +10 -3
  3. package/dist/api/QSeparator.json +1 -1
  4. package/dist/api/QSlider.json +10 -3
  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 +51 -8
  92. package/dist/quasar.esm.prod.js +2 -2
  93. package/dist/quasar.prod.css +1 -1
  94. package/dist/quasar.rtl.css +118 -8
  95. package/dist/quasar.rtl.prod.css +1 -1
  96. package/dist/quasar.sass +43 -6
  97. package/dist/quasar.umd.js +341 -289
  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 +28 -8
  101. package/dist/vetur/quasar-attributes.json +10 -6
  102. package/dist/vetur/quasar-tags.json +1 -0
  103. package/dist/web-types/web-types.json +19 -11
  104. package/package.json +1 -1
  105. package/src/components/ajax-bar/QAjaxBar.js +3 -2
  106. package/src/components/avatar/QAvatar.js +3 -2
  107. package/src/components/badge/QBadge.js +3 -2
  108. package/src/components/banner/QBanner.js +3 -2
  109. package/src/components/bar/QBar.js +3 -2
  110. package/src/components/breadcrumbs/QBreadcrumbs.js +3 -2
  111. package/src/components/breadcrumbs/QBreadcrumbsEl.js +3 -2
  112. package/src/components/btn/QBtn.js +19 -21
  113. package/src/components/btn-dropdown/QBtnDropdown.js +3 -2
  114. package/src/components/btn-group/QBtnGroup.js +3 -2
  115. package/src/components/btn-toggle/QBtnToggle.js +3 -2
  116. package/src/components/card/QCard.js +3 -2
  117. package/src/components/card/QCardActions.js +3 -2
  118. package/src/components/card/QCardSection.js +3 -2
  119. package/src/components/carousel/QCarousel.js +3 -2
  120. package/src/components/carousel/QCarouselControl.js +3 -2
  121. package/src/components/carousel/QCarouselSlide.js +3 -2
  122. package/src/components/chat/QChatMessage.js +3 -2
  123. package/src/components/checkbox/QCheckbox.js +3 -2
  124. package/src/components/chip/QChip.js +3 -2
  125. package/src/components/circular-progress/QCircularProgress.js +3 -2
  126. package/src/components/color/QColor.js +3 -2
  127. package/src/components/date/QDate.js +5 -3
  128. package/src/components/dialog/QDialog.js +3 -2
  129. package/src/components/dialog-bottom-sheet/BottomSheet.js +3 -2
  130. package/src/components/dialog-plugin/DialogPlugin.js +3 -2
  131. package/src/components/drawer/QDrawer.js +6 -2
  132. package/src/components/editor/QEditor.js +3 -2
  133. package/src/components/expansion-item/QExpansionItem.js +3 -2
  134. package/src/components/fab/QFab.js +3 -2
  135. package/src/components/fab/QFabAction.js +3 -2
  136. package/src/components/field/QField.js +3 -3
  137. package/src/components/file/QFile.js +3 -2
  138. package/src/components/footer/QFooter.js +3 -2
  139. package/src/components/form/QForm.js +3 -2
  140. package/src/components/header/QHeader.js +3 -2
  141. package/src/components/icon/QIcon.js +4 -2
  142. package/src/components/img/QImg.js +5 -2
  143. package/src/components/infinite-scroll/QInfiniteScroll.js +3 -2
  144. package/src/components/inner-loading/QInnerLoading.js +3 -2
  145. package/src/components/input/QInput.js +3 -2
  146. package/src/components/intersection/QIntersection.js +3 -2
  147. package/src/components/item/QItem.js +3 -2
  148. package/src/components/item/QItemLabel.js +3 -2
  149. package/src/components/item/QItemSection.js +3 -2
  150. package/src/components/item/QList.js +3 -3
  151. package/src/components/knob/QKnob.js +3 -2
  152. package/src/components/layout/QLayout.js +3 -2
  153. package/src/components/linear-progress/QLinearProgress.js +3 -2
  154. package/src/components/markup-table/QMarkupTable.js +3 -2
  155. package/src/components/menu/QMenu.js +4 -3
  156. package/src/components/no-ssr/QNoSsr.js +3 -2
  157. package/src/components/option-group/QOptionGroup.js +4 -2
  158. package/src/components/option-group/QOptionGroup.json +24 -1
  159. package/src/components/page/QPage.js +3 -2
  160. package/src/components/page/QPageContainer.js +3 -2
  161. package/src/components/page-scroller/QPageScroller.js +4 -2
  162. package/src/components/page-sticky/QPageSticky.js +2 -3
  163. package/src/components/pagination/QPagination.js +3 -2
  164. package/src/components/parallax/QParallax.js +3 -2
  165. package/src/components/popup-edit/QPopupEdit.js +3 -2
  166. package/src/components/popup-proxy/QPopupProxy.js +4 -2
  167. package/src/components/pull-to-refresh/QPullToRefresh.js +3 -2
  168. package/src/components/radio/QRadio.js +3 -2
  169. package/src/components/range/QRange.js +4 -3
  170. package/src/components/range/QRange.json +7 -3
  171. package/src/components/rating/QRating.js +6 -5
  172. package/src/components/resize-observer/QResizeObserver.js +3 -2
  173. package/src/components/responsive/QResponsive.js +3 -2
  174. package/src/components/scroll-area/QScrollArea.js +3 -2
  175. package/src/components/scroll-observer/QScrollObserver.js +3 -2
  176. package/src/components/select/QSelect.js +11 -20
  177. package/src/components/separator/QSeparator.js +4 -2
  178. package/src/components/separator/QSeparator.json +1 -1
  179. package/src/components/skeleton/QSkeleton.js +3 -2
  180. package/src/components/slide-item/QSlideItem.js +3 -2
  181. package/src/components/slide-transition/QSlideTransition.js +4 -2
  182. package/src/components/slider/QSlider.js +4 -3
  183. package/src/components/slider/QSlider.json +7 -3
  184. package/src/components/slider/use-slider.js +7 -2
  185. package/src/components/space/QSpace.js +4 -2
  186. package/src/components/spinner/QSpinner.js +4 -2
  187. package/src/components/spinner/QSpinnerAudio.js +4 -2
  188. package/src/components/spinner/QSpinnerBall.js +4 -2
  189. package/src/components/spinner/QSpinnerBars.js +4 -2
  190. package/src/components/spinner/QSpinnerBox.js +4 -2
  191. package/src/components/spinner/QSpinnerClock.js +4 -2
  192. package/src/components/spinner/QSpinnerComment.js +4 -2
  193. package/src/components/spinner/QSpinnerCube.js +4 -2
  194. package/src/components/spinner/QSpinnerDots.js +4 -2
  195. package/src/components/spinner/QSpinnerFacebook.js +4 -2
  196. package/src/components/spinner/QSpinnerGears.js +4 -2
  197. package/src/components/spinner/QSpinnerGrid.js +4 -2
  198. package/src/components/spinner/QSpinnerHearts.js +4 -2
  199. package/src/components/spinner/QSpinnerHourglass.js +4 -2
  200. package/src/components/spinner/QSpinnerInfinity.js +4 -2
  201. package/src/components/spinner/QSpinnerIos.js +4 -2
  202. package/src/components/spinner/QSpinnerOrbit.js +4 -2
  203. package/src/components/spinner/QSpinnerOval.js +4 -2
  204. package/src/components/spinner/QSpinnerPie.js +4 -2
  205. package/src/components/spinner/QSpinnerPuff.js +4 -2
  206. package/src/components/spinner/QSpinnerRadio.js +4 -2
  207. package/src/components/spinner/QSpinnerRings.js +4 -2
  208. package/src/components/spinner/QSpinnerTail.js +4 -2
  209. package/src/components/splitter/QSplitter.js +3 -2
  210. package/src/components/stepper/QStep.js +3 -2
  211. package/src/components/stepper/QStepper.js +3 -2
  212. package/src/components/stepper/QStepperNavigation.js +3 -2
  213. package/src/components/stepper/StepHeader.js +12 -10
  214. package/src/components/tab-panels/QTabPanel.js +4 -2
  215. package/src/components/tab-panels/QTabPanels.js +3 -2
  216. package/src/components/table/QTable.js +4 -2
  217. package/src/components/table/QTable.json +1 -0
  218. package/src/components/table/QTd.js +3 -2
  219. package/src/components/table/QTh.js +3 -2
  220. package/src/components/table/QTr.js +3 -2
  221. package/src/components/tabs/QRouteTab.js +4 -2
  222. package/src/components/tabs/QTab.js +3 -3
  223. package/src/components/tabs/QTabs.js +4 -3
  224. package/src/components/tabs/use-tab.js +11 -9
  225. package/src/components/time/QTime.js +9 -9
  226. package/src/components/timeline/QTimeline.js +3 -2
  227. package/src/components/timeline/QTimelineEntry.js +3 -2
  228. package/src/components/toggle/QToggle.js +5 -2
  229. package/src/components/toolbar/QToolbar.js +3 -2
  230. package/src/components/toolbar/QToolbarTitle.js +3 -2
  231. package/src/components/tooltip/QTooltip.js +3 -2
  232. package/src/components/tree/QTree.js +12 -7
  233. package/src/components/tree/QTree.json +5 -0
  234. package/src/components/tree/QTree.sass +52 -4
  235. package/src/components/uploader/QUploaderAddTrigger.js +3 -2
  236. package/src/components/uploader/uploader-core.js +2 -7
  237. package/src/components/video/QVideo.js +4 -2
  238. package/src/components/virtual-scroll/QVirtualScroll.js +3 -2
  239. package/src/composables/private/use-file.js +8 -0
  240. package/src/composables/private/use-model-toggle.js +1 -1
  241. package/src/css/normalize.sass +0 -7
  242. package/src/directives/ClosePopup.js +3 -1
  243. package/src/directives/Intersection.js +3 -1
  244. package/src/directives/Morph.js +4 -1
  245. package/src/directives/Mutation.js +3 -1
  246. package/src/directives/Ripple.js +3 -1
  247. package/src/directives/Scroll.js +3 -1
  248. package/src/directives/ScrollFire.js +3 -1
  249. package/src/directives/TouchHold.js +4 -1
  250. package/src/directives/TouchPan.js +4 -1
  251. package/src/directives/TouchRepeat.js +4 -1
  252. package/src/directives/TouchSwipe.js +4 -1
  253. package/src/plugins/Notify.js +4 -3
  254. package/src/utils/create-uploader-component.js +3 -3
  255. package/src/utils/date.js +94 -61
  256. package/src/utils/private/create.js +4 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.2.0
2
+ * Quasar Framework v2.2.4
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -6218,9 +6218,25 @@ export interface QOptionGroupProps {
6218
6218
  */
6219
6219
  modelValue: any;
6220
6220
  /**
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
6221
+ * 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
6222
  */
6223
- options?: any[] | undefined;
6223
+ options?:
6224
+ | {
6225
+ /**
6226
+ * Label to display along the component
6227
+ */
6228
+ label: string;
6229
+ /**
6230
+ * Value of the option that will be used by the component model
6231
+ */
6232
+ value: any;
6233
+ /**
6234
+ * If true, the option will be disabled
6235
+ */
6236
+ disable?: boolean;
6237
+ [index: string]: any;
6238
+ }[]
6239
+ | undefined;
6224
6240
  /**
6225
6241
  * Used to specify the name of the controls; Useful if dealing with forms submitted directly to a URL
6226
6242
  */
@@ -7113,9 +7129,9 @@ export interface QRangeProps {
7113
7129
  */
7114
7130
  labelAlways?: boolean | undefined;
7115
7131
  /**
7116
- * Display markers on the track, one for each possible value for the model
7132
+ * Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)
7117
7133
  */
7118
- markers?: boolean | undefined;
7134
+ markers?: boolean | number | undefined;
7119
7135
  /**
7120
7136
  * Snap thumbs on valid values, rather than sliding freely; Suggestion: use with 'step' prop
7121
7137
  */
@@ -8311,7 +8327,7 @@ export interface QSeparatorProps {
8311
8327
  */
8312
8328
  spaced?: boolean | string | undefined;
8313
8329
  /**
8314
- * if set to true, the left and right margins will be set to 16px. If set to item, the left and right margins will be set to 72px. If set to item-thumbnail, the left margin is set to 116px and right margin is set to 0px
8330
+ * If set to Boolean true, the left and right margins will be set to 16px. If set to 'item' then it will match a QItem's design. If set to 'item-thumbnail' then it will match the design of a QItem with a thumbnail on the left side
8315
8331
  */
8316
8332
  inset?: boolean | string | undefined;
8317
8333
  /**
@@ -8622,9 +8638,9 @@ export interface QSliderProps {
8622
8638
  */
8623
8639
  labelAlways?: boolean | undefined;
8624
8640
  /**
8625
- * Display markers on the track, one for each possible value for the model
8641
+ * Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)
8626
8642
  */
8627
- markers?: boolean | undefined;
8643
+ markers?: boolean | number | undefined;
8628
8644
  /**
8629
8645
  * Snap on valid values, rather than sliding freely; Suggestion: use with 'step' prop
8630
8646
  */
@@ -9621,7 +9637,7 @@ export interface QTableProps {
9621
9637
  * Horizontal alignment of cells in this column
9622
9638
  * Default value: right
9623
9639
  */
9624
- align?: string;
9640
+ align?: "left" | "right" | "center";
9625
9641
  /**
9626
9642
  * Tell QTable you want this column sortable
9627
9643
  */
@@ -11902,6 +11918,10 @@ export interface QTreeProps {
11902
11918
  * Color name for selected nodes (from the Quasar Color Palette)
11903
11919
  */
11904
11920
  selectedColor?: string | undefined;
11921
+ /**
11922
+ * Dense mode; occupies less space
11923
+ */
11924
+ dense?: boolean | undefined;
11905
11925
  /**
11906
11926
  * Notify the component that the background is a dark color
11907
11927
  */
@@ -2961,7 +2961,7 @@
2961
2961
  },
2962
2962
  "q-option-group/options": {
2963
2963
  "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"
2964
+ "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
2965
  },
2966
2966
  "q-option-group/name": {
2967
2967
  "type": "string",
@@ -3444,8 +3444,8 @@
3444
3444
  "description": "Always display the labels"
3445
3445
  },
3446
3446
  "q-range/markers": {
3447
- "type": "boolean",
3448
- "description": "Display markers on the track, one for each possible value for the model"
3447
+ "type": "boolean|number",
3448
+ "description": "Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)"
3449
3449
  },
3450
3450
  "q-range/snap": {
3451
3451
  "type": "boolean",
@@ -3937,7 +3937,7 @@
3937
3937
  },
3938
3938
  "q-separator/inset": {
3939
3939
  "type": "boolean|string",
3940
- "description": "if set to true, the left and right margins will be set to 16px. If set to item, the left and right margins will be set to 72px. If set to item-thumbnail, the left margin is set to 116px and right margin is set to 0px"
3940
+ "description": "If set to Boolean true, the left and right margins will be set to 16px. If set to 'item' then it will match a QItem's design. If set to 'item-thumbnail' then it will match the design of a QItem with a thumbnail on the left side"
3941
3941
  },
3942
3942
  "q-separator/vertical": {
3943
3943
  "type": "boolean",
@@ -4072,8 +4072,8 @@
4072
4072
  "description": "Always display the label"
4073
4073
  },
4074
4074
  "q-slider/markers": {
4075
- "type": "boolean",
4076
- "description": "Display markers on the track, one for each possible value for the model"
4075
+ "type": "boolean|number",
4076
+ "description": "Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)"
4077
4077
  },
4078
4078
  "q-slider/snap": {
4079
4079
  "type": "boolean",
@@ -5347,6 +5347,10 @@
5347
5347
  "type": "string",
5348
5348
  "description": "Color name for selected nodes (from the Quasar Color Palette)"
5349
5349
  },
5350
+ "q-tree/dense": {
5351
+ "type": "boolean",
5352
+ "description": "Dense mode; occupies less space"
5353
+ },
5350
5354
  "q-tree/dark": {
5351
5355
  "type": "boolean",
5352
5356
  "description": "Notify the component that the background is a dark color"
@@ -1924,6 +1924,7 @@
1924
1924
  "control-color",
1925
1925
  "text-color",
1926
1926
  "selected-color",
1927
+ "dense",
1927
1928
  "dark",
1928
1929
  "icon",
1929
1930
  "tick-strategy",
@@ -2,7 +2,7 @@
2
2
  "$schema": "",
3
3
  "framework": "vue",
4
4
  "name": "quasar",
5
- "version": "2.2.0",
5
+ "version": "2.2.4",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
@@ -9454,7 +9454,7 @@
9454
9454
  "kind": "expression",
9455
9455
  "type": "any[]"
9456
9456
  },
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 } ]\"",
9457
+ "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
9458
  "doc-url": "https://v2.quasar.dev/vue-components/option-group"
9459
9459
  },
9460
9460
  {
@@ -11042,11 +11042,10 @@
11042
11042
  "name": "markers",
11043
11043
  "value": {
11044
11044
  "kind": "expression",
11045
- "type": "boolean"
11045
+ "type": "boolean|number"
11046
11046
  },
11047
- "description": "Display markers on the track, one for each possible value for the model",
11048
- "doc-url": "https://v2.quasar.dev/vue-components/range",
11049
- "type": "boolean"
11047
+ "description": "Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)\n\nExamples:\nmarkers\n:markers=\"5\"",
11048
+ "doc-url": "https://v2.quasar.dev/vue-components/range"
11050
11049
  },
11051
11050
  {
11052
11051
  "name": "snap",
@@ -12664,7 +12663,7 @@
12664
12663
  "kind": "expression",
12665
12664
  "type": "boolean|string"
12666
12665
  },
12667
- "description": "if set to true, the left and right margins will be set to 16px. If set to item, the left and right margins will be set to 72px. If set to item-thumbnail, the left margin is set to 116px and right margin is set to 0px\n\nExamples:\nitem\nitem-thumbnail",
12666
+ "description": "If set to Boolean true, the left and right margins will be set to 16px. If set to 'item' then it will match a QItem's design. If set to 'item-thumbnail' then it will match the design of a QItem with a thumbnail on the left side\n\nExamples:\nitem\nitem-thumbnail",
12668
12667
  "doc-url": "https://v2.quasar.dev/vue-components/separator"
12669
12668
  },
12670
12669
  {
@@ -13164,11 +13163,10 @@
13164
13163
  "name": "markers",
13165
13164
  "value": {
13166
13165
  "kind": "expression",
13167
- "type": "boolean"
13166
+ "type": "boolean|number"
13168
13167
  },
13169
- "description": "Display markers on the track, one for each possible value for the model",
13170
- "doc-url": "https://v2.quasar.dev/vue-components/slider",
13171
- "type": "boolean"
13168
+ "description": "Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)\n\nExamples:\nmarkers\n:markers=\"5\"",
13169
+ "doc-url": "https://v2.quasar.dev/vue-components/slider"
13172
13170
  },
13173
13171
  {
13174
13172
  "name": "snap",
@@ -17429,6 +17427,16 @@
17429
17427
  "description": "Color name for selected nodes (from the Quasar Color Palette)\n\nExamples:\nprimary\nteal-10",
17430
17428
  "doc-url": "https://v2.quasar.dev/vue-components/tree"
17431
17429
  },
17430
+ {
17431
+ "name": "dense",
17432
+ "value": {
17433
+ "kind": "expression",
17434
+ "type": "boolean"
17435
+ },
17436
+ "description": "Dense mode; occupies less space",
17437
+ "doc-url": "https://v2.quasar.dev/vue-components/tree",
17438
+ "type": "boolean"
17439
+ },
17432
17440
  {
17433
17441
  "name": "dark",
17434
17442
  "value": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar",
3
- "version": "2.2.0",
3
+ "version": "2.2.4",
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",
@@ -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, 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,7 +7,8 @@ import Ripple from '../../directives/Ripple.js'
7
7
 
8
8
  import useBtn, { useBtnProps } from './use-btn.js'
9
9
 
10
- import { hMergeSlot, hDir } from '../../utils/private/render.js'
10
+ import { createComponent } from '../../utils/private/create.js'
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'
13
14
 
@@ -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: {
@@ -50,7 +51,7 @@ export default defineComponent({
50
51
  )
51
52
 
52
53
  const ripple = computed(() => (
53
- props.ripple === false
54
+ props.disable === true || props.ripple === false
54
55
  ? false
55
56
  : {
56
57
  keyCodes: isLink.value === true ? [ 13, 32 ] : [ 13 ],
@@ -58,6 +59,8 @@ export default defineComponent({
58
59
  }
59
60
  ))
60
61
 
62
+ const rippleProps = computed(() => ({ center: props.round }))
63
+
61
64
  const percentageStyle = computed(() => {
62
65
  const val = Math.max(0, Math.min(100, props.percentage))
63
66
  return val > 0
@@ -91,16 +94,6 @@ export default defineComponent({
91
94
  }
92
95
  })
93
96
 
94
- const directives = computed(() => {
95
- // if props.disable !== true && props.ripple !== false
96
- return [ [
97
- Ripple,
98
- ripple.value,
99
- void 0,
100
- { center: props.round }
101
- ] ]
102
- })
103
-
104
97
  const nodeProps = computed(() => ({
105
98
  ref: rootRef,
106
99
  class: 'q-btn q-btn-item non-selectable no-outline ' + classes.value,
@@ -364,13 +357,18 @@ export default defineComponent({
364
357
  ))
365
358
  )
366
359
 
367
- return hDir(
368
- isLink.value === true ? 'a' : 'button',
369
- nodeProps.value,
370
- child,
371
- 'ripple',
372
- props.disable !== true && props.ripple !== false,
373
- () => directives.value
360
+ return withDirectives(
361
+ h(
362
+ isLink.value === true ? 'a' : 'button',
363
+ nodeProps.value,
364
+ child
365
+ ),
366
+ [ [
367
+ Ripple,
368
+ ripple.value,
369
+ void 0,
370
+ rippleProps.value
371
+ ] ]
374
372
  )
375
373
  }
376
374
  }
@@ -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: {