quasar 1.18.4 → 1.18.7

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 (172) hide show
  1. package/dist/api/BottomSheet.json +1 -1
  2. package/dist/api/Notify.json +205 -5
  3. package/dist/api/QAvatar.json +1 -1
  4. package/dist/api/QBreadcrumbsEl.json +1 -1
  5. package/dist/api/QBtn.json +2 -2
  6. package/dist/api/QBtnDropdown.json +3 -3
  7. package/dist/api/QCarousel.json +3 -3
  8. package/dist/api/QChip.json +4 -4
  9. package/dist/api/QExpansionItem.json +2 -2
  10. package/dist/api/QFab.json +2 -2
  11. package/dist/api/QFabAction.json +1 -1
  12. package/dist/api/QIcon.json +4 -2
  13. package/dist/api/QKnob.json +5 -0
  14. package/dist/api/QPagination.json +4 -4
  15. package/dist/api/QRouteTab.json +1 -1
  16. package/dist/api/QSelect.json +1 -1
  17. package/dist/api/QStep.json +4 -4
  18. package/dist/api/QStepper.json +4 -4
  19. package/dist/api/QTab.json +1 -1
  20. package/dist/api/QTimelineEntry.json +1 -1
  21. package/dist/api/QToggle.json +1 -1
  22. package/dist/api/QTree.json +1 -1
  23. package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
  24. package/dist/icon-set/eva-icons.umd.min.js +1 -1
  25. package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
  26. package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
  27. package/dist/icon-set/fontawesome-v6-pro.umd.min.js +6 -0
  28. package/dist/icon-set/fontawesome-v6.umd.min.js +6 -0
  29. package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
  30. package/dist/icon-set/line-awesome.umd.min.js +1 -1
  31. package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
  32. package/dist/icon-set/material-icons-round.umd.min.js +1 -1
  33. package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
  34. package/dist/icon-set/material-icons.umd.min.js +1 -1
  35. package/dist/icon-set/mdi-v3.umd.min.js +1 -1
  36. package/dist/icon-set/mdi-v4.umd.min.js +1 -1
  37. package/dist/icon-set/mdi-v5.umd.min.js +1 -1
  38. package/dist/icon-set/mdi-v6.umd.min.js +1 -1
  39. package/dist/icon-set/svg-bootstrap-icons.umd.min.js +2 -2
  40. package/dist/icon-set/svg-eva-icons.umd.min.js +2 -2
  41. package/dist/icon-set/svg-fontawesome-v5.umd.min.js +2 -2
  42. package/dist/icon-set/svg-fontawesome-v6.umd.min.js +6 -0
  43. package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
  44. package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
  45. package/dist/icon-set/svg-ionicons-v6.umd.min.js +2 -2
  46. package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
  47. package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
  48. package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
  49. package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
  50. package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
  51. package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
  52. package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
  53. package/dist/icon-set/svg-mdi-v6.umd.min.js +2 -2
  54. package/dist/icon-set/svg-themify.umd.min.js +1 -1
  55. package/dist/icon-set/themify.umd.min.js +1 -1
  56. package/dist/lang/ar.umd.min.js +1 -1
  57. package/dist/lang/az-latn.umd.min.js +1 -1
  58. package/dist/lang/bg.umd.min.js +1 -1
  59. package/dist/lang/ca.umd.min.js +1 -1
  60. package/dist/lang/cs.umd.min.js +1 -1
  61. package/dist/lang/da.umd.min.js +1 -1
  62. package/dist/lang/de.umd.min.js +1 -1
  63. package/dist/lang/el.umd.min.js +1 -1
  64. package/dist/lang/en-gb.umd.min.js +1 -1
  65. package/dist/lang/en-us.umd.min.js +1 -1
  66. package/dist/lang/eo.umd.min.js +1 -1
  67. package/dist/lang/es.umd.min.js +1 -1
  68. package/dist/lang/et.umd.min.js +1 -1
  69. package/dist/lang/eu.umd.min.js +6 -0
  70. package/dist/lang/fa-ir.umd.min.js +1 -1
  71. package/dist/lang/fa.umd.min.js +1 -1
  72. package/dist/lang/fi.umd.min.js +1 -1
  73. package/dist/lang/fr.umd.min.js +1 -1
  74. package/dist/lang/gn.umd.min.js +1 -1
  75. package/dist/lang/he.umd.min.js +1 -1
  76. package/dist/lang/hr.umd.min.js +1 -1
  77. package/dist/lang/hu.umd.min.js +1 -1
  78. package/dist/lang/id.umd.min.js +1 -1
  79. package/dist/lang/is.umd.min.js +1 -1
  80. package/dist/lang/it.umd.min.js +1 -1
  81. package/dist/lang/ja.umd.min.js +1 -1
  82. package/dist/lang/km.umd.min.js +1 -1
  83. package/dist/lang/ko-kr.umd.min.js +1 -1
  84. package/dist/lang/kur-ckb.umd.min.js +1 -1
  85. package/dist/lang/kz.umd.min.js +6 -0
  86. package/dist/lang/lu.umd.min.js +1 -1
  87. package/dist/lang/lv.umd.min.js +1 -1
  88. package/dist/lang/ml.umd.min.js +1 -1
  89. package/dist/lang/ms.umd.min.js +1 -1
  90. package/dist/lang/my.umd.min.js +1 -1
  91. package/dist/lang/nb-no.umd.min.js +1 -1
  92. package/dist/lang/nl.umd.min.js +1 -1
  93. package/dist/lang/pl.umd.min.js +1 -1
  94. package/dist/lang/pt-br.umd.min.js +1 -1
  95. package/dist/lang/pt.umd.min.js +1 -1
  96. package/dist/lang/ro.umd.min.js +1 -1
  97. package/dist/lang/ru.umd.min.js +1 -1
  98. package/dist/lang/sk.umd.min.js +1 -1
  99. package/dist/lang/sl.umd.min.js +1 -1
  100. package/dist/lang/sr.umd.min.js +1 -1
  101. package/dist/lang/sv.umd.min.js +1 -1
  102. package/dist/lang/ta.umd.min.js +1 -1
  103. package/dist/lang/th.umd.min.js +1 -1
  104. package/dist/lang/tr.umd.min.js +1 -1
  105. package/dist/lang/ug.umd.min.js +2 -2
  106. package/dist/lang/uk.umd.min.js +1 -1
  107. package/dist/lang/vi.umd.min.js +1 -1
  108. package/dist/lang/zh-hans.umd.min.js +1 -1
  109. package/dist/lang/zh-hant.umd.min.js +1 -1
  110. package/dist/quasar.addon.css +1 -1
  111. package/dist/quasar.addon.rtl.css +1 -1
  112. package/dist/quasar.common.js +2 -2
  113. package/dist/quasar.css +6 -3
  114. package/dist/quasar.esm.js +2 -2
  115. package/dist/quasar.ie.polyfills.js +1 -1
  116. package/dist/quasar.ie.polyfills.umd.min.js +1 -1
  117. package/dist/quasar.min.css +1 -1
  118. package/dist/quasar.rtl.css +8 -3
  119. package/dist/quasar.rtl.min.css +1 -1
  120. package/dist/quasar.sass +4 -1
  121. package/dist/quasar.styl +4 -1
  122. package/dist/quasar.umd.js +176 -97
  123. package/dist/quasar.umd.min.js +2 -2
  124. package/dist/quasar.umd.modern.js +176 -97
  125. package/dist/quasar.umd.modern.min.js +2 -2
  126. package/dist/types/extras/icon-set.d.ts +2 -0
  127. package/dist/types/index.d.ts +114 -44
  128. package/dist/vetur/quasar-attributes.json +42 -38
  129. package/dist/vetur/quasar-tags.json +1 -0
  130. package/dist/web-types/web-types.json +49 -39
  131. package/icon-set/fontawesome-v6-pro.js +128 -0
  132. package/icon-set/fontawesome-v6.js +128 -0
  133. package/icon-set/svg-fontawesome-v6.js +198 -0
  134. package/lang/eu.js +93 -0
  135. package/lang/index.json +8 -0
  136. package/lang/kz.js +97 -0
  137. package/lang/ug.js +49 -52
  138. package/package.json +1 -1
  139. package/src/api.extends.json +1 -1
  140. package/src/components/btn/QBtn.js +30 -22
  141. package/src/components/date/QDate.js +2 -1
  142. package/src/components/dialog-plugin/DialogPlugin.js +6 -5
  143. package/src/components/fab/QFab.js +1 -1
  144. package/src/components/field/QField.js +17 -9
  145. package/src/components/file/QFile.js +1 -0
  146. package/src/components/icon/QIcon.js +6 -2
  147. package/src/components/icon/QIcon.json +1 -3
  148. package/src/components/input/QInput.js +4 -1
  149. package/src/components/knob/QKnob.js +5 -2
  150. package/src/components/knob/QKnob.json +6 -0
  151. package/src/components/linear-progress/QLinearProgress.sass +1 -0
  152. package/src/components/linear-progress/QLinearProgress.styl +1 -0
  153. package/src/components/select/QSelect.js +23 -8
  154. package/src/components/slide-transition/QSlideTransition.js +4 -4
  155. package/src/components/slider/slider-utils.js +4 -4
  156. package/src/components/stepper/QStep.json +3 -0
  157. package/src/components/stepper/QStepper.json +3 -0
  158. package/src/components/stepper/QStepper.sass +2 -0
  159. package/src/components/stepper/QStepper.styl +2 -0
  160. package/src/components/stepper/StepHeader.js +23 -8
  161. package/src/components/table/table-sort.js +2 -2
  162. package/src/components/uploader/QUploaderBase.js +4 -1
  163. package/src/mixins/datetime.js +3 -1
  164. package/src/mixins/file.js +3 -2
  165. package/src/plugins/Loading.js +3 -2
  166. package/src/plugins/LoadingBar.js +15 -10
  167. package/src/plugins/Notify.js +8 -5
  168. package/src/plugins/Notify.json +100 -0
  169. package/src/utils/extend.js +2 -2
  170. package/src/utils/is.js +4 -14
  171. package/src/utils/morph.js +4 -3
  172. package/src/utils/web-storage.js +3 -2
