@vimeo/iris
Version:
Vimeo Design System
80 lines (73 loc) • 4.54 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../../tslib.es6-3ec409b7.js');
var styled = require('styled-components');
var typography_typography = require('../typography.js');
var typography_Text_Text = require('../Text/Text.js');
require('react');
require('../Text/Text.style.js');
require('polished');
require('../../tokens/core.js');
require('../../tokens/color/index.js');
require('../../tokens/color/background/background.js');
require('../../tokens/util/readToken.js');
require('../../color/colors.js');
require('../../tokens/util/clamp.js');
require('../../tokens/color/format/format.js');
require('../../tokens/color/format/primary.js');
require('../../tokens/color/format/secondary.js');
require('../../tokens/color/format/tertiary.js');
require('../../tokens/color/rainbow/rainbow.js');
require('../../tokens/color/rainbow/conic/index.js');
require('../../tokens/color/rainbow/conic/sm.js');
require('../../tokens/color/rainbow/conic/xl.js');
require('../../tokens/color/rainbow/linear/index.js');
require('../../tokens/color/rainbow/linear/sm.js');
require('../../tokens/color/rainbow/linear/xl.js');
require('../../tokens/color/livestream/livestream.js');
require('../../tokens/color/status/status.js');
require('../../tokens/color/status/caution.js');
require('../../tokens/color/status/negative.js');
require('../../tokens/color/status/positive.js');
require('../../tokens/color/stroke/stroke.js');
require('../../tokens/color/surface/surface.js');
require('../../tokens/color/text/text.js');
require('../../tokens/util/round.js');
require('../../tokens/color/upsell/upsell.js');
require('../../tokens/color/upsell/sm.js');
require('../../tokens/color/upsell/xl.js');
require('../../tokens/color/upsell/new.js');
require('../../tokens/edge/edge.js');
require('../../tokens/space/space.js');
require('../../tokens/typography/index.js');
require('../../tokens/typography/size/size.js');
require('../Text/EditableText.js');
require('../../utils/HOCs/withIris.js');
require('../../utils/hooks/useLayoutStyles.js');
require('../../utils/DOM/geometry.js');
require('../../utils/css.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
var Header = styled__default["default"](typography_Text_Text.Text)(templateObject_1 || (templateObject_1 = tslib_es6.__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, typography_typography.antialias);
var PlusUltra = styled__default["default"](typography_Text_Text.Text)(templateObject_2 || (templateObject_2 = tslib_es6.__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 styled.css(templateObject_3 || (templateObject_3 = tslib_es6.__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;
exports.Header = Header;
exports.PlusUltra = PlusUltra;