quasar 2.7.5 → 2.7.6

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 (134) hide show
  1. package/dist/api/QBtn.json +6 -0
  2. package/dist/api/QBtnDropdown.json +6 -0
  3. package/dist/api/QBtnGroup.json +6 -0
  4. package/dist/api/QExpansionItem.json +8 -1
  5. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  6. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  7. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  8. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  9. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  10. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  11. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  12. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  13. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  14. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  15. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  16. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  17. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  18. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  19. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  20. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  24. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  41. package/dist/icon-set/themify.umd.prod.js +1 -1
  42. package/dist/lang/ar-TN.umd.prod.js +1 -1
  43. package/dist/lang/ar.umd.prod.js +1 -1
  44. package/dist/lang/az-Latn.umd.prod.js +1 -1
  45. package/dist/lang/bg.umd.prod.js +1 -1
  46. package/dist/lang/bn.umd.prod.js +1 -1
  47. package/dist/lang/ca.umd.prod.js +1 -1
  48. package/dist/lang/cs.umd.prod.js +1 -1
  49. package/dist/lang/da.umd.prod.js +1 -1
  50. package/dist/lang/de.umd.prod.js +1 -1
  51. package/dist/lang/el.umd.prod.js +1 -1
  52. package/dist/lang/en-GB.umd.prod.js +1 -1
  53. package/dist/lang/en-US.umd.prod.js +1 -1
  54. package/dist/lang/eo.umd.prod.js +1 -1
  55. package/dist/lang/es.umd.prod.js +1 -1
  56. package/dist/lang/et.umd.prod.js +1 -1
  57. package/dist/lang/eu.umd.prod.js +1 -1
  58. package/dist/lang/fa-IR.umd.prod.js +1 -1
  59. package/dist/lang/fa.umd.prod.js +1 -1
  60. package/dist/lang/fi.umd.prod.js +1 -1
  61. package/dist/lang/fr.umd.prod.js +1 -1
  62. package/dist/lang/gn.umd.prod.js +1 -1
  63. package/dist/lang/he.umd.prod.js +1 -1
  64. package/dist/lang/hr.umd.prod.js +1 -1
  65. package/dist/lang/hu.umd.prod.js +1 -1
  66. package/dist/lang/id.umd.prod.js +1 -1
  67. package/dist/lang/is.umd.prod.js +1 -1
  68. package/dist/lang/it.umd.prod.js +1 -1
  69. package/dist/lang/ja.umd.prod.js +1 -1
  70. package/dist/lang/km.umd.prod.js +1 -1
  71. package/dist/lang/ko-KR.umd.prod.js +1 -1
  72. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  73. package/dist/lang/kz.umd.prod.js +1 -1
  74. package/dist/lang/lt.umd.prod.js +1 -1
  75. package/dist/lang/lu.umd.prod.js +1 -1
  76. package/dist/lang/lv.umd.prod.js +1 -1
  77. package/dist/lang/ml.umd.prod.js +1 -1
  78. package/dist/lang/mm.umd.prod.js +1 -1
  79. package/dist/lang/ms.umd.prod.js +1 -1
  80. package/dist/lang/my.umd.prod.js +1 -1
  81. package/dist/lang/nb-NO.umd.prod.js +1 -1
  82. package/dist/lang/nl.umd.prod.js +1 -1
  83. package/dist/lang/pl.umd.prod.js +1 -1
  84. package/dist/lang/pt-BR.umd.prod.js +1 -1
  85. package/dist/lang/pt.umd.prod.js +1 -1
  86. package/dist/lang/ro.umd.prod.js +1 -1
  87. package/dist/lang/ru.umd.prod.js +1 -1
  88. package/dist/lang/sk.umd.prod.js +1 -1
  89. package/dist/lang/sl.umd.prod.js +1 -1
  90. package/dist/lang/sm.umd.prod.js +1 -1
  91. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  92. package/dist/lang/sr.umd.prod.js +1 -1
  93. package/dist/lang/sv.umd.prod.js +1 -1
  94. package/dist/lang/ta.umd.prod.js +1 -1
  95. package/dist/lang/th.umd.prod.js +1 -1
  96. package/dist/lang/tr.umd.prod.js +1 -1
  97. package/dist/lang/ug.umd.prod.js +1 -1
  98. package/dist/lang/uk.umd.prod.js +1 -1
  99. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  100. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  101. package/dist/lang/vi.umd.prod.js +1 -1
  102. package/dist/lang/zh-CN.umd.prod.js +1 -1
  103. package/dist/lang/zh-TW.umd.prod.js +1 -1
  104. package/dist/quasar.cjs.prod.js +2 -2
  105. package/dist/quasar.css +6 -0
  106. package/dist/quasar.esm.prod.js +2 -2
  107. package/dist/quasar.prod.css +1 -1
  108. package/dist/quasar.rtl.css +8 -0
  109. package/dist/quasar.rtl.prod.css +1 -1
  110. package/dist/quasar.sass +5 -1
  111. package/dist/quasar.umd.js +61 -37
  112. package/dist/quasar.umd.prod.js +2 -2
  113. package/dist/types/api/qtable.d.ts +4 -4
  114. package/dist/types/index.d.ts +19 -1
  115. package/dist/vetur/quasar-attributes.json +12 -0
  116. package/dist/vetur/quasar-tags.json +3 -0
  117. package/dist/web-types/web-types.json +31 -1
  118. package/package.json +1 -1
  119. package/src/components/btn/QBtn.sass +3 -0
  120. package/src/components/btn/use-btn.js +7 -2
  121. package/src/components/btn/use-btn.json +5 -0
  122. package/src/components/btn-dropdown/QBtnDropdown.js +1 -0
  123. package/src/components/btn-group/QBtnGroup.js +2 -1
  124. package/src/components/btn-group/QBtnGroup.json +5 -0
  125. package/src/components/btn-group/QBtnGroup.sass +3 -0
  126. package/src/components/expansion-item/QExpansionItem.js +1 -1
  127. package/src/components/expansion-item/QExpansionItem.json +8 -1
  128. package/src/components/file/QFile.js +5 -0
  129. package/src/components/select/QSelect.js +1 -0
  130. package/src/components/tabs/use-tab.js +8 -1
  131. package/src/components/uploader/uploader-core.js +3 -3
  132. package/src/composables/private/use-refocus-target.js +1 -1
  133. package/src/directives/Ripple.js +17 -7
  134. package/src/utils/private/global-dialog.js +13 -19
