package.components.Icon.icon.scss Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of patternfly Show documentation
Show all versions of patternfly Show documentation
Assets, source, tooling, and content for PatternFly 4
The newest version!
@use '../../sass-utilities' as *;
@include pf-root($icon) {
// Sizes
--#{$icon}--Width: var(--pf-t--global--icon--size--font--body--default);
--#{$icon}--Height: var(--pf-t--global--icon--size--font--body--default);
// Standalone icon sizes
--#{$icon}--m-sm--Width: var(--pf-t--global--icon--size--sm);
--#{$icon}--m-sm--Height: var(--pf-t--global--icon--size--sm);
--#{$icon}--m-md--Width: var(--pf-t--global--icon--size--md);
--#{$icon}--m-md--Height: var(--pf-t--global--icon--size--md);
--#{$icon}--m-lg--Width: var(--pf-t--global--icon--size--lg);
--#{$icon}--m-lg--Height: var(--pf-t--global--icon--size--lg);
--#{$icon}--m-xl--Width: var(--pf-t--global--icon--size--xl);
--#{$icon}--m-xl--Height: var(--pf-t--global--icon--size--xl);
--#{$icon}--m-2xl--Width: var(--pf-t--global--icon--size--2xl);
--#{$icon}--m-2xl--Height: var(--pf-t--global--icon--size--2xl);
--#{$icon}--m-3xl--Width: var(--pf-t--global--icon--size--3xl);
--#{$icon}--m-3xl--Height: var(--pf-t--global--icon--size--3xl);
// Body sizes
--#{$icon}--m-body-sm--Width: var(--pf-t--global--icon--size--font--body--sm);
--#{$icon}--m-body-sm--Height: var(--pf-t--global--icon--size--font--body--sm);
--#{$icon}--m-body-default--Width: var(--pf-t--global--icon--size--font--body--default);
--#{$icon}--m-body-default--Height: var(--pf-t--global--icon--size--font--body--default);
--#{$icon}--m-body-lg--Width: var(--pf-t--global--icon--size--font--body--lg);
--#{$icon}--m-body-lg--Height: var(--pf-t--global--icon--size--font--body--lg);
// Heading sizes
--#{$icon}--m-heading-sm--Width: var(--pf-t--global--icon--size--font--heading--h6);
--#{$icon}--m-heading-sm--Height: var(--pf-t--global--icon--size--font--heading--h6);
--#{$icon}--m-heading-md--Width: var(--pf-t--global--icon--size--font--heading--h5);
--#{$icon}--m-heading-md--Height: var(--pf-t--global--icon--size--font--heading--h5);
--#{$icon}--m-heading-lg--Width: var(--pf-t--global--icon--size--font--heading--h4);
--#{$icon}--m-heading-lg--Height: var(--pf-t--global--icon--size--font--heading--h4);
--#{$icon}--m-heading-xl--Width: var(--pf-t--global--icon--size--font--heading--h3);
--#{$icon}--m-heading-xl--Height: var(--pf-t--global--icon--size--font--heading--h3);
--#{$icon}--m-heading-2xl--Width: var(--pf-t--global--icon--size--font--heading--h2);
--#{$icon}--m-heading-2xl--Height: var(--pf-t--global--icon--size--font--heading--h2);
--#{$icon}--m-heading-3xl--Width: var(--pf-t--global--icon--size--font--heading--h1);
--#{$icon}--m-heading-3xl--Height: var(--pf-t--global--icon--size--font--heading--h1);
// Inline sizes
--#{$icon}--m-inline--Width: 1em;
--#{$icon}--m-inline--Height: 1em;
// Content
--#{$icon}__content--svg--VerticalAlign: -.125em;
// Content color
--#{$icon}__content--Color: var(--pf-t--global--icon--color--regular);
--#{$icon}__content--m-danger--Color: var(--pf-t--global--icon--color--status--danger--default);
--#{$icon}__content--m-warning--Color: var(--pf-t--global--icon--color--status--warning--default);
--#{$icon}__content--m-success--Color: var(--pf-t--global--icon--color--status--success--default);
--#{$icon}__content--m-info--Color: var(--pf-t--global--icon--color--status--info--default);
--#{$icon}__content--m-custom--Color: var(--pf-t--global--icon--color--status--custom--default);
--#{$icon}--m-inline__content--Color: initial;
// Content sizes
--#{$icon}__content--FontSize: var(--pf-t--global--icon--size--font--body--default);;
// Standalone content sizes
--#{$icon}--m-sm__content--FontSize: var(--pf-t--global--icon--size--sm);
--#{$icon}--m-md__content--FontSize: var(--pf-t--global--icon--size--md);
--#{$icon}--m-lg__content--FontSize: var(--pf-t--global--icon--size--lg);
--#{$icon}--m-xl__content--FontSize: var(--pf-t--global--icon--size--xl);
--#{$icon}--m-2xl__content--FontSize: var(--pf-t--global--icon--size--2xl);
--#{$icon}--m-3xl__content--FontSize: var(--pf-t--global--icon--size--3xl);
// Body content sizes
--#{$icon}--m-body-sm__content--FontSize: var(--pf-t--global--icon--size--font--body--sm);
--#{$icon}--m-body-default__content--FontSize: var(--pf-t--global--icon--size--font--body--default);
--#{$icon}--m-body-lg__content--FontSize: var(--pf-t--global--icon--size--font--body--lg);
// Heading content sizes
--#{$icon}--m-heading-sm__content--FontSize: var(--pf-t--global--icon--size--font--heading--h6);
--#{$icon}--m-heading-md__content--FontSize: var(--pf-t--global--icon--size--font--heading--h5);
--#{$icon}--m-heading-lg__content--FontSize: var(--pf-t--global--icon--size--font--heading--h4);
--#{$icon}--m-heading-xl__content--FontSize: var(--pf-t--global--icon--size--font--heading--h3);
--#{$icon}--m-heading-2xl__content--FontSize: var(--pf-t--global--icon--size--font--heading--h2);
--#{$icon}--m-heading-3xl__content--FontSize: var(--pf-t--global--icon--size--font--heading--h1);
// Inline sizes
--#{$icon}--m-inline__content--FontSize: 1em;
}
.#{$icon} {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width: var(--#{$icon}--Width);
height: var(--#{$icon}--Height);
// Inline modifier
&.pf-m-inline {
--#{$icon}--Width: var(--#{$icon}--m-inline--Width);
--#{$icon}--Height: var(--#{$icon}--m-inline--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-inline__content--FontSize);
--#{$icon}__content--Color: var(--#{$icon}--m-inline__content--Color);
line-height: 1;
.#{$spinner} {
--#{$spinner}--diameter: 1em;
}
}
// Standalone size modifiers
&.pf-m-sm {
--#{$icon}--Width: var(--#{$icon}--m-sm--Width);
--#{$icon}--Height: var(--#{$icon}--m-sm--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-sm__content--FontSize);
}
&.pf-m-md {
--#{$icon}--Width: var(--#{$icon}--m-md--Width);
--#{$icon}--Height: var(--#{$icon}--m-md--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-md__content--FontSize);
}
&.pf-m-lg {
--#{$icon}--Width: var(--#{$icon}--m-lg--Width);
--#{$icon}--Height: var(--#{$icon}--m-lg--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-lg__content--FontSize);
}
&.pf-m-xl {
--#{$icon}--Width: var(--#{$icon}--m-xl--Width);
--#{$icon}--Height: var(--#{$icon}--m-xl--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-xl__content--FontSize);
}
&.pf-m-2xl {
--#{$icon}--Width: var(--#{$icon}--m-2xl--Width);
--#{$icon}--Height: var(--#{$icon}--m-2xl--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-2xl__content--FontSize);
}
&.pf-m-3xl {
--#{$icon}--Width: var(--#{$icon}--m-3xl--Width);
--#{$icon}--Height: var(--#{$icon}--m-3xl--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-3xl__content--FontSize);
}
// Body size modifiers
&.pf-m-body-sm {
--#{$icon}--Width: var(--#{$icon}--m-body-sm--Width);
--#{$icon}--Height: var(--#{$icon}--m-body-sm--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-body-sm__content--FontSize);
}
&.pf-m-body-default {
--#{$icon}--Width: var(--#{$icon}--m-body-default--Width);
--#{$icon}--Height: var(--#{$icon}--m-body-default--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-body-default__content--FontSize);
}
&.pf-m-body-lg {
--#{$icon}--Width: var(--#{$icon}--m-body-lg--Width);
--#{$icon}--Height: var(--#{$icon}--m-body-lg--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-lg__content--FontSize);
}
// Heading size modifiers
&.pf-m-heading-sm {
--#{$icon}--Width: var(--#{$icon}--m-heading-sm--Width);
--#{$icon}--Height: var(--#{$icon}--m-heading-sm--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-sm__content--FontSize);
}
&.pf-m-heading-md {
--#{$icon}--Width: var(--#{$icon}--m-heading-md--Width);
--#{$icon}--Height: var(--#{$icon}--m-heading-md--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-md__content--FontSize);
}
&.pf-m-heading-lg {
--#{$icon}--Width: var(--#{$icon}--m-heading-lg--Width);
--#{$icon}--Height: var(--#{$icon}--m-heading-lg--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-lg__content--FontSize);
}
&.pf-m-heading-xl {
--#{$icon}--Width: var(--#{$icon}--m-heading-xl--Width);
--#{$icon}--Height: var(--#{$icon}--m-heading-xl--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-xl__content--FontSize);
}
&.pf-m-heading-2xl {
--#{$icon}--Width: var(--#{$icon}--m-heading-2xl--Width);
--#{$icon}--Height: var(--#{$icon}--m-heading-2xl--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-2xl__content--FontSize);
}
&.pf-m-heading-3xl {
--#{$icon}--Width: var(--#{$icon}--m-heading-3xl--Width);
--#{$icon}--Height: var(--#{$icon}--m-heading-3xl--Height);
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-3xl__content--FontSize);
}
// Progress modifier
&.pf-m-in-progress {
--#{$icon}__content--Opacity: 0;
--#{$icon}__progress--Opacity: 1;
}
}
// Content and progress both have size modifiers
.#{$icon}__content,
.#{$icon}__progress {
font-size: var(--#{$icon}__content--FontSize);
svg {
vertical-align: var(--#{$icon}__content--svg--VerticalAlign);
}
// Standalone font size modifiers
&.pf-m-sm {
--#{$icon}__content--FontSize: var(--#{$icon}--m-sm__content--FontSize);
}
&.pf-m-md {
--#{$icon}__content--FontSize: var(--#{$icon}--m-md__content--FontSize);
}
&.pf-m-lg {
--#{$icon}__content--FontSize: var(--#{$icon}--m-lg__content--FontSize);
}
&.pf-m-xl {
--#{$icon}__content--FontSize: var(--#{$icon}--m-xl__content--FontSize);
}
&.pf-m-2xl {
--#{$icon}__content--FontSize: var(--#{$icon}--m-2xl__content--FontSize);
}
&.pf-m-3xl {
--#{$icon}__content--FontSize: var(--#{$icon}--m-3xl__content--FontSize);
}
// Body font size modifiers
&.pf-m-body-sm {
--#{$icon}__content--FontSize: var(--#{$icon}--m-body-sm__content--FontSize);
}
&.pf-m-body-default {
--#{$icon}__content--FontSize: var(--#{$icon}--m-md__content--FontSize);
}
&.pf-m-body-lg {
--#{$icon}__content--FontSize: var(--#{$icon}--m-lg__content--FontSize);
}
// Heading font size modifiers
&.pf-m-heading-sm {
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-sm__content--FontSize);
}
&.pf-m-heading-md {
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-md__content--FontSize);
}
&.pf-m-heading-lg {
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-lg__content--FontSize);
}
&.pf-m-heading-xl {
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-xl__content--FontSize);
}
&.pf-m-heading-2xl {
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-2xl__content--FontSize);
}
&.pf-m-heading-3xl {
--#{$icon}__content--FontSize: var(--#{$icon}--m-heading-3xl__content--FontSize);
}
}
// Content element
.#{$icon}__content {
color: var(--#{$icon}__content--Color, inherit);
opacity: var(--#{$icon}__content--Opacity, 1);
// Status modifiers
&.pf-m-danger {
--#{$icon}__content--Color: var(--#{$icon}__content--m-danger--Color);
}
&.pf-m-warning {
--#{$icon}__content--Color: var(--#{$icon}__content--m-warning--Color);
}
&.pf-m-success {
--#{$icon}__content--Color: var(--#{$icon}__content--m-success--Color);
}
&.pf-m-info {
--#{$icon}__content--Color: var(--#{$icon}__content--m-info--Color);
}
&.pf-m-custom {
--#{$icon}__content--Color: var(--#{$icon}__content--m-custom--Color);
}
}
// Progress element
.#{$icon}__progress {
position: absolute;
inset-block-start: calc(50% + calc(.5 * var(--#{$icon}__content--svg--VerticalAlign)));
opacity: var(--#{$icon}__progress--Opacity, 0);
transform: translateY(calc(-50% - calc(.5 * var(--#{$icon}__content--svg--VerticalAlign))));
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy