Files
2024-04-09 11:06:13 +01:00

104 lines
2.5 KiB
SCSS

@use "../../themes/ionic.mixins" as mixins;
@use "../../foundations/ionic.vars.scss" as tokens;
// Ionic Chip
// --------------------------------------------------
// TODO(ROU-4870): there is no token yet for these ones, but it should be created in the future, once UX team has figma tokens done
$ionic-states-focus-primary: #9ec4fd;
$ionic-states-hover: #{rgba(#05080f, 0.16)}; // We should review how to make this in the future, as we are setting scss variables with a var() and fallback, and it doesn't work inside a rgba().
:host {
--background: #{tokens.$ionic-color-neutral-10};
--border-color: transparent;
--border-radius: #{tokens.$ionic-border-radius-rounded-large};
--color: #{tokens.$ionic-color-neutral-900};
--focus-ring-color: #{$ionic-states-focus-primary};
--focus-ring-width: #{tokens.$ionic-border-size-medium};
@include mixins.font-smoothing;
@include mixins.padding(tokens.$ionic-space-xs, tokens.$ionic-space-xxs);
@include mixins.border-radius(var(--border-radius));
display: inline-flex;
position: relative;
align-items: center;
gap: tokens.$ionic-space-xxxs;
min-height: 32px;
border-width: tokens.$ionic-border-size-small;
border-style: solid;
border-color: var(--border-color);
background: var(--background);
color: var(--color);
font-family: tokens.$ionic-font-family;
font-size: tokens.$ionic-font-size-m;
cursor: pointer;
overflow: hidden;
box-sizing: border-box;
vertical-align: middle;
}
// Outline Chip
// ---------------------------------------------
:host(.chip-outline) {
--background: transparent;
border-color: tokens.$ionic-color-neutral-100;
}
// Chip: Focus
// ---------------------------------------------
:host(.ion-focused) {
outline: var(--focus-ring-width) solid var(--focus-ring-color);
outline-offset: var(--focus-ring-width);
}
// Chip: Hover
// ---------------------------------------------
@media (any-hover: hover) {
:host(:hover) {
--background: #{$ionic-states-hover};
}
}
// Chip: Disabled
// ---------------------------------------------
:host(.chip-disabled) {
opacity: 0.6;
pointer-events: none;
}
// Chip Shapes
// ---------------------------------------------
:host(.chip-soft) {
--border-radius: #{tokens.$ionic-border-radius-rounded-small};
}
:host(.chip-round) {
--border-radius: #{tokens.$ionic-border-radius-rounded-large};
}
:host(.chip-rectangular) {
--border-radius: #{tokens.$ionic-border-radius-square};
}
// Chip Icon
// ---------------------------------------------
::slotted(ion-icon) {
font-size: tokens.$ionic-font-size-l;
}