quasar 2.9.1 → 2.10.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 (171) hide show
  1. package/dist/api/QBreadcrumbsEl.json +0 -14
  2. package/dist/api/QBtnDropdown.json +36 -0
  3. package/dist/api/QPagination.json +134 -102
  4. package/dist/api/QTabs.json +1 -1
  5. package/dist/api/QTree.json +6 -0
  6. package/dist/api/TouchPan.json +0 -4
  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/fontawesome-v6-pro.umd.prod.js +1 -1
  12. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  13. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  14. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  15. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  16. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  17. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  18. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  19. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  20. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  21. package/dist/icon-set/material-symbols-sharp.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-fontawesome-v6.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  43. package/dist/icon-set/themify.umd.prod.js +1 -1
  44. package/dist/lang/ar-TN.umd.prod.js +1 -1
  45. package/dist/lang/ar.umd.prod.js +1 -1
  46. package/dist/lang/az-Latn.umd.prod.js +1 -1
  47. package/dist/lang/bg.umd.prod.js +1 -1
  48. package/dist/lang/bn.umd.prod.js +1 -1
  49. package/dist/lang/ca.umd.prod.js +1 -1
  50. package/dist/lang/cs.umd.prod.js +1 -1
  51. package/dist/lang/da.umd.prod.js +1 -1
  52. package/dist/lang/de.umd.prod.js +1 -1
  53. package/dist/lang/el.umd.prod.js +1 -1
  54. package/dist/lang/en-GB.umd.prod.js +1 -1
  55. package/dist/lang/en-US.umd.prod.js +1 -1
  56. package/dist/lang/eo.umd.prod.js +1 -1
  57. package/dist/lang/es.umd.prod.js +1 -1
  58. package/dist/lang/et.umd.prod.js +1 -1
  59. package/dist/lang/eu.umd.prod.js +1 -1
  60. package/dist/lang/fa-IR.umd.prod.js +1 -1
  61. package/dist/lang/fa.umd.prod.js +1 -1
  62. package/dist/lang/fi.umd.prod.js +1 -1
  63. package/dist/lang/fr.umd.prod.js +1 -1
  64. package/dist/lang/gn.umd.prod.js +1 -1
  65. package/dist/lang/he.umd.prod.js +1 -1
  66. package/dist/lang/hr.umd.prod.js +1 -1
  67. package/dist/lang/hu.umd.prod.js +1 -1
  68. package/dist/lang/id.umd.prod.js +1 -1
  69. package/dist/lang/is.umd.prod.js +1 -1
  70. package/dist/lang/it.umd.prod.js +1 -1
  71. package/dist/lang/ja.umd.prod.js +1 -1
  72. package/dist/lang/km.umd.prod.js +1 -1
  73. package/dist/lang/ko-KR.umd.prod.js +1 -1
  74. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  75. package/dist/lang/kz.umd.prod.js +1 -1
  76. package/dist/lang/lt.umd.prod.js +1 -1
  77. package/dist/lang/lu.umd.prod.js +1 -1
  78. package/dist/lang/lv.umd.prod.js +1 -1
  79. package/dist/lang/ml.umd.prod.js +1 -1
  80. package/dist/lang/mm.umd.prod.js +1 -1
  81. package/dist/lang/ms.umd.prod.js +1 -1
  82. package/dist/lang/my.umd.prod.js +1 -1
  83. package/dist/lang/nb-NO.umd.prod.js +1 -1
  84. package/dist/lang/nl.umd.prod.js +1 -1
  85. package/dist/lang/pl.umd.prod.js +1 -1
  86. package/dist/lang/pt-BR.umd.prod.js +1 -1
  87. package/dist/lang/pt.umd.prod.js +1 -1
  88. package/dist/lang/ro.umd.prod.js +1 -1
  89. package/dist/lang/ru.umd.prod.js +1 -1
  90. package/dist/lang/sk.umd.prod.js +1 -1
  91. package/dist/lang/sl.umd.prod.js +1 -1
  92. package/dist/lang/sm.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/uz-Cyrl.umd.prod.js +1 -1
  102. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  103. package/dist/lang/vi.umd.prod.js +1 -1
  104. package/dist/lang/zh-CN.umd.prod.js +1 -1
  105. package/dist/lang/zh-TW.umd.prod.js +1 -1
  106. package/dist/quasar.cjs.prod.js +2 -2
  107. package/dist/quasar.css +10 -0
  108. package/dist/quasar.esm.js +554 -349
  109. package/dist/quasar.esm.prod.js +2 -2
  110. package/dist/quasar.prod.css +1 -1
  111. package/dist/quasar.rtl.css +26 -0
  112. package/dist/quasar.rtl.prod.css +1 -1
  113. package/dist/quasar.sass +11 -1
  114. package/dist/quasar.umd.js +554 -349
  115. package/dist/quasar.umd.prod.js +2 -2
  116. package/dist/transforms/auto-import.json +7 -3
  117. package/dist/transforms/import-map.json +2 -0
  118. package/dist/types/index.d.ts +70 -51
  119. package/dist/vetur/quasar-attributes.json +65 -49
  120. package/dist/vetur/quasar-tags.json +17 -13
  121. package/dist/web-types/web-types.json +131 -97
  122. package/package.json +1 -1
  123. package/src/components/badge/QBadge.js +1 -1
  124. package/src/components/badge/__tests__/QBadge.spec.js +98 -23
  125. package/src/components/breadcrumbs/QBreadcrumbsEl.json +0 -4
  126. package/src/components/breadcrumbs/__tests__/BasicBreadcrumbs.vue +7 -0
  127. package/src/components/breadcrumbs/__tests__/BreadcrumbWithSeparatorSlot.vue +11 -0
  128. package/src/components/breadcrumbs/__tests__/QBreadcrumbs.spec.js +112 -0
  129. package/src/components/breadcrumbs/__tests__/QBreadcrumbsEl.spec.js +87 -0
  130. package/src/components/btn/use-btn.js +24 -14
  131. package/src/components/btn-dropdown/QBtnDropdown.js +39 -16
  132. package/src/components/btn-dropdown/QBtnDropdown.json +1 -1
  133. package/src/components/btn-toggle/QBtnToggle.js +14 -14
  134. package/src/components/checkbox/use-checkbox.js +1 -1
  135. package/src/components/chip/QChip.js +14 -11
  136. package/src/components/dialog/QDialog.js +2 -1
  137. package/src/components/dialog-bottom-sheet/BottomSheet.js +6 -2
  138. package/src/components/drawer/QDrawer.js +5 -3
  139. package/src/components/footer/QFooter.js +5 -3
  140. package/src/components/header/QHeader.js +5 -3
  141. package/src/components/input/use-mask.js +1 -1
  142. package/src/components/item/QItem.js +1 -0
  143. package/src/components/item/QList.js +1 -1
  144. package/src/components/option-group/QOptionGroup.js +1 -1
  145. package/src/components/page/QPage.js +11 -4
  146. package/src/components/page/QPageContainer.js +5 -3
  147. package/src/components/page-sticky/use-page-sticky.js +5 -3
  148. package/src/components/pagination/QPagination.js +265 -188
  149. package/src/components/pagination/QPagination.json +82 -65
  150. package/src/components/pagination/QPagination.sass +14 -0
  151. package/src/components/pull-to-refresh/QPullToRefresh.js +1 -4
  152. package/src/components/resize-observer/QResizeObserver.js +14 -10
  153. package/src/components/stepper/QStep.js +7 -5
  154. package/src/components/tab-panels/QTabPanel.js +1 -1
  155. package/src/components/tabs/QTabs.js +2 -9
  156. package/src/components/tabs/QTabs.json +1 -1
  157. package/src/components/tabs/use-tab.js +5 -3
  158. package/src/components/timeline/QTimelineEntry.js +5 -3
  159. package/src/components/toolbar/QToolbar.js +1 -1
  160. package/src/components/tooltip/QTooltip.js +1 -1
  161. package/src/components/tree/QTree.js +33 -20
  162. package/src/components/tree/QTree.json +7 -0
  163. package/src/components/uploader/QUploaderAddTrigger.js +7 -3
  164. package/src/composables/private/use-file.js +10 -1
  165. package/src/directives/TouchHold.js +10 -3
  166. package/src/directives/TouchPan.js +21 -8
  167. package/src/directives/TouchPan.json +0 -5
  168. package/src/directives/TouchRepeat.js +20 -6
  169. package/src/directives/TouchSwipe.js +10 -3
  170. package/src/utils/morph.js +7 -3
  171. package/src/utils/private/symbols.js +2 -0
