{"version":3,"sources":["webpack:///./src/views/groups/components/videos/AddVideoButton.vue?54f1","webpack:///./src/views/groups/components/videos/AddVideoButton.vue","webpack:///./src/views/groups/components/videos/AddVideoButton.vue?3a0f","webpack:///./src/views/groups/components/videos/AddVideoButton.vue?65c1","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///../../../src/components/VSwitch/VSwitch.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","VDialog","attrs","scopedSlots","_u","key","fn","ref","on","VBtn","_g","addVideoLoading","toggleDialog","VIcon","staticClass","_v","_s","$t","model","value","callback","$$v","showDialog","expression","VCard","VSpacer","VDivider","VContainer","VForm","$event","preventDefault","VTextField","linkLoading","title","VTextarea","description","VSwitch","isPinned","linkField","fileField","_e","toggleLinkField","toggleFileField","linkErrors","parseLink","link","length","stopPropagation","addVideoFromLink","VFileInput","handleFileChange","addVideoFromFile","staticRenderFns","ytUrlPattern","urlPattern","AddVideoButton","file","data","groupId","videoUri","addVideoFromLinkAction","url","test","push","toString","match","code","includes","split","watchUrl","embedUrl","fetch","then","r","json","res","toLowerCase","author_name","console","log","type","startsWith","name","replace","FormData","append","addVideoFromFileAction","Vue","__decorate","Prop","default","Getter","Action","Component","component","VGrid","extend","functional","props","id","String","tag","h","children","trim","classes","Object","keys","filter","join","domProps","Grid","fluid","Boolean","mergeData","class","Array","concat","baseMixins","mixins","autoGrow","noResize","rowHeight","Number","validator","v","isNaN","parseFloat","rows","parseInt","computed","noResizeHandle","options","call","watch","val","$nextTick","calculateInputHeight","$refs","input","_a","style","removeProperty","lazyValue","mounted","setTimeout","methods","height","scrollHeight","minHeight","Math","max","genInput","onInput","e","onKeyDown","isFocused","keyCode","$emit","Selectable","directives","Touch","inset","loading","flat","VInput","isActive","isDisabled","role","validationState","hasError","shouldValidate","hasSuccess","hasColor","computedColor","switchData","setTextColor","undefined","themeClasses","genDefaultSlot","genSwitch","genLabel","attrs$","switchAttrs","genRipple","left","onSwipeLeft","right","onSwipeRight","genProgress","VFabTransition","$slots","progress","VProgressCircular","color","size","width","indeterminate","onChange","onKeydown","keyCodes"],"mappings":"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","file":"assets/js/chunk-7f0355d1.43b8071a.js","sourcesContent":["import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VDialog,{attrs:{\"max-width\":\"600px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c(VBtn,_vm._g({attrs:{\"disabled\":_vm.addVideoLoading,\"loading\":_vm.addVideoLoading,\"color\":\"primary\",\"elevation\":\"0\",\"left\":\"\"},on:{\"click\":_vm.toggleDialog}},on),[_c(VIcon,{staticClass:\"mr-2\"},[_vm._v(\"mdi-plus\")]),_c('span',[_vm._v(_vm._s(_vm.$t(\"groups.addv\")))])],1)]}}]),model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}},[_c(VCard,[_c(VCardTitle,{staticClass:\"headline\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"groups.addnv\")))]),_c(VSpacer),_c(VBtn,{attrs:{\"icon\":\"\"},on:{\"click\":_vm.toggleDialog}},[_c(VIcon,[_vm._v(\"mdi-close\")])],1)],1),_c(VDivider),_c(VCardText,[_c(VContainer,[_c(VForm,{on:{\"submit\":function($event){$event.preventDefault();return (function () {})($event)}}},[_c(VTextField,{staticClass:\"mb-4\",attrs:{\"label\":_vm.$t('groups.vidtitlelabel'),\"hint\":_vm.$t('groups.vidtitlehint'),\"disabled\":_vm.linkLoading,\"loading\":_vm.linkLoading,\"persistent-hint\":\"\"},model:{value:(_vm.title),callback:function ($$v) {_vm.title=$$v},expression:\"title\"}}),_c(VTextarea,{staticClass:\"mb-4\",attrs:{\"label\":_vm.$t('groups.viddesc'),\"disabled\":_vm.linkLoading,\"clear-icon\":\"mdi-close\",\"loading\":_vm.linkLoading,\"clearable\":\"\",\"auto-grow\":\"\",\"rows\":\"4\"},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}}),_c(VSwitch,{staticClass:\"mb-4\",attrs:{\"label\":_vm.$t('groups.vidpinlabel'),\"hint\":_vm.$t('groups.vidpinhint'),\"persistent-hint\":\"\"},model:{value:(_vm.isPinned),callback:function ($$v) {_vm.isPinned=$$v},expression:\"isPinned\"}}),_c('div',{staticClass:\"mt-6\"},[(!_vm.linkField && !_vm.fileField)?_c('div',{staticClass:\"d-flex align-center justify-center\"},[_c(VBtn,{staticClass:\"mr-2 flex-grow-1\",attrs:{\"text\":\"\"},on:{\"click\":_vm.toggleLinkField}},[_c(VIcon,{staticClass:\"mr-4\",attrs:{\"left\":\"\"}},[_vm._v(\"mdi-link\")]),_c('span',[_vm._v(_vm._s(_vm.$t(\"groups.link\")))])],1),_c(VBtn,{staticClass:\"ml-2 flex-grow-1\",attrs:{\"text\":\"\"},on:{\"click\":_vm.toggleFileField}},[_c(VIcon,{staticClass:\"mr-4\",attrs:{\"left\":\"\"}},[_vm._v(\"mdi-file-video\")]),_c('span',[_vm._v(_vm._s(_vm.$t(\"groups.file\")))])],1)],1):_vm._e(),(_vm.linkField && !_vm.fileField)?_c('div',[_c(VTextField,{attrs:{\"label\":_vm.$t('groups.vidlinklabel'),\"append-icon\":\"mdi-chevron-left\",\"error-messages\":_vm.linkErrors,\"disabled\":_vm.linkLoading,\"loading\":_vm.linkLoading},on:{\"click:append\":_vm.toggleLinkField,\"change\":_vm.parseLink},model:{value:(_vm.link),callback:function ($$v) {_vm.link=$$v},expression:\"link\"}}),_c(VBtn,{staticClass:\"mt-2\",attrs:{\"disabled\":_vm.linkLoading || _vm.linkErrors.length > 0,\"color\":\"primary\",\"elevation\":\"0\",\"block\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.addVideoFromLink($event)}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"global.submit\")))])])],1):_vm._e(),(!_vm.linkField && _vm.fileField)?_c('div',[_c(VFileInput,{attrs:{\"accept\":\"video/mp4, video/x-m4v, video/*\",\"show-size\":\"\"},on:{\"change\":_vm.handleFileChange}}),_c('div',{staticClass:\"d-flex\"},[_c(VBtn,{staticClass:\"mt-2 flex-grow-1\",attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.fileField = false}}},[_c(VIcon,{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-chevron-left\")]),_c('span',{staticClass:\"ml-2\"},[_vm._v(_vm._s(_vm.$t(\"global.back\")))])],1),_c(VBtn,{staticClass:\"mt-2 flex-grow-1\",attrs:{\"color\":\"primary\",\"type\":\"submit\",\"text\":\"\"},on:{\"click\":_vm.addVideoFromFile}},[_c(VIcon,{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-cloud-upload\")]),_c('span',{staticClass:\"ml-2\"},[_vm._v(_vm._s(_vm.$t(\"global.upload\")))])],1)],1)],1):_vm._e()])],1)],1)],1)],1)],1)}\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\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\r\nimport Vue from \"vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nconst ytUrlPattern = /^.*((youtu.be\\/)|(v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#&?]*).*/;\r\nconst urlPattern = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%+._~#?&//=]*)/;\r\n@Component\r\nexport default class AddVideoButton extends Vue {\r\n @Prop({ default: () => 0 }) groupId!: number;\r\n @Getter(\"groups/addVideoLoading\") addVideoLoading!: boolean;\r\n @Action(\"groups/addVideoFromLink\") addVideoFromLinkAction!: Function;\r\n @Action(\"groups/addVideoFromFile\") addVideoFromFileAction!: Function;\r\n\r\n link = \"\";\r\n title = \"\";\r\n description = \"\";\r\n isPinned = false;\r\n showDialog = false;\r\n linkLoading = false;\r\n file: File | null = null;\r\n\r\n linkField = false;\r\n fileField = false;\r\n\r\n toggleDialog() {\r\n this.showDialog = !this.showDialog;\r\n this.title = \"\";\r\n this.description = \"\";\r\n this.link = \"\";\r\n this.fileField = false;\r\n this.linkField = false;\r\n }\r\n\r\n // Add video from link\r\n linkErrors: string[] = [];\r\n toggleLinkField() {\r\n this.linkField = !this.linkField;\r\n }\r\n addVideoFromLink() {\r\n let data = {\r\n groupId: this.groupId,\r\n title: this.title,\r\n description: this.description,\r\n isPinned: this.isPinned,\r\n videoUri: this.link,\r\n };\r\n this.addVideoFromLinkAction(data);\r\n this.toggleDialog();\r\n }\r\n async parseLink(url: string) {\r\n if (url.length == 0 || this.linkLoading) return;\r\n\r\n if (!urlPattern.test(this.link)) {\r\n this.linkErrors.push(this.$t(\"global.invalidURL\").toString());\r\n return;\r\n } else this.linkErrors = [];\r\n\r\n this.linkLoading = true;\r\n const match = url.match(ytUrlPattern);\r\n let code = match && match[7].length == 11 ? match[7] : \"\";\r\n\r\n if (code == \"\" && this.link.includes(\"v=\"))\r\n code = this.link.split(\"v=\")[1].split(\"&\")[0];\r\n\r\n if (code != \"\") {\r\n let watchUrl = \"https://youtube.com/watch?v=\" + code;\r\n let embedUrl = \"https://youtube.com/embed/\" + code;\r\n this.link = embedUrl;\r\n\r\n try {\r\n const url =\r\n \"https://www.youtube.com/oembed?format=json&url=\" + watchUrl;\r\n let res = await fetch(url).then(r => r.json());\r\n\r\n if (this.title.length == 0) this.title = res.title;\r\n else if (!this.description.toLowerCase().includes(\"original title\"))\r\n this.description +=\r\n \"\\n\" +\r\n this.$t(\"groups.original_title\").toString() +\r\n \": \" +\r\n res.title;\r\n\r\n if (!this.description.toLowerCase().includes(\"author\"))\r\n this.description +=\r\n \"\\n\" + this.$t(\"groups.author\").toString() + \": \" + res.author_name;\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n this.linkLoading = false;\r\n }\r\n\r\n // Add video from file\r\n toggleFileField() {\r\n this.fileField = !this.fileField;\r\n }\r\n handleFileChange(file: File) {\r\n if (!file.type.startsWith(\"video/\")) return;\r\n\r\n this.file = file;\r\n if (this.title.length == 0)\r\n this.title = file.name.replace(\".\" + file.type.replace(\"video/\", \"\"), \"\");\r\n }\r\n addVideoFromFile() {\r\n if (!this.file) return;\r\n\r\n const data = new FormData();\r\n data.append(\"groupId\", this.groupId.toString());\r\n data.append(\"title\", this.title);\r\n data.append(\"description\", \"\" + this.description);\r\n data.append(\"isPinned\", \"\" + this.isPinned);\r\n data.append(\"videoFile\", this.file);\r\n\r\n this.addVideoFromFileAction(data);\r\n this.toggleDialog();\r\n }\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddVideoButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddVideoButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddVideoButton.vue?vue&type=template&id=1591c4d7&\"\nimport script from \"./AddVideoButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddVideoButton.vue?vue&type=script&lang=ts&\"\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\nexport default component.exports","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n autoGrow (val: boolean) {\n this.$nextTick(() => {\n val\n ? this.calculateInputHeight()\n : this.$refs.input?.style.removeProperty('height')\n })\n },\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n"],"sourceRoot":""}