Form fields
Floating-label inputs, the shape used by the site's Gravity Forms contact form: a small label sits inside the field's own top padding rather than above it.
<TextField id="gallery-name" label="Name" placeholder="Ada Lovelace" />
<TextField
id="gallery-message"
label="Message"
kind={TextFieldKind::Textarea}
placeholder="Tell us about your project…"
/>| Prop | Type | Default | Notes |
|---|---|---|---|
id | AttrValue | required | Ties the <label> to its control; must be unique on the page. |
label | AttrValue | required | Floating label text. |
kind | TextFieldKind | Input | Input or Textarea. |
placeholder | AttrValue | "" | Shown until the field has a value. |
Cards
News cards, case-study cards (a darker variant for a more editorial feel), and small frosted-glass member/partner logo tiles.
<NewsCard
href="#"
tag="Actualité"
title="Position Paper — EONA-X on Article 12 of the Data Governance Act"
/>
<CaseCard
href="#"
tag="Transport"
title="Coordinating Paris 2024 without disrupting everyday travel"
/>Member tiles
The homepage scrolls this row continuously via requestAnimationFrame — its CSS (".marquee"/".marquee-wrapper") has no keyframes of its own, the motion is all JS. Shown here as a static row instead of re-deriving that animation loop.
<MemberCard name="AllTheWay" />
<MemberCard name="AnySolution" />
<MemberCard name="Partner Co." />Accordion
Built on native <details>/<summary> — the only one of these four with no JS at all; the browser handles open/close on its own.
Mobility
Mobility
EONA-X facilitates the sharing of data between public and private operators to streamline journeys, anticipate travel needs and offer more efficient multimodal mobility services.
Logistics
Logistics
Connecting freight, port, and carrier data to reduce empty runs and make multimodal logistics chains easier to plan and track.
Tourism
Tourism
Bringing together accommodation, transport, and destination data so trips across operators feel like one connected journey.
<AccordionItem title="Mobility" open={true}>
<p>{ "EONA-X facilitates the sharing of data between public and private operators…" }</p>
</AccordionItem>
<AccordionItem title="Logistics">
<p>{ "Connecting freight, port, and carrier data…" }</p>
</AccordionItem>Modal
A fixed dark-backdrop overlay with a centered panel, toggled via the same inert attribute as the nav dropdowns above. No live example of this was found on the pages fetched while extracting these components — the classes and open/closed mechanics are real, sourced from eona-x.eu's own stylesheet; the content below is this crate's own minimal demo.
About this component
This dialog's shape (".modal"/".modal-inner", fixed dark backdrop, centered white panel) is real, extracted eona-x.eu CSS — see this section's intro for what wasn't found on the live site.
// The trigger is plain markup: the toolkit ships no event handlers,
// demo-page.js clears `inert` on the element named by data-open-modal.
<button type="button" data-open-modal="gallery-modal" class="pill-btn pill-btn-solid">
{ "Open modal" }
</button>
<Modal id="gallery-modal" title="About this component">
<p>{ "…" }</p>
</Modal>Member directory card
A richer member card than the homepage's logo tile above, from the members-and-users directory page: logo, name, member type, country, and sector tags. The directory's actual filter form (country/sector dropdowns, results refreshed server-side) isn't ported — there's no backend here to filter against — only the card shape.
Carbookr
SME
AnySolution
Large group
<MemberFilterCard
name="Carbookr"
member_type="SME"
country="France"
sectors={vec!["Mobility"]}
/>| Prop | Type | Default | Notes |
|---|---|---|---|
name | AttrValue | required | Member name; also the alt text of the logo tile. |
member_type | AttrValue | required | Free text, e.g. "SME" or "Large group". |
country | AttrValue | required | Country label, rendered beside the type. |
sectors | Vec<&'static str> | required | One tag per sector; an empty vec renders no tag row. |
Charts
Pure SVG and no script, so these render server-side and print. The geometry is computed by chart::donut_arc and handed over already-derived — the components themselves do no arithmetic, which is what keeps them in the React package instead of its quarantine list.
let score = donut_arc(0.842);
<ScoreDonut dash_array={score.dash_array} band={score.band}
label={score.label} caption="Completeness" /><MetricTile label="Records analysed" value="128 430"
help="Across 12 datasets">
<EvolutionBadge value="+3.2 pts" trend={trend_of(3.2)} />
</MetricTile>Every component, in every stack
All 45 components the crate defines, one canonical call each: the Yew html!, then the 41 that also ship in @eona-x/ui-toolkit-react and @eona-x/ui-toolkit-svelte. Every pane is generated by cargo xtask bridgegen from abi/toolkit.abi.json — the same document that types both npm packages — so a prop added in src/ reaches all three at once, and none can be edited here without cargo xtask check reporting it.
The React and Svelte calls also run: every one rendered by React and every one rendered by Svelte, from the same generated list, styled by @eona-x/ui-toolkit-css.
The remaining 4 carry a note instead of JSX, because a React or Svelte snippet for a component index.ts does not export is an import that does not resolve. Section 18 argues the rule the notes quote; jump to it for the five that could have been generated and were not.
AccordionItem
src/molecules/accordion_item.rs:17
use eona_ui_toolkit::AccordionItem;
<AccordionItem open={true} title="Title">
{ "Children go here." }
</AccordionItem>import { AccordionItem } from '@eona-x/ui-toolkit-react';
<AccordionItem open title="Title">
Children go here.
</AccordionItem><script>
import { AccordionItem } from '@eona-x/ui-toolkit-svelte';
</script>
<AccordionItem open title="Title">
Children go here.
</AccordionItem>BadgeNum
src/atoms/badge_num.rs:11
use eona_ui_toolkit::BadgeNum;
<BadgeNum number="01" />import { BadgeNum } from '@eona-x/ui-toolkit-react';
<BadgeNum number="01" /><script>
import { BadgeNum } from '@eona-x/ui-toolkit-svelte';
</script>
<BadgeNum number="01" />BgCheckItem
src/molecules/bg_check_item.rs:16
use eona_ui_toolkit::BgCheckItem;
<BgCheckItem
background="#fff"
border="1px solid rgba(4,5,83,.12)"
color="var(--eona-navy)"
icon="✓"
label="Label"
/>import { BgCheckItem } from '@eona-x/ui-toolkit-react';
<BgCheckItem
background="#fff"
border="1px solid rgba(4,5,83,.12)"
color="var(--eona-navy)"
icon="✓"
label="Label"
/><script>
import { BgCheckItem } from '@eona-x/ui-toolkit-svelte';
</script>
<BgCheckItem
background="#fff"
border="1px solid rgba(4,5,83,.12)"
color="var(--eona-navy)"
icon="✓"
label="Label"
/>Button
src/atoms/button.rs:30
use eona_ui_toolkit::{Button, ButtonVariant};
<Button href="#" label="Label" variant={ButtonVariant::Ghost} />import { Button } from '@eona-x/ui-toolkit-react';
<Button href="#" label="Label" variant="ghost" /><script>
import { Button } from '@eona-x/ui-toolkit-svelte';
</script>
<Button href="#" label="Label" variant="ghost" />Callout
src/molecules/callout.rs:13
use eona_ui_toolkit::Callout;
<Callout english="English" french="French" label="Label" />import { Callout } from '@eona-x/ui-toolkit-react';
<Callout english="English" french="French" label="Label" /><script>
import { Callout } from '@eona-x/ui-toolkit-svelte';
</script>
<Callout english="English" french="French" label="Label" />CaseCard
src/molecules/case_card.rs:15
use eona_ui_toolkit::CaseCard;
<CaseCard href="#" tag="Tag" title="Title" />import { CaseCard } from '@eona-x/ui-toolkit-react';
<CaseCard href="#" tag="Tag" title="Title" /><script>
import { CaseCard } from '@eona-x/ui-toolkit-svelte';
</script>
<CaseCard href="#" tag="Tag" title="Title" />CodeBlock
src/atoms/code_block.rs:27
use eona_ui_toolkit::CodeBlock;
<CodeBlock code={r#"let label = "Go";"#} copyable={false} language="rust" />import { CodeBlock } from '@eona-x/ui-toolkit-react';
<CodeBlock code={"let label = \"Go\";"} copyable={false} language="rust" /><script>
import { CodeBlock } from '@eona-x/ui-toolkit-svelte';
</script>
<CodeBlock code={"let label = \"Go\";"} copyable={false} language="rust" />ComponentsGallery
src/organisms/components_gallery.rs:28
use eona_ui_toolkit::ComponentsGallery;
<ComponentsGallery />never generated — out of scope by rule: zero-prop demo section
DatasetCard
src/molecules/dataset_card.rs:57
use eona_ui_toolkit::DatasetCard;
<DatasetCard
action_label="View documentation"
badge="Badge"
badge_class="Badge Class"
description="Description"
href="#"
initial="Initial"
publisher="Publisher"
thumbnail="logo/logo-transparent.svg"
title="Title"
version="Version"
/>import { DatasetCard } from '@eona-x/ui-toolkit-react';
<DatasetCard
actionLabel="View documentation"
badge="Badge"
badgeClass="Badge Class"
description="Description"
href="#"
initial="Initial"
publisher="Publisher"
thumbnail="logo/logo-transparent.svg"
title="Title"
version="Version"
/><script>
import { DatasetCard } from '@eona-x/ui-toolkit-svelte';
</script>
<DatasetCard
actionLabel="View documentation"
badge="Badge"
badgeClass="Badge Class"
description="Description"
href="#"
initial="Initial"
publisher="Publisher"
thumbnail="logo/logo-transparent.svg"
title="Title"
version="Version"
/>DeclCard
src/molecules/decl_card.rs:17
use eona_ui_toolkit::DeclCard;
<DeclCard
alt="EONA-X logo"
category="Category"
decl_type="Decl Type"
description="Description"
src="logo/logo-transparent.svg"
title="Title"
/>import { DeclCard } from '@eona-x/ui-toolkit-react';
<DeclCard
alt="EONA-X logo"
category="Category"
declType="Decl Type"
description="Description"
src="logo/logo-transparent.svg"
title="Title"
/><script>
import { DeclCard } from '@eona-x/ui-toolkit-svelte';
</script>
<DeclCard
alt="EONA-X logo"
category="Category"
declType="Decl Type"
description="Description"
src="logo/logo-transparent.svg"
title="Title"
/>DemoPage
src/demo.rs:62
use eona_ui_toolkit::{NavLink, SiteNavLink};
use eona_ui_toolkit::demo::DemoPage;
<DemoPage
footer_link={NavLink { href: "#".into(), label: "Label".into() }}
footer_text="Footer Text"
nav={vec![SiteNavLink { href: "#".into(), label: "Label".into(), current: false }]}
/>never generated — out of scope by rule: crate showcase page
EvolutionBadge
src/atoms/evolution_badge.rs:23
use eona_ui_toolkit::EvolutionBadge;
use eona_ui_toolkit::chart::Trend;
<EvolutionBadge trend={Trend::Up} value="An annotation value" />import { EvolutionBadge } from '@eona-x/ui-toolkit-react';
<EvolutionBadge trend="up" value="An annotation value" /><script>
import { EvolutionBadge } from '@eona-x/ui-toolkit-svelte';
</script>
<EvolutionBadge trend="up" value="An annotation value" />Hero
src/organisms/hero.rs:35
use eona_ui_toolkit::{Hero, HeroVariant};
<Hero
eyebrow="Eyebrow"
lede="Lede"
title_suffix="Title Suffix"
variant={HeroVariant::Full}
>
{ "Children go here." }
</Hero>import { Hero } from '@eona-x/ui-toolkit-react';
<Hero
eyebrow="Eyebrow"
lede="Lede"
titleSuffix="Title Suffix"
variant="full"
>
Children go here.
</Hero><script>
import { Hero } from '@eona-x/ui-toolkit-svelte';
</script>
<Hero
eyebrow="Eyebrow"
lede="Lede"
titleSuffix="Title Suffix"
variant="full"
>
Children go here.
</Hero>HeroFilter
src/organisms/hero_filter.rs:34
use eona_ui_toolkit::HeroFilter;
<HeroFilter description="Description" title="Title" with_backdrop={true}>
{ "Children go here." }
</HeroFilter>import { HeroFilter } from '@eona-x/ui-toolkit-react';
<HeroFilter description="Description" title="Title" withBackdrop>
Children go here.
</HeroFilter><script>
import { HeroFilter } from '@eona-x/ui-toolkit-svelte';
</script>
<HeroFilter description="Description" title="Title" withBackdrop>
Children go here.
</HeroFilter>IntegrationSection
src/organisms/integration_section.rs:33
use eona_ui_toolkit::IntegrationSection;
<IntegrationSection />never generated — out of scope by rule: zero-prop demo section
LogoDownloadCard
src/molecules/logo_download_card.rs:22
use eona_ui_toolkit::LogoDownloadCard;
<LogoDownloadCard
download_name="Download Name"
file="logo/logo-transparent.svg"
is_transparent={true}
label="Label"
preview_style="background:var(--eona-navy);padding:24px;"
/>import { LogoDownloadCard } from '@eona-x/ui-toolkit-react';
<LogoDownloadCard
downloadName="Download Name"
file="logo/logo-transparent.svg"
isTransparent
label="Label"
previewStyle="background:var(--eona-navy);padding:24px;"
/><script>
import { LogoDownloadCard } from '@eona-x/ui-toolkit-svelte';
</script>
<LogoDownloadCard
downloadName="Download Name"
file="logo/logo-transparent.svg"
isTransparent
label="Label"
previewStyle="background:var(--eona-navy);padding:24px;"
/>MainNav
src/organisms/main_nav.rs:26
use eona_ui_toolkit::{MainNav, NavLink};
<MainNav
back={NavLink { href: "#".into(), label: "Label".into() }}
links={vec![NavLink { href: "#".into(), label: "Label".into() }]}
/>import { MainNav } from '@eona-x/ui-toolkit-react';
<MainNav
back={{ href: "#", label: "Label" }}
links={[{ href: "#", label: "Label" }]}
/><script>
import { MainNav } from '@eona-x/ui-toolkit-svelte';
</script>
<MainNav
back={{ href: "#", label: "Label" }}
links={[{ href: "#", label: "Label" }]}
/>MemberCard
src/molecules/member_card.rs:11
use eona_ui_toolkit::MemberCard;
<MemberCard name="Name" />import { MemberCard } from '@eona-x/ui-toolkit-react';
<MemberCard name="Name" /><script>
import { MemberCard } from '@eona-x/ui-toolkit-svelte';
</script>
<MemberCard name="Name" />MemberFilterCard
src/molecules/member_filter_card.rs:18
use eona_ui_toolkit::MemberFilterCard;
<MemberFilterCard
country="Country"
member_type="Member Type"
name="Name"
sectors={vec!["Mobility"]}
/>import { MemberFilterCard } from '@eona-x/ui-toolkit-react';
<MemberFilterCard
country="Country"
memberType="Member Type"
name="Name"
sectors={["Mobility"]}
/><script>
import { MemberFilterCard } from '@eona-x/ui-toolkit-svelte';
</script>
<MemberFilterCard
country="Country"
memberType="Member Type"
name="Name"
sectors={["Mobility"]}
/>MetricTile
src/molecules/metric_tile.rs:28
use eona_ui_toolkit::MetricTile;
<MetricTile help="Help" label="Label" value="An annotation value">
{ "Children go here." }
</MetricTile>import { MetricTile } from '@eona-x/ui-toolkit-react';
<MetricTile help="Help" label="Label" value="An annotation value">
Children go here.
</MetricTile><script>
import { MetricTile } from '@eona-x/ui-toolkit-svelte';
</script>
<MetricTile help="Help" label="Label" value="An annotation value">
Children go here.
</MetricTile>Modal
src/molecules/modal.rs:28
use eona_ui_toolkit::Modal;
<Modal id="example" open={true} title="Title">
{ "Children go here." }
</Modal>import { Modal } from '@eona-x/ui-toolkit-react';
<Modal id="example" open title="Title">
Children go here.
</Modal><script>
import { Modal } from '@eona-x/ui-toolkit-svelte';
</script>
<Modal id="example" open title="Title">
Children go here.
</Modal>MvoCard
src/molecules/mvo_card.rs:11
use eona_ui_toolkit::MvoCard;
<MvoCard description="Description" tag="Tag" />import { MvoCard } from '@eona-x/ui-toolkit-react';
<MvoCard description="Description" tag="Tag" /><script>
import { MvoCard } from '@eona-x/ui-toolkit-svelte';
</script>
<MvoCard description="Description" tag="Tag" />NavDropdown
src/molecules/nav_dropdown.rs:22
use eona_ui_toolkit::NavDropdown;
<NavDropdown id="example" label="Label" links={vec![("#", "About")]} />import { NavDropdown } from '@eona-x/ui-toolkit-react';
<NavDropdown id="example" label="Label" links={[["#", "About"]]} /><script>
import { NavDropdown } from '@eona-x/ui-toolkit-svelte';
</script>
<NavDropdown id="example" label="Label" links={[["#", "About"]]} />NewsCard
src/molecules/news_card.rs:16
use eona_ui_toolkit::NewsCard;
<NewsCard href="#" tag="Tag" title="Title" />import { NewsCard } from '@eona-x/ui-toolkit-react';
<NewsCard href="#" tag="Tag" title="Title" /><script>
import { NewsCard } from '@eona-x/ui-toolkit-svelte';
</script>
<NewsCard href="#" tag="Tag" title="Title" />OntoAnnotation
src/molecules/annotation.rs:38
use eona_ui_toolkit::OntoAnnotation;
use eona_ui_toolkit::ontology::LiteralValue;
<OntoAnnotation
label="Label"
values={vec![LiteralValue { value: "An annotation value".into(), language: None, datatype: None, datatype_label: None }]}
/>import { OntoAnnotation } from '@eona-x/ui-toolkit-react';
<OntoAnnotation label="Label" values={[{ value: "An annotation value" }]} /><script>
import { OntoAnnotation } from '@eona-x/ui-toolkit-svelte';
</script>
<OntoAnnotation label="Label" values={[{ value: "An annotation value" }]} />OntoBadge
src/atoms/onto_badge.rs:66
use eona_ui_toolkit::{BadgeVariant, OntoBadge};
<OntoBadge label="Label" title="Title" variant={BadgeVariant::Lang} />import { OntoBadge } from '@eona-x/ui-toolkit-react';
<OntoBadge label="Label" title="Title" variant="lang" /><script>
import { OntoBadge } from '@eona-x/ui-toolkit-svelte';
</script>
<OntoBadge label="Label" title="Title" variant="lang" />OntologySection
src/organisms/ontology_section.rs:28
use eona_ui_toolkit::OntologySection;
<OntologySection />never generated — out of scope by rule: zero-prop demo section
PaletteGroup
src/molecules/palette_group.rs:43
use eona_ui_toolkit::{ColorSpec, PaletteGroup};
<PaletteGroup
colors={vec![ColorSpec { name: "Name".into(), hex: "#040553".into(), usage: "Primary brand colour".into(), ink: "Ink".into(), variants_label: None }]}
description="Description"
note="Note"
title="Title"
/>import { PaletteGroup } from '@eona-x/ui-toolkit-react';
<PaletteGroup
colors={[{ name: "Name", hex: "#040553", usage: "Primary brand colour", ink: "Ink" }]}
description="Description"
note="Note"
title="Title"
/><script>
import { PaletteGroup } from '@eona-x/ui-toolkit-svelte';
</script>
<PaletteGroup
colors={[{ name: "Name", hex: "#040553", usage: "Primary brand colour", ink: "Ink" }]}
description="Description"
note="Note"
title="Title"
/>PersonalityCard
src/molecules/personality_card.rs:11
use eona_ui_toolkit::PersonalityCard;
<PersonalityCard description="Description" tag="Tag" />import { PersonalityCard } from '@eona-x/ui-toolkit-react';
<PersonalityCard description="Description" tag="Tag" /><script>
import { PersonalityCard } from '@eona-x/ui-toolkit-svelte';
</script>
<PersonalityCard description="Description" tag="Tag" />Pill
src/atoms/pill.rs:28
use eona_ui_toolkit::{Pill, PillTone};
<Pill tone={PillTone::Bad}>
{ "Children go here." }
</Pill>import { Pill } from '@eona-x/ui-toolkit-react';
<Pill tone="bad">
Children go here.
</Pill><script>
import { Pill } from '@eona-x/ui-toolkit-svelte';
</script>
<Pill tone="bad">
Children go here.
</Pill>PillButton
src/atoms/pill_button.rs:37
use eona_ui_toolkit::{PillButton, PillButtonKind};
<PillButton
disabled={true}
href="#"
kind={PillButtonKind::GlassLight}
label="Label"
/>import { PillButton } from '@eona-x/ui-toolkit-react';
<PillButton disabled href="#" kind="glass-light" label="Label" /><script>
import { PillButton } from '@eona-x/ui-toolkit-svelte';
</script>
<PillButton disabled href="#" kind="glass-light" label="Label" />PillarCard
src/molecules/pillar_card.rs:13
use eona_ui_toolkit::PillarCard;
<PillarCard
num="01"
points={vec![("Open", "by default, not by exception")]}
title="Title"
/>import { PillarCard } from '@eona-x/ui-toolkit-react';
<PillarCard
num="01"
points={[["Open", "by default, not by exception"]]}
title="Title"
/><script>
import { PillarCard } from '@eona-x/ui-toolkit-svelte';
</script>
<PillarCard
num="01"
points={[["Open", "by default, not by exception"]]}
title="Title"
/>PropsTable
src/molecules/props_table.rs:40
use eona_ui_toolkit::{PropSpec, PropsTable};
<PropsTable
component="Button"
props={vec![PropSpec { name: "Name".into(), ty: "AttrValue".into(), default: None, doc: "What the prop does.".into() }]}
/>import { PropsTable } from '@eona-x/ui-toolkit-react';
<PropsTable
component="Button"
props={[{ name: "Name", ty: "AttrValue", doc: "What the prop does." }]}
/><script>
import { PropsTable } from '@eona-x/ui-toolkit-svelte';
</script>
<PropsTable
component="Button"
props={[{ name: "Name", ty: "AttrValue", doc: "What the prop does." }]}
/>RefCard
src/molecules/ref_card.rs:14
use eona_ui_toolkit::RefCard;
<RefCard
alt="EONA-X logo"
description="Description"
src="logo/logo-transparent.svg"
title="Title"
/>import { RefCard } from '@eona-x/ui-toolkit-react';
<RefCard
alt="EONA-X logo"
description="Description"
src="logo/logo-transparent.svg"
title="Title"
/><script>
import { RefCard } from '@eona-x/ui-toolkit-svelte';
</script>
<RefCard
alt="EONA-X logo"
description="Description"
src="logo/logo-transparent.svg"
title="Title"
/>RuleListItem
src/molecules/rule_list_item.rs:28
use eona_ui_toolkit::{RuleKind, RuleListItem};
<RuleListItem kind={RuleKind::Do}>
{ "Children go here." }
</RuleListItem>import { RuleListItem } from '@eona-x/ui-toolkit-react';
<RuleListItem kind="do">
Children go here.
</RuleListItem><script>
import { RuleListItem } from '@eona-x/ui-toolkit-svelte';
</script>
<RuleListItem kind="do">
Children go here.
</RuleListItem>ScoreDonut
src/molecules/score_donut.rs:29
use eona_ui_toolkit::ScoreDonut;
use eona_ui_toolkit::chart::ScoreBand;
<ScoreDonut
band={ScoreBand::Good}
caption="Caption"
dash_array="Dash Array"
label="Label"
/>import { ScoreDonut } from '@eona-x/ui-toolkit-react';
<ScoreDonut
band="good"
caption="Caption"
dashArray="Dash Array"
label="Label"
/><script>
import { ScoreDonut } from '@eona-x/ui-toolkit-svelte';
</script>
<ScoreDonut
band="good"
caption="Caption"
dashArray="Dash Array"
label="Label"
/>SectionHead
src/molecules/section_head.rs:15
use eona_ui_toolkit::SectionHead;
<SectionHead kicker="Kicker" number="01" title="Title" />import { SectionHead } from '@eona-x/ui-toolkit-react';
<SectionHead kicker="Kicker" number="01" title="Title" /><script>
import { SectionHead } from '@eona-x/ui-toolkit-svelte';
</script>
<SectionHead kicker="Kicker" number="01" title="Title" />ShapeCard
src/molecules/shape_card.rs:12
use eona_ui_toolkit::ShapeCard;
use yew::prelude::*;
<ShapeCard
demo={html! { <span>{ "Slot content." }</span> }}
description="Description"
title="Title"
/>import { ShapeCard } from '@eona-x/ui-toolkit-react';
<ShapeCard
demo={<span>Slot content.</span>}
description="Description"
title="Title"
/><script>
import { ShapeCard } from '@eona-x/ui-toolkit-svelte';
</script>
<ShapeCard description="Description" title="Title">
{#snippet demo()}<span>Slot content.</span>{/snippet}
</ShapeCard>SimpleFooter
src/organisms/simple_footer.rs:13
use eona_ui_toolkit::{NavLink, SimpleFooter};
<SimpleFooter
link={NavLink { href: "#".into(), label: "Label".into() }}
text="Text"
/>import { SimpleFooter } from '@eona-x/ui-toolkit-react';
<SimpleFooter link={{ href: "#", label: "Label" }} text="Text" /><script>
import { SimpleFooter } from '@eona-x/ui-toolkit-svelte';
</script>
<SimpleFooter link={{ href: "#", label: "Label" }} text="Text" />SiteHeader
src/organisms/site_header.rs:96
use eona_ui_toolkit::{SiteHeader, SiteNavLink};
<SiteHeader
links={vec![SiteNavLink { href: "#".into(), label: "Label".into(), current: false }]}
show_login={true}
/>import { SiteHeader } from '@eona-x/ui-toolkit-react';
<SiteHeader
links={[{ href: "#", label: "Label", current: false }]}
showLogin
/><script>
import { SiteHeader } from '@eona-x/ui-toolkit-svelte';
</script>
<SiteHeader
links={[{ href: "#", label: "Label", current: false }]}
showLogin
/>Swatch
src/molecules/swatch.rs:44
use eona_ui_toolkit::Swatch;
<Swatch
hex="#040553"
ink="Ink"
name="Name"
usage="Primary brand colour"
variants="Variants"
/>import { Swatch } from '@eona-x/ui-toolkit-react';
<Swatch
hex="#040553"
ink="Ink"
name="Name"
usage="Primary brand colour"
variants="Variants"
/><script>
import { Swatch } from '@eona-x/ui-toolkit-svelte';
</script>
<Swatch
hex="#040553"
ink="Ink"
name="Name"
usage="Primary brand colour"
variants="Variants"
/>TagLabel
src/atoms/tag_label.rs:27
use eona_ui_toolkit::{TagLabel, TagLabelTone};
<TagLabel text="Text" tone={TagLabelTone::Blue} />import { TagLabel } from '@eona-x/ui-toolkit-react';
<TagLabel text="Text" tone="blue" /><script>
import { TagLabel } from '@eona-x/ui-toolkit-svelte';
</script>
<TagLabel text="Text" tone="blue" />TextField
src/molecules/text_field.rs:22
use eona_ui_toolkit::{TextField, TextFieldKind};
<TextField
id="example"
kind={TextFieldKind::Textarea}
label="Label"
placeholder="Placeholder"
/>import { TextField } from '@eona-x/ui-toolkit-react';
<TextField
id="example"
kind="textarea"
label="Label"
placeholder="Placeholder"
/><script>
import { TextField } from '@eona-x/ui-toolkit-svelte';
</script>
<TextField
id="example"
kind="textarea"
label="Label"
placeholder="Placeholder"
/>TypeScaleRow
src/molecules/type_scale_row.rs:14
use eona_ui_toolkit::TypeScaleRow;
use yew::prelude::*;
<TypeScaleRow
role="Role"
sample={html! { <span>{ "Slot content." }</span> }}
spec="Spec"
/>import { TypeScaleRow } from '@eona-x/ui-toolkit-react';
<TypeScaleRow role="Role" sample={<span>Slot content.</span>} spec="Spec" /><script>
import { TypeScaleRow } from '@eona-x/ui-toolkit-svelte';
</script>
<TypeScaleRow role="Role" spec="Spec">
{#snippet sample()}<span>Slot content.</span>{/snippet}
</TypeScaleRow>UsageExample
src/molecules/usage_example.rs:24
use eona_ui_toolkit::UsageExample;
<UsageExample on_dark={true} source={r#"<Button label="Go" />"#}>
{ "Children go here." }
</UsageExample>import { UsageExample } from '@eona-x/ui-toolkit-react';
<UsageExample onDark source={"<Button label=\"Go\" />"}>
Children go here.
</UsageExample><script>
import { UsageExample } from '@eona-x/ui-toolkit-svelte';
</script>
<UsageExample onDark source={"<Button label=\"Go\" />"}>
Children go here.
</UsageExample>