quasar 2.4.9 → 2.4.10

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 (121) hide show
  1. package/dist/api/QFile.json +1 -0
  2. package/dist/api/QTree.json +7 -0
  3. package/dist/api/QUploader.json +3 -1
  4. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  5. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  6. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  7. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  8. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  9. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  10. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  11. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  12. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  13. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  14. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  15. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  16. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  17. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  18. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  19. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  20. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  21. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  22. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  23. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  33. package/dist/icon-set/themify.umd.prod.js +1 -1
  34. package/dist/lang/ar.umd.prod.js +1 -1
  35. package/dist/lang/az-Latn.umd.prod.js +1 -1
  36. package/dist/lang/bg.umd.prod.js +1 -1
  37. package/dist/lang/bn.umd.prod.js +1 -1
  38. package/dist/lang/ca.umd.prod.js +1 -1
  39. package/dist/lang/cs.umd.prod.js +1 -1
  40. package/dist/lang/da.umd.prod.js +1 -1
  41. package/dist/lang/de.umd.prod.js +1 -1
  42. package/dist/lang/el.umd.prod.js +1 -1
  43. package/dist/lang/en-GB.umd.prod.js +1 -1
  44. package/dist/lang/en-US.umd.prod.js +1 -1
  45. package/dist/lang/eo.umd.prod.js +1 -1
  46. package/dist/lang/es.umd.prod.js +1 -1
  47. package/dist/lang/et.umd.prod.js +1 -1
  48. package/dist/lang/fa-IR.umd.prod.js +1 -1
  49. package/dist/lang/fa.umd.prod.js +1 -1
  50. package/dist/lang/fi.umd.prod.js +1 -1
  51. package/dist/lang/fr.umd.prod.js +1 -1
  52. package/dist/lang/gn.umd.prod.js +1 -1
  53. package/dist/lang/he.umd.prod.js +1 -1
  54. package/dist/lang/hr.umd.prod.js +1 -1
  55. package/dist/lang/hu.umd.prod.js +1 -1
  56. package/dist/lang/id.umd.prod.js +1 -1
  57. package/dist/lang/is.umd.prod.js +1 -1
  58. package/dist/lang/it.umd.prod.js +1 -1
  59. package/dist/lang/ja.umd.prod.js +1 -1
  60. package/dist/lang/km.umd.prod.js +1 -1
  61. package/dist/lang/ko-KR.umd.prod.js +1 -1
  62. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  63. package/dist/lang/lt.umd.prod.js +1 -1
  64. package/dist/lang/lu.umd.prod.js +1 -1
  65. package/dist/lang/lv.umd.prod.js +1 -1
  66. package/dist/lang/ml.umd.prod.js +1 -1
  67. package/dist/lang/ms.umd.prod.js +1 -1
  68. package/dist/lang/my.umd.prod.js +1 -1
  69. package/dist/lang/nb-NO.umd.prod.js +1 -1
  70. package/dist/lang/nl.umd.prod.js +1 -1
  71. package/dist/lang/pl.umd.prod.js +1 -1
  72. package/dist/lang/pt-BR.umd.prod.js +1 -1
  73. package/dist/lang/pt.umd.prod.js +1 -1
  74. package/dist/lang/ro.umd.prod.js +1 -1
  75. package/dist/lang/ru.umd.prod.js +1 -1
  76. package/dist/lang/sk.umd.prod.js +1 -1
  77. package/dist/lang/sl.umd.prod.js +1 -1
  78. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  79. package/dist/lang/sr.umd.prod.js +1 -1
  80. package/dist/lang/sv.umd.prod.js +1 -1
  81. package/dist/lang/ta.umd.prod.js +1 -1
  82. package/dist/lang/th.umd.prod.js +1 -1
  83. package/dist/lang/tr.umd.prod.js +1 -1
  84. package/dist/lang/ug.umd.prod.js +1 -1
  85. package/dist/lang/uk.umd.prod.js +1 -1
  86. package/dist/lang/vi.umd.prod.js +1 -1
  87. package/dist/lang/zh-CN.umd.prod.js +1 -1
  88. package/dist/lang/zh-TW.umd.prod.js +1 -1
  89. package/dist/quasar.cjs.prod.js +2 -2
  90. package/dist/quasar.css +3 -1
  91. package/dist/quasar.esm.prod.js +2 -2
  92. package/dist/quasar.prod.css +1 -1
  93. package/dist/quasar.rtl.css +3 -1
  94. package/dist/quasar.rtl.prod.css +1 -1
  95. package/dist/quasar.sass +4 -1
  96. package/dist/quasar.umd.js +39 -26
  97. package/dist/quasar.umd.prod.js +2 -2
  98. package/dist/ssr-directives/Morph.js +1 -1
  99. package/dist/types/api/qfile.d.ts +8 -0
  100. package/dist/types/api/qselect.d.ts +4 -0
  101. package/dist/types/api/qtable.d.ts +12 -0
  102. package/dist/types/api/qtree.d.ts +31 -0
  103. package/dist/types/api/quploader.d.ts +28 -0
  104. package/dist/types/api/touchswipe.d.ts +11 -0
  105. package/dist/types/api.d.ts +6 -0
  106. package/dist/types/index.d.ts +286 -311
  107. package/dist/types/ts-helpers.d.ts +6 -2
  108. package/dist/types/utils.d.ts +4 -1
  109. package/dist/vetur/quasar-attributes.json +4 -0
  110. package/dist/vetur/quasar-tags.json +1 -0
  111. package/dist/web-types/web-types.json +11 -1
  112. package/package.json +1 -1
  113. package/src/components/date/QDate.js +6 -1
  114. package/src/components/dialog-plugin/DialogPlugin.js +1 -1
  115. package/src/components/select/QSelect.js +20 -19
  116. package/src/components/select/QSelect.sass +3 -0
  117. package/src/components/tree/QTree.js +6 -1
  118. package/src/components/tree/QTree.json +8 -0
  119. package/src/components/uploader/uploader-core.js +2 -0
  120. package/src/components/uploader/xhr-uploader-plugin.json +2 -1
  121. package/src/composables/private/use-file.json +1 -0
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.4.9
2
+ * Quasar Framework v2.4.10
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -3262,7 +3262,10 @@ body.desktop
3262
3262
  min-width: 50px !important
