quasar 2.3.4 → 2.4.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 (204) hide show
  1. package/dist/api/Loading.json +2 -6
  2. package/dist/api/QBreadcrumbsEl.json +31 -10
  3. package/dist/api/QBtn.json +30 -14
  4. package/dist/api/QBtnDropdown.json +30 -14
  5. package/dist/api/QBtnToggle.json +3 -0
  6. package/dist/api/QChatMessage.json +4 -12
  7. package/dist/api/QExpansionItem.json +31 -10
  8. package/dist/api/QFab.json +30 -0
  9. package/dist/api/QFabAction.json +8 -0
  10. package/dist/api/QField.json +1 -0
  11. package/dist/api/QFile.json +1 -0
  12. package/dist/api/QInput.json +1 -0
  13. package/dist/api/QItem.json +31 -10
  14. package/dist/api/QOptionGroup.json +74 -4
  15. package/dist/api/QRange.json +592 -107
  16. package/dist/api/QRouteTab.json +31 -11
  17. package/dist/api/QSelect.json +3 -6
  18. package/dist/api/QSlider.json +504 -39
  19. package/dist/api/QUploader.json +16 -2
  20. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  21. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  22. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  23. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  24. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  25. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  26. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  27. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  28. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  29. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  30. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  31. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  32. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  33. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  48. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  49. package/dist/icon-set/themify.umd.prod.js +1 -1
  50. package/dist/lang/ar.umd.prod.js +1 -1
  51. package/dist/lang/az-Latn.umd.prod.js +1 -1
  52. package/dist/lang/bg.umd.prod.js +1 -1
  53. package/dist/lang/bn.umd.prod.js +1 -1
  54. package/dist/lang/ca.umd.prod.js +1 -1
  55. package/dist/lang/cs.umd.prod.js +1 -1
  56. package/dist/lang/da.umd.prod.js +1 -1
  57. package/dist/lang/de.umd.prod.js +1 -1
  58. package/dist/lang/el.umd.prod.js +1 -1
  59. package/dist/lang/en-GB.umd.prod.js +1 -1
  60. package/dist/lang/en-US.umd.prod.js +1 -1
  61. package/dist/lang/eo.umd.prod.js +1 -1
  62. package/dist/lang/es.umd.prod.js +1 -1
  63. package/dist/lang/et.umd.prod.js +1 -1
  64. package/dist/lang/fa-IR.umd.prod.js +1 -1
  65. package/dist/lang/fa.umd.prod.js +1 -1
  66. package/dist/lang/fi.umd.prod.js +1 -1
  67. package/dist/lang/fr.umd.prod.js +1 -1
  68. package/dist/lang/gn.umd.prod.js +1 -1
  69. package/dist/lang/he.umd.prod.js +1 -1
  70. package/dist/lang/hr.umd.prod.js +1 -1
  71. package/dist/lang/hu.umd.prod.js +1 -1
  72. package/dist/lang/id.umd.prod.js +1 -1
  73. package/dist/lang/is.umd.prod.js +1 -1
  74. package/dist/lang/it.umd.prod.js +1 -1
  75. package/dist/lang/ja.umd.prod.js +1 -1
  76. package/dist/lang/km.umd.prod.js +1 -1
  77. package/dist/lang/ko-KR.umd.prod.js +1 -1
  78. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  79. package/dist/lang/lt.umd.prod.js +1 -1
  80. package/dist/lang/lu.umd.prod.js +1 -1
  81. package/dist/lang/lv.umd.prod.js +1 -1
  82. package/dist/lang/ml.umd.prod.js +1 -1
  83. package/dist/lang/ms.umd.prod.js +1 -1
  84. package/dist/lang/nb-NO.umd.prod.js +1 -1
  85. package/dist/lang/nl.umd.prod.js +1 -1
  86. package/dist/lang/pl.umd.prod.js +1 -1
  87. package/dist/lang/pt-BR.umd.prod.js +1 -1
  88. package/dist/lang/pt.umd.prod.js +1 -1
  89. package/dist/lang/ro.umd.prod.js +1 -1
  90. package/dist/lang/ru.umd.prod.js +1 -1
  91. package/dist/lang/sk.umd.prod.js +1 -1
  92. package/dist/lang/sl.umd.prod.js +1 -1
  93. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  94. package/dist/lang/sr.umd.prod.js +1 -1
  95. package/dist/lang/sv.umd.prod.js +1 -1
  96. package/dist/lang/ta.umd.prod.js +1 -1
  97. package/dist/lang/th.umd.prod.js +1 -1
  98. package/dist/lang/tr.umd.prod.js +1 -1
  99. package/dist/lang/ug.umd.prod.js +1 -1
  100. package/dist/lang/uk.umd.prod.js +1 -1
  101. package/dist/lang/vi.umd.prod.js +1 -1
  102. package/dist/lang/zh-CN.umd.prod.js +1 -1
  103. package/dist/lang/zh-TW.umd.prod.js +1 -1
  104. package/dist/quasar.cjs.prod.js +2 -2
  105. package/dist/quasar.css +264 -183
  106. package/dist/quasar.esm.prod.js +2 -2
  107. package/dist/quasar.prod.css +1 -1
  108. package/dist/quasar.rtl.css +331 -262
  109. package/dist/quasar.rtl.prod.css +1 -1
  110. package/dist/quasar.sass +235 -178
  111. package/dist/quasar.umd.js +16537 -16226
  112. package/dist/quasar.umd.prod.js +2 -2
  113. package/dist/ssr-directives/Morph.js +1 -1
  114. package/dist/transforms/loader-asset-urls.json +20 -0
  115. package/dist/types/api/slider.d.ts +46 -0
  116. package/dist/types/api/validation.d.ts +4 -0
  117. package/dist/types/api.d.ts +2 -0
  118. package/dist/types/composables.d.ts +3 -3
  119. package/dist/types/index.d.ts +594 -120
  120. package/dist/vetur/quasar-attributes.json +250 -82
  121. package/dist/vetur/quasar-tags.json +59 -17
  122. package/dist/web-types/web-types.json +578 -149
  123. package/package.json +1 -1
  124. package/src/api.extends.json +0 -1
  125. package/src/components/breadcrumbs/QBreadcrumbs.js +7 -2
  126. package/src/components/breadcrumbs/QBreadcrumbs.sass +0 -3
  127. package/src/components/breadcrumbs/QBreadcrumbsEl.js +14 -8
  128. package/src/components/btn/QBtn.js +5 -5
  129. package/src/components/btn/use-btn.js +21 -21
  130. package/src/components/btn/use-btn.json +22 -13
  131. package/src/components/btn-toggle/QBtnToggle.json +3 -0
  132. package/src/components/checkbox/use-checkbox.js +1 -1
  133. package/src/components/color/QColor.js +32 -26
  134. package/src/components/color/QColor.sass +10 -23
  135. package/src/components/date/QDate.sass +2 -0
  136. package/src/components/drawer/QDrawer.js +18 -15
  137. package/src/components/editor/QEditor.js +1 -1
  138. package/src/components/editor/QEditor.sass +10 -1
  139. package/src/components/expansion-item/QExpansionItem.js +4 -1
  140. package/src/components/fab/QFab.js +18 -12
  141. package/src/components/fab/QFab.json +33 -0
  142. package/src/components/fab/QFab.sass +1 -1
  143. package/src/components/fab/QFabAction.js +14 -7
  144. package/src/components/fab/QFabAction.json +10 -0
  145. package/src/components/file/QFile.js +12 -5
  146. package/src/components/file/QFile.sass +4 -2
  147. package/src/components/footer/QFooter.js +1 -1
  148. package/src/components/header/QHeader.js +1 -1
  149. package/src/components/icon/QIcon.js +1 -1
  150. package/src/components/infinite-scroll/QInfiniteScroll.js +4 -5
  151. package/src/components/item/QItem.js +2 -3
  152. package/src/components/option-group/QOptionGroup.js +3 -0
  153. package/src/components/option-group/QOptionGroup.json +48 -2
  154. package/src/components/parallax/QParallax.js +4 -2
  155. package/src/components/popup-edit/QPopupEdit.js +2 -5
  156. package/src/components/radio/QRadio.js +2 -7
  157. package/src/components/range/QRange.js +103 -222
  158. package/src/components/range/QRange.json +11 -121
  159. package/src/components/scroll-area/QScrollArea.js +3 -1
  160. package/src/components/slider/QSlider.js +46 -132
  161. package/src/components/slider/QSlider.json +1 -121
  162. package/src/components/slider/QSlider.sass +198 -132
  163. package/src/components/slider/use-slider.js +453 -109
  164. package/src/components/slider/use-slider.json +546 -0
  165. package/src/components/stepper/QStepper.js +3 -3
  166. package/src/components/stepper/QStepper.sass +24 -26
  167. package/src/components/table/QTable.js +26 -46
  168. package/src/components/tabs/QRouteTab.js +1 -2
  169. package/src/components/tabs/QRouteTab.json +0 -7
  170. package/src/components/tabs/QTabs.js +71 -20
  171. package/src/components/tabs/use-tab.js +26 -13
  172. package/src/components/tree/QTree.js +14 -12
  173. package/src/components/uploader/QUploader.json +14 -2
  174. package/src/components/uploader/uploader-core.js +16 -9
  175. package/src/components/virtual-scroll/QVirtualScroll.sass +1 -0
  176. package/src/components/virtual-scroll/use-virtual-scroll.js +30 -17
  177. package/src/composables/private/use-field.js +5 -5
  178. package/src/composables/private/use-file.js +20 -5
  179. package/src/composables/private/use-form.js +2 -3
  180. package/src/composables/private/use-fullscreen.js +15 -4
  181. package/src/composables/private/use-router-link.js +44 -23
  182. package/src/composables/private/use-router-link.json +26 -10
  183. package/src/composables/private/use-split-attrs.js +4 -4
  184. package/src/composables/private/use-validate.js +21 -15
  185. package/src/composables/private/use-validate.json +1 -0
  186. package/src/css/core/helpers.sass +3 -0
  187. package/src/css/core/positioning.sass +5 -0
  188. package/src/directives/ScrollFire.js +1 -0
  189. package/src/icon-set.js +2 -4
  190. package/src/plugins/AppFullscreen.js +70 -53
  191. package/src/plugins/AppVisibility.js +2 -3
  192. package/src/plugins/BottomSheet.js +3 -5
  193. package/src/plugins/Dialog.js +3 -5
  194. package/src/plugins/LoadingBar.js +17 -18
  195. package/src/plugins/Notify.js +296 -295
  196. package/src/plugins/Platform.js +14 -14
  197. package/src/utils/date.js +4 -4
  198. package/src/utils/dom.js +2 -2
  199. package/src/utils/open-url.js +2 -2
  200. package/src/utils/patterns.js +1 -0
  201. package/src/utils/private/define-reactive-plugin.js +10 -8
  202. package/src/utils/private/global-dialog.js +6 -8
  203. package/src/utils/private/inject-obj-prop.js +13 -0
  204. package/src/utils/private/is.js +2 -2
