{"version":3,"sources":["webpack:///./src/views/forms/PatientFormView.vue?faa1","webpack:///src/views/forms/PatientFormView.vue","webpack:///./src/views/forms/PatientFormView.vue?d403","webpack:///./src/views/forms/PatientFormView.vue","webpack:///../../../src/components/VGrid/VSpacer.ts","webpack:///../../../src/components/VSkeletonLoader/VSkeletonLoader.ts","webpack:///../../../src/components/VLazy/VLazy.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","staticRenderFns","name","components","PatientForm","data","mounted","toggleBackgroundDark","methods","component","VCol","VContainer","VLazy","VRow","props","boilerplate","loading","tile","transition","type","types","default","computed","role","$attrs","classes","elevationClasses","isLoading","rootTypes","actions","article","avatar","button","card","chip","heading","image","paragraph","sentences","table","text","genBone","staticClass","genBones","bone","generator","Array","length","genStructure","children","mapBones","genSkeleton","on","afterEnter","beforeEnter","beforeLeave","leaveCancelled","resetStyles","bones","onBeforeEnter","el","display","onBeforeLeave","h","class","style","undefined","directives","intersect","options","root","rootMargin","threshold","tag","styles","measurableStyles","genContent","slot","onObserve","value","handler"],"mappings":"uHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,GAAG,cAAc,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,WAAa,uBAAuB,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,QAAS,MAAU,IAAI,IAAI,IAAI,IACtYC,EAAkB,G,wBCetB,GACEC,KAAM,oBACNC,WAAY,CACV,eAAgBC,EAApB,MAEEC,KALF,WAMI,MAAO,IAETC,QARF,WASIX,KAAKY,sBAAqB,IAE5BC,QAAS,OAAX,OAAW,CAAX,gCC3BwT,I,iFCOpTC,EAAY,eACd,EACAhB,EACAQ,GACA,EACA,KACA,WACA,MAIa,aAAAQ,EAAiB,QAQhC,IAAkBA,EAAW,CAACC,OAAA,KAAKC,aAAA,KAAWC,QAAA,KAAMC,OAAA,Q,6DC1BpD,0BAGe,sBAAuB,SAAU,MAAhD,a,4MCqBe,sBAAO,EAAD,YAAN,eAIN,CACPX,KADO,kBAGPY,MAAO,CACLC,YADK,QAELC,QAFK,QAGLC,KAHK,QAILC,WAJK,OAKLC,KALK,OAMLC,MAAO,CACLD,KADK,OAELE,QAAS,uBAIbC,SAAU,CACRtB,MADQ,WAEN,OAAKL,KAAL,UAEQA,KAAD,YAAP,GAAO,gBACL,aADyB,EAEzB,YAFyB,SAGzB4B,KAHyB,SAItB5B,KAAK6B,QANkB7B,KAAP,QASvB8B,QAXQ,WAYN,sCACE,iCAAkC9B,KAD7B,YAEL,gCAAiCA,KAF5B,UAGL,0BAA2BA,KAHtB,MAIFA,KAJE,cAKFA,KAAK+B,mBAGZC,UApBQ,WAqBN,QAAS,YAAahC,KAAf,eAAqCA,KAA5C,SAEFiC,UAvBQ,WAwBN,uBACEC,QADK,WAELC,QAFK,qBAGLC,OAHK,SAILC,OAJK,SAKLC,KALK,sBAML,cANK,0BAOL,eAPK,UAQLC,KARK,OASL,cATK,mFAUL,sBAVK,iBAWL,mBAXK,YAYLC,QAZK,UAaLC,MAbK,QAcL,YAdK,OAeL,mBAfK,eAgBL,qBAhBK,YAiBL,4BAjBK,oBAkBL,uBAlBK,YAmBL,8BAnBK,oBAoBLC,UApBK,SAqBLC,UArBK,SAsBLC,MAtBK,uDAuBL,gBAvBK,gBAwBL,cAxBK,YAyBL,cAzBK,sBA0BL,oBA1BK,qBA2BL,YA3BK,eA4BL,aA5BK,OA6BL,cA7BK,mBA8BLC,KA9BK,QA+BF7C,KAAKyB,SAKdZ,QAAS,CACPiC,QADO,SACA,KACL,OAAO9C,KAAKE,eAAe,MAAO,CAChC6C,YAAa,sBAAF,OAAwBF,EAAxB,6BADb,IAIFG,SANO,SAMC,GAAc,aAEGC,EAAA,MAAvB,KAFoB,sBAEd,EAFc,KAEd,EAFc,KAGdC,EAAY,kBAAM,eAHJ,IAOpB,OAAOC,MAAA,KAAW,CAAEC,WAAb,IAAP,IAIFC,aAjBO,SAiBK,GACV,IAAIC,EAAJ,GACA9B,EAAOA,GAAQxB,KAARwB,MAAP,GACA,IAAMyB,EAAOjD,KAAKiC,UAAUT,IAHH,GAOzB,GAAIA,IAAJ,OAEK,IAAIA,EAAA,cAAJ,EAA4B,OAAOxB,KAAKuD,SAAxC,GAEA,GAAI/B,EAAA,cAAJ,EAA4B,OAAOxB,KAAKgD,SAAxC,GAEIC,EAAA,cAAJ,EAA4BK,EAAWtD,KAAKuD,SAA5C,GAEIN,EAAA,cAAJ,EAA4BK,EAAWtD,KAAKgD,SAA5C,GAEIC,GAAMK,EAAA,KAActD,KAAKqD,aAAnB,IAEf,MAAO,CAACrD,KAAK8C,QAAQtB,EAArB,KAEFgC,YAtCO,WAuCL,IAAMF,EAAN,GAMA,OAJKtD,KAAL,UACKsD,EAAA,KAActD,KAAd,gBADgBsD,EAAA,KAAc,eAAnC,OAIKtD,KAAL,WAGOA,KAAKE,eAAe,aAAc,CACvCiB,MAAO,CACLZ,KAAMP,KAAKuB,YAIbkC,GAAI,CACFC,WAAY1D,KADV,YAEF2D,YAAa3D,KAFX,cAGF4D,YAAa5D,KAHX,cAIF6D,eAAgB7D,KAAK8D,cAVzB,GAH6BR,GAiB/BC,SA9DO,SA8DC,GAEN,OAAOQ,EAAA,iCAAwC/D,KAA/C,eAEFgE,cAlEO,SAkEM,GACXhE,KAAA,eAEKA,KAAL,YAEAiE,EAAA,cAAmB,CACjBC,QAASD,EAAA,MADQ,QAEjB1C,WAAY0C,EAAA,MAAS1C,YAGvB0C,EAAA,qDAEFE,cA9EO,SA8EM,GACXF,EAAA,iDAEFH,YAjFO,SAiFI,GACJG,EAAL,gBAEAA,EAAA,cAAmBA,EAAA,uBAAnB,GACAA,EAAA,iBAAsBA,EAAA,cAAtB,kBAEOA,EAAP,iBAIJnE,OAtKO,SAsKD,GACJ,OAAOsE,EAAE,MAAO,CACdrB,YADc,oBAEd1C,MAAOL,KAFO,MAGdyD,GAAIzD,KAHU,WAIdqE,MAAOrE,KAJO,QAKdsE,MAAOtE,KAAKgC,UAAYhC,KAAjB,sBAAyCuE,GAC/C,CAACvE,KANJ,oB,8GCpLW,sBAAO,EAAD,KAAN,eAGN,CACPO,KADO,QAGPiE,WAAY,CAAEC,UAAA,QAEdtD,MAAO,CACLuD,QAAS,CACPlD,KADO,OAIPE,QAAS,iBAAO,CACdiD,UADc,EAEdC,gBAFc,EAGdC,eAAWN,KAGfO,IAAK,CACHtD,KADG,OAEHE,QAAS,OAEXH,WAAY,CACVC,KADU,OAEVE,QAAS,oBAIbC,SAAU,CACRoD,OADQ,WAEN,yBACK/E,KAAKgF,oBAKdnE,QAAS,CACPoE,WADO,WAEL,IAAMC,EAAO,eAAb,MAGA,IAAKlF,KAAL,WAAsB,OAAOkF,EAE7B,IAAM5B,EAAN,GAIA,OAFItD,KAAJ,UAAmBsD,EAAA,QAEZtD,KAAKE,eAAe,aAAc,CACvCiB,MAAO,CAAEZ,KAAMP,KAAKuB,aADtB,IAIF4D,UAfO,SAeE,OAKHnF,KAAJ,WAEAA,KAAA,cAIJF,OA5DO,SA4DD,GACJ,OAAOsE,EAAEpE,KAAD,IAAW,CACjB+C,YADiB,SAEjB1C,MAAOL,KAFU,OAGjBwE,WAAY,CAAC,CACXjE,KADW,YAEX6E,MAAO,CACLC,QAASrF,KADJ,UAEL0E,QAAS1E,KAAK0E,WAGlBjB,GAAIzD,KAVa,WAWjBsE,MAAOtE,KAAK+E,QACX,CAAC/E,KAZJ","file":"js/patient-form.3fac0a28.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"justify\":\"center\",\"align\":\"center\"}},[_c('v-lazy',{attrs:{\"transition\":\"slide-y-transition\"}},[_c('patient-form',{attrs:{\"update\":false}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../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!./PatientFormView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../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!./PatientFormView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PatientFormView.vue?vue&type=template&id=14abc663&scoped=true&\"\nimport script from \"./PatientFormView.vue?vue&type=script&lang=js&\"\nexport * from \"./PatientFormView.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 \"14abc663\",\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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VLazy } from 'vuetify/lib/components/VLazy';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VLazy,VRow})\n","import './_grid.sass'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer')\n","// 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 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 !this.boilerplate ? {\n 'aria-busy': true,\n 'aria-live': 'polite',\n role: 'alert',\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","// Mixins\nimport Measurable from '../../mixins/measurable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Measurable,\n Toggleable\n).extend({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n tag: {\n type: String,\n default: 'div',\n },\n transition: {\n type: String,\n default: 'fade-transition',\n },\n },\n\n computed: {\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this)\n\n /* istanbul ignore if */\n if (!this.transition) return slot\n\n const children = []\n\n if (this.isActive) children.push(slot)\n\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, children)\n },\n onObserve (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n ) {\n if (this.isActive) return\n\n this.isActive = isIntersecting\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-lazy',\n attrs: this.$attrs,\n directives: [{\n name: 'intersect',\n value: {\n handler: this.onObserve,\n options: this.options,\n },\n }],\n on: this.$listeners,\n style: this.styles,\n }, [this.genContent()])\n },\n})\n"],"sourceRoot":""}