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,138 +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: '12.5',
10
- cy: '12.5',
11
- r: '12.5'
12
- }, [
13
- h('animate', {
14
- attributeName: 'fill-opacity',
15
- begin: '0s',
16
- dur: '1s',
17
- values: '1;.2;1',
18
- calcMode: 'linear',
19
- repeatCount: 'indefinite'
20
- })
21
- ]),
22
- h('circle', {
23
- cx: '12.5',
24
- cy: '52.5',
25
- r: '12.5',
26
- 'fill-opacity': '.5'
27
- }, [
28
- h('animate', {
29
- attributeName: 'fill-opacity',
30
- begin: '100ms',
31
- dur: '1s',
32
- values: '1;.2;1',
33
- calcMode: 'linear',
34
- repeatCount: 'indefinite'
35
- })
36
- ]),
37
- h('circle', {
38
- cx: '52.5',
39
- cy: '12.5',
40
- r: '12.5'
41
- }, [
42
- h('animate', {
43
- attributeName: 'fill-opacity',
44
- begin: '300ms',
45
- dur: '1s',
46
- values: '1;.2;1',
47
- calcMode: 'linear',
48
- repeatCount: 'indefinite'
49
- })
50
- ]),
51
- h('circle', {
52
- cx: '52.5',
53
- cy: '52.5',
54
- r: '12.5'
55
- }, [
56
- h('animate', {
57
- attributeName: 'fill-opacity',
58
- begin: '600ms',
59
- dur: '1s',
60
- values: '1;.2;1',
61
- calcMode: 'linear',
62
- repeatCount: 'indefinite'
63
- })
64
- ]),
65
- h('circle', {
66
- cx: '92.5',
67
- cy: '12.5',
68
- r: '12.5'
69
- }, [
70
- h('animate', {
71
- attributeName: 'fill-opacity',
72
- begin: '800ms',
73
- dur: '1s',
74
- values: '1;.2;1',
75
- calcMode: 'linear',
76
- repeatCount: 'indefinite'
77
- })
78
- ]),
79
- h('circle', {
80
- cx: '92.5',
81
- cy: '52.5',
82
- r: '12.5'
83
- }, [
84
- h('animate', {
85
- attributeName: 'fill-opacity',
86
- begin: '400ms',
87
- dur: '1s',
88
- values: '1;.2;1',
89
- calcMode: 'linear',
90
- repeatCount: 'indefinite'
91
- })
92
- ]),
93
- h('circle', {
94
- cx: '12.5',
95
- cy: '92.5',
96
- r: '12.5'
97
- }, [
98
- h('animate', {
99
- attributeName: 'fill-opacity',
100
- begin: '700ms',
101
- dur: '1s',
102
- values: '1;.2;1',
103
- calcMode: 'linear',
104
- repeatCount: 'indefinite'
105
- })
106
- ]),
107
- h('circle', {
108
- cx: '52.5',
109
- cy: '92.5',
110
- r: '12.5'
111
- }, [
112
- h('animate', {
113
- attributeName: 'fill-opacity',
114
- begin: '500ms',
115
- dur: '1s',
116
- values: '1;.2;1',
117
- calcMode: 'linear',
118
- repeatCount: 'indefinite'
119
- })
120
- ]),
121
- h('circle', {
122
- cx: '92.5',
123
- cy: '92.5',
124
- r: '12.5'
125
- }, [
126
- h('animate', {
127
- attributeName: 'fill-opacity',
128
- begin: '200ms',
129
- dur: '1s',
130
- values: '1;.2;1',
131
- calcMode: 'linear',
132
- repeatCount: 'indefinite'
133
- })
134
- ])
135
- ]
6
+ const innerHTML = '<circle cx="12.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="0s" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="12.5" cy="52.5" r="12.5" fill-opacity=".5"><animate attributeName="fill-opacity" begin="100ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="52.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="300ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="52.5" cy="52.5" r="12.5"><animate attributeName="fill-opacity" begin="600ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="92.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="800ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="92.5" cy="52.5" r="12.5"><animate attributeName="fill-opacity" begin="400ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="12.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="700ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="52.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="500ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="92.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="200ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle>'
136
7
 
