slidev-theme-neversink 0.0.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.
- package/.github/workflows/deploy.yml +67 -0
- package/.prettierrc +15 -0
- package/.vscode/settings.json +4 -0
- package/LICENSE +21 -0
- package/README.md +112 -0
- package/assets/nyu_long_black_on_white.svg +41 -0
- package/components/Admonition.vue +80 -0
- package/components/AdmonitionType.vue +56 -0
- package/components/CreditScroll.vue +94 -0
- package/components/SpeechBubble.vue +294 -0
- package/components/StickyNote.vue +71 -0
- package/components/vue3-kawaii/README.md +5 -0
- package/components/vue3-kawaii/components/backpack/BackPack.vue +123 -0
- package/components/vue3-kawaii/components/backpack/backpackpaths.js +17 -0
- package/components/vue3-kawaii/components/browser/Browser.vue +56 -0
- package/components/vue3-kawaii/components/browser/browserpaths.js +9 -0
- package/components/vue3-kawaii/components/cat/Cat.vue +89 -0
- package/components/vue3-kawaii/components/cat/catpaths.js +8 -0
- package/components/vue3-kawaii/components/common/face/Face.vue +95 -0
- package/components/vue3-kawaii/components/common/face/facepaths.js +24 -0
- package/components/vue3-kawaii/components/common/wrapper/Wrapper.vue +24 -0
- package/components/vue3-kawaii/components/creditCard/CreditCard.vue +47 -0
- package/components/vue3-kawaii/components/creditCard/creditcardpaths.js +8 -0
- package/components/vue3-kawaii/components/ghost/Ghost.vue +48 -0
- package/components/vue3-kawaii/components/ghost/ghostpaths.js +8 -0
- package/components/vue3-kawaii/components/iceCream/IceCream.vue +49 -0
- package/components/vue3-kawaii/components/iceCream/icecreampaths.js +9 -0
- package/components/vue3-kawaii/components/mug/Mug.vue +48 -0
- package/components/vue3-kawaii/components/mug/mugpaths.js +7 -0
- package/components/vue3-kawaii/components/planet/Planet.vue +58 -0
- package/components/vue3-kawaii/components/planet/planetpaths.js +7 -0
- package/components/vue3-kawaii/components/speechBubble/SpeechBubbleGuy.vue +63 -0
- package/components/vue3-kawaii/components/speechBubble/speechbubblepaths.js +8 -0
- package/components/vue3-kawaii/utils/getUniqueId.js +10 -0
- package/docs/.vitepress/config.js +75 -0
- package/docs/.vitepress/theme/index.js +50 -0
- package/docs/.vitepress/theme/style.css +145 -0
- package/docs/api-examples.md +49 -0
- package/docs/branding.md +43 -0
- package/docs/colors.md +108 -0
- package/docs/components/admonitions.md +106 -0
- package/docs/components/creditscroll.md +1 -0
- package/docs/components/kawaii.md +26 -0
- package/docs/components/qrcode.md +24 -0
- package/docs/components/speechbubble.md +69 -0
- package/docs/components/stickynote.md +54 -0
- package/docs/components.md +19 -0
- package/docs/contributing.md +5 -0
- package/docs/customizing.md +38 -0
- package/docs/getting-started.md +32 -0
- package/docs/index.md +19 -0
- package/docs/layouts/cover.md +69 -0
- package/docs/layouts/credits.md +111 -0
- package/docs/layouts/default.md +88 -0
- package/docs/layouts/full.md +131 -0
- package/docs/layouts/intro.md +63 -0
- package/docs/layouts/quote.md +51 -0
- package/docs/layouts/section.md +67 -0
- package/docs/layouts/side-title.md +180 -0
- package/docs/layouts/top-title-two-cols.md +171 -0
- package/docs/layouts/top-title.md +103 -0
- package/docs/layouts/two-cols-title.md +273 -0
- package/docs/layouts.md +92 -0
- package/docs/markdown-examples.md +85 -0
- package/docs/markdown.md +87 -0
- package/docs/parts/columnsystem.md +18 -0
- package/docs/parts/layoutpicker.md +73 -0
- package/docs/public/deck.png +0 -0
- package/docs/public/layouts/side-title-12row.svg +27 -0
- package/docs/public/layouts/side-title-is-3.svg +7 -0
- package/docs/public/layouts/side-title-is-6.svg +7 -0
- package/docs/public/layouts/side-title-side.svg +13 -0
- package/docs/public/layouts/two-col-title-12row.svg +31 -0
- package/docs/public/layouts/two-col-title-align.svg +13 -0
- package/docs/public/layouts/two-col-title-is-4.svg +23 -0
- package/docs/public/layouts/two-col-title-is-6.svg +23 -0
- package/docs/public/layouts/two-col-title-titlepos.svg +31 -0
- package/docs/public/screenshots/1.png +0 -0
- package/docs/public/screenshots/10.png +0 -0
- package/docs/public/screenshots/11.png +0 -0
- package/docs/public/screenshots/12.png +0 -0
- package/docs/public/screenshots/13.png +0 -0
- package/docs/public/screenshots/14.png +0 -0
- package/docs/public/screenshots/15.png +0 -0
- package/docs/public/screenshots/16.png +0 -0
- package/docs/public/screenshots/17.png +0 -0
- package/docs/public/screenshots/18.png +0 -0
- package/docs/public/screenshots/19.png +0 -0
- package/docs/public/screenshots/2.png +0 -0
- package/docs/public/screenshots/20.png +0 -0
- package/docs/public/screenshots/21.png +0 -0
- package/docs/public/screenshots/22.png +0 -0
- package/docs/public/screenshots/23.png +0 -0
- package/docs/public/screenshots/24.png +0 -0
- package/docs/public/screenshots/25.png +0 -0
- package/docs/public/screenshots/26.png +0 -0
- package/docs/public/screenshots/27.png +0 -0
- package/docs/public/screenshots/28.png +0 -0
- package/docs/public/screenshots/29.png +0 -0
- package/docs/public/screenshots/3.png +0 -0
- package/docs/public/screenshots/30.png +0 -0
- package/docs/public/screenshots/31.png +0 -0
- package/docs/public/screenshots/32.png +0 -0
- package/docs/public/screenshots/33.png +0 -0
- package/docs/public/screenshots/34.png +0 -0
- package/docs/public/screenshots/35.png +0 -0
- package/docs/public/screenshots/36.png +0 -0
- package/docs/public/screenshots/37.png +0 -0
- package/docs/public/screenshots/38.png +0 -0
- package/docs/public/screenshots/4.png +0 -0
- package/docs/public/screenshots/5.png +0 -0
- package/docs/public/screenshots/6.png +0 -0
- package/docs/public/screenshots/7.png +0 -0
- package/docs/public/screenshots/8.png +0 -0
- package/docs/public/screenshots/9.png +0 -0
- package/example.md +1503 -0
- package/layoutHelper.ts +118 -0
- package/layouts/cover.vue +93 -0
- package/layouts/credits.vue +35 -0
- package/layouts/default.vue +18 -0
- package/layouts/four-cell.vue +210 -0
- package/layouts/full.vue +22 -0
- package/layouts/intro.vue +75 -0
- package/layouts/quote.vue +62 -0
- package/layouts/section.vue +84 -0
- package/layouts/side-title.vue +142 -0
- package/layouts/top-title-two-cols.vue +131 -0
- package/layouts/top-title.vue +63 -0
- package/layouts/two-cols-title.vue +176 -0
- package/layouts/two-cols.vue +141 -0
- package/package.json +54 -0
- package/public/images/photo.png +0 -0
- package/public/images/photo2.png +0 -0
- package/public/images/scatter1.png +0 -0
- package/public/images/scatter1.svg +20 -0
- package/screenshot.md +874 -0
- package/setup/main.ts +45 -0
- package/setup/shiki.ts +14 -0
- package/slide-bottom.vue +107 -0
- package/styles/base.css +240 -0
- package/styles/bubbles.css +4 -0
- package/styles/colors.css +12 -0
- package/styles/index.ts +11 -0
- package/styles/layouts.css +76 -0
- package/styles/stickynote.css +4 -0
- package/uno.config.ts +222 -0
- package/vite.config.ts +16 -0
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
// import { colors } from '@unocss/preset-mini'
|
|
4
|
+
|
|
5
|
+
// console.log(colors)
|
|
6
|
+
|
|
7
|
+
const props = defineProps({
|
|
8
|
+
position: {
|
|
9
|
+
type: String,
|
|
10
|
+
default: 'b',
|
|
11
|
+
validator: (value) => ['t', 'l', 'r', 'b', 'bl', 'br', 'lt', 'tr'].includes(value),
|
|
12
|
+
},
|
|
13
|
+
shape: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: '',
|
|
16
|
+
validator: (value) => ['', 'round', 'circle'].includes(value),
|
|
17
|
+
},
|
|
18
|
+
animation: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: '',
|
|
21
|
+
validator: (value) => ['', 'pop', 'float'].includes(value),
|
|
22
|
+
},
|
|
23
|
+
color: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: 'red-light',
|
|
26
|
+
},
|
|
27
|
+
textAlign: {
|
|
28
|
+
type: String,
|
|
29
|
+
default: 'left',
|
|
30
|
+
},
|
|
31
|
+
maxWidth: {
|
|
32
|
+
type: String,
|
|
33
|
+
default: '100%',
|
|
34
|
+
},
|
|
35
|
+
borderWidth: {
|
|
36
|
+
type: String,
|
|
37
|
+
default: '1px',
|
|
38
|
+
},
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
const colorscheme = computed(() => {
|
|
42
|
+
return `neversink-${props.color}-scheme`
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
const bubbleClasses = computed(() => {
|
|
46
|
+
return [colorscheme.value, 'speech-bubble', props.position, props.shape, props.animation]
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
const bubbleStyles = computed(() => ({
|
|
50
|
+
'--bubble-color': 'var(--neversink-bg-color)',
|
|
51
|
+
'--border-color': 'var(--neversink-fg-color)',
|
|
52
|
+
'--text-color': 'var(--neversink-text-color)',
|
|
53
|
+
'--text-align': props.textAlign,
|
|
54
|
+
}))
|
|
55
|
+
</script>
|
|
56
|
+
|
|
57
|
+
<template>
|
|
58
|
+
<div :class="bubbleClasses" :style="bubbleStyles">
|
|
59
|
+
<slot></slot>
|
|
60
|
+
</div>
|
|
61
|
+
</template>
|
|
62
|
+
|
|
63
|
+
<style>
|
|
64
|
+
.speech-bubble p:first-child {
|
|
65
|
+
margin-top: 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.speech-bubble {
|
|
69
|
+
--arrow-w: 0.5em;
|
|
70
|
+
--arrow-h: 1em;
|
|
71
|
+
--bubble-corners: 2px;
|
|
72
|
+
--w: v-bind(props.maxWidth);
|
|
73
|
+
--border-size: v-bind(props.borderWidth);
|
|
74
|
+
text-align: var(--text-align);
|
|
75
|
+
height: fit-content;
|
|
76
|
+
font-weight: 400;
|
|
77
|
+
font-size: 1.1rem;
|
|
78
|
+
/*color: var(--text-color);*/
|
|
79
|
+
background-color: var(--bubble-color);
|
|
80
|
+
border-color: var(--border-color);
|
|
81
|
+
color: var(--text-color);
|
|
82
|
+
padding: 1em;
|
|
83
|
+
position: relative;
|
|
84
|
+
border-radius: var(--bubble-corners);
|
|
85
|
+
border-width: var(--border-size);
|
|
86
|
+
max-width: var(--w);
|
|
87
|
+
/*box-shadow: 3 3 4 var(--border-size) var(--border-color);*/
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.speech-bubble p {
|
|
91
|
+
margin-top: 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.speech-bubble.round {
|
|
95
|
+
--bubble-corners: 1em;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.speech-bubble.circle {
|
|
99
|
+
--bubble-corners: 100%;
|
|
100
|
+
padding: 2em;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.speech-bubble:before,
|
|
104
|
+
.speech-bubble:after {
|
|
105
|
+
content: '';
|
|
106
|
+
position: absolute;
|
|
107
|
+
bottom: calc(-1 * var(--arrow-h) * 2 + 0.5px);
|
|
108
|
+
left: 50%;
|
|
109
|
+
border-style: solid;
|
|
110
|
+
border-width: var(--arrow-h) var(--arrow-w);
|
|
111
|
+
border-color: var(--bubble-color) transparent transparent;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.speech-bubble:before {
|
|
115
|
+
border-width: calc(var(--arrow-h) + var(--border-size)) calc(var(--arrow-w) + var(--border-size));
|
|
116
|
+
border-color: var(--border-color) transparent transparent;
|
|
117
|
+
bottom: calc(-1 * var(--arrow-h) * 2 - 2.5 * var(--border-size));
|
|
118
|
+
left: calc(50% - var(--border-size));
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.speech-bubble.bl:after {
|
|
122
|
+
left: 10%;
|
|
123
|
+
border-style: solid;
|
|
124
|
+
border-width: var(--arrow-h) var(--arrow-w);
|
|
125
|
+
border-color: var(--bubble-color) transparent transparent;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.speech-bubble.bl:before {
|
|
129
|
+
left: calc(10% - var(--border-size));
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.speech-bubble.br:after {
|
|
133
|
+
left: 88%;
|
|
134
|
+
border-style: solid;
|
|
135
|
+
border-width: var(--arrow-h) var(--arrow-w);
|
|
136
|
+
border-color: var(--bubble-color) transparent transparent;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.speech-bubble.br:before {
|
|
140
|
+
left: calc(88% - var(--border-size));
|
|
141
|
+
}
|
|
142
|
+
.speech-bubble.t:after {
|
|
143
|
+
border-color: transparent transparent var(--bubble-color);
|
|
144
|
+
bottom: auto;
|
|
145
|
+
top: calc(-1 * var(--arrow-h) * 2 + 0.5px);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.speech-bubble.t:before {
|
|
149
|
+
border-width: calc(var(--arrow-h) + var(--border-size)) calc(var(--arrow-w) + var(--border-size));
|
|
150
|
+
border-color: transparent transparent var(--border-color);
|
|
151
|
+
bottom: auto;
|
|
152
|
+
top: calc(-1 * var(--arrow-h) * 2 - 2.5 * var(--border-size));
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.speech-bubble.tl:after {
|
|
156
|
+
border-color: transparent transparent var(--bubble-color);
|
|
157
|
+
bottom: auto;
|
|
158
|
+
left: 10%;
|
|
159
|
+
top: calc(-1 * var(--arrow-h) * 2 + 0.5px);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.speech-bubble.tl:before {
|
|
163
|
+
border-width: calc(var(--arrow-h) + var(--border-size)) calc(var(--arrow-w) + var(--border-size));
|
|
164
|
+
border-color: transparent transparent var(--border-color);
|
|
165
|
+
bottom: auto;
|
|
166
|
+
left: calc(10% - var(--border-size));
|
|
167
|
+
top: calc(-1 * var(--arrow-h) * 2 - 2.5 * var(--border-size));
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.speech-bubble.tr:after {
|
|
171
|
+
border-color: transparent transparent var(--bubble-color);
|
|
172
|
+
bottom: auto;
|
|
173
|
+
left: 90%;
|
|
174
|
+
top: calc(-1 * var(--arrow-h) * 2 + 0.5px);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.speech-bubble.tr:before {
|
|
178
|
+
border-width: calc(var(--arrow-h) + var(--border-size)) calc(var(--arrow-w) + var(--border-size));
|
|
179
|
+
border-color: transparent transparent var(--border-color);
|
|
180
|
+
bottom: auto;
|
|
181
|
+
left: calc(90% - var(--border-size));
|
|
182
|
+
top: calc(-1 * var(--arrow-h) * 2 - 2.5 * var(--border-size));
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.speech-bubble.l:after {
|
|
186
|
+
border-color: transparent var(--bubble-color) transparent transparent;
|
|
187
|
+
bottom: auto;
|
|
188
|
+
border-width: var(--arrow-w) var(--arrow-h);
|
|
189
|
+
top: calc(50% - var(--arrow-w));
|
|
190
|
+
left: calc(-1 * var(--arrow-h) * 2 + 0.5px);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.speech-bubble.l:before {
|
|
194
|
+
border-width: calc(var(--arrow-w) + var(--border-size)) calc(var(--arrow-h) + var(--border-size));
|
|
195
|
+
border-color: transparent var(--border-color) transparent transparent;
|
|
196
|
+
bottom: auto;
|
|
197
|
+
top: calc(50% - var(--arrow-w) - var(--border-size));
|
|
198
|
+
left: calc(-1 * var(--arrow-h) * 2 - 2.5 * var(--border-size));
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.speech-bubble.r:after {
|
|
202
|
+
border-color: transparent transparent transparent var(--bubble-color);
|
|
203
|
+
bottom: auto;
|
|
204
|
+
left: auto;
|
|
205
|
+
border-width: var(--arrow-w) var(--arrow-h);
|
|
206
|
+
top: calc(50% - var(--arrow-w));
|
|
207
|
+
right: calc(-1 * var(--arrow-h) * 2 + 0.5px);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.speech-bubble.r:before {
|
|
211
|
+
border-width: calc(var(--arrow-w) + var(--border-size)) calc(var(--arrow-h) + var(--border-size));
|
|
212
|
+
border-color: transparent transparent transparent var(--border-color);
|
|
213
|
+
bottom: auto;
|
|
214
|
+
left: auto;
|
|
215
|
+
top: calc(50% - var(--arrow-w) - var(--border-size));
|
|
216
|
+
right: calc(-1 * var(--arrow-h) * 2 - 2.5 * var(--border-size));
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.speech-bubble.pop {
|
|
220
|
+
animation-name: pop;
|
|
221
|
+
animation-duration: 0.5s;
|
|
222
|
+
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.speech-bubble.float {
|
|
226
|
+
animation-name: float-up;
|
|
227
|
+
animation-duration: 2s;
|
|
228
|
+
animation-iteration-count: infinite;
|
|
229
|
+
animation-timing-function: ease;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.speech-bubble.r.float {
|
|
233
|
+
animation-name: float-left;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.speech-bubble.l.float {
|
|
237
|
+
animation-name: float-right;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.speech-bubble.t.float {
|
|
241
|
+
animation-name: float-down;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
@keyframes pop {
|
|
245
|
+
0% {
|
|
246
|
+
transform: scale(0.8);
|
|
247
|
+
}
|
|
248
|
+
80% {
|
|
249
|
+
transform: scale(1.1);
|
|
250
|
+
}
|
|
251
|
+
90% {
|
|
252
|
+
transform: scale(0.9);
|
|
253
|
+
}
|
|
254
|
+
100% {
|
|
255
|
+
transform: scale(1);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
@keyframes float-up {
|
|
260
|
+
0% {
|
|
261
|
+
transform: translateY(0);
|
|
262
|
+
}
|
|
263
|
+
50% {
|
|
264
|
+
transform: translateY(calc(-1 * var(--arrow-h)));
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
@keyframes float-left {
|
|
269
|
+
0% {
|
|
270
|
+
transform: translateX(0);
|
|
271
|
+
}
|
|
272
|
+
50% {
|
|
273
|
+
transform: translateX(calc(-1 * var(--arrow-h)));
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
@keyframes float-right {
|
|
278
|
+
0% {
|
|
279
|
+
transform: translateX(0);
|
|
280
|
+
}
|
|
281
|
+
50% {
|
|
282
|
+
transform: translateX(var(--arrow-h));
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
@keyframes float-down {
|
|
287
|
+
0% {
|
|
288
|
+
transform: translateY(0);
|
|
289
|
+
}
|
|
290
|
+
50% {
|
|
291
|
+
transform: translateY(var(--arrow-h));
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
</style>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
|
|
4
|
+
const props = defineProps({
|
|
5
|
+
color: {
|
|
6
|
+
type: String,
|
|
7
|
+
default: 'amber-light',
|
|
8
|
+
},
|
|
9
|
+
textAlign: {
|
|
10
|
+
type: String,
|
|
11
|
+
default: 'left',
|
|
12
|
+
},
|
|
13
|
+
width: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: '180px',
|
|
16
|
+
},
|
|
17
|
+
title: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: '',
|
|
20
|
+
},
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
const colorscheme = computed(() => {
|
|
24
|
+
return `neversink-${props.color}-scheme`
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
const stickyClasses = computed(() => {
|
|
28
|
+
return [colorscheme.value, 'sticky-note']
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
const stickyStyles = computed(() => ({
|
|
32
|
+
'--sticky-color': 'var(--neversink-bg-color)',
|
|
33
|
+
'--border-color': 'var(--neversink-fg-color)',
|
|
34
|
+
'--text-color': 'var(--neversink-text-color)',
|
|
35
|
+
'--text-align': props.textAlign,
|
|
36
|
+
'--width': props.width,
|
|
37
|
+
}))
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
<template>
|
|
41
|
+
<div :class="stickyClasses" :style="stickyStyles">
|
|
42
|
+
<template v-if="props.title !== ''"
|
|
43
|
+
><strong>{{ props.title }}</strong></template
|
|
44
|
+
>
|
|
45
|
+
<slot></slot>
|
|
46
|
+
</div>
|
|
47
|
+
</template>
|
|
48
|
+
|
|
49
|
+
<style scoped>
|
|
50
|
+
.sticky-note {
|
|
51
|
+
width: var(--width);
|
|
52
|
+
height: var(--width);
|
|
53
|
+
background-color: var(--sticky-color, yellow);
|
|
54
|
+
text-align: var(--text-align, left);
|
|
55
|
+
max-width: 100%;
|
|
56
|
+
padding: 1em;
|
|
57
|
+
position: relative;
|
|
58
|
+
box-shadow: 5px 4px 6px rgba(0, 0, 0, 0.1);
|
|
59
|
+
font-weight: 400;
|
|
60
|
+
font-size: 0.8rem;
|
|
61
|
+
color: var(--text-color);
|
|
62
|
+
border: 0.4px solid var(--border-color);
|
|
63
|
+
}
|
|
64
|
+
.sticky-note strong {
|
|
65
|
+
display: block;
|
|
66
|
+
font-size: 0.8rem;
|
|
67
|
+
font-family: monospace;
|
|
68
|
+
letter-spacing: 0em;
|
|
69
|
+
word-spacing: -0.3em;
|
|
70
|
+
}
|
|
71
|
+
</style>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# vue3-kawaii
|
|
2
|
+
|
|
3
|
+
Vue-kawaii is a collection of vue components that render cute characters. It is a vue port for react-kawaii.
|
|
4
|
+
The original repo is for vue2 and hasn't been updated. Here I used Claude 3.5 and updated the code to work with
|
|
5
|
+
Vue 3. I might someday host the full package on npm, but for now, I'm just using the components in this project.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
import paths from './backpackpaths.js'
|
|
4
|
+
import getUniqueId from '../../utils/getUniqueId.js'
|
|
5
|
+
import Face from '../common/face/Face.vue'
|
|
6
|
+
import Wrapper from '../common/wrapper/Wrapper.vue'
|
|
7
|
+
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
size: {
|
|
10
|
+
type: Number,
|
|
11
|
+
default: 240,
|
|
12
|
+
},
|
|
13
|
+
mood: {
|
|
14
|
+
type: String,
|
|
15
|
+
validator(val) {
|
|
16
|
+
return ['sad', 'shocked', 'happy', 'blissful', 'lovestruck', 'excited', 'ko'].includes(val)
|
|
17
|
+
},
|
|
18
|
+
default: 'blissful',
|
|
19
|
+
},
|
|
20
|
+
color: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: '#FFD882',
|
|
23
|
+
},
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
const width = computed(() => props.size * 0.63)
|
|
27
|
+
const uniqueId = computed(() => getUniqueId())
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<Wrapper>
|
|
32
|
+
<svg xmlns:xlink="http://www.w3.org/1999/xlink" :width="width" :height="size" viewBox="0 0 138 218">
|
|
33
|
+
<defs>
|
|
34
|
+
<path id="pocket__shape-path" :d="paths.pocketShapePath" />
|
|
35
|
+
<path id="pocket__shape__shadow-path" :d="paths.pocketShapeShadowPath" />
|
|
36
|
+
</defs>
|
|
37
|
+
<g id="kawaii-backpack" transform="translate(0 -1)">
|
|
38
|
+
<g id="right-shoulder-strap" transform="matrix(-1 0 0 1 125.901 13.054)">
|
|
39
|
+
<path id="right-shoulder-strap__back" :fill="color" d="M0 5.948v43.619l13.879-14.792z" />
|
|
40
|
+
<path
|
|
41
|
+
id="right-shoulder-strap__back__shadow"
|
|
42
|
+
fill="#FFF"
|
|
43
|
+
fill-rule="nonzero"
|
|
44
|
+
opacity="0.4"
|
|
45
|
+
d="M0 5.948v43.619l13.879-14.792z"
|
|
46
|
+
/>
|
|
47
|
+
<path id="right-shoulder-strap__front" :fill="color" d="M9.193 34.697L0 5.127 21.014 0l7.735 24.677z" />
|
|
48
|
+
</g>
|
|
49
|
+
<g id="left-shoulder-strap" transform="translate(11.896 13.054)">
|
|
50
|
+
<path id="left-shoulder-strap__back" :fill="color" d="M0 5.948v43.619l13.879-14.792z" />
|
|
51
|
+
<path
|
|
52
|
+
id="left-shoulder-strap__back_shadow"
|
|
53
|
+
fill="#FFF"
|
|
54
|
+
fill-rule="nonzero"
|
|
55
|
+
opacity="0.4"
|
|
56
|
+
d="M0 5.948v43.619l13.879-14.792z"
|
|
57
|
+
/>
|
|
58
|
+
<path id="left-shoulder-strap__front" :fill="color" d="M9.193 34.697L0 5.127 21.014 0l7.735 24.677z" />
|
|
59
|
+
</g>
|
|
60
|
+
<g id="hanging-loop" transform="translate(47.585)">
|
|
61
|
+
<path id="hanging-loop__back" :fill="color" d="M16.853 7.931h9.913L21.81.991z" />
|
|
62
|
+
<path
|
|
63
|
+
id="hanging-loop__back_shadow"
|
|
64
|
+
fill="#121212"
|
|
65
|
+
fill-rule="nonzero"
|
|
66
|
+
opacity="0.14"
|
|
67
|
+
d="M16.853 7.931h9.913L21.81.991z"
|
|
68
|
+
/>
|
|
69
|
+
<path id="hanging-loop__shape" :fill="color" :d="paths.hangingLoopShape" />
|
|
70
|
+
</g>
|
|
71
|
+
<g id="main-compartment" transform="translate(0 26.617)">
|
|
72
|
+
<path id="main-compartment__shape" :fill="color" :d="paths.mainCompartmentShape" />
|
|
73
|
+
<path
|
|
74
|
+
id="main-compartment__bottom-stripe"
|
|
75
|
+
fill="#121212"
|
|
76
|
+
fill-rule="nonzero"
|
|
77
|
+
:d="paths.mainCompartmentBottomStripe"
|
|
78
|
+
opacity="0.07"
|
|
79
|
+
/>
|
|
80
|
+
<Face :mood="mood" transform="translate(36 70)" :uniqueId="uniqueId" />
|
|
81
|
+
<path
|
|
82
|
+
id="main-compartment__top"
|
|
83
|
+
fill="#121212"
|
|
84
|
+
fill-rule="nonzero"
|
|
85
|
+
:d="paths.mainCompartmentTop"
|
|
86
|
+
opacity="0.07"
|
|
87
|
+
/>
|
|
88
|
+
</g>
|
|
89
|
+
<g id="pocket" transform="translate(12.888 135.981)">
|
|
90
|
+
<mask id="mask-4" fill="#fff">
|
|
91
|
+
<use xlink:href="#pocket__shape-path" />
|
|
92
|
+
</mask>
|
|
93
|
+
<use id="pocket__shape" :fill="color" xlink:href="#pocket__shape-path" />
|
|
94
|
+
<mask id="mask-6" fill="#fff">
|
|
95
|
+
<use xlink:href="#pocket__shape__shadow-path" />
|
|
96
|
+
</mask>
|
|
97
|
+
<use
|
|
98
|
+
id="pocket__shape__shadow"
|
|
99
|
+
fill="#121212"
|
|
100
|
+
fill-rule="nonzero"
|
|
101
|
+
opacity="0.14"
|
|
102
|
+
xlink:href="#pocket__shape__shadow-path"
|
|
103
|
+
/>
|
|
104
|
+
<g id="Group-6" mask="url(#mask-6)">
|
|
105
|
+
<g transform="translate(0 15.862)">
|
|
106
|
+
<path id="Rectangle-7" fill="#33363B" opacity="0.408" d="M0 2.974h113.014v2.974H0z" />
|
|
107
|
+
<path id="Rectangle-7-Copy" fill="#555D67" opacity="0.408" d="M0 0h113.014v2.974H0z" />
|
|
108
|
+
<path id="Rectangle-8" fill="#6D727A" opacity="0.587" d="M107.066 0h5.948v5.948h-5.948z" />
|
|
109
|
+
<path id="zip" fill="#49505A" :d="paths.zip" opacity="0.746" />
|
|
110
|
+
</g>
|
|
111
|
+
</g>
|
|
112
|
+
<g id="brand" mask="url(#mask-6)">
|
|
113
|
+
<g transform="translate(78.737 39.368)">
|
|
114
|
+
<path id="Rectangle-6" fill="#FFFDFD" d="M0 0h27.789v18.526H0z" />
|
|
115
|
+
<path id="Rectangle-6-Copy" fill="#121212" opacity="0.298" d="M1.158 1.158h25.474v16.211H1.158z" />
|
|
116
|
+
<path id="brand" fill="#FFF" d="M2.316 2.316h23.158v13.895H2.316z" />
|
|
117
|
+
</g>
|
|
118
|
+
</g>
|
|
119
|
+
</g>
|
|
120
|
+
</g>
|
|
121
|
+
</svg>
|
|
122
|
+
</Wrapper>
|
|
123
|
+
</template>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const paths = {
|
|
2
|
+
pocketShapePath:
|
|
3
|
+
'M11.329 0h90.555c7.42 0 11.13 2.538 11.13 7.614v49.828c0 5.325-3.36 7.987-10.082 7.987H11.414c-8.474 0-12.23-2.6-11.267-7.802V7.263C.147 2.42 3.875 0 11.33 0z',
|
|
4
|
+
pocketShapeShadowPath:
|
|
5
|
+
'M11.329 0h90.555c7.42 0 11.13 2.538 11.13 7.614v49.828c0 5.325-3.36 7.987-10.082 7.987H11.414c-8.474 0-12.23-2.6-11.267-7.802V7.263C.147 2.42 3.875 0 11.33 0z',
|
|
6
|
+
hangingLoopShape:
|
|
7
|
+
'M0 33.872c3.088-9.656 5.841-16.215 8.258-19.678 1.945-2.786 4.895-4.488 6.72-6.462 3.444-3.722 5.393-6.574 6.665-6.574 1.12 0-3.688 3.488-5.891 10.96-1.04 3.529-2.014 10.78-2.919 21.754H0zm43.62.992H30.8c-.904-11.217-1.876-18.63-2.915-22.237-2.2-7.636-7.029-11.47-5.91-11.47 1.271 0 3.243 3.183 6.682 6.987 1.824 2.018 4.77 3.758 6.713 6.606 2.415 3.539 5.164 10.244 8.25 20.114z',
|
|
8
|
+
mainCompartmentShape:
|
|
9
|
+
'M68.899 0c38.235 0 68.898 34.267 68.898 76.539v93.207c0 14.095-10.283 21.584-22.966 21.584H22.966C10.283 191.33 0 183.84 0 169.746V76.54C0 34.267 30.664 0 68.899 0z',
|
|
10
|
+
mainCompartmentBottomStripe:
|
|
11
|
+
'M137.797 156.949v13.373c0 13.924-10.283 21.324-22.966 21.324H22.966c-12.683 0-22.966-7.4-22.966-21.324v-13.373h137.797z',
|
|
12
|
+
mainCompartmentTop:
|
|
13
|
+
'M137.797 82.423v-5.948C137.797 34.423 107.134.333 68.9.333S-.001 34.423 0 76.475v5.948C0 40.371 30.664 6.281 68.899 6.281s68.898 34.09 68.898 76.142z',
|
|
14
|
+
zip: 'M109.285 1.983h2.028l.547 8.922h-2.974l.4-8.922zm.592 6.94v.99h.991v-.99h-.99z',
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default paths
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
import paths from './browserpaths.js'
|
|
4
|
+
import getUniqueId from '../../utils/getUniqueId.js'
|
|
5
|
+
import Face from '../common/face/Face.vue'
|
|
6
|
+
import Wrapper from '../common/wrapper/Wrapper.vue'
|
|
7
|
+
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
size: {
|
|
10
|
+
type: Number,
|
|
11
|
+
default: 180,
|
|
12
|
+
},
|
|
13
|
+
mood: {
|
|
14
|
+
type: String,
|
|
15
|
+
validator(val) {
|
|
16
|
+
return ['sad', 'shocked', 'happy', 'blissful', 'lovestruck', 'excited', 'ko'].includes(val)
|
|
17
|
+
},
|
|
18
|
+
default: 'ko',
|
|
19
|
+
},
|
|
20
|
+
color: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: '#FDA7DC',
|
|
23
|
+
},
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
const width = computed(() => props.size * 1.44)
|
|
27
|
+
const uniqueId = computed(() => getUniqueId())
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<Wrapper>
|
|
32
|
+
<svg
|
|
33
|
+
:width="width"
|
|
34
|
+
:height="size"
|
|
35
|
+
viewBox="0 0 200 139"
|
|
36
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
37
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
38
|
+
>
|
|
39
|
+
<g id="kawaii-browser">
|
|
40
|
+
<g id="kawaii-browser__body" fill-rule="nonzero">
|
|
41
|
+
<path :d="paths.shape" id="kawaii-browser__shape" :fill="color" />
|
|
42
|
+
<path :d="paths.shadow" id="kawaii-browser__shadow" fill="#121212" opacity=".1" />
|
|
43
|
+
<g id="address-bar" transform="translate(.097)">
|
|
44
|
+
<path :d="paths.addressBar" fill="#111" />
|
|
45
|
+
<ellipse fill="#FFF" cx="168.855" cy="10.901" rx="3.4" ry="3.395" />
|
|
46
|
+
<ellipse fill="#FFF" cx="180.074" cy="10.901" rx="3.4" ry="3.395" />
|
|
47
|
+
<g id="address" transform="translate(12.654 5.47)" fill="#FFF">
|
|
48
|
+
<rect x=".277" y=".163" width="145.775" height="10.563" rx="5.282" />
|
|
49
|
+
</g>
|
|
50
|
+
</g>
|
|
51
|
+
</g>
|
|
52
|
+
<Face :mood="mood" transform="translate(67 63)" :uniqueId="uniqueId" />
|
|
53
|
+
</g>
|
|
54
|
+
</svg>
|
|
55
|
+
</Wrapper>
|
|
56
|
+
</template>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const paths = {
|
|
2
|
+
shape:
|
|
3
|
+
'M199.648 71.479V22.712C199.645 10.22 189.412-.003 176.902 0L22.74.006C10.233.006 0 10.228 0 22.72v92.044l.055-.01c.403 3.632 3.537 22.819 24.729 22.819 23.407 0 144.572 1.377 152.834 0 8.261-1.377 22.03-4.13 22.03-23.408V71.479z',
|
|
4
|
+
shadow:
|
|
5
|
+
'M134.155 138.181c22.682.029 40.563-.108 43.562-.608 8.262-1.377 22.03-4.13 22.03-23.408V22.712C199.746 10.22 189.513-.003 177.002 0h-10.427c12.449.071 22.607 10.265 22.61 22.712v91.453c0 19.277-13.769 22.031-22.03 23.408-2.515.42-15.497.583-33 .608z',
|
|
6
|
+
addressBar: 'M0 22.712C0 10.228 10.23.006 22.733.006L176.842 0c12.506-.003 22.736 10.22 22.738 22.712',
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export default paths
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
import paths from './catpaths.js'
|
|
4
|
+
import getUniqueId from '../../utils/getUniqueId.js'
|
|
5
|
+
import Face from '../common/face/Face.vue'
|
|
6
|
+
import Wrapper from '../common/wrapper/Wrapper.vue'
|
|
7
|
+
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
size: {
|
|
10
|
+
type: Number,
|
|
11
|
+
default: 320,
|
|
12
|
+
},
|
|
13
|
+
mood: {
|
|
14
|
+
type: String,
|
|
15
|
+
validator(val) {
|
|
16
|
+
return ['sad', 'shocked', 'happy', 'blissful', 'lovestruck', 'excited', 'ko'].includes(val)
|
|
17
|
+
},
|
|
18
|
+
default: 'excited',
|
|
19
|
+
},
|
|
20
|
+
color: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: '#596881',
|
|
23
|
+
},
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
const width = computed(() => props.size * 0.84)
|
|
27
|
+
const uniqueId = computed(() => getUniqueId())
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<Wrapper>
|
|
32
|
+
<svg xmlns="http://www.w3.org/2000/svg" :width="width" :height="size" viewBox="0 0 185 220">
|
|
33
|
+
<g id="Kawaii-Builder" fill="none" fill-rule="evenodd">
|
|
34
|
+
<g id="kawaii-cat">
|
|
35
|
+
<g id="kawaii-cat_tail" transform="translate(29.23 153.846)" fill-rule="nonzero">
|
|
36
|
+
<path
|
|
37
|
+
d="M45.487 29.59l3.18 5.077s-7.744 6.666-17.282 8.615C24.513 44.718.05 46.564.05 21.846s17.231-28.82 9.436-7.949c0 0-2.82 8.77.82 14.667 3.642 5.898 14.052 11.128 23.488 6.257l11.692-5.231z"
|
|
38
|
+
id="tail_inner_shadow"
|
|
39
|
+
:fill="color"
|
|
40
|
+
/>
|
|
41
|
+
<path
|
|
42
|
+
d="M45.487 29.59l3.18 5.077s-7.744 6.666-17.282 8.615C24.513 44.718.05 46.564.05 21.846s17.231-28.82 9.436-7.949c0 0-2.82 8.77.82 14.667 3.642 5.898 14.052 11.128 23.488 6.257l11.692-5.231z"
|
|
43
|
+
id="tail_inner"
|
|
44
|
+
fill="#121212"
|
|
45
|
+
opacity="0.25"
|
|
46
|
+
/>
|
|
47
|
+
</g>
|
|
48
|
+
<g id="kawaii-cat_legs" transform="translate(81 190)" :fill="color" fill-rule="nonzero">
|
|
49
|
+
<path :d="paths.legs" id="kawaii-cat_legs_inner" />
|
|
50
|
+
</g>
|
|
51
|
+
<g id="kawaii-cat_arms" transform="translate(58 132)" :fill="color" fill-rule="nonzero">
|
|
52
|
+
<path d="M55.949.205s27.948 51.641 2 53.898" id="arm-r" />
|
|
53
|
+
<path d="M13.641.205s-27.949 51.641-2 53.898" id="arm-l" />
|
|
54
|
+
</g>
|
|
55
|
+
<g
|
|
56
|
+
id="kawaii-cat_arms-shadow"
|
|
57
|
+
transform="translate(58 132)"
|
|
58
|
+
fill="#121212"
|
|
59
|
+
fill-rule="nonzero"
|
|
60
|
+
opacity="0.25"
|
|
61
|
+
>
|
|
62
|
+
<path d="M55.949.205s27.948 51.641 2 53.898" id="arm-r" />
|
|
63
|
+
<path d="M13.641.205s-27.949 51.641-2 53.898" id="arm-l" />
|
|
64
|
+
</g>
|
|
65
|
+
<path :d="paths.body" id="kawaii-cat_body" :fill="color" fill-rule="nonzero" />
|
|
66
|
+
<g id="kawaii-cat_ears" transform="translate(34 23)" fill="#121212" fill-rule="nonzero" opacity="0.25">
|
|
67
|
+
<path d="M103.795 2.897s18.718-8.974 13.077 8.975" id="kawaii-cat_ear-r" />
|
|
68
|
+
<path d="M14.923 2.538S-3.795-6.436 1.846 11.513" id="kawaii-cat_ear-l" />
|
|
69
|
+
</g>
|
|
70
|
+
<path
|
|
71
|
+
d="M92.243 190.282h.004v-48.667h-.004c7.075-.36 11.946-2.615 11.946-2.615 16.709 54.254-11.62 51.324-11.946 51.282-.376.042-28.705 2.972-11.945-51.282 0 0 4.869 2.255 11.942 2.615z"
|
|
72
|
+
id="kawaii-cat_belly"
|
|
73
|
+
fill="#121212"
|
|
74
|
+
fill-rule="nonzero"
|
|
75
|
+
opacity="0.25"
|
|
76
|
+
/>
|
|
77
|
+
<Face :mood="mood" transform="translate(59 67)" :uniqueId="uniqueId" />
|
|
78
|
+
<path
|
|
79
|
+
d="M96.935 77.625c-.975-2.106-8.13-2.227-8.889 0-.47 1.458 2.746 4.454 4.372 4.373 1.663-.121 5.095-3.118 4.517-4.373z"
|
|
80
|
+
id="kawaii-cat_nose"
|
|
81
|
+
fill="#121212"
|
|
82
|
+
fill-rule="nonzero"
|
|
83
|
+
/>
|
|
84
|
+
<path :d="paths.shadow" id="kawaii-cat_shadow" fill="#121212" fill-rule="nonzero" opacity="0.1" />
|
|
85
|
+
</g>
|
|
86
|
+
</g>
|
|
87
|
+
</svg>
|
|
88
|
+
</Wrapper>
|
|
89
|
+
</template>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const paths = {
|
|
2
|
+
body: 'M113.876 132.295c.91 2.705 21.818 65.749-6.184 65.397H77.846c-27.898.35-7.248-62.228-6.195-65.365-19.954-2.157-47.848-9.752-55.173-35.81-3.673-1.957-6.497-3.081-6.497-3.081l4.667-5.333S-3.096 89.64 1.109 85.436s13.333-15.744 13.333-15.744-11.23 2.103-9.128 0c1.044-1.044 6.153-3.788 12.67-8.442 3.162-9.69 8.325-17.38 14.502-23.48-4.482-10.424-.853-20.191 1.822-21.206 2.226-.83 14.75 3.197 21.214 5.384 4.043-6.006 6.53-12.307 6.53-12.307l5.333 4.667S65.846-3.436 70.05.769s15.744 13.334 15.744 13.334-2.103-11.231 0-9.129c2.051 2.052 10.667 19.795 27.436 33.077-9.487-7.436-22-14.41-37.949-21.23-10.77 4.615-19.897 9.076-27.641 13.64 8.462-5.743 14.41-20.82 14.41-20.82l5.334 4.667S65.846-3.436 70.05.769c4.2 4.2 15.712 13.308 15.744 13.334-.008-.041-2.099-11.227 0-9.129.862.863 2.885 4.5 6.187 9.412l.48-.018v-.009s.052 0 .153.004l.154-.004c.306.019.832.04 1.554.084 3.182-4.76 5.14-8.265 5.985-9.11 2.102-2.102 0 9.129 0 9.129s11.538-9.129 15.743-13.334 2.667 13.539 2.667 13.539L124.05 10s2.475 6.22 6.474 12.204c6.58-2.216 18.582-6.04 20.757-5.23 2.672 1.014 6.296 10.76 1.838 21.17 6.084 6.113 11.15 13.797 14.24 23.454 6.28 4.443 11.16 7.077 12.178 8.094 2.103 2.103-9.128 0-9.128 0s9.128 11.539 13.334 15.744c4.018 4.018-12.005 2.792-13.437 2.675l-.01.097 4.575 5.228s-2.6 1.034-6.054 2.846c-7.188 26.118-34.949 33.806-54.942 36.013z',
|
|
3
|
+
shadow:
|
|
4
|
+
'M167.36 61.598c6.28 4.443 11.16 7.077 12.178 8.094 2.103 2.103-9.128 0-9.128 0s9.128 11.539 13.334 15.744c4.018 4.018-12.005 2.792-13.437 2.675l-.01.097 4.575 5.228s-2.6 1.034-6.054 2.846c-7.17 26.053-34.81 33.768-54.791 35.996-.72.08-1.433-.184-2.142-.791.847-.136 1.701-.282 2.562-.44 23.176-4.238 50.835-16.837 47.912-53.816-3.869-48.949-50.714-59.804-69.841-62.199-.02-.224-.038-.448-.056-.673 0 0 .667.011 1.878.085a1.95 1.95 0 0 1 .132-.224c3.094-4.646 5.004-8.055 5.836-8.887 2.102-2.102 0 9.129 0 9.129s11.538-9.129 15.743-13.334 2.667 13.539 2.667 13.539L124.05 10s2.508 6.302 6.554 12.323c1.037-.522 2.307-.958 2.492-1.02 10.446-3.511 16.508-4.954 18.185-4.329 2.672 1.014 6.296 10.76 1.838 21.17 6.084 6.113 11.15 13.797 14.24 23.454z',
|
|
5
|
+
legs: 'M8.846 3.692C7.36 11.59 4.59 20.615 8.692 28.205c.667 1.23-1.897 1.487-2.513 1.59C4.744 29.949 3 29.333 2.231 28c-4.36-8.051.102-18.205 1.743-26.667C4.18.205 9.154 2 8.846 3.693zM14.128 14.359c-.256 4.872 1.026 9.692 2.667 14.205.872 2.36 6.564.872 5.743-1.436-1.487-4.154-2.717-8.513-2.615-12.923.103-3.23 1.026-6.308 2.256-9.282 1.129-2.82-4.153-2.718-5.025-.564h-.513c-1.282 3.23-2.359 6.513-2.513 10z',
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export default paths
|