create-vite-extra 4.2.0 → 5.0.1

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 (378) hide show
  1. package/LICENSE +12 -6
  2. package/README.md +51 -66
  3. package/dist/index.js +585 -0
  4. package/package.json +20 -10
  5. package/template-deno-lit/README.md +3 -3
  6. package/template-deno-lit/deno.json +3 -3
  7. package/template-deno-lit/index.html +2 -2
  8. package/template-deno-lit/public/favicon.svg +1 -0
  9. package/template-deno-lit/public/icons.svg +24 -0
  10. package/template-deno-lit/src/assets/hero.png +0 -0
  11. package/template-deno-lit/src/index.css +14 -20
  12. package/template-deno-lit/src/my-element.js +372 -67
  13. package/template-deno-lit/vite.config.js +1 -1
  14. package/template-deno-lit-ts/README.md +2 -2
  15. package/template-deno-lit-ts/deno.json +3 -3
  16. package/template-deno-lit-ts/index.html +3 -3
  17. package/template-deno-lit-ts/public/favicon.svg +1 -0
  18. package/template-deno-lit-ts/public/icons.svg +24 -0
  19. package/template-deno-lit-ts/src/assets/hero.png +0 -0
  20. package/template-deno-lit-ts/src/index.css +13 -28
  21. package/template-deno-lit-ts/src/my-element.ts +373 -68
  22. package/template-deno-lit-ts/tsconfig.json +20 -2
  23. package/template-deno-lit-ts/vite.config.ts +1 -1
  24. package/template-deno-preact/README.md +2 -2
  25. package/template-deno-preact/deno.json +5 -5
  26. package/template-deno-preact/index.html +1 -1
  27. package/template-deno-preact/public/favicon.svg +1 -0
  28. package/template-deno-preact/public/icons.svg +24 -0
  29. package/template-deno-preact/src/app.css +185 -16
  30. package/template-deno-preact/src/app.jsx +88 -21
  31. package/template-deno-preact/src/assets/hero.png +0 -0
  32. package/template-deno-preact/src/index.css +88 -46
  33. package/template-deno-preact/src/main.jsx +1 -1
  34. package/template-deno-preact-ts/README.md +2 -2
  35. package/template-deno-preact-ts/deno.json +5 -5
  36. package/template-deno-preact-ts/index.html +1 -1
  37. package/template-deno-preact-ts/public/favicon.svg +1 -0
  38. package/template-deno-preact-ts/public/icons.svg +24 -0
  39. package/template-deno-preact-ts/src/app.css +185 -16
  40. package/template-deno-preact-ts/src/app.tsx +88 -21
  41. package/template-deno-preact-ts/src/assets/hero.png +0 -0
  42. package/template-deno-preact-ts/src/index.css +88 -46
  43. package/template-deno-preact-ts/src/main.tsx +2 -2
  44. package/template-deno-react/README.md +2 -2
  45. package/template-deno-react/deno.json +5 -5
  46. package/template-deno-react/index.html +1 -1
  47. package/template-deno-react/public/favicon.svg +1 -0
  48. package/template-deno-react/public/icons.svg +24 -0
  49. package/template-deno-react/src/App.css +169 -28
  50. package/template-deno-react/src/App.jsx +107 -21
  51. package/template-deno-react/src/assets/hero.png +0 -0
  52. package/template-deno-react/src/index.css +88 -46
  53. package/template-deno-react/src/main.jsx +1 -1
  54. package/template-deno-react-ts/README.md +2 -2
  55. package/template-deno-react-ts/deno.json +5 -5
  56. package/template-deno-react-ts/index.html +1 -1
  57. package/template-deno-react-ts/public/favicon.svg +1 -0
  58. package/template-deno-react-ts/public/icons.svg +24 -0
  59. package/template-deno-react-ts/src/App.css +169 -28
  60. package/template-deno-react-ts/src/App.tsx +107 -21
  61. package/template-deno-react-ts/src/assets/hero.png +0 -0
  62. package/template-deno-react-ts/src/index.css +88 -46
  63. package/template-deno-react-ts/src/main.tsx +2 -2
  64. package/template-deno-solid/README.md +2 -2
  65. package/template-deno-solid/deno.json +5 -5
  66. package/template-deno-solid/index.html +2 -2
  67. package/template-deno-solid/public/favicon.svg +1 -0
  68. package/template-deno-solid/public/icons.svg +24 -0
  69. package/template-deno-solid/src/App.css +175 -19
  70. package/template-deno-solid/src/App.jsx +90 -23
  71. package/template-deno-solid/src/assets/hero.png +0 -0
  72. package/template-deno-solid/src/index.css +88 -46
  73. package/template-deno-solid/src/index.jsx +8 -0
  74. package/template-deno-solid-ts/README.md +2 -2
  75. package/template-deno-solid-ts/deno.json +5 -5
  76. package/template-deno-solid-ts/index.html +2 -2
  77. package/template-deno-solid-ts/public/favicon.svg +1 -0
  78. package/template-deno-solid-ts/public/icons.svg +24 -0
  79. package/template-deno-solid-ts/src/App.css +175 -19
  80. package/template-deno-solid-ts/src/App.tsx +90 -23
  81. package/template-deno-solid-ts/src/assets/hero.png +0 -0
  82. package/template-deno-solid-ts/src/index.css +88 -46
  83. package/template-deno-solid-ts/src/index.tsx +8 -0
  84. package/template-deno-svelte/README.md +2 -2
  85. package/template-deno-svelte/deno.json +5 -5
  86. package/template-deno-svelte/index.html +1 -1
  87. package/template-deno-svelte/public/favicon.svg +1 -0
  88. package/template-deno-svelte/public/icons.svg +24 -0
  89. package/template-deno-svelte/src/App.svelte +79 -38
  90. package/template-deno-svelte/src/app.css +263 -47
  91. package/template-deno-svelte/src/assets/hero.png +0 -0
  92. package/template-deno-svelte/src/lib/Counter.svelte +1 -6
  93. package/template-deno-svelte/src/main.js +1 -1
  94. package/template-deno-svelte-ts/README.md +2 -2
  95. package/template-deno-svelte-ts/deno.json +5 -5
  96. package/template-deno-svelte-ts/index.html +1 -1
  97. package/template-deno-svelte-ts/public/favicon.svg +1 -0
  98. package/template-deno-svelte-ts/public/icons.svg +24 -0
  99. package/template-deno-svelte-ts/src/App.svelte +80 -39
  100. package/template-deno-svelte-ts/src/app.css +263 -47
  101. package/template-deno-svelte-ts/src/assets/hero.png +0 -0
  102. package/template-deno-svelte-ts/src/lib/Counter.svelte +2 -2
  103. package/template-deno-svelte-ts/src/main.ts +1 -1
  104. package/template-deno-vanilla/deno.json +3 -3
  105. package/template-deno-vanilla/index.html +2 -2
  106. package/template-deno-vanilla/public/favicon.svg +1 -0
  107. package/template-deno-vanilla/public/icons.svg +24 -0
  108. package/template-deno-vanilla/src/assets/hero.png +0 -0
  109. package/template-deno-vanilla/src/assets/javascript.svg +1 -0
  110. package/template-deno-vanilla/src/counter.js +2 -2
  111. package/template-deno-vanilla/src/main.js +51 -17
  112. package/template-deno-vanilla/src/style.css +260 -61
  113. package/template-deno-vanilla-ts/deno.json +3 -3
  114. package/template-deno-vanilla-ts/index.html +1 -1
  115. package/template-deno-vanilla-ts/public/favicon.svg +1 -0
  116. package/template-deno-vanilla-ts/public/icons.svg +24 -0
  117. package/template-deno-vanilla-ts/src/assets/hero.png +0 -0
  118. package/template-deno-vanilla-ts/src/assets/typescript.svg +1 -0
  119. package/template-deno-vanilla-ts/src/counter.ts +1 -1
  120. package/template-deno-vanilla-ts/src/main.ts +52 -16
  121. package/template-deno-vanilla-ts/src/style.css +260 -61
  122. package/template-deno-vue/README.md +2 -2
  123. package/template-deno-vue/deno.json +5 -5
  124. package/template-deno-vue/index.html +1 -1
  125. package/template-deno-vue/public/favicon.svg +1 -0
  126. package/template-deno-vue/public/icons.svg +24 -0
  127. package/template-deno-vue/src/App.vue +1 -28
  128. package/template-deno-vue/src/assets/hero.png +0 -0
  129. package/template-deno-vue/src/components/HelloWorld.vue +83 -30
  130. package/template-deno-vue/src/main.js +1 -1
  131. package/template-deno-vue/src/style.css +263 -46
  132. package/template-deno-vue-ts/README.md +2 -2
  133. package/template-deno-vue-ts/deno.json +5 -5
  134. package/template-deno-vue-ts/index.html +1 -1
  135. package/template-deno-vue-ts/public/favicon.svg +1 -0
  136. package/template-deno-vue-ts/public/icons.svg +24 -0
  137. package/template-deno-vue-ts/src/App.vue +1 -28
  138. package/template-deno-vue-ts/src/assets/hero.png +0 -0
  139. package/template-deno-vue-ts/src/components/HelloWorld.vue +83 -28
  140. package/template-deno-vue-ts/src/main.ts +1 -1
  141. package/template-deno-vue-ts/src/style.css +263 -46
  142. package/template-library/index.d.ts +1 -1
  143. package/template-library/index.html +3 -3
  144. package/template-library/package.json +5 -9
  145. package/template-library/public/favicon.svg +1 -0
  146. package/template-library/public/icons.svg +24 -0
  147. package/template-library/src/assets/hero.png +0 -0
  148. package/template-library/src/assets/javascript.svg +1 -0
  149. package/template-library/src/main.js +60 -0
  150. package/template-library/src/style.css +296 -0
  151. package/template-library/vite.config.js +1 -1
  152. package/template-library-ts/index.d.ts +1 -1
  153. package/template-library-ts/index.html +2 -2
  154. package/template-library-ts/package.json +6 -10
  155. package/template-library-ts/public/favicon.svg +1 -0
  156. package/template-library-ts/public/icons.svg +24 -0
  157. package/template-library-ts/src/assets/hero.png +0 -0
  158. package/template-library-ts/src/assets/typescript.svg +1 -0
  159. package/template-library-ts/src/main.ts +51 -14
  160. package/template-library-ts/src/style.css +260 -61
  161. package/template-library-ts/tsconfig.json +6 -7
  162. package/template-library-ts/vite.config.ts +1 -1
  163. package/template-ssr-preact/index.html +1 -1
  164. package/template-ssr-preact/package.json +4 -4
  165. package/template-ssr-preact/public/favicon.svg +1 -0
  166. package/template-ssr-preact/public/icons.svg +24 -0
  167. package/template-ssr-preact/src/app.css +185 -17
  168. package/template-ssr-preact/src/app.jsx +88 -20
  169. package/template-ssr-preact/src/assets/hero.png +0 -0
  170. package/template-ssr-preact/src/index.css +88 -46
  171. package/template-ssr-preact-ts/index.html +1 -1
  172. package/template-ssr-preact-ts/package.json +7 -7
  173. package/template-ssr-preact-ts/public/favicon.svg +1 -0
  174. package/template-ssr-preact-ts/public/icons.svg +24 -0
  175. package/template-ssr-preact-ts/src/app.css +185 -17
  176. package/template-ssr-preact-ts/src/app.tsx +88 -20
  177. package/template-ssr-preact-ts/src/assets/hero.png +0 -0
  178. package/template-ssr-preact-ts/src/index.css +88 -46
  179. package/template-ssr-preact-ts/tsconfig.app.json +30 -0
  180. package/template-ssr-preact-ts/tsconfig.json +5 -29
  181. package/template-ssr-preact-ts/tsconfig.node.json +5 -5
  182. package/template-ssr-react/README.md +16 -0
  183. package/template-ssr-react/index.html +1 -1
  184. package/template-ssr-react/package.json +3 -3
  185. package/template-ssr-react/public/favicon.svg +1 -0
  186. package/template-ssr-react/public/icons.svg +24 -0
  187. package/template-ssr-react/src/App.css +169 -28
  188. package/template-ssr-react/src/App.jsx +107 -20
  189. package/template-ssr-react/src/assets/hero.png +0 -0
  190. package/template-ssr-react/src/index.css +88 -46
  191. package/template-ssr-react-streaming/index.html +1 -1
  192. package/template-ssr-react-streaming/package.json +2 -2
  193. package/template-ssr-react-streaming/public/favicon.svg +1 -0
  194. package/template-ssr-react-streaming/public/icons.svg +24 -0
  195. package/template-ssr-react-streaming/src/App.css +169 -28
  196. package/template-ssr-react-streaming/src/App.jsx +107 -20
  197. package/template-ssr-react-streaming/src/assets/hero.png +0 -0
  198. package/template-ssr-react-streaming/src/index.css +88 -46
  199. package/template-ssr-react-streaming-ts/index.html +1 -1
  200. package/template-ssr-react-streaming-ts/package.json +6 -6
  201. package/template-ssr-react-streaming-ts/public/favicon.svg +1 -0
  202. package/template-ssr-react-streaming-ts/public/icons.svg +24 -0
  203. package/template-ssr-react-streaming-ts/src/App.css +169 -28
  204. package/template-ssr-react-streaming-ts/src/App.tsx +107 -20
  205. package/template-ssr-react-streaming-ts/src/assets/hero.png +0 -0
  206. package/template-ssr-react-streaming-ts/src/index.css +88 -46
  207. package/template-ssr-react-streaming-ts/tsconfig.app.json +25 -0
  208. package/template-ssr-react-streaming-ts/tsconfig.json +5 -24
  209. package/template-ssr-react-streaming-ts/tsconfig.node.json +5 -5
  210. package/template-ssr-react-ts/README.md +73 -0
  211. package/template-ssr-react-ts/index.html +1 -1
  212. package/template-ssr-react-ts/package.json +6 -6
  213. package/template-ssr-react-ts/public/favicon.svg +1 -0
  214. package/template-ssr-react-ts/public/icons.svg +24 -0
  215. package/template-ssr-react-ts/src/App.css +169 -28
  216. package/template-ssr-react-ts/src/App.tsx +107 -20
  217. package/template-ssr-react-ts/src/assets/hero.png +0 -0
  218. package/template-ssr-react-ts/src/index.css +88 -46
  219. package/template-ssr-react-ts/tsconfig.app.json +25 -0
  220. package/template-ssr-react-ts/tsconfig.json +5 -24
  221. package/template-ssr-react-ts/tsconfig.node.json +5 -5
  222. package/template-ssr-solid/README.md +28 -0
  223. package/template-ssr-solid/index.html +1 -1
  224. package/template-ssr-solid/package.json +3 -3
  225. package/template-ssr-solid/public/favicon.svg +1 -0
  226. package/template-ssr-solid/public/icons.svg +24 -0
  227. package/template-ssr-solid/src/App.css +175 -19
  228. package/template-ssr-solid/src/App.jsx +90 -22
  229. package/template-ssr-solid/src/assets/hero.png +0 -0
  230. package/template-ssr-solid/src/index.css +88 -46
  231. package/template-ssr-solid-ts/README.md +28 -0
  232. package/template-ssr-solid-ts/index.html +1 -1
  233. package/template-ssr-solid-ts/package.json +5 -5
  234. package/template-ssr-solid-ts/public/favicon.svg +1 -0
  235. package/template-ssr-solid-ts/public/icons.svg +24 -0
  236. package/template-ssr-solid-ts/src/App.css +175 -19
  237. package/template-ssr-solid-ts/src/App.tsx +90 -22
  238. package/template-ssr-solid-ts/src/assets/hero.png +0 -0
  239. package/template-ssr-solid-ts/src/index.css +88 -46
  240. package/template-ssr-solid-ts/tsconfig.app.json +26 -0
  241. package/template-ssr-solid-ts/tsconfig.json +5 -25
  242. package/template-ssr-solid-ts/tsconfig.node.json +5 -5
  243. package/template-ssr-svelte/README.md +0 -4
  244. package/template-ssr-svelte/index.html +1 -1
  245. package/template-ssr-svelte/package.json +3 -3
  246. package/template-ssr-svelte/public/favicon.svg +1 -0
  247. package/template-ssr-svelte/public/icons.svg +24 -0
  248. package/template-ssr-svelte/src/App.svelte +79 -37
  249. package/template-ssr-svelte/src/app.css +263 -47
  250. package/template-ssr-svelte/src/assets/hero.png +0 -0
  251. package/template-ssr-svelte/src/lib/Counter.svelte +1 -6
  252. package/template-ssr-svelte-ts/README.md +1 -1
  253. package/template-ssr-svelte-ts/index.html +1 -1
  254. package/template-ssr-svelte-ts/package.json +9 -9
  255. package/template-ssr-svelte-ts/public/favicon.svg +1 -0
  256. package/template-ssr-svelte-ts/public/icons.svg +24 -0
  257. package/template-ssr-svelte-ts/src/App.svelte +80 -38
  258. package/template-ssr-svelte-ts/src/app.css +263 -47
  259. package/template-ssr-svelte-ts/src/assets/hero.png +0 -0
  260. package/template-ssr-svelte-ts/src/lib/Counter.svelte +2 -2
  261. package/template-ssr-svelte-ts/tsconfig.app.json +20 -0
  262. package/template-ssr-svelte-ts/tsconfig.json +5 -19
  263. package/template-ssr-svelte-ts/tsconfig.node.json +16 -4
  264. package/template-ssr-transform/package.json +1 -1
  265. package/template-ssr-vanilla/index.html +2 -2
  266. package/template-ssr-vanilla/package.json +1 -1
  267. package/template-ssr-vanilla/public/favicon.svg +1 -0
  268. package/template-ssr-vanilla/public/icons.svg +24 -0
  269. package/template-ssr-vanilla/src/assets/hero.png +0 -0
  270. package/template-ssr-vanilla/src/assets/javascript.svg +1 -0
  271. package/template-ssr-vanilla/src/counter.js +1 -1
  272. package/template-ssr-vanilla/src/entry-client.js +0 -1
  273. package/template-ssr-vanilla/src/entry-server.js +52 -15
  274. package/template-ssr-vanilla/src/style.css +260 -61
  275. package/template-ssr-vanilla-ts/index.html +1 -1
  276. package/template-ssr-vanilla-ts/package.json +4 -4
  277. package/template-ssr-vanilla-ts/public/favicon.svg +1 -0
  278. package/template-ssr-vanilla-ts/public/icons.svg +24 -0
  279. package/template-ssr-vanilla-ts/src/assets/hero.png +0 -0
  280. package/template-ssr-vanilla-ts/src/assets/typescript.svg +1 -0
  281. package/template-ssr-vanilla-ts/src/counter.ts +1 -1
  282. package/template-ssr-vanilla-ts/src/entry-client.ts +0 -1
  283. package/template-ssr-vanilla-ts/src/entry-server.ts +52 -15
  284. package/template-ssr-vanilla-ts/src/style.css +260 -61
  285. package/template-ssr-vanilla-ts/tsconfig.json +6 -7
  286. package/template-ssr-vue/README.md +1 -3
  287. package/template-ssr-vue/index.html +1 -1
  288. package/template-ssr-vue/package.json +3 -3
  289. package/template-ssr-vue/public/favicon.svg +1 -0
  290. package/template-ssr-vue/public/icons.svg +24 -0
  291. package/template-ssr-vue/src/App.vue +1 -27
  292. package/template-ssr-vue/src/assets/hero.png +0 -0
  293. package/template-ssr-vue/src/components/HelloWorld.vue +83 -30
  294. package/template-ssr-vue/src/style.css +263 -46
  295. package/template-ssr-vue-streaming/index.html +1 -1
  296. package/template-ssr-vue-streaming/package.json +3 -3
  297. package/template-ssr-vue-streaming/public/favicon.svg +1 -0
  298. package/template-ssr-vue-streaming/public/icons.svg +24 -0
  299. package/template-ssr-vue-streaming/src/App.vue +1 -27
  300. package/template-ssr-vue-streaming/src/assets/hero.png +0 -0
  301. package/template-ssr-vue-streaming/src/components/HelloWorld.vue +83 -30
  302. package/template-ssr-vue-streaming/src/style.css +263 -46
  303. package/template-ssr-vue-streaming-ts/index.html +1 -1
  304. package/template-ssr-vue-streaming-ts/package.json +8 -7
  305. package/template-ssr-vue-streaming-ts/public/favicon.svg +1 -0
  306. package/template-ssr-vue-streaming-ts/public/icons.svg +24 -0
  307. package/template-ssr-vue-streaming-ts/src/App.vue +1 -27
  308. package/template-ssr-vue-streaming-ts/src/assets/hero.png +0 -0
  309. package/template-ssr-vue-streaming-ts/src/components/HelloWorld.vue +83 -28
  310. package/template-ssr-vue-streaming-ts/src/style.css +263 -46
  311. package/template-ssr-vue-streaming-ts/tsconfig.app.json +14 -0
  312. package/template-ssr-vue-streaming-ts/tsconfig.json +5 -24
  313. package/template-ssr-vue-streaming-ts/tsconfig.node.json +5 -5
  314. package/template-ssr-vue-ts/README.md +1 -12
  315. package/template-ssr-vue-ts/index.html +1 -1
  316. package/template-ssr-vue-ts/package.json +9 -9
  317. package/template-ssr-vue-ts/public/favicon.svg +1 -0
  318. package/template-ssr-vue-ts/public/icons.svg +24 -0
  319. package/template-ssr-vue-ts/src/App.vue +1 -27
  320. package/template-ssr-vue-ts/src/assets/hero.png +0 -0
  321. package/template-ssr-vue-ts/src/components/HelloWorld.vue +83 -28
  322. package/template-ssr-vue-ts/src/style.css +263 -46
  323. package/template-ssr-vue-ts/tsconfig.app.json +14 -0
  324. package/template-ssr-vue-ts/tsconfig.json +5 -24
  325. package/template-ssr-vue-ts/tsconfig.node.json +5 -5
  326. package/index.js +0 -708
  327. package/template-deno-lit-ts/src/vite-env.d.ts +0 -1
  328. package/template-deno-preact-ts/src/vite-env.d.ts +0 -1
  329. package/template-deno-react-ts/src/vite-env.d.ts +0 -1
  330. package/template-deno-svelte/src/vite-env.d.ts +0 -2
  331. package/template-deno-svelte-ts/src/vite-env.d.ts +0 -2
  332. package/template-deno-vanilla-ts/src/vite-env.d.ts +0 -1
  333. package/template-deno-vue-ts/src/vite-env.d.ts +0 -7
  334. package/template-library/main.js +0 -23
  335. package/template-library/style.css +0 -97
  336. package/template-library-ts/src/vite-env.d.ts +0 -1
  337. package/template-ssr-preact-ts/src/vite-env.d.ts +0 -1
  338. package/template-ssr-react-streaming-ts/src/vite-env.d.ts +0 -1
  339. package/template-ssr-react-ts/src/vite-env.d.ts +0 -1
  340. package/template-ssr-solid-ts/src/vite-env.d.ts +0 -1
  341. package/template-ssr-svelte/src/vite-env.d.ts +0 -2
  342. package/template-ssr-svelte-ts/src/vite-env.d.ts +0 -2
  343. package/template-ssr-vanilla-ts/src/vite-env.d.ts +0 -1
  344. package/template-ssr-vue-streaming-ts/src/vite-env.d.ts +0 -7
  345. package/template-ssr-vue-ts/src/vite-env.d.ts +0 -7
  346. /package/template-deno-lit/{public → src/assets}/vite.svg +0 -0
  347. /package/template-deno-lit-ts/{public → src/assets}/vite.svg +0 -0
  348. /package/template-deno-preact/{public → src/assets}/vite.svg +0 -0
  349. /package/template-deno-preact-ts/{public → src/assets}/vite.svg +0 -0
  350. /package/template-deno-react/{public → src/assets}/vite.svg +0 -0
  351. /package/template-deno-react-ts/{public → src/assets}/vite.svg +0 -0
  352. /package/template-deno-solid/{public → src/assets}/vite.svg +0 -0
  353. /package/template-deno-solid-ts/{public → src/assets}/vite.svg +0 -0
  354. /package/template-deno-svelte/{public → src/assets}/vite.svg +0 -0
  355. /package/template-deno-svelte-ts/{public → src/assets}/vite.svg +0 -0
  356. /package/template-deno-vanilla/{public → src/assets}/vite.svg +0 -0
  357. /package/template-deno-vanilla-ts/{public → src/assets}/vite.svg +0 -0
  358. /package/template-deno-vue/{public → src/assets}/vite.svg +0 -0
  359. /package/template-deno-vue-ts/{public → src/assets}/vite.svg +0 -0
  360. /package/template-library/{public → src/assets}/vite.svg +0 -0
  361. /package/template-library/{javascript.svg → src/javascript.svg} +0 -0
  362. /package/template-library-ts/{public → src/assets}/vite.svg +0 -0
  363. /package/template-ssr-preact/{public → src/assets}/vite.svg +0 -0
  364. /package/template-ssr-preact-ts/{public → src/assets}/vite.svg +0 -0
  365. /package/template-ssr-react/{public → src/assets}/vite.svg +0 -0
  366. /package/template-ssr-react-streaming/{public → src/assets}/vite.svg +0 -0
  367. /package/template-ssr-react-streaming-ts/{public → src/assets}/vite.svg +0 -0
  368. /package/template-ssr-react-ts/{public → src/assets}/vite.svg +0 -0
  369. /package/template-ssr-solid/{public → src/assets}/vite.svg +0 -0
  370. /package/template-ssr-solid-ts/{public → src/assets}/vite.svg +0 -0
  371. /package/template-ssr-svelte/{public → src/assets}/vite.svg +0 -0
  372. /package/template-ssr-svelte-ts/{public → src/assets}/vite.svg +0 -0
  373. /package/template-ssr-vanilla/{public → src/assets}/vite.svg +0 -0
  374. /package/template-ssr-vanilla-ts/{public → src/assets}/vite.svg +0 -0
  375. /package/template-ssr-vue/{public → src/assets}/vite.svg +0 -0
  376. /package/template-ssr-vue-streaming/{public → src/assets}/vite.svg +0 -0
  377. /package/template-ssr-vue-streaming-ts/{public → src/assets}/vite.svg +0 -0
  378. /package/template-ssr-vue-ts/{public → src/assets}/vite.svg +0 -0
@@ -1,28 +1,196 @@
1
- #app {
2
- max-width: 1280px;
1
+ .counter {
2
+ font-size: 16px;
3
+ padding: 5px 10px;
4
+ border-radius: 5px;
5
+ color: var(--accent);
6
+ background: var(--accent-bg);
7
+ border: 2px solid transparent;
8
+ transition: border-color 0.3s;
9
+ margin-bottom: 24px;
10
+
11
+ &:hover {
12
+ border-color: var(--accent-border);
13
+ }
14
+ &:focus-visible {
15
+ outline: 2px solid var(--accent);
16
+ outline-offset: 2px;
17
+ }
18
+ }
19
+
20
+ .hero {
21
+ position: relative;
22
+
23
+ .base,
24
+ .framework,
25
+ .vite {
26
+ inset-inline: 0;
27
+ margin: 0 auto;
28
+ }
29
+
30
+ .base {
31
+ width: 170px;
32
+ position: relative;
33
+ z-index: 0;
34
+ }
35
+
36
+ .framework,
37
+ .vite {
38
+ position: absolute;
39
+ }
40
+
41
+ .framework {
42
+ z-index: 1;
43
+ top: 34px;
44
+ height: 28px;
45
+ transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg)
46
+ scale(1.4);
47
+ }
48
+
49
+ .vite {
50
+ z-index: 0;
51
+ top: 107px;
52
+ height: 26px;
53
+ width: auto;
54
+ transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg)
55
+ scale(0.8);
56
+ }
57
+ }
58
+
59
+ #root {
60
+ width: 1126px;
61
+ max-width: 100%;
3
62
  margin: 0 auto;
