@jjlmoya/utils-social 1.9.0 → 1.11.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,512 @@
1
+ .szl-root {
2
+ max-width: 1200px;
3
+ margin: 0 auto;
4
+ padding: 2rem 1rem;
5
+ }
6
+
7
+ .szl-grid {
8
+ display: grid;
9
+ grid-template-columns: 1fr;
10
+ gap: 2.5rem;
11
+ align-items: start;
12
+ }
13
+
14
+ @media (min-width: 1024px) {
15
+ .szl-grid {
16
+ grid-template-columns: 340px 1fr;
17
+ }
18
+ }
19
+
20
+ .szl-panel-left {
21
+ display: flex;
22
+ flex-direction: column;
23
+ gap: 1.5rem;
24
+ }
25
+
26
+ .szl-card {
27
+ background: var(--bg-surface);
28
+ border: 1px solid var(--border-color);
29
+ border-radius: 2.5rem;
30
+ padding: 2rem;
31
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
32
+ display: flex;
33
+ flex-direction: column;
34
+ gap: 2rem;
35
+ }
36
+
37
+ .szl-card-title {
38
+ font-size: 1.1rem;
39
+ font-weight: 700;
40
+ color: var(--text-main);
41
+ display: flex;
42
+ align-items: center;
43
+ gap: 0.75rem;
44
+ margin: 0;
45
+ }
46
+
47
+ .szl-card-icon {
48
+ width: 2.5rem;
49
+ height: 2.5rem;
50
+ border-radius: 0.75rem;
51
+ background: rgba(99, 102, 241, 0.1);
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ color: #6366f1;
56
+ flex-shrink: 0;
57
+ }
58
+
59
+ .szl-section {
60
+ display: flex;
61
+ flex-direction: column;
62
+ gap: 0.75rem;
63
+ }
64
+
65
+ .szl-section-border {
66
+ padding-top: 1.5rem;
67
+ border-top: 1px solid var(--border-color);
68
+ }
69
+
70
+ .szl-section-label {
71
+ font-size: 0.625rem;
72
+ font-weight: 700;
73
+ text-transform: uppercase;
74
+ letter-spacing: 0.1em;
75
+ color: var(--text-muted);
76
+ display: block;
77
+ }
78
+
79
+ .szl-platform-grid {
80
+ display: grid;
81
+ grid-template-columns: repeat(3, 1fr);
82
+ gap: 0.75rem;
83
+ }
84
+
85
+ .szl-platform-btn {
86
+ display: flex;
87
+ flex-direction: column;
88
+ align-items: center;
89
+ gap: 0.5rem;
90
+ padding: 0.75rem;
91
+ border-radius: 1rem;
92
+ border: 1px solid var(--border-color);
93
+ background: var(--bg-page);
94
+ cursor: pointer;
95
+ transition: all 0.2s ease;
96
+ color: var(--text-muted);
97
+ }
98
+
99
+ .szl-platform-btn:hover {
100
+ border-color: rgba(99, 102, 241, 0.5);
101
+ color: var(--text-main);
102
+ }
103
+
104
+ .szl-platform-btn.szl-btn-active {
105
+ border-color: #6366f1;
106
+ background: rgba(99, 102, 241, 0.1);
107
+ color: #6366f1;
108
+ }
109
+
110
+ .szl-platform-icon {
111
+ display: flex;
112
+ width: 24px;
113
+ height: 24px;
114
+ }
115
+
116
+ .szl-platform-name {
117
+ font-size: 0.5625rem;
118
+ font-weight: 700;
119
+ text-transform: uppercase;
120
+ letter-spacing: 0.05em;
121
+ }
122
+
123
+ .szl-upload-zone {
124
+ display: flex;
125
+ flex-direction: column;
126
+ align-items: center;
127
+ justify-content: center;
128
+ width: 100%;
129
+ height: 10rem;
130
+ border: 2px dashed var(--border-color);
131
+ border-radius: 2.5rem;
132
+ cursor: pointer;
133
+ transition: all 0.2s ease;
134
+ overflow: hidden;
135
+ }
136
+
137
+ .szl-upload-zone:hover {
138
+ background: var(--bg-page);
139
+ border-color: rgba(99, 102, 241, 0.4);
140
+ }
141
+
142
+ .szl-upload-inner {
143
+ display: flex;
144
+ flex-direction: column;
145
+ align-items: center;
146
+ gap: 0.5rem;
147
+ }
148
+
149
+ .szl-upload-icon {
150
+ color: var(--text-muted);
151
+ opacity: 0.5;
152
+ transition: all 0.2s ease;
153
+ }
154
+
155
+ .szl-upload-zone:hover .szl-upload-icon {
156
+ opacity: 1;
157
+ color: #6366f1;
158
+ transform: scale(1.1);
159
+ }
160
+
161
+ .szl-upload-text {
162
+ font-size: 0.625rem;
163
+ font-weight: 700;
164
+ text-transform: uppercase;
165
+ color: var(--text-muted);
166
+ margin: 0;
167
+ }
168
+
169
+ .szl-file-hidden {
170
+ display: none;
171
+ }
172
+
173
+ .szl-opacity-header {
174
+ display: flex;
175
+ justify-content: space-between;
176
+ align-items: center;
177
+ }
178
+
179
+ .szl-opacity-val {
180
+ font-size: 0.75rem;
181
+ font-weight: 700;
182
+ color: #6366f1;
183
+ }
184
+
185
+ .szl-slider {
186
+ width: 100%;
187
+ height: 6px;
188
+ border-radius: 999px;
189
+ appearance: none;
190
+ background: var(--border-color);
191
+ cursor: pointer;
192
+ accent-color: #6366f1;
193
+ outline: none;
194
+ }
195
+
196
+ .szl-slider::-webkit-slider-thumb {
197
+ appearance: none;
198
+ width: 18px;
199
+ height: 18px;
200
+ background: #6366f1;
201
+ border-radius: 50%;
202
+ cursor: pointer;
203
+ border: 3px solid var(--bg-surface);
204
+ box-shadow: 0 0 10px rgba(99, 102, 241, 0.4);
205
+ }
206
+
207
+ .szl-toggles {
208
+ display: flex;
209
+ flex-direction: column;
210
+ gap: 0.75rem;
211
+ }
212
+
213
+ .szl-toggle-item {
214
+ display: flex;
215
+ align-items: center;
216
+ gap: 0.75rem;
217
+ padding: 0.75rem;
218
+ border-radius: 1rem;
219
+ background: var(--bg-page);
220
+ border: 1px solid var(--border-color);
221
+ cursor: pointer;
222
+ transition: border-color 0.2s ease;
223
+ }
224
+
225
+ .szl-toggle-item:hover {
226
+ border-color: rgba(99, 102, 241, 0.3);
227
+ }
228
+
229
+ .szl-checkbox {
230
+ width: 16px;
231
+ height: 16px;
232
+ border-radius: 4px;
233
+ accent-color: #6366f1;
234
+ cursor: pointer;
235
+ }
236
+
237
+ .szl-toggle-label {
238
+ font-size: 0.625rem;
239
+ font-weight: 700;
240
+ text-transform: uppercase;
241
+ letter-spacing: 0.05em;
242
+ color: var(--text-muted);
243
+ }
244
+
245
+ .szl-toggle-item:hover .szl-toggle-label {
246
+ color: #6366f1;
247
+ }
248
+
249
+ .szl-reset-btn {
250
+ width: 100%;
251
+ padding: 1rem;
252
+ border-radius: 2rem;
253
+ background: var(--bg-page);
254
+ border: 1px solid var(--border-color);
255
+ color: var(--text-muted);
256
+ font-size: 0.6875rem;
257
+ font-weight: 900;
258
+ text-transform: uppercase;
259
+ letter-spacing: 0.1em;
260
+ cursor: pointer;
261
+ display: flex;
262
+ align-items: center;
263
+ justify-content: center;
264
+ gap: 0.5rem;
265
+ transition: all 0.2s ease;
266
+ }
267
+
268
+ .szl-reset-btn:hover {
269
+ color: #f43f5e;
270
+ border-color: rgba(244, 63, 94, 0.3);
271
+ }
272
+
273
+ .szl-preview-area {
274
+ display: flex;
275
+ flex-direction: column;
276
+ align-items: center;
277
+ justify-content: center;
278
+ min-height: 700px;
279
+ background: var(--bg-page);
280
+ border-radius: 4rem;
281
+ padding: 2.5rem;
282
+ border: 1px solid var(--border-color);
283
+ overflow: hidden;
284
+ position: relative;
285
+ box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.05);
286
+ }
287
+
288
+ .szl-radial-bg {
289
+ position: absolute;
290
+ inset: 0;
291
+ background: radial-gradient(circle at center, rgba(99, 102, 241, 0.06) 0%, transparent 60%);
292
+ pointer-events: none;
293
+ }
294
+
295
+ .szl-phone {
296
+ position: relative;
297
+ background: black;
298
+ border-radius: 3.5rem;
299
+ box-shadow: 0 0 100px rgba(0, 0, 0, 0.3);
300
+ overflow: hidden;
301
+ aspect-ratio: 9 / 16;
302
+ height: 78vh;
303
+ max-height: 850px;
304
+ border: 12px solid #0f172a;
305
+ outline: 1px solid rgba(255, 255, 255, 0.05);
306
+ }
307
+
308
+ .szl-statusbar {
309
+ position: absolute;
310
+ top: 0;
311
+ left: 0;
312
+ width: 100%;
313
+ height: 2rem;
314
+ display: flex;
315
+ justify-content: space-between;
316
+ padding: 0 2rem;
317
+ align-items: center;
318
+ background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), transparent);
319
+ z-index: 60;
320
+ pointer-events: none;
321
+ color: white;
322
+ font-size: 0.625rem;
323
+ font-weight: 500;
324
+ box-sizing: border-box;
325
+ }
326
+
327
+ .szl-notch {
328
+ width: 6rem;
329
+ height: 1.5rem;
330
+ background: black;
331
+ border-radius: 0 0 1.5rem 1.5rem;
332
+ position: absolute;
333
+ top: 0;
334
+ left: 50%;
335
+ transform: translateX(-50%);
336
+ }
337
+
338
+ .szl-statusbar-icons {
339
+ display: flex;
340
+ gap: 6px;
341
+ align-items: center;
342
+ }
343
+
344
+ .szl-media-wrapper {
345
+ position: absolute;
346
+ inset: 0;
347
+ display: flex;
348
+ align-items: center;
349
+ justify-content: center;
350
+ overflow: hidden;
351
+ padding-top: 2.5rem;
352
+ }
353
+
354
+ .szl-empty-state {
355
+ display: flex;
356
+ flex-direction: column;
357
+ align-items: center;
358
+ color: var(--text-muted);
359
+ text-align: center;
360
+ opacity: 0.4;
361
+ transition: opacity 0.2s ease;
362
+ }
363
+
364
+ .szl-phone:hover .szl-empty-state {
365
+ opacity: 1;
366
+ }
367
+
368
+ .szl-empty-text {
369
+ font-size: 0.625rem;
370
+ font-weight: 900;
371
+ text-transform: uppercase;
372
+ letter-spacing: 0.3em;
373
+ margin: 0 0 0.5rem;
374
+ }
375
+
376
+ .szl-empty-link {
377
+ font-size: 0.5625rem;
378
+ margin: 0;
379
+ opacity: 0.5;
380
+ text-decoration: underline;
381
+ cursor: pointer;
382
+ transition: color 0.2s ease;
383
+ }
384
+
385
+ .szl-empty-link:hover {
386
+ color: #6366f1;
387
+ opacity: 1;
388
+ }
389
+
390
+ .szl-media {
391
+ position: absolute;
392
+ inset: 0;
393
+ }
394
+
395
+ .szl-hidden {
396
+ display: none;
397
+ }
398
+
399
+ .szl-overlay {
400
+ position: absolute;
401
+ inset: 0;
402
+ pointer-events: none;
403
+ z-index: 50;
404
+ transition: opacity 0.3s ease;
405
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
406
+ }
407
+
408
+ .szl-mask {
409
+ position: absolute;
410
+ inset: 0;
411
+ z-index: 40;
412
+ pointer-events: none;
413
+ display: flex;
414
+ flex-direction: column;
415
+ transition: opacity 0.5s ease;
416
+ }
417
+
418
+ .szl-mask-top {
419
+ height: 15%;
420
+ background: rgba(0, 0, 0, 0.6);
421
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
422
+ backdrop-filter: blur(4px);
423
+ }
424
+
425
+ .szl-mask-flex {
426
+ flex: 1;
427
+ }
428
+
429
+ .szl-mask-bottom {
430
+ height: 25%;
431
+ background: rgba(0, 0, 0, 0.6);
432
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
433
+ backdrop-filter: blur(4px);
434
+ }
435
+
436
+ .szl-mask-right {
437
+ position: absolute;
438
+ right: 0;
439
+ top: 20%;
440
+ bottom: 20%;
441
+ width: 18%;
442
+ background: rgba(0, 0, 0, 0.6);
443
+ border-left: 1px solid rgba(255, 255, 255, 0.1);
444
+ backdrop-filter: blur(4px);
445
+ }
446
+
447
+ .szl-mask-hidden {
448
+ opacity: 0;
449
+ pointer-events: none;
450
+ }
451
+
452
+ .szl-grid-overlay {
453
+ position: absolute;
454
+ inset: 0;
455
+ z-index: 45;
456
+ pointer-events: none;
457
+ transition: opacity 0.3s ease;
458
+ }
459
+
460
+ .szl-grid-hidden {
461
+ opacity: 0;
462
+ }
463
+
464
+ .szl-grid-inner {
465
+ width: 100%;
466
+ height: 100%;
467
+ position: relative;
468
+ border-left: 2px solid rgba(255, 255, 255, 0.1);
469
+ border-right: 2px solid rgba(255, 255, 255, 0.1);
470
+ }
471
+
472
+ .szl-grid-h,
473
+ .szl-grid-v {
474
+ position: absolute;
475
+ background: rgba(255, 255, 255, 0.1);
476
+ }
477
+
478
+ .szl-grid-h {
479
+ left: 0;
480
+ width: 100%;
481
+ height: 2px;
482
+ }
483
+
484
+ .szl-grid-v {
485
+ top: 0;
486
+ height: 100%;
487
+ width: 2px;
488
+ }
489
+
490
+ .szl-grid-h1 { top: 33.33%; }
491
+ .szl-grid-h2 { top: 66.66%; }
492
+ .szl-grid-v1 { left: 33.33%; }
493
+ .szl-grid-v2 { left: 66.66%; }
494
+
495
+ .szl-banner {
496
+ margin-top: 2rem;
497
+ padding: 0.5rem 1.5rem;
498
+ border-radius: 999px;
499
+ background: black;
500
+ color: white;
501
+ font-size: 0.625rem;
502
+ font-weight: 900;
503
+ text-transform: uppercase;
504
+ letter-spacing: 0.2em;
505
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
506
+ outline: 1px solid rgba(255, 255, 255, 0.1);
507
+ }
508
+
509
+ @keyframes szl-spin {
510
+ from { transform: rotate(0deg); }
511
+ to { transform: rotate(360deg); }
512
+ }