{"version":3,"sources":["webpack:///./src/views/dashboard/configurations/Permission.vue?3106","webpack:///src/views/dashboard/configurations/Permission.vue","webpack:///./src/views/dashboard/configurations/Permission.vue?51db","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///../../../src/components/VVirtualScroll/VVirtualScroll.ts","webpack:///./src/views/dashboard/configurations/Permission.vue","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///../../../src/directives/scroll/index.ts","webpack:///../../../src/mixins/selectable/index.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","scopedSlots","_u","key","fn","_v","proxy","apps","on","$event","getUsersByApp","selectedApp","model","value","callback","$$v","expression","disallowedUsers","ref","item","selectUserToAllow","class","domProps","_s","text","$set","allowAll","allow","disallow","allowedUsers","selectUserToDisallow","disallowAll","staticRenderFns","defaultMenuProps","offsetY","offsetOverflow","transition","VSelect","name","props","allowOverflow","type","default","autoSelectFirst","filter","itemText","queryText","hideNoData","menuProps","noFilter","searchInput","String","lazySearch","computed","selectedIndex","selectedItems","map","getValue","hideSelected","filteredItems","some","hasItem","length","selectedItem","getText","internalSearch","allItems","searchIsDirty","multiple","hasDisplayedItems","find","i","valueComparator","data","items","watch","internalValue","document","$refs","input","val","oldVal","activateMenu","methods","menu","keyCode","curIndex","curItem","getDisabled","lastIndex","nextIndex","nextItem","VTextField","mergeData","autocomplete","slot","hasSlot","isAppendInner","e","target","setSearch","selectedValues","indexOf","currentItem","currentItemText","event","directives","Scroll","bench","Number","itemHeight","required","first","last","scrollTop","parseInt","Math","height","getLast","slice","index","top","style","$el","content","h","modifiers","self","onScroll","$listeners","component","VAutocomplete","VBtn","VCard","VCardText","VCheckbox","VCol","VContainer","VIcon","VListItem","VListItemAction","VRow","VVirtualScroll","ripple","Boolean","center","functional","id","tag","children","classes","Object","fluid","Array","indeterminate","indeterminateIcon","offIcon","onIcon","inputIndeterminate","isDisabled","hasError","hasColor","setTextColor","dense","dark","light","genInput","isActive","toString","genRipple","inserted","binding","options","passive","handler","el","undefined","unbind","prop","inputValue","falseValue","trueValue","label","lazyValue","isDark","click","prevent","disabled","role","checked","blur","change","focus","keydown"],"mappings":"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","file":"js/chunk-c50105b6.03beed0b.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"id\":\"permission\",\"fluid\":\"\",\"tag\":\"section\"}},[_c('v-row',[_c('v-col',[_c('base-material-card',{staticClass:\"px-5 py-3\",attrs:{\"color\":\"primary\",\"icon\":\"mdi-shield-check\",\"inline\":\"\",\"hover-reveal\":\"\"},scopedSlots:_vm._u([{key:\"after-heading\",fn:function(){return [_c('div',{staticClass:\"display-2 font-weight-light mt-2\"},[_vm._v(\" Permission Configurations \")])]},proxy:true}])},[_c('v-row',{staticClass:\"align-center\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\",\"md\":\"6\",\"lg\":\"4\"}},[_c('v-autocomplete',{attrs:{\"items\":_vm.apps,\"prepend-icon\":\"mdi-application\",\"label\":\"Select App\"},on:{\"change\":function($event){return _vm.getUsersByApp(_vm.selectedApp)}},model:{value:(_vm.selectedApp),callback:function ($$v) {_vm.selectedApp=$$v},expression:\"selectedApp\"}})],1)],1),_c('v-row',{staticClass:\"align-center\"},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-row',{staticClass:\"px-4 justify-center\"},[_c('span',{staticClass:\"text-h4 font-weight-light\"},[_vm._v(\"Disallowed Users\")])]),_c('v-row',{staticClass:\"px-4\"},[_c('v-card',{attrs:{\"outlined\":\"\",\"width\":\"100%\"}},[_c('v-card-text',[_c('v-virtual-scroll',{attrs:{\"items\":_vm.disallowedUsers,\"item-height\":50,\"height\":\"300\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-list-item',[_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":item.value && 'primary' || 'grey'},on:{\"change\":function($event){return _vm.selectUserToAllow(item)}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"ml-4\",class:item.value && 'primary--text' || 'grey--text',domProps:{\"textContent\":_vm._s(item.text)}})]},proxy:true}],null,true),model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})],1)],1)]}}])})],1)],1)],1),_c('v-row',{staticClass:\"px-4\"},[_c('v-checkbox',{staticClass:\"px-2\",attrs:{\"color\":_vm.allowAll && 'primary' || 'grey'},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"ml-4\",class:_vm.allowAll && 'primary--text' || 'grey--text'},[_vm._v(\" Select All Disallowed User \")])]},proxy:true}]),model:{value:(_vm.allowAll),callback:function ($$v) {_vm.allowAll=$$v},expression:\"allowAll\"}})],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('v-btn',{attrs:{\"color\":\"primary\",\"width\":\"100%\"},on:{\"click\":_vm.allow}},[_vm._v(\" Allow \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-chevron-double-right \")])],1),_c('v-btn',{attrs:{\"width\":\"100%\"},on:{\"click\":_vm.disallow}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-chevron-double-left \")]),_vm._v(\" Disallow \")],1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-row',{staticClass:\"px-4 justify-center\"},[_c('span',{staticClass:\"text-h4 font-weight-light\"},[_vm._v(\"Allowed Users\")])]),_c('v-row',{staticClass:\"px-4\"},[_c('v-card',{attrs:{\"outlined\":\"\",\"width\":\"100%\"}},[_c('v-card-text',[_c('v-virtual-scroll',{attrs:{\"items\":_vm.allowedUsers,\"item-height\":50,\"height\":\"300\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-list-item',[_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":item.value && 'grey' || 'primary'},on:{\"change\":function($event){return _vm.selectUserToDisallow(item)}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"ml-4\",class:item.value && 'grey--text' || 'primary--text',domProps:{\"textContent\":_vm._s(item.text)}})]},proxy:true}],null,true),model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})],1)],1)]}}])})],1)],1)],1),_c('v-row',{staticClass:\"px-4\"},[_c('v-checkbox',{staticClass:\"px-2\",attrs:{\"color\":_vm.disallowAll && 'grey' || 'primary'},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"ml-4\",class:_vm.disallowAll && 'grey--text' || 'primary--text'},[_vm._v(\" Select All Allowed Users \")])]},proxy:true}]),model:{value:(_vm.disallowAll),callback:function ($$v) {_vm.disallowAll=$$v},expression:\"disallowAll\"}})],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n Permission Configurations\n \n \n\n \n \n \n \n \n\n \n \n \n \n Disallowed Users\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n Select All Disallowed User\n \n \n \n \n \n\n \n \n \n Allow\n \n mdi-chevron-double-right\n \n \n\n \n \n mdi-chevron-double-left\n \n Disallow\n \n \n\n \n \n \n Allowed Users\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n Select All Allowed Users\n \n \n \n \n \n \n \n \n \n \n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Permission.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Permission.vue?vue&type=script&lang=js&\"","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n this.lazySearch = val\n\n this.$emit('update:search-input', val)\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n this.setMenuIndex(-1)\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n this.setMenuIndex(0)\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (!this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (!this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","// Styles\nimport './VVirtualScroll.sass'\n\n// Mixins\nimport Measurable from '../../mixins/measurable'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Measurable.extend({\n name: 'v-virtual-scroll',\n\n directives: { Scroll },\n\n props: {\n bench: {\n type: [Number, String],\n default: 0,\n },\n itemHeight: {\n type: [Number, String],\n required: true,\n },\n items: {\n type: Array,\n default: () => [],\n } as PropValidator,\n },\n\n data: () => ({\n first: 0,\n last: 0,\n scrollTop: 0,\n }),\n\n computed: {\n __bench (): number {\n return parseInt(this.bench, 10)\n },\n __itemHeight (): number {\n return parseInt(this.itemHeight, 10)\n },\n firstToRender (): number {\n return Math.max(0, this.first - this.__bench)\n },\n lastToRender (): number {\n return Math.min(this.items.length, this.last + this.__bench)\n },\n },\n\n watch: {\n height: 'onScroll',\n itemHeight: 'onScroll',\n },\n\n mounted () {\n this.last = this.getLast(0)\n },\n\n methods: {\n getChildren (): VNode[] {\n return this.items.slice(\n this.firstToRender,\n this.lastToRender,\n ).map(this.genChild)\n },\n genChild (item: any, index: number) {\n index += this.firstToRender\n\n const top = convertToUnit(index * this.__itemHeight)\n\n return this.$createElement('div', {\n staticClass: 'v-virtual-scroll__item',\n style: { top },\n key: index,\n }, getSlot(this, 'default', { index, item }))\n },\n getFirst (): number {\n return Math.floor(this.scrollTop / this.__itemHeight)\n },\n getLast (first: number): number {\n const height = parseInt(this.height || 0, 10) || this.$el.clientHeight\n\n return first + Math.ceil(height / this.__itemHeight)\n },\n onScroll () {\n this.scrollTop = this.$el.scrollTop\n this.first = this.getFirst()\n this.last = this.getLast(this.first)\n },\n },\n\n render (h): VNode {\n const content = h('div', {\n staticClass: 'v-virtual-scroll__container',\n style: {\n height: convertToUnit((this.items.length * this.__itemHeight)),\n },\n }, this.getChildren())\n\n return h('div', {\n staticClass: 'v-virtual-scroll',\n style: this.measurableStyles,\n directives: [{\n name: 'scroll',\n modifiers: { self: true },\n value: this.onScroll,\n }],\n on: this.$listeners,\n }, [content])\n },\n})\n","import { render, staticRenderFns } from \"./Permission.vue?vue&type=template&id=0efae583&\"\nimport script from \"./Permission.vue?vue&type=script&lang=js&\"\nexport * from \"./Permission.vue?vue&type=script&lang=js&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VVirtualScroll } from 'vuetify/lib/components/VVirtualScroll';\ninstallComponents(component, {VAutocomplete,VBtn,VCard,VCardText,VCheckbox,VCol,VContainer,VIcon,VListItem,VListItemAction,VRow,VVirtualScroll})\n","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","// 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 './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\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.isDisabled && !this.inputIndeterminate) return 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 },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n this.genInput('checkbox', {\n ...this.attrs$,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onScroll) return\n\n const { handler, options, target = el } = el._onScroll\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onBlur () {\n this.isFocused = false\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus () {\n this.isFocused = true\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":""}