{"version":3,"sources":["data.js"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","concat","Array","from","keys","remove"],"mappings":"AAWA,IAAAA,WAAA,IAAAC,kBAEA,CACAC,IAAA,SAAAC,EAAAC,EAAAC,GACAL,WAAAM,IAAAH,CAAA,GACAH,WAAAE,IAAAC,EAAA,IAAAF,GAAA,EAGAM,EAAAP,WAAAQ,IAAAL,CAAA,EAIAI,EAAAD,IAAAF,CAAA,GAAA,IAAAG,EAAAE,KAMAF,EAAAL,IAAAE,EAAAC,CAAA,EAJAK,QAAAC,MAAA,+EAAAC,OAAAC,MAAAC,KAAAP,EAAAQ,KAAA,CAAA,EAAA,GAAA,GAAA,CAAA,CAKA,EAEAP,IAAA,SAAAL,EAAAC,GACA,OAAAJ,WAAAM,IAAAH,CAAA,GACAH,WAAAQ,IAAAL,CAAA,EAAAK,IAAAJ,CAAA,GAGA,IACA,EAEAY,OAAA,SAAAb,EAAAC,GACA,IAIAG,EAJAP,WAAAM,IAAAH,CAAA,KAIAI,EAAAP,WAAAQ,IAAAL,CAAA,GAEA,OAAAC,CAAA,EAGA,IAAAG,EAAAE,OACAT,WAAA,OAAAG,CAAA,CAEA,CACA","file":"data.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n"]}