@cuemath/leap 3.2.22 → 3.2.23-m
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/dist/features/stickers/sticker-data.js +234 -0
- package/dist/features/stickers/sticker-data.js.map +1 -0
- package/dist/features/{ui/sticker-grid/sticker-grid-styles.js → stickers/sticker-selector/sticker-selector-styles.js} +21 -31
- package/dist/features/stickers/sticker-selector/sticker-selector-styles.js.map +1 -0
- package/dist/features/stickers/sticker-selector/sticker-selector.js +27 -0
- package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -0
- package/dist/features/stickers/sticker-selector/sticker.js +57 -0
- package/dist/features/stickers/sticker-selector/sticker.js.map +1 -0
- package/dist/features/{ui/stickers/stickers-effects.js → stickers/stickers-effects/effects.js} +6 -6
- package/dist/features/stickers/stickers-effects/effects.js.map +1 -0
- package/dist/features/stickers/stickers-effects/stickers-cache.js +19 -0
- package/dist/features/stickers/stickers-effects/stickers-cache.js.map +1 -0
- package/dist/features/stickers/stickers-effects/stickers-effects-helper.js +86 -0
- package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +1 -0
- package/dist/features/{ui/stickers/stickers-styled.js → stickers/stickers-effects/stickers-effects-styled.js} +2 -2
- package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +1 -0
- package/dist/features/stickers/stickers-effects/stickers-effects.js +54 -0
- package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -0
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js +88 -75
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js.map +1 -1
- package/dist/features/ui/lottie-animation/lottie-animation.js +36 -31
- package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
- package/dist/features/ui/modals/modal-styled.js +39 -8
- package/dist/features/ui/modals/modal-styled.js.map +1 -1
- package/dist/features/ui/modals/modal.js +31 -31
- package/dist/features/ui/modals/modal.js.map +1 -1
- package/dist/index.d.ts +75 -34
- package/dist/index.js +341 -339
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/features/ui/sticker-grid/sticker-grid-styles.js.map +0 -1
- package/dist/features/ui/sticker-grid/sticker-grid.js +0 -24
- package/dist/features/ui/sticker-grid/sticker-grid.js.map +0 -1
- package/dist/features/ui/sticker-grid/sticker.js +0 -57
- package/dist/features/ui/sticker-grid/sticker.js.map +0 -1
- package/dist/features/ui/stickers/constants.js +0 -6
- package/dist/features/ui/stickers/constants.js.map +0 -1
- package/dist/features/ui/stickers/stickers-effects.js.map +0 -1
- package/dist/features/ui/stickers/stickers-styled.js.map +0 -1
- package/dist/features/ui/stickers/stickers-utils.js +0 -91
- package/dist/features/ui/stickers/stickers-utils.js.map +0 -1
- package/dist/features/ui/stickers/stickers.js +0 -40
- package/dist/features/ui/stickers/stickers.js.map +0 -1
@@ -0,0 +1,234 @@
|
|
1
|
+
const t = [
|
2
|
+
{
|
3
|
+
id: "star-struck",
|
4
|
+
emoji: "🤩",
|
5
|
+
name: "Star-Struck",
|
6
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f929/lottie.json"
|
7
|
+
},
|
8
|
+
{
|
9
|
+
id: "heart-eyes",
|
10
|
+
emoji: "😍",
|
11
|
+
name: "Heart Eyes",
|
12
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f60d/lottie.json"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
id: "holding-back-tears",
|
16
|
+
emoji: "🥹",
|
17
|
+
name: "Holding Back Tears",
|
18
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f979/lottie.json"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
id: "sunglasses",
|
22
|
+
emoji: "😎",
|
23
|
+
name: "Sunglasses",
|
24
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f60e/lottie.json"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
id: "exploding-head",
|
28
|
+
emoji: "🤯",
|
29
|
+
name: "Exploding Head",
|
30
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f92f/lottie.json"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
id: "thinking",
|
34
|
+
emoji: "🤔",
|
35
|
+
name: "Thinking",
|
36
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f914/lottie.json"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
id: "party",
|
40
|
+
emoji: "🥳",
|
41
|
+
name: "Party",
|
42
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f973/lottie.json"
|
43
|
+
},
|
44
|
+
{
|
45
|
+
id: "confetti-ball",
|
46
|
+
emoji: "🎊",
|
47
|
+
name: "Confetti Ball",
|
48
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f38a/lottie.json"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
id: "celebration",
|
52
|
+
emoji: "🎉",
|
53
|
+
name: "Celebration",
|
54
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f389/lottie.json"
|
55
|
+
},
|
56
|
+
{
|
57
|
+
id: "balloon",
|
58
|
+
emoji: "🎈",
|
59
|
+
name: "Balloon",
|
60
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f388/lottie.json"
|
61
|
+
},
|
62
|
+
{
|
63
|
+
id: "cake",
|
64
|
+
emoji: "🎂",
|
65
|
+
name: "Cake",
|
66
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f382/lottie.json"
|
67
|
+
},
|
68
|
+
{
|
69
|
+
id: "clapping",
|
70
|
+
emoji: "👏",
|
71
|
+
name: "Clapping",
|
72
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f44f/lottie.json"
|
73
|
+
},
|
74
|
+
{
|
75
|
+
id: "thumbs-up",
|
76
|
+
emoji: "👍",
|
77
|
+
name: "Thumbs Up",
|
78
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f44d/lottie.json"
|
79
|
+
},
|
80
|
+
{
|
81
|
+
id: "peace",
|
82
|
+
emoji: "✌️",
|
83
|
+
name: "Peace",
|
84
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/270c_fe0f/lottie.json"
|
85
|
+
},
|
86
|
+
{
|
87
|
+
id: "ok-hand",
|
88
|
+
emoji: "👌",
|
89
|
+
name: "OK Hand",
|
90
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f44c/lottie.json"
|
91
|
+
},
|
92
|
+
{
|
93
|
+
id: "muscle",
|
94
|
+
emoji: "💪",
|
95
|
+
name: "Muscle",
|
96
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f4aa/lottie.json"
|
97
|
+
},
|
98
|
+
{
|
99
|
+
id: "rock-on",
|
100
|
+
emoji: "🤟",
|
101
|
+
name: "Rock On",
|
102
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f91f/lottie.json"
|
103
|
+
},
|
104
|
+
{
|
105
|
+
id: "heart",
|
106
|
+
emoji: "❤️",
|
107
|
+
name: "Heart",
|
108
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/2764_fe0f/lottie.json"
|
109
|
+
},
|
110
|
+
{
|
111
|
+
id: "trophy",
|
112
|
+
emoji: "🏆",
|
113
|
+
name: "Trophy",
|
114
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f3c6/lottie.json"
|
115
|
+
},
|
116
|
+
{
|
117
|
+
id: "hundred",
|
118
|
+
emoji: "💯",
|
119
|
+
name: "Hundred",
|
120
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f4af/lottie.json"
|
121
|
+
},
|
122
|
+
{
|
123
|
+
id: "gold-medal",
|
124
|
+
emoji: "🥇",
|
125
|
+
name: "Gold Medal",
|
126
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f947/lottie.json"
|
127
|
+
},
|
128
|
+
{
|
129
|
+
id: "silver-medal",
|
130
|
+
emoji: "🥈",
|
131
|
+
name: "Silver Medal",
|
132
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f948/lottie.json"
|
133
|
+
},
|
134
|
+
{
|
135
|
+
id: "bronze-medal",
|
136
|
+
emoji: "🥉",
|
137
|
+
name: "Bronze Medal",
|
138
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f949/lottie.json"
|
139
|
+
},
|
140
|
+
{
|
141
|
+
id: "target",
|
142
|
+
emoji: "🎯",
|
143
|
+
name: "Target",
|
144
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f3af/lottie.json"
|
145
|
+
},
|
146
|
+
{
|
147
|
+
id: "glowing-star",
|
148
|
+
emoji: "🌟",
|
149
|
+
name: "Glowing Star",
|
150
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f31f/lottie.json"
|
151
|
+
},
|
152
|
+
{
|
153
|
+
id: "lightning",
|
154
|
+
emoji: "⚡️",
|
155
|
+
name: "Lightning",
|
156
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/26a1/lottie.json"
|
157
|
+
},
|
158
|
+
{
|
159
|
+
id: "rocket",
|
160
|
+
emoji: "🚀",
|
161
|
+
name: "Rocket",
|
162
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f680/lottie.json"
|
163
|
+
},
|
164
|
+
{
|
165
|
+
id: "explosion",
|
166
|
+
emoji: "💥",
|
167
|
+
name: "Explosion",
|
168
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f4a5/lottie.json"
|
169
|
+
},
|
170
|
+
{
|
171
|
+
id: "graduation",
|
172
|
+
emoji: "🎓",
|
173
|
+
name: "Graduation",
|
174
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f393/lottie.json"
|
175
|
+
},
|
176
|
+
{
|
177
|
+
id: "clock",
|
178
|
+
emoji: "⏰",
|
179
|
+
name: "Clock",
|
180
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/23f0/lottie.json"
|
181
|
+
},
|
182
|
+
{
|
183
|
+
id: "bulb",
|
184
|
+
emoji: "💡",
|
185
|
+
name: "Bulb",
|
186
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f4a1/lottie.json"
|
187
|
+
},
|
188
|
+
{
|
189
|
+
id: "rainbow",
|
190
|
+
emoji: "🌈",
|
191
|
+
name: "Rainbow",
|
192
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f308/lottie.json"
|
193
|
+
},
|
194
|
+
{
|
195
|
+
id: "clown",
|
196
|
+
emoji: "🤡",
|
197
|
+
name: "Clown",
|
198
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f921/lottie.json"
|
199
|
+
},
|
200
|
+
{
|
201
|
+
id: "dancer",
|
202
|
+
emoji: "💃",
|
203
|
+
name: "Dancer",
|
204
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f483/lottie.json"
|
205
|
+
},
|
206
|
+
{
|
207
|
+
id: "flowers",
|
208
|
+
emoji: "💐",
|
209
|
+
name: "Flowers",
|
210
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f490/lottie.json"
|
211
|
+
},
|
212
|
+
{
|
213
|
+
id: "unicorn",
|
214
|
+
emoji: "🦄",
|
215
|
+
name: "Unicorn",
|
216
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f984/lottie.json"
|
217
|
+
},
|
218
|
+
{
|
219
|
+
id: "drum",
|
220
|
+
emoji: "🥁",
|
221
|
+
name: "Drum",
|
222
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f941/lottie.json"
|
223
|
+
},
|
224
|
+
{
|
225
|
+
id: "diamond",
|
226
|
+
emoji: "💎",
|
227
|
+
name: "Diamond",
|
228
|
+
lottieUrl: "https://fonts.gstatic.com/s/e/notoemoji/latest/1f48e/lottie.json"
|
229
|
+
}
|
230
|
+
];
|
231
|
+
export {
|
232
|
+
t as stickerData
|
233
|
+
};
|
234
|
+
//# sourceMappingURL=sticker-data.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sticker-data.js","sources":["../../../src/features/stickers/sticker-data.ts"],"sourcesContent":["import type { IStickerData } from './sticker-selector/sticker-selector-types';\n\nexport const stickerData: IStickerData[] = [\n {\n id: 'star-struck',\n emoji: '🤩',\n name: 'Star-Struck',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f929/lottie.json',\n },\n {\n id: 'heart-eyes',\n emoji: '😍',\n name: 'Heart Eyes',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f60d/lottie.json',\n },\n {\n id: 'holding-back-tears',\n emoji: '🥹',\n name: 'Holding Back Tears',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f979/lottie.json',\n },\n {\n id: 'sunglasses',\n emoji: '😎',\n name: 'Sunglasses',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f60e/lottie.json',\n },\n {\n id: 'exploding-head',\n emoji: '🤯',\n name: 'Exploding Head',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f92f/lottie.json',\n },\n {\n id: 'thinking',\n emoji: '🤔',\n name: 'Thinking',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f914/lottie.json',\n },\n {\n id: 'party',\n emoji: '🥳',\n name: 'Party',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f973/lottie.json',\n },\n {\n id: 'confetti-ball',\n emoji: '🎊',\n name: 'Confetti Ball',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f38a/lottie.json',\n },\n {\n id: 'celebration',\n emoji: '🎉',\n name: 'Celebration',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f389/lottie.json',\n },\n {\n id: 'balloon',\n emoji: '🎈',\n name: 'Balloon',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f388/lottie.json',\n },\n {\n id: 'cake',\n emoji: '🎂',\n name: 'Cake',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f382/lottie.json',\n },\n {\n id: 'clapping',\n emoji: '👏',\n name: 'Clapping',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f44f/lottie.json',\n },\n {\n id: 'thumbs-up',\n emoji: '👍',\n name: 'Thumbs Up',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f44d/lottie.json',\n },\n {\n id: 'peace',\n emoji: '✌️',\n name: 'Peace',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/270c_fe0f/lottie.json',\n },\n {\n id: 'ok-hand',\n emoji: '👌',\n name: 'OK Hand',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f44c/lottie.json',\n },\n {\n id: 'muscle',\n emoji: '💪',\n name: 'Muscle',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f4aa/lottie.json',\n },\n {\n id: 'rock-on',\n emoji: '🤟',\n name: 'Rock On',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f91f/lottie.json',\n },\n {\n id: 'heart',\n emoji: '❤️',\n name: 'Heart',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/2764_fe0f/lottie.json',\n },\n {\n id: 'trophy',\n emoji: '🏆',\n name: 'Trophy',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f3c6/lottie.json',\n },\n {\n id: 'hundred',\n emoji: '💯',\n name: 'Hundred',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f4af/lottie.json',\n },\n {\n id: 'gold-medal',\n emoji: '🥇',\n name: 'Gold Medal',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f947/lottie.json',\n },\n {\n id: 'silver-medal',\n emoji: '🥈',\n name: 'Silver Medal',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f948/lottie.json',\n },\n {\n id: 'bronze-medal',\n emoji: '🥉',\n name: 'Bronze Medal',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f949/lottie.json',\n },\n {\n id: 'target',\n emoji: '🎯',\n name: 'Target',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f3af/lottie.json',\n },\n {\n id: 'glowing-star',\n emoji: '🌟',\n name: 'Glowing Star',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f31f/lottie.json',\n },\n {\n id: 'lightning',\n emoji: '⚡️',\n name: 'Lightning',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/26a1/lottie.json',\n },\n {\n id: 'rocket',\n emoji: '🚀',\n name: 'Rocket',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f680/lottie.json',\n },\n {\n id: 'explosion',\n emoji: '💥',\n name: 'Explosion',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f4a5/lottie.json',\n },\n {\n id: 'graduation',\n emoji: '🎓',\n name: 'Graduation',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f393/lottie.json',\n },\n {\n id: 'clock',\n emoji: '⏰',\n name: 'Clock',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/23f0/lottie.json',\n },\n {\n id: 'bulb',\n emoji: '💡',\n name: 'Bulb',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f4a1/lottie.json',\n },\n {\n id: 'rainbow',\n emoji: '🌈',\n name: 'Rainbow',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f308/lottie.json',\n },\n {\n id: 'clown',\n emoji: '🤡',\n name: 'Clown',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f921/lottie.json',\n },\n {\n id: 'dancer',\n emoji: '💃',\n name: 'Dancer',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f483/lottie.json',\n },\n {\n id: 'flowers',\n emoji: '💐',\n name: 'Flowers',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f490/lottie.json',\n },\n {\n id: 'unicorn',\n emoji: '🦄',\n name: 'Unicorn',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f984/lottie.json',\n },\n {\n id: 'drum',\n emoji: '🥁',\n name: 'Drum',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f941/lottie.json',\n },\n {\n id: 'diamond',\n emoji: '💎',\n name: 'Diamond',\n lottieUrl: 'https://fonts.gstatic.com/s/e/notoemoji/latest/1f48e/lottie.json',\n },\n];\n"],"names":["stickerData"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import
|
2
|
-
const
|
1
|
+
import e from "styled-components";
|
2
|
+
const o = e.div`
|
3
3
|
position: relative;
|
4
4
|
width: ${({ $size: t }) => typeof t == "number" ? `${t}px` : t};
|
5
5
|
height: ${({ $size: t }) => typeof t == "number" ? `${t}px` : t};
|
@@ -21,30 +21,31 @@ const e = r.div`
|
|
21
21
|
&:active {
|
22
22
|
transform: ${({ $disabled: t }) => t ? "none" : "scale(0.95)"};
|
23
23
|
}
|
24
|
-
`,
|
24
|
+
`, r = e.div`
|
25
25
|
font-size: ${({ $size: t }) => typeof t == "number" ? `${t * 0.7}px` : "70%"};
|
26
26
|
line-height: 1;
|
27
|
-
display: flex;
|
27
|
+
display: ${({ $visible: t }) => t ? "flex" : "none"};
|
28
28
|
align-items: center;
|
29
29
|
justify-content: center;
|
30
30
|
width: 100%;
|
31
31
|
height: 100%;
|
32
32
|
transition: opacity 0.2s ease;
|
33
|
-
`,
|
33
|
+
`, i = e.div`
|
34
34
|
position: absolute;
|
35
35
|
top: 50%;
|
36
36
|
left: 50%;
|
37
37
|
width: ${({ $size: t }) => typeof t == "number" ? `${t * 0.7}px` : t};
|
38
38
|
height: ${({ $size: t }) => typeof t == "number" ? `${t * 0.7}px` : t};
|
39
|
-
opacity: 0;
|
40
|
-
transition: opacity 0.2s ease;
|
41
39
|
transform: translate(-50%, -50%);
|
42
40
|
pointer-events: none;
|
43
41
|
|
44
|
-
${
|
42
|
+
display: ${({ $visible: t }) => t ? "flex" : "none"};
|
43
|
+
transition: opacity 0.2s ease;
|
44
|
+
|
45
|
+
${o}:hover & {
|
45
46
|
opacity: 1;
|
46
47
|
}
|
47
|
-
`,
|
48
|
+
`, a = e.div`
|
48
49
|
display: grid;
|
49
50
|
grid-template-columns: repeat(${({ $columns: t }) => t}, 1fr);
|
50
51
|
gap: ${({ $gap: t }) => t}px;
|
@@ -53,34 +54,23 @@ const e = r.div`
|
|
53
54
|
border-radius: 12px;
|
54
55
|
max-height: 400px;
|
55
56
|
overflow-y: auto;
|
57
|
+
scrollbar-gutter: stable;
|
56
58
|
|
59
|
+
scrollbar-width: none;
|
60
|
+
-ms-overflow-style: none;
|
57
61
|
&::-webkit-scrollbar {
|
58
|
-
|
59
|
-
}
|
60
|
-
|
61
|
-
&::-webkit-scrollbar-track {
|
62
|
-
background: rgba(255, 255, 255, 0.1);
|
63
|
-
border-radius: 4px;
|
64
|
-
}
|
65
|
-
|
66
|
-
&::-webkit-scrollbar-thumb {
|
67
|
-
background: rgba(255, 255, 255, 0.3);
|
68
|
-
border-radius: 4px;
|
69
|
-
}
|
70
|
-
|
71
|
-
&::-webkit-scrollbar-thumb:hover {
|
72
|
-
background: rgba(255, 255, 255, 0.5);
|
62
|
+
display: none;
|
73
63
|
}
|
74
|
-
`,
|
64
|
+
`, s = e.div`
|
75
65
|
width: 100%;
|
76
66
|
max-width: ${({ $width: t }) => t};
|
77
67
|
max-height: ${({ $height: t }) => t};
|
78
68
|
`;
|
79
69
|
export {
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
70
|
+
i as LottieContainer,
|
71
|
+
r as StaticEmoji,
|
72
|
+
o as StickerContainer,
|
73
|
+
a as StickerGrid,
|
74
|
+
s as StickerGridContainer
|
85
75
|
};
|
86
|
-
//# sourceMappingURL=sticker-
|
76
|
+
//# sourceMappingURL=sticker-selector-styles.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sticker-selector-styles.js","sources":["../../../../src/features/stickers/sticker-selector/sticker-selector-styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StickerContainer = styled.div<{\n $size: number | string;\n $disabled?: boolean;\n}>`\n position: relative;\n width: ${({ $size }) => (typeof $size === 'number' ? `${$size}px` : $size)};\n height: ${({ $size }) => (typeof $size === 'number' ? `${$size}px` : $size)};\n cursor: ${({ $disabled }) => ($disabled ? 'none' : 'pointer')};\n border-radius: 8px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n background-color: transparent;\n opacity: ${({ $disabled }) => ($disabled ? 0.5 : 1)};\n\n &:hover {\n transform: ${({ $disabled }) => ($disabled ? 'none' : 'scale(1.1)')};\n background-color: rgba(255, 255, 255, 0.1);\n }\n\n &:active {\n transform: ${({ $disabled }) => ($disabled ? 'none' : 'scale(0.95)')};\n }\n`;\n\nexport const StaticEmoji = styled.div<{ $size: number | string; $visible: boolean }>`\n font-size: ${({ $size }) => {\n if (typeof $size === 'number') {\n return `${$size * 0.7}px`;\n }\n\n return '70%';\n }};\n line-height: 1;\n display: ${({ $visible }) => ($visible ? 'flex' : 'none')};\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n transition: opacity 0.2s ease;\n`;\n\nexport const LottieContainer = styled.div<{\n $size: number | string;\n $visible?: boolean;\n}>`\n position: absolute;\n top: 50%;\n left: 50%;\n width: ${({ $size }) => (typeof $size === 'number' ? `${$size * 0.7}px` : $size)};\n height: ${({ $size }) => (typeof $size === 'number' ? `${$size * 0.7}px` : $size)};\n transform: translate(-50%, -50%);\n pointer-events: none;\n\n display: ${({ $visible }) => ($visible ? 'flex' : 'none')};\n transition: opacity 0.2s ease;\n\n ${StickerContainer}:hover & {\n opacity: 1;\n }\n`;\n\nexport const StickerGrid = styled.div<{\n $columns: number;\n $gap: number;\n}>`\n display: grid;\n grid-template-columns: repeat(${({ $columns }) => $columns}, 1fr);\n gap: ${({ $gap }) => $gap}px;\n padding: 16px;\n background-color: #2a2a2a;\n border-radius: 12px;\n max-height: 400px;\n overflow-y: auto;\n scrollbar-gutter: stable;\n\n scrollbar-width: none;\n -ms-overflow-style: none;\n &::-webkit-scrollbar {\n display: none;\n }\n`;\n\nexport const StickerGridContainer = styled.div<{\n $width: string;\n $height: string;\n}>`\n width: 100%;\n max-width: ${({ $width }) => $width};\n max-height: ${({ $height }) => $height};\n`;\n"],"names":["StickerContainer","styled","$size","$disabled","StaticEmoji","$visible","LottieContainer","StickerGrid","$columns","$gap","StickerGridContainer","$width","$height"],"mappings":";AAEO,MAAMA,IAAmBC,EAAO;AAAA;AAAA,WAK5B,CAAC,EAAE,OAAAC,EAAa,MAAA,OAAOA,KAAU,WAAW,GAAGA,CAAK,OAAOA,CAAM;AAAA,YAChE,CAAC,EAAE,OAAAA,EAAa,MAAA,OAAOA,KAAU,WAAW,GAAGA,CAAK,OAAOA,CAAM;AAAA,YACjE,CAAC,EAAE,WAAAC,EAAA,MAAiBA,IAAY,SAAS,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAQlD,CAAC,EAAE,WAAAA,EAAA,MAAiBA,IAAY,MAAM,CAAE;AAAA;AAAA;AAAA,iBAGpC,CAAC,EAAE,WAAAA,EAAA,MAAiBA,IAAY,SAAS,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKtD,CAAC,EAAE,WAAAA,EAAA,MAAiBA,IAAY,SAAS,aAAc;AAAA;AAAA,GAI3DC,IAAcH,EAAO;AAAA,eACnB,CAAC,EAAE,OAAAC,QACV,OAAOA,KAAU,WACZ,GAAGA,IAAQ,GAAG,OAGhB,KACR;AAAA;AAAA,aAEU,CAAC,EAAE,UAAAG,EAAA,MAAgBA,IAAW,SAAS,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ9CC,IAAkBL,EAAO;AAAA;AAAA;AAAA;AAAA,WAO3B,CAAC,EAAE,OAAAC,QAAa,OAAOA,KAAU,WAAW,GAAGA,IAAQ,GAAG,OAAOA,CAAM;AAAA,YACtE,CAAC,EAAE,OAAAA,QAAa,OAAOA,KAAU,WAAW,GAAGA,IAAQ,GAAG,OAAOA,CAAM;AAAA;AAAA;AAAA;AAAA,aAItE,CAAC,EAAE,UAAAG,EAAA,MAAgBA,IAAW,SAAS,MAAO;AAAA;AAAA;AAAA,IAGvDL,CAAgB;AAAA;AAAA;AAAA,GAKPO,IAAcN,EAAO;AAAA;AAAA,kCAKA,CAAC,EAAE,UAAAO,EAAS,MAAMA,CAAQ;AAAA,SACnD,CAAC,EAAE,MAAAC,EAAK,MAAMA,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAedC,IAAuBT,EAAO;AAAA;AAAA,eAK5B,CAAC,EAAE,QAAAU,EAAO,MAAMA,CAAM;AAAA,gBACrB,CAAC,EAAE,SAAAC,EAAQ,MAAMA,CAAO;AAAA;"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
2
|
+
import { memo as d } from "react";
|
3
|
+
import { stickerData as l } from "../sticker-data.js";
|
4
|
+
import f from "./sticker.js";
|
5
|
+
import { StickerGridContainer as h, StickerGrid as n } from "./sticker-selector-styles.js";
|
6
|
+
const s = ({
|
7
|
+
stickers: e = l,
|
8
|
+
columns: m = 4,
|
9
|
+
gap: i = 8,
|
10
|
+
stickerSize: p = 72,
|
11
|
+
onStickerClick: o,
|
12
|
+
disabled: a
|
13
|
+
}) => /* @__PURE__ */ t(h, { $width: "350px", $height: "400px", children: /* @__PURE__ */ t(n, { $columns: m, $gap: i, children: e.map((r) => /* @__PURE__ */ t(
|
14
|
+
f,
|
15
|
+
{
|
16
|
+
emoji: r.emoji,
|
17
|
+
lottieUrl: r.lottieUrl,
|
18
|
+
size: p,
|
19
|
+
onClick: () => o == null ? void 0 : o(r),
|
20
|
+
disabled: a
|
21
|
+
},
|
22
|
+
r.id
|
23
|
+
)) }) }), g = d(s);
|
24
|
+
export {
|
25
|
+
g as default
|
26
|
+
};
|
27
|
+
//# sourceMappingURL=sticker-selector.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sticker-selector.js","sources":["../../../../src/features/stickers/sticker-selector/sticker-selector.tsx"],"sourcesContent":["import type { IStickerSelectorProps } from './sticker-selector-types';\n\nimport React, { memo } from 'react';\n\nimport { stickerData } from '../sticker-data';\nimport Sticker from './sticker';\nimport * as S from './sticker-selector-styles';\n\nconst StickerSelector: React.FC<IStickerSelectorProps> = ({\n stickers = stickerData,\n columns = 4,\n gap = 8,\n stickerSize = 72,\n onStickerClick,\n disabled,\n}) => {\n return (\n <S.StickerGridContainer $width=\"350px\" $height=\"400px\">\n <S.StickerGrid $columns={columns} $gap={gap}>\n {stickers.map(sticker => (\n <Sticker\n key={sticker.id}\n emoji={sticker.emoji}\n lottieUrl={sticker.lottieUrl}\n size={stickerSize}\n onClick={() => onStickerClick?.(sticker)}\n disabled={disabled}\n />\n ))}\n </S.StickerGrid>\n </S.StickerGridContainer>\n );\n};\n\nexport default memo(StickerSelector);\n"],"names":["StickerSelector","stickers","stickerData","columns","gap","stickerSize","onStickerClick","disabled","S.StickerGridContainer","jsx","S.StickerGrid","sticker","Sticker","stickerSelector","memo"],"mappings":";;;;;AAQA,MAAMA,IAAmD,CAAC;AAAA,EACxD,UAAAC,IAAWC;AAAA,EACX,SAAAC,IAAU;AAAA,EACV,KAAAC,IAAM;AAAA,EACN,aAAAC,IAAc;AAAA,EACd,gBAAAC;AAAA,EACA,UAAAC;AACF,wBAEKC,GAAA,EAAuB,QAAO,SAAQ,SAAQ,SAC7C,UAAA,gBAAAC,EAACC,GAAA,EAAc,UAAUP,GAAS,MAAMC,GACrC,UAAAH,EAAS,IAAI,CACZU,MAAA,gBAAAF;AAAA,EAACG;AAAA,EAAA;AAAA,IAEC,OAAOD,EAAQ;AAAA,IACf,WAAWA,EAAQ;AAAA,IACnB,MAAMN;AAAA,IACN,SAAS,MAAMC,KAAA,gBAAAA,EAAiBK;AAAA,IAChC,UAAAJ;AAAA,EAAA;AAAA,EALKI,EAAQ;AAAA,CAOhB,GACH,EACF,CAAA,GAIWE,IAAAC,EAAKd,CAAe;"}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { jsxs as S, jsx as i } from "react/jsx-runtime";
|
2
|
+
import { memo as $, useState as f, useRef as L, useCallback as n, useEffect as g } from "react";
|
3
|
+
import k from "../../ui/lottie-animation/lottie-animation.js";
|
4
|
+
import { StickerContainer as E, StaticEmoji as R, LottieContainer as j } from "./sticker-selector-styles.js";
|
5
|
+
const x = ({
|
6
|
+
emoji: l,
|
7
|
+
lottieUrl: c,
|
8
|
+
size: o = 48,
|
9
|
+
onClick: s,
|
10
|
+
disabled: e = !1
|
11
|
+
}) => {
|
12
|
+
const [a, m] = f(!1), [t, u] = f(!1), r = L(null), p = n(() => {
|
13
|
+
r.current && (r.current.goToAndStop(0, !0), m(!0), t && r.current.play());
|
14
|
+
}, [t]);
|
15
|
+
g(() => {
|
16
|
+
!r.current || !a || (t ? r.current.play() : r.current.goToAndStop(0, !0));
|
17
|
+
}, [t, a]);
|
18
|
+
const d = n(() => {
|
19
|
+
e || u(!0);
|
20
|
+
}, [e]), h = n(() => {
|
21
|
+
e || u(!1);
|
22
|
+
}, [e]), v = n(() => {
|
23
|
+
!e && s && s();
|
24
|
+
}, [e, s]);
|
25
|
+
return /* @__PURE__ */ S(
|
26
|
+
E,
|
27
|
+
{
|
28
|
+
$size: o,
|
29
|
+
$disabled: e,
|
30
|
+
onPointerEnter: d,
|
31
|
+
onPointerLeave: h,
|
32
|
+
onClick: v,
|
33
|
+
children: [
|
34
|
+
!t && /* @__PURE__ */ i(R, { $size: o, $visible: !t, children: l }),
|
35
|
+
/* @__PURE__ */ i(j, { $size: o, $visible: t, children: c && /* @__PURE__ */ i(
|
36
|
+
k,
|
37
|
+
{
|
38
|
+
ref: r,
|
39
|
+
src: c,
|
40
|
+
width: "100%",
|
41
|
+
height: "100%",
|
42
|
+
settings: {
|
43
|
+
loop: !0,
|
44
|
+
autoplay: !1,
|
45
|
+
renderer: "canvas"
|
46
|
+
},
|
47
|
+
onRender: p
|
48
|
+
}
|
49
|
+
) })
|
50
|
+
]
|
51
|
+
}
|
52
|
+
);
|
53
|
+
}, I = $(x);
|
54
|
+
export {
|
55
|
+
I as default
|
56
|
+
};
|
57
|
+
//# sourceMappingURL=sticker.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sticker.js","sources":["../../../../src/features/stickers/sticker-selector/sticker.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../ui/lottie-animation/types';\nimport type { IStickerProps } from './sticker-selector-types';\n\nimport React, { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\nimport * as S from './sticker-selector-styles';\n\nconst Sticker: React.FC<IStickerProps> = ({\n emoji,\n lottieUrl,\n size = 48,\n onClick,\n disabled = false,\n}) => {\n const [isLoaded, setIsLoaded] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n const lottieRef = useRef<ILottieAnimationRef>(null);\n\n const handleRender = useCallback(() => {\n if (!lottieRef.current) return;\n\n lottieRef.current.goToAndStop(0, true);\n setIsLoaded(true);\n\n if (isHovered) lottieRef.current.play();\n }, [isHovered]);\n\n useEffect(() => {\n if (!lottieRef.current || !isLoaded) return;\n\n if (isHovered) {\n lottieRef.current.play();\n } else {\n lottieRef.current.goToAndStop(0, true);\n }\n }, [isHovered, isLoaded]);\n\n const handleMouseEnter = useCallback(() => {\n if (!disabled) setIsHovered(true);\n }, [disabled]);\n\n const handleMouseLeave = useCallback(() => {\n if (!disabled) setIsHovered(false);\n }, [disabled]);\n\n const handleClick = useCallback(() => {\n if (!disabled && onClick) onClick();\n }, [disabled, onClick]);\n\n return (\n <S.StickerContainer\n $size={size}\n $disabled={disabled}\n onPointerEnter={handleMouseEnter}\n onPointerLeave={handleMouseLeave}\n onClick={handleClick}\n >\n {!isHovered && (\n <S.StaticEmoji $size={size} $visible={!isHovered}>\n {emoji}\n </S.StaticEmoji>\n )}\n\n <S.LottieContainer $size={size} $visible={isHovered}>\n {lottieUrl && (\n <LottieAnimation\n ref={lottieRef}\n src={lottieUrl}\n width=\"100%\"\n height=\"100%\"\n settings={{\n loop: true,\n autoplay: false,\n renderer: 'canvas',\n }}\n onRender={handleRender}\n />\n )}\n </S.LottieContainer>\n </S.StickerContainer>\n );\n};\n\nexport default memo(Sticker);\n"],"names":["Sticker","emoji","lottieUrl","size","onClick","disabled","isLoaded","setIsLoaded","useState","isHovered","setIsHovered","lottieRef","useRef","handleRender","useCallback","useEffect","handleMouseEnter","handleMouseLeave","handleClick","jsxs","S.StickerContainer","jsx","S.StaticEmoji","S.LottieContainer","LottieAnimation","Sticker$1","memo"],"mappings":";;;;AAQA,MAAMA,IAAmC,CAAC;AAAA,EACxC,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,SAAAC;AAAA,EACA,UAAAC,IAAW;AACb,MAAM;AACJ,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAK,GACxC,CAACC,GAAWC,CAAY,IAAIF,EAAS,EAAK,GAC1CG,IAAYC,EAA4B,IAAI,GAE5CC,IAAeC,EAAY,MAAM;AACjC,IAACH,EAAU,YAELA,EAAA,QAAQ,YAAY,GAAG,EAAI,GACrCJ,EAAY,EAAI,GAEZE,KAAqBE,EAAA,QAAQ,KAAK;AAAA,EAAA,GACrC,CAACF,CAAS,CAAC;AAEd,EAAAM,EAAU,MAAM;AACd,IAAI,CAACJ,EAAU,WAAW,CAACL,MAEvBG,IACFE,EAAU,QAAQ,SAERA,EAAA,QAAQ,YAAY,GAAG,EAAI;AAAA,EACvC,GACC,CAACF,GAAWH,CAAQ,CAAC;AAElB,QAAAU,IAAmBF,EAAY,MAAM;AACrC,IAACT,KAAUK,EAAa,EAAI;AAAA,EAAA,GAC/B,CAACL,CAAQ,CAAC,GAEPY,IAAmBH,EAAY,MAAM;AACrC,IAACT,KAAUK,EAAa,EAAK;AAAA,EAAA,GAChC,CAACL,CAAQ,CAAC,GAEPa,IAAcJ,EAAY,MAAM;AAChC,IAAA,CAACT,KAAYD,KAAiBA;EAAA,GACjC,CAACC,GAAUD,CAAO,CAAC;AAGpB,SAAA,gBAAAe;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAOjB;AAAA,MACP,WAAWE;AAAA,MACX,gBAAgBW;AAAA,MAChB,gBAAgBC;AAAA,MAChB,SAASC;AAAA,MAER,UAAA;AAAA,QAAC,CAAAT,KACC,gBAAAY,EAAAC,GAAA,EAAc,OAAOnB,GAAM,UAAU,CAACM,GACpC,UACHR,EAAA,CAAA;AAAA,QAGF,gBAAAoB,EAACE,GAAA,EAAkB,OAAOpB,GAAM,UAAUM,GACvC,UACCP,KAAA,gBAAAmB;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,KAAKb;AAAA,YACL,KAAKT;AAAA,YACL,OAAM;AAAA,YACN,QAAO;AAAA,YACP,UAAU;AAAA,cACR,MAAM;AAAA,cACN,UAAU;AAAA,cACV,UAAU;AAAA,YACZ;AAAA,YACA,UAAUW;AAAA,UAAA;AAAA,QAAA,GAGhB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEeY,IAAAC,EAAK1B,CAAO;"}
|
package/dist/features/{ui/stickers/stickers-effects.js → stickers/stickers-effects/effects.js}
RENAMED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { keyframes as r, css as t } from "styled-components";
|
2
|
-
import { randomizeDuration as o } from "./stickers-
|
2
|
+
import { randomizeDuration as o } from "./stickers-effects-helper.js";
|
3
3
|
const s = r`
|
4
4
|
0% {
|
5
5
|
transform: translateY(0vh);
|
@@ -45,20 +45,20 @@ const s = r`
|
|
45
45
|
opacity: 0;
|
46
46
|
}
|
47
47
|
`, i = {
|
48
|
-
|
48
|
+
"float-up": (a) => t`
|
49
49
|
animation: ${s} ${o(a)}ms ease-out forwards;
|
50
50
|
`,
|
51
|
-
|
51
|
+
"fall-down": (a) => t`
|
52
52
|
animation: ${n} ${o(a)}ms ease-out forwards;
|
53
53
|
`,
|
54
|
-
|
54
|
+
"burst-from-edges": (a) => t`
|
55
55
|
animation: ${e} ${o(a)}ms linear forwards;
|
56
56
|
`,
|
57
|
-
|
57
|
+
"pop-expand": (a) => t`
|
58
58
|
animation: ${m} ${a}ms cubic-bezier(0.5, 0.1, 0.7, 1) forwards;
|
59
59
|
`
|
60
60
|
};
|
61
61
|
export {
|
62
62
|
i as effectAnimations
|
63
63
|
};
|
64
|
-
//# sourceMappingURL=
|
64
|
+
//# sourceMappingURL=effects.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"effects.js","sources":["../../../../src/features/stickers/stickers-effects/effects.ts"],"sourcesContent":["import type { IStickersProps } from './stickers-effects-types';\n\nimport { keyframes, css } from 'styled-components';\n\nimport { randomizeDuration } from './stickers-effects-helper';\n\nconst floatUp = keyframes`\n 0% {\n transform: translateY(0vh);\n opacity: 1;\n }\n 100% {\n transform: translateY(-100vh);\n opacity: 0;\n }\n`;\n\nconst fallDown = keyframes`\n 0% {\n transform: translateY(0vh);\n opacity: 1;\n }\n 100% {\n transform: translateY(100vh);\n opacity: 0;\n }\n`;\n\nconst burstFromEdges = keyframes`\n 0% {\n transform: translateX(var(--from-x)) translateY(var(--from-y)) scale(1);\n opacity: 1;\n }\n 100% {\n transform: translateX(0vw) translateY(0vh) scale(1.25);\n opacity: 0;\n }\n`;\n\nconst popExpand = keyframes`\n 0% {\n transform: translateX(0) translateY(0vh);\n opacity: 1;\n }\n 35% {\n transform: translateX(0) translateY(-50vh) scale(1.25);\n opacity: 1;\n }\n 60% {\n transform: translateX(var(--from-x)) translateY(var(--from-y)) scale(1.25);\n opacity: 0.75;\n }\n 100% {\n transform: translateX(var(--from-x)) translateY(-110vh) scale(1.25);\n opacity: 0;\n }\n`;\n\nexport const effectAnimations: Record<\n IStickersProps['effect'],\n (duration: number) => ReturnType<typeof css>\n> = {\n 'float-up': (duration: number) => css`\n animation: ${floatUp} ${randomizeDuration(duration)}ms ease-out forwards;\n `,\n 'fall-down': (duration: number) => css`\n animation: ${fallDown} ${randomizeDuration(duration)}ms ease-out forwards;\n `,\n 'burst-from-edges': (duration: number) => css`\n animation: ${burstFromEdges} ${randomizeDuration(duration)}ms linear forwards;\n `,\n 'pop-expand': (duration: number) => css`\n animation: ${popExpand} ${duration}ms cubic-bezier(0.5, 0.1, 0.7, 1) forwards;\n `,\n};\n"],"names":["floatUp","keyframes","fallDown","burstFromEdges","popExpand","effectAnimations","duration","css","randomizeDuration"],"mappings":";;AAMA,MAAMA,IAAUC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWVC,IAAWD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWXE,IAAiBF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWjBG,IAAYH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAmBLI,IAGT;AAAA,EACF,YAAY,CAACC,MAAqBC;AAAA,iBACnBP,CAAO,IAAIQ,EAAkBF,CAAQ,CAAC;AAAA;AAAA,EAErD,aAAa,CAACA,MAAqBC;AAAA,iBACpBL,CAAQ,IAAIM,EAAkBF,CAAQ,CAAC;AAAA;AAAA,EAEtD,oBAAoB,CAACA,MAAqBC;AAAA,iBAC3BJ,CAAc,IAAIK,EAAkBF,CAAQ,CAAC;AAAA;AAAA,EAE5D,cAAc,CAACA,MAAqBC;AAAA,iBACrBH,CAAS,IAAIE,CAAQ;AAAA;AAEtC;"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
const o = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
2
|
+
async function r(t) {
|
3
|
+
if (o.has(t))
|
4
|
+
return o.get(t);
|
5
|
+
if (n.has(t))
|
6
|
+
return n.get(t);
|
7
|
+
const i = fetch(t).then(async (e) => {
|
8
|
+
if (!e.ok) return null;
|
9
|
+
const a = t.endsWith(".lottie") ? await e.arrayBuffer() : await e.json();
|
10
|
+
return o.set(t, a), a;
|
11
|
+
}).catch((e) => (console.error("Lottie preload error:", e), null)).finally(() => {
|
12
|
+
n.delete(t);
|
13
|
+
});
|
14
|
+
return n.set(t, i), i;
|
15
|
+
}
|
16
|
+
export {
|
17
|
+
r as preloadLottieFile
|
18
|
+
};
|
19
|
+
//# sourceMappingURL=stickers-cache.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"stickers-cache.js","sources":["../../../../src/features/stickers/stickers-effects/stickers-cache.ts"],"sourcesContent":["import type { Data } from '@lottiefiles/dotlottie-web';\n\nconst lottieCache = new Map<string, Data>();\nconst lottiePromises = new Map<string, Promise<Data | null>>();\n\nexport async function preloadLottieFile(url: string): Promise<Data | null> {\n if (lottieCache.has(url)) {\n return lottieCache.get(url)!;\n }\n\n if (lottiePromises.has(url)) {\n return lottiePromises.get(url)!;\n }\n\n const fetchPromise = fetch(url)\n .then(async res => {\n if (!res.ok) return null;\n\n const isLottieFile = url.endsWith('.lottie');\n const data = isLottieFile ? await res.arrayBuffer() : await res.json();\n\n lottieCache.set(url, data);\n\n return data;\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.error('Lottie preload error:', err);\n\n return null;\n })\n .finally(() => {\n lottiePromises.delete(url);\n });\n\n lottiePromises.set(url, fetchPromise);\n\n return fetchPromise;\n}\n"],"names":["lottieCache","lottiePromises","preloadLottieFile","url","fetchPromise","res","data","err"],"mappings":"AAEA,MAAMA,wBAAkB,OAClBC,wBAAqB;AAE3B,eAAsBC,EAAkBC,GAAmC;AACrE,MAAAH,EAAY,IAAIG,CAAG;AACd,WAAAH,EAAY,IAAIG,CAAG;AAGxB,MAAAF,EAAe,IAAIE,CAAG;AACjB,WAAAF,EAAe,IAAIE,CAAG;AAG/B,QAAMC,IAAe,MAAMD,CAAG,EAC3B,KAAK,OAAME,MAAO;AACb,QAAA,CAACA,EAAI,GAAW,QAAA;AAGd,UAAAC,IADeH,EAAI,SAAS,SAAS,IACf,MAAME,EAAI,gBAAgB,MAAMA,EAAI;AAEpD,WAAAL,EAAA,IAAIG,GAAKG,CAAI,GAElBA;AAAA,EAAA,CACR,EACA,MAAM,CAAOC,OAEJ,QAAA,MAAM,yBAAyBA,CAAG,GAEnC,KACR,EACA,QAAQ,MAAM;AACb,IAAAN,EAAe,OAAOE,CAAG;AAAA,EAAA,CAC1B;AAEY,SAAAF,EAAA,IAAIE,GAAKC,CAAY,GAE7BA;AACT;"}
|
@@ -0,0 +1,86 @@
|
|
1
|
+
import { stickerData as b } from "../sticker-data.js";
|
2
|
+
const w = (o, e) => {
|
3
|
+
const t = Math.ceil(e / 4), a = Math.floor(o / t), h = o % t, p = ["top", "right", "bottom", "left"][a] ?? "left", r = (h + 0.5) / t * 100, m = (Math.random() - 0.5) * 25, s = Math.min(Math.max(r + m, 0), 100), c = 45 + Math.random() * 10, i = 45 + Math.random() * 10;
|
4
|
+
let d = 0, n = 0;
|
5
|
+
switch (p) {
|
6
|
+
case "top":
|
7
|
+
d = s - c, n = -i + m;
|
8
|
+
break;
|
9
|
+
case "right":
|
10
|
+
d = 100 - c + m, n = s - i;
|
11
|
+
break;
|
12
|
+
case "bottom":
|
13
|
+
d = s - c, n = 100 - i + m;
|
14
|
+
break;
|
15
|
+
case "left":
|
16
|
+
d = -c + m, n = s - i;
|
17
|
+
break;
|
18
|
+
}
|
19
|
+
return {
|
20
|
+
fromX: `${d}vw`,
|
21
|
+
fromY: `${n}vh`,
|
22
|
+
x: c,
|
23
|
+
y: i
|
24
|
+
};
|
25
|
+
}, v = (o, e = 10) => {
|
26
|
+
const t = [];
|
27
|
+
let a = 0;
|
28
|
+
const h = o;
|
29
|
+
for (; t.length < o && a < h; ) {
|
30
|
+
const l = Math.floor(Math.random() * (100 - 2 * e) + e);
|
31
|
+
t.every((p) => Math.abs(p - l) >= e) && t.push(l), a++;
|
32
|
+
}
|
33
|
+
for (; t.length < o; )
|
34
|
+
t.push(Math.floor(Math.random() * (100 - 2 * e) + e));
|
35
|
+
return t;
|
36
|
+
};
|
37
|
+
function P({
|
38
|
+
count: o,
|
39
|
+
effect: e,
|
40
|
+
stickers: t,
|
41
|
+
minSize: a,
|
42
|
+
maxSize: h
|
43
|
+
}) {
|
44
|
+
const l = 100 / o * 2, p = () => Math.random() * (h - a) + a, r = [], m = ["float-up", "fall-down"].includes(e) ? v(o, l) : [];
|
45
|
+
for (let s = 0; s < o; s++) {
|
46
|
+
const c = t[s % t.length] ?? "", { emoji: i = "", lottieUrl: d } = b.find(({ id: f }) => f === c) || {}, n = p(), u = m[s], M = { id: c, sticker: i, lottie: d, size: n };
|
47
|
+
switch (e) {
|
48
|
+
case "float-up":
|
49
|
+
r.push({ ...M, x: u, y: 110 + (Math.random() - 0.5) * n });
|
50
|
+
break;
|
51
|
+
case "fall-down":
|
52
|
+
r.push({ ...M, x: u, y: -10 + (Math.random() - 0.5) * n });
|
53
|
+
break;
|
54
|
+
case "burst-from-edges": {
|
55
|
+
const { x: f, y: x, fromX: g, fromY: k } = w(s, o);
|
56
|
+
r.push({ ...M, x: f, y: x, fromX: g, fromY: k, size: n });
|
57
|
+
break;
|
58
|
+
}
|
59
|
+
case "pop-expand":
|
60
|
+
r.push({
|
61
|
+
...M,
|
62
|
+
x: 50,
|
63
|
+
y: 100,
|
64
|
+
fromX: `${(Math.random() - 0.5) * 27.5}vw`,
|
65
|
+
fromY: `${-50 - Math.random() * 27.5}vh`
|
66
|
+
});
|
67
|
+
break;
|
68
|
+
default:
|
69
|
+
r.push({
|
70
|
+
...M,
|
71
|
+
x: Math.random() * 100,
|
72
|
+
y: Math.random() * 100
|
73
|
+
});
|
74
|
+
}
|
75
|
+
}
|
76
|
+
return r;
|
77
|
+
}
|
78
|
+
const X = (o, e = 0.2) => {
|
79
|
+
const t = o * e, a = o - t, h = o + t;
|
80
|
+
return Math.floor(Math.random() * (h - a + 1)) + a;
|
81
|
+
};
|
82
|
+
export {
|
83
|
+
P as generateStickerData,
|
84
|
+
X as randomizeDuration
|
85
|
+
};
|
86
|
+
//# sourceMappingURL=stickers-effects-helper.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"stickers-effects-helper.js","sources":["../../../../src/features/stickers/stickers-effects/stickers-effects-helper.ts"],"sourcesContent":["import type { TStickerData, IStickersProps } from './stickers-effects-types';\n\nimport { stickerData } from '../sticker-data';\n\nconst getBurstPosition = (\n index: number,\n total: number,\n): {\n fromX: string;\n fromY: string;\n x: number;\n y: number;\n} => {\n const countPerSide = Math.ceil(total / 4);\n const sideIndex = Math.floor(index / countPerSide);\n const pos = index % countPerSide;\n\n const sides = ['top', 'right', 'bottom', 'left'] as const;\n const side = sides[sideIndex] ?? 'left';\n\n const basePercent = ((pos + 0.5) / countPerSide) * 100;\n const jitter = (Math.random() - 0.5) * 25;\n const edgePercent = Math.min(Math.max(basePercent + jitter, 0), 100);\n\n const centerX = 45 + Math.random() * 10;\n const centerY = 45 + Math.random() * 10;\n\n let fromX = 0;\n let fromY = 0;\n\n switch (side) {\n case 'top':\n fromX = edgePercent - centerX;\n fromY = -centerY + jitter;\n break;\n case 'right':\n fromX = 100 - centerX + jitter;\n fromY = edgePercent - centerY;\n break;\n case 'bottom':\n fromX = edgePercent - centerX;\n fromY = 100 - centerY + jitter;\n break;\n case 'left':\n fromX = -centerX + jitter;\n fromY = edgePercent - centerY;\n break;\n }\n\n return {\n fromX: `${fromX}vw`,\n fromY: `${fromY}vh`,\n x: centerX,\n y: centerY,\n };\n};\n\nconst getRandomNonOverlappingPositions = (count: number, buffer = 10): number[] => {\n const used: number[] = [];\n let attempts = 0;\n const maxAttempts = count;\n\n while (used.length < count && attempts < maxAttempts) {\n const value = Math.floor(Math.random() * (100 - 2 * buffer) + buffer);\n\n if (used.every(v => Math.abs(v - value) >= buffer)) {\n used.push(value);\n }\n attempts++;\n }\n\n while (used.length < count) {\n used.push(Math.floor(Math.random() * (100 - 2 * buffer) + buffer));\n }\n\n return used;\n};\n\nexport function generateStickerData({\n count,\n effect,\n stickers,\n minSize,\n maxSize,\n}: {\n count: number;\n effect: IStickersProps['effect'];\n stickers: string[];\n minSize: number;\n maxSize: number;\n}): TStickerData[] {\n const buffer = (100 / count) * 2;\n const getSize = () => Math.random() * (maxSize - minSize) + minSize;\n const result: TStickerData[] = [];\n const xPositions = ['float-up', 'fall-down'].includes(effect)\n ? getRandomNonOverlappingPositions(count, buffer)\n : [];\n\n for (let i = 0; i < count; i++) {\n const stickerId = stickers[i % stickers.length] ?? '';\n const { emoji: sticker = '', lottieUrl: lottie } =\n stickerData.find(({ id }) => id === stickerId) || {};\n\n const size = getSize();\n const x = xPositions[i]!;\n const common = { id: stickerId, sticker, lottie, size };\n\n switch (effect) {\n case 'float-up':\n result.push({ ...common, x, y: 110 + (Math.random() - 0.5) * size });\n break;\n\n case 'fall-down':\n result.push({ ...common, x, y: -10 + (Math.random() - 0.5) * size });\n break;\n\n case 'burst-from-edges': {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { x, y, fromX, fromY } = getBurstPosition(i, count);\n\n result.push({ ...common, x, y, fromX, fromY, size });\n break;\n }\n\n case 'pop-expand':\n result.push({\n ...common,\n x: 50,\n y: 100,\n fromX: `${(Math.random() - 0.5) * 27.5}vw`,\n fromY: `${-50 - Math.random() * 27.5}vh`,\n });\n break;\n\n default:\n result.push({\n ...common,\n x: Math.random() * 100,\n y: Math.random() * 100,\n });\n }\n }\n\n return result;\n}\n\nexport const randomizeDuration = (base: number, variancePercent = 0.2): number => {\n const delta = base * variancePercent;\n const min = base - delta;\n const max = base + delta;\n\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n"],"names":["getBurstPosition","index","total","countPerSide","sideIndex","pos","side","basePercent","jitter","edgePercent","centerX","centerY","fromX","fromY","getRandomNonOverlappingPositions","count","buffer","used","attempts","maxAttempts","value","v","generateStickerData","effect","stickers","minSize","maxSize","getSize","result","xPositions","i","stickerId","sticker","lottie","stickerData","id","size","x","common","y","randomizeDuration","base","variancePercent","delta","min","max"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import $, { css as s } from "styled-components";
|
2
|
-
import { effectAnimations as n } from "./
|
2
|
+
import { effectAnimations as n } from "./effects.js";
|
3
3
|
const h = $.div`
|
4
4
|
position: relative;
|
5
5
|
width: 100vw;
|
@@ -26,4 +26,4 @@ export {
|
|
26
26
|
h as Container,
|
27
27
|
a as Sticker
|
28
28
|
};
|
29
|
-
//# sourceMappingURL=stickers-styled.js.map
|
29
|
+
//# sourceMappingURL=stickers-effects-styled.js.map
|