@vimeo/iris
Version:
Vimeo Design System
94 lines (91 loc) • 7.54 kB
JavaScript
import { a as __makeTemplateObject, b as __rest, c as __assign } from '../../../../tslib.es6-7f0e734f.js';
import React__default from 'react';
import styled, { css } from 'styled-components';
import { rem, rgba } from 'polished';
import { white, blue } from '../../../../color/colors.esm.js';
import { Paragraph } from '../../../../typography/Paragraph/Paragraph.esm.js';
import '../../../../typography/Paragraph/Paragraph.style.esm.js';
import '../../../../typography/Text/Text.esm.js';
import '../../../../typography/Text/Text.style.esm.js';
import '../../../../typography/typography.esm.js';
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 '../../../../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 '../../../../typography/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';
function Label(_a) {
var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
return (React__default.createElement(Paragraph, __assign({ size: "1", className: className }, props), children));
}
var CalendarDayLabel = styled(Label)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n font-size: ", ";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:before {\n content: ' ';\n display: inline-block;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n }\n\n ", "\n\n ", "\n"], ["\n font-size: ", ";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:before {\n content: ' ';\n display: inline-block;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n }\n\n ", "\n\n ", "\n"])), rem(14), function (props) {
if (!props.isPast) {
return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &:hover {\n color: ", ";\n z-index: 1;\n\n &::before {\n pointer-events: none;\n background-color: ", ";\n border-radius: 50%;\n transform: scale(1.1);\n }\n }\n "], ["\n &:hover {\n color: ", ";\n z-index: 1;\n\n &::before {\n pointer-events: none;\n background-color: ", ";\n border-radius: 50%;\n transform: scale(1.1);\n }\n }\n "])), white, blue(600));
}
}, function (props) {
if (props.isPast) {
return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n cursor: default;\n color: ", ";\n "], ["\n cursor: default;\n color: ", ";\n "])), function (_a) {
var theme = _a.theme;
return rgba(theme.formats.soft, 0.25);
});
}
var backgroundColor = function (_a) {
var theme = _a.theme;
return theme.name === 'dark' ? blue(850) : blue(50);
};
var controlStyle = css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n &::before {\n background-color: ", ";\n border-radius: 50%;\n }\n "], ["\n &::before {\n background-color: ", ";\n border-radius: 50%;\n }\n "])), blue(500));
if (props.isTrack && props.isControl) {
return css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background-color: ", ";\n color: ", ";\n z-index: 1;\n ", ";\n "], ["\n background-color: ", ";\n color: ", ";\n z-index: 1;\n ", ";\n "])), backgroundColor, white, controlStyle);
}
if (props.isTrack) {
return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n background-color: ", ";\n "], ["\n background-color: ", ";\n "])), backgroundColor);
}
if (props.isControl) {
var control = css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n z-index: 1;\n color: ", ";\n ", ";\n "], ["\n z-index: 1;\n color: ", ";\n ", ";\n "])), white, controlStyle);
if (props.isStart && !props.isEnd) {
return css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n ", ";\n background-color: ", ";\n border-radius: 50% 0 0 50%;\n "], ["\n ", ";\n background-color: ", ";\n border-radius: 50% 0 0 50%;\n "])), control, backgroundColor);
}
if (props.isEnd) {
return css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n ", ";\n background-color: ", ";\n border-radius: 0 50% 50% 0;\n "], ["\n ", ";\n background-color: ", ";\n border-radius: 0 50% 50% 0;\n "])), control, backgroundColor);
}
return css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), control);
}
return css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), function (_a) {
var theme = _a.theme;
return theme.formats.soft;
});
});
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11;
export { CalendarDayLabel };