quasar 2.16.10 → 2.17.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 (174) hide show
  1. package/dist/api/Platform.json +1 -1
  2. package/dist/api/QOptionGroup.json +1 -1
  3. package/dist/api/QScrollArea.json +1 -1
  4. package/dist/api/QSelect.json +1 -1
  5. package/dist/api/QUploader.json +1 -1
  6. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  7. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  8. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  9. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  10. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  11. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  12. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  13. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  14. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  15. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  16. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  17. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  18. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  19. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  20. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  24. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  25. package/dist/icon-set/mdi-v7.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-mdi-v7.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  44. package/dist/icon-set/themify.umd.prod.js +1 -1
  45. package/dist/lang/ar-TN.umd.prod.js +1 -1
  46. package/dist/lang/ar.umd.prod.js +1 -1
  47. package/dist/lang/az-Latn.umd.prod.js +1 -1
  48. package/dist/lang/bg.umd.prod.js +1 -1
  49. package/dist/lang/bn.umd.prod.js +1 -1
  50. package/dist/lang/bs-BA.umd.prod.js +1 -1
  51. package/dist/lang/ca.umd.prod.js +1 -1
  52. package/dist/lang/cs.umd.prod.js +1 -1
  53. package/dist/lang/da.umd.prod.js +1 -1
  54. package/dist/lang/de-CH.umd.prod.js +1 -1
  55. package/dist/lang/de-DE.umd.prod.js +1 -1
  56. package/dist/lang/de.umd.prod.js +1 -1
  57. package/dist/lang/el.umd.prod.js +1 -1
  58. package/dist/lang/en-GB.umd.prod.js +1 -1
  59. package/dist/lang/en-US.umd.prod.js +1 -1
  60. package/dist/lang/eo.umd.prod.js +1 -1
  61. package/dist/lang/es.umd.prod.js +1 -1
  62. package/dist/lang/et.umd.prod.js +1 -1
  63. package/dist/lang/eu.umd.prod.js +1 -1
  64. package/dist/lang/fa-IR.umd.prod.js +1 -1
  65. package/dist/lang/fa.umd.prod.js +1 -1
  66. package/dist/lang/fi.umd.prod.js +1 -1
  67. package/dist/lang/fr.umd.prod.js +1 -1
  68. package/dist/lang/gn.umd.prod.js +1 -1
  69. package/dist/lang/he.umd.prod.js +1 -1
  70. package/dist/lang/hi.umd.prod.js +1 -1
  71. package/dist/lang/hr.umd.prod.js +1 -1
  72. package/dist/lang/hu.umd.prod.js +1 -1
  73. package/dist/lang/id.umd.prod.js +1 -1
  74. package/dist/lang/is.umd.prod.js +1 -1
  75. package/dist/lang/it.umd.prod.js +1 -1
  76. package/dist/lang/ja.umd.prod.js +1 -1
  77. package/dist/lang/kk.umd.prod.js +1 -1
  78. package/dist/lang/km.umd.prod.js +1 -1
  79. package/dist/lang/ko-KR.umd.prod.js +1 -1
  80. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  81. package/dist/lang/lt.umd.prod.js +1 -1
  82. package/dist/lang/lu.umd.prod.js +1 -1
  83. package/dist/lang/lv.umd.prod.js +1 -1
  84. package/dist/lang/mk.umd.prod.js +1 -1
  85. package/dist/lang/ml.umd.prod.js +1 -1
  86. package/dist/lang/mm.umd.prod.js +1 -1
  87. package/dist/lang/ms-MY.umd.prod.js +1 -1
  88. package/dist/lang/ms.umd.prod.js +1 -1
  89. package/dist/lang/my.umd.prod.js +1 -1
  90. package/dist/lang/nb-NO.umd.prod.js +1 -1
  91. package/dist/lang/nl.umd.prod.js +1 -1
  92. package/dist/lang/pl.umd.prod.js +1 -1
  93. package/dist/lang/pt-BR.umd.prod.js +1 -1
  94. package/dist/lang/pt.umd.prod.js +1 -1
  95. package/dist/lang/ro.umd.prod.js +1 -1
  96. package/dist/lang/ru.umd.prod.js +1 -1
  97. package/dist/lang/sk.umd.prod.js +1 -1
  98. package/dist/lang/sl.umd.prod.js +1 -1
  99. package/dist/lang/sm.umd.prod.js +1 -1
  100. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  101. package/dist/lang/sr.umd.prod.js +1 -1
  102. package/dist/lang/sv.umd.prod.js +1 -1
  103. package/dist/lang/ta.umd.prod.js +1 -1
  104. package/dist/lang/th.umd.prod.js +1 -1
  105. package/dist/lang/tl.umd.prod.js +1 -1
  106. package/dist/lang/tr.umd.prod.js +1 -1
  107. package/dist/lang/ug.umd.prod.js +1 -1
  108. package/dist/lang/uk.umd.prod.js +1 -1
  109. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  110. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  111. package/dist/lang/vi.umd.prod.js +1 -1
  112. package/dist/lang/zh-CN.umd.prod.js +1 -1
  113. package/dist/lang/zh-TW.umd.prod.js +1 -1
  114. package/dist/quasar.client.js +753 -2121
  115. package/dist/quasar.css +3 -2
  116. package/dist/quasar.prod.css +1 -1
  117. package/dist/quasar.rtl.css +3 -2
  118. package/dist/quasar.rtl.prod.css +1 -1
  119. package/dist/quasar.sass +8 -4
  120. package/dist/quasar.server.prod.cjs +53 -53
  121. package/dist/quasar.server.prod.js +51 -51
  122. package/dist/quasar.umd.js +344 -1715
  123. package/dist/quasar.umd.prod.js +44 -44
  124. package/dist/types/index.d.ts +120 -51
  125. package/dist/vetur/quasar-attributes.json +1 -1
  126. package/dist/vetur/quasar-tags.json +1 -1
  127. package/dist/web-types/web-types.json +1 -1
  128. package/package.json +9 -9
  129. package/src/components/checkbox/QCheckbox.js +3 -1
  130. package/src/components/icon/QIcon.js +1 -1
  131. package/src/components/menu/QMenu.sass +2 -2
  132. package/src/components/option-group/QOptionGroup.js +38 -15
  133. package/src/components/option-group/QOptionGroup.json +88 -1
  134. package/src/components/radio/QRadio.js +3 -1
  135. package/src/components/scroll-area/QScrollArea.js +115 -107
  136. package/src/components/scroll-area/QScrollArea.json +40 -0
  137. package/src/components/scroll-area/ScrollAreaControls.js +54 -0
  138. package/src/components/select/QSelect.js +16 -18
  139. package/src/components/select/QSelect.json +7 -0
  140. package/src/components/space/QSpace.js +1 -2
  141. package/src/components/spinner/QSpinnerAudio.js +4 -69
  142. package/src/components/spinner/QSpinnerBall.js +4 -85
  143. package/src/components/spinner/QSpinnerBars.js +4 -124
  144. package/src/components/spinner/QSpinnerBox.js +4 -42
  145. package/src/components/spinner/QSpinnerClock.js +4 -53
  146. package/src/components/spinner/QSpinnerComment.js +4 -65
  147. package/src/components/spinner/QSpinnerCube.js +4 -113
  148. package/src/components/spinner/QSpinnerDots.js +4 -85
  149. package/src/components/spinner/QSpinnerFacebook.js +4 -84
  150. package/src/components/spinner/QSpinnerGears.js +4 -40
  151. package/src/components/spinner/QSpinnerGrid.js +4 -133
  152. package/src/components/spinner/QSpinnerHearts.js +4 -35
  153. package/src/components/spinner/QSpinnerHourglass.js +4 -93
  154. package/src/components/spinner/QSpinnerInfinity.js +4 -24
  155. package/src/components/spinner/QSpinnerIos.js +4 -155
  156. package/src/components/spinner/QSpinnerOrbit.js +4 -32
  157. package/src/components/spinner/QSpinnerOval.js +4 -31
  158. package/src/components/spinner/QSpinnerPie.js +4 -62
  159. package/src/components/spinner/QSpinnerPuff.js +4 -64
  160. package/src/components/spinner/QSpinnerRadio.js +4 -57
  161. package/src/components/spinner/QSpinnerRings.js +4 -87
  162. package/src/components/spinner/QSpinnerTail.js +4 -65
  163. package/src/components/tabs/QRouteTab.js +4 -3
  164. package/src/components/tabs/QTabs.js +28 -15
  165. package/src/components/tooltip/QTooltip.sass +2 -0
  166. package/src/components/uploader/QUploader.json +9 -0
  167. package/src/components/uploader/QUploader.sass +0 -1
  168. package/src/components/uploader/uploader-core.js +6 -2
  169. package/src/composables/private.use-panel/use-panel.js +5 -3
  170. package/src/css/variables.sass +3 -0
  171. package/src/plugins/platform/Platform.js +40 -5
  172. package/src/plugins/platform/Platform.json +52 -69
  173. package/src/plugins/platform/Platform.test.js +22 -14
  174. package/src/utils/private.position-engine/position-engine.js +11 -4
