{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///./src/views/groups/components/GroupItem.vue?2593","webpack:///./src/views/groups/components/GroupItem.vue","webpack:///./src/views/groups/components/GroupItem.vue?3637","webpack:///./src/views/groups/components/GroupItem.vue?96c3","webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///./src/views/groups/components/CompanyGroups.vue?431c","webpack:///./src/views/groups/components/CompanyGroups.vue","webpack:///./src/views/groups/components/CompanyGroups.vue?b113","webpack:///./src/views/groups/components/CompanyGroups.vue?3665","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///./src/views/groups/components/CompanyGroupItem.vue?74cd","webpack:///./src/views/groups/components/CompanyGroupItem.vue?32c3","webpack:///./src/views/groups/components/CompanyGroupItem.vue","webpack:///./src/views/groups/components/CompanyGroupItem.vue?3976","webpack:///./src/views/groups/components/CompanyGroupItem.vue?66c9","webpack:///./src/views/groups/components/CompanyGroups.vue?a36e","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts"],"names":["BaseItemGroup","extend","name","provide","expansionPanels","this","props","accordion","Boolean","disabled","flat","hover","focusable","inset","popout","readonly","tile","computed","classes","options","call","created","$attrs","hasOwnProperty","breaking","Array","isArray","value","length","methods","updateItem","item","index","getValue","nextValue","isActive","toggleMethod","nextIsActive","render","_vm","_h","$createElement","_c","_self","staticClass","VCard","attrs","on","goToDetails","VOverlay","removeGroupLoading","group","ID","removedGroupID","VProgressCircular","VRow","VCol","_v","_s","Name","$t","_f","CreatedAt","VIcon","owner","_e","VBtn","$event","stopPropagation","removeDialog","leaving","leaveDialog","VBadge","Videos","toString","Posts","Users","_l","userAvatar","i","VAvatar","key","style","maxGroupUsersAvatars","staticStyle","getMoreUserCounter","VDialog","model","callback","$$v","expression","VSpacer","removeGroup","leaveGroup","staticRenderFns","GroupItem","emails","map","u","Email","slice","join","users","getInitials","Username","fullName","allNames","trim","split","reduce","acc","curr","charAt","toUpperCase","usersCount","counter","$n","user","find","x","IsOwner","$router","push","removeGroupAction","msg","leaveGroupAction","displaySnackbar","console","log","Vue","__decorate","Prop","default","Getter","Action","Component","component","breakpoints","ALIGNMENT","makeProps","prefix","def","val","upperFirst","alignValidator","str","includes","alignProps","type","String","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","functional","tag","dense","noGutters","h","data","children","cacheKey","classList","get","forEach","set","mergeData","class","baseMixins","mixins","Bootable","Colorable","RegistrableInject","parentIsActive","expansionPanel","watch","immediate","handler","oldVal","isBooted","$nextTick","registerContent","beforeDestroy","unregisterContent","VExpandTransition","showLazyContent","setBackgroundColor","color","directives","getSlot","loadingCompanyGroups","subGroups","VExpansionPanels","VExpansionPanel","VExpansionPanelHeader","VExpansionPanelContent","getMainGroupName","CompanyGroups","companyGroups","groups","normalized","courseName","parts","getCompanyGroups","retrievedCompanyGroups","components","CompanyGroupItem","breakpointProps","Number","offsetProps","orderProps","col","offset","order","cols","alignSelf","parent","hasColClasses","some","startsWith","joining","joinDialog","joinGroup","joinGroupAction","$store","dispatch","error","required","ripple","disableIconRotate","expandIcon","hideActions","hasMousedown","isDisabled","isReadonly","registerHeader","unregisterHeader","onClick","e","$emit","genIcon","icon","VFadeTransition","tabindex","$listeners","click","mousedown","mouseup","open","GroupableFactory","RegistrableProvide","content","header","groupClasses","vm","$on","detail","$el","blur","toggle"],"mappings":"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","file":"assets/js/chunk-74c34897.2bc9e9fe.js","sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","import { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"group-item\"},[_c(VCard,{staticClass:\"mb-6\",attrs:{\"elevation\":\"0\"},on:{\"click\":_vm.goToDetails}},[_c(VOverlay,{staticClass:\"d-flex align-center justify-center\",attrs:{\"absolute\":\"\",\"value\":_vm.removeGroupLoading && _vm.group.ID == _vm.removedGroupID}},[_c(VProgressCircular,{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1),_c(VRow,[_c(VCol,{attrs:{\"cols\":\"12\",\"lg\":\"8\",\"md\":\"6\"}},[_c(VCardTitle,{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.group.Name))]),_c(VCardSubtitle,{staticClass:\"font-weight-normal\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"groups.created\"))+\": \"+_vm._s(_vm._f(\"format\")(_vm.group.CreatedAt))+\" \")])],1),_c(VCol,{staticClass:\"pt-6 d-flex flex-column align-center\",attrs:{\"cols\":\"12\",\"lg\":\"4\",\"md\":\"6\"}},[_c('div',{staticClass:\"subheader\"},[_c(VIcon,{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-shield-account\")]),_c('span',[_vm._v(_vm._s(_vm.owner))]),(_vm.group.IsOwner)?_c('span',{staticClass:\"ml-1 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"groups.you\"))+\" \")]):_vm._e()],1),(_vm.group.IsOwner)?_c(VBtn,{staticClass:\"mt-4 main--text\",attrs:{\"block\":\"\",\"elevation\":\"0\",\"color\":\"accent\",\"loading\":_vm.removeGroupLoading,\"disabled\":_vm.removeGroupLoading},on:{\"click\":function($event){$event.stopPropagation();_vm.removeDialog = true}}},[_c(VIcon,{staticClass:\"mr-2\"},[_vm._v(\"mdi-delete\")]),_c('span',[_vm._v(_vm._s(_vm.$t(\"groupItem.deleteGroup\")))])],1):_c(VBtn,{staticClass:\"mt-4 main--text\",attrs:{\"block\":\"\",\"elevation\":\"0\",\"color\":\"accent\",\"loading\":_vm.leaving,\"disabled\":_vm.leaving},on:{\"click\":function($event){$event.stopPropagation();_vm.leaveDialog = true}}},[_c(VIcon,{staticClass:\"mr-2\"},[_vm._v(\"mdi-exit-to-app\")]),_c('span',[_vm._v(_vm._s(_vm.$t(\"groupItem.leave\")))])],1)],1)],1),_c(VRow,[_c(VCardText,[(_vm.group.IsPublic)?_c(VIcon,[_vm._v(\"mdi-lock-open\")]):_c(VIcon,[_vm._v(\"mdi-lock\")]),_c(VBadge,{staticClass:\"mr-4\",attrs:{\"overlap\":\"\",\"color\":\"primary\",\"content\":_vm.group.Videos.length.toString()}},[_c(VIcon,[_vm._v(\"mdi-video\")])],1),_c(VBadge,{staticClass:\"mr-4\",attrs:{\"overlap\":\"\",\"color\":\"primary\",\"content\":_vm.group.Posts.length.toString()}},[_c(VIcon,[_vm._v(\"mdi-post\")])],1),_c(VBadge,{staticClass:\"mr-4\",attrs:{\"overlap\":\"\",\"color\":\"primary\",\"content\":_vm.group.Users.length.toString()}},[_c(VIcon,[_vm._v(\"mdi-account\")])],1),_vm._l((_vm.userAvatars),function(userAvatar,i){return _c(VAvatar,{key:i,staticClass:\"grey lighten-4 ml-2\",style:((\"\\n border: 2px solid #fff !important;\\n \" + (i > 0 && 'margin-left: -8px !important;') + \"\\n \")),attrs:{\"size\":\"40\"}},[_vm._v(\" \"+_vm._s(userAvatar)+\" \")])}),(_vm.group.Users.length > _vm.maxGroupUsersAvatars)?_c(VAvatar,{staticClass:\"grey lighten-5 font-weight-bold text-caption text-no-wrap\",staticStyle:{\"border\":\"2px solid #fff !important\",\"margin-left\":\"-8px !important\",\"font-size\":\"11px !important\"},attrs:{\"size\":\"40\",\"left\":\"\"}},[_vm._v(\"+\"+_vm._s(_vm.getMoreUserCounter(_vm.group.Users.length)))]):_vm._e()],2)],1)],1),_c(VDialog,{attrs:{\"max-width\":\"400px\"},model:{value:(_vm.removeDialog),callback:function ($$v) {_vm.removeDialog=$$v},expression:\"removeDialog\"}},[_c(VCard,[_c(VCardTitle,{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.$t(\"groups.delete\")))]),_c(VCardText,[_vm._v(\" \"+_vm._s(_vm.$t(\"groupItem.areYouSure\"))+\" \\\"\"+_vm._s(_vm.group.Name)+\"\\\"? \"+_vm._s(_vm.$t(\"groupItem.deleteInfo\"))+\" \")]),_c(VCardActions,[_c(VSpacer),_c(VBtn,{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeGroup($event)}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"global.confirm\")))])]),_c(VBtn,{attrs:{\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.removeDialog = false}}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"global.cancel\")))])])],1)],1)],1),_c(VDialog,{attrs:{\"max-width\":\"400px\"},model:{value:(_vm.leaveDialog),callback:function ($$v) {_vm.leaveDialog=$$v},expression:\"leaveDialog\"}},[_c(VCard,{attrs:{\"elevation\":\"0\",\"loading\":_vm.leaving,\"disabled\":_vm.leaving}},[_c(VCardTitle,{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"groupItem.leave\"))+\" \")]),_c(VCardText,[_vm._v(\" \"+_vm._s(_vm.$t(\"groupItem.confirmLeave\", { name: _vm.group.Name }))+\" \")]),_c(VCardActions,[_c(VSpacer),_c(VBtn,{attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.leaveGroup($event)}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"global.confirm\")))])]),_c(VBtn,{attrs:{\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.leaveDialog = false}}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"global.cancel\")))])])],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\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 { Group } from \"@/core/models\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class GroupItem extends Vue {\r\n @Prop({ default: () => {} }) group!: Group;\r\n @Getter(\"groups/removeGroupLoading\") removeGroupLoading!: boolean;\r\n @Getter(\"groups/removedGroupID\") removedGroupID!: number;\r\n @Action(\"groups/removeGroup\") removeGroupAction!: Function;\r\n @Action(\"groups/leaveGroup\")\r\n leaveGroupAction!: (i: number) => Promise;\r\n @Action(\"displaySnackbar\")\r\n displaySnackbar!: (m: string) => void;\r\n\r\n leaveDialog = false;\r\n removeDialog = false;\r\n leaving = false;\r\n maxGroupUsersAvatars = 3;\r\n\r\n // Group helpers\r\n get userEmails() {\r\n let emails = this.group.Users.map(u => u.Email);\r\n if (emails.length > 3) return emails.slice(0, 3).join(\", \") + \", ...\";\r\n else return emails.join(\", \");\r\n }\r\n\r\n get userAvatars() {\r\n const users = this.group.Users.map(u => this.getInitials(u.Username));\r\n //const users = this.fakeUsers;\r\n\r\n return users.slice(0, this.maxGroupUsersAvatars);\r\n }\r\n\r\n // Test with many users: Uncomment in userAvatars() and replace group.Users.length with fakeUsers.length in above\r\n /*get fakeUsers() {\r\n let users = [];\r\n for (let i = 0; i < 999999 + this.maxGroupUsersAvatars; i++)\r\n users.push(this.getInitials(\"Jane Doe\"));\r\n\r\n return users;\r\n }*/\r\n\r\n getInitials(fullName: string) {\r\n const allNames = fullName.trim().split(\" \");\r\n return allNames.reduce((acc: string, curr: string, index: number) => {\r\n if (index === 0 || index === allNames.length - 1)\r\n acc = `${acc}${curr.charAt(0).toUpperCase()}`;\r\n\r\n return acc;\r\n }, \"\");\r\n }\r\n\r\n getMoreUserCounter(usersCount: number) {\r\n const counter = usersCount - this.maxGroupUsersAvatars;\r\n // Note: We always use en for compact formatting, de-DE doesn't support short formats like 1K or 1M\r\n if (counter > 100000 && counter < 1000000)\r\n return this.$n(counter, \"compact\", \"en\");\r\n\r\n return this.$n(counter, \"compactFraction1\", \"en\");\r\n }\r\n\r\n get owner() {\r\n const user = this.group.Users.find(x => x.IsOwner);\r\n return user ? user.Username : \"\";\r\n }\r\n\r\n goToDetails() {\r\n this.$router.push(\"/groups/\" + this.group.ID);\r\n }\r\n\r\n // Delete group\r\n removeGroup() {\r\n if (this.removeGroupLoading) return;\r\n this.removeDialog = false;\r\n this.removeGroupAction(this.group.ID);\r\n }\r\n\r\n // leave group\r\n async leaveGroup() {\r\n this.leaving = true;\r\n try {\r\n const msg = this.$t(\"groupItem.groupLeft\", {\r\n name: this.group.Name,\r\n }).toString();\r\n await this.leaveGroupAction(this.group.ID);\r\n this.displaySnackbar(msg);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n this.leaveDialog = false;\r\n this.leaving = false;\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!./GroupItem.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!./GroupItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GroupItem.vue?vue&type=template&id=29f435ab&\"\nimport script from \"./GroupItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./GroupItem.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","import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this)),\n ]),\n ]))\n },\n})\n","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.has)?_c('div',[_c('div',{staticClass:\"text-h4 font-weight-bold mt-4\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"groups.company\")))])]),_c('div',{staticClass:\"d-flex\"},[_c(VBtn,{staticClass:\"mb-3 ml-auto\",attrs:{\"text\":\"\",\"small\":\"\",\"loading\":_vm.loadingCompanyGroups,\"disabled\":_vm.loadingCompanyGroups},on:{\"click\":_vm.get}},[_vm._v(\" \"+_vm._s(_vm.$t(\"global.refresh\"))+\" \"),_c(VIcon,{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-refresh\")])],1)],1),_vm._l((_vm.groupedCompanyGroups),function(subGroups,prefix){return _c('div',{key:prefix},[(subGroups.length > 0)?_c(VExpansionPanels,[_c(VExpansionPanel,[_c(VExpansionPanelHeader,[_c('h5',{staticClass:\"font-weight-bold mb-2 custom-title\"},[_vm._v(_vm._s(prefix))])]),_c(VExpansionPanelContent,_vm._l((subGroups),function(group,index){return _c(VCard,{key:index,staticClass:\"mb-2 pa-3\",attrs:{\"elevation\":\"1\"}},[_c('CompanyGroupItem',{attrs:{\"group\":group,\"course-name\":_vm.getMainGroupName(group.Name)}})],1)}),1)],1)],1):_vm._e()],1)})],2):_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\r\nimport Vue from \"vue\";\r\nimport { Component } from \"vue-property-decorator\";\r\n\r\nimport { Group } from \"@/core/models\";\r\nimport GroupItem from \"./GroupItem.vue\";\r\nimport CompanyGroupItem from \"./CompanyGroupItem.vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\n\r\n@Component({\r\n components: {\r\n GroupItem,\r\n CompanyGroupItem,\r\n },\r\n})\r\nexport default class CompanyGroups extends Vue {\r\n @Getter(\"groups/loadingCompanyGroups\") loadingCompanyGroups!: boolean;\r\n @Getter(\"groups/getCompanyGroups\") companyGroups!: Group[];\r\n @Getter(\"groups/retrievedCompanyGroups\") retrievedCompanyGroups!: boolean;\r\n @Action(\"groups/getCompanyGroups\") getCompanyGroups!: () => Promise;\r\n\r\n get has() {\r\n console.log(\"this.companyGroups.length: \", this.companyGroups.length);\r\n return this.companyGroups.length > 0;\r\n }\r\n\r\n get groupedCompanyGroups() {\r\n return this.companyGroups.reduce((groups, group) => {\r\n // Vereinheitliche Bindestriche (einschließlich en Dash und em Dash)\r\n const normalized = group.Name.replace(/[\\u2013\\u2014-]/g, \" - \");\r\n\r\n // Extrahiere den Kursnamen (Teil vor dem ersten Bindestrich)\r\n const courseName = normalized.split(\" - \")[0];\r\n\r\n // Setze den Kursnamen als Gruppennamen\r\n if (!groups[courseName]) groups[courseName] = [];\r\n\r\n // Füge die Gruppe zum entsprechenden Kursnamen hinzu\r\n groups[courseName].push(group);\r\n\r\n return groups;\r\n }, {} as Record);\r\n }\r\n\r\n // Gibt nur den Kursnamen zurück (Teil nach dem Bindestrich)\r\n getMainGroupName(name: string) {\r\n const normalized = name.replace(/[\\u2013\\u2014-]/g, \"-\");\r\n const parts = normalized.split(\" - \");\r\n return parts.length > 1 ? parts[1].trim() : name; // Kursname (Teil nach Bindestrich)\r\n }\r\n\r\n get() {\r\n this.getCompanyGroups();\r\n }\r\n\r\n created() {\r\n if (!this.retrievedCompanyGroups) this.getCompanyGroups();\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!./CompanyGroups.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!./CompanyGroups.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CompanyGroups.vue?vue&type=template&id=3a31bb3e&scoped=true&\"\nimport script from \"./CompanyGroups.vue?vue&type=script&lang=ts&\"\nexport * from \"./CompanyGroups.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CompanyGroups.vue?vue&type=style&index=0&id=3a31bb3e&prod&scoped=true&lang=css&\"\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 \"3a31bb3e\",\n null\n \n)\n\nexport default component.exports","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CompanyGroupItem.vue?vue&type=style&index=0&id=b7e6dc18&prod&scoped=true&lang=css&\"","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"group-item\"},[_c('div',{staticClass:\"group-actions\"},[(_vm.group.IsOwner)?_c(VBtn,{staticClass:\"main--text\",attrs:{\"block\":\"\",\"elevation\":\"0\",\"color\":\"accent\",\"loading\":_vm.removeGroupLoading,\"disabled\":_vm.removeGroupLoading},on:{\"click\":function($event){$event.stopPropagation();_vm.removeDialog = true}}},[_c(VIcon,{staticClass:\"mr-2\"},[_vm._v(\"mdi-delete\")]),_c('span',[_vm._v(_vm._s(_vm.$t(\"groupItem.deleteGroup\")))])],1):_c(VBtn,{staticClass:\"main--text\",attrs:{\"block\":\"\",\"elevation\":\"0\",\"color\":\"primary\",\"loading\":_vm.joining,\"disabled\":_vm.joining},on:{\"click\":function($event){$event.stopPropagation();_vm.joinDialog = true}}},[_c(VIcon,{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-exit-to-app\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"groupItem.join\"))+\" \")],1)],1),_c('div',{staticClass:\"group-info\"},[_c('div',{staticClass:\"group-title\"},[_c('div',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.courseName))]),_c('small',[_vm._v(_vm._s(_vm.$t(\"groups.created\"))+\": \"+_vm._s(_vm._f(\"format\")(_vm.group.CreatedAt)))])]),_c('div',{staticClass:\"group-owner\"},[_c(VIcon,{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-shield-account\")]),_c('span',[_vm._v(_vm._s(_vm.owner))]),(_vm.group.IsOwner)?_c('span',{staticClass:\"font-weight-bold ml-1\"},[_vm._v(_vm._s(_vm.$t(\"groups.you\")))]):_vm._e()],1)])]),_c(VDialog,{attrs:{\"max-width\":\"400px\"},model:{value:(_vm.removeDialog),callback:function ($$v) {_vm.removeDialog=$$v},expression:\"removeDialog\"}},[_c(VCard,[_c(VCardTitle,{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.$t(\"groups.delete\")))]),_c(VCardText,[_vm._v(\" \"+_vm._s(_vm.$t(\"groupItem.areYouSure\"))+\" \\\"\"+_vm._s(_vm.group.Name)+\"\\\"? \"+_vm._s(_vm.$t(\"groupItem.deleteInfo\"))+\" \")]),_c(VCardActions,[_c(VSpacer),_c(VBtn,{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeGroup($event)}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"global.confirm\")))])]),_c(VBtn,{attrs:{\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.removeDialog = false}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"global.cancel\")))])])],1)],1)],1),_c(VDialog,{attrs:{\"max-width\":\"400px\"},model:{value:(_vm.joinDialog),callback:function ($$v) {_vm.joinDialog=$$v},expression:\"joinDialog\"}},[_c(VCard,{attrs:{\"elevation\":\"0\",\"loading\":_vm.joining,\"disabled\":_vm.joining}},[_c(VCardTitle,{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"groupItem.join\"))+\" \")]),_c(VCardText,[_vm._v(\" \"+_vm._s(_vm.$t(\"groupItem.confirmJoin\", { name: _vm.group.Name }))+\" \")]),_c(VCardActions,[_c(VSpacer),_c(VBtn,{attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.joinGroup($event)}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"global.confirm\")))])]),_c(VBtn,{attrs:{\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.joinDialog = false}}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"global.cancel\")))])])],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\r\nimport Vue from \"vue\";\r\nimport { Group } from \"@/core/models\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class CompanyGroupItem extends Vue {\r\n @Prop({ default: () => {} }) group!: Group;\r\n @Prop({ required: true }) courseName!: string;\r\n @Getter(\"groups/removeGroupLoading\") removeGroupLoading!: boolean;\r\n @Getter(\"groups/removedGroupID\") removedGroupID!: number;\r\n @Action(\"groups/removeGroup\") removeGroupAction!: Function;\r\n @Action(\"groups/leaveGroup\") leaveGroupAction!: (i: number) => Promise;\r\n @Action(\"groups/joinCompanyGroup\") joinGroupAction!: (\r\n i: number,\r\n ) => Promise;\r\n @Action(\"displaySnackbar\") displaySnackbar!: (m: string) => void;\r\n\r\n joinDialog = false;\r\n removeDialog = false;\r\n joining = false;\r\n maxGroupUsersAvatars = 3;\r\n\r\n get userAvatars() {\r\n const users = this.group.Users.map(u => this.getInitials(u.Username));\r\n return users.slice(0, this.maxGroupUsersAvatars);\r\n }\r\n\r\n getInitials(fullName: string) {\r\n const allNames = fullName.trim().split(\" \");\r\n return allNames.reduce((acc: string, curr: string, index: number) => {\r\n if (index === 0 || index === allNames.length - 1)\r\n acc = `${acc}${curr.charAt(0).toUpperCase()}`;\r\n return acc;\r\n }, \"\");\r\n }\r\n\r\n getMoreUserCounter(usersCount: number) {\r\n const counter = usersCount - this.maxGroupUsersAvatars;\r\n if (counter > 100000 && counter < 1000000)\r\n return this.$n(counter, \"compact\", \"en\");\r\n\r\n return this.$n(counter, \"compactFraction1\", \"en\");\r\n }\r\n\r\n get owner() {\r\n const user = this.group.Users.find(x => x.IsOwner);\r\n return user ? user.Username : \"\";\r\n }\r\n\r\n // Delete group\r\n removeGroup() {\r\n if (this.removeGroupLoading) return;\r\n this.removeDialog = false;\r\n this.removeGroupAction(this.group.ID);\r\n }\r\n\r\n async joinGroup() {\r\n this.joining = true;\r\n try {\r\n await this.joinGroupAction(this.group.ID);\r\n await this.$store.dispatch(\"groups/getCompanyGroups\");\r\n const msg = this.$t(\"groupItem.groupJoined\", {\r\n name: this.group.Name,\r\n }).toString();\r\n this.displaySnackbar(msg);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n this.joinDialog = false;\r\n this.joining = false;\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!./CompanyGroupItem.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!./CompanyGroupItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CompanyGroupItem.vue?vue&type=template&id=b7e6dc18&scoped=true&\"\nimport script from \"./CompanyGroupItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./CompanyGroupItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CompanyGroupItem.vue?vue&type=style&index=0&id=b7e6dc18&prod&scoped=true&lang=css&\"\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 \"b7e6dc18\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CompanyGroups.vue?vue&type=style&index=0&id=3a31bb3e&prod&scoped=true&lang=css&\"","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n"],"sourceRoot":""}