137
8
  export default createComponent({
138
9
  name: 'QSpinnerGrid',
@@ -141,14 +12,14 @@ export default createComponent({
141
12
 
142
13
  setup (props) {
143
14
  const { cSize, classes } = useSpinner(props)
144
-
145
15
  return () => h('svg', {
146
16
  class: classes.value,
147
17
  fill: 'currentColor',
148
18
  width: cSize.value,
149
19
  height: cSize.value,
150
20
  viewBox: '0 0 105 105',
151
- xmlns: 'http://www.w3.org/2000/svg'
152
- }, svg)
21
+ xmlns: 'http://www.w3.org/2000/svg',
22
+ innerHTML
23
+ })
153
24
  }
154
25
  })
@@ -1,40 +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('path', {
9
- d: 'M30.262 57.02L7.195 40.723c-5.84-3.976-7.56-12.06-3.842-18.063 3.715-6 11.467-7.65 17.306-3.68l4.52 3.76 2.6-5.274c3.716-6.002 11.47-7.65 17.304-3.68 5.84 3.97 7.56 12.054 3.842 18.062L34.49 56.118c-.897 1.512-2.793 1.915-4.228.9z',
10
- 'fill-opacity': '.5'
11
- }, [
12
- h('animate', {
13
- attributeName: 'fill-opacity',
14
- begin: '0s',
15
- dur: '1.4s',
16
- values: '0.5;1;0.5',
17
- calcMode: 'linear',
18
- repeatCount: 'indefinite'
19
- })
20
- ]),
21
- h('path', {
22
- d: 'M105.512 56.12l-14.44-24.272c-3.716-6.008-1.996-14.093 3.843-18.062 5.835-3.97 13.588-2.322 17.306 3.68l2.6 5.274 4.52-3.76c5.84-3.97 13.593-2.32 17.308 3.68 3.718 6.003 1.998 14.088-3.842 18.064L109.74 57.02c-1.434 1.014-3.33.61-4.228-.9z',
23
- 'fill-opacity': '.5'
24
- }, [
25
- h('animate', {
26
- attributeName: 'fill-opacity',
27
- begin: '0.7s',
28
- dur: '1.4s',
29
- values: '0.5;1;0.5',
30
- calcMode: 'linear',
31
- repeatCount: 'indefinite'
32
- })
33
- ]),
34
- h('path', {
35
- d: 'M67.408 57.834l-23.01-24.98c-5.864-6.15-5.864-16.108 0-22.248 5.86-6.14 15.37-6.14 21.234 0L70 16.168l4.368-5.562c5.863-6.14 15.375-6.14 21.235 0 5.863 6.14 5.863 16.098 0 22.247l-23.007 24.98c-1.43 1.556-3.757 1.556-5.188 0z'
36
- })
37
- ]
6
+ const innerHTML = '<path d="M30.262 57.02L7.195 40.723c-5.84-3.976-7.56-12.06-3.842-18.063 3.715-6 11.467-7.65 17.306-3.68l4.52 3.76 2.6-5.274c3.716-6.002 11.47-7.65 17.304-3.68 5.84 3.97 7.56 12.054 3.842 18.062L34.49 56.118c-.897 1.512-2.793 1.915-4.228.9z" fill-opacity=".5"><animate attributeName="fill-opacity" begin="0s" dur="1.4s" values="0.5;1;0.5" calcMode="linear" repeatCount="indefinite"></animate></path><path d="M105.512 56.12l-14.44-24.272c-3.716-6.008-1.996-14.093 3.843-18.062 5.835-3.97 13.588-2.322 17.306 3.68l2.6 5.274 4.52-3.76c5.84-3.97 13.593-2.32 17.308 3.68 3.718 6.003 1.998 14.088-3.842 18.064L109.74 57.02c-1.434 1.014-3.33.61-4.228-.9z" fill-opacity=".5"><animate attributeName="fill-opacity" begin="0.7s" dur="1.4s" values="0.5;1;0.5" calcMode="linear" repeatCount="indefinite"></animate></path><path d="M67.408 57.834l-23.01-24.98c-5.864-6.15-5.864-16.108 0-22.248 5.86-6.14 15.37-6.14 21.234 0L70 16.168l4.368-5.562c5.863-6.14 15.375-6.14 21.235 0 5.863 6.14 5.863 16.098 0 22.247l-23.007 24.98c-1.43 1.556-3.757 1.556-5.188 0z"></path>'
38
7
 
