{"version":3,"file":"ide-CL8142Hu.js","sources":["../../../app/javascript/src/ide.ts"],"sourcesContent":["import * as microlight from \"@src/microlight\"\n\nexport function bind(): void {\n const fullscreenElements = document.querySelectorAll(\"[data-action='toggle-ide-fullscreen']\")\n\n fullscreenElements.forEach(element => element.removeAndAddEventListener(\"click\", toggleIdeFullscreen))\n}\n\nexport function initiateIde(element: HTMLElement): void {\n createLineCount(element)\n\n microlight.reset()\n}\n\nfunction createLineCount(element: HTMLElement): void {\n const pre = element.closest(\"pre\") as HTMLElement\n\n const lineCount = element.textContent?.split(\"\\n\").length || 0\n\n const lineCountElement = pre.querySelector(\".ide__line-counter\") as HTMLElement\n lineCountElement.innerHTML = \"\"\n\n for (let i = 0; i < lineCount; i++) {\n const element = document.createElement(\"div\")\n element.textContent = (i + 1).toString()\n\n lineCountElement.append(element)\n }\n}\n\nfunction toggleIdeFullscreen({ target }: { target: HTMLElement }): void {\n const element = target.closest(\".ide\") as HTMLElement\n\n element.classList.toggle(\"ide--fullscreen\")\n}\n"],"names":["bind","element","toggleIdeFullscreen","initiateIde","createLineCount","microlight.reset","pre","lineCount","_a","lineCountElement","i","target"],"mappings":"yhCAEO,SAASA,GAAa,CACA,SAAS,iBAAiB,uCAAuC,EAEzE,QAAmBC,GAAAA,EAAQ,0BAA0B,QAASC,CAAmB,CAAC,CACvG,CAEO,SAASC,EAAYF,EAA4B,CACtDG,EAAgBH,CAAO,EAEvBI,EAAiB,CACnB,CAEA,SAASD,EAAgBH,EAA4B,OAC7C,MAAAK,EAAML,EAAQ,QAAQ,KAAK,EAE3BM,IAAYC,EAAAP,EAAQ,cAAR,YAAAO,EAAqB,MAAM;AAAA,GAAM,SAAU,EAEvDC,EAAmBH,EAAI,cAAc,oBAAoB,EAC/DG,EAAiB,UAAY,GAE7B,QAASC,EAAI,EAAGA,EAAIH,EAAWG,IAAK,CAC5BT,MAAAA,EAAU,SAAS,cAAc,KAAK,EAC5CA,EAAQ,aAAeS,EAAI,GAAG,SAAS,EAEvCD,EAAiB,OAAOR,CAAO,CAAA,CAEnC,CAEA,SAASC,EAAoB,CAAE,OAAAS,GAAyC,CACtDA,EAAO,QAAQ,MAAM,EAE7B,UAAU,OAAO,iBAAiB,CAC5C"}