Skip to content

Commit f90fc6a

Browse files
gabrielhlCopilot
andcommitted
Collapse line-height in ToggleSwitch status icon slot so the spinner sits on centre
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 14f13505-d338-494c-a7df-96616e27c88f
1 parent f22c1b4 commit f90fc6a

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

app/components/primer/alpha/toggle_switch.pcss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@
189189
justify-content: center;
190190
width: var(--base-size-16);
191191
height: var(--base-size-16);
192+
/* stylelint-disable-next-line primer/typography */
193+
line-height: 0;
192194
/* stylelint-disable-next-line primer/spacing */
193195
margin-top: 0.063rem;
194196
}

test/system/alpha/toggle_switch_test.rb

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,17 @@ def test_switch_does_not_move_when_error_icon_is_shown
136136
assert_in_delta before_top, track_top, 0.5
137137
end
138138

139+
def test_loading_spinner_is_centered_in_the_status_icon_slot
140+
visit_preview(:small)
141+
142+
unhide(find("[data-target='toggle-switch.loadingSpinner']", visible: :hidden))
143+
assert_selector("[data-target='toggle-switch.loadingSpinner']")
144+
145+
assert_in_delta vertical_center(find("[data-target='toggle-switch.loadingSpinner'] svg")),
146+
vertical_center(find(".ToggleSwitch-statusIcon")),
147+
0.5
148+
end
149+
139150
private
140151

141152
# The status icons are hidden with the `hidden` attribute. `hidden` is an HTMLElement IDL
@@ -149,6 +160,13 @@ def track_top
149160
evaluate_script("arguments[0].getBoundingClientRect().top;", find(".ToggleSwitch-track"))
150161
end
151162

163+
def vertical_center(element)
164+
evaluate_script(
165+
"(function (r) { return r.top + r.height / 2; })(arguments[0].getBoundingClientRect());",
166+
element
167+
)
168+
end
169+
152170
def wait_for_spinner
153171
refute_selector("[data-target='toggle-switch.loadingSpinner']")
154172
end

0 commit comments

Comments
 (0)