4
- padding: 2rem;
5
63
  text-align: center;
64
+ border-inline: 1px solid var(--border);
65
+ min-height: 100svh;
66
+ display: flex;
67
+ flex-direction: column;
68
+ box-sizing: border-box;
6
69
  }
7
70
 
8
- .logo {
9
- object-fit: contain;
10
- width: 8em;
11
- height: 6em;
12
- padding: 1.5em;
13
- will-change: filter;
71
+ #center {
72
+ display: flex;
73
+ flex-direction: column;
74
+ gap: 25px;
75
+ place-content: center;
76
+ place-items: center;
77
+ flex-grow: 1;
78
+
79
+ @media (max-width: 1024px) {
80
+ padding: 32px 20px 24px;
81
+ gap: 18px;
82
+ }
14
83
  }
15
- .logo:hover {
16
- filter: drop-shadow(0 0 2em #646cffaa);
84
+
85
+ #next-steps {
86
+ display: flex;
87
+ border-top: 1px solid var(--border);
88
+ text-align: left;
89
+
90
+ & > div {
91
+ flex: 1 1 0;
92
+ padding: 32px;
93
+ @media (max-width: 1024px) {
94
+ padding: 24px 20px;
95
+ }
96
+ }
97
+
98
+ .icon {
99
+ margin-bottom: 16px;
100
+ width: 22px;
101
+ height: 22px;
102
+ }
103
+
104
+ @media (max-width: 1024px) {
105
+ flex-direction: column;
106
+ text-align: center;
107
+ }
17
108
  }
18
- .logo.preact:hover {
19
- filter: drop-shadow(0 0 2em #673ab8aa);
109
+
110
+ #docs {
111
+ border-right: 1px solid var(--border);
112
+
113
+ @media (max-width: 1024px) {
114
+ border-right: none;
115
+ border-bottom: 1px solid var(--border);
116
+ }
20
117
  }
21
118
 
22
- .card {
23
- padding: 2em;
119
+ #next-steps ul {
120
+ list-style: none;
121
+ padding: 0;
122
+ display: flex;
123
+ gap: 8px;
124
+ margin: 32px 0 0;
125
+
126
+ .logo {
127
+ height: 18px;
128
+ }
129
+
130
+ a {
131
+ color: var(--text-h);
132
+ font-size: 16px;
133
+ border-radius: 6px;
134
+ background: var(--social-bg);
135
+ display: flex;
136
+ padding: 6px 12px;
137
+ align-items: center;
138
+ gap: 8px;
139
+ text-decoration: none;
140
+ transition: box-shadow 0.3s;
141
+
142
+ &:hover {
143
+ box-shadow: var(--shadow);
144
+ }
145
+ .button-icon {
146
+ height: 18px;
147
+ width: 18px;
148
+ }
149
+ }
150
+
151
+ @media (max-width: 1024px) {
152
+ margin-top: 20px;
153
+ flex-wrap: wrap;
154
+ justify-content: center;
155
+
156
+ li {
157
+ flex: 1 1 calc(50% - 8px);
158
+ }
159
+
160
+ a {
161
+ width: 100%;
162
+ justify-content: center;
163
+ box-sizing: border-box;
164
+ }
165
+ }
166
+ }
167
+
168
+ #spacer {
169
+ height: 88px;
170
+ border-top: 1px solid var(--border);
171
+ @media (max-width: 1024px) {
172
+ height: 48px;
173
+ }
24
174
  }
25
175
 
26
- .read-the-docs {
27
- color: #888;
176
+ .ticks {
177
+ position: relative;
178
+ width: 100%;
179
+
180
+ &::before,
181
+ &::after {
182
+ content: '';
183
+ position: absolute;
184
+ top: -4.5px;
185
+ border: 5px solid transparent;
186
+ }
187
+
188
+ &::before {
189
+ left: 0;
190
+ border-left-color: var(--border);
191
+ }
192
+ &::after {
193
+ right: 0;
194
+ border-right-color: var(--border);
195
+ }
28
196
  }
@@ -1,32 +1,100 @@
1
- import './app.css'
2
1
  import { useState } from 'preact/hooks'
3
2
  import preactLogo from './assets/preact.svg'
3
+ import viteLogo from './assets/vite.svg'
4
+ import heroImg from './assets/hero.png'
5
+ import './app.css'
4
6
 
5
7
  export function App() {
6
8
  const [count, setCount] = useState(0)
7
9
 
8
10
  return (
9
11
  <>
10
- <div>
11
- <a href="https://vite.dev" target="_blank">
12
- <img src="/vite.svg" class="logo" alt="Vite logo" />
13
- </a>
14
- <a href="https://preactjs.com" target="_blank">
15
- <img src={preactLogo} class="logo preact" alt="Preact logo" />
16
- </a>
17
- </div>
18
- <h1>Vite + Preact</h1>
19
- <div class="card">
20
- <button onClick={() => setCount((count) => count + 1)}>
21
- count is {count}
12
+ <section id="center">
13
+ <div class="hero">
14
+ <img src={heroImg} class="base" width="170" height="179" alt="" />
15
+ <img src={preactLogo} class="framework" alt="Preact logo" />
16
+ <img src={viteLogo} class="vite" alt="Vite logo" />
17
+ </div>
18
+ <div>
19
+ <h1>Get started</h1>
20
+ <p>
21
+ Edit <code>src/app.tsx</code> and save to test <code>HMR</code>
22
+ </p>
23
+ </div>
24
+ <button class="counter" onClick={() => setCount((count) => count + 1)}>
25
+ Count is {count}
22
26
  </button>
23
- <p>
24
- Edit <code>src/app.tsx</code> and save to test HMR
25
- </p>
26
- </div>
27
- <p class="read-the-docs">
28
- Click on the Vite and Preact logos to learn more
29
- </p>
27
+ </section>
28
+
29
+ <div class="ticks"></div>
30
+
31
+ <section id="next-steps">
32
+ <div id="docs">
33
+ <svg class="icon" role="presentation" aria-hidden="true">
34
+ <use href="/icons.svg#documentation-icon"></use>
35
+ </svg>
36
+ <h2>Documentation</h2>
37
+ <p>Your questions, answered</p>
38
+ <ul>
39
+ <li>
40
+ <a href="https://vite.dev/" target="_blank">
41
+ <img class="logo" src={viteLogo} alt="" />
42
+ Explore Vite
43
+ </a>
44
+ </li>
45
+ <li>
46
+ <a href="https://preactjs.com/" target="_blank">
47
+ <img class="button-icon" src={preactLogo} alt="" />
48
+ Learn more
49
+ </a>
50
+ </li>
51
+ </ul>
52
+ </div>
53
+ <div id="social">
54
+ <svg class="icon" role="presentation" aria-hidden="true">
55
+ <use href="/icons.svg#social-icon"></use>
56
+ </svg>
57
+ <h2>Connect with us</h2>
58
+ <p>Join the Vite community</p>
59
+ <ul>
60
+ <li>
61
+ <a href="https://github.com/vitejs/vite" target="_blank">
62
+ <svg class="button-icon" role="presentation" aria-hidden="true">
63
+ <use href="/icons.svg#github-icon"></use>
64
+ </svg>
65
+ GitHub
66
+ </a>
67
+ </li>
68
+ <li>
69
+ <a href="https://chat.vite.dev/" target="_blank">
70
+ <svg class="button-icon" role="presentation" aria-hidden="true">
71
+ <use href="/icons.svg#discord-icon"></use>
72
+ </svg>
73
+ Discord
74
+ </a>
75
+ </li>
76
+ <li>
77
+ <a href="https://x.com/vite_js" target="_blank">
78
+ <svg class="button-icon" role="presentation" aria-hidden="true">
79
+ <use href="/icons.svg#x-icon"></use>
80
+ </svg>
81
+ X.com
82
+ </a>
83
+ </li>
84
+ <li>
85
+ <a href="https://bsky.app/profile/vite.dev" target="_blank">
86
+ <svg class="button-icon" role="presentation" aria-hidden="true">
87
+ <use href="/icons.svg#bluesky-icon"></use>
88
+ </svg>
89
+ Bluesky
90
+ </a>
91
+ </li>
92
+ </ul>
93
+ </div>
94
+ </section>
95
+
96
+ <div class="ticks"></div>
97
+ <section id="spacer"></section>
30
98
  </>
31
99
  )
32
100
  }
@@ -1,69 +1,111 @@
1
1
  :root {
2
- font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
3
- line-height: 1.5;
4
- font-weight: 400;
2
+ --text: #6b6375;
3
+ --text-h: #08060d;
4
+ --bg: #fff;
5
+ --border: #e5e4e7;
6
+ --code-bg: #f4f3ec;
7
+ --accent: #aa3bff;
8
+ --accent-bg: rgba(170, 59, 255, 0.1);
9
+ --accent-border: rgba(170, 59, 255, 0.5);
10
+ --social-bg: rgba(244, 243, 236, 0.5);
11
+ --shadow:
12
+ rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px;
5
13
 
6
- color-scheme: light dark;
7
- color: rgba(255, 255, 255, 0.87);
8
- background-color: #242424;
14
+ --sans: system-ui, 'Segoe UI', Roboto, sans-serif;
15
+ --heading: system-ui, 'Segoe UI', Roboto, sans-serif;
16
+ --mono: ui-monospace, Consolas, monospace;
9
17
 
18
+ font: 18px/145% var(--sans);
19
+ letter-spacing: 0.18px;
20
+ color-scheme: light dark;
21
+ color: var(--text);
22
+ background: var(--bg);
10
23
  font-synthesis: none;
11
24
  text-rendering: optimizeLegibility;
12
25
  -webkit-font-smoothing: antialiased;
13
26
  -moz-osx-font-smoothing: grayscale;
14
- -webkit-text-size-adjust: 100%;
15
- }
16
27
 
17
- a {
18
- font-weight: 500;
19
- color: #646cff;
20
- text-decoration: inherit;
28
+ @media (max-width: 1024px) {
29
+ font-size: 16px;
30
+ }
21
31
  }
22
- a:hover {
23
- color: #535bf2;
32
+
33
+ @media (prefers-color-scheme: dark) {
34
+ :root {
35
+ --text: #9ca3af;
36
+ --text-h: #f3f4f6;
37
+ --bg: #16171d;
38
+ --border: #2e303a;
39
+ --code-bg: #1f2028;
40
+ --accent: #c084fc;
41
+ --accent-bg: rgba(192, 132, 252, 0.15);
42
+ --accent-border: rgba(192, 132, 252, 0.5);
43
+ --social-bg: rgba(47, 48, 58, 0.5);
44
+ --shadow:
45
+ rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px;
46
+ }
47
+
48
+ #social .button-icon {
49
+ filter: invert(1) brightness(2);
50
+ }
24
51
  }
25
52
 
26
53
  body {
27
54
  margin: 0;
28
- display: flex;
29
- place-items: center;
30
- min-width: 320px;
31
- min-height: 100vh;
32
55
  }
33
56
 
34
- h1 {
35
- font-size: 3.2em;
36
- line-height: 1.1;
57
+ #app {
58
+ width: 1126px;
59
+ max-width: 100%;
60
+ margin: 0 auto;
61
+ text-align: center;
62
+ border-inline: 1px solid var(--border);
63
+ min-height: 100svh;
64
+ display: flex;
65
+ flex-direction: column;
66
+ box-sizing: border-box;
37
67
  }
38
68
 
39
- button {
40
- border-radius: 8px;
41
- border: 1px solid transparent;
42
- padding: 0.6em 1.2em;
43
- font-size: 1em;
69
+ h1,
70
+ h2 {
71
+ font-family: var(--heading);
44
72
  font-weight: 500;
45
- font-family: inherit;
46
- background-color: #1a1a1a;
47
- cursor: pointer;
48
- transition: border-color 0.25s;
49
- }
50
- button:hover {
51
- border-color: #646cff;
52
- }
53
- button:focus,
54
- button:focus-visible {
55
- outline: 4px auto -webkit-focus-ring-color;
73
+ color: var(--text-h);
56
74
  }
57
75
 
58
- @media (prefers-color-scheme: light) {
59
- :root {
60
- color: #213547;
61
- background-color: #ffffff;
62
- }
63
- a:hover {
64
- color: #747bff;
76
+ h1 {
77
+ font-size: 56px;
78
+ letter-spacing: -1.68px;
79
+ margin: 32px 0;
80
+ @media (max-width: 1024px) {
81
+ font-size: 36px;
82
+ margin: 20px 0;
65
83
  }
66
- button {
67
- background-color: #f9f9f9;
84
+ }
85
+ h2 {
86
+ font-size: 24px;
87
+ line-height: 118%;
88
+ letter-spacing: -0.24px;
89
+ margin: 0 0 8px;
90
+ @media (max-width: 1024px) {
91
+ font-size: 20px;
68
92
  }
69
93
  }
94
+ p {
95
+ margin: 0;
96
+ }
97
+
98
+ code,
99
+ .counter {
100
+ font-family: var(--mono);
101
+ display: inline-flex;
102
+ border-radius: 4px;
103
+ color: var(--text-h);
104
+ }
105
+
106
+ code {
107
+ font-size: 15px;
108
+ line-height: 135%;
109
+ padding: 4px 8px;
110
+ background: var(--code-bg);
111
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
+ "target": "es2023",
5
+ "module": "esnext",
6
+ "lib": ["ES2023", "DOM"],
7
+ "types": ["vite/client"],
8
+ "skipLibCheck": true,
9
+ "paths": {
10
+ "react": ["./node_modules/preact/compat/"],
11
+ "react-dom": ["./node_modules/preact/compat/"]
12
+ },
13
+
14
+ /* Bundler mode */
15
+ "moduleResolution": "bundler",
16
+ "allowImportingTsExtensions": true,
17
+ "verbatimModuleSyntax": true,
18
+ "moduleDetection": "force",
19
+ "noEmit": true,
20
+ "jsx": "react-jsx",
21
+ "jsxImportSource": "preact",
22
+
23
+ /* Linting */
24
+ "noUnusedLocals": true,
25
+ "noUnusedParameters": true,
26
+ "erasableSyntaxOnly": true,
27
+ "noFallthroughCasesInSwitch": true
28
+ },
29
+ "include": ["src"]
30
+ }
@@ -1,31 +1,7 @@
1
1
  {
2
- "compilerOptions": {
3
- "target": "es2022",
4
- "useDefineForClassFields": true,
5
- "module": "esnext",
6
- "lib": ["ES2022", "DOM", "DOM.Iterable"],
7
- "skipLibCheck": true,
8
- "paths": {
9
- "react": ["./node_modules/preact/compat/"],
10
- "react-dom": ["./node_modules/preact/compat/"]
11
- },
12
-
13
- /* Bundler mode */
14
- "moduleResolution": "bundler",
15
- "allowImportingTsExtensions": true,
16
- "isolatedModules": true,
17
- "moduleDetection": "force",
18
- "noEmit": true,
19
- "jsx": "react-jsx",
20
- "jsxImportSource": "preact",
21
-
22
- /* Linting */
23
- "strict": true,
24
- "noUnusedLocals": true,
25
- "noUnusedParameters": true,
26
- "noFallthroughCasesInSwitch": true,
27
- "noUncheckedSideEffectImports": true
28
- },
29
- "include": ["src"],
30
- "references": [{ "path": "./tsconfig.node.json" }]
2
+ "files": [],
3
+ "references": [
4
+ { "path": "./tsconfig.app.json" },
5
+ { "path": "./tsconfig.node.json" }
6
+ ]
31
7
  }
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "composite": true,
4
3
  "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
5
4
  "target": "es2023",
6
5
  "lib": ["ES2023"],
7
6
  "module": "esnext",
7
+ "types": ["node"],
8
8
  "skipLibCheck": true,
9
9
 
10
10
  /* Bundler mode */
11
11
  "moduleResolution": "bundler",
12
12
  "allowImportingTsExtensions": true,
13
- "isolatedModules": true,
13
+ "verbatimModuleSyntax": true,
14
14
  "moduleDetection": "force",
15
+ "noEmit": true,
15
16
 
16
17
  /* Linting */
17
- "strict": true,
18
18
  "noUnusedLocals": true,
19
19
  "noUnusedParameters": true,
20
- "noFallthroughCasesInSwitch": true,
21
- "noUncheckedSideEffectImports": true
20
+ "erasableSyntaxOnly": true,
21
+ "noFallthroughCasesInSwitch": true
22
22
  },
23
23
  "include": ["vite.config.ts"]
24
24
  }
@@ -0,0 +1,16 @@
1
+ # React + Vite
2
+
3
+ This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
+
5
+ Currently, two official plugins are available:
6
+
7
+ - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs)
8
+ - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/)
9
+
10
+ ## React Compiler
11
+
12
+ The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
13
+
14
+ ## Expanding the ESLint configuration
15
+
16
+ If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
@@ -2,7 +2,7 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/vite.svg" />
5
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Vite + React</title>
8
8
  <!--app-head-->
@@ -18,10 +18,10 @@
18
18
  "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
- "@types/react": "^19.2.10",
21
+ "@types/react": "^19.2.14",
22
22
  "@types/react-dom": "^19.2.3",
23
- "@vitejs/plugin-react": "^5.1.2",
23
+ "@vitejs/plugin-react": "^6.0.1",
24
24
  "cross-env": "^10.1.0",
25
- "vite": "^7.3.1"
25
+ "vite": "^8.0.3"
26
26
  }