@@ -8,6 +8,8 @@ import QSpinner from '../components/spinner/QSpinner.js'
8
8
  import { noop } from '../utils/event.js'
9
9
  import { getBodyFullscreenElement } from '../utils/dom.js'
10
10
  import debounce from '../utils/debounce.js'
11
+ import { isObject } from '../utils/is.js'
12
+
11
13
  import { isSSR } from './Platform.js'
12
14
 
13
15
  let uid = 0, vm
@@ -71,7 +73,7 @@ function addNotification (config, vm, originalApi) {
71
73
  Object.assign(notif, defaults)
72
74
  }
73
75
 
74
- if (Object(config) !== config) {
76
+ if (isObject(config) === false) {
75
77
  if (notif.type) {
76
78
  Object.assign(notif, notifTypes[notif.type])
77
79
  }
@@ -407,7 +409,8 @@ const Notifications = {
407
409
  if (notif.spinner !== false) {
408
410
  mainChild.push(
409
411
  h(notif.spinner, {
410
- staticClass: 'q-notification__spinner q-notification__spinner--' + meta.leftClass
412
+ staticClass: 'q-notification__spinner q-notification__spinner--' + meta.leftClass,
413
+ props: { color: notif.spinnerColor, size: notif.spinnerSize }
411
414
  })
412
415
  )
413
416
  }
@@ -416,7 +419,7 @@ const Notifications = {
416
419
  h(QIcon, {
417
420
  staticClass: 'q-notification__icon q-notification__icon--' + meta.leftClass,
418
421
  attrs: { role: 'img' },
419
- props: { name: notif.icon }
422
+ props: { name: notif.icon, color: notif.iconColor, size: notif.iconSize }
420
423
  })
421
424
  )
422
425
  }
@@ -518,13 +521,13 @@ const Notifications = {
518
521
 
519
522
  export default {
520
523
  setDefaults (opts) {
521
- if (isSSR !== true && opts === Object(opts)) {
524
+ if (isSSR !== true && isObject(opts) === true) {
522
525
  Object.assign(defaults, opts)
523
526
  }
524
527
  },
525
528
 
526
529
  registerType (typeName, typeOpts) {
527
- if (isSSR !== true && typeOpts === Object(typeOpts)) {
530
+ if (isSSR !== true && isObject(typeOpts) === true) {
528
531
  notifTypes[typeName] = typeOpts
529
532
  }
530
533
  },
@@ -45,6 +45,16 @@
45
45
  "extends": "icon"
46
46
  },
47
47
 
48
+ "iconColor": {
49
+ "extends": "color",
50
+ "addedIn": "v1.18.5"
51
+ },
52
+
53
+ "iconSize": {
54
+ "extends": "size",
55
+ "addedIn": "v1.18.5"
56
+ },
57
+
48
58
  "avatar": {
49
59
  "type": "String",
50
60
  "desc": "URL to an avatar/image; Suggestion: use public folder",
@@ -61,6 +71,16 @@
61
71
  "addedIn": "v1.14.0"
62
72
  },
63
73
 
74
+ "spinnerColor": {
75
+ "extends": "color",
76
+ "addedIn": "v1.18.5"
77
+ },
78
+
79
+ "spinnerSize": {
80
+ "extends": "size",
81
+ "addedIn": "v1.18.5"
82
+ },
83
+
64
84
  "position": {
65
85
  "type": "String",
66
86
  "desc": "Window side/corner to stick to",
@@ -215,6 +235,16 @@
215
235
  "extends": "icon"
216
236
  },
217
237
 
238
+ "iconColor": {
239
+ "extends": "color",
240
+ "addedIn": "v1.18.5"
241
+ },
242
+
243
+ "iconSize": {
244
+ "extends": "size",
245
+ "addedIn": "v1.18.5"
246
+ },
247
+
218
248
  "avatar": {
219
249
  "type": "String",
220
250
  "desc": "URL to an avatar/image; Suggestion: use public folder",
@@ -232,6 +262,16 @@
232
262
  "addedIn": "v1.14.0"
233
263
  },
234
264
 
265
+ "spinnerColor": {
266
+ "extends": "color",
267
+ "addedIn": "v1.18.5"
268
+ },
269
+
270
+ "spinnerSize": {
271
+ "extends": "size",
272
+ "addedIn": "v1.18.5"
273
+ },
274
+
235
275
  "position": {
236
276
  "type": "String",
237
277
  "desc": "Window side/corner to stick to",
@@ -413,6 +453,16 @@
413
453
  "extends": "icon"
414
454
  },
415
455
 
456
+ "iconColor": {
457
+ "extends": "color",
458
+ "addedIn": "v1.18.5"
459
+ },
460
+
461
+ "iconSize": {
462
+ "extends": "size",
463
+ "addedIn": "v1.18.5"
464
+ },
465
+
416
466
  "avatar": {
417
467
  "type": "String",
418
468
  "desc": "URL to an avatar/image; Suggestion: use public folder",
@@ -430,6 +480,16 @@
430
480
  "addedIn": "v1.14.0"
431
481
  },
432
482
 
483
+ "spinnerColor": {
484
+ "extends": "color",
485
+ "addedIn": "v1.18.5"
486
+ },
487
+
488
+ "spinnerSize": {
489
+ "extends": "size",
490
+ "addedIn": "v1.18.5"
491
+ },
492
+
433
493
  "progress": {
434
494
  "type": "Boolean",
435
495
  "desc": "Show progress bar to detail when notification will disappear automatically (unless timeout is 0)",
@@ -554,6 +614,16 @@
554
614
  "extends": "icon"
555
615
  },
556
616
 
617
+ "iconColor": {
618
+ "extends": "color",
619
+ "addedIn": "v1.18.5"
620
+ },
621
+
622
+ "iconSize": {
623
+ "extends": "size",
624
+ "addedIn": "v1.18.5"
625
+ },
626
+
557
627
  "avatar": {
558
628
  "type": "String",
559
629
  "desc": "URL to an avatar/image; Suggestion: use public folder",
@@ -571,6 +641,16 @@
571
641
  "addedIn": "v1.14.0"
572
642
  },
573
643
 
644
+ "spinnerColor": {
645
+ "extends": "color",
646
+ "addedIn": "v1.18.5"
647
+ },
648
+
649
+ "spinnerSize": {
650
+ "extends": "size",
651
+ "addedIn": "v1.18.5"
652
+ },
653
+
574
654
  "position": {
575
655
  "type": "String",
576
656
  "desc": "Window side/corner to stick to",
@@ -748,6 +828,16 @@
748
828
  "extends": "icon"
749
829
  },
750
830
 
831
+ "iconColor": {
832
+ "extends": "color",
833
+ "addedIn": "v1.18.5"
834
+ },
835
+
836
+ "iconSize": {
837
+ "extends": "size",
838
+ "addedIn": "v1.18.5"
839
+ },
840
+
751
841
  "avatar": {
752
842
  "type": "String",
753
843
  "desc": "URL to an avatar/image; Suggestion: use public folder",
@@ -765,6 +855,16 @@
765
855
  "addedIn": "v1.14.0"
766
856
  },
767
857
 
858
+ "spinnerColor": {
859
+ "extends": "color",
860
+ "addedIn": "v1.18.5"
861
+ },
862
+
863
+ "spinnerSize": {
864
+ "extends": "size",
865
+ "addedIn": "v1.18.5"
866
+ },
867
+
768
868
  "position": {
769
869
  "type": "String",
770
870
  "desc": "Window side/corner to stick to",
@@ -61,13 +61,13 @@ export default function extend () {
61
61
  continue
62
62
  }
63
63
 
64
- if (deep && copy && (isPlainObject(copy) || (copyIsArray = type(copy) === 'array'))) {
64
+ if (deep && copy && (isPlainObject(copy) === true || (copyIsArray = type(copy) === 'array'))) {
65
65
  if (copyIsArray) {
66
66
  copyIsArray = false
67
67
  clone = src && type(src) === 'array' ? src : []
68
68
  }
69
69
  else {
70
- clone = src && isPlainObject(src) ? src : {}
70
+ clone = src && isPlainObject(src) === true ? src : {}
71
71
  }
72
72
 
73
73
  target[name] = extend(deep, clone, copy)
package/src/utils/is.js CHANGED
@@ -120,17 +120,11 @@ export function isDeepEqual (a, b) {
120
120
  return a !== a && b !== b // eslint-disable-line no-self-compare
121
121
  }
122
122
 
123
- export function isPrintableChar (v) {
124
- return (v > 47 && v < 58) || // number keys
125
- v === 32 || v === 13 || // spacebar & return key(s) (if you want to allow carriage returns)
126
- (v > 64 && v < 91) || // letter keys
127
- (v > 95 && v < 112) || // numpad keys
128
- (v > 185 && v < 193) || // ;=,-./` (in order)
129
- (v > 218 && v < 223)
130
- }
131
-
123
+ // not perfect, but what we ARE interested is for Arrays not to slip in
124
+ // as spread operator will mess things up in various areas
125
+ // see https://jsbench.me/tbl0iliyax/1
132
126
  export function isObject (v) {
133
- return Object(v) === v
127
+ return v !== null && typeof v === 'object' && Array.isArray(v) !== true
134
128
  }
135
129
 
136
130
  export function isDate (v) {
@@ -144,7 +138,3 @@ export function isRegexp (v) {
144
138
  export function isNumber (v) {
145
139
  return typeof v === 'number' && isFinite(v)
146
140
  }
147
-
148
- export function isString (v) {
149
- return typeof v === 'string'
150
- }
@@ -1,4 +1,5 @@
1
1
  import { getElement } from './dom.js'
2
+ import { isObject } from './is'
2
3
 
3
4
  let id = 0
4
5
  let offsetBase = void 0
@@ -433,7 +434,7 @@ export default function morph (_options) {
433
434
  if (typeof options.style === 'string') {
434
435
  elTo.style.cssText += ' ' + options.style
435
436
  }
436
- else if (options.style === Object(options.style)) {
437
+ else if (isObject(options.style) === true) {
437
438
  for (const prop in options.style) {
438
439
  elTo.style[prop] = options.style[prop]
439
440
  }
@@ -870,8 +871,8 @@ export default function morph (_options) {
870
871
  elToClone.style.animation = `${options.duration}ms ${options.easing} ${options.delay}ms ${animationDirection} ${options.fill} ${qAnimId}-to`
871
872
  elTo.style.animation = `${options.duration}ms ${options.easing} ${options.delay}ms ${animationDirection} ${options.fill} ${qAnimId}`
872
873
 
873
- const cleanup = ev => {
874
- if (ev === Object(ev) && ev.animationName !== qAnimId) {
874
+ const cleanup = evt => {
875
+ if (evt === Object(evt) && evt.animationName !== qAnimId) {
875
876
  return
876
877
  }
877
878
 
@@ -1,10 +1,11 @@
1
1
  import { noop } from '../utils/event.js'
2
+ import { isDate, isRegexp } from '../utils/is.js'
2
3
 
3
4
  function encode (value) {
4
- if (Object.prototype.toString.call(value) === '[object Date]') {
5
+ if (isDate(value) === true) {
5
6
  return '__q_date|' + value.toUTCString()
6
7
  }
7
- if (Object.prototype.toString.call(value) === '[object RegExp]') {
8
+ if (isRegexp(value) === true) {
8
9
  return '__q_expr|' + value.source
9
10
  }
10
11
  if (typeof value === 'number') {