/* ============================================================
NemakiWare — Hero variants (A / B / C)
window.Hero({ variant, t, lang })
============================================================ */
/* shared CTA buttons */
function HeroCTAs({ t, onDark = false }) {
return (
);
}
function HeroStats({ t, onDark = false }) {
const items = [
[t.hero.stat1_n, t.hero.stat1_l],
[t.hero.stat2_n, t.hero.stat2_l],
[t.hero.stat3_n, t.hero.stat3_l],
];
return (
{items.map(([n, l], i) => (
))}
);
}
/* ---- visual: permission-filtered result list ------------------ */
function PermissionFilterVisual({ t, dark = false }) {
const rows = [
{ name: "Q4_revenue_report.pdf", ok: true },
{ name: "board_minutes_2026.docx", ok: false },
{ name: "pricing_strategy.xlsx", ok: true },
{ name: "legal_settlement.pdf", ok: false },
{ name: "product_roadmap.pptx", ok: true },
];
const surface = dark ? "var(--night-850)" : "#fff";
const line = dark ? "var(--night-line)" : "var(--line)";
return (
{/* query bar */}
{t.perm.flow_q}
rag_search
{/* acl gate label */}
{t.perm.flow_acl} · {t.perm.flow_acl_d}
{/* results */}
{rows.map((r, i) => (
{r.name}
{r.ok ? "0.9" + (3 - i > 0 ? 3 : 1) : "hidden"}
))}
{t.perm.flow_result}
);
}
/* ---- HERO A: light editorial ---------------------------------- */
function HeroA({ t }) {
return (
{t.hero.version}
{t.hero.eyebrow}
{t.hero.title_a_1}{t.hero.title_a_em}{t.hero.title_a_2}{t.hero.title_a_3}
{t.hero.sub}
);
}
/* ---- HERO B: dark immersive ----------------------------------- */
function HeroB({ t }) {
const chips = ["Slack", "Box", "Solr", "CouchDB", "MCP", "Bedrock"];
return (
{t.hero.version}
{t.hero.eyebrow}
{t.hero.title_b_1}
{t.hero.title_b_2}
{t.hero.title_b_3}
{t.hero.sub}
{chips.map((c) => (
{c}
))}
);
}
/* ---- HERO C: developer console -------------------------------- */
function HeroC({ t }) {
return (
{t.hero.version}
{t.hero.eyebrow}
{t.hero.title_c}
{t.hero.sub_c}
nemakiware · mcp
$ nemakiware_rag_search {"{"}
"query": "quarterly revenue",
"topK": 5, "minScore": 0.6
{"}"}
→ applying ACL filter for user: a.tanaka
✓ 3 results · 2 hidden by permission
0.93 Q4_revenue_report.pdf
0.88 pricing_strategy.xlsx
0.81 product_roadmap.pptx
);
}
function Hero({ variant = "a", t }) {
if (variant === "b") return ;
if (variant === "c") return ;
return ;
}
Object.assign(window, { Hero });