function CheckboxLabelClass.GetValue(C)return C.Button.Checkmark.Visible end function CheckboxLabelClass.SetValue(Q,C)C=not(not C)local A=Q.Frame.CheckContainer local m=A.BackgroundColor3 local L=A.BorderColor3 local Y=A.Outline.BackgroundColor3 local q=C and L or Y if C and A.CheckButton.BackgroundTransparency==1 then q=Y end for C,Q in next,A.Outline:GetChildren()do Q.BackgroundColor3=q end A.CheckButton.BackgroundColor3=C and L or m A.CheckButton.Checkmark.Visible=C Q._ChangedBind:Fire(C)end function CheckboxLabelClass.Destroy(C)C._Maid:Sweep()C.Frame:Destroy()C.Changed=nil end


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
