From f2972cfa06e2af32e57bd3c41e37fea6dbf9d416 Mon Sep 17 00:00:00 2001 From: Darius Rapalis Date: Wed, 28 Sep 2022 21:02:21 +0300 Subject: [PATCH] Fixed user scrolling in all note list --- extension/twitch-notes.js.map | 1 + 1 file changed, 1 insertion(+) create mode 100644 extension/twitch-notes.js.map diff --git a/extension/twitch-notes.js.map b/extension/twitch-notes.js.map new file mode 100644 index 0000000..accf3d9 --- /dev/null +++ b/extension/twitch-notes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"twitch-notes.js","mappings":"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","sources":["webpack://twitchnotes/./src/styles/main.scss","webpack://twitchnotes/./node_modules/css-loader/dist/runtime/api.js","webpack://twitchnotes/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://twitchnotes/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://twitchnotes/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://twitchnotes/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://twitchnotes/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://twitchnotes/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://twitchnotes/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://twitchnotes/webpack/bootstrap","webpack://twitchnotes/webpack/runtime/compat get default export","webpack://twitchnotes/webpack/runtime/define property getters","webpack://twitchnotes/webpack/runtime/hasOwnProperty shorthand","webpack://twitchnotes/webpack/runtime/nonce","webpack://twitchnotes/./src/styles/main.scss?69c7","webpack://twitchnotes/./src/const.ts","webpack://twitchnotes/./src/NoteContainers.ts","webpack://twitchnotes/./src/Mouse.ts","webpack://twitchnotes/./src/NoteStorage.ts","webpack://twitchnotes/./src/HTMLBuilder.ts","webpack://twitchnotes/./src/HTMLElements/TwitchButton.ts","webpack://twitchnotes/./src/HTMLElements/TwitchCloseButton.ts","webpack://twitchnotes/./src/HTMLElements/TwitchNotesImportResolve.ts","webpack://twitchnotes/./src/importNotesConflictResolve.ts","webpack://twitchnotes/./src/importNotesResult.ts","webpack://twitchnotes/./src/HTMLElements/TwitchNotesImport.ts","webpack://twitchnotes/./src/HTMLElements/TwitchNotesWindow.ts","webpack://twitchnotes/./src/openClearDataWindow.ts","webpack://twitchnotes/./src/TwitchNote.ts","webpack://twitchnotes/./src/openTwitchNote.ts","webpack://twitchnotes/./src/HTMLTemplates.ts","webpack://twitchnotes/./src/index.ts"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".twitch-notes_button{z-index:var(--z-index-default) !important;position:relative !important;background-color:var(--color-background-button-primary-default);color:var(--color-text-button-primary);text-decoration:none;cursor:pointer;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;vertical-align:middle;overflow:hidden;white-space:nowrap;user-select:none;font-weight:var(--font-weight-semibold);border-radius:var(--border-radius-medium);font-size:var(--button-text-default);height:var(--button-size-default);padding:0 var(--button-padding-x)}.twitch-notes_button__outline{background:rgba(0,0,0,0);border:2px solid var(--color-text-button-primary)}.twitch-notes_close-button{cursor:default;text-transform:none;text-indent:0;text-shadow:none;letter-spacing:normal;text-rendering:auto;appearance:auto;writing-mode:horizontal-tb !important;box-sizing:border-box;margin:0;font:inherit;border:none;font-size:var(--button-text-default);font-weight:var(--font-weight-semibold);vertical-align:middle;overflow:hidden;text-decoration:none;white-space:nowrap;position:absolute;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;user-select:none;border-radius:var(--border-radius-medium);height:calc(var(--button-size-default) - 1rem);width:calc(var(--button-size-default) - 1rem);background-color:var(--color-background-button-text-default);color:var(--color-fill-button-icon);top:1rem;right:1rem}.twitch-notes_close-button .twitch-notes_x-button{position:absolute;left:0;width:calc(var(--button-size-default) - 1rem);height:calc(var(--button-size-default) - 1rem);top:0;fill:currentcolor}.twitch-notes-floating-container{position:fixed;z-index:1000000;width:320px;height:240px;background:var(--color-background-base);border:var(--border-width-default) solid var(--color-border-base) !important}.twitch-notes-container{position:fixed;z-index:1000000;min-width:500px;max-width:95vw;min-height:240px;max-height:80vh;background:var(--color-background-base);border:var(--border-width-default) solid var(--color-border-base) !important}.twitch-notes-container-header{width:100%;height:calc(var(--button-size-default) + 1rem);line-height:calc(var(--button-size-default) + 1rem);border-bottom:var(--border-width-default) solid var(--color-border-base) !important;position:relative}.twitch-notes-container-header-title{color:var(--color-text-alt) !important;font-size:var(--font-size-6) !important;font-weight:var(--font-weight-semibold) !important;text-transform:uppercase !important;margin-left:calc((32px - var(--font-size-6))/2);width:calc(100% - 2rem)}.twitch-notes-container-content{display:grid;grid-template-columns:240px 1fr}.twitch-notes-container-content-user-list{border-right:1px solid rgba(255,255,255,.0980392157);height:100%;max-height:calc(80vh - 2*var(--button-size-default) + 1rem);min-width:240px;overflow-y:auto;overflow-x:hidden}.twitch-notes-container-content-user-list-item{padding:1rem;border-bottom:var(--border-width-default) solid var(--color-border-base) !important;cursor:pointer;width:100%;color:var(--color-text-alt) !important;font-size:var(--font-size-6) !important;font-weight:var(--font-weight-semibold) !important;text-transform:uppercase !important}.twitch-notes-container-content-user-list-item-search{background:rgba(0,0,0,0);outline:none;color:var(--color-fill-button-icon)}.twitch-notes-container-content-note-container-note{min-width:420px;min-height:320px;display:block;margin:1rem;border:var(--border-width-default) solid var(--color-border-base) !important;padding:1rem}.twitch-notes-container-content-note-container-controls{padding:1rem;display:flex;align-content:center}.twitch-notes-container-content-note-container-controls-saved{color:green;padding-left:1rem;line-height:var(--button-size-default)}.twitch-notes-container-footer{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%;border-top:var(--border-width-default) solid var(--color-border-base) !important;padding:1rem;text-align:center}.twitch-notes-header{width:100%;height:32px;line-height:32px;border-bottom:var(--border-width-default) solid var(--color-border-base) !important;position:relative;cursor:move}.twitch-notes--container-header-title{color:var(--color-text-alt) !important;font-size:var(--font-size-6) !important;font-weight:var(--font-weight-semibold) !important;text-transform:uppercase !important;padding-left:calc((32px - var(--font-size-6))/2)}.twitch-notes-title{color:var(--color-text-alt) !important;font-size:var(--font-size-6) !important;font-weight:var(--font-weight-semibold) !important;text-transform:uppercase !important;padding-left:calc((32px - var(--font-size-6))/2)}.twitch-notes-close-button{position:absolute;right:5px;top:5px;width:22px;height:22px;line-height:22px;text-align:center;aspect-ratio:1;color:var(--color-text-alt) !important;font-size:var(--font-size-6) !important;font-weight:var(--font-weight-semibold) !important;text-transform:uppercase !important;cursor:pointer}.twitch-notes-content{position:absolute;top:32px;left:0;right:0;bottom:32px;background:rgba(0,0,0,0);color:var(--color-text-base) !important;font-family:var(--font-base);vertical-align:baseline;outline:none;overflow:auto;padding:calc((32px - var(--font-size-6))/2)}.twitch-notes-save-button{position:absolute;bottom:0;left:0;right:0;height:32px;border-top:var(--border-width-default) solid var(--color-border-base) !important;cursor:pointer;color:var(--color-text-alt) !important;font-size:var(--font-size-6) !important;font-weight:var(--font-weight-semibold) !important;text-transform:uppercase !important;text-align:center;line-height:32px}.twitch-notes-x-button{position:absolute;left:0;width:100%;min-height:100%;top:0;fill:currentcolor}.twitch-notes-blurred-background{position:fixed;inset:0 0 0 0;z-index:2000000;background:rgba(0,0,0,.4);backdrop-filter:blur(2px)}.twitch-notes-center-floating-container{background:var(--color-background-base);border:var(--border-width-default) solid var(--color-border-base) !important;position:fixed;top:50vh;left:50vw;transform:translate(-50%, -50%);min-height:320px;min-width:300px;max-height:90vh;max-width:90vw;overflow:auto}.twitch-notes-link{display:inline-block;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-link) !important;line-height:var(--line-height-heading) !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:normal !important;font-weight:var(--font-weight-semibold) !important}.twitch-notes-link:hover{text-decoration:underline;cursor:pointer}.twitch-notes-grid-col-2{display:grid;grid-template-columns:1fr 1fr;width:100%}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/styles/main.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\".twitch-notes {\\n\\n &_button {\\n z-index: var(--z-index-default) !important;\\n position: relative !important;\\n background-color: var(--color-background-button-primary-default);\\n color: var(--color-text-button-primary);\\n text-decoration: none;\\n cursor: pointer;\\n display: inline-flex;\\n -webkit-box-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n justify-content: center;\\n vertical-align: middle;\\n overflow: hidden;\\n white-space: nowrap;\\n user-select: none;\\n font-weight: var(--font-weight-semibold);\\n border-radius: var(--border-radius-medium);\\n font-size: var(--button-text-default);\\n height: var(--button-size-default);\\n padding: 0 var(--button-padding-x);\\n\\n &__outline {\\n background: transparent;\\n border: 2px solid var(--color-text-button-primary);\\n }\\n\\n }\\n\\n &_close-button {\\n cursor: default;\\n text-transform: none;\\n text-indent: 0;\\n text-shadow: none;\\n letter-spacing: normal;\\n text-rendering: auto;\\n appearance: auto;\\n writing-mode: horizontal-tb !important;\\n box-sizing: border-box;\\n margin: 0;\\n font: inherit;\\n border: none;\\n font-size: var(--button-text-default);\\n font-weight: var(--font-weight-semibold);\\n vertical-align: middle;\\n overflow: hidden;\\n text-decoration: none;\\n white-space: nowrap;\\n position: absolute;\\n display: inline-flex;\\n -webkit-box-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n justify-content: center;\\n user-select: none;\\n border-radius: var(--border-radius-medium);\\n height: calc(var(--button-size-default) - 1rem);\\n width: calc(var(--button-size-default) - 1rem);\\n background-color: var(--color-background-button-text-default);\\n color: var(--color-fill-button-icon);\\n top: 1rem;\\n right: 1rem;\\n\\n .twitch-notes_x-button {\\n position: absolute;\\n left: 0;\\n width: calc(var(--button-size-default) - 1rem);\\n height: calc(var(--button-size-default) - 1rem);\\n top: 0;\\n fill: currentcolor;\\n }\\n }\\n\\n &-floating-container {\\n position: fixed;\\n z-index: 1000000;\\n width: 320px;\\n height: 240px;\\n background: var(--color-background-base);\\n border: var(--border-width-default) solid var(--color-border-base) !important;\\n }\\n\\n &-container {\\n position: fixed;\\n z-index: 1000000;\\n min-width: 500px;\\n max-width: 95vw;\\n min-height: 240px;\\n max-height: 80vh;\\n background: var(--color-background-base);\\n border: var(--border-width-default) solid var(--color-border-base) !important;\\n\\n &-header {\\n width: 100%;\\n height: calc(var(--button-size-default) + 1rem);\\n line-height: calc(var(--button-size-default) + 1rem);\\n border-bottom: var(--border-width-default) solid var(--color-border-base) !important;\\n position: relative;\\n\\n &-title {\\n color: var(--color-text-alt) !important;\\n font-size: var(--font-size-6) !important;\\n font-weight: var(--font-weight-semibold) !important;\\n text-transform: uppercase !important;\\n margin-left: calc((32px - var(--font-size-6)) / 2);\\n width: calc(100% - 2rem);\\n }\\n }\\n\\n &-content {\\n display: grid;\\n grid-template-columns: 240px 1fr;\\n\\n\\n &-user-list {\\n border-right: 1px solid #FFFFFF19;\\n height: 100%;\\n max-height: calc(80vh - 2 * var(--button-size-default) + 1rem);\\n min-width: 240px;\\n overflow-y: auto;\\n overflow-x: hidden;\\n\\n\\n &-item {\\n padding: 1rem;\\n border-bottom: var(--border-width-default) solid var(--color-border-base) !important;\\n cursor: pointer;\\n width: 100%;\\n color: var(--color-text-alt) !important;\\n font-size: var(--font-size-6) !important;\\n font-weight: var(--font-weight-semibold) !important;\\n text-transform: uppercase !important;\\n\\n &-search {\\n background: transparent;\\n outline: none;\\n color: var(--color-fill-button-icon);\\n }\\n }\\n }\\n\\n &-note-container {\\n\\n &-note {\\n min-width: 420px;\\n min-height: 320px;\\n display: block;\\n margin: 1rem;\\n border: var(--border-width-default) solid var(--color-border-base) !important;\\n padding: 1rem;\\n }\\n\\n &-controls {\\n padding: 1rem;\\n display: flex;\\n align-content: center;\\n\\n &-saved {\\n color: green;\\n padding-left: 1rem;\\n line-height: var(--button-size-default);\\n }\\n }\\n }\\n }\\n\\n &-footer {\\n display: grid;\\n grid-template-columns: 1fr 1fr 1fr;\\n width: 100%;\\n border-top: var(--border-width-default) solid var(--color-border-base) !important;\\n padding: 1rem;\\n text-align: center;\\n }\\n }\\n\\n &-header {\\n width: 100%;\\n height: 32px;\\n line-height: 32px;\\n border-bottom: var(--border-width-default) solid var(--color-border-base) !important;\\n position: relative;\\n cursor: move;\\n }\\n\\n &--container-header-title {\\n color: var(--color-text-alt) !important;\\n font-size: var(--font-size-6) !important;\\n font-weight: var(--font-weight-semibold) !important;\\n text-transform: uppercase !important;\\n padding-left: calc((32px - var(--font-size-6)) / 2);\\n }\\n\\n &-title {\\n color: var(--color-text-alt) !important;\\n font-size: var(--font-size-6) !important;\\n font-weight: var(--font-weight-semibold) !important;\\n text-transform: uppercase !important;\\n padding-left: calc((32px - var(--font-size-6)) / 2);\\n }\\n\\n &-close-button {\\n position: absolute;\\n right: 5px;\\n top: 5px;\\n width: 22px;\\n height: 22px;\\n line-height: 22px;\\n text-align: center;\\n aspect-ratio: 1;\\n color: var(--color-text-alt) !important;\\n font-size: var(--font-size-6) !important;\\n font-weight: var(--font-weight-semibold) !important;\\n text-transform: uppercase !important;\\n cursor: pointer;\\n }\\n\\n &-content {\\n position: absolute;\\n top: 32px;\\n left: 0;\\n right: 0;\\n bottom: 32px;\\n background: transparent;\\n color: var(--color-text-base) !important;\\n font-family: var(--font-base);\\n vertical-align: baseline;\\n outline: none;\\n overflow: auto;\\n padding: calc((32px - var(--font-size-6)) / 2);\\n }\\n\\n &-save-button {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 32px;\\n border-top: var(--border-width-default) solid var(--color-border-base) !important;\\n cursor: pointer;\\n color: var(--color-text-alt) !important;\\n font-size: var(--font-size-6) !important;\\n font-weight: var(--font-weight-semibold) !important;\\n text-transform: uppercase !important;\\n text-align: center;\\n line-height: 32px;\\n }\\n\\n &-x-button {\\n position: absolute;\\n left: 0;\\n width: 100%;\\n min-height: 100%;\\n top: 0;\\n fill: currentcolor;\\n }\\n\\n &-blurred-background {\\n position: fixed;\\n inset: 0 0 0 0;\\n z-index: 2000000;\\n background: rgba(0, 0, 0, 0.4);\\n backdrop-filter: blur(2px);\\n }\\n\\n &-center-floating-container {\\n background: var(--color-background-base);\\n border: var(--border-width-default) solid var(--color-border-base) !important;\\n position: fixed;\\n top: 50vh;\\n left: 50vw;\\n transform: translate(-50%, -50%);\\n min-height: 320px;\\n min-width: 300px;\\n max-height: 90vh;\\n max-width: 90vw;\\n overflow: auto;\\n }\\n\\n &-link {\\n display: inline-block;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n color: var(--color-text-link) !important;\\n line-height: var(--line-height-heading) !important;\\n overflow: hidden !important;\\n text-overflow: ellipsis !important;\\n white-space: normal !important;\\n font-weight: var(--font-weight-semibold) !important;\\n\\n &:hover {\\n text-decoration: underline;\\n cursor: pointer;\\n }\\n }\\n\\n &-grid-col-2 {\\n display: grid;\\n grid-template-columns: 1fr 1fr;\\n width: 100%;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.nc = undefined;","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./main.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./main.scss\";\n export default content && content.locals ? content.locals : undefined;\n","export var LS_UserList = \"twitch-note-all-users-list\";\nexport var LS_Prefix = \"twitch-note-\";\nexport var ELEMENT_ButtonContainer = \"chat-input__buttons-container\";\n","var NoteContainers = /** @class */ (function () {\n function NoteContainers() {\n }\n NoteContainers.addContainer = function (username, container) {\n if (NoteContainers.containers[username])\n return;\n NoteContainers.containers[username] = container;\n };\n ;\n NoteContainers.removeContainer = function (username) {\n if (!NoteContainers.containers[username])\n return;\n NoteContainers.containers[username].remove();\n delete NoteContainers.containers[username];\n };\n ;\n NoteContainers.activeContainer = null;\n NoteContainers.containers = {};\n return NoteContainers;\n}());\nexport default NoteContainers;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport NoteContainers from \"./NoteContainers\";\nvar Mouse = /** @class */ (function () {\n function Mouse() {\n }\n Mouse.setupListeners = function () {\n if (!Mouse.listenersSetUp) {\n document.addEventListener(\"mousemove\", Mouse.handleMouseMove);\n document.addEventListener(\"mouseup\", Mouse.handleMouseUp);\n Mouse.listenersSetUp = true;\n }\n };\n Mouse.handleMouseUp = function () {\n NoteContainers.activeContainer = null;\n Mouse.isMouseDown = false;\n };\n Mouse.updateMousePosition = function (x, y) {\n Mouse.lastMousePosition = __assign({}, this.mousePosition);\n Mouse.mousePosition = { x: x, y: y };\n };\n Mouse.handleMouseMove = function (event) {\n if (Mouse.isMouseDown) {\n if (NoteContainers.activeContainer) {\n var dx = Mouse.mousePosition.x - Mouse.lastMousePosition.x;\n var dy = Mouse.mousePosition.y - Mouse.lastMousePosition.y;\n NoteContainers.containers[NoteContainers.activeContainer].setStyles({\n top: parseInt(NoteContainers.containers[NoteContainers.activeContainer].getElement().style.top) + dy + \"px\",\n left: parseInt(NoteContainers.containers[NoteContainers.activeContainer].getElement().style.left) + dx + \"px\",\n });\n }\n }\n Mouse.updateMousePosition(event.clientX, event.clientY);\n };\n Mouse.isMouseDown = false;\n Mouse.mousePosition = { x: 0, y: 0 };\n Mouse.lastMousePosition = { x: 0, y: 0 };\n Mouse.listenersSetUp = false;\n return Mouse;\n}());\nexport default Mouse;\n;\n","import { LS_Prefix, LS_UserList } from './const';\nvar NoteStorage = /** @class */ (function () {\n function NoteStorage() {\n }\n NoteStorage.getSavedUserList = function () {\n return JSON.parse(localStorage.getItem(LS_UserList) || \"[]\");\n };\n NoteStorage.getNote = function (username) {\n return localStorage.getItem(LS_Prefix + username) || \"\";\n };\n NoteStorage.addUserToSavedList = function (username) {\n var userList = this.getSavedUserList();\n if (!userList.includes(username)) {\n userList.push(username);\n localStorage.setItem(LS_UserList, JSON.stringify(userList));\n }\n };\n NoteStorage.removeUserFromSavedList = function (username) {\n var userList = this.getSavedUserList();\n userList = userList.filter(function (u) { return u !== username; });\n if (userList.length) {\n localStorage.setItem(LS_UserList, JSON.stringify(userList));\n }\n else {\n localStorage.removeItem(LS_UserList);\n }\n };\n NoteStorage.saveNote = function (username, note) {\n this.addUserToSavedList(username);\n localStorage.setItem(LS_Prefix + username, note);\n };\n NoteStorage.deleteNote = function (username) {\n this.removeUserFromSavedList(username);\n localStorage.removeItem(LS_Prefix + username);\n };\n NoteStorage.exportNotes = function () {\n var _this = this;\n var dataObject = {\n users: this.getSavedUserList(),\n notes: this.getSavedUserList().map(function (user) {\n return { user: user, note: _this.getNote(user) };\n }),\n settings: {},\n };\n var data = JSON.stringify(dataObject);\n var blob = new Blob([data], { type: 'text/json' });\n var elem = window.document.createElement('a');\n elem.href = window.URL.createObjectURL(blob);\n elem.download = 'twitch-notes-' + (Date.now()) + '.json';\n document.body.appendChild(elem);\n elem.click();\n document.body.removeChild(elem);\n };\n NoteStorage.clearData = function () {\n var users = this.getSavedUserList();\n for (var _i = 0, users_1 = users; _i < users_1.length; _i++) {\n var user = users_1[_i];\n this.deleteNote(user);\n }\n };\n NoteStorage.inputData = {\n users: [],\n notes: [],\n settings: {},\n };\n return NoteStorage;\n}());\nexport default NoteStorage;\n","var HTMLBuilder = /** @class */ (function () {\n function HTMLBuilder(data) {\n var _a;\n this.element = document.createElement(data.element);\n this.setId((_a = data.id) !== null && _a !== void 0 ? _a : data.element + '-custom-element-' + Math.floor(Math.random() * 1000000));\n if (data.class)\n this.setClasses(data.class);\n if (data.attributes)\n this.setAttributes(data.attributes);\n if (data.style)\n this.setStyles(data.style);\n if (data.mouseClickEvent)\n this.setMouseClickListener(data.mouseClickEvent);\n if (data.mouseMoveEvent)\n this.setMouseMoveListener(data.mouseMoveEvent);\n if (data.mouseDownEvent)\n this.setMouseDownListener(data.mouseDownEvent);\n if (data.mouseUpEvent)\n this.setMouseUpListener(data.mouseUpEvent);\n if (data.keyUpEvent)\n this.setKeyUpListener(data.keyUpEvent);\n if (data.changeListener)\n this.setChangeListener(data.changeListener);\n if (data.content)\n this.setContent(data.content);\n }\n HTMLBuilder.prototype.setId = function (id) {\n this.element.id = id;\n };\n HTMLBuilder.prototype.setClasses = function (classes) {\n if (typeof classes === 'string') {\n this.addClass(classes);\n }\n else {\n for (var _i = 0, classes_1 = classes; _i < classes_1.length; _i++) {\n var className = classes_1[_i];\n this.addClass(className);\n }\n }\n };\n HTMLBuilder.prototype.addClass = function (className) {\n this.element.classList.add(className);\n };\n HTMLBuilder.prototype.setAttributes = function (attributes) {\n for (var key in attributes) {\n if (!attributes[key])\n continue;\n this.addAttribute(key, attributes[key]);\n }\n };\n HTMLBuilder.prototype.addAttribute = function (key, value) {\n this.element.setAttribute(key, value);\n };\n HTMLBuilder.prototype.setStyles = function (style) {\n for (var key in style) {\n this.addStyle(key, style[key] || '');\n }\n };\n HTMLBuilder.prototype.addStyle = function (key, value) {\n this.element.style.setProperty(key, value);\n };\n HTMLBuilder.prototype.setMouseClickListener = function (cb) {\n this.element.addEventListener('click', function () { return cb(); });\n };\n HTMLBuilder.prototype.setContent = function (content) {\n for (var _i = 0, content_1 = content; _i < content_1.length; _i++) {\n var block = content_1[_i];\n this.addContent(block);\n }\n };\n HTMLBuilder.prototype.addContent = function (content) {\n if (typeof content === 'string') {\n this.element.innerHTML += content;\n }\n else {\n if (content instanceof HTMLElement) {\n this.element.appendChild(content);\n }\n else {\n var el = new HTMLBuilder(content);\n this.element.appendChild(el.element);\n }\n }\n };\n HTMLBuilder.prototype.setMouseMoveListener = function (cb) {\n this.element.addEventListener('mousemove', function () { return cb(); });\n };\n HTMLBuilder.prototype.setMouseDownListener = function (cb) {\n this.element.addEventListener('mousedown', function () { return cb(); });\n };\n HTMLBuilder.prototype.setMouseUpListener = function (cb) {\n this.element.addEventListener('mouseup', function () { return cb(); });\n };\n HTMLBuilder.prototype.setKeyUpListener = function (cb) {\n var _this = this;\n this.element.addEventListener('keyup', function () { return cb(_this.element.innerHTML); });\n };\n HTMLBuilder.prototype.setChangeListener = function (cb) {\n this.element.addEventListener('change', function (e) { return cb(e); });\n };\n HTMLBuilder.prototype.getElement = function () {\n return this.element;\n };\n HTMLBuilder.prototype.remove = function () {\n this.element.remove();\n };\n return HTMLBuilder;\n}());\nexport default HTMLBuilder;\n","var TwitchButton = /** @class */ (function () {\n function TwitchButton(content, type, classes) {\n if (type === void 0) { type = 'default'; }\n if (classes === void 0) { classes = ''; }\n this.element = document.createElement('button');\n this.element.textContent = content;\n this.element.classList.add('twitch-notes_button');\n if (type === 'outline') {\n this.element.classList.add('twitch-notes_button__outline');\n }\n if (classes) {\n if (typeof classes === 'string') {\n this.element.classList.add(classes);\n }\n else {\n for (var _i = 0, classes_1 = classes; _i < classes_1.length; _i++) {\n var className = classes_1[_i];\n this.element.classList.add(className);\n }\n }\n }\n }\n TwitchButton.prototype.onClick = function (cb) {\n this.element.addEventListener('click', function () { return cb(); });\n };\n return TwitchButton;\n}());\nexport default TwitchButton;\n","var TwitchCloseButton = /** @class */ (function () {\n function TwitchCloseButton(classes) {\n if (classes === void 0) { classes = ''; }\n this.element = document.createElement('button');\n this.element.innerHTML = \"\\n \\n \\n \\n \";\n this.element.classList.add('twitch-notes_close-button');\n if (classes) {\n if (typeof classes === 'string') {\n this.element.classList.add(classes);\n }\n else {\n for (var _i = 0, classes_1 = classes; _i < classes_1.length; _i++) {\n var className = classes_1[_i];\n this.element.classList.add(className);\n }\n }\n }\n }\n TwitchCloseButton.prototype.onClick = function (cb) {\n this.element.addEventListener('click', function () { return cb(); });\n };\n return TwitchCloseButton;\n}());\nexport default TwitchCloseButton;\n","import TwitchCloseButton from \"./TwitchCloseButton\";\nimport importNotesConflictResolve from \"../importNotesConflictResolve\";\nvar TwitchNotesImportResolve = /** @class */ (function () {\n function TwitchNotesImportResolve() {\n this.element = document.createElement('div');\n }\n TwitchNotesImportResolve.prototype.create = function (user, parentContainer, blurredBackground) {\n var _this = this;\n if (!this.element) {\n this.element = document.createElement('div');\n }\n this.element.innerHTML = '';\n this.element.classList.add('twitch-notes-blurred-background');\n var closeButton = new TwitchCloseButton();\n closeButton.onClick(function () {\n _this.close();\n });\n var container = document.createElement('div');\n container.classList.add('twitch-notes-center-floating-container');\n var header = document.createElement('div');\n header.classList.add('twitch-notes-container-header');\n var title = document.createElement('div');\n title.classList.add('twitch-notes-container-header-title');\n title.textContent = 'Resolve note (' + user + ') conflict';\n header.appendChild(title);\n container.appendChild(header);\n header.insertAdjacentElement(\"beforeend\", closeButton.element);\n var content = document.createElement('div');\n content.classList.add('twitch-notes-container-content');\n content.style.display = 'block';\n content.style.padding = '1rem';\n container.appendChild(content);\n content.appendChild(importNotesConflictResolve(user, this.element, parentContainer, blurredBackground));\n this.element.appendChild(container);\n document.body.appendChild(this.element);\n };\n TwitchNotesImportResolve.prototype.close = function () {\n if (this.element)\n this.element.remove();\n this.element = undefined;\n };\n TwitchNotesImportResolve.open = function (user, container, blurredBackground) {\n TwitchNotesImportResolve.instance = new TwitchNotesImportResolve();\n TwitchNotesImportResolve.instance.create(user, container, blurredBackground);\n };\n return TwitchNotesImportResolve;\n}());\nexport default TwitchNotesImportResolve;\n","import NoteStorage from \"./NoteStorage\";\nimport importNotesResult from \"./importNotesResult\";\nimport HTMLBuilder from \"./HTMLBuilder\";\nexport default function importNotesConflictResolve(user, resultsContainer, container, blurredBackground) {\n var valueStyle = {\n minWidth: '320px',\n padding: '6px',\n border: '1px solid #FFFFFF19',\n outline: 'none',\n };\n var valueAttr = { contentEditable: 'true' };\n var diffBlurredBackground = new HTMLBuilder({\n element: 'div',\n content: [\n 'Select which note to keep for ' + user + '
You can modify notes to merge them and keep updated one

',\n {\n element: 'div',\n class: 'twitch-notes-grid-col-2',\n style: {\n width: '100%',\n },\n content: [\n {\n element: 'div',\n content: [{\n element: 'p',\n content: [\n 'Locally saved note',\n {\n element: 'div',\n style: valueStyle,\n attributes: valueAttr,\n id: 'local-value-container',\n content: [NoteStorage.getNote(user)]\n },\n '
',\n {\n element: 'button',\n class: 'twitch-notes_button',\n content: ['Save this'],\n mouseClickEvent: function () {\n var _a;\n var val = ((_a = document.getElementById('local-value-container')) === null || _a === void 0 ? void 0 : _a.innerHTML) || '';\n NoteStorage.inputData.notes = NoteStorage.inputData.notes.map(function (n) { return n.user === user ? {\n user: n.user,\n note: val,\n resolved: true\n } : n; });\n diffBlurredBackground.remove();\n resultsContainer.remove();\n importNotesResult(container, blurredBackground);\n }\n }\n ]\n }]\n },\n {\n element: 'div',\n content: [{\n element: 'p',\n content: [\n 'Locally saved note',\n {\n element: 'div',\n style: valueStyle,\n attributes: valueAttr,\n id: 'import-value-container',\n content: [NoteStorage.inputData.notes.filter(function (n) { return n.user === user; })[0].note || '']\n },\n '
',\n {\n element: 'button',\n class: 'twitch-notes_button',\n content: ['Save this'],\n mouseClickEvent: function () {\n var _a;\n var val = ((_a = document.getElementById('import-value-container')) === null || _a === void 0 ? void 0 : _a.innerHTML) || '';\n NoteStorage.inputData.notes = NoteStorage.inputData.notes.map(function (n) { return n.user === user ? {\n user: n.user,\n note: val,\n resolved: true\n } : n; });\n diffBlurredBackground.remove();\n resultsContainer.remove();\n importNotesResult(container, blurredBackground);\n }\n }\n ]\n }]\n }\n ]\n }\n ]\n });\n return diffBlurredBackground.getElement();\n}\n","import NoteStorage from \"./NoteStorage\";\nimport HTMLBuilder from \"./HTMLBuilder\";\nimport TwitchButton from \"./HTMLElements/TwitchButton\";\nimport TwitchNotesImportResolve from \"./HTMLElements/TwitchNotesImportResolve\";\nexport default function importNotesResult(container, blurredBackground, cb) {\n var _a, _b, _c;\n var willBeAdded = [];\n var willBeOverwritten = [];\n var noChanges = [];\n var _loop_1 = function (user) {\n if (NoteStorage.getNote(user)) {\n if (((_a = NoteStorage.inputData.notes.find(function (note) { return note.user === user; })) === null || _a === void 0 ? void 0 : _a.resolved) || NoteStorage.getNote(user) !== ((_b = NoteStorage.inputData.notes.find(function (note) { return note.user === user; })) === null || _b === void 0 ? void 0 : _b.note)) {\n willBeOverwritten.push(user);\n }\n else {\n noChanges.push(user);\n }\n }\n else {\n willBeAdded.push(user);\n }\n };\n for (var _i = 0, _d = NoteStorage.inputData.users; _i < _d.length; _i++) {\n var user = _d[_i];\n _loop_1(user);\n }\n var resultsContainer = new HTMLBuilder({\n element: 'div',\n style: {\n padding: '1rem'\n }\n });\n if (willBeOverwritten.length) {\n var overwrittenContainer = new HTMLBuilder({\n element: 'div',\n content: ['Note conflicts found for:
'],\n style: {\n marginTop: '1rem',\n }\n });\n var _loop_2 = function (item) {\n var isResolved = (_c = NoteStorage.inputData.notes.find(function (note) { return note.user === item; })) === null || _c === void 0 ? void 0 : _c.resolved;\n overwrittenContainer.addContent({\n element: 'div',\n content: [item + ' ', {\n element: 'a',\n content: [isResolved ? '[update]' : '[resolve]'],\n style: {\n cursor: 'pointer',\n },\n mouseClickEvent: function () {\n TwitchNotesImportResolve.open(item, container, blurredBackground);\n // importNotesConflictResolve(item, resultsContainer, container, blurredBackground);\n }\n }],\n style: {\n color: isResolved ? 'green' : 'red',\n }\n });\n };\n for (var _e = 0, willBeOverwritten_1 = willBeOverwritten; _e < willBeOverwritten_1.length; _e++) {\n var item = willBeOverwritten_1[_e];\n _loop_2(item);\n }\n resultsContainer.addContent(overwrittenContainer.getElement());\n }\n if (willBeAdded.length) {\n resultsContainer.addContent({\n element: 'div',\n content: ['Note will be added for:
' + willBeAdded.join('
')],\n style: {\n marginTop: '1rem',\n color: 'white'\n }\n });\n }\n if (noChanges.length) {\n resultsContainer.addContent({\n element: 'div',\n content: ['No changes for:
' + noChanges.join('
')],\n style: {\n marginTop: '1rem',\n color: 'gray'\n }\n });\n }\n resultsContainer.addContent({ element: 'div', style: { height: '24px' } });\n willBeOverwritten = willBeOverwritten.filter(function (x) { var _a; return !((_a = NoteStorage.inputData.notes.find(function (n) { return n.user === x; })) === null || _a === void 0 ? void 0 : _a.resolved); });\n var saveButton = new TwitchButton('Complete import');\n if (willBeOverwritten.length > 0)\n saveButton.element.style.background = 'gray';\n if (willBeOverwritten.length > 0)\n saveButton.element.setAttribute('disabled', 'true');\n resultsContainer.addContent(saveButton.element);\n if (willBeOverwritten.length > 0) {\n resultsContainer.addContent({\n element: 'div',\n content: ['Import cannot be completed while there are unresolved conflicts'],\n style: { color: 'gray' }\n });\n }\n else {\n saveButton.element.addEventListener('click', function () {\n for (var _i = 0, _a = NoteStorage.inputData.notes; _i < _a.length; _i++) {\n var note = _a[_i];\n NoteStorage.saveNote(note.user, note.note);\n }\n blurredBackground.remove();\n NoteStorage.inputData = {\n users: [],\n notes: [],\n settings: {},\n };\n cb ? cb() : function () { };\n });\n }\n container.innerHTML = '';\n container.appendChild(resultsContainer.getElement());\n}\n","import TwitchCloseButton from \"./TwitchCloseButton\";\nimport NoteStorage from \"../NoteStorage\";\nimport importNotesResult from \"../importNotesResult\";\nvar TwitchNotesImport = /** @class */ (function () {\n function TwitchNotesImport() {\n this.element = document.createElement('div');\n }\n TwitchNotesImport.prototype.create = function () {\n var _this = this;\n if (!this.element) {\n this.element = document.createElement('div');\n }\n this.element.innerHTML = '';\n this.element.classList.add('twitch-notes-blurred-background');\n var closeButton = new TwitchCloseButton();\n closeButton.onClick(function () {\n _this.close();\n });\n var container = document.createElement('div');\n container.classList.add('twitch-notes-center-floating-container');\n var header = document.createElement('div');\n header.classList.add('twitch-notes-container-header');\n var title = document.createElement('div');\n title.classList.add('twitch-notes-container-header-title');\n title.textContent = 'Import Notes';\n header.appendChild(title);\n container.appendChild(header);\n header.insertAdjacentElement(\"beforeend\", closeButton.element);\n var content = document.createElement('div');\n content.classList.add('twitch-notes-container-content');\n content.style.display = 'block';\n content.style.padding = '1rem';\n container.appendChild(content);\n content.innerHTML = \"\\n WARNING! This action might override existing data!
\\n
\\n Select exported twitch notes file
\\n \";\n var blurredBackground = this.element;\n var input = document.createElement('input');\n input.classList.add('twitch-notes-file-input');\n input.setAttribute('type', 'file');\n input.setAttribute('accept', 'json');\n input.addEventListener('change', function () {\n if (!input.files)\n return;\n // @ts-ignore\n var file = input.files.item(0);\n if (!file)\n return;\n var reader = new FileReader();\n reader.readAsText(file, \"UTF-8\");\n reader.onload = function (evt) {\n var _a;\n if (!((_a = evt === null || evt === void 0 ? void 0 : evt.target) === null || _a === void 0 ? void 0 : _a.result))\n return;\n NoteStorage.inputData = JSON.parse(evt.target.result.toString());\n if (NoteStorage.inputData) {\n input.style.display = 'none';\n importNotesResult(container, blurredBackground, TwitchNotesImport.resolveCallback);\n }\n };\n reader.onerror = function () {\n console.error(\"error reading file\");\n };\n });\n content.appendChild(input);\n this.element.appendChild(container);\n document.body.appendChild(this.element);\n };\n TwitchNotesImport.prototype.close = function () {\n if (this.element)\n this.element.remove();\n this.element = undefined;\n };\n TwitchNotesImport.update = function () {\n var _a;\n (_a = TwitchNotesImport.instance) === null || _a === void 0 ? void 0 : _a.create();\n };\n TwitchNotesImport.open = function (cb) {\n TwitchNotesImport.resolveCallback = cb;\n TwitchNotesImport.instance = new TwitchNotesImport();\n TwitchNotesImport.instance.create();\n };\n TwitchNotesImport.close = function () {\n var _a, _b;\n (_b = (_a = TwitchNotesImport.instance) === null || _a === void 0 ? void 0 : _a.element) === null || _b === void 0 ? void 0 : _b.remove();\n TwitchNotesImport.instance = undefined;\n };\n return TwitchNotesImport;\n}());\nexport default TwitchNotesImport;\n","import TwitchCloseButton from \"./TwitchCloseButton\";\nimport NoteStorage from \"../NoteStorage\";\n// import openImportNotesWindow from \"../openImprtNotesWindow\";\nimport openClearDataWindow from \"../openClearDataWindow\";\nimport TwitchButton from \"./TwitchButton\";\nimport TwitchNotesImport from \"./TwitchNotesImport\";\nvar TwitchNotesWindow = /** @class */ (function () {\n function TwitchNotesWindow() {\n this.element = document.createElement('div');\n }\n TwitchNotesWindow.prototype.buildContent = function (content) {\n var _this = this;\n content.innerHTML = '';\n var userButtons = [];\n this.userList = document.createElement('div');\n this.userList.classList.add('twitch-notes-container-content-user-list');\n var addNoteButton = document.createElement('div');\n addNoteButton.classList.add('twitch-notes-container-content-user-list-item');\n addNoteButton.textContent = '+ Add New Note';\n addNoteButton.addEventListener('click', function () {\n _this.newNote(noteContainer, userButtons);\n });\n this.userList.appendChild(addNoteButton);\n var searchField = document.createElement('input');\n searchField.classList.add('twitch-notes-container-content-user-list-item');\n searchField.classList.add('twitch-notes-container-content-user-list-item-search');\n searchField.placeholder = 'Search...';\n searchField.addEventListener('keyup', function () {\n var _a;\n for (var _i = 0, userButtons_1 = userButtons; _i < userButtons_1.length; _i++) {\n var row = userButtons_1[_i];\n if (searchField.value === '') {\n row.style.display = 'block';\n continue;\n }\n if ((_a = row.textContent) === null || _a === void 0 ? void 0 : _a.includes(searchField.value)) {\n row.style.display = 'block';\n }\n else {\n row.style.display = 'none';\n }\n }\n });\n this.userList.appendChild(searchField);\n var _loop_1 = function (user) {\n var userButton = document.createElement('div');\n userButton.classList.add('twitch-notes-container-content-user-list-item');\n userButton.textContent = user;\n userButtons.push(userButton);\n this_1.userList.appendChild(userButton);\n userButton.addEventListener('click', function () {\n _this.openNote(noteContainer, user, userButtons, userButton);\n });\n };\n var this_1 = this;\n for (var _i = 0, _a = NoteStorage.getSavedUserList(); _i < _a.length; _i++) {\n var user = _a[_i];\n _loop_1(user);\n }\n var noteContainer = document.createElement('div');\n noteContainer.classList.add('twitch-notes-container-content-note-container');\n if (NoteStorage.getSavedUserList().length) {\n userButtons[0].click();\n }\n else {\n noteContainer.textContent = '';\n var noNotes = document.createElement('div');\n noNotes.classList.add('twitch-notes-container-content-note-container-note');\n noNotes.innerHTML = 'You have not notes yet...';\n noteContainer.appendChild(noNotes);\n }\n content.appendChild(this.userList);\n content.appendChild(noteContainer);\n };\n TwitchNotesWindow.prototype.newNote = function (noteContainer, userButtons) {\n var _this = this;\n noteContainer.innerHTML = '';\n for (var _i = 0, userButtons_2 = userButtons; _i < userButtons_2.length; _i++) {\n var btn = userButtons_2[_i];\n btn.style.background = 'transparent';\n }\n var noteTitle = document.createElement('input');\n noteTitle.classList.add('twitch-notes-container-header-title');\n noteTitle.classList.add('twitch-notes-container-content-user-list-item-search');\n noteTitle.style.marginTop = '1rem';\n noteTitle.placeholder = 'Note title or username';\n noteContainer.appendChild(noteTitle);\n var note = document.createElement('div');\n note.classList.add('twitch-notes-container-content-note-container-note');\n note.setAttribute('contentEditable', 'true');\n note.innerHTML = '';\n noteContainer.appendChild(note);\n var controls = document.createElement('div');\n controls.classList.add('twitch-notes-container-content-note-container-controls');\n noteContainer.appendChild(controls);\n var save = new TwitchButton('Save');\n controls.appendChild(save.element);\n var savedNote = document.createElement('span');\n savedNote.classList.add('twitch-notes-container-content-note-container-controls-saved');\n savedNote.textContent = 'Note Saved!';\n savedNote.style.opacity = '0';\n controls.appendChild(savedNote);\n save.onClick(function () {\n var _a;\n var user = noteTitle.value.trim().toLowerCase();\n var userButton = document.createElement('div');\n userButton.classList.add('twitch-notes-container-content-user-list-item');\n userButton.textContent = user;\n userButtons.push(userButton);\n (_a = _this.userList) === null || _a === void 0 ? void 0 : _a.appendChild(userButton);\n userButton.addEventListener('click', function () {\n _this.openNote(noteContainer, user, userButtons, userButton);\n });\n userButtons.push(userButton);\n NoteStorage.saveNote(user, note.innerHTML);\n _this.openNote(noteContainer, user, userButtons, userButton);\n });\n };\n TwitchNotesWindow.prototype.openNote = function (noteContainer, user, userButtons, userButton) {\n noteContainer.innerHTML = '';\n for (var _i = 0, userButtons_3 = userButtons; _i < userButtons_3.length; _i++) {\n var btn = userButtons_3[_i];\n btn.style.background = 'transparent';\n }\n userButton.style.background = 'var(--color-twitch-purple-5)';\n var noteTitle = document.createElement('div');\n noteTitle.classList.add('twitch-notes-container-header-title');\n noteTitle.textContent = user;\n noteTitle.style.marginTop = '1rem';\n noteContainer.appendChild(noteTitle);\n var note = document.createElement('div');\n note.classList.add('twitch-notes-container-content-note-container-note');\n note.setAttribute('contentEditable', 'true');\n note.innerHTML = NoteStorage.getNote(user);\n noteContainer.appendChild(note);\n var controls = document.createElement('div');\n controls.classList.add('twitch-notes-container-content-note-container-controls');\n noteContainer.appendChild(controls);\n var save = new TwitchButton('Save');\n controls.appendChild(save.element);\n var savedNote = document.createElement('span');\n savedNote.classList.add('twitch-notes-container-content-note-container-controls-saved');\n savedNote.textContent = 'Note Saved!';\n savedNote.style.opacity = '0';\n controls.appendChild(savedNote);\n save.onClick(function () {\n NoteStorage.saveNote(user, note.innerHTML);\n savedNote.style.opacity = '1';\n });\n };\n TwitchNotesWindow.prototype.create = function () {\n var _this = this;\n if (!this.element) {\n this.element = document.createElement('div');\n }\n this.element.innerHTML = '';\n this.element.classList.add('twitch-notes-blurred-background');\n var closeButton = new TwitchCloseButton();\n closeButton.onClick(function () {\n _this.close();\n });\n var container = document.createElement('div');\n container.classList.add('twitch-notes-center-floating-container');\n var header = document.createElement('div');\n header.classList.add('twitch-notes-container-header');\n var title = document.createElement('div');\n title.classList.add('twitch-notes-container-header-title');\n title.textContent = 'Twitch Notes';\n header.appendChild(title);\n container.appendChild(header);\n header.insertAdjacentElement(\"beforeend\", closeButton.element);\n var content = document.createElement('div');\n content.classList.add('twitch-notes-container-content');\n container.appendChild(content);\n this.buildContent(content);\n var footer = document.createElement('div');\n footer.classList.add('twitch-notes-container-footer');\n container.appendChild(footer);\n var exportNotes = document.createElement('span');\n exportNotes.classList.add('twitch-notes-link');\n exportNotes.textContent = 'Export Notes';\n exportNotes.addEventListener('click', function () {\n NoteStorage.exportNotes();\n });\n footer.appendChild(exportNotes);\n var importNotes = document.createElement('span');\n importNotes.classList.add('twitch-notes-link');\n importNotes.textContent = 'Import Notes';\n importNotes.addEventListener('click', function () {\n TwitchNotesImport.open(function () {\n TwitchNotesWindow.update();\n });\n });\n footer.appendChild(importNotes);\n var clearNotes = document.createElement('span');\n clearNotes.classList.add('twitch-notes-link');\n clearNotes.textContent = 'Clear Notes';\n clearNotes.addEventListener('click', function () {\n openClearDataWindow();\n });\n footer.appendChild(clearNotes);\n this.element.appendChild(container);\n document.body.appendChild(this.element);\n };\n TwitchNotesWindow.prototype.close = function () {\n if (this.element)\n this.element.remove();\n this.element = undefined;\n };\n TwitchNotesWindow.update = function () {\n var _a;\n (_a = TwitchNotesWindow.instance) === null || _a === void 0 ? void 0 : _a.create();\n };\n TwitchNotesWindow.toggle = function () {\n if (!TwitchNotesWindow.instance) {\n TwitchNotesWindow.instance = new TwitchNotesWindow();\n TwitchNotesWindow.instance.create();\n return;\n }\n if (TwitchNotesWindow.instance.element) {\n TwitchNotesWindow.instance.close();\n }\n else {\n TwitchNotesWindow.instance.create();\n }\n };\n return TwitchNotesWindow;\n}());\nexport default TwitchNotesWindow;\n","import NoteStorage from \"./NoteStorage\";\nimport HTMLBuilder from \"./HTMLBuilder\";\nimport TwitchNotesWindow from \"./HTMLElements/TwitchNotesWindow\";\nexport default function openClearDataWindow() {\n var blurredBackground = new HTMLBuilder({\n element: 'div',\n class: 'twitch-notes-blurred-background',\n content: [{\n element: 'div',\n class: 'twitch-notes-center-floating-container',\n style: {\n padding: '1rem',\n },\n content: [\n 'This action will delete all saved notes!

Consider exporting notes before performing this action in case you will need to use notes again',\n {\n element: 'div',\n style: {\n height: '24px',\n }\n },\n {\n element: 'button',\n class: 'twitch-notes_button',\n content: ['DELETE ALL NOTES'],\n style: {\n background: 'red'\n },\n mouseClickEvent: function () {\n NoteStorage.clearData();\n blurredBackground.remove();\n TwitchNotesWindow.update();\n }\n },\n {\n element: 'button',\n class: 'twitch-notes_button',\n content: ['Cancel'],\n mouseClickEvent: function () {\n blurredBackground.remove();\n }\n }\n ]\n }]\n });\n document.body.appendChild(blurredBackground.getElement());\n}\n","import { ELEMENT_ButtonContainer } from \"./const\";\nimport openTwitchNote from \"./openTwitchNote\";\nimport HTMLBuilder from \"./HTMLBuilder\";\nimport TwitchButton from \"./HTMLElements/TwitchButton\";\nimport TwitchNotesWindow from \"./HTMLElements/TwitchNotesWindow\";\nvar TwitchNote = /** @class */ (function () {\n function TwitchNote() {\n }\n TwitchNote.prototype.init = function (chatContainerNode) {\n var _this = this;\n this.chatContainerNode = chatContainerNode;\n this.startObserver(chatContainerNode);\n // add Notes management button\n this.addNotesButton();\n setTimeout(function () {\n _this.addUserNoteBadges();\n }, 1000);\n };\n TwitchNote.prototype.startObserver = function (targetNode) {\n var _this = this;\n // discard old observer\n if (this.observer) {\n this.observer.disconnect();\n }\n var observerCallback = function (mutationList) {\n // preventing multiple chat updates at once in case update process\n // is taking longer or chat is super active\n if (!changeInProgress) {\n for (var _i = 0, mutationList_1 = mutationList; _i < mutationList_1.length; _i++) {\n var mutation = mutationList_1[_i];\n if (mutation.type === \"childList\") {\n changeInProgress = true;\n // add badges next to users\n _this.addUserNoteBadges();\n changeInProgress = false;\n }\n }\n }\n };\n var changeInProgress = false;\n var observerConfig = { attributes: true, childList: true, subtree: true };\n this.observer = new MutationObserver(observerCallback);\n this.observer.observe(targetNode, observerConfig);\n };\n TwitchNote.prototype.addNotesButton = function () {\n var _this = this;\n var buttonContainer = document.querySelector(\".\".concat(ELEMENT_ButtonContainer));\n if (!buttonContainer) {\n setTimeout(function () { return _this.addNotesButton(); }, 100);\n return;\n }\n var button = new TwitchButton('Notes', 'outline');\n button.onClick(TwitchNotesWindow.toggle);\n if (buttonContainer.lastChild) {\n buttonContainer.lastChild.insertBefore(button.element, buttonContainer.lastChild.lastChild);\n }\n else {\n buttonContainer.appendChild(button.element);\n }\n };\n TwitchNote.prototype.addUserNoteBadges = function () {\n var nodes = document.getElementsByClassName(\"chat-line__message\");\n var _loop_1 = function (i) {\n var node = nodes.item(i);\n if (!node)\n return \"continue\";\n var n = node.querySelector(\".chat-author__display-name\");\n if (!n)\n return \"continue\";\n var usernameContainer = node.querySelector(\".chat-line__username-container\");\n if (!usernameContainer)\n return \"continue\";\n var username = n.getAttribute('data-a-user');\n if (username) {\n var noteButton = usernameContainer.querySelector(\".twitch-note\");\n if (!noteButton) {\n var twitchNote = new HTMLBuilder({\n element: 'span',\n class: 'twitch-note',\n style: {\n cursor: 'pointer',\n },\n mouseClickEvent: function () { return openTwitchNote(username); },\n content: [\n {\n element: 'img',\n style: {\n height: '18px',\n paddingRight: '4px'\n },\n attributes: {\n src: 'https://cdn.rdarius.lt/icons/32-id-card.png'\n }\n }\n ]\n });\n usernameContainer.insertBefore(twitchNote.getElement(), usernameContainer.firstChild);\n }\n }\n };\n for (var i = 0; i < nodes.length; i++) {\n _loop_1(i);\n }\n };\n return TwitchNote;\n}());\nexport default TwitchNote;\n","import NoteContainers from \"./NoteContainers\";\nimport Mouse from \"./Mouse\";\nimport NoteStorage from \"./NoteStorage\";\nimport { getCloseButtonSVG } from \"./HTMLTemplates\";\nimport HTMLBuilder from \"./HTMLBuilder\";\nexport default function openTwitchNote(username) {\n if (NoteContainers.containers[username])\n return;\n var noteContent = NoteStorage.getNote(username);\n var container = {\n element: 'div',\n class: 'twitch-notes-floating-container',\n style: {\n left: Mouse.mousePosition.x + 'px',\n top: Mouse.mousePosition.y + 10 + 'px'\n },\n content: [\n {\n element: 'div',\n class: 'twitch-notes-header',\n mouseDownEvent: function () {\n NoteContainers.activeContainer = username;\n Mouse.isMouseDown = true;\n },\n content: [\n {\n element: 'span',\n class: 'twitch-notes-close-button',\n content: [getCloseButtonSVG()],\n mouseClickEvent: function () { return NoteContainers.removeContainer(username); },\n },\n {\n element: 'span',\n class: 'twitch-notes-title',\n content: [username],\n }\n ]\n },\n {\n element: 'div',\n class: 'twitch-notes-content',\n content: [NoteStorage.getNote(username)],\n attributes: {\n contentEditable: 'true'\n },\n keyUpEvent: function (newContent) {\n noteContent = newContent;\n }\n },\n {\n element: 'div',\n class: 'twitch-notes-save-button',\n content: ['SAVE'],\n mouseClickEvent: function () {\n NoteStorage.saveNote(username, noteContent);\n NoteContainers.removeContainer(username);\n }\n }\n ]\n };\n var containerElement = new HTMLBuilder(container);\n document.body.appendChild(containerElement.getElement());\n NoteContainers.addContainer(username, containerElement);\n}\n","export function getCloseButtonSVG() {\n return \"\\n \\n \\n \\n \";\n}\n","import './styles/main.scss';\nimport TwitchNote from \"./TwitchNote\";\nimport Mouse from \"./Mouse\";\nvar ChatContainerClass = 'chat-scrollable-area__message-container';\nvar twitchNote = new TwitchNote();\nvar chatExists = false;\nvar lastUrl = '';\nfunction init() {\n // check for chat container existence\n setInterval(function () {\n // check for URL changes (going through different channels)\n var currentUrl = window.location.href;\n if (lastUrl !== currentUrl) {\n lastUrl = currentUrl;\n chatExists = false;\n return;\n }\n // check for chat container appearing in DOM\n var targetNode = document.querySelector(\".\".concat(ChatContainerClass));\n if (targetNode) {\n if (!chatExists) {\n // chat container appeared\n twitchNote.init(targetNode);\n Mouse.setupListeners();\n }\n chatExists = true;\n }\n else {\n chatExists = false;\n }\n }, 1000);\n}\ninit();\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","prop","prototype","hasOwnProperty","call","nc","LS_UserList","LS_Prefix","NoteContainers","addContainer","username","container","containers","removeContainer","activeContainer","__assign","assign","t","s","arguments","p","Mouse","setupListeners","listenersSetUp","addEventListener","handleMouseMove","handleMouseUp","isMouseDown","updateMousePosition","x","y","lastMousePosition","mousePosition","event","dx","dy","setStyles","top","parseInt","getElement","left","clientX","clientY","NoteStorage","getSavedUserList","parse","localStorage","getItem","getNote","addUserToSavedList","userList","includes","setItem","removeUserFromSavedList","filter","u","removeItem","saveNote","note","deleteNote","exportNotes","_this","dataObject","users","notes","user","settings","blob","Blob","type","elem","href","URL","createObjectURL","download","Date","now","body","click","clearData","users_1","inputData","HTMLBuilder","_a","setId","Math","floor","random","class","setClasses","mouseClickEvent","setMouseClickListener","mouseMoveEvent","setMouseMoveListener","mouseDownEvent","setMouseDownListener","mouseUpEvent","setMouseUpListener","keyUpEvent","setKeyUpListener","changeListener","setChangeListener","setContent","classes","addClass","classes_1","className","classList","add","addAttribute","value","addStyle","setProperty","cb","content_1","block","addContent","innerHTML","HTMLElement","el","TwitchButton","textContent","onClick","TwitchCloseButton","TwitchNotesImportResolve","create","parentContainer","blurredBackground","closeButton","close","header","title","insertAdjacentElement","display","padding","resultsContainer","valueStyle","minWidth","border","outline","valueAttr","contentEditable","diffBlurredBackground","width","val","getElementById","resolved","importNotesResult","importNotesConflictResolve","open","instance","_b","_c","willBeAdded","willBeOverwritten","noChanges","_loop_1","_d","overwrittenContainer","marginTop","_loop_2","isResolved","cursor","color","_e","willBeOverwritten_1","height","saveButton","background","TwitchNotesImport","input","files","file","reader","FileReader","readAsText","onload","evt","resolveCallback","onerror","console","error","TwitchNotesWindow","buildContent","userButtons","addNoteButton","newNote","noteContainer","searchField","placeholder","userButtons_1","row","userButton","this_1","openNote","noNotes","userButtons_2","noteTitle","controls","save","savedNote","opacity","trim","toLowerCase","userButtons_3","footer","importNotes","clearNotes","toggle","TwitchNote","init","chatContainerNode","startObserver","addNotesButton","setTimeout","addUserNoteBadges","targetNode","observer","disconnect","changeInProgress","MutationObserver","mutationList","mutationList_1","observe","childList","subtree","buttonContainer","button","lastChild","insertBefore","nodes","getElementsByClassName","node","usernameContainer","getAttribute","twitchNote","noteContent","newContent","containerElement","openTwitchNote","paddingRight","src","chatExists","lastUrl","setInterval","currentUrl","location"],"sourceRoot":""} \ No newline at end of file