@orangecheck/design 0.23.0 → 0.25.0

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.
@@ -2960,7 +2960,109 @@ function OcAppBar({
2960
2960
  }
2961
2961
  );
2962
2962
  }
2963
+ var GRID = {
2964
+ 1: "md:grid-cols-[1.2fr_1fr]",
2965
+ 2: "md:grid-cols-[1.2fr_1fr_1fr]",
2966
+ 3: "md:grid-cols-[1.2fr_1fr_1fr_1fr]",
2967
+ 4: "md:grid-cols-[1.2fr_1fr_1fr_1fr_1fr]",
2968
+ 5: "md:grid-cols-[1.2fr_1fr_1fr_1fr_1fr_1fr]"
2969
+ };
2970
+ var LINK_CLS = "text-muted-foreground hover:text-foreground font-mono text-xs tracking-wide lowercase transition-colors";
2971
+ function FooterLinkItem({ link }) {
2972
+ if (link.external) {
2973
+ return /* @__PURE__ */ jsxs("a", { href: link.href, target: "_blank", rel: "noreferrer", className: LINK_CLS, children: [
2974
+ "> ",
2975
+ link.label,
2976
+ " \u2197"
2977
+ ] });
2978
+ }
2979
+ return /* @__PURE__ */ jsxs(Link6, { href: link.href, className: LINK_CLS, children: [
2980
+ "> ",
2981
+ link.label
2982
+ ] });
2983
+ }
2984
+ function FooterColumnView({ column }) {
2985
+ return /* @__PURE__ */ jsxs("div", { children: [
2986
+ /* @__PURE__ */ jsx("div", { className: "label-mono text-primary mb-3", children: column.label }),
2987
+ /* @__PURE__ */ jsx("ul", { className: "space-y-2", children: column.links.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(FooterLinkItem, { link }) }, `${column.label}:${link.href}`)) })
2988
+ ] });
2989
+ }
2990
+ function familyColumn(category, label) {
2991
+ return {
2992
+ label,
2993
+ links: FAMILY_PROPERTIES.filter((p) => p.category === category).map(
2994
+ (p) => ({
2995
+ href: p.origin,
2996
+ label: p.label,
2997
+ external: true
2998
+ })
2999
+ )
3000
+ };
3001
+ }
3002
+ function OcFamilyFooter({
3003
+ brand,
3004
+ columns = [],
3005
+ family,
3006
+ legalBase = "https://ochk.io",
3007
+ legalCopyright,
3008
+ legalLinks,
3009
+ builtWith,
3010
+ className
3011
+ }) {
3012
+ const familyCols = [];
3013
+ if (family === "products" || family === "both") {
3014
+ familyCols.push(familyColumn("product", "\xA7 products"));
3015
+ }
3016
+ if (family === "protocols" || family === "both") {
3017
+ familyCols.push(familyColumn("protocol", "\xA7 protocols"));
3018
+ }
3019
+ const allColumns = [...familyCols, ...columns];
3020
+ const grid = GRID[allColumns.length] ?? GRID[3];
3021
+ const year = (/* @__PURE__ */ new Date()).getFullYear();
3022
+ const legal = (path) => `${legalBase}${path}`;
3023
+ const links = legalLinks ?? [
3024
+ { href: legal("/privacy"), label: "privacy" },
3025
+ { href: legal("/terms"), label: "terms" },
3026
+ { href: legal("/security"), label: "security" },
3027
+ { href: legal("/trademark"), label: "trademarks" },
3028
+ { href: legal("/contact"), label: "contact" }
3029
+ ];
3030
+ return /* @__PURE__ */ jsx("footer", { className: cn("border-t", className), children: /* @__PURE__ */ jsxs("div", { className: "container py-10 sm:py-12 md:py-16", children: [
3031
+ /* @__PURE__ */ jsxs("div", { className: cn("grid gap-8 sm:grid-cols-2 sm:gap-10", grid), children: [
3032
+ /* @__PURE__ */ jsxs("div", { children: [
3033
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
3034
+ brand.mark,
3035
+ /* @__PURE__ */ jsx("span", { className: "font-display text-sm font-bold tracking-tight", children: brand.wordmark })
3036
+ ] }),
3037
+ /* @__PURE__ */ jsx("div", { className: "text-muted-foreground mt-3 max-w-[34ch] text-sm leading-relaxed", children: brand.tagline }),
3038
+ brand.meta && /* @__PURE__ */ jsx("div", { className: "mt-4", children: brand.meta })
3039
+ ] }),
3040
+ allColumns.map((column) => /* @__PURE__ */ jsx(FooterColumnView, { column }, column.label))
3041
+ ] }),
3042
+ /* @__PURE__ */ jsxs("div", { className: "mt-10 flex flex-col items-start justify-between gap-3 border-t pt-6 font-mono text-[11px] tracking-widest uppercase sm:flex-row sm:items-center", children: [
3043
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: legalCopyright ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
3044
+ "\xA9 ",
3045
+ year,
3046
+ " orangecheck \xB7 mit + cc-by-4.0"
3047
+ ] }) }),
3048
+ /* @__PURE__ */ jsx("div", { className: "text-muted-foreground/80 flex flex-wrap items-center gap-x-4 gap-y-1", children: links.map((link) => /* @__PURE__ */ jsx(
3049
+ "a",
3050
+ {
3051
+ href: link.href,
3052
+ ...link.external ? { target: "_blank", rel: "noreferrer" } : {},
3053
+ className: "hover:text-foreground transition-colors",
3054
+ children: link.label
3055
+ },
3056
+ link.label
3057
+ )) }),
3058
+ /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground inline-flex items-center gap-1.5", children: [
3059
+ /* @__PURE__ */ jsx("span", { className: "text-primary text-[13px] leading-none", children: "\u20BF" }),
3060
+ /* @__PURE__ */ jsx("span", { children: builtWith ?? "built with bitcoin" })
3061
+ ] })
3062
+ ] })
3063
+ ] }) });
3064
+ }
2963
3065
 
2964
- export { AccentList, AccentNote, AppShell, BrandBand, Callout, CheckList, ComparisonTable, DataRow, DefinitionList, EcosystemSwitcher, EmailCapture, EmptyState, FAMILY_PROPERTIES, Faq, FeatureCard, HelpHint, LayoutSubHeader, MarketingHeading, NumberedStep, OcAccountMenu, OcAccountMenuView, OcAppBar, OcDashboardHub, OcDashboardShell, OcLogoDropdown, OcPrimaryNav, Panel, SITE_STATE_LABEL, Section, SectionHeader, StatCard, StatGrid, StatTile, StepList, TwoToneHeading, VerifiedChip, findFamilyProperty };
3066
+ export { AccentList, AccentNote, AppShell, BrandBand, Callout, CheckList, ComparisonTable, DataRow, DefinitionList, EcosystemSwitcher, EmailCapture, EmptyState, FAMILY_PROPERTIES, Faq, FeatureCard, HelpHint, LayoutSubHeader, MarketingHeading, NumberedStep, OcAccountMenu, OcAccountMenuView, OcAppBar, OcDashboardHub, OcDashboardShell, OcFamilyFooter, OcLogoDropdown, OcPrimaryNav, Panel, SITE_STATE_LABEL, Section, SectionHeader, StatCard, StatGrid, StatTile, StepList, TwoToneHeading, VerifiedChip, findFamilyProperty };
2965
3067
  //# sourceMappingURL=components.mjs.map
2966
3068
  //# sourceMappingURL=components.mjs.map