quasar 2.4.10 → 2.5.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 (228) hide show
  1. package/dist/api/BottomSheet.json +4 -0
  2. package/dist/api/Dialog.json +5 -1
  3. package/dist/api/LoadingBar.json +7 -0
  4. package/dist/api/Notify.json +20 -10
  5. package/dist/api/Platform.json +171 -0
  6. package/dist/api/QAjaxBar.json +13 -1
  7. package/dist/api/QBtnDropdown.json +4 -2
  8. package/dist/api/QCheckbox.json +27 -0
  9. package/dist/api/QEditor.json +4 -2
  10. package/dist/api/QExpansionItem.json +6 -3
  11. package/dist/api/QFab.json +4 -2
  12. package/dist/api/QFabAction.json +4 -2
  13. package/dist/api/QFile.json +4 -2
  14. package/dist/api/QImg.json +1 -2
  15. package/dist/api/QInnerLoading.json +2 -1
  16. package/dist/api/QInput.json +4 -2
  17. package/dist/api/QPagination.json +4 -2
  18. package/dist/api/QRadio.json +18 -0
  19. package/dist/api/QRange.json +9 -0
  20. package/dist/api/QScrollArea.json +13 -5
  21. package/dist/api/QSelect.json +6 -3
  22. package/dist/api/QSlider.json +9 -0
  23. package/dist/api/QSplitter.json +8 -4
  24. package/dist/api/QTable.json +9 -0
  25. package/dist/api/QTime.json +8 -2
  26. package/dist/api/QToggle.json +24 -24
  27. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  28. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  29. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  30. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  31. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  32. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  33. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  34. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  35. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  36. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  37. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  38. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  39. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  40. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  48. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  49. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  50. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  51. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  53. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  54. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  55. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  56. package/dist/icon-set/themify.umd.prod.js +1 -1
  57. package/dist/lang/ar.umd.prod.js +1 -1
  58. package/dist/lang/az-Latn.umd.prod.js +1 -1
  59. package/dist/lang/bg.umd.prod.js +1 -1
  60. package/dist/lang/bn.umd.prod.js +1 -1
  61. package/dist/lang/ca.umd.prod.js +1 -1
  62. package/dist/lang/cs.umd.prod.js +1 -1
  63. package/dist/lang/da.umd.prod.js +1 -1
  64. package/dist/lang/de.umd.prod.js +1 -1
  65. package/dist/lang/el.umd.prod.js +1 -1
  66. package/dist/lang/en-GB.umd.prod.js +1 -1
  67. package/dist/lang/en-US.umd.prod.js +1 -1
  68. package/dist/lang/eo.umd.prod.js +1 -1
  69. package/dist/lang/es.umd.prod.js +1 -1
  70. package/dist/lang/et.umd.prod.js +1 -1
  71. package/dist/lang/fa-IR.umd.prod.js +1 -1
  72. package/dist/lang/fa.umd.prod.js +1 -1
  73. package/dist/lang/fi.umd.prod.js +1 -1
  74. package/dist/lang/fr.umd.prod.js +1 -1
  75. package/dist/lang/gn.umd.prod.js +1 -1
  76. package/dist/lang/he.umd.prod.js +1 -1
  77. package/dist/lang/hr.umd.prod.js +1 -1
  78. package/dist/lang/hu.umd.prod.js +1 -1
  79. package/dist/lang/id.umd.prod.js +1 -1
  80. package/dist/lang/is.umd.prod.js +1 -1
  81. package/dist/lang/it.umd.prod.js +1 -1
  82. package/dist/lang/ja.umd.prod.js +1 -1
  83. package/dist/lang/km.umd.prod.js +1 -1
  84. package/dist/lang/ko-KR.umd.prod.js +1 -1
  85. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  86. package/dist/lang/lt.umd.prod.js +1 -1
  87. package/dist/lang/lu.umd.prod.js +1 -1
  88. package/dist/lang/lv.umd.prod.js +1 -1
  89. package/dist/lang/ml.umd.prod.js +1 -1
  90. package/dist/lang/ms.umd.prod.js +1 -1
  91. package/dist/lang/my.umd.prod.js +1 -1
  92. package/dist/lang/nb-NO.umd.prod.js +1 -1
  93. package/dist/lang/nl.umd.prod.js +1 -1
  94. package/dist/lang/pl.umd.prod.js +1 -1
  95. package/dist/lang/pt-BR.umd.prod.js +1 -1
  96. package/dist/lang/pt.umd.prod.js +1 -1
  97. package/dist/lang/ro.umd.prod.js +1 -1
  98. package/dist/lang/ru.umd.prod.js +1 -1
  99. package/dist/lang/sk.umd.prod.js +1 -1
  100. package/dist/lang/sl.umd.prod.js +1 -1
  101. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  102. package/dist/lang/sr.umd.prod.js +1 -1
  103. package/dist/lang/sv.umd.prod.js +1 -1
  104. package/dist/lang/ta.umd.prod.js +1 -1
  105. package/dist/lang/th.umd.prod.js +1 -1
  106. package/dist/lang/tr.umd.prod.js +1 -1
  107. package/dist/lang/ug.umd.prod.js +1 -1
  108. package/dist/lang/uk.umd.prod.js +1 -1
  109. package/dist/lang/vi.umd.prod.js +1 -1
  110. package/dist/lang/zh-CN.umd.prod.js +1 -1
  111. package/dist/lang/zh-TW.umd.prod.js +1 -1
  112. package/dist/quasar.cjs.prod.js +2 -2
  113. package/dist/quasar.css +39 -10
  114. package/dist/quasar.esm.prod.js +2 -2
  115. package/dist/quasar.prod.css +1 -1
  116. package/dist/quasar.rtl.css +56 -23
  117. package/dist/quasar.rtl.prod.css +1 -1
  118. package/dist/quasar.sass +32 -11
  119. package/dist/quasar.umd.js +276 -118
  120. package/dist/quasar.umd.prod.js +2 -2
  121. package/dist/ssr-directives/Morph.js +1 -1
  122. package/dist/transforms/auto-import.json +39 -3
  123. package/dist/transforms/import-map.json +18 -0
  124. package/dist/types/api/slider.d.ts +6 -7
  125. package/dist/types/api/validation.d.ts +1 -1
  126. package/dist/types/api/vue-prop-types.ts +15 -0
  127. package/dist/types/api.d.ts +1 -0
  128. package/dist/types/index.d.ts +246 -188
  129. package/dist/types/utils/dom.d.ts +4 -2
  130. package/dist/types/utils.d.ts +3 -1
  131. package/dist/vetur/quasar-attributes.json +62 -42
  132. package/dist/vetur/quasar-tags.json +8 -3
  133. package/dist/web-types/web-types.json +103 -58
  134. package/package.json +13 -3
  135. package/src/components/ajax-bar/QAjaxBar.js +22 -12
  136. package/src/components/ajax-bar/QAjaxBar.json +16 -1
  137. package/src/components/avatar/__tests__/QAvatar.spec.js +121 -0
  138. package/src/components/badge/__tests__/QBadge.spec.js +74 -0
  139. package/src/components/breadcrumbs/QBreadcrumbs.js +1 -1
  140. package/src/components/btn/__tests__/QBtn.spec.js +55 -0
  141. package/src/components/btn/__tests__/use-btn.spec.js +189 -0
  142. package/src/components/btn-dropdown/QBtnDropdown.json +4 -2
  143. package/src/components/checkbox/QCheckbox.js +34 -3
  144. package/src/components/checkbox/QCheckbox.json +17 -0
  145. package/src/components/checkbox/QCheckbox.sass +17 -5
  146. package/src/components/checkbox/use-checkbox.js +4 -0
  147. package/src/components/checkbox/use-checkbox.json +18 -0
  148. package/src/components/chip/__tests__/QChip.spec.js +155 -0
  149. package/src/components/date/__tests__/QDate.spec.js +189 -0
  150. package/src/components/date/__tests__/use-datetime.spec.js +83 -0
  151. package/src/components/dialog/QDialog.js +1 -1
  152. package/src/components/dialog/__tests__/QDialog.spec.js +129 -0
  153. package/src/components/editor/QEditor.js +1 -1
  154. package/src/components/editor/QEditor.json +3 -1
  155. package/src/components/editor/__tests__/QEditor.spec.js +195 -0
  156. package/src/components/expansion-item/QExpansionItem.json +6 -3
  157. package/src/components/fab/use-fab.json +4 -2
  158. package/src/components/file/QFile.json +4 -2
  159. package/src/components/form/QForm.js +12 -2
  160. package/src/components/img/QImg.json +2 -3
  161. package/src/components/infinite-scroll/QInfiniteScroll.js +3 -2
  162. package/src/components/inner-loading/QInnerLoading.json +2 -1
  163. package/src/components/input/QInput.js +10 -1
  164. package/src/components/input/QInput.json +4 -2
  165. package/src/components/input/__tests__/QInput.spec.js +105 -0
  166. package/src/components/input/__tests__/use-mask.spec.js +29 -0
  167. package/src/components/menu/QMenu.js +2 -1
  168. package/src/components/menu/__tests__/QMenu.spec.js +610 -0
  169. package/src/components/menu/__tests__/WrapperOne.vue +51 -0
  170. package/src/components/menu/__tests__/WrapperTwo.vue +38 -0
  171. package/src/components/pagination/QPagination.json +4 -2
  172. package/src/components/radio/QRadio.js +26 -1
  173. package/src/components/radio/QRadio.json +16 -0
  174. package/src/components/radio/QRadio.sass +17 -6
  175. package/src/components/scroll-area/QScrollArea.js +21 -1
  176. package/src/components/scroll-area/QScrollArea.json +13 -5
  177. package/src/components/select/QSelect.js +13 -9
  178. package/src/components/select/QSelect.json +6 -3
  179. package/src/components/select/QSelect.sass +1 -0
  180. package/src/components/select/__tests__/QSelect.spec.js +2003 -0
  181. package/src/components/select/__tests__/WrapperOne.vue +28 -0
  182. package/src/components/slider/use-slider.json +9 -0
  183. package/src/components/splitter/QSplitter.json +8 -4
  184. package/src/components/stepper/QStep.js +19 -14
  185. package/src/components/stepper/QStepper.sass +3 -0
  186. package/src/components/table/QTable.json +9 -0
  187. package/src/components/table/__tests__/QTable.spec.js +635 -0
  188. package/src/components/table/__tests__/QTd.spec.js +35 -0
  189. package/src/components/table/__tests__/QTh.spec.js +27 -0
  190. package/src/components/table/__tests__/QTr.spec.js +27 -0
  191. package/src/components/tabs/QTabs.js +10 -2
  192. package/src/components/tabs/__tests__/QRouteTab.spec.js +9 -0
  193. package/src/components/tabs/__tests__/QTab.spec.js +79 -0
  194. package/src/components/tabs/__tests__/QTabs.spec.js +147 -0
  195. package/src/components/time/QTime.json +2 -2
  196. package/src/components/toggle/QToggle.js +5 -13
  197. package/src/components/toggle/QToggle.json +3 -12
  198. package/src/components/tree/QTree.js +5 -3
  199. package/src/components/uploader/__tests__/QUploader.spec.js +161 -0
  200. package/src/components/virtual-scroll/use-virtual-scroll.js +20 -9
  201. package/src/composables/private/__tests__/FieldWrapper.vue +39 -0
  202. package/src/composables/private/__tests__/use-anchor.spec.js +99 -0
  203. package/src/composables/private/__tests__/use-field.spec.js +351 -0
  204. package/src/composables/private/__tests__/use-file.spec.js +69 -0
  205. package/src/composables/private/__tests__/use-form.spec.js +11 -0
  206. package/src/composables/private/__tests__/use-fullscreen.spec.js +37 -0
  207. package/src/composables/private/__tests__/use-model-toggle.spec.js +306 -0
  208. package/src/composables/private/__tests__/use-portal.spec.js +4 -0
  209. package/src/composables/private/__tests__/use-router-link.spec.js +55 -0
  210. package/src/composables/private/__tests__/use-size.spec.js +37 -0
  211. package/src/composables/private/__tests__/use-transition.spec.js +108 -0
  212. package/src/composables/private/__tests__/use-validate.spec.js +111 -0
  213. package/src/composables/private/use-field.js +16 -9
  214. package/src/composables/private/use-fullscreen.js +1 -1
  215. package/src/composables/private/use-model-toggle.js +1 -1
  216. package/src/composables/private/use-validate.js +9 -5
  217. package/src/plugins/BottomSheet.json +1 -0
  218. package/src/plugins/Dialog.json +1 -0
  219. package/src/plugins/LoadingBar.js +3 -3
  220. package/src/plugins/LoadingBar.json +8 -0
  221. package/src/plugins/Meta.js +1 -1
  222. package/src/plugins/Notify.json +20 -10
  223. package/src/plugins/Platform.js +15 -8
  224. package/src/plugins/Platform.json +166 -0
  225. package/src/plugins/Screen.js +11 -8
  226. package/src/utils/date.js +5 -5
  227. package/src/utils/private/global-dialog.json +3 -0
  228. package/src/utils/private/vm.js +14 -8
