{"version":3,"file":"easy-toggler.cjs","sources":["../src/core/toggle.js","../src/core/add.js","../src/core/remove.js","../src/core/rcoes.js","../src/core/index.js","../src/core/attrs.js","../src/easy-toggler.js"],"sourcesContent":["const toggle = ($toggler, attrs) => {\n    const _target = $toggler.getAttribute(attrs.toggle);\n\n    document.querySelectorAll(`[${ attrs.toggle }]`).forEach((easyBlock) => {\n        if(!easyBlock.hasAttribute(attrs.parallel) && easyBlock !== $toggler){\n            document.querySelector(easyBlock.getAttribute(attrs.toggle)).classList.remove(easyBlock.getAttribute(attrs.class));\n\n            const _selfClass = $toggler.getAttribute(attrs.self);\n            if(_selfClass) {\n                $toggler.classList.remove(_selfClass);\n            }\n        }\n    });\n\n    document.querySelector(_target)?.classList.toggle($toggler.getAttribute(attrs.class));\n\n    const _selfClass = $toggler.getAttribute(attrs.self);\n    if(_selfClass) {\n        $toggler.classList.toggle(_selfClass);\n    }\n\n    attrs.onToggle($toggler);\n}\n\nexport default toggle;\n","const add = ($add, attrs) => {\n    const _target = $add.getAttribute(attrs.add);\n    const _class = $add.getAttribute(attrs.class);\n\n    document.querySelectorAll(_target).forEach((easyBlock) => {\n        easyBlock.classList.add(_class);\n    });\n\n    const _selfClass = $add.getAttribute(attrs.self);\n    if(_selfClass) {\n        $add.classList.add(_selfClass);\n    }\n\n    attrs.onAdd($add);\n}\n\nexport default add;\n","const remove = ($remove, attrs) => {\n    const _target = $remove.getAttribute(attrs.remove);\n    const _class = $remove.getAttribute(attrs.class);\n\n    document.querySelectorAll(_target).forEach((easyBlock) => {\n        easyBlock.classList.remove(_class);\n    });\n\n    const _selfClass = $remove.getAttribute(attrs.self);\n    if(_selfClass) {\n        $remove.classList.remove(_selfClass);\n    }\n\n    attrs.onRemove($remove);\n}\n\nexport default remove;\n","const rcoes = (e, attrs) => {\n    const $rcoes = document.querySelectorAll(`[${ attrs.rcoe }]`);\n\n    Array.from($rcoes).forEach(($rcoe) => {\n        let block = $rcoe.getAttribute(attrs.toggle);\n        let block_class = $rcoe.getAttribute(attrs.class);\n\n        if(!e.target.closest(block)) {\n            document.querySelector(block)?.classList.remove(block_class);\n\n            const _selfClass = $rcoe.getAttribute(attrs.self);\n            if(_selfClass) {\n                $rcoe.classList.remove(_selfClass);\n            }\n\n            attrs.onRcoe($rcoe);\n        }\n    });\n}\n\nexport default rcoes;\n","import toggle from './toggle';\nimport add from './add';\nimport remove from './remove';\nimport rcoes from './rcoes';\n\nfunction easyTogglerHandler(e, attrs) {\n    const $toggler = e.target.closest(`[${ attrs.toggle }]`);\n    const $remove = e.target.closest(`[${ attrs.remove }]`);\n    const $add = e.target.closest(`[${ attrs.add }]`);\n\n    if($toggler) {\n        e.preventDefault();\n        toggle($toggler, attrs);\n    }\n\n    if($remove) {\n        e.preventDefault();\n        remove($remove, attrs);\n    }\n\n    if($add) {\n        e.preventDefault();\n        add($add, attrs);\n    }\n\n    if(!$toggler && !$remove && !$add) {\n        rcoes(e, attrs);\n    }\n}\n\nexport default easyTogglerHandler;\n","const attrsDefault = {\n    toggle: 'easy-toggle',\n    add: 'easy-add',\n    remove: 'easy-remove',\n    class: 'easy-class',\n    rcoe: 'easy-rcoe',\n    parallel: 'easy-parallel',\n    self: 'easy-self',\n    selfRcoe: 'easy-self-rcoe',\n\n    // Hooks\n    onToggle($el){},\n    onAdd($el){},\n    onRemove($el){},\n    onRcoe($el){},\n};\n\nexport default attrsDefault;\n","import easyTogglerHandler from './core';\nimport attrsDefault from './core/attrs';\n\n/**\n * Setup easyToggler plugin\n * with custom attributes\n * @param params<Object>\n */\nconst easySetup = (params) => {\n    const customAttrs = { ...attrsDefault, ...params };\n    document.addEventListener('click', (e) => {\n        easyTogglerHandler(e, customAttrs);\n    });\n};\n\nexport default easySetup;\n"],"names":["toggle","$toggler","attrs","_target","getAttribute","document","querySelectorAll","forEach","easyBlock","hasAttribute","parallel","querySelector","classList","remove","class","_selfClass","self","onToggle","add","$add","_class","onAdd","$remove","onRemove","rcoes","e","$rcoes","rcoe","Array","from","$rcoe","block","block_class","target","closest","onRcoe","easyTogglerHandler","preventDefault","attrsDefault","selfRcoe","$el","easySetup","params","customAttrs","addEventListener"],"mappings":"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"}