cms-block-editor 1.0.13 → 1.0.16

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/index.css CHANGED
@@ -3214,4 +3214,1103 @@
3214
3214
  max-width: 100%;
3215
3215
  margin: 16px 0;
3216
3216
  }
3217
+
3218
+ /* src/styles/themes.css */
3219
+ :root {
3220
+ --cms-color-primary: #667eea;
3221
+ --cms-color-primary-hover: #5568d3;
3222
+ --cms-color-primary-light: #e0e7ff;
3223
+ --cms-color-primary-dark: #4c51bf;
3224
+ --cms-color-secondary: #764ba2;
3225
+ --cms-color-secondary-hover: #6a3f8f;
3226
+ --cms-color-background: #ffffff;
3227
+ --cms-color-surface: #f9fafb;
3228
+ --cms-color-border: #e5e7eb;
3229
+ --cms-color-divider: #d1d5db;
3230
+ --cms-color-text-primary: #1f2937;
3231
+ --cms-color-text-secondary: #6b7280;
3232
+ --cms-color-text-disabled: #9ca3af;
3233
+ --cms-color-success: #10b981;
3234
+ --cms-color-warning: #f59e0b;
3235
+ --cms-color-error: #ef4444;
3236
+ --cms-color-info: #3b82f6;
3237
+ --cms-color-editor-background: #ffffff;
3238
+ --cms-color-editor-text: #1f2937;
3239
+ --cms-color-editor-placeholder: #9ca3af;
3240
+ --cms-color-toolbar-background: #f9fafb;
3241
+ --cms-color-toolbar-text: #374151;
3242
+ --cms-color-toolbar-border: #e5e7eb;
3243
+ --cms-color-selection: #dbeafe;
3244
+ --cms-color-highlight: #fef3c7;
3245
+ --cms-color-focus: #667eea;
3246
+ --cms-typography-font-family:
3247
+ -apple-system,
3248
+ BlinkMacSystemFont,
3249
+ "Segoe UI",
3250
+ Roboto,
3251
+ "Helvetica Neue",
3252
+ Arial,
3253
+ sans-serif;
3254
+ --cms-typography-font-family-mono:
3255
+ ui-monospace,
3256
+ SFMono-Regular,
3257
+ "SF Mono",
3258
+ Menlo,
3259
+ Consolas,
3260
+ "Liberation Mono",
3261
+ monospace;
3262
+ --cms-typography-font-size-xs: 0.75rem;
3263
+ --cms-typography-font-size-sm: 0.875rem;
3264
+ --cms-typography-font-size-md: 1rem;
3265
+ --cms-typography-font-size-lg: 1.125rem;
3266
+ --cms-typography-font-size-xl: 1.25rem;
3267
+ --cms-typography-font-weight-normal: 400;
3268
+ --cms-typography-font-weight-medium: 500;
3269
+ --cms-typography-font-weight-bold: 600;
3270
+ --cms-typography-line-height-tight: 1.25;
3271
+ --cms-typography-line-height-normal: 1.5;
3272
+ --cms-typography-line-height-relaxed: 1.75;
3273
+ --cms-spacing-xs: 0.25rem;
3274
+ --cms-spacing-sm: 0.5rem;
3275
+ --cms-spacing-md: 1rem;
3276
+ --cms-spacing-lg: 1.5rem;
3277
+ --cms-spacing-xl: 2rem;
3278
+ --cms-spacing-xxl: 3rem;
3279
+ --cms-radius-none: 0;
3280
+ --cms-radius-sm: 0.25rem;
3281
+ --cms-radius-md: 0.5rem;
3282
+ --cms-radius-lg: 0.75rem;
3283
+ --cms-radius-full: 9999px;
3284
+ --cms-shadow-none: none;
3285
+ --cms-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
3286
+ --cms-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
3287
+ --cms-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
3288
+ --cms-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
3289
+ }
3290
+ .cms-editor-shell {
3291
+ background: var(--cms-color-editor-background);
3292
+ color: var(--cms-color-editor-text);
3293
+ font-family: var(--cms-typography-font-family);
3294
+ border-radius: var(--cms-radius-md);
3295
+ box-shadow: var(--cms-shadow-md);
3296
+ }
3297
+ .cms-toolbar {
3298
+ background: var(--cms-color-toolbar-background);
3299
+ color: var(--cms-color-toolbar-text);
3300
+ border-bottom: 1px solid var(--cms-color-toolbar-border);
3301
+ }
3302
+ .cms-toolbar button {
3303
+ color: var(--cms-color-toolbar-text);
3304
+ border-radius: var(--cms-radius-sm);
3305
+ }
3306
+ .cms-toolbar button:hover {
3307
+ background: var(--cms-color-surface);
3308
+ }
3309
+ .cms-toolbar button.active {
3310
+ background: var(--cms-color-primary);
3311
+ color: white;
3312
+ }
3313
+ .cms-editor-content {
3314
+ color: var(--cms-color-editor-text);
3315
+ font-size: var(--cms-typography-font-size-md);
3316
+ line-height: var(--cms-typography-line-height-normal);
3317
+ }
3318
+ .cms-editor-placeholder {
3319
+ color: var(--cms-color-editor-placeholder);
3320
+ }
3321
+ .cms-btn-primary {
3322
+ background: var(--cms-color-primary);
3323
+ color: white;
3324
+ border-radius: var(--cms-radius-md);
3325
+ box-shadow: var(--cms-shadow-sm);
3326
+ }
3327
+ .cms-btn-primary:hover {
3328
+ background: var(--cms-color-primary-hover);
3329
+ }
3330
+ .cms-btn-secondary {
3331
+ background: var(--cms-color-surface);
3332
+ color: var(--cms-color-text-primary);
3333
+ border: 1px solid var(--cms-color-border);
3334
+ border-radius: var(--cms-radius-md);
3335
+ }
3336
+ .cms-btn-secondary:hover {
3337
+ background: var(--cms-color-background);
3338
+ }
3339
+ .cms-modal-overlay {
3340
+ background: rgba(0, 0, 0, 0.5);
3341
+ }
3342
+ .cms-modal-content {
3343
+ background: var(--cms-color-background);
3344
+ color: var(--cms-color-text-primary);
3345
+ border-radius: var(--cms-radius-lg);
3346
+ box-shadow: var(--cms-shadow-xl);
3347
+ }
3348
+ .cms-theme-switcher {
3349
+ display: flex;
3350
+ align-items: center;
3351
+ gap: var(--cms-spacing-sm);
3352
+ }
3353
+ .cms-theme-mode-toggle {
3354
+ padding: var(--cms-spacing-sm) var(--cms-spacing-md);
3355
+ background: var(--cms-color-surface);
3356
+ border: 1px solid var(--cms-color-border);
3357
+ border-radius: var(--cms-radius-md);
3358
+ cursor: pointer;
3359
+ font-size: var(--cms-typography-font-size-lg);
3360
+ transition: all 0.2s;
3361
+ }
3362
+ .cms-theme-mode-toggle:hover {
3363
+ background: var(--cms-color-background);
3364
+ transform: scale(1.05);
3365
+ }
3366
+ .cms-theme-selector {
3367
+ position: relative;
3368
+ }
3369
+ .cms-theme-selector-button {
3370
+ padding: var(--cms-spacing-sm) var(--cms-spacing-md);
3371
+ background: var(--cms-color-surface);
3372
+ border: 1px solid var(--cms-color-border);
3373
+ border-radius: var(--cms-radius-md);
3374
+ cursor: pointer;
3375
+ font-size: var(--cms-typography-font-size-sm);
3376
+ font-weight: var(--cms-typography-font-weight-medium);
3377
+ color: var(--cms-color-text-primary);
3378
+ transition: all 0.2s;
3379
+ display: flex;
3380
+ align-items: center;
3381
+ gap: var(--cms-spacing-sm);
3382
+ }
3383
+ .cms-theme-selector-button:hover {
3384
+ background: var(--cms-color-background);
3385
+ border-color: var(--cms-color-primary);
3386
+ }
3387
+ .cms-theme-selector-overlay {
3388
+ position: fixed;
3389
+ top: 0;
3390
+ left: 0;
3391
+ right: 0;
3392
+ bottom: 0;
3393
+ z-index: 999;
3394
+ }
3395
+ .cms-theme-selector-dropdown {
3396
+ position: absolute;
3397
+ top: calc(100% + var(--cms-spacing-sm));
3398
+ right: 0;
3399
+ background: var(--cms-color-background);
3400
+ border: 1px solid var(--cms-color-border);
3401
+ border-radius: var(--cms-radius-lg);
3402
+ box-shadow: var(--cms-shadow-xl);
3403
+ padding: var(--cms-spacing-md);
3404
+ min-width: 320px;
3405
+ max-width: 400px;
3406
+ z-index: 1000;
3407
+ }
3408
+ .cms-theme-selector-header {
3409
+ display: flex;
3410
+ justify-content: space-between;
3411
+ align-items: center;
3412
+ margin-bottom: var(--cms-spacing-md);
3413
+ padding-bottom: var(--cms-spacing-sm);
3414
+ border-bottom: 1px solid var(--cms-color-border);
3415
+ }
3416
+ .cms-theme-selector-header h3 {
3417
+ margin: 0;
3418
+ font-size: var(--cms-typography-font-size-md);
3419
+ font-weight: var(--cms-typography-font-weight-bold);
3420
+ color: var(--cms-color-text-primary);
3421
+ }
3422
+ .cms-theme-selector-header button {
3423
+ background: none;
3424
+ border: none;
3425
+ font-size: 24px;
3426
+ color: var(--cms-color-text-secondary);
3427
+ cursor: pointer;
3428
+ padding: 0;
3429
+ width: 24px;
3430
+ height: 24px;
3431
+ display: flex;
3432
+ align-items: center;
3433
+ justify-content: center;
3434
+ border-radius: var(--cms-radius-sm);
3435
+ }
3436
+ .cms-theme-selector-header button:hover {
3437
+ background: var(--cms-color-surface);
3438
+ color: var(--cms-color-text-primary);
3439
+ }
3440
+ .cms-theme-selector-grid {
3441
+ display: grid;
3442
+ grid-template-columns: repeat(2, 1fr);
3443
+ gap: var(--cms-spacing-sm);
3444
+ margin-bottom: var(--cms-spacing-md);
3445
+ }
3446
+ .cms-theme-option {
3447
+ display: flex;
3448
+ flex-direction: column;
3449
+ align-items: center;
3450
+ gap: var(--cms-spacing-sm);
3451
+ padding: var(--cms-spacing-md);
3452
+ background: var(--cms-color-surface);
3453
+ border: 2px solid var(--cms-color-border);
3454
+ border-radius: var(--cms-radius-md);
3455
+ cursor: pointer;
3456
+ transition: all 0.2s;
3457
+ position: relative;
3458
+ }
3459
+ .cms-theme-option:hover {
3460
+ border-color: var(--cms-color-primary);
3461
+ transform: translateY(-2px);
3462
+ box-shadow: var(--cms-shadow-md);
3463
+ }
3464
+ .cms-theme-option.active {
3465
+ border-color: var(--cms-color-primary);
3466
+ background: var(--cms-color-primary-light);
3467
+ }
3468
+ .cms-theme-preview {
3469
+ width: 100%;
3470
+ height: 40px;
3471
+ border-radius: var(--cms-radius-sm);
3472
+ border: 1px solid;
3473
+ position: relative;
3474
+ overflow: hidden;
3475
+ }
3476
+ .cms-theme-preview-accent {
3477
+ position: absolute;
3478
+ bottom: 0;
3479
+ left: 0;
3480
+ right: 0;
3481
+ height: 8px;
3482
+ }
3483
+ .cms-theme-name {
3484
+ font-size: var(--cms-typography-font-size-sm);
3485
+ font-weight: var(--cms-typography-font-weight-medium);
3486
+ color: var(--cms-color-text-primary);
3487
+ text-transform: capitalize;
3488
+ }
3489
+ .cms-theme-check {
3490
+ position: absolute;
3491
+ top: var(--cms-spacing-xs);
3492
+ right: var(--cms-spacing-xs);
3493
+ color: var(--cms-color-primary);
3494
+ font-weight: var(--cms-typography-font-weight-bold);
3495
+ }
3496
+ .cms-theme-selector-modes {
3497
+ display: flex;
3498
+ gap: var(--cms-spacing-md);
3499
+ padding-top: var(--cms-spacing-md);
3500
+ border-top: 1px solid var(--cms-color-border);
3501
+ }
3502
+ .cms-theme-selector-modes label {
3503
+ display: flex;
3504
+ align-items: center;
3505
+ gap: var(--cms-spacing-xs);
3506
+ font-size: var(--cms-typography-font-size-sm);
3507
+ color: var(--cms-color-text-primary);
3508
+ cursor: pointer;
3509
+ }
3510
+ .cms-theme-selector-modes input[type=radio] {
3511
+ cursor: pointer;
3512
+ accent-color: var(--cms-color-primary);
3513
+ }
3514
+ @media (max-width: 768px) {
3515
+ .cms-theme-selector-dropdown {
3516
+ right: auto;
3517
+ left: 0;
3518
+ min-width: 280px;
3519
+ }
3520
+ .cms-theme-selector-grid {
3521
+ grid-template-columns: 1fr;
3522
+ }
3523
+ }
3524
+ .cms-theme-customizer {
3525
+ position: fixed;
3526
+ top: 0;
3527
+ left: 0;
3528
+ right: 0;
3529
+ bottom: 0;
3530
+ z-index: 10000;
3531
+ display: flex;
3532
+ align-items: center;
3533
+ justify-content: flex-end;
3534
+ }
3535
+ .cms-theme-customizer-overlay {
3536
+ position: absolute;
3537
+ top: 0;
3538
+ left: 0;
3539
+ right: 0;
3540
+ bottom: 0;
3541
+ background: var(--cms-color-overlay, rgba(0, 0, 0, 0.5));
3542
+ backdrop-filter: blur(4px);
3543
+ }
3544
+ .cms-theme-customizer-panel {
3545
+ position: relative;
3546
+ background: var(--cms-color-background, #ffffff);
3547
+ width: 500px;
3548
+ max-width: 90vw;
3549
+ height: 100vh;
3550
+ display: flex;
3551
+ flex-direction: column;
3552
+ box-shadow: var(--cms-shadow-xxl, 0 25px 50px -12px rgba(0, 0, 0, 0.25));
3553
+ animation: slideLeft 0.3s ease-out;
3554
+ }
3555
+ .cms-theme-customizer-header {
3556
+ display: flex;
3557
+ justify-content: space-between;
3558
+ align-items: center;
3559
+ padding: var(--cms-spacing-lg, 1.5rem);
3560
+ border-bottom: 1px solid var(--cms-color-border, #e5e7eb);
3561
+ }
3562
+ .cms-theme-customizer-header h2 {
3563
+ margin: 0;
3564
+ font-size: var(--cms-typography-font-size-xl, 1.25rem);
3565
+ font-weight: var(--cms-typography-font-weight-bold, 600);
3566
+ color: var(--cms-color-text-primary, #1f2937);
3567
+ }
3568
+ .cms-theme-customizer-tabs {
3569
+ display: flex;
3570
+ border-bottom: 1px solid var(--cms-color-border, #e5e7eb);
3571
+ background: var(--cms-color-surface, #f9fafb);
3572
+ }
3573
+ .cms-theme-customizer-tabs button {
3574
+ flex: 1;
3575
+ padding: var(--cms-spacing-md, 1rem);
3576
+ background: none;
3577
+ border: none;
3578
+ border-bottom: 2px solid transparent;
3579
+ font-size: var(--cms-typography-font-size-sm, 0.875rem);
3580
+ font-weight: var(--cms-typography-font-weight-medium, 500);
3581
+ color: var(--cms-color-text-secondary, #6b7280);
3582
+ cursor: pointer;
3583
+ transition: var(--cms-transition-fast, 150ms);
3584
+ }
3585
+ .cms-theme-customizer-tabs button:hover {
3586
+ color: var(--cms-color-text-primary, #1f2937);
3587
+ background: var(--cms-color-surface-hover, #f3f4f6);
3588
+ }
3589
+ .cms-theme-customizer-tabs button.active {
3590
+ color: var(--cms-color-primary, #667eea);
3591
+ border-bottom-color: var(--cms-color-primary, #667eea);
3592
+ background: var(--cms-color-background, #ffffff);
3593
+ }
3594
+ .cms-theme-customizer-content {
3595
+ flex: 1;
3596
+ overflow-y: auto;
3597
+ padding: var(--cms-spacing-lg, 1.5rem);
3598
+ }
3599
+ .cms-customizer-section h3 {
3600
+ margin: var(--cms-spacing-lg, 1.5rem) 0 var(--cms-spacing-md, 1rem) 0;
3601
+ font-size: var(--cms-typography-font-size-md, 1rem);
3602
+ font-weight: var(--cms-typography-font-weight-semibold, 600);
3603
+ color: var(--cms-color-text-primary, #1f2937);
3604
+ }
3605
+ .cms-customizer-section h3:first-child {
3606
+ margin-top: 0;
3607
+ }
3608
+ .cms-color-grid,
3609
+ .cms-input-grid {
3610
+ display: grid;
3611
+ grid-template-columns: repeat(2, 1fr);
3612
+ gap: var(--cms-spacing-md, 1rem);
3613
+ margin-bottom: var(--cms-spacing-lg, 1.5rem);
3614
+ }
3615
+ .cms-color-input,
3616
+ .cms-text-input {
3617
+ display: flex;
3618
+ flex-direction: column;
3619
+ gap: var(--cms-spacing-xs, 0.25rem);
3620
+ }
3621
+ .cms-color-input label,
3622
+ .cms-text-input label {
3623
+ font-size: var(--cms-typography-font-size-xs, 0.75rem);
3624
+ font-weight: var(--cms-typography-font-weight-medium, 500);
3625
+ color: var(--cms-color-text-secondary, #6b7280);
3626
+ text-transform: uppercase;
3627
+ letter-spacing: var(--cms-typography-letter-spacing-wide, 0.025em);
3628
+ }
3629
+ .cms-color-input-wrapper {
3630
+ display: flex;
3631
+ gap: var(--cms-spacing-sm, 0.5rem);
3632
+ }
3633
+ .cms-color-input input[type=color] {
3634
+ width: 48px;
3635
+ height: 40px;
3636
+ border: 1px solid var(--cms-color-border, #e5e7eb);
3637
+ border-radius: var(--cms-radius-md, 0.5rem);
3638
+ cursor: pointer;
3639
+ }
3640
+ .cms-color-input input[type=text],
3641
+ .cms-text-input input[type=text] {
3642
+ flex: 1;
3643
+ padding: var(--cms-spacing-sm, 0.5rem) var(--cms-spacing-md, 1rem);
3644
+ background: var(--cms-color-surface, #f9fafb);
3645
+ border: 1px solid var(--cms-color-border, #e5e7eb);
3646
+ border-radius: var(--cms-radius-md, 0.5rem);
3647
+ font-size: var(--cms-typography-font-size-sm, 0.875rem);
3648
+ color: var(--cms-color-text-primary, #1f2937);
3649
+ font-family: var(--cms-typography-font-family-mono, monospace);
3650
+ transition: var(--cms-transition-fast, 150ms);
3651
+ }
3652
+ .cms-color-input input[type=text]:focus,
3653
+ .cms-text-input input[type=text]:focus {
3654
+ outline: none;
3655
+ border-color: var(--cms-color-focus, #667eea);
3656
+ box-shadow: var(--cms-shadow-outline, 0 0 0 3px rgba(102, 126, 234, 0.5));
3657
+ }
3658
+ .cms-import-export {
3659
+ display: flex;
3660
+ gap: var(--cms-spacing-md, 1rem);
3661
+ margin-bottom: var(--cms-spacing-lg, 1.5rem);
3662
+ }
3663
+ .cms-theme-preview-box {
3664
+ margin-top: var(--cms-spacing-md, 1rem);
3665
+ }
3666
+ .cms-theme-customizer-footer {
3667
+ display: flex;
3668
+ justify-content: space-between;
3669
+ align-items: center;
3670
+ padding: var(--cms-spacing-lg, 1.5rem);
3671
+ border-top: 1px solid var(--cms-color-border, #e5e7eb);
3672
+ background: var(--cms-color-surface, #f9fafb);
3673
+ }
3674
+ .cms-theme-customizer-footer > div {
3675
+ display: flex;
3676
+ gap: var(--cms-spacing-md, 1rem);
3677
+ }
3678
+ @keyframes fadeIn {
3679
+ from {
3680
+ opacity: 0;
3681
+ }
3682
+ to {
3683
+ opacity: 1;
3684
+ }
3685
+ }
3686
+ @keyframes fadeOut {
3687
+ from {
3688
+ opacity: 1;
3689
+ }
3690
+ to {
3691
+ opacity: 0;
3692
+ }
3693
+ }
3694
+ @keyframes slideUp {
3695
+ from {
3696
+ transform: translateY(20px);
3697
+ opacity: 0;
3698
+ }
3699
+ to {
3700
+ transform: translateY(0);
3701
+ opacity: 1;
3702
+ }
3703
+ }
3704
+ @keyframes slideDown {
3705
+ from {
3706
+ transform: translateY(-20px);
3707
+ opacity: 0;
3708
+ }
3709
+ to {
3710
+ transform: translateY(0);
3711
+ opacity: 1;
3712
+ }
3713
+ }
3714
+ @keyframes slideLeft {
3715
+ from {
3716
+ transform: translateX(100%);
3717
+ }
3718
+ to {
3719
+ transform: translateX(0);
3720
+ }
3721
+ }
3722
+ @keyframes slideRight {
3723
+ from {
3724
+ transform: translateX(-100%);
3725
+ }
3726
+ to {
3727
+ transform: translateX(0);
3728
+ }
3729
+ }
3730
+ @keyframes scaleUp {
3731
+ from {
3732
+ transform: scale(0.95);
3733
+ opacity: 0;
3734
+ }
3735
+ to {
3736
+ transform: scale(1);
3737
+ opacity: 1;
3738
+ }
3739
+ }
3740
+ @keyframes scaleDown {
3741
+ from {
3742
+ transform: scale(1.05);
3743
+ opacity: 0;
3744
+ }
3745
+ to {
3746
+ transform: scale(1);
3747
+ opacity: 1;
3748
+ }
3749
+ }
3750
+ @keyframes spin {
3751
+ from {
3752
+ transform: rotate(0deg);
3753
+ }
3754
+ to {
3755
+ transform: rotate(360deg);
3756
+ }
3757
+ }
3758
+ @keyframes pulse {
3759
+ 0%, 100% {
3760
+ opacity: 1;
3761
+ }
3762
+ 50% {
3763
+ opacity: 0.5;
3764
+ }
3765
+ }
3766
+ @keyframes bounce {
3767
+ 0%, 100% {
3768
+ transform: translateY(-25%);
3769
+ animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
3770
+ }
3771
+ 50% {
3772
+ transform: translateY(0);
3773
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
3774
+ }
3775
+ }
3776
+ @media (max-width: 768px) {
3777
+ .cms-theme-customizer-panel {
3778
+ width: 100vw;
3779
+ }
3780
+ .cms-color-grid,
3781
+ .cms-input-grid {
3782
+ grid-template-columns: 1fr;
3783
+ }
3784
+ }
3785
+
3786
+ /* src/styles/themeCustomizer.css */
3787
+ .cms-theme-customizer-advanced {
3788
+ position: fixed;
3789
+ top: 0;
3790
+ left: 0;
3791
+ right: 0;
3792
+ bottom: 0;
3793
+ z-index: 10000;
3794
+ display: flex;
3795
+ align-items: center;
3796
+ justify-content: flex-end;
3797
+ }
3798
+ .cms-theme-customizer-overlay {
3799
+ position: absolute;
3800
+ top: 0;
3801
+ left: 0;
3802
+ right: 0;
3803
+ bottom: 0;
3804
+ background: rgba(0, 0, 0, 0.6);
3805
+ backdrop-filter: blur(8px);
3806
+ animation: fadeIn 0.3s ease-out;
3807
+ }
3808
+ .cms-theme-customizer-panel-advanced {
3809
+ position: relative;
3810
+ background: var(--cms-color-background, #ffffff);
3811
+ width: 600px;
3812
+ max-width: 95vw;
3813
+ height: 100vh;
3814
+ display: flex;
3815
+ flex-direction: column;
3816
+ box-shadow: -4px 0 24px rgba(0, 0, 0, 0.2);
3817
+ animation: slideLeft 0.3s ease-out;
3818
+ z-index: 1;
3819
+ }
3820
+ .cms-theme-customizer-header-advanced {
3821
+ display: flex;
3822
+ justify-content: space-between;
3823
+ align-items: center;
3824
+ padding: 1.5rem;
3825
+ border-bottom: 1px solid var(--cms-color-border, #e5e7eb);
3826
+ background: var(--cms-color-surface, #f9fafb);
3827
+ }
3828
+ .cms-header-left {
3829
+ display: flex;
3830
+ align-items: center;
3831
+ gap: 1rem;
3832
+ }
3833
+ .cms-header-left h2 {
3834
+ margin: 0;
3835
+ font-size: 1.5rem;
3836
+ font-weight: 700;
3837
+ color: var(--cms-color-text-primary, #1f2937);
3838
+ }
3839
+ .cms-theme-name-badge {
3840
+ padding: 0.25rem 0.75rem;
3841
+ background: var(--cms-color-primary-light, #e0e7ff);
3842
+ color: var(--cms-color-primary, #667eea);
3843
+ border-radius: 12px;
3844
+ font-size: 0.75rem;
3845
+ font-weight: 600;
3846
+ text-transform: uppercase;
3847
+ letter-spacing: 0.5px;
3848
+ }
3849
+ .cms-header-actions {
3850
+ display: flex;
3851
+ gap: 0.5rem;
3852
+ align-items: center;
3853
+ }
3854
+ .cms-icon-btn {
3855
+ width: 36px;
3856
+ height: 36px;
3857
+ display: flex;
3858
+ align-items: center;
3859
+ justify-content: center;
3860
+ background: var(--cms-color-surface, #f3f4f6);
3861
+ border: 1px solid var(--cms-color-border, #e5e7eb);
3862
+ border-radius: 8px;
3863
+ font-size: 1.25rem;
3864
+ cursor: pointer;
3865
+ transition: all 0.2s;
3866
+ color: var(--cms-color-text-primary, #1f2937);
3867
+ }
3868
+ .cms-icon-btn:hover:not(:disabled) {
3869
+ background: var(--cms-color-primary, #667eea);
3870
+ color: white;
3871
+ border-color: var(--cms-color-primary, #667eea);
3872
+ transform: translateY(-1px);
3873
+ }
3874
+ .cms-icon-btn:disabled {
3875
+ opacity: 0.4;
3876
+ cursor: not-allowed;
3877
+ }
3878
+ .cms-close-btn-advanced {
3879
+ width: 36px;
3880
+ height: 36px;
3881
+ display: flex;
3882
+ align-items: center;
3883
+ justify-content: center;
3884
+ background: none;
3885
+ border: none;
3886
+ font-size: 2rem;
3887
+ color: var(--cms-color-text-secondary, #6b7280);
3888
+ cursor: pointer;
3889
+ transition: all 0.2s;
3890
+ border-radius: 8px;
3891
+ }
3892
+ .cms-close-btn-advanced:hover {
3893
+ background: var(--cms-color-error-light, #fee2e2);
3894
+ color: var(--cms-color-error, #ef4444);
3895
+ }
3896
+ .cms-search-bar {
3897
+ padding: 1rem 1.5rem;
3898
+ border-bottom: 1px solid var(--cms-color-border, #e5e7eb);
3899
+ }
3900
+ .cms-search-input {
3901
+ width: 100%;
3902
+ padding: 0.75rem 1rem;
3903
+ background: var(--cms-color-surface, #f9fafb);
3904
+ border: 1px solid var(--cms-color-border, #e5e7eb);
3905
+ border-radius: 8px;
3906
+ font-size: 0.875rem;
3907
+ color: var(--cms-color-text-primary, #1f2937);
3908
+ transition: all 0.2s;
3909
+ }
3910
+ .cms-search-input:focus {
3911
+ outline: none;
3912
+ border-color: var(--cms-color-primary, #667eea);
3913
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
3914
+ }
3915
+ .cms-search-input::placeholder {
3916
+ color: var(--cms-color-text-tertiary, #9ca3af);
3917
+ }
3918
+ .cms-theme-tabs-advanced {
3919
+ display: flex;
3920
+ border-bottom: 1px solid var(--cms-color-border, #e5e7eb);
3921
+ background: var(--cms-color-surface, #f9fafb);
3922
+ overflow-x: auto;
3923
+ scrollbar-width: none;
3924
+ }
3925
+ .cms-theme-tabs-advanced::-webkit-scrollbar {
3926
+ display: none;
3927
+ }
3928
+ .cms-tab-btn-advanced {
3929
+ flex: 1;
3930
+ min-width: 80px;
3931
+ padding: 1rem 0.75rem;
3932
+ background: none;
3933
+ border: none;
3934
+ border-bottom: 2px solid transparent;
3935
+ display: flex;
3936
+ flex-direction: column;
3937
+ align-items: center;
3938
+ gap: 0.25rem;
3939
+ cursor: pointer;
3940
+ transition: all 0.2s;
3941
+ color: var(--cms-color-text-secondary, #6b7280);
3942
+ }
3943
+ .cms-tab-btn-advanced:hover {
3944
+ background: var(--cms-color-surface-hover, #f3f4f6);
3945
+ color: var(--cms-color-text-primary, #1f2937);
3946
+ }
3947
+ .cms-tab-btn-advanced.active {
3948
+ color: var(--cms-color-primary, #667eea);
3949
+ border-bottom-color: var(--cms-color-primary, #667eea);
3950
+ background: var(--cms-color-background, #ffffff);
3951
+ }
3952
+ .cms-tab-icon {
3953
+ font-size: 1.25rem;
3954
+ }
3955
+ .cms-tab-label {
3956
+ font-size: 0.75rem;
3957
+ font-weight: 600;
3958
+ text-transform: uppercase;
3959
+ letter-spacing: 0.5px;
3960
+ }
3961
+ .cms-theme-content-advanced {
3962
+ flex: 1;
3963
+ overflow-y: auto;
3964
+ padding: 1.5rem;
3965
+ }
3966
+ .cms-brand-generator {
3967
+ background:
3968
+ linear-gradient(
3969
+ 135deg,
3970
+ var(--cms-color-primary-light, #e0e7ff) 0%,
3971
+ var(--cms-color-secondary-light, #f3e8ff) 100%);
3972
+ padding: 1.5rem;
3973
+ border-radius: 12px;
3974
+ margin-bottom: 2rem;
3975
+ }
3976
+ .cms-brand-generator h3 {
3977
+ margin: 0 0 1rem 0;
3978
+ font-size: 1rem;
3979
+ font-weight: 600;
3980
+ color: var(--cms-color-text-primary, #1f2937);
3981
+ }
3982
+ .cms-brand-input-group {
3983
+ display: flex;
3984
+ gap: 0.75rem;
3985
+ align-items: center;
3986
+ }
3987
+ .cms-brand-color-picker {
3988
+ width: 60px;
3989
+ height: 48px;
3990
+ border: 2px solid var(--cms-color-border, #e5e7eb);
3991
+ border-radius: 8px;
3992
+ cursor: pointer;
3993
+ }
3994
+ .cms-brand-color-input {
3995
+ flex: 1;
3996
+ padding: 0.75rem 1rem;
3997
+ background: white;
3998
+ border: 1px solid var(--cms-color-border, #e5e7eb);
3999
+ border-radius: 8px;
4000
+ font-family: monospace;
4001
+ font-size: 0.875rem;
4002
+ }
4003
+ .cms-color-group {
4004
+ margin-bottom: 2rem;
4005
+ }
4006
+ .cms-color-group h3 {
4007
+ margin: 0 0 1rem 0;
4008
+ font-size: 0.875rem;
4009
+ font-weight: 600;
4010
+ color: var(--cms-color-text-primary, #1f2937);
4011
+ text-transform: uppercase;
4012
+ letter-spacing: 0.5px;
4013
+ }
4014
+ .cms-color-grid-advanced {
4015
+ display: grid;
4016
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
4017
+ gap: 1rem;
4018
+ }
4019
+ .cms-advanced-color-input {
4020
+ display: flex;
4021
+ flex-direction: column;
4022
+ gap: 0.5rem;
4023
+ }
4024
+ .cms-advanced-color-input label {
4025
+ font-size: 0.75rem;
4026
+ font-weight: 500;
4027
+ color: var(--cms-color-text-secondary, #6b7280);
4028
+ }
4029
+ .cms-color-input-wrapper-advanced {
4030
+ position: relative;
4031
+ display: flex;
4032
+ gap: 0.5rem;
4033
+ align-items: center;
4034
+ }
4035
+ .cms-color-swatch {
4036
+ width: 40px;
4037
+ height: 40px;
4038
+ border-radius: 8px;
4039
+ border: 2px solid var(--cms-color-border, #e5e7eb);
4040
+ cursor: pointer;
4041
+ transition: all 0.2s;
4042
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
4043
+ }
4044
+ .cms-color-swatch:hover {
4045
+ transform: scale(1.05);
4046
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
4047
+ }
4048
+ .cms-color-text-input {
4049
+ flex: 1;
4050
+ padding: 0.5rem 0.75rem;
4051
+ background: var(--cms-color-surface, #f9fafb);
4052
+ border: 1px solid var(--cms-color-border, #e5e7eb);
4053
+ border-radius: 6px;
4054
+ font-family: monospace;
4055
+ font-size: 0.875rem;
4056
+ color: var(--cms-color-text-primary, #1f2937);
4057
+ transition: all 0.2s;
4058
+ }
4059
+ .cms-color-text-input:focus {
4060
+ outline: none;
4061
+ border-color: var(--cms-color-primary, #667eea);
4062
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
4063
+ }
4064
+ .cms-color-picker-popover {
4065
+ position: absolute;
4066
+ top: 100%;
4067
+ left: 0;
4068
+ margin-top: 0.5rem;
4069
+ background: white;
4070
+ border: 1px solid var(--cms-color-border, #e5e7eb);
4071
+ border-radius: 12px;
4072
+ padding: 1rem;
4073
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
4074
+ z-index: 100;
4075
+ animation: scaleUp 0.2s ease-out;
4076
+ }
4077
+ .cms-color-picker-native {
4078
+ width: 200px;
4079
+ height: 150px;
4080
+ border: none;
4081
+ border-radius: 8px;
4082
+ cursor: pointer;
4083
+ }
4084
+ .cms-color-presets {
4085
+ display: grid;
4086
+ grid-template-columns: repeat(4, 1fr);
4087
+ gap: 0.5rem;
4088
+ margin-top: 0.75rem;
4089
+ }
4090
+ .cms-color-preset {
4091
+ width: 40px;
4092
+ height: 40px;
4093
+ border-radius: 6px;
4094
+ cursor: pointer;
4095
+ transition: all 0.2s;
4096
+ border: 2px solid transparent;
4097
+ }
4098
+ .cms-color-preset:hover {
4099
+ transform: scale(1.1);
4100
+ border-color: var(--cms-color-primary, #667eea);
4101
+ }
4102
+ .cms-property-group {
4103
+ margin-bottom: 2rem;
4104
+ }
4105
+ .cms-property-group h3 {
4106
+ margin: 0 0 1rem 0;
4107
+ font-size: 0.875rem;
4108
+ font-weight: 600;
4109
+ color: var(--cms-color-text-primary, #1f2937);
4110
+ text-transform: uppercase;
4111
+ letter-spacing: 0.5px;
4112
+ }
4113
+ .cms-property-grid {
4114
+ display: grid;
4115
+ grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
4116
+ gap: 1rem;
4117
+ }
4118
+ .cms-property-input {
4119
+ display: flex;
4120
+ flex-direction: column;
4121
+ gap: 0.5rem;
4122
+ }
4123
+ .cms-property-input label {
4124
+ font-size: 0.75rem;
4125
+ font-weight: 500;
4126
+ color: var(--cms-color-text-secondary, #6b7280);
4127
+ }
4128
+ .cms-property-input-field {
4129
+ padding: 0.5rem 0.75rem;
4130
+ background: var(--cms-color-surface, #f9fafb);
4131
+ border: 1px solid var(--cms-color-border, #e5e7eb);
4132
+ border-radius: 6px;
4133
+ font-size: 0.875rem;
4134
+ color: var(--cms-color-text-primary, #1f2937);
4135
+ transition: all 0.2s;
4136
+ }
4137
+ .cms-property-input-field:focus {
4138
+ outline: none;
4139
+ border-color: var(--cms-color-primary, #667eea);
4140
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
4141
+ }
4142
+ .cms-spacing-visual {
4143
+ display: flex;
4144
+ flex-direction: column;
4145
+ gap: 1rem;
4146
+ }
4147
+ .cms-spacing-item {
4148
+ display: grid;
4149
+ grid-template-columns: 60px 1fr 120px;
4150
+ gap: 1rem;
4151
+ align-items: center;
4152
+ }
4153
+ .cms-spacing-label {
4154
+ font-size: 0.75rem;
4155
+ font-weight: 600;
4156
+ color: var(--cms-color-text-secondary, #6b7280);
4157
+ }
4158
+ .cms-spacing-bar {
4159
+ height: 32px;
4160
+ background: var(--cms-color-primary, #667eea);
4161
+ border-radius: 4px;
4162
+ display: flex;
4163
+ align-items: center;
4164
+ padding: 0 0.75rem;
4165
+ color: white;
4166
+ font-size: 0.75rem;
4167
+ font-weight: 600;
4168
+ transition: all 0.2s;
4169
+ }
4170
+ .cms-spacing-input {
4171
+ padding: 0.5rem 0.75rem;
4172
+ background: var(--cms-color-surface, #f9fafb);
4173
+ border: 1px solid var(--cms-color-border, #e5e7eb);
4174
+ border-radius: 6px;
4175
+ font-size: 0.875rem;
4176
+ font-family: monospace;
4177
+ }
4178
+ .cms-radius-grid {
4179
+ display: grid;
4180
+ grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
4181
+ gap: 1rem;
4182
+ }
4183
+ .cms-radius-item {
4184
+ display: flex;
4185
+ flex-direction: column;
4186
+ gap: 0.5rem;
4187
+ }
4188
+ .cms-radius-preview {
4189
+ width: 100%;
4190
+ height: 60px;
4191
+ background: var(--cms-color-primary, #667eea);
4192
+ border: 2px solid var(--cms-color-border, #e5e7eb);
4193
+ }
4194
+ .cms-shadow-grid {
4195
+ display: grid;
4196
+ grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
4197
+ gap: 1rem;
4198
+ }
4199
+ .cms-shadow-item {
4200
+ display: flex;
4201
+ flex-direction: column;
4202
+ gap: 0.5rem;
4203
+ }
4204
+ .cms-shadow-preview {
4205
+ width: 100%;
4206
+ height: 60px;
4207
+ background: white;
4208
+ border-radius: 8px;
4209
+ }
4210
+ .cms-gradient-grid {
4211
+ display: grid;
4212
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
4213
+ gap: 1rem;
4214
+ }
4215
+ .cms-gradient-item {
4216
+ display: flex;
4217
+ flex-direction: column;
4218
+ gap: 0.5rem;
4219
+ }
4220
+ .cms-gradient-preview {
4221
+ width: 100%;
4222
+ height: 80px;
4223
+ border-radius: 8px;
4224
+ border: 1px solid var(--cms-color-border, #e5e7eb);
4225
+ }
4226
+ .cms-validation {
4227
+ padding: 1rem;
4228
+ border-radius: 8px;
4229
+ font-size: 0.875rem;
4230
+ }
4231
+ .cms-validation.valid {
4232
+ background: var(--cms-color-success-light, #d1fae5);
4233
+ color: var(--cms-color-success-dark, #065f46);
4234
+ }
4235
+ .cms-validation.invalid {
4236
+ background: var(--cms-color-error-light, #fee2e2);
4237
+ color: var(--cms-color-error-dark, #991b1b);
4238
+ }
4239
+ .cms-validation-success {
4240
+ display: flex;
4241
+ align-items: center;
4242
+ gap: 0.5rem;
4243
+ font-weight: 600;
4244
+ }
4245
+ .cms-validation-errors ul {
4246
+ margin: 0.5rem 0 0 0;
4247
+ padding-left: 1.5rem;
4248
+ }
4249
+ .cms-preview-tab {
4250
+ padding: 2rem;
4251
+ min-height: 100%;
4252
+ }
4253
+ .cms-preview-section {
4254
+ display: flex;
4255
+ flex-direction: column;
4256
+ gap: 2rem;
4257
+ }
4258
+ .cms-preview-colors {
4259
+ display: grid;
4260
+ grid-template-columns: repeat(3, 1fr);
4261
+ gap: 1rem;
4262
+ }
4263
+ .cms-preview-color-box {
4264
+ padding: 2rem;
4265
+ border-radius: 12px;
4266
+ text-align: center;
4267
+ font-weight: 600;
4268
+ font-size: 0.875rem;
4269
+ }
4270
+ .cms-preview-card {
4271
+ display: flex;
4272
+ flex-direction: column;
4273
+ gap: 1rem;
4274
+ }
4275
+ .cms-preview-typography {
4276
+ display: flex;
4277
+ flex-direction: column;
4278
+ gap: 1rem;
4279
+ }
4280
+ .cms-theme-footer-advanced {
4281
+ display: flex;
4282
+ justify-content: space-between;
4283
+ align-items: center;
4284
+ padding: 1.5rem;
4285
+ border-top: 1px solid var(--cms-color-border, #e5e7eb);
4286
+ background: var(--cms-color-surface, #f9fafb);
4287
+ }
4288
+ .cms-footer-actions {
4289
+ display: flex;
4290
+ gap: 0.75rem;
4291
+ }
4292
+ .cms-select {
4293
+ padding: 0.5rem 0.75rem;
4294
+ background: var(--cms-color-surface, #f9fafb);
4295
+ border: 1px solid var(--cms-color-border, #e5e7eb);
4296
+ border-radius: 6px;
4297
+ font-size: 0.875rem;
4298
+ color: var(--cms-color-text-primary, #1f2937);
4299
+ cursor: pointer;
4300
+ }
4301
+ @media (max-width: 768px) {
4302
+ .cms-theme-customizer-panel-advanced {
4303
+ width: 100vw;
4304
+ }
4305
+ .cms-color-grid-advanced,
4306
+ .cms-property-grid {
4307
+ grid-template-columns: 1fr;
4308
+ }
4309
+ .cms-brand-input-group {
4310
+ flex-direction: column;
4311
+ }
4312
+ .cms-brand-color-picker {
4313
+ width: 100%;
4314
+ }
4315
+ }
3217
4316
  /*# sourceMappingURL=index.css.map */