local K=require(script.Parent.Parent["\084\121\112\101\046\114\111\098\108\111\120"])local D={}local O={__tostring=function(K)return string.format("\082\111\097\099\116\072\111\115\116\067\104\097\110\103\101\069\118\101\110\116\040\037\115\041",K.name)end}setmetatable(D,{__index=function(r,l)local V={[K]=K.HostChangeEvent;name=l}setmetatable(V,O)D[l]=V return V end})return D
--[[
	Change is used to generate special prop keys that can be used to connect to
	GetPropertyChangedSignal.

	Generally, Change is indexed by a Roblox property name:

		Roact.createElement("TextBox", {
			[Roact.Change.Text] = function(rbx)
				print("The TextBox", rbx, "changed text to", rbx.Text)
			end,
		})
]]

local Type = require(script.Parent.Parent["Type.roblox"])

local Change = {}

local changeMetatable = {
	__tostring = function(self)
		return string.format("RoactHostChangeEvent(%s)", self.name)
	end,
}

setmetatable(Change, {
	__index = function(self, propertyName)
		local changeListener = {
			[Type] = Type.HostChangeEvent,
			name = propertyName,
		}

		setmetatable(changeListener, changeMetatable)
		Change[propertyName] = changeListener

		return changeListener
	end,
})

return Change