@@ -9,39 +9,59 @@
9
9
  "String",
10
10
  "Object"
11
11
  ],
12
- "desc": "Equivalent to Vue Router <router-link> 'to' property",
12
+ "desc": "Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used",
13
13
  "examples": [
14
14
  "/home/dashboard",
15
15
  ":to=\"{ name: 'my-route-name' }\""
16
16
  ],
17
- "category": "general",
18
- "required": true
17
+ "category": "navigation"
19
18
  },
20
19
  "exact": {
21
20
  "type": "Boolean",
22
- "desc": "Equivalent to Vue Router <router-link> 'exact' property",
23
- "category": "behavior"
21
+ "desc": "Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used",
22
+ "category": "navigation"
24
23
  },
25
24
  "replace": {
26
25
  "type": "Boolean",
27
- "desc": "Equivalent to Vue Router <router-link> 'replace' property",
28
- "category": "behavior"
26
+ "desc": "Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used",
27
+ "category": "navigation"
29
28
  },
30
29
  "active-class": {
31
30
  "type": "String",
32
- "desc": "Equivalent to Vue Router <router-link> 'active-class' property",
31
+ "desc": "Equivalent to Vue Router <router-link> 'active-class' property; Superseeded by 'href' prop if used",
33
32
  "examples": [
34
33
  "my-active-class"
35
34
  ],
36
- "category": "behavior"
35
+ "category": "navigation"
37
36
  },
