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
@@ -23,10 +23,8 @@
23
23
  },
24
24
  "html": {
25
25
  "type": "Boolean",
26
- "default": "false",
27
26
  "desc": "Force render the message as HTML; This can lead to XSS attacks so make sure that you sanitize the content",
28
- "category": "behavior",
29
- "required": false
27
+ "category": "behavior"
30
28
  },
31
29
  "boxClass": {
32
30
  "type": "String",
@@ -117,10 +115,8 @@
117
115
  },
118
116
  "html": {
119
117
  "type": "Boolean",
120
- "default": "false",
121
118
  "desc": "Render the message as HTML; This can lead to XSS attacks so make sure that you sanitize the message first",
122
- "category": "behavior",
123
- "required": false
119
+ "category": "behavior"
124
120
  },
125
121
  "boxClass": {
126
122
  "type": "String",
@@ -9,38 +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": "behavior"
17
+ "category": "navigation"
18
18
  },
19
19
  "exact": {
20
20
  "type": "Boolean",
21
- "desc": "Equivalent to Vue Router <router-link> 'exact' property",
22
- "category": "behavior"
21
+ "desc": "Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used",
22
+ "category": "navigation"
23
23
  },
24
24
  "replace": {
25
25
  "type": "Boolean",
26
- "desc": "Equivalent to Vue Router <router-link> 'replace' property",
27
- "category": "behavior"
26
+ "desc": "Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used",
27
+ "category": "navigation"
28
28
  },
29
29
  "active-class": {
30
30
  "type": "String",
31
- "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",
32
32
  "examples": [
33
33
  "my-active-class"
34
34
  ],
35
- "category": "behavior"
35
+ "category": "navigation"
36
36
  },
37
37
  "exact-active-class": {
38
38
  "type": "String",
39
- "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",
40
40
  "examples": [
41
41
  "my-exact-active-class"
42
42
  ],
43
- "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"
44
65
  },
45
66
  "disable": {
46
67
  "type": "Boolean",
@@ -17,16 +17,15 @@
17
17
  },
18
18
  "type": {
19
19
  "type": "String",
20
- "desc": "Define the button HTML DOM type",
20
+ "desc": "1) Define the button native type attribute (submit, reset, button) or 2) render component with <a> tag so you can access events even if disable or 3) Use 'href' prop and specify 'type' as a media tag",
21
21
  "default": "button",
22
- "values": [
22
+ "examples": [
23
23
  "a",
24
24
  "submit",
25
25
  "button",
26
- "reset"
27
- ],
28
- "examples": [
29
- "type=\"a\" href=\"http://some-site.net\" target=\"__blank\""
26
+ "reset",
27
+ "image/png",
28
+ "href=\"https://quasar.dev\" target=\"_blank\""
30
29
  ],
31
30
  "category": "general",
32
31
  "required": false
@@ -36,22 +35,39 @@
36
35
  "String",
37
36
  "Object"
38
37
  ],
39
- "desc": "Equivalent to Vue Router <router-link> 'to' property",
38
+ "desc": "Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used",
40
39
  "examples": [
41
40
  "/home/dashboard",
42
41
  ":to=\"{ name: 'my-route-name' }\""
43
42
  ],
44
- "category": "router"
43
+ "category": "navigation"
45
44
  },
46
45
  "replace": {
47
46
  "type": "Boolean",
48
- "desc": "Equivalent to Vue Router <router-link> 'replace' property",
49
- "category": "router"
47
+ "desc": "Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used",
48
+ "category": "navigation"
50
49
  },
