function CheckboxLabelClass.GetValue(a)return a.Button.Checkmark.Visible end function CheckboxLabelClass.SetValue(V,a)a=not(not a)local D=V.Frame.CheckContainer local W=D.BackgroundColor3 local Q=D.BorderColor3 local F=D.Outline.BackgroundColor3 local O=a and Q or F if a and D.CheckButton.BackgroundTransparency==1 then O=F end for a,V in next,D.Outline:GetChildren()do V.BackgroundColor3=O end D.CheckButton.BackgroundColor3=a and Q or W D.CheckButton.Checkmark.Visible=a V._ChangedBind:Fire(a)end function CheckboxLabelClass.Destroy(a)a._Maid:Sweep()a.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
