UNPKG

react-dayo

Version:

A Queue component for notification etc

57 lines 6.15 kB
"use strict"; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = __importStar(require("react")); var styled_components_1 = __importDefault(require("styled-components")); var styled = styled_components_1.default; var component = {}; var init = function (refs) { if (refs.container.current !== null && refs.middleArea.current !== null) { refs.container.current.style.height = refs.middleArea.current.clientHeight + "px"; } }; /* eslint-disable react/prop-types */ exports.Box = function (props) { var containerRef = react_1.useRef(null); var middleAreaRef = react_1.useRef(null); react_1.useEffect(function () { if (props.isEnter) { init({ container: containerRef, middleArea: middleAreaRef }); } }); return (react_1.default.createElement(component.container, { ref: containerRef, theme: props.theme, "aria-live": "assertive", "data-to": props.to, "data-is-enter": props.isEnter, "data-is-entering": props.isEntering, "data-is-entered": props.isEntered, "data-is-delete": props.isExit, "data-is-deleting": props.isExiting, "data-is-deleted": props.isExited, onTransitionEnd: props.onTransitionEnd, "data-testid": "dayo--box" }, react_1.default.createElement("div", { ref: middleAreaRef }, props.BlockComponent === undefined ? null : (react_1.default.createElement(props.BlockComponent, __assign({ close: props.close }, props.additionalProps || {}), props.children))))); }; /* eslint-enable react/prop-types */ exports.Box.displayName = 'Dayo(Box)'; exports.default = exports.Box; component.container = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n transition: 0.5s\n ", ";\n opacity: 1;\n\n &[data-is-enter='true'] {\n will-change: transform;\n transition: none;\n opacity: 0;\n }\n\n &[data-is-enter='true'] {\n color: orange;\n }\n\n &[data-is-enter='true'][data-to='top'] {\n transform: translate3d(0, 0.5em, 0);\n }\n\n &[data-is-enter='true'][data-to='bottom'] {\n transform: translate3d(0, -0.5em, 0);\n }\n\n &[data-is-entering='true'] {\n transition-property: transform, opacity;\n will-change: transform, opacity;\n opacity: 1;\n }\n\n /* &[data-is-entered='true'] {\n transform: translate3d(0, 0, 0);\n } */\n\n /* &[data-is-delete='true'] {\n } */\n\n &[data-is-deleting='true'] {\n transition-property: transform margin, padding, opacity, height;\n /* transition-duration: 0.3s; */\n transition-duration: 0.3s;\n will-change: transform, margin, padding, opacity, height;\n overflow: hidden;\n backface-visibility: hidden;\n &[data-to='top'] {\n transform: translate3d(0, -0.5em, 0);\n }\n &[data-to='bottom'] {\n transform: translate3d(0, 0.5em, 0);\n }\n padding: 0;\n margin: 0;\n opacity: 0;\n height: 0 !important;\n }\n\n &[data-is-deleted='true'] {\n transition-duration: none;\n transition-duration: 0;\n &[data-to='top'] {\n transform: translate3d(0, -0.5em, 0) scale(0.7);\n }\n &[data-to='bottom'] {\n transform: translate3d(0, 0.5em, 0) scale(0.7);\n }\n overflow: hidden;\n padding: 0;\n margin: 0;\n opacity: 0;\n height: 0 !important;\n }\n\n > div {\n text-align: center;\n }\n"], ["\n display: flex;\n align-items: center;\n transition: 0.5s\n ", ";\n opacity: 1;\n\n &[data-is-enter='true'] {\n will-change: transform;\n transition: none;\n opacity: 0;\n }\n\n &[data-is-enter='true'] {\n color: orange;\n }\n\n &[data-is-enter='true'][data-to='top'] {\n transform: translate3d(0, 0.5em, 0);\n }\n\n &[data-is-enter='true'][data-to='bottom'] {\n transform: translate3d(0, -0.5em, 0);\n }\n\n &[data-is-entering='true'] {\n transition-property: transform, opacity;\n will-change: transform, opacity;\n opacity: 1;\n }\n\n /* &[data-is-entered='true'] {\n transform: translate3d(0, 0, 0);\n } */\n\n /* &[data-is-delete='true'] {\n } */\n\n &[data-is-deleting='true'] {\n transition-property: transform margin, padding, opacity, height;\n /* transition-duration: 0.3s; */\n transition-duration: 0.3s;\n will-change: transform, margin, padding, opacity, height;\n overflow: hidden;\n backface-visibility: hidden;\n &[data-to='top'] {\n transform: translate3d(0, -0.5em, 0);\n }\n &[data-to='bottom'] {\n transform: translate3d(0, 0.5em, 0);\n }\n padding: 0;\n margin: 0;\n opacity: 0;\n height: 0 !important;\n }\n\n &[data-is-deleted='true'] {\n transition-duration: none;\n transition-duration: 0;\n &[data-to='top'] {\n transform: translate3d(0, -0.5em, 0) scale(0.7);\n }\n &[data-to='bottom'] {\n transform: translate3d(0, 0.5em, 0) scale(0.7);\n }\n overflow: hidden;\n padding: 0;\n margin: 0;\n opacity: 0;\n height: 0 !important;\n }\n\n > div {\n text-align: center;\n }\n"])), function (props) { return props.theme.transitionTimingFunction; }); var templateObject_1; //# sourceMappingURL=box.js.map