@idealyst/mcp-server 1.2.128 → 1.2.130

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.cjs CHANGED
@@ -7524,6 +7524,50 @@ function App() {
7524
7524
  "NetworkState { isConnected, isInternetReachable, type, effectiveType, cellularGeneration, downlink, rtt, isDataSaving }"
7525
7525
  ],
7526
7526
  relatedPackages: ["storage", "config"]
7527
+ },
7528
+ pdf: {
7529
+ name: "PDF",
7530
+ npmName: "@idealyst/pdf",
7531
+ description: "Cross-platform PDF viewer for React and React Native. Renders PDFs from URL, local file, or base64 with page navigation, zoom, and scroll.",
7532
+ category: "media",
7533
+ platforms: ["web", "native"],
7534
+ documentationStatus: "full",
7535
+ installation: "yarn add @idealyst/pdf",
7536
+ peerDependencies: [
7537
+ "pdfjs-dist (web)",
7538
+ "react-native-pdf (native)",
7539
+ "react-native-blob-util (native)"
7540
+ ],
7541
+ features: [
7542
+ "Render PDFs from URL, file path, or base64",
7543
+ "Page navigation (controlled or free scroll)",
7544
+ "Pinch-to-zoom with configurable limits",
7545
+ "Horizontal and vertical scroll modes",
7546
+ "Page indicator overlay",
7547
+ "Fit-to-width, fit-to-height, fit-both modes",
7548
+ "PDFViewerRef for imperative control (goToPage, setZoom)"
7549
+ ],
7550
+ quickStart: `import { PDFViewer } from '@idealyst/pdf';
7551
+
7552
+ function DocumentScreen() {
7553
+ return (
7554
+ <PDFViewer
7555
+ source="https://example.com/document.pdf"
7556
+ onLoad={({ totalPages }) => console.log('Pages:', totalPages)}
7557
+ onPageChange={(page, total) => console.log(page, '/', total)}
7558
+ style={{ flex: 1 }}
7559
+ />
7560
+ );
7561
+ }`,
7562
+ apiHighlights: [
7563
+ "PDFViewer component",
7564
+ "PDFViewerRef \u2014 goToPage(page), setZoom(level)",
7565
+ "PDFSource = string | { uri: string } | { base64: string }",
7566
+ "fitPolicy: 'width' | 'height' | 'both'",
7567
+ "direction: 'horizontal' | 'vertical'",
7568
+ "onLoad, onPageChange, onError callbacks"
7569
+ ],
7570
+ relatedPackages: ["components"]
7527
7571
  }
7528
7572
  };
7529
7573
  function getPackagesByCategory() {
@@ -10880,6 +10924,21 @@ var getNotificationsGuideDefinition = {
10880
10924
  required: ["topic"]
10881
10925
  }
10882
10926
  };
