@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.
@@ -412,6 +412,21 @@ var getNotificationsGuideDefinition = {
412
412
  required: ["topic"]
413
413
  }
414
414
  };
415
+ var getPdfGuideDefinition = {
416
+ name: "get_pdf_guide",
417
+ description: "Get documentation for @idealyst/pdf cross-platform PDF viewer package. Covers PDFViewer component, PDFViewerRef imperative methods, and examples.",
418
+ inputSchema: {
419
+ type: "object",
420
+ properties: {
421
+ topic: {
422
+ type: "string",
423
+ description: "Topic to get docs for: 'overview', 'api', 'examples'",
424
+ enum: ["overview", "api", "examples"]
425
+ }
426
+ },
427
+ required: ["topic"]
428
+ }
429
+ };
415
430
  var listPackagesDefinition = {
416
431
  name: "list_packages",
417
432
  description: "List all available Idealyst packages with descriptions, categories, and documentation status. Use this to discover what packages are available in the framework.",
@@ -602,6 +617,7 @@ var toolDefinitions = [
602
617
  getNotificationsGuideDefinition,
603
618
  getLiveActivityGuideDefinition,
604
619
  getNetworkGuideDefinition,
620
+ getPdfGuideDefinition,
605
621
  // Package tools
606
622
  listPackagesDefinition,
607
623
  getPackageDocsDefinition,
@@ -10453,6 +10469,305 @@ async function quickHealthCheck() {
10453
10469
  `
10454
10470
  };
10455
10471
 
10472
+ // src/data/pdf-guides.ts
10473
+ var pdfGuides = {
10474
+ "idealyst://pdf/overview": `# @idealyst/pdf
10475
+
10476
+ Cross-platform PDF viewer for React and React Native.
10477
+
10478
+ ## Installation
10479
+
10480
+ \`\`\`bash
10481
+ yarn add @idealyst/pdf
10482
+ \`\`\`
10483
+
10484
+ ### Platform peer dependencies
10485
+
10486
+ | Platform | Peer Dependency | Install |
10487
+ |----------|----------------|---------|
10488
+ | Web | \`pdfjs-dist\` | \`yarn add pdfjs-dist\` |
10489
+ | Native | \`react-native-pdf\` | \`yarn add react-native-pdf react-native-blob-util\` |
10490
+
10491
+ **Web**: Uses Mozilla PDF.js to render PDF pages to canvas.
10492
+ **Native**: Uses react-native-pdf (PDFKit on iOS, PdfRenderer on Android).
10493
+
10494
+ ## Key Exports
10495
+
10496
+ | Export | Type | Description |
10497
+ |--------|------|-------------|
10498
+ | \`PDFViewer\` | Component | PDF viewer with zoom, page nav, scroll |
10499
+ | \`PDFViewerRef\` | Ref type | Imperative: \`goToPage()\`, \`setZoom()\` |
10500
+ | \`PDFSource\` | Type | \`string \\| { uri: string } \\| { base64: string }\` |
10501
+ | \`PDFDocumentInfo\` | Type | \`{ totalPages: number }\` |
10502
+ | \`FitPolicy\` | Type | \`'width' \\| 'height' \\| 'both'\` |
10503
+ | \`PDFDirection\` | Type | \`'horizontal' \\| 'vertical'\` |
10504
+
10505
+ ## Quick Start
10506
+
10507
+ \`\`\`tsx
10508
+ import { PDFViewer } from '@idealyst/pdf';
10509
+
10510
+ function DocumentScreen() {
10511
+ return (
10512
+ <PDFViewer
10513
+ source="https://example.com/document.pdf"
10514
+ onLoad={({ totalPages }) => console.log('Pages:', totalPages)}
10515
+ onPageChange={(page, total) => console.log(page, '/', total)}
10516
+ style={{ flex: 1 }}
10517
+ />
10518
+ );
10519
+ }
10520
+ \`\`\`
10521
+
10522
+ ## Common Mistakes
10523
+
10524
+ 1. **Forgetting peer deps** \u2014 Web needs \`pdfjs-dist\`, native needs \`react-native-pdf\` + \`react-native-blob-util\`
10525
+ 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.
10526
+ 3. **page is 1-indexed** \u2014 First page is \`1\`, not \`0\`
10527
+ 4. **fitPolicy is a string** \u2014 Use \`'width'\`, \`'height'\`, or \`'both'\` (NOT numeric values)
10528
+ 5. **base64 source** \u2014 Use \`{ base64: 'JVBERi...' }\` without the data URI prefix
10529
+ `,
10530
+ "idealyst://pdf/api": `# @idealyst/pdf \u2014 API Reference
10531
+
10532
+ ## PDFViewerProps
10533
+
10534
+ \`\`\`typescript
10535
+ interface PDFViewerProps {
10536
+ /** PDF source \u2014 URL string, { uri } object, or { base64 } data */
10537
+ source: PDFSource;
10538
+
10539
+ /** Current page (1-indexed). Default: 1 */
10540
+ page?: number;
10541
+
10542
+ /** Called when page changes */
10543
+ onPageChange?: (page: number, totalPages: number) => void;
10544
+
10545
+ /** Called when document loads */
10546
+ onLoad?: (info: PDFDocumentInfo) => void;
10547
+
10548
+ /** Called on error */
10549
+ onError?: (error: Error) => void;
10550
+
10551
+ /** Enable zoom. Default: true */
10552
+ zoomEnabled?: boolean;
10553
+
10554
+ /** Min zoom. Default: 1 */
10555
+ minZoom?: number;
10556
+
10557
+ /** Max zoom. Default: 5 */
10558
+ maxZoom?: number;
10559
+
10560
+ /** Scroll direction. Default: 'vertical' */
10561
+ direction?: PDFDirection;
10562
+
10563
+ /** Show page indicator. Default: true */
10564
+ showPageIndicator?: boolean;
10565
+
10566
+ /** Fit policy. Default: 'width' */
10567
+ fitPolicy?: FitPolicy;
10568
+
10569
+ /** Container style */
10570
+ style?: ViewStyle;
10571
+
10572
+ /** Test ID */
10573
+ testID?: string;
10574
+ }
10575
+ \`\`\`
10576
+
10577
+ ## Types
10578
+
10579
+ \`\`\`typescript
10580
+ type PDFSource = string | { uri: string } | { base64: string };
10581
+
10582
+ type FitPolicy = 'width' | 'height' | 'both';
10583
+
10584
+ type PDFDirection = 'horizontal' | 'vertical';
10585
+
10586
+ interface PDFDocumentInfo {
10587
+ totalPages: number;
10588
+ }
10589
+ \`\`\`
10590
+
10591
+ ## PDFViewerRef (Imperative)
10592
+
10593
+ \`\`\`typescript
10594
+ interface PDFViewerRef {
10595
+ /** Navigate to page (1-indexed) */
10596
+ goToPage: (page: number) => void;
10597
+
10598
+ /** Set zoom level */
10599
+ setZoom: (level: number) => void;
10600
+ }
10601
+ \`\`\`
10602
+
10603
+ Usage:
10604
+ \`\`\`tsx
10605
+ const pdfRef = useRef<PDFViewerRef>(null);
10606
+
10607
+ <PDFViewer ref={pdfRef} source="..." />
10608
+
10609
+ pdfRef.current?.goToPage(5);
10610
+ pdfRef.current?.setZoom(2);
10611
+ \`\`\`
10612
+ `,
10613
+ "idealyst://pdf/examples": `# @idealyst/pdf \u2014 Examples
10614
+
10615
+ ## Basic URL Viewer
10616
+
10617
+ \`\`\`tsx
10618
+ import { PDFViewer } from '@idealyst/pdf';
10619
+ import { View } from '@idealyst/components';
10620
+
10621
+ function BasicPDFScreen() {
10622
+ return (
10623
+ <View style={{ flex: 1 }}>
10624
+ <PDFViewer
10625
+ source="https://example.com/document.pdf"
10626
+ style={{ flex: 1 }}
10627
+ />
10628
+ </View>
10629
+ );
10630
+ }
10631
+ \`\`\`
10632
+
10633
+ ## With Page Navigation Controls
10634
+
10635
+ \`\`\`tsx
10636
+ import { useRef, useState } from 'react';
10637
+ import { PDFViewer, PDFViewerRef } from '@idealyst/pdf';
10638
+ import { View, Text, Button } from '@idealyst/components';
10639
+
10640
+ function PDFWithControls() {
10641
+ const pdfRef = useRef<PDFViewerRef>(null);
10642
+ const [currentPage, setCurrentPage] = useState(1);
10643
+ const [totalPages, setTotalPages] = useState(0);
10644
+
10645
+ return (
10646
+ <View style={{ flex: 1 }}>
10647
+ <PDFViewer
10648
+ ref={pdfRef}
10649
+ source="https://example.com/document.pdf"
10650
+ onLoad={({ totalPages: total }) => setTotalPages(total)}
10651
+ onPageChange={(page) => setCurrentPage(page)}
10652
+ showPageIndicator={false}
10653
+ style={{ flex: 1 }}
10654
+ />
10655
+ <View direction="row" justify="center" align="center" gap="md" padding="md">
10656
+ <Button
10657
+ label="Previous"
10658
+ size="sm"
10659
+ onPress={() => pdfRef.current?.goToPage(Math.max(1, currentPage - 1))}
10660
+ />
10661
+ <Text>{currentPage} / {totalPages}</Text>
10662
+ <Button
10663
+ label="Next"
10664
+ size="sm"
10665
+ onPress={() => pdfRef.current?.goToPage(Math.min(totalPages, currentPage + 1))}
10666
+ />
10667
+ </View>
10668
+ </View>
10669
+ );
10670
+ }
10671
+ \`\`\`
10672
+
10673
+ ## Base64 Source
10674
+
10675
+ \`\`\`tsx
10676
+ import { PDFViewer } from '@idealyst/pdf';
10677
+
10678
+ function Base64PDF({ base64Data }: { base64Data: string }) {
10679
+ return (
10680
+ <PDFViewer
10681
+ source={{ base64: base64Data }}
10682
+ fitPolicy="both"
10683
+ style={{ flex: 1 }}
10684
+ />
10685
+ );
10686
+ }
10687
+ \`\`\`
10688
+
10689
+ ## Horizontal Mode
10690
+
10691
+ \`\`\`tsx
10692
+ import { PDFViewer } from '@idealyst/pdf';
10693
+
10694
+ function HorizontalPDF() {
10695
+ return (
10696
+ <PDFViewer
10697
+ source="https://example.com/slides.pdf"
10698
+ direction="horizontal"
10699
+ fitPolicy="both"
10700
+ style={{ flex: 1 }}
10701
+ />
10702
+ );
10703
+ }
10704
+ \`\`\`
10705
+
10706
+ ## With Error Handling
10707
+
10708
+ \`\`\`tsx
10709
+ import { useState } from 'react';
10710
+ import { PDFViewer } from '@idealyst/pdf';
10711
+ import { View, Text } from '@idealyst/components';
10712
+
10713
+ function SafePDFViewer({ url }: { url: string }) {
10714
+ const [error, setError] = useState<string | null>(null);
10715
+
10716
+ if (error) {
10717
+ return (
10718
+ <View style={{ flex: 1 }} align="center" justify="center">
10719
+ <Text intent="danger">Failed to load PDF: {error}</Text>
10720
+ </View>
10721
+ );
10722
+ }
10723
+
10724
+ return (
10725
+ <PDFViewer
10726
+ source={url}
10727
+ onError={(err) => setError(err.message)}
10728
+ style={{ flex: 1 }}
10729
+ />
10730
+ );
10731
+ }
10732
+ \`\`\`
10733
+
10734
+ ## Zoom Controls
10735
+
10736
+ \`\`\`tsx
10737
+ import { useRef, useState } from 'react';
10738
+ import { PDFViewer, PDFViewerRef } from '@idealyst/pdf';
10739
+ import { View, Button } from '@idealyst/components';
10740
+
10741
+ function ZoomablePDF() {
10742
+ const pdfRef = useRef<PDFViewerRef>(null);
10743
+ const [zoom, setZoom] = useState(1);
10744
+
10745
+ const handleZoom = (level: number) => {
10746
+ setZoom(level);
10747
+ pdfRef.current?.setZoom(level);
10748
+ };
10749
+
10750
+ return (
10751
+ <View style={{ flex: 1 }}>
10752
+ <PDFViewer
10753
+ ref={pdfRef}
10754
+ source="https://example.com/document.pdf"
10755
+ minZoom={0.5}
10756
+ maxZoom={4}
10757
+ style={{ flex: 1 }}
10758
+ />
10759
+ <View direction="row" justify="center" gap="sm" padding="sm">
10760
+ <Button label="50%" size="sm" onPress={() => handleZoom(0.5)} />
10761
+ <Button label="100%" size="sm" onPress={() => handleZoom(1)} />
10762
+ <Button label="200%" size="sm" onPress={() => handleZoom(2)} />
10763
+ </View>
10764
+ </View>
10765
+ );
10766
+ }
10767
+ \`\`\`
10768
+ `
10769
+ };
10770
+
10456
10771
  // src/data/packages.ts
10457
10772
  var packages = {
10458
10773
  components: {
@@ -11681,6 +11996,50 @@ function App() {
11681
11996
  "NetworkState { isConnected, isInternetReachable, type, effectiveType, cellularGeneration, downlink, rtt, isDataSaving }"
11682
11997
  ],
11683
11998
  relatedPackages: ["storage", "config"]
11999
+ },
12000
+ pdf: {
12001
+ name: "PDF",
12002
+ npmName: "@idealyst/pdf",
12003
+ description: "Cross-platform PDF viewer for React and React Native. Renders PDFs from URL, local file, or base64 with page navigation, zoom, and scroll.",
12004
+ category: "media",
12005
+ platforms: ["web", "native"],
12006
+ documentationStatus: "full",
12007
+ installation: "yarn add @idealyst/pdf",
12008
+ peerDependencies: [
12009
+ "pdfjs-dist (web)",
12010
+ "react-native-pdf (native)",
12011
+ "react-native-blob-util (native)"
12012
+ ],
12013
+ features: [
12014
+ "Render PDFs from URL, file path, or base64",
12015
+ "Page navigation (controlled or free scroll)",
12016
+ "Pinch-to-zoom with configurable limits",
12017
+ "Horizontal and vertical scroll modes",
12018
+ "Page indicator overlay",
12019
+ "Fit-to-width, fit-to-height, fit-both modes",
12020
+ "PDFViewerRef for imperative control (goToPage, setZoom)"
12021
+ ],
12022
+ quickStart: `import { PDFViewer } from '@idealyst/pdf';
12023
+
12024
+ function DocumentScreen() {
12025
+ return (
12026
+ <PDFViewer
12027
+ source="https://example.com/document.pdf"
12028
+ onLoad={({ totalPages }) => console.log('Pages:', totalPages)}
12029
+ onPageChange={(page, total) => console.log(page, '/', total)}
12030
+ style={{ flex: 1 }}
12031
+ />
12032
+ );
12033
+ }`,
12034
+ apiHighlights: [
12035
+ "PDFViewer component",
12036
+ "PDFViewerRef \u2014 goToPage(page), setZoom(level)",
12037
+ "PDFSource = string | { uri: string } | { base64: string }",
12038
+ "fitPolicy: 'width' | 'height' | 'both'",
12039
+ "direction: 'horizontal' | 'vertical'",
12040
+ "onLoad, onPageChange, onError callbacks"
12041
+ ],
12042
+ relatedPackages: ["components"]
11684
12043
  }
11685
12044
  };
11686
12045
  function getPackagesByCategory() {
@@ -15875,6 +16234,79 @@ function Test() {
15875
16234
  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."
15876
16235
  }
15877
16236
  ]
16237
+ },
16238
+ // =====================================================================
16239
+ // MEDIA PACKAGES — PDF
16240
+ // =====================================================================
16241
+ pdf: {
16242
+ packageName: "PDF",
16243
+ npmName: "@idealyst/pdf",
16244
+ description: "Cross-platform PDF viewer using pdfjs-dist (web) and react-native-pdf (native)",
16245
+ platforms: ["web", "native"],
16246
+ complexity: "moderate",
16247
+ installation: {
16248
+ yarn: "yarn add @idealyst/pdf",
16249
+ npm: "npm install @idealyst/pdf"
16250
+ },
16251
+ peerDependencies: [
16252
+ {
16253
+ name: "pdfjs-dist",
16254
+ required: true,
16255
+ platforms: ["web"],
16256
+ note: "Mozilla PDF.js for web rendering"
16257
+ },
16258
+ {
16259
+ name: "react-native-pdf",
16260
+ required: true,
16261
+ platforms: ["native"],
16262
+ note: "Native PDF renderer (PDFKit on iOS, PdfRenderer on Android)"
16263
+ },
16264
+ {
16265
+ name: "react-native-blob-util",
16266
+ required: true,
16267
+ platforms: ["native"],
16268
+ note: "Required peer dependency of react-native-pdf for file handling"
16269
+ }
16270
+ ],
16271
+ ios: {
16272
+ podInstallRequired: true,
16273
+ additionalSteps: [
16274
+ "cd ios && pod install",
16275
+ "Ensure minimum iOS deployment target is 13.0 or higher"
16276
+ ]
16277
+ },
16278
+ android: {
16279
+ permissions: [],
16280
+ additionalSteps: [
16281
+ "No special permissions required for PDF viewing",
16282
+ "Ensure minSdkVersion is 21 or higher"
16283
+ ]
16284
+ },
16285
+ web: {
16286
+ additionalDependencies: ["pdfjs-dist"],
16287
+ notes: [
16288
+ "The pdfjs-dist worker is auto-configured from CDN by default.",
16289
+ "For custom setups: set pdfjs.GlobalWorkerOptions.workerSrc before rendering PDFViewer.",
16290
+ "For Vite: import pdfjs-dist/build/pdf.worker.min.mjs and set as workerSrc."
16291
+ ]
16292
+ },
16293
+ verification: `import { PDFViewer } from '@idealyst/pdf';
16294
+ // Should render without errors:
16295
+ <PDFViewer source="https://example.com/sample.pdf" style={{ flex: 1 }} />`,
16296
+ troubleshooting: [
16297
+ {
16298
+ issue: "PDF.js worker not found on web",
16299
+ 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."
16300
+ },
16301
+ {
16302
+ issue: "react-native-pdf not linking on iOS",
16303
+ solution: "Run cd ios && pod install and rebuild the project. Ensure minimum deployment target is iOS 13.0+."
16304
+ },
16305
+ {
16306
+ issue: "Blank screen on Android",
16307
+ 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."
16308
+ }
16309
+ ]
15878
16310
  }
15879
16311
  };
