ionicons
Version:
Premium icons for Ionic.
144 lines (114 loc) • 2.92 kB
CSS
:host {
display: inline-block;
width: 1em;
height: 1em;
contain: strict;
fill: currentColor;
box-sizing: content-box ;
}
:host .ionicon {
stroke: currentColor;
}
.ionicon-fill-none {
fill: none;
}
.ionicon-stroke-width {
stroke-width: var(--ionicon-stroke-width, 32px);
}
.icon-inner,
.ionicon,
svg {
display: block;
height: 100%;
width: 100%;
}
/* Icon RTL
* -----------------------------------------------------------
*/
/**
* Safari <16.4 incorrectly reports
* that it supports :dir(rtl) when it does not.
* This @supports statement lets us target
* WebKit browsers to apply the RTL fallback.
* -webkit-named-image only exists on WebKit.
* For WebKit browsers that do support :dir(rtl)
* (i.e. Safari >= 16.4) then the :dir(rtl)
* code farther down on the page will take
* effect and override this fallback.
*/
@supports (background: -webkit-named-image(i)) {
:host(.icon-rtl) .icon-inner {
transform: scaleX(-1);
}
}
/**
* Fallback for browsers that support
* neither :host-context nor :dir.
* The icon will not react to dir
* changes, but it will at least
* respect the dir on component load.
*/
@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])) {
:host(.icon-rtl) .icon-inner {
transform: scaleX(-1);
}
}
/* :host-context is supported in chromium; :dir is supported in safari & firefox */
:host(.flip-rtl):host-context([dir='rtl']) .icon-inner {
transform: scaleX(-1);
}
@supports selector(:dir(rtl)) {
:host(.flip-rtl:dir(rtl)) .icon-inner {
transform: scaleX(-1);
}
/**
* This is needed for WebKit otherwise the fallback
* will always cause the icon to be flipped if the document
* loads in RTL.
*/
:host(.flip-rtl:dir(ltr)) .icon-inner {
transform: scaleX(1);
}
}
/* Icon Sizes
* -----------------------------------------------------------
*/
:host(.icon-small) {
font-size: 1.125rem ;
}
:host(.icon-large) {
font-size: 2rem ;
}
/* Icon Colors
* -----------------------------------------------------------
*/
:host(.ion-color) {
color: var(--ion-color-base) ;
}
:host(.ion-color-primary) {
--ion-color-base: var(--ion-color-primary, #3880ff);
}
:host(.ion-color-secondary) {
--ion-color-base: var(--ion-color-secondary, #0cd1e8);
}
:host(.ion-color-tertiary) {
--ion-color-base: var(--ion-color-tertiary, #f4a942);
}
:host(.ion-color-success) {
--ion-color-base: var(--ion-color-success, #10dc60);
}
:host(.ion-color-warning) {
--ion-color-base: var(--ion-color-warning, #ffce00);
}
:host(.ion-color-danger) {
--ion-color-base: var(--ion-color-danger, #f14141);
}
:host(.ion-color-light) {
--ion-color-base: var(--ion-color-light, #f4f5f8);
}
:host(.ion-color-medium) {
--ion-color-base: var(--ion-color-medium, #989aa2);
}
:host(.ion-color-dark) {
--ion-color-base: var(--ion-color-dark, #222428);
}