@@ -2,7 +2,7 @@
2
2
  "$schema": "",
3
3
  "framework": "vue",
4
4
  "name": "quasar",
5
- "version": "2.9.1",
5
+ "version": "2.10.0",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
@@ -563,16 +563,6 @@
563
563
  "description": "HTML tag to use\n\nExamples:\ndiv\nspan\ndiv\nspan",
564
564
  "doc-url": "https://v2.quasar.dev/vue-components/breadcrumbs",
565
565
  "default": "\"span\""
566
- },
567
- {
568
- "name": "ripple",
569
- "value": {
570
- "kind": "expression",
571
- "type": "boolean|object"
572
- },
573
- "description": "Configure material ripple (disable it by setting it to 'false' or supply a config object)\n\nExamples:\nfalse\n{ early: true, center: true, color: 'teal', keyCodes: [] }",
574
- "doc-url": "https://v2.quasar.dev/vue-components/breadcrumbs",
575
- "default": "true"
576
566
  }
577
567
  ],
578
568
  "events": [
@@ -613,6 +603,36 @@
613
603
  "symbol": "QBtnDropdown"
614
604
  },
615
605
  "attributes": [
606
+ {
607
+ "name": "transition-show",
608
+ "value": {
609
+ "kind": "expression",
610
+ "type": "string"
611
+ },
612
+ "description": "One of Quasar's embedded transitions\n\nExamples:\nfade\nslide-down",
613
+ "doc-url": "https://v2.quasar.dev/vue-components/button-dropdown",
614
+ "default": "\"fade\""
615
+ },
616
+ {
617
+ "name": "transition-hide",
618
+ "value": {
619
+ "kind": "expression",
620
+ "type": "string"
621
+ },
622
+ "description": "One of Quasar's embedded transitions\n\nExamples:\nfade\nslide-down",
623
+ "doc-url": "https://v2.quasar.dev/vue-components/button-dropdown",
624
+ "default": "\"fade\""
625
+ },
626
+ {
627
+ "name": "transition-duration",
628
+ "value": {
629
+ "kind": "expression",
630
+ "type": "string|number"
631
+ },
632
+ "description": "Transition duration (in milliseconds, without unit)\n\nExamples:\n500\n1200",
633
+ "doc-url": "https://v2.quasar.dev/vue-components/button-dropdown",
634
+ "default": "300"
635
+ },
616
636
  {
617
637
  "name": "model-value",
618
638
  "value": {
@@ -10119,7 +10139,7 @@
10119
10139
  "name": "min",
10120
10140
  "value": {
10121
10141
  "kind": "expression",
10122
- "type": "number"
10142
+ "type": "number|string"
10123
10143
  },
10124
10144
  "description": "Minimum page (must be lower than 'max')\n\nExamples:\n3",
10125
10145
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
@@ -10129,50 +10149,12 @@
10129
10149
  "name": "max",
10130
10150
  "value": {
10131
10151
  "kind": "expression",
10132
- "type": "number"
10152
+ "type": "number|string"
10133
10153
  },
10134
10154
  "description": "Number of last page (must be higher than 'min')\n\nExamples:\n10",
10135
10155
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10136
10156
  "required": true
10137
10157
  },
10138
- {
10139
- "name": "color",
10140
- "value": {
10141
- "kind": "expression",
10142
- "type": "string"
10143
- },
10144
- "description": "Color name for component from the Quasar Color Palette\n\nExamples:\nprimary\nteal-10",
10145
- "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10146
- "default": "\"primary\""
10147
- },
10148
- {
10149
- "name": "text-color",
10150
- "value": {
10151
- "kind": "expression",
10152
- "type": "string"
10153
- },
10154
- "description": "Overrides text color (if needed); Color name from the Quasar Color Palette\n\nExamples:\nprimary\nteal-10",
10155
- "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10156
- },
10157
- {
10158
- "name": "active-color",
10159
- "value": {
10160
- "kind": "expression",
10161
- "type": "string"
10162
- },
10163
- "description": "Color name for component from the Quasar Color Palette\n\nExamples:\nprimary\nteal-10",
10164
- "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10165
- "default": "\"primary\""
10166
- },
10167
- {
10168
- "name": "active-text-color",
10169
- "value": {
10170
- "kind": "expression",
10171
- "type": "string"
10172
- },
10173
- "description": "Overrides text color (if needed); Color name from the Quasar Color Palette\n\nExamples:\nprimary\nteal-10",
10174
- "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10175
- },
10176
10158
  {
10177
10159
  "name": "dark",
10178
10160
  "value": {
@@ -10183,24 +10165,6 @@
10183
10165
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10184
10166
  "type": "boolean"
10185
10167
  },
10186
- {
10187
- "name": "input-style",
10188
- "value": {
10189
- "kind": "expression",
10190
- "type": "string|any[]|object"
10191
- },
10192
- "description": "Style definitions to be attributed to the input (if using one)\n\nExamples:\nbackground-color: #ff0000\n:input-style=\"{ backgroundColor: '#ff0000' }\"",
10193
- "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10194
- },
10195
- {
10196
- "name": "input-class",
10197
- "value": {
10198
- "kind": "expression",
10199
- "type": "string|any[]|object"
10200
- },
10201
- "description": "Class definitions to be attributed to the input (if using one)\n\nExamples:\nmy-special-class\n:input-class=\"{ 'my-special-class': <condition> }\"",
10202
- "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10203
- },
10204
10168
  {
10205
10169
  "name": "size",
10206
10170
  "value": {
@@ -10319,78 +10283,115 @@
10319
10283
  "name": "max-pages",
10320
10284
  "value": {
10321
10285
  "kind": "expression",
10322
- "type": "number"
10286
+ "type": "number|string"
10323
10287
  },
10324
10288
  "description": "Maximum number of page links to display at a time; 0 means Infinite\n\nExamples:\n5",
10325
10289
  "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10326
10290
  },
10327
10291
  {
10328
- "name": "ripple",
10292
+ "name": "flat",
10329
10293
  "value": {
10330
10294
  "kind": "expression",
10331
- "type": "boolean|object"
10295
+ "type": "boolean"
10332
10296
  },
10333
- "description": "Configure buttons material ripple (disable it by setting it to 'false' or supply a config object); Does not applies to boundary and ellipsis buttons\n\nExamples:\nfalse\n{ early: true, center: true, color: 'teal', keyCodes: [] }",
10297
+ "description": "Use 'flat' design for non-active buttons (it's the default option)",
10334
10298
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10335
- "default": "true"
10299
+ "type": "boolean"
10336
10300
  },
10337
10301
  {
10338
- "name": "round",
10302
+ "name": "outline",
10339
10303
  "value": {
10340
10304
  "kind": "expression",
10341
10305
  "type": "boolean"
10342
10306
  },
10343
- "description": "Makes a circle shaped button for all buttons",
10307
+ "description": "Use 'outline' design for non-active buttons",
10344
10308
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10345
10309
  "type": "boolean"
10346
10310
  },
10347
10311
  {
10348
- "name": "rounded",
10312
+ "name": "unelevated",
10349
10313
  "value": {
10350
10314
  "kind": "expression",
10351
10315
  "type": "boolean"
10352
10316
  },
10353
- "description": "Applies a more prominent border-radius for a squared shape button for all buttons",
10317
+ "description": "Remove shadow for non-active buttons",
10354
10318
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10355
10319
  "type": "boolean"
10356
10320
  },
10357
10321
  {
10358
- "name": "flat",
10322
+ "name": "push",
10359
10323
  "value": {
10360
10324
  "kind": "expression",
10361
10325
  "type": "boolean"
10362
10326
  },
10363
- "description": "Use 'flat' design for current page button",
10327
+ "description": "Use 'push' design for non-active buttons",
10364
10328
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10365
10329
  "type": "boolean"
10366
10330
  },
10367
10331
  {
10368
- "name": "outline",
10332
+ "name": "color",
10369
10333
  "value": {
10370
10334
  "kind": "expression",
10371
- "type": "boolean"
10335
+ "type": "string"
10372
10336
  },
10373
- "description": "Use 'outline' design for current page button",
10337
+ "description": "Color name from the Quasar Color Palette for the non-active buttons\n\nExamples:\nprimary\nteal-10",
10374
10338
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10375
- "type": "boolean"
10339
+ "default": "\"primary\""
10376
10340
  },
10377
10341
  {
10378
- "name": "unelevated",
10342
+ "name": "text-color",
10343
+ "value": {
10344
+ "kind": "expression",
10345
+ "type": "string"
10346
+ },
10347
+ "description": "Text color name from the Quasar Color Palette for the ACTIVE buttons\n\nExamples:\nprimary\nteal-10",
10348
+ "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10349
+ },
10350
+ {
10351
+ "name": "active-design",
10352
+ "value": {
10353
+ "kind": "expression",
10354
+ "type": "'flat'|'outline'|'push'|'unelevated'"
10355
+ },
10356
+ "description": "The design of the ACTIVE button, similar to the flat/outline/push/unelevated props (but those are used for non-active buttons)",
10357
+ "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10358
+ },
10359
+ {
10360
+ "name": "active-color",
10361
+ "value": {
10362
+ "kind": "expression",
10363
+ "type": "string"
10364
+ },
10365
+ "description": "Color name from the Quasar Color Palette for the ACTIVE button\n\nExamples:\nprimary\nteal-10",
10366
+ "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10367
+ "default": "\"primary\""
10368
+ },
10369
+ {
10370
+ "name": "active-text-color",
10371
+ "value": {
10372
+ "kind": "expression",
10373
+ "type": "string"
10374
+ },
10375
+ "description": "Text color name from the Quasar Color Palette for the ACTIVE button\n\nExamples:\nprimary\nteal-10",
10376
+ "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10377
+ },
10378
+ {
10379
+ "name": "round",
10379
10380
  "value": {
10380
10381
  "kind": "expression",
10381
10382
  "type": "boolean"
10382
10383
  },
10383
- "description": "Remove shadow for current page button",
10384
+ "description": "Makes a circle shaped button for all buttons",
10384
10385
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10385
10386
  "type": "boolean"
10386
10387
  },
10387
10388
  {
10388
- "name": "push",
10389
+ "name": "rounded",
10389
10390
  "value": {
10390
10391
  "kind": "expression",
10391
10392
  "type": "boolean"
10392
10393
  },
10393
- "description": "Use 'push' design for current page button",
10394
+ "description": "Applies a more prominent border-radius for a squared shape button for all buttons",
10394
10395
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10395
10396
  "type": "boolean"
10396
10397
  },
@@ -10405,14 +10406,14 @@
10405
10406
  "type": "boolean"
10406
10407
  },
10407
10408
  {
10408
- "name": "dense",
10409
+ "name": "gutter",
10409
10410
  "value": {
10410
10411
  "kind": "expression",
10411
- "type": "boolean"
10412
+ "type": "string"
10412
10413
  },
10413
- "description": "Dense mode; occupies less space",
10414
+ "description": "Apply custom gutter; Size in CSS units, including unit name or standard size name (none|xs|sm|md|lg|xl)\n\nExamples:\n16px\n10px 5px\n2rem\nxs\nmd lg\n2px 2px 5px 7px",
10414
10415
  "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10415
- "type": "boolean"
10416
+ "default": "\"2px\""
10416
10417
  },
10417
10418
  {
10418
10419
  "name": "padding",
@@ -10422,6 +10423,34 @@
10422
10423
  },
10423
10424
  "description": "Apply custom padding (vertical [horizontal]); Size in CSS units, including unit name or standard size name (none|xs|sm|md|lg|xl); Also removes the min width and height when set\n\nExamples:\n16px\n10px 5px\n2rem\nxs\nmd lg\n2px 2px 5px 7px",
10424
10425
  "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10426
+ },
10427
+ {
10428
+ "name": "input-style",
10429
+ "value": {
10430
+ "kind": "expression",
10431
+ "type": "string|any[]|object"
10432
+ },
10433
+ "description": "Style definitions to be attributed to the input (if using one)\n\nExamples:\nbackground-color: #ff0000\n:input-style=\"{ backgroundColor: '#ff0000' }\"",
10434
+ "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10435
+ },
10436
+ {
10437
+ "name": "input-class",
10438
+ "value": {
10439
+ "kind": "expression",
10440
+ "type": "string|any[]|object"
10441
+ },
10442
+ "description": "Class definitions to be attributed to the input (if using one)\n\nExamples:\nmy-special-class\n:input-class=\"{ 'my-special-class': <condition> }\"",
10443
+ "doc-url": "https://v2.quasar.dev/vue-components/pagination"
10444
+ },
10445
+ {
10446
+ "name": "ripple",
10447
+ "value": {
10448
+ "kind": "expression",
10449
+ "type": "boolean|object"
10450
+ },
10451
+ "description": "Configure buttons material ripple (disable it by setting it to 'false' or supply a config object); Does not applies to boundary and ellipsis buttons\n\nExamples:\nfalse\n{ early: true, center: true, color: 'teal', keyCodes: [] }",
10452
+ "doc-url": "https://v2.quasar.dev/vue-components/pagination",
10453
+ "default": "true"
10425
10454
  }
10426
10455
  ],
10427
10456
  "events": [
@@ -18237,6 +18266,16 @@
18237
18266
  "doc-url": "https://v2.quasar.dev/vue-components/tree",
18238
18267
  "type": "boolean"
18239
18268
  },
18269
+ {
18270
+ "name": "no-transition",
18271
+ "value": {
18272
+ "kind": "expression",
18273
+ "type": "boolean"
18274
+ },
18275
+ "description": "Turn off transition effects when expanding/collapsing nodes; Also enhances perf by a lot as a side-effect; Recommended for big trees",
18276
+ "doc-url": "https://v2.quasar.dev/vue-components/tree",
18277
+ "type": "boolean"
18278
+ },
18240
18279
  {
18241
18280
  "name": "filter",
18242
18281
  "value": {
@@ -19260,11 +19299,6 @@
19260
19299
  "description": "Calls event.preventDefault() for touch events",
19261
19300
  "doc-url": "https://v2.quasar.dev/vue-directives/touch-pan"
19262
19301
  },
19263
- {
19264
- "name": "mightPrevent",
19265
- "description": "Required when you might call event.preventDefault() in your handler for touch events",
19266
- "doc-url": "https://v2.quasar.dev/vue-directives/touch-pan"
19267
- },
19268
19302
  {
19269
19303
  "name": "capture",
19270
19304
  "description": "Use capture for touchstart event",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar",
3
- "version": "2.9.1",
3
+ "version": "2.10.0",
4
4
  "description": "Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time",
5
5
  "main": "dist/quasar.cjs.prod.js",
6
6
  "module": "dist/quasar.esm.prod.js",
@@ -53,7 +53,7 @@ export default createComponent({
53
53
  return () => h('div', {
54
54
  class: classes.value,
55
55
  style: style.value,
56
- role: 'alert',
56
+ role: 'status',
57
57
  'aria-label': props.label
58
58
  }, hMergeSlot(slots.default, props.label !== void 0 ? [ props.label ] : []))
59
59
  }
@@ -1,64 +1,126 @@
1
- // import { mount } from '@cypress/vue'
2
- // import QBadge from '../QBadge.js'
1
+ import { mount } from '@cypress/vue'
2
+ import QBadge from '../QBadge.js'
3
3
 
4
- // const snapshotOptions = { customSnapshotsDir: '../src/components/badge/__tests__' }
4
+ const defaultOptions = {
5
+ label: 'simple badge'
6
+ }
7
+
8
+ const alignValues = [ 'top', 'middle', 'bottom' ]
9
+
10
+ function mountQBadge (options = {}) {
11
+ options.props = {
12
+ ...defaultOptions,
13
+ ...options.props
14
+ }
15
+
16
+ return mount(QBadge, options)
17
+ }
5
18
 
6
19
  describe('Badge API', () => {
7
20
  describe('Props', () => {
8
21
  describe('Category: content', () => {
9
22
  describe('(prop): floating', () => {
10
- it.skip(' ', () => {
11
- //
23
+ it('should render a floating badge', () => {
24
+ mountQBadge({
25
+ props: { floating: true }
26
+ })
27
+
28
+ cy.get('.q-badge')
29
+ .should('have.class', 'q-badge--floating')
12
30
  })
13
31
  })
14
32
 
15
33
  describe('(prop): multi-line', () => {
16
- it.skip(' ', () => {
17
- //
34
+ it('should render a content with multiple lines', () => {
35
+ mountQBadge({
36
+ props: { multiLine: true }
37
+ })
38
+
39
+ cy.get('.q-badge')
40
+ .should('have.class', 'q-badge--multi-line')
18
41
  })
19
42
  })
20
43
 
21
44
  describe('(prop): label', () => {
22
- it.skip(' ', () => {
23
- //
45
+ it('should render a label inside the badge', () => {
46
+ const label = 'Badge label'
47
+
48
+ mountQBadge({
49
+ props: { label }
50
+ })
51
+
52
+ cy.get('.q-badge')
53
+ .should('contain', label)
24
54
  })
25
55
  })
26
56
 
27
57
  describe('(prop): align', () => {
28
- it.skip(' ', () => {
29
- //
58
+ it(`should render a badge aligned based on defined values: ${ alignValues.join(', ') }`, () => {
59
+ mountQBadge()
60
+
61
+ // loop over alignValues
62
+ for (const align of alignValues) {
63
+ cy.get('.q-badge')
64
+ .then(() => Cypress.vueWrapper.setProps({ align }))
65
+ .should('have.css', 'vertical-align', align)
66
+ }
30
67
  })
31
68
  })
32
69
  })
33
70
 
34
71
  describe('Category: style', () => {
35
72
  describe('(prop): color', () => {
36
- it.skip(' ', () => {
37
- //
73
+ it('should change color based on Quasar Color Palette', () => {
74
+ mountQBadge({
75
+ props: { color: 'red' }
76
+ })
77
+
78
+ cy.get('.q-badge')
79
+ .should('have.class', 'bg-red')
38
80
  })
39
81
  })
40
82
 
41
83
  describe('(prop): text-color', () => {
42
- it.skip(' ', () => {
43
- //
84
+ it('should change text color based on Quasar Color Palette', () => {
85
+ mountQBadge({
86
+ props: { textColor: 'red' }
87
+ })
88
+
89
+ cy.get('.q-badge')
90
+ .should('have.class', 'text-red')
44
91
  })
45
92
  })
46
93
 
47
94
  describe('(prop): transparent', () => {
48
- it.skip(' ', () => {
49
- //
95
+ it('should have opacity style when "transparent" prop is true', () => {
96
+ mountQBadge({
97
+ props: { transparent: true }
98
+ })
99
+
100
+ cy.get('.q-badge')
101
+ .should('have.class', 'q-badge--transparent')
50
102
  })
51
103
  })
52
104
 
53
105
  describe('(prop): outline', () => {
54
- it.skip(' ', () => {
55
- //
106
+ it('should have a outline style when "outline" prop is true', () => {
107
+ mountQBadge({
108
+ props: { outline: true }
109
+ })
110
+
111
+ cy.get('.q-badge')
112
+ .should('have.class', 'q-badge--outline')
56
113
  })
57
114
  })
58
115
 
59
116
  describe('(prop): rounded', () => {
60
- it.skip(' ', () => {
61
- //
117
+ it('should have a rounded style when "rounded" prop is true', () => {
118
+ mountQBadge({
119
+ props: { rounded: true }
120
+ })
121
+
122
+ cy.get('.q-badge')
123
+ .should('have.class', 'q-badge--rounded')
62
124
  })
63
125
  })
64
126
  })
@@ -66,8 +128,21 @@ describe('Badge API', () => {
66
128
 
67
129
  describe('Slots', () => {
68
130
  describe('(slot): default', () => {
69
- it.skip(' ', () => {
70
- //
131
+ it('should display the default slot content', () => {
132
+ const label = 'Badge label'
133
+
134
+ mountQBadge({
135
+ props: {
136
+ label: undefined
137
+ },
138
+
139
+ slots: {
140
+ default: label
141
+ }
142
+ })
143
+
144
+ cy.get('.q-badge')
145
+ .should('have.text', label)
71
146
  })
72
147
  })
73
148
  })
@@ -21,10 +21,6 @@
21
21
  "extends": "tag",
22
22
  "default": "span",
23
23
  "examples": [ "div", "span" ]
24
- },
25
-
26
- "ripple": {
27
- "extends": "ripple"
28
24
  }
29
25
  },
30
26
 
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <q-breadcrumbs v-bind="$attrs">
3
+ <q-breadcrumbs-el label="Home" icon="home" />
4
+ <q-breadcrumbs-el label="Components" icon="widgets" />
5
+ <q-breadcrumbs-el label="Toolbar" />
6
+ </q-breadcrumbs>
7
+ </template>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <q-breadcrumbs v-bind="$attrs">
3
+ <q-breadcrumbs-el label="Home" icon="home" />
4
+ <q-breadcrumbs-el label="Components" icon="widgets" />
5
+ <q-breadcrumbs-el label="Toolbar" />
6
+
7
+ <template v-slot:separator>
8
+ <q-icon size="1.2em" name="arrow_forward" color="purple" />
9
+ </template>
10
+ </q-breadcrumbs>
11
+ </template>