@@ -1,58 +1,9 @@
1
1
  import { h } from 'vue'
2
2
 
3
3
  import useSpinner, { useSpinnerProps } from './use-spinner.js'
4
-
5
4
  import { createComponent } from '../../utils/private.create/create.js'
6
5
 
7
- const svg = [
8
- h('circle', {
9
- cx: '50',
10
- cy: '50',
11
- r: '48',
12
- fill: 'none',
13
- 'stroke-width': '4',
14
- 'stroke-miterlimit': '10',
15
- stroke: 'currentColor'
16
- }),
17
- h('line', {
18
- 'stroke-linecap': 'round',
19
- 'stroke-width': '4',
20
- 'stroke-miterlimit': '10',
21
- stroke: 'currentColor',
22
- x1: '50',
23
- y1: '50',
24
- x2: '85',
25
- y2: '50.5'
26
- }, [
27
- h('animateTransform', {
28
- attributeName: 'transform',
29
- type: 'rotate',
30
- from: '0 50 50',
31
- to: '360 50 50',
32
- dur: '2s',
33
- repeatCount: 'indefinite'
34
- })
35
- ]),
36
- h('line', {
37
- 'stroke-linecap': 'round',
38
- 'stroke-width': '4',
39
- 'stroke-miterlimit': '10',
40
- stroke: 'currentColor',
41
- x1: '50',
42
- y1: '50',
43
- x2: '49.5',
44
- y2: '74'
45
- }, [
46
- h('animateTransform', {
47
- attributeName: 'transform',
48
- type: 'rotate',
49
- from: '0 50 50',
50
- to: '360 50 50',
51
- dur: '15s',
52
- repeatCount: 'indefinite'
53
- })
54
- ])
55
- ]
6
+ const innerHTML = '<circle cx="50" cy="50" r="48" fill="none" stroke-width="4" stroke-miterlimit="10" stroke="currentColor"></circle><line stroke-linecap="round" stroke-width="4" stroke-miterlimit="10" stroke="currentColor" x1="50" y1="50" x2="85" y2="50.5"><animateTransform attributeName="transform" type="rotate" from="0 50 50" to="360 50 50" dur="2s" repeatCount="indefinite"></animateTransform></line><line stroke-linecap="round" stroke-width="4" stroke-miterlimit="10" stroke="currentColor" x1="50" y1="50" x2="49.5" y2="74"><animateTransform attributeName="transform" type="rotate" from="0 50 50" to="360 50 50" dur="15s" repeatCount="indefinite"></animateTransform></line>'
56
7
 
