Skip to content

Commit 68819f0

Browse files
committed
fix(alert): add checkbox icon for iOS using Sass variables from regular checkbox
Closes #5253
1 parent ecb5e4f commit 68819f0

File tree

2 files changed

+45
-1
lines changed

2 files changed

+45
-1
lines changed

ionic/components/alert/alert.ios.scss

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@import "../../globals.ios";
22
@import "./alert";
3+
@import "../checkbox/checkbox.ios";
34

45
// iOS Alerts
56
// --------------------------------------------------
@@ -37,6 +38,18 @@ $alert-ios-button-border-radius: 0 !default;
3738
$alert-ios-button-border-color: #c8c7cc !default;
3839
$alert-ios-button-activated-background-color: #e9e9e9 !default;
3940

41+
$alert-checkbox-ios-icon-size: $checkbox-ios-icon-size !default;
42+
$alert-checkbox-ios-icon-border-radius: $checkbox-ios-icon-border-radius !default;
43+
$alert-checkbox-ios-icon-border-width: $checkbox-ios-icon-border-width !default;
44+
$alert-checkbox-ios-icon-border-style: $checkbox-ios-icon-border-style !default;
45+
$alert-checkbox-ios-icon-border-color-off: $checkbox-ios-icon-border-color-off !default;
46+
$alert-checkbox-ios-icon-border-color-on: $checkbox-ios-icon-border-color-on !default;
47+
$alert-checkbox-ios-background-color-off: $checkbox-ios-background-color-off !default;
48+
$alert-checkbox-ios-background-color-on: $checkbox-ios-background-color-on !default;
49+
$alert-checkbox-ios-icon-checkmark-width: $checkbox-ios-icon-checkmark-width !default;
50+
$alert-checkbox-ios-icon-checkmark-style: $checkbox-ios-icon-checkmark-style !default;
51+
$alert-checkbox-ios-icon-checkmark-color: $checkbox-ios-icon-checkmark-color !default;
52+
4053

4154
ion-alert {
4255
background: $alert-ios-background;
@@ -164,6 +177,37 @@ ion-alert {
164177
white-space: nowrap;
165178
}
166179

180+
.alert-checkbox-icon {
181+
margin: 10px 6px 10px 16px;
182+
position: relative;
183+
width: $alert-checkbox-ios-icon-size;
184+
height: $alert-checkbox-ios-icon-size;
185+
border-radius: $alert-checkbox-ios-icon-border-radius;
186+
border-width: $alert-checkbox-ios-icon-border-width;
187+
border-style: $alert-checkbox-ios-icon-border-style;
188+
border-color: $alert-checkbox-ios-icon-border-color-off;
189+
background-color: $alert-checkbox-ios-background-color-off;
190+
}
191+
192+
.alert-checkbox[aria-checked=true] .alert-checkbox-icon {
193+
background-color: $alert-checkbox-ios-background-color-on;
194+
border-color: $alert-checkbox-ios-icon-border-color-on;
195+
196+
.alert-checkbox-inner {
197+
position: absolute;
198+
border-width: $alert-checkbox-ios-icon-checkmark-width;
199+
border-style: $alert-checkbox-ios-icon-checkmark-style;
200+
border-color: $alert-checkbox-ios-icon-checkmark-color;
201+
top: 4px;
202+
left: 7px;
203+
width: 4px;
204+
height: 9px;
205+
border-left: none;
206+
border-top: none;
207+
transform: rotate(45deg);
208+
}
209+
}
210+
167211

168212
// iOS Alert Button
169213
// --------------------------------------------------

ionic/components/alert/alert.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ export class Alert extends ViewController {
260260
'<template ngSwitchWhen="checkbox">' +
261261
'<div class="alert-checkbox-group">' +
262262
'<div *ngFor="#i of d.inputs" (click)="cbClick(i)" [attr.aria-checked]="i.checked" class="alert-tappable alert-checkbox" tappable role="checkbox">' +
263-
'<div class="alert-checkbox-icon"></div>' +
263+
'<div class="alert-checkbox-icon"><div class="alert-checkbox-inner"></div></div>' +
264264
'<div class="alert-checkbox-label">' +
265265
'{{i.label}}' +
266266
'</div>' +

0 commit comments

Comments
 (0)