@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.
@@ -1,5 +1,5 @@
1
1
  export { AccentList, AccentListItem, AccentListProps, AccentNote, AccentNoteProps, BrandBand, Callout, CalloutProps, CalloutTone, CheckList, CheckListProps, ComparisonRow, ComparisonTable, ComparisonTableProps, DataRow, DataRowProps, DefinitionItem, DefinitionList, DefinitionListProps, EmailCapture, EmailCaptureProps, EmptyState, EmptyStateCta, EmptyStateProps, Faq, FaqItem, FaqProps, FeatureCard, FeatureCardProps, HelpHint, HelpHintProps, MarketingHeading, MarketingHeadingProps, NumberedStep, NumberedStepProps, Panel, PanelProps, Section, SectionHeader, SectionHeaderProps, SectionProps, StatCard, StatCardProps, StatGrid, StatGridProps, StatItem, StatTile, Step, StepList, StepListProps, TwoToneHeading, TwoToneHeadingProps, VerifiedChip, VerifiedChipProps } from './composites.mjs';
2
- export { AppShell, AppShellProps, EcosystemSlug, EcosystemSwitcher, EcosystemSwitcherProps, FAMILY_PROPERTIES, FamilyCategory, FamilyProperty, LayoutSubHeader, LayoutSubHeaderProps, LayoutSubHeaderTag, OcAccountMenu, OcAccountMenuBuildInfo, OcAccountMenuItem, OcAccountMenuProps, OcAccountMenuSession, OcAccountMenuView, OcAccountMenuViewProps, OcAppBar, OcAppBarProps, OcDashboardHub, OcDashboardHubProps, OcDashboardShell, OcDashboardShellProps, OcDashboardTool, OcLogoDropdown, OcLogoDropdownProps, OcPrimaryNav, OcPrimaryNavLink, OcPrimaryNavProps, SITE_STATE_LABEL, SiteState, findFamilyProperty } from './chrome.mjs';
2
+ export { AppShell, AppShellProps, EcosystemSlug, EcosystemSwitcher, EcosystemSwitcherProps, FAMILY_PROPERTIES, FamilyCategory, FamilyProperty, FooterColumn, FooterLink, LayoutSubHeader, LayoutSubHeaderProps, LayoutSubHeaderTag, OcAccountMenu, OcAccountMenuBuildInfo, OcAccountMenuItem, OcAccountMenuProps, OcAccountMenuSession, OcAccountMenuView, OcAccountMenuViewProps, OcAppBar, OcAppBarProps, OcDashboardHub, OcDashboardHubProps, OcDashboardShell, OcDashboardShellProps, OcDashboardTool, OcFamilyFooter, OcFamilyFooterBrand, OcFamilyFooterProps, OcLogoDropdown, OcLogoDropdownProps, OcPrimaryNav, OcPrimaryNavLink, OcPrimaryNavProps, SITE_STATE_LABEL, SiteState, findFamilyProperty } from './chrome.mjs';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
5
5
  import '@orangecheck/auth-client';
@@ -1,5 +1,5 @@
1
1
  export { AccentList, AccentListItem, AccentListProps, AccentNote, AccentNoteProps, BrandBand, Callout, CalloutProps, CalloutTone, CheckList, CheckListProps, ComparisonRow, ComparisonTable, ComparisonTableProps, DataRow, DataRowProps, DefinitionItem, DefinitionList, DefinitionListProps, EmailCapture, EmailCaptureProps, EmptyState, EmptyStateCta, EmptyStateProps, Faq, FaqItem, FaqProps, FeatureCard, FeatureCardProps, HelpHint, HelpHintProps, MarketingHeading, MarketingHeadingProps, NumberedStep, NumberedStepProps, Panel, PanelProps, Section, SectionHeader, SectionHeaderProps, SectionProps, StatCard, StatCardProps, StatGrid, StatGridProps, StatItem, StatTile, Step, StepList, StepListProps, TwoToneHeading, TwoToneHeadingProps, VerifiedChip, VerifiedChipProps } from './composites.js';