package/dist/quasar.sass CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.7.5
2
+ * Quasar Framework v2.7.6
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -903,6 +903,8 @@ input[type='search']::-webkit-search-decoration
903
903
  padding: 0
904
904
  min-width: 3em
905
905
  min-height: 3em
906
+ &--square
907
+ border-radius: 0
906
908
  &--flat, &--outline, &--unelevated
907
909
  &:before
908
910
  box-shadow: none
@@ -1011,6 +1013,8 @@ input[type='search']::-webkit-search-decoration
1011
1013
  margin-bottom: -2px
1012
1014
  &--rounded
1013
1015
  border-radius: $button-rounded-border-radius
1016
+ &--square
1017
+ border-radius: 0
1014
1018
  &--flat, &--outline, &--unelevated
1015
1019
  box-shadow: none
1016
1020
  &--outline
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.7.5
2
+ * Quasar Framework v2.7.6
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1603,7 +1603,7 @@
1603
1603
  }
1604
1604
 
1605
1605
  var installQuasar = function (parentApp, opts = {}) {
1606
- const $q = { version: '2.7.5' };
1606
+ const $q = { version: '2.7.6' };
1607
1607
 
1608
1608
  if (globalConfigIsFrozen === false) {
1609
1609
  if (opts.config !== void 0) {
@@ -3185,8 +3185,14 @@
3185
3185
  name: 'ripple',
3186
3186
 
3187
3187
  beforeMount (el, binding) {
3188
+ const cfg = binding.instance.$.appContext.config.globalProperties.$q.config || {};
3189
+
3190
+ if (cfg.ripple === false) {
3191
+ return
3192
+ }
3193
+
3188
3194
  const ctx = {
3189
- cfg: binding.instance.$.appContext.config.globalProperties.$q.config,
3195
+ cfg,
3190
3196
  enabled: binding.value !== false,
3191
3197
  modifiers: {},
3192
3198
  abort: [],
@@ -3228,19 +3234,23 @@
3228
3234
  updated (el, binding) {
3229
3235
  if (binding.oldValue !== binding.value) {
3230
3236
  const ctx = el.__qripple;
3231
- ctx.enabled = binding.value !== false;
3237
+ if (ctx !== void 0) {
3238
+ ctx.enabled = binding.value !== false;
3232
3239
 
3233
- if (ctx.enabled === true && Object(binding.value) === binding.value) {
3234
- updateModifiers$1(ctx, binding);
3240
+ if (ctx.enabled === true && Object(binding.value) === binding.value) {
3241
+ updateModifiers$1(ctx, binding);
3242
+ }
3235
3243
  }
3236
3244
  }
3237
3245
  },
3238
3246
 
3239
3247
  beforeUnmount (el) {
3240
3248
  const ctx = el.__qripple;
3241
- ctx.abort.forEach(fn => { fn(); });
3242
- cleanEvt(ctx, 'main');
3243
- delete el._qripple;
3249
+ if (ctx !== void 0) {
3250
+ ctx.abort.forEach(fn => { fn(); });
3251
+ cleanEvt(ctx, 'main');
3252
+ delete el._qripple;
3253
+ }
3244
3254
  }
3245
3255
  }
3246
3256
  );
@@ -3279,6 +3289,7 @@
3279
3289
  iconRight: String,
3280
3290
 
3281
3291
  round: Boolean,
3292
+ square: Boolean,
3282
3293
  outline: Boolean,
3283
3294
  flat: Boolean,
3284
3295
  unelevated: Boolean,
@@ -3412,8 +3423,11 @@
3412
3423
  colors = `text-${ props.textColor }`;
3413
3424
  }
3414
3425
 
3415
- return `q-btn--${ design.value } `
3416
- + `q-btn--${ props.round === true ? 'round' : `rectangle${ isRounded.value === true ? ' q-btn--rounded' : '' }` }`
3426
+ const shape = props.round === true
3427
+ ? 'round'
3428
+ : `rectangle${ isRounded.value === true ? ' q-btn--rounded' : (props.square === true ? ' q-btn--square' : '') }`;
3429
+
3430
+ return `q-btn--${ design.value } q-btn--${ shape }`
3417
3431
  + (colors !== void 0 ? ' ' + colors : '')
3418
3432
  + (isActionable.value === true ? ' q-btn--actionable q-focusable q-hoverable' : (props.disable === true ? ' disabled' : ''))
3419
3433
  + (props.fab === true ? ' q-btn--fab' : (props.fabMini === true ? ' q-btn--fab-mini' : ''))
@@ -3421,6 +3435,7 @@
3421
3435
  + (props.dense === true ? ' q-btn--dense' : '')
3422
3436
  + (props.stretch === true ? ' no-border-radius self-stretch' : '')
3423
3437
  + (props.glossy === true ? ' glossy' : '')
3438
+ + (props.square ? ' q-btn--square' : '')
3424
3439
  });
3425
3440
 
3426
3441
  const innerClasses = vue.computed(() =>
@@ -3815,6 +3830,7 @@
3815
3830
  outline: Boolean,
3816
3831
  flat: Boolean,
3817
3832
  rounded: Boolean,
3833
+ square: Boolean,
3818
3834
  push: Boolean,
3819
3835
  stretch: Boolean,
3820
3836
  glossy: Boolean,
@@ -3823,7 +3839,7 @@
3823
3839
 
3824
3840
  setup (props, { slots }) {
3825
3841
  const classes = vue.computed(() => {
3826
- const cls = [ 'unelevated', 'outline', 'flat', 'rounded', 'push', 'stretch', 'glossy' ]
3842
+ const cls = [ 'unelevated', 'outline', 'flat', 'rounded', 'square', 'push', 'stretch', 'glossy' ]
3827
3843
  .filter(t => props[ t ] === true)
3828
3844
  .map(t => `q-btn-group--${ t }`).join(' ');
3829
3845
 
@@ -5686,6 +5702,7 @@
5686
5702
  outline: props.outline,
5687
5703
  flat: props.flat,
5688
5704
  rounded: props.rounded,
5705
+ square: props.square,
5689
5706
  push: props.push,
5690
5707
  unelevated: props.unelevated,
5691
5708
  glossy: props.glossy,
@@ -7171,7 +7188,7 @@
7171
7188
  const refocusRef = vue.ref(null);
7172
7189
 
7173
7190
  const refocusTargetEl = vue.computed(() => {
7174
- if (props.disable !== true) {
7191
+ if (props.disable === true) {
7175
7192
  return null
7176
7193
  }
7177
7194
 
@@ -9989,9 +10006,16 @@
9989
10006
  if (isKeyCode(e, [ 13, 32 ])) {
9990
10007
  onClick(e, true);
9991
10008
  }
9992
- else if (shouldIgnoreKey(e) !== true && e.keyCode >= 35 && e.keyCode <= 40) {
10009
+ else if (
10010
+ shouldIgnoreKey(e) !== true
10011
+ && e.keyCode >= 35
10012
+ && e.keyCode <= 40
10013
+ && e.altKey !== true
10014
+ && e.metaKey !== true
10015
+ ) {
9993
10016
  $tabs.onKbdNavigate(e.keyCode, proxy.$el) === true && stopAndPrevent(e);
9994
10017
  }
10018
+
9995
10019
  emit('keydown', e);
9996
10020
  }
9997
10021
 
@@ -17707,7 +17731,7 @@
17707
17731
  let child;
17708
17732
 
17709
17733
  if (slots.header !== void 0) {
17710
- child = [].concat(slots.header());
17734
+ child = [].concat(slots.header({ expanded: showing.value === true }));
17711
17735
  }
17712
17736
  else {
17713
17737
  child = [
@@ -18945,14 +18969,14 @@
18945
18969
 
18946
18970
  function addFilesToQueue (e, fileList) {
18947
18971
  const localFiles = processFiles(e, fileList, state.files.value, true);
18948
-
18949
- if (localFiles === void 0) { return }
18950
-
18951
18972
  const fileInput = getFileInput();
18973
+
18952
18974
  if (fileInput !== void 0 && fileInput !== null) {
18953
18975
  fileInput.value = '';
18954
18976
  }
18955
18977
 
18978
+ if (localFiles === void 0) { return }
18979
+
18956
18980
  localFiles.forEach(file => {
18957
18981
  state.updateFileStatus(file, 'idle');
18958
18982
  uploadSize.value += file.size;
@@ -21369,6 +21393,11 @@
21369
21393
 
21370
21394
  function addFilesToQueue (e, fileList) {
21371
21395
  const files = processFiles(e, fileList, innerValue.value, isAppending.value);
21396
+ const fileInput = getFileInput();
21397
+
21398
+ if (fileInput !== void 0 && fileInput !== null) {
21399
+ fileInput.value = '';
21400
+ }
21372
21401
 
21373
21402
  // if nothing to do...
21374
21403
  if (files === void 0) { return }
@@ -29668,6 +29697,7 @@
29668
29697
 
29669
29698
  floatingLabel: vue.computed(() =>
29670
29699
  (props.hideSelected !== true && hasValue.value === true)
29700
+ || typeof inputValue.value === 'number'
29671
29701
  || inputValue.value.length > 0
29672
29702
  || fieldValueIsFilled(props.displayValue)
29673
29703
  ),
@@ -38126,10 +38156,10 @@
38126
38156
 
38127
38157
  // account for "script setup" + async component way of declaring component
38128
38158
  if (
38129
- target.component.subTree &&
38130
- target.component.subTree.component &&
38131
- target.component.subTree.component.proxy &&
38132
- target.component.subTree.component.proxy[ cmd ]
38159
+ target.component.subTree
38160
+ && target.component.subTree.component
38161
+ && target.component.subTree.component.proxy
38162
+ && target.component.subTree.component.proxy[ cmd ]
38133
38163
  ) {
38134
38164
  target.component.subTree.component.proxy[ cmd ]();
38135
38165
  return
@@ -38202,25 +38232,19 @@
38202
38232
  ...props,
38203
38233
  ref: dialogRef,
38204
38234
  onOk,
38205
- onHide
38235
+ onHide,
38236
+ onVnodeMounted (...args) {
38237
+ if (typeof props.onVnodeMounted === 'function') {
38238
+ props.onVnodeMounted(...args);
38239
+ }
38240
+
38241
+ applyState('show');
38242
+ }
38206
38243
  })
38207
38244
  }, parentApp);
38208
38245
 
38209
38246
  vm = app.mount(el);
38210
38247
 
38211
- function show () {
38212
- applyState('show');
38213
- }
38214
-
38215
- if (typeof DialogComponent.__asyncLoader === 'function') {
38216
- DialogComponent.__asyncLoader().then(() => {
38217
- vue.nextTick(show);
38218
- });
38219
- }
38220
- else {
38221
- vue.nextTick(show);
38222
- }
38223
-
38224
38248
  return API
38225
38249
  }
38226
38250
  }
@@ -39739,7 +39763,7 @@
39739
39763
  });
39740
39764
 
39741
39765
  var index_umd = {
39742
- version: '2.7.5',
39766
+ version: '2.7.6',
39743
39767
  install (app, opts) {
39744
39768
  installQuasar(app, {
39745
39769
  components,