Designing Game Assets
State Components
Section titled “State Components”<TextField>
Section titled “<TextField>”A single-line text input field.
<TextField name="characterName" placeholder="Enter character name..."> Character Name</TextField>Properties
Section titled “Properties”name: Unique identifier for the fieldplaceholder: Placeholder text (optional, default: "")children: Label text for the field
<TextAreaField>
Section titled “<TextAreaField>”A multi-line text input field.
<TextAreaField name="characterDescription" rows={6} placeholder="Describe your character's appearance, personality, and background..."> Character Description</TextAreaField>Properties
Section titled “Properties”name: Unique identifier for the fieldrows: Number of rows (optional, default: 3)placeholder: Placeholder text (optional, default: "")children: Label text for the field
<NumberField>
Section titled “<NumberField>”A numeric input field.
<NumberField name="characterAge" min={0} max={120} placeholder="25"> Age</NumberField>Properties
Section titled “Properties”name: Unique identifier for the fieldmin: Minimum value (optional)max: Maximum value (optional)placeholder: Placeholder text (optional, default: “0”)children: Label text for the field
<SelectField>
Section titled “<SelectField>”A dropdown selection field.
<SelectField name="characterClass" options={[ "Fighter", "Wizard", "Rogue", "Cleric", "Ranger", "Paladin", "Bard", "Druid", ]} placeholder="Choose a class..." defaultValue="Wizard"> Choose Class</SelectField>Properties
Section titled “Properties”name: Unique identifier for the fieldoptions: Array of selectable optionsplaceholder: Placeholder text (optional, default: ”—”)defaultValue: Default selected value (optional)children: Label text for the field
<CheckboxField>
Section titled “<CheckboxField>”A checkbox input field.
<CheckboxField name="acceptTerms" defaultValue={false}> I accept the terms and conditions</CheckboxField>Properties
Section titled “Properties”name: Unique identifier for the fielddefaultValue: Initial checkbox state (optional, default: false)children: Label text for the checkbox
<Tracker>
Section titled “<Tracker>”A visual tracker for counting or tracking states.
<Tracker name="healthPoints" min={1} max={10} asClock={false}> Health Points</Tracker>Properties
Section titled “Properties”name: Unique identifier for the trackermin: Minimum number of items (optional, default: 1)max: Maximum number of items (optional)asClock: Whether to display as a clock (optional)children: Label text for the tracker
<List>
Section titled “<List>”Creates a list of items that can be added, removed, and reordered.
<List name="inventory" min={1} max={10} addButtonLabel="Add Item"> <Row> <TextField name="itemName" placeholder="Item name..." /> <NumberField name="quantity" min={1} max={99} /> <CheckboxField name="equipped" defaultValue={false}> Equipped </CheckboxField> </Row></List>Properties
Section titled “Properties”name: Unique identifier for the listmin: Minimum number of items (optional, default: 1)max: Maximum number of items (optional)addButtonLabel: Custom text for the add button (optional, default: “Add Item”)children: The template for list items
<RollingTable>
Section titled “<RollingTable>”A table for random rolls with history.
<RollingTable name="lootTable" label="Random Loot" items={[ "Gold Coins", "Healing Potion", "Magic Sword", "Scroll of Fireball", "Ring of Protection", ]}/>Properties
Section titled “Properties”name: Unique identifier for the tablelabel: Display label for the table (optional, defaults to name)items: Array of possible outcomesgroups: Array of groups with their own items (cannot be used with items)
UI Components
Section titled “UI Components”<Heading>
Section titled “<Heading>”Displays a bold heading.
<Heading>This is a heading</Heading>Properties
Section titled “Properties”children: The heading text
<Label>
Section titled “<Label>”Displays a label text.
<Label>This is a label</Label>Properties
Section titled “Properties”children: The label text
<Detail>
Section titled “<Detail>”Displays text with gray styling.
<Detail fullWidth={true}> This is a detail text that spans the full width</Detail>Properties
Section titled “Properties”children: The text contentfullWidth: Whether the text should take full width (optional)
A wrapper component that groups content together.
<Box> <p>Hello, world!</p></Box>Properties
Section titled “Properties”children: The content to be wrapped.
<Columns>
Section titled “<Columns>”Creates a responsive grid layout with multiple columns.
<Columns cols={3}> <div>Column 1</div> <div>Column 2</div> <div>Column 3</div></Columns>Properties
Section titled “Properties”cols: Number of columns (optional, default: 2)children: The content to be displayed in columns
<Divider>
Section titled “<Divider>”Creates a horizontal separator line.
<Divider />Creates a horizontal flex container.
<Row align="start"> <div>Item 1</div> <div>Item 2</div></Row>Properties
Section titled “Properties”children: The content to be displayed in a rowalign: Alignment of items (“start”, “center”, “end”, “baseline”, “stretch”, optional, default: “center”)
<Stack>
Section titled “<Stack>”Creates a vertical flex container with spacing.
<Stack> <div>Item 1</div> <div>Item 2</div></Stack>Properties
Section titled “Properties”children: The content to be stacked vertically