39
8
  export default createComponent({
40
9
  name: 'QSpinnerHearts',
@@ -43,14 +12,14 @@ export default createComponent({
43
12
 
44
13
  setup (props) {
45
14
  const { cSize, classes } = useSpinner(props)
46
-
47
15
  return () => h('svg', {
48
16
  class: classes.value,
49
17
  fill: 'currentColor',
50
18
  width: cSize.value,
51
19
  height: cSize.value,
52
20
  viewBox: '0 0 140 64',
53
- xmlns: 'http://www.w3.org/2000/svg'
54
- }, svg)
21
+ xmlns: 'http://www.w3.org/2000/svg',
22
+ innerHTML
23
+ })
55
24
  }
56
25
  })
@@ -1,98 +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
- h('path', {
10
- fill: 'none',
11
- stroke: 'currentColor',
12
- 'stroke-width': '5',
13
- 'stroke-miterlimit': '10',
14
- d: 'M58.4,51.7c-0.9-0.9-1.4-2-1.4-2.3s0.5-0.4,1.4-1.4 C70.8,43.8,79.8,30.5,80,15.5H70H30H20c0.2,15,9.2,28.1,21.6,32.3c0.9,0.9,1.4,1.2,1.4,1.5s-0.5,1.6-1.4,2.5 C29.2,56.1,20.2,69.5,20,85.5h10h40h10C79.8,69.5,70.8,55.9,58.4,51.7z'
15
- }),
16
- h('clipPath', {
17
- id: 'uil-hourglass-clip1'
18
- }, [
19
- h('rect', {
20
- x: '15',
21
- y: '20',
22
- width: '70',
23
- height: '25'
24
- }, [
25
- h('animate', {
26
- attributeName: 'height',
27
- from: '25',
28
- to: '0',
29
- dur: '1s',
30
- repeatCount: 'indefinite',
31
- values: '25;0;0',
32
- keyTimes: '0;0.5;1'
33
- }),
34
- h('animate', {
35
- attributeName: 'y',
36
- from: '20',
37
- to: '45',
38
- dur: '1s',
39
- repeatCount: 'indefinite',
40
- values: '20;45;45',
41
- keyTimes: '0;0.5;1'
42
- })
43
- ])
44
- ]),
45
- h('clipPath', {
46
- id: 'uil-hourglass-clip2'
47
- }, [
48
- h('rect', {
49
- x: '15',
50
- y: '55',
51
- width: '70',
52
- height: '25'
53
- }, [
54
- h('animate', {
55
- attributeName: 'height',
56
- from: '0',
57
- to: '25',
58
- dur: '1s',
59
- repeatCount: 'indefinite',
60
- values: '0;25;25',
61
- keyTimes: '0;0.5;1'
62
- }),
63
- h('animate', {
64
- attributeName: 'y',
65
- from: '80',
66
- to: '55',
67
- dur: '1s',
68
- repeatCount: 'indefinite',
69
- values: '80;55;55',
70
- keyTimes: '0;0.5;1'
71
- })
72
- ])
73
- ]),
74
- h('path', {
75
- d: 'M29,23c3.1,11.4,11.3,19.5,21,19.5S67.9,34.4,71,23H29z',
76
- 'clip-path': 'url(#uil-hourglass-clip1)',
77
- fill: 'currentColor'
78
- }),
79
- h('path', {
80
- d: 'M71.6,78c-3-11.6-11.5-20-21.5-20s-18.5,8.4-21.5,20H71.6z',
81
- 'clip-path': 'url(#uil-hourglass-clip2)',
82
- fill: 'currentColor'
83
- }),
84
- h('animateTransform', {
85
- attributeName: 'transform',
86
- type: 'rotate',
87
- from: '0 50 50',
88
- to: '180 50 50',
89
- repeatCount: 'indefinite',
90
- dur: '1s',
91
- values: '0 50 50;0 50 50;180 50 50',
92
- keyTimes: '0;0.7;1'
93
- })
94
- ])
95
- ]
6
+ const innerHTML = '<g><path fill="none" stroke="currentColor" stroke-width="5" stroke-miterlimit="10" d="M58.4,51.7c-0.9-0.9-1.4-2-1.4-2.3s0.5-0.4,1.4-1.4 C70.8,43.8,79.8,30.5,80,15.5H70H30H20c0.2,15,9.2,28.1,21.6,32.3c0.9,0.9,1.4,1.2,1.4,1.5s-0.5,1.6-1.4,2.5 C29.2,56.1,20.2,69.5,20,85.5h10h40h10C79.8,69.5,70.8,55.9,58.4,51.7z"></path><clipPath id="uil-hourglass-clip1"><rect x="15" y="20" width="70" height="25"><animate attributeName="height" from="25" to="0" dur="1s" repeatCount="indefinite" values="25;0;0" keyTimes="0;0.5;1"></animate><animate attributeName="y" from="20" to="45" dur="1s" repeatCount="indefinite" values="20;45;45" keyTimes="0;0.5;1"></animate></rect></clipPath><clipPath id="uil-hourglass-clip2"><rect x="15" y="55" width="70" height="25"><animate attributeName="height" from="0" to="25" dur="1s" repeatCount="indefinite" values="0;25;25" keyTimes="0;0.5;1"></animate><animate attributeName="y" from="80" to="55" dur="1s" repeatCount="indefinite" values="80;55;55" keyTimes="0;0.5;1"></animate></rect></clipPath><path d="M29,23c3.1,11.4,11.3,19.5,21,19.5S67.9,34.4,71,23H29z" clip-path="url(#uil-hourglass-clip1)" fill="currentColor"></path><path d="M71.6,78c-3-11.6-11.5-20-21.5-20s-18.5,8.4-21.5,20H71.6z" clip-path="url(#uil-hourglass-clip2)" fill="currentColor"></path><animateTransform attributeName="transform" type="rotate" from="0 50 50" to="180 50 50" repeatCount="indefinite" dur="1s" values="0 50 50;0 50 50;180 50 50" keyTimes="0;0.7;1"></animateTransform></g>'
96
7
 