57
8
  export default createComponent({
58
9
  name: 'QSpinnerClock',
@@ -61,14 +12,14 @@ export default createComponent({
61
12
 
62
13
  setup (props) {
63
14
  const { cSize, classes } = useSpinner(props)
64
-
65
15
  return () => h('svg', {
66
16
  class: classes.value,
67
17
  width: cSize.value,
68
18
  height: cSize.value,
69
19
  viewBox: '0 0 100 100',
70
20
  preserveAspectRatio: 'xMidYMid',
71
- xmlns: 'http://www.w3.org/2000/svg'
72
- }, svg)
21
+ xmlns: 'http://www.w3.org/2000/svg',
22
+ innerHTML
23
+ })
73
24
  }
74
25
  })
@@ -1,70 +1,9 @@
1
1
  import { h } from 'vue'
2
2
 
3
3
  import useSpinner, { useSpinnerProps } from './use-spinner.js'
4
-
5
4
  import { createComponent } from '../../utils/private.create/create.js'
6
5
 
7
- const svg = [
8
- h('rect', {
9
- x: '0',
10
- y: '0',
11
- width: '100',
12
- height: '100',
13
- fill: 'none'
14
- }),
15
- h('path', {
16
- d: 'M78,19H22c-6.6,0-12,5.4-12,12v31c0,6.6,5.4,12,12,12h37.2c0.4,3,1.8,5.6,3.7,7.6c2.4,2.5,5.1,4.1,9.1,4 c-1.4-2.1-2-7.2-2-10.3c0-0.4,0-0.8,0-1.3h8c6.6,0,12-5.4,12-12V31C90,24.4,84.6,19,78,19z',
17
- fill: 'currentColor'
18
- }),
19
- h('circle', {
20
- cx: '30',
21
- cy: '47',
22
- r: '5',
23
- fill: '#fff'
24
- }, [
25
- h('animate', {
26
- attributeName: 'opacity',
27
- from: '0',
28
- to: '1',
29
- values: '0;1;1',
30
- keyTimes: '0;0.2;1',
31
- dur: '1s',
32
- repeatCount: 'indefinite'
33
- })
34
- ]),
35
- h('circle', {
36
- cx: '50',
37
- cy: '47',
38
- r: '5',
39
- fill: '#fff'
40
- }, [
41
- h('animate', {
42
- attributeName: 'opacity',
43
- from: '0',
44
- to: '1',
45
- values: '0;0;1;1',
46
- keyTimes: '0;0.2;0.4;1',
47
- dur: '1s',
48
- repeatCount: 'indefinite'
49
- })
50
- ]),
51
- h('circle', {
52
- cx: '70',
53
- cy: '47',
54
- r: '5',
55
- fill: '#fff'
56
- }, [
57
- h('animate', {
58
- attributeName: 'opacity',
59
- from: '0',
60
- to: '1',
61
- values: '0;0;1;1',
62
- keyTimes: '0;0.4;0.6;1',
63
- dur: '1s',
64
- repeatCount: 'indefinite'
65
- })
66
- ])
67
- ]
6
+ const innerHTML = '<rect x="0" y="0" width="100" height="100" fill="none"></rect><path d="M78,19H22c-6.6,0-12,5.4-12,12v31c0,6.6,5.4,12,12,12h37.2c0.4,3,1.8,5.6,3.7,7.6c2.4,2.5,5.1,4.1,9.1,4 c-1.4-2.1-2-7.2-2-10.3c0-0.4,0-0.8,0-1.3h8c6.6,0,12-5.4,12-12V31C90,24.4,84.6,19,78,19z" fill="currentColor"></path><circle cx="30" cy="47" r="5" fill="#fff"><animate attributeName="opacity" from="0" to="1" values="0;1;1" keyTimes="0;0.2;1" dur="1s" repeatCount="indefinite"></animate></circle><circle cx="50" cy="47" r="5" fill="#fff"><animate attributeName="opacity" from="0" to="1" values="0;0;1;1" keyTimes="0;0.2;0.4;1" dur="1s" repeatCount="indefinite"></animate></circle><circle cx="70" cy="47" r="5" fill="#fff"><animate attributeName="opacity" from="0" to="1" values="0;0;1;1" keyTimes="0;0.4;0.6;1" dur="1s" repeatCount="indefinite"></animate></circle>'
68
7
 
