anentrypoint-design 0.0.220 → 0.0.221
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/app-shell.css +161 -58
- package/colors_and_type.css +78 -33
- package/dist/247420.css +239 -91
- package/dist/247420.js +17 -15
- package/package.json +1 -1
- package/src/components/content.js +20 -3
- package/src/components.js +1 -1
- package/src/kits/os/theme.css +6 -1
- package/src/motion.js +4 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anentrypoint-design",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.221",
|
|
4
4
|
"description": "247420 design system SDK — webjsx + modified ripple-ui, single-file ESM bundle for reproducible use of the AnEntrypoint design.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/247420.js",
|
|
@@ -129,15 +129,32 @@ export function Section({ title, eyebrow, children, id }) {
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
export function Hero({ eyebrow, title, body, accent, badge, badgeCount, actions }) {
|
|
132
|
+
// Eyebrow + title share the title grid-area so the named-area layout stays
|
|
133
|
+
// intact; body and actions occupy the offset lower columns.
|
|
132
134
|
return h('div', { class: 'ds-hero' },
|
|
133
|
-
|
|
134
|
-
|
|
135
|
+
h('div', { class: 'ds-hero-head' },
|
|
136
|
+
eyebrow ? h('span', { class: 'eyebrow' }, eyebrow) : null,
|
|
137
|
+
h('h1', { class: 'ds-hero-title' }, title)
|
|
138
|
+
),
|
|
135
139
|
body ? h('p', { class: 'ds-hero-body' },
|
|
136
140
|
body,
|
|
137
141
|
accent ? h('span', { class: 'ds-hero-accent' }, ' ' + accent) : null
|
|
138
142
|
) : null,
|
|
139
143
|
actions ? h('div', { class: 'ds-hero-actions' }, ...(Array.isArray(actions) ? actions : [actions])) : null,
|
|
140
|
-
badge ? Panel({ title: badge, count: badgeCount, kind: 'inline', children: [] }) : null
|
|
144
|
+
badge ? h('div', { class: 'ds-hero-badge' }, Panel({ title: badge, count: badgeCount, kind: 'inline', children: [] })) : null
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export function Marquee({ items = [], sep = '/' }) {
|
|
149
|
+
// Two identical runs make the -50% translate loop seamless. Each text and
|
|
150
|
+
// separator is a keyed span so webjsx applyDiff never sees a primitive
|
|
151
|
+
// sibling beside a keyed VElement.
|
|
152
|
+
const run = (runKey) => items.flatMap((it, i) => [
|
|
153
|
+
h('span', { class: 'ds-marquee-item', key: `${runKey}-i${i}` }, it),
|
|
154
|
+
h('span', { class: 'ds-marquee-sep', key: `${runKey}-s${i}`, 'aria-hidden': 'true' }, sep),
|
|
155
|
+
]);
|
|
156
|
+
return h('div', { class: 'ds-marquee', role: 'marquee' },
|
|
157
|
+
h('div', { class: 'ds-marquee-track' }, ...run('a'), ...run('b'))
|
|
141
158
|
);
|
|
142
159
|
}
|
|
143
160
|
|
package/src/components.js
CHANGED
|
@@ -12,7 +12,7 @@ export {
|
|
|
12
12
|
|
|
13
13
|
export {
|
|
14
14
|
Panel, Card, Row, RowLink,
|
|
15
|
-
Hero, Install, Receipt, Changelog,
|
|
15
|
+
Hero, Marquee, Install, Receipt, Changelog,
|
|
16
16
|
WorksList, WritingList, Manifesto, Section, PageHeader,
|
|
17
17
|
Kpi, Table, SearchInput, TextField, Select, EventList,
|
|
18
18
|
HomeView, ProjectView, Form,
|
package/src/kits/os/theme.css
CHANGED
|
@@ -13,7 +13,12 @@
|
|
|
13
13
|
and --ff-mono are already canonical (colors_and_type.css), referenced
|
|
14
14
|
directly below — do not self-redefine them here (cycle). */
|
|
15
15
|
--ff-ui: var(--ff-body);
|
|
16
|
-
--os-accent
|
|
16
|
+
/* --os-accent is used predominantly as TEXT/icon/border in the OS chrome,
|
|
17
|
+
so it tracks the readable --accent-ink tone (the electric lead is too
|
|
18
|
+
light for text on paper). --os-accent-fill is the saturated lead for the
|
|
19
|
+
rare solid fill; --os-accent-soft is the tint. */
|
|
20
|
+
--os-accent: var(--accent-ink);
|
|
21
|
+
--os-accent-fill: var(--accent);
|
|
17
22
|
--os-accent-2: var(--accent-bright, var(--accent));
|
|
18
23
|
--os-accent-soft: var(--accent-tint);
|
|
19
24
|
--os-bg-0: var(--bg);
|
package/src/motion.js
CHANGED
|
@@ -11,8 +11,10 @@ export function installMotion() {
|
|
|
11
11
|
style.textContent = `
|
|
12
12
|
@media (prefers-reduced-motion: no-preference) {
|
|
13
13
|
.ds-247420 [data-anim="in"] {
|
|
14
|
-
opacity: 0; transform: translateY(
|
|
15
|
-
|
|
14
|
+
opacity: 0; transform: translateY(14px);
|
|
15
|
+
/* Physical signature reveal — a slight spring landing, not a flat fade. */
|
|
16
|
+
transition: opacity var(--dur-reveal, 560ms) var(--ease, cubic-bezier(.2,0,0,1)),
|
|
17
|
+
transform var(--dur-reveal, 560ms) var(--ease-spring, cubic-bezier(0.34,1.56,0.64,1));
|
|
16
18
|
}
|
|
17
19
|
.ds-247420 [data-anim="ready"] {
|
|
18
20
|
opacity: 1; transform: translateY(0);
|