@visns-studio/visns-components 5.11.5 → 5.11.6

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,508 @@
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
+ .section-editor-preview .prose h1,
251
+ .section-editor-preview .prose h2,
252
+ .section-editor-preview .prose h3,
253
+ .section-editor-preview .prose h4 {
254
+ color: #1f2937;
255
+ margin-top: 0;
256
+ margin-bottom: 0.5rem;
257
+ }
258
+
259
+ .section-editor-preview .prose p {
260
+ margin-bottom: 0.75rem;
261
+ }
262
+
263
+ .section-editor-preview .prose ul,
264
+ .section-editor-preview .prose ol {
265
+ margin-bottom: 0.75rem;
266
+ padding-left: 1.5rem;
267
+ }
268
+
269
+ .section-editor-styling-panel {
270
+ background: #f8fafc;
271
+ border: 1px solid #e2e8f0;
272
+ border-radius: 5px;
273
+ padding: 1rem;
274
+ margin-bottom: 1.5rem;
275
+ }
276
+
277
+ .section-editor-styling-title {
278
+ font-size: 0.875rem;
279
+ font-weight: 600;
280
+ color: #374151;
281
+ margin-bottom: 0.75rem;
282
+ }
283
+
284
+ .section-editor-styling-grid {
285
+ display: grid;
286
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
287
+ gap: 1rem;
288
+ }
289
+
290
+ .section-editor-styling-option {
291
+ display: flex;
292
+ align-items: center;
293
+ gap: 0.5rem;
294
+ }
295
+
296
+ .section-editor-styling-input {
297
+ padding: 0.5rem;
298
+ border: 1px solid #d1d5db;
299
+ border-radius: 4px;
300
+ font-size: 0.875rem;
301
+ width: 100%;
302
+ }
303
+
304
+ .section-editor-styling-input:focus {
305
+ outline: none;
306
+ ring: 2px;
307
+ ring-color: #3cbf7d;
308
+ border-color: #3cbf7d;
309
+ }
310
+
311
+ .section-editor-dynamic-notice {
312
+ margin-bottom: 1.5rem;
313
+ }
314
+
315
+ .section-editor-dynamic-card {
316
+ background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
317
+ border: 1px solid #bae6fd;
318
+ border-radius: 8px;
319
+ padding: 1.5rem;
320
+ display: flex;
321
+ align-items: flex-start;
322
+ gap: 1rem;
323
+ box-shadow: 0 2px 4px rgba(14, 165, 233, 0.1);
324
+ }
325
+
326
+ .section-editor-dynamic-icon {
327
+ background: #0ea5e9;
328
+ color: white;
329
+ padding: 0.75rem;
330
+ border-radius: 8px;
331
+ display: flex;
332
+ align-items: center;
333
+ justify-content: center;
334
+ flex-shrink: 0;
335
+ box-shadow: 0 2px 4px rgba(14, 165, 233, 0.2);
336
+ }
337
+
338
+ .section-editor-dynamic-content {
339
+ flex: 1;
340
+ }
341
+
342
+ .section-editor-dynamic-title {
343
+ font-size: 1rem;
344
+ font-weight: 600;
345
+ color: #0c4a6e;
346
+ margin: 0 0 0.5rem 0;
347
+ }
348
+
349
+ .section-editor-dynamic-description {
350
+ font-size: 0.875rem;
351
+ color: #0369a1;
352
+ line-height: 1.5;
353
+ margin: 0 0 1rem 0;
354
+ }
355
+
356
+ .section-editor-dynamic-actions {
357
+ display: flex;
358
+ align-items: center;
359
+ gap: 0.5rem;
360
+ }
361
+
362
+ .section-editor-variables-summary {
363
+ background: #eff6ff;
364
+ border: 1px solid #bfdbfe;
365
+ border-radius: 5px;
366
+ padding: 1rem;
367
+ margin-bottom: 1.5rem;
368
+ }
369
+
370
+ .section-editor-variables-title {
371
+ font-size: 0.875rem;
372
+ font-weight: 600;
373
+ color: #1e40af;
374
+ margin-bottom: 0.5rem;
375
+ }
376
+
377
+ .section-editor-variables-list {
378
+ display: flex;
379
+ flex-wrap: wrap;
380
+ gap: 0.5rem;
381
+ }
382
+
383
+ .section-editor-variable-tag {
384
+ padding: 0.25rem 0.5rem;
385
+ font-size: 0.75rem;
386
+ font-weight: 500;
387
+ background: #dbeafe;
388
+ color: #1e40af;
389
+ border-radius: 12px;
390
+ border: 1px solid #bfdbfe;
391
+ }
392
+
393
+ .section-editor-footer {
394
+ display: flex;
395
+ align-items: center;
396
+ justify-content: flex-end;
397
+ gap: 0.75rem;
398
+ padding: 1rem 1.5rem;
399
+ border-top: 1px solid #e2e8f0;
400
+ background: #f8fafc;
401
+ border-radius: 0 0 8px 8px;
402
+ }
403
+
404
+ .section-editor-btn {
405
+ padding: 0.625rem 1.25rem;
406
+ font-size: 0.875rem;
407
+ font-weight: 600;
408
+ border-radius: 5px;
409
+ cursor: pointer;
410
+ transition: all 0.2s;
411
+ display: inline-flex;
412
+ align-items: center;
413
+ gap: 0.5rem;
414
+ border: none;
415
+ }
416
+
417
+ .section-editor-btn.secondary {
418
+ background: white;
419
+ color: #6b7280;
420
+ border: 1px solid #d1d5db;
421
+ }
422
+
423
+ .section-editor-btn.secondary:hover {
424
+ background: #f9fafb;
425
+ border-color: #9ca3af;
426
+ }
427
+
428
+ .section-editor-btn.primary {
429
+ background: #3cbf7d;
430
+ color: white;
431
+ border: 1px solid #3cbf7d;
432
+ }
433
+
434
+ .section-editor-btn.primary:hover {
435
+ background: #1b3933;
436
+ border-color: #1b3933;
437
+ }
438
+
439
+ /* TinyMCE Editor Overrides */
440
+ .section-editor-content .tox-tinymce {
441
+ border: 1px solid #d1d5db !important;
442
+ border-radius: 5px !important;
443
+ }
444
+
445
+ .section-editor-content .tox-editor-header {
446
+ border-bottom: 1px solid #e5e7eb !important;
447
+ }
448
+
449
+ .section-editor-content .tox-toolbar {
450
+ background: #f9fafb !important;
451
+ }
452
+
453
+ /* Responsive Design */
454
+ @media (max-width: 768px) {
455
+ .section-editor-content {
456
+ width: 98%;
457
+ margin: 0.5rem;
458
+ max-height: 98vh;
459
+ border-radius: 5px;
460
+ }
461
+
462
+ .section-editor-header {
463
+ padding: 1rem;
464
+ border-radius: 5px 5px 0 0;
465
+ }
466
+
467
+ .section-editor-body {
468
+ padding: 1rem;
469
+ }
470
+
471
+ .section-editor-form-grid {
472
+ grid-template-columns: 1fr;
473
+ gap: 1rem;
474
+ }
475
+
476
+ .section-editor-checkbox-group {
477
+ flex-direction: column;
478
+ align-items: flex-start;
479
+ gap: 0.75rem;
480
+ padding-top: 1rem;
481
+ }
482
+
483
+ .section-editor-content-header {
484
+ flex-direction: column;
485
+ align-items: flex-start;
486
+ gap: 0.5rem;
487
+ }
488
+
489
+ .section-editor-content-actions {
490
+ width: 100%;
491
+ justify-content: flex-start;
492
+ }
493
+
494
+ .section-editor-styling-grid {
495
+ grid-template-columns: 1fr;
496
+ }
497
+
498
+ .section-editor-footer {
499
+ flex-direction: column-reverse;
500
+ gap: 0.5rem;
501
+ padding: 1rem;
502
+ }
503
+
504
+ .section-editor-btn {
505
+ width: 100%;
506
+ justify-content: center;
507
+ }
508
+ }