You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dev
0afcabee8b
feat(eidos): port LinkPreview (Radix HoverCard equivalent)
#128. Eidos wrapper + types + recipe + canonical-depth demo. Trigger
renders as `<a>` (navigational anchor); on hover/focus after `openDelay`
(default 700ms) the Content panel reveals with SafePolygon bridging
trigger and content so the pointer can travel without dismissing.
Non-modal, no-op on touch (link follows directly).
Reference parity:
| Feature | Radix HoverCard | bits-ui LinkPreview | ark-ui HoverCard | this port |
|---|---|---|---|---|
| open with bind: | ✓ | ✓ | ✓ | ✓ |
| openDelay (700ms) / closeDelay (300ms) | ✓ | ✓ | ✓ | ✓ |
| disabled | ✗ | ✓ | ✓ | ✓ |
| Trigger as `<a>` | ✓ | ✓ | ✗ (`<button>`) | ✓ |
| Portal + Arrow | ✓ | ✓ | ✓ | ✓ |
| Floating layer (side/align/offsets/collision) | ✓ | ✓ | ✓ | ✓ |
| customAnchor | ✗ | ✓ | ✗ | ✓ |
| ContentStatic | ✗ | ✓ | ✗ | ⚠ deferred |
| lazyMount | ✗ | ✗ | ✓ | ⚠ deferred |
Naming choice: `LinkPreview` (matches air + bits-ui), not `HoverCard`.
Trigger semantic is navigational anchor — for a button-triggered
hover-card use `<Popover>` with `openDelay` or pass `child` snippet
to bypass the default `<a>`.
Variant set: only `size: 'xs'..'xl'` (no ControlVariant — LinkPreview
is a surface, not actionable). Defer color/intent per the canon rule
that surfaces are uncolored.
Parts shipped: Provider, Trigger, Portal, Content, Arrow.
Recipe: `link-preview.css` with anchor underline (subtle, intensifies
on hover/open), content panel chrome (border + surface bg + shadow),
arrow fill matching panel bg, slide+fade entrance per `data-side`,
reduced-motion skip.
Demo: 6 tabs (Live/API/Morfo/Sema/Recipe/A11y) at canonical depth per
DEMO_AUTHORING_GUIDE — Live wires every Provider+Content prop with
the right chip set, eidos+soma snippets generated, all 6 ARIA
contract rows + keyboard + pointer tables in A11y tab.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
5 months ago |
|
.claude
|
sium: v2.0 → v2.2 — Issue idlangref, SiumProvider, progressive forms, plurals
|
6 months ago |
|
.idea
|
soma: tier 1/2 components, Field/NumberField integration, codex_audit fixes
|
6 months ago |
|
.kilo/plans
|
soma: 12 components, architecture docs, naming fixes, form tier complete
|
6 months ago |
|
.vscode
|
Initial commit: SvelteKit application with modular libraries
|
7 months ago |
|
routes/web
|
docs: consolidate kind contract + composition norms (sweep)
|
5 months ago |
|
scripts
|
feat(eidos foundation): vertebrate typography via named-style aliases + R-2.7
|
5 months ago |
|
src
|
feat(eidos): port LinkPreview (Radix HoverCard equivalent)
|
5 months ago |
|
static
|
Expand air component system and translator integration
|
6 months ago |
|
web/routes
|
feat(eidos): port LinkPreview (Radix HoverCard equivalent)
|
5 months ago |
|
.gitignore
|
uix: date-picker + date-range-picker components + component audit infra
|
5 months ago |
|
.npmrc
|
Initial commit: SvelteKit application with modular libraries
|
7 months ago |
|
.prettierignore
|
Generate Eidos base CSS artifact
|
5 months ago |
|
.prettierrc
|
Refactor active uix architecture
|
5 months ago |
|
AGENTS.md
|
docs: COMPONENT_AUDIT_GUIDE.md — inviolable pre-flight for component work
|
5 months ago |
|
CLAUDE.md
|
Continue Eidos component migration
|
5 months ago |
|
DATA_ATTRS.md
|
soma: tier 1/2 components, Field/NumberField integration, codex_audit fixes
|
6 months ago |
|
continue.md
|
docs(CONTINUE): refresh for next session — #118 + #120 + #127 closed
|
5 months ago |
|
package-lock.json
|
soma: tier 1/2 components, Field/NumberField integration, codex_audit fixes
|
6 months ago |
|
package.json
|
uix: rename morfo.translations → morfo.texts (idlangref discipline)
|
5 months ago |
|
svelte.config.js
|
Add ActiveClipboard service for Soma clipboard
|
5 months ago |
|
tsconfig.json
|
Initial commit: SvelteKit application with modular libraries
|
7 months ago |
|
tsconfig.tsbuildinfo
|
soma: refactor providers to follow terra patterns, fix translations, add table/number-field
|
6 months ago |
|
vite.config.ts
|
Add ActiveClipboard service for Soma clipboard
|
5 months ago |