quasar 2.1.9 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/api/QCarousel.json +19 -5
  2. package/dist/api/QColor.json +6 -0
  3. package/dist/api/QInnerLoading.json +32 -0
  4. package/dist/api/QOptionGroup.json +58 -1
  5. package/dist/api/QRange.json +10 -3
  6. package/dist/api/QSeparator.json +1 -1
  7. package/dist/api/QSkeleton.json +14 -0
  8. package/dist/api/QSlider.json +10 -3
  9. package/dist/api/QStepper.json +16 -2
  10. package/dist/api/QTabPanels.json +16 -2
  11. package/dist/api/QTable.json +5 -0
  12. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  13. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  14. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  15. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  16. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  17. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  18. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  19. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  20. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  21. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  24. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  25. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  40. package/dist/icon-set/themify.umd.prod.js +1 -1
  41. package/dist/lang/ar.umd.prod.js +1 -1
  42. package/dist/lang/az-Latn.umd.prod.js +1 -1
  43. package/dist/lang/bg.umd.prod.js +1 -1
  44. package/dist/lang/bn.umd.prod.js +1 -1
  45. package/dist/lang/ca.umd.prod.js +1 -1
  46. package/dist/lang/cs.umd.prod.js +1 -1
  47. package/dist/lang/da.umd.prod.js +1 -1
  48. package/dist/lang/de.umd.prod.js +1 -1
  49. package/dist/lang/el.umd.prod.js +1 -1
  50. package/dist/lang/en-GB.umd.prod.js +1 -1
  51. package/dist/lang/en-US.umd.prod.js +1 -1
  52. package/dist/lang/eo.umd.prod.js +1 -1
  53. package/dist/lang/es.umd.prod.js +1 -1
  54. package/dist/lang/et.umd.prod.js +1 -1
  55. package/dist/lang/fa-IR.umd.prod.js +1 -1
  56. package/dist/lang/fa.umd.prod.js +1 -1
  57. package/dist/lang/fi.umd.prod.js +1 -1
  58. package/dist/lang/fr.umd.prod.js +1 -1
  59. package/dist/lang/gn.umd.prod.js +1 -1
  60. package/dist/lang/he.umd.prod.js +1 -1
  61. package/dist/lang/hr.umd.prod.js +1 -1
  62. package/dist/lang/hu.umd.prod.js +1 -1
  63. package/dist/lang/id.umd.prod.js +1 -1
  64. package/dist/lang/is.umd.prod.js +1 -1
  65. package/dist/lang/it.umd.prod.js +1 -1
  66. package/dist/lang/ja.umd.prod.js +1 -1
  67. package/dist/lang/km.umd.prod.js +1 -1
  68. package/dist/lang/ko-KR.umd.prod.js +1 -1
  69. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  70. package/dist/lang/lt.umd.prod.js +6 -0
  71. package/dist/lang/lu.umd.prod.js +1 -1
  72. package/dist/lang/lv.umd.prod.js +1 -1
  73. package/dist/lang/ml.umd.prod.js +1 -1
  74. package/dist/lang/ms.umd.prod.js +1 -1
  75. package/dist/lang/nb-NO.umd.prod.js +1 -1
  76. package/dist/lang/nl.umd.prod.js +1 -1
  77. package/dist/lang/pl.umd.prod.js +1 -1
  78. package/dist/lang/pt-BR.umd.prod.js +1 -1
  79. package/dist/lang/pt.umd.prod.js +1 -1
  80. package/dist/lang/ro.umd.prod.js +1 -1
  81. package/dist/lang/ru.umd.prod.js +1 -1
  82. package/dist/lang/sk.umd.prod.js +1 -1
  83. package/dist/lang/sl.umd.prod.js +1 -1
  84. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  85. package/dist/lang/sr.umd.prod.js +1 -1
  86. package/dist/lang/sv.umd.prod.js +1 -1
  87. package/dist/lang/ta.umd.prod.js +1 -1
  88. package/dist/lang/th.umd.prod.js +1 -1
  89. package/dist/lang/tr.umd.prod.js +1 -1
  90. package/dist/lang/ug.umd.prod.js +2 -2
  91. package/dist/lang/uk.umd.prod.js +1 -1
  92. package/dist/lang/vi.umd.prod.js +1 -1
  93. package/dist/lang/zh-CN.umd.prod.js +1 -1
  94. package/dist/lang/zh-TW.umd.prod.js +1 -1
  95. package/dist/quasar.cjs.prod.js +2 -2
  96. package/dist/quasar.css +24 -23
  97. package/dist/quasar.esm.prod.js +2 -2
  98. package/dist/quasar.prod.css +1 -1
  99. package/dist/quasar.rtl.css +29 -28
  100. package/dist/quasar.rtl.prod.css +1 -1
  101. package/dist/quasar.sass +24 -18
  102. package/dist/quasar.umd.js +538 -391
  103. package/dist/quasar.umd.prod.js +2 -2
  104. package/dist/ssr-directives/Morph.js +1 -1
  105. package/dist/types/index.d.ts +81 -12
  106. package/dist/vetur/quasar-attributes.json +39 -7
  107. package/dist/vetur/quasar-tags.json +9 -1
  108. package/dist/web-types/web-types.json +101 -15
  109. package/lang/index.json +4 -0
  110. package/lang/lt.js +103 -0
  111. package/lang/ug.js +42 -42
  112. package/package.json +1 -1
  113. package/src/components/ajax-bar/QAjaxBar.js +3 -2
  114. package/src/components/avatar/QAvatar.js +3 -2
  115. package/src/components/badge/QBadge.js +3 -2
  116. package/src/components/banner/QBanner.js +3 -2
  117. package/src/components/bar/QBar.js +3 -2
  118. package/src/components/breadcrumbs/QBreadcrumbs.js +3 -2
  119. package/src/components/breadcrumbs/QBreadcrumbsEl.js +3 -2
  120. package/src/components/btn/QBtn.js +19 -21
  121. package/src/components/btn-dropdown/QBtnDropdown.js +3 -2
  122. package/src/components/btn-group/QBtnGroup.js +3 -2
  123. package/src/components/btn-toggle/QBtnToggle.js +3 -2
  124. package/src/components/card/QCard.js +3 -2
  125. package/src/components/card/QCardActions.js +3 -2
  126. package/src/components/card/QCardSection.js +3 -2
  127. package/src/components/carousel/QCarousel.js +11 -3
  128. package/src/components/carousel/QCarousel.json +9 -1
  129. package/src/components/carousel/QCarouselControl.js +3 -2
  130. package/src/components/carousel/QCarouselSlide.js +3 -2
  131. package/src/components/chat/QChatMessage.js +3 -2
  132. package/src/components/checkbox/QCheckbox.js +3 -2
  133. package/src/components/chip/QChip.js +3 -2
  134. package/src/components/circular-progress/QCircularProgress.js +3 -2
  135. package/src/components/color/QColor.js +76 -63
  136. package/src/components/color/QColor.json +7 -0
  137. package/src/components/color/QColor.sass +5 -1
  138. package/src/components/date/QDate.js +5 -3
  139. package/src/components/dialog/QDialog.js +9 -2
  140. package/src/components/dialog-bottom-sheet/BottomSheet.js +3 -2
  141. package/src/components/dialog-plugin/DialogPlugin.js +3 -2
  142. package/src/components/drawer/QDrawer.js +6 -2
  143. package/src/components/editor/QEditor.js +3 -2
  144. package/src/components/expansion-item/QExpansionItem.js +3 -2
  145. package/src/components/fab/QFab.js +3 -2
  146. package/src/components/fab/QFabAction.js +3 -2
  147. package/src/components/field/QField.js +3 -3
  148. package/src/components/file/QFile.js +3 -2
  149. package/src/components/footer/QFooter.js +3 -2
  150. package/src/components/form/QForm.js +3 -2
  151. package/src/components/header/QHeader.js +3 -2
  152. package/src/components/icon/QIcon.js +4 -2
  153. package/src/components/img/QImg.js +5 -2
  154. package/src/components/infinite-scroll/QInfiniteScroll.js +3 -2
  155. package/src/components/inner-loading/QInnerLoading.js +34 -9
  156. package/src/components/inner-loading/QInnerLoading.json +29 -0
  157. package/src/components/inner-loading/QInnerLoading.sass +4 -0
  158. package/src/components/input/QInput.js +3 -2
  159. package/src/components/intersection/QIntersection.js +3 -2
  160. package/src/components/item/QItem.js +3 -2
  161. package/src/components/item/QItemLabel.js +3 -2
  162. package/src/components/item/QItemSection.js +3 -2
  163. package/src/components/item/QList.js +3 -3
  164. package/src/components/knob/QKnob.js +3 -2
  165. package/src/components/layout/QLayout.js +3 -2
  166. package/src/components/linear-progress/QLinearProgress.js +3 -2
  167. package/src/components/markup-table/QMarkupTable.js +3 -2
  168. package/src/components/menu/QMenu.js +4 -3
  169. package/src/components/no-ssr/QNoSsr.js +3 -2
  170. package/src/components/option-group/QOptionGroup.js +33 -21
  171. package/src/components/option-group/QOptionGroup.json +50 -1
  172. package/src/components/page/QPage.js +3 -2
  173. package/src/components/page/QPageContainer.js +3 -2
  174. package/src/components/page-scroller/QPageScroller.js +4 -2
  175. package/src/components/page-sticky/QPageSticky.js +2 -3
  176. package/src/components/pagination/QPagination.js +3 -2
  177. package/src/components/parallax/QParallax.js +3 -2
  178. package/src/components/popup-edit/QPopupEdit.js +3 -2
  179. package/src/components/popup-proxy/QPopupProxy.js +4 -2
  180. package/src/components/pull-to-refresh/QPullToRefresh.js +3 -2
  181. package/src/components/radio/QRadio.js +3 -2
  182. package/src/components/range/QRange.js +4 -3
  183. package/src/components/range/QRange.json +7 -3
  184. package/src/components/rating/QRating.js +65 -44
  185. package/src/components/rating/QRating.sass +8 -6
  186. package/src/components/resize-observer/QResizeObserver.js +3 -2
  187. package/src/components/responsive/QResponsive.js +3 -2
  188. package/src/components/scroll-area/QScrollArea.js +3 -2
  189. package/src/components/scroll-observer/QScrollObserver.js +3 -2
  190. package/src/components/select/QSelect.js +3 -2
  191. package/src/components/separator/QSeparator.js +4 -2
  192. package/src/components/separator/QSeparator.json +1 -1
  193. package/src/components/skeleton/QSkeleton.js +18 -7
  194. package/src/components/skeleton/QSkeleton.json +9 -0
  195. package/src/components/skeleton/QSkeleton.sass +7 -6
  196. package/src/components/slide-item/QSlideItem.js +3 -2
  197. package/src/components/slide-transition/QSlideTransition.js +4 -2
  198. package/src/components/slider/QSlider.js +4 -3
  199. package/src/components/slider/QSlider.json +7 -3
  200. package/src/components/slider/use-slider.js +7 -2
  201. package/src/components/space/QSpace.js +4 -2
  202. package/src/components/spinner/QSpinner.js +4 -2
  203. package/src/components/spinner/QSpinnerAudio.js +4 -2
  204. package/src/components/spinner/QSpinnerBall.js +4 -2
  205. package/src/components/spinner/QSpinnerBars.js +4 -2
  206. package/src/components/spinner/QSpinnerBox.js +4 -2
  207. package/src/components/spinner/QSpinnerClock.js +4 -2
  208. package/src/components/spinner/QSpinnerComment.js +4 -2
  209. package/src/components/spinner/QSpinnerCube.js +4 -2
  210. package/src/components/spinner/QSpinnerDots.js +4 -2
  211. package/src/components/spinner/QSpinnerFacebook.js +4 -2
  212. package/src/components/spinner/QSpinnerGears.js +4 -2
  213. package/src/components/spinner/QSpinnerGrid.js +4 -2
  214. package/src/components/spinner/QSpinnerHearts.js +4 -2
  215. package/src/components/spinner/QSpinnerHourglass.js +4 -2
  216. package/src/components/spinner/QSpinnerInfinity.js +4 -2
  217. package/src/components/spinner/QSpinnerIos.js +4 -2
  218. package/src/components/spinner/QSpinnerOrbit.js +4 -2
  219. package/src/components/spinner/QSpinnerOval.js +4 -2
  220. package/src/components/spinner/QSpinnerPie.js +4 -2
  221. package/src/components/spinner/QSpinnerPuff.js +4 -2
  222. package/src/components/spinner/QSpinnerRadio.js +4 -2
  223. package/src/components/spinner/QSpinnerRings.js +4 -2
  224. package/src/components/spinner/QSpinnerTail.js +4 -2
  225. package/src/components/splitter/QSplitter.js +3 -2
  226. package/src/components/stepper/QStep.js +3 -2
  227. package/src/components/stepper/QStepper.js +3 -2
  228. package/src/components/stepper/QStepperNavigation.js +3 -2
  229. package/src/components/stepper/StepHeader.js +12 -10
  230. package/src/components/tab-panels/QTabPanel.js +4 -2
  231. package/src/components/tab-panels/QTabPanels.js +3 -2
  232. package/src/components/table/QTable.js +4 -2
  233. package/src/components/table/QTable.json +1 -0
  234. package/src/components/table/QTd.js +3 -2
  235. package/src/components/table/QTh.js +3 -2
  236. package/src/components/table/QTr.js +3 -2
  237. package/src/components/tabs/QRouteTab.js +4 -2
  238. package/src/components/tabs/QTab.js +3 -3
  239. package/src/components/tabs/QTabs.js +3 -2
  240. package/src/components/tabs/use-tab.js +11 -9
  241. package/src/components/time/QTime.js +3 -4
  242. package/src/components/timeline/QTimeline.js +3 -2
  243. package/src/components/timeline/QTimelineEntry.js +3 -2
  244. package/src/components/toggle/QToggle.js +5 -2
  245. package/src/components/toolbar/QToolbar.js +3 -2
  246. package/src/components/toolbar/QToolbarTitle.js +3 -2
  247. package/src/components/tooltip/QTooltip.js +3 -2
  248. package/src/components/tree/QTree.js +3 -2
  249. package/src/components/uploader/QUploaderAddTrigger.js +3 -2
  250. package/src/components/video/QVideo.js +4 -2
  251. package/src/components/virtual-scroll/QVirtualScroll.js +3 -2
  252. package/src/composables/private/use-panel.js +13 -8
  253. package/src/composables/private/use-panel.json +11 -2
  254. package/src/css/core/transitions.sass +4 -4
  255. package/src/css/normalize.sass +0 -7
  256. package/src/directives/ClosePopup.js +3 -1
  257. package/src/directives/Intersection.js +3 -1
  258. package/src/directives/Morph.js +4 -1
  259. package/src/directives/Mutation.js +3 -1
  260. package/src/directives/Ripple.js +3 -1
  261. package/src/directives/Scroll.js +3 -1
  262. package/src/directives/ScrollFire.js +3 -1
  263. package/src/directives/TouchHold.js +4 -1
  264. package/src/directives/TouchPan.js +4 -1
  265. package/src/directives/TouchRepeat.js +4 -1
  266. package/src/directives/TouchSwipe.js +4 -1
  267. package/src/plugins/Notify.js +4 -3
  268. package/src/utils/create-uploader-component.js +3 -3
  269. package/src/utils/date.js +93 -60
  270. package/src/utils/private/create.js +4 -0
