quasar 1.19.0 → 1.19.3

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 (143) hide show
  1. package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
  2. package/dist/icon-set/eva-icons.umd.min.js +1 -1
  3. package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
  4. package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
  5. package/dist/icon-set/fontawesome-v6-pro.umd.min.js +1 -1
  6. package/dist/icon-set/fontawesome-v6.umd.min.js +1 -1
  7. package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
  8. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  9. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  10. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  11. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  12. package/dist/icon-set/material-icons.umd.min.js +1 -1
  13. package/dist/icon-set/material-symbols-outlined.umd.min.js +1 -1
  14. package/dist/icon-set/material-symbols-rounded.umd.min.js +1 -1
  15. package/dist/icon-set/material-symbols-sharp.umd.min.js +1 -1
  16. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  17. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  18. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  19. package/dist/icon-set/mdi-v6.umd.min.js +1 -1
  20. package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
  21. package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
  22. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
  23. package/dist/icon-set/svg-fontawesome-v6.umd.min.js +1 -1
  24. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  25. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  26. package/dist/icon-set/svg-ionicons-v6.umd.min.js +1 -1
  27. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  28. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
  29. package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
  30. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
  31. package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
  32. package/dist/icon-set/svg-material-symbols-outlined.umd.min.js +1 -1
  33. package/dist/icon-set/svg-material-symbols-rounded.umd.min.js +1 -1
  34. package/dist/icon-set/svg-material-symbols-sharp.umd.min.js +1 -1
  35. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  36. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  37. package/dist/icon-set/svg-mdi-v6.umd.min.js +1 -1
  38. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  39. package/dist/icon-set/themify.umd.min.js +1 -1
  40. package/dist/lang/ar.umd.min.js +1 -1
  41. package/dist/lang/az-latn.umd.min.js +1 -1
  42. package/dist/lang/bg.umd.min.js +1 -1
  43. package/dist/lang/ca.umd.min.js +2 -2
  44. package/dist/lang/cs.umd.min.js +1 -1
  45. package/dist/lang/da.umd.min.js +1 -1
  46. package/dist/lang/de.umd.min.js +1 -1
  47. package/dist/lang/el.umd.min.js +1 -1
  48. package/dist/lang/en-gb.umd.min.js +1 -1
  49. package/dist/lang/en-us.umd.min.js +1 -1
  50. package/dist/lang/eo.umd.min.js +1 -1
  51. package/dist/lang/es.umd.min.js +1 -1
  52. package/dist/lang/et.umd.min.js +1 -1
  53. package/dist/lang/eu.umd.min.js +1 -1
  54. package/dist/lang/fa-ir.umd.min.js +1 -1
  55. package/dist/lang/fa.umd.min.js +1 -1
  56. package/dist/lang/fi.umd.min.js +1 -1
  57. package/dist/lang/fr.umd.min.js +1 -1
  58. package/dist/lang/gn.umd.min.js +1 -1
  59. package/dist/lang/he.umd.min.js +1 -1
  60. package/dist/lang/hr.umd.min.js +1 -1
  61. package/dist/lang/hu.umd.min.js +1 -1
  62. package/dist/lang/id.umd.min.js +1 -1
  63. package/dist/lang/is.umd.min.js +1 -1
  64. package/dist/lang/it.umd.min.js +1 -1
  65. package/dist/lang/ja.umd.min.js +1 -1
  66. package/dist/lang/km.umd.min.js +1 -1
  67. package/dist/lang/ko-kr.umd.min.js +2 -2
  68. package/dist/lang/kur-ckb.umd.min.js +1 -1
  69. package/dist/lang/kz.umd.min.js +1 -1
  70. package/dist/lang/lu.umd.min.js +1 -1
  71. package/dist/lang/lv.umd.min.js +1 -1
  72. package/dist/lang/ml.umd.min.js +1 -1
  73. package/dist/lang/mm.umd.min.js +1 -1
  74. package/dist/lang/ms.umd.min.js +1 -1
  75. package/dist/lang/my.umd.min.js +1 -1
  76. package/dist/lang/nb-no.umd.min.js +1 -1
  77. package/dist/lang/nl.umd.min.js +1 -1
  78. package/dist/lang/pl.umd.min.js +1 -1
  79. package/dist/lang/pt-br.umd.min.js +1 -1
  80. package/dist/lang/pt.umd.min.js +1 -1
  81. package/dist/lang/ro.umd.min.js +1 -1
  82. package/dist/lang/ru.umd.min.js +1 -1
  83. package/dist/lang/sk.umd.min.js +1 -1
  84. package/dist/lang/sl.umd.min.js +1 -1
  85. package/dist/lang/sm.umd.min.js +6 -0
  86. package/dist/lang/sr.umd.min.js +1 -1
  87. package/dist/lang/sv.umd.min.js +1 -1
  88. package/dist/lang/ta.umd.min.js +1 -1
  89. package/dist/lang/th.umd.min.js +1 -1
  90. package/dist/lang/tr.umd.min.js +1 -1
  91. package/dist/lang/ug.umd.min.js +1 -1
  92. package/dist/lang/uk.umd.min.js +1 -1
  93. package/dist/lang/uz-Cyrl.umd.min.js +6 -0
  94. package/dist/lang/uz-Latn.umd.min.js +6 -0
  95. package/dist/lang/vi.umd.min.js +1 -1
  96. package/dist/lang/zh-hans.umd.min.js +1 -1
  97. package/dist/lang/zh-hant.umd.min.js +1 -1
  98. package/dist/quasar.addon.css +1 -1
  99. package/dist/quasar.addon.rtl.css +1 -1
  100. package/dist/quasar.common.js +2 -2
  101. package/dist/quasar.css +17 -6
  102. package/dist/quasar.esm.js +2 -2
  103. package/dist/quasar.ie.polyfills.js +1 -1
  104. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  105. package/dist/quasar.min.css +1 -1
  106. package/dist/quasar.rtl.css +17 -6
  107. package/dist/quasar.rtl.min.css +1 -1
  108. package/dist/quasar.sass +11 -4
  109. package/dist/quasar.styl +15 -5
  110. package/dist/quasar.umd.js +50 -46
  111. package/dist/quasar.umd.min.js +2 -2
  112. package/dist/quasar.umd.modern.js +50 -46
  113. package/dist/quasar.umd.modern.min.js +2 -2
  114. package/dist/types/index.d.ts +3 -0
  115. package/dist/web-types/web-types.json +1 -1
  116. package/lang/ca.js +31 -31
  117. package/lang/index.json +12 -0
  118. package/lang/ko-kr.js +21 -21
  119. package/lang/sm.js +93 -0
  120. package/lang/uz-Cyrl.js +93 -0
  121. package/lang/uz-Latn.js +97 -0
  122. package/package.json +1 -1
  123. package/src/components/field/QField.js +4 -7
  124. package/src/components/file/QFile.js +4 -2
  125. package/src/components/icon/QIcon.sass +3 -2
  126. package/src/components/icon/QIcon.styl +7 -3
  127. package/src/components/input/QInput.js +2 -2
  128. package/src/components/scroll-area/QScrollArea.js +4 -2
  129. package/src/components/select/QSelect.js +10 -5
  130. package/src/components/table/QTable.sass +1 -1
  131. package/src/components/table/QTable.styl +1 -1
  132. package/src/components/timeline/QTimeline.sass +4 -0
  133. package/src/components/timeline/QTimeline.styl +4 -0
  134. package/src/components/uploader/QUploaderBase.js +2 -1
  135. package/src/css/core/colors.sass +1 -0
  136. package/src/css/core/colors.styl +1 -0
  137. package/src/css/core/dark.sass +1 -0
  138. package/src/css/core/dark.styl +1 -0
  139. package/src/directives/Ripple.js +2 -7
  140. package/src/mixins/anchor.js +1 -1
  141. package/src/mixins/composition.js +16 -13
  142. package/src/mixins/virtual-scroll.js +3 -2
  143. package/src/utils/date.js +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v1.19.0
