{"version":3,"file":"manipulator-L9G7LG9k.js","sources":["../../../app/frontend/entrypoints/scout_dashboard/mdb/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta2): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true;\n }\n\n if (val === 'false') {\n return false;\n }\n\n if (val === Number(val).toString()) {\n return Number(val);\n }\n\n if (val === '' || val === 'null') {\n return null;\n }\n\n return val;\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`);\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-mdb-${normalizeDataKey(key)}`, value);\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-mdb-${normalizeDataKey(key)}`);\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {};\n }\n\n const attributes = {\n ...element.dataset,\n };\n\n Object.keys(attributes)\n .filter((key) => key.startsWith('mdb'))\n .forEach((key) => {\n let pureKey = key.replace(/^mdb/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(attributes[key]);\n });\n\n return attributes;\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-mdb-${normalizeDataKey(key)}`));\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft,\n };\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft,\n };\n },\n\n style(element, style) {\n Object.assign(element.style, style);\n },\n\n toggleClass(element, className) {\n if (!element) {\n return;\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className);\n } else {\n element.classList.add(className);\n }\n },\n\n addClass(element, className) {\n if (element.classList.contains(className)) return;\n element.classList.add(className);\n },\n\n addStyle(element, style) {\n Object.keys(style).forEach((property) => {\n element.style[property] = style[property];\n });\n },\n\n removeClass(element, className) {\n if (!element.classList.contains(className)) return;\n element.classList.remove(className);\n },\n\n hasClass(element, className) {\n return element.classList.contains(className);\n },\n};\n\nexport default Manipulator;\n"],"names":["normalizeData","val","normalizeDataKey","key","chr","Manipulator","element","value","attributes","pureKey","rect","style","className","property"],"mappings":"AAOA,SAASA,EAAcC,EAAK,CAC1B,OAAIA,IAAQ,OACH,GAGLA,IAAQ,QACH,GAGLA,IAAQ,OAAOA,CAAG,EAAE,SAAQ,EACvB,OAAOA,CAAG,EAGfA,IAAQ,IAAMA,IAAQ,OACjB,KAGFA,CACT,CAEA,SAASC,EAAiBC,EAAK,CAC7B,OAAOA,EAAI,QAAQ,SAAWC,GAAQ,IAAIA,EAAI,aAAa,EAAE,CAC/D,CAEK,MAACC,EAAc,CAClB,iBAAiBC,EAASH,EAAKI,EAAO,CACpCD,EAAQ,aAAa,YAAYJ,EAAiBC,CAAG,CAAC,GAAII,CAAK,CAChE,EAED,oBAAoBD,EAASH,EAAK,CAChCG,EAAQ,gBAAgB,YAAYJ,EAAiBC,CAAG,CAAC,EAAE,CAC5D,EAED,kBAAkBG,EAAS,CACzB,GAAI,CAACA,EACH,MAAO,GAGT,MAAME,EAAa,CACjB,GAAGF,EAAQ,OACjB,EAEI,cAAO,KAAKE,CAAU,EACnB,OAAQL,GAAQA,EAAI,WAAW,KAAK,CAAC,EACrC,QAASA,GAAQ,CAChB,IAAIM,EAAUN,EAAI,QAAQ,OAAQ,EAAE,EACpCM,EAAUA,EAAQ,OAAO,CAAC,EAAE,YAAW,EAAKA,EAAQ,MAAM,EAAGA,EAAQ,MAAM,EAC3ED,EAAWC,CAAO,EAAIT,EAAcQ,EAAWL,CAAG,CAAC,CAC3D,CAAO,EAEIK,CACR,EAED,iBAAiBF,EAASH,EAAK,CAC7B,OAAOH,EAAcM,EAAQ,aAAa,YAAYJ,EAAiBC,CAAG,CAAC,EAAE,CAAC,CAC/E,EAED,OAAOG,EAAS,CACd,MAAMI,EAAOJ,EAAQ,wBAErB,MAAO,CACL,IAAKI,EAAK,IAAM,SAAS,KAAK,UAC9B,KAAMA,EAAK,KAAO,SAAS,KAAK,UACtC,CACG,EAED,SAASJ,EAAS,CAChB,MAAO,CACL,IAAKA,EAAQ,UACb,KAAMA,EAAQ,UACpB,CACG,EAED,MAAMA,EAASK,EAAO,CACpB,OAAO,OAAOL,EAAQ,MAAOK,CAAK,CACnC,EAED,YAAYL,EAASM,EAAW,CACzBN,IAIDA,EAAQ,UAAU,SAASM,CAAS,EACtCN,EAAQ,UAAU,OAAOM,CAAS,EAElCN,EAAQ,UAAU,IAAIM,CAAS,EAElC,EAED,SAASN,EAASM,EAAW,CACvBN,EAAQ,UAAU,SAASM,CAAS,GACxCN,EAAQ,UAAU,IAAIM,CAAS,CAChC,EAED,SAASN,EAASK,EAAO,CACvB,OAAO,KAAKA,CAAK,EAAE,QAASE,GAAa,CACvCP,EAAQ,MAAMO,CAAQ,EAAIF,EAAME,CAAQ,CAC9C,CAAK,CACF,EAED,YAAYP,EAASM,EAAW,CACzBN,EAAQ,UAAU,SAASM,CAAS,GACzCN,EAAQ,UAAU,OAAOM,CAAS,CACnC,EAED,SAASN,EAASM,EAAW,CAC3B,OAAON,EAAQ,UAAU,SAASM,CAAS,CAC5C,CACH"}