@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.
- package/components/blocks/BlockBuildStepView.vue +3 -0
- package/components/blocks/BlockCodeView.vue +18 -0
- package/components/blocks/BlockDownloadsView.vue +4 -0
- package/components/blocks/BlockEmbedView.vue +4 -0
- package/components/blocks/BlockPartsListView.vue +19 -0
- package/components/blocks/BlockToolListView.vue +2 -0
- package/components/blocks/BlockVideoView.vue +5 -0
- package/package.json +6 -6
|
@@ -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.
|
|
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",
|