@commonpub/layer 0.21.19 → 0.21.21

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.
@@ -70,6 +70,9 @@ const hasChildren = computed(() => children.value.length > 0);
70
70
  padding: 12px 16px;
71
71
  background: var(--border);
72
72
  color: var(--surface);
73
+ /* Universal radius leak — see BlockCodeView. Inner dark bar must tile
74
+ flush with the body below on themes with non-zero --radius. */
75
+ border-radius: 0;
73
76
  }
74
77
 
75
78
  .cpub-step-num {
@@ -156,6 +156,14 @@ pre.hljs .hljs-title.class_ { color: var(--hljs-variable); }
156
156
  padding: 8px 14px;
157
157
  background: var(--code-header-bg);
158
158
  border-bottom: var(--border-width-default) solid var(--border);
159
+ /* Reset the universal `*,::before,::after{border-radius:var(--radius)}`
160
+ rule from base.css. Themes that override --radius to non-zero (e.g.
161
+ deveco --radius:6px) leave the inner header + body with their own
162
+ rounded corners — the rounded edges curve AWAY from each other inside
163
+ the outer rounded container, leaving wedges of empty page-bg between
164
+ them. Sharp inner edges tile flush inside the outer overflow:hidden
165
+ rounded box. (deveco.io report, 2026-05-21) */
166
+ border-radius: 0;
159
167
  }
160
168
 
161
169
  .cpub-code-lang {
@@ -201,6 +209,16 @@ pre.hljs .hljs-title.class_ { color: var(--hljs-variable); }
201
209
  font-size: 13px;
202
210
  line-height: 1.6;
203
211
  overflow-x: auto;
212
+ /* Reset the global `.cpub-prose pre` rule from prose.css that adds
213
+ border + 16px top/bottom margin to every <pre> inside prose. Inside
214
+ a BlockCodeView the container already owns the border + the header
215
+ sits directly above the body — the global rule's margin and extra
216
+ border created a visible "floating bar with gap then code block"
217
+ effect (heatsynclabs.io report, 2026-05-21). */
218
+ border: 0 !important;
219
+ /* Also reset universal border-radius for the same wedge-gap reason
220
+ described on .cpub-code-header above. */
221
+ border-radius: 0;
204
222
  }
205
223
 
