UNPKG

suomifi-ui-components

Version:
27 lines (23 loc) 9.78 kB
'use strict'; var tslib = require('tslib'); var styled = require('styled-components'); var index = require('../../theme/reset/index.js'); var spacing = require('../../theme/utils/spacing.js'); var checkedStyles = function checkedStyles(theme) { return styled.css(templateObject_1 || (templateObject_1 = tslib.__makeTemplateObject(["\n &.fi-checkbox--checked {\n & .fi-checkbox_label {\n &::before {\n border-color: ", ";\n background-color: ", ";\n }\n & > .fi-checkbox_icon .fi-icon-base-fill {\n fill: ", ";\n }\n }\n &.fi-checkbox--disabled {\n & .fi-checkbox_label {\n &::before {\n border-color: ", ";\n background-color: ", ";\n }\n & > .fi-checkbox_icon .fi-icon-base-fill {\n fill: ", ";\n }\n }\n }\n &.fi-checkbox--error {\n & .fi-checkbox_label {\n &::before {\n border-color: ", ";\n background-color: ", ";\n border-width: 2px;\n }\n & > .fi-checkbox_icon .fi-icon-base-fill {\n fill: ", ";\n }\n }\n }\n }\n"], ["\n &.fi-checkbox--checked {\n & .fi-checkbox_label {\n &::before {\n border-color: ", ";\n background-color: ", ";\n }\n & > .fi-checkbox_icon .fi-icon-base-fill {\n fill: ", ";\n }\n }\n &.fi-checkbox--disabled {\n & .fi-checkbox_label {\n &::before {\n border-color: ", ";\n background-color: ", ";\n }\n & > .fi-checkbox_icon .fi-icon-base-fill {\n fill: ", ";\n }\n }\n }\n &.fi-checkbox--error {\n & .fi-checkbox_label {\n &::before {\n border-color: ", ";\n background-color: ", ";\n border-width: 2px;\n }\n & > .fi-checkbox_icon .fi-icon-base-fill {\n fill: ", ";\n }\n }\n }\n }\n"])), theme.colors.highlightBase, theme.colors.highlightBase, theme.colors.whiteBase, theme.colors.depthLight1, theme.colors.depthLight1, theme.colors.depthLight3, theme.colors.alertBase, theme.colors.alertBase, theme.colors.whiteBase); }; var disabledStyles = function disabledStyles(theme) { return styled.css(templateObject_2 || (templateObject_2 = tslib.__makeTemplateObject(["\n &.fi-checkbox--disabled {\n & .fi-checkbox_label {\n cursor: not-allowed;\n color: ", ";\n &::before {\n background-color: ", ";\n border-color: ", ";\n border-width: 1px;\n }\n & > .fi-checkbox_icon .fi-icon-base-fill {\n fill: ", ";\n }\n }\n & .fi-hint-text {\n color: ", ";\n }\n &.fi-checkbox--large {\n & .fi-checkbox_label::before {\n border-width: 2px;\n }\n }\n }\n"], ["\n &.fi-checkbox--disabled {\n & .fi-checkbox_label {\n cursor: not-allowed;\n color: ", ";\n &::before {\n background-color: ", ";\n border-color: ", ";\n border-width: 1px;\n }\n & > .fi-checkbox_icon .fi-icon-base-fill {\n fill: ", ";\n }\n }\n & .fi-hint-text {\n color: ", ";\n }\n &.fi-checkbox--large {\n & .fi-checkbox_label::before {\n border-width: 2px;\n }\n }\n }\n"])), theme.colors.depthBase, theme.colors.depthLight3, theme.colors.depthLight1, theme.colors.depthLight3, theme.colors.depthBase); }; var errorStyles = function errorStyles(theme) { return styled.css(templateObject_3 || (templateObject_3 = tslib.__makeTemplateObject(["\n &.fi-checkbox--error {\n & .fi-checkbox_label {\n &::before {\n border-color: ", ";\n border-width: 2px;\n }\n & > .fi-checkbox_icon .fi-icon-base-fill {\n fill: ", ";\n }\n }\n }\n"], ["\n &.fi-checkbox--error {\n & .fi-checkbox_label {\n &::before {\n border-color: ", ";\n border-width: 2px;\n }\n & > .fi-checkbox_icon .fi-icon-base-fill {\n fill: ", ";\n }\n }\n }\n"])), theme.colors.alertBase, theme.colors.alertBase); }; var largeVariantStyles = function largeVariantStyles(theme) { return styled.css(templateObject_4 || (templateObject_4 = tslib.__makeTemplateObject(["\n &.fi-checkbox--large {\n & .fi-checkbox_label {\n padding-left: ", ";\n line-height: 30px;\n\n &::before {\n content: '';\n position: absolute;\n left: 0px;\n top: 0px;\n box-sizing: border-box;\n height: 30px;\n width: 30px;\n color: ", ";\n border: 2px solid;\n }\n & .fi-checkbox_icon {\n height: 20px;\n width: 20px;\n left: 5px;\n top: 4px;\n }\n }\n & .fi-hint-text {\n padding-left: ", ";\n }\n\n &:focus-within {\n & .fi-checkbox_label {\n &::after {\n width: 32px;\n height: 32px;\n top: -1px;\n left: -1px;\n }\n }\n }\n }\n"], ["\n &.fi-checkbox--large {\n & .fi-checkbox_label {\n padding-left: ", ";\n line-height: 30px;\n\n &::before {\n content: '';\n position: absolute;\n left: 0px;\n top: 0px;\n box-sizing: border-box;\n height: 30px;\n width: 30px;\n color: ", ";\n border: 2px solid;\n }\n & .fi-checkbox_icon {\n height: 20px;\n width: 20px;\n left: 5px;\n top: 4px;\n }\n }\n & .fi-hint-text {\n padding-left: ", ";\n }\n\n &:focus-within {\n & .fi-checkbox_label {\n &::after {\n width: 32px;\n height: 32px;\n top: -1px;\n left: -1px;\n }\n }\n }\n }\n"])), theme.spacing.xxl, theme.colors.depthDark3, theme.spacing.xxl); }; var baseStyles = function baseStyles(theme, globalMargins, propMargins) { return styled.css(templateObject_5 || (templateObject_5 = tslib.__makeTemplateObject(["\n ", "\n ", "\n ", "\n ", "\n ", "\n \n & .fi-checkbox_label {\n position: relative;\n display: block;\n padding-left: ", ";\n cursor: pointer;\n line-height: 27px;\n min-height: 18px; /* Enable clicking when label text is empty */\n\n &::before {\n content: '';\n position: absolute;\n left: 0px;\n top: ", ";\n box-sizing: border-box;\n height: 18px;\n width: 18px;\n border: 1px solid ", ";\n border-radius: ", ";\n background-color: ", ";\n }\n }\n\n & .fi-checkbox_icon {\n position: absolute;\n height: 10px;\n width: 10px;\n left: 4px;\n top: 9px;\n }\n\n &:focus-within {\n & .fi-checkbox_label {\n /* Modified version of theme.focuses.absoluteFocus */\n &::after {\n content: '';\n position: absolute;\n pointer-events: none;\n top: 4px;\n left: -1px;\n border-radius: 2px;\n background-color: transparent;\n border: 0px solid ", ";\n box-sizing: border-box;\n box-shadow: 0 0 0 2px ", ";\n z-index: 9999;\n width: 20px;\n height: 20px;\n outline: 2px solid transparent; /* For high contrast mode */\n }\n }\n }\n\n & .fi-checkbox_input {\n position: absolute;\n opacity: 0;\n z-index: -9999;\n }\n\n & .fi-hint-text {\n padding-left: ", ";\n color: ", ";\n }\n\n & .fi-status-text {\n line-height: 18px;\n &.fi-checkbox_statusText--has-content {\n margin-top: ", ";\n }\n }\n\n ", ";\n ", ";\n ", ";\n ", ";\n"], ["\n ", "\n ", "\n ", "\n ", "\n ", "\n \n & .fi-checkbox_label {\n position: relative;\n display: block;\n padding-left: ", ";\n cursor: pointer;\n line-height: 27px;\n min-height: 18px; /* Enable clicking when label text is empty */\n\n &::before {\n content: '';\n position: absolute;\n left: 0px;\n top: ", ";\n box-sizing: border-box;\n height: 18px;\n width: 18px;\n border: 1px solid ", ";\n border-radius: ", ";\n background-color: ", ";\n }\n }\n\n & .fi-checkbox_icon {\n position: absolute;\n height: 10px;\n width: 10px;\n left: 4px;\n top: 9px;\n }\n\n &:focus-within {\n & .fi-checkbox_label {\n /* Modified version of theme.focuses.absoluteFocus */\n &::after {\n content: '';\n position: absolute;\n pointer-events: none;\n top: 4px;\n left: -1px;\n border-radius: 2px;\n background-color: transparent;\n border: 0px solid ", ";\n box-sizing: border-box;\n box-shadow: 0 0 0 2px ", ";\n z-index: 9999;\n width: 20px;\n height: 20px;\n outline: 2px solid transparent; /* For high contrast mode */\n }\n }\n }\n\n & .fi-checkbox_input {\n position: absolute;\n opacity: 0;\n z-index: -9999;\n }\n\n & .fi-hint-text {\n padding-left: ", ";\n color: ", ";\n }\n\n & .fi-status-text {\n line-height: 18px;\n &.fi-checkbox_statusText--has-content {\n margin-top: ", ";\n }\n }\n\n ", ";\n ", ";\n ", ";\n ", ";\n"])), index.element(theme), index.font(theme)('bodyTextSmall'), spacing.buildSpacingCSS(globalMargins), spacing.buildSpacingCSS(propMargins, true), index.fixInternalMargins(), theme.spacing.l, theme.spacing.xxs, theme.colors.depthDark3, theme.radiuses.basic, theme.colors.whiteBase, theme.colors.whiteBase, theme.colors.accentSecondary, theme.spacing.l, theme.colors.depthDark1, theme.spacing.xxs, largeVariantStyles(theme), checkedStyles(theme), errorStyles(theme), disabledStyles(theme)); }; var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5; exports.baseStyles = baseStyles; //# sourceMappingURL=Checkbox.baseStyles.js.map