UNPKG

baseui

Version:

A React Component library implementing the Base design language

141 lines (138 loc) 4.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StyledStar = exports.StyledRoot = exports.StyledEmoticon = void 0; var _styles = require("../styles"); var _svgIcons = require("./svg-icons"); /* Copyright (c) Uber Technologies, Inc. This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree. */ // eslint-disable-next-line @typescript-eslint/no-unused-vars const StyledRoot = exports.StyledRoot = (0, _styles.styled)('ul', ({ $theme }) => { return { marginLeft: 0, marginRight: 0, marginTop: 0, marginBottom: 0, paddingLeft: 0, paddingRight: 0, paddingTop: 0, paddingBottom: 0, display: 'inline-block', ':focus': { outline: 'none' } }; }); StyledRoot.displayName = "StyledRoot"; StyledRoot.displayName = 'StyledRoot'; const StyledStar = exports.StyledStar = (0, _styles.styled)('li', ({ $theme, $isActive, $isPartialActive, $isSelected, $isFocusVisible, $isReadOnly, $size }) => { let starStroke = $theme.colors.ratingStroke; let starFill = $theme.colors.ratingInactiveFill; let prePartialStarStroke; let prePartialStarFill; if ($isActive) { starStroke = starFill = $theme.colors.borderSelected; } if ($isPartialActive && !$isActive) { prePartialStarStroke = prePartialStarFill = $theme.colors.borderSelected; } const styles = { paddingLeft: 0, paddingTop: 0, paddingBottom: 0, paddingRight: 0, display: 'inline-block', transition: `transform ${$theme.animation.timing400}`, cursor: $isReadOnly ? 'default' : 'pointer', marginLeft: 0, marginTop: 0, marginBottom: 0, marginRight: $theme.sizing.scale300, width: `${$size}px`, height: `${$size}px`, lineHeight: 1, // @ts-ignore transform: $isSelected ? 'scale(1.35)' : null, outline: $isFocusVisible ? `3px solid ${$theme.colors.borderAccent}` : 'none', outlineOffset: '2px', position: 'relative', ':after': { transition: `all ${$theme.animation.timing400}`, content: `url('data:image/svg+xml,` + (0, _svgIcons.starSVG)(starFill, starStroke, $size) + `')`, height: '100%' }, ':before': prePartialStarFill && prePartialStarStroke ? { transition: `all ${$theme.animation.timing400}`, position: 'absolute', display: 'block', top: 0, left: 0, width: '50%', height: '100%', overflow: 'hidden', content: `url('data:image/svg+xml,` + (0, _svgIcons.starSVG)(prePartialStarFill, prePartialStarStroke, $size) + `')` } : {}, ':last-of-type': { marginRight: 0 } }; return styles; }); StyledStar.displayName = "StyledStar"; StyledStar.displayName = 'StyledStar'; const StyledEmoticon = exports.StyledEmoticon = (0, _styles.styled)('li', ({ $theme, $isActive, $isSelected, $index = 1, $isFocusVisible, $isReadOnly, $size }) => { let emoticonFill = $theme.colors.backgroundSecondary; if ($isActive) { emoticonFill = $theme.colors.backgroundWarning; } const faceColor = $theme.colors.contentPrimary; const ratingIcons = [(0, _svgIcons.angryRatingSVG)(emoticonFill, faceColor, $size), (0, _svgIcons.sadRatingSVG)(emoticonFill, faceColor, $size), (0, _svgIcons.neutralRatingSVG)(emoticonFill, faceColor, $size), (0, _svgIcons.happyRatingSVG)(emoticonFill, faceColor, $size), (0, _svgIcons.veryHappyRatingSVG)(emoticonFill, faceColor, $size)]; const styles = { paddingLeft: 0, paddingTop: 0, paddingRight: 0, paddingBottom: 0, display: 'inline-block', transition: `transform ${$theme.animation.timing400}`, cursor: $isReadOnly ? 'default' : 'pointer', marginLeft: 0, marginTop: 0, marginBottom: 0, marginRight: $theme.sizing.scale300, width: `${$size}px`, height: `${$size}px`, // @ts-ignore transform: $isSelected ? 'scale(1.1)' : null, outline: $isFocusVisible ? `3px solid ${$theme.colors.borderAccent}` : 'none', outlineOffset: '2px', ':after': { transition: `all ${$theme.animation.timing400}`, content: `url('data:image/svg+xml,` + ratingIcons[$index - 1] + `')` } }; return styles; }); StyledEmoticon.displayName = "StyledEmoticon"; StyledEmoticon.displayName = 'StyledEmoticon';