15880
16312
  function getInstallGuide(packageName) {
@@ -23751,7 +24183,7 @@ import { fileURLToPath } from "url";
23751
24183
  // src/generated/types.json
23752
24184
  var types_default = {
23753
24185
  version: "1.0.93",
23754
- extractedAt: "2026-03-11T20:52:45.143Z",
24186
+ extractedAt: "2026-03-24T21:22:27.272Z",
23755
24187
  components: {
23756
24188
  Accordion: {
23757
24189
  name: "Accordion",
@@ -23895,7 +24327,7 @@ var types_default = {
23895
24327
  }
23896
24328
  },
23897
24329
  category: "data",
23898
- filePath: "../components/src/Accordion",
24330
+ filePath: "packages/components/src/Accordion",
23899
24331
  sampleProps: {
23900
24332
  props: {
23901
24333
  items: [
@@ -24024,7 +24456,7 @@ var types_default = {
24024
24456
  }
24025
24457
  },
24026
24458
  category: "display",
24027
- filePath: "../components/src/ActivityIndicator"
24459
+ filePath: "packages/components/src/ActivityIndicator"
24028
24460
  }
24029
24461
  },
24030
24462
  Alert: {
@@ -24209,7 +24641,7 @@ var types_default = {
24209
24641
  }
24210
24642
  },
24211
24643
  category: "display",
24212
- filePath: "../components/src/Alert",
24644
+ filePath: "packages/components/src/Alert",
24213
24645
  sampleProps: {
24214
24646
  props: {
24215
24647
  title: "Alert Title",
@@ -24336,7 +24768,7 @@ var types_default = {
24336
24768
  }
24337
24769
  },
24338
24770
  category: "display",
24339
- filePath: "../components/src/Avatar",
24771
+ filePath: "packages/components/src/Avatar",
24340
24772
  sampleProps: {
24341
24773
  props: {
24342
24774
  fallback: "AB"
@@ -24472,7 +24904,7 @@ var types_default = {
24472
24904
  }
24473
24905
  },
24474
24906
  category: "display",
24475
- filePath: "../components/src/Badge",
24907
+ filePath: "packages/components/src/Badge",
24476
24908
  sampleProps: {
24477
24909
  children: "'3'"
24478
24910
  }
@@ -24636,7 +25068,7 @@ var types_default = {
24636
25068
  }
24637
25069
  },
24638
25070
  category: "navigation",
24639
- filePath: "../components/src/Breadcrumb",
25071
+ filePath: "packages/components/src/Breadcrumb",
24640
25072
  sampleProps: {
24641
25073
  props: {
24642
25074
  items: [
@@ -24840,7 +25272,7 @@ var types_default = {
24840
25272
  }
24841
25273
  },
24842
25274
  category: "form",
24843
- filePath: "../components/src/Button",
25275
+ filePath: "packages/components/src/Button",
24844
25276
  sampleProps: {
24845
25277
  children: "'Click Me'"
24846
25278
  }
@@ -25042,7 +25474,7 @@ var types_default = {
25042
25474
  }
25043
25475
  },
25044
25476
  category: "display",
25045
- filePath: "../components/src/Card",
25477
+ filePath: "packages/components/src/Card",
25046
25478
  sampleProps: {
25047
25479
  children: "'Card content goes here'"
25048
25480
  }
@@ -25259,7 +25691,7 @@ var types_default = {
25259
25691
  }
25260
25692
  },
25261
25693
  category: "form",
25262
- filePath: "../components/src/Checkbox",
25694
+ filePath: "packages/components/src/Checkbox",
25263
25695
  sampleProps: {
25264
25696
  props: {
25265
25697
  label: "Check me"
@@ -25492,7 +25924,7 @@ var types_default = {
25492
25924
  }
25493
25925
  },
25494
25926
  category: "display",
25495
- filePath: "../components/src/Chip",
25927
+ filePath: "packages/components/src/Chip",
25496
25928
  sampleProps: {
25497
25929
  props: {
25498
25930
  label: "Chip Label"
@@ -25773,7 +26205,7 @@ var types_default = {
25773
26205
  }
25774
26206
  },
25775
26207
  category: "overlay",
25776
- filePath: "../components/src/Dialog",
26208
+ filePath: "packages/components/src/Dialog",
25777
26209
  sampleProps: {
25778
26210
  props: {
25779
26211
  title: "Dialog Title"
@@ -25923,7 +26355,7 @@ var types_default = {
25923
26355
  }
25924
26356
  },
25925
26357
  category: "layout",
25926
- filePath: "../components/src/Divider"
26358
+ filePath: "packages/components/src/Divider"
25927
26359
  }
25928
26360
  },
25929
26361
  Form: {
@@ -25981,7 +26413,7 @@ var types_default = {
25981
26413
  }
25982
26414
  },
25983
26415
  category: "display",
25984
- filePath: "../components/src/Form"
26416
+ filePath: "packages/components/src/Form"
25985
26417
  }
25986
26418
  },
25987
26419
  Grid: {
@@ -26098,7 +26530,7 @@ var types_default = {
26098
26530
  }
26099
26531
  },
26100
26532
  category: "display",
26101
- filePath: "../components/src/Grid"
26533
+ filePath: "packages/components/src/Grid"
26102
26534
  }
26103
26535
  },
26104
26536
  IconButton: {
@@ -26265,7 +26697,7 @@ var types_default = {
26265
26697
  }
26266
26698
  },
26267
26699
  category: "display",
26268
- filePath: "../components/src/IconButton"
26700
+ filePath: "packages/components/src/IconButton"
26269
26701
  }