69
8
  export default createComponent({
70
9
  name: 'QSpinnerComment',
@@ -73,14 +12,14 @@ export default createComponent({
73
12
 
74
13
  setup (props) {
75
14
  const { cSize, classes } = useSpinner(props)
76
-
77
15
  return () => h('svg', {
78
16
  class: classes.value,
79
17
  width: cSize.value,
80
18
  height: cSize.value,
81
19
  xmlns: 'http://www.w3.org/2000/svg',
82
20
  viewBox: '0 0 100 100',
83
- preserveAspectRatio: 'xMidYMid'
84
- }, svg)
21
+ preserveAspectRatio: 'xMidYMid',
22
+ innerHTML
23
+ })
85
24
  }
86
25
  })
@@ -1,118 +1,9 @@
1
1
  import { h } from 'vue'
2
2
 
3
3
  import useSpinner, { useSpinnerProps } from './use-spinner.js'
4
-
5
4
  import { createComponent } from '../../utils/private.create/create.js'
6
5
 
7
- const svg = [
8
- h('rect', {
9
- x: '0',
10
- y: '0',
11
- width: '100',
12
- height: '100',
13
- fill: 'none'
14
- }),
15
- h('g', {
16
- transform: 'translate(25 25)'
17
- }, [
18
- h('rect', {
19
- x: '-20',
20
- y: '-20',
21
- width: '40',
22
- height: '40',
23
- fill: 'currentColor',
24
- opacity: '0.9'
25
- }, [
26
- h('animateTransform', {
27
- attributeName: 'transform',
28
- type: 'scale',
29
- from: '1.5',
30
- to: '1',
31
- repeatCount: 'indefinite',
32
- begin: '0s',
33
- dur: '1s',
34
- calcMode: 'spline',
35
- keySplines: '0.2 0.8 0.2 0.8',
36
- keyTimes: '0;1'
37
- })
38
- ])
39
- ]),
40
- h('g', {
41
- transform: 'translate(75 25)'
42
- }, [
43
- h('rect', {
44
- x: '-20',
45
- y: '-20',
46
- width: '40',
47
- height: '40',
48
- fill: 'currentColor',
49
- opacity: '0.8'
50
- }, [
51
- h('animateTransform', {
52
- attributeName: 'transform',
53
- type: 'scale',
54
- from: '1.5',
55
- to: '1',
56
- repeatCount: 'indefinite',
57
- begin: '0.1s',
58
- dur: '1s',
59
- calcMode: 'spline',
60
- keySplines: '0.2 0.8 0.2 0.8',
61
- keyTimes: '0;1'
62
- })
63
- ])
64
- ]),
65
- h('g', {
66
- transform: 'translate(25 75)'
67
- }, [
68
- h('rect', {
69
- x: '-20',
70
- y: '-20',
71
- width: '40',
72
- height: '40',
73
- fill: 'currentColor',
74
- opacity: '0.7'
75
- }, [
76
- h('animateTransform', {
77
- attributeName: 'transform',
78
- type: 'scale',
79
- from: '1.5',
80
- to: '1',
81
- repeatCount: 'indefinite',
82
- begin: '0.3s',
83
- dur: '1s',
84
- calcMode: 'spline',
85
- keySplines: '0.2 0.8 0.2 0.8',
86
- keyTimes: '0;1'
87
- })
88
- ])
89
- ]),
90
- h('g', {
91
- transform: 'translate(75 75)'
92
- }, [
93
- h('rect', {
94
- x: '-20',
95
- y: '-20',
96
- width: '40',
97
- height: '40',
98
- fill: 'currentColor',
99
- opacity: '0.6'
100
- }, [
101
- h('animateTransform', {
102
- attributeName: 'transform',
103
- type: 'scale',
104
- from: '1.5',
105
- to: '1',
106
- repeatCount: 'indefinite',
107
- begin: '0.2s',
108
- dur: '1s',
109
- calcMode: 'spline',
110
- keySplines: '0.2 0.8 0.2 0.8',
111
- keyTimes: '0;1'
112
- })
113
- ])
114
- ])
115
- ]
6
+ const innerHTML = '<rect x="0" y="0" width="100" height="100" fill="none"></rect><g transform="translate(25 25)"><rect x="-20" y="-20" width="40" height="40" fill="currentColor" opacity="0.9"><animateTransform attributeName="transform" type="scale" from="1.5" to="1" repeatCount="indefinite" begin="0s" dur="1s" calcMode="spline" keySplines="0.2 0.8 0.2 0.8" keyTimes="0;1"></animateTransform></rect></g><g transform="translate(75 25)"><rect x="-20" y="-20" width="40" height="40" fill="currentColor" opacity="0.8"><animateTransform attributeName="transform" type="scale" from="1.5" to="1" repeatCount="indefinite" begin="0.1s" dur="1s" calcMode="spline" keySplines="0.2 0.8 0.2 0.8" keyTimes="0;1"></animateTransform></rect></g><g transform="translate(25 75)"><rect x="-20" y="-20" width="40" height="40" fill="currentColor" opacity="0.7"><animateTransform attributeName="transform" type="scale" from="1.5" to="1" repeatCount="indefinite" begin="0.3s" dur="1s" calcMode="spline" keySplines="0.2 0.8 0.2 0.8" keyTimes="0;1"></animateTransform></rect></g><g transform="translate(75 75)"><rect x="-20" y="-20" width="40" height="40" fill="currentColor" opacity="0.6"><animateTransform attributeName="transform" type="scale" from="1.5" to="1" repeatCount="indefinite" begin="0.2s" dur="1s" calcMode="spline" keySplines="0.2 0.8 0.2 0.8" keyTimes="0;1"></animateTransform></rect></g>'
116
7
 
