{"version":3,"file":"slide-CP2NRLRy.js","sources":["../../../node_modules/slide-element/dist/index.es.js","../src/scripts/common/slide.js"],"sourcesContent":["const afterNextRepaint = (callback) => {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n callback(resolve);\n });\n });\n });\n};\nlet defaultOptions = {\n easing: \"ease\",\n duration: 250,\n fill: \"backwards\",\n display: \"block\",\n overflow: \"hidden\"\n};\nlet nonAnimatableOptions = [\"overflow\", \"display\"];\nlet SlideController = (element, options) => {\n let mergedOptions = Object.assign({}, defaultOptions, options);\n let openDisplayValue = mergedOptions.display;\n let closedDisplayValue = \"none\";\n let setDisplay = (value) => element.style.display = value;\n let getHeight = () => element.clientHeight + \"px\";\n let getComputed = () => window.getComputedStyle(element);\n let setOverflow = (set) => element.style.overflow = set ? mergedOptions.overflow : \"\";\n let getAnimations = () => element.getAnimations();\n let createAnimation = (willOpen, lowerBound) => {\n var _a;\n nonAnimatableOptions.forEach((property) => delete mergedOptions[property]);\n let currentHeight = getHeight();\n let frames = [currentHeight, lowerBound].map((height) => ({\n height,\n paddingTop: \"0px\",\n paddingBottom: \"0px\"\n }));\n let { paddingTop, paddingBottom } = getComputed();\n frames[0].paddingTop = paddingTop;\n frames[0].paddingBottom = paddingBottom;\n if (willOpen) {\n frames[0].height = currentHeight;\n frames.reverse();\n }\n if ((_a = window.matchMedia(\"(prefers-reduced-motion: reduce)\")) == null ? void 0 : _a.matches) {\n mergedOptions.duration = 0;\n }\n let animation = element.animate(frames, mergedOptions);\n animation.id = (+willOpen).toString();\n return animation;\n };\n let triggerAnimation = async (willOpen) => {\n let finishedAnimations = getAnimations().map((a) => a.finish());\n await afterNextRepaint(async (resolve) => {\n let currentHeight = willOpen ? getHeight() : \"0px\";\n if (willOpen)\n setDisplay(openDisplayValue);\n setOverflow(true);\n await createAnimation(willOpen, currentHeight).finished;\n setOverflow(false);\n if (!willOpen)\n setDisplay(closedDisplayValue);\n resolve();\n });\n return finishedAnimations.length ? null : willOpen;\n };\n let up2 = async () => triggerAnimation(false);\n let down2 = async () => triggerAnimation(true);\n let toggle2 = async () => {\n var _a;\n let existingAnimationId = (_a = getAnimations()[0]) == null ? void 0 : _a.id;\n let condition = existingAnimationId ? existingAnimationId === \"1\" : element.offsetHeight;\n return (condition ? up2 : down2)();\n };\n return {\n up: up2,\n down: down2,\n toggle: toggle2\n };\n};\nlet down = (element, options = {}) => SlideController(element, options).down();\nlet up = (element, options = {}) => SlideController(element, options).up();\nlet toggle = (element, options = {}) => SlideController(element, options).toggle();\nexport {\n down,\n toggle,\n up\n};\n","import { up, down, toggle } from \"slide-element\";\n\nexport const slideUp = (element, duration = 400, display = \"block\", easing = \"ease-out\") => {\n element.classList.add(\"is-sliding\");\n\n const slide = up(element, {\n duration,\n display,\n easing,\n });\n\n slide.then(() => {\n element.classList.remove(\"is-sliding\");\n });\n\n return slide;\n};\n\nexport const slideDown = (element, duration = 400, display = \"block\", easing = \"ease-out\") => {\n element.classList.add(\"is-sliding\");\n\n const slide = down(element, {\n duration,\n display,\n easing,\n });\n\n slide.then(() => {\n element.classList.remove(\"is-sliding\");\n });\n\n return slide;\n};\n\nexport const slideToggle = (element, duration = 400, display = \"block\", easing = \"ease-out\") => {\n element.classList.add(\"is-sliding\");\n\n const slide = toggle(element, {\n duration,\n display,\n easing,\n });\n\n slide.then(() => {\n element.classList.remove(\"is-sliding\");\n });\n\n return slide;\n};\n"],"names":["afterNextRepaint","callback","resolve","defaultOptions","nonAnimatableOptions","SlideController","element","options","mergedOptions","openDisplayValue","closedDisplayValue","setDisplay","value","getHeight","getComputed","setOverflow","set","getAnimations","createAnimation","willOpen","lowerBound","_a","property","currentHeight","frames","height","paddingTop","paddingBottom","animation","triggerAnimation","finishedAnimations","a","up2","down2","existingAnimationId","down","up","toggle","slideUp","duration","display","easing","slide","slideDown","slideToggle"],"mappings":"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","x_google_ignoreList":[0]}