26270
26702
  },
26271
26703
  Image: {
@@ -26442,7 +26874,7 @@ var types_default = {
26442
26874
  }
26443
26875
  },
26444
26876
  category: "display",
26445
- filePath: "../components/src/Image",
26877
+ filePath: "packages/components/src/Image",
26446
26878
  sampleProps: {
26447
26879
  props: {
26448
26880
  source: {
@@ -26850,7 +27282,7 @@ var types_default = {
26850
27282
  }
26851
27283
  },
26852
27284
  category: "form",
26853
- filePath: "../components/src/Input",
27285
+ filePath: "packages/components/src/Input",
26854
27286
  sampleProps: {
26855
27287
  props: {
26856
27288
  placeholder: "Enter text..."
@@ -26958,7 +27390,7 @@ var types_default = {
26958
27390
  }
26959
27391
  },
26960
27392
  category: "navigation",
26961
- filePath: "../components/src/Link",
27393
+ filePath: "packages/components/src/Link",
26962
27394
  sampleProps: {
26963
27395
  props: {
26964
27396
  href: "#"
@@ -27102,7 +27534,7 @@ var types_default = {
27102
27534
  }
27103
27535
  },
27104
27536
  category: "navigation",
27105
- filePath: "../components/src/List",
27537
+ filePath: "packages/components/src/List",
27106
27538
  sampleProps: {
27107
27539
  children: "'List items go here'"
27108
27540
  }
@@ -27224,7 +27656,7 @@ var types_default = {
27224
27656
  }
27225
27657
  },
27226
27658
  category: "navigation",
27227
- filePath: "../components/src/Menu",
27659
+ filePath: "packages/components/src/Menu",
27228
27660
  sampleProps: {
27229
27661
  props: {
27230
27662
  items: [
@@ -27415,7 +27847,7 @@ var types_default = {
27415
27847
  }
27416
27848
  },
27417
27849
  category: "overlay",
27418
- filePath: "../components/src/Popover",
27850
+ filePath: "packages/components/src/Popover",
27419
27851
  sampleProps: {
27420
27852
  props: {
27421
27853
  open: false
@@ -27542,7 +27974,7 @@ var types_default = {
27542
27974
  }
27543
27975
  },
27544
27976
  category: "display",
27545
- filePath: "../components/src/Pressable",
27977
+ filePath: "packages/components/src/Pressable",
27546
27978
  sampleProps: {
27547
27979
  children: "'Press me'"
27548
27980
  }
@@ -27689,7 +28121,7 @@ var types_default = {
27689
28121
  }
27690
28122
  },
27691
28123
  category: "data",
27692
- filePath: "../components/src/Progress",
28124
+ filePath: "packages/components/src/Progress",
27693
28125
  sampleProps: {
27694
28126
  props: {
27695
28127
  value: 65
@@ -27824,7 +28256,7 @@ var types_default = {
27824
28256
  }
27825
28257
  },
27826
28258
  category: "form",
27827
- filePath: "../components/src/RadioButton",
28259
+ filePath: "packages/components/src/RadioButton",
27828
28260
  sampleProps: {
27829
28261
  props: {
27830
28262
  value: "option1",
@@ -27936,7 +28368,7 @@ var types_default = {
27936
28368
  }
27937
28369
  },
27938
28370
  category: "display",
27939
- filePath: "../components/src/SVGImage",
28371
+ filePath: "packages/components/src/SVGImage",
27940
28372
  sampleProps: {
27941
28373
  props: {
27942
28374
  source: '<svg viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="currentColor"/></svg>',
@@ -28187,7 +28619,7 @@ var types_default = {
28187
28619
  }
28188
28620
  },
28189
28621
  category: "layout",
28190
- filePath: "../components/src/Screen",
28622
+ filePath: "packages/components/src/Screen",
28191
28623
  sampleProps: {
28192
28624
  children: "'Screen content'"
28193
28625
  }
@@ -28565,7 +28997,7 @@ var types_default = {
28565
28997
  }
28566
28998
  },
28567
28999
  category: "display",
28568
- filePath: "../components/src/ScrollView",
29000
+ filePath: "packages/components/src/ScrollView",
28569
29001
  sampleProps: {
28570
29002
  children: "'Scrollable content'"
28571
29003
  }
@@ -28825,7 +29257,7 @@ var types_default = {
28825
29257
  }
28826
29258
  },
28827
29259
  category: "form",
28828
- filePath: "../components/src/Select",
29260
+ filePath: "packages/components/src/Select",
28829
29261
  sampleProps: {
28830
29262
  props: {
28831
29263
  options: [
@@ -28961,7 +29393,7 @@ var types_default = {
28961
29393
  }
28962
29394
  },
28963
29395
  category: "display",
28964
- filePath: "../components/src/Skeleton",
29396
+ filePath: "packages/components/src/Skeleton",
28965
29397
  sampleProps: {
28966
29398
  props: {
28967
29399
  width: 200,
@@ -29219,7 +29651,7 @@ var types_default = {
29219
29651
  }
29220
29652
  },
29221
29653
  category: "form",
29222
- filePath: "../components/src/Slider",
29654
+ filePath: "packages/components/src/Slider",
29223
29655
  sampleProps: {
29224
29656
  props: {},
29225
29657
  state: {
@@ -29435,7 +29867,7 @@ var types_default = {
29435
29867
  }
29436
29868
  },
29437
29869
  category: "form",
29438
- filePath: "../components/src/Switch",
29870
+ filePath: "packages/components/src/Switch",
29439
29871
  sampleProps: {
29440
29872
  props: {},
29441
29873
  state: {
@@ -29645,7 +30077,7 @@ var types_default = {
29645
30077
  }
29646
30078
  },
29647
30079
  category: "navigation",
29648
- filePath: "../components/src/TabBar",
30080
+ filePath: "packages/components/src/TabBar",
29649
30081
  sampleProps: {
29650
30082
  props: {
29651
30083
  items: [
@@ -29702,6 +30134,18 @@ var types_default = {
29702
30134
  type: "((row: T, index: number) => void) | undefined",
29703
30135
  required: false
29704
30136
  },
30137
+ {
30138
+ name: "onColumnResize",
30139
+ type: "((key: string, width: number) => void) | undefined",
30140
+ required: false,
30141
+ description: "Called when a column is resized via drag handle.\nReceives the column key and the new width in pixels."
30142
+ },
30143
+ {
30144
+ name: "emptyState",
30145
+ type: "React.ReactNode",
30146
+ required: false,
30147
+ description: "Content to display when `data` is empty.\nRenders in place of the table body."
30148
+ },
29705
30149
  {
29706
30150
  name: "style",
29707
30151
  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>',
@@ -29713,12 +30157,12 @@ var types_default = {
29713
30157
  required: false
29714
30158
  }
29715
30159
  ],
29716
- 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}",
30160
+ 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}",
29717
30161
  relatedTypes: {
29718
30162
  TableSizeVariant: "export type TableSizeVariant = Size;",
29719
30163
  TableType: "export type TableType = 'standard' | 'bordered' | 'striped';",
29720
30164
  TableAlignVariant: "export type TableAlignVariant = 'left' | 'center' | 'right';",
29721
- 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}"
30165
+ 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}"
29722
30166
  },
29723
30167
  registry: {
29724
30168
  name: "Table",
@@ -29764,6 +30208,22 @@ var types_default = {
29764
30208
  type: "((row: T, index: number) => void) | undefined",
29765
30209
  required: false
29766
30210
  },
30211
+ onColumnResize: {
30212
+ name: "onColumnResize",
30213
+ type: "((key: string, width: number) => void) | undefined",
30214
+ description: "Called when a column is resized via drag handle.\nReceives the column key and the new width in pixels.",
30215
+ required: false
30216
+ },
30217
+ emptyState: {
30218
+ name: "emptyState",
30219
+ type: "ReactNode",
30220
+ values: [
30221
+ "false",
30222
+ "true"
30223
+ ],
30224
+ description: "Content to display when `data` is empty.\nRenders in place of the table body.",
30225
+ required: false
30226
+ },
29767
30227
  id: {
29768
30228
  name: "id",
29769
30229
  type: "string | undefined",
@@ -29820,7 +30280,7 @@ var types_default = {
29820
30280
  }
29821
30281
  },
29822
30282
  category: "data",
29823
- filePath: "../components/src/Table",
30283
+ filePath: "packages/components/src/Table",
29824
30284
  sampleProps: {
29825
30285
  props: {
29826
30286
  columns: [
@@ -30018,7 +30478,7 @@ var types_default = {
30018
30478
  }
30019
30479
  },
30020
30480
  category: "display",
30021
- filePath: "../components/src/Text",
30481
+ filePath: "packages/components/src/Text",
30022
30482
  sampleProps: {
30023
30483
  children: "'Sample text content'"
30024
30484
  }
@@ -30320,7 +30780,7 @@ var types_default = {
30320
30780
  }
30321
30781
  },
30322
30782
  category: "form",
30323
- filePath: "../components/src/TextArea",
30783
+ filePath: "packages/components/src/TextArea",
30324
30784
  sampleProps: {
30325
30785
  props: {
30326
30786
  placeholder: "Enter text...",
@@ -30881,7 +31341,7 @@ var types_default = {
30881
31341
  }
30882
31342
  },
30883
31343
  category: "display",
30884
- filePath: "../components/src/TextInput"
31344
+ filePath: "packages/components/src/TextInput"
30885
31345
  }
30886
31346
  },
30887
31347
  Tooltip: {
@@ -30984,7 +31444,7 @@ var types_default = {
30984
31444
  }
30985
31445
  },
30986
31446
  category: "display",
30987
- filePath: "../components/src/Tooltip",
31447
+ filePath: "packages/components/src/Tooltip",
30988
31448
  sampleProps: {
30989
31449
  props: {
30990
31450
  content: "Tooltip text"
@@ -31228,7 +31688,7 @@ var types_default = {
31228
31688
  }
31229
31689
  },
31230
31690
  category: "display",
31231
- filePath: "../components/src/Video",
31691
+ filePath: "packages/components/src/Video",
31232
31692
  sampleProps: {
31233
31693
  props: {
31234
31694
  source: "https://www.w3schools.com/html/mov_bbb.mp4",
@@ -31439,7 +31899,7 @@ var types_default = {
31439
31899
  }
31440
31900
  },
31441
31901
  category: "layout",
31442
- filePath: "../components/src/View",
31902
+ filePath: "packages/components/src/View",
31443
31903
  sampleProps: {
31444
31904
  children: "'View content'"
31445
31905
  }
@@ -46425,7 +46885,7 @@ var types_default = {
46425
46885
  }
46426
46886
  },
46427
46887
  category: "display",
46428
- filePath: "../components/src/Icon",
46888
+ filePath: "packages/components/src/Icon",
46429
46889
  sampleProps: {
46430
46890
  props: {
46431
46891
  name: "home"
@@ -46456,9 +46916,10 @@ var types_default = {
46456
46916
  }
46457
46917
  },
46458
46918
  navigation: {
46919
+ 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';",
46459
46920
  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',
46460
46921
  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}",
46461
- 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;",
46922
+ 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;",
46462
46923
  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}",
46463
46924
  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}",
46464
46925
  TabNavigatorParam: "export type TabNavigatorParam = {\n layout: 'tab'\n routes: RouteParam<TabBarScreenOptions>[]\n layoutComponent?: TabLayoutComponent\n} & BaseNavigatorParam",
@@ -46571,7 +47032,7 @@ var types_default = {
46571
47032
  }
46572
47033
  },
46573
47034
  category: "data",
46574
- filePath: "../components/src/Accordion",
47035
+ filePath: "packages/components/src/Accordion",
46575
47036
  sampleProps: {
46576
47037
  props: {
46577
47038
  items: [
@@ -46647,7 +47108,7 @@ var types_default = {
46647
47108
  }
46648
47109
  },
46649
47110
  category: "display",
46650
- filePath: "../components/src/ActivityIndicator"
47111
+ filePath: "packages/components/src/ActivityIndicator"
46651
47112
  },
46652
47113
  Alert: {
46653
47114
  name: "Alert",
@@ -46742,7 +47203,7 @@ var types_default = {
46742
47203
  }
46743
47204
  },
46744
47205
  category: "display",
46745
- filePath: "../components/src/Alert",
47206
+ filePath: "packages/components/src/Alert",
46746
47207
  sampleProps: {
46747
47208
  props: {
46748
47209
  title: "Alert Title",
@@ -46809,7 +47270,7 @@ var types_default = {
46809
47270
  }
46810
47271
  },
46811
47272
  category: "display",
46812
- filePath: "../components/src/Avatar",
47273
+ filePath: "packages/components/src/Avatar",
46813
47274
  sampleProps: {
46814
47275
  props: {
46815
47276
  fallback: "AB"
@@ -46878,7 +47339,7 @@ var types_default = {
46878
47339
  }
46879
47340
  },
46880
47341
  category: "display",
46881
- filePath: "../components/src/Badge",
47342
+ filePath: "packages/components/src/Badge",
46882
47343
  sampleProps: {
46883
47344
  children: "'3'"
46884
47345
  }
@@ -46964,7 +47425,7 @@ var types_default = {
46964
47425
  }
46965
47426
  },
46966
47427
  category: "navigation",
46967
- filePath: "../components/src/Breadcrumb",
47428
+ filePath: "packages/components/src/Breadcrumb",
46968
47429
  sampleProps: {
46969
47430
  props: {
46970
47431
  items: [
@@ -47077,7 +47538,7 @@ var types_default = {
47077
47538
  }
47078
47539
  },
47079
47540
  category: "form",
47080
- filePath: "../components/src/Button",
47541
+ filePath: "packages/components/src/Button",
47081
47542
  sampleProps: {
47082
47543
  children: "'Click Me'"
47083
47544
  }
@@ -47200,7 +47661,7 @@ var types_default = {
47200
47661
  }
47201
47662
  },
47202
47663
  category: "display",
47203
- filePath: "../components/src/Card",
47664
+ filePath: "packages/components/src/Card",
47204
47665
  sampleProps: {
47205
47666
  children: "'Card content goes here'"
47206
47667
  }
@@ -47321,7 +47782,7 @@ var types_default = {
47321
47782
  }
47322
47783
  },
47323
47784
  category: "form",
47324
- filePath: "../components/src/Checkbox",
47785
+ filePath: "packages/components/src/Checkbox",
47325
47786
  sampleProps: {
47326
47787
  props: {
47327
47788
  label: "Check me"
@@ -47452,7 +47913,7 @@ var types_default = {
47452
47913
  }
47453
47914
  },
47454
47915
  category: "display",
47455
- filePath: "../components/src/Chip",
47916
+ filePath: "packages/components/src/Chip",
47456
47917
  sampleProps: {
47457
47918
  props: {
47458
47919
  label: "Chip Label"
@@ -47607,7 +48068,7 @@ var types_default = {
47607
48068
  }
47608
48069
  },
47609
48070
  category: "overlay",
47610
- filePath: "../components/src/Dialog",
48071
+ filePath: "packages/components/src/Dialog",
47611
48072
  sampleProps: {
47612
48073
  props: {
47613
48074
  title: "Dialog Title"
@@ -47682,7 +48143,7 @@ var types_default = {
47682
48143
  }
47683
48144
  },
47684
48145
  category: "layout",
47685
- filePath: "../components/src/Divider"
48146
+ filePath: "packages/components/src/Divider"
47686
48147
  },
47687
48148
  Form: {
47688
48149
  name: "Form",
@@ -47699,7 +48160,7 @@ var types_default = {
47699
48160
  }
47700
48161
  },
47701
48162
  category: "display",
47702
- filePath: "../components/src/Form"
48163
+ filePath: "packages/components/src/Form"
47703
48164
  },
47704
48165
  Grid: {
47705
48166
  name: "Grid",
@@ -47769,7 +48230,7 @@ var types_default = {
47769
48230
  }
47770
48231
  },
47771
48232
  category: "display",
47772
- filePath: "../components/src/Grid"
48233
+ filePath: "packages/components/src/Grid"
47773
48234
  },
47774
48235
  Icon: {
47775
48236
  name: "Icon",
@@ -62709,7 +63170,7 @@ var types_default = {
62709
63170
  }
62710
63171
  },
62711
63172
  category: "display",
62712
- filePath: "../components/src/Icon",
63173
+ filePath: "packages/components/src/Icon",
62713
63174
  sampleProps: {
62714
63175
  props: {
62715
63176
  name: "home"
@@ -62802,7 +63263,7 @@ var types_default = {
62802
63263
  }
62803
63264
  },
62804
63265
  category: "display",
62805
- filePath: "../components/src/IconButton"
63266
+ filePath: "packages/components/src/IconButton"
62806
63267
  },
62807
63268
  Image: {
62808
63269
  name: "Image",
@@ -62894,7 +63355,7 @@ var types_default = {
62894
63355
  }
62895
63356
  },
62896
63357
  category: "display",
62897
- filePath: "../components/src/Image",
63358
+ filePath: "packages/components/src/Image",
62898
63359
  sampleProps: {
62899
63360
  props: {
62900
63361
  source: {
@@ -63078,7 +63539,7 @@ var types_default = {
63078
63539
  }
63079
63540
  },
63080
63541
  category: "form",
63081
- filePath: "../components/src/Input",
63542
+ filePath: "packages/components/src/Input",
63082
63543
  sampleProps: {
63083
63544
  props: {
63084
63545
  placeholder: "Enter text..."
@@ -63130,7 +63591,7 @@ var types_default = {
63130
63591
  }
63131
63592
  },
63132
63593
  category: "navigation",
63133
- filePath: "../components/src/Link",
63594
+ filePath: "packages/components/src/Link",
63134
63595
  sampleProps: {
63135
63596
  props: {
63136
63597
  href: "#"
@@ -63227,7 +63688,7 @@ var types_default = {
63227
63688
  }
63228
63689
  },
63229
63690
  category: "navigation",
63230
- filePath: "../components/src/List",
63691
+ filePath: "packages/components/src/List",
63231
63692
  sampleProps: {
63232
63693
  children: "'List items go here'"
63233
63694
  }
@@ -63291,7 +63752,7 @@ var types_default = {
63291
63752
  }
63292
63753
  },
63293
63754
  category: "navigation",
63294
- filePath: "../components/src/Menu",
63755
+ filePath: "packages/components/src/Menu",
63295
63756
  sampleProps: {
63296
63757
  props: {
63297
63758
  items: [
@@ -63406,7 +63867,7 @@ var types_default = {
63406
63867
  }
63407
63868
  },
63408
63869
  category: "overlay",
63409
- filePath: "../components/src/Popover",
63870
+ filePath: "packages/components/src/Popover",
63410
63871
  sampleProps: {
63411
63872
  props: {
63412
63873
  open: false
@@ -63471,7 +63932,7 @@ var types_default = {
63471
63932
  }
63472
63933
  },
63473
63934
  category: "display",
63474
- filePath: "../components/src/Pressable",
63935
+ filePath: "packages/components/src/Pressable",
63475
63936
  sampleProps: {
63476
63937
  children: "'Press me'"
63477
63938
  }
@@ -63550,7 +64011,7 @@ var types_default = {
63550
64011
  }
63551
64012
  },
63552
64013
  category: "data",
63553
- filePath: "../components/src/Progress",
64014
+ filePath: "packages/components/src/Progress",
63554
64015
  sampleProps: {
63555
64016
  props: {
63556
64017
  value: 65
@@ -63629,7 +64090,7 @@ var types_default = {
63629
64090
  }
63630
64091
  },
63631
64092
  category: "form",
63632
- filePath: "../components/src/RadioButton",
64093
+ filePath: "packages/components/src/RadioButton",
63633
64094
  sampleProps: {
63634
64095
  props: {
63635
64096
  value: "option1",
@@ -63695,7 +64156,7 @@ var types_default = {
63695
64156
  }
63696
64157
  },
63697
64158
  category: "display",
63698
- filePath: "../components/src/SVGImage",
64159
+ filePath: "packages/components/src/SVGImage",
63699
64160
  sampleProps: {
63700
64161
  props: {
63701
64162
  source: '<svg viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="currentColor"/></svg>',
@@ -63854,7 +64315,7 @@ var types_default = {
63854
64315
  }
63855
64316
  },
63856
64317
  category: "layout",
63857
- filePath: "../components/src/Screen",
64318
+ filePath: "packages/components/src/Screen",
63858
64319
  sampleProps: {
63859
64320
  children: "'Screen content'"
63860
64321
  }
@@ -64070,7 +64531,7 @@ var types_default = {
64070
64531
  }
64071
64532
  },
64072
64533
  category: "display",
64073
- filePath: "../components/src/ScrollView",
64534
+ filePath: "packages/components/src/ScrollView",
64074
64535
  sampleProps: {
64075
64536
  children: "'Scrollable content'"
64076
64537
  }
@@ -64215,7 +64676,7 @@ var types_default = {
64215
64676
  }
64216
64677
  },
64217
64678
  category: "form",
64218
- filePath: "../components/src/Select",
64679
+ filePath: "packages/components/src/Select",
64219
64680
  sampleProps: {
64220
64681
  props: {
64221
64682
  options: [
@@ -64298,7 +64759,7 @@ var types_default = {
64298
64759
  }
64299
64760
  },
64300
64761
  category: "display",
64301
- filePath: "../components/src/Skeleton",
64762
+ filePath: "packages/components/src/Skeleton",
64302
64763
  sampleProps: {
64303
64764
  props: {
64304
64765
  width: 200,
@@ -64443,7 +64904,7 @@ var types_default = {
64443
64904
  }
64444
64905
  },
64445
64906
  category: "form",
64446
- filePath: "../components/src/Slider",
64907
+ filePath: "packages/components/src/Slider",
64447
64908
  sampleProps: {
64448
64909
  props: {},
64449
64910
  state: {
@@ -64570,7 +65031,7 @@ var types_default = {
64570
65031
  }
64571
65032
  },
64572
65033
  category: "form",
64573
- filePath: "../components/src/Switch",
65034
+ filePath: "packages/components/src/Switch",
64574
65035
  sampleProps: {
64575
65036
  props: {},
64576
65037
  state: {
@@ -64707,7 +65168,7 @@ var types_default = {
64707
65168
  }
64708
65169
  },
64709
65170
  category: "navigation",
64710
- filePath: "../components/src/TabBar",
65171
+ filePath: "packages/components/src/TabBar",
64711
65172
  sampleProps: {
64712
65173
  props: {
64713
65174
  items: [
@@ -64772,6 +65233,22 @@ var types_default = {
64772
65233
  type: "((row: T, index: number) => void) | undefined",
64773
65234
  required: false
64774
65235
  },
65236
+ onColumnResize: {
65237
+ name: "onColumnResize",
65238
+ type: "((key: string, width: number) => void) | undefined",
65239
+ description: "Called when a column is resized via drag handle.\nReceives the column key and the new width in pixels.",
65240
+ required: false
65241
+ },
65242
+ emptyState: {
65243
+ name: "emptyState",
65244
+ type: "ReactNode",
65245
+ values: [
65246
+ "false",
65247
+ "true"
65248
+ ],
65249
+ description: "Content to display when `data` is empty.\nRenders in place of the table body.",
65250
+ required: false
65251
+ },
64775
65252
  id: {
64776
65253
  name: "id",
64777
65254
  type: "string | undefined",
@@ -64828,7 +65305,7 @@ var types_default = {
64828
65305
  }
64829
65306
  },
64830
65307
  category: "data",
64831
- filePath: "../components/src/Table",
65308
+ filePath: "packages/components/src/Table",
64832
65309
  sampleProps: {
64833
65310
  props: {
64834
65311
  columns: [
@@ -64958,7 +65435,7 @@ var types_default = {
64958
65435
  }
64959
65436
  },
64960
65437
  category: "display",
64961
- filePath: "../components/src/Text",
65438
+ filePath: "packages/components/src/Text",
64962
65439
  sampleProps: {
64963
65440
  children: "'Sample text content'"
64964
65441
  }
@@ -65128,7 +65605,7 @@ var types_default = {
65128
65605
  }
65129
65606
  },
65130
65607
  category: "form",
65131
- filePath: "../components/src/TextArea",
65608
+ filePath: "packages/components/src/TextArea",
65132
65609
  sampleProps: {
65133
65610
  props: {
65134
65611
  placeholder: "Enter text...",
@@ -65380,7 +65857,7 @@ var types_default = {
65380
65857
  }
65381
65858
  },
65382
65859
  category: "display",
65383
- filePath: "../components/src/TextInput"
65860
+ filePath: "packages/components/src/TextInput"
65384
65861
  },
65385
65862
  Tooltip: {
65386
65863
  name: "Tooltip",
@@ -65430,7 +65907,7 @@ var types_default = {
65430
65907
  }
65431
65908
  },
65432
65909
  category: "display",
65433
- filePath: "../components/src/Tooltip",
65910
+ filePath: "packages/components/src/Tooltip",
65434
65911
  sampleProps: {
65435
65912
  props: {
65436
65913
  content: "Tooltip text"
@@ -65564,7 +66041,7 @@ var types_default = {
65564
66041
  }
65565
66042
  },
65566
66043
  category: "display",
65567
- filePath: "../components/src/Video",
66044
+ filePath: "packages/components/src/Video",
65568
66045
  sampleProps: {
65569
66046
  props: {
65570
66047
  source: "https://www.w3schools.com/html/mov_bbb.mp4",
@@ -65690,7 +66167,7 @@ var types_default = {
65690
66167
  }
65691
66168
  },
65692
66169
  category: "layout",
65693
- filePath: "../components/src/View",
66170
+ filePath: "packages/components/src/View",
65694
66171
  sampleProps: {
65695
66172
  children: "'View content'"
65696
66173
  }
@@ -66865,6 +67342,17 @@ function getNetworkGuide(args) {
66865
67342
  }
66866
67343
  return textResponse(guide);
66867
67344
  }
67345
+ function getPdfGuide(args) {
67346
+ const topic = args.topic;
67347
+ const uri = `idealyst://pdf/${topic}`;
67348
+ const guide = pdfGuides[uri];
67349
+ if (!guide) {
67350
+ return textResponse(
67351
+ `Topic "${topic}" not found. Available topics: overview, api, examples`
67352
+ );
67353
+ }
67354
+ return textResponse(guide);
67355
+ }
66868
67356
  function listPackages(args = {}) {
66869
67357
  const category = args.category;
66870
67358
  if (category) {
@@ -67116,6 +67604,7 @@ var toolHandlers = {
67116
67604
  get_notifications_guide: getNotificationsGuide,
67117
67605
  get_live_activity_guide: getLiveActivityGuide,
67118
67606
  get_network_guide: getNetworkGuide,
67607
+ get_pdf_guide: getPdfGuide,
67119
67608
  list_packages: listPackages,
67120
67609
  get_package_docs: getPackageDocs,
67121
67610
  search_packages: searchPackages2,
@@ -67166,6 +67655,7 @@ export {
67166
67655
  getBiometricsGuideDefinition,
67167
67656
  getPaymentsGuideDefinition,
67168
67657
  getNotificationsGuideDefinition,
67658
+ getPdfGuideDefinition,
67169
67659
  listPackagesDefinition,
67170
67660
  getPackageDocsDefinition,
67171
67661
  searchPackagesDefinition,
@@ -67210,6 +67700,7 @@ export {
67210
67700
  getNotificationsGuide,
67211
67701
  getLiveActivityGuide,
67212
67702
  getNetworkGuide,
67703
+ getPdfGuide,
67213
67704
  listPackages,
67214
67705
  getPackageDocs,
67215
67706
  searchPackages2 as searchPackages,
@@ -67221,4 +67712,4 @@ export {
67221
67712
  toolHandlers,
67222
67713
  callTool
67223
67714
  };
67224
- //# sourceMappingURL=chunk-PLKNERFG.js.map
67715
+ //# sourceMappingURL=chunk-6VJRQEWM.js.map