38
37
  "exact-active-class": {
39
38
  "type": "String",
40
- "desc": "Equivalent to Vue Router <router-link> 'active-class' property",
39
+ "desc": "Equivalent to Vue Router <router-link> 'active-class' property; Superseeded by 'href' prop if used",
41
40
  "examples": [
42
41
  "my-exact-active-class"
43
42
  ],
44
- "category": "behavior"
43
+ "category": "navigation"
44
+ },
45
+ "href": {
46
+ "type": "String",
47
+ "desc": "Native <a> link href attribute; Has priority over the 'to'/'exact'/'replace'/'active-class'/'exact-active-class' props",
48
+ "examples": [
49
+ "http://quasar.dev"
50
+ ],
51
+ "category": "navigation",
52
+ "addedIn": "v2.4"
53
+ },
54
+ "target": {
55
+ "type": "String",
56
+ "desc": "Native <a> link target attribute; Use it only along with 'href' prop; Has priority over the 'to'/'exact'/'replace'/'active-class'/'exact-active-class' props",
57
+ "examples": [
58
+ "_blank",
59
+ "_self",
60
+ "_parent",
61
+ "_top"
62
+ ],
63
+ "category": "navigation",
64
+ "addedIn": "v2.4"
45
65
  },
46
66
  "disable": {
47
67
  "type": "Boolean",
@@ -136,6 +136,7 @@
136
136
  },
137
137
  "rules": {
138
138
  "type": "Array",
139
+ "tsType": "ValidationRule",
139
140
  "desc": "Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules",
140
141
  "examples": [
141
142
  ":rules=\"[ val => val.length <= 3 || 'Please use maximum 3 characters' ]\"",
@@ -361,10 +362,8 @@
361
362
  },
362
363
  "display-value-html": {
363
364
  "type": "Boolean",
364
- "default": "false",
365
365
  "desc": "Force render the selected option(s) as HTML; This can lead to XSS attacks so make sure that you sanitize the content; Does NOT apply when using 'selected' or 'selected-item' slots!",
366
- "category": "selection",
367
- "required": false
366
+ "category": "selection"
368
367
  },
369
368
  "options": {
370
369
  "type": "Array",
@@ -533,10 +532,8 @@
533
532
  },
534
533
  "options-html": {
535
534
  "type": "Boolean",
536
- "default": "false",
537
535
  "desc": "Force render the options as HTML; This can lead to XSS attacks so make sure that you sanitize the content; Does NOT apply when using 'option' slot!",
538
- "category": "options",
539
- "required": false
536
+ "category": "options"
540
537
  },
541
538
  "options-cover": {
542
539
  "type": "Boolean",