@ugurdemirel/landcraft 0.1.22 → 0.1.24
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/README.md +13 -8
- package/dist/cjs/components/Button.cjs +1 -1
- package/dist/cjs/components/Button.cjs.map +1 -1
- package/dist/cjs/components/CTA/CTA.cjs +1 -1
- package/dist/cjs/components/CTA/CTA.cjs.map +1 -1
- package/dist/cjs/components/CTA/parts.cjs +1 -1
- package/dist/cjs/components/CTA/parts.cjs.map +1 -1
- package/dist/cjs/components/CTA/variants/Panel.cjs +1 -1
- package/dist/cjs/components/CTA/variants/Panel.cjs.map +1 -1
- package/dist/cjs/components/CTA/variants/Surface.cjs +1 -1
- package/dist/cjs/components/CTA/variants/Surface.cjs.map +1 -1
- package/dist/cjs/components/Footer/Footer.cjs +1 -1
- package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
- package/dist/cjs/components/Footer/parts.cjs +1 -1
- package/dist/cjs/components/Footer/parts.cjs.map +1 -1
- package/dist/cjs/components/Footer/variants/Columns.cjs +2 -0
- package/dist/cjs/components/Footer/variants/Columns.cjs.map +1 -0
- package/dist/cjs/components/Footer/variants/Editorial.cjs +1 -1
- package/dist/cjs/components/Footer/variants/Editorial.cjs.map +1 -1
- package/dist/cjs/components/Footer/variants/Minimal.cjs +1 -1
- package/dist/cjs/components/Footer/variants/Minimal.cjs.map +1 -1
- package/dist/cjs/components/Hero/parts.cjs +1 -1
- package/dist/cjs/components/Hero/parts.cjs.map +1 -1
- package/dist/cjs/components/Hero/variants/Centered.cjs +1 -1
- package/dist/cjs/components/Hero/variants/Centered.cjs.map +1 -1
- package/dist/cjs/components/Hero/variants/Parallax.cjs +1 -1
- package/dist/cjs/components/Hero/variants/Parallax.cjs.map +1 -1
- package/dist/cjs/components/Hero/variants/Split.cjs +1 -1
- package/dist/cjs/components/Hero/variants/Split.cjs.map +1 -1
- package/dist/cjs/components/Hero/variants/Statement.cjs +1 -1
- package/dist/cjs/components/Hero/variants/Statement.cjs.map +1 -1
- package/dist/cjs/components/LanguageSwitcher/parts.cjs +1 -1
- package/dist/cjs/components/LanguageSwitcher/parts.cjs.map +1 -1
- package/dist/cjs/components/MegaMenu/MegaMenu.cjs +1 -1
- package/dist/cjs/components/MegaMenu/MegaMenu.cjs.map +1 -1
- package/dist/cjs/components/Navbar/Navbar.cjs +1 -1
- package/dist/cjs/components/Navbar/Navbar.cjs.map +1 -1
- package/dist/cjs/components/Stats/Stats.cjs +1 -1
- package/dist/cjs/components/Stats/Stats.cjs.map +1 -1
- package/dist/cjs/components/Stats/parts.cjs +1 -1
- package/dist/cjs/components/Stats/parts.cjs.map +1 -1
- package/dist/cjs/components/Stats/variants/Cells.cjs +1 -1
- package/dist/cjs/components/Stats/variants/Cells.cjs.map +1 -1
- package/dist/cjs/components/Stats/variants/Divided.cjs +2 -0
- package/dist/cjs/components/Stats/variants/Divided.cjs.map +1 -0
- package/dist/cjs/components/Stats/variants/Stacked.cjs +2 -0
- package/dist/cjs/components/Stats/variants/Stacked.cjs.map +1 -0
- package/dist/cjs/components/Stats/variants/Ticker.cjs +1 -1
- package/dist/cjs/components/Stats/variants/Ticker.cjs.map +1 -1
- package/dist/cjs/utils/surface.cjs +2 -0
- package/dist/cjs/utils/surface.cjs.map +1 -0
- package/dist/es/components/Button.js +41 -31
- package/dist/es/components/Button.js.map +1 -1
- package/dist/es/components/CTA/CTA.js +5 -6
- package/dist/es/components/CTA/CTA.js.map +1 -1
- package/dist/es/components/CTA/parts.js +19 -14
- package/dist/es/components/CTA/parts.js.map +1 -1
- package/dist/es/components/CTA/variants/Panel.js +15 -17
- package/dist/es/components/CTA/variants/Panel.js.map +1 -1
- package/dist/es/components/CTA/variants/Surface.js +21 -11
- package/dist/es/components/CTA/variants/Surface.js.map +1 -1
- package/dist/es/components/Footer/Footer.js +5 -5
- package/dist/es/components/Footer/Footer.js.map +1 -1
- package/dist/es/components/Footer/parts.js +21 -20
- package/dist/es/components/Footer/parts.js.map +1 -1
- package/dist/es/components/Footer/variants/Columns.js +76 -0
- package/dist/es/components/Footer/variants/Columns.js.map +1 -0
- package/dist/es/components/Footer/variants/Editorial.js +68 -35
- package/dist/es/components/Footer/variants/Editorial.js.map +1 -1
- package/dist/es/components/Footer/variants/Minimal.js +50 -16
- package/dist/es/components/Footer/variants/Minimal.js.map +1 -1
- package/dist/es/components/Hero/parts.js +13 -11
- package/dist/es/components/Hero/parts.js.map +1 -1
- package/dist/es/components/Hero/variants/Centered.js +29 -17
- package/dist/es/components/Hero/variants/Centered.js.map +1 -1
- package/dist/es/components/Hero/variants/Parallax.js +23 -23
- package/dist/es/components/Hero/variants/Parallax.js.map +1 -1
- package/dist/es/components/Hero/variants/Split.js +35 -23
- package/dist/es/components/Hero/variants/Split.js.map +1 -1
- package/dist/es/components/Hero/variants/Statement.js +28 -23
- package/dist/es/components/Hero/variants/Statement.js.map +1 -1
- package/dist/es/components/LanguageSwitcher/parts.js +44 -44
- package/dist/es/components/LanguageSwitcher/parts.js.map +1 -1
- package/dist/es/components/MegaMenu/MegaMenu.js +131 -126
- package/dist/es/components/MegaMenu/MegaMenu.js.map +1 -1
- package/dist/es/components/Navbar/Navbar.js +110 -92
- package/dist/es/components/Navbar/Navbar.js.map +1 -1
- package/dist/es/components/Stats/Stats.js +8 -8
- package/dist/es/components/Stats/Stats.js.map +1 -1
- package/dist/es/components/Stats/parts.js +37 -17
- package/dist/es/components/Stats/parts.js.map +1 -1
- package/dist/es/components/Stats/variants/Cells.js +46 -18
- package/dist/es/components/Stats/variants/Cells.js.map +1 -1
- package/dist/es/components/Stats/variants/Divided.js +45 -0
- package/dist/es/components/Stats/variants/Divided.js.map +1 -0
- package/dist/es/components/Stats/variants/Stacked.js +40 -0
- package/dist/es/components/Stats/variants/Stacked.js.map +1 -0
- package/dist/es/components/Stats/variants/Ticker.js +44 -23
- package/dist/es/components/Stats/variants/Ticker.js.map +1 -1
- package/dist/es/utils/surface.js +16 -0
- package/dist/es/utils/surface.js.map +1 -0
- package/dist/index.d.ts +49 -10
- package/dist/styles.css +169 -114
- package/dist/theme.css +27 -0
- package/package.json +1 -1
- package/dist/cjs/components/CTA/variants/Inverse.cjs +0 -2
- package/dist/cjs/components/CTA/variants/Inverse.cjs.map +0 -1
- package/dist/cjs/components/Footer/variants/Classic.cjs +0 -2
- package/dist/cjs/components/Footer/variants/Classic.cjs.map +0 -1
- package/dist/cjs/components/Stats/variants/Editorial.cjs +0 -2
- package/dist/cjs/components/Stats/variants/Editorial.cjs.map +0 -1
- package/dist/cjs/components/Stats/variants/Hairline.cjs +0 -2
- package/dist/cjs/components/Stats/variants/Hairline.cjs.map +0 -1
- package/dist/es/components/CTA/variants/Inverse.js +0 -42
- package/dist/es/components/CTA/variants/Inverse.js.map +0 -1
- package/dist/es/components/Footer/variants/Classic.js +0 -43
- package/dist/es/components/Footer/variants/Classic.js.map +0 -1
- package/dist/es/components/Stats/variants/Editorial.js +0 -32
- package/dist/es/components/Stats/variants/Editorial.js.map +0 -1
- package/dist/es/components/Stats/variants/Hairline.js +0 -25
- package/dist/es/components/Stats/variants/Hairline.js.map +0 -1
|
@@ -1,36 +1,48 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { cn as
|
|
4
|
-
import { HeroEyebrow as b,
|
|
5
|
-
const
|
|
6
|
-
({
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as g } from "react";
|
|
3
|
+
import { cn as l } from "../../../utils/cn.js";
|
|
4
|
+
import { HeroEyebrow as u, heroTitleType as b, heroDescriptionBase as h, HeroActions as N, heroContainer as w } from "../parts.js";
|
|
5
|
+
const v = g(
|
|
6
|
+
({
|
|
7
|
+
className: m,
|
|
8
|
+
eyebrow: n,
|
|
9
|
+
title: c,
|
|
10
|
+
description: o,
|
|
11
|
+
primaryAction: s,
|
|
12
|
+
secondaryAction: a,
|
|
13
|
+
media: d,
|
|
14
|
+
meta: i,
|
|
15
|
+
background: H,
|
|
16
|
+
id: p,
|
|
17
|
+
...x
|
|
18
|
+
}, f) => /* @__PURE__ */ e(
|
|
7
19
|
"section",
|
|
8
20
|
{
|
|
9
|
-
ref:
|
|
10
|
-
id:
|
|
11
|
-
className:
|
|
12
|
-
...
|
|
13
|
-
children: /* @__PURE__ */
|
|
14
|
-
|
|
21
|
+
ref: f,
|
|
22
|
+
id: p,
|
|
23
|
+
className: l("relative w-full border-b border-border bg-background", m),
|
|
24
|
+
...x,
|
|
25
|
+
children: /* @__PURE__ */ t("div", { className: l(
|
|
26
|
+
w,
|
|
15
27
|
"items-start gap-14 pt-20 pb-20 sm:pt-28 sm:pb-28 lg:grid lg:grid-cols-[1.05fr_0.95fr] lg:gap-20"
|
|
16
28
|
), children: [
|
|
17
|
-
/* @__PURE__ */
|
|
18
|
-
/* @__PURE__ */ e(
|
|
19
|
-
/* @__PURE__ */ e("h1", { className:
|
|
20
|
-
|
|
21
|
-
s ||
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
] },
|
|
29
|
+
/* @__PURE__ */ t("div", { className: "max-w-xl", children: [
|
|
30
|
+
/* @__PURE__ */ e(u, { eyebrow: n }),
|
|
31
|
+
/* @__PURE__ */ e("h1", { className: l(b, "mt-6 text-5xl text-foreground sm:text-6xl lg:text-7xl"), children: c }),
|
|
32
|
+
o ? /* @__PURE__ */ e("p", { className: l(h, "mt-7 max-w-md text-muted-foreground"), children: o }) : null,
|
|
33
|
+
s || a ? /* @__PURE__ */ e("div", { className: "mt-10", children: /* @__PURE__ */ e(N, { primaryAction: s, secondaryAction: a }) }) : null,
|
|
34
|
+
i ? /* @__PURE__ */ e("ul", { className: "mt-14 flex flex-wrap items-center gap-x-8 gap-y-3 border-t border-border pt-6", children: i.map((r) => /* @__PURE__ */ t("li", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
|
|
35
|
+
r.icon ? /* @__PURE__ */ e("span", { className: "text-foreground/35", children: r.icon }) : null,
|
|
36
|
+
r.label
|
|
37
|
+
] }, r.label)) }) : null
|
|
26
38
|
] }),
|
|
27
39
|
d ? /* @__PURE__ */ e("div", { className: "w-full self-center", children: d }) : null
|
|
28
40
|
] })
|
|
29
41
|
}
|
|
30
42
|
)
|
|
31
43
|
);
|
|
32
|
-
|
|
44
|
+
v.displayName = "HeroSplit";
|
|
33
45
|
export {
|
|
34
|
-
|
|
46
|
+
v as HeroSplit
|
|
35
47
|
};
|
|
36
48
|
//# sourceMappingURL=Split.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Split.js","sources":["../../../../../src/components/Hero/variants/Split.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport {
|
|
1
|
+
{"version":3,"file":"Split.js","sources":["../../../../../src/components/Hero/variants/Split.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport {\n HeroActions,\n HeroEyebrow,\n heroContainer,\n heroDescriptionBase,\n heroTitleType,\n} from \"../parts\";\nimport type { HeroProps } from \"../types\";\n\n/** Split — editorial grid: huge type left, media right, meta rule under. */\nexport const HeroSplit = forwardRef<HTMLElement, HeroProps>(\n (\n {\n className,\n eyebrow,\n title,\n description,\n primaryAction,\n secondaryAction,\n media,\n meta,\n background,\n id,\n ...props\n },\n ref,\n ) => (\n <section\n ref={ref}\n id={id}\n className={cn(\"relative w-full border-b border-border bg-background\", className)}\n {...props}\n >\n <div className={cn(\n heroContainer,\n \"items-start gap-14 pt-20 pb-20 sm:pt-28 sm:pb-28 lg:grid lg:grid-cols-[1.05fr_0.95fr] lg:gap-20\",\n )}>\n <div className=\"max-w-xl\">\n <HeroEyebrow eyebrow={eyebrow} />\n <h1 className={cn(heroTitleType, \"mt-6 text-5xl text-foreground sm:text-6xl lg:text-7xl\")}>\n {title}\n </h1>\n {description ? (\n <p className={cn(heroDescriptionBase, \"mt-7 max-w-md text-muted-foreground\")}>\n {description}\n </p>\n ) : null}\n {primaryAction || secondaryAction ? (\n <div className=\"mt-10\">\n <HeroActions primaryAction={primaryAction} secondaryAction={secondaryAction} />\n </div>\n ) : null}\n {meta ? (\n <ul className=\"mt-14 flex flex-wrap items-center gap-x-8 gap-y-3 border-t border-border pt-6\">\n {meta.map((m) => (\n <li key={m.label} className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n {m.icon ? <span className=\"text-foreground/35\">{m.icon}</span> : null}\n {m.label}\n </li>\n ))}\n </ul>\n ) : null}\n </div>\n {media ? <div className=\"w-full self-center\">{media}</div> : null}\n </div>\n </section>\n ),\n);\nHeroSplit.displayName = \"HeroSplit\";\n"],"names":["HeroSplit","forwardRef","className","eyebrow","title","description","primaryAction","secondaryAction","media","meta","background","id","props","ref","jsx","cn","jsxs","heroContainer","HeroEyebrow","heroTitleType","heroDescriptionBase","HeroActions","m"],"mappings":";;;;AAYO,MAAMA,IAAYC;AAAA,EACvB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,YAAAC;AAAA,IACA,IAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MAEA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,IAAAF;AAAA,MACA,WAAWI,EAAG,wDAAwDb,CAAS;AAAA,MAC9E,GAAGU;AAAA,MAEJ,UAAA,gBAAAI,EAAC,SAAI,WAAWD;AAAA,QACdE;AAAA,QACA;AAAA,MAAA,GAEA,UAAA;AAAA,QAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,YACb,UAAA;AAAA,UAAA,gBAAAF,EAACI,KAAY,SAAAf,GAAkB;AAAA,4BAC9B,MAAA,EAAG,WAAWY,EAAGI,GAAe,uDAAuD,GACrF,UAAAf,GACH;AAAA,UACCC,sBACE,KAAA,EAAE,WAAWU,EAAGK,GAAqB,qCAAqC,GACxE,UAAAf,EAAA,CACH,IACE;AAAA,UACHC,KAAiBC,IAChB,gBAAAO,EAAC,OAAA,EAAI,WAAU,SACb,UAAA,gBAAAA,EAACO,GAAA,EAAY,eAAAf,GAA8B,iBAAAC,EAAA,CAAkC,EAAA,CAC/E,IACE;AAAA,UACHE,IACC,gBAAAK,EAAC,MAAA,EAAG,WAAU,iFACX,UAAAL,EAAK,IAAI,CAACa,MACT,gBAAAN,EAAC,MAAA,EAAiB,WAAU,yDACzB,UAAA;AAAA,YAAAM,EAAE,OAAO,gBAAAR,EAAC,QAAA,EAAK,WAAU,sBAAsB,UAAAQ,EAAE,MAAK,IAAU;AAAA,YAChEA,EAAE;AAAA,UAAA,EAAA,GAFIA,EAAE,KAGX,CACD,EAAA,CACH,IACE;AAAA,QAAA,GACN;AAAA,QACCd,IAAQ,gBAAAM,EAAC,OAAA,EAAI,WAAU,sBAAsB,aAAM,IAAS;AAAA,MAAA,EAAA,CAC/D;AAAA,IAAA;AAAA,EAAA;AAGN;AACAd,EAAU,cAAc;"}
|
|
@@ -1,31 +1,36 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { cn as
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as h } from "react";
|
|
3
|
+
import { cn as l } from "../../../utils/cn.js";
|
|
4
|
+
import { emphasisSurfaceStyle as u } from "../../../utils/surface.js";
|
|
5
|
+
import { heroTitleType as f, heroDescriptionBase as N, HeroActions as v, heroContainer as y } from "../parts.js";
|
|
6
|
+
const b = h(
|
|
7
|
+
({
|
|
8
|
+
className: m,
|
|
9
|
+
title: o,
|
|
10
|
+
description: i,
|
|
11
|
+
primaryAction: r,
|
|
12
|
+
secondaryAction: s,
|
|
13
|
+
media: w,
|
|
14
|
+
meta: n,
|
|
15
|
+
background: c,
|
|
16
|
+
id: p,
|
|
17
|
+
...x
|
|
18
|
+
}, d) => /* @__PURE__ */ a(
|
|
7
19
|
"section",
|
|
8
20
|
{
|
|
9
|
-
ref:
|
|
10
|
-
id:
|
|
11
|
-
className:
|
|
12
|
-
style:
|
|
13
|
-
...
|
|
21
|
+
ref: d,
|
|
22
|
+
id: p,
|
|
23
|
+
className: l("relative w-full overflow-hidden", m),
|
|
24
|
+
style: u(c),
|
|
25
|
+
...x,
|
|
14
26
|
children: [
|
|
15
27
|
/* @__PURE__ */ e("div", { "aria-hidden": !0, className: "pointer-events-none absolute inset-0 grain opacity-[0.07] mix-blend-overlay" }),
|
|
16
28
|
/* @__PURE__ */ e("div", { "aria-hidden": !0, className: "pointer-events-none absolute inset-x-0 top-0 h-px bg-white/10" }),
|
|
17
|
-
/* @__PURE__ */
|
|
18
|
-
/* @__PURE__ */ e(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
style: { color: "contrast-color(rgb(var(--color-secondary)))" },
|
|
23
|
-
children: i
|
|
24
|
-
}
|
|
25
|
-
),
|
|
26
|
-
r ? /* @__PURE__ */ e("p", { className: "mx-auto mt-8 max-w-xl text-pretty leading-relaxed sm:text-lg", style: { color: "contrast-color(rgb(var(--color-secondary)))", opacity: 0.72 }, children: r }) : null,
|
|
27
|
-
o || a ? /* @__PURE__ */ e("div", { className: "mt-11 justify-center", children: /* @__PURE__ */ e(y, { primaryAction: o, secondaryAction: a }) }) : null,
|
|
28
|
-
n ? /* @__PURE__ */ e("ul", { className: "mt-16 flex flex-wrap items-center justify-center gap-x-10 gap-y-3", children: n.map((t) => /* @__PURE__ */ l("li", { className: "flex items-center gap-2 text-sm font-medium", style: { color: "contrast-color(rgb(var(--color-secondary)))", opacity: 0.72 }, children: [
|
|
29
|
+
/* @__PURE__ */ a("div", { className: l(y, "pt-28 pb-24 text-center sm:pt-36 sm:pb-32"), children: [
|
|
30
|
+
/* @__PURE__ */ e("h1", { className: l(f, "max-w-5xl text-[2.9rem] sm:text-7xl lg:text-8xl"), children: o }),
|
|
31
|
+
i ? /* @__PURE__ */ e("p", { className: l(N, "mx-auto mt-8 max-w-xl opacity-70"), children: i }) : null,
|
|
32
|
+
r || s ? /* @__PURE__ */ e("div", { className: "mt-11 justify-center", children: /* @__PURE__ */ e(v, { primaryAction: r, secondaryAction: s, emphasis: !0 }) }) : null,
|
|
33
|
+
n ? /* @__PURE__ */ e("ul", { className: "mt-16 flex flex-wrap items-center justify-center gap-x-10 gap-y-3", children: n.map((t) => /* @__PURE__ */ a("li", { className: "flex items-center gap-2 text-sm font-medium opacity-70", children: [
|
|
29
34
|
t.icon ? /* @__PURE__ */ e("span", { children: t.icon }) : null,
|
|
30
35
|
t.label
|
|
31
36
|
] }, t.label)) }) : null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Statement.js","sources":["../../../../../src/components/Hero/variants/Statement.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { HeroActions
|
|
1
|
+
{"version":3,"file":"Statement.js","sources":["../../../../../src/components/Hero/variants/Statement.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { emphasisSurfaceStyle } from \"../../../utils/surface\";\nimport {\n HeroActions,\n heroContainer,\n heroDescriptionBase,\n heroTitleType,\n} from \"../parts\";\nimport type { HeroProps } from \"../types\";\n\n/**\n * Statement — full-bleed brand emphasis band. No eyebrow, pure message.\n *\n * The band is painted from `--color-primary` and its text color is computed\n * with CSS `contrast-color()`. Pass `background` to replace the brand gradient\n * with any CSS color while keeping the contrast behavior.\n */\nexport const HeroStatement = forwardRef<HTMLElement, HeroProps>(\n (\n {\n className,\n title,\n description,\n primaryAction,\n secondaryAction,\n media,\n meta,\n background,\n id,\n ...props\n },\n ref,\n ) => {\n return (\n <section\n ref={ref}\n id={id}\n className={cn(\"relative w-full overflow-hidden\", className)}\n style={emphasisSurfaceStyle(background)}\n {...props}\n >\n <div aria-hidden className=\"pointer-events-none absolute inset-0 grain opacity-[0.07] mix-blend-overlay\" />\n <div aria-hidden className=\"pointer-events-none absolute inset-x-0 top-0 h-px bg-white/10\" />\n <div className={cn(heroContainer, \"pt-28 pb-24 text-center sm:pt-36 sm:pb-32\")}>\n <h1 className={cn(heroTitleType, \"max-w-5xl text-[2.9rem] sm:text-7xl lg:text-8xl\")}>\n {title}\n </h1>\n {description ? (\n <p className={cn(heroDescriptionBase, \"mx-auto mt-8 max-w-xl opacity-70\")}>\n {description}\n </p>\n ) : null}\n {primaryAction || secondaryAction ? (\n <div className=\"mt-11 justify-center\">\n <HeroActions primaryAction={primaryAction} secondaryAction={secondaryAction} emphasis />\n </div>\n ) : null}\n {meta ? (\n <ul className=\"mt-16 flex flex-wrap items-center justify-center gap-x-10 gap-y-3\">\n {meta.map((m) => (\n <li key={m.label} className=\"flex items-center gap-2 text-sm font-medium opacity-70\">\n {m.icon ? <span>{m.icon}</span> : null}\n {m.label}\n </li>\n ))}\n </ul>\n ) : null}\n </div>\n </section>\n );\n },\n);\nHeroStatement.displayName = \"HeroStatement\";\n"],"names":["HeroStatement","forwardRef","className","title","description","primaryAction","secondaryAction","media","meta","background","id","props","ref","jsxs","cn","emphasisSurfaceStyle","jsx","heroContainer","heroTitleType","heroDescriptionBase","HeroActions","m"],"mappings":";;;;;AAkBO,MAAMA,IAAgBC;AAAA,EAC3B,CACE;AAAA,IACE,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,YAAAC;AAAA,IACA,IAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MAGE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,IAAAF;AAAA,MACA,WAAWI,EAAG,mCAAmCZ,CAAS;AAAA,MAC1D,OAAOa,EAAqBN,CAAU;AAAA,MACrC,GAAGE;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAK,EAAC,OAAA,EAAI,eAAW,IAAC,WAAU,+EAA8E;AAAA,QACzG,gBAAAA,EAAC,OAAA,EAAI,eAAW,IAAC,WAAU,iEAAgE;AAAA,0BAC1F,OAAA,EAAI,WAAWF,EAAGG,GAAe,2CAA2C,GAC3E,UAAA;AAAA,UAAA,gBAAAD,EAAC,QAAG,WAAWF,EAAGI,GAAe,iDAAiD,GAC/E,UAAAf,GACH;AAAA,UACCC,sBACE,KAAA,EAAE,WAAWU,EAAGK,GAAqB,kCAAkC,GACrE,UAAAf,EAAA,CACH,IACE;AAAA,UACHC,KAAiBC,IAChB,gBAAAU,EAAC,OAAA,EAAI,WAAU,wBACb,UAAA,gBAAAA,EAACI,GAAA,EAAY,eAAAf,GAA8B,iBAAAC,GAAkC,UAAQ,GAAA,CAAC,GACxF,IACE;AAAA,UACHE,IACC,gBAAAQ,EAAC,MAAA,EAAG,WAAU,qEACX,UAAAR,EAAK,IAAI,CAACa,MACT,gBAAAR,EAAC,MAAA,EAAiB,WAAU,0DACzB,UAAA;AAAA,YAAAQ,EAAE,OAAO,gBAAAL,EAAC,QAAA,EAAM,UAAAK,EAAE,MAAK,IAAU;AAAA,YACjCA,EAAE;AAAA,UAAA,EAAA,GAFIA,EAAE,KAGX,CACD,EAAA,CACH,IACE;AAAA,QAAA,EAAA,CACN;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AACArB,EAAc,cAAc;"}
|
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as
|
|
3
|
-
import { useEffect as
|
|
2
|
+
import { jsxs as d, jsx as i } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect as l } from "react";
|
|
4
4
|
import { cn as s } from "../../utils/cn.js";
|
|
5
5
|
import { iso2ToFlagEmoji as m } from "../../utils/iso2Flag.js";
|
|
6
|
-
import { Globe as
|
|
7
|
-
function y(o, t
|
|
8
|
-
|
|
9
|
-
if (!
|
|
6
|
+
import { Globe as c, ChevronDown as f, Check as g } from "../../icons.js";
|
|
7
|
+
function y(r, o, t) {
|
|
8
|
+
l(() => {
|
|
9
|
+
if (!r) return;
|
|
10
10
|
const e = (n) => {
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
n.key === "Escape" &&
|
|
11
|
+
o.current && !o.current.contains(n.target) && t();
|
|
12
|
+
}, u = (n) => {
|
|
13
|
+
n.key === "Escape" && t();
|
|
14
14
|
};
|
|
15
|
-
return document.addEventListener("pointerdown", e), document.addEventListener("keydown",
|
|
16
|
-
document.removeEventListener("pointerdown", e), document.removeEventListener("keydown",
|
|
15
|
+
return document.addEventListener("pointerdown", e), document.addEventListener("keydown", u), () => {
|
|
16
|
+
document.removeEventListener("pointerdown", e), document.removeEventListener("keydown", u);
|
|
17
17
|
};
|
|
18
|
-
}, [o, t
|
|
18
|
+
}, [r, o, t]);
|
|
19
19
|
}
|
|
20
|
-
function
|
|
21
|
-
const e = m(
|
|
22
|
-
return e ? /* @__PURE__ */ i("span", { "aria-hidden": !0, className: s(
|
|
20
|
+
function a(r, { size: o = "text-sm", globeClass: t = "text-muted-foreground" } = {}) {
|
|
21
|
+
const e = m(r);
|
|
22
|
+
return e ? /* @__PURE__ */ i("span", { "aria-hidden": !0, className: s(o, "leading-none"), children: e }) : /* @__PURE__ */ i(c, { className: s("h-4 w-4 shrink-0", t) });
|
|
23
23
|
}
|
|
24
24
|
function v({
|
|
25
|
-
inverse:
|
|
26
|
-
open:
|
|
27
|
-
showFlag:
|
|
25
|
+
inverse: r,
|
|
26
|
+
open: o,
|
|
27
|
+
showFlag: t,
|
|
28
28
|
currentLang: e,
|
|
29
|
-
onClick:
|
|
29
|
+
onClick: u,
|
|
30
30
|
ariaProps: n
|
|
31
31
|
}) {
|
|
32
|
-
return /* @__PURE__ */
|
|
32
|
+
return /* @__PURE__ */ d(
|
|
33
33
|
"button",
|
|
34
34
|
{
|
|
35
35
|
type: "button",
|
|
36
36
|
"aria-haspopup": n.haspopup,
|
|
37
37
|
"aria-expanded": n.expanded,
|
|
38
38
|
"aria-controls": n.controls,
|
|
39
|
-
onClick:
|
|
39
|
+
onClick: u,
|
|
40
40
|
className: s(
|
|
41
41
|
"inline-flex h-9 cursor-pointer items-center gap-1.5 rounded-lg border px-3 text-[13px] font-medium transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
42
|
-
|
|
42
|
+
r ? "border-current/20 text-current hover:bg-current/10" : "border-border text-foreground hover:bg-surface"
|
|
43
43
|
),
|
|
44
44
|
children: [
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
t ? a(e.code, { globeClass: r ? "opacity-70" : "text-muted-foreground" }) : /* @__PURE__ */ i(
|
|
46
|
+
c,
|
|
47
47
|
{
|
|
48
|
-
className: s("h-4 w-4",
|
|
48
|
+
className: s("h-4 w-4", r ? "opacity-70" : "text-muted-foreground")
|
|
49
49
|
}
|
|
50
50
|
),
|
|
51
51
|
/* @__PURE__ */ i("span", { className: "tracking-tight", children: e.label }),
|
|
@@ -54,8 +54,8 @@ function v({
|
|
|
54
54
|
{
|
|
55
55
|
className: s(
|
|
56
56
|
"h-3.5 w-3.5 transition-transform duration-150",
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
o && "rotate-180",
|
|
58
|
+
r ? "opacity-70" : "text-muted-foreground"
|
|
59
59
|
)
|
|
60
60
|
}
|
|
61
61
|
)
|
|
@@ -64,44 +64,44 @@ function v({
|
|
|
64
64
|
);
|
|
65
65
|
}
|
|
66
66
|
function N({
|
|
67
|
-
lang:
|
|
68
|
-
active:
|
|
69
|
-
onSelect:
|
|
67
|
+
lang: r,
|
|
68
|
+
active: o,
|
|
69
|
+
onSelect: t,
|
|
70
70
|
variant: e,
|
|
71
|
-
showFlag:
|
|
71
|
+
showFlag: u
|
|
72
72
|
}) {
|
|
73
|
-
return /* @__PURE__ */
|
|
73
|
+
return /* @__PURE__ */ d(
|
|
74
74
|
"button",
|
|
75
75
|
{
|
|
76
76
|
type: "button",
|
|
77
77
|
role: "option",
|
|
78
|
-
"aria-selected":
|
|
79
|
-
onClick:
|
|
78
|
+
"aria-selected": o,
|
|
79
|
+
onClick: t,
|
|
80
80
|
className: e === "modal" ? s(
|
|
81
81
|
"flex w-full cursor-pointer items-center justify-between gap-3 rounded-lg border px-4 py-3 text-left transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
82
|
-
|
|
82
|
+
o ? "border-primary/40 bg-primary-soft text-foreground" : "border-border text-foreground hover:bg-surface-strong"
|
|
83
83
|
) : s(
|
|
84
84
|
"flex w-full cursor-pointer items-center justify-between gap-3 rounded-md px-3 py-2 text-[13px] font-medium transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
85
|
-
|
|
85
|
+
o ? "bg-surface-strong text-foreground" : "text-muted-foreground hover:bg-surface-strong hover:text-foreground"
|
|
86
86
|
),
|
|
87
87
|
children: [
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
|
|
90
|
-
/* @__PURE__ */ i("span", { className: "text-sm font-medium", children:
|
|
88
|
+
/* @__PURE__ */ d("span", { className: e === "modal" ? "flex items-center gap-3" : "flex items-center gap-2.5", children: [
|
|
89
|
+
u ? a(r.code, e === "modal" ? { size: "text-base" } : {}) : null,
|
|
90
|
+
/* @__PURE__ */ i("span", { className: "text-sm font-medium", children: r.label })
|
|
91
91
|
] }),
|
|
92
|
-
/* @__PURE__ */
|
|
93
|
-
e === "modal" ?
|
|
94
|
-
|
|
92
|
+
/* @__PURE__ */ d("span", { className: e === "modal" ? "flex items-center gap-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground" : void 0, children: [
|
|
93
|
+
e === "modal" ? r.code : null,
|
|
94
|
+
o ? /* @__PURE__ */ i(g, { className: e === "modal" ? "h-4 w-4 text-primary" : "h-3.5 w-3.5 text-primary" }) : null
|
|
95
95
|
] })
|
|
96
96
|
]
|
|
97
97
|
},
|
|
98
|
-
|
|
98
|
+
r.code
|
|
99
99
|
);
|
|
100
100
|
}
|
|
101
101
|
export {
|
|
102
102
|
N as LanguageOptionRow,
|
|
103
103
|
v as LanguageTrigger,
|
|
104
|
-
|
|
104
|
+
a as renderFlagOrGlobe,
|
|
105
105
|
y as useOutsideClose
|
|
106
106
|
};
|
|
107
107
|
//# sourceMappingURL=parts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parts.js","sources":["../../../../src/components/LanguageSwitcher/parts.tsx"],"sourcesContent":["\"use client\";\nimport { useEffect } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { iso2ToFlagEmoji } from \"../../utils/iso2Flag\";\nimport { Check, ChevronDown, Globe } from \"../../icons\";\nimport type { LanguageOption } from \"./types\";\n\nexport function useOutsideClose(\n open: boolean,\n rootRef: { current: HTMLDivElement | null },\n onClose: () => void,\n) {\n useEffect(() => {\n if (!open) return;\n const onPointerDown = (event: PointerEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n onClose();\n }\n };\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") onClose();\n };\n document.addEventListener(\"pointerdown\", onPointerDown);\n document.addEventListener(\"keydown\", onKeyDown);\n return () => {\n document.removeEventListener(\"pointerdown\", onPointerDown);\n document.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [open, rootRef, onClose]);\n}\n\nexport function renderFlagOrGlobe(\n code: string,\n { size = \"text-sm\", globeClass = \"text-muted-foreground\" }: { size?: string; globeClass?: string } = {},\n) {\n const flag = iso2ToFlagEmoji(code);\n return flag ? (\n <span aria-hidden className={cn(size, \"leading-none\")}>\n {flag}\n </span>\n ) : (\n <Globe className={cn(\"h-4 w-4 shrink-0\", globeClass)} />\n );\n}\n\nexport function LanguageTrigger({\n inverse,\n open,\n showFlag,\n currentLang,\n onClick,\n ariaProps,\n}: {\n inverse?: boolean;\n open: boolean;\n showFlag?: boolean;\n currentLang: LanguageOption;\n onClick: () => void;\n ariaProps: {\n haspopup: \"listbox\" | \"dialog\";\n expanded: boolean;\n controls?: string;\n };\n}) {\n return (\n <button\n type=\"button\"\n aria-haspopup={ariaProps.haspopup}\n aria-expanded={ariaProps.expanded}\n aria-controls={ariaProps.controls}\n onClick={onClick}\n className={cn(\n \"inline-flex h-9 cursor-pointer items-center gap-1.5 rounded-lg border px-3 text-[13px] font-medium transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n inverse\n ? \"border-
|
|
1
|
+
{"version":3,"file":"parts.js","sources":["../../../../src/components/LanguageSwitcher/parts.tsx"],"sourcesContent":["\"use client\";\nimport { useEffect } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { iso2ToFlagEmoji } from \"../../utils/iso2Flag\";\nimport { Check, ChevronDown, Globe } from \"../../icons\";\nimport type { LanguageOption } from \"./types\";\n\nexport function useOutsideClose(\n open: boolean,\n rootRef: { current: HTMLDivElement | null },\n onClose: () => void,\n) {\n useEffect(() => {\n if (!open) return;\n const onPointerDown = (event: PointerEvent) => {\n if (rootRef.current && !rootRef.current.contains(event.target as Node)) {\n onClose();\n }\n };\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") onClose();\n };\n document.addEventListener(\"pointerdown\", onPointerDown);\n document.addEventListener(\"keydown\", onKeyDown);\n return () => {\n document.removeEventListener(\"pointerdown\", onPointerDown);\n document.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [open, rootRef, onClose]);\n}\n\nexport function renderFlagOrGlobe(\n code: string,\n { size = \"text-sm\", globeClass = \"text-muted-foreground\" }: { size?: string; globeClass?: string } = {},\n) {\n const flag = iso2ToFlagEmoji(code);\n return flag ? (\n <span aria-hidden className={cn(size, \"leading-none\")}>\n {flag}\n </span>\n ) : (\n <Globe className={cn(\"h-4 w-4 shrink-0\", globeClass)} />\n );\n}\n\nexport function LanguageTrigger({\n inverse,\n open,\n showFlag,\n currentLang,\n onClick,\n ariaProps,\n}: {\n inverse?: boolean;\n open: boolean;\n showFlag?: boolean;\n currentLang: LanguageOption;\n onClick: () => void;\n ariaProps: {\n haspopup: \"listbox\" | \"dialog\";\n expanded: boolean;\n controls?: string;\n };\n}) {\n return (\n <button\n type=\"button\"\n aria-haspopup={ariaProps.haspopup}\n aria-expanded={ariaProps.expanded}\n aria-controls={ariaProps.controls}\n onClick={onClick}\n className={cn(\n \"inline-flex h-9 cursor-pointer items-center gap-1.5 rounded-lg border px-3 text-[13px] font-medium transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n inverse\n ? \"border-current/20 text-current hover:bg-current/10\"\n : \"border-border text-foreground hover:bg-surface\",\n )}\n >\n {showFlag ? (\n renderFlagOrGlobe(currentLang.code, { globeClass: inverse ? \"opacity-70\" : \"text-muted-foreground\" })\n ) : (\n <Globe\n className={cn(\"h-4 w-4\", inverse ? \"opacity-70\" : \"text-muted-foreground\")}\n />\n )}\n <span className=\"tracking-tight\">{currentLang.label}</span>\n <ChevronDown\n className={cn(\n \"h-3.5 w-3.5 transition-transform duration-150\",\n open && \"rotate-180\",\n inverse ? \"opacity-70\" : \"text-muted-foreground\",\n )}\n />\n </button>\n );\n}\n\nexport function LanguageOptionRow({\n lang,\n active,\n onSelect,\n variant,\n showFlag,\n}: {\n lang: LanguageOption;\n active: boolean;\n onSelect: () => void;\n variant: \"dropdown\" | \"modal\";\n showFlag?: boolean;\n}) {\n return (\n <button\n key={lang.code}\n type=\"button\"\n role=\"option\"\n aria-selected={active}\n onClick={onSelect}\n className={\n variant === \"modal\"\n ? cn(\n \"flex w-full cursor-pointer items-center justify-between gap-3 rounded-lg border px-4 py-3 text-left transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n active\n ? \"border-primary/40 bg-primary-soft text-foreground\"\n : \"border-border text-foreground hover:bg-surface-strong\",\n )\n : cn(\n \"flex w-full cursor-pointer items-center justify-between gap-3 rounded-md px-3 py-2 text-[13px] font-medium transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n active\n ? \"bg-surface-strong text-foreground\"\n : \"text-muted-foreground hover:bg-surface-strong hover:text-foreground\",\n )\n }\n >\n <span className={variant === \"modal\" ? \"flex items-center gap-3\" : \"flex items-center gap-2.5\"}>\n {showFlag ? renderFlagOrGlobe(lang.code, variant === \"modal\" ? { size: \"text-base\" } : {}) : null}\n <span className=\"text-sm font-medium\">{lang.label}</span>\n </span>\n <span className={variant === \"modal\" ? \"flex items-center gap-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground\" : undefined}>\n {variant === \"modal\" ? lang.code : null}\n {active ? <Check className={variant === \"modal\" ? \"h-4 w-4 text-primary\" : \"h-3.5 w-3.5 text-primary\"} /> : null}\n </span>\n </button>\n );\n}"],"names":["useOutsideClose","open","rootRef","onClose","useEffect","onPointerDown","event","onKeyDown","renderFlagOrGlobe","code","size","globeClass","flag","iso2ToFlagEmoji","jsx","cn","Globe","LanguageTrigger","inverse","showFlag","currentLang","onClick","ariaProps","jsxs","ChevronDown","LanguageOptionRow","lang","active","onSelect","variant","Check"],"mappings":"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"}
|