UNPKG

@vimeo/iris

Version:
121 lines (118 loc) 14.4 kB
import { a as __makeTemplateObject } from '../../tslib.es6-7f0e734f.js'; import styled, { css } from 'styled-components'; import { rem, rgba, darken } from 'polished'; import { white, blue, slate, grayscale, green, red } from '../../color/colors.esm.js'; import { core } from '../../tokens/core.esm.js'; import '../../tokens/color/index.esm.js'; import '../../tokens/color/background/background.esm.js'; import '../../tokens/util/readToken.esm.js'; import '../../tokens/util/clamp.esm.js'; import '../../tokens/color/format/format.esm.js'; import '../../tokens/color/format/primary.esm.js'; import '../../tokens/color/format/secondary.esm.js'; import '../../tokens/color/format/tertiary.esm.js'; import '../../tokens/color/rainbow/rainbow.esm.js'; import '../../tokens/color/rainbow/conic/index.esm.js'; import '../../tokens/color/rainbow/conic/sm.esm.js'; import '../../tokens/color/rainbow/conic/xl.esm.js'; import '../../tokens/color/rainbow/linear/index.esm.js'; import '../../tokens/color/rainbow/linear/sm.esm.js'; import '../../tokens/color/rainbow/linear/xl.esm.js'; import '../../tokens/color/livestream/livestream.esm.js'; import '../../tokens/color/status/status.esm.js'; import '../../tokens/color/status/caution.esm.js'; import '../../tokens/color/status/negative.esm.js'; import '../../tokens/color/status/positive.esm.js'; import '../../tokens/color/stroke/stroke.esm.js'; import '../../tokens/color/surface/surface.esm.js'; import '../../tokens/color/text/text.esm.js'; import '../../tokens/util/round.esm.js'; import '../../tokens/color/upsell/upsell.esm.js'; import '../../tokens/color/upsell/sm.esm.js'; import '../../tokens/color/upsell/xl.esm.js'; import '../../tokens/color/upsell/new.esm.js'; import '../../tokens/edge/edge.esm.js'; import '../../tokens/space/space.esm.js'; import '../../tokens/typography/index.esm.js'; import '../../tokens/typography/size/size.esm.js'; var Wrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"]))); var Badge = styled.span(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: block;\n outline: none;\n border-radius: ", ";\n letter-spacing: 0.02rem;\n color: inherit;\n text-shadow: none;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n white-space: nowrap;\n transition: 90ms ease-in-out;\n\n ", ";\n ", ";\n\n &::-moz-focus-inner {\n padding: 0;\n border: 0;\n }\n"], ["\n display: block;\n outline: none;\n border-radius: ", ";\n letter-spacing: 0.02rem;\n color: inherit;\n text-shadow: none;\n text-align: center;\n text-transform: uppercase;\n text-decoration: none;\n white-space: nowrap;\n transition: 90ms ease-in-out;\n\n ", ";\n ", ";\n\n &::-moz-focus-inner {\n padding: 0;\n border: 0;\n }\n"])), rem(2), format, size); function size(_a) { var size = _a.size; switch (size) { case 'sm': return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 0.1875rem 0.25rem;\n font-size: 0.5625rem;\n font-weight: 500;\n line-height: 1.2;\n "], ["\n padding: 0.1875rem 0.25rem;\n font-size: 0.5625rem;\n font-weight: 500;\n line-height: 1.2;\n "]))); case 'lg': return css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n padding: 0.3125rem;\n font-size: 1rem;\n font-weight: 500;\n line-height: 0.8;\n "], ["\n padding: 0.3125rem;\n font-size: 1rem;\n font-weight: 500;\n line-height: 0.8;\n "]))); case 'xl': return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n border-width: 2px;\n border-radius: 0.25rem;\n padding: 0.5rem 0.75rem;\n font-weight: 600;\n line-height: 0.8;\n font-size: 1.125rem;\n "], ["\n border-width: 2px;\n border-radius: 0.25rem;\n padding: 0.5rem 0.75rem;\n font-weight: 600;\n line-height: 0.8;\n font-size: 1.125rem;\n "]))); } } function format(_a) { var $format = _a.$format, _b = _a.href, href = _b === void 0 ? null : _b; switch ($format) { case 'alum': return css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: #503873;\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\n }\n "], ["\n color: #503873;\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\n }\n "])), rgba('#503873', 0.25), rgba('#503873', 0.3)); case 'beta': return css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n color: #ff8a00;\n "], ["\n color: #ff8a00;\n "]))); case 'business': return basicBadge(green(500)); case 'curation': return css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n color: #ff8a00;\n background-color: ", ";\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "], ["\n color: #ff8a00;\n background-color: ", ";\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "])), rgba('#FFB21E', 0.15), darken(0.1, '#FF8A00'), rgba('#FFB21E', 0.25)); case 'staff': return css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n color: #ff8a00;\n background-color: ", ";\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "], ["\n color: #ff8a00;\n background-color: ", ";\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "])), rgba('#FFB21E', 0.15), darken(0.1, '#FF8A00'), rgba('#FFB21E', 0.25)); case 'support': return css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n color: #ff8a00;\n background-color: ", ";\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "], ["\n color: #ff8a00;\n background-color: ", ";\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "])), rgba('#FFB21E', 0.15), darken(0.1, '#FF8A00'), rgba('#FFB21E', 0.25)); case 'explicit': return css(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n color: ", ";\n border: 1px solid ", ";\n background-color: transparent;\n\n ", "\n "], ["\n color: ", ";\n border: 1px solid ", ";\n background-color: transparent;\n\n ", "\n "])), red(600), red(600), href && css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n &:focus,\n &:active,\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "], ["\n &:focus,\n &:active,\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "])), red(600), red(50))); case 'featured': return css(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n color: #ff9d9d;\n "], ["\n color: #ff9d9d;\n "]))); case 'hd': return css(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n font-style: italic;\n color: #cceffc;\n "], ["\n font-style: italic;\n color: #cceffc;\n "]))); case 'help': return css(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n cursor: help;\n\n &:hover,\n &:focus {\n color: ", ";\n background-color: #3a5161;\n }\n "], ["\n cursor: help;\n\n &:hover,\n &:focus {\n color: ", ";\n background-color: #3a5161;\n }\n "])), white); case 'info': return css(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n color: #d0d8db;\n cursor: help;\n\n &:hover,\n &:focus {\n color: ", " !important;\n background: ", ";\n }\n "], ["\n color: #d0d8db;\n cursor: help;\n\n &:hover,\n &:focus {\n color: ", " !important;\n background: ", ";\n }\n "])), white, slate(500)); case 'live': return css(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n color: ", ";\n background: #ff4d4d;\n\n &:hover {\n color: ", ";\n background: ", ";\n }\n "], ["\n color: ", ";\n background: #ff4d4d;\n\n &:hover {\n color: ", ";\n background: ", ";\n }\n "])), white, white, red(600)); case 'live-archive': return css(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n color: #8699a6;\n border: 1px solid #8699a6;\n\n &:hover {\n color: ", ";\n border-color: ", ";\n }\n "], ["\n color: #8699a6;\n border: 1px solid #8699a6;\n\n &:hover {\n color: ", ";\n border-color: ", ";\n }\n "])), slate(800), slate(800)); case 'mature': { var color = core.color.status.negative; return css(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n color: ", ";\n border: 1px solid ", ";\n "], ["\n color: ", ";\n border: 1px solid ", ";\n "])), color, color); } case 'new': return css(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n color: ", ";\n vertical-align: top;\n "], ["\n color: ", ";\n vertical-align: top;\n "])), red(500)); case 'not-yet-rated': { var color = core.color.text(900); return css(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n color: ", ";\n border: 1px solid ", ";\n "], ["\n color: ", ";\n border: 1px solid ", ";\n "])), color, color); } case 'restricted': { return css(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n color: ", ";\n background-color: ", ";\n opacity: 0.7;\n "], ["\n color: ", ";\n background-color: ", ";\n opacity: 0.7;\n "])), white, red(500)); } case 'sponsor': return basicBadge(green(500)); case 'partner': return css(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n ", ";\n color: #a2afb8;\n background-color: ", ";\n "], ["\n ", ";\n color: #a2afb8;\n background-color: ", ";\n "])), basicBadge(slate(800)), slate(100)); case 'pro': return basicBadge(slate(800)); case 'plus': return css(templateObject_24 || (templateObject_24 = __makeTemplateObject(["\n ", ";\n border: none;\n "], ["\n ", ";\n border: none;\n "])), basicBadge(blue(500))); case 'producer': return css(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n ", ";\n border: none;\n "], ["\n ", ";\n border: none;\n "])), basicBadge('#503873')); case 'spatial': return css(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n color: ", ";\n border: 1px solid #d0d8db;\n background-color: transparent;\n\n &:focus,\n &:active,\n &:hover {\n background-color: ", ";\n }\n "], ["\n color: ", ";\n border: 1px solid #d0d8db;\n background-color: transparent;\n\n &:focus,\n &:active,\n &:hover {\n background-color: ", ";\n }\n "])), slate(500), grayscale(100)); case 'upgrade': return css(templateObject_27 || (templateObject_27 = __makeTemplateObject(["\n color: ", ";\n background-color: ", ";\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "], ["\n color: ", ";\n background-color: ", ";\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "])), white, blue(500), white, blue(600)); case 'vod': return css(templateObject_28 || (templateObject_28 = __makeTemplateObject(["\n color: rgba(247, 180, 44, 0.2);\n background: transparent;\n border: 1px dotted rgba(247, 180, 44, 0.5);\n "], ["\n color: rgba(247, 180, 44, 0.2);\n background: transparent;\n border: 1px dotted rgba(247, 180, 44, 0.5);\n "]))); default: return ''; } } function basicBadge(color, hover) { if (hover === void 0) { hover = true; } return css(templateObject_30 || (templateObject_30 = __makeTemplateObject(["\n color: ", ";\n background-color: ", ";\n\n ", ";\n "], ["\n color: ", ";\n background-color: ", ";\n\n ", ";\n "])), color, rgba(color, 0.15), hover && css(templateObject_29 || (templateObject_29 = __makeTemplateObject(["\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "], ["\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n "])), darken(0.1, color), rgba(color, 0.2))); } var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30; export { Badge, Wrapper, format, size };