return function(C,c)local n=C.Component:extend("\080\105\099\107\101\114")function n.render(n)local S=n.props local U={}U.UIListLayout=C.createElement("\085\073\076\105\115\116\076\097\121\111\117\116",{SortOrder=Enum.SortOrder.LayoutOrder;Padding=UDim.new(0,1)})for C=1,#(S.children or{}),1 do U[#U+1]=S.children[C]end local O=Color3.fromRGB(200,200,200)return C.createElement("\073\109\097\103\101\066\117\116\116\111\110",{AnchorPoint=S.AnchorPoint;Position=S.Position,BackgroundTransparency=1.0;Size=UDim2.new(0,16,0,16);Image="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061\049\048\056\051\050\052\056\054\049\056",[c.Event.Activated]=function(C)n:setState({open=not n.state.open})end},{InputCapture=C.createElement("\073\109\097\103\101\066\117\116\116\111\110",{Position=UDim2.new(0,-5000,0,-5000),Size=UDim2.new(1,10000,1,10000);BackgroundTransparency=1.0;Visible=n.state.open,[c.Event.Activated]=function(C)n:setState({open=false})end},{UIPadding=C.createElement("\085\073\080\097\100\100\105\110\103",{PaddingLeft=UDim.new(0,5000);PaddingRight=UDim.new(0,5000),PaddingTop=UDim.new(0,5000),PaddingBottom=UDim.new(0,5000)});Menu=C.createElement("\070\114\097\109\101",{Position=UDim2.new(1,0,1,0);AnchorPoint=Vector2.new(1,0),Size=UDim2.new(0,150,0,#U*21-1),BackgroundColor3=O;BorderColor3=O;ClipsDescendants=true},U)})})end function n.init(C)C.state={open=false}end return n end
return function(Roact, ReactRoblox)
	local Picker = Roact.Component:extend("Picker")

	function Picker:render()
		local props = self.props

		local children = {}
		children.UIListLayout = Roact.createElement("UIListLayout", {
			SortOrder = Enum.SortOrder.LayoutOrder,
			Padding = UDim.new(0, 1),
		})
		for i = 1, #(props.children or {}) do
			children[#children + 1] = props.children[i]
		end

		local borderColor = Color3.fromRGB(200, 200, 200)
		return Roact.createElement("ImageButton", {
			AnchorPoint = props.AnchorPoint,
			Position = props.Position,
			BackgroundTransparency = 1.0,
			Size = UDim2.new(0, 16, 0, 16),
			Image = "http://www.roblox.com/asset/?id=1083248618",

			[ReactRoblox.Event.Activated] = function(rbx)
				self:setState({
					open = not self.state.open,
				})
			end,
		}, {
			InputCapture = Roact.createElement("ImageButton", {
				Position = UDim2.new(0, -5000, 0, -5000),
				Size = UDim2.new(1, 10000, 1, 10000),
				BackgroundTransparency = 1.0,
				Visible = self.state.open,

				[ReactRoblox.Event.Activated] = function(rbx)
					self:setState({
						open = false,
					})
				end,
			}, {
				UIPadding = Roact.createElement("UIPadding", {
					PaddingLeft = UDim.new(0, 5000),
					PaddingRight = UDim.new(0, 5000),
					PaddingTop = UDim.new(0, 5000),
					PaddingBottom = UDim.new(0, 5000),
				}),
				Menu = Roact.createElement("Frame", {
					Position = UDim2.new(1, 0, 1, 0),
					AnchorPoint = Vector2.new(1, 0),
					Size = UDim2.new(0, 150, 0, #children * 21 - 1),
					BackgroundColor3 = borderColor,
					BorderColor3 = borderColor,
					ClipsDescendants = true,
				}, children),
			}),
		})
	end

	function Picker:init()
		self.state = {
			open = false,
		}
	end

	return Picker
end
