mirror of
https://github.com/centau/vide.git
synced 2026-08-20 14:41:37 +00:00
* update css and snippets * Add banner * improve home page * Update Banner * cleanup * Update font to JetBrains Mono * Add a quick look to Home * Simplify Home Page * Removed banner, removed copyright notice, reduced home page
65 lines
1.4 KiB
Markdown
65 lines
1.4 KiB
Markdown
# Components
|
|
|
|
Vide encourages separating different parts of your UI into functions called
|
|
*components*.
|
|
|
|
A component is a function that creates and returns a piece of UI.
|
|
|
|
This is a way to separate your UI into small chunks that you can reuse and put
|
|
together.
|
|
|
|
::: code-group
|
|
|
|
```luau [Button.luau]
|
|
local create = vide.create
|
|
|
|
local function Button(props: {
|
|
Position: UDim2,
|
|
Text: string,
|
|
Activated: () -> ()
|
|
})
|
|
return create "TextButton" {
|
|
BackgroundColor3 = Color3.fromRGB(50, 50, 50),
|
|
TextColor3 = Color3.fromRGB(255, 255, 255),
|
|
Size = UDim2.fromOffset(200, 150),
|
|
|
|
Position = props.Position,
|
|
Text = props.Text,
|
|
Activated = props.Activated,
|
|
|
|
create "UICorner" {}
|
|
}
|
|
end
|
|
|
|
return Button
|
|
```
|
|
|
|
```luau [Menu.luau]
|
|
local create = vide.create
|
|
|
|
local Button = require(Button)
|
|
|
|
local function Menu()
|
|
return create "ScreenGui" {
|
|
Button {
|
|
Position = UDim2.fromOffset(200, 200),
|
|
Text = "back",
|
|
Activated = function()
|
|
print "go to previous page"
|
|
end
|
|
},
|
|
|
|
Button {
|
|
Position = UDim2.fromOffset(400, 200),
|
|
Text = "next",
|
|
Activated = function()
|
|
print "go to next page"
|
|
end
|
|
}
|
|
}
|
|
end
|
|
```
|
|
|
|
:::
|
|
|
|
A single parameter `props` is used to pass properties to the component.
|