@@ -1267,27 +1267,35 @@ input[type=search]::-webkit-search-decoration {
1267
1267
  .q-checkbox {
1268
1268
  vertical-align: middle;
1269
1269
  }
1270
+ .q-checkbox__native {
1271
+ width: 1px;
1272
+ height: 1px;
1273
+ }
1270
1274
 
1271
- .q-checkbox__bg {
1275
+ .q-checkbox__bg, .q-checkbox__icon-container {
1272
1276
  top: 25%;
1273
1277
  width: 50%;
1274
1278
  height: 50%;
1275
- border: 2px solid currentColor;
1276
- border-radius: 2px;
1277
- transition: background 0.22s cubic-bezier(0, 0, 0.2, 1) 0ms;
1278
- -webkit-print-color-adjust: exact;
1279
+ -webkit-user-select: none;
1280
+ user-select: none;
1279
1281
  }
1280
1282
 
1281
- [dir="ltr"] .q-checkbox__bg {
1283
+ [dir="ltr"] .q-checkbox__bg, [dir="ltr"] .q-checkbox__icon-container {
1282
1284
  left: 25%;
1283
1285
  }
1284
1286
 
1285
- [dir="rtl"] .q-checkbox__bg {
1287
+ [dir="rtl"] .q-checkbox__bg, [dir="rtl"] .q-checkbox__icon-container {
1286
1288
  right: 25%;
1287
1289
  }
1288
- .q-checkbox__native {
1289
- width: 1px;
1290
- height: 1px;
1290
+ .q-checkbox__bg {
1291
+ border: 2px solid currentColor;
1292
+ border-radius: 2px;
1293
+ transition: background 0.22s cubic-bezier(0, 0, 0.2, 1) 0ms;
1294
+ -webkit-print-color-adjust: exact;
1295
+ }
1296
+ .q-checkbox__icon {
1297
+ color: currentColor;
1298
+ font-size: 0.6em;
1291
1299
  }
1292
1300
  .q-checkbox__svg {
1293
1301
  color: #fff;
@@ -1346,23 +1354,29 @@ input[type=search]::-webkit-search-decoration {
1346
1354
  .q-checkbox--dark .q-checkbox__inner--truthy, .q-checkbox--dark .q-checkbox__inner--indet {
1347
1355
  color: var(--q-primary);
1348
1356
  }
1357
+ .q-checkbox--dense .q-checkbox__icon {
1358
+ font-size: 0.6em;
1359
+ }
1349
1360
  .q-checkbox--dense .q-checkbox__inner {
1350
1361
  width: 0.5em;
1351
1362
  min-width: 0.5em;
1352
1363
  height: 0.5em;
1353
1364
  }
1354
1365
 
1355
- .q-checkbox--dense .q-checkbox__bg {
1366
+ .q-checkbox--dense .q-checkbox__bg,
1367
+ .q-checkbox--dense .q-checkbox__icon-container {
1356
1368
  top: 5%;
1357
1369
  width: 90%;
1358
1370
  height: 90%;
1359
1371
  }
1360
1372
 
1361
- [dir="ltr"] .q-checkbox--dense .q-checkbox__bg {
1373
+ [dir="ltr"] .q-checkbox--dense .q-checkbox__bg,
1374
+ [dir="ltr"] .q-checkbox--dense .q-checkbox__icon-container {
1362
1375
  left: 5%;
1363
1376
  }
1364
1377
 
1365
- [dir="rtl"] .q-checkbox--dense .q-checkbox__bg {
1378
+ [dir="rtl"] .q-checkbox--dense .q-checkbox__bg,
1379
+ [dir="rtl"] .q-checkbox--dense .q-checkbox__icon-container {
1366
1380
  right: 5%;
1367
1381
  }
1368
1382
 
@@ -4128,27 +4142,35 @@ body.platform-ios .q-layout--containerized {
4128
4142
  .q-radio {
4129
4143
  vertical-align: middle;
4130
4144
  }
4145
+ .q-radio__native {
4146
+ width: 1px;
4147
+ height: 1px;
4148
+ }
4131
4149
 
4132
- .q-radio__bg {
4150
+ .q-radio__bg, .q-radio__icon-container {
4133
4151
  top: 25%;
4134
4152
  width: 50%;
4135
4153
  height: 50%;
4136
- -webkit-print-color-adjust: exact;
4154
+ -webkit-user-select: none;
4155
+ user-select: none;
4137
4156
  }
4138
4157
 
4139
- [dir="ltr"] .q-radio__bg {
4158
+ [dir="ltr"] .q-radio__bg, [dir="ltr"] .q-radio__icon-container {
4140
4159
  left: 25%;
4141
4160
  }
4142
4161
 
4143
- [dir="rtl"] .q-radio__bg {
4162
+ [dir="rtl"] .q-radio__bg, [dir="rtl"] .q-radio__icon-container {
4144
4163
  right: 25%;
4145
4164
  }
4165
+ .q-radio__bg {
4166
+ -webkit-print-color-adjust: exact;
4167
+ }
4146
4168
  .q-radio__bg path {
4147
4169
  fill: currentColor;
4148
4170
  }
4149
- .q-radio__native {
4150
- width: 1px;
4151
- height: 1px;
4171
+ .q-radio__icon {
4172
+ color: currentColor;
4173
+ font-size: 0.6em;
4152
4174
  }
4153
4175
  .q-radio__check {
4154
4176
  transform-origin: 50% 50%;
@@ -4182,23 +4204,29 @@ body.platform-ios .q-layout--containerized {
4182
4204
  .q-radio--dark .q-radio__inner--truthy {
4183
4205
  color: var(--q-primary);
4184
4206
  }
4207
+ .q-radio--dense .q-checkbox__icon {
4208
+ font-size: 0.6em;
4209
+ }
4185
4210
  .q-radio--dense .q-radio__inner {
4186
4211
  width: 0.5em;
4187
4212
  min-width: 0.5em;
4188
4213
  height: 0.5em;
4189
4214
  }
4190
4215
 
4191
- .q-radio--dense .q-radio__bg {
4216
+ .q-radio--dense .q-radio__bg,
4217
+ .q-radio--dense .q-radio__icon-container {
4192
4218
  top: 0;
4193
4219
  width: 100%;
4194
4220
  height: 100%;
4195
4221
  }
4196
4222
 
4197
- [dir="ltr"] .q-radio--dense .q-radio__bg {
4223
+ [dir="ltr"] .q-radio--dense .q-radio__bg,
4224
+ [dir="ltr"] .q-radio--dense .q-radio__icon-container {
4198
4225
  left: 0;
4199
4226
  }
4200
4227
 
4201
- [dir="rtl"] .q-radio--dense .q-radio__bg {
4228
+ [dir="rtl"] .q-radio--dense .q-radio__bg,
4229
+ [dir="rtl"] .q-radio--dense .q-radio__icon-container {
4202
4230
  right: 0;
4203
4231
  }
4204
4232
 
@@ -4357,6 +4385,7 @@ body.desktop .q-radio--dense:not(.disabled):focus .q-radio__inner:before, body.d
4357
4385
  }
4358
4386
  .q-select .q-field__input {
4359
4387
  min-width: 50px !important;
4388
+ cursor: text;
4360
4389
  }
4361
4390
 
4362
4391
  [dir="ltr"] .q-select .q-field__input--padding {
@@ -5237,6 +5266,7 @@ body.desktop .q-slider.q-slider--enabled .q-slider__track-container:hover .q-sli
5237
5266
  }
5238
5267
 
5239
5268
  .q-stepper__dot {
5269
+ contain: layout;
5240
5270
  font-size: 14px;
5241
5271
  width: 24px;
5242
5272
  min-width: 24px;
@@ -5408,6 +5438,9 @@ body.desktop .q-slider.q-slider--enabled .q-slider__track-container:hover .q-sli
5408
5438
  .q-stepper--horizontal .q-stepper__tab {
5409
5439
  overflow: hidden;
5410
5440
  }
5441
+ .q-stepper--horizontal .q-stepper__line {
5442
+ contain: layout;
5443
+ }
5411
5444
  .q-stepper--horizontal .q-stepper__line:before, .q-stepper--horizontal .q-stepper__line:after {
5412
5445
  position: absolute;
5413
5446
  top: 50%;