{"version":3,"sources":["webpack:///../../../src/components/VSkeletonLoader/VSkeletonLoader.ts","webpack:///./src/components/department.vue","webpack:///src/components/department.vue","webpack:///./src/components/department.vue?14f8","webpack:///./src/components/department.vue?3d4d","webpack:///./src/components/department.vue?c0a6","webpack:///../../../src/components/VTextarea/VTextarea.ts"],"names":["extend","name","props","boilerplate","Boolean","loading","loadingText","type","String","default","tile","transition","types","Object","computed","this","isLoading","undefined","$vuetify","lang","t","role","$attrs","themeClasses","elevationClasses","$scopedSlots","actions","article","avatar","button","card","chip","heading","image","paragraph","sentences","table","text","methods","children","$createElement","staticClass","bone","length","split","generator","genStructure","Array","from","map","rootTypes","indexOf","mapBones","genBones","push","genBone","on","afterEnter","resetStyles","beforeEnter","onBeforeEnter","beforeLeave","onBeforeLeave","leaveCancelled","bones","replace","el","_initialStyle","display","style","setProperty","h","attrs","$listeners","class","classes","measurableStyles","genSkeleton","_vm","is_loading","_c","staticStyle","model","value","expression","callback","component","staticRenderFns","baseMixins","autoGrow","noResize","rowHeight","Number","validator","v","isNaN","parseFloat","rows","parseInt","noResizeHandle","options","call","watch","val","$nextTick","calculateInputHeight","$refs","input","removeProperty","setTimeout","height","scrollHeight","minHeight","Math","max","genInput","tag","data","e","onInput","isFocused","keyCode","stopPropagation","$emit"],"mappings":"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","file":"js/chunk-57bc96ae.0f0f0f62.js","sourcesContent":["// Styles\nimport './VSkeletonLoader.sass'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\nimport { PropValidator } from 'vue/types/options'\n\nexport interface HTMLSkeletonLoaderElement extends HTMLElement {\n _initialStyle?: {\n display: string | null\n transition: string\n }\n}\n\n/* @vue/component */\nexport default mixins(\n Elevatable,\n Measurable,\n Themeable,\n).extend({\n name: 'VSkeletonLoader',\n\n props: {\n boilerplate: Boolean,\n loading: Boolean,\n loadingText: {\n type: String,\n default: '$vuetify.loading',\n },\n tile: Boolean,\n transition: String,\n type: String,\n types: {\n type: Object,\n default: () => ({}),\n } as PropValidator>,\n },\n\n computed: {\n attrs (): object {\n if (!this.isLoading) return this.$attrs\n\n return {\n 'aria-busy': !this.boilerplate ? true : undefined,\n 'aria-live': !this.boilerplate ? 'polite' : undefined,\n 'aria-label': !this.boilerplate ? this.$vuetify.lang.t(this.loadingText) : undefined,\n role: !this.boilerplate ? 'alert' : undefined,\n ...this.$attrs,\n }\n },\n classes (): object {\n return {\n 'v-skeleton-loader--boilerplate': this.boilerplate,\n 'v-skeleton-loader--is-loading': this.isLoading,\n 'v-skeleton-loader--tile': this.tile,\n ...this.themeClasses,\n ...this.elevationClasses,\n }\n },\n isLoading (): boolean {\n return !('default' in this.$scopedSlots) || this.loading\n },\n rootTypes (): Record {\n return {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, card-heading',\n 'card-avatar': 'image, list-item-avatar',\n 'card-heading': 'heading',\n chip: 'chip',\n 'date-picker': 'list-item, card-heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n paragraph: 'text@3',\n sentences: 'text@2',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'heading, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'table-cell@6',\n 'table-cell': 'text',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n ...this.types,\n }\n },\n },\n\n methods: {\n genBone (text: string, children: VNode[]) {\n return this.$createElement('div', {\n staticClass: `v-skeleton-loader__${text} v-skeleton-loader__bone`,\n }, children)\n },\n genBones (bone: string): VNode[] {\n // e.g. 'text@3'\n const [type, length] = bone.split('@') as [string, number]\n const generator = () => this.genStructure(type)\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({ length }).map(generator)\n },\n // Fix type when this is merged\n // https://github.com/microsoft/TypeScript/pull/33050\n genStructure (type?: string): any {\n let children = []\n type = type || this.type || ''\n const bone = this.rootTypes[type] || ''\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.indexOf(',') > -1) return this.mapBones(type)\n // Array of values - e.g. 'paragraph@4'\n else if (type.indexOf('@') > -1) return this.genBones(type)\n // Array of values - e.g. 'card@2'\n else if (bone.indexOf(',') > -1) children = this.mapBones(bone)\n // Array of values - e.g. 'list-item@2'\n else if (bone.indexOf('@') > -1) children = this.genBones(bone)\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(this.genStructure(bone))\n\n return [this.genBone(type, children)]\n },\n genSkeleton () {\n const children = []\n\n if (!this.isLoading) children.push(getSlot(this))\n else children.push(this.genStructure())\n\n /* istanbul ignore else */\n if (!this.transition) return children\n\n /* istanbul ignore next */\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n // Only show transition when\n // content has been loaded\n on: {\n afterEnter: this.resetStyles,\n beforeEnter: this.onBeforeEnter,\n beforeLeave: this.onBeforeLeave,\n leaveCancelled: this.resetStyles,\n },\n }, children)\n },\n mapBones (bones: string) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(this.genStructure)\n },\n onBeforeEnter (el: HTMLSkeletonLoaderElement) {\n this.resetStyles(el)\n\n if (!this.isLoading) return\n\n el._initialStyle = {\n display: el.style.display,\n transition: el.style.transition,\n }\n\n el.style.setProperty('transition', 'none', 'important')\n },\n onBeforeLeave (el: HTMLSkeletonLoaderElement) {\n el.style.setProperty('display', 'none', 'important')\n },\n resetStyles (el: HTMLSkeletonLoaderElement) {\n if (!el._initialStyle) return\n\n el.style.display = el._initialStyle.display || ''\n el.style.transition = el._initialStyle.transition\n\n delete el._initialStyle\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-skeleton-loader',\n attrs: this.attrs,\n on: this.$listeners,\n class: this.classes,\n style: this.isLoading ? this.measurableStyles : undefined,\n }, [this.genSkeleton()])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"40rem\",\"persistent\":\"\",\"scrollable\":\"\"},model:{value:(_vm.visible),callback:function ($$v) {_vm.visible=$$v},expression:\"visible\"}},[(_vm.is_loading)?_c('v-card',[_c('v-skeleton-loader',{attrs:{\"type\":\"card, list-item@6\"}})],1):_vm._e(),[(_vm.item !== null)?_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary white--text\",\"flat\":\"\"}},[_c('sabira_icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"department\",\"strokewidth\":3,\"fill\":\"white\"}}),_c('v-toolbar-title',{staticClass:\"ml-1\"},[_vm._v(\"\\n Odjel\\n \")])],1),_c('v-card-text',{staticClass:\"pa-0 ma-0\",staticStyle:{\"height\":\"30rem\"}},[_c('div',{staticClass:\"master_grid\"},[_c('div',[_c('v-list',[_c('v-list-item',[_c('v-list-item-content',{staticClass:\"mb-0 pb-0\"},[_c('v-text-field',{attrs:{\"outlined\":\"\",\"label\":\"Naziv odjela\",\"required\":\"\",\"maxlength\":\"100\",\"counter\":\"\"},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}})],1)],1),_c('v-list-item',[_c('v-list-item-content',{staticClass:\"mt-0 pt-1\"},[_c('v-textarea',{attrs:{\"auto-grow\":\"\",\"clearable\":\"\",\"outlined\":\"\",\"label\":\"Dodatne informacije (opciono)\",\"maxlength\":\"255\",\"counter\":\"\"},model:{value:(_vm.item.description),callback:function ($$v) {_vm.$set(_vm.item, \"description\", $$v)},expression:\"item.description\"}})],1)],1)],1)],1)])]),_c('v-card-actions',{staticClass:\"background\"},[_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.close_dialog()}}},[_vm._v(\"Odustani\")]),_c('v-spacer'),_c('v-btn',{attrs:{\"loading\":_vm.is_btn_loading,\"text\":\"\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.save_department()}}},[_vm._v(\"Snimi\")])],1)],1):_vm._e()]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./department.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!./department.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./department.vue?vue&type=template&id=3700a494&scoped=true\"\nimport script from \"./department.vue?vue&type=script&lang=js\"\nexport * from \"./department.vue?vue&type=script&lang=js\"\nimport style0 from \"./department.vue?vue&type=style&index=0&id=3700a494&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 \"3700a494\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./department.vue?vue&type=style&index=0&id=3700a494&prod&scoped=true&lang=css\"","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n autoGrow (val: boolean) {\n this.$nextTick(() => {\n val\n ? this.calculateInputHeight()\n : this.$refs.input?.style.removeProperty('height')\n })\n },\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n"],"sourceRoot":""}