10927
+ var getPdfGuideDefinition = {
10928
+ name: "get_pdf_guide",
10929
+ description: "Get documentation for @idealyst/pdf cross-platform PDF viewer package. Covers PDFViewer component, PDFViewerRef imperative methods, and examples.",
10930
+ inputSchema: {
10931
+ type: "object",
10932
+ properties: {
10933
+ topic: {
10934
+ type: "string",
10935
+ description: "Topic to get docs for: 'overview', 'api', 'examples'",
10936
+ enum: ["overview", "api", "examples"]
10937
+ }
10938
+ },
10939
+ required: ["topic"]
10940
+ }
10941
+ };
10883
10942
  var listPackagesDefinition = {
10884
10943
  name: "list_packages",
10885
10944
  description: "List all available Idealyst packages with descriptions, categories, and documentation status. Use this to discover what packages are available in the framework.",
@@ -11070,6 +11129,7 @@ var toolDefinitions = [
11070
11129
  getNotificationsGuideDefinition,
11071
11130
  getLiveActivityGuideDefinition,
11072
11131
  getNetworkGuideDefinition,
11132
+ getPdfGuideDefinition,
11073
11133
  // Package tools
11074
11134
  listPackagesDefinition,
11075
11135
  getPackageDocsDefinition,
@@ -19335,6 +19395,305 @@ async function quickHealthCheck() {
19335
19395
  `
19336
19396
  };
19337
19397
 
19398
+ // src/data/pdf-guides.ts
19399
+ var pdfGuides = {
19400
+ "idealyst://pdf/overview": `# @idealyst/pdf
19401
+
19402
+ Cross-platform PDF viewer for React and React Native.
19403
+
19404
+ ## Installation
19405
+
19406
+ \`\`\`bash
19407
+ yarn add @idealyst/pdf
19408
+ \`\`\`
19409
+
19410
+ ### Platform peer dependencies
19411
+
19412
+ | Platform | Peer Dependency | Install |
19413
+ |----------|----------------|---------|
19414
+ | Web | \`pdfjs-dist\` | \`yarn add pdfjs-dist\` |
19415
+ | Native | \`react-native-pdf\` | \`yarn add react-native-pdf react-native-blob-util\` |
19416
+
19417
+ **Web**: Uses Mozilla PDF.js to render PDF pages to canvas.
19418
+ **Native**: Uses react-native-pdf (PDFKit on iOS, PdfRenderer on Android).
19419
+
19420
+ ## Key Exports
19421
+
19422
+ | Export | Type | Description |
19423
+ |--------|------|-------------|
19424
+ | \`PDFViewer\` | Component | PDF viewer with zoom, page nav, scroll |
19425
+ | \`PDFViewerRef\` | Ref type | Imperative: \`goToPage()\`, \`setZoom()\` |
19426
+ | \`PDFSource\` | Type | \`string \\| { uri: string } \\| { base64: string }\` |
19427
+ | \`PDFDocumentInfo\` | Type | \`{ totalPages: number }\` |
19428
+ | \`FitPolicy\` | Type | \`'width' \\| 'height' \\| 'both'\` |
19429
+ | \`PDFDirection\` | Type | \`'horizontal' \\| 'vertical'\` |
19430
+
19431
+ ## Quick Start
19432
+
19433
+ \`\`\`tsx
19434
+ import { PDFViewer } from '@idealyst/pdf';
19435
+
19436
+ function DocumentScreen() {
19437
+ return (
19438
+ <PDFViewer
19439
+ source="https://example.com/document.pdf"
19440
+ onLoad={({ totalPages }) => console.log('Pages:', totalPages)}
19441
+ onPageChange={(page, total) => console.log(page, '/', total)}
19442
+ style={{ flex: 1 }}
19443
+ />
19444
+ );
19445
+ }
19446
+ \`\`\`
19447
+
19448
+ ## Common Mistakes
19449
+
19450
+ 1. **Forgetting peer deps** \u2014 Web needs \`pdfjs-dist\`, native needs \`react-native-pdf\` + \`react-native-blob-util\`
19451
+ 2. **PDF.js worker not configured** \u2014 On web, the worker URL is auto-configured from CDN. If using a custom bundler setup, set \`pdfjs.GlobalWorkerOptions.workerSrc\` before rendering.
19452
+ 3. **page is 1-indexed** \u2014 First page is \`1\`, not \`0\`
19453
+ 4. **fitPolicy is a string** \u2014 Use \`'width'\`, \`'height'\`, or \`'both'\` (NOT numeric values)
19454
+ 5. **base64 source** \u2014 Use \`{ base64: 'JVBERi...' }\` without the data URI prefix
19455
+ `,
19456
+ "idealyst://pdf/api": `# @idealyst/pdf \u2014 API Reference
19457
+
19458
+ ## PDFViewerProps
19459
+
19460
+ \`\`\`typescript
19461
+ interface PDFViewerProps {
19462
+ /** PDF source \u2014 URL string, { uri } object, or { base64 } data */
19463
+ source: PDFSource;
19464
+
19465
+ /** Current page (1-indexed). Default: 1 */
19466
+ page?: number;
19467
+
19468
+ /** Called when page changes */
19469
+ onPageChange?: (page: number, totalPages: number) => void;
19470
+
19471
+ /** Called when document loads */
19472
+ onLoad?: (info: PDFDocumentInfo) => void;
19473
+
19474
+ /** Called on error */
19475
+ onError?: (error: Error) => void;
19476
+
19477
+ /** Enable zoom. Default: true */
19478
+ zoomEnabled?: boolean;
19479
+
19480
+ /** Min zoom. Default: 1 */
19481
+ minZoom?: number;
19482
+
19483
+ /** Max zoom. Default: 5 */
19484
+ maxZoom?: number;
19485
+
19486
+ /** Scroll direction. Default: 'vertical' */
19487
+ direction?: PDFDirection;
19488
+
19489
+ /** Show page indicator. Default: true */
19490
+ showPageIndicator?: boolean;
19491
+
19492
+ /** Fit policy. Default: 'width' */
19493
+ fitPolicy?: FitPolicy;
19494
+
19495
+ /** Container style */
19496
+ style?: ViewStyle;
19497
+
19498
+ /** Test ID */
19499
+ testID?: string;
19500
+ }
19501
+ \`\`\`
19502
+
19503
+ ## Types
19504
+
19505
+ \`\`\`typescript
19506
+ type PDFSource = string | { uri: string } | { base64: string };
19507
+
19508
+ type FitPolicy = 'width' | 'height' | 'both';
19509
+
19510
+ type PDFDirection = 'horizontal' | 'vertical';
19511
+
19512
+ interface PDFDocumentInfo {
19513
+ totalPages: number;
19514
+ }
19515
+ \`\`\`
19516
+
19517
+ ## PDFViewerRef (Imperative)
19518
+
19519
+ \`\`\`typescript
19520
+ interface PDFViewerRef {
19521
+ /** Navigate to page (1-indexed) */
19522
+ goToPage: (page: number) => void;
19523
+
19524
+ /** Set zoom level */
19525
+ setZoom: (level: number) => void;
19526
+ }
19527
+ \`\`\`
19528
+
19529
+ Usage:
19530
+ \`\`\`tsx
19531
+ const pdfRef = useRef<PDFViewerRef>(null);
19532
+
19533
+ <PDFViewer ref={pdfRef} source="..." />
19534
+
19535
+ pdfRef.current?.goToPage(5);
19536
+ pdfRef.current?.setZoom(2);
19537
+ \`\`\`
19538
+ `,
19539
+ "idealyst://pdf/examples": `# @idealyst/pdf \u2014 Examples
19540
+
19541
+ ## Basic URL Viewer
19542
+
19543
+ \`\`\`tsx
19544
+ import { PDFViewer } from '@idealyst/pdf';
19545
+ import { View } from '@idealyst/components';
19546
+
19547
+ function BasicPDFScreen() {
19548
+ return (
19549
+ <View style={{ flex: 1 }}>
19550
+ <PDFViewer
19551
+ source="https://example.com/document.pdf"
19552
+ style={{ flex: 1 }}
19553
+ />
19554
+ </View>
19555
+ );
19556
+ }
19557
+ \`\`\`
19558
+
19559
+ ## With Page Navigation Controls
19560
+
19561
+ \`\`\`tsx
19562
+ import { useRef, useState } from 'react';
19563
+ import { PDFViewer, PDFViewerRef } from '@idealyst/pdf';
19564
+ import { View, Text, Button } from '@idealyst/components';
19565
+
19566
+ function PDFWithControls() {
19567
+ const pdfRef = useRef<PDFViewerRef>(null);
19568
+ const [currentPage, setCurrentPage] = useState(1);
19569
+ const [totalPages, setTotalPages] = useState(0);
19570
+
19571
+ return (
19572
+ <View style={{ flex: 1 }}>
19573
+ <PDFViewer
19574
+ ref={pdfRef}
19575
+ source="https://example.com/document.pdf"
19576
+ onLoad={({ totalPages: total }) => setTotalPages(total)}
19577
+ onPageChange={(page) => setCurrentPage(page)}
19578
+ showPageIndicator={false}
19579
+ style={{ flex: 1 }}
19580
+ />
19581
+ <View direction="row" justify="center" align="center" gap="md" padding="md">
19582
+ <Button
19583
+ label="Previous"
19584
+ size="sm"
19585
+ onPress={() => pdfRef.current?.goToPage(Math.max(1, currentPage - 1))}
19586
+ />
19587
+ <Text>{currentPage} / {totalPages}</Text>
19588
+ <Button
19589
+ label="Next"
19590
+ size="sm"
19591
+ onPress={() => pdfRef.current?.goToPage(Math.min(totalPages, currentPage + 1))}
19592
+ />
19593
+ </View>
19594
+ </View>
19595
+ );
19596
+ }
19597
+ \`\`\`
19598
+
19599
+ ## Base64 Source
19600
+
19601
+ \`\`\`tsx
19602
+ import { PDFViewer } from '@idealyst/pdf';
19603
+
19604
+ function Base64PDF({ base64Data }: { base64Data: string }) {
19605
+ return (
19606
+ <PDFViewer
19607
+ source={{ base64: base64Data }}
19608
+ fitPolicy="both"
19609
+ style={{ flex: 1 }}
19610
+ />
19611
+ );
19612
+ }
19613
+ \`\`\`
19614
+
19615
+ ## Horizontal Mode
19616
+
19617
+ \`\`\`tsx
19618
+ import { PDFViewer } from '@idealyst/pdf';
19619
+
19620
+ function HorizontalPDF() {
19621
+ return (
19622
+ <PDFViewer
19623
+ source="https://example.com/slides.pdf"
19624
+ direction="horizontal"
19625
+ fitPolicy="both"
19626
+ style={{ flex: 1 }}
19627
+ />
19628
+ );
19629
+ }
19630
+ \`\`\`
19631
+
19632
+ ## With Error Handling
19633
+
19634
+ \`\`\`tsx
19635
+ import { useState } from 'react';
19636
+ import { PDFViewer } from '@idealyst/pdf';
19637
+ import { View, Text } from '@idealyst/components';
19638
+
19639
+ function SafePDFViewer({ url }: { url: string }) {
19640
+ const [error, setError] = useState<string | null>(null);
19641
+
19642
+ if (error) {
19643
+ return (
19644
+ <View style={{ flex: 1 }} align="center" justify="center">
19645
+ <Text intent="danger">Failed to load PDF: {error}</Text>
19646
+ </View>
19647
+ );
19648
+ }
19649
+
19650
+ return (
19651
+ <PDFViewer
19652
+ source={url}
19653
+ onError={(err) => setError(err.message)}
19654
+ style={{ flex: 1 }}
19655
+ />
19656
+ );
19657
+ }
19658
+ \`\`\`
19659
+
19660
+ ## Zoom Controls
19661
+
19662
+ \`\`\`tsx
19663
+ import { useRef, useState } from 'react';
19664
+ import { PDFViewer, PDFViewerRef } from '@idealyst/pdf';
19665
+ import { View, Button } from '@idealyst/components';
19666
+
19667
+ function ZoomablePDF() {
19668
+ const pdfRef = useRef<PDFViewerRef>(null);
19669
+ const [zoom, setZoom] = useState(1);
19670
+
19671
+ const handleZoom = (level: number) => {
19672
+ setZoom(level);
19673
+ pdfRef.current?.setZoom(level);
19674
+ };
19675
+
19676
+ return (
19677
+ <View style={{ flex: 1 }}>
19678
+ <PDFViewer
19679
+ ref={pdfRef}
19680
+ source="https://example.com/document.pdf"
19681
+ minZoom={0.5}
19682
+ maxZoom={4}
19683
+ style={{ flex: 1 }}
19684
+ />
19685
+ <View direction="row" justify="center" gap="sm" padding="sm">
19686
+ <Button label="50%" size="sm" onPress={() => handleZoom(0.5)} />
19687
+ <Button label="100%" size="sm" onPress={() => handleZoom(1)} />
19688
+ <Button label="200%" size="sm" onPress={() => handleZoom(2)} />
19689
+ </View>
19690
+ </View>
19691
+ );
19692
+ }
19693
+ \`\`\`
19694
+ `
19695
+ };
19696
+
19338
19697
  // src/data/install-guides.ts
19339
19698
  var installGuides = {
19340
19699
  // ============================================================================
@@ -20587,6 +20946,79 @@ function Test() {
20587
20946
  solution: "Check that you're running on a supported platform (iOS 16.2+ or Android API 24+). On web, Live Activities are not supported and will always return not_supported."
20588
20947
  }
20589
20948
  ]
20949
+ },
20950
+ // =====================================================================
20951
+ // MEDIA PACKAGES — PDF
20952
+ // =====================================================================
20953
+ pdf: {
20954
+ packageName: "PDF",
20955
+ npmName: "@idealyst/pdf",
20956
+ description: "Cross-platform PDF viewer using pdfjs-dist (web) and react-native-pdf (native)",
20957
+ platforms: ["web", "native"],
20958
+ complexity: "moderate",
20959
+ installation: {
20960
+ yarn: "yarn add @idealyst/pdf",
20961
+ npm: "npm install @idealyst/pdf"
20962
+ },
20963
+ peerDependencies: [
20964
+ {
20965
+ name: "pdfjs-dist",
20966
+ required: true,
20967
+ platforms: ["web"],
20968
+ note: "Mozilla PDF.js for web rendering"
20969
+ },
20970
+ {
20971
+ name: "react-native-pdf",
20972
+ required: true,
20973
+ platforms: ["native"],
20974
+ note: "Native PDF renderer (PDFKit on iOS, PdfRenderer on Android)"
20975
+ },
20976
+ {
20977
+ name: "react-native-blob-util",
20978
+ required: true,
20979
+ platforms: ["native"],
20980
+ note: "Required peer dependency of react-native-pdf for file handling"
20981
+ }
20982
+ ],
20983
+ ios: {
20984
+ podInstallRequired: true,
20985
+ additionalSteps: [
20986
+ "cd ios && pod install",
20987
+ "Ensure minimum iOS deployment target is 13.0 or higher"
20988
+ ]
20989
+ },
20990
+ android: {
20991
+ permissions: [],
20992
+ additionalSteps: [
20993
+ "No special permissions required for PDF viewing",
20994
+ "Ensure minSdkVersion is 21 or higher"
20995
+ ]
20996
+ },
20997
+ web: {
20998
+ additionalDependencies: ["pdfjs-dist"],
20999
+ notes: [
21000
+ "The pdfjs-dist worker is auto-configured from CDN by default.",
21001
+ "For custom setups: set pdfjs.GlobalWorkerOptions.workerSrc before rendering PDFViewer.",
21002
+ "For Vite: import pdfjs-dist/build/pdf.worker.min.mjs and set as workerSrc."
21003
+ ]
21004
+ },
21005
+ verification: `import { PDFViewer } from '@idealyst/pdf';
21006
+ // Should render without errors:
21007
+ <PDFViewer source="https://example.com/sample.pdf" style={{ flex: 1 }} />`,
21008
+ troubleshooting: [
21009
+ {
21010
+ issue: "PDF.js worker not found on web",
21011
+ solution: "Set pdfjs.GlobalWorkerOptions.workerSrc to the correct worker URL before rendering PDFViewer. The package sets a CDN default, but custom bundler setups may need manual configuration."
21012
+ },
21013
+ {
21014
+ issue: "react-native-pdf not linking on iOS",
21015
+ solution: "Run cd ios && pod install and rebuild the project. Ensure minimum deployment target is iOS 13.0+."
21016
+ },
21017
+ {
21018
+ issue: "Blank screen on Android",
21019
+ solution: "Ensure minSdkVersion is 21+ in android/build.gradle. Also check that react-native-blob-util is installed as a peer of react-native-pdf."
21020
+ }
21021
+ ]
20590
21022
  }
20591
21023
  };
