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
@@ -188,7 +188,8 @@ export default createDirective(__QUASAR_SSR_SERVER__
188
188
  */
189
189
  if (
190
190
  ctx.direction.all !== true
191
- && (mouseEvent !== true || ctx.modifiers.mouseAllDir !== true)
191
+ // account for UMD too where modifiers will be lowercased to work
192
+ && (mouseEvent !== true || (ctx.modifiers.mouseAllDir !== true && ctx.modifiers.mousealldir !== true))
192
193
  ) {
193
194
  const clone = evt.type.indexOf('mouse') > -1
194
195
  ? new MouseEvent(evt.type, evt)
@@ -255,9 +256,12 @@ export default createDirective(__QUASAR_SSR_SERVER__
255
256
  const start = () => {
256
257
  handleEvent(evt, isMouseEvt)
257
258
 
258
- if (modifiers.preserveCursor !== true) {
259
+ let cursor
260
+ if (modifiers.preserveCursor !== true && modifiers.preservecursor !== true) {
261
+ cursor = document.documentElement.style.cursor || ''
259
262
  document.documentElement.style.cursor = 'grabbing'
260
263
  }
264
+
261
265
  isMouseEvt === true && document.body.classList.add('no-pointer-events--children')
262
266
  document.body.classList.add('non-selectable')
263
267
  clearSelection()
@@ -265,9 +269,10 @@ export default createDirective(__QUASAR_SSR_SERVER__
265
269
  ctx.styleCleanup = withDelayedFn => {
266
270
  ctx.styleCleanup = void 0
267
271
 
268
- if (modifiers.preserveCursor !== true) {
269
- document.documentElement.style.cursor = ''
272
+ if (cursor !== void 0) {
273
+ document.documentElement.style.cursor = cursor
270
274
  }
275
+
271
276
  document.body.classList.remove('non-selectable')
272
277
 
273
278
  if (isMouseEvt === true) {
@@ -315,7 +320,8 @@ export default createDirective(__QUASAR_SSR_SERVER__
315
320
 
316
321
  if (
317
322
  ctx.direction.all === true
318
- || (isMouseEvt === true && ctx.modifiers.mouseAllDir === true)
323
+ // account for UMD too where modifiers will be lowercased to work
324
+ || (isMouseEvt === true && (ctx.modifiers.mouseAllDir === true || ctx.modifiers.mousealldir === true))
319
325
  ) {
320
326
  start()
321
327
  ctx.event.detected = true
@@ -382,9 +388,16 @@ export default createDirective(__QUASAR_SSR_SERVER__
382
388
 
383
389
  el.__qtouchpan = ctx
384
390
 
385
- modifiers.mouse === true && addEvt(ctx, 'main', [
386
- [ el, 'mousedown', 'mouseStart', `passive${ modifiers.mouseCapture === true ? 'Capture' : '' }` ]
387
- ])
391
+ if (modifiers.mouse === true) {
392
+ // account for UMD too where modifiers will be lowercased to work
393
+ const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
394
+ ? 'Capture'
395
+ : ''
396
+
397
+ addEvt(ctx, 'main', [
398
+ [ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
399
+ ])
400
+ }
388
401
 
389
402
  client.has.touch === true && addEvt(ctx, 'main', [
390
403
  [ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
@@ -123,11 +123,6 @@
123
123
  "desc": "Calls event.preventDefault() for touch events"
124
124
  },
125
125
 
126
- "mightPrevent": {
127
- "type": "Boolean",
128
- "desc": "Required when you might call event.preventDefault() in your handler for touch events"
129
- },
130
-
131
126
  "capture": {
132
127
  "type": "Boolean",
133
128
  "desc": "Use capture for touchstart event"
@@ -203,18 +203,32 @@ export default createDirective(__QUASAR_SSR_SERVER__
203
203
 
204
204
  el.__qtouchrepeat = ctx
205
205
 
206
- modifiers.mouse === true && addEvt(ctx, 'main', [
207
- [ el, 'mousedown', 'mouseStart', `passive${ modifiers.mouseCapture === true ? 'Capture' : '' }` ]
208
- ])
206
+ if (modifiers.mouse === true) {
207
+ // account for UMD too where modifiers will be lowercased to work
208
+ const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
209
+ ? 'Capture'
210
+ : ''
211
+
212
+ addEvt(ctx, 'main', [
213
+ [ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
214
+ ])
215
+ }
209
216
 
210
217
  client.has.touch === true && addEvt(ctx, 'main', [
211
218
  [ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
212
219
  [ el, 'touchend', 'noop', 'passiveCapture' ]
213
220
  ])
214
221
 
215
- keyboard.length > 0 && addEvt(ctx, 'main', [
216
- [ el, 'keydown', 'keyboardStart', `notPassive${ modifiers.keyCapture === true ? 'Capture' : '' }` ]
217
- ])
222
+ if (keyboard.length !== 0) {
223
+ // account for UMD too where modifiers will be lowercased to work
224
+ const capture = modifiers.keyCapture === true || modifiers.keycapture === true
225
+ ? 'Capture'
226
+ : ''
227
+
228
+ addEvt(ctx, 'main', [
229
+ [ el, 'keydown', 'keyboardStart', `notPassive${ capture }` ]
230
+ ])
231
+ }
218
232
  },
219
233
 
220
234
  updated (el, { oldValue, value }) {
@@ -228,9 +228,16 @@ export default createDirective(__QUASAR_SSR_SERVER__
228
228
 
229
229
  el.__qtouchswipe = ctx
230
230
 
231
- modifiers.mouse === true && addEvt(ctx, 'main', [
232
- [ el, 'mousedown', 'mouseStart', `passive${ mouseCapture }` ]
233
- ])
231
+ if (modifiers.mouse === true) {
232
+ // account for UMD too where modifiers will be lowercased to work
233
+ const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
234
+ ? 'Capture'
235
+ : ''
236
+
237
+ addEvt(ctx, 'main', [
238
+ [ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
239
+ ])
240
+ }
234
241
 
235
242
  client.has.touch === true && addEvt(ctx, 'main', [
236
243
  [ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
@@ -154,9 +154,13 @@ function normalizeOptions (options) {
154
154
  fill: typeof options.fill === 'string' && options.fill.length > 0 ? options.fill : 'none',
155
155
 
156
156
  resize: options.resize === true,
157
- useCSS: options.useCSS === true,
158
- hideFromClone: options.hideFromClone === true,
159
- keepToClone: options.keepToClone === true,
157
+
158
+ // account for UMD too where modifiers will be lowercased to work
159
+ useCSS: options.useCSS === true || options.usecss === true,
160
+ // account for UMD too where modifiers will be lowercased to work
161
+ hideFromClone: options.hideFromClone === true || options.hidefromclone === true,
162
+ // account for UMD too where modifiers will be lowercased to work
163
+ keepToClone: options.keepToClone === true || options.keeptoclone === true,
160
164
 
161
165
  tween: options.tween === true,
162
166
  tweenFromOpacity: isNaN(options.tweenFromOpacity) === true ? 0.6 : parseFloat(options.tweenFromOpacity),
@@ -7,3 +7,5 @@ export const fabKey = '_q_f_'
7
7
  export const formKey = '_q_fo_'
8
8
  export const tabsKey = '_q_tabs_'
9
9
  export const uploaderKey = '_q_u_'
10
+
11
+ export const emptyRenderFn = () => {}