@burger-editor/client 4.0.0-alpha.11 → 4.0.0-alpha.13

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/client.css CHANGED
@@ -1,4 +1,4 @@
1
- @charset "UTF-8";
1
+ @charset "utf-8";
2
2
  dl.svelte-zdu8xx {
3
3
  padding: 0;
4
4
  margin: 0;
@@ -489,345 +489,514 @@
489
489
  }
490
490
  }
491
491
 
492
+
492
493
  :root {
493
- --bge-lightest-color: #fff;
494
- --bge-darkest-color: #000;
495
- --bge-border-primary-color: #cfd1cf;
496
- --bge-background-color01: #f5f5f5;
497
- --bge-background-color02: #555;
498
- --bge-border-color: #c6c6d8;
499
- --bge-ui-primary-color: #0c7e9e;
500
- --bge-ui-background-color: #eaedf0;
501
- --bge-button-background-color: var(--bge-lightest-color);
502
- --bge-dialog-font-color: #0f1533;
503
- --bge-dialog-background-color: var(--bge-ui-background-color);
504
- --bge-focus-outline-width: 2px;
505
- --bge-tooltip-background-color: rgb(0 0 0 / 60%);
506
- --bge-font-family-monospace: "Courier New", monospace;
494
+ --bge-lightest-color: #fff;
495
+ --bge-darkest-color: #000;
496
+ --bge-border-primary-color: #cfd1cf;
497
+ --bge-background-color01: #f5f5f5;
498
+ --bge-background-color02: #555;
499
+ --bge-border-color: #c6c6d8;
500
+ --bge-ui-primary-color: #0c7e9e;
501
+ --bge-ui-background-color: #eaedf0;
502
+ --bge-button-background-color: var(--bge-lightest-color);
503
+ --bge-dialog-font-color: #0f1533;
504
+ --bge-dialog-background-color: var(--bge-ui-background-color);
505
+ --bge-focus-outline-width: 2px;
506
+ --bge-tooltip-background-color: rgb(0 0 0 / 60%);
507
+ --bge-font-family-monospace: 'Courier New', monospace;
507
508
  }
508
509
 
509
510
  :where(body:has(dialog[open])) {
510
- overflow: hidden;
511
+ overflow: hidden;
511
512
  }
512
513
 