@@ -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: {
@@ -60,6 +61,7 @@ export default defineComponent({
60
61
  palette: Array,
61
62
 
62
63
  noHeader: Boolean,
64
+ noHeaderTabs: Boolean,
63
65
  noFooter: Boolean,
64
66
 
65
67
  square: Boolean,
@@ -145,7 +147,7 @@ export default defineComponent({
145
147
  ? true
146
148
  : luminosity(model.value) > 0.4
147
149
 
148
- return 'q-color-picker__header-content absolute-full'
150
+ return 'q-color-picker__header-content'
149
151
  + ` q-color-picker__header-content--${ light ? 'light' : 'dark' }`
150
152
  })
151
153
 
@@ -496,6 +498,63 @@ export default defineComponent({
496
498
  }
497
499
 
498
500
  function getHeader () {
501
+ const child = []
502
+
503
+ props.noHeaderTabs !== true && child.push(
504
+ h(QTabs, {
505
+ class: 'q-color-picker__header-tabs',
506
+ modelValue: topView.value,
507
+ dense: true,
508
+ align: 'justify',
509
+ ...getCache('topVTab', {
510
+ 'onUpdate:modelValue': val => { topView.value = val }
511
+ })
512
+ }, () => [
513
+ h(QTab, {
514
+ label: 'HEX' + (hasAlpha.value === true ? 'A' : ''),
515
+ name: 'hex',
516
+ ripple: false
517
+ }),
518
+
519
+ h(QTab, {
520
+ label: 'RGB' + (hasAlpha.value === true ? 'A' : ''),
521
+ name: 'rgb',
522
+ ripple: false
523
+ })
524
+ ])
525
+ )
526
+
527
+ child.push(
528
+ h('div', {
529
+ class: 'q-color-picker__header-banner row flex-center no-wrap'
530
+ }, [
531
+ h('input', {
532
+ class: 'fit',
533
+ value: model.value[ topView.value ],
534
+ ...(editable.value !== true
535
+ ? { readonly: true }
536
+ : {}
537
+ ),
538
+ ...getCache('topIn', {
539
+ onInput: evt => {
540
+ updateErrorIcon(onEditorChange(evt) === true)
541
+ },
542
+ onChange: stop,
543
+ onBlur: evt => {
544
+ onEditorChange(evt, true) === true && proxy.$forceUpdate()
545
+ updateErrorIcon(false)
546
+ }
547
+ })
548
+ }),
549
+
550
+ h(QIcon, {
551
+ ref: errorIconRef,
552
+ class: 'q-color-picker__error-icon absolute no-pointer-events',
553
+ name: $q.iconSet.type.negative
554
+ })
555
+ ])
556
+ )
557
+
499
558
  return h('div', {
500
559
  class: 'q-color-picker__header relative-position overflow-hidden'
501
560
  }, [
@@ -504,57 +563,7 @@ export default defineComponent({
504
563
  h('div', {
505
564
  class: headerClass.value,
506
565
  style: currentBgColor.value
507
- }, [
508
- h(QTabs, {
509
- modelValue: topView.value,
510
- dense: true,
511
- align: 'justify',
512
- ...getCache('topVTab', {
513
- 'onUpdate:modelValue': val => { topView.value = val }
514
- })
515
- }, () => [
516
- h(QTab, {
517
- label: 'HEX' + (hasAlpha.value === true ? 'A' : ''),
518
- name: 'hex',
519
- ripple: false
520
- }),
521
-
522
- h(QTab, {
523
- label: 'RGB' + (hasAlpha.value === true ? 'A' : ''),
524
- name: 'rgb',
525
- ripple: false
526
- })
527
- ]),
528
-
529
- h('div', {
530
- class: 'q-color-picker__header-banner row flex-center no-wrap'
531
- }, [
532
- h('input', {
533
- class: 'fit',
534
- value: model.value[ topView.value ],
535
- ...(editable.value !== true
536
- ? { readonly: true }
537
- : {}
538
- ),
539
- ...getCache('topIn', {
540
- onInput: evt => {
541
- updateErrorIcon(onEditorChange(evt) === true)
542
- },
543
- onChange: stop,
544
- onBlur: evt => {
545
- onEditorChange(evt, true) === true && proxy.$forceUpdate()
546
- updateErrorIcon(false)
547
- }
548
- })
549
- }),
550
-
551
- h(QIcon, {
552
- ref: errorIconRef,
553
- class: 'q-color-picker__error-icon absolute no-pointer-events',
554
- name: $q.iconSet.type.negative
555
- })
556
- ])
557
- ])
566
+ }, child)
558
567
  ])
559
568
  }
560
569
 
@@ -790,19 +799,23 @@ export default defineComponent({
790
799
  }
791
800
 
792
801
  function getPaletteTab () {
802
+ const fn = color => h('div', {
803
+ class: 'q-color-picker__cube col-auto',
804
+ style: { backgroundColor: color },
805
+ ...(
806
+ editable.value === true
807
+ ? getCache('palette#' + color, {
808
+ onClick: () => { onPalettePick(color) }
809
+ })
810
+ : {}
811
+ )
812
+ })
813
+
793
814
  return [
794
815
  h('div', {
795
816
  class: 'row items-center q-color-picker__palette-rows'
796
817
  + (editable.value === true ? ' q-color-picker__palette-rows--editable' : '')
797
- }, computedPalette.value.map(color => h('div', {
798
- class: 'q-color-picker__cube col-auto',
799
- style: { backgroundColor: color },
800
- ...(editable.value === true ? getCache('palette#' + color, {
801
- onClick: () => {
802
- onPalettePick(color)
803
- }
804
- }) : {})
805
- })))
818
+ }, computedPalette.value.map(fn))
806
819
  ]
807
820
  }
808
821
 
@@ -64,6 +64,13 @@
64
64
  "category": "content"
65
65
  },
66
66
 
67
+ "no-header-tabs": {
68
+ "type": "Boolean",
69
+ "desc": "Do not render header tabs (only the input)",
70
+ "category": "content",
71
+ "addedIn": "v2.2"
72
+ },
73
+
67
74
  "no-footer": {
68
75
  "type": "Boolean",
69
76
  "desc": "Do not render footer; Useful when you want a specific view ('default-view' prop) and don't want the user to be able to switch it",
@@ -16,7 +16,11 @@
16
16
  border: 1px solid $separator-color
17
17
 
18
18
  &__header
19
- height: 68px
19
+
20
+ &-tabs
21
+ height: 32px
22
+ &-banner
23
+ height: 36px
20
24
 
21
25
  input
22
26
  line-height: 24px
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, computed, watch, Transition, nextTick, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, watch, Transition, nextTick, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QBtn from '../btn/QBtn.js'
4
4
 
@@ -7,6 +7,7 @@ import useCache from '../../composables/private/use-cache.js'
7
7
  import { useFormProps, useFormAttrs, useFormInject } from '../../composables/private/use-form.js'
8
8
  import useDatetime, { useDatetimeProps, useDatetimeEmits, getDayHash } from './use-datetime.js'
9
9
 
10
+ import { createComponent } from '../../utils/private/create.js'
10
11
  import { hSlot } from '../../utils/private/render.js'
11
12
  import { formatDate, __splitDate, getDateDiff } from '../../utils/date.js'
12
13
  import { pad } from '../../utils/format.js'
@@ -22,7 +23,7 @@ function getMonthHash (date) {
22
23
  return date.year + '/' + pad(date.month)
23
24
  }
24
25
 
25
- export default defineComponent({
26
+ export default createComponent({
26
27
  name: 'QDate',
27
28
 
28
29
  props: {
@@ -800,8 +801,9 @@ export default defineComponent({
800
801
  return getDefaultViewModel()
801
802
  }
802
803
 
804
+ const target = model[ model.length - 1 ]
803
805
  const decoded = decodeString(
804
- model[ 0 ].from !== void 0 ? model[ 0 ].from : model[ 0 ],
806
+ target.from !== void 0 ? target.from : target,
805
807
  mask,
806
808
  locale
807
809
  )
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, computed, watch, onBeforeUnmount, nextTick, Transition, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, watch, onBeforeUnmount, nextTick, Transition, getCurrentInstance } from 'vue'
2
2
 
3
3
  import useHistory from '../../composables/private/use-history.js'
4
4
  import useTimeout from '../../composables/private/use-timeout.js'
@@ -8,6 +8,7 @@ import { useTransitionProps } from '../../composables/private/use-transition.js'
8
8
  import usePortal from '../../composables/private/use-portal.js'
9
9
  import usePreventScroll from '../../composables/private/use-prevent-scroll.js'
10
10
 
11
+ import { createComponent } from '../../utils/private/create.js'
11
12
  import { childHasFocus } from '../../utils/dom.js'
12
13
  import { hSlot } from '../../utils/private/render.js'
13
14
  import { addEscapeKey, removeEscapeKey } from '../../utils/private/escape-key.js'
@@ -32,7 +33,7 @@ const transitions = {
32
33
  left: [ 'slide-right', 'slide-left' ]
33
34
  }
34
35
 
35
- export default defineComponent({
36
+ export default createComponent({
36
37
  name: 'QDialog',
37
38
 
38
39
  inheritAttrs: false,
@@ -135,6 +136,10 @@ export default defineComponent({
135
136
  : transitionShow.value
136
137
  ))
137
138
 
139
+ const transitionStyle = computed(
140
+ () => `--q-transition-duration: ${ props.transitionDuration }ms`
141
+ )
142
+
138
143
  const useBackdrop = computed(() => showing.value === true && props.seamless !== true)
139
144
 
140
145
  const onEvents = computed(() => (
@@ -375,6 +380,7 @@ export default defineComponent({
375
380
  useBackdrop.value === true
376
381
  ? h('div', {
377
382
  class: 'q-dialog__backdrop fixed-full',
383
+ style: transitionStyle.value,
378
384
  'aria-hidden': 'true',
379
385
  onMousedown: onBackdropClick
380
386
  })
@@ -389,6 +395,7 @@ export default defineComponent({
389
395
  ? h('div', {
390
396
  ref: innerRef,
391
397
  class: classes.value,
398
+ style: transitionStyle.value,
392
399
  tabindex: -1,
393
400
  ...onEvents.value
394
401
  }, hSlot(slots.default))
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, getCurrentInstance } from 'vue'
1
+ import { h, ref, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QDialog from '../dialog/QDialog.js'
4
4
 
@@ -11,9 +11,10 @@ import QCardSection from '../card/QCardSection.js'
11
11
  import QItem from '../item/QItem.js'
12
12
  import QItemSection from '../item/QItemSection.js'
13
13
 
14
+ import { createComponent } from '../../utils/private/create.js'
14
15
  import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
15
16
 
16
- export default defineComponent({
17
+ export default createComponent({
17
18
  name: 'BottomSheetPlugin',
18
19
 
19
20
  props: {
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, computed, watch, toRaw, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, watch, toRaw, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QDialog from '../dialog/QDialog.js'
4
4
  import QBtn from '../btn/QBtn.js'
@@ -13,11 +13,12 @@ import QOptionGroup from '../option-group/QOptionGroup.js'
13
13
 
14
14
  import QSpinner from '../spinner/QSpinner.js'
15
15
 
16
+ import { createComponent } from '../../utils/private/create.js'
16
17
  import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
17
18
 
18
19
  import { isKeyCode } from '../../utils/private/key-composition.js'
19
20
 
20
- export default defineComponent({
21
+ export default createComponent({
21
22
  name: 'DialogPlugin',
22
23
 
23
24
  props: {
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, withDirectives, ref, computed, watch, onMounted, onBeforeUnmount, nextTick, inject, getCurrentInstance } from 'vue'
1
+ import { h, withDirectives, ref, computed, watch, onMounted, onBeforeUnmount, nextTick, inject, getCurrentInstance } from 'vue'
2
2
 
3
3
  import useHistory from '../../composables/private/use-history.js'
4
4
  import useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private/use-model-toggle.js'
@@ -8,13 +8,14 @@ import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
8
8
 
9
9
  import TouchPan from '../../directives/TouchPan.js'
10
10
 
11
+ import { createComponent } from '../../utils/private/create.js'
11
12
  import { between } from '../../utils/format.js'
12
13
  import { hSlot, hDir } from '../../utils/private/render.js'
13
14
  import { layoutKey } from '../../utils/private/symbols.js'
14
15
 
15
16
  const duration = 150
16
17
 
17
- export default defineComponent({
18
+ export default createComponent({
18
19
  name: 'QDrawer',
19
20
 
20
21
  inheritAttrs: false,
@@ -460,6 +461,9 @@ export default defineComponent({
460
461
  flagMiniAnimate.value = true
461
462
  timerMini = setTimeout(() => {
462
463
  flagMiniAnimate.value = false
464
+ if (vm && vm.proxy && vm.proxy.$el) {
465
+ vm.proxy.$el.classList.remove('q-drawer--mini-animate')
466
+ }
463
467
  }, 150)
464
468
  }
465
469
 
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, computed, watch, onMounted, nextTick, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, watch, onMounted, nextTick, getCurrentInstance } from 'vue'
2
2
 
3
3
  import Caret from './editor-caret.js'
4
4
  import { getToolbar, getFonts, getLinkEditor } from './editor-utils.js'
@@ -7,12 +7,13 @@ import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
7
7
  import useFullscreen, { useFullscreenProps, useFullscreenEmits } from '../../composables/private/use-fullscreen.js'
8
8
  import useSplitAttrs from '../../composables/private/use-split-attrs.js'
9
9
 
10
+ import { createComponent } from '../../utils/private/create.js'
10
11
  import { stopAndPrevent } from '../../utils/event.js'
11
12
  import extend from '../../utils/extend.js'
12
13
  import { shouldIgnoreKey } from '../../utils/private/key-composition.js'
13
14
  import { addFocusFn } from '../../utils/private/focus-manager.js'
14
15
 
15
- export default defineComponent({
16
+ export default createComponent({
16
17
  name: 'QEditor',
17
18
 
18
19
  props: {
@@ -1,4 +1,4 @@
1
- import { h, shallowReactive, defineComponent, ref, computed, watch, withDirectives, getCurrentInstance, vShow, onBeforeUnmount } from 'vue'
1
+ import { h, shallowReactive, ref, computed, watch, withDirectives, getCurrentInstance, vShow, onBeforeUnmount } from 'vue'
2
2
 
3
3
  import QItem from '../item/QItem.js'
4
4
  import QItemSection from '../item/QItemSection.js'
@@ -11,6 +11,7 @@ import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
11
11
  import { useRouterLinkProps } from '../../composables/private/use-router-link.js'
12
12
  import useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private/use-model-toggle.js'
13
13
 
14
+ import { createComponent } from '../../utils/private/create.js'
14
15
  import { stopAndPrevent } from '../../utils/event.js'
15
16
  import { hSlot } from '../../utils/private/render.js'
16
17
  import uid from '../../utils/uid.js'
@@ -18,7 +19,7 @@ import uid from '../../utils/uid.js'
18
19
  const itemGroups = shallowReactive({})
19
20
  const LINK_PROPS = Object.keys(useRouterLinkProps)
20
21
 
21
- export default defineComponent({
22
+ export default createComponent({
22
23
  name: 'QExpansionItem',
23
24
 
24
25
  props: {
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, computed, provide, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, provide, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QBtn from '../btn/QBtn.js'
4
4
  import QIcon from '../icon/QIcon.js'
@@ -6,13 +6,14 @@ import QIcon from '../icon/QIcon.js'
6
6
  import useFab, { useFabProps } from './use-fab.js'
7
7
  import useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private/use-model-toggle.js'
8
8
 
9
+ import { createComponent } from '../../utils/private/create.js'
9
10
  import { hSlot, hMergeSlot } from '../../utils/private/render.js'
10
11
  import { fabKey } from '../../utils/private/symbols.js'
11
12
 
12
13
  const directions = [ 'up', 'right', 'down', 'left' ]
13
14
  const alignValues = [ 'left', 'center', 'right' ]
14
15
 
15
- export default defineComponent({
16
+ export default createComponent({
16
17
  name: 'QFab',
17
18
 
18
19
  props: {
@@ -1,10 +1,11 @@
1
- import { h, defineComponent, computed, inject, getCurrentInstance } from 'vue'
1
+ import { h, computed, inject, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QBtn from '../btn/QBtn.js'
4
4
  import QIcon from '../icon/QIcon.js'
5
5
 
6
6
  import useFab, { useFabProps } from './use-fab.js'
7
7
 
8
+ import { createComponent } from '../../utils/private/create.js'
8
9
  import { fabKey } from '../../utils/private/symbols.js'
9
10
  import { hMergeSlot } from '../../utils/private/render.js'
10
11
  import { noop } from '../../utils/event.js'
@@ -17,7 +18,7 @@ const anchorMap = {
17
18
 
18
19
  const anchorValues = Object.keys(anchorMap)
19
20
 
20
- export default defineComponent({
21
+ export default createComponent({
21
22
  name: 'QFabAction',
22
23
 
23
24
  props: {
@@ -1,8 +1,8 @@
1
- import { defineComponent } from 'vue'
2
-
3
1
  import useField, { useFieldState, useFieldProps, useFieldEmits } from '../../composables/private/use-field.js'
4
2
 
5
- export default defineComponent({
3
+ import { createComponent } from '../../utils/private/create.js'
4
+
5
+ export default createComponent({
6
6
  name: 'QField',
7
7
 
8
8
  inheritAttrs: false,
@@ -1,4 +1,4 @@
1
- import { h, defineComponent, ref, computed, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QChip from '../chip/QChip.js'
4
4
 
@@ -7,9 +7,10 @@ import { useFormProps, useFormInputNameAttr } from '../../composables/private/us
7
7
  import useFile, { useFileProps, useFileEmits } from '../../composables/private/use-file.js'
8
8
  import useFileFormDomProps from '../../composables/private/use-file-dom-props.js'
9
9
 
10
+ import { createComponent } from '../../utils/private/create.js'
10
11
  import { humanStorageSize } from '../../utils/format.js'
11
12
 
12
- export default defineComponent({
13
+ export default createComponent({
13
14
  name: 'QFile',
14
15
 
15
16
  inheritAttrs: false,
@@ -1,13 +1,14 @@
1
- import { h, defineComponent, ref, computed, watch, onBeforeUnmount, inject, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, watch, onBeforeUnmount, inject, getCurrentInstance } from 'vue'
2
2
 
3
3
  import { isRuntimeSsrPreHydration } from '../../plugins/Platform.js'
4
4
 
5
5
  import QResizeObserver from '../resize-observer/QResizeObserver.js'
6
6
 
7
+ import { createComponent } from '../../utils/private/create.js'
7
8
  import { hMergeSlot } from '../../utils/private/render.js'
8
9
  import { layoutKey } from '../../utils/private/symbols.js'
9
10
 
10
- export default defineComponent({
11
+ export default createComponent({
11
12
  name: 'QFooter',
12
13
 
13
14
  props: {
@@ -1,11 +1,12 @@
1
- import { h, defineComponent, ref, onMounted, getCurrentInstance, nextTick, provide } from 'vue'
1
+ import { h, ref, onMounted, getCurrentInstance, nextTick, provide } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import { stopAndPrevent } from '../../utils/event.js'
4
5
  import { addFocusFn } from '../../utils/private/focus-manager.js'
5
6
  import { hSlot } from '../../utils/private/render.js'
6
7
  import { formKey } from '../../utils/private/symbols.js'
7
8
 
8
- export default defineComponent({
9
+ export default createComponent({
9
10
  name: 'QForm',
10
11
 
11
12
  props: {
@@ -1,11 +1,12 @@
1
- import { h, defineComponent, ref, computed, watch, onBeforeUnmount, inject, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, watch, onBeforeUnmount, inject, getCurrentInstance } from 'vue'
2
2
 
3
3
  import QResizeObserver from '../resize-observer/QResizeObserver.js'
4
4
 
5
+ import { createComponent } from '../../utils/private/create.js'
5
6
  import { hUniqueSlot } from '../../utils/private/render.js'
6
7
  import { layoutKey } from '../../utils/private/symbols.js'
7
8
 
8
- export default defineComponent({
9
+ export default createComponent({
9
10
  name: 'QHeader',
10
11
 
11
12
  props: {
@@ -1,6 +1,8 @@
1
- import { h, defineComponent, computed, getCurrentInstance } from 'vue'
1
+ import { h, computed, getCurrentInstance } from 'vue'
2
2
 
3
3
  import useSize, { useSizeProps } from '../../composables/private/use-size.js'
4
+
5
+ import { createComponent } from '../../utils/private/create.js'
4
6
  import { hSlot, hMergeSlot } from '../../utils/private/render.js'
5
7
 
6
8
  const sameFn = i => i
@@ -33,7 +35,7 @@ const svgUseRE = /^svguse:/
33
35
  const ionRE = /^ion-/
34
36
  const faLaRE = /^[l|f]a[s|r|l|b|d]? /
35
37
 
36
- export default defineComponent({
38
+ export default createComponent({
37
39
  name: 'QIcon',
38
40
 
39
41
  props: {
@@ -1,13 +1,16 @@
1
- import { h, defineComponent, ref, computed, watch, onMounted, onBeforeUnmount, Transition } from 'vue'
1
+ import { h, ref, computed, watch, onMounted, onBeforeUnmount, Transition } from 'vue'
2
2
 
3
3
  import QSpinner from '../spinner/QSpinner.js'
4
+
4
5
  import useRatio, { useRatioProps } from '../../composables/private/use-ratio.js'
6
+
7
+ import { createComponent } from '../../utils/private/create.js'
5
8
  import { hSlot } from '../../utils/private/render.js'
6
9
  import { isRuntimeSsrPreHydration } from '../../plugins/Platform.js'
7
10
 
8
11
  const defaultRatio = 16 / 9
9
12
 
10
- export default defineComponent({
13
+ export default createComponent({
11
14
  name: 'QImg',
12
15
 
13
16
  props: {
@@ -1,12 +1,13 @@
1
- import { h, defineComponent, ref, computed, watch, onMounted, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, watch, onMounted, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'
2
2
 
3
+ import { createComponent } from '../../utils/private/create.js'
3
4
  import debounce from '../../utils/debounce.js'
4
5
  import { height } from '../../utils/dom.js'
5
6
  import { getScrollTarget, getScrollHeight, getVerticalScrollPosition, setVerticalScrollPosition } from '../../utils/scroll.js'
6
7
  import { listenOpts } from '../../utils/event.js'
7
8
  import { hSlot, hUniqueSlot } from '../../utils/private/render.js'
8
9
 
9
- export default defineComponent({
10
+ export default createComponent({
10
11
  name: 'QInfiniteScroll',
11
12
 
12
13
  props: {