@visns-studio/visns-components 5.11.5 → 5.11.7

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,563 @@
1
+ /* Section Editor Modal Styles */
2
+ .section-editor-modal {
3
+ position: fixed;
4
+ inset: 0;
5
+ background-color: rgba(0, 0, 0, 0.5);
6
+ backdrop-filter: blur(4px);
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ z-index: 1000;
11
+ animation: fadeIn 0.2s ease-out;
12
+ }
13
+
14
+ @keyframes fadeIn {
15
+ from { opacity: 0; }
16
+ to { opacity: 1; }
17
+ }
18
+
19
+ .section-editor-content {
20
+ background: white;
21
+ border-radius: 8px;
22
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
23
+ max-width: 1200px;
24
+ width: 95%;
25
+ margin: 1rem;
26
+ max-height: 95vh;
27
+ overflow-y: auto;
28
+ animation: slideUp 0.3s ease-out;
29
+ }
30
+
31
+ @keyframes slideUp {
32
+ from {
33
+ opacity: 0;
34
+ transform: translateY(20px) scale(0.98);
35
+ }
36
+ to {
37
+ opacity: 1;
38
+ transform: translateY(0) scale(1);
39
+ }
40
+ }
41
+
42
+ .section-editor-header {
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: space-between;
46
+ padding: 1.5rem;
47
+ border-bottom: 1px solid #e2e8f0;
48
+ background: #1b3933;
49
+ color: white;
50
+ border-radius: 8px 8px 0 0;
51
+ }
52
+
53
+ .section-editor-title {
54
+ font-size: 1.25rem;
55
+ font-weight: 700;
56
+ margin: 0;
57
+ color: white !important;
58
+ }
59
+
60
+ .section-editor-subtitle {
61
+ font-size: 0.875rem;
62
+ margin: 0.25rem 0 0 0;
63
+ opacity: 0.9;
64
+ color: rgba(255, 255, 255, 0.8);
65
+ }
66
+
67
+ .section-editor-header-actions {
68
+ display: flex;
69
+ align-items: center;
70
+ gap: 0.5rem;
71
+ }
72
+
73
+ .section-editor-preview-toggle {
74
+ padding: 0.5rem 0.75rem;
75
+ font-size: 0.875rem;
76
+ font-weight: 500;
77
+ border: none;
78
+ border-radius: 5px;
79
+ cursor: pointer;
80
+ transition: all 0.2s;
81
+ display: flex;
82
+ align-items: center;
83
+ gap: 0.25rem;
84
+ }
85
+
86
+ .section-editor-preview-toggle.active {
87
+ background: #3cbf7d;
88
+ color: white;
89
+ }
90
+
91
+ .section-editor-preview-toggle.inactive {
92
+ background: rgba(255, 255, 255, 0.1);
93
+ color: rgba(255, 255, 255, 0.8);
94
+ }
95
+
96
+ .section-editor-preview-toggle.inactive:hover {
97
+ background: rgba(255, 255, 255, 0.2);
98
+ color: white;
99
+ }
100
+
101
+ .section-editor-close-btn {
102
+ padding: 0.5rem;
103
+ color: rgba(255, 255, 255, 0.8);
104
+ background: rgba(255, 255, 255, 0.1);
105
+ border: none;
106
+ border-radius: 5px;
107
+ cursor: pointer;
108
+ transition: all 0.2s;
109
+ }
110
+
111
+ .section-editor-close-btn:hover {
112
+ background: #3cbf7d;
113
+ color: white;
114
+ }
115
+
116
+ .section-editor-body {
117
+ padding: 1.5rem;
118
+ }
119
+
120
+ .section-editor-form-grid {
121
+ display: grid;
122
+ grid-template-columns: 1fr 1fr;
123
+ gap: 1.5rem;
124
+ margin-bottom: 1.5rem;
125
+ }
126
+
127
+ .section-editor-form-group {
128
+ display: flex;
129
+ flex-direction: column;
130
+ }
131
+
132
+ .section-editor-form-label {
133
+ font-size: 0.875rem;
134
+ font-weight: 600;
135
+ color: #374151;
136
+ margin-bottom: 0.5rem;
137
+ }
138
+
139
+ .section-editor-checkbox-group {
140
+ display: flex;
141
+ align-items: center;
142
+ gap: 1rem;
143
+ padding-top: 1.5rem;
144
+ }
145
+
146
+ .section-editor-checkbox {
147
+ display: flex;
148
+ align-items: center;
149
+ gap: 0.5rem;
150
+ }
151
+
152
+ .section-editor-checkbox input[type="checkbox"] {
153
+ width: 1rem;
154
+ height: 1rem;
155
+ border-radius: 4px;
156
+ border: 2px solid #d1d5db;
157
+ accent-color: #3cbf7d;
158
+ }
159
+
160
+ .section-editor-checkbox label {
161
+ font-size: 0.875rem;
162
+ color: #374151;
163
+ cursor: pointer;
164
+ }
165
+
166
+ .section-editor-content-section {
167
+ margin-bottom: 1.5rem;
168
+ }
169
+
170
+ .section-editor-content-header {
171
+ display: flex;
172
+ align-items: center;
173
+ justify-content: space-between;
174
+ margin-bottom: 0.75rem;
175
+ }
176
+
177
+ .section-editor-content-label {
178
+ font-size: 0.875rem;
179
+ font-weight: 600;
180
+ color: #374151;
181
+ }
182
+
183
+ .section-editor-content-actions {
184
+ display: flex;
185
+ align-items: center;
186
+ gap: 0.5rem;
187
+ }
188
+
189
+ .section-editor-action-btn {
190
+ display: inline-flex;
191
+ align-items: center;
192
+ gap: 0.375rem;
193
+ padding: 0.5rem 0.75rem;
194
+ font-size: 0.8rem;
195
+ font-weight: 500;
196
+ border: 1px solid #d1d5db;
197
+ border-radius: 6px;
198
+ cursor: pointer;
199
+ transition: all 0.2s ease-in-out;
200
+ background: white;
201
+ color: #374151;
202
+ text-decoration: none;
203
+ user-select: none;
204
+ position: relative;
205
+ overflow: hidden;
206
+ }
207
+
208
+ .section-editor-action-btn:hover {
209
+ background: #f9fafb;
210
+ border-color: #9ca3af;
211
+ }
212
+
213
+ .section-editor-action-btn.primary {
214
+ background: linear-gradient(135deg, #3cbf7d 0%, #2da967 100%);
215
+ border-color: #3cbf7d;
216
+ color: white;
217
+ box-shadow: 0 2px 4px rgba(60, 191, 125, 0.2);
218
+ font-size: 0.8rem;
219
+ font-weight: 600;
220
+ letter-spacing: 0.025em;
221
+ }
222
+
223
+ .section-editor-action-btn.primary:hover {
224
+ background: linear-gradient(135deg, #2da967 0%, #1b3933 100%);
225
+ border-color: #1b3933;
226
+ box-shadow: 0 4px 8px rgba(27, 57, 51, 0.3);
227
+ transform: translateY(-1px);
228
+ }
229
+
230
+ .section-editor-action-btn.primary:active {
231
+ transform: translateY(0);
232
+ box-shadow: 0 2px 4px rgba(27, 57, 51, 0.2);
233
+ }
234
+
235
+ .section-editor-preview {
236
+ background: #f8fafc;
237
+ border: 1px solid #e2e8f0;
238
+ border-radius: 5px;
239
+ padding: 1rem;
240
+ min-height: 400px;
241
+ }
242
+
243
+ .section-editor-preview .prose {
244
+ max-width: none;
245
+ font-size: 0.875rem;
246
+ line-height: 1.6;
247
+ color: #374151;
248
+ }
249
+
250
+ /* Compact HTML content styling for section editor preview */
251
+ .section-editor-preview .prose h1,
252
+ .section-editor-preview .prose h2,
253
+ .section-editor-preview .prose h3,
254
+ .section-editor-preview .prose h4,
255
+ .section-editor-preview .prose h5,
256
+ .section-editor-preview .prose h6 {
257
+ font-size: 0.95rem !important;
258
+ line-height: 1.2 !important;
259
+ margin: 0 0 0.5rem 0 !important;
260
+ font-weight: 600;
261
+ color: #1f2937 !important;
262
+ }
263
+
264
+ .section-editor-preview .prose p {
265
+ font-size: 0.875rem !important;
266
+ line-height: 1.4 !important;
267
+ margin: 0 0 0.5rem 0 !important;
268
+ color: #374151 !important;
269
+ }
270
+
271
+ .section-editor-preview .prose ul,
272
+ .section-editor-preview .prose ol {
273
+ font-size: 0.875rem !important;
274
+ line-height: 1.4 !important;
275
+ margin: 0 0 0.5rem 1rem !important;
276
+ padding: 0;
277
+ color: #374151 !important;
278
+ }
279
+
280
+ .section-editor-preview .prose li {
281
+ margin: 0 !important;
282
+ padding: 0 !important;
283
+ font-size: 0.875rem !important;
284
+ line-height: 1.4 !important;
285
+ }
286
+
287
+ /* Also apply to direct preview content without prose class */
288
+ .section-editor-preview h1,
289
+ .section-editor-preview h2,
290
+ .section-editor-preview h3,
291
+ .section-editor-preview h4,
292
+ .section-editor-preview h5,
293
+ .section-editor-preview h6 {
294
+ font-size: 0.95rem !important;
295
+ line-height: 1.2 !important;
296
+ margin: 0 0 0.5rem 0 !important;
297
+ font-weight: 600;
298
+ color: #1f2937 !important;
299
+ }
300
+
301
+ .section-editor-preview p {
302
+ font-size: 0.875rem !important;
303
+ line-height: 1.4 !important;
304
+ margin: 0 0 0.5rem 0 !important;
305
+ color: #374151 !important;
306
+ }
307
+
308
+ .section-editor-preview ul,
309
+ .section-editor-preview ol {
310
+ font-size: 0.875rem !important;
311
+ line-height: 1.4 !important;
312
+ margin: 0 0 0.5rem 1rem !important;
313
+ padding: 0;
314
+ color: #374151 !important;
315
+ }
316
+
317
+ .section-editor-preview li {
318
+ margin: 0 !important;
319
+ padding: 0 !important;
320
+ font-size: 0.875rem !important;
321
+ line-height: 1.4 !important;
322
+ }
323
+
324
+ .section-editor-styling-panel {
325
+ background: #f8fafc;
326
+ border: 1px solid #e2e8f0;
327
+ border-radius: 5px;
328
+ padding: 1rem;
329
+ margin-bottom: 1.5rem;
330
+ }
331
+
332
+ .section-editor-styling-title {
333
+ font-size: 0.875rem;
334
+ font-weight: 600;
335
+ color: #374151;
336
+ margin-bottom: 0.75rem;
337
+ }
338
+
339
+ .section-editor-styling-grid {
340
+ display: grid;
341
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
342
+ gap: 1rem;
343
+ }
344
+
345
+ .section-editor-styling-option {
346
+ display: flex;
347
+ align-items: center;
348
+ gap: 0.5rem;
349
+ }
350
+
351
+ .section-editor-styling-input {
352
+ padding: 0.5rem;
353
+ border: 1px solid #d1d5db;
354
+ border-radius: 4px;
355
+ font-size: 0.875rem;
356
+ width: 100%;
357
+ }
358
+
359
+ .section-editor-styling-input:focus {
360
+ outline: none;
361
+ ring: 2px;
362
+ ring-color: #3cbf7d;
363
+ border-color: #3cbf7d;
364
+ }
365
+
366
+ .section-editor-dynamic-notice {
367
+ margin-bottom: 1.5rem;
368
+ }
369
+
370
+ .section-editor-dynamic-card {
371
+ background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
372
+ border: 1px solid #bae6fd;
373
+ border-radius: 8px;
374
+ padding: 1.5rem;
375
+ display: flex;
376
+ align-items: flex-start;
377
+ gap: 1rem;
378
+ box-shadow: 0 2px 4px rgba(14, 165, 233, 0.1);
379
+ }
380
+
381
+ .section-editor-dynamic-icon {
382
+ background: #0ea5e9;
383
+ color: white;
384
+ padding: 0.75rem;
385
+ border-radius: 8px;
386
+ display: flex;
387
+ align-items: center;
388
+ justify-content: center;
389
+ flex-shrink: 0;
390
+ box-shadow: 0 2px 4px rgba(14, 165, 233, 0.2);
391
+ }
392
+
393
+ .section-editor-dynamic-content {
394
+ flex: 1;
395
+ }
396
+
397
+ .section-editor-dynamic-title {
398
+ font-size: 1rem;
399
+ font-weight: 600;
400
+ color: #0c4a6e;
401
+ margin: 0 0 0.5rem 0;
402
+ }
403
+
404
+ .section-editor-dynamic-description {
405
+ font-size: 0.875rem;
406
+ color: #0369a1;
407
+ line-height: 1.5;
408
+ margin: 0 0 1rem 0;
409
+ }
410
+
411
+ .section-editor-dynamic-actions {
412
+ display: flex;
413
+ align-items: center;
414
+ gap: 0.5rem;
415
+ }
416
+
417
+ .section-editor-variables-summary {
418
+ background: #eff6ff;
419
+ border: 1px solid #bfdbfe;
420
+ border-radius: 5px;
421
+ padding: 1rem;
422
+ margin-bottom: 1.5rem;
423
+ }
424
+
425
+ .section-editor-variables-title {
426
+ font-size: 0.875rem;
427
+ font-weight: 600;
428
+ color: #1e40af;
429
+ margin-bottom: 0.5rem;
430
+ }
431
+
432
+ .section-editor-variables-list {
433
+ display: flex;
434
+ flex-wrap: wrap;
435
+ gap: 0.5rem;
436
+ }
437
+
438
+ .section-editor-variable-tag {
439
+ padding: 0.25rem 0.5rem;
440
+ font-size: 0.75rem;
441
+ font-weight: 500;
442
+ background: #dbeafe;
443
+ color: #1e40af;
444
+ border-radius: 12px;
445
+ border: 1px solid #bfdbfe;
446
+ }
447
+
448
+ .section-editor-footer {
449
+ display: flex;
450
+ align-items: center;
451
+ justify-content: flex-end;
452
+ gap: 0.75rem;
453
+ padding: 1rem 1.5rem;
454
+ border-top: 1px solid #e2e8f0;
455
+ background: #f8fafc;
456
+ border-radius: 0 0 8px 8px;
457
+ }
458
+
459
+ .section-editor-btn {
460
+ padding: 0.625rem 1.25rem;
461
+ font-size: 0.875rem;
462
+ font-weight: 600;
463
+ border-radius: 5px;
464
+ cursor: pointer;
465
+ transition: all 0.2s;
466
+ display: inline-flex;
467
+ align-items: center;
468
+ gap: 0.5rem;
469
+ border: none;
470
+ }
471
+
472
+ .section-editor-btn.secondary {
473
+ background: white;
474
+ color: #6b7280;
475
+ border: 1px solid #d1d5db;
476
+ }
477
+
478
+ .section-editor-btn.secondary:hover {
479
+ background: #f9fafb;
480
+ border-color: #9ca3af;
481
+ }
482
+
483
+ .section-editor-btn.primary {
484
+ background: #3cbf7d;
485
+ color: white;
486
+ border: 1px solid #3cbf7d;
487
+ }
488
+
489
+ .section-editor-btn.primary:hover {
490
+ background: #1b3933;
491
+ border-color: #1b3933;
492
+ }
493
+
494
+ /* TinyMCE Editor Overrides */
495
+ .section-editor-content .tox-tinymce {
496
+ border: 1px solid #d1d5db !important;
497
+ border-radius: 5px !important;
498
+ }
499
+
500
+ .section-editor-content .tox-editor-header {
501
+ border-bottom: 1px solid #e5e7eb !important;
502
+ }
503
+
504
+ .section-editor-content .tox-toolbar {
505
+ background: #f9fafb !important;
506
+ }
507
+
508
+ /* Responsive Design */
509
+ @media (max-width: 768px) {
510
+ .section-editor-content {
511
+ width: 98%;
512
+ margin: 0.5rem;
513
+ max-height: 98vh;
514
+ border-radius: 5px;
515
+ }
516
+
517
+ .section-editor-header {
518
+ padding: 1rem;
519
+ border-radius: 5px 5px 0 0;
520
+ }
521
+
522
+ .section-editor-body {
523
+ padding: 1rem;
524
+ }
525
+
526
+ .section-editor-form-grid {
527
+ grid-template-columns: 1fr;
528
+ gap: 1rem;
529
+ }
530
+
531
+ .section-editor-checkbox-group {
532
+ flex-direction: column;
533
+ align-items: flex-start;
534
+ gap: 0.75rem;
535
+ padding-top: 1rem;
536
+ }
537
+
538
+ .section-editor-content-header {
539
+ flex-direction: column;
540
+ align-items: flex-start;
541
+ gap: 0.5rem;
542
+ }
543
+
544
+ .section-editor-content-actions {
545
+ width: 100%;
546
+ justify-content: flex-start;
547
+ }
548
+
549
+ .section-editor-styling-grid {
550
+ grid-template-columns: 1fr;
551
+ }
552
+
553
+ .section-editor-footer {
554
+ flex-direction: column-reverse;
555
+ gap: 0.5rem;
556
+ padding: 1rem;
557
+ }
558
+
559
+ .section-editor-btn {
560
+ width: 100%;
561
+ justify-content: center;
562
+ }
563
+ }