513
514
  :where(dialog[open]) {
514
- --dialog-margin: 40px;
515
- --dialog-margin-inline: var(--dialog-margin);
516
- --dialog-margin-block: var(--dialog-margin);
517
- --border-radius: 0.5em;
518
- display: grid;
519
- grid-template-rows: minmax(0, 1fr) auto;
520
- inline-size: calc(100vw - var(--dialog-margin-inline) * 2);
521
- max-inline-size: 40em;
522
- max-block-size: calc(100vh - var(--dialog-margin-block) * 2);
523
- padding: 0;
524
- padding-block: 1em;
525
- overscroll-behavior: contain;
526
- font-size: 16px;
527
- color: var(--bge-dialog-font-color);
528
- resize: both;
529
- background: var(--bge-dialog-background-color);
530
- border: none;
531
- border-radius: var(--border-radius);
532
- }
533
- :where(:where(dialog[open]) *) {
534
- box-sizing: border-box;
535
- }
536
- :where(dialog[open])::backdrop {
537
- background: rgba(0, 0, 1, 0.6);
538
- }
539
- :where(dialog[open]):has([data-bge-dialog="2col"]), :where(dialog[open]):has([data-bge-dialog=wide]) {
540
- max-inline-size: 80em;
541
- }
542
- :where(dialog[open])[style*="width:"] {
543
- max-inline-size: none;
544
- }
545
- :where(dialog[open]) > div {
546
- --padding-block: 0em;
547
- --padding-inline: 1em;
548
- padding-block: calc(var(--padding-block) + var(--bge-focus-outline-width));
549
- padding-inline: calc(var(--padding-inline) + var(--bge-focus-outline-width));
550
- overflow: auto;
551
- outline: none;
552
- }
553
- :where(dialog[open]) > div > form {
554
- block-size: max-content;
555
- margin: 0;
556
- }
557
- :where(dialog[open]) > footer {
558
- --padding-block: 1em;
559
- --padding-inline: 1em;
560
- display: flex;
561
- gap: 0.5em;
562
- justify-content: flex-end;
563
- padding-block-start: calc(var(--padding-block) + var(--bge-focus-outline-width));
564
- padding-inline: calc(var(--padding-inline) + var(--bge-focus-outline-width));
565
- background: var(--bge-dialog-background-color);
566
- }
567
- :where(dialog[open]) [data-bge-dialog="2col"] {
568
- display: flex;
569
- gap: 2em;
570
- align-items: flex-start;
571
- }
572
- :where(dialog[open]) [data-bge-dialog="2col"] > div {
573
- flex: 0 0 calc(50% - 1em);
574
- }
575
- :where(dialog[open]) [data-bge-dialog-ui*=sticky] {
576
- position: sticky;
577
- inset-block-start: 0;
578
- z-index: 1;
579
- background: var(--bge-dialog-background-color);
580
- }
515
+ --dialog-margin: 40px;
516
+ --dialog-margin-inline: var(--dialog-margin);
517
+ --dialog-margin-block: var(--dialog-margin);
518
+ --border-radius: 0.5em;
519
+ display: grid;
520
+ grid-template-rows: minmax(0, 1fr) auto;
521
+ inline-size: calc(100vw - (var(--dialog-margin-inline) * 2));
522
+ max-inline-size: 40em;
523
+ max-block-size: calc(100vh - (var(--dialog-margin-block) * 2));
524
+ padding: 0;
525
+ padding-block: 1em;
526
+ overscroll-behavior: contain;
527
+ font-size: 16px;
528
+ color: var(--bge-dialog-font-color);
529
+ resize: both;
530
+ background: var(--bge-dialog-background-color);
531
+ border: none;
532
+ border-radius: var(--border-radius);
581
533
 
