UNPKG

typewriter-animation-adjustable

Version:

Adjustbale Type Writer Animation

149 lines (147 loc) 8.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("core-js/modules/web.dom.iterable.js"); require("core-js/modules/es6.regexp.split.js"); require("core-js/modules/es6.symbol.js"); var _react = _interopRequireWildcard(require("react")); var _styledComponents = _interopRequireWildcard(require("styled-components")); var _templateObject, _templateObject2, _templateObject3, _templateObject4; function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } // import "core-js/web/dom-collections/"; // import "core-js/es6/regexp"; // import "core-js/es6"; const AnimationWrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin: ", ";\n background-color: ", ";\n padding: ", ";\n display: ", ";\n align-items: ", ";\n justify-content: ", ";\n height: ", ";\n width: ", ";\n\n table {\n width: 100%;\n }\n\n h1 {\n color: ", ";\n font-size: ", ";\n font-family: ", ";\n margin: ", ";\n padding: ", ";\n text-transform: ", ";\n font-weight: ", ";\n }\n\n p {\n color: ", ";\n font-size: ", ";\n font-family: ", ";\n margin: ", ";\n padding: ", ";\n text-transform: ", ";\n font-weight: ", ";\n }\n"])), props => props.containerMargin || "0%", props => props.containerBgColor || "#48c9b0", props => props.containerPadding || "0%", props => props.containerDisplay || "inline-block", props => props.containerAlignItems || "start", props => props.containerJustifyContent || "start", props => props.containerHeight || "auto", props => props.containerWidth || "100%", props => props.headerColor || "white", props => props.headerFontSize || "5em", props => props.headerFontFamily || "system-ui", props => props.headerMargin || "0%", props => props.headerPadding || "0%", props => props.headerTextTransform || "none", props => props.headerFontWeight || "none", props => props.descriptionColor || "black", props => props.descriptionFontSize || "4em", props => props.descriptionFontFamily || "system-ui", props => props.descriptionMargin || "0.1em 0.1em 0.1em 0.1em", props => props.descriptionPadding || "0.1em 0.1em 0.1em 0.1em", props => props.descriptionTextTransform || "none", props => props.descriptionFontWeight || "none"); const Blinker_ = _styledComponents.default.span(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n margin: ", ";\n &:after {\n position: absolute;\n content: \"\";\n top: ", ";\n width: ", ";\n height: ", ";\n background-color: ", ";\n }\n"])), props => props.Margin || " 0px 0px 0px 10px", props => props.Top || "0.15em", props => props.Width || "0.05em", props => props.Height, props => props.color); const blink = (0, _styledComponents.keyframes)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\n60%\n{\nopacity: 0;\n}\n\n"]))); const Blinker = (0, _styledComponents.default)(Blinker_)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n animation: ", " 1s infinite;\n"])), blink); const TypewriterAnimation = _ref => { let { value, headerBlinkTimer, descriptnBlinkTimer, containerMargin, containerPadding, containerBgColor, containerAlignItems, containerJustifyContent, containerHeight, containerWidth, containerDisplay, headerColor, headerFontSize, headerFontFamily, headerMargin, headerPadding, descriptionColor, descriptionFontSize, descriptionFontFamily, descriptionMargin, descriptionPadding, headerBlinkerWidth, headerBlinkerHeight, headerBlinkerColor, headerBlinkerDisplay, headerBlinkerMargin, headerBlinkerTop, descriptionBlinkerHeight, descriptionBlinkerWidth, descriptionBlinkerColor, descriptionBlinkerDisplay, descriptionBlinkerMargin, descriptionBlinkerTop, headerTextTransform, headerFontWeight, descriptionTextTransform, descriptionFontWeight } = _ref; const [name, setName] = (0, _react.useState)(""); const [displayHeader, setDisplayHeader] = (0, _react.useState)(headerBlinkerDisplay || false); const [displayDes, setDisplayDesc] = (0, _react.useState)(descriptionBlinkerDisplay || true); const setNameAnimation = (0, _react.useCallback)(value => { // alert(display); let index = 0, s = []; const g = setInterval(function () { index = index + 1; if (s.length <= value.length) { // s.pop(); s.push(value[index - 1]); // s.push(" _"); if (value[index - 1] === "*") {} setName(s.join("").split("*")); } }, 100); if (s.length === value.length) { clearInterval(g); } }, []); (0, _react.useEffect)(() => { setTimeout(() => { setDisplayHeader(false); }, headerBlinkTimer ? headerBlinkTimer : 3000); setTimeout(() => { setDisplayDesc(false); }, descriptnBlinkTimer ? descriptnBlinkTimer : 6000); }, [displayDes, displayHeader, value, headerBlinkTimer, descriptnBlinkTimer]); (0, _react.useEffect)(() => { setNameAnimation(value || "Hey, This is My Heading * & Description !"); }, [setNameAnimation, value]); return /*#__PURE__*/_react.default.createElement(AnimationWrapper, { containerDisplay: containerDisplay, containerMargin: containerMargin, containerPadding: containerPadding, containerBgColor: containerBgColor, containerAlignItems: containerAlignItems, containerJustifyContent: containerJustifyContent, containerHeight: containerHeight, containerWidth: containerWidth, headerColor: headerColor, headerFontSize: headerFontSize, headerFontFamily: headerFontFamily, headerMargin: headerMargin, headerPadding: headerPadding, descriptionColor: descriptionColor, descriptionFontSize: descriptionFontSize, descriptionFontFamily: descriptionFontFamily, descriptionMargin: descriptionMargin, descriptionPadding: descriptionPadding, headerTextTransform: headerTextTransform, headerFontWeight: headerFontWeight, descriptionTextTransform: descriptionTextTransform, descriptionFontWeight: descriptionFontWeight }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("table", null, /*#__PURE__*/_react.default.createElement("tbody", null, Array.from(Array(name.length).keys()).map((e, i) => i === 0 ? /*#__PURE__*/_react.default.createElement("tr", { key: i }, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("h1", null, name[i], /*#__PURE__*/_react.default.createElement("span", { style: { visibility: displayHeader ? "visible" : "hidden" } }, /*#__PURE__*/_react.default.createElement(Blinker, { Margin: headerBlinkerMargin, Top: headerBlinkerTop, Width: headerBlinkerWidth, Height: headerBlinkerHeight || headerFontSize, color: headerBlinkerColor || headerColor }))))) : i === 1 ? /*#__PURE__*/_react.default.createElement("tr", { key: i }, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("p", { key: i, id: "description".concat(i) }, name[i], /*#__PURE__*/_react.default.createElement("span", { style: { visibility: displayDes ? "visible" : "hidden" } }, /*#__PURE__*/_react.default.createElement(Blinker, { Margin: descriptionBlinkerMargin, Top: descriptionBlinkerTop, Width: descriptionBlinkerWidth, Height: descriptionBlinkerHeight || descriptionFontSize, color: descriptionBlinkerColor || descriptionColor }))))) : ""))))); }; var _default = TypewriterAnimation; exports.default = _default;