{"version":3,"sources":["OwO.js"],"names":["_classCallCheck","instance","Constructor","TypeError","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","OwO","option","_this","this","defaultOption","logo","container","document","getElementsByClassName","getElementsByTagName","position","width","maxHeight","api","defaultKey","hasOwnProperty","classList","add","xhr","XMLHttpRequest","onreadystatechange","readyState","status","odata","JSON","parse","responseText","init","console","log","open","send","value","_this2","area","packages","keys","html","type","parseInt","opackage","_i","text","icon","_i2","innerHTML","addEventListener","toggle","e","contains","parentNode","cursorPos","selectionEnd","areaValue","slice","focus","packagesEle","_loop","_i3","index","children","tab","remove","itemsShow","packageActive","module","exports","window"],"mappings":"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","file":"OwO.min.js","sourcesContent":["(() => {\n class OwO {\n constructor(option) {\n const defaultOption = {\n logo: 'OwO表情',\n container: document.getElementsByClassName('OwO')[0],\n target: document.getElementsByTagName('textarea')[0],\n position: 'down',\n width: '100%',\n maxHeight: '250px',\n api: 'https://api.anotherhome.net/OwO/OwO.json'\n };\n for (let defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !option.hasOwnProperty(defaultKey)) {\n option[defaultKey] = defaultOption[defaultKey];\n }\n }\n this.container = option.container;\n this.target = option.target;\n if (option.position === 'up') {\n this.container.classList.add('OwO-up');\n }\n\n const xhr = new XMLHttpRequest();\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n this.odata = JSON.parse(xhr.responseText);\n this.init(option);\n }\n else {\n console.log('OwO data request was unsuccessful: ' + xhr.status);\n }\n }\n };\n xhr.open('get', option.api, true);\n xhr.send(null);\n }\n\n init(option) {\n this.area = option.target;\n this.packages = Object.keys(this.odata);\n\n // fill in HTML\n let html = `\n
${option.logo}
\n
`;\n \n for (let i = 0; i < this.packages.length; i++) {\n\n html += `\n `;\n }\n \n html += `\n
\n \n
\n
\n `;\n this.container.innerHTML = html;\n\n // bind event\n this.logo = this.container.getElementsByClassName('OwO-logo')[0];\n this.logo.addEventListener('click', () => {\n this.toggle();\n });\n\n this.container.getElementsByClassName('OwO-body')[0].addEventListener('click', (e)=> {\n let target = null;\n if (e.target.classList.contains('OwO-item')) {\n target = e.target;\n }\n else if (e.target.parentNode.classList.contains('OwO-item')) {\n target = e.target.parentNode;\n }\n if (target) {\n const cursorPos = this.area.selectionEnd;\n let areaValue = this.area.value;\n this.area.value = areaValue.slice(0, cursorPos) + target.innerHTML + areaValue.slice(cursorPos);\n this.area.focus();\n this.toggle();\n }\n });\n\n this.packagesEle = this.container.getElementsByClassName('OwO-packages')[0];\n for (let i = 0; i < this.packagesEle.children.length; i++) {\n ((index) =>{\n this.packagesEle.children[i].addEventListener('click', () => {\n this.tab(index);\n });\n })(i);\n }\n\n this.tab(0);\n }\n\n toggle() {\n if (this.container.classList.contains('OwO-open')) {\n this.container.classList.remove('OwO-open');\n }\n else {\n this.container.classList.add('OwO-open');\n }\n }\n\n tab(index) {\n const itemsShow = this.container.getElementsByClassName('OwO-items-show')[0];\n if (itemsShow) {\n itemsShow.classList.remove('OwO-items-show');\n }\n this.container.getElementsByClassName('OwO-items')[index].classList.add('OwO-items-show');\n\n const packageActive = this.container.getElementsByClassName('OwO-package-active')[0];\n if (packageActive) {\n packageActive.classList.remove('OwO-package-active');\n }\n this.packagesEle.getElementsByTagName('li')[index].classList.add('OwO-package-active');\n }\n }\n if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports = OwO;\n }\n else {\n window.OwO = OwO;\n }\n})();"],"sourceRoot":"/source/"}