function CheckboxLabelClass.GetValue(y)return y.Button.Checkmark.Visible end function CheckboxLabelClass.SetValue(Z,y)y=not(not y)local s=Z.Frame.CheckContainer local A=s.BackgroundColor3 local M=s.BorderColor3 local h=s.Outline.BackgroundColor3 local t=y and M or h if y and s.CheckButton.BackgroundTransparency==1 then t=h end for y,Z in next,s.Outline:GetChildren()do Z.BackgroundColor3=t end s.CheckButton.BackgroundColor3=y and M or A s.CheckButton.Checkmark.Visible=y Z._ChangedBind:Fire(y)end function CheckboxLabelClass.Destroy(y)y._Maid:Sweep()y.Frame:Destroy()y.Changed=nil end
-- Public Methods

function CheckboxLabelClass:GetValue()
	return self.Button.Checkmark.Visible
end

function CheckboxLabelClass:SetValue(bool)
	bool = not not bool

	local container = self.Frame.CheckContainer
	local colorA = container.BackgroundColor3
	local colorB = container.BorderColor3
	local colorC = container.Outline.BackgroundColor3

	local outlineColor = bool and colorB or colorC
	if bool and container.CheckButton.BackgroundTransparency == 1 then
		outlineColor = colorC
	end

	for _, child in next, container.Outline:GetChildren() do
		child.BackgroundColor3 = outlineColor
	end

	container.CheckButton.BackgroundColor3 = bool and colorB or colorA
	container.CheckButton.Checkmark.Visible = bool

	self._ChangedBind:Fire(bool)
end

function CheckboxLabelClass:Destroy()
	self._Maid:Sweep()
	self.Frame:Destroy()
	self.Changed = nil
end