97
8
  export default createComponent({
98
9
  name: 'QSpinnerHourglass',
@@ -101,14 +12,14 @@ export default createComponent({
101
12
 
102
13
  setup (props) {
103
14
  const { cSize, classes } = useSpinner(props)
104
-
105
15
  return () => h('svg', {
106
16
  class: classes.value,
107
17
  width: cSize.value,
108
18
  height: cSize.value,
109
19
  viewBox: '0 0 100 100',
110
20
  preserveAspectRatio: 'xMidYMid',
111
- xmlns: 'http://www.w3.org/2000/svg'
112
- }, svg)
21
+ xmlns: 'http://www.w3.org/2000/svg',
22
+ innerHTML
23
+ })
113
24
  }
114
25
  })
@@ -1,29 +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('path', {
9
- d: 'M24.3,30C11.4,30,5,43.3,5,50s6.4,20,19.3,20c19.3,0,32.1-40,51.4-40C88.6,30,95,43.3,95,50s-6.4,20-19.3,20C56.4,70,43.6,30,24.3,30z',
10
- fill: 'none',
11
- stroke: 'currentColor',
12
- 'stroke-width': '8',
13
- 'stroke-dasharray': '10.691205342610678 10.691205342610678',
14
- 'stroke-dashoffset': '0'
15
- }, [
16
- h('animate', {
17
- attributeName: 'stroke-dashoffset',
18
- from: '0',
19
- to: '21.382410685221355',
20
- begin: '0',
21
- dur: '2s',
22
- repeatCount: 'indefinite',
23
- fill: 'freeze'
24
- })
25
- ])
26
- ]
6
+ const innerHTML = '<path d="M24.3,30C11.4,30,5,43.3,5,50s6.4,20,19.3,20c19.3,0,32.1-40,51.4-40C88.6,30,95,43.3,95,50s-6.4,20-19.3,20C56.4,70,43.6,30,24.3,30z" fill="none" stroke="currentColor" stroke-width="8" stroke-dasharray="10.691205342610678 10.691205342610678" stroke-dashoffset="0"><animate attributeName="stroke-dashoffset" from="0" to="21.382410685221355" begin="0" dur="2s" repeatCount="indefinite" fill="freeze"></animate></path>'
27
7
 
