local u=import("\046\046\047\116\121\112\101\115\047\067\111\108\111\114\051")local s=import("\046\046\047\069\110\117\109\047\070\111\110\116")local f=import("\046\047\071\117\105\066\117\116\116\111\110")local d=import("\046\046\047\073\110\115\116\097\110\099\101\080\114\111\112\101\114\116\121")local C=import("\046\046\047\069\110\117\109\047\084\101\120\116\088\065\108\105\103\110\109\101\110\116")local j=import("\046\046\047\069\110\117\109\047\084\101\120\116\089\065\108\105\103\110\109\101\110\116")local F=f:extend("\084\101\120\116\066\117\116\116\111\110",{creatable=true})F.properties.Font=d.enum(s,{getDefault=function()return s.Legacy end})F.properties.Text=d.typed("\115\116\114\105\110\103",{getDefault=function()return"\066\117\116\116\111\110"end})F.properties.TextColor3=d.typed("\067\111\108\111\114\051",{getDefault=function()return u.fromRGB(27,42,53)end})F.properties.TextSize=d.typed("\110\117\109\098\101\114",{getDefault=function()return 14 end})F.properties.TextWrapped=d.typed("\098\111\111\108\101\097\110",{getDefault=function()return false end})F.properties.TextXAlignment=d.enum(C,{getDefault=function()return C.Left end})F.properties.TextYAlignment=d.enum(j,{getDefault=function()return j.Top end})return F
local Color3 = import("../types/Color3")
local Font = import("../Enum/Font")
local GuiButton = import("./GuiButton")
local InstanceProperty = import("../InstanceProperty")
local TextXAlignment = import("../Enum/TextXAlignment")
local TextYAlignment = import("../Enum/TextYAlignment")

local TextButton = GuiButton:extend("TextButton", {
	creatable = true,
})

TextButton.properties.Font = InstanceProperty.enum(Font, {
	getDefault = function()
		return Font.Legacy
	end,
})

TextButton.properties.Text = InstanceProperty.typed("string", {
	getDefault = function()
		return "Button"
	end,
})

TextButton.properties.TextColor3 = InstanceProperty.typed("Color3", {
	getDefault = function()
		return Color3.fromRGB(27, 42, 53)
	end,
})

TextButton.properties.TextSize = InstanceProperty.typed("number", {
	getDefault = function()
		return 14
	end,
})

TextButton.properties.TextWrapped = InstanceProperty.typed("boolean", {
	getDefault = function()
		return false
	end,
})

TextButton.properties.TextXAlignment = InstanceProperty.enum(TextXAlignment, {
	getDefault = function()
		return TextXAlignment.Left
	end,
})

TextButton.properties.TextYAlignment = InstanceProperty.enum(TextYAlignment, {
	getDefault = function()
		return TextYAlignment.Top
	end,
})

return TextButton