27
27
  }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="48" height="46" fill="none" viewBox="0 0 48 46"><path fill="#863bff" d="M25.946 44.938c-.664.845-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.287c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.497 0-3.578-1.842-3.578H1.237c-.92 0-1.456-1.04-.92-1.788L10.013.474c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.579 1.842 3.579h11.377c.943 0 1.473 1.088.89 1.83L25.947 44.94z" style="fill:#863bff;fill:color(display-p3 .5252 .23 1);fill-opacity:1"/><mask id="a" width="48" height="46" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M25.842 44.938c-.664.844-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.183c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.498 0-3.579-1.842-3.579H1.133c-.92 0-1.456-1.04-.92-1.787L9.91.473c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.578 1.842 3.578h11.377c.943 0 1.473 1.088.89 1.832L25.843 44.94z" style="fill:#000;fill-opacity:1"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#ede6ff" rx="5.508" ry="14.704" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -4.47 31.516)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#ede6ff" rx="10.399" ry="29.851" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -39.328 7.883)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#7e14ff" rx="5.508" ry="30.487" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -25.913 -14.639)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -32.644 -3.334)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -34.34 30.47)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#ede6ff" rx="14.072" ry="22.078" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="rotate(93.35 24.506 48.493)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx=".387" cy="8.972" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(39.51 .387 8.972)"/></g><g filter="url(#k)"><ellipse cx="47.523" cy="-6.092" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 47.523 -6.092)"/></g><g filter="url(#l)"><ellipse cx="41.412" cy="6.333" fill="#47bfff" rx="5.971" ry="9.665" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 41.412 6.333)"/></g><g filter="url(#m)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#n)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#o)"><ellipse cx="35.651" cy="29.907" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 35.651 29.907)"/></g><g filter="url(#p)"><ellipse cx="38.418" cy="32.4" fill="#47bfff" rx="5.971" ry="15.297" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 38.418 32.4)"/></g></g><defs><filter id="b" width="60.045" height="41.654" x="-19.77" y="16.149" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-54.613" y="-7.533" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-49.64" y="2.03" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-45.045" y="20.029" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-43.513" y="21.178" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="15.756" y="-17.901" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-27.636" y="-22.853" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="20.116" y="-38.415" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="24.641" y="-11.323" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="8.244" y="-2.416" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="18.713" y="10.588" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter></defs></svg>