react-dayo
Version:
A Queue component for notification etc
57 lines • 6.15 kB
JavaScript
"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