@justai/cuts 0.80.0 → 0.81.0
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 +1 -1
- package/src/ChildPersona.astro +47 -36
package/package.json
CHANGED
package/src/ChildPersona.astro
CHANGED
|
@@ -127,45 +127,56 @@ const {
|
|
|
127
127
|
const chrome = face === "page";
|
|
128
128
|
---
|
|
129
129
|
|
|
130
|
-
{/* `.pp` IS the child persona
|
|
131
|
-
|
|
132
|
-
<div class="pp" id="pp" data-child={child} data-face={face}>
|
|
133
|
-
{/* A PRESENTED CHILD SHOWS NO PROFILE AND NO ROW. It is content inside somebody's sheet, and a
|
|
134
|
-
biography there is the guest introducing itself while the host is mid-sentence. Standalone it
|
|
135
|
-
is a full persona page, because then it IS the page. */}
|
|
136
|
-
{chrome && (
|
|
137
|
-
<>
|
|
138
|
-
<Profile
|
|
139
|
-
name={name}
|
|
140
|
-
handle={`@${child}`}
|
|
141
|
-
bio={bio}
|
|
142
|
-
meta={meta}
|
|
143
|
-
kernelLabel={name}
|
|
144
|
-
avatarBg="#fff"
|
|
145
|
-
avatarPad="14px"
|
|
146
|
-
cover="linear-gradient(135deg, color-mix(in srgb, var(--accent) 88%, #fff), var(--accent) 55%, color-mix(in srgb, var(--accent) 70%, #000))"
|
|
147
|
-
>
|
|
148
|
-
<Fragment slot="avatar"><slot name="mark" /></Fragment>
|
|
149
|
-
</Profile>
|
|
130
|
+
{/* `.pp` IS the child persona — one wrapper, every face. `data-face` is how the kernel inside asks
|
|
131
|
+
which one it is in without re-deriving it from the URL.
|
|
150
132
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
133
|
+
IT RENDERS THE COLUMN ITSELF. An earlier draft styled `.pp .app` and left the consumer to emit
|
|
134
|
+
the element, which is precisely the homework law 1 forbids: a shell whose geometry only works if
|
|
135
|
+
somebody remembers a class name is a template, not a component. */}
|
|
136
|
+
<div class="pp" id="pp" data-child={child} data-face={face}>
|
|
137
|
+
<main class="app">
|
|
138
|
+
{/* THE `sheet` FACE SHOWS NO PROFILE AND NO ROW. It is content inside somebody's chrome, and a
|
|
139
|
+
biography there is the guest introducing itself while the host is mid-sentence. As a `page`
|
|
140
|
+
it IS the page, so it wears the whole persona shape. */}
|
|
141
|
+
{chrome ? (
|
|
142
|
+
<>
|
|
143
|
+
<Profile
|
|
144
|
+
name={name}
|
|
145
|
+
handle={`@${child}`}
|
|
146
|
+
bio={bio}
|
|
147
|
+
meta={meta}
|
|
148
|
+
kernelLabel={name}
|
|
149
|
+
avatarBg="#fff"
|
|
150
|
+
avatarPad="14px"
|
|
151
|
+
cover="linear-gradient(135deg, color-mix(in srgb, var(--accent) 88%, #fff), var(--accent) 55%, color-mix(in srgb, var(--accent) 70%, #000))"
|
|
159
152
|
>
|
|
160
|
-
<Fragment slot="
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
<
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
153
|
+
<Fragment slot="avatar"><slot name="mark" /></Fragment>
|
|
154
|
+
</Profile>
|
|
155
|
+
|
|
156
|
+
<div class="below" id="below">
|
|
157
|
+
<Toolbar
|
|
158
|
+
sectionsLabel={sectionsLabel}
|
|
159
|
+
profileLabel={profileLabel ?? name}
|
|
160
|
+
kernelLabel={kernelLabel ?? name}
|
|
161
|
+
postsLabel="Posts"
|
|
162
|
+
parent={{ href: parentHref, label: parentLabel, icon: host?.avatar }}
|
|
163
|
+
files={false}
|
|
164
|
+
>
|
|
165
|
+
<Fragment slot="profileIcon"><slot name="mark" /></Fragment>
|
|
166
|
+
<slot name="langPicker" slot="langPicker" />
|
|
167
|
+
</Toolbar>
|
|
168
|
+
<section class="cut kernel" id="kernel"><slot /></section>
|
|
169
|
+
</div>
|
|
170
|
+
</>
|
|
171
|
+
) : (
|
|
172
|
+
<section class="cut kernel" id="kernel" data-guest><slot /></section>
|
|
173
|
+
)}
|
|
174
|
+
</main>
|
|
167
175
|
|
|
168
|
-
{
|
|
176
|
+
{/* Sheets, toasts, confirmations — inside `.pp` so they take the child's tokens, OUTSIDE `.app`
|
|
177
|
+
so the column does not clip or centre them. Every child has some; naming the slot is what
|
|
178
|
+
stops each one inventing a different place to put them. */}
|
|
179
|
+
<slot name="overlays" />
|
|
169
180
|
</div>
|
|
170
181
|
|
|
171
182
|
<style>
|