20592
21024
  function getInstallGuide(packageName) {
@@ -28463,7 +28895,7 @@ var import_url = require("url");
28463
28895
  // src/generated/types.json
28464
28896
  var types_default = {
28465
28897
  version: "1.0.93",
28466
- extractedAt: "2026-03-11T20:52:45.143Z",
28898
+ extractedAt: "2026-03-24T21:22:27.272Z",
28467
28899
  components: {
28468
28900
  Accordion: {
28469
28901
  name: "Accordion",
@@ -28607,7 +29039,7 @@ var types_default = {
28607
29039
  }
28608
29040
  },
28609
29041
  category: "data",
28610
- filePath: "../components/src/Accordion",
29042
+ filePath: "packages/components/src/Accordion",
28611
29043
  sampleProps: {
28612
29044
  props: {
28613
29045
  items: [
@@ -28736,7 +29168,7 @@ var types_default = {
28736
29168
  }
28737
29169
  },
28738
29170
  category: "display",
28739
- filePath: "../components/src/ActivityIndicator"
29171
+ filePath: "packages/components/src/ActivityIndicator"
28740
29172
  }
28741
29173
  },
28742
29174
  Alert: {
@@ -28921,7 +29353,7 @@ var types_default = {
28921
29353
  }
28922
29354
  },
28923
29355
  category: "display",
28924
- filePath: "../components/src/Alert",
29356
+ filePath: "packages/components/src/Alert",
28925
29357
  sampleProps: {
28926
29358
  props: {
28927
29359
  title: "Alert Title",
@@ -29048,7 +29480,7 @@ var types_default = {
29048
29480
  }
29049
29481
  },
29050
29482
  category: "display",
29051
- filePath: "../components/src/Avatar",
29483
+ filePath: "packages/components/src/Avatar",
29052
29484
  sampleProps: {
29053
29485
  props: {
29054
29486
  fallback: "AB"
@@ -29184,7 +29616,7 @@ var types_default = {
29184
29616
  }
29185
29617
  },
29186
29618
  category: "display",
29187
- filePath: "../components/src/Badge",
29619
+ filePath: "packages/components/src/Badge",
29188
29620
  sampleProps: {
29189
29621
  children: "'3'"
29190
29622
  }
@@ -29348,7 +29780,7 @@ var types_default = {
29348
29780
  }
29349
29781
  },
29350
29782
  category: "navigation",
29351
- filePath: "../components/src/Breadcrumb",
29783
+ filePath: "packages/components/src/Breadcrumb",
29352
29784
  sampleProps: {
29353
29785
  props: {
29354
29786
  items: [
@@ -29552,7 +29984,7 @@ var types_default = {
29552
29984
  }
29553
29985
  },
29554
29986
  category: "form",
29555
- filePath: "../components/src/Button",
29987
+ filePath: "packages/components/src/Button",
29556
29988
  sampleProps: {
29557
29989
  children: "'Click Me'"
29558
29990
  }
@@ -29754,7 +30186,7 @@ var types_default = {
29754
30186
  }
29755
30187
  },
29756
30188
  category: "display",
29757
- filePath: "../components/src/Card",
30189
+ filePath: "packages/components/src/Card",
29758
30190
  sampleProps: {
29759
30191
  children: "'Card content goes here'"
29760
30192
  }
@@ -29971,7 +30403,7 @@ var types_default = {
29971
30403
  }
29972
30404
  },
29973
30405
  category: "form",
29974
- filePath: "../components/src/Checkbox",
30406
+ filePath: "packages/components/src/Checkbox",
29975
30407
  sampleProps: {
29976
30408
  props: {
29977
30409
  label: "Check me"
@@ -30204,7 +30636,7 @@ var types_default = {
30204
30636
  }
30205
30637
  },
30206
30638
  category: "display",
30207
- filePath: "../components/src/Chip",
30639
+ filePath: "packages/components/src/Chip",
30208
30640
  sampleProps: {
30209
30641
  props: {
30210
30642
  label: "Chip Label"
@@ -30485,7 +30917,7 @@ var types_default = {
30485
30917
  }
30486
30918
  },
30487
30919
  category: "overlay",
30488
- filePath: "../components/src/Dialog",
30920
+ filePath: "packages/components/src/Dialog",
30489
30921
  sampleProps: {
30490
30922
  props: {
30491
30923
  title: "Dialog Title"
@@ -30635,7 +31067,7 @@ var types_default = {
30635
31067
  }
30636
31068
  },
30637
31069
  category: "layout",
30638
- filePath: "../components/src/Divider"
31070
+ filePath: "packages/components/src/Divider"
30639
31071
  }
30640
31072
  },
30641
31073
  Form: {
@@ -30693,7 +31125,7 @@ var types_default = {
30693
31125
  }
30694
31126
  },
30695
31127
  category: "display",
30696
- filePath: "../components/src/Form"
31128
+ filePath: "packages/components/src/Form"
30697
31129
  }
30698
31130
  },
30699
31131
  Grid: {
@@ -30810,7 +31242,7 @@ var types_default = {
30810
31242
  }
30811
31243
  },
30812
31244
  category: "display",
30813
- filePath: "../components/src/Grid"
31245
+ filePath: "packages/components/src/Grid"
30814
31246
  }
30815
31247
  },
30816
31248
  IconButton: {
@@ -30977,7 +31409,7 @@ var types_default = {
30977
31409
  }
30978
31410
  },
30979
31411
  category: "display",
30980
- filePath: "../components/src/IconButton"
31412
+ filePath: "packages/components/src/IconButton"
30981
31413
  }
