@jjlmoya/utils-social 1.9.0 → 1.10.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.
@@ -0,0 +1,273 @@
1
+ :global(.comparison-container) {
2
+ display: grid;
3
+ grid-template-columns: 1fr 1fr;
4
+ gap: 4px;
5
+ background: #e2e8f0;
6
+ border-radius: 32px;
7
+ overflow: hidden;
8
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
9
+ }
10
+
11
+ :global(.theme-dark) :global(.comparison-container) {
12
+ background: rgba(255, 255, 255, 0.05);
13
+ }
14
+
15
+ @media (max-width: 768px) {
16
+ :global(.comparison-container) {
17
+ grid-template-columns: 1fr;
18
+ border-radius: 20px;
19
+ gap: 8px;
20
+ }
21
+ }
22
+
23
+ :global(.comparison-side) {
24
+ position: relative;
25
+ padding: 3rem 2rem;
26
+ display: flex;
27
+ flex-direction: column;
28
+ align-items: center;
29
+ min-height: 600px;
30
+ transition: background 0.3s ease;
31
+ }
32
+
33
+ @media (max-width: 768px) {
34
+ :global(.comparison-side) {
35
+ padding: 2rem 1rem;
36
+ min-height: auto;
37
+ }
38
+ }
39
+
40
+ :global(.comparison-label) {
41
+ position: absolute;
42
+ top: 1.25rem;
43
+ left: 1.25rem;
44
+ background: rgba(0, 0, 0, 0.6);
45
+ color: white;
46
+ padding: 6px 12px;
47
+ border-radius: 8px;
48
+ font-size: 11px;
49
+ font-weight: 900;
50
+ z-index: 20;
51
+ backdrop-filter: blur(8px);
52
+ border: 1px solid rgba(255, 255, 255, 0.1);
53
+ }
54
+
55
+ @media (max-width: 768px) {
56
+ :global(.comparison-label) {
57
+ font-size: 10px;
58
+ padding: 4px 8px;
59
+ top: 0.75rem;
60
+ left: 0.75rem;
61
+ }
62
+ }
63
+
64
+ :global(.mockup-grid) {
65
+ display: grid;
66
+ gap: 3rem;
67
+ width: 100%;
68
+ }
69
+
70
+ :global(.mockup-desktop .mockup-grid) {
71
+ max-width: 520px;
72
+ }
73
+
74
+ :global(.mockup-mobile .mockup-grid) {
75
+ max-width: 320px;
76
+ }
77
+
78
+ @media (max-width: 768px) {
79
+ :global(.mockup-grid) { gap: 2rem; }
80
+ :global(.mockup-desktop .mockup-grid),
81
+ :global(.mockup-mobile .mockup-grid) { max-width: 100%; }
82
+ }
83
+
84
+ :global(.yt-card) {
85
+ width: 100%;
86
+ display: flex;
87
+ flex-direction: column;
88
+ gap: 1rem;
89
+ animation: ytt-slide-up 0.4s ease-out backwards;
90
+ }
91
+
92
+ @media (max-width: 768px) {
93
+ :global(.yt-card) {
94
+ gap: 0.75rem;
95
+ }
96
+ }
97
+
98
+ @keyframes ytt-slide-up {
99
+ from {
100
+ opacity: 0;
101
+ transform: translateY(20px);
102
+ }
103
+
104
+ to {
105
+ opacity: 1;
106
+ transform: translateY(0);
107
+ }
108
+ }
109
+
110
+ :global(.yt-thumbnail-wrapper) {
111
+ position: relative;
112
+ width: 100%;
113
+ aspect-ratio: 16 / 9;
114
+ border-radius: 16px;
115
+ overflow: hidden;
116
+ background: #e2e8f0;
117
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
118
+ }
119
+
120
+ :global(.yt-thumbnail-wrapper img) {
121
+ width: 100%;
122
+ height: 100%;
123
+ object-fit: cover;
124
+ }
125
+
126
+ :global(.yt-duration) {
127
+ position: absolute;
128
+ bottom: 10px;
129
+ right: 10px;
130
+ background: rgba(0, 0, 0, 0.9);
131
+ color: white;
132
+ padding: 3px 6px;
133
+ border-radius: 5px;
134
+ font-size: 12px;
135
+ font-weight: 600;
136
+ }
137
+
138
+ @media (max-width: 768px) {
139
+ :global(.yt-duration) {
140
+ font-size: 10px;
141
+ padding: 2px 4px;
142
+ bottom: 6px;
143
+ right: 6px;
144
+ }
145
+ }
146
+
147
+ :global(.yt-info-row) {
148
+ display: flex;
149
+ gap: 14px;
150
+ }
151
+
152
+ @media (max-width: 768px) {
153
+ :global(.yt-info-row) {
154
+ gap: 10px;
155
+ }
156
+ }
157
+
158
+ :global(.yt-avatar) {
159
+ width: 44px;
160
+ height: 44px;
161
+ border-radius: 50%;
162
+ flex-shrink: 0;
163
+ overflow: hidden;
164
+ background: #e5e7eb;
165
+ border: 1px solid rgba(0, 0, 0, 0.05);
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ color: #94a3b8;
170
+ }
171
+
172
+ :global(.mockup-mobile .yt-avatar) {
173
+ width: 36px;
174
+ height: 36px;
175
+ }
176
+
177
+ :global(.yt-avatar img) {
178
+ width: 100%;
179
+ height: 100%;
180
+ object-fit: cover;
181
+ }
182
+
183
+ :global(.yt-avatar svg) {
184
+ width: 60%;
185
+ height: 60%;
186
+ }
187
+
188
+ :global(.yt-text-meta) {
189
+ display: flex;
190
+ flex-direction: column;
191
+ gap: 4px;
192
+ min-width: 0;
193
+ }
194
+
195
+ :global(.yt-title) {
196
+ font-weight: 700;
197
+ margin: 0;
198
+ line-height: 1.4;
199
+ display: -webkit-box;
200
+ -webkit-line-clamp: 2;
201
+ -webkit-box-orient: vertical;
202
+ overflow: hidden;
203
+ color: inherit;
204
+ }
205
+
206
+ :global(.mockup-desktop .yt-title) { font-size: 1.1rem; }
207
+ :global(.mockup-mobile .yt-title) { font-size: 0.9rem; }
208
+
209
+ :global(.yt-channel), :global(.yt-views) {
210
+ font-size: 0.85rem;
211
+ margin: 0;
212
+ font-weight: 500;
213
+ }
214
+
215
+ :global(.mockup-mobile .yt-channel), :global(.mockup-mobile .yt-views) {
216
+ font-size: 0.75rem;
217
+ }
218
+
219
+ @media (max-width: 768px) {
220
+ :global(.yt-channel), :global(.yt-views) { font-size: 0.75rem; }
221
+ :global(.mockup-mobile .yt-channel), :global(.mockup-mobile .yt-views) { font-size: 0.65rem; }
222
+ }
223
+
224
+ :global(.light .yt-channel), :global(.light .yt-views) { color: #606060; }
225
+ :global(.dark .yt-channel), :global(.dark .yt-views) { color: #aaa; }
226
+
227
+ :global(.yt-mockup.light) {
228
+ background: #f9f9f9;
229
+ color: #030303;
230
+ }
231
+
232
+ :global(.yt-mockup.dark) {
233
+ background: #0f0f0f;
234
+ color: #f1f1f1;
235
+ }
236
+
237
+ :global(.gallery-item) {
238
+ width: 60px;
239
+ aspect-ratio: 16/9;
240
+ border-radius: 6px;
241
+ overflow: hidden;
242
+ position: relative;
243
+ border: 1px solid rgba(0, 0, 0, 0.1);
244
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
245
+ }
246
+
247
+ :global(.gallery-item img) {
248
+ width: 100%;
249
+ height: 100%;
250
+ object-fit: cover;
251
+ }
252
+
253
+ :global(.btn-remove-thumb) {
254
+ position: absolute;
255
+ top: -4px;
256
+ right: -4px;
257
+ background: #ef4444;
258
+ color: white;
259
+ border: none;
260
+ border-radius: 50%;
261
+ width: 18px;
262
+ height: 18px;
263
+ display: flex;
264
+ align-items: center;
265
+ justify-content: center;
266
+ font-size: 11px;
267
+ cursor: pointer;
268
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
269
+ opacity: 0;
270
+ transition: opacity 0.2s;
271
+ }
272
+
273
+ :global(.gallery-item:hover .btn-remove-thumb) { opacity: 1; }