582
- :where(dialog[open], [data-bge-component=block-menu]) :where(input:is(:not([type]),
583
- [type=text],
584
- [type=number],
585
- [type=password],
586
- [type=email],
587
- [type=url],
588
- [type=tel],
589
- [type=search],
590
- [type=color],
591
- [type=date],
592
- [type=time],
593
- [type=datetime-local],
594
- [type=month],
595
- [type=week]),
596
- select,
597
- textarea) {
598
- inline-size: 100%;
599
- padding-block: 0.5em;
600
- padding-inline: 0.7em;
601
- font-size: 1em;
602
- line-height: 1.1;
603
- }
604
- :where(dialog[open], [data-bge-component=block-menu]) :where(input:not([type=radio], [type=checkbox], [type=range]),
605
- select,
606
- textarea,
607
- [contenteditable]) {
608
- background: var(--bge-lightest-color);
609
- border: 1px solid var(--bge-border-color);
610
- border-radius: var(--border-radius);
611
- }
612
- :where(dialog[open], [data-bge-component=block-menu]) :where(input:not([type=radio], [type=checkbox], [type=range]),
613
- select,
614
- textarea,
615
- [contenteditable]):disabled {
616
- background: initial;
617
- }
618
- :where(dialog[open], [data-bge-component=block-menu]) :where(input, textarea, select, button, [contenteditable]):focus-visible {
619
- --bge-border-color: var(--bge-ui-primary-color);
620
- --bge-outline-color: var(--bge-ui-primary-color);
621
- --allow-color: var(--bge-ui-primary-color);
622
- outline: var(--bge-focus-outline-width) solid var(--bge-outline-color);
623
- }
624
- :where(dialog[open], [data-bge-component=block-menu]) :where(select) {
625
- --allow-size: 0.4em;
626
- --allow-padding: 0.5em;
627
- --allow-color: currentColor;
628
- --separator-width: 1px;
629
- --separator-height: calc(100% - 4px * 2);
630
- --separator-color: var(--bge-border-color);
631
- appearance: none;
632
- background-image: linear-gradient(45deg, transparent 50%, var(--allow-color) 50%), linear-gradient(135deg, var(--allow-color) 50%, transparent 50%), linear-gradient(to right, var(--separator-color), var(--separator-color));
633
- background-repeat: no-repeat;
634
- background-position: right calc(var(--allow-padding) + var(--allow-size) * 2) center, right calc(var(--allow-padding) + var(--allow-size) * 1 + 1px) center, right calc(var(--allow-padding) * 2 + var(--allow-size) * 4) center;
635
- background-size: var(--allow-size) var(--allow-size), var(--allow-size) var(--allow-size), var(--separator-width) var(--separator-height);
636
- }
637
- :where(dialog[open], [data-bge-component=block-menu]) :where(textarea) {
638
- field-sizing: content;
639
- max-block-size: 50vh;
640
- }
641
- :where(dialog[open], [data-bge-component=block-menu]) :where(button) {
642
- padding-block: 0.5em;
643
- padding-inline: 1em;
644
- font-size: inherit;
645
- line-height: 1.1;
646
- appearance: none;
647
- cursor: pointer;
648
- background: var(--bge-button-background-color);
649
- border: 1px solid var(--bge-border-color);
650
- border-radius: var(--border-radius);
651
- }
652
- :where(dialog[open], [data-bge-component=block-menu]) :where(button:is([aria-pressed=true], [aria-selected=true])) {
653
- color: #fff;
654
- background-color: var(--bge-ui-primary-color);
655
- }
656
- :where(dialog[open], [data-bge-component=block-menu]) :where(button:is([aria-pressed=true], [aria-selected=true])):focus-visible {
657
- box-shadow: 0 0 0 2px #fff inset;
658
- }
659
- :where(dialog[open], [data-bge-component=block-menu]) :where(input:is([type=checkbox], [type=radio], [type=range])) {
660
- inline-size: 1.5em;
661
- block-size: 1.5em;
662
- margin: 0;
663
- accent-color: var(--bge-ui-primary-color);
664
- }
665
- :where(dialog[open], [data-bge-component=block-menu]) :where(input:is([type=range])) {
666
- inline-size: 100%;
667
- }
668
- :where(dialog[open], [data-bge-component=block-menu]) :where(label:not([for], :has(+ button))):last-of-type {
669
- padding-block-end: 0;
670
- border-block-end: none;
671
- }
672
- :where(dialog[open], [data-bge-component=block-menu]) :where(label:not([for], :has(+ button))):has(+ small[id]):has(input[aria-describedby]) {
673
- margin-block-end: 0.3em;
674
- }
675
- :where(dialog[open], [data-bge-component=block-menu]) :where(label:not([for])) {
676
- display: block;
677
- }
678
- :where(dialog[open], [data-bge-component=block-menu]) :where(:is(label:not([for]), small[id], [role=radiogroup]) ~ :is(label:not([for]),
679
- div:has(> label, > span > label):has(> :is(input, select, textarea)),
680
- [role=radiogroup])) {
681
- padding-block-start: 1em;
682
- margin-block-start: 1em;
683
- border-block-start: 1px solid var(--bge-border-color);
684
- }
685
- :where(dialog[open], [data-bge-component=block-menu]) :where(:is(label:not([for]), small[id]) + fieldset) {
686
- margin-block-start: 1em;
687
- }
688
- :where(dialog[open], [data-bge-component=block-menu]) :where(label:not([for]) > span:has(+ input, + select, + textarea)) {
689
- display: block;
690
- margin-block-end: 0.3em;
691
- }
692
- :where(dialog[open], [data-bge-component=block-menu]) :where(label:not([for]):has(input:is([type=checkbox], [type=radio]))) {
693
- display: flex;
694
- gap: 0.3em;
695
- align-items: center;
696
- }
697
- :where(dialog[open], [data-bge-component=block-menu]) :where(fieldset) {
698
- padding: 1em;
699
- margin-block-end: 1em;
700
- border: 1px solid var(--bge-border-color);
701
- border-radius: var(--border-radius);
702
- }
703
- :where(dialog[open], [data-bge-component=block-menu]) :where(fieldset):is(* + :where(dialog[open], [data-bge-component=block-menu]) :where(fieldset)) {
704
- margin-block-start: 1em;
705
- }
706
- :where(dialog[open], [data-bge-component=block-menu]) :where(* + bge-wysiwyg-editor) {
707
- margin-block-start: 1em;
708
- }
709
- :where(dialog[open], [data-bge-component=block-menu]) :where(bge-wysiwyg-editor:has(+ *)) {
710
- margin-block-end: 1em;
711
- }
712
- :where(dialog[open], [data-bge-component=block-menu]) :where([role=radiogroup]) {
713
- display: flex;
714
- flex-wrap: wrap;
715
- gap: 1em;
716
- }
717
- :where(dialog[open], [data-bge-component=block-menu]) :where([role=radiogroup]) > :not(label):first-child::after {
718
- content: ":";
719
- }
720
- :where(dialog[open], [data-bge-component=block-menu]) :where([role=radiogroup]) > label {
721
- padding: 0;
722
- margin: 0;
723
- border: none;
724
- }
725
- :where(dialog[open], [data-bge-component=block-menu]) :where(div:has(input):has(> button:last-child)) {
726
- display: flex;
727
- gap: 0.5em;
728
- align-items: center;
729
- justify-content: flex-end;
730
- }
731
- :where(dialog[open], [data-bge-component=block-menu]) :where(div:has(input):has(> button:last-child)):has(> label) {
732
- align-items: flex-end;
733
- }
734
- :where(dialog[open], [data-bge-component=block-menu]) :where(div:has(input):has(> button:last-child)):has(> label) > label {
735
- flex-grow: 1;
736
- }
737
- :where(dialog[open], [data-bge-component=block-menu]) :where(iframe) {
738
- display: block;
739
- inline-size: 100%;
740
- border: none;
741
- }
742
- :where(dialog[open], [data-bge-component=block-menu]) :where(code) {
743
- display: inline-block;
744
- padding-block: 0.1em;
745
- padding-inline: 0.3em;
746
- font-size: 0.75em;
747
- font-weight: bold;
748
- vertical-align: middle;
749
- color: color-mix(in srgb, currentcolor 80%, var(--bge-lightest-color) 20%);
750
- background: color-mix(in srgb, var(--bge-dialog-background-color) 80%, var(--bge-lightest-color) 20%);
751
- border: 1px solid color-mix(in srgb, var(--bge-border-color) 80%, var(--bge-lightest-color) 20%);
752
- border-radius: 0.3em;
753
- }
754
- :where(dialog[open], [data-bge-component=block-menu]) :where(p):first-child {
755
- margin-block-start: 0;
756
- }
757
- :where(dialog[open], [data-bge-component=block-menu]) :where(p):last-child {
758
- margin-block-end: 0;
759
- }
760
- :where(dialog[open], [data-bge-component=block-menu]) :where([data-bge-editor-ui]) {
761
- margin-block-start: 1em;
762
- }
763
- :where(dialog[open], [data-bge-component=block-menu]) :where([data-bge-editor-ui]):first-child {
764
- margin-block-start: 0;
765
- }
534
+ :where(&, *) {
535
+ box-sizing: border-box;
536
+ }
766
537
 
767
- [data-bge-component$=-editable-area][data-bge-component-mode=visual] iframe {
768
- display: block;
769
- margin-block: 0;
770
- margin-inline: auto;
771
- overflow: hidden;
772
- border: none;
773
- }
774
- [data-bge-component$=-editable-area][data-bge-component-mode=visual] textarea {
775
- display: none;
776
- }
777
- [data-bge-component$=-editable-area][data-bge-component-mode=source] iframe {
778
- display: none;
779
- }
538
+ &::backdrop {
539
+ background: rgb(0 0 1 / 60%);
540
+ }
780
541
 
781
- [data-bge-component=editable-area] [data-bgi] {
782
- --outline: none;
783
- min-inline-size: 20px;
784
- min-block-size: 20px;
785
- outline: var(--outline);
786
- }
787
- [data-bge-component=editable-area] [data-bgi]:where([data-bge-container]:hover [data-bge-component=editable-area] [data-bgi]) {
788
- --outline: 1px #a6a6a6 dotted;
789
- }
790
- [data-bge-component=editable-area] [data-bgi]:hover {
791
- --outline: 1px solid var(--bge-ui-primary-color);
792
- cursor: pointer;
793
- background-color: oklch(from currentcolor l c h/5%);
794
- background-blend-mode: darken;
542
+ &:has([data-bge-dialog='2col']),
543
+ &:has([data-bge-dialog='wide']) {
544
+ max-inline-size: 80em;
545
+ }
546
+
547
+ &[style*='width:'] {
548
+ max-inline-size: none;
549
+ }
550
+
551
+ > div {
552
+ --padding-block: 0em; /* stylelint-disable-line length-zero-no-unit */
553
+ --padding-inline: 1em;
554
+ padding-block: calc(var(--padding-block) + var(--bge-focus-outline-width));
555
+ padding-inline: calc(var(--padding-inline) + var(--bge-focus-outline-width));
556
+ overflow: auto;
557
+ outline: none;
558
+ }
559
+
560
+ > div > form {
561
+ block-size: max-content;
562
+ margin: 0;
563
+ }
564
+
565
+ > footer {
566
+ --padding-block: 1em;
567
+ --padding-inline: 1em;
568
+ display: flex;
569
+ gap: 0.5em;
570
+ justify-content: flex-end;
571
+ padding-block-start: calc(var(--padding-block) + var(--bge-focus-outline-width));
572
+ padding-inline: calc(var(--padding-inline) + var(--bge-focus-outline-width));
573
+ background: var(--bge-dialog-background-color);
574
+ }
575
+
576
+ [data-bge-dialog='2col'] {
577
+ display: flex;
578
+ gap: 2em;
579
+ align-items: flex-start;
580
+ }
581
+
582
+ [data-bge-dialog='2col'] > div {
583
+ flex: 0 0 calc(50% - 2em / 2);
584
+ }
585
+
586
+ [data-bge-dialog-ui*='sticky'] {
587
+ position: sticky;
588
+ inset-block-start: 0;
589
+ z-index: 1;
590
+ background: var(--bge-dialog-background-color);
591
+ }
592
+ }
593
+
594
+ :where(dialog[open], [data-bge-component='block-menu']) {
595
+ :where(
596
+ input:is(
597
+ :not([type]),
598
+ [type='text'],
599
+ [type='number'],
600
+ [type='password'],
601
+ [type='email'],
602
+ [type='url'],
603
+ [type='tel'],
604
+ [type='search'],
605
+ [type='color'],
606
+ [type='date'],
607
+ [type='time'],
608
+ [type='datetime-local'],
609
+ [type='month'],
610
+ [type='week']
611
+ ),
612
+ select,
613
+ textarea
614
+ ) {
615
+ inline-size: 100%;
616
+ padding-block: 0.5em;
617
+ padding-inline: 0.7em;
618
+ font-size: 1em;
619
+ line-height: 1.1;
620
+ }
621
+
622
+ :where(
623
+ input:not([type='radio'], [type='checkbox'], [type='range']),
624
+ select,
625
+ textarea,
626
+ [contenteditable]
627
+ ) {
628
+ background: var(--bge-lightest-color);
629
+ border: 1px solid var(--bge-border-color);
630
+ border-radius: var(--border-radius);
631
+
632
+ &:disabled {
633
+ background: initial;
634
+ }
635
+ }
636
+
637
+ :where(input, textarea, select, button, [contenteditable]):focus-visible {
638
+ --bge-border-color: var(--bge-ui-primary-color);
639
+ --bge-outline-color: var(--bge-ui-primary-color);
640
+ --allow-color: var(--bge-ui-primary-color);
641
+ outline: var(--bge-focus-outline-width) solid var(--bge-outline-color);
642
+ }
643
+
644
+ :where(select) {
645
+ --allow-size: 0.4em;
646
+ --allow-padding: 0.5em;
647
+ --allow-color: currentColor;
648
+ --separator-width: 1px;
649
+ --separator-height: calc(100% - 4px * 2);
650
+ --separator-color: var(--bge-border-color);
651
+ appearance: none;
652
+ background-image:
653
+ linear-gradient(45deg, transparent 50%, var(--allow-color) 50%),
654
+ linear-gradient(135deg, var(--allow-color) 50%, transparent 50%),
655
+ linear-gradient(to right, var(--separator-color), var(--separator-color));
656
+ background-repeat: no-repeat;
657
+ background-position:
658
+ right calc(var(--allow-padding) + var(--allow-size) * 2) center,
659
+ right calc(var(--allow-padding) + var(--allow-size) * 1 + 1px) center,
660
+ right calc(var(--allow-padding) * 2 + var(--allow-size) * 4) center;
661
+ background-size:
662
+ var(--allow-size) var(--allow-size),
663
+ var(--allow-size) var(--allow-size),
664
+ var(--separator-width) var(--separator-height);
665
+ }
666
+
667
+ :where(textarea) {
668
+ field-sizing: content;
669
+ max-block-size: 50vh;
670
+ }
671
+
672
+ :where(button) {
673
+ padding-block: 0.5em;
674
+ padding-inline: 1em;
675
+ font-size: inherit;
676
+ line-height: 1.1;
677
+ appearance: none;
678
+ cursor: pointer;
679
+ background: var(--bge-button-background-color);
680
+ border: 1px solid var(--bge-border-color);
681
+ border-radius: var(--border-radius);
682
+ }
683
+
684
+ :where(button:is([aria-pressed='true'], [aria-selected='true'])) {
685
+ color: #fff;
686
+ background-color: var(--bge-ui-primary-color);
687
+
688
+ &:focus-visible {
689
+ box-shadow: 0 0 0 2px #fff inset;
690
+ }
691
+ }
692
+
693
+ :where(input:is([type='checkbox'], [type='radio'], [type='range'])) {
694
+ inline-size: 1.5em;
695
+ block-size: 1.5em;
696
+ margin: 0;
697
+ accent-color: var(--bge-ui-primary-color);
698
+ }
699
+
700
+ :where(input:is([type='range'])) {
701
+ inline-size: 100%;
702
+ }
703
+
704
+ :where(label:not([for], :has(+ button))) {
705
+ &:last-of-type {
706
+ padding-block-end: 0;
707
+ border-block-end: none;
708
+ }
709
+
710
+ &:has(+ small[id]):has(input[aria-describedby]) {
711
+ margin-block-end: 0.3em;
712
+ }
713
+ }
714
+
715
+ :where(label:not([for])) {
716
+ display: block;
717
+ }
718
+
719
+ :where(
720
+ :is(label:not([for]), small[id], [role='radiogroup'])
721
+ ~ :is(
722
+ label:not([for]),
723
+ div:has(> label, > span > label):has(> :is(input, select, textarea)),
724
+ [role='radiogroup']
725
+ )
726
+ ) {
727
+ padding-block-start: 1em;
728
+ margin-block-start: 1em;
729
+ border-block-start: 1px solid var(--bge-border-color);
730
+ }
731
+
732
+ :where(:is(label:not([for]), small[id]) + fieldset) {
733
+ margin-block-start: 1em;
734
+ }
735
+
736
+ :where(label:not([for]) > span:has(+ input, + select, + textarea)) {
737
+ display: block;
738
+ margin-block-end: 0.3em;
739
+ }
740
+
741
+ :where(label:not([for]):has(input:is([type='checkbox'], [type='radio']))) {
742
+ display: flex;
743
+ gap: 0.3em;
744
+ align-items: center;
745
+ }
746
+
747
+ :where(fieldset) {
748
+ padding: 1em;
749
+ margin-block-start: 1em;
750
+ border: 1px solid var(--bge-border-color);
751
+ border-radius: var(--border-radius);
752
+
753
+ &:first-child {
754
+ margin-block-start: 0;
755
+ }
756
+ }
757
+
758
+ :where([role='radiogroup']) {
759
+ display: flex;
760
+ flex-wrap: wrap;
761
+ gap: 1em;
762
+
763
+ > :not(label):first-child {
764
+ &::after {
765
+ content: ':';
766
+ }
767
+ }
768
+
769
+ > label {
770
+ padding: 0;
771
+ margin: 0;
772
+ border: none;
773
+ }
774
+ }
775
+
776
+ :where(div:has(input):has(> button:last-child)) {
777
+ display: flex;
778
+ gap: 0.5em;
779
+ align-items: center;
780
+ justify-content: flex-end;
781
+
782
+ &:has(> label) {
783
+ align-items: flex-end;
784
+
785
+ > label {
786
+ flex-grow: 1;
787
+ }
788
+ }
789
+ }
790
+
791
+ :where(iframe) {
792
+ display: block;
793
+ inline-size: 100%;
794
+ border: none;
795
+ }
796
+
797
+ :where(code) {
798
+ display: inline-block;
799
+ padding-block: 0.1em;
800
+ padding-inline: 0.3em;
801
+ font-size: 0.75em;
802
+ font-weight: bold;
803
+ vertical-align: middle;
804
+ color: color-mix(in srgb, currentcolor 80%, var(--bge-lightest-color) 20%);
805
+ background: color-mix(
806
+ in srgb,
807
+ var(--bge-dialog-background-color) 80%,
808
+ var(--bge-lightest-color) 20%
809
+ );
810
+ border: 1px solid
811
+ color-mix(in srgb, var(--bge-border-color) 80%, var(--bge-lightest-color) 20%);
812
+ border-radius: 0.3em;
813
+ }
814
+
815
+ :where(p) {
816
+ &:first-child {
817
+ margin-block-start: 0;
818
+ }
819
+
820
+ &:last-child {
821
+ margin-block-end: 0;
822
+ }
823
+ }
824
+
825
+ :where([data-bge-editor-ui]) {
826
+ margin-block-start: 1em;
827
+
828
+ &:first-child {
829
+ margin-block-start: 0;
830
+ }
831
+ }
832
+
833
+ bge-wysiwyg-editor {
834
+ display: block;
835
+ margin-block-start: 1em;
836
+
837
+ > fieldset {
838
+ margin-block: 0;
839
+ }
840
+
841
+ &:first-child {
842
+ margin-block-start: 0;
843
+ }
844
+
845
+ [data-bge-toolbar] {
846
+ display: flex;
847
+ flex-wrap: wrap;
848
+ gap: 0.25em;
849
+ align-items: center;
850
+ justify-content: space-between;
851
+ margin-block-end: 0.5em;
852
+ }
853
+
854
+ [data-bge-toolbar-group] {
855
+ display: flex;
856
+ flex-wrap: wrap;
857
+ gap: 0.25em;
858
+ align-items: center;
859
+ }
860
+
861
+ [data-bge-toolbar-button] {
862
+ --size: 1lh;
863
+ --stroke-width: 1.5;
864
+ --padding: 0.25em;
865
+ padding: 0.25em;
866
+ font-size: inherit;
867
+ cursor: pointer;
868
+ background: var(--bge-lightest-color);
869
+ border: 1px solid var(--bge-border-color);
870
+ border-radius: var(--border-radius);
871
+
872
+ &:hover,
873
+ &:focus-visible {
874
+ --bge-border-color: var(--bge-ui-primary-color);
875
+ --bge-outline-color: var(--bge-ui-primary-color);
876
+ outline: var(--bge-focus-outline-width) solid var(--bge-outline-color);
877
+ }
878
+
879
+ &:disabled {
880
+ color: inherit;
881
+ cursor: not-allowed;
882
+ outline: none;
883
+ opacity: 0.3;
884
+ }
885
+
886
+ &[aria-pressed='true'] {
887
+ --stroke-width: 2;
888
+ color: #fff;
889
+ background-color: var(--bge-ui-primary-color);
890
+
891
+ &:focus-visible {
892
+ box-shadow: 0 0 0 2px #fff inset;
893
+ }
894
+ }
895
+
896
+ &:not(:has(svg)) {
897
+ padding-inline: calc(var(--padding) * 3);
898
+ }
899
+
900
+ svg {
901
+ inline-size: var(--size);
902
+ block-size: var(--size);
903
+ stroke: currentcolor;
904
+ stroke-width: var(--stroke-width);
905
+ }
906
+
907
+ [data-bge-rotate] {
908
+ display: block;
909
+ rotate: -90deg;
910
+ }
911
+ }
912
+ }
795
913
  }
