{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/shared/js/muxy-plugin.ts","webpack:///./libs/overlay-common/store/extension-state.ts","webpack:///./src/component/App.vue?5f7d","webpack:///./src/shared/js/store/poll.ts","webpack:///./src/component/App.vue?37f0","webpack:///./src/component/App.vue?2bb0","webpack:///./src/component/App.vue?3575","webpack:///./src/component/App.vue","webpack:///./src/component/index.ts","webpack:///./src/shared/js/globals.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","component","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","VueMuxy","Vue","options","client_id","Error","opts","_muxy_extensions_js__WEBPACK_IMPORTED_MODULE_1__","DebuggingOptions","role","environment","jwt","channel_id","channelID","user_id","userID","url","setup","clientID","ua_string","uaString","__VUE_MUXY_DEV_HOOK","debug","$muxy","ExtensionStateStore","_VuexModule","_this","_mnt_ssd1_jenkins_workspace_ext_polls_node_modules_babel_runtime_helpers_builtin_es6_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","this","extension","channel","viewerExtension","viewerChannel","_mnt_ssd1_jenkins_workspace_ext_polls_node_modules_babel_runtime_helpers_builtin_es6_createClass__WEBPACK_IMPORTED_MODULE_2__","extensionState","channelState","viewerState","serverState","viewer_extension","viewer","_mnt_ssd1_jenkins_workspace_ext_polls_node_modules_babel_runtime_helpers_builtin_es6_inherits__WEBPACK_IMPORTED_MODULE_1__","vuex_module_decorators__WEBPACK_IMPORTED_MODULE_6__","tslib__WEBPACK_IMPORTED_MODULE_5__","namespaced","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default","PollState","Poll","_mnt_ssd1_jenkins_workspace_ext_polls_node_modules_babel_runtime_helpers_builtin_es6_classCallCheck__WEBPACK_IMPORTED_MODULE_6__","id","state","InCreation","question","winner","results","totalVotes","_mnt_ssd1_jenkins_workspace_ext_polls_node_modules_babel_runtime_helpers_builtin_es6_createClass__WEBPACK_IMPORTED_MODULE_5__","ChannelSettings","accentColor","textColor","poll","PollsStore","settings","viewerVote","maxQuestionChars","starterOptionChars","optionCharsDecrease","maxPollOptions","color","vote","chars","_saveChannelState","_mnt_ssd1_jenkins_workspace_ext_polls_node_modules_babel_runtime_helpers_builtin_es6_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__","regeneratorRuntime","mark","_callee","sdk","wrap","_context","prev","next","abrupt","setChannelState","stop","_x","arguments","_mnt_ssd1_jenkins_workspace_ext_polls_node_modules_babel_runtime_helpers_builtin_es6_inherits__WEBPACK_IMPORTED_MODULE_2__","vuex_module_decorators__WEBPACK_IMPORTED_MODULE_8__","tslib__WEBPACK_IMPORTED_MODULE_7__","Appvue_type_template_id_45c5e9e4_render","_vm","_h","$createElement","_c","_self","loading","_e","attrs","enter-active-class","leave-active-class","staticClass","style","backgroundColor","_v","controlsVisible","pollIsReady","hidePoll","fill","xmlns","viewBox","on","click","$event","x","y","width","height","points","_s","viewerIsLoggedIn","_l","opt","index","class","chosen","ResultsAvailable","winnerStyle","percentage","stroke","stroke-width","staticRenderFns","Appvue_type_script_lang_ts_App","_Vue","App","classCallCheck","createClass","idx","sum","reduce","val","concat","Math","round","_this2","$store","commit","catch","_this3","SDK","loaded","then","getAllState","user","anonymous","listen","getVoteData","undefined","VotingOpen","_this4","bodyEl","document","querySelector","addEventListener","ev","$emit","Twitch","ext","onContext","_ref","arePlayerControlsVisible","Over","inherits","vue_property_decorator","tslib_es6","computed","vuex_esm","Appvue_type_script_lang_ts_","component_Appvue_type_script_lang_ts_","componentNormalizer","__file","component_App","vue_runtime_esm","use","muxy_plugin","globals","EXTENSION_ID","store","Store","registerModule","extension_state","render","h","$mount","g","PRODUCTION","EMBEDDED","self","top","TESTING","UA_STRING","ANALYTICS"],"mappings":"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","file":"js/component.6cb015f8.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"component\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([2,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import Muxy, { SetupOptions } from '@muxy/extensions-js';\nimport { DebuggingOptions } from '@muxy/extensions-js/dist/types/src/debug';\n\nimport _Vue from 'vue';\n\nexport class VueMuxyOptions {\n // tslint:disable:variable-name\n public channel_id?: string;\n public environment?: string;\n public client_id!: string;\n public jwt?: string;\n public role?: string;\n public ua_string?: string;\n public user_id?: string;\n public url?: string;\n // tslint:enable:variable-name\n}\n\nexport default function VueMuxy(\n Vue: typeof _Vue,\n options: VueMuxyOptions\n): void {\n if (!options.client_id) {\n throw new Error('Must specify extension id when using the Muxy Vue plugin');\n }\n\n const opts = new Muxy.DebuggingOptions();\n opts.role(options.role || 'viewer');\n\n if (options.environment) {\n opts.environment(options.environment);\n }\n\n if (options.jwt) {\n opts.jwt(options.jwt);\n }\n\n if (options.channel_id) {\n opts.channelID(options.channel_id);\n }\n\n if (options.user_id) {\n opts.userID(options.user_id);\n }\n\n if (options.url) {\n opts.url(options.url);\n }\n\n const setup: SetupOptions = {\n clientID: options.client_id\n };\n\n if (options.ua_string) {\n setup.uaString = options.ua_string;\n }\n\n if (window.__VUE_MUXY_DEV_HOOK) {\n window.__VUE_MUXY_DEV_HOOK(Muxy, opts, setup);\n } else {\n Muxy.debug(opts);\n Muxy.setup(setup);\n }\n\n Vue.prototype.$muxy = Muxy;\n}\n\ndeclare module 'vue/types/vue' {\n interface Vue {\n $muxy: typeof Muxy;\n }\n}\n\ndeclare global {\n interface Window {\n __VUE_MUXY_DEV_HOOK: (\n muxy: typeof Muxy,\n debug: DebuggingOptions,\n setup: SetupOptions\n ) => {};\n }\n}\n","import { Module, Mutation, VuexModule } from 'vuex-module-decorators';\n\nexport interface ServerExtensionState {\n extension?: object;\n channel?: object;\n viewer_extension?: object;\n viewer?: object;\n}\n\n@Module({ namespaced: true, name: 'extension_state' })\nexport default class ExtensionStateStore extends VuexModule {\n public extension: object = {};\n public channel: object = {};\n public viewerExtension: object = {};\n public viewerChannel: object = {};\n\n @Mutation\n public setExtensionState(extensionState: object) {\n this.extension = extensionState;\n }\n\n @Mutation\n public setChannelState(channelState: object) {\n this.channel = channelState;\n }\n\n @Mutation\n public setViewerExtensionState(viewerState: object) {\n this.viewerExtension = viewerState;\n }\n\n @Mutation\n public setViewerChannelState(viewerState: object) {\n this.viewerChannel = viewerState;\n }\n\n @Mutation\n public setAllState(serverState: ServerExtensionState) {\n this.extension = serverState.extension || {};\n this.channel = serverState.channel || {};\n this.viewerExtension = serverState.viewer_extension || {};\n this.viewerChannel = serverState.viewer || {};\n }\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/lib/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/lib/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import { Action, Module, Mutation, VuexModule } from 'vuex-module-decorators';\n\nexport enum PollState {\n InCreation,\n VotingOpen,\n VotingClosed,\n ResultsAvailable,\n Over\n}\n\nexport class PollOption {\n public name: string = '';\n}\n\nexport class Poll {\n public id: string = '';\n public state: PollState = PollState.InCreation;\n public question: string = '';\n public winner: number | null = null;\n public options: PollOption[] = [];\n public results: number[] = [];\n public totalVotes: number = 0;\n\n public empty() {\n this.id = '';\n this.state = PollState.InCreation;\n this.question = '';\n this.winner = null;\n this.options = [];\n }\n}\n\nexport class ChannelSettings {\n public accentColor: string = '#6441a4';\n public textColor: string = '#ffffff';\n public poll: Poll | null = null;\n}\n\n@Module({ namespaced: true, name: 'polls' })\nexport default class PollsStore extends VuexModule {\n public settings: ChannelSettings = new ChannelSettings();\n public viewerVote: number | null = null;\n\n // Controls for live poll creation UI.\n public maxQuestionChars: number = 80;\n public starterOptionChars: number = 80;\n public optionCharsDecrease: number = 5;\n public maxPollOptions: number = 6;\n\n @Mutation\n public setPoll(poll: Poll) {\n this.settings.poll = poll;\n }\n\n @Mutation\n public setAccentColor(color: string) {\n this.settings.accentColor = color;\n }\n\n @Mutation\n public setTextColor(color: string) {\n this.settings.textColor = color;\n }\n\n @Mutation\n public setChannelState(settings: ChannelSettings) {\n if (settings.accentColor) {\n this.settings.accentColor = settings.accentColor;\n }\n if (settings.textColor) {\n this.settings.textColor = settings.textColor;\n }\n\n this.settings.poll = settings.poll;\n }\n\n @Mutation\n public setViewerVote(vote: number | null) {\n this.viewerVote = vote;\n }\n\n @Mutation\n public clearViewerVote() {\n this.viewerVote = null;\n }\n\n @Mutation\n public setMaxQuestionChars(chars: number) {\n this.maxQuestionChars = chars;\n }\n\n @Mutation\n public setStarterOptionChars(chars: number) {\n this.starterOptionChars = chars;\n }\n\n @Mutation\n public setOptionCharsDecrease(chars: number) {\n this.optionCharsDecrease = chars;\n }\n\n @Mutation\n public setMaxPollOptions(options: number) {\n this.maxPollOptions = options;\n }\n\n @Action\n public async saveChannelState(sdk: any) {\n // NOTE: According to the vuex-module-decorators docs, `this` should refer to the PollsStore\n // object. However `Actions` at runtime seem to be bound to the namespaced store object\n // instead. So we have to access state variables at `this.state.`.\n return sdk.setChannelState((this.state as any).settings);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('div',{attrs:{\"id\":\"app\"}},[_c('transition',{attrs:{\"enter-active-class\":\"zoomIn\",\"leave-active-class\":\"zoomOut\"}},[(_vm.controlsVisible)?_c('div',{staticClass:\"expand-screen\",style:({ backgroundColor: _vm.accentColor, color: _vm.textColor })},[_vm._v(\"\\n Please expand your player size to use the polling extension.\\n \")]):_vm._e()]),_c('transition',{attrs:{\"enter-active-class\":\"zoomIn\",\"leave-active-class\":\"zoomOut\"}},[(_vm.controlsVisible && _vm.pollIsReady && _vm.hidePoll)?_c('div',{staticClass:\"launcher\"},[_c('svg',{style:({ fill: _vm.textColor }),attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 720 720\"},on:{\"click\":function($event){_vm.hidePoll = false}}},[_c('rect',{style:({ fill: _vm.accentColor }),attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"720\",\"height\":\"720\"}}),_c('path',{attrs:{\"d\":\"M720,720H0V0H720ZM20,699H699V20H20Z\"}}),_c('path',{attrs:{\"d\":\"M225,213H96V83H225Zm-109-20h88v-88H116Z\"}}),_c('path',{attrs:{\"d\":\"M225,411H96V282H225Zm-109-20h88v-88H116Z\"}}),_c('path',{attrs:{\"d\":\"M225,610H96V481H225ZM116,590h88v-88H116Z\"}}),_c('rect',{attrs:{\"x\":\"268\",\"y\":\"108\",\"width\":\"355\",\"height\":\"28\"}}),_c('rect',{attrs:{\"x\":\"268\",\"y\":\"159\",\"width\":\"177\",\"height\":\"28\"}}),_c('rect',{attrs:{\"x\":\"268\",\"y\":\"506\",\"width\":\"237\",\"height\":\"28\"}}),_c('rect',{attrs:{\"x\":\"268\",\"y\":\"556\",\"width\":\"278\",\"height\":\"28\"}}),_c('rect',{attrs:{\"x\":\"268\",\"y\":\"332\",\"width\":\"272\",\"height\":\"28\"}}),_c('polygon',{attrs:{\"points\":\"161 384 120 330 137 317 161 350 230 262 246 274 161 384\"}})])]):_vm._e()]),_c('transition',{attrs:{\"enter-active-class\":\"bounceInDown\",\"leave-active-class\":\"bounceOutUp\",\"mode\":\"out-in\"}},[(!_vm.hidePoll && _vm.pollIsReady)?_c('div',{staticClass:\"live-poll\"},[_c('div',{staticClass:\"poll\"},[_c('div',{staticClass:\"question\",style:({\n backgroundColor: _vm.accentColor,\n color: _vm.textColor\n })},[_vm._v(\"\\n \"+_vm._s(_vm.poll.question)+\"\\n \")]),(!_vm.viewerIsLoggedIn)?_c('div',{staticClass:\"unauthed\"},[_vm._v(\"\\n You must log in to Twitch to participate in polls.\\n \")]):_c('div',{staticClass:\"options\"},[_vm._l((_vm.poll.options),function(opt,index){return [_c('div',{key:index,staticClass:\"option\",class:{\n chosen: _vm.poll.state <= _vm.PollState.ResultsAvailable && _vm.viewerVote === index,\n results: _vm.poll.state === _vm.PollState.ResultsAvailable,\n winner: _vm.poll.state === _vm.PollState.ResultsAvailable && _vm.poll.winner === index\n },style:(_vm.winnerStyle(_vm.poll.winner, index)),on:{\"click\":function($event){_vm.vote(index)}}},[_c('span',{staticClass:\"name\"},[_vm._v(_vm._s(opt.name))]),(_vm.poll.state === _vm.PollState.ResultsAvailable && _vm.poll.results.length >= index)?_c('div',{staticClass:\"percentage\"},[_c('span',{staticClass:\"amount\"},[_vm._v(_vm._s(_vm.percentage(index)))])]):_vm._e(),_c('div',{staticClass:\"selection-indicator\",style:({ backgroundColor: _vm.accentColor })})])]})],2)]),_c('div',{staticClass:\"collapse\",on:{\"click\":function($event){_vm.hidePoll = true}}},[_c('svg',{attrs:{\"width\":\"30\",\"height\":\"30\",\"viewBox\":\"0 0 40 40\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('rect',{attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"40\",\"height\":\"40\",\"fill\":\"black\"}}),_c('path',{attrs:{\"d\":\"M32 7L8 32\",\"stroke\":\"white\",\"stroke-width\":\"4\"}}),_c('path',{attrs:{\"d\":\"M8 7L32 32\",\"stroke\":\"white\",\"stroke-width\":\"4\"}})])])]):_vm._e()])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport { mapState } from 'vuex';\n\nimport { ChannelSettings, Poll, PollState } from 'shared/js/store/poll';\n\n@Component({\n computed: mapState('polls', ['settings', 'viewerVote'])\n})\nexport default class App extends Vue {\n public loading: boolean = true;\n public sdk: any = null;\n public settings!: ChannelSettings;\n public viewerVote!: number | null;\n\n public controlsVisible: boolean = true;\n public hidePoll: boolean = false;\n public viewerIsLoggedIn: boolean = false;\n\n public PollState: any = PollState;\n\n public get accentColor(): string {\n return this.settings.accentColor;\n }\n\n public get textColor(): string {\n return this.settings.textColor;\n }\n\n public get poll(): Poll | null {\n return this.settings.poll;\n }\n\n public get pollIsReady(): boolean {\n if (!this.poll) {\n return false;\n }\n\n return (\n this.poll.state >= PollState.VotingOpen &&\n this.poll.state < PollState.Over\n );\n }\n\n public winnerStyle(winner: number, idx: number): object {\n if (!this.poll || this.poll.state < PollState.ResultsAvailable || winner !== idx) {\n return {};\n }\n\n return {\n backgroundColor: this.accentColor,\n color: this.textColor\n };\n }\n\n public percentage(idx: number): string {\n if (\n !this.poll ||\n this.poll.state !== PollState.ResultsAvailable ||\n this.poll.options.length <= idx ||\n this.poll.results.length <= idx\n ) {\n return '';\n }\n\n const sum = this.poll.results.reduce((s, val) => s + val, 0);\n if (sum === 0) {\n return '0%';\n }\n\n return `${Math.round((this.poll.results[idx] / sum) * 100)}%`;\n }\n\n public vote(idx: number) {\n if (!this.poll) {\n return;\n }\n\n if (this.viewerVote === idx || this.poll.state >= PollState.ResultsAvailable) {\n return;\n }\n\n this.$store.commit('polls/setViewerVote', idx);\n this.sdk.vote(this.poll.id, idx).catch(() => {\n this.$store.commit('polls/clearViewerVote');\n });\n }\n\n public created() {\n this.sdk = new this.$muxy.SDK();\n this.sdk\n .loaded()\n .then(() => this.sdk.getAllState())\n .then(state => {\n if (state.channel) {\n this.$store.commit('polls/setChannelState', state.channel);\n }\n\n this.viewerIsLoggedIn = !this.sdk.user.anonymous();\n\n this.sdk.listen('poll-start', poll => {\n this.hidePoll = false;\n this.$store.commit('polls/clearViewerVote');\n this.$store.commit('polls/setPoll', poll);\n });\n\n this.sdk.listen('poll-close', poll => {\n this.hidePoll = false;\n this.$store.commit('polls/setPoll', poll);\n });\n\n this.sdk.listen('poll-end', poll => {\n this.$store.commit('polls/setPoll', poll);\n });\n\n this.sdk.listen('settings-changed', settings => {\n this.$store.commit('polls/setAccentColor', settings.accentColor);\n this.$store.commit('polls/setTextColor', settings.textColor);\n });\n\n if (this.poll) {\n this.sdk.getVoteData(this.poll.id).then(data => {\n if (data.vote !== undefined) {\n this.$store.commit('polls/setViewerVote', data.vote);\n } else if (this.poll && this.poll.state === PollState.VotingOpen) {\n this.hidePoll = false; // Show an active poll on launch if the user hasn't voted.\n }\n this.loading = false;\n });\n } else {\n this.loading = false;\n }\n });\n }\n\n public mounted() {\n const bodyEl = document.querySelector('body');\n\n if (!bodyEl) {\n return;\n }\n\n // Watch for all click events.\n bodyEl.addEventListener('click', ev => {\n this.$emit('user-click', ev);\n });\n\n window.Twitch.ext.onContext(({ arePlayerControlsVisible }) => {\n this.controlsVisible = arePlayerControlsVisible;\n });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=45c5e9e4&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import Vue from 'vue';\nimport Vuex from 'vuex';\n\nimport globals from 'globals';\n\nimport ExtensionStateStore from 'common/store/extension-state';\nimport VueMuxy from 'shared/js/muxy-plugin';\n\nimport PollsStore from 'shared/js/store/poll';\n\nimport App from './App.vue';\n\nVue.use(VueMuxy, {\n client_id: globals.EXTENSION_ID\n});\n\nVue.use(Vuex);\nconst store = new Vuex.Store({});\nstore.registerModule('extension_state', ExtensionStateStore);\nstore.registerModule('polls', PollsStore);\n\nnew Vue({\n store,\n render: h => h(App)\n}).$mount('#app');\n","declare var GLOBAL_EXTENSION_ID: string;\ndeclare var GLOBAL_PRODUCTION: boolean;\ndeclare var GLOBAL_TESTING: boolean;\ndeclare var GLOBAL_UA_STRING: boolean;\ndeclare var GLOBAL_ANALYTICS: boolean;\n\n// This module maps globals injected by Webpack (or from other sources)\n// to an accessible module usable by our code.\nexport class Globals {\n public EXTENSION_ID!: string;\n public EMBEDDED!: boolean;\n public PRODUCTION!: boolean;\n public TESTING!: boolean;\n public UA_STRING!: boolean;\n public ANALYTICS!: boolean;\n}\n\nconst g: Globals = {\n PRODUCTION: GLOBAL_PRODUCTION,\n EMBEDDED: window.self !== window.top,\n EXTENSION_ID: GLOBAL_EXTENSION_ID,\n TESTING: GLOBAL_TESTING,\n UA_STRING: GLOBAL_UA_STRING,\n ANALYTICS: GLOBAL_ANALYTICS\n};\n\nexport default g;\n"],"sourceRoot":""}