local q=import("\046\046\047\116\121\112\101\115\047\067\111\108\111\114\051")local H=import("\046\046\047\069\110\117\109\047\070\111\110\116")local N=import("\046\047\071\117\105\066\117\116\116\111\110")local b=import("\046\046\047\073\110\115\116\097\110\099\101\080\114\111\112\101\114\116\121")local v=import("\046\046\047\069\110\117\109\047\084\101\120\116\088\065\108\105\103\110\109\101\110\116")local Q=import("\046\046\047\069\110\117\109\047\084\101\120\116\089\065\108\105\103\110\109\101\110\116")local n=N:extend("\084\101\120\116\066\117\116\116\111\110",{creatable=true})n.properties.Font=b.enum(H,{getDefault=function()return H.Legacy end})n.properties.Text=b.typed("\115\116\114\105\110\103",{getDefault=function()return"\066\117\116\116\111\110"end})n.properties.TextColor3=b.typed("\067\111\108\111\114\051",{getDefault=function()return q.fromRGB(27,42,53)end})n.properties.TextSize=b.typed("\110\117\109\098\101\114",{getDefault=function()return 14 end})n.properties.TextWrapped=b.typed("\098\111\111\108\101\097\110",{getDefault=function()return false end})n.properties.TextXAlignment=b.enum(v,{getDefault=function()return v.Left end})n.properties.TextYAlignment=b.enum(Q,{getDefault=function()return Q.Top end})return n
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
