@fest-lib/veela 1.0.12 → 1.0.14

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fest-lib/veela",
3
3
  "description": "fest-lib Veela: CSS tokens, --c2 color functions, Agate.UX, SCSS + runtime loaders",
4
- "version": "1.0.12",
4
+ "version": "1.0.14",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "sideEffects": true,
@@ -14,7 +14,7 @@
14
14
  overflow: hidden;
15
15
  margin: 0;
16
16
  padding: 0;
17
- padding-inline-start: var(--code-gutter, 0px);
17
+ /* WHY: gutter lives on the host; JS copies that padding. A second gutter here wraps earlier. */
18
18
  box-sizing: border-box;
19
19
  color-scheme: inherit;
20
20
  color: light-dark(#1f2328, #e6edf3);
@@ -40,7 +40,7 @@
40
40
  font-feature-settings: "liga" 0, "clig" 0, "calt" 0, "dlig" 0;
41
41
  font-kerning: none;
42
42
  font-variation-settings: inherit;
43
- line-height: var(--code-line-height, inherit);
43
+ line-height: max(1.35em, var(--code-line-height, 1.45));
44
44
  letter-spacing: inherit;
45
45
  word-spacing: inherit;
46
46
  tab-size: inherit;
@@ -68,7 +68,9 @@
68
68
  min-inline-size: 0;
69
69
  margin: 0;
70
70
  padding: 0;
71
- white-space: pre;
71
+ white-space: inherit;
72
+ word-break: inherit;
73
+ overflow-wrap: inherit;
72
74
  overflow: visible;
73
75
  }
74
76
 
@@ -81,7 +83,10 @@
81
83
  .code-highlight-source:has(+ .code-highlight-overlay),
82
84
  .code-highlight-host > .code-highlight-source {
83
85
  display: block;
84
- line-height: var(--code-line-height, normal);
86
+ white-space: pre;
87
+ word-break: normal;
88
+ overflow-wrap: normal;
89
+ line-height: max(1.35em, var(--code-line-height, 1.45));
85
90
  padding-inline-start: var(--code-gutter, 0px);
86
91
  font-variant-ligatures: none;
87
92
  font-kerning: none;
@@ -97,8 +102,13 @@
97
102
  -webkit-text-fill-color: transparent;
98
103
  }
99
104
 
100
- pre:has(> .code-highlight-overlay) > code::selection,
101
- .code-highlight-source::selection {
105
+ .code-highlight-source.code-highlight-inplace {
106
+ color: light-dark(#1f2328, #e6edf3);
107
+ -webkit-text-fill-color: currentColor;
108
+ }
109
+
110
+ pre:has(> .code-highlight-overlay) > code:not(.code-highlight-inplace)::selection,
111
+ .code-highlight-source:not(.code-highlight-inplace)::selection {
102
112
  background-color: color-mix(in oklab, #79c0ff 32%, transparent);
103
113
  color: transparent;
104
114
  -webkit-text-fill-color: transparent;
@@ -126,7 +136,8 @@
126
136
  pointer-events: none;
127
137
  }
128
138
 
129
- .code-highlight-overlay {
139
+ .code-highlight-overlay,
140
+ .code-highlight-inplace {
130
141
  .hljs-comment,
131
142
  .hljs-quote {
132
143
  color: light-dark(#656d76, #8b949e);
@@ -598,4 +598,94 @@
598
598
  opacity: 0.9;
599
599
  }
600
600
  }
601
+
602
+ /*
603
+ * WHY: Inline `container-type: size` on `.content-handler` + print `height: auto` sizes
604
+ * the box as empty (size containment). Chrome then paginates blank pages.
605
+ * INVARIANT: Print kills size/paint containment and lets slotted markdown grow.
606
+ */
607
+ @media print {
608
+ :host(ui-window) {
609
+ display: block !important;
610
+ position: static !important;
611
+ inset: auto !important;
612
+ transform: none !important;
613
+ overflow: visible !important;
614
+ contain: none !important;
615
+ container-type: normal !important;
616
+ isolation: auto !important;
617
+ inline-size: 100% !important;
618
+ max-inline-size: 100% !important;
619
+ block-size: auto !important;
620
+ min-block-size: 0 !important;
621
+ max-block-size: none !important;
622
+ height: auto !important;
623
+ min-height: 0 !important;
624
+ max-height: none !important;
625
+ box-shadow: none !important;
626
+ border: none !important;
627
+ border-radius: 0 !important;
628
+ background: #fff !important;
629
+ color: #000 !important;
630
+ }
631
+
632
+ .window-container {
633
+ display: block !important;
634
+ overflow: visible !important;
635
+ contain: none !important;
636
+ isolation: auto !important;
637
+ inline-size: 100% !important;
638
+ block-size: auto !important;
639
+ height: auto !important;
640
+ min-block-size: 0 !important;
641
+ max-block-size: none !important;
642
+ border: none !important;
643
+ box-shadow: none !important;
644
+ background: #fff !important;
645
+ color: #000 !important;
646
+ }
647
+
648
+ .title-handler,
649
+ .window-resizer,
650
+ .footer-handler {
651
+ display: none !important;
652
+ }
653
+
654
+ .content-handler,
655
+ :host(ui-window[managed]) .content-handler,
656
+ :host(ui-window[native-mode]) .content-handler,
657
+ :host(ui-window[data-native-active]) .content-handler {
658
+ display: block !important;
659
+ position: static !important;
660
+ transform: none !important;
661
+ contain: none !important;
662
+ container-type: normal !important;
663
+ overflow: visible !important;
664
+ isolation: auto !important;
665
+ flex: none !important;
666
+ inline-size: 100% !important;
667
+ block-size: auto !important;
668
+ min-block-size: 0 !important;
669
+ max-block-size: none !important;
670
+ height: auto !important;
671
+ background: #fff !important;
672
+ color: #000 !important;
673
+ }
674
+
675
+ .content-handler ::slotted(*),
676
+ :host(ui-window[managed]) .content-handler ::slotted(*),
677
+ :host(ui-window[native-mode]) .content-handler ::slotted(*),
678
+ :host(ui-window[data-native-active]) .content-handler ::slotted(*) {
679
+ display: block !important;
680
+ flex: none !important;
681
+ overflow: visible !important;
682
+ contain: none !important;
683
+ inline-size: 100% !important;
684
+ max-inline-size: 100% !important;
685
+ block-size: auto !important;
686
+ min-block-size: 0 !important;
687
+ max-block-size: none !important;
688
+ height: auto !important;
689
+ }
690
+ }
601
691
  }