117
8
  export default createComponent({
118
9
  name: 'QSpinnerCube',
@@ -121,14 +12,14 @@ export default createComponent({
121
12
 
122
13
  setup (props) {
123
14
  const { cSize, classes } = useSpinner(props)
124
-
125
15
  return () => h('svg', {
126
16
  class: classes.value,
127
17
  width: cSize.value,
128
18
  height: cSize.value,
129
19
  xmlns: 'http://www.w3.org/2000/svg',
130
20
  viewBox: '0 0 100 100',
131
- preserveAspectRatio: 'xMidYMid'
132
- }, svg)
21
+ preserveAspectRatio: 'xMidYMid',
22
+ innerHTML
23
+ })
133
24
  }
134
25
  })
@@ -1,90 +1,9 @@
1
1
  import { h } from 'vue'
2
2
 
3
3
  import useSpinner, { useSpinnerProps } from './use-spinner.js'
4
-
5
4
  import { createComponent } from '../../utils/private.create/create.js'
6
5
 
7
- const svg = [
8
- h('circle', {
9
- cx: '15',
10
- cy: '15',
11
- r: '15'
12
- }, [
13
- h('animate', {
14
- attributeName: 'r',
15
- from: '15',
16
- to: '15',
17
- begin: '0s',
18
- dur: '0.8s',
19
- values: '15;9;15',
20
- calcMode: 'linear',
21
- repeatCount: 'indefinite'
22
- }),
23
- h('animate', {
24
- attributeName: 'fill-opacity',
25
- from: '1',
26
- to: '1',
27
- begin: '0s',
28
- dur: '0.8s',
29
- values: '1;.5;1',
30
- calcMode: 'linear',
31
- repeatCount: 'indefinite'
32
- })
33
- ]),
34
- h('circle', {
35
- cx: '60',
36
- cy: '15',
37
- r: '9',
38
- 'fill-opacity': '.3'
39
- }, [
40
- h('animate', {
41
- attributeName: 'r',
42
- from: '9',
43
- to: '9',
44
- begin: '0s',
45
- dur: '0.8s',
46
- values: '9;15;9',
47
- calcMode: 'linear',
48
- repeatCount: 'indefinite'
49
- }),
50
- h('animate', {
51
- attributeName: 'fill-opacity',
52
- from: '.5',
53
- to: '.5',
54
- begin: '0s',
55
- dur: '0.8s',
56
- values: '.5;1;.5',
57
- calcMode: 'linear',
58
- repeatCount: 'indefinite'
59
- })
60
- ]),
61
- h('circle', {
62
- cx: '105',
63
- cy: '15',
64
- r: '15'
65
- }, [
66
- h('animate', {
67
- attributeName: 'r',
68
- from: '15',
69
- to: '15',
70
- begin: '0s',
71
- dur: '0.8s',
72
- values: '15;9;15',
73
- calcMode: 'linear',
74
- repeatCount: 'indefinite'
75
- }),
76
- h('animate', {
77
- attributeName: 'fill-opacity',
78
- from: '1',
79
- to: '1',
80
- begin: '0s',
81
- dur: '0.8s',
82
- values: '1;.5;1',
83
- calcMode: 'linear',
84
- repeatCount: 'indefinite'
85
- })
86
- ])
87
- ]
6
+ const innerHTML = '<circle cx="15" cy="15" r="15"><animate attributeName="r" from="15" to="15" begin="0s" dur="0.8s" values="15;9;15" calcMode="linear" repeatCount="indefinite"></animate><animate attributeName="fill-opacity" from="1" to="1" begin="0s" dur="0.8s" values="1;.5;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="60" cy="15" r="9" fill-opacity=".3"><animate attributeName="r" from="9" to="9" begin="0s" dur="0.8s" values="9;15;9" calcMode="linear" repeatCount="indefinite"></animate><animate attributeName="fill-opacity" from=".5" to=".5" begin="0s" dur="0.8s" values=".5;1;.5" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="105" cy="15" r="15"><animate attributeName="r" from="15" to="15" begin="0s" dur="0.8s" values="15;9;15" calcMode="linear" repeatCount="indefinite"></animate><animate attributeName="fill-opacity" from="1" to="1" begin="0s" dur="0.8s" values="1;.5;1" calcMode="linear" repeatCount="indefinite"></animate></circle>'
88
7
 
