@vimeo/iris
Version:
Vimeo Design System
71 lines (68 loc) • 4.19 kB
JavaScript
import { a as __makeTemplateObject } from '../../tslib.es6-7f0e734f.js';
import styled, { css } from 'styled-components';
import { antialias } from '../typography.esm.js';
import { Text } from '../Text/Text.esm.js';
import 'react';
import '../Text/Text.style.esm.js';
import 'polished';
import '../../tokens/core.esm.js';
import '../../tokens/color/index.esm.js';
import '../../tokens/color/background/background.esm.js';
import '../../tokens/util/readToken.esm.js';
import '../../color/colors.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';
import '../Text/EditableText.esm.js';
import '../../utils/HOCs/withIris.esm.js';
import '../../utils/hooks/useLayoutStyles.esm.js';
import '../../utils/DOM/geometry.esm.js';
import '../../utils/css.esm.js';
var Header = styled(Text)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: block;\n color: ", ";\n font-weight: ", ";\n ", ";\n ", ";\n"], ["\n display: block;\n color: ", ";\n font-weight: ", ";\n ", ";\n ", ";\n"])), function (p) { return p.theme.formats[p.format]; }, function (p) { return (p.variant === 'thin' ? 400 : 700); }, sizes, antialias);
var PlusUltra = styled(Text)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: block;\n color: ", ";\n font-size: calc(2.25rem + 3.5vw);\n line-height: calc(2.0625rem + 3.5125vw);\n letter-spacing: calc(-0.125rem - 0.0025vw);\n font-weight: 800;\n max-width: calc(96vw - 2rem);\n margin-bottom: calc(1.5rem + 0.875vw);\n"], ["\n display: block;\n color: ", ";\n font-size: calc(2.25rem + 3.5vw);\n line-height: calc(2.0625rem + 3.5125vw);\n letter-spacing: calc(-0.125rem - 0.0025vw);\n font-weight: 800;\n max-width: calc(96vw - 2rem);\n margin-bottom: calc(1.5rem + 0.875vw);\n"])), function (p) { return p.theme.formats[p.format]; });
function sizes(_a) {
var size = _a.size;
var sizeInt = 8 - size / 100;
var lineHeight = calcLineHeight(sizeInt);
var letterSpacing = calcLetterSpacing(sizeInt);
var marginBottom = calcMarginBottom(sizeInt);
return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n line-height: ", ";\n letter-spacing: ", "px;\n margin-bottom: ", "rem;\n "], ["\n line-height: ", ";\n letter-spacing: ", "px;\n margin-bottom: ", "rem;\n "])), lineHeight, letterSpacing, marginBottom);
}
function calcLineHeight(size) {
var lineHeight = Math.round((size / 50 + 1.14) * 100) / 100;
return lineHeight;
}
function calcLetterSpacing(size) {
return Math.min(Math.round((-1.2 - (size - 1) * -0.2) * 100) / 100, 0);
}
function calcMarginBottom(size) {
return Math.max(0.5, Math.round((1.45 - (size - 1) / 5) * 100) / 100);
}
var templateObject_1, templateObject_2, templateObject_3;
export { Header, PlusUltra };