local l=require(script.Parent.Parent.Packages.Roact)local d=require(script.Parent.Parent.Packages.t)local Z=require(script.Parent.Parent.config)local z=require(script.Parent.Parent.DevModuleConfig.ConfigurationContext)local w=require(script.Parent.Parent.enums)local J=require(script.Parent.EmoteBar)local n=require(script.Parent.EmoteWheelBillboard)local c=l.Component:extend("\069\109\111\116\101\086\105\101\119")c.defaultProps={isVisible=true;forceHide=false}c.validateProps=d.strictInterface({forceHide=d.boolean;isVisible=d.boolean,configuration=Z.client.validate})function c.render(d)local Z=d.props.configuration.guiType if Z==w.GuiType.EmoteBar then return l.createElement(J,{isVisible=d.props.isVisible and not d.props.forceHide})elseif Z==w.GuiType.EmoteWheel then return l.createElement(n,{isVisible=d.props.isVisible})end end return z.withConfiguration(c)


local Roact = require(script.Parent.Parent.Packages.Roact)
local t = require(script.Parent.Parent.Packages.t)
local configs = require(script.Parent.Parent.config)
local ConfigurationContext = require(script.Parent.Parent.DevModuleConfig.ConfigurationContext)
local enums = require(script.Parent.Parent.enums)
local EmoteBar = require(script.Parent.EmoteBar)
local EmoteWheelBillboard = require(script.Parent.EmoteWheelBillboard)

local EmoteView = Roact.Component:extend("EmoteView")

EmoteView.defaultProps = {
	isVisible = true,
	forceHide = false,
}

EmoteView.validateProps = t.strictInterface({
	forceHide = t.boolean,
	isVisible = t.boolean,
	configuration = configs.client.validate,
})

function EmoteView:render()
	local guiType = self.props.configuration.guiType

	if guiType == enums.GuiType.EmoteBar then
		return Roact.createElement(EmoteBar, {
			isVisible = self.props.isVisible and not self.props.forceHide,
		})
	elseif guiType == enums.GuiType.EmoteWheel then
		return Roact.createElement(EmoteWheelBillboard, {
			isVisible = self.props.isVisible,
		})
	end
end

return ConfigurationContext.withConfiguration(EmoteView)