89
8
  export default createComponent({
90
9
  name: 'QSpinnerDots',
@@ -93,14 +12,14 @@ export default createComponent({
93
12
 
94
13
  setup (props) {
95
14
  const { cSize, classes } = useSpinner(props)
96
-
97
15
  return () => h('svg', {
98
16
  class: classes.value,
99
17
  fill: 'currentColor',
100
18
  width: cSize.value,
101
19
  height: cSize.value,
102
20
  viewBox: '0 0 120 30',
103
- xmlns: 'http://www.w3.org/2000/svg'
104
- }, svg)
21
+ xmlns: 'http://www.w3.org/2000/svg',
22
+ innerHTML
23
+ })
105
24
  }
106
25
  })
@@ -1,89 +1,9 @@
1
1
  import { h } from 'vue'
2
2
 
3
3
  import useSpinner, { useSpinnerProps } from './use-spinner.js'
4
-
5
4
  import { createComponent } from '../../utils/private.create/create.js'
6
5
 
7
- const svg = [
8
- h('g', {
9
- transform: 'translate(20 50)'
10
- }, [
11
- h('rect', {
12
- x: '-10',
13
- y: '-30',
14
- width: '20',
15
- height: '60',
16
- fill: 'currentColor',
17
- opacity: '0.6'
18
- }, [
19
- h('animateTransform', {
20
- attributeName: 'transform',
21
- type: 'scale',
22
- from: '2',
23
- to: '1',
24
- begin: '0s',
25
- repeatCount: 'indefinite',
26
- dur: '1s',
27
- calcMode: 'spline',
28
- keySplines: '0.1 0.9 0.4 1',
29
- keyTimes: '0;1',
30
- values: '2;1'
31
- })
32
- ])
33
- ]),
34
- h('g', {
35
- transform: 'translate(50 50)'
36
- }, [
37
- h('rect', {
38
- x: '-10',
39
- y: '-30',
40
- width: '20',
41
- height: '60',
42
- fill: 'currentColor',
43
- opacity: '0.8'
44
- }, [
45
- h('animateTransform', {
46
- attributeName: 'transform',
47
- type: 'scale',
48
- from: '2',
49
- to: '1',
50
- begin: '0.1s',
51
- repeatCount: 'indefinite',
52
- dur: '1s',
53
- calcMode: 'spline',
54
- keySplines: '0.1 0.9 0.4 1',
55
- keyTimes: '0;1',
56
- values: '2;1'
57
- })
58
- ])
59
- ]),
60
- h('g', {
61
- transform: 'translate(80 50)'
62
- }, [
63
- h('rect', {
64
- x: '-10',
65
- y: '-30',
66
- width: '20',
67
- height: '60',
68
- fill: 'currentColor',
69
- opacity: '0.9'
70
- }, [
71
- h('animateTransform', {
72
- attributeName: 'transform',
73
- type: 'scale',
74
- from: '2',
75
- to: '1',
76
- begin: '0.2s',
77
- repeatCount: 'indefinite',
78
- dur: '1s',
79
- calcMode: 'spline',
80
- keySplines: '0.1 0.9 0.4 1',
81
- keyTimes: '0;1',
82
- values: '2;1'
83
- })
84
- ])
85
- ])
86
- ]
6
+ const innerHTML = '<g transform="translate(20 50)"><rect x="-10" y="-30" width="20" height="60" fill="currentColor" opacity="0.6"><animateTransform attributeName="transform" type="scale" from="2" to="1" begin="0s" repeatCount="indefinite" dur="1s" calcMode="spline" keySplines="0.1 0.9 0.4 1" keyTimes="0;1" values="2;1"></animateTransform></rect></g><g transform="translate(50 50)"><rect x="-10" y="-30" width="20" height="60" fill="currentColor" opacity="0.8"><animateTransform attributeName="transform" type="scale" from="2" to="1" begin="0.1s" repeatCount="indefinite" dur="1s" calcMode="spline" keySplines="0.1 0.9 0.4 1" keyTimes="0;1" values="2;1"></animateTransform></rect></g><g transform="translate(80 50)"><rect x="-10" y="-30" width="20" height="60" fill="currentColor" opacity="0.9"><animateTransform attributeName="transform" type="scale" from="2" to="1" begin="0.2s" repeatCount="indefinite" dur="1s" calcMode="spline" keySplines="0.1 0.9 0.4 1" keyTimes="0;1" values="2;1"></animateTransform></rect></g>'
87
7
 
