{"version":3,"sources":["../../src/zindex/index.ts"],"sourcesContent":["export interface ZIndexOptions {\n    get(element?: HTMLElement): number;\n    set(key: string, element: HTMLElement, baseZIndex?: number): void;\n    clear(element: HTMLElement): void;\n    getCurrent(key: string): number;\n}\n\nfunction handler(): ZIndexOptions {\n    let zIndexes: { key: string; value: number }[] = [];\n\n    const generateZIndex = (key: string, autoZIndex: boolean, baseZIndex: number = 999) => {\n        const lastZIndex = getLastZIndex(key, autoZIndex, baseZIndex);\n        const newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1;\n\n        zIndexes.push({ key, value: newZIndex });\n\n        return newZIndex;\n    };\n\n    const revertZIndex = (zIndex: number) => {\n        zIndexes = zIndexes.filter((obj) => obj.value !== zIndex);\n    };\n\n    const getCurrentZIndex = (key: string, autoZIndex: boolean) => {\n        return getLastZIndex(key, autoZIndex).value;\n    };\n\n    const getLastZIndex = (key: string, autoZIndex: boolean, baseZIndex: number = 0) => {\n        return [...zIndexes].reverse().find((obj) => (autoZIndex ? true : obj.key === key)) || { key, value: baseZIndex };\n    };\n\n    const getZIndex = (element?: HTMLElement): number => {\n        return element ? parseInt(element.style.zIndex, 10) || 0 : 0;\n    };\n\n    return {\n        get: getZIndex,\n        set: (key: string, element?: HTMLElement, baseZIndex?: number) => {\n            if (element) {\n                element.style.zIndex = String(generateZIndex(key, true, baseZIndex));\n            }\n        },\n        clear: (element?: HTMLElement) => {\n            if (element) {\n                revertZIndex(getZIndex(element));\n                element.style.zIndex = '';\n            }\n        },\n        getCurrent: (key: string) => getCurrentZIndex(key, true)\n    };\n}\n\nexport const ZIndex: ZIndexOptions = handler();\n"],"mappings":"AAOA,SAASA,GAAyB,CAC9B,IAAIC,EAA6C,CAAC,EAE5CC,EAAiB,CAACC,EAAaC,EAAqBC,EAAqB,MAAQ,CACnF,IAAMC,EAAaC,EAAcJ,EAAKC,EAAYC,CAAU,EACtDG,EAAYF,EAAW,OAASA,EAAW,MAAQH,EAAM,EAAIE,GAAc,EAEjF,OAAAJ,EAAS,KAAK,CAAE,IAAAE,EAAK,MAAOK,CAAU,CAAC,EAEhCA,CACX,EAEMC,EAAgBC,GAAmB,CACrCT,EAAWA,EAAS,OAAQU,GAAQA,EAAI,QAAUD,CAAM,CAC5D,EAEME,EAAmB,CAACT,EAAaC,IAC5BG,EAAcJ,EAAKC,CAAU,EAAE,MAGpCG,EAAgB,CAACJ,EAAaC,EAAqBC,EAAqB,IACnE,CAAC,GAAGJ,CAAQ,EAAE,QAAQ,EAAE,KAAMU,GAASP,EAAa,GAAOO,EAAI,MAAQR,CAAI,GAAK,CAAE,IAAAA,EAAK,MAAOE,CAAW,EAG9GQ,EAAaC,GACRA,GAAU,SAASA,EAAQ,MAAM,OAAQ,EAAE,GAAK,EAG3D,MAAO,CACH,IAAKD,EACL,IAAK,CAACV,EAAaW,EAAuBT,IAAwB,CAC1DS,IACAA,EAAQ,MAAM,OAAS,OAAOZ,EAAeC,EAAK,GAAME,CAAU,CAAC,EAE3E,EACA,MAAQS,GAA0B,CAC1BA,IACAL,EAAaI,EAAUC,CAAO,CAAC,EAC/BA,EAAQ,MAAM,OAAS,GAE/B,EACA,WAAaX,GAAgBS,EAAiBT,EAAK,EAAI,CAC3D,CACJ,CAEO,IAAMY,EAAwBf,EAAQ","names":["handler","zIndexes","generateZIndex","key","autoZIndex","baseZIndex","lastZIndex","getLastZIndex","newZIndex","revertZIndex","zIndex","obj","getCurrentZIndex","getZIndex","element","ZIndex"]}