> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.knapsack.cloud/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.knapsack.cloud/_mcp/server.

## Union prop types now infer enum controls correctly (v4.93.2)

Components whose props type is a union (e.g. `ButtonVariantProps | LinkVariantProps`) now infer `size`, `color`, and other string-literal props as select/option controls instead of free-text fields.

Read about Using Multiple Prop Types

## Component preview spinner stays until demo paints (v4.93.2)

The loading spinner on pattern template pages now stays visible until the component demo has rendered, so you no longer see a blank stage between the spinner and the demo.

Read about Creating Demos

## TipTap upgraded to v3.24 with new editor extensions (v4.93.1)

The rich text editor now supports drag-and-drop and paste of images directly into text blocks (uploading to the CDN and inserting inline), plus improved cursor navigation between block-level elements.

Read about the Text Block

## MCP tools annotated as read-only (v4.93.1)

All Knapsack MCP tools now declare `readOnlyHint: true`, so MCP clients like Claude Desktop and Cursor can approve read-only tool calls without prompting each time.

Read about Intelligent Tools

## Unremovable trailing paragraphs in text editor fixed (v4.93.1)

Text blocks no longer gain a phantom trailing paragraph after non-paragraph blocks (images, code blocks, headings) that was impossible to delete.

Read about the Text Block

## Table rich text toolbar now visible above table content (v4.93.1)

The formatting toolbar for table cells is no longer hidden behind other elements, so bold, italic, and other formatting options are accessible when editing table content.

Read about the Table Block