3263
3263
  &--padding
3264
3264
  padding-left: 4px
3265
+ &__focus-target,
3265
3266
  &__autocomplete-input
3267
+ position: absolute
3268
+ outline: 0 !important
3266
3269
  width: 0
3267
3270
  height: 0
3268
3271
  padding: 0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.4.9
2
+ * Quasar Framework v2.4.10
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1447,7 +1447,7 @@
1447
1447
  }
1448
1448
 
1449
1449
  var installQuasar = function (parentApp, opts = {}) {
1450
- const $q = { version: '2.4.9' };
1450
+ const $q = { version: '2.4.10' };
1451
1451
 
1452
1452
  if (globalConfigIsFrozen === false) {
1453
1453
  if (opts.config !== void 0) {
@@ -12603,7 +12603,12 @@
12603
12603
  normalizedModel.value
12604
12604
  .filter(date => typeof date === 'string')
12605
12605
  .map(date => decodeString(date, innerMask.value, innerLocale.value))
12606
- .filter(date => date.dateHash !== null)
12606
+ .filter(date =>
12607
+ date.dateHash !== null
12608
+ && date.day !== null
12609
+ && date.month !== null
12610
+ && date.year !== null
12611
+ )
12607
12612
  );
12608
12613
 
12609
12614
  const rangeModel = vue.computed(() => {
@@ -18901,6 +18906,8 @@
18901
18906
  abort: state.abort
18902
18907
  };
18903
18908
 
18909
+ // TODO: the result of this computed, especially the dynamic part, isn't currently typed
18910
+ // This result in an error with Volar when accessing the state (eg. files array)
18904
18911
  const slotScope = vue.computed(() => {
18905
18912
  const acc = {
18906
18913
  canAddFiles: canAddFiles.value,
@@ -28523,34 +28530,34 @@
28523
28530
 
28524
28531
  if (typeof value === 'string' && value.length > 0) {
28525
28532
  const needle = value.toLocaleLowerCase();
28533
+ const findFn = extractFn => {
28534
+ const option = props.options.find(opt => extractFn.value(opt).toLocaleLowerCase() === needle);
28526
28535
 
28527
- let fn = opt => getOptionValue.value(opt).toLocaleLowerCase() === needle;
28528
- let option = props.options.find(fn);
28536
+ if (option === void 0) {
28537
+ return false
28538
+ }
28529
28539
 
28530
- if (option !== void 0) {
28531
28540
  if (innerValue.value.indexOf(option) === -1) {
28532
28541
  toggleOption(option);
28533
28542
  }
28534
28543
  else {
28535
28544
  hidePopup();
28536
28545
  }
28537
- }
28538
- else {
28539
- fn = opt => getOptionLabel.value(opt).toLocaleLowerCase() === needle;
28540
- option = props.options.find(fn);
28541
28546
 
28542
- if (option !== void 0) {
28543
- if (innerValue.value.indexOf(option) === -1) {
28544
- toggleOption(option);
28545
- }
28546
- else {
28547
- hidePopup();
28548
- }
28547
+ return true
28548
+ };
28549
+ const fillFn = afterFilter => {
28550
+ if (findFn(getOptionValue) === true) {
28551
+ return
28549
28552
  }
28550
- else {
28551
- filter(value, true);
28553
+ if (findFn(getOptionLabel) === true || afterFilter === true) {
28554
+ return
28552
28555
  }
28553
- }
28556
+
28557
+ filter(value, true, () => fillFn(true));
28558
+ };
28559
+
28560
+ fillFn();
28554
28561
  }
28555
28562
  else {
28556
28563
  state.clearValue(e);
@@ -28929,7 +28936,7 @@
28929
28936
  }
28930
28937
  }
28931
28938
 
28932
- function filter (val, keepClosed) {
28939
+ function filter (val, keepClosed, afterUpdateFn) {
28933
28940
  if (props.onFilter === void 0 || (keepClosed !== true && state.focused.value !== true)) {
28934
28941
  return
28935
28942
  }
@@ -28987,6 +28994,7 @@
28987
28994
  }
28988
28995
 
28989
28996
  typeof afterFn === 'function' && vue.nextTick(() => { afterFn(proxy); });
28997
+ typeof afterUpdateFn === 'function' && vue.nextTick(() => { afterUpdateFn(proxy); });
28990
28998
  });
28991
28999
  }
28992
29000
  },
@@ -29341,7 +29349,7 @@
29341
29349
  vue.h('div', {
29342
29350
  ref: targetRef,
29343
29351
  key: 'd_t',
29344
- class: 'no-outline',
29352
+ class: 'q-select__focus-target',
29345
29353
  id: state.targetUid.value,
29346
29354
  ...comboboxAttrs.value,
29347
29355
  onKeydown: onTargetKeydown,
@@ -29353,7 +29361,7 @@
29353
29361
  if (typeof props.autocomplete === 'string' && props.autocomplete.length > 0) {
29354
29362
  child.push(
29355
29363
  vue.h('input', {
29356
- class: 'q-select__autocomplete-input no-outline',
29364
+ class: 'q-select__autocomplete-input',
29357
29365
  autocomplete: props.autocomplete,
29358
29366
  onKeyup: onTargetAutocomplete
29359
29367
  })
@@ -35328,6 +35336,8 @@
35328
35336
  expanded: Array, // v-model:expanded
35329
35337
  selected: {}, // v-model:selected
35330
35338
 
35339
+ noSelectionUnset: Boolean,
35340
+
35331
35341
  defaultExpandAll: Boolean,
35332
35342
  accordion: Boolean,
35333
35343
 
@@ -35885,7 +35895,10 @@
35885
35895
 
35886
35896
  if (hasSelection.value) {
35887
35897
  if (meta.selectable) {
35888
- emit('update:selected', meta.key !== props.selected ? meta.key : null);
35898
+ const val = meta.key !== props.selected ? meta.key : null;
35899
+ if (props.noSelectionUnset !== true || val !== null) {
35900
+ emit('update:selected', val);
35901
+ }
35889
35902
  }
35890
35903
  }
35891
35904
  else {
@@ -38098,8 +38111,8 @@
38098
38111
  color: vmColor.value,
38099
38112
  label: okLabel.value,
38100
38113
  ripple: false,
38101
- ...(Object(props.ok) === props.ok ? props.ok : { flat: true }),
38102
38114
  disable: okDisabled.value,
38115
+ ...(Object(props.ok) === props.ok ? props.ok : { flat: true }),
38103
38116
  'data-autofocus': (props.focus === 'ok' && hasForm.value !== true) || void 0,
38104
38117
  onClick: onOk
38105
38118
  }));
@@ -39268,7 +39281,7 @@
39268
39281
  });
39269
39282
 
39270
39283
  var index_umd = {
39271
- version: '2.4.9',
39284
+ version: '2.4.10',
39272
39285
  install (app, opts) {
39273
39286
  installQuasar(app, {
39274
39287
  components,