function RadioButtonGroupClass.new(N,f)local z=setmetatable({},RadioButtonGroupClass)z._Maid=Lazy.Utilities.Maid.new()z._ChangedBind=Instance.new("\066\105\110\100\097\098\108\101\069\118\101\110\116")z._ActiveRadio=f[1]z.Frame=N z.RadioButtons=f z.Changed=z._ChangedBind.Event init(z)return z end function RadioButtonGroupClass.Create(N,f)local z={}local function j(N,f)local j=Lazy.Classes.RadioButtonLabel.Create(f)j.Frame.LayoutOrder=N z[N]=j return j.Frame end local t=Lazy.Constructors.List.Create(N,f or#N,Enum.FillDirection.Vertical,UDim.new(0,5),j)return RadioButtonGroupClass.new(t,z)end
-- Public Constructors

function RadioButtonGroupClass.new(frame, radioButtons)
	local self = setmetatable({}, RadioButtonGroupClass)

	self._Maid = Lazy.Utilities.Maid.new()
	self._ChangedBind = Instance.new("BindableEvent")
	self._ActiveRadio = radioButtons[1]

	self.Frame = frame
	self.RadioButtons = radioButtons
	self.Changed = self._ChangedBind.Event

	init(self)

	return self
end

function RadioButtonGroupClass.Create(list, max)
	local radios = {}

	local function instanceFunc(index, option)
		local radio = Lazy.Classes.RadioButtonLabel.Create(option)
		radio.Frame.LayoutOrder = index
		radios[index] = radio
		return radio.Frame
	end

	local frame =
		Lazy.Constructors.List.Create(list, max or #list, Enum.FillDirection.Vertical, UDim.new(0, 5), instanceFunc)

	return RadioButtonGroupClass.new(frame, radios)
end
