@braineet/ui
Version:
Braineet design system
85 lines (83 loc) • 3.95 kB
JavaScript
import styled, { css } from 'styled-components';
import { borderRadius } from '../../utils';
import Box from '../box';
import Text from '../text';
export var StyledLabel = styled(Box).withConfig({
displayName: "styles__StyledLabel",
componentId: "sc-gsfsw-0"
})(["position:relative;display:inline-flex;align-items:center;flex-grow:0;padding:8px;box-sizing:border-box;cursor:", ";", " ", " ", " ", " ", " ", " ", " ", " ", ""], function (p) {
return !p.readOnly ? 'pointer' : 'default';
}, borderRadius(4), function (props) {
return props.disabled && DisabledLabel;
}, function (p) {
return !p.readOnly && !p.checked && css(["&:hover{background-color:", ";}"], function (props) {
return props.theme.utils.lighten('black', 0.1);
});
}, borderRadius(4), function (p) {
return p.style;
}, function (props) {
return props.checked && CheckedToggle;
}, function (props) {
return props.disabled && DisabledToggle;
}, function (props) {
return props.error && ErrorToggle;
}, function (p) {
return p.stylesProps;
});
export var DefaultToggleInput = styled.input.withConfig({
displayName: "styles__DefaultToggleInput",
componentId: "sc-gsfsw-1"
})(["position:relative;display:flex;align-items:center;justify-content:center;appearance:none;flex-shrink:0;cursor:pointer;"]);
export var StyledText = styled(Text).withConfig({
displayName: "styles__StyledText",
componentId: "sc-gsfsw-2"
})(["display:block;line-height:1;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow-wrap:break-word;", ""], function (props) {
return props.error && ErrorText;
});
/**
* Styles Label
*/
var DisabledLabel = css(["cursor:not-allowed;"]);
/**
* Styles Toggle
*/
var CheckedToggle = css(["background-color:", ";"], function (props) {
return props.theme.colors.brand10;
});
var DisabledToggle = css(["opacity:", ";&:hover{background-color:transparent;}"], function (props) {
return props.opacity || '0.24';
});
var ErrorToggle = css(["background-color:", ";"], function (props) {
return props.theme.colors.error10;
});
var ErrorText = css(["color:", ";"], function (props) {
return props.theme.colors.error50;
});
export var RadioInput = styled(DefaultToggleInput).withConfig({
displayName: "styles__RadioInput",
componentId: "sc-gsfsw-3"
})(["width:16px;height:16px;border:1px solid ", ";border-radius:16px;transition-property:background-color,border-color;transition-timing-function:ease;transition-duration:100ms;&:after{content:'';opacity:0;transition-property:opacity,transform;transition-timing-function:ease;transition-duration:0.3s;pointer-events:none;width:8px;height:8px;background-color:", ";border-radius:50%;position:absolute;top:calc(50% - 4px);left:calc(50% - 4px);transform:scale(0);}&:focus:not(:disabled,:focus-visible){border:1px solid ", ";}&:focus:not(:disabled,:focus-visible):checked{border:1px solid ", ";}&:focus-visible{outline-offset:2px;outline:2px solid ", ";}&:focus:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid ", ";border:1px solid ", ";}&:focus:not(:disabled):focus-visible:checked{outline-offset:2px;outline:2px solid ", ";border:1px solid ", ";}&:checked{border:1px solid ", ";&:after{opacity:1;transform:scale(1);}}&:active{border:1px solid ", ";&:after{background-color:", ";}}"], function (p) {
return p.theme.colors.black;
}, function (p) {
return p.theme.colors.brand;
}, function (p) {
return p.theme.colors.black;
}, function (p) {
return p.theme.colors.brand;
}, function (p) {
return p.theme.colors.brand;
}, function (p) {
return p.theme.colors.brand;
}, function (p) {
return p.theme.colors.black;
}, function (p) {
return p.theme.colors.brand;
}, function (p) {
return p.theme.colors.brand;
}, function (p) {
return p.theme.colors.brand;
}, function (p) {
return p.theme.colors.brand20;
}, function (p) {
return p.theme.colors.brand20;
});