88
8
  export default createComponent({
89
9
  name: 'QSpinnerFacebook',
@@ -92,14 +12,14 @@ export default createComponent({
92
12
 
93
13
  setup (props) {
94
14
  const { cSize, classes } = useSpinner(props)
95
-
96
15
  return () => h('svg', {
97
16
  class: classes.value,
98
17
  width: cSize.value,
99
18
  height: cSize.value,
100
19
  viewBox: '0 0 100 100',
101
20
  xmlns: 'http://www.w3.org/2000/svg',
102
- preserveAspectRatio: 'xMidYMid'
103
- }, svg)
21
+ preserveAspectRatio: 'xMidYMid',
22
+ innerHTML
23
+ })
104
24
  }
105
25
  })
@@ -1,45 +1,9 @@
1
1
  import { h } from 'vue'
2
2
 
3
3
  import useSpinner, { useSpinnerProps } from './use-spinner.js'
4
-
5
4
  import { createComponent } from '../../utils/private.create/create.js'
6
5
 
7
- const svg = [
8
- h('g', {
9
- transform: 'translate(-20,-20)'
10
- }, [
11
- h('path', {
12
- d: 'M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z',
13
- fill: 'currentColor'
14
- }, [
15
- h('animateTransform', {
16
- attributeName: 'transform',
17
- type: 'rotate',
18
- from: '90 50 50',
19
- to: '0 50 50',
20
- dur: '1s',
21
- repeatCount: 'indefinite'
22
- })
23
- ])
24
- ]),
25
- h('g', {
26
- transform: 'translate(20,20) rotate(15 50 50)'
27
- }, [
28
- h('path', {
29
- d: 'M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z',
30
- fill: 'currentColor'
31
- }, [
32
- h('animateTransform', {
33
- attributeName: 'transform',
34
- type: 'rotate',
35
- from: '0 50 50',
36
- to: '90 50 50',
37
- dur: '1s',
38
- repeatCount: 'indefinite'
39
- })
40
- ])
41
- ])
42
- ]
6
+ const innerHTML = '<g transform="translate(-20,-20)"><path d="M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z" fill="currentColor"><animateTransform attributeName="transform" type="rotate" from="90 50 50" to="0 50 50" dur="1s" repeatCount="indefinite"></animateTransform></path></g><g transform="translate(20,20) rotate(15 50 50)"><path d="M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z" fill="currentColor"><animateTransform attributeName="transform" type="rotate" from="0 50 50" to="90 50 50" dur="1s" repeatCount="indefinite"></animateTransform></path></g>'
43
7
 
44
8
  export default createComponent({
45
9
  name: 'QSpinnerGears',
@@ -48,14 +12,14 @@ export default createComponent({
48
12
 
49
13
  setup (props) {
50
14
  const { cSize, classes } = useSpinner(props)
51
-
52
15
  return () => h('svg', {
53
16
  class: classes.value,
54
17
  width: cSize.value,
55
18
  height: cSize.value,
56
19
  viewBox: '0 0 100 100',
57
20
  preserveAspectRatio: 'xMidYMid',
58
- xmlns: 'http://www.w3.org/2000/svg'
59
- }, svg)
21
+ xmlns: 'http://www.w3.org/2000/svg',
22
+ innerHTML
23
+ })
60
24
  }
61
25
  })