@orangecheck/app-design 0.4.2 → 0.5.1

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/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { APP_ATTRIBUTE, APP_ID, appColors, appFonts } from './tokens.mjs';
2
2
  export { Badge, BadgeProps, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardNumeral, CardProps, CardTitle, Checkbox, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Field, FieldProps, Input, Kbd, Label, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, RadioGroup, RadioGroupItem, ScrollFade, ScrollFadeProps, Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetTitle, SheetTrigger, Skeleton, Spinner, StatusDot, StatusPill, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cardVariants, cn, useTimedOut } from './primitives.mjs';
3
3
  export { AppIcon, AppIconProps, Crowd, CrowdProps, HalftoneCanvas, HalftoneCanvasProps, HalftoneSphere, HalftoneSphereProps, IsoCheck, IsoCheckProps, Lockup, LockupProps, MARK_FACES, Mark, MarkProps, SPHERE_GRADIENT, Tone, portraitTone } from './brand.mjs';
4
- export { Accent, ActivityItem, ActivityList, BrowserFrame, CodeBlock, Column, Container, CopyButton, DataTable, Display, DisplayProps, DocHeader, DocLayout, EmptyLine, EmptyState, Eyebrow, FloatChip, Footnote, HashChip, KeyValueItem, KeyValueList, Lead, LoadingBlock, Notice, PackageCard, PackageItem, PageHeader, PageHero, PageHeroProps, PhoneFrame, ProgressStep, ProgressSteps, Prose, Reveal, Sats, SatsFigure, SatsProps, SatsTextOptions, ScrollStory, Section, SectionIntro, SectionProps, SplitBar, SplitSegment, StatCard, StatCardProps, StatGrid, StatGridProps, StepGrid, StepGridProps, StepItem, StepState, Ticker, TocItem, TruthRow, TruthStatus, TruthTable, UsdApprox, satsText, sectionVariants, useCopy, useInView } from './components.mjs';
4
+ export { Accent, ActivityItem, ActivityList, BrowserFrame, CodeBlock, Column, Container, CopyButton, DataTable, Display, DisplayProps, DocHeader, DocLayout, EmptyLine, EmptyState, Eyebrow, FloatChip, Footnote, HashChip, KeyValueItem, KeyValueList, Lead, LoadingBlock, Monogram, Notice, PackageCard, PackageItem, PageHeader, PageHero, PageHeroProps, PhoneFrame, ProgressStep, ProgressSteps, Prose, Reveal, Sats, SatsFigure, SatsProps, SatsTextOptions, ScrollStory, Section, SectionIntro, SectionProps, SplitBar, SplitSegment, StatCard, StatCardProps, StatGrid, StatGridProps, StepGrid, StepGridProps, StepItem, StepState, Ticker, TocItem, TruthRow, TruthStatus, TruthTable, UsdApprox, monogramGround, monogramLetter, satsText, sectionVariants, useCopy, useInView } from './components.mjs';
5
5
  export { AccountMenu, AccountMenuItem, AppShell, FooterColumn, NavItem, ShellContext, ShellNavGroup, ShellNavItem, ShellPlace, ShellSection, SiteFooter, SiteHeader, ThemeToggle, useShellPlace } from './chrome.mjs';
6
6
  export { toast } from 'sonner';
7
7
  import 'react';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { APP_ATTRIBUTE, APP_ID, appColors, appFonts } from './tokens.js';
2
2
  export { Badge, BadgeProps, Button, ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardNumeral, CardProps, CardTitle, Checkbox, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Field, FieldProps, Input, Kbd, Label, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, RadioGroup, RadioGroupItem, ScrollFade, ScrollFadeProps, Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetTitle, SheetTrigger, Skeleton, Spinner, StatusDot, StatusPill, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cardVariants, cn, useTimedOut } from './primitives.js';
3
3
  export { AppIcon, AppIconProps, Crowd, CrowdProps, HalftoneCanvas, HalftoneCanvasProps, HalftoneSphere, HalftoneSphereProps, IsoCheck, IsoCheckProps, Lockup, LockupProps, MARK_FACES, Mark, MarkProps, SPHERE_GRADIENT, Tone, portraitTone } from './brand.js';
4
- export { Accent, ActivityItem, ActivityList, BrowserFrame, CodeBlock, Column, Container, CopyButton, DataTable, Display, DisplayProps, DocHeader, DocLayout, EmptyLine, EmptyState, Eyebrow, FloatChip, Footnote, HashChip, KeyValueItem, KeyValueList, Lead, LoadingBlock, Notice, PackageCard, PackageItem, PageHeader, PageHero, PageHeroProps, PhoneFrame, ProgressStep, ProgressSteps, Prose, Reveal, Sats, SatsFigure, SatsProps, SatsTextOptions, ScrollStory, Section, SectionIntro, SectionProps, SplitBar, SplitSegment, StatCard, StatCardProps, StatGrid, StatGridProps, StepGrid, StepGridProps, StepItem, StepState, Ticker, TocItem, TruthRow, TruthStatus, TruthTable, UsdApprox, satsText, sectionVariants, useCopy, useInView } from './components.js';
4
+ export { Accent, ActivityItem, ActivityList, BrowserFrame, CodeBlock, Column, Container, CopyButton, DataTable, Display, DisplayProps, DocHeader, DocLayout, EmptyLine, EmptyState, Eyebrow, FloatChip, Footnote, HashChip, KeyValueItem, KeyValueList, Lead, LoadingBlock, Monogram, Notice, PackageCard, PackageItem, PageHeader, PageHero, PageHeroProps, PhoneFrame, ProgressStep, ProgressSteps, Prose, Reveal, Sats, SatsFigure, SatsProps, SatsTextOptions, ScrollStory, Section, SectionIntro, SectionProps, SplitBar, SplitSegment, StatCard, StatCardProps, StatGrid, StatGridProps, StepGrid, StepGridProps, StepItem, StepState, Ticker, TocItem, TruthRow, TruthStatus, TruthTable, UsdApprox, monogramGround, monogramLetter, satsText, sectionVariants, useCopy, useInView } from './components.js';
5
5
  export { AccountMenu, AccountMenuItem, AppShell, FooterColumn, NavItem, ShellContext, ShellNavGroup, ShellNavItem, ShellPlace, ShellSection, SiteFooter, SiteHeader, ThemeToggle, useShellPlace } from './chrome.js';
6
6
  export { toast } from 'sonner';
7
7
  import 'react';
package/dist/index.js CHANGED
@@ -2293,6 +2293,76 @@ function FloatChip({
2293
2293
  }
2294
2294
  );
2295
2295
  }
2296
+ var GROUNDS = [
2297
+ {
2298
+ className: "text-oca-ink",
2299
+ background: "linear-gradient(145deg, var(--oca-orange-light), var(--oca-orange-deep))",
2300
+ dot: "rgb(10 10 10 / 0.22)"
2301
+ },
2302
+ {
2303
+ className: "text-white ring-1 ring-inset ring-white/10",
2304
+ background: "linear-gradient(145deg, #2a2a2a, #0a0a0a)",
2305
+ dot: "rgb(255 255 255 / 0.16)"
2306
+ },
2307
+ {
2308
+ className: "text-oca-ink",
2309
+ background: "linear-gradient(145deg, #fff1df, var(--oca-peach))",
2310
+ dot: "rgb(234 88 11 / 0.22)"
2311
+ }
2312
+ ];
2313
+ var SIZES = {
2314
+ sm: "size-9 rounded-[0.7rem] text-[0.9375rem]",
2315
+ md: "size-11 rounded-[0.85rem] text-[1.125rem]",
2316
+ lg: "size-14 rounded-[1.05rem] text-[1.5rem]"
2317
+ };
2318
+ function monogramLetter(name) {
2319
+ const match = name.match(/[\p{L}\p{N}]/u);
2320
+ return match ? match[0].toLocaleUpperCase() : "\xB7";
2321
+ }
2322
+ function monogramGround(seed) {
2323
+ let h = 2166136261;
2324
+ for (let i = 0; i < seed.length; i++) {
2325
+ h ^= seed.charCodeAt(i);
2326
+ h = Math.imul(h, 16777619);
2327
+ }
2328
+ return (h >>> 0) % GROUNDS.length;
2329
+ }
2330
+ function Monogram({
2331
+ name,
2332
+ seed,
2333
+ size = "md",
2334
+ className,
2335
+ style
2336
+ }) {
2337
+ const ground = GROUNDS[monogramGround(seed ?? name)] ?? GROUNDS[0];
2338
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2339
+ "span",
2340
+ {
2341
+ "aria-hidden": true,
2342
+ className: cn(
2343
+ "relative inline-flex shrink-0 select-none items-center justify-center overflow-hidden font-semibold leading-none tracking-[-0.02em]",
2344
+ SIZES[size],
2345
+ ground.className,
2346
+ className
2347
+ ),
2348
+ style: { background: ground.background, ...style },
2349
+ children: [
2350
+ /* @__PURE__ */ jsxRuntime.jsx(
2351
+ "span",
2352
+ {
2353
+ className: "absolute inset-0",
2354
+ style: {
2355
+ backgroundImage: `radial-gradient(circle, ${ground.dot} 0.9px, transparent 1.2px)`,
2356
+ backgroundSize: "6px 6px",
2357
+ maskImage: "radial-gradient(90% 90% at 100% 100%, black, transparent 75%)"
2358
+ }
2359
+ }
2360
+ ),
2361
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "relative", children: monogramLetter(name) })
2362
+ ]
2363
+ }
2364
+ );
2365
+ }
2296
2366
  function NavLink({ item, className, onNavigate }) {
2297
2367
  const cls = cn(
2298
2368
  "rounded-full px-3 py-2 text-[0.9375rem] transition-colors",
@@ -2355,6 +2425,7 @@ function SiteFooter({
2355
2425
  columns = [],
2356
2426
  fineprint,
2357
2427
  meta,
2428
+ signature = true,
2358
2429
  className
2359
2430
  }) {
2360
2431
  return /* @__PURE__ */ jsxRuntime.jsxs("footer", { className: cn("border-t border-border bg-background", className), children: [
@@ -2375,6 +2446,10 @@ function SiteFooter({
2375
2446
  ))
2376
2447
  ] }, col.heading))
2377
2448
  ] }),
2449
+ signature ? /* @__PURE__ */ jsxRuntime.jsx("div", { "aria-hidden": true, className: "oca-container select-none overflow-hidden pb-6 md:pb-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-end gap-[0.18em] text-[clamp(3rem,11.5vw,10rem)] leading-[0.78] tracking-[-0.065em] [font-family:var(--oc-font-display)]", children: [
2450
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-[0.06em] inline-block w-[1.1em] shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(Mark, { className: "block h-auto w-full" }) }),
2451
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "orangecheck" })
2452
+ ] }) }) : null,
2378
2453
  meta ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "oca-container border-t border-border py-6 text-[0.875rem] text-muted-foreground", children: meta }) : null
2379
2454
  ] });
2380
2455
  }
@@ -2637,6 +2712,7 @@ exports.LoadingBlock = LoadingBlock;
2637
2712
  exports.Lockup = Lockup;
2638
2713
  exports.MARK_FACES = MARK_FACES;
2639
2714
  exports.Mark = Mark;
2715
+ exports.Monogram = Monogram;
2640
2716
  exports.Notice = Notice;
2641
2717
  exports.PackageCard = PackageCard;
2642
2718
  exports.PageHeader = PageHeader;
@@ -2703,6 +2779,8 @@ exports.badgeVariants = badgeVariants;
2703
2779
  exports.buttonVariants = buttonVariants;
2704
2780
  exports.cardVariants = cardVariants;
2705
2781
  exports.cn = cn;
2782
+ exports.monogramGround = monogramGround;
2783
+ exports.monogramLetter = monogramLetter;
2706
2784
  exports.portraitTone = portraitTone;
2707
2785
  exports.satsText = satsText;
2708
2786
  exports.sectionVariants = sectionVariants;