{"version":3,"file":"scripts/components.block.tag.menublock.category.category.8b572a2e.js","mappings":"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","sources":["webpack://foundation-spa-frontend/./src/Components/Block/Tag/MenuBlock/Category/Category.tsx"],"sourcesContent":["\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n      desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst react_1 = __importStar(require(\"react\"));\r\nconst styled = __importStar(require(\"./styled\"));\r\nconst Item_1 = __importDefault(require(\"../Item/Item\"));\r\nconst Contexts_1 = require(\"../../../../../Contexts\");\r\nconst Theme_1 = require(\"../../../../../Theme/Theme\");\r\nconst svg_components_1 = require(\"../../../../../assets/svg-components\");\r\nconst Typography_1 = require(\"../../../../UI/Typography\");\r\nconst Types_1 = require(\"Types\");\r\nconst Category = ({ title, items, setMaxHeightProps, firstLayer, uri, setOpenParentProps, isFolder, target, forceOpen = false }) => {\r\n    const { activeCategory, setActiveCategory } = (0, react_1.useContext)(Contexts_1.TAGMenuContext);\r\n    const [isOpen, setIsOpen] = (0, react_1.useState)(false);\r\n    const [maxHeight, setMaxHeight] = (0, react_1.useState)(0);\r\n    const childrenRef = (0, react_1.useRef)(null);\r\n    const [openParent, setOpenParent] = (0, react_1.useState)(false);\r\n    (0, react_1.useEffect)(() => {\r\n        if (forceOpen && uri === activeCategory) {\r\n            setIsOpen(true);\r\n            setOpenParent(true);\r\n        }\r\n    }, [forceOpen]);\r\n    const calculateMaxHeightLocal = (0, react_1.useCallback)(() => {\r\n        let sum = 0;\r\n        for (let i = 0; i < childrenRef.current.children.length; i++) {\r\n            const element = childrenRef.current.children[i];\r\n            sum += element.offsetHeight;\r\n        }\r\n        setMaxHeight(sum);\r\n    }, []);\r\n    (0, react_1.useEffect)(() => {\r\n        if (isOpen === false) {\r\n            setMaxHeight(0);\r\n        }\r\n        else {\r\n            calculateMaxHeightLocal();\r\n        }\r\n    }, [isOpen, calculateMaxHeightLocal]);\r\n    (0, react_1.useEffect)(() => {\r\n        if (typeof setMaxHeightProps === 'function' && maxHeight !== 0) {\r\n            setMaxHeightProps((prev) => prev + maxHeight);\r\n        }\r\n    }, [maxHeight]);\r\n    (0, react_1.useEffect)(() => {\r\n        if (activeCategory === uri && typeof setOpenParentProps === 'function') {\r\n            setOpenParentProps(true);\r\n        }\r\n    }, []);\r\n    (0, react_1.useEffect)(() => {\r\n        if (openParent) {\r\n            childrenRef.current.style.transition = 'all 0s ease 0s';\r\n            setIsOpen(true);\r\n            setTimeout(() => {\r\n                var _a;\r\n                if ((_a = childrenRef === null || childrenRef === void 0 ? void 0 : childrenRef.current) === null || _a === void 0 ? void 0 : _a.style) {\r\n                    childrenRef.current.style.transition = Theme_1.theme.animations.primary;\r\n                }\r\n            }, 100);\r\n            if (typeof setOpenParentProps === 'function') {\r\n                setOpenParentProps(true);\r\n            }\r\n        }\r\n    }, [openParent]);\r\n    const iconClick = (e) => {\r\n        e.stopPropagation();\r\n        e.preventDefault();\r\n        setIsOpen(prev => !prev);\r\n    };\r\n    const openHandler = () => {\r\n        setActiveCategory(uri);\r\n    };\r\n    return (react_1.default.createElement(styled.Container, { firstLayer: firstLayer },\r\n        react_1.default.createElement(styled.TitleBlock, { href: uri, target: target || Types_1.Target.SELF, onClick: isFolder ? iconClick : openHandler, isActive: activeCategory === uri },\r\n            react_1.default.createElement(styled.Title, { type: Typography_1.Types.NAV_MEGA_LVL3, isOpen: isOpen || activeCategory === uri }, title),\r\n            isOpen ? (react_1.default.createElement(svg_components_1.SimpleMinus, { onClick: (e) => iconClick(e) })) : (react_1.default.createElement(svg_components_1.SimplePlus, { onClick: (e) => iconClick(e) }))),\r\n        react_1.default.createElement(styled.ChildrenBlock, { ref: childrenRef, maxHeight: maxHeight }, !!items.length &&\r\n            items.map((el, index) => {\r\n                if (el === null || el === void 0 ? void 0 : el.children.length) {\r\n                    return (react_1.default.createElement(Category, { forceOpen: forceOpen, title: el.title, items: el.children, key: index, setMaxHeightProps: setMaxHeight, firstLayer: false, uri: el.uri, target: el === null || el === void 0 ? void 0 : el.target, setOpenParentProps: setOpenParent }));\r\n                }\r\n                else {\r\n                    return (react_1.default.createElement(Item_1.default, { key: index, title: el.title, uri: el.uri, target: el === null || el === void 0 ? void 0 : el.target, setOpenParentProps: setOpenParent }));\r\n                }\r\n            }))));\r\n};\r\nexports.default = Category;\r\n"],"names":["__createBinding","this","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","mod","result","prototype","hasOwnProperty","call","__importDefault","exports","react_1","styled","Item_1","Contexts_1","Theme_1","svg_components_1","Typography_1","Types_1","Category","title","items","setMaxHeightProps","firstLayer","uri","setOpenParentProps","isFolder","target","forceOpen","activeCategory","setActiveCategory","useContext","TAGMenuContext","isOpen","setIsOpen","useState","maxHeight","setMaxHeight","childrenRef","useRef","openParent","setOpenParent","useEffect","calculateMaxHeightLocal","useCallback","sum","i","current","children","length","offsetHeight","prev","style","transition","setTimeout","_a","theme","animations","primary","iconClick","e","stopPropagation","preventDefault","default","createElement","Container","TitleBlock","href","Target","SELF","onClick","isActive","Title","type","Types","NAV_MEGA_LVL3","SimpleMinus","SimplePlus","ChildrenBlock","ref","map","el","index","key"],"sourceRoot":""}