51
- "append": {
52
- "type": "Boolean",
53
- "desc": "Equivalent to Vue Router <router-link> 'append' property",
54
- "category": "router"
50
+ "href": {
51
+ "type": "String",
52
+ "desc": "Native <a> link href attribute; Has priority over the 'to' and 'replace' props",
53
+ "examples": [
54
+ "http://quasar.dev",
55
+ "href=\"https://quasar.dev\" target=\"_blank\""
56
+ ],
57
+ "category": "navigation",
58
+ "addedIn": "v2.4"
59
+ },
60
+ "target": {
61
+ "type": "String",
62
+ "desc": "Native <a> link target attribute; Use it only with 'to' or 'href' props",
63
+ "examples": [
64
+ "_blank",
65
+ "_self",
66
+ "_parent",
67
+ "_top"
68
+ ],
69
+ "category": "navigation",
70
+ "addedIn": "v2.4"
55
71
  },
56
72
  "label": {
57
73
  "type": [
@@ -26,16 +26,15 @@
26
26
  },
27
27
  "type": {
28
28
  "type": "String",
29
- "desc": "Define the button HTML DOM type",
29
+ "desc": "1) Define the button native type attribute (submit, reset, button) or 2) render component with <a> tag so you can access events even if disable or 3) Use 'href' prop and specify 'type' as a media tag",
30
30
  "default": "button",
31
- "values": [
31
+ "examples": [
32
32
  "a",
33
33
  "submit",
34
34
  "button",
35
- "reset"
36
- ],
37
- "examples": [
38
- "type=\"a\" href=\"http://some-site.net\" target=\"__blank\""
35
+ "reset",
36
+ "image/png",
37
+ "href=\"https://quasar.dev\" target=\"_blank\""
39
38
  ],
40
39
  "category": "general",
41
40
  "required": false
@@ -45,22 +44,39 @@
45
44
  "String",
46
45
  "Object"
47
46
  ],
48
- "desc": "Equivalent to Vue Router <router-link> 'to' property",
47
+ "desc": "Equivalent to Vue Router <router-link> 'to' property; Superseeded by 'href' prop if used",
49
48
  "examples": [
50
49
  "/home/dashboard",
51
50
  ":to=\"{ name: 'my-route-name' }\""
52
51
  ],
53
- "category": "router"
52
+ "category": "navigation"
54
53
  },
55
54
  "replace": {
56
55
  "type": "Boolean",
57
- "desc": "Equivalent to Vue Router <router-link> 'replace' property",
58
- "category": "router"
56
+ "desc": "Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used",
57
+ "category": "navigation"
59
58
  },
60
- "append": {
61
- "type": "Boolean",
62
- "desc": "Equivalent to Vue Router <router-link> 'append' property",
63
- "category": "router"
59
+ "href": {
60
+ "type": "String",
61
+ "desc": "Native <a> link href attribute; Has priority over the 'to' and 'replace' props",
62
+ "examples": [
63
+ "http://quasar.dev",
64
+ "href=\"https://quasar.dev\" target=\"_blank\""
65
+ ],
66
+ "category": "navigation",
67
+ "addedIn": "v2.4"
68
+ },
69
+ "target": {
70
+ "type": "String",
71
+ "desc": "Native <a> link target attribute; Use it only with 'to' or 'href' props",
72
+ "examples": [
73
+ "_blank",
74
+ "_self",
75
+ "_parent",
76
+ "_top"
77
+ ],
78
+ "category": "navigation",
79
+ "addedIn": "v2.4"
64
80
  },
65
81
  "label": {
66
82
  "type": [
@@ -231,6 +231,9 @@
231
231
  "slots": {
232
232
  "default": {
233
233
  "desc": "Suggestions: QTooltip, QBadge"
234
+ },
235
+ "...": {
236
+ "desc": "Any other dynamic slots to be used with 'slot' property of the 'options' prop"
234
237
  }
235
238
  },
236
239
  "events": {
@@ -85,31 +85,23 @@
85
85
  },
86
86
  "label-html": {
87
87
  "type": "Boolean",
88
- "default": "false",
89
88
  "desc": "Render the label as HTML; This can lead to XSS attacks so make sure that you sanitize the message first",
90
- "category": "behavior",
91
- "required": false
89
+ "category": "behavior"
92
90
  },
93
91
  "name-html": {
94
92
  "type": "Boolean",
95
- "default": "false",
96
93
  "desc": "Render the name as HTML; This can lead to XSS attacks so make sure that you sanitize the message first",
97
- "category": "behavior",
98
- "required": false
94
+ "category": "behavior"
99
95
  },
100
96
  "text-html": {
101
97
  "type": "Boolean",
102
- "default": "false",
103
98
  "desc": "Render the text as HTML; This can lead to XSS attacks so make sure that you sanitize the message first",
104
- "category": "behavior",
105
- "required": false
99
+ "category": "behavior"
106
100
  },
107
101
  "stamp-html": {
108
102
  "type": "Boolean",
109
- "default": "false",
110
103
  "desc": "Render the stamp as HTML; This can lead to XSS attacks so make sure that you sanitize the message first",
111
- "category": "behavior",
112
- "required": false
104
+ "category": "behavior"
113
105
  }
114
106
  },
115
107
  "slots": {
@@ -9,38 +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": "behavior"
17
+ "category": "navigation"
18
18
  },
19
19
  "exact": {
20
20
  "type": "Boolean",
21
- "desc": "Equivalent to Vue Router <router-link> 'exact' property",
22
- "category": "behavior"
21
+ "desc": "Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used",
22
+ "category": "navigation"
23
23
  },
24
24
  "replace": {
25
25
  "type": "Boolean",
26
- "desc": "Equivalent to Vue Router <router-link> 'replace' property",
27
- "category": "behavior"
26
+ "desc": "Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used",
27
+ "category": "navigation"
28
28
  },
29
29
  "active-class": {
30
30
  "type": "String",
31
- "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",
32
32
  "examples": [
33
33
  "my-active-class"
34
34
  ],
35
- "category": "behavior"
35
+ "category": "navigation"
36
36
  },
37
37
  "exact-active-class": {
38
38
  "type": "String",
39
- "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",
40
40
  "examples": [
41
41
  "my-exact-active-class"
42
42
  ],
43
- "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"
44
65
  },
45
66
  "disable": {
46
67
  "type": "Boolean",
@@ -227,6 +227,36 @@
227
227
  },
228
228
  "tooltip": {
229
229
  "desc": "Slot specifically designed for a QTooltip"
230
+ },
231
+ "icon": {
232
+ "desc": "Slot for icon shown when FAB is closed; Suggestion: QIcon",
233
+ "scope": {
234
+ "opened": {
235
+ "type": "Boolean",
236
+ "desc": "FAB is opened"
237
+ }
238
+ },
239
+ "addedIn": "v2.4"
240
+ },
241
+ "active-icon": {
242
+ "desc": "Slot for icon shown when FAB is opened; Suggestion: QIcon",
243
+ "scope": {
244
+ "opened": {
245
+ "type": "Boolean",
246
+ "desc": "FAB is opened"
247
+ }
248
+ },
249
+ "addedIn": "v2.4"
250
+ },
251
+ "label": {
252
+ "desc": "Slot for label",
253
+ "scope": {
254
+ "opened": {
255
+ "type": "Boolean",
256
+ "desc": "FAB is opened"
257
+ }
258
+ },
259
+ "addedIn": "v2.4"
230
260
  }
231
261
  },
232
262
  "events": {
@@ -196,6 +196,14 @@
196
196
  "slots": {
197
197
  "default": {
198
198
  "desc": "Suggestion for this slot: QTooltip"
199
+ },
200
+ "icon": {
201
+ "desc": "Slot for icon; Suggestion: QIcon",
202
+ "addedIn": "v2.4"
203
+ },
204
+ "label": {
205
+ "desc": "Slot for label",
206
+ "addedIn": "v2.4"
199
207
  }
200
208
  },
201
209
  "events": {
@@ -29,6 +29,7 @@
29
29
  },
30
30
  "rules": {
31
31
  "type": "Array",
32
+ "tsType": "ValidationRule",
32
33
  "desc": "Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules",
33
34
  "examples": [
34
35
  ":rules=\"[ val => val.length <= 3 || 'Please use maximum 3 characters' ]\"",
@@ -128,6 +128,7 @@
128
128
  },
129
129
  "rules": {
130
130
  "type": "Array",
131
+ "tsType": "ValidationRule",
131
132
  "desc": "Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules",
132
133
  "examples": [
133
134
  ":rules=\"[ val => val.length <= 3 || 'Please use maximum 3 characters' ]\"",
@@ -84,6 +84,7 @@
84
84
  },
85
85
  "rules": {
86
86
  "type": "Array",
87
+ "tsType": "ValidationRule",
87
88
  "desc": "Array of Functions/Strings; If String, then it must be a name of one of the embedded validation rules",
88
89
  "examples": [
89
90
  ":rules=\"[ val => val.length <= 3 || 'Please use maximum 3 characters' ]\"",
@@ -9,38 +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": "behavior"
17
+ "category": "navigation"
18
18
  },
19
19
  "exact": {
20
20
  "type": "Boolean",
21
- "desc": "Equivalent to Vue Router <router-link> 'exact' property",
22
- "category": "behavior"
21
+ "desc": "Equivalent to Vue Router <router-link> 'exact' property; Superseeded by 'href' prop if used",
22
+ "category": "navigation"
23
23
  },
24
24
  "replace": {
25
25
  "type": "Boolean",
26
- "desc": "Equivalent to Vue Router <router-link> 'replace' property",
27
- "category": "behavior"
26
+ "desc": "Equivalent to Vue Router <router-link> 'replace' property; Superseeded by 'href' prop if used",
27
+ "category": "navigation"
28
28
  },
29
29
  "active-class": {
30
30
  "type": "String",
31
- "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",
32
32
  "examples": [
33
33
  "my-active-class"
34
34
  ],
35
- "category": "behavior"
35
+ "category": "navigation"
36
36
  },
37
37
  "exact-active-class": {
38
38
  "type": "String",
39
- "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",
40
40
  "examples": [
41
41
  "my-exact-active-class"
42
42
  ],
43
- "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"
44
65
  },
45
66
  "disable": {
46
67
  "type": "Boolean",
@@ -134,9 +134,44 @@
134
134
  "label": {
135
135
  "desc": "Generic slot for all labels",
136
136
  "scope": {
137
- "opt": {
137
+ "...self": {
138
138
  "type": "Object",
139
- "desc": "The corresponding option entry from the 'options' prop"
139
+ "desc": "The corresponding option entry from the 'options' prop",
140
+ "definition": {
141
+ "label": {
142
+ "type": "String",
143
+ "desc": "Label to display along the component",
144
+ "required": true,
145
+ "examples": [
146
+ "Option 1",
147
+ "Option 2",
148
+ "Option 3"
149
+ ]
150
+ },
151
+ "value": {
152
+ "type": "Any",
153
+ "desc": "Value of the option that will be used by the component model",
154
+ "required": true,
155
+ "examples": [
156
+ "op1",
157
+ "op2",
158
+ "op3"
159
+ ]
160
+ },
161
+ "disable": {
162
+ "type": "Boolean",
163
+ "desc": "If true, the option will be disabled"
164
+ },
165
+ "...props": {
166
+ "type": "Any",
167
+ "desc": "Any other props from QToggle, QCheckbox, or QRadio",
168
+ "examples": [
169
+ "val=\"car\"",
170
+ ":true-value=\"trueValue\"",
171
+ "checked-icon=\"visibility\""
172
+ ]
173
+ }
174
+ }
140
175
  }
141
176
  },
142
177
  "addedIn": "v2.2"
@@ -144,9 +179,44 @@
144
179
  "label-[name]": {
145
180
  "desc": "Slot to define the specific label for the option at '[name]' where name is a 0-based index; Overrides the generic 'label' slot if used",
146
181
  "scope": {
147
- "...opt": {
182
+ "...self": {
148
183
  "type": "Object",
149
- "desc": "The corresponding option entry from the 'options' prop"
184
+ "desc": "The corresponding option entry from the 'options' prop",
185
+ "definition": {
186
+ "label": {
187
+ "type": "String",
188
+ "desc": "Label to display along the component",
189
+ "required": true,
190
+ "examples": [
191
+ "Option 1",
192
+ "Option 2",
193
+ "Option 3"
194
+ ]
195
+ },
196
+ "value": {
197
+ "type": "Any",
198
+ "desc": "Value of the option that will be used by the component model",
199
+ "required": true,
200
+ "examples": [
201
+ "op1",
202
+ "op2",
203
+ "op3"
204
+ ]
205
+ },
206
+ "disable": {
207
+ "type": "Boolean",
208
+ "desc": "If true, the option will be disabled"
209
+ },
210
+ "...props": {
211
+ "type": "Any",
212
+ "desc": "Any other props from QToggle, QCheckbox, or QRadio",
213
+ "examples": [
214
+ "val=\"car\"",
215
+ ":true-value=\"trueValue\"",
216
+ "checked-icon=\"visibility\""
217
+ ]
218
+ }
219
+ }
150
220
  }
151
221
  },
152
222
  "addedIn": "v2.2"