wix-style-react
Version:
323 lines (257 loc) • 6.56 kB
CSS
:import {
-st-from: 'wix-ui-core/dist/src/components/button-next/button-next.st.css';
-st-default: ButtonNext;
}
:import {
-st-from: '../Foundation/stylable/colors.st.css';
-st-named: THEME-COLOR-10, THEME-COLOR-20, THEME-COLOR-40, THEME-COLOR-50 ,D80, F00, D10-20, D20-48, D20-54, D20-60, D80-70, P10, P20, D10-30, D80-30;
}
:import {
-st-from: '../Foundation/stylable/easing.st.css';
-st-named: ease-9, speed-fast-1;
}
.root {
-st-extends: ButtonNext;
-st-states: skin(string), priority(string), size(string);
width: 36px;
height: 36px;
border-radius: 18px;
padding: 0;
box-sizing: border-box;
text-align: center;
border: 1px solid;
outline: none;
transition-duration: value(speed-fast-1);
transition-timing-function: value(ease-9);
transition-property: background-color, color, border-color;
background-color: value(THEME-COLOR-10);
border-color: value(THEME-COLOR-10);
color: value(D80);
}
.root:hover {
background-color: value(THEME-COLOR-20);
border-color: value(THEME-COLOR-20);
color: value(D80);
}
.root:active {
background-color: value(THEME-COLOR-10);
border-color: value(THEME-COLOR-10);
color: value(D80);
}
.root:disabled {
background-color: value(D10-30);
border-color: transparent;
color: value(D80);
}
.root:focus-visible {
box-shadow: 0 0 0 3px value(F00);
}
.root::content {
line-height: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
/* Skin: Standard - Secondary */
.root:priority(secondary) {
border: solid 1px value(THEME-COLOR-10);
background: transparent;
color: value(THEME-COLOR-10);
}
.root:priority(secondary):hover {
color: value(D80);
border-color: transparent;
background-color: value(THEME-COLOR-20);
}
.root:priority(secondary):active {
background-color: value(THEME-COLOR-10);
border-color: value(THEME-COLOR-10);
color: value(D80);
}
.root:priority(secondary):disabled {
border-color: value(D10-30);
color: value(D10-30);
background-color: transparent;
}
/* Skin: inverted */
.root:skin(inverted) {
border: none;
background-color: value(D80);
color: value(THEME-COLOR-10);
}
.root:skin(inverted):hover {
color: value(D80);
border-color: transparent;
background: value(THEME-COLOR-20);
}
.root:skin(inverted):active {
background-color: value(THEME-COLOR-10);
border-color: value(THEME-COLOR-10);
color: value(D80);
}
.root:skin(inverted):disabled {
background-color: value(D10-30);
border-color: transparent;
color: value(D80);
}
/* Skin: inverted - Secondary */
.root:skin(inverted):priority(secondary) {
border: none;
background-color: value(D80);
color: value(THEME-COLOR-20);
}
.root:skin(inverted):priority(secondary):hover {
color: value(D80);
border-color: transparent;
background: value(THEME-COLOR-20);
}
.root:skin(inverted):priority(secondary):active {
background-color: value(THEME-COLOR-10);
border-color: value(THEME-COLOR-10);
color: value(D80);
}
.root:skin(inverted):priority(secondary):disabled {
background-color: value(D10-30);
border-color: transparent;
color: value(D80);
}
/* skin Light */
.root:skin(light) {
border: none;
background-color: value(D80);
color: value(THEME-COLOR-20);
}
.root:skin(light):hover {
background-color: value(THEME-COLOR-50);
color: value(THEME-COLOR-10);
border-color: value(THEME-COLOR-50);
}
.root:skin(light):active {
background-color: value(THEME-COLOR-40);
color: value(THEME-COLOR-10);
}
.root:skin(light):disabled {
background-color: value(D80-30);
border-color: transparent;
color: value(D80);
}
/* skin Light secondary */
.root:skin(light):priority(secondary) {
border: solid 1px value(D80);
background: transparent;
color: value(D80);
}
.root:skin(light):priority(secondary):hover {
background-color: value(THEME-COLOR-50);
color: value(THEME-COLOR-10);
border-color: value(THEME-COLOR-50);
}
.root:skin(light):priority(secondary):active {
background-color: value(THEME-COLOR-40);
border: solid 1px value(THEME-COLOR-40);
color: value(THEME-COLOR-10);
}
.root:skin(light):priority(secondary):disabled {
border-color: value(D80-30);
color: value(D80-30);
background-color: transparent;
}
/* skin Transparent */
.root:skin(transparent) {
border-color: transparent;
background-color: value(D20-48);
color: value(D80);
}
.root:skin(transparent):hover {
border-color: transparent;
background-color: value(D20-54);
color: value(D80);
}
.root:skin(transparent):active {
border-color: transparent;
background-color: value(D20-60);
color: value(D80);
}
.root:skin(transparent):disabled{
background-color: value(D10-20);
border-color: transparent;
color: value(D80-70);
}
/* skin: transparent - Secondary */
.root:skin(transparent):priority(secondary) {
border-color: transparent;
background-color: transparent;
color: value(D80);
}
.root:skin(transparent):priority(secondary):hover {
border-color: transparent;
background-color: value(D20-54);
color: value(D80);
}
.root:skin(transparent):priority(secondary):active {
border-color: transparent;
background-color: value(D20-60);
color: value(D80);
}
.root:skin(transparent):priority(secondary):disabled {
background-color: transparent;
border-color: transparent;
color: value(D80-70);
}
/* skin: premium */
.root:skin(premium) {
border: none;
background-color: value(P10);
color: value(D80);
}
.root:skin(premium):hover {
background-color: value(P20);
color: value(D80);
border-color: value(P20);
}
.root:skin(premium):active {
background-color: value(P10);
color: value(D80);
}
.root:skin(premium):disabled {
background-color: value(D10-30);
border-color: transparent;
color: value(D80);
}
/* skin: premium - Secondary */
.root:skin(premium):priority(secondary) {
border: solid 1px value(P10);
background: transparent;
color: value(P10);
}
.root:skin(premium):priority(secondary):hover {
background-color: value(P20);
color: value(D80);
border-color: value(P20);
}
.root:skin(premium):priority(secondary):active {
background-color: value(P10);
border: solid 1px value(P10);
color: value(D80);
}
.root:skin(premium):priority(secondary):disabled {
border-color: value(D10-30);
color: value(D10-30);
background-color: transparent;
}
/* sizes */
.root:size(tiny) {
width: 24px;
height: 24px;
}
.root:size(small) {
width: 30px;
height: 30px;
}
.root:size(large) {
width: 42px;
height: 42px;
border-radius: 24px;
}