{"version":3,"sources":["manipulator.js"],"names":["normalizeData","value","Number","toString","JSON","parse","decodeURIComponent","_unused","normalizeDataKey","key","replace","chr","concat","toLowerCase","Manipulator","setDataAttribute","element","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","_step","attributes","_iterator","_createForOfIteratorHelper","Object","keys","dataset","filter","startsWith","s","n","done","pureKey","charAt","slice","length","err","e","f","getDataAttribute","getAttribute"],"mappings":"unCAIA,SAAAA,cAAAC,GACA,GAAA,SAAAA,EAIA,MAAA,CAAA,EAGA,GAAA,UAAAA,EACA,MAAA,CAAA,EAGA,GAAAA,IAAAC,OAAAD,CAAA,EAAAE,SAAA,EACA,OAAAD,OAAAD,CAAA,EAGA,GAAA,KAAAA,GAAA,SAAAA,EACA,OAAA,KAGA,GAAA,UAAA,OAAAA,EACA,OAAAA,EAGA,IACA,OAAAG,KAAAC,MAAAC,mBAAAL,CAAA,CAAA,CAMA,CALA,MAAAM,GAGA,OAAAN,CAEA,CAFA,CAEA,SAAAO,iBAAAC,GAEA,OAAAA,EAAAC,QAAA,SAAA,SAAAC,GAAA,MAAA,IAAAC,OAAAD,EAAAE,YAAA,CAAA,CAAA,CAAA,CAEA,CAAA,IAAAC,YAAA,CACAC,iBAAA,SAAAC,EAAAP,EAAAR,GACAe,EAAAC,aAAA,WAAAL,OAAAJ,iBAAAC,CAAA,CAAA,EAAAR,CAAA,CACA,EAEAiB,oBAAA,SAAAF,EAAAP,GACAO,EAAAG,gBAAA,WAAAP,OAAAJ,iBAAAC,CAAA,CAAA,CAAA,CACA,EAEAW,kBAAA,SAAAJ,GACA,GAAA,CAAAA,EACA,MAAA,GAGA,IAGAK,EAHAC,EAAA,GACAC,EAAAC,2BAAAC,OAAAC,KAAAV,EAAAW,OAAA,EAAAC,OAAA,SAAAnB,GAAA,OAAAA,EAAAoB,WAAA,IAAA,GAAA,CAAApB,EAAAoB,WAAA,UAAA,CAAA,CAAA,CAEA,EAAA,IAAA,IAAAN,EAAAO,EAAA,EAAA,EAAAT,EAAAE,EAAAQ,EAAA,GAAAC,MAAA,CAAA,IAAAvB,EAAAY,EAAApB,MACAgC,EAAAxB,EAAAC,QAAA,MAAA,EAAA,EAEAY,EAAAW,EADAA,EAAAC,OAAA,CAAA,EAAArB,YAAA,EAAAoB,EAAAE,MAAA,EAAAF,EAAAG,MAAA,GACApC,cAAAgB,EAAAW,QAAAlB,EAAA,CACA,CAAA,CAAA,MAAA4B,GAAAd,EAAAe,EAAAD,CAAA,CAAA,CAAA,QAAAd,EAAAgB,EAAA,CAAA,CAEA,OAAAjB,CACA,EAEAkB,iBAAA,SAAAxB,EAAAP,GACA,OAAAT,cAAAgB,EAAAyB,aAAA,WAAA7B,OAAAJ,iBAAAC,CAAA,CAAA,CAAA,CAAA,CACA,CACA,iBAEAK","file":"manipulator.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\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-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n"]}