2
- export { AppShell, AppShellProps, EcosystemSlug, EcosystemSwitcher, EcosystemSwitcherProps, FAMILY_PROPERTIES, FamilyCategory, FamilyProperty, LayoutSubHeader, LayoutSubHeaderProps, LayoutSubHeaderTag, OcAccountMenu, OcAccountMenuBuildInfo, OcAccountMenuItem, OcAccountMenuProps, OcAccountMenuSession, OcAccountMenuView, OcAccountMenuViewProps, OcAppBar, OcAppBarProps, OcDashboardHub, OcDashboardHubProps, OcDashboardShell, OcDashboardShellProps, OcDashboardTool, OcLogoDropdown, OcLogoDropdownProps, OcPrimaryNav, OcPrimaryNavLink, OcPrimaryNavProps, SITE_STATE_LABEL, SiteState, findFamilyProperty } from './chrome.js';
2
+ export { AppShell, AppShellProps, EcosystemSlug, EcosystemSwitcher, EcosystemSwitcherProps, FAMILY_PROPERTIES, FamilyCategory, FamilyProperty, FooterColumn, FooterLink, LayoutSubHeader, LayoutSubHeaderProps, LayoutSubHeaderTag, OcAccountMenu, OcAccountMenuBuildInfo, OcAccountMenuItem, OcAccountMenuProps, OcAccountMenuSession, OcAccountMenuView, OcAccountMenuViewProps, OcAppBar, OcAppBarProps, OcDashboardHub, OcDashboardHubProps, OcDashboardShell, OcDashboardShellProps, OcDashboardTool, OcFamilyFooter, OcFamilyFooterBrand, OcFamilyFooterProps, OcLogoDropdown, OcLogoDropdownProps, OcPrimaryNav, OcPrimaryNavLink, OcPrimaryNavProps, SITE_STATE_LABEL, SiteState, findFamilyProperty } from './chrome.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
5
5
  import '@orangecheck/auth-client';
@@ -2986,6 +2986,108 @@ function OcAppBar({
2986
2986
  }
2987
2987
  );
2988
2988
  }
2989
+ var GRID = {
2990
+ 1: "md:grid-cols-[1.2fr_1fr]",
2991
+ 2: "md:grid-cols-[1.2fr_1fr_1fr]",
2992
+ 3: "md:grid-cols-[1.2fr_1fr_1fr_1fr]",
2993
+ 4: "md:grid-cols-[1.2fr_1fr_1fr_1fr_1fr]",
2994
+ 5: "md:grid-cols-[1.2fr_1fr_1fr_1fr_1fr_1fr]"
2995
+ };
2996
+ var LINK_CLS = "text-muted-foreground hover:text-foreground font-mono text-xs tracking-wide lowercase transition-colors";
2997
+ function FooterLinkItem({ link }) {
2998
+ if (link.external) {
2999
+ return /* @__PURE__ */ jsxRuntime.jsxs("a", { href: link.href, target: "_blank", rel: "noreferrer", className: LINK_CLS, children: [
3000
+ "> ",
3001
+ link.label,
3002
+ " \u2197"
3003
+ ] });
3004
+ }
3005
+ return /* @__PURE__ */ jsxRuntime.jsxs(Link6__default.default, { href: link.href, className: LINK_CLS, children: [
3006
+ "> ",
3007
+ link.label
3008
+ ] });
3009
+ }
3010
+ function FooterColumnView({ column }) {
3011
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3012
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "label-mono text-primary mb-3", children: column.label }),
3013
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-2", children: column.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(FooterLinkItem, { link }) }, `${column.label}:${link.href}`)) })
3014
+ ] });
3015
+ }
3016
+ function familyColumn(category, label) {
3017
+ return {
3018
+ label,
3019
+ links: FAMILY_PROPERTIES.filter((p) => p.category === category).map(
3020
+ (p) => ({
3021
+ href: p.origin,
3022
+ label: p.label,
3023
+ external: true
3024
+ })
3025
+ )
3026
+ };
3027
+ }
3028
+ function OcFamilyFooter({
3029
+ brand,
3030
+ columns = [],
3031
+ family,
3032
+ legalBase = "https://ochk.io",
3033
+ legalCopyright,
3034
+ legalLinks,
3035
+ builtWith,
3036
+ className
3037
+ }) {
3038
+ const familyCols = [];
3039
+ if (family === "products" || family === "both") {
3040
+ familyCols.push(familyColumn("product", "\xA7 products"));
3041
+ }
3042
+ if (family === "protocols" || family === "both") {
3043
+ familyCols.push(familyColumn("protocol", "\xA7 protocols"));
3044
+ }
3045
+ const allColumns = [...familyCols, ...columns];
3046
+ const grid = GRID[allColumns.length] ?? GRID[3];
3047
+ const year = (/* @__PURE__ */ new Date()).getFullYear();
3048
+ const legal = (path) => `${legalBase}${path}`;
3049
+ const links = legalLinks ?? [
3050
+ { href: legal("/privacy"), label: "privacy" },
3051
+ { href: legal("/terms"), label: "terms" },
3052
+ { href: legal("/security"), label: "security" },
3053
+ { href: legal("/trademark"), label: "trademarks" },
3054
+ { href: legal("/contact"), label: "contact" }
3055
+ ];
3056
+ return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: cn("border-t", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container py-10 sm:py-12 md:py-16", children: [
3057
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-8 sm:grid-cols-2 sm:gap-10", grid), children: [
3058
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3059
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3060
+ brand.mark,
3061
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-display text-sm font-bold tracking-tight", children: brand.wordmark })
3062
+ ] }),
3063
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground mt-3 max-w-[34ch] text-sm leading-relaxed", children: brand.tagline }),
3064
+ brand.meta && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: brand.meta })
3065
+ ] }),
3066
+ allColumns.map((column) => /* @__PURE__ */ jsxRuntime.jsx(FooterColumnView, { column }, column.label))
3067
+ ] }),
3068
+ /* @__PURE__ */ jsxRuntime.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: [
3069
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: legalCopyright ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3070
+ "\xA9 ",
3071
+ year,
3072
+ " orangecheck \xB7 mit + cc-by-4.0"
3073
+ ] }) }),
3074
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground/80 flex flex-wrap items-center gap-x-4 gap-y-1", children: links.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
3075
+ "a",
3076
+ {
3077
+ href: link.href,
3078
+ ...link.external ? { target: "_blank", rel: "noreferrer" } : {},
3079
+ className: "hover:text-foreground transition-colors",
3080
+ children: link.label
3081
+ },
3082
+ link.label
3083
+ )) }),
3084
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground inline-flex items-center gap-1.5", children: [
3085
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary text-[13px] leading-none", children: "\u20BF" }),
3086
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: builtWith ?? "built with bitcoin" })
3087
+ ] })
3088
+ ] })
3089
+ ] }) });
3090
+ }
2989
3091
 
2990
3092
  exports.AccentList = AccentList;
2991
3093
  exports.AccentNote = AccentNote;
@@ -3011,6 +3113,7 @@ exports.OcAccountMenuView = OcAccountMenuView;
3011
3113
  exports.OcAppBar = OcAppBar;
3012
3114
  exports.OcDashboardHub = OcDashboardHub;
3013
3115
  exports.OcDashboardShell = OcDashboardShell;
3116
+ exports.OcFamilyFooter = OcFamilyFooter;
3014
3117
  exports.OcLogoDropdown = OcLogoDropdown;
3015
3118
  exports.OcPrimaryNav = OcPrimaryNav;
3016
3119
  exports.Panel = Panel;