+ {#await loadSvg()}
+
+
+
+ Spinner
+ Creating svg
+
+ {:then banner}
+
+ {/await}
+
+
+
diff --git a/apps/www/src/lib/imports.d.ts b/apps/www/src/lib/imports.d.ts
index 44237b8..35fa9ea 100644
--- a/apps/www/src/lib/imports.d.ts
+++ b/apps/www/src/lib/imports.d.ts
@@ -4,7 +4,6 @@
// Generated by unplugin-auto-import
export {}
declare global {
- const Banner: typeof import('./Banner')['default']
const afterUpdate: typeof import('svelte')['afterUpdate']
const backIn: typeof import('svelte/easing')['backIn']
const backInOut: typeof import('svelte/easing')['backInOut']
@@ -19,16 +18,15 @@ declare global {
const circOut: typeof import('svelte/easing')['circOut']
const createEventDispatcher: typeof import('svelte')['createEventDispatcher']
const crossfade: typeof import('svelte/transition')['crossfade']
- const csr: typeof import('../routes/+page')['csr']
const cubicIn: typeof import('svelte/easing')['cubicIn']
const cubicInOut: typeof import('svelte/easing')['cubicInOut']
const cubicOut: typeof import('svelte/easing')['cubicOut']
- const data: typeof import('../routes/+page.svelte')['data']
const derived: typeof import('svelte/store')['derived']
const draw: typeof import('svelte/transition')['draw']
const elasticIn: typeof import('svelte/easing')['elasticIn']
const elasticInOut: typeof import('svelte/easing')['elasticInOut']
const elasticOut: typeof import('svelte/easing')['elasticOut']
+ const encodeSvg: typeof import('./utils')['encodeSvg']
const expoIn: typeof import('svelte/easing')['expoIn']
const expoInOut: typeof import('svelte/easing')['expoInOut']
const expoOut: typeof import('svelte/easing')['expoOut']
@@ -42,6 +40,7 @@ declare global {
const linear: typeof import('svelte/easing')['linear']
const onDestroy: typeof import('svelte')['onDestroy']
const onMount: typeof import('svelte')['onMount']
+ const pastSvg: typeof import('./state')['pastSvg']
const quadIn: typeof import('svelte/easing')['quadIn']
const quadInOut: typeof import('svelte/easing')['quadInOut']
const quadOut: typeof import('svelte/easing')['quadOut']
@@ -52,7 +51,6 @@ declare global {
const quintInOut: typeof import('svelte/easing')['quintInOut']
const quintOut: typeof import('svelte/easing')['quintOut']
const readable: typeof import('svelte/store')['readable']
- const render: typeof import('./render')['default']
const scale: typeof import('svelte/transition')['scale']
const setContext: typeof import('svelte')['setContext']
const sineIn: typeof import('svelte/easing')['sineIn']
@@ -60,7 +58,6 @@ declare global {
const sineOut: typeof import('svelte/easing')['sineOut']
const slide: typeof import('svelte/transition')['slide']
const spring: typeof import('svelte/motion')['spring']
- const ssr: typeof import('../routes/+page')['ssr']
const tick: typeof import('svelte')['tick']
const tweened: typeof import('svelte/motion')['tweened']
const writable: typeof import('svelte/store')['writable']
diff --git a/apps/www/src/lib/state.ts b/apps/www/src/lib/state.ts
new file mode 100644
index 0000000..a950a39
--- /dev/null
+++ b/apps/www/src/lib/state.ts
@@ -0,0 +1 @@
+export const pastSvg = writable('');
diff --git a/apps/www/src/lib/utils.ts b/apps/www/src/lib/utils.ts
new file mode 100644
index 0000000..0e09f45
--- /dev/null
+++ b/apps/www/src/lib/utils.ts
@@ -0,0 +1,17 @@
+/**
+ * @author Taylor Hunt
+ * @see {@link https://codepen.io/tigt/post/optimizing-svgs-in-data-uris}
+ * @see {@link https://gist.github.com/jennyknuth/222825e315d45a738ed9d6e04c7a88d0}
+ */
+export function encodeSvg(svg: string) {
+ return svg.replace('