return function(p)local M=require(script.Parent.Parent.Roact)local R=require(script.Parent.Parent.lib);(script.Parent.assets.selectors:FindFirstChild("\073\116\101\109",true)):SetAttribute("\065\116\116\114\105\098\117\116\101","\116\101\115\116")local t=R.fromInstance(M,script.Parent.assets.selectors)local function m(p)return{[M.Children]={[p]=M.createElement("\070\111\108\100\101\114")}}end local function T()return M.createElement(t,{TitleLabel=m("\110\097\109\101\070\097\115\116");[R.Select.class("\084\101\120\116\076\097\098\101\108")]=m("\099\108\097\115\115");[R.Select.isA("\084\101\120\116\076\097\098\101\108")]=m("\105\115\065"),[R.Select.classPattern("\094\084\101\120\116")]=m("\099\108\097\115\115\080\097\116\116\101\114\110");[R.Select.name("\073\116\101\109")]=m("\110\097\109\101"),[R.Select.namePattern("\094\066\117\116\116\111\110")]=m("\110\097\109\101\080\097\116\116\101\114\110"),[R.Select.attribute("\065\116\116\114\105\098\117\116\101","\116\101\115\116")]=m("\097\116\116\114\105\098\117\116\101");[R.Select.prop("\084\101\120\116","\069\120\097\109\112\108\101\080\114\111\112\083\101\108\101\099\116\111\114")]=m("\112\114\111\112"),[R.Select.propPattern("\084\101\120\116","\094\069\120\097\109\112\108\101\080\114\111\112\080\097\116\116\101\114\110\083\101\108\101\099\116\111\114")]=m("\112\114\111\112\080\097\116\116\101\114\110");[R.Select.tag("\069\120\097\109\112\108\101")]=m("\116\097\103");[R.Select.every(R.Select.tag("\069\118\101\114\121\069\120\097\109\112\108\101\049"),R.Select.tag("\069\118\101\114\121\069\120\097\109\112\108\101\050"))]=m("\101\118\101\114\121");[R.Select.some(R.Select.tag("\083\111\109\101\069\120\097\109\112\108\101\049"),R.Select.tag("\083\111\109\101\069\120\097\109\112\108\101\050"))]=m("\115\111\109\101");[R.Select.no(R.Select.tag("\078\111\069\120\097\109\112\108\101"))]=m("\110\111")})end local O=M.mount(M.createElement(T),p)return function()M.unmount(O)end end
--[[
	All selectors should match and give their associated instances a child
	folder.
]]
return function(target)
	local Roact = require(script.Parent.Parent.Roact)
	local RoactTemplate = require(script.Parent.Parent.lib)

	-- Current version of Rojo may not sync in attributes
	script.Parent.assets.selectors:FindFirstChild("Item", true):SetAttribute("Attribute", "test")

	local ExampleTemplate = RoactTemplate.fromInstance(Roact, script.Parent.assets.selectors)

	local function identifier(name)
		return {
			[Roact.Children] = {
				[name] = Roact.createElement("Folder"),
			},
		}
	end

	local function Example()
		return Roact.createElement(ExampleTemplate, {
			TitleLabel = identifier("nameFast"),
			[RoactTemplate.Select.class("TextLabel")] = identifier("class"),
			[RoactTemplate.Select.isA("TextLabel")] = identifier("isA"),
			[RoactTemplate.Select.classPattern("^Text")] = identifier("classPattern"),
			[RoactTemplate.Select.name("Item")] = identifier("name"),
			[RoactTemplate.Select.namePattern("^Button")] = identifier("namePattern"),
			[RoactTemplate.Select.attribute("Attribute", "test")] = identifier("attribute"),
			[RoactTemplate.Select.prop("Text", "ExamplePropSelector")] = identifier("prop"),
			[RoactTemplate.Select.propPattern("Text", "^ExamplePropPatternSelector")] = identifier("propPattern"),
			[RoactTemplate.Select.tag("Example")] = identifier("tag"),
			[RoactTemplate.Select.every(
				RoactTemplate.Select.tag("EveryExample1"),
				RoactTemplate.Select.tag("EveryExample2")
			)] = identifier("every"),
			[RoactTemplate.Select.some(
				RoactTemplate.Select.tag("SomeExample1"),
				RoactTemplate.Select.tag("SomeExample2")
			)] = identifier("some"),
			[RoactTemplate.Select.no(RoactTemplate.Select.tag("NoExample"))] = identifier("no"),
		})
	end

	local tree = Roact.mount(Roact.createElement(Example), target)

	return function()
		Roact.unmount(tree)
	end
end