28
8
  export default createComponent({
29
9
  name: 'QSpinnerInfinity',
@@ -32,13 +12,13 @@ export default createComponent({
32
12
 
33
13
  setup (props) {
34
14
  const { cSize, classes } = useSpinner(props)
35
-
36
15
  return () => h('svg', {
37
16
  class: classes.value,
38
17
  width: cSize.value,
39
18
  height: cSize.value,
40
19
  viewBox: '0 0 100 100',
41
- preserveAspectRatio: 'xMidYMid'
42
- }, svg)
20
+ preserveAspectRatio: 'xMidYMid',
21
+ innerHTML
22
+ })
43
23
  }
44
24
  })
@@ -1,160 +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
- 'stroke-width': '4',
10
- 'stroke-linecap': 'round'
11
- }, [
12
- h('line', {
13
- y1: '17',
14
- y2: '29',
15
- transform: 'translate(32,32) rotate(180)'
16
- }, [
17
- h('animate', {
18
- attributeName: 'stroke-opacity',
19
- dur: '750ms',
20
- values: '1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1',
21
- repeatCount: 'indefinite'
22
- })
23
- ]),
24
- h('line', {
25
- y1: '17',
26
- y2: '29',
27
- transform: 'translate(32,32) rotate(210)'
28
- }, [
29
- h('animate', {
30
- attributeName: 'stroke-opacity',
31
- dur: '750ms',
32
- values: '0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0',
33
- repeatCount: 'indefinite'
34
- })
35
- ]),
36
- h('line', {
37
- y1: '17',
38
- y2: '29',
39
- transform: 'translate(32,32) rotate(240)'
40
- }, [
41
- h('animate', {
42
- attributeName: 'stroke-opacity',
43
- dur: '750ms',
44
- values: '.1;0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1',
45
- repeatCount: 'indefinite'
46
- })
47
- ]),
48
- h('line', {
49
- y1: '17',
50
- y2: '29',
51
- transform: 'translate(32,32) rotate(270)'
52
- }, [
53
- h('animate', {
54
- attributeName: 'stroke-opacity',
55
- dur: '750ms',
56
- values: '.15;.1;0;1;.85;.7;.65;.55;.45;.35;.25;.15',
57
- repeatCount: 'indefinite'
58
- })
59
- ]),
60
- h('line', {
61
- y1: '17',
62
- y2: '29',
63
- transform: 'translate(32,32) rotate(300)'
64
- }, [
65
- h('animate', {
66
- attributeName: 'stroke-opacity',
67
- dur: '750ms',
68
- values: '.25;.15;.1;0;1;.85;.7;.65;.55;.45;.35;.25',
69
- repeatCount: 'indefinite'
70
- })
71
- ]),
72
- h('line', {
73
- y1: '17',
74
- y2: '29',
75
- transform: 'translate(32,32) rotate(330)'
76
- }, [
77
- h('animate', {
78
- attributeName: 'stroke-opacity',
79
- dur: '750ms',
80
- values: '.35;.25;.15;.1;0;1;.85;.7;.65;.55;.45;.35',
81
- repeatCount: 'indefinite'
82
- })
83
- ]),
84
- h('line', {
85
- y1: '17',
86
- y2: '29',
87
- transform: 'translate(32,32) rotate(0)'
88
- }, [
89
- h('animate', {
90
- attributeName: 'stroke-opacity',
91
- dur: '750ms',
92
- values: '.45;.35;.25;.15;.1;0;1;.85;.7;.65;.55;.45',
93
- repeatCount: 'indefinite'
94
- })
95
- ]),
96
- h('line', {
97
- y1: '17',
98
- y2: '29',
99
- transform: 'translate(32,32) rotate(30)'
100
- }, [
101
- h('animate', {
102
- attributeName: 'stroke-opacity',
103
- dur: '750ms',
104
- values: '.55;.45;.35;.25;.15;.1;0;1;.85;.7;.65;.55',
105
- repeatCount: 'indefinite'
106
- })
107
- ]),
108
- h('line', {
109
- y1: '17',
110
- y2: '29',
111
- transform: 'translate(32,32) rotate(60)'
112
- }, [
113
- h('animate', {
114
- attributeName: 'stroke-opacity',
115
- dur: '750ms',
116
- values: '.65;.55;.45;.35;.25;.15;.1;0;1;.85;.7;.65',
117
- repeatCount: 'indefinite'
118
- })
119
- ]),
120
- h('line', {
121
- y1: '17',
122
- y2: '29',
123
- transform: 'translate(32,32) rotate(90)'
124
- }, [
125
- h('animate', {
126
- attributeName: 'stroke-opacity',
127
- dur: '750ms',
128
- values: '.7;.65;.55;.45;.35;.25;.15;.1;0;1;.85;.7',
129
- repeatCount: 'indefinite'
130
- })
131
- ]),
132
- h('line', {
133
- y1: '17',
134
- y2: '29',
135
- transform: 'translate(32,32) rotate(120)'
136
- }, [
137
- h('animate', {
138
- attributeName: 'stroke-opacity',
139
- dur: '750ms',
140
- values: '.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1;.85',
141
- repeatCount: 'indefinite'
142
- })
143
- ]),
144
- h('line', {
145
- y1: '17',
146
- y2: '29',
147
- transform: 'translate(32,32) rotate(150)'
148
- }, [
149
- h('animate', {
150
- attributeName: 'stroke-opacity',
151
- dur: '750ms',
152
- values: '1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1',
153
- repeatCount: 'indefinite'
154
- })
155
- ])
156
- ])
157
- ]
6
+ const innerHTML = '<g stroke-width="4" stroke-linecap="round"><line y1="17" y2="29" transform="translate(32,32) rotate(180)"><animate attributeName="stroke-opacity" dur="750ms" values="1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(210)"><animate attributeName="stroke-opacity" dur="750ms" values="0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(240)"><animate attributeName="stroke-opacity" dur="750ms" values=".1;0;1;.85;.7;.65;.55;.45;.35;.25;.15;.1" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(270)"><animate attributeName="stroke-opacity" dur="750ms" values=".15;.1;0;1;.85;.7;.65;.55;.45;.35;.25;.15" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(300)"><animate attributeName="stroke-opacity" dur="750ms" values=".25;.15;.1;0;1;.85;.7;.65;.55;.45;.35;.25" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(330)"><animate attributeName="stroke-opacity" dur="750ms" values=".35;.25;.15;.1;0;1;.85;.7;.65;.55;.45;.35" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(0)"><animate attributeName="stroke-opacity" dur="750ms" values=".45;.35;.25;.15;.1;0;1;.85;.7;.65;.55;.45" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(30)"><animate attributeName="stroke-opacity" dur="750ms" values=".55;.45;.35;.25;.15;.1;0;1;.85;.7;.65;.55" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(60)"><animate attributeName="stroke-opacity" dur="750ms" values=".65;.55;.45;.35;.25;.15;.1;0;1;.85;.7;.65" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(90)"><animate attributeName="stroke-opacity" dur="750ms" values=".7;.65;.55;.45;.35;.25;.15;.1;0;1;.85;.7" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(120)"><animate attributeName="stroke-opacity" dur="750ms" values=".85;.7;.65;.55;.45;.35;.25;.15;.1;0;1;.85" repeatCount="indefinite"></animate></line><line y1="17" y2="29" transform="translate(32,32) rotate(150)"><animate attributeName="stroke-opacity" dur="750ms" values="1;.85;.7;.65;.55;.45;.35;.25;.15;.1;0;1" repeatCount="indefinite"></animate></line></g>'
158
7
 
