@idealyst/mcp-server 1.2.124 → 1.2.126

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
@@ -11585,14 +11585,18 @@ var componentMetadata = {
11585
11585
  description: "Structured data display in rows and columns",
11586
11586
  features: [
11587
11587
  "Sortable columns",
11588
- "Custom cell rendering",
11589
- "Header and footer",
11590
- "Striped rows"
11588
+ "Custom cell rendering via column `render` function",
11589
+ "Custom column titles (ReactNode) \u2014 render icons, badges, or any element as header",
11590
+ "Footer row support \u2014 static content or computed from data via `footer` callback",
11591
+ "Striped, bordered, and standard type variants",
11592
+ "Column alignment (left, center, right)"
11591
11593
  ],
11592
11594
  bestPractices: [
11593
11595
  "Use for structured, comparable data",
11594
11596
  "Align numbers to the right",
11595
- "Provide sorting for large datasets"
11597
+ "Column `title` accepts ReactNode \u2014 use for custom headers with icons or styled text",
11598
+ "Column `footer` accepts ReactNode or `(data: T[]) => ReactNode` \u2014 use the callback form for computed values like sums/averages",
11599
+ "Footer only renders when at least one column has a `footer` defined"
11596
11600
  ]
11597
11601
  },
11598
11602
  Tabs: {
@@ -71051,6 +71055,11 @@ function postProcessComponentTypes(componentName, result) {
71051
71055
  result.usageNote = "TextArea has a DIFFERENT API from TextInput. TextArea uses onChange (not onChangeText) and does NOT have onBlur. TextArea DOES support label, error, and rows props (TextInput does NOT support label/error). TextArea supports `fill` prop: when true, all container layers get flex: 1 so the textarea expands to fill available vertical space (useful inside Dialog with avoidKeyboard). Always call get_component_types('TextArea') separately \u2014 do NOT assume it shares TextInput's props.";
71052
71056
  }
71053
71057
  }
71058
+ if (componentName.toLowerCase() === "table") {
71059
+ if (typeof result === "object" && result !== null) {
71060
+ result.usageNote = "Table column `title` accepts ReactNode \u2014 you can render icons, styled text, or any element as the column header. Table column `footer` accepts `ReactNode | ((data: T[]) => ReactNode)`. Use static ReactNode for labels (e.g., 'Total'), or a callback function for computed values (e.g., `(data) => '$' + data.reduce((sum, r) => sum + r.price, 0).toFixed(2)`). The footer row only renders when at least one column has a `footer` defined \u2014 columns without `footer` render empty cells. Table does NOT have compound components \u2014 no Table.Header, Table.Body, Table.Footer. Use the `columns` prop with `title` and `footer` fields.";
71061
+ }
71062
+ }
71054
71063
  if (componentName.toLowerCase() === "image") {
71055
71064
  if (typeof result === "object" && result !== null) {
71056
71065
  result.usageNote = "Image uses `objectFit` (CSS convention) \u2014 NOT `resizeMode` (React Native convention). Valid objectFit values: 'contain', 'cover', 'fill', 'none', 'scale-down'. Image uses `source` prop (accepts URL string or ImageSourcePropType) \u2014 NOT `src`. Example: <Image source=\"https://example.com/photo.jpg\" objectFit=\"cover\" width={200} height={200} />";