@openpkg-ts/ui 0.6.2 → 0.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.
@@ -45,7 +45,7 @@ interface APICodePanelProps {
45
45
  * Right-side sticky code panel for API documentation.
46
46
  * Features language dropdown and syntax highlighting via docskit.
47
47
  */
48
- declare function APICodePanel({ languages, examples, externalLink, title, className }: APICodePanelProps): React3.ReactNode;
48
+ declare function APICodePanel({ languages, examples, externalLink: _externalLink, title, className }: APICodePanelProps): React3.ReactNode;
49
49
  import { ReactNode as ReactNode2 } from "react";
50
50
  interface APIReferenceLayoutProps {
51
51
  /** Left column content (documentation) */
@@ -70,6 +70,8 @@ interface APIReferencePageProps {
70
70
  title: string;
71
71
  /** Optional page description */
72
72
  description?: React4.ReactNode;
73
+ /** Theme variant */
74
+ theme?: "default" | "single";
73
75
  /** API sections as children */
74
76
  children: React4.ReactNode;
75
77
  /** Custom className */
@@ -79,7 +81,7 @@ interface APIReferencePageProps {
79
81
  * Full page wrapper for API reference documentation.
80
82
  * Provides max-width container and consistent spacing.
81
83
  */
82
- declare function APIReferencePage({ title, description, children, className }: APIReferencePageProps): React4.ReactNode;
84
+ declare function APIReferencePage({ title, description, theme, children, className }: APIReferencePageProps): React4.ReactNode;
83
85
  import * as React5 from "react";
84
86
  interface APISectionProps {
85
87
  /** Section title (e.g., "Create a customer", "The Customer object") */
@@ -106,6 +108,39 @@ interface APISectionProps {
106
108
  * Docs/params on left, sticky code panel on right.
107
109
  */
108
110
  declare function APISection({ title, id, description, children, languages, examples, externalLink, codePanelTitle, className }: APISectionProps): React5.ReactNode;
111
+ import { SpecSchema } from "@openpkg-ts/spec";
112
+ import * as React6 from "react";
113
+ interface APISectionSingleProps {
114
+ /** Section title (e.g., "createCustomer") */
115
+ title: string;
116
+ /** Optional anchor id for deep linking */
117
+ id?: string;
118
+ /** Optional description */
119
+ description?: React6.ReactNode;
120
+ /** Code example */
121
+ example: {
122
+ code: string;
123
+ lang?: string;
124
+ };
125
+ /** Package name for install command */
126
+ packageName: string;
127
+ /** Parameters content (ExpandableParameter children) */
128
+ parameters?: React6.ReactNode;
129
+ /** Return type info */
130
+ returns?: {
131
+ type: string;
132
+ description?: React6.ReactNode;
133
+ };
134
+ /** Callback to resolve $ref schemas */
135
+ resolveRef?: (ref: string) => SpecSchema | undefined;
136
+ /** Custom className */
137
+ className?: string;
138
+ }
139
+ /**
140
+ * Single-column API section for MoneyKit-style docs.
141
+ * Vertical layout with code example, install command, parameters accordion, returns.
142
+ */
143
+ declare function APISectionSingle({ title, id, description, example, packageName, parameters, returns, className }: APISectionSingleProps): React6.ReactNode;
109
144
  import { ReactNode as ReactNode3 } from "react";
110
145
  interface CodeBlockProps {
111
146
  /** Code content */
@@ -142,7 +177,7 @@ interface CollapsiblePanelProps {
142
177
  * Uses CSS grid-rows transition for smooth open/close.
143
178
  */
144
179
  declare function CollapsiblePanel({ title, children, defaultExpanded, expanded: controlledExpanded, onExpandedChange, className }: CollapsiblePanelProps): ReactNode4;
145
- import * as React6 from "react";
180
+ import * as React7 from "react";
146
181
  type HttpMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
147
182
  type EndpointBadgeSize = "sm" | "md";
148
183
  declare const endpointBadgeVariants: (props?: {
@@ -151,13 +186,13 @@ declare const endpointBadgeVariants: (props?: {
151
186
  class?: string;
152
187
  className?: string;
153
188
  }) => string;
154
- interface EndpointBadgeProps extends React6.HTMLAttributes<HTMLSpanElement> {
189
+ interface EndpointBadgeProps extends React7.HTMLAttributes<HTMLSpanElement> {
155
190
  method: HttpMethod;
156
191
  size?: EndpointBadgeSize | null;
157
192
  }
158
- declare const EndpointBadge: React6.ForwardRefExoticComponent<EndpointBadgeProps & React6.RefAttributes<HTMLSpanElement>>;
159
- import * as React7 from "react";
160
- interface EndpointHeaderProps extends React7.HTMLAttributes<HTMLDivElement> {
193
+ declare const EndpointBadge: React7.ForwardRefExoticComponent<EndpointBadgeProps & React7.RefAttributes<HTMLSpanElement>>;
194
+ import * as React8 from "react";
195
+ interface EndpointHeaderProps extends React8.HTMLAttributes<HTMLDivElement> {
161
196
  /** HTTP method */
162
197
  method: HttpMethod;
163
198
  /** API path (e.g., "/v1/customers") */
@@ -165,7 +200,7 @@ interface EndpointHeaderProps extends React7.HTMLAttributes<HTMLDivElement> {
165
200
  /** Show copy button on hover */
166
201
  copyable?: boolean;
167
202
  }
168
- declare const EndpointHeader: React7.ForwardRefExoticComponent<EndpointHeaderProps & React7.RefAttributes<HTMLDivElement>>;
203
+ declare const EndpointHeader: React8.ForwardRefExoticComponent<EndpointHeaderProps & React8.RefAttributes<HTMLDivElement>>;
169
204
  import { ReactNode as ReactNode5 } from "react";
170
205
  interface EnumValue {
171
206
  /** Enum value */
@@ -238,7 +273,7 @@ interface ExampleSectionProps {
238
273
  * Integrates with SyncScrollProvider for synchronized scrolling.
239
274
  */
240
275
  declare function ExampleSection({ id, examples, dataSource, response, notes, className }: ExampleSectionProps): ReactNode7;
241
- import { SpecSchema, SpecSignatureParameter } from "@openpkg-ts/spec";
276
+ import { SpecSchema as SpecSchema2, SpecSignatureParameter } from "@openpkg-ts/spec";
242
277
  import { ReactNode as ReactNode8 } from "react";
243
278
  interface ExpandableParameterProps {
244
279
  /** Parameter from spec */
@@ -256,7 +291,7 @@ interface ExpandableParameterProps {
256
291
  /** Custom className */
257
292
  className?: string;
258
293
  /** Callback to resolve $ref schemas */
259
- resolveRef?: (ref: string) => SpecSchema | undefined;
294
+ resolveRef?: (ref: string) => SpecSchema2 | undefined;
260
295
  }
261
296
  /**
262
297
  * Compound component combining APIParameterItem + NestedParameterToggle + NestedParameterContainer.
@@ -357,22 +392,22 @@ interface APIParameterItemProps {
357
392
  * Displays name, type, required badge (orange text), description, and optional nested content.
358
393
  */
359
394
  declare function APIParameterItem({ name, parentPath, type, required, optional, description, children, anchorId, className }: APIParameterItemProps): ReactNode12;
360
- import * as React8 from "react";
395
+ import * as React9 from "react";
361
396
  interface ParameterListProps {
362
397
  /** Title above the list (e.g., "Body parameters") */
363
398
  title?: string;
364
399
  /** Number of items to show before collapsing */
365
400
  collapseAfter?: number;
366
401
  /** Child parameter items */
367
- children: React8.ReactNode;
402
+ children: React9.ReactNode;
368
403
  /** Custom className */
369
404
  className?: string;
370
405
  }
371
406
  /**
372
407
  * Container for parameter items with optional "More parameters" collapse.
373
408
  */
374
- declare function ParameterList({ title, collapseAfter, children, className }: ParameterListProps): React8.ReactNode;
375
- import * as React9 from "react";
409
+ declare function ParameterList({ title, collapseAfter, children, className }: ParameterListProps): React9.ReactNode;
410
+ import * as React10 from "react";
376
411
  interface ResponseBlockProps {
377
412
  /** Response JSON data */
378
413
  data: object;
@@ -385,41 +420,23 @@ interface ResponseBlockProps {
385
420
  * JSON response preview with syntax highlighting.
386
421
  * Displays formatted JSON with copy functionality.
387
422
  */
388
- declare function ResponseBlock({ data, title, className }: ResponseBlockProps): React9.ReactNode;
389
- import { ReactNode as ReactNode13, RefObject } from "react";
390
- interface SyncScrollContextValue {
391
- /** Currently visible section ID */
392
- activeSection: string | null;
393
- /** Register a section to track */
394
- registerSection: (id: string, ref: RefObject<HTMLElement | null>) => void;
395
- /** Unregister a section */
396
- unregisterSection: (id: string) => void;
397
- /** Scroll right column to section */
398
- scrollToSection: (id: string) => void;
399
- /** Register the right column container */
400
- registerRightColumn: (ref: RefObject<HTMLElement | null>) => void;
401
- }
402
- interface SyncScrollProviderProps {
423
+ declare function ResponseBlock({ data, title, className }: ResponseBlockProps): React10.ReactNode;
424
+ import { ReactNode as ReactNode13 } from "react";
425
+ interface SectionAccordionProps {
426
+ /** Section title (e.g., "PARAMETERS") */
427
+ title: string;
428
+ /** Section content */
403
429
  children: ReactNode13;
404
- /** Root margin for intersection observer (default: '-20% 0px -60% 0px') */
405
- rootMargin?: string;
406
- /** Scroll behavior (default: 'smooth') */
407
- scrollBehavior?: ScrollBehavior;
430
+ /** Default expanded state */
431
+ defaultExpanded?: boolean;
432
+ /** Custom className */
433
+ className?: string;
408
434
  }
409
435
  /**
410
- * Provider for synchronized scrolling between left and right columns.
411
- * Uses IntersectionObserver to track visible sections on the left,
412
- * and auto-scrolls the right column to matching examples.
413
- */
414
- declare function SyncScrollProvider({ children, rootMargin, scrollBehavior }: SyncScrollProviderProps): ReactNode13;
415
- /**
416
- * Hook to access sync scroll context.
436
+ * Collapsible section with header toggle.
437
+ * MoneyKit-style accordion for single-theme API docs.
417
438
  */
418
- declare function useSyncScroll(): SyncScrollContextValue;
419
- /**
420
- * Hook to register a section for scroll tracking.
421
- */
422
- declare function useSyncSection(id: string): RefObject<HTMLElement | null>;
439
+ declare function SectionAccordion({ title, children, defaultExpanded, className }: SectionAccordionProps): ReactNode13;
423
440
  import { AnnotationHandler } from "codehike/code";
424
441
  declare const callout: AnnotationHandler;
425
442
  import { AnnotationHandler as AnnotationHandler2, RawCode } from "codehike/code";
@@ -617,20 +634,65 @@ import { AnnotationHandler as AnnotationHandler6 } from "codehike/code";
617
634
  declare const collapse: readonly AnnotationHandler6[];
618
635
  import { AnnotationHandler as AnnotationHandler7 } from "codehike/code";
619
636
  declare const diff: AnnotationHandler7;
620
- import React10 from "react";
621
- declare function addDocsKit<T extends Record<string, React10.ElementType | string>>(components: T): T;
637
+ import React11 from "react";
638
+ declare function addDocsKit<T extends Record<string, React11.ElementType | string>>(components: T): T;
622
639
  import { AnnotationHandler as AnnotationHandler8 } from "codehike/code";
623
640
  declare const expandable: AnnotationHandler8;
641
+ import { ReactNode as ReactNode14, RefObject } from "react";
642
+ interface SyncScrollContextValue {
643
+ /** Currently visible section ID */
644
+ activeSection: string | null;
645
+ /** Register a section to track */
646
+ registerSection: (id: string, ref: RefObject<HTMLElement | null>) => void;
647
+ /** Unregister a section */
648
+ unregisterSection: (id: string) => void;
649
+ /** Scroll right column to section */
650
+ scrollToSection: (id: string) => void;
651
+ /** Register the right column container */
652
+ registerRightColumn: (ref: RefObject<HTMLElement | null>) => void;
653
+ }
654
+ interface SyncScrollProviderProps {
655
+ children: ReactNode14;
656
+ /** Root margin for intersection observer (default: '-20% 0px -60% 0px') */
657
+ rootMargin?: string;
658
+ /** Scroll behavior (default: 'smooth') */
659
+ scrollBehavior?: ScrollBehavior;
660
+ }
661
+ /**
662
+ * Provider for synchronized scrolling between left and right columns.
663
+ * Uses IntersectionObserver to track visible sections on the left,
664
+ * and auto-scrolls the right column to matching examples.
665
+ */
666
+ declare function SyncScrollProvider({ children, rootMargin, scrollBehavior }: SyncScrollProviderProps): ReactNode14;
667
+ /**
668
+ * Hook to access sync scroll context.
669
+ */
670
+ declare function useSyncScroll(): SyncScrollContextValue;
671
+ /**
672
+ * Hook to register a section for scroll tracking.
673
+ */
674
+ declare function useSyncSection(id: string): RefObject<HTMLElement | null>;
624
675
  import { AnnotationHandler as AnnotationHandler9 } from "codehike/code";
625
- import React11 from "react";
676
+ import React12 from "react";
626
677
  declare function WithHover(props: {
627
- children: React11.ReactNode;
628
- }): React11.ReactNode;
678
+ children: React12.ReactNode;
679
+ }): React12.ReactNode;
629
680
  declare function HoverLink(props: {
630
681
  href?: string;
631
- children?: React11.ReactNode;
632
- }): React11.ReactNode;
682
+ children?: React12.ReactNode;
683
+ }): React12.ReactNode;
633
684
  declare const hover: AnnotationHandler9;
685
+ interface ImportSectionProps {
686
+ /** Import statement text */
687
+ importStatement: string;
688
+ /** Custom className */
689
+ className?: string;
690
+ }
691
+ /**
692
+ * Displays a copyable import statement with one-click copy.
693
+ * Monospace styling with copy button.
694
+ */
695
+ declare function ImportSection({ importStatement, className }: ImportSectionProps): React.ReactNode;
634
696
  import { AnnotationHandler as AnnotationHandler10 } from "codehike/code";
635
697
  declare const lineNumbers2: AnnotationHandler10;
636
698
  import { AnnotationHandler as AnnotationHandler11 } from "codehike/code";
@@ -640,32 +702,38 @@ declare const mark: AnnotationHandler12;
640
702
  declare function WithNotes({ children,...rest }: {
641
703
  children: React.ReactNode;
642
704
  }): React.ReactNode;
705
+ interface RunnableSnippetProps {
706
+ /** Code to display */
707
+ code: string;
708
+ /** Language for syntax highlighting */
709
+ language?: string;
710
+ /** Optional title */
711
+ title?: string;
712
+ /** For demo: mock execution state */
713
+ mockState?: "idle" | "running" | "success" | "error";
714
+ /** For demo: mock output data */
715
+ mockOutput?: string;
716
+ /** Custom className */
717
+ className?: string;
718
+ }
719
+ /**
720
+ * Interactive code block with run button and output display.
721
+ * Currently uses mock states; will be wired to sandbox execution in Phase 2.
722
+ */
723
+ declare function RunnableSnippet({ code, language, title, mockState, mockOutput, className }: RunnableSnippetProps): React.ReactNode;
643
724
  import * as TabsPrimitive from "@radix-ui/react-tabs";
644
- import * as React12 from "react";
645
- declare function Tabs({ className,...props }: React12.ComponentProps<typeof TabsPrimitive.Root>): React12.ReactNode;
646
- declare function TabsList({ className,...props }: React12.ComponentProps<typeof TabsPrimitive.List>): React12.ReactNode;
647
- declare function TabsTrigger({ className,...props }: React12.ComponentProps<typeof TabsPrimitive.Trigger>): React12.ReactNode;
648
- declare function TabsContent({ className,...props }: React12.ComponentProps<typeof TabsPrimitive.Content>): React12.ReactNode;
725
+ import * as React13 from "react";
726
+ declare function Tabs({ className,...props }: React13.ComponentProps<typeof TabsPrimitive.Root>): React13.ReactNode;
727
+ declare function TabsList({ className,...props }: React13.ComponentProps<typeof TabsPrimitive.List>): React13.ReactNode;
728
+ declare function TabsTrigger({ className,...props }: React13.ComponentProps<typeof TabsPrimitive.Trigger>): React13.ReactNode;
729
+ declare function TabsContent({ className,...props }: React13.ComponentProps<typeof TabsPrimitive.Content>): React13.ReactNode;
649
730
  import { AnnotationHandler as AnnotationHandler13 } from "codehike/code";
650
731
  declare const tooltip: AnnotationHandler13;
651
732
  declare function TooltipLink(props: {
652
733
  href?: string;
653
734
  children?: React.ReactNode;
654
735
  }): React.ReactNode;
655
- import { AnnotationHandler as AnnotationHandler14 } from "codehike/code";
656
- declare const wordWrap2: AnnotationHandler14;
657
- interface ImportSectionProps {
658
- /** Import statement text */
659
- importStatement: string;
660
- /** Custom className */
661
- className?: string;
662
- }
663
- /**
664
- * Displays a copyable import statement with one-click copy.
665
- * Monospace styling with copy button.
666
- */
667
- declare function ImportSection({ importStatement, className }: ImportSectionProps): React.ReactNode;
668
- import * as React13 from "react";
736
+ import * as React14 from "react";
669
737
  type TypeColor = "string" | "number" | "boolean" | "null" | "undefined" | "object" | "array" | "function" | "union" | "generic" | "default";
670
738
  /**
671
739
  * Type coloring for syntax display.
@@ -676,7 +744,7 @@ declare const typeBadgeVariants: (props?: {
676
744
  class?: string;
677
745
  className?: string;
678
746
  }) => string;
679
- interface TypeBadgeProps extends React13.HTMLAttributes<HTMLSpanElement> {
747
+ interface TypeBadgeProps extends React14.HTMLAttributes<HTMLSpanElement> {
680
748
  /** Type string to display */
681
749
  type: string;
682
750
  /** Override color detection */
@@ -686,24 +754,7 @@ interface TypeBadgeProps extends React13.HTMLAttributes<HTMLSpanElement> {
686
754
  * Inline type display with syntax coloring.
687
755
  * Automatically detects type category and applies appropriate color.
688
756
  */
689
- declare const TypeBadge: React13.ForwardRefExoticComponent<TypeBadgeProps & React13.RefAttributes<HTMLSpanElement>>;
690
- interface RunnableSnippetProps {
691
- /** Code to display */
692
- code: string;
693
- /** Language for syntax highlighting */
694
- language?: string;
695
- /** Optional title */
696
- title?: string;
697
- /** For demo: mock execution state */
698
- mockState?: "idle" | "running" | "success" | "error";
699
- /** For demo: mock output data */
700
- mockOutput?: string;
701
- /** Custom className */
702
- className?: string;
703
- }
704
- /**
705
- * Interactive code block with run button and output display.
706
- * Currently uses mock states; will be wired to sandbox execution in Phase 2.
707
- */
708
- declare function RunnableSnippet({ code, language, title, mockState, mockOutput, className }: RunnableSnippetProps): React.ReactNode;
709
- export { wordWrap2 as wordWrap, useSyncSection, useSyncScroll, typeBadgeVariants, tooltip, toCodeGroup, theme, mark, link, lineNumbers2 as lineNumbers, hover, flagsToOptions, expandable, endpointBadgeVariants, diff, collapse, callout, addDocsKit, WithNotes, WithHover, TypeColor, TypeBadgeProps, TypeBadge, TooltipLink, TerminalSkeleton, Terminal, TabsTrigger, TabsList, TabsContent, Tabs, SyncScrollProviderProps, SyncScrollProvider, SyncScrollContextValue, SingleCode, RunnableSnippetProps, RunnableSnippet, ResponseBlockProps, ResponseBlock, ParameterListProps, ParameterList, PackageInstall, NestedParameterToggleProps, NestedParameterToggle, NestedParameterContainerProps, NestedParameterContainer, MultiCode, MethodSectionProps, MethodSection, LanguageSelectorProps, LanguageSelector, Language, InlineCodeSkeleton, ImportSectionProps, ImportSection, HttpMethod, HoverLink, ExpandableParameterProps, ExpandableParameter, ExampleSectionProps, CodeExample2 as ExampleSectionCodeExample, ExampleSection, ExampleChipsProps, ExampleChips, ExampleChip, EnumValuesSectionProps, EnumValuesSection, EnumValue, EndpointHeaderProps, EndpointHeader, EndpointBadgeProps, EndpointBadge, DocsKitInlineCode, DocsKitCode, DiffStats, CopyButton, CollapsiblePanelProps, CollapsiblePanel, CodeTabsSkeleton, CodeInfo, CodeIcon, CodeGroup, CodeExample, CodeBlockSkeleton, CodeBlockProps, CodeBlock, Code, ClientTerminal, ClientInlineCode, ClientDocsKitCode, ClientDiffCodeProps, ClientDiffCode, ClientCode, APISectionProps, APISection, APIReferencePageProps, APIReferencePage, APIReferenceLayoutProps, APIReferenceLayout, APIParameterSchema, APIParameterItemProps, APIParameterItem, APICodePanelProps, APICodePanel };
757
+ declare const TypeBadge: React14.ForwardRefExoticComponent<TypeBadgeProps & React14.RefAttributes<HTMLSpanElement>>;
758
+ import { AnnotationHandler as AnnotationHandler14 } from "codehike/code";
759
+ declare const wordWrap2: AnnotationHandler14;
760
+ export { wordWrap2 as wordWrap, useSyncSection, useSyncScroll, typeBadgeVariants, tooltip, toCodeGroup, theme, mark, link, lineNumbers2 as lineNumbers, hover, flagsToOptions, expandable, endpointBadgeVariants, diff, collapse, callout, addDocsKit, WithNotes, WithHover, TypeColor, TypeBadgeProps, TypeBadge, TooltipLink, TerminalSkeleton, Terminal, TabsTrigger, TabsList, TabsContent, Tabs, SyncScrollProviderProps, SyncScrollProvider, SyncScrollContextValue, SingleCode, SectionAccordionProps, SectionAccordion, RunnableSnippetProps, RunnableSnippet, ResponseBlockProps, ResponseBlock, ParameterListProps, ParameterList, PackageInstall, NestedParameterToggleProps, NestedParameterToggle, NestedParameterContainerProps, NestedParameterContainer, MultiCode, MethodSectionProps, MethodSection, LanguageSelectorProps, LanguageSelector, Language, InlineCodeSkeleton, ImportSectionProps, ImportSection, HttpMethod, HoverLink, ExpandableParameterProps, ExpandableParameter, ExampleSectionProps, CodeExample2 as ExampleSectionCodeExample, ExampleSection, ExampleChipsProps, ExampleChips, ExampleChip, EnumValuesSectionProps, EnumValuesSection, EnumValue, EndpointHeaderProps, EndpointHeader, EndpointBadgeProps, EndpointBadge, DocsKitInlineCode, DocsKitCode, DiffStats, CopyButton, CollapsiblePanelProps, CollapsiblePanel, CodeTabsSkeleton, CodeInfo, CodeIcon, CodeGroup, CodeExample, CodeBlockSkeleton, CodeBlockProps, CodeBlock, Code, ClientTerminal, ClientInlineCode, ClientDocsKitCode, ClientDiffCodeProps, ClientDiffCode, ClientCode, APISectionSingleProps, APISectionSingle, APISectionProps, APISection, APIReferencePageProps, APIReferencePage, APIReferenceLayoutProps, APIReferenceLayout, APIParameterSchema, APIParameterItemProps, APIParameterItem, APICodePanelProps, APICodePanel };