796
- [data-bge-component=editable-area] [data-bgi]:hover img {
797
- filter: brightness(90%);
914
+
915
+ [data-bge-component$='-editable-area'] {
916
+ &[data-bge-component-mode='visual'] {
917
+ iframe {
918
+ display: block;
919
+ margin-block: 0;
920
+ margin-inline: auto;
921
+ overflow: hidden;
922
+ border: none;
923
+ }
924
+
925
+ textarea {
926
+ display: none;
927
+ }
928
+ }
929
+
930
+ &[data-bge-component-mode='source'] {
931
+ iframe {
932
+ display: none;
933
+ }
934
+ }
798
935
  }
799
- [data-bge-component=editable-area] [data-bgi] a,
800
- [data-bge-component=editable-area] [data-bgi] area,
801
- [data-bge-component=editable-area] [data-bgi] button,
802
- [data-bge-component=editable-area] [data-bgi] input,
803
- [data-bge-component=editable-area] [data-bgi] label,
804
- [data-bge-component=editable-area] [data-bgi] select,
805
- [data-bge-component=editable-area] [data-bgi] summary,
806
- [data-bge-component=editable-area] [data-bgi] textarea,
807
- [data-bge-component=editable-area] [data-bgi] iframe {
808
- pointer-events: none;
936
+
937
+ [data-bge-component='editable-area'] [data-bgi] {
938
+ --outline: none;
939
+ min-inline-size: 20px;
940
+ min-block-size: 20px;
941
+ outline: var(--outline);
942
+
943
+ &:where([data-bge-container]:hover &) {
944
+ --outline: 1px #a6a6a6 dotted;
945
+ }
946
+
947
+ &:hover {
948
+ --outline: 1px solid var(--bge-ui-primary-color);
949
+ cursor: pointer;
950
+ background-color: oklch(from currentcolor l c h / 5%);
951
+ background-blend-mode: darken;
952
+
953
+ img {
954
+ filter: brightness(90%);
955
+ }
956
+ }
957
+
958
+ a,
959
+ area,
960
+ button,
961
+ input,
962
+ label,
963
+ select,
964
+ summary,
965
+ textarea,
966
+ iframe {
967
+ pointer-events: none;
968
+ }
809
969
  }
810
970
 
811
971
  button svg.tabler-icon {
812
- inline-size: auto;
813
- block-size: 1em;
972
+ inline-size: auto;
973
+ block-size: 1em;
814
974
  }
815
975
 
816
- [data-bge-editor-ui-component=thumbnail] svg.tabler-icon {
817
- inline-size: 100%;
818
- block-size: 100%;
976
+ [data-bge-editor-ui-component='thumbnail'] svg.tabler-icon {
977
+ inline-size: 100%;
978
+ block-size: 100%;
819
979
  }
820
980
 
821
- label:has(input[type=radio][name=bge-scale-type][value=container]) > span::before {
822
- content: "コンテナ";
823
- }
824
- label:has(input[type=radio][name=bge-scale-type][value=container]) > span:is([data-bge-container^="grid:"] *, [data-bge-container=grid] *)::before {
825
- content: "グリッド";
981
+ label:has(input[type='radio'][name='bge-scale-type'][value='container']) {
982
+ & > span {
983
+ &::before {
984
+ content: 'コンテナ';
985
+ }
986
+
987
+ &:is([data-bge-container^='grid:'] *, [data-bge-container='grid'] *) {
988
+ &::before {
989
+ content: 'グリッド';
990
+ }
991
+ }
992
+ }
826
993
  }
827
994
 
828
- [data-bge-editor-ui=tabs] + * {
829
- padding: 1em;
830
- margin-block: -1px 1em;
831
- border: 1px solid var(--bge-border-color);
832
- border-radius: 0.5em;
833
- }
995
+ [data-bge-editor-ui='tabs'] {
996
+ & + * {
997
+ padding: 1em;
998
+ margin-block: -1px 1em;
999
+ border: 1px solid var(--bge-border-color);
1000
+ border-radius: 0.5em;
1001
+ }
1002
+ }