@vimeo/iris
Version:
Vimeo Design System
86 lines (83 loc) • 4.52 kB
JavaScript
import { a as __makeTemplateObject, b as __rest, c as __assign } from '../../tslib.es6-7f0e734f.js';
import React__default, { createContext, useContext } from 'react';
import styled from 'styled-components';
import { rgba } from 'polished';
import { Button } from '../Button/Button.esm.js';
import { Header as Header$1 } from '../../typography/Header/Header.esm.js';
import '../Button/Button.style.esm.js';
import '../Button/Button.config.esm.js';
import '../Button/FeaturedIcon.esm.js';
import '../../themes/index.esm.js';
import '../../color/colors.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 '../LoaderCircular/LoaderCircular.esm.js';
import '../LoaderCircular/LoaderCircular.style.esm.js';
import '../../utils/HOCs/withIris.esm.js';
import '../../utils/hooks/useDeprecate.esm.js';
import '../../utils/general/mergeReactRefs.esm.js';
import '../../utils/css.esm.js';
import '../../typography/Header/Header.style.esm.js';
import '../../typography/typography.esm.js';
import '../../typography/Text/Text.esm.js';
import '../../typography/Text/Text.style.esm.js';
import '../../typography/Text/EditableText.esm.js';
import '../../utils/hooks/useLayoutStyles.esm.js';
import '../../utils/DOM/geometry.esm.js';
var Controls = createContext(null);
function Header(_a) {
var children = _a.children, props = __rest(_a, ["children"]);
return (React__default.createElement(Header$1, __assign({ size: "2" }, props), children));
}
var ActionButton = function (_a) {
var children = _a.children, format = _a.format,
// variant,
onClick = _a.onClick, props = __rest(_a, ["children", "format", "onClick"]);
var close = useContext(Controls).close;
return (React__default.createElement(ActionButtonStyled, __assign({}, props, { format: format,
// variant={variant}
onClick: function (event) {
close && close(event);
onClick && onClick(event);
} }), children));
};
var ActionButtonStyled = styled(Button)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 100%;\n\n &:first-of-type {\n margin-right: 1rem;\n }\n"], ["\n width: 100%;\n\n &:first-of-type {\n margin-right: 1rem;\n }\n"])));
var Footer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border-top: 1px ", "\n solid;\n display: flex;\n padding-top: 1.5rem;\n"], ["\n border-top: 1px ", "\n solid;\n display: flex;\n padding-top: 1.5rem;\n"])), function (_a) {
var theme = _a.theme;
return rgba(theme.content.color, 0.2);
});
var PrimaryAction = function (props) { return (React__default.createElement(ActionButton, __assign({ format: "primary" }, props))); };
var SecondaryAction = function (props) { return (React__default.createElement(ActionButton, __assign({ format: "secondary" }, props))); };
var templateObject_1, templateObject_2;
export { Controls, Footer, Header, PrimaryAction, SecondaryAction };