GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing json-render.dev — json-render | The Generative UI Framework The Generative UI Framework AI → json-render → UIGenerate dynamic, personalized UIs from prompts without sacrificing reliability. Predefined components and actions for safe, predictable output. waiting... Accordion Collapsible sections. Items as [{title, content}]. Type 'single' (default) or 'multiple'. items: arraytype: enum? Alert Alert banner title: stringmessage: string?type: enum? Avatar User avatar with fallback initials src: string?name: stringsize: enum? Badge Status badge text: stringvariant: enum? BarGraph Vertical bar chart title: string?data: array Button Clickable button. primary = solid fill, outline = bordered/transparent, secondary = muted fill. Bind on.press for handler. label: stringvariant: enum?disabled: boolean? on.press ButtonGroup Segmented button group. Use { $bindState } on selected for selected value. buttons: arrayselected: string? on.change Cardslots: default Container card for content sections. Use for forms/content boxes, NOT for page headers. title: string?description: string?maxWidth: enum?centered: boolean? Carousel Horizontally scrollable carousel of cards. items: array Checkbox Checkbox input. Use { $bindState } on checked for binding. label: stringname: stringchecked: boolean? on.change Collapsibleslots: default Collapsible section with trigger. Children render inside. title: stringdefaultOpen: boolean? Dialogslots: default Modal dialog. Set openPath to a boolean state path. Use setState to toggle. title: stringdescription: string?openPath: string Drawerslots: default Bottom sheet drawer. Set openPath to a boolean state path. Use setState to toggle. title: stringdescription: string?openPath: string DropdownMenu Dropdown menu with trigger button and selectable items. label: stringitems: array on.select Gridslots: default Grid layout (1-6 columns) columns: number?gap: enum? Heading Heading text (h1-h4) text: stringlevel: enum? Icon Lucide icon by name. PascalCase: MapPin, Mail, Globe, Calendar, Star, Heart, Check, X, ArrowRight, Phone, Building, Clock, Shield, Zap, Users, Eye, Download, Upload, Search, Filter, Settings, Bell, ChevronRight, ExternalLink, Info, AlertTriangle, CheckCircle, XCircle. Use in horizontal Stacks with Text for icon+label patterns. Never use emoji — always use Icon. name: stringsize: enum?color: enum? Image Placeholder image (displays alt text in a styled box) alt: stringwidth: number?height: number? Input Text input field. Use { $bindState } on value for two-way binding. Use checks for validation (e.g. required, email, minLength). label: stringname: stringtype: enum?placeholder: string?value: string?checks: array? on.submiton.focuson.blur LineGraph Line chart with points title: string?data: array Link Anchor link. Bind on.press for click handler. label: stringhref: string on.press Metric Key metric / stat display. Shows a large value with label and optional change indicator. Use for dashboard KPIs. label: stringvalue: stringchange: string?changeType: enum?prefix: string?suffix: string? Pagination Page navigation. Use { $bindState } on page for current page number. totalPages: numberpage: number? on.change Popover Popover that appears on click of trigger. trigger: stringcontent: string Progress Progress bar (value 0-100) value: numbermax: number?label: string? Radio Radio button group. Use { $bindState } on value for binding. label: stringname: stringoptions: arrayvalue: string? on.change Rating Interactive star rating. Use { $bindState } on value for binding. Set interactive: false for read-only display. value: numbermax: number?label: string?interactive: boolean? on.change Select Dropdown select input. Use { $bindState } on value for binding. Use checks for validation. label: stringname: stringoptions: arrayplaceholder: string?value: string?checks: array? on.change Separator Visual separator line orientation: enum? Skeleton Loading placeholder skeleton width: string?height: string?rounded: boolean? Slider Range slider input. Use { $bindState } on value for binding. label: string?min: number?max: number?step: number?value: number? on.change Spinner Loading spinner indicator size: enum?label: string? Stackslots: default Flex container for layouts direction: enum?gap: enum?align: enum?justify: enum? Switch Toggle switch. Use { $bindState } on checked for binding. label: stringname: stringchecked: boolean? on.change Table Data table. columns: header labels. rows: 2D array of cell strings, e.g. [["Alice","admin"],["Bob","user"]]. columns: arrayrows: arraycaption: string? Tabs Tab navigation. Use { $bindState } on value for active tab binding. tabs: arraydefaultValue: string?value: string? on.change Text Paragraph text. In repeat scopes, use { "$template": "${field1} ${field2}" } to interpolate item fields. text: stringvariant: enum? Textarea Multi-line text input. Use { $bindState } on value for binding. Use checks for validation. label: stringname: stringplaceholder: string?rows: number?value: string?checks: array? Toggle Toggle button. Use { $bindState } on pressed for state binding. label: stringpressed: boolean?variant: enum? on.change ToggleGroup Group of toggle buttons. Type 'single' (default) or 'multiple'. Use { $bindState } on value. items: arraytype: enum?value: string? on.change Tooltip Hover tooltip. Shows content on hover over text. content: stringtext: string waiting... npm install @json-render/core @json-render/react01 Define Your CatalogSet the guardrails. Define which components, actions, and data bindings AI can use. 02 AI GeneratesDescribe what you want. AI generates JSON constrained to your catalog. Every interface is unique. 03 Render InstantlyStream the response. Your components render progressively as JSON arrives. Define your catalogComponents, actions, and validation functions. AI generates JSONConstrained output that your components render natively. Export as CodeExport generated UI as standalone React components. No runtime dependencies required. Generated UI TreeAI generates a JSON structure from the user's prompt. Exported React CodeExport as a standalone Next.js project with all components. The export includes FeaturesGenerative UIGenerate dynamic, personalized interfaces from prompts with AI GuardrailsAI can only use components you define in the catalog StreamingProgressive rendering as JSON streams from the model React & React NativeRender on web and mobile from the same catalog and spec format Data BindingConnect props to state with $state, $item, $index, and two-way binding Code ExportExport as standalone React code with no runtime dependencies |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |