chunk-6709cd20.4910527d.js.map
17 KB
{"version":3,"sources":["webpack:///../../../src/components/VForm/VForm.ts","webpack:///./src/views/Feedback.vue?ed12","webpack:///./src/components/Feedback.vue?180e","webpack:///src/components/Feedback.vue","webpack:///./src/components/Feedback.vue?6d57","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///./src/components/Feedback.vue","webpack:///src/views/Feedback.vue","webpack:///./src/views/Feedback.vue?955a","webpack:///./src/views/Feedback.vue","webpack:///../../../src/components/VDivider/VDivider.ts"],"names":["name","inheritAttrs","props","lazyValidation","value","Boolean","data","inputs","watchers","errorBag","watch","handler","errors","Object","this","deep","immediate","methods","watchInput","watcher","input","val","_uid","valid","shouldValidate","validate","filter","reset","resetErrorBag","setTimeout","resetValidation","register","unregister","found","find","i","unwatch","render","h","staticClass","attrs","novalidate","attrs$","on","submit","e","$slots","_vm","_h","$createElement","_c","_self","staticRenderFns","_v","baseMixins","mixins","autoGrow","noResize","rowHeight","type","Number","default","validator","v","isNaN","parseFloat","rows","parseInt","computed","classes","VTextField","noResizeHandle","lazyValue","$nextTick","mounted","calculateInputHeight","$refs","height","minHeight","Math","genInput","onInput","onKeyDown","isFocused","component","VBtn","VCard","VDivider","VForm","VSpacer","VTextarea","VToolbar","VToolbarTitle","VApp","inset","vertical","$attrs","role","orientation","class","themeClasses","$listeners"],"mappings":"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","file":"js/chunk-6709cd20.4910527d.js","sourcesContent":["// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\n\ntype ErrorBag = Record<number, boolean>\ntype VInputInstance = InstanceType<typeof VInput>\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n inheritAttrs: false,\n\n props: {\n lazyValidation: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (h): VNode {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$,\n },\n on: {\n submit: (e: Event) => this.$emit('submit', e),\n },\n }, this.$slots.default)\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('feedback')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-toolbar-title',[_vm._v(\"피드백 \")]),_c('v-spacer')],1),_c('v-divider'),_c('v-form',[_c('v-textarea',{attrs:{\"name\":\"input-7-1\",\"filled\":\"\",\"label\":\"아쉬웠던 점을 말씀해주세요. 칭찬도 당연히 환영입니다!\",\"auto-grow\":\"\"}}),_c('v-btn',{attrs:{\"large\":\"\",\"color\":\"primary\"}},[_vm._v(\"SUBMIT\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"html\">\r\n <v-card>\r\n <v-toolbar flat>\r\n <v-toolbar-title>피드백\r\n </v-toolbar-title>\r\n <v-spacer></v-spacer>\r\n </v-toolbar>\r\n <v-divider></v-divider>\r\n <v-form>\r\n <v-textarea\r\n name=\"input-7-1\"\r\n filled\r\n label=\"아쉬웠던 점을 말씀해주세요. 칭찬도 당연히 환영입니다!\"\r\n auto-grow\r\n ></v-textarea>\r\n <v-btn large color=\"primary\">SUBMIT</v-btn>\r\n </v-form>\r\n\r\n\r\n </v-card>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data(){\r\n return{\r\n\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"css\" scoped>\r\n</style>\r\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/vuetify-loader/lib/loader.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Feedback.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/vuetify-loader/lib/loader.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Feedback.vue?vue&type=script&lang=js&\"","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins<options &\n InstanceType<typeof VTextField>\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","import { render, staticRenderFns } from \"./Feedback.vue?vue&type=template&id=51aa79f6&scoped=true&lang=html&\"\nimport script from \"./Feedback.vue?vue&type=script&lang=js&\"\nexport * from \"./Feedback.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 \"51aa79f6\",\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 { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VDivider,VForm,VSpacer,VTextarea,VToolbar,VToolbarTitle})\n","<template lang=\"html\">\r\n <v-app>\r\n <feedback></feedback>\r\n </v-app>\r\n</template>\r\n\r\n<script>\r\n import feedback from '@/components/Feedback.vue'\r\n export default {\r\n components:{\r\n feedback\r\n }\r\n }\r\n</script>\r\n\r\n<style lang=\"css\" scoped>\r\n</style>\r\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/vuetify-loader/lib/loader.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Feedback.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/vuetify-loader/lib/loader.js??ref--17-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Feedback.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Feedback.vue?vue&type=template&id=7c98d7b2&scoped=true&lang=html&\"\nimport script from \"./Feedback.vue?vue&type=script&lang=js&\"\nexport * from \"./Feedback.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 \"7c98d7b2\",\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 { VApp } from 'vuetify/lib/components/VApp';\ninstallComponents(component, {VApp})\n","// Styles\nimport './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'v-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): VNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'v-divider': true,\n 'v-divider--inset': this.inset,\n 'v-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n"],"sourceRoot":""}