{"version":3,"sources":["webpack:///../../../src/components/VIcon/VIcon.ts","webpack:///../../../src/mixins/registrable/index.ts","webpack:///../../../src/mixins/validatable/index.ts","webpack:///../../../src/components/VProgressCircular/VProgressCircular.ts","webpack:///../../../src/components/VForm/VForm.ts","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///../../../src/mixins/comparable/index.ts","webpack:///../../../src/components/VIcon/index.ts","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///../../../src/mixins/sizeable/index.ts","webpack:///../../../src/components/VSwitch/VSwitch.ts","webpack:///../../../src/components/VLabel/VLabel.ts","webpack:///../../../src/components/VLabel/index.ts","webpack:///../../../src/components/VMessages/VMessages.ts","webpack:///../../../src/components/VMessages/index.ts","webpack:///../../../src/components/VInput/VInput.ts","webpack:///../../../src/components/VInput/index.ts","webpack:///../../../src/directives/touch/index.ts","webpack:///./src/components/shared/core/image/Annotation/DownloadAnnotationOption.vue","webpack:///src/components/shared/core/image/Annotation/DownloadAnnotationOption.vue","webpack:///./src/components/shared/core/image/Annotation/DownloadAnnotationOption.vue?9476","webpack:///./src/components/shared/core/image/Annotation/DownloadAnnotationOption.vue?3899","webpack:///../../../src/mixins/selectable/index.ts"],"names":["SIZE_MAP","isFontAwesome5","iconType","some","val","includes","isSvgPath","icon","test","length","VIcon","mixins","BindsAttrs","Colorable","Sizeable","Themeable","extend","name","props","dense","Boolean","disabled","left","right","size","Number","String","tag","type","required","default","computed","medium","hasClickListener","this","listeners$","click","methods","getIcon","iconName","$slots","text","trim","remapInternalIcon","getSize","sizes","xSmall","small","large","xLarge","explicitSize","keys","find","key","convertToUnit","getDefaultData","staticClass","class","attrs","undefined","attrs$","on","getSvgWrapperData","fontSize","wrapperData","style","height","width","applyColors","data","themeClasses","setTextColor","color","renderFontIcon","h","newChildren","delimiterIndex","indexOf","isMaterialIcon","push","slice","renderSvgIcon","svgData","xmlns","viewBox","role","d","renderSvgIconComponent","component","nativeOn","render","Vue","$_wrapperFor","functional","children","domProps","textContent","innerHTML","generateWarning","child","parent","consoleWarn","inject","namespace","defaultImpl","register","unregister","provide","self","baseMixins","RegistrableInject","error","errorCount","errorMessages","Array","messages","readonly","rules","success","successMessages","validateOnBlur","value","errorBucket","hasColor","hasFocused","hasInput","isFocused","isResetting","lazyValue","valid","computedColor","isDisabled","isDark","appIsDark","hasError","internalErrorMessages","hasSuccess","internalSuccessMessages","externalError","hasMessages","validationTarget","hasState","shouldValidate","genInternalMessages","internalMessages","internalValue","get","set","$emit","_a","form","isInteractive","isReadonly","validations","validationState","watch","handler","newVal","oldVal","deepEqual","validate","deep","$nextTick","setTimeout","beforeMount","created","beforeDestroy","isArray","reset","resetValidation","force","index","rule","consoleError","directives","intersect","button","indeterminate","rotate","radius","isVisible","calculatedSize","circumference","Math","PI","classes","normalizedValue","parseFloat","strokeDashArray","round","strokeDashOffset","strokeWidth","viewBoxSize","styles","svgStyles","transform","genCircle","offset","$createElement","fill","cx","cy","r","genSvg","genInfo","getSlot","onObserve","entries","observer","isIntersecting","$listeners","RegistrableProvide","inheritAttrs","lazyValidation","inputs","watchers","errorBag","errors","Object","values","immediate","watchInput","input","watcher","$watch","$set","_uid","hasOwnProperty","filter","forEach","resetErrorBag","found","i","unwatch","$delete","novalidate","submit","e","ripple","genRipple","center","valueComparator","Function","VGrid","id","startsWith","join","Grid","fluid","mergeData","concat","Selectable","indeterminateIcon","offIcon","onIcon","inputIndeterminate","VInput","options","call","computedIcon","isActive","genCheckbox","title","checkboxAttrs","dark","light","genInput","toString","rippleState","genDefaultSlot","genLabel","sizeableClasses","Touch","inset","loading","flat","switchData","genSwitch","switchAttrs","onSwipeLeft","onSwipeRight","genProgress","VFabTransition","VProgressCircular","onChange","onKeydown","keyCode","keyCodes","absolute","focused","for","ctx","listeners","newData","functionalThemeClasses","position","ref","VLabel","genChildren","map","genMessage","message","VMessages","Validatable","appendIcon","backgroundColor","hideDetails","hideSpinButtons","hint","label","persistentHint","prependIcon","hasMouseDown","showDetails","isLabelActive","isDirty","computedId","hasDetails","messagesToDisplay","hasHint","hasLabel","$_modelEvent","validation","validationResult","beforeCreate","$options","model","event","genContent","genPrependSlot","genControl","genAppendSlot","genInputSlot","genMessages","genIcon","cb","extraData","eventName","kebabCase","hasListener","localeKey","prepend","prependInner","append","appendOuter","clear","$vuetify","lang","t","tabindex","preventDefault","stopPropagation","mouseup","setBackgroundColor","onClick","mousedown","onMouseDown","onMouseUp","scopedSlots","genSlot","location","slot","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","offsetX","offsetY","abs","up","down","touchstart","touch","changedTouches","clientX","clientY","start","assign","touchend","end","touchmove","touchmoveX","touchmoveY","move","createHandlers","inserted","el","binding","vnode","target","parentElement","passive","handlers","_touchHandlers","context","addEventListener","unbind","removeEventListener","_c","labelIncludeAnnotations","includeAnnotations","callback","annotationsBurn","_vm","maintainColor","includeRedaction","burnRedaction","staticRenderFns","annotateOption","createAnnotateOption","manageAnnotations","manageRedactions","_findAnnotateOption","findAnnotateOption","annotationsInclude","labelAnnotationsBurn","_findAnnotateOption2","_this$annotateOption$","_this$annotateOption","burnIntoImage","labelMaintainColor","_findAnnotateOption3","annotationsBurnMaintainColor","noteMaintainColor","_findAnnotateOption4","note","labelIncludeRedaction","_findAnnotateOption5","redactionsInclude","labelBurnRedaction","_findAnnotateOption6","redactionsBurn","enableIncludeAnnotations","enableAnnotationOption","enableMaintainAnnotationColor","_this$annotateOption$2","_this$annotateOption2","enableIncludeRedactions","enableBurnRedactions","annotateOptionToString","JSON","stringify","newValue","prevent","Rippleable","Comparable","prop","inputValue","falseValue","trueValue","multiple","isMultiple","item","checked","blur","onBlur","change","focus","onFocus","keydown"],"mappings":"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","file":"js/chunk-976ebe24.b6904bc7.js","sourcesContent":["import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n return {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__component': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h(component, data),\n ])\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n","import Vue from 'vue'\nimport { VueConstructor } from 'vue/types/vue'\nimport { consoleWarn } from '../../util/console'\n\nfunction generateWarning (child: string, parent: string) {\n return () => consoleWarn(`The ${child} component must be used inside a ${parent}`)\n}\n\nexport type Registrable = VueConstructor : {\n register (...props: any[]): void\n unregister (self: any): void\n }\n}>\n\nexport function inject<\n T extends string, C extends VueConstructor | null = null\n> (namespace: T, child?: string, parent?: string): Registrable {\n const defaultImpl = child && parent ? {\n register: generateWarning(child, parent),\n unregister: generateWarning(child, parent),\n } : null\n\n return Vue.extend({\n name: 'registrable-inject',\n\n inject: {\n [namespace]: {\n default: defaultImpl,\n },\n },\n })\n}\n\nexport function provide (namespace: string, self = false) {\n return Vue.extend({\n name: 'registrable-provide',\n\n provide (): object {\n return {\n [namespace]: self ? this : {\n register: (this as any).register,\n unregister: (this as any).unregister,\n },\n }\n },\n })\n}\n","// Mixins\nimport Colorable from '../colorable'\nimport Themeable from '../themeable'\nimport { inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { deepEqual } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { InputMessage, InputValidationRules } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'form', any>('form'),\n Themeable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'validatable',\n\n props: {\n disabled: {\n type: Boolean,\n default: null,\n },\n error: Boolean,\n errorCount: {\n type: [Number, String],\n default: 1,\n },\n errorMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n messages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n readonly: {\n type: Boolean,\n default: null,\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator,\n success: Boolean,\n successMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n validateOnBlur: Boolean,\n value: { required: false },\n },\n\n data () {\n return {\n errorBucket: [] as string[],\n hasColor: false,\n hasFocused: false,\n hasInput: false,\n isFocused: false,\n isResetting: false,\n lazyValue: this.value,\n valid: false,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.color) return this.color\n // It's assumed that if the input is on a\n // dark background, the user will want to\n // have a white color. If the entire app\n // is setup to be dark, then they will\n // like want to use their primary color\n if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n hasError (): boolean {\n return (\n this.internalErrorMessages.length > 0 ||\n this.errorBucket.length > 0 ||\n this.error\n )\n },\n // TODO: Add logic that allows the user to enable based\n // upon a good validation\n hasSuccess (): boolean {\n return (\n this.internalSuccessMessages.length > 0 ||\n this.success\n )\n },\n externalError (): boolean {\n return this.internalErrorMessages.length > 0 || this.error\n },\n hasMessages (): boolean {\n return this.validationTarget.length > 0\n },\n hasState (): boolean {\n if (this.isDisabled) return false\n\n return (\n this.hasSuccess ||\n (this.shouldValidate && this.hasError)\n )\n },\n internalErrorMessages (): InputValidationRules {\n return this.genInternalMessages(this.errorMessages)\n },\n internalMessages (): InputValidationRules {\n return this.genInternalMessages(this.messages)\n },\n internalSuccessMessages (): InputValidationRules {\n return this.genInternalMessages(this.successMessages)\n },\n internalValue: {\n get (): unknown {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n\n this.$emit('input', val)\n },\n },\n isDisabled (): boolean {\n return this.disabled ?? (\n !!this.form &&\n this.form.disabled\n )\n },\n isInteractive (): boolean {\n return !this.isDisabled && !this.isReadonly\n },\n isReadonly (): boolean {\n return this.readonly ?? (\n !!this.form &&\n this.form.readonly\n )\n },\n shouldValidate (): boolean {\n if (this.externalError) return true\n if (this.isResetting) return false\n\n return this.validateOnBlur\n ? this.hasFocused && !this.isFocused\n : (this.hasInput || this.hasFocused)\n },\n validations (): InputValidationRules {\n return this.validationTarget.slice(0, Number(this.errorCount))\n },\n validationState (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor) return this.computedColor\n return undefined\n },\n validationTarget (): InputValidationRules {\n if (this.internalErrorMessages.length > 0) {\n return this.internalErrorMessages\n } else if (this.successMessages && this.successMessages.length > 0) {\n return this.internalSuccessMessages\n } else if (this.messages && this.messages.length > 0) {\n return this.internalMessages\n } else if (this.shouldValidate) {\n return this.errorBucket\n } else return []\n },\n },\n\n watch: {\n rules: {\n handler (newVal, oldVal) {\n if (deepEqual(newVal, oldVal)) return\n this.validate()\n },\n deep: true,\n },\n internalValue () {\n // If it's the first time we're setting input,\n // mark it with hasInput\n this.hasInput = true\n this.validateOnBlur || this.$nextTick(this.validate)\n },\n isFocused (val) {\n // Should not check validation\n // if disabled\n if (\n !val &&\n !this.isDisabled\n ) {\n this.hasFocused = true\n this.validateOnBlur && this.$nextTick(this.validate)\n }\n },\n isResetting () {\n setTimeout(() => {\n this.hasInput = false\n this.hasFocused = false\n this.isResetting = false\n this.validate()\n }, 0)\n },\n hasError (val) {\n if (this.shouldValidate) {\n this.$emit('update:error', val)\n }\n },\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeMount () {\n this.validate()\n },\n\n created () {\n this.form && this.form.register(this)\n },\n\n beforeDestroy () {\n this.form && this.form.unregister(this)\n },\n\n methods: {\n genInternalMessages (messages: InputMessage | null): InputValidationRules {\n if (!messages) return []\n else if (Array.isArray(messages)) return messages\n else return [messages]\n },\n /** @public */\n reset () {\n this.isResetting = true\n this.internalValue = Array.isArray(this.internalValue)\n ? []\n : null\n },\n /** @public */\n resetValidation () {\n this.isResetting = true\n },\n /** @public */\n validate (force = false, value?: any): boolean {\n const errorBucket = []\n value = value || this.internalValue\n\n if (force) this.hasInput = this.hasFocused = true\n\n for (let index = 0; index < this.rules.length; index++) {\n const rule = this.rules[index]\n const valid = typeof rule === 'function' ? rule(value) : rule\n\n if (valid === false || typeof valid === 'string') {\n errorBucket.push(valid || '')\n } else if (typeof valid !== 'boolean') {\n consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this)\n }\n }\n\n this.errorBucket = errorBucket\n this.valid = errorBucket.length === 0\n\n return this.valid\n },\n },\n})\n","// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n name: 'v-progress-circular',\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n },\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n },\n }, children)\n },\n genInfo (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info',\n }, getSlot(this))\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: this.styles,\n on: this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ])\n },\n})\n","// 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'\nimport { getSlot } from '../../util/helpers'\n\ntype ErrorBag = Record\ntype VInputInstance = InstanceType\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 provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: 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 }, getSlot(this))\n },\n})\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","import Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { deepEqual } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'comparable',\n props: {\n valueComparator: {\n type: Function,\n default: deepEqual,\n } as PropValidator,\n },\n})\n","import VIcon from './VIcon'\n\nexport { VIcon }\nexport default VIcon\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 const { title, ...checkboxAttrs } = this.attrs$\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 ...checkboxAttrs,\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 Vue from 'vue'\n\nexport default Vue.extend({\n name: 'sizeable',\n\n props: {\n large: Boolean,\n small: Boolean,\n xLarge: Boolean,\n xSmall: Boolean,\n },\n\n computed: {\n medium (): boolean {\n return Boolean(\n !this.xSmall &&\n !this.small &&\n !this.large &&\n !this.xLarge\n )\n },\n sizeableClasses (): object {\n return {\n 'v-size--x-small': this.xSmall,\n 'v-size--small': this.small,\n 'v-size--default': this.medium,\n 'v-size--large': this.large,\n 'v-size--x-large': this.xLarge,\n }\n },\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { getSlot, keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\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.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : getSlot(this, 'progress') || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props, data } = ctx\n const newData = mergeData({\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }, data)\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, newData), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // .loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n attrs: { title: this.attrs$.title },\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n attrs: {\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n },\n on: !hasListener\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }, extraData)\n\n return this.$createElement('div', {\n staticClass: `v-input__icon`,\n class: type ? `v-input__icon--${kebabCase(type)}` : undefined,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props),\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.context!._uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.context!._uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n inserted,\n unbind,\n}\n\nexport default Touch\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-form',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.labelIncludeAnnotations,\"disabled\":!_vm.enableIncludeAnnotations},model:{value:(_vm.includeAnnotations),callback:function ($$v) {_vm.includeAnnotations=$$v},expression:\"includeAnnotations\"}}),_c('v-sheet',{staticClass:\"mt-0 ml-12\"},[_c('v-switch',{attrs:{\"label\":_vm.labelAnnotationsBurn},model:{value:(_vm.annotationsBurn),callback:function ($$v) {_vm.annotationsBurn=$$v},expression:\"annotationsBurn\"}}),_c('v-checkbox',{staticClass:\"mt-0 ml-8\",attrs:{\"label\":_vm.labelMaintainColor,\"messages\":_vm.noteMaintainColor,\"disabled\":!_vm.enableMaintainAnnotationColor},model:{value:(_vm.maintainColor),callback:function ($$v) {_vm.maintainColor=$$v},expression:\"maintainColor\"}})],1),_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":_vm.labelIncludeRedaction,\"disabled\":!_vm.enableIncludeRedactions},model:{value:(_vm.includeRedaction),callback:function ($$v) {_vm.includeRedaction=$$v},expression:\"includeRedaction\"}}),_c('v-checkbox',{staticClass:\"mt-0 ml-12\",attrs:{\"label\":_vm.labelBurnRedaction,\"disabled\":!_vm.enableBurnRedactions},model:{value:(_vm.burnRedaction),callback:function ($$v) {_vm.burnRedaction=$$v},expression:\"burnRedaction\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\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!./DownloadAnnotationOption.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!./DownloadAnnotationOption.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DownloadAnnotationOption.vue?vue&type=template&id=5e868253&scoped=true\"\nimport script from \"./DownloadAnnotationOption.vue?vue&type=script&lang=js\"\nexport * from \"./DownloadAnnotationOption.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 \"5e868253\",\n null\n \n)\n\nexport default component.exports","// 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 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 (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":""}