UNPKG

wix-style-react

Version:
363 lines (285 loc) • 7.71 kB
/* st-namespace-reference="../../../src/ToggleButton/ToggleButton.st.css" */ :import { -st-from: 'wix-ui-core/dist/src/components/button-next/button-next.st.css'; -st-default: ButtonNext; } :import { -st-from: 'wix-ui-core/dist/src/hocs/Focusable/Focusable.st.css'; -st-default: Focusable; } :import { -st-from: '../Foundation/stylable/colors.st.css'; -st-named: D55, D80, B40, F00, D10, D20, D30, D60, D10-30, D80-70, R10, R20, R30, G10, G20, G30, THEME-COLOR-10, THEME-COLOR-20, THEME-COLOR-30, THEME-COLOR-40, THEME-COLOR-50; } :import { -st-from: '../Foundation/stylable/easing.st.css'; -st-named: ease-9; } /* root */ .root { -st-extends: ButtonNext; -st-states: selected, disabled, skin(enum(standard, dark, inverted, destructive, success)), labelPlacement(enum(tooltip, end, bottom)), shape(enum(square, round)); padding: 0; box-sizing: border-box; text-align: center; border: none; outline: none; background-color: transparent; color: value(D10); } .root::content { display: flex; flex-direction: column; align-items: center; justify-content: center; } .root:hover:not(:disabled), .root:hover:not(:disabled) .label { color: value(THEME-COLOR-10); } .root:active:not(:disabled), .root:selected:not(:disabled), .root:active:not(:disabled) .label, .root:selected:not(:disabled) .label { color: value(THEME-COLOR-20); } .root:selected:not(:disabled) .icon { background-color: value(THEME-COLOR-40); } .root:selected:hover:not(:disabled), .root:selected:hover:not(:disabled) .label { color: value(THEME-COLOR-20); } .root:selected:hover:not(:disabled) .icon { background-color: value(THEME-COLOR-50); } .root:disabled, .root:disabled .label { color: value(D55); cursor: default; } .root:disabled .icon { background-color: value(D80); } .root:disabled:selected .icon { color: value(D80-70); background-color: value(D10-30); } .root:labelPlacement(end), .root:labelPlacement(bottom) { display: block; max-width: 100%; } /* skin Dark */ .root:skin(dark):hover:not(:disabled), .root:skin(dark):hover:not(:disabled) .label { color: value(D30); } .root:skin(dark):active:not(:disabled), .root:skin(dark):selected:not(:disabled), .root:skin(dark):active:not(:disabled) .label, .root:skin(dark):selected:not(:disabled) .label { color: value(D80); } .root:skin(dark):labelPlacement(bottom):active:not(:disabled) .label, .root:skin(dark):labelPlacement(bottom):selected:not(:disabled) .label { color: value(D10); } .root:skin(dark):active:not(:disabled) .icon, .root:skin(dark):selected:not(:disabled) .icon { background-color: value(D10); } .root:skin(dark):active:not(:disabled), .root:skin(dark):selected:hover:not(:disabled), .root:skin(dark):active:not(:disabled) .label, .root:skin(dark):selected:hover:not(:disabled) .label { color: value(D80); } .root:skin(dark):labelPlacement(bottom):active:not(:disabled) .label, .root:skin(dark):labelPlacement(bottom):selected:hover:not(:disabled) .label { color: value(D10); } .root:skin(dark):active:not(:disabled) .icon, .root:skin(dark):selected:hover:not(:disabled) .icon { background-color: value(D20); } .root:skin(dark):disabled, .root:skin(dark):disabled .label { color: value(D55); } .root:skin(dark):disabled .icon { background-color: value(D80); } /* skin Inverted */ .root:skin(inverted):selected:hover:not(:disabled), .root:skin(inverted):selected:not(:disabled) { color: value(D80); } .root:skin(inverted):selected:not(:disabled) .icon { background-color: value(THEME-COLOR-10); } .root:skin(inverted):selected:hover:not(:disabled) .icon { background-color: value(THEME-COLOR-20); } /* skin Destructive */ .root:skin(destructive):selected:not(:disabled), .root:skin(destructive):selected:hover:not(:disabled) { color: value(D80); } .root:skin(destructive):hover:not(:disabled), .root:skin(destructive):hover:not(:disabled) .label, .root:skin(destructive):selected:not(:disabled) .label { color: value(R10); } .root:skin(destructive):shape(square):labelPlacement(end):selected:not(:disabled) .label { color: value(D80); } .root:skin(destructive):selected:not(:disabled) .icon { background-color: value(R10); } .root:skin(destructive):selected:hover:not(:disabled) .icon { background-color: value(R20); } .root:skin(destructive):selected:not(:disabled) .icon:border { border: solid 1px value(R10); } .root:skin(destructive):selected:hover:not(:disabled) .icon:border { border: solid 1px value(R20); } .root:skin(destructive):hover:not(:disabled) .icon:border { border: solid 1px value(R30); } /* skin Success */ .root:skin(success):selected:not(:disabled), .root:skin(success):selected:hover:not(:disabled) { color: value(D80); } .root:skin(success):hover:not(:disabled), .root:skin(success):hover:not(:disabled) .label, .root:skin(success):selected:not(:disabled) .label { color: value(G10); } .root:skin(success):shape(square):labelPlacement(end):selected:not(:disabled) .label { color: value(D80); } .root:skin(success):selected:not(:disabled) .icon { background-color: value(G10); } .root:skin(success):selected:hover:not(:disabled) .icon { background-color: value(G20); } .root:skin(success):selected:not(:disabled) .icon:border { border: solid 1px value(G10); } .root:skin(success):selected:hover:not(:disabled) .icon:border { border: solid 1px value(G20); } .root:skin(success):hover:not(:disabled) .icon:border { border: solid 1px value(G30); } /* icon */ .icon { -st-extends: Focusable; -st-states: border, size(enum(tiny, small, medium, large)); display: flex; align-items: center; outline: none; background-color: value(D80); transition: all 100ms value(ease-9); } .icon:focus-visible { box-shadow: 0 0 0 3px value(F00); } .icon:size(tiny) { border-radius: 4px; padding: 3px; } .icon:size(small) { border-radius: 4px; padding: 6px; } .icon:size(medium) { border-radius: 6px; padding: 6px; } .icon:size(large) { border-radius: 6px; padding: 9px; } .icon:size(tiny):border { padding: 2px; } .icon:size(small):border { padding: 5px; } .icon:size(medium):border { padding: 5px; } .icon:size(large):border { padding: 8px; } /* shape Round */ .root:shape(round) .icon { border-radius: 100%; } .root:labelPlacement(end) .icon, .root:labelPlacement(bottom) .icon { max-width: 100%; } /* label */ .label { -st-states: placement(enum(tooltip, end, bottom)), size(enum(tiny, small, medium, large)); transition: all 100ms value(ease-9); } .label:placement(end):size(tiny) { padding: 0 3px; } .label:placement(end):size(small), .label:placement(end):size(medium) { padding: 0 6px; } .label:placement(end):size(large) { padding: 0 9px; } .label:placement(bottom) { margin-top: 9px; } .root:skin(inverted):shape(square):labelPlacement(end):active:not(:disabled) .label, .root:skin(inverted):shape(square):labelPlacement(end):selected:not(:disabled) .label { color: value(D80); } .labelContainer { display: flex; flex-direction: row; align-items: center; } .tooltip { max-width: 100%; } /* Border */ .icon:border { border: solid 1px value(D60); } .root:hover .icon:border { border: solid 1px value(THEME-COLOR-40); } .root:active .icon:border, .root:selected .icon:border, .root:selected:hover .icon:border { border: solid 1px value(THEME-COLOR-30); } .root:disabled .icon:border { border: solid 1px value(D10-30); } .root:selected:skin(inverted) .icon:border { border: solid 1px value(THEME-COLOR-10); } .root:selected:skin(inverted):hover .icon:border { border: solid 1px value(THEME-COLOR-20); } .root:disabled:selected .icon:border { border: solid 1px transparent; }