@openpkg-ts/react 0.2.4 → 0.3.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.
package/dist/styled.d.ts CHANGED
@@ -246,12 +246,543 @@ interface TypeTableProps {
246
246
  * ```
247
247
  */
248
248
  declare function TypeTable({ items, showRequired, className, renderRow }: TypeTableProps): React.ReactNode;
249
+ type ExportKind = "function" | "type" | "variable" | "class" | "interface" | "enum";
249
250
  import { CodeTab, CodeTabs, CodeTabsProps, ImportSection, ImportSectionProps } from "@openpkg-ts/ui/api";
250
- import { DocsInstance } from "@openpkg-ts/sdk";
251
- import { OpenPkg as OpenPkg2 } from "@openpkg-ts/spec";
251
+ import { ReactNode as ReactNode9 } from "react";
252
+ interface APIReferenceLayoutProps {
253
+ /** Left column content (documentation) */
254
+ children: ReactNode9;
255
+ /** Right column content (code examples) */
256
+ examples: ReactNode9;
257
+ /** Custom className */
258
+ className?: string;
259
+ /** Left column width on desktop (default: 58%) */
260
+ leftWidth?: string;
261
+ /** Right column width on desktop (default: 42%) */
262
+ rightWidth?: string;
263
+ }
264
+ /**
265
+ * Two-column layout for API reference with sticky right panel.
266
+ * Responsive: stacks vertically on mobile, two-column on desktop.
267
+ *
268
+ * @example
269
+ * ```tsx
270
+ * <APIReferenceLayout
271
+ * examples={<CodeExamples />}
272
+ * >
273
+ * <MethodSection ... />
274
+ * </APIReferenceLayout>
275
+ * ```
276
+ */
277
+ declare function APIReferenceLayout({ children, examples, className, leftWidth, rightWidth }: APIReferenceLayoutProps): ReactNode9;
278
+ import { ReactNode as ReactNode10, RefObject } from "react";
279
+ interface SyncScrollContextValue {
280
+ /** Currently visible section ID */
281
+ activeSection: string | null;
282
+ /** Register a section to track */
283
+ registerSection: (id: string, ref: RefObject<HTMLElement | null>) => void;
284
+ /** Unregister a section */
285
+ unregisterSection: (id: string) => void;
286
+ /** Scroll right column to section */
287
+ scrollToSection: (id: string) => void;
288
+ /** Register the right column container */
289
+ registerRightColumn: (ref: RefObject<HTMLElement | null>) => void;
290
+ }
291
+ interface SyncScrollProviderProps {
292
+ children: ReactNode10;
293
+ /** Root margin for intersection observer (default: '-20% 0px -60% 0px') */
294
+ rootMargin?: string;
295
+ /** Scroll behavior (default: 'smooth') */
296
+ scrollBehavior?: ScrollBehavior;
297
+ }
298
+ /**
299
+ * Provider for synchronized scrolling between left and right columns.
300
+ * Uses IntersectionObserver to track visible sections on the left,
301
+ * and auto-scrolls the right column to matching examples.
302
+ *
303
+ * @example
304
+ * ```tsx
305
+ * <SyncScrollProvider>
306
+ * <APIReferenceLayout
307
+ * examples={
308
+ * <>
309
+ * <ExampleSection id="select" ... />
310
+ * <ExampleSection id="insert" ... />
311
+ * </>
312
+ * }
313
+ * >
314
+ * <MethodSection id="select" ... />
315
+ * <MethodSection id="insert" ... />
316
+ * </APIReferenceLayout>
317
+ * </SyncScrollProvider>
318
+ * ```
319
+ */
320
+ declare function SyncScrollProvider({ children, rootMargin, scrollBehavior }: SyncScrollProviderProps): ReactNode10;
321
+ /**
322
+ * Hook to access sync scroll context.
323
+ */
324
+ declare function useSyncScroll(): SyncScrollContextValue;
325
+ /**
326
+ * Hook to register a section for scroll tracking.
327
+ */
328
+ declare function useSyncSection(id: string): RefObject<HTMLElement | null>;
329
+ import { ReactNode as ReactNode11 } from "react";
330
+ interface MethodSectionProps {
331
+ /** Section ID for scroll sync */
332
+ id: string;
333
+ /** Method title (e.g., "Fetch data") */
334
+ title: string;
335
+ /** Method signature (e.g., "select(columns?, options?)") */
336
+ signature?: string;
337
+ /** Method description */
338
+ description?: ReactNode11;
339
+ /** Bullet list notes */
340
+ notes?: string[];
341
+ /** Parameter content */
342
+ children?: ReactNode11;
343
+ /** Custom className */
344
+ className?: string;
345
+ }
346
+ /**
347
+ * Container for a single API method in the documentation.
348
+ * Renders title, signature, description, notes list, and parameters.
349
+ *
350
+ * @example
351
+ * ```tsx
352
+ * <MethodSection
353
+ * id="select"
354
+ * title="Fetch data"
355
+ * signature="select(columns?, options?)"
356
+ * description="Performs a SELECT query..."
357
+ * notes={['By default, returns all columns', 'Use .single() for one row']}
358
+ * >
359
+ * <ParameterItem ... />
360
+ * </MethodSection>
361
+ * ```
362
+ */
363
+ declare function MethodSection({ id, title, signature, description, notes, children, className }: MethodSectionProps): ReactNode11;
364
+ import { ReactNode as ReactNode12 } from "react";
365
+ interface APIParameterItemProps {
366
+ /** Parameter name */
367
+ name: string;
368
+ /** Parent path prefix (e.g., "options." for nested) */
369
+ parentPath?: string;
370
+ /** Parameter type */
371
+ type: string;
372
+ /** Required parameter */
373
+ required?: boolean;
374
+ /** Optional parameter (explicit) */
375
+ optional?: boolean;
376
+ /** Has expandable children */
377
+ expandable?: boolean;
378
+ /** Description */
379
+ description?: ReactNode12;
380
+ /** Nested content (params or enum) */
381
+ children?: ReactNode12;
382
+ /** Anchor ID for deep linking */
383
+ anchorId?: string;
384
+ /** Show anchor link on hover */
385
+ showAnchor?: boolean;
386
+ /** Custom className */
387
+ className?: string;
388
+ }
389
+ /**
390
+ * Single parameter row in Stripe-style documentation.
391
+ * Displays name, type, badges, description, and optional nested content.
392
+ *
393
+ * @example
394
+ * ```tsx
395
+ * <APIParameterItem
396
+ * name="email"
397
+ * type="string"
398
+ * required
399
+ * description="User's email address"
400
+ * />
401
+ * ```
402
+ */
403
+ declare function APIParameterItem({ name, parentPath, type, required, optional, expandable, description, children, anchorId, showAnchor, className }: APIParameterItemProps): ReactNode12;
404
+ import { ReactNode as ReactNode13 } from "react";
405
+ interface NestedParameterToggleProps {
406
+ /** Toggle state */
407
+ expanded: boolean;
408
+ /** Toggle callback */
409
+ onToggle: () => void;
410
+ /** Optional child count to display */
411
+ count?: number;
412
+ /** Custom className */
413
+ className?: string;
414
+ }
415
+ /**
416
+ * "Show/Hide child parameters" toggle button (Stripe-style).
417
+ * Plus icon rotates 45deg when expanded.
418
+ * When expanded, bottom border-radius removed to connect with container.
419
+ *
420
+ * @example
421
+ * ```tsx
422
+ * <NestedParameterToggle
423
+ * expanded={isOpen}
424
+ * onToggle={() => setIsOpen(!isOpen)}
425
+ * count={3}
426
+ * />
427
+ * ```
428
+ */
429
+ declare function NestedParameterToggle({ expanded, onToggle, count, className }: NestedParameterToggleProps): ReactNode13;
430
+ import { ReactNode as ReactNode14 } from "react";
431
+ interface NestedParameterContainerProps {
432
+ /** Nested parameter content */
433
+ children: ReactNode14;
434
+ /** Nesting depth level (0 = first level) */
435
+ level?: number;
436
+ /** Custom className */
437
+ className?: string;
438
+ }
439
+ /**
440
+ * Bordered container for nested child parameters (Stripe-style).
441
+ * Connects to NestedParameterToggle above (no top border).
442
+ * Children separated by border-bottom only.
443
+ *
444
+ * @example
445
+ * ```tsx
446
+ * <NestedParameterToggle expanded={isOpen} onToggle={toggle} />
447
+ * {isOpen && (
448
+ * <NestedParameterContainer>
449
+ * <APIParameterItem name="city" type="string" />
450
+ * <APIParameterItem name="country" type="string" />
451
+ * </NestedParameterContainer>
452
+ * )}
453
+ * ```
454
+ */
455
+ declare function NestedParameterContainer({ children, level, className }: NestedParameterContainerProps): ReactNode14;
456
+ import { SpecSignatureParameter as SpecSignatureParameter6 } from "@openpkg-ts/spec";
457
+ import { ReactNode as ReactNode15 } from "react";
458
+ interface ExpandableParameterProps {
459
+ /** Parameter from spec */
460
+ parameter: SpecSignatureParameter6;
461
+ /** Parent path prefix */
462
+ parentPath?: string;
463
+ /** Default expanded state */
464
+ defaultExpanded?: boolean;
465
+ /** Controlled expanded state */
466
+ expanded?: boolean;
467
+ /** Controlled onChange */
468
+ onExpandedChange?: (expanded: boolean) => void;
469
+ /** Nesting depth */
470
+ level?: number;
471
+ /** Custom className */
472
+ className?: string;
473
+ }
474
+ /**
475
+ * Compound component combining APIParameterItem + NestedParameterToggle + NestedParameterContainer.
476
+ * Automatically extracts nested object properties and enum values from spec schema.
477
+ *
478
+ * @example
479
+ * ```tsx
480
+ * <ExpandableParameter parameter={addressParam} />
481
+ * ```
482
+ */
483
+ declare function ExpandableParameter({ parameter, parentPath, defaultExpanded, expanded: controlledExpanded, onExpandedChange, level, className }: ExpandableParameterProps): ReactNode15;
484
+ import { ReactNode as ReactNode16 } from "react";
485
+ interface EnumValue {
486
+ /** Enum value */
487
+ value: string;
488
+ /** Optional description */
489
+ description?: string;
490
+ }
491
+ interface EnumValuesSectionProps {
492
+ /** Enum values to display */
493
+ values: EnumValue[];
494
+ /** Section header (default: "Possible values") */
495
+ header?: string;
496
+ /** Custom className */
497
+ className?: string;
498
+ }
499
+ /**
500
+ * Enum values section showing possible values with optional descriptions.
501
+ * Used inside parameter items to show enum options.
502
+ *
503
+ * @example
504
+ * ```tsx
505
+ * <EnumValuesSection
506
+ * values={[
507
+ * { value: 'light', description: 'Light theme' },
508
+ * { value: 'dark', description: 'Dark theme' },
509
+ * { value: 'system', description: 'Follow system preference' },
510
+ * ]}
511
+ * />
512
+ * ```
513
+ */
514
+ declare function EnumValuesSection({ values, header, className }: EnumValuesSectionProps): ReactNode16;
515
+ import { ReactNode as ReactNode17 } from "react";
516
+ interface ExampleChip {
517
+ /** Unique identifier */
518
+ id: string;
519
+ /** Display label */
520
+ label: string;
521
+ }
522
+ interface ExampleChipsProps {
523
+ /** Available examples */
524
+ examples: ExampleChip[];
525
+ /** Currently active example ID */
526
+ activeId: string;
527
+ /** Selection callback */
528
+ onSelect: (id: string) => void;
529
+ /** Custom className */
530
+ className?: string;
531
+ }
532
+ /**
533
+ * Tab-like chips for switching between code examples.
534
+ * Used in the right column to select different example variations.
535
+ *
536
+ * @example
537
+ * ```tsx
538
+ * <ExampleChips
539
+ * examples={[
540
+ * { id: 'basic', label: 'Basic' },
541
+ * { id: 'with-filter', label: 'With filter' },
542
+ * ]}
543
+ * activeId="basic"
544
+ * onSelect={setActiveExample}
545
+ * />
546
+ * ```
547
+ */
548
+ declare function ExampleChips({ examples, activeId, onSelect, className }: ExampleChipsProps): ReactNode17;
549
+ import { ReactNode as ReactNode18 } from "react";
550
+ interface CodePanelProps {
551
+ /** Code content */
552
+ code: string;
553
+ /** Language for syntax highlighting */
554
+ language?: string;
555
+ /** Show line numbers */
556
+ showLineNumbers?: boolean;
557
+ /** Custom className */
558
+ className?: string;
559
+ }
560
+ /**
561
+ * Syntax-highlighted code block with Rose Pine color scheme.
562
+ * Lightweight client-side highlighting using regex patterns.
563
+ *
564
+ * @example
565
+ * ```tsx
566
+ * <CodePanel
567
+ * code={`const user = await createUser({ name: 'Jenny' });`}
568
+ * language="typescript"
569
+ * showLineNumbers
570
+ * />
571
+ * ```
572
+ */
573
+ declare function CodePanel({ code, language, showLineNumbers, className }: CodePanelProps): ReactNode18;
574
+ import { ReactNode as ReactNode19 } from "react";
575
+ interface CollapsiblePanelProps {
576
+ /** Panel title (e.g., "Response", "Data source") */
577
+ title: string;
578
+ /** Panel content */
579
+ children: ReactNode19;
580
+ /** Default expanded state */
581
+ defaultExpanded?: boolean;
582
+ /** Controlled expanded state */
583
+ expanded?: boolean;
584
+ /** Controlled onChange */
585
+ onExpandedChange?: (expanded: boolean) => void;
586
+ /** Custom className */
587
+ className?: string;
588
+ }
589
+ /**
590
+ * Accordion-style collapsible panel for code examples.
591
+ * Used for Response, Data source, and Notes sections.
592
+ *
593
+ * @example
594
+ * ```tsx
595
+ * <CollapsiblePanel title="Response">
596
+ * <CodePanel code={responseJson} language="json" />
597
+ * </CollapsiblePanel>
598
+ * ```
599
+ */
600
+ declare function CollapsiblePanel({ title, children, defaultExpanded, expanded: controlledExpanded, onExpandedChange, className }: CollapsiblePanelProps): ReactNode19;
601
+ import { ReactNode as ReactNode20 } from "react";
602
+ interface CodeExample2 {
603
+ /** Unique identifier */
604
+ id: string;
605
+ /** Display label for chip */
606
+ label: string;
607
+ /** Code content */
608
+ code: string;
609
+ /** Language for highlighting */
610
+ language?: string;
611
+ }
612
+ interface ExampleSectionProps {
613
+ /** Section ID for sync scroll */
614
+ id: string;
615
+ /** Code examples to display */
616
+ examples: CodeExample2[];
617
+ /** Data source code (SQL/schema) */
618
+ dataSource?: string;
619
+ /** Response JSON */
620
+ response?: string;
621
+ /** Notes text */
622
+ notes?: ReactNode20;
623
+ /** Custom className */
624
+ className?: string;
625
+ }
626
+ /**
627
+ * Complete right-column section combining chips, code, and collapsible panels.
628
+ * Integrates with SyncScrollProvider for synchronized scrolling.
629
+ *
630
+ * @example
631
+ * ```tsx
632
+ * <ExampleSection
633
+ * id="select"
634
+ * examples={[
635
+ * { id: 'basic', label: 'Basic', code: '...', language: 'typescript' },
636
+ * { id: 'filter', label: 'With filter', code: '...', language: 'typescript' },
637
+ * ]}
638
+ * response={`{ "data": [...] }`}
639
+ * notes="Returns all columns by default."
640
+ * />
641
+ * ```
642
+ */
643
+ declare function ExampleSection({ id, examples, dataSource, response, notes, className }: ExampleSectionProps): ReactNode20;
644
+ import { OpenPkg as OpenPkg8, SpecExport as SpecExport9 } from "@openpkg-ts/spec";
645
+ import { ReactNode as ReactNode21 } from "react";
646
+ interface MethodSectionFromSpecProps {
647
+ /** OpenPkg spec */
648
+ spec: OpenPkg8;
649
+ /** Export to render (by name or object) */
650
+ export: string | SpecExport9;
651
+ /** Custom className */
652
+ className?: string;
653
+ }
654
+ /**
655
+ * Auto-generates MethodSection from spec data.
656
+ * Extracts parameters, description, and notes from the export.
657
+ *
658
+ * @example
659
+ * ```tsx
660
+ * <MethodSectionFromSpec spec={spec} export="createClient" />
661
+ * ```
662
+ */
663
+ declare function MethodSectionFromSpec({ spec, export: exportProp, className }: MethodSectionFromSpecProps): ReactNode21;
664
+ import { OpenPkg as OpenPkg9, SpecExport as SpecExport10 } from "@openpkg-ts/spec";
665
+ import { ReactNode as ReactNode22 } from "react";
666
+ interface StripeAPIReferencePageProps {
667
+ /** OpenPkg spec */
668
+ spec: OpenPkg9;
669
+ /** Filter exports (default: functions only) */
670
+ filter?: (exp: SpecExport10) => boolean;
671
+ /** Show all kinds, not just functions */
672
+ showAllKinds?: boolean;
673
+ /** Custom className */
674
+ className?: string;
675
+ }
676
+ /**
677
+ * Full Stripe/Supabase-style API reference page.
678
+ * Two-column layout with synchronized scrolling.
679
+ *
680
+ * @example
681
+ * ```tsx
682
+ * <StripeAPIReferencePage spec={spec} />
683
+ * ```
684
+ */
685
+ declare function StripeAPIReferencePage({ spec, filter, showAllKinds, className }: StripeAPIReferencePageProps): ReactNode22;
686
+ import { OpenPkg as OpenPkg10, SpecExample as SpecExample3, SpecExport as SpecExport11, SpecSchema as SpecSchema3, SpecSignatureParameter as SpecSignatureParameter7 } from "@openpkg-ts/spec";
687
+ interface MethodData {
688
+ /** Export data */
689
+ export: SpecExport11;
690
+ /** Method title (function name with parens) */
691
+ title: string;
692
+ /** Full signature string */
693
+ signature: string;
694
+ /** Description text */
695
+ description?: string;
696
+ /** Parameters from first signature */
697
+ parameters: SpecSignatureParameter7[];
698
+ /** Examples from or signature */
699
+ examples: SpecExample3[];
700
+ /** Return type schema */
701
+ returnType?: SpecSchema3;
702
+ /** Return type formatted */
703
+ returnTypeString?: string;
704
+ /** Return description */
705
+ returnDescription?: string;
706
+ /** Is async function */
707
+ isAsync?: boolean;
708
+ }
709
+ /**
710
+ * Extract method data from a spec export.
711
+ * Provides all data needed to render a MethodSection.
712
+ *
713
+ * @example
714
+ * ```tsx
715
+ * const method = useMethodFromSpec(spec, 'createClient');
716
+ * return (
717
+ * <MethodSection
718
+ * id={method.export.id}
719
+ * title={method.title}
720
+ * signature={method.signature}
721
+ * description={method.description}
722
+ * >
723
+ * {method.parameters.map(p => <ExpandableParameter parameter={p} />)}
724
+ * </MethodSection>
725
+ * );
726
+ * ```
727
+ */
728
+ declare function useMethodFromSpec(spec: OpenPkg10, exportName: string): MethodData | null;
729
+ /**
730
+ * Extract method data from all function exports.
731
+ */
732
+ declare function useMethodsFromSpec(spec: OpenPkg10): MethodData[];
733
+ /**
734
+ * Pure function to extract method data from an export.
735
+ */
736
+ declare function extractMethodData(exp: SpecExport11, _spec: OpenPkg10): MethodData;
737
+ import { SpecSchema as SpecSchema4, SpecSignatureParameter as SpecSignatureParameter8 } from "@openpkg-ts/spec";
738
+ interface NestedParameterData extends Omit<APIParameterItemProps, "children"> {
739
+ /** Child parameters (for objects) */
740
+ children?: NestedParameterData[];
741
+ /** Enum values (for enums) */
742
+ enumValues?: EnumValue[];
743
+ /** Original schema */
744
+ schema: SpecSchema4;
745
+ }
746
+ /**
747
+ * Convert a SpecSignatureParameter to nested parameter data.
748
+ * Recursively processes object properties and extracts enum values.
749
+ *
750
+ * @example
751
+ * ```tsx
752
+ * const paramData = specParamToNestedParam(param);
753
+ * return <APIParameterItem {...paramData} />;
754
+ * ```
755
+ */
756
+ declare function specParamToNestedParam(param: SpecSignatureParameter8, parentPath?: string): NestedParameterData;
757
+ /**
758
+ * Convert multiple parameters to nested parameter data.
759
+ */
760
+ declare function specParamsToNestedParams(params: SpecSignatureParameter8[]): NestedParameterData[];
761
+ /**
762
+ * Resolve a $ref in the schema against spec types.
763
+ * Returns the resolved schema or the original if not found.
764
+ */
765
+ declare function resolveSchemaRef(schema: SpecSchema4, types: Record<string, SpecSchema4>): SpecSchema4;
766
+ import { SpecExample as SpecExample4 } from "@openpkg-ts/spec";
767
+ /**
768
+ * Convert a SpecExample to CodeExample props for ExampleSection.
769
+ *
770
+ * @example
771
+ * ```tsx
772
+ * const examples = spec.examples?.map(specExampleToCodeExample) ?? [];
773
+ * return <ExampleSection examples={examples} />;
774
+ * ```
775
+ */
776
+ declare function specExampleToCodeExample(example: SpecExample4 | string, index: number): CodeExample2;
777
+ /**
778
+ * Generate a default code example from function signature.
779
+ */
780
+ declare function generateDefaultExample(packageName: string, exportName: string, paramNames: string[]): CodeExample2;
781
+ import { DocsInstance } from "@openpkg-ts/sdk/browser";
782
+ import { OpenPkg as OpenPkg11 } from "@openpkg-ts/spec";
252
783
  interface APIPageProps {
253
784
  /** Direct spec object */
254
- spec?: OpenPkg2;
785
+ spec?: OpenPkg11;
255
786
  /** Or docs instance from createDocs() */
256
787
  instance?: DocsInstance;
257
788
  /** Export ID to render, or undefined for index page */
@@ -282,28 +813,28 @@ interface APIPageProps {
282
813
  * ```
283
814
  */
284
815
  declare function APIPage({ spec, instance, id, baseHref, description, renderExample }: APIPageProps): React.ReactNode;
285
- import { OpenPkg as OpenPkg3, SpecExport as SpecExport3 } from "@openpkg-ts/spec";
286
- import { ReactNode as ReactNode2 } from "react";
816
+ import { OpenPkg as OpenPkg12, SpecExport as SpecExport12 } from "@openpkg-ts/spec";
817
+ import { ReactNode as ReactNode23 } from "react";
287
818
  interface ClassPageProps {
288
- export: SpecExport3;
289
- spec: OpenPkg3;
819
+ export: SpecExport12;
820
+ spec: OpenPkg12;
290
821
  }
291
822
  /**
292
823
  * Stripe-style class page with two-column layout.
293
824
  * Left: constructor, methods, properties. Right: sticky code examples.
294
825
  */
295
- declare function ClassPage({ export: exp, spec }: ClassPageProps): ReactNode2;
296
- import { OpenPkg as OpenPkg4, SpecExport as SpecExport4 } from "@openpkg-ts/spec";
297
- import { ReactNode as ReactNode3 } from "react";
826
+ declare function ClassPage({ export: exp, spec }: ClassPageProps): ReactNode23;
827
+ import { OpenPkg as OpenPkg13, SpecExport as SpecExport13 } from "@openpkg-ts/spec";
828
+ import { ReactNode as ReactNode24 } from "react";
298
829
  interface EnumPageProps {
299
- export: SpecExport4;
300
- spec: OpenPkg4;
830
+ export: SpecExport13;
831
+ spec: OpenPkg13;
301
832
  }
302
833
  /**
303
834
  * Stripe-style enum page with two-column layout.
304
835
  */
305
- declare function EnumPage({ export: exp, spec }: EnumPageProps): ReactNode3;
306
- interface ExportCardProps {
836
+ declare function EnumPage({ export: exp, spec }: EnumPageProps): ReactNode24;
837
+ interface ExportCardProps2 {
307
838
  /** Function/name */
308
839
  name: string;
309
840
  /** Description snippet */
@@ -319,12 +850,12 @@ interface ExportCardProps {
319
850
  * Card component for displaying exports in an index grid.
320
851
  * Features function name styling, description, and hover effects.
321
852
  */
322
- declare function ExportCard({ name, description, href, kind, className }: ExportCardProps): React.ReactNode;
323
- import { OpenPkg as OpenPkg5 } from "@openpkg-ts/spec";
324
- import { ReactNode as ReactNode4 } from "react";
325
- interface ExportIndexPageProps {
853
+ declare function ExportCard2({ name, description, href, kind, className }: ExportCardProps2): React.ReactNode;
854
+ import { OpenPkg as OpenPkg14 } from "@openpkg-ts/spec";
855
+ import { ReactNode as ReactNode25 } from "react";
856
+ interface ExportIndexPageProps2 {
326
857
  /** OpenPkg spec */
327
- spec: OpenPkg5;
858
+ spec: OpenPkg14;
328
859
  /** Base href for links (e.g., '/docs/api') */
329
860
  baseHref: string;
330
861
  /** Optional intro description */
@@ -340,12 +871,12 @@ interface ExportIndexPageProps {
340
871
  * Index page showing all exports in a grid, grouped by category.
341
872
  * AI SDK-style clean layout with responsive 2-column grid.
342
873
  */
343
- declare function ExportIndexPage({ spec, baseHref, description, className, showSearch, showFilters }: ExportIndexPageProps): ReactNode4;
344
- import { OpenPkg as OpenPkg6, SpecExportKind } from "@openpkg-ts/spec";
345
- import { ReactNode as ReactNode5 } from "react";
874
+ declare function ExportIndexPage2({ spec, baseHref, description, className, showSearch, showFilters }: ExportIndexPageProps2): ReactNode25;
875
+ import { OpenPkg as OpenPkg15, SpecExportKind } from "@openpkg-ts/spec";
876
+ import { ReactNode as ReactNode26 } from "react";
346
877
  interface FullAPIReferencePageProps {
347
878
  /** OpenPkg spec */
348
- spec: OpenPkg6;
879
+ spec: OpenPkg15;
349
880
  /** Filter to specific kinds (default: all) */
350
881
  kinds?: SpecExportKind[];
351
882
  /** Show kind filter buttons (default: true) */
@@ -355,7 +886,7 @@ interface FullAPIReferencePageProps {
355
886
  /** Custom title (default: spec.meta.name) */
356
887
  title?: string;
357
888
  /** Custom description */
358
- description?: ReactNode5;
889
+ description?: ReactNode26;
359
890
  /** Custom className */
360
891
  className?: string;
361
892
  }
@@ -375,33 +906,33 @@ interface FullAPIReferencePageProps {
375
906
  * <FullAPIReferencePage spec={spec} kinds={['function']} title="Functions" />
376
907
  * ```
377
908
  */
378
- declare function FullAPIReferencePage({ spec, kinds, showFilters, showTOC, title, description, className }: FullAPIReferencePageProps): ReactNode5;
379
- import { OpenPkg as OpenPkg7, SpecExport as SpecExport5 } from "@openpkg-ts/spec";
380
- import { ReactNode as ReactNode6 } from "react";
909
+ declare function FullAPIReferencePage({ spec, kinds, showFilters, showTOC, title, description, className }: FullAPIReferencePageProps): ReactNode26;
910
+ import { OpenPkg as OpenPkg16, SpecExport as SpecExport14 } from "@openpkg-ts/spec";
911
+ import { ReactNode as ReactNode27 } from "react";
381
912
  interface FunctionPageProps {
382
- export: SpecExport5;
383
- spec: OpenPkg7;
913
+ export: SpecExport14;
914
+ spec: OpenPkg16;
384
915
  }
385
916
  /**
386
917
  * Stripe-style function page with two-column layout.
387
918
  * Left: parameters, returns. Right: sticky code examples.
388
919
  */
389
- declare function FunctionPage({ export: exp, spec }: FunctionPageProps): ReactNode6;
390
- import { OpenPkg as OpenPkg8, SpecExport as SpecExport6 } from "@openpkg-ts/spec";
391
- import { ReactNode as ReactNode7 } from "react";
920
+ declare function FunctionPage({ export: exp, spec }: FunctionPageProps): ReactNode27;
921
+ import { OpenPkg as OpenPkg17, SpecExport as SpecExport15 } from "@openpkg-ts/spec";
922
+ import { ReactNode as ReactNode28 } from "react";
392
923
  interface InterfacePageProps {
393
- export: SpecExport6;
394
- spec: OpenPkg8;
924
+ export: SpecExport15;
925
+ spec: OpenPkg17;
395
926
  }
396
927
  /**
397
928
  * Stripe-style interface/type page with two-column layout.
398
929
  * Left: properties, methods. Right: sticky code examples.
399
930
  */
400
- declare function InterfacePage({ export: exp, spec }: InterfacePageProps): ReactNode7;
401
- import { SpecSchema as SpecSchema3, SpecSignatureParameter as SpecSignatureParameter5 } from "@openpkg-ts/spec";
931
+ declare function InterfacePage({ export: exp, spec }: InterfacePageProps): ReactNode28;
932
+ import { SpecSchema as SpecSchema5, SpecSignatureParameter as SpecSignatureParameter9 } from "@openpkg-ts/spec";
402
933
  interface ParameterItemProps {
403
934
  /** Parameter to display */
404
- param: SpecSignatureParameter5;
935
+ param: SpecSignatureParameter9;
405
936
  /** Nesting depth for indentation */
406
937
  depth?: number;
407
938
  /** Custom className */
@@ -411,7 +942,7 @@ interface NestedPropertyItemProps {
411
942
  /** Property name */
412
943
  name: string;
413
944
  /** Property schema */
414
- schema: SpecSchema3;
945
+ schema: SpecSchema5;
415
946
  /** Is this property required */
416
947
  required?: boolean;
417
948
  /** Nesting depth */
@@ -425,80 +956,80 @@ interface NestedPropertyItemProps {
425
956
  * Will be removed in next major version.
426
957
  */
427
958
  declare function ParameterItem({ param, depth, className }: ParameterItemProps): React.ReactNode;
428
- import { OpenPkg as OpenPkg9, SpecExport as SpecExport7 } from "@openpkg-ts/spec";
429
- import { ReactNode as ReactNode8 } from "react";
430
- interface ClassSectionProps {
431
- export: SpecExport7;
432
- spec: OpenPkg9;
959
+ import { OpenPkg as OpenPkg18, SpecExport as SpecExport16 } from "@openpkg-ts/spec";
960
+ import { ReactNode as ReactNode29 } from "react";
961
+ interface ClassSectionProps2 {
962
+ export: SpecExport16;
963
+ spec: OpenPkg18;
433
964
  }
434
965
  /**
435
966
  * Class section for use in single-page API reference.
436
967
  * Renders an APISection with constructor, methods, and properties.
437
968
  */
438
- declare function ClassSection({ export: exp, spec }: ClassSectionProps): ReactNode8;
439
- import { OpenPkg as OpenPkg10, SpecExport as SpecExport8 } from "@openpkg-ts/spec";
440
- import { ReactNode as ReactNode9 } from "react";
441
- interface EnumSectionProps {
442
- export: SpecExport8;
443
- spec: OpenPkg10;
969
+ declare function ClassSection2({ export: exp, spec }: ClassSectionProps2): ReactNode29;
970
+ import { OpenPkg as OpenPkg19, SpecExport as SpecExport17 } from "@openpkg-ts/spec";
971
+ import { ReactNode as ReactNode30 } from "react";
972
+ interface EnumSectionProps2 {
973
+ export: SpecExport17;
974
+ spec: OpenPkg19;
444
975
  }
445
976
  /**
446
977
  * Enum section for use in single-page API reference.
447
978
  * Renders an APISection with enum members.
448
979
  */
449
- declare function EnumSection({ export: exp, spec }: EnumSectionProps): ReactNode9;
450
- import { OpenPkg as OpenPkg11, SpecExport as SpecExport9 } from "@openpkg-ts/spec";
451
- import { ReactNode as ReactNode10 } from "react";
980
+ declare function EnumSection2({ export: exp, spec }: EnumSectionProps2): ReactNode30;
981
+ import { OpenPkg as OpenPkg20, SpecExport as SpecExport18 } from "@openpkg-ts/spec";
982
+ import { ReactNode as ReactNode31 } from "react";
452
983
  interface ExportSectionProps {
453
- export: SpecExport9;
454
- spec: OpenPkg11;
984
+ export: SpecExport18;
985
+ spec: OpenPkg20;
455
986
  }
456
987
  /**
457
988
  * Router component that renders the appropriate section based on kind.
458
989
  * Used by FullAPIReferencePage to render each inline.
459
990
  */
460
- declare function ExportSection({ export: exp, spec }: ExportSectionProps): ReactNode10;
461
- import { OpenPkg as OpenPkg12, SpecExport as SpecExport10 } from "@openpkg-ts/spec";
462
- import { ReactNode as ReactNode11 } from "react";
463
- interface FunctionSectionProps {
464
- export: SpecExport10;
465
- spec: OpenPkg12;
991
+ declare function ExportSection({ export: exp, spec }: ExportSectionProps): ReactNode31;
992
+ import { OpenPkg as OpenPkg21, SpecExport as SpecExport19 } from "@openpkg-ts/spec";
993
+ import { ReactNode as ReactNode32 } from "react";
994
+ interface FunctionSectionProps2 {
995
+ export: SpecExport19;
996
+ spec: OpenPkg21;
466
997
  }
467
998
  /**
468
999
  * Function section for use in single-page API reference.
469
1000
  * Renders an APISection with parameters and returns.
470
1001
  */
471
- declare function FunctionSection({ export: exp, spec }: FunctionSectionProps): ReactNode11;
472
- import { OpenPkg as OpenPkg13, SpecExport as SpecExport11 } from "@openpkg-ts/spec";
473
- import { ReactNode as ReactNode12 } from "react";
474
- interface InterfaceSectionProps {
475
- export: SpecExport11;
476
- spec: OpenPkg13;
1002
+ declare function FunctionSection2({ export: exp, spec }: FunctionSectionProps2): ReactNode32;
1003
+ import { OpenPkg as OpenPkg22, SpecExport as SpecExport20 } from "@openpkg-ts/spec";
1004
+ import { ReactNode as ReactNode33 } from "react";
1005
+ interface InterfaceSectionProps2 {
1006
+ export: SpecExport20;
1007
+ spec: OpenPkg22;
477
1008
  }
478
1009
  /**
479
1010
  * Interface/type section for use in single-page API reference.
480
1011
  * Renders an APISection with properties and methods.
481
1012
  */
482
- declare function InterfaceSection({ export: exp, spec }: InterfaceSectionProps): ReactNode12;
483
- import { OpenPkg as OpenPkg14, SpecExport as SpecExport12 } from "@openpkg-ts/spec";
484
- import { ReactNode as ReactNode13 } from "react";
485
- interface VariableSectionProps {
486
- export: SpecExport12;
487
- spec: OpenPkg14;
1013
+ declare function InterfaceSection2({ export: exp, spec }: InterfaceSectionProps2): ReactNode33;
1014
+ import { OpenPkg as OpenPkg23, SpecExport as SpecExport21 } from "@openpkg-ts/spec";
1015
+ import { ReactNode as ReactNode34 } from "react";
1016
+ interface VariableSectionProps2 {
1017
+ export: SpecExport21;
1018
+ spec: OpenPkg23;
488
1019
  }
489
1020
  /**
490
1021
  * Variable/constant section for use in single-page API reference.
491
1022
  * Renders an APISection with type information.
492
1023
  */
493
- declare function VariableSection({ export: exp, spec }: VariableSectionProps): ReactNode13;
494
- import { OpenPkg as OpenPkg15, SpecExport as SpecExport13 } from "@openpkg-ts/spec";
495
- import { ReactNode as ReactNode14 } from "react";
1024
+ declare function VariableSection2({ export: exp, spec }: VariableSectionProps2): ReactNode34;
1025
+ import { OpenPkg as OpenPkg24, SpecExport as SpecExport22 } from "@openpkg-ts/spec";
1026
+ import { ReactNode as ReactNode35 } from "react";
496
1027
  interface VariablePageProps {
497
- export: SpecExport13;
498
- spec: OpenPkg15;
1028
+ export: SpecExport22;
1029
+ spec: OpenPkg24;
499
1030
  }
500
1031
  /**
501
1032
  * Stripe-style variable/constant page with two-column layout.
502
1033
  */
503
- declare function VariablePage({ export: exp, spec }: VariablePageProps): ReactNode14;
504
- export { specSchemaToAPISchema, specParamToAPIParam, specExamplesToCodeExamples, groupMembersByKind, getLanguagesFromExamples, getExampleTitle, getExampleLanguage, getExampleCode, cleanCode, buildImportStatement, VariableSectionProps, VariableSection, VariablePageProps, VariablePage, TypeTableProps, TypeTable, SignatureProps, Signature, ParameterItemProps, ParameterItem, ParamTableProps, ParamTable, ParamRowProps, ParamRow, NestedPropertyProps, NestedPropertyItemProps, NestedProperty, MembersTableProps, MembersTable, MemberRowProps, MemberRow, MemberGroups, InterfaceSectionProps, InterfaceSection, InterfacePageProps, InterfacePage, ImportSectionProps, ImportSection, FunctionSectionProps, FunctionSection, FunctionPageProps, FunctionPage, FullAPIReferencePageProps, FullAPIReferencePage, ExportSectionProps, ExportSection, ExportIndexPageProps, ExportIndexPage, ExportCardProps, ExportCard, ExpandablePropertyProps, ExpandableProperty, ExampleBlockProps, ExampleBlock, EnumSectionProps, EnumSection, EnumPageProps, EnumPage, CollapsibleMethodProps, CollapsibleMethod, CodeTabsProps, CodeTabs, CodeTab, ClassSectionProps, ClassSection, ClassPageProps, ClassPage, APIPageProps, APIPage };
1034
+ declare function VariablePage({ export: exp, spec }: VariablePageProps): ReactNode35;
1035
+ export { useSyncSection, useSyncScroll, useMethodsFromSpec, useMethodFromSpec, specSchemaToAPISchema, specParamsToNestedParams, specParamToNestedParam, specParamToAPIParam, specExamplesToCodeExamples, specExampleToCodeExample, resolveSchemaRef, groupMembersByKind, getLanguagesFromExamples, getExampleTitle, getExampleLanguage, getExampleCode, generateDefaultExample, extractMethodData, cleanCode, buildImportStatement, VariableSectionProps2 as VariableSectionProps, VariableSection2 as VariableSection, VariablePageProps, VariablePage, TypeTableProps, TypeTable, SyncScrollProviderProps, SyncScrollProvider, SyncScrollContextValue, StripeAPIReferencePageProps, StripeAPIReferencePage, SignatureProps, Signature, ParameterItemProps, ParameterItem, ParamTableProps, ParamTable, ParamRowProps, ParamRow, NestedPropertyProps, NestedPropertyItemProps, NestedProperty, NestedParameterToggleProps, NestedParameterToggle, NestedParameterData, NestedParameterContainerProps, NestedParameterContainer, MethodSectionProps, MethodSectionFromSpecProps, MethodSectionFromSpec, MethodSection, MethodData, MembersTableProps, MembersTable, MemberRowProps, MemberRow, MemberGroups, InterfaceSectionProps2 as InterfaceSectionProps, InterfaceSection2 as InterfaceSection, InterfacePageProps, InterfacePage, ImportSectionProps, ImportSection, FunctionSectionProps2 as FunctionSectionProps, FunctionSection2 as FunctionSection, FunctionPageProps, FunctionPage, FullAPIReferencePageProps, FullAPIReferencePage, ExportSectionProps, ExportSection, ExportKind, ExportIndexPageProps2 as ExportIndexPageProps, ExportIndexPage2 as ExportIndexPage, ExportCardProps2 as ExportCardProps, ExportCard2 as ExportCard, ExpandablePropertyProps, ExpandableProperty, ExpandableParameterProps, ExpandableParameter, ExampleSectionProps, ExampleSection, ExampleChipsProps, ExampleChips, ExampleChip, ExampleBlockProps, ExampleBlock, EnumValuesSectionProps, EnumValuesSection, EnumValue, EnumSectionProps2 as EnumSectionProps, EnumSection2 as EnumSection, EnumPageProps, EnumPage, CollapsiblePanelProps, CollapsiblePanel, CollapsibleMethodProps, CollapsibleMethod, CodeTabsProps, CodeTabs, CodeTab, CodePanelProps, CodePanel, CodeExample2 as CodeExample, ClassSectionProps2 as ClassSectionProps, ClassSection2 as ClassSection, ClassPageProps, ClassPage, APIReferenceLayoutProps, APIReferenceLayout, APIParameterItemProps, APIParameterItem, APIPageProps, APIPage };