@orangecheck/app-design 1.6.2 → 1.7.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.
Files changed (52) hide show
  1. package/README.md +3 -3
  2. package/dist/chrome.d.mts +11 -6
  3. package/dist/chrome.d.ts +11 -6
  4. package/dist/chrome.js +152 -128
  5. package/dist/chrome.js.map +1 -1
  6. package/dist/chrome.mjs +151 -129
  7. package/dist/chrome.mjs.map +1 -1
  8. package/dist/components.d.mts +40 -5
  9. package/dist/components.d.ts +40 -5
  10. package/dist/components.js +131 -10
  11. package/dist/components.js.map +1 -1
  12. package/dist/components.mjs +128 -11
  13. package/dist/components.mjs.map +1 -1
  14. package/dist/{docs-CFE5mU_6.d.mts → docs-B9G1BNXI.d.mts} +2 -2
  15. package/dist/{docs-ByUx4t-D.d.ts → docs-BWWnm5Jv.d.ts} +2 -2
  16. package/dist/family.d.mts +1 -1
  17. package/dist/family.d.ts +1 -1
  18. package/dist/family.js +7 -1
  19. package/dist/family.js.map +1 -1
  20. package/dist/family.mjs +5 -2
  21. package/dist/family.mjs.map +1 -1
  22. package/dist/{index-DmfyPYe5.d.mts → index-Bkl49Vgy.d.mts} +4 -1
  23. package/dist/{index-DmfyPYe5.d.ts → index-Bkl49Vgy.d.ts} +4 -1
  24. package/dist/index.d.mts +7 -7
  25. package/dist/index.d.ts +7 -7
  26. package/dist/index.js +189 -43
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.mjs +181 -44
  29. package/dist/index.mjs.map +1 -1
  30. package/dist/mdx.d.mts +3 -3
  31. package/dist/mdx.d.ts +3 -3
  32. package/dist/mdx.js +3 -2
  33. package/dist/mdx.js.map +1 -1
  34. package/dist/mdx.mjs +3 -2
  35. package/dist/mdx.mjs.map +1 -1
  36. package/dist/primitives.d.mts +2 -2
  37. package/dist/primitives.d.ts +2 -2
  38. package/dist/session.d.mts +4 -4
  39. package/dist/session.d.ts +4 -4
  40. package/dist/session.js +122 -1
  41. package/dist/session.js.map +1 -1
  42. package/dist/session.mjs +122 -1
  43. package/dist/session.mjs.map +1 -1
  44. package/dist/{status-badge-BJ9Sdsx8.d.mts → status-badge-BBbCO6ZA.d.mts} +1 -1
  45. package/dist/{status-badge-Bt8x3RhO.d.ts → status-badge-CHHxtFkP.d.ts} +1 -1
  46. package/dist/styles/swagger.css +24 -1
  47. package/dist/styles/tokens.css +5 -0
  48. package/dist/{tool-shell-CQZNRUgH.d.mts → tool-shell-CnZ3NUSi.d.ts} +10 -4
  49. package/dist/{tool-shell-CRmceGrV.d.ts → tool-shell-DQFEMLLe.d.mts} +10 -4
  50. package/dist/{tools-Bg1gi2HO.d.mts → tools-CKO8IseL.d.mts} +2 -2
  51. package/dist/{tools-Bw7RhO92.d.ts → tools-CzjFPng4.d.ts} +2 -2
  52. package/package.json +2 -2