30982
31414
  },
30983
31415
  Image: {
@@ -31154,7 +31586,7 @@ var types_default = {
31154
31586
  }
31155
31587
  },
31156
31588
  category: "display",
31157
- filePath: "../components/src/Image",
31589
+ filePath: "packages/components/src/Image",
31158
31590
  sampleProps: {
31159
31591
  props: {
31160
31592
  source: {
@@ -31562,7 +31994,7 @@ var types_default = {
31562
31994
  }
31563
31995
  },
31564
31996
  category: "form",
31565
- filePath: "../components/src/Input",
31997
+ filePath: "packages/components/src/Input",
31566
31998
  sampleProps: {
31567
31999
  props: {
31568
32000
  placeholder: "Enter text..."
@@ -31670,7 +32102,7 @@ var types_default = {
31670
32102
  }
31671
32103
  },
31672
32104
  category: "navigation",
31673
- filePath: "../components/src/Link",
32105
+ filePath: "packages/components/src/Link",
31674
32106
  sampleProps: {
31675
32107
  props: {
31676
32108
  href: "#"
@@ -31814,7 +32246,7 @@ var types_default = {
31814
32246
  }
31815
32247
  },
31816
32248
  category: "navigation",
31817
- filePath: "../components/src/List",
32249
+ filePath: "packages/components/src/List",
31818
32250
  sampleProps: {
31819
32251
  children: "'List items go here'"
31820
32252
  }
@@ -31936,7 +32368,7 @@ var types_default = {
31936
32368
  }
31937
32369
  },
31938
32370
  category: "navigation",
31939
- filePath: "../components/src/Menu",
32371
+ filePath: "packages/components/src/Menu",
31940
32372
  sampleProps: {
31941
32373
  props: {
31942
32374
  items: [
@@ -32127,7 +32559,7 @@ var types_default = {
32127
32559
  }
32128
32560
  },
32129
32561
  category: "overlay",
32130
- filePath: "../components/src/Popover",
32562
+ filePath: "packages/components/src/Popover",
32131
32563
  sampleProps: {
32132
32564
  props: {
32133
32565
  open: false
@@ -32254,7 +32686,7 @@ var types_default = {
32254
32686
  }
32255
32687
  },
32256
32688
  category: "display",
32257
- filePath: "../components/src/Pressable",
32689
+ filePath: "packages/components/src/Pressable",
32258
32690
  sampleProps: {
32259
32691
  children: "'Press me'"
32260
32692
  }
@@ -32401,7 +32833,7 @@ var types_default = {
32401
32833
  }
32402
32834
  },
32403
32835
  category: "data",
32404
- filePath: "../components/src/Progress",
32836
+ filePath: "packages/components/src/Progress",
32405
32837
  sampleProps: {
32406
32838
  props: {
32407
32839
  value: 65
@@ -32536,7 +32968,7 @@ var types_default = {
32536
32968
  }
32537
32969
  },
32538
32970
  category: "form",
32539
- filePath: "../components/src/RadioButton",
32971
+ filePath: "packages/components/src/RadioButton",
32540
32972
  sampleProps: {
32541
32973
  props: {
32542
32974
  value: "option1",
@@ -32648,7 +33080,7 @@ var types_default = {
32648
33080
  }
32649
33081
  },
32650
33082
  category: "display",
32651
- filePath: "../components/src/SVGImage",
33083
+ filePath: "packages/components/src/SVGImage",
32652
33084
  sampleProps: {
32653
33085
  props: {
32654
33086
  source: '<svg viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="currentColor"/></svg>',
@@ -32899,7 +33331,7 @@ var types_default = {
32899
33331
  }
32900
33332
  },
32901
33333
  category: "layout",
32902
- filePath: "../components/src/Screen",
33334
+ filePath: "packages/components/src/Screen",
32903
33335
  sampleProps: {
32904
33336
  children: "'Screen content'"
32905
33337
  }
@@ -33277,7 +33709,7 @@ var types_default = {
33277
33709
  }
33278
33710
  },
33279
33711
  category: "display",
33280
- filePath: "../components/src/ScrollView",
33712
+ filePath: "packages/components/src/ScrollView",
33281
33713
  sampleProps: {
33282
33714
  children: "'Scrollable content'"
33283
33715
  }
@@ -33537,7 +33969,7 @@ var types_default = {
33537
33969
  }
33538
33970
  },
33539
33971
  category: "form",
33540
- filePath: "../components/src/Select",
33972
+ filePath: "packages/components/src/Select",
33541
33973
  sampleProps: {
33542
33974
  props: {
33543
33975
  options: [
@@ -33673,7 +34105,7 @@ var types_default = {
33673
34105
  }
33674
34106
  },
33675
34107
  category: "display",
33676
- filePath: "../components/src/Skeleton",
34108
+ filePath: "packages/components/src/Skeleton",
33677
34109
  sampleProps: {
33678
34110
  props: {
33679
34111
  width: 200,
@@ -33931,7 +34363,7 @@ var types_default = {
33931
34363
  }
33932
34364
  },
33933
34365
  category: "form",
33934
- filePath: "../components/src/Slider",
34366
+ filePath: "packages/components/src/Slider",
33935
34367
  sampleProps: {
33936
34368
  props: {},
33937
34369
  state: {
@@ -34147,7 +34579,7 @@ var types_default = {
34147
34579
  }
34148
34580
  },
34149
34581
  category: "form",
34150
- filePath: "../components/src/Switch",
34582
+ filePath: "packages/components/src/Switch",
34151
34583
  sampleProps: {
34152
34584
  props: {},
34153
34585
  state: {
@@ -34357,7 +34789,7 @@ var types_default = {
34357
34789
  }
34358
34790
  },
34359
34791
  category: "navigation",
34360
- filePath: "../components/src/TabBar",
34792
+ filePath: "packages/components/src/TabBar",
34361
34793
  sampleProps: {
34362
34794
  props: {
34363
34795
  items: [
@@ -34414,6 +34846,18 @@ var types_default = {
34414
34846
  type: "((row: T, index: number) => void) | undefined",
34415
34847
  required: false
34416
34848
  },
34849
+ {
34850
+ name: "onColumnResize",
34851
+ type: "((key: string, width: number) => void) | undefined",
34852
+ required: false,
34853
+ description: "Called when a column is resized via drag handle.\nReceives the column key and the new width in pixels."
34854
+ },
34855
+ {
34856
+ name: "emptyState",
34857
+ type: "React.ReactNode",
34858
+ required: false,
34859
+ description: "Content to display when `data` is empty.\nRenders in place of the table body."
34860
+ },
34417
34861
  {
34418
34862
  name: "style",
34419
34863
  type: 'import("/home/nicho/Development/idealyst-framework/packages/theme/node_modules/react-native/Libraries/StyleSheet/StyleSheet").StyleProp<import("/home/nicho/Development/idealyst-framework/packages/theme/node_modules/react-native/Libraries/StyleSheet/StyleSheetTypes").ViewStyle>',
@@ -34425,12 +34869,12 @@ var types_default = {
34425
34869
  required: false
34426
34870
  }
34427
34871
  ],
34428
- typeDefinition: "export interface TableProps<T = any> extends ContainerStyleProps, AccessibilityProps {\n /**\n * Column definitions for the table\n */\n columns: TableColumn<T>[];\n data: T[];\n type?: TableType;\n size?: TableSizeVariant;\n stickyHeader?: boolean;\n onRowPress?: (row: T, index: number) => void;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n}",
34872
+ typeDefinition: "export interface TableProps<T = any> extends ContainerStyleProps, AccessibilityProps {\n /**\n * Column definitions for the table\n */\n columns: TableColumn<T>[];\n data: T[];\n type?: TableType;\n size?: TableSizeVariant;\n stickyHeader?: boolean;\n onRowPress?: (row: T, index: number) => void;\n /**\n * Called when a column is resized via drag handle.\n * Receives the column key and the new width in pixels.\n */\n onColumnResize?: (key: string, width: number) => void;\n /**\n * Content to display when `data` is empty.\n * Renders in place of the table body.\n */\n emptyState?: ReactNode;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n}",
34429
34873
  relatedTypes: {
34430
34874
  TableSizeVariant: "export type TableSizeVariant = Size;",
34431
34875
  TableType: "export type TableType = 'standard' | 'bordered' | 'striped';",
34432
34876
  TableAlignVariant: "export type TableAlignVariant = 'left' | 'center' | 'right';",
34433
- TableColumn: "export interface TableColumn<T = any> extends SortableAccessibilityProps {\n key: string;\n title: string;\n dataIndex?: string;\n render?: (value: any, row: T, index: number) => ReactNode;\n width?: number | string;\n align?: TableAlignVariant;\n}"
34877
+ TableColumn: "export interface TableColumn<T = any> extends SortableAccessibilityProps {\n key: string;\n title: ReactNode;\n dataIndex?: string;\n render?: (value: any, row: T, index: number) => ReactNode;\n footer?: ReactNode | ((data: T[]) => ReactNode);\n width?: number | string;\n align?: TableAlignVariant;\n /**\n * Makes this column sticky (pinned) when scrolling horizontally.\n * `true` or `'left'` pins to the left, `'right'` pins to the right.\n * On web uses CSS `position: sticky`, on native renders outside the ScrollView.\n */\n sticky?: boolean | 'left' | 'right';\n /**\n * Allows the column to be resized by dragging the right edge of the header.\n * Web only.\n */\n resizable?: boolean;\n /**\n * Minimum width when resizing (default: 50).\n */\n minWidth?: number;\n}"
34434
34878
  },
34435
34879
  registry: {
34436
34880
  name: "Table",
@@ -34476,6 +34920,22 @@ var types_default = {
34476
34920
  type: "((row: T, index: number) => void) | undefined",
34477
34921
  required: false
34478
34922
  },
34923
+ onColumnResize: {
34924
+ name: "onColumnResize",
34925
+ type: "((key: string, width: number) => void) | undefined",
34926
+ description: "Called when a column is resized via drag handle.\nReceives the column key and the new width in pixels.",
34927
+ required: false
34928
+ },
34929
+ emptyState: {
34930
+ name: "emptyState",
34931
+ type: "ReactNode",
34932
+ values: [
34933
+ "false",
34934
+ "true"
34935
+ ],
34936
+ description: "Content to display when `data` is empty.\nRenders in place of the table body.",
34937
+ required: false
34938
+ },
34479
34939
  id: {
34480
34940
  name: "id",
34481
34941
  type: "string | undefined",
@@ -34532,7 +34992,7 @@ var types_default = {
34532
34992
  }
34533
34993
  },
34534
34994
  category: "data",
34535
- filePath: "../components/src/Table",
34995
+ filePath: "packages/components/src/Table",
34536
34996
  sampleProps: {
34537
34997
  props: {
34538
34998
  columns: [
@@ -34730,7 +35190,7 @@ var types_default = {
34730
35190
  }
34731
35191
  },
34732
35192
  category: "display",
34733
- filePath: "../components/src/Text",
35193
+ filePath: "packages/components/src/Text",
34734
35194
  sampleProps: {
34735
35195
  children: "'Sample text content'"
34736
35196
  }
@@ -35032,7 +35492,7 @@ var types_default = {
35032
35492
  }
35033
35493
  },
35034
35494
  category: "form",
35035
- filePath: "../components/src/TextArea",
35495
+ filePath: "packages/components/src/TextArea",
35036
35496
  sampleProps: {
35037
35497
  props: {
35038
35498
  placeholder: "Enter text...",
@@ -35593,7 +36053,7 @@ var types_default = {
35593
36053
  }
35594
36054
  },
35595
36055
  category: "display",
35596
- filePath: "../components/src/TextInput"
36056
+ filePath: "packages/components/src/TextInput"
35597
36057
  }
35598
36058
  },
35599
36059
  Tooltip: {
@@ -35696,7 +36156,7 @@ var types_default = {
35696
36156
  }
35697
36157
  },
35698
36158
  category: "display",
35699
- filePath: "../components/src/Tooltip",
36159
+ filePath: "packages/components/src/Tooltip",
35700
36160
  sampleProps: {
35701
36161
  props: {
35702
36162
  content: "Tooltip text"
@@ -35940,7 +36400,7 @@ var types_default = {
35940
36400
  }
35941
36401
  },
35942
36402
  category: "display",
35943
- filePath: "../components/src/Video",
36403
+ filePath: "packages/components/src/Video",
35944
36404
  sampleProps: {
35945
36405
  props: {
35946
36406
  source: "https://www.w3schools.com/html/mov_bbb.mp4",
@@ -36151,7 +36611,7 @@ var types_default = {
36151
36611
  }
36152
36612
  },
36153
36613
  category: "layout",
36154
- filePath: "../components/src/View",
36614
+ filePath: "packages/components/src/View",
36155
36615
  sampleProps: {
36156
36616
  children: "'View content'"
36157
36617
  }
@@ -51137,7 +51597,7 @@ var types_default = {
51137
51597
  }
51138
51598
  },
51139
51599
  category: "display",
51140
- filePath: "../components/src/Icon",
51600
+ filePath: "packages/components/src/Icon",
51141
51601
  sampleProps: {
51142
51602
  props: {
51143
51603
  name: "home"
@@ -51168,9 +51628,10 @@ var types_default = {
51168
51628
  }
51169
51629
  },
51170
51630
  navigation: {
51631
+ ScreenAnimation: "export type ScreenAnimation =\n | 'default'\n | 'fade'\n | 'fade_from_bottom'\n | 'flip'\n | 'simple_push'\n | 'slide_from_bottom'\n | 'slide_from_right'\n | 'slide_from_left'\n | 'ios_from_right'\n | 'ios_from_left'\n | 'none';",
51171
51632
  TabBarScreenOptions: 'export type TabBarScreenOptions = {\n /**\n * Icon for tab/drawer navigation.\n *\n * Can be:\n * - A **string** (icon name) \u2014 e.g. `"home"`, `"cog"`. The default layout renders\n * `<Icon name={tabBarIcon} size="sm" />` automatically.\n * - A **render function** \u2014 receives `{ focused, color, size }`. The `size` param is\n * a number (from native tab bars); **ignore it** and use a Size token instead:\n * `tabBarIcon: ({ focused }) => <Icon name={focused ? \'home\' : \'home-outline\'} size="sm" />`\n */\n tabBarIcon?: string | ((props: { focused: boolean; color: string; size: string | number }) => React.ReactElement)\n\n /**\n * Label for tab/drawer navigation\n */\n tabBarLabel?: string;\n \n /**\n * Badge for tab navigation\n */\n tabBarBadge?: string | number;\n \n /**\n * Whether to show the tab bar for this screen\n */\n tabBarVisible?: boolean;\n} & ScreenOptions',
51172
51633
  NavigatorOptions: "export type NavigatorOptions = {\n\n \n /**\n * Custom header title component or string\n */\n headerTitle?: React.ComponentType | React.ReactElement | string;\n \n /**\n * Custom header left component (overrides back button)\n */\n headerLeft?: React.ComponentType | React.ReactElement;\n \n /**\n * Whether to show header back button\n */\n headerBackVisible?: boolean;\n \n /**\n * Custom header right component\n */\n headerRight?: React.ComponentType | React.ReactElement;\n \n /**\n * Whether to hide the native React Navigation header (mobile only)\n */\n headerShown?: boolean;\n}",
51173
- ScreenOptions: "export type ScreenOptions = {\n /**\n * Screen title for navigation headers\n */\n title?: string;\n headerShown?: boolean;\n /**\n * Icon name for this screen (used by custom layout components like sidebars, drawers, etc.)\n */\n icon?: string;\n /**\n * When true, renders the screen outside of parent layout wrappers.\n * Useful for fullscreen modals, onboarding flows, or any screen that\n * should not inherit the parent navigator's layout (header, sidebar, tabs, etc.)\n *\n * Web: Screen renders as a sibling route without the parent LayoutComponent\n * Native: Screen uses fullScreenModal presentation\n */\n fullScreen?: boolean;\n\n} & NavigatorOptions;",
51634
+ ScreenOptions: "export type ScreenOptions = {\n /**\n * Screen title for navigation headers\n */\n title?: string;\n headerShown?: boolean;\n /**\n * Icon name for this screen (used by custom layout components like sidebars, drawers, etc.)\n */\n icon?: string;\n /**\n * When true, renders the screen outside of parent layout wrappers.\n * Useful for fullscreen modals, onboarding flows, or any screen that\n * should not inherit the parent navigator's layout (header, sidebar, tabs, etc.)\n *\n * Web: Screen renders as a sibling route without the parent LayoutComponent\n * Native: Screen uses fullScreenModal presentation\n */\n fullScreen?: boolean;\n /**\n * Screen transition animation.\n * On native, controls how the screen animates when pushed/popped.\n * On web, this is a noop.\n *\n * @default 'default' (platform default)\n */\n animation?: ScreenAnimation;\n\n} & NavigatorOptions;",
51174
51635
  NotFoundComponentProps: "export type NotFoundComponentProps = {\n /** The full path that was attempted */\n path: string\n /** Any route parameters that were parsed from the path */\n params?: Record<string, string>\n}",
51175
51636
  BaseNavigatorParam: "export type BaseNavigatorParam = {\n path: string\n type: 'navigator'\n /**\n * Navigator options. When this navigator is nested inside a tab or drawer,\n * you can include TabBarScreenOptions (tabBarIcon, tabBarLabel, tabBarBadge)\n * so the parent layout can render the tab/drawer entry for this navigator.\n */\n options?: TabBarScreenOptions\n /**\n * Handler called when an invalid route is accessed.\n * - Return NavigateParams to redirect to a different route\n * - Return undefined to show the notFoundComponent (if set)\n * If not defined, bubbles up to parent navigator.\n *\n * @param invalidPath - The path that was attempted but not found\n * @returns NavigateParams to redirect, or undefined to use notFoundComponent\n */\n onInvalidRoute?: (invalidPath: string) => NavigateParams | undefined\n /**\n * Component to render/navigate to when route is invalid and onInvalidRoute returns undefined.\n * - Web: Renders at the current URL via catch-all route\n * - Native: Navigated to as a screen\n * - Optional: If not set and nothing handles the route, a warning is logged\n */\n notFoundComponent?: React.ComponentType<NotFoundComponentProps>\n}",
51176
51637
  TabNavigatorParam: "export type TabNavigatorParam = {\n layout: 'tab'\n routes: RouteParam<TabBarScreenOptions>[]\n layoutComponent?: TabLayoutComponent\n} & BaseNavigatorParam",
@@ -51283,7 +51744,7 @@ var types_default = {
51283
51744
  }
51284
51745
  },
51285
51746
  category: "data",
51286
- filePath: "../components/src/Accordion",
51747
+ filePath: "packages/components/src/Accordion",
51287
51748
  sampleProps: {
51288
51749
  props: {
51289
51750
  items: [
@@ -51359,7 +51820,7 @@ var types_default = {
51359
51820
  }
51360
51821
  },
51361
51822
  category: "display",
51362
- filePath: "../components/src/ActivityIndicator"
51823
+ filePath: "packages/components/src/ActivityIndicator"
51363
51824
  },
51364
51825
  Alert: {
51365
51826
  name: "Alert",
@@ -51454,7 +51915,7 @@ var types_default = {
51454
51915
  }
51455
51916
  },
51456
51917
  category: "display",
51457
- filePath: "../components/src/Alert",
51918
+ filePath: "packages/components/src/Alert",
51458
51919
  sampleProps: {
51459
51920
  props: {
51460
51921
  title: "Alert Title",
@@ -51521,7 +51982,7 @@ var types_default = {
51521
51982
  }
51522
51983
  },
51523
51984
  category: "display",
51524
- filePath: "../components/src/Avatar",
51985
+ filePath: "packages/components/src/Avatar",
51525
51986
  sampleProps: {
51526
51987
  props: {
51527
51988
  fallback: "AB"
@@ -51590,7 +52051,7 @@ var types_default = {
51590
52051
  }
51591
52052
  },
51592
52053
  category: "display",
51593
- filePath: "../components/src/Badge",
52054
+ filePath: "packages/components/src/Badge",
51594
52055
  sampleProps: {
51595
52056
  children: "'3'"
51596
52057
  }
@@ -51676,7 +52137,7 @@ var types_default = {
51676
52137
  }
51677
52138
  },
51678
52139
  category: "navigation",
51679
- filePath: "../components/src/Breadcrumb",
52140
+ filePath: "packages/components/src/Breadcrumb",
51680
52141
  sampleProps: {
51681
52142
  props: {
51682
52143
  items: [
@@ -51789,7 +52250,7 @@ var types_default = {
51789
52250
  }
51790
52251
  },
51791
52252
  category: "form",
51792
- filePath: "../components/src/Button",
52253
+ filePath: "packages/components/src/Button",
51793
52254
  sampleProps: {
51794
52255
  children: "'Click Me'"
51795
52256
  }
@@ -51912,7 +52373,7 @@ var types_default = {
51912
52373
  }
51913
52374
  },
51914
52375
  category: "display",
51915
- filePath: "../components/src/Card",
52376
+ filePath: "packages/components/src/Card",
51916
52377
  sampleProps: {
51917
52378
  children: "'Card content goes here'"
51918
52379
  }
@@ -52033,7 +52494,7 @@ var types_default = {
52033
52494
  }
52034
52495
  },
52035
52496
  category: "form",
52036
- filePath: "../components/src/Checkbox",
52497
+ filePath: "packages/components/src/Checkbox",
52037
52498
  sampleProps: {
52038
52499
  props: {
52039
52500
  label: "Check me"
@@ -52164,7 +52625,7 @@ var types_default = {
52164
52625
  }
52165
52626
  },
52166
52627
  category: "display",
52167
- filePath: "../components/src/Chip",
52628
+ filePath: "packages/components/src/Chip",
52168
52629
  sampleProps: {
52169
52630
  props: {
52170
52631
  label: "Chip Label"
@@ -52319,7 +52780,7 @@ var types_default = {
52319
52780
  }
52320
52781
  },
52321
52782
  category: "overlay",
52322
- filePath: "../components/src/Dialog",
52783
+ filePath: "packages/components/src/Dialog",
52323
52784
  sampleProps: {
52324
52785
  props: {
52325
52786
  title: "Dialog Title"
@@ -52394,7 +52855,7 @@ var types_default = {
52394
52855
  }
52395
52856
  },
52396
52857
  category: "layout",
52397
- filePath: "../components/src/Divider"
52858
+ filePath: "packages/components/src/Divider"
52398
52859
  },
52399
52860
  Form: {
52400
52861
  name: "Form",
@@ -52411,7 +52872,7 @@ var types_default = {
52411
52872
  }
52412
52873
  },
52413
52874
  category: "display",
52414
- filePath: "../components/src/Form"
52875
+ filePath: "packages/components/src/Form"
52415
52876
  },
52416
52877
  Grid: {
52417
52878
  name: "Grid",
@@ -52481,7 +52942,7 @@ var types_default = {
52481
52942
  }
52482
52943
  },
52483
52944
  category: "display",
52484
- filePath: "../components/src/Grid"
52945
+ filePath: "packages/components/src/Grid"
52485
52946
  },
52486
52947
  Icon: {
52487
52948
  name: "Icon",
@@ -67421,7 +67882,7 @@ var types_default = {
67421
67882
  }
67422
67883
  },
67423
67884
  category: "display",
67424
- filePath: "../components/src/Icon",
67885
+ filePath: "packages/components/src/Icon",
67425
67886
  sampleProps: {
67426
67887
  props: {
67427
67888
  name: "home"
@@ -67514,7 +67975,7 @@ var types_default = {
67514
67975
  }
67515
67976
  },
67516
67977
  category: "display",
67517
- filePath: "../components/src/IconButton"
67978
+ filePath: "packages/components/src/IconButton"
67518
67979
  },
67519
67980
  Image: {
67520
67981
  name: "Image",
@@ -67606,7 +68067,7 @@ var types_default = {
67606
68067
  }
67607
68068
  },
67608
68069
  category: "display",
67609
- filePath: "../components/src/Image",
68070
+ filePath: "packages/components/src/Image",
67610
68071
  sampleProps: {
67611
68072
  props: {
67612
68073
  source: {
@@ -67790,7 +68251,7 @@ var types_default = {
67790
68251
  }
67791
68252
  },
67792
68253
  category: "form",
67793
- filePath: "../components/src/Input",
68254
+ filePath: "packages/components/src/Input",
67794
68255
  sampleProps: {
67795
68256
  props: {
67796
68257
  placeholder: "Enter text..."
@@ -67842,7 +68303,7 @@ var types_default = {
67842
68303
  }
67843
68304
  },
67844
68305
  category: "navigation",
67845
- filePath: "../components/src/Link",
68306
+ filePath: "packages/components/src/Link",
67846
68307
  sampleProps: {
67847
68308
  props: {
67848
68309
  href: "#"
@@ -67939,7 +68400,7 @@ var types_default = {
67939
68400
  }
67940
68401
  },
67941
68402
  category: "navigation",
67942
- filePath: "../components/src/List",
68403
+ filePath: "packages/components/src/List",
67943
68404
  sampleProps: {
67944
68405
  children: "'List items go here'"
67945
68406
  }
@@ -68003,7 +68464,7 @@ var types_default = {
68003
68464
  }
68004
68465
  },
68005
68466
  category: "navigation",
68006
- filePath: "../components/src/Menu",
68467
+ filePath: "packages/components/src/Menu",
68007
68468
  sampleProps: {
68008
68469
  props: {
68009
68470
  items: [
@@ -68118,7 +68579,7 @@ var types_default = {
68118
68579
  }
68119
68580
  },
68120
68581
  category: "overlay",
68121
- filePath: "../components/src/Popover",
68582
+ filePath: "packages/components/src/Popover",
68122
68583
  sampleProps: {
68123
68584
  props: {
68124
68585
  open: false
@@ -68183,7 +68644,7 @@ var types_default = {
68183
68644
  }
68184
68645
  },
68185
68646
  category: "display",
68186
- filePath: "../components/src/Pressable",
68647
+ filePath: "packages/components/src/Pressable",
68187
68648
  sampleProps: {
68188
68649
  children: "'Press me'"
68189
68650
  }
@@ -68262,7 +68723,7 @@ var types_default = {
68262
68723
  }
68263
68724
  },
68264
68725
  category: "data",
68265
- filePath: "../components/src/Progress",
68726
+ filePath: "packages/components/src/Progress",
68266
68727
  sampleProps: {
68267
68728
  props: {
68268
68729
  value: 65
@@ -68341,7 +68802,7 @@ var types_default = {
68341
68802
  }
68342
68803
  },
68343
68804
  category: "form",
68344
- filePath: "../components/src/RadioButton",
68805
+ filePath: "packages/components/src/RadioButton",
68345
68806
  sampleProps: {
68346
68807
  props: {
68347
68808
  value: "option1",
@@ -68407,7 +68868,7 @@ var types_default = {
68407
68868
  }
68408
68869
  },
68409
68870
  category: "display",
68410
- filePath: "../components/src/SVGImage",
68871
+ filePath: "packages/components/src/SVGImage",
68411
68872
  sampleProps: {
68412
68873
  props: {
68413
68874
  source: '<svg viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="currentColor"/></svg>',
@@ -68566,7 +69027,7 @@ var types_default = {
68566
69027
  }
68567
69028
  },
68568
69029
  category: "layout",
68569
- filePath: "../components/src/Screen",
69030
+ filePath: "packages/components/src/Screen",
68570
69031
  sampleProps: {
68571
69032
  children: "'Screen content'"
68572
69033
  }
@@ -68782,7 +69243,7 @@ var types_default = {
68782
69243
  }
68783
69244
  },
68784
69245
  category: "display",
68785
- filePath: "../components/src/ScrollView",
69246
+ filePath: "packages/components/src/ScrollView",
68786
69247
  sampleProps: {
68787
69248
  children: "'Scrollable content'"
68788
69249
  }
@@ -68927,7 +69388,7 @@ var types_default = {
68927
69388
  }
68928
69389
  },
68929
69390
  category: "form",
68930
- filePath: "../components/src/Select",
69391
+ filePath: "packages/components/src/Select",
68931
69392
  sampleProps: {
68932
69393
  props: {
68933
69394
  options: [
@@ -69010,7 +69471,7 @@ var types_default = {
69010
69471
  }
69011
69472
  },
69012
69473
  category: "display",
69013
- filePath: "../components/src/Skeleton",
69474
+ filePath: "packages/components/src/Skeleton",
69014
69475
  sampleProps: {
69015
69476
  props: {
69016
69477
  width: 200,
@@ -69155,7 +69616,7 @@ var types_default = {
69155
69616
  }
69156
69617
  },
69157
69618
  category: "form",
69158
- filePath: "../components/src/Slider",
69619
+ filePath: "packages/components/src/Slider",
69159
69620
  sampleProps: {
69160
69621
  props: {},
69161
69622
  state: {
@@ -69282,7 +69743,7 @@ var types_default = {
69282
69743
  }
69283
69744
  },
69284
69745
  category: "form",
69285
- filePath: "../components/src/Switch",
69746
+ filePath: "packages/components/src/Switch",
69286
69747
  sampleProps: {
69287
69748
  props: {},
69288
69749
  state: {
@@ -69419,7 +69880,7 @@ var types_default = {
69419
69880
  }
69420
69881
  },
69421
69882
  category: "navigation",
69422
- filePath: "../components/src/TabBar",
69883
+ filePath: "packages/components/src/TabBar",
69423
69884
  sampleProps: {
69424
69885
  props: {
69425
69886
  items: [
@@ -69484,6 +69945,22 @@ var types_default = {
69484
69945
  type: "((row: T, index: number) => void) | undefined",
69485
69946
  required: false
69486
69947
  },
69948
+ onColumnResize: {
69949
+ name: "onColumnResize",
69950
+ type: "((key: string, width: number) => void) | undefined",
69951
+ description: "Called when a column is resized via drag handle.\nReceives the column key and the new width in pixels.",
69952
+ required: false
69953
+ },
69954
+ emptyState: {
69955
+ name: "emptyState",
69956
+ type: "ReactNode",
69957
+ values: [
69958
+ "false",
69959
+ "true"
69960
+ ],
69961
+ description: "Content to display when `data` is empty.\nRenders in place of the table body.",
69962
+ required: false
69963
+ },
69487
69964
  id: {
69488
69965
  name: "id",
69489
69966
  type: "string | undefined",
@@ -69540,7 +70017,7 @@ var types_default = {
69540
70017
  }
69541
70018
  },
69542
70019
  category: "data",
69543
- filePath: "../components/src/Table",
70020
+ filePath: "packages/components/src/Table",
69544
70021
  sampleProps: {
69545
70022
  props: {
69546
70023
  columns: [
@@ -69670,7 +70147,7 @@ var types_default = {
69670
70147
  }
69671
70148
  },
69672
70149
  category: "display",
69673
- filePath: "../components/src/Text",
70150
+ filePath: "packages/components/src/Text",
69674
70151
  sampleProps: {
69675
70152
  children: "'Sample text content'"
69676
70153
  }
@@ -69840,7 +70317,7 @@ var types_default = {
69840
70317
  }
69841
70318
  },
69842
70319
  category: "form",
69843
- filePath: "../components/src/TextArea",
70320
+ filePath: "packages/components/src/TextArea",
69844
70321
  sampleProps: {
69845
70322
  props: {
69846
70323
  placeholder: "Enter text...",
@@ -70092,7 +70569,7 @@ var types_default = {
70092
70569
  }
70093
70570
  },
70094
70571
  category: "display",
70095
- filePath: "../components/src/TextInput"
70572
+ filePath: "packages/components/src/TextInput"
70096
70573
  },
70097
70574
  Tooltip: {
70098
70575
  name: "Tooltip",
@@ -70142,7 +70619,7 @@ var types_default = {
70142
70619
  }
70143
70620
  },
70144
70621
  category: "display",
70145
- filePath: "../components/src/Tooltip",
70622
+ filePath: "packages/components/src/Tooltip",
70146
70623
  sampleProps: {
70147
70624
  props: {
70148
70625
  content: "Tooltip text"
@@ -70276,7 +70753,7 @@ var types_default = {
70276
70753
  }
70277
70754
  },
70278
70755
  category: "display",
70279
- filePath: "../components/src/Video",
70756
+ filePath: "packages/components/src/Video",
70280
70757
  sampleProps: {
70281
70758
  props: {
70282
70759
  source: "https://www.w3schools.com/html/mov_bbb.mp4",
@@ -70402,7 +70879,7 @@ var types_default = {
70402
70879
  }
70403
70880
  },
70404
70881
  category: "layout",
70405
- filePath: "../components/src/View",
70882
+ filePath: "packages/components/src/View",
70406
70883
  sampleProps: {
70407
70884
  children: "'View content'"
70408
70885
  }
@@ -71569,6 +72046,17 @@ function getNetworkGuide(args) {
71569
72046
  }
71570
72047
  return textResponse(guide);
71571
72048
  }
72049
+ function getPdfGuide(args) {
72050
+ const topic = args.topic;
72051
+ const uri = `idealyst://pdf/${topic}`;
72052
+ const guide = pdfGuides[uri];
72053
+ if (!guide) {
72054
+ return textResponse(
72055
+ `Topic "${topic}" not found. Available topics: overview, api, examples`
72056
+ );
72057
+ }
72058
+ return textResponse(guide);
72059
+ }
71572
72060
  function listPackages(args = {}) {
71573
72061
  const category = args.category;
71574
72062
  if (category) {
@@ -71820,6 +72308,7 @@ var toolHandlers = {
71820
72308
  get_notifications_guide: getNotificationsGuide,
71821
72309
  get_live_activity_guide: getLiveActivityGuide,
71822
72310
  get_network_guide: getNetworkGuide,
72311
+ get_pdf_guide: getPdfGuide,
71823
72312
  list_packages: listPackages,
71824
72313
  get_package_docs: getPackageDocs,
71825
72314
  search_packages: searchPackages2,