@use 'state'; .ic-btn { padding: var(--sp-extra-tight); border: none; border-radius: var(--bo-radius); background-color: transparent; font-size: 0; line-height: 0; cursor: pointer; @include state.disabled; } @mixin color($color) { .ic-raw { background-color: $color; } } @mixin focus($color) { &:focus { outline: none; background-color: $color; } } .ic-btn-surface { @include color(var(--ic-surface-normal)); @include state.hover(var(--bg-surface-hover)); @include focus(var(--bg-surface-hover)); @include state.active(var(--bg-surface-active)); } .ic-btn-positive { @include color(var(--ic-positive-normal)); @include state.hover(var(--bg-positive-hover)); @include focus(var(--bg-positive-hover)); @include state.active(var(--bg-positive-active)); } .ic-btn-caution { @include color(var(--ic-caution-normal)); @include state.hover(var(--bg-caution-hover)); @include focus(var(--bg-caution-hover)); @include state.active(var(--bg-caution-active)); } .ic-btn-danger { @include color(var(--ic-danger-normal)); @include state.hover(var(--bg-danger-hover)); @include focus(var(--bg-danger-hover)); @include state.active(var(--bg-danger-active)); }