@@ -3,11 +3,11 @@ import { ReactNode, HTMLAttributes, ElementType, CSSProperties, Component, Error
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  export { D as DocHeader, a as DocLayout, P as PageHero, b as PageHeroProps, T as TocItem, u as useActiveHeading } from './hero-Dn37il-9.mjs';
6
- export { A as ApiRow, a as ApiTable, b as AppCard, c as AppCardProps, d as AppGrid, B as Breadcrumbs, C as Callout, e as CardGrid, f as CodeBlock, g as CodeBlockProps, h as CodeTab, i as CodeTabs, j as ComparisonColumn, k as ComparisonRow, l as ComparisonTable, m as Crumb, D as Diagram, n as DocsHeading, o as DocsPager, I as InstallTabs, L as LinkCard, M as MdxTable, p as MermaidLike, q as MermaidLoader, O as OnThisPage, P as PagerLink, r as ProtocolGrid, s as ProtocolHero, t as ProtocolNav, S as SpecCard, u as SpecCardProps, v as SpecFileKind, w as Step, x as Steps, V as VerifyBox, y as languageName, z as useHeadings } from './docs-CFE5mU_6.mjs';
6
+ export { A as ApiRow, a as ApiTable, b as AppCard, c as AppCardProps, d as AppGrid, B as Breadcrumbs, C as Callout, e as CardGrid, f as CodeBlock, g as CodeBlockProps, h as CodeTab, i as CodeTabs, j as ComparisonColumn, k as ComparisonRow, l as ComparisonTable, m as Crumb, D as Diagram, n as DocsHeading, o as DocsPager, I as InstallTabs, L as LinkCard, M as MdxTable, p as MermaidLike, q as MermaidLoader, O as OnThisPage, P as PagerLink, r as ProtocolGrid, s as ProtocolHero, t as ProtocolNav, S as SpecCard, u as SpecCardProps, v as SpecFileKind, w as Step, x as Steps, V as VerifyBox, y as languageName, z as useHeadings } from './docs-B9G1BNXI.mjs';
7
7
  import { ExplorerKind, Network } from './format.mjs';
8
- import { j as ProtocolSlug } from './index-DmfyPYe5.mjs';
9
- import { S as Statement } from './status-badge-BJ9Sdsx8.mjs';
10
- export { A as AnchorState, a as AnchorStatus, b as ArtifactView, B as BlockCountdown, c as BlockHeight, C as ChosenFile, D as DropZone, F as FilterChips, d as FilterOption, e as FormSection, M as Meter, S as SectionStatus, f as StateBadge, g as StateDef, h as StateTone, T as ToolGrid, i as ToolItem, j as createStateBadge } from './tools-Bg1gi2HO.mjs';
8
+ import { k as ProtocolSlug } from './index-Bkl49Vgy.mjs';
9
+ import { S as Statement } from './status-badge-BBbCO6ZA.mjs';
10
+ export { A as AnchorState, a as AnchorStatus, b as ArtifactView, B as BlockCountdown, c as BlockHeight, C as ChosenFile, D as DropZone, F as FilterChips, d as FilterOption, e as FormSection, M as Meter, S as SectionStatus, f as StateBadge, g as StateDef, h as StateTone, T as ToolGrid, i as ToolItem, j as createStateBadge } from './tools-CKO8IseL.mjs';
11
11
 
12
12
  declare function Eyebrow({ className, onInk, ...props }: HTMLAttributes<HTMLParagraphElement> & {
13
13
  onInk?: boolean;
@@ -574,6 +574,8 @@ declare function FloatChip({ icon, title, detail, delay, className, style, }: {
574
574
  }): react.JSX.Element;
575
575
 
576
576
  declare const SIZES: {
577
+ readonly '2xs': "size-7 rounded-[0.55rem] text-[0.75rem]";
578
+ readonly xs: "size-8 rounded-[0.6rem] text-[0.875rem]";
577
579
  readonly sm: "size-9 rounded-[0.7rem] text-[0.9375rem]";
578
580
  readonly md: "size-11 rounded-[0.85rem] text-[1.125rem]";
579
581
  readonly lg: "size-14 rounded-[1.05rem] text-[1.5rem]";
@@ -843,6 +845,39 @@ declare function TextLink({ href: written, children, external, className, }: {
843
845
  className?: string;
844
846
  }): react.JSX.Element;
845
847
 
848
+ declare function SectionTitle({ title, meta, description, action, as: Tag, size, tone, id, className, }: {
849
+ title: ReactNode;
850
+ meta?: ReactNode;
851
+ description?: ReactNode;
852
+ action?: ReactNode;
853
+ as?: 'h2' | 'h3';
854
+ size?: 'md' | 'sm';
855
+ tone?: 'default' | 'danger';
856
+ id?: string;
857
+ className?: string;
858
+ }): react.JSX.Element;
859
+ declare function ListCard({ as: Tag, className, ...props }: HTMLAttributes<HTMLElement> & {
860
+ as?: 'ul' | 'ol' | 'div';
861
+ }): react.JSX.Element;
862
+ declare function ChoiceGroup<T extends string>({ value, onValueChange, label, columns, size, disabled, className, children, }: {
863
+ value: T | undefined;
864
+ onValueChange: (value: T) => void;
865
+ label: string;
866
+ columns?: 1 | 2 | 3;
867
+ size?: 'md' | 'sm';
868
+ disabled?: boolean;
869
+ className?: string;
870
+ children: ReactNode;
871
+ }): react.JSX.Element;
872
+ declare function ChoiceCard({ value, title, description, icon, disabled, className, }: {
873
+ value: string;
874
+ title: ReactNode;
875
+ description?: ReactNode;
876
+ icon?: ReactNode;
877
+ disabled?: boolean;
878
+ className?: string;
879
+ }): react.JSX.Element;
880
+
846
881
  interface SearchResult {
847
882
  id: string;
848
883
  href?: string;
@@ -882,4 +917,4 @@ interface SearchDialogProps {
882
917
  declare function SearchDialog({ onQuery, open: openProp, onOpenChange, onSelect, button, hotkey, label, placeholder, idle, defaultQuery, debounceMs, browse, className, }: SearchDialogProps): react.JSX.Element;
883
918
  declare function CommandDialog({ label, placeholder, ...props }: Omit<SearchDialogProps, 'browse' | 'button'>): react.JSX.Element;
884
919
 
885
- export { Accent, type ActivityItem, ActivityList, BrowserFrame, ChartFrame, type ChartTone, type CheckState, Closing, type Column, CommandDialog, Container, CopyButton, type CopyButtonProps, CountdownRing, DataTable, Display, type DisplayProps, EmptyLine, EmptyState, type Endpoint, EndpointList, ErrorBoundary, ErrorPage, Eyebrow, FactBlock, type FactRow, FactRows, Faq, FloatChip, Footnote, HashChip, HudCard, type KeyValueItem, KeyValueList, Lead, type LegalBlock, LegalDocument, type LegalSource, type LegendItem, LoadingBlock, LockedPreview, Monogram, Notice, PackageCard, type PackageItem, PageHeader, Panel, PhoneFrame, PlanCard, type ProgressStep, ProgressSteps, ProofStrip, Prose, Reveal, Sats, SatsFigure, type SatsProps, type SatsTextOptions, ScrollStory, SearchButton, SearchDialog, type SearchDialogProps, type SearchGroup, type SearchQuery, type SearchResult, Section, SectionHeading, SectionIntro, type SectionProps, SignMessage, SourceNote, type SourceNoteProps, Sparkline, SplitBar, type SplitSegment, StatCard, type StatCardProps, StatGrid, type StatGridProps, StepGrid, type StepGridProps, type StepItem, type StepState, TextLink, Ticker, type TruthRow, type TruthStatus, TruthTable, UsdApprox, type ValueTone, type VerifyCheck, VerifyReport, chartColor, monogramGround, monogramLetter, satsText, sectionVariants, useCopy, useInView };
920
+ export { Accent, type ActivityItem, ActivityList, BrowserFrame, ChartFrame, type ChartTone, type CheckState, ChoiceCard, ChoiceGroup, Closing, type Column, CommandDialog, Container, CopyButton, type CopyButtonProps, CountdownRing, DataTable, Display, type DisplayProps, EmptyLine, EmptyState, type Endpoint, EndpointList, ErrorBoundary, ErrorPage, Eyebrow, FactBlock, type FactRow, FactRows, Faq, FloatChip, Footnote, HashChip, HudCard, type KeyValueItem, KeyValueList, Lead, type LegalBlock, LegalDocument, type LegalSource, type LegendItem, ListCard, LoadingBlock, LockedPreview, Monogram, Notice, PackageCard, type PackageItem, PageHeader, Panel, PhoneFrame, PlanCard, type ProgressStep, ProgressSteps, ProofStrip, Prose, Reveal, Sats, SatsFigure, type SatsProps, type SatsTextOptions, ScrollStory, SearchButton, SearchDialog, type SearchDialogProps, type SearchGroup, type SearchQuery, type SearchResult, Section, SectionHeading, SectionIntro, type SectionProps, SectionTitle, SignMessage, SourceNote, type SourceNoteProps, Sparkline, SplitBar, type SplitSegment, StatCard, type StatCardProps, StatGrid, type StatGridProps, StepGrid, type StepGridProps, type StepItem, type StepState, TextLink, Ticker, type TruthRow, type TruthStatus, TruthTable, UsdApprox, type ValueTone, type VerifyCheck, VerifyReport, chartColor, monogramGround, monogramLetter, satsText, sectionVariants, useCopy, useInView };
@@ -3,11 +3,11 @@ import { ReactNode, HTMLAttributes, ElementType, CSSProperties, Component, Error
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  export { D as DocHeader, a as DocLayout, P as PageHero, b as PageHeroProps, T as TocItem, u as useActiveHeading } from './hero-Dn37il-9.js';
6
- export { A as ApiRow, a as ApiTable, b as AppCard, c as AppCardProps, d as AppGrid, B as Breadcrumbs, C as Callout, e as CardGrid, f as CodeBlock, g as CodeBlockProps, h as CodeTab, i as CodeTabs, j as ComparisonColumn, k as ComparisonRow, l as ComparisonTable, m as Crumb, D as Diagram, n as DocsHeading, o as DocsPager, I as InstallTabs, L as LinkCard, M as MdxTable, p as MermaidLike, q as MermaidLoader, O as OnThisPage, P as PagerLink, r as ProtocolGrid, s as ProtocolHero, t as ProtocolNav, S as SpecCard, u as SpecCardProps, v as SpecFileKind, w as Step, x as Steps, V as VerifyBox, y as languageName, z as useHeadings } from './docs-ByUx4t-D.js';
6
+ export { A as ApiRow, a as ApiTable, b as AppCard, c as AppCardProps, d as AppGrid, B as Breadcrumbs, C as Callout, e as CardGrid, f as CodeBlock, g as CodeBlockProps, h as CodeTab, i as CodeTabs, j as ComparisonColumn, k as ComparisonRow, l as ComparisonTable, m as Crumb, D as Diagram, n as DocsHeading, o as DocsPager, I as InstallTabs, L as LinkCard, M as MdxTable, p as MermaidLike, q as MermaidLoader, O as OnThisPage, P as PagerLink, r as ProtocolGrid, s as ProtocolHero, t as ProtocolNav, S as SpecCard, u as SpecCardProps, v as SpecFileKind, w as Step, x as Steps, V as VerifyBox, y as languageName, z as useHeadings } from './docs-BWWnm5Jv.js';
7
7
  import { ExplorerKind, Network } from './format.js';
8
- import { j as ProtocolSlug } from './index-DmfyPYe5.js';
9
- import { S as Statement } from './status-badge-Bt8x3RhO.js';
10
- export { A as AnchorState, a as AnchorStatus, b as ArtifactView, B as BlockCountdown, c as BlockHeight, C as ChosenFile, D as DropZone, F as FilterChips, d as FilterOption, e as FormSection, M as Meter, S as SectionStatus, f as StateBadge, g as StateDef, h as StateTone, T as ToolGrid, i as ToolItem, j as createStateBadge } from './tools-Bw7RhO92.js';
8
+ import { k as ProtocolSlug } from './index-Bkl49Vgy.js';
9
+ import { S as Statement } from './status-badge-CHHxtFkP.js';
10
+ export { A as AnchorState, a as AnchorStatus, b as ArtifactView, B as BlockCountdown, c as BlockHeight, C as ChosenFile, D as DropZone, F as FilterChips, d as FilterOption, e as FormSection, M as Meter, S as SectionStatus, f as StateBadge, g as StateDef, h as StateTone, T as ToolGrid, i as ToolItem, j as createStateBadge } from './tools-CzjFPng4.js';
11
11
 
12
12
  declare function Eyebrow({ className, onInk, ...props }: HTMLAttributes<HTMLParagraphElement> & {
13
13
  onInk?: boolean;
@@ -574,6 +574,8 @@ declare function FloatChip({ icon, title, detail, delay, className, style, }: {
574
574
  }): react.JSX.Element;
575
575
 
576
576
  declare const SIZES: {
577
+ readonly '2xs': "size-7 rounded-[0.55rem] text-[0.75rem]";
578
+ readonly xs: "size-8 rounded-[0.6rem] text-[0.875rem]";
577
579
  readonly sm: "size-9 rounded-[0.7rem] text-[0.9375rem]";
578
580
  readonly md: "size-11 rounded-[0.85rem] text-[1.125rem]";
579
581
  readonly lg: "size-14 rounded-[1.05rem] text-[1.5rem]";
@@ -843,6 +845,39 @@ declare function TextLink({ href: written, children, external, className, }: {
843
845
  className?: string;
844
846
  }): react.JSX.Element;
845
847
 
848
+ declare function SectionTitle({ title, meta, description, action, as: Tag, size, tone, id, className, }: {
849
+ title: ReactNode;
850
+ meta?: ReactNode;
851
+ description?: ReactNode;
852
+ action?: ReactNode;
853
+ as?: 'h2' | 'h3';
854
+ size?: 'md' | 'sm';
855
+ tone?: 'default' | 'danger';
856
+ id?: string;
857
+ className?: string;
858
+ }): react.JSX.Element;
859
+ declare function ListCard({ as: Tag, className, ...props }: HTMLAttributes<HTMLElement> & {
860
+ as?: 'ul' | 'ol' | 'div';
861
+ }): react.JSX.Element;
862
+ declare function ChoiceGroup<T extends string>({ value, onValueChange, label, columns, size, disabled, className, children, }: {
863
+ value: T | undefined;
864
+ onValueChange: (value: T) => void;
865
+ label: string;
866
+ columns?: 1 | 2 | 3;
867
+ size?: 'md' | 'sm';
868
+ disabled?: boolean;
869
+ className?: string;
870
+ children: ReactNode;
871
+ }): react.JSX.Element;
872
+ declare function ChoiceCard({ value, title, description, icon, disabled, className, }: {
873
+ value: string;
874
+ title: ReactNode;
875
+ description?: ReactNode;
876
+ icon?: ReactNode;
877
+ disabled?: boolean;
878
+ className?: string;
879
+ }): react.JSX.Element;
880
+
846
881
  interface SearchResult {
847
882
  id: string;
848
883
  href?: string;
@@ -882,4 +917,4 @@ interface SearchDialogProps {
882
917
  declare function SearchDialog({ onQuery, open: openProp, onOpenChange, onSelect, button, hotkey, label, placeholder, idle, defaultQuery, debounceMs, browse, className, }: SearchDialogProps): react.JSX.Element;
883
918
  declare function CommandDialog({ label, placeholder, ...props }: Omit<SearchDialogProps, 'browse' | 'button'>): react.JSX.Element;
884
919
 
885
- export { Accent, type ActivityItem, ActivityList, BrowserFrame, ChartFrame, type ChartTone, type CheckState, Closing, type Column, CommandDialog, Container, CopyButton, type CopyButtonProps, CountdownRing, DataTable, Display, type DisplayProps, EmptyLine, EmptyState, type Endpoint, EndpointList, ErrorBoundary, ErrorPage, Eyebrow, FactBlock, type FactRow, FactRows, Faq, FloatChip, Footnote, HashChip, HudCard, type KeyValueItem, KeyValueList, Lead, type LegalBlock, LegalDocument, type LegalSource, type LegendItem, LoadingBlock, LockedPreview, Monogram, Notice, PackageCard, type PackageItem, PageHeader, Panel, PhoneFrame, PlanCard, type ProgressStep, ProgressSteps, ProofStrip, Prose, Reveal, Sats, SatsFigure, type SatsProps, type SatsTextOptions, ScrollStory, SearchButton, SearchDialog, type SearchDialogProps, type SearchGroup, type SearchQuery, type SearchResult, Section, SectionHeading, SectionIntro, type SectionProps, SignMessage, SourceNote, type SourceNoteProps, Sparkline, SplitBar, type SplitSegment, StatCard, type StatCardProps, StatGrid, type StatGridProps, StepGrid, type StepGridProps, type StepItem, type StepState, TextLink, Ticker, type TruthRow, type TruthStatus, TruthTable, UsdApprox, type ValueTone, type VerifyCheck, VerifyReport, chartColor, monogramGround, monogramLetter, satsText, sectionVariants, useCopy, useInView };
920
+ export { Accent, type ActivityItem, ActivityList, BrowserFrame, ChartFrame, type ChartTone, type CheckState, ChoiceCard, ChoiceGroup, Closing, type Column, CommandDialog, Container, CopyButton, type CopyButtonProps, CountdownRing, DataTable, Display, type DisplayProps, EmptyLine, EmptyState, type Endpoint, EndpointList, ErrorBoundary, ErrorPage, Eyebrow, FactBlock, type FactRow, FactRows, Faq, FloatChip, Footnote, HashChip, HudCard, type KeyValueItem, KeyValueList, Lead, type LegalBlock, LegalDocument, type LegalSource, type LegendItem, ListCard, LoadingBlock, LockedPreview, Monogram, Notice, PackageCard, type PackageItem, PageHeader, Panel, PhoneFrame, PlanCard, type ProgressStep, ProgressSteps, ProofStrip, Prose, Reveal, Sats, SatsFigure, type SatsProps, type SatsTextOptions, ScrollStory, SearchButton, SearchDialog, type SearchDialogProps, type SearchGroup, type SearchQuery, type SearchResult, Section, SectionHeading, SectionIntro, type SectionProps, SectionTitle, SignMessage, SourceNote, type SourceNoteProps, Sparkline, SplitBar, type SplitSegment, StatCard, type StatCardProps, StatGrid, type StatGridProps, StepGrid, type StepGridProps, type StepItem, type StepState, TextLink, Ticker, type TruthRow, type TruthStatus, TruthTable, UsdApprox, type ValueTone, type VerifyCheck, VerifyReport, chartColor, monogramGround, monogramLetter, satsText, sectionVariants, useCopy, useInView };
@@ -570,7 +570,7 @@ var JS_TAG = /<\/?(?=[A-Za-z])/y;
570
570
  var JS_TAG_NAME = /[A-Za-z][\w$.:-]*/y;
571
571
  var JS_PUNCT = /=>|\.\.\.|[{}()[\];,.<>=+\-*/%!?:&|^~#]/y;
572
572
  var JSX_BEFORE = /* @__PURE__ */ new Set(["(", ",", "=", "?", ":", "{", "[", ";", ">", "&&", "||", "=>", "return"]);
573
- function scanJs(src, emit, jsx38) {
573
+ function scanJs(src, emit, jsx39) {
574
574
  let i = 0;
575
575
  let prev = "";
576
576
  let tagDepth = 0;
@@ -596,7 +596,7 @@ function scanJs(src, emit, jsx38) {
596
596
  sig('"');
597
597
  continue;
598
598
  }
599
- if (jsx38 && tagDepth === 0 && (m = at(JS_TAG, src, i)) && (prev === "" || JSX_BEFORE.has(prev))) {
599
+ if (jsx39 && tagDepth === 0 && (m = at(JS_TAG, src, i)) && (prev === "" || JSX_BEFORE.has(prev))) {
600
600
  const name = at(JS_TAG_NAME, src, i + m.length);
601
601
  if (name) {
602
602
  emit(m);
@@ -608,7 +608,7 @@ function scanJs(src, emit, jsx38) {
608
608
  continue;
609
609
  }
610
610
  }
611
- if (jsx38 && tagDepth > 0 && braceInTag === 0) {
611
+ if (jsx39 && tagDepth > 0 && braceInTag === 0) {
612
612
  if (src.startsWith("/>", i) || src[i] === ">") {
613
613
  const close = src[i] === ">" ? ">" : "/>";
614
614
  emit(close);
@@ -628,7 +628,7 @@ function scanJs(src, emit, jsx38) {
628
628
  continue;
629
629
  }
630
630
  if (src[i] === "{") braceInTag = 1;
631
- } else if (jsx38 && tagDepth > 0 && braceInTag > 0) {
631
+ } else if (jsx39 && tagDepth > 0 && braceInTag > 0) {
632
632
  if (src[i] === "{") braceInTag++;
633
633
  else if (src[i] === "}") braceInTag--;
634
634
  }
@@ -1824,7 +1824,7 @@ function Well({
1824
1824
  ] });
1825
1825
  }
1826
1826
  var FRAME = "overflow-hidden rounded-[1.25rem] border border-[var(--oca-code-line)] bg-[var(--oca-code-surface)]";
1827
- var COPY_ON_INK = "text-oca-ink-subtle hover:bg-white/10 hover:text-white";
1827
+ var COPY_ON_INK = "text-oca-ink-subtle hover:bg-white/10 hover:text-white max-md:size-11";
1828
1828
  function CodeBlock({
1829
1829
  code,
1830
1830
  html,
@@ -2252,6 +2252,9 @@ var GROUNDS = [
2252
2252
  }
2253
2253
  ];
2254
2254
  var SIZES = {
2255
+ // A list row's avatar, a facepile.
2256
+ "2xs": "size-7 rounded-[0.55rem] text-[0.75rem]",
2257
+ xs: "size-8 rounded-[0.6rem] text-[0.875rem]",
2255
2258
  sm: "size-9 rounded-[0.7rem] text-[0.9375rem]",
2256
2259
  md: "size-11 rounded-[0.85rem] text-[1.125rem]",
2257
2260
  lg: "size-14 rounded-[1.05rem] text-[1.5rem]"
@@ -2377,6 +2380,7 @@ function MarkOutline({ className }) {
2377
2380
  // src/family/index.ts
2378
2381
  var OCHK_IO = "https://ochk.io";
2379
2382
  var DOCS_HREF = `${OCHK_IO}/docs`;
2383
+ var OCHK_APP = "https://ochk.app";
2380
2384
  function protocol(slug, verb, line, kinds) {
2381
2385
  return {
2382
2386
  slug,
@@ -2413,7 +2417,7 @@ var FAMILY = [
2413
2417
  {
2414
2418
  slug: "me",
2415
2419
  label: "ochk.app",
2416
- href: "https://ochk.app",
2420
+ href: OCHK_APP,
2417
2421
  group: "orangecheck",
2418
2422
  line: "One account, with Bitcoin behind it.",
2419
2423
  status: "testing"
@@ -2496,6 +2500,10 @@ function protocolSite(slug) {
2496
2500
  { href: `${OCHK_IO}/trust`, label: "Trust" },
2497
2501
  { href: `${OCHK_IO}/about`, label: "About" }
2498
2502
  ];
2503
+ var InColumnContext = sharedContext("in-column", false);
2504
+ function useInColumn() {
2505
+ return react.useContext(InColumnContext);
2506
+ }
2499
2507
  var SiteHomeContext = sharedContext("site-home", void 0);
2500
2508
  function useSiteHome() {
2501
2509
  return react.useContext(SiteHomeContext);
@@ -2523,10 +2531,11 @@ function ErrorPage({
2523
2531
  className
2524
2532
  }) {
2525
2533
  const shellHome = useSiteHome();
2534
+ const inColumn = useInColumn();
2526
2535
  const homeHref = home ?? (protocol2 ? protocolSite(protocol2).pageHref : shellHome ?? OCHK_IO);
2527
2536
  const words = WORDS[code] ?? (code >= 500 ? WORDS[500] : WORDS[404]);
2528
2537
  const server = code >= 500;
2529
- return /* @__PURE__ */ jsxRuntime.jsx(Section, { space: "none", className: cn("flex min-h-[min(40rem,72dvh)] items-center py-16 md:py-24", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-12 md:grid-cols-12", children: [
2538
+ return /* @__PURE__ */ jsxRuntime.jsx(Section, { space: "none", contained: !inColumn, className: cn("flex min-h-[min(40rem,72dvh)] items-center py-16 md:py-24", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-12 md:grid-cols-12", children: [
2530
2539
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex max-w-[40rem] flex-col items-start gap-6 md:col-span-7", children: [
2531
2540
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "oca-eyebrow oca-enter", children: [
2532
2541
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "oca-tabular", children: code }),
@@ -4415,6 +4424,112 @@ function SignMessage({
4415
4424
  )
4416
4425
  ] });
4417
4426
  }
4427
+ function SectionTitle({
4428
+ title,
4429
+ meta,
4430
+ description,
4431
+ action,
4432
+ as: Tag = "h2",
4433
+ size = "md",
4434
+ tone = "default",
4435
+ id,
4436
+ className
4437
+ }) {
4438
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-wrap items-end justify-between gap-x-4 gap-y-3", className), children: [
4439
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 max-w-[40rem] flex-[1_1_16rem] flex-col gap-1", children: [
4440
+ /* @__PURE__ */ jsxRuntime.jsxs(
4441
+ Tag,
4442
+ {
4443
+ id,
4444
+ className: cn(
4445
+ "flex scroll-mt-24 flex-wrap items-baseline gap-x-3",
4446
+ size === "sm" ? "oca-title-sm" : "oca-title",
4447
+ tone === "danger" && "text-destructive"
4448
+ ),
4449
+ children: [
4450
+ title,
4451
+ meta ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "oca-tabular text-[0.875rem] font-normal tracking-normal text-muted-foreground", children: meta }) : null
4452
+ ]
4453
+ }
4454
+ ),
4455
+ description ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[0.9375rem] leading-relaxed text-muted-foreground", children: description }) : null
4456
+ ] }),
4457
+ action ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 flex-wrap items-center gap-2", children: action }) : null
4458
+ ] });
4459
+ }
4460
+ function ListCard({
4461
+ as: Tag = "ul",
4462
+ className,
4463
+ ...props
4464
+ }) {
4465
+ return /* @__PURE__ */ jsxRuntime.jsx(Tag, { className: cn("divide-y divide-border overflow-clip rounded-[1.25rem] border border-border bg-card", className), ...props });
4466
+ }
4467
+ var ChoiceSize = react.createContext("md");
4468
+ var COLUMNS = { 1: "", 2: "sm:grid-cols-2", 3: "sm:grid-cols-2 lg:grid-cols-3" };
4469
+ function ChoiceGroup({
4470
+ value,
4471
+ onValueChange,
4472
+ label,
4473
+ columns = 1,
4474
+ size = "md",
4475
+ disabled,
4476
+ className,
4477
+ children
4478
+ }) {
4479
+ return /* @__PURE__ */ jsxRuntime.jsx(ChoiceSize.Provider, { value: size, children: /* @__PURE__ */ jsxRuntime.jsx(
4480
+ RadioGroupPrimitive__namespace.Root,
4481
+ {
4482
+ value: value ?? "",
4483
+ onValueChange: (v) => onValueChange(v),
4484
+ "aria-label": label,
4485
+ disabled,
4486
+ className: cn("grid", size === "sm" ? "gap-1.5" : "gap-3", COLUMNS[columns], className),
4487
+ children
4488
+ }
4489
+ ) });
4490
+ }
4491
+ function ChoiceCard({
4492
+ value,
4493
+ title,
4494
+ description,
4495
+ icon,
4496
+ disabled,
4497
+ className
4498
+ }) {
4499
+ const sm = react.useContext(ChoiceSize) === "sm";
4500
+ return /* @__PURE__ */ jsxRuntime.jsxs(
4501
+ RadioGroupPrimitive__namespace.Item,
4502
+ {
4503
+ value,
4504
+ disabled,
4505
+ className: cn(
4506
+ "group flex w-full min-w-0 items-start gap-3 border text-left outline-none transition-colors",
4507
+ "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
4508
+ "border-border bg-card data-[state=checked]:border-foreground data-[state=checked]:bg-accent data-[state=unchecked]:hover:border-oca-hairline-strong",
4509
+ "disabled:cursor-not-allowed disabled:opacity-50",
4510
+ sm ? "min-h-11 rounded-xl px-3.5 py-2.5" : "rounded-[1.25rem] p-5",
4511
+ className
4512
+ ),
4513
+ children: [
4514
+ icon ? /* @__PURE__ */ jsxRuntime.jsx(
4515
+ "span",
4516
+ {
4517
+ "aria-hidden": true,
4518
+ className: cn(
4519
+ "shrink-0 text-muted-foreground group-data-[state=checked]:text-oca-accent-ink [&_svg]:size-full",
4520
+ sm ? "mt-0.5 size-4" : "size-6"
4521
+ ),
4522
+ children: icon
4523
+ }
4524
+ ) : null,
4525
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-col gap-1", children: [
4526
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: sm ? "text-[0.9375rem] font-medium" : "oca-title-sm", children: title }),
4527
+ description ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[0.875rem] leading-relaxed text-muted-foreground", children: description }) : null
4528
+ ] })
4529
+ ]
4530
+ }
4531
+ );
4532
+ }
4418
4533
  function useMacKeys() {
4419
4534
  const [mac, setMac] = react.useState(true);
4420
4535
  react.useEffect(() => {
@@ -4690,7 +4805,7 @@ function download(content, filename, mime) {
4690
4805
  a.remove();
4691
4806
  setTimeout(() => URL.revokeObjectURL(url), 0);
4692
4807
  }
4693
- var BAR_BUTTON = "inline-flex h-7 items-center gap-1.5 rounded-full px-2.5 text-[0.75rem] text-oca-ink-subtle transition-colors hover:bg-white/10 hover:text-white";
4808
+ var BAR_BUTTON = "inline-flex h-7 items-center gap-1.5 rounded-full px-2.5 text-[0.75rem] text-oca-ink-subtle transition-colors hover:bg-white/10 hover:text-white max-md:h-11 max-md:min-w-11 max-md:justify-center max-md:px-3";
4694
4809
  function ArtifactView({
4695
4810
  content,
4696
4811
  title,
@@ -4720,7 +4835,8 @@ function ArtifactView({
4720
4835
  "aria-pressed": view === v,
4721
4836
  onClick: () => setView(v),
4722
4837
  className: cn(
4723
- "h-7 rounded-full px-2.5 text-[0.75rem] transition-colors",
4838
+ // The pill stays 28px; its target reaches the bar's 44.
4839
+ "relative h-7 rounded-full px-2.5 text-[0.75rem] transition-colors before:absolute before:inset-x-0 before:top-1/2 before:h-11 before:-translate-y-1/2",
4724
4840
  view === v ? "bg-white/[0.12] text-white" : "text-oca-ink-subtle hover:text-white"
4725
4841
  ),
4726
4842
  children: v === "formatted" ? "Formatted" : "Raw"
@@ -5190,7 +5306,8 @@ function FilterChips({
5190
5306
  onClick: () => press(o.value),
5191
5307
  className: cn(
5192
5308
  "inline-flex shrink-0 items-center gap-1.5 rounded-full border px-3.5 text-[0.875rem] transition-colors",
5193
- tight ? "h-8" : "h-9",
5309
+ // A thumb's 44px on a phone.
5310
+ tight ? "h-11 md:h-8" : "h-11 md:h-9",
5194
5311
  on ? "border-foreground bg-foreground text-background" : "border-border bg-card text-muted-foreground hover:border-oca-hairline-strong hover:text-foreground"
5195
5312
  ),
5196
5313
  children: [
@@ -5270,6 +5387,8 @@ exports.BrowserFrame = BrowserFrame;
5270
5387
  exports.Callout = Callout;
5271
5388
  exports.CardGrid = CardGrid;
5272
5389
  exports.ChartFrame = ChartFrame;
5390
+ exports.ChoiceCard = ChoiceCard;
5391
+ exports.ChoiceGroup = ChoiceGroup;
5273
5392
  exports.Closing = Closing;
5274
5393
  exports.CodeBlock = CodeBlock;
5275
5394
  exports.CodeTabs = CodeTabs;
@@ -5306,6 +5425,7 @@ exports.KeyValueList = KeyValueList;
5306
5425
  exports.Lead = Lead;
5307
5426
  exports.LegalDocument = LegalDocument;
5308
5427
  exports.LinkCard = LinkCard;
5428
+ exports.ListCard = ListCard;
5309
5429
  exports.LoadingBlock = LoadingBlock;
5310
5430
  exports.LockedPreview = LockedPreview;
5311
5431
  exports.MdxTable = MdxTable;
@@ -5334,6 +5454,7 @@ exports.SearchDialog = SearchDialog;
5334
5454
  exports.Section = Section;
5335
5455
  exports.SectionHeading = SectionHeading;
5336
5456
  exports.SectionIntro = SectionIntro;
5457
+ exports.SectionTitle = SectionTitle;
5337
5458
  exports.SignMessage = SignMessage;
5338
5459
  exports.SourceNote = SourceNote;
5339
5460
  exports.Sparkline = Sparkline;