206
224
  .cpub-code-body code {
@@ -52,6 +52,9 @@ const files = computed<FileItem[]>(() => {
52
52
  padding: 10px 14px;
53
53
  background: var(--surface2);
54
54
  border-bottom: var(--border-width-default) solid var(--border);
55
+ /* Universal radius leak — see BlockCodeView. Inner sections must tile
56
+ flush inside the rounded outer container. */
57
+ border-radius: 0;
55
58
  }
56
59
 
57
60
  .cpub-dl-icon { font-size: 12px; color: var(--accent); }
@@ -66,6 +69,7 @@ const files = computed<FileItem[]>(() => {
66
69
  gap: 12px;
67
70
  padding: 10px 14px;
68
71
  border-bottom: var(--border-width-default) solid var(--border2);
72
+ border-radius: 0;
69
73
  }
70
74
 
71
75
  .cpub-dl-item:last-child { border-bottom: none; }
@@ -36,6 +36,9 @@ const embedUrl = computed(() => toEmbedUrl(props.content.url as string));
36
36
  display: flex;
37
37
  align-items: center;
38
38
  gap: 6px;
39
+ /* Universal *,::before,::after{border-radius:var(--radius)} leak — see
40
+ BlockCodeView for the pattern. */
41
+ border-radius: 0;
39
42
  }
40
43
 
41
44
  .cpub-embed-label i { color: var(--accent); }
@@ -44,6 +47,7 @@ const embedUrl = computed(() => toEmbedUrl(props.content.url as string));
44
47
  position: relative;
45
48
  padding-bottom: 56.25%;
46
49
  height: 0;
50
+ border-radius: 0;
47
51
  }
48
52
 
49
53
  .cpub-embed-iframe {
@@ -69,6 +69,10 @@ const totalPrice = computed(() => {
69
69
  padding: 10px 14px;
70
70
  background: var(--surface2);
71
71
  border-bottom: var(--border-width-default) solid var(--border);
72
+ /* Reset universal *,::before,::after{border-radius:var(--radius)} so the
73
+ dark header tiles flush against the table below on themes with
74
+ non-zero --radius (deveco). See BlockCodeView for the full pattern. */
75
+ border-radius: 0;
72
76
  }
73
77
 
74
78
  .cpub-parts-icon { font-size: 12px; color: var(--accent); }
@@ -77,6 +81,15 @@ const totalPrice = computed(() => {
77
81
 
78
82
  .cpub-parts-table { width: 100%; border-collapse: collapse; }
79
83
 
84
+ /* Reset the global `.cpub-prose th` rule from prose.css that puts a
85
+ 1px border on every <th>. With `border-collapse: collapse`, those
86
+ borders merge into thin lines that visually split the dark header
87
+ row into separate "rounded gap" boxes against the var(--text)
88
+ background. The container's outer border already frames the row;
89
+ internal cell borders are not wanted (heatsynclabs.io report,
90
+ 2026-05-21). Use !important to beat the global rule (specificity
91
+ 0,2,0 vs 0,1,1 would normally win, but the global rule sets
92
+ `border` which the scoped rule doesn't, so it leaks through). */
80
93
  .cpub-parts-table th {
81
94
  font-family: var(--font-mono);
82
95
  font-size: 9px;
@@ -87,13 +100,19 @@ const totalPrice = computed(() => {
87
100
  padding: 8px 12px;
88
101
  background: var(--text);
89
102
  color: var(--surface);
103
+ border: 0 !important;
104
+ /* Universal radius leak — sharp cells tile flush with no rounded gaps
105
+ between them on themes with non-zero --radius. */
106
+ border-radius: 0;
90
107
  }
91
108
 
92
109
  .cpub-parts-table td {
93
110
  padding: 10px 12px;
111
+ border: 0;
94
112
  border-bottom: var(--border-width-default) solid var(--border2);
95
113
  font-size: 13px;
96
114
  color: var(--text-dim);
115
+ border-radius: 0;
97
116
  }
98
117
 
99
118
  .cpub-part-name { font-weight: 500; color: var(--text); }
@@ -51,6 +51,8 @@ const tools = computed<Tool[]>(() => {
51
51
  padding: 10px 14px;
52
52
  background: var(--surface2);
53
53
  border-bottom: var(--border-width-default) solid var(--border);
54
+ /* Universal radius leak — see BlockCodeView. */
55
+ border-radius: 0;
54
56
  }
55
57
 
56
58
  .cpub-tools-icon { font-size: 12px; color: var(--accent); }
@@ -52,6 +52,10 @@ const platform = computed(() => {
52
52
  display: flex;
53
53
  align-items: center;
54
54
  gap: 6px;
55
+ /* Universal *,::before,::after{border-radius:var(--radius)} leak — sharp
56
+ inner sections tile flush inside the rounded outer container on
57
+ themes with non-zero --radius (deveco). */
58
+ border-radius: 0;
55
59
  }
56
60
 
57
61
  .cpub-video-label i { color: var(--accent); }
@@ -61,6 +65,7 @@ const platform = computed(() => {
61
65
  padding-bottom: 56.25%;
62
66
  height: 0;
63
67
  background: var(--text);
68
+ border-radius: 0;
64
69
  }
65
70
 
66
71
  .cpub-video-iframe {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commonpub/layer",
3
- "version": "0.21.19",
3
+ "version": "0.21.21",
4
4
  "type": "module",
5
5
  "main": "./nuxt.config.ts",
6
6
  "files": [
@@ -50,16 +50,16 @@
50
50
  "vue": "^3.4.0",
51
51
  "vue-router": "^4.3.0",
52
52
  "zod": "^4.3.6",
53
+ "@commonpub/auth": "0.6.0",
53
54
  "@commonpub/config": "0.13.0",
54
55
  "@commonpub/docs": "0.6.3",
56
+ "@commonpub/schema": "0.16.0",
57
+ "@commonpub/learning": "0.5.2",
55
58
  "@commonpub/editor": "0.7.11",
59
+ "@commonpub/explainer": "0.7.15",
56
60
  "@commonpub/protocol": "0.12.0",
57
- "@commonpub/schema": "0.16.0",
58
61
  "@commonpub/server": "2.55.0",
59
- "@commonpub/ui": "0.8.5",
60
- "@commonpub/auth": "0.6.0",
61
- "@commonpub/learning": "0.5.2",
62
- "@commonpub/explainer": "0.7.15"
62
+ "@commonpub/ui": "0.8.5"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@testing-library/jest-dom": "^6.9.1",