159
8
  export default createComponent({
160
9
  name: 'QSpinnerIos',
@@ -163,14 +12,14 @@ export default createComponent({
163
12
 
164
13
  setup (props) {
165
14
  const { cSize, classes } = useSpinner(props)
166
-
167
15
  return () => h('svg', {
168
16
  class: classes.value,
169
17
  width: cSize.value,
170
18
  height: cSize.value,
171
19
  stroke: 'currentColor',
172
20
  fill: 'currentColor',
173
- viewBox: '0 0 64 64'
174
- }, svg)
21
+ viewBox: '0 0 64 64',
22
+ innerHTML
23
+ })
175
24
  }
176
25
  })
@@ -1,37 +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: '44',
12
- fill: 'none',
13
- 'stroke-width': '4',
14
- 'stroke-opacity': '.5',
15
- stroke: 'currentColor'
16
- }),
17
- h('circle', {
18
- cx: '8',
19
- cy: '54',
20
- r: '6',
21
- fill: 'currentColor',
22
- 'stroke-width': '3',
23
- stroke: 'currentColor'
24
- }, [
25
- h('animateTransform', {
26
- attributeName: 'transform',
27
- type: 'rotate',
28
- from: '0 50 48',
29
- to: '360 50 52',
30
- dur: '2s',
31
- repeatCount: 'indefinite'
32
- })
33
- ])
34
- ]
6
+ const innerHTML = '<circle cx="50" cy="50" r="44" fill="none" stroke-width="4" stroke-opacity=".5" stroke="currentColor"></circle><circle cx="8" cy="54" r="6" fill="currentColor" stroke-width="3" stroke="currentColor"><animateTransform attributeName="transform" type="rotate" from="0 50 48" to="360 50 52" dur="2s" repeatCount="indefinite"></animateTransform></circle>'
35
7
 
36
8
  export default createComponent({
37
9
  name: 'QSpinnerOrbit',
@@ -40,14 +12,14 @@ export default createComponent({
40
12
 
41
13
  setup (props) {
42
14
  const { cSize, classes } = useSpinner(props)
43
-
44
15
  return () => h('svg', {
45
16
  class: classes.value,
46
17
  width: cSize.value,
47
18
  height: cSize.value,
48
19
  viewBox: '0 0 100 100',
49
20
  preserveAspectRatio: 'xMidYMid',
50
- xmlns: 'http://www.w3.org/2000/svg'
51
- }, svg)
21
+ xmlns: 'http://www.w3.org/2000/svg',
22
+ innerHTML
23
+ })
52
24
  }
53
25
  })
@@ -1,36 +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(1 1)',
10
- 'stroke-width': '2',
11
- fill: 'none',
12
- 'fill-rule': 'evenodd'
13
- }, [
14
- h('circle', {
15
- 'stroke-opacity': '.5',
16
- cx: '18',
17
- cy: '18',
18
- r: '18'
19
- }),
20
- h('path', {
21
- d: 'M36 18c0-9.94-8.06-18-18-18'
22
- }, [
23
- h('animateTransform', {
24
- attributeName: 'transform',
25
- type: 'rotate',
26
- from: '0 18 18',
27
- to: '360 18 18',
28
- dur: '1s',
29
- repeatCount: 'indefinite'
30
- })
31
- ])
32
- ])
33
- ]
6
+ const innerHTML = '<g transform="translate(1 1)" stroke-width="2" fill="none" fill-rule="evenodd"><circle stroke-opacity=".5" cx="18" cy="18" r="18"></circle><path d="M36 18c0-9.94-8.06-18-18-18"><animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="1s" repeatCount="indefinite"></animateTransform></path></g>'
34
7
 
35
8
  export default createComponent({
36
9
  name: 'QSpinnerOval',
@@ -39,14 +12,14 @@ export default createComponent({
39
12
 
40
13
  setup (props) {
41
14
  const { cSize, classes } = useSpinner(props)
42
-
43
15
  return () => h('svg', {
44
16
  class: classes.value,
45
17
  stroke: 'currentColor',
46
18
  width: cSize.value,
47
19
  height: cSize.value,
48
20
  viewBox: '0 0 38 38',
49
- xmlns: 'http://www.w3.org/2000/svg'
50
- }, svg)
21
+ xmlns: 'http://www.w3.org/2000/svg',
22
+ innerHTML
23
+ })
51
24
  }
52
25
  })