All-CSS Toggle Switch (Checkbox Hack) (codepen.io)

I made a slide toggle referring to the link above,but i dont know how to change the orientation of the element width transition as shown in the reference.
And here is what i got:
public class SlideToggle : BaseField<bool>
{
public new class UxmlFactory : UxmlFactory<SlideToggle, UxmlTraits> { }
public new class UxmlTraits : BaseFieldTraits<bool, UxmlBoolAttributeDescription> { }
public static readonly new string ussClassName = "slide-toggle";
public static readonly new string inputUssClassName = "slide-toggle__input";
public static readonly string inputKnobUssClassName = "slide-toggle__input-knob";
public static readonly string inputCheckedUssClassName = "slide-toggle__input--checked";
public static readonly string inputKnobHoldUssClassName = "slide-toggle__input-knob--hold";
public static readonly string inputKnobAfterUssClassName = "slide-toggle__input-knob--after";
VisualElement m_Input;
VisualElement m_Knob;
public SlideToggle() : this(null) { }
public SlideToggle(string label) : base(label, null)
{
AddToClassList(ussClassName);
m_Input = this.Q(className: BaseField<bool>.inputUssClassName);
m_Input.AddToClassList(inputUssClassName);
Add(m_Input);
m_Knob = new();
m_Knob.AddToClassList(inputKnobUssClassName);
m_Knob.AddToClassList(inputKnobHoldUssClassName);
m_Knob.AddToClassList(inputKnobAfterUssClassName);
m_Input.Add(m_Knob);
RegisterCallback<MouseDownEvent>(evt => OnMouseDown(evt));
RegisterCallback<MouseUpEvent>(evt => OnMouseUp(evt));
}
static void OnClick(ClickEvent evt)
{
var slideToggle = evt.currentTarget as SlideToggle;
slideToggle.ToggleValue();
evt.StopPropagation();
}
static void OnMouseDown(MouseDownEvent evt)
{
var slideToggle = evt.currentTarget as SlideToggle;
slideToggle.m_Knob.EnableInClassList(inputKnobAfterUssClassName, false);
slideToggle.m_Knob.EnableInClassList(inputKnobHoldUssClassName, true);
evt.StopPropagation();
}
static void OnMouseUp(MouseUpEvent evt)
{
var slideToggle = evt.currentTarget as SlideToggle;
slideToggle.ToggleValue();
slideToggle.m_Knob.EnableInClassList(inputKnobHoldUssClassName, false);
slideToggle.m_Knob.EnableInClassList(inputKnobAfterUssClassName, true);
slideToggle.m_Input.EnableInClassList(inputCheckedUssClassName, slideToggle.value);
evt.StopPropagation();
}
private void ToggleValue()
{
value = !value;
}
//public override void SetValueWithoutNotify(bool newValue)
//{
// base.SetValueWithoutNotify(newValue);
// m_Input.EnableInClassList(inputCheckedUssClassName, newValue);
//}
}
.slide-toggle__input {
position: relative;
max-width: 32px;
max-height: 16px;
min-width: 32px;
min-height: 16px;
background-color: grey;
border-radius: 8px;
}
.slide-toggle__input-knob {
position: absolute;
top: 1px;
left: 1px;
width: 14px;
height: 14px;
background-color: white;
border-radius: 7px;
transition: 0.3s;
}
.slide-toggle__input--checked {
background-color: rgb(0, 156, 10);
}
.slide-toggle__input--checked > .slide-toggle__input-knob {
translate: 100% 0;
}
.slide-toggle__input-knob--hold {
width: 21px;
}
.slide-toggle__input-knob--after {
width: 14px;
}
