{"version":3,"sources":["webpack:///../../../src/components/VGrid/VRow.ts","webpack:///./src/forms/role/compact/FormRoleCompact.permissions.form.vue","webpack:///src/forms/role/compact/FormRoleCompact.permissions.form.vue","webpack:///./src/forms/role/compact/FormRoleCompact.permissions.form.vue?ba63","webpack:///./src/forms/role/compact/FormRoleCompact.permissions.form.vue?17de","webpack:///../../../src/components/VCombobox/VCombobox.ts","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":["breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","props","val","upperFirst","alignValidator","str","includes","alignProps","type","String","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","Vue","extend","name","functional","tag","dense","Boolean","noGutters","render","h","data","children","cacheKey","classList","get","forEach","value","push","set","mergeData","staticClass","class","_vm","this","_c","_self","ref","model","valid","callback","$$v","expression","attrs","loading","_v","i","_s","$t","on","closeDialog","user_permission","_e","apply","staticStyle","$rules","required","$set","permissionActions","action","permissionScopes","scopes","limit_value","scopedSlots","_u","key","fn","_g","_b","start_date","menu_start_date","Date","toISOString","substr","save_start_date","end_date","menu_end_date","save_end_date","staticRenderFns","now","_permissionScopes","_permissionActions","components","Loading","dialog","productItems","user_permission_default_value","scope","renewal","values","loaded_values","watch","handler","deep","created","methods","init","resetUserPermission","removeItem","createUserPermission","updateUserPermission","loadUserPermission","component","VBtn","VCard","VCol","VCombobox","VDatePicker","VForm","VIcon","VMenu","VRow","VSelect","VSpacer","VSystemBar","VTextField","VToolbar","VToolbarTitle","VAutocomplete","delimiters","Array","returnObject","editingIndex","computed","computedCounterValue","multiple","selectedItems","length","internalSearch","toString","hasSlot","options","call","isAnyValueAllowed","menuCanShow","isFocused","hasDisplayedItems","$slots","hideNoData","searchIsDirty","onInternalSearchChanged","delimiter","find","d","endsWith","slice","updateTags","updateMenuDimensions","genInput","input","paste","onPaste","genChipSelection","item","index","chip","componentOptions","listeners","dblclick","getText","selectedIndex","onChipInput","onEnterDown","e","preventDefault","getMenuIndex","$nextTick","updateSelf","onKeyDown","keyCode","ctrlKey","keyCodes","home","end","left","$refs","selectionStart","enter","changeSelectedIndex","onTabDown","stopPropagation","selectItem","updateEditing","toLocaleLowerCase","setSelectedItems","internalValue","setValue","undefined","findIndex","assign","splice","updateCombobox","isUsingSlot","$scopedSlots","selection","hasChips","menuIndex","itemToSelect","event","pastedItemText","clipboardData","_event$clipboardData","getData","findExistingIndex","clearableCallback","breakpointProps","Number","offsetProps","orderProps","col","offset","order","cols","alignSelf","parent","hasColClasses","some","startsWith","defaultMenuProps","VSelectMenuProps","offsetY","offsetOverflow","transition","allowOverflow","autoSelectFirst","filter","Function","queryText","itemText","indexOf","menuProps","noFilter","searchInput","lazySearch","classes","computedItems","filteredItems","selectedValues","map","getValue","hideSelected","hasItem","currentRange","selectedItem","isSearching","allItems","getPropertyFromItem","text","$emit","isDirty","$_menuProps","contentClass","trim","valueComparator","listData","items","virtualizedItems","document","addEventListener","onCopy","select","removeEventListener","blur","isMenuActive","oldVal","activateMenu","setSearch","destroyed","onFilteredItemsChanged","preSelectedItem","menu","listIndex","setMenuIndex","getTiles","updateDimensions","right","backspace","delete","deleteCurrentItem","curIndex","curItem","isInteractive","getDisabled","lastIndex","nextIndex","nextItem","getObjectValueByPath","autocomplete","domProps","genInputSlot","slot","role","genSelections","onClick","onFocus","isAppendInner","target","onInput","badInput","validity","onSpaceDown","onUpDown","currentItem","currentItemText","setData"],"mappings":"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","file":"js/chunk-1ac73952.b94f62d8.js","sourcesContent":["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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-card',{attrs:{\"max-height\":\"100vh\"}},[_c('Loading',{attrs:{\"value\":_vm.loading}}),_c('div',[_c('v-system-bar',{attrs:{\"dark\":\"\",\"color\":\"primary\"}},[_c('v-icon',{staticClass:\"mr-1\"},[_vm._v(\"mdi-pencil\")]),((typeof _vm.i !== 'undefined'))?[_c('small',[_c('strong',{staticClass:\"text-uppercase\"},[_vm._v(_vm._s(_vm.$t('USER_PERMISSION.FORM_TITLE_UPDATE')))])])]:_c('small',[_c('strong',{staticClass:\"text-uppercase\"},[_vm._v(_vm._s(_vm.$t('USER_PERMISSION.FORM_TITLE_CREATE')))])]),_c('v-spacer'),_c('v-icon',{staticClass:\"clickable\",attrs:{\"small\":\"\"},on:{\"click\":_vm.closeDialog}},[_vm._v(\" mdi-close \")])],2),_c('v-toolbar',{attrs:{\"color\":\"transparent\",\"dense\":\"\",\"flat\":\"\",\"height\":\"60px\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('USER_PERMISSION.TITLE'))),((typeof _vm.i !== 'undefined'))?_c('span',[_vm._v(\": \"+_vm._s(this.user_permission.name))]):_vm._e()]),_c('v-spacer'),_c('v-btn',{staticClass:\"mr-4\",attrs:{\"x-small\":\"\",\"fab\":\"\",\"depressed\":\"\",\"color\":\"error\"},on:{\"click\":_vm.closeDialog}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1),_c('v-btn',{attrs:{\"rounded\":\"\",\"depressed\":\"\",\"color\":\"success\",\"disabled\":!_vm.valid},on:{\"click\":_vm.apply}},[_c('v-icon',{staticClass:\"mr-2\"},[_vm._v(\"mdi-check\")]),_vm._v(\" \"+_vm._s(_vm.$t('COMMON.APPLY'))+\" \")],1)],1),_c('div',{staticClass:\"toolbar-separator primary ml-4 mr-4\"})],1),_c('div',{ref:\"content\",staticClass:\"pa-6 pt-0 scroll\",staticStyle:{\"max-height\":\"calc(80vh - 61px)\"}},[_c('Loading',{attrs:{\"value\":_vm.loading}}),_c('div',{staticClass:\"pa-0 mt-6\"},[_c('p',{staticClass:\"primary--text mb-0\"},[_vm._v(_vm._s(_vm.$t('USER_PERMISSION.TITLE')))]),_c('v-row',{staticClass:\"mt-0\"},[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"8\"}},[_c('v-text-field',{attrs:{\"dense\":\"\",\"outlined\":\"\",\"hide-details\":\"\",\"rules\":[_vm.$rules.required]},model:{value:(_vm.user_permission.name),callback:function ($$v) {_vm.$set(_vm.user_permission, \"name\", $$v)},expression:\"user_permission.name\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-select',{attrs:{\"items\":_vm.permissionActions,\"label\":_vm.$t('INPUT.ACTION'),\"placeholder\":_vm.$t('INPUT.ACTION'),\"rules\":[_vm.$rules.required],\"hide-details\":\"\",\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.user_permission.action),callback:function ($$v) {_vm.$set(_vm.user_permission, \"action\", $$v)},expression:\"user_permission.action\"}})],1),_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-combobox',{attrs:{\"multiple\":\"\",\"items\":_vm.permissionScopes,\"label\":_vm.$t('INPUT.SCOPES'),\"placeholder\":_vm.$t('INPUT.SCOPES'),\"hide-details\":\"\",\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.user_permission.scopes),callback:function ($$v) {_vm.$set(_vm.user_permission, \"scopes\", $$v)},expression:\"user_permission.scopes\"}})],1)],1)],1),_c('div',{staticClass:\"pa-0 mt-6\"},[_c('p',{staticClass:\"primary--text mb-0\"},[_vm._v(_vm._s(_vm.$t('USER_PERMISSION.LIMIT_USAGE')))]),_c('v-row',{staticClass:\"mt-0\"},[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"2\"}},[_c('v-text-field',{attrs:{\"type\":\"number\",\"min\":\"0\",\"dense\":\"\",\"outlined\":\"\"},model:{value:(_vm.user_permission.limit_value),callback:function ($$v) {_vm.$set(_vm.user_permission, \"limit_value\", $$v)},expression:\"user_permission.limit_value\"}})],1)],1)],1),_c('div',{staticClass:\"pa-0 mt-6\"},[_c('p',{staticClass:\"primary--text mb-0\"},[_vm._v(_vm._s(_vm.$t('USER_PERMISSION.TIME_USAGE')))]),_c('v-row',{staticClass:\"mt-0\"},[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-menu',{ref:\"menu_start_date\",attrs:{\"close-on-content-click\":false,\"transition\":\"none\",\"min-width\":\"auto\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({attrs:{\"dense\":\"\",\"label\":_vm.$t('INPUT.DATE_START'),\"prepend-inner-icon\":\"mdi-calendar\",\"readonly\":\"\",\"outlined\":\"\",\"clearable\":\"\"},model:{value:(_vm.user_permission.start_date),callback:function ($$v) {_vm.$set(_vm.user_permission, \"start_date\", $$v)},expression:\"user_permission.start_date\"}},'v-text-field',attrs,false),on))]}}]),model:{value:(_vm.menu_start_date),callback:function ($$v) {_vm.menu_start_date=$$v},expression:\"menu_start_date\"}},[_c('v-date-picker',{ref:\"picker\",attrs:{\"no-title\":\"\",\"min\":new Date().toISOString().substr(0, 10)},on:{\"change\":_vm.save_start_date},model:{value:(_vm.user_permission.start_date),callback:function ($$v) {_vm.$set(_vm.user_permission, \"start_date\", $$v)},expression:\"user_permission.start_date\"}})],1)],1),_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-menu',{ref:\"menu_end_date\",attrs:{\"close-on-content-click\":false,\"transition\":\"none\",\"min-width\":\"auto\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({attrs:{\"dense\":\"\",\"label\":_vm.$t('INPUT.DATE_END'),\"prepend-inner-icon\":\"mdi-calendar\",\"readonly\":\"\",\"outlined\":\"\",\"clearable\":\"\"},model:{value:(_vm.user_permission.end_date),callback:function ($$v) {_vm.$set(_vm.user_permission, \"end_date\", $$v)},expression:\"user_permission.end_date\"}},'v-text-field',attrs,false),on))]}}]),model:{value:(_vm.user_permission.menu_end_date),callback:function ($$v) {_vm.$set(_vm.user_permission, \"menu_end_date\", $$v)},expression:\"user_permission.menu_end_date\"}},[_c('v-date-picker',{ref:\"picker\",attrs:{\"no-title\":\"\",\"min\":_vm.user_permission.start_date},on:{\"change\":_vm.save_end_date},model:{value:(_vm.user_permission.end_date),callback:function ($$v) {_vm.$set(_vm.user_permission, \"end_date\", $$v)},expression:\"user_permission.end_date\"}})],1)],1)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormRoleCompact.permissions.form.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormRoleCompact.permissions.form.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormRoleCompact.permissions.form.vue?vue&type=template&id=21284ec4&\"\nimport script from \"./FormRoleCompact.permissions.form.vue?vue&type=script&lang=js&\"\nexport * from \"./FormRoleCompact.permissions.form.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 { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VCombobox } from 'vuetify/lib/components/VCombobox';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSystemBar } from 'vuetify/lib/components/VSystemBar';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCol,VCombobox,VDatePicker,VForm,VIcon,VMenu,VRow,VSelect,VSpacer,VSystemBar,VTextField,VToolbar,VToolbarTitle})\n","// Styles\nimport '../VAutocomplete/VAutocomplete.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = VAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = VSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n VSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in v-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\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 onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n VAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\n\n // if selected item contains search value,\n // remove the search string\n if (\n this.internalSearch &&\n this.multiple &&\n this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())\n ) {\n this.internalSearch = null\n }\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n VSelect.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n const index = this.selectedItems.findIndex(item =>\n this.getText(item) === this.internalSearch)\n\n // If user enters a duplicate text on chip edit,\n // don't add it, move it to the end of the list\n if (index > -1) {\n const item = typeof value[index] === 'object'\n ? Object.assign({}, value[index])\n : value[index]\n\n value.splice(index, 1)\n value.push(item)\n } else {\n value[this.editingIndex] = this.internalSearch\n }\n\n this.setValue(value)\n this.editingIndex = -1\n this.internalSearch = null\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // or if the search is empty\n // do nothing\n if ((menuIndex < 0 && !this.searchIsDirty) ||\n !this.internalSearch) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.findIndex(item =>\n this.internalSearch === this.getText(item))\n\n // If the duplicate item is an object,\n // copy it, so that it can be added again later\n const itemToSelect = index > -1 && typeof this.selectedItems[index] === 'object'\n ? Object.assign({}, this.selectedItems[index])\n : this.internalSearch\n\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(itemToSelect)\n\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.vuetify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n VSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n clearableCallback () {\n this.editingIndex = -1\n\n VAutocomplete.options.methods.clearableCallback.call(this)\n },\n },\n})\n","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","// 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 // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\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 this.internalSearch !== ''\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.blur()\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 if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\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\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\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 if (!this.multiple && value === '') this.deleteCurrentItem()\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 if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\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 (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\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"],"sourceRoot":""}