{ "version": 3, "sources": ["../../../settings/settings.ts"], "sourcesContent": ["// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-or-later\nexport {};\n\nfunction createBumpscositySlider() {\n const select = document.getElementById(\n \"bumpscosity-select\",\n ) as HTMLSelectElement | undefined;\n\n if (!select) {\n return;\n }\n\n select.classList.add(\"hidden\");\n const possibleLevels: number[] = [];\n for (const node of select.options) {\n possibleLevels.push(parseInt(node.value));\n }\n\n const startLevel = parseInt(select.value);\n\n const currentValueDiv = document.createElement(\"div\");\n currentValueDiv.setAttribute(\"tooltip\", startLevel.toString());\n currentValueDiv.style.position = \"absolute\";\n currentValueDiv.style.transform = \"translateX(-50%)\";\n\n const rangeSlider = document.createElement(\"input\");\n rangeSlider.setAttribute(\"type\", \"range\");\n rangeSlider.setAttribute(\"min\", \"0\");\n rangeSlider.setAttribute(\n \"value\",\n possibleLevels.indexOf(startLevel).toString(),\n );\n rangeSlider.setAttribute(\"max\", (select.options.length - 1).toString());\n\n rangeSlider.onpointermove = () => {\n // @ts-expect-error TS2532\n const value = possibleLevels[parseInt(rangeSlider.value)].toString();\n select.value = value;\n currentValueDiv.setAttribute(\"tooltip\", value);\n currentValueDiv.classList.add(\"show-tooltip\");\n currentValueDiv.style.left = (1 +\n (98 *\n parseInt(rangeSlider.value) /\n (select.options.length - 1)))\n .toString() + \"%\";\n };\n\n rangeSlider.onpointerleave = () => {\n currentValueDiv.classList.remove(\"show-tooltip\");\n };\n\n rangeSlider.onchange = () => {\n let sliderVal = parseInt(rangeSlider.value);\n const promptStart = `Willst du die Bumpscosity wirklich auf ${\n possibleLevels[sliderVal]\n } setzen? `;\n if (sliderVal === select.options.length - 1) {\n if (\n !confirm(\n promptStart +\n \"Ein so hoher Wert kann katastrophale Folgen haben.\",\n )\n ) {\n sliderVal--;\n }\n } else if (sliderVal === 0) {\n if (\n !confirm(\n promptStart +\n \"Fehlende Bumpscosity kann großes Unbehagen verursachen.\",\n )\n ) {\n sliderVal++;\n }\n } else {\n return;\n }\n\n if (sliderVal !== parseInt(rangeSlider.value)) {\n rangeSlider.value = sliderVal.toString();\n // @ts-expect-error TS2532\n select.value = possibleLevels[parseInt(rangeSlider.value)]\n .toString();\n }\n };\n\n const parent = select.parentElement!;\n parent.style.position = \"relative\";\n parent.append(currentValueDiv);\n parent.append(rangeSlider);\n}\n\ncreateBumpscositySlider();\n"], "mappings": "AAAA;AAGA,SAASA,GAA0B,CAC/B,IAAMC,EAAS,SAAS,eACpB,oBACJ,EAEA,GAAI,CAACA,EACD,OAGJA,EAAO,UAAU,IAAI,QAAQ,EAC7B,IAAMC,EAA2B,CAAC,EAClC,QAAWC,KAAQF,EAAO,QACtBC,EAAe,KAAK,SAASC,EAAK,KAAK,CAAC,EAG5C,IAAMC,EAAa,SAASH,EAAO,KAAK,EAElCI,EAAkB,SAAS,cAAc,KAAK,EACpDA,EAAgB,aAAa,UAAWD,EAAW,SAAS,CAAC,EAC7DC,EAAgB,MAAM,SAAW,WACjCA,EAAgB,MAAM,UAAY,mBAElC,IAAMC,EAAc,SAAS,cAAc,OAAO,EAClDA,EAAY,aAAa,OAAQ,OAAO,EACxCA,EAAY,aAAa,MAAO,GAAG,EACnCA,EAAY,aACR,QACAJ,EAAe,QAAQE,CAAU,EAAE,SAAS,CAChD,EACAE,EAAY,aAAa,OAAQL,EAAO,QAAQ,OAAS,GAAG,SAAS,CAAC,EAEtEK,EAAY,cAAgB,IAAM,CAE9B,IAAMC,EAAQL,EAAe,SAASI,EAAY,KAAK,CAAC,EAAE,SAAS,EACnEL,EAAO,MAAQM,EACfF,EAAgB,aAAa,UAAWE,CAAK,EAC7CF,EAAgB,UAAU,IAAI,cAAc,EAC5CA,EAAgB,MAAM,MAAQ,EACzB,GACG,SAASC,EAAY,KAAK,GACzBL,EAAO,QAAQ,OAAS,IAC5B,SAAS,EAAI,GACtB,EAEAK,EAAY,eAAiB,IAAM,CAC/BD,EAAgB,UAAU,OAAO,cAAc,CACnD,EAEAC,EAAY,SAAW,IAAM,CACzB,IAAIE,EAAY,SAASF,EAAY,KAAK,EACpCG,EAAc,0CAChB,OAAAP,EAAeM,CAAS,EAC5B,aACA,GAAIA,IAAcP,EAAO,QAAQ,OAAS,EAEjC,QACGQ,EACI,oDACR,GAEAD,YAEGA,IAAc,EAEhB,QACGC,EACI,yDACR,GAEAD,QAGJ,QAGAA,IAAc,SAASF,EAAY,KAAK,IACxCA,EAAY,MAAQE,EAAU,SAAS,EAEvCP,EAAO,MAAQC,EAAe,SAASI,EAAY,KAAK,CAAC,EACpD,SAAS,EAEtB,EAEA,IAAMI,EAAST,EAAO,cACtBS,EAAO,MAAM,SAAW,WACxBA,EAAO,OAAOL,CAAe,EAC7BK,EAAO,OAAOJ,CAAW,CAC7B,CAEAN,EAAwB", "names": ["createBumpscositySlider", "select", "possibleLevels", "node", "startLevel", "currentValueDiv", "rangeSlider", "value", "sliderVal", "promptStart", "parent"] }