2
+ * Quasar Framework v1.19.3
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -12,7 +12,7 @@
12
12
 
13
13
  Vue = Vue && Object.prototype.hasOwnProperty.call(Vue, 'default') ? Vue['default'] : Vue;
14
14
 
15
- var version = "1.19.0";
15
+ var version = "1.19.3";
16
16
 
17
17
  /* eslint-disable no-useless-escape */
18
18
 
@@ -3292,11 +3292,7 @@
3292
3292
  evt.qSkipRipple !== true &&
3293
3293
  // on ENTER in form IE emits a PointerEvent with negative client cordinates
3294
3294
  (client.is.ie !== true || evt.clientX >= 0) &&
3295
- (
3296
- ctx.modifiers.early === true
3297
- ? ['mousedown', 'touchstart'].includes(evt.type) === true
3298
- : evt.type === 'click'
3299
- )
3295
+ evt.type === (ctx.modifiers.early === true ? 'pointerdown' : 'click')
3300
3296
  ) {
3301
3297
  showRipple(evt, el, ctx, evt.qKeyEvent === true);
3302
3298
  }
@@ -3319,8 +3315,7 @@
3319
3315
  el.__qripple = ctx;
3320
3316
 
3321
3317
  addEvt(ctx, 'main', [
3322
- [ el, 'mousedown', 'start', 'passive' ],
3323
- [ el, 'touchstart', 'start', 'passive' ],
3318
+ [ el, 'pointerdown', 'start', 'passive' ],
3324
3319
  [ el, 'click', 'start', 'passive' ],
3325
3320
  [ el, 'keydown', 'keystart', 'passive' ],
3326
3321
  [ el, 'keyup', 'keystart', 'passive' ]
@@ -4086,7 +4081,7 @@
4086
4081
  },
4087
4082
 
4088
4083
  __pickAnchorEl () {
4089
- if (this.target === false || this.target === '') {
4084
+ if (this.target === false || this.target === '' || this.parentEl === null) {
4090
4085
  this.anchorEl = void 0;
4091
4086
  }
4092
4087
  else if (this.target === true) {
@@ -11972,7 +11967,7 @@
11972
11967
  const date = new Date(
11973
11968
  d.year,
11974
11969
  d.month === null ? null : d.month - 1,
11975
- d.day,
11970
+ d.day === null ? 1 : d.day,
11976
11971
  d.hour,
11977
11972
  d.minute,
11978
11973
  d.second,
@@ -12401,7 +12396,7 @@
12401
12396
  YY (date, _, forcedYear) {
12402
12397
  // workaround for < 1900 with new Date()
12403
12398
  const y = this.YYYY(date, _, forcedYear) % 100;
12404
- return y > 0
12399
+ return y >= 0
12405
12400
  ? pad(y)
12406
12401
  : '-' + pad(Math.abs(y))
12407
12402
  },
@@ -18394,11 +18389,8 @@
18394
18389
  floatingLabel () {
18395
18390
  return this.stackLabel === true ||
18396
18391
  this.focused === true ||
18397
- (
18398
- this.inputValue !== void 0 && this.hideSelected === true
18399
- ? this.inputValue.length > 0
18400
- : this.hasValue === true
18401
- ) ||
18392
+ (typeof this.inputValue === 'string' && this.inputValue.length > 0) ||
18393
+ (this.hideSelected !== true && this.hasValue === true) ||
18402
18394
  (
18403
18395
  this.displayValue !== void 0 &&
18404
18396
  this.displayValue !== null &&
@@ -18641,7 +18633,7 @@
18641
18633
  attrs: {
18642
18634
  tabindex: -1,
18643
18635
  ...this.qAttrs,
18644
- 'data-autofocus': this.autofocus
18636
+ 'data-autofocus': this.autofocus || void 0
18645
18637
  }
18646
18638
  }, this.$scopedSlots.control(this.controlSlotScope))
18647
18639
  );
@@ -18817,7 +18809,7 @@
18817
18809
  const attrs = this.__getControl === void 0 && this.$scopedSlots.control === void 0
18818
18810
  ? {
18819
18811
  ...this.qAttrs,
18820
- 'data-autofocus': this.autofocus,
18812
+ 'data-autofocus': this.autofocus || void 0,
18821
18813
  ...this.attrs
18822
18814
  }
18823
18815
  : this.attrs;
@@ -19225,6 +19217,10 @@
19225
19217
 
19226
19218
  isAppending () {
19227
19219
  return this.multiple === true && this.append === true
19220
+ },
19221
+
19222
+ fieldClass () {
19223
+ return 'q-file q-field--auto-height' + (this.dnd === true ? ' q-file--dnd' : '')
19228
19224
  }
19229
19225
  },
19230
19226
 
@@ -19391,8 +19387,6 @@
19391
19387
  },
19392
19388
 
19393
19389
  created () {
19394
- this.fieldClass = 'q-file q-field--auto-height';
19395
-
19396
19390
  // necessary for QField's clearable
19397
19391
  // and FileValueMixin
19398
19392
  this.type = 'file';
@@ -21156,28 +21150,29 @@
21156
21150
  const isJapanese = /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/;
21157
21151
  const isChinese = /[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u;
21158
21152
  const isKorean = /[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/;
21153
+ const isPlainText = /[a-z0-9_ -]$/i;
21159
21154
 
21160
21155
  var CompositionMixin = {
21161
21156
  methods: {
21162
21157
  __onComposition (e) {
21163
21158
  if (e.type === 'compositionend' || e.type === 'change') {
21164
- if (e.target.composing !== true) { return }
21165
- e.target.composing = false;
21159
+ if (e.target.qComposing !== true) { return }
21160
+ e.target.qComposing = false;
21166
21161
  this.__onInput(e);
21167
21162
  }
21168
- else if (e.type === 'compositionupdate') {
21169
- if (
21170
- typeof e.data === 'string' &&
21171
- isJapanese.test(e.data) === false &&
21172
- isChinese.test(e.data) === false &&
21173
- isKorean.test(e.data) === false
21174
- ) {
21175
- e.target.composing = false;
21163
+ else if (
21164
+ e.type === 'compositionupdate' &&
21165
+ e.target.qComposing !== true &&
21166
+ typeof e.data === 'string'
21167
+ ) {
21168
+ const isComposing = client.is.firefox === true
21169
+ ? isPlainText.test(e.data) === false
21170
+ : isJapanese.test(e.data) === true || isChinese.test(e.data) === true || isKorean.test(e.data) === true;
21171
+
21172
+ if (isComposing === true) {
21173
+ e.target.qComposing = true;
21176
21174
  }
21177
21175
  }
21178
- else {
21179
- e.target.composing = true;
21180
- }
21181
21176
  }
21182
21177
  }
21183
21178
  };
@@ -21325,7 +21320,7 @@
21325
21320
  inputAttrs () {
21326
21321
  const attrs = {
21327
21322
  tabindex: 0,
21328
- 'data-autofocus': this.autofocus,
21323
+ 'data-autofocus': this.autofocus || void 0,
21329
21324
  rows: this.type === 'textarea' ? 6 : void 0,
21330
21325
  'aria-label': this.label,
21331
21326
  name: this.nameProp,
@@ -21378,7 +21373,7 @@
21378
21373
  },
21379
21374
 
21380
21375
  __onInput (e) {
21381
- if (!e || !e.target || e.target.composing === true) {
21376
+ if (!e || !e.target || e.target.qComposing === true) {
21382
21377
  return
21383
21378
  }
21384
21379
 
@@ -25240,6 +25235,8 @@
25240
25235
  }
25241
25236
  });
25242
25237
 
25238
+ const getMinThumbSize = size => (size >= 250 ? 50 : Math.ceil(size / 5));
25239
+
25243
25240
  const axisList = [ 'vertical', 'horizontal' ];
25244
25241
  const dirProps = {
25245
25242
  vertical: { offset: 'offsetY', scroll: 'scrollTop', dir: 'down', dist: 'y' },
@@ -25357,7 +25354,7 @@
25357
25354
  return Math.round(
25358
25355
  between(
25359
25356
  this.container.vertical * this.container.vertical / this.scroll.vertical.size,
25360
- 50,
25357
+ getMinThumbSize(this.container.vertical),
25361
25358
  this.container.vertical
25362
25359
  )
25363
25360
  )
@@ -25367,7 +25364,7 @@
25367
25364
  return Math.round(
25368
25365
  between(
25369
25366
  this.container.horizontal * this.container.horizontal / this.scroll.horizontal.size,
25370
- 50,
25367
+ getMinThumbSize(this.container.horizontal),
25371
25368
  this.container.horizontal
25372
25369
  )
25373
25370
  )
@@ -25983,11 +25980,12 @@
25983
25980
  setOverflowAnchor.isSupported = window.getComputedStyle(document.body).overflowAnchor !== void 0;
25984
25981
  }
25985
25982
 
25986
- if (setOverflowAnchor.isSupported === false) {
25983
+ if (setOverflowAnchor.isSupported === false || contentEl === void 0) {
25987
25984
  return
25988
25985
  }
25989
25986
 
25990
- requestAnimationFrame(() => {
25987
+ cancelAnimationFrame(contentEl._qOverflowAnimationFrame);
25988
+ contentEl._qOverflowAnimationFrame = requestAnimationFrame(() => {
25991
25989
  if (contentEl === void 0) {
25992
25990
  return
25993
25991
  }
@@ -26657,13 +26655,18 @@
26657
26655
  this.__updateMenu(show);
26658
26656
  },
26659
26657
 
26660
- virtualScrollLength () {
26658
+ virtualScrollLength (newLength, oldLength) {
26661
26659
  if (this.menu === true && this.innerLoading === false) {
26662
- this.reset();
26660
+ this.__resetVirtualScroll(-1, true);
26663
26661
 
26664
26662
  this.$nextTick(() => {
26665
26663
  if (this.menu === true && this.innerLoading === false) {
26666
- this.__updateMenu(true);
26664
+ if (newLength > oldLength) {
26665
+ this.__resetVirtualScroll();
26666
+ }
26667
+ else {
26668
+ this.__updateMenu(true);
26669
+ }
26667
26670
  }
26668
26671
  });
26669
26672
  }
@@ -27581,7 +27584,7 @@
27581
27584
  maxlength: this.maxlength, // this is converted to prop by QField
27582
27585
  tabindex: this.tabindex,
27583
27586
  autocomplete: this.autocomplete,
27584
- 'data-autofocus': fromDialog === true ? false : this.autofocus,
27587
+ 'data-autofocus': (fromDialog !== true && this.autofocus) || void 0,
27585
27588
  disabled: this.disable === true,
27586
27589
  readonly: this.readonly === true
27587
27590
  },
@@ -27602,7 +27605,7 @@
27602
27605
  __onInput (e) {
27603
27606
  clearTimeout(this.inputTimer);
27604
27607
 
27605
- if (e && e.target && e.target.composing === true) {
27608
+ if (e && e.target && e.target.qComposing === true) {
27606
27609
  return
27607
27610
  }
27608
27611
 
@@ -35549,7 +35552,8 @@
35549
35552
  'q-uploader--bordered': this.bordered,
35550
35553
  'q-uploader--square no-border-radius': this.square,
35551
35554
  'q-uploader--flat no-shadow': this.flat,
35552
- 'disabled q-uploader--disable': this.disable
35555
+ 'disabled q-uploader--disable': this.disable,
35556
+ 'q-uploader--dnd': this.dnd
35553
35557
  },
35554
35558
  on: this.canAddFiles === true
35555
35559
  ? cache(this, 'drag', {