{"version":3,"sources":["webpack:///./node_modules/quasar/src/components/form/QForm.js","webpack:///./node_modules/quasar/src/components/input/use-mask.js","webpack:///./node_modules/quasar/src/composables/private/use-file-dom-props.js","webpack:///./node_modules/quasar/src/components/input/QInput.js"],"names":["createComponent","name","props","autofocus","Boolean","noErrorFocus","noResetFocus","greedy","onSubmit","Function","emits","setup","slots","emit","vm","getCurrentInstance","rootRef","ref","validateIndex","registeredComponents","validate","shouldFocus","promises","focus","index","emitEvent","res","i","comp","valid","then","push","err","Promise","resolve","length","all","errors","filter","r","console","error","resetValidation","forEach","submit","evt","stopAndPrevent","val","target","reset","nextTick","addFocusFn","value","querySelector","Array","prototype","find","call","querySelectorAll","el","tabIndex","preventScroll","provide","formKey","bindComponent","vmProxy","unbindComponent","indexOf","splice","shouldActivate","onDeactivated","onActivated","onMounted","Object","assign","proxy","getValidationComponents","h","class","onReset","hSlot","default","NAMED_MASKS","date","datetime","time","fulltime","phone","card","TOKENS","pattern","negate","S","N","A","transform","v","toLocaleUpperCase","a","toLocaleLowerCase","X","x","KEYS","keys","key","regex","RegExp","tokenRegexMask","join","escRegex","MARKER","String","fromCharCode","useMaskProps","mask","reverseFillMask","fillMask","unmaskedValue","emitValue","inputRef","maskMarked","maskReplaced","computedMask","computedUnmask","hasMask","innerValue","getInitialMaskedValue","getIsTypeText","autogrow","includes","type","updateMaskInternals","masked","maskValue","unmaskValue","modelValue","fillWithMask","getPaddedMaskMarked","size","slice","pad","localMaskMarked","padPos","localComputedMask","fillChar","fillCharEscaped","replace","unmask","extract","firstMatch","unmaskChar","negateChar","_","char1","esc","token","char2","c","unmaskMatcher","extractLast","extractMatcher","map","re","unmaskMatch","exec","extractMatch","extractMatcherLength","str","m","shift","split","updateMaskValue","rawVal","updateMaskInternalsFlag","inputType","inp","end","selectionEnd","endReverse","unmasked","preMasked","changed","document","activeElement","cursor","Math","max","min","setSelectionRange","moveCursor","rightReverse","right","moveCursorForPaste","start","watch","left","selection","noMarkBefore","limit","leftReverse","onMaskedKeydown","e","shouldIgnoreKey","selectionStart","keyCode","fn","preventDefault","shiftKey","maskValueReverse","valIndex","output","maskIndex","valChar","maskDef","test","firstTokenIndex","typeGuard","getFormDomProps","model","dt","window","DataTransfer","ClipboardEvent","clipboardData","from","file","items","add","files","computed","inheritAttrs","useFieldProps","useFormProps","required","shadowText","debounce","Number","inputClass","inputStyle","useFieldEmits","typedNumber","stopValueWatcher","emitTimer","emitValueFn","attrs","temp","emitCachedValue","NaN","nameProp","useFormInputNameAttr","useMask","formDomProps","useFileFormDomProps","hasValue","fieldValueIsFilled","onComposition","useKeyComposition","onInput","state","useFieldState","isTextarea","isTypeText","onEvents","splitAttrs","listeners","onPaste","onChange","onBlur","onFinishEditing","onFocus","stop","onCompositionstart","onCompositionupdate","onCompositionend","onKeydown","onAnimationend","adjustHeight","inputAttrs","tabindex","rows","label","attributes","id","targetUid","maxlength","disabled","disable","readonly","select","composing","stopWatcher","hasOwnProperty","clearTimeout","setTimeout","parentStyle","parentNode","style","marginBottom","scrollHeight","height","getCurValue","dense","onBeforeUnmount","fieldClass","hasShadow","floatingLabel","displayValue","getControl","getShadowControl","renderFn","useField","getNativeElement"],"mappings":"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","file":"js/chunk-41bc94c6.af1fdc8d.js","sourcesContent":["import { h, ref, onActivated, onDeactivated, onMounted, getCurrentInstance, nextTick, provide } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { addFocusFn } from '../../utils/private/focus-manager.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { formKey } from '../../utils/private/symbols.js'\n\nexport default createComponent({\n name: 'QForm',\n\n props: {\n autofocus: Boolean,\n noErrorFocus: Boolean,\n noResetFocus: Boolean,\n greedy: Boolean,\n\n onSubmit: Function\n },\n\n emits: [ 'reset', 'validation-success', 'validation-error' ],\n\n setup (props, { slots, emit }) {\n const vm = getCurrentInstance()\n const rootRef = ref(null)\n\n let validateIndex = 0\n const registeredComponents = []\n\n function validate (shouldFocus) {\n const promises = []\n const focus = typeof shouldFocus === 'boolean'\n ? shouldFocus\n : props.noErrorFocus !== true\n\n const index = ++validateIndex\n\n const emitEvent = (res, ref) => {\n emit('validation-' + (res === true ? 'success' : 'error'), ref)\n }\n\n for (let i = 0; i < registeredComponents.length; i++) {\n const comp = registeredComponents[ i ]\n const valid = comp.validate()\n\n if (typeof valid.then === 'function') {\n promises.push(\n valid.then(\n valid => ({ valid, comp }),\n err => ({ valid: false, comp, err })\n )\n )\n }\n else if (valid !== true) {\n if (props.greedy === false) {\n emitEvent(false, comp)\n\n if (focus === true && typeof comp.focus === 'function') {\n comp.focus()\n }\n\n return Promise.resolve(false)\n }\n\n promises.push({ valid: false, comp })\n }\n }\n\n if (promises.length === 0) {\n emitEvent(true)\n return Promise.resolve(true)\n }\n\n return Promise.all(promises).then(res => {\n const errors = res.filter(r => r.valid !== true)\n\n if (errors.length === 0) {\n index === validateIndex && emitEvent(true)\n return true\n }\n\n const { valid, comp, err } = errors[ 0 ]\n\n // if not outdated already\n if (index === validateIndex) {\n err !== void 0 && console.error(err)\n\n emitEvent(false, comp)\n\n if (\n focus === true\n && valid !== true\n && typeof comp.focus === 'function'\n ) {\n comp.focus()\n }\n }\n\n return false\n })\n }\n\n function resetValidation () {\n validateIndex++\n\n registeredComponents.forEach(comp => {\n typeof comp.resetValidation === 'function' && comp.resetValidation()\n })\n }\n\n function submit (evt) {\n evt !== void 0 && stopAndPrevent(evt)\n\n const index = validateIndex + 1\n\n validate().then(val => {\n // if not outdated && validation succeeded\n if (index === validateIndex && val === true) {\n if (props.onSubmit !== void 0) {\n emit('submit', evt)\n }\n else if (evt !== void 0 && evt.target !== void 0 && typeof evt.target.submit === 'function') {\n evt.target.submit()\n }\n }\n })\n }\n\n function reset (evt) {\n evt !== void 0 && stopAndPrevent(evt)\n\n emit('reset')\n\n nextTick(() => { // allow userland to reset values before\n resetValidation()\n if (props.autofocus === true && props.noResetFocus !== true) {\n focus()\n }\n })\n }\n\n function focus () {\n addFocusFn(() => {\n if (rootRef.value === null) { return }\n\n const target = rootRef.value.querySelector('[autofocus], [data-autofocus]')\n || Array.prototype.find.call(rootRef.value.querySelectorAll('[tabindex]'), el => el.tabIndex > -1)\n\n target !== null && target !== void 0 && target.focus({ preventScroll: true })\n })\n }\n\n provide(formKey, {\n bindComponent (vmProxy) {\n registeredComponents.push(vmProxy)\n },\n\n unbindComponent (vmProxy) {\n const index = registeredComponents.indexOf(vmProxy)\n if (index > -1) {\n registeredComponents.splice(index, 1)\n }\n }\n })\n\n let shouldActivate = false\n\n onDeactivated(() => {\n shouldActivate = true\n })\n\n onActivated(() => {\n shouldActivate === true && props.autofocus === true && focus()\n })\n\n onMounted(() => {\n props.autofocus === true && focus()\n })\n\n // expose public methods\n Object.assign(vm.proxy, {\n validate,\n resetValidation,\n submit,\n reset,\n focus,\n getValidationComponents: () => registeredComponents\n })\n\n return () => h('form', {\n class: 'q-form',\n ref: rootRef,\n onSubmit: submit,\n onReset: reset\n }, hSlot(slots.default))\n }\n})\n","import { ref, watch, nextTick } from 'vue'\n\nimport { shouldIgnoreKey } from '../../utils/private/key-composition.js'\n\n// leave NAMED_MASKS at top of file (code referenced from docs)\nconst NAMED_MASKS = {\n date: '####/##/##',\n datetime: '####/##/## ##:##',\n time: '##:##',\n fulltime: '##:##:##',\n phone: '(###) ### - ####',\n card: '#### #### #### ####'\n}\n\nconst TOKENS = {\n '#': { pattern: '[\\\\d]', negate: '[^\\\\d]' },\n\n S: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]' },\n N: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]' },\n\n A: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]', transform: v => v.toLocaleUpperCase() },\n a: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]', transform: v => v.toLocaleLowerCase() },\n\n X: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]', transform: v => v.toLocaleUpperCase() },\n x: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]', transform: v => v.toLocaleLowerCase() }\n}\n\nconst KEYS = Object.keys(TOKENS)\nKEYS.forEach(key => {\n TOKENS[ key ].regex = new RegExp(TOKENS[ key ].pattern)\n})\n\nconst\n tokenRegexMask = new RegExp('\\\\\\\\([^.*+?^${}()|([\\\\]])|([.*+?^${}()|[\\\\]])|([' + KEYS.join('') + '])|(.)', 'g'),\n escRegex = /[.*+?^${}()|[\\]\\\\]/g\n\nconst MARKER = String.fromCharCode(1)\n\nexport const useMaskProps = {\n mask: String,\n reverseFillMask: Boolean,\n fillMask: [ Boolean, String ],\n unmaskedValue: Boolean\n}\n\nexport default function (props, emit, emitValue, inputRef) {\n let maskMarked, maskReplaced, computedMask, computedUnmask\n\n const hasMask = ref(null)\n const innerValue = ref(getInitialMaskedValue())\n\n function getIsTypeText () {\n return props.autogrow === true\n || [ 'textarea', 'text', 'search', 'url', 'tel', 'password' ].includes(props.type)\n }\n\n watch(() => props.type + props.autogrow, updateMaskInternals)\n\n watch(() => props.mask, v => {\n if (v !== void 0) {\n updateMaskValue(innerValue.value, true)\n }\n else {\n const val = unmaskValue(innerValue.value)\n updateMaskInternals()\n props.modelValue !== val && emit('update:modelValue', val)\n }\n })\n\n watch(() => props.fillMask + props.reverseFillMask, () => {\n hasMask.value === true && updateMaskValue(innerValue.value, true)\n })\n\n watch(() => props.unmaskedValue, () => {\n hasMask.value === true && updateMaskValue(innerValue.value)\n })\n\n function getInitialMaskedValue () {\n updateMaskInternals()\n\n if (hasMask.value === true) {\n const masked = maskValue(unmaskValue(props.modelValue))\n\n return props.fillMask !== false\n ? fillWithMask(masked)\n : masked\n }\n\n return props.modelValue\n }\n\n function getPaddedMaskMarked (size) {\n if (size < maskMarked.length) {\n return maskMarked.slice(-size)\n }\n\n let pad = '', localMaskMarked = maskMarked\n const padPos = localMaskMarked.indexOf(MARKER)\n\n if (padPos > -1) {\n for (let i = size - localMaskMarked.length; i > 0; i--) {\n pad += MARKER\n }\n\n localMaskMarked = localMaskMarked.slice(0, padPos) + pad + localMaskMarked.slice(padPos)\n }\n\n return localMaskMarked\n }\n\n function updateMaskInternals () {\n hasMask.value = props.mask !== void 0\n && props.mask.length > 0\n && getIsTypeText()\n\n if (hasMask.value === false) {\n computedUnmask = void 0\n maskMarked = ''\n maskReplaced = ''\n return\n }\n\n const\n localComputedMask = NAMED_MASKS[ props.mask ] === void 0\n ? props.mask\n : NAMED_MASKS[ props.mask ],\n fillChar = typeof props.fillMask === 'string' && props.fillMask.length > 0\n ? props.fillMask.slice(0, 1)\n : '_',\n fillCharEscaped = fillChar.replace(escRegex, '\\\\$&'),\n unmask = [],\n extract = [],\n mask = []\n\n let\n firstMatch = props.reverseFillMask === true,\n unmaskChar = '',\n negateChar = ''\n\n localComputedMask.replace(tokenRegexMask, (_, char1, esc, token, char2) => {\n if (token !== void 0) {\n const c = TOKENS[ token ]\n mask.push(c)\n negateChar = c.negate\n if (firstMatch === true) {\n extract.push('(?:' + negateChar + '+)?(' + c.pattern + '+)?(?:' + negateChar + '+)?(' + c.pattern + '+)?')\n firstMatch = false\n }\n extract.push('(?:' + negateChar + '+)?(' + c.pattern + ')?')\n }\n else if (esc !== void 0) {\n unmaskChar = '\\\\' + (esc === '\\\\' ? '' : esc)\n mask.push(esc)\n unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')\n }\n else {\n const c = char1 !== void 0 ? char1 : char2\n unmaskChar = c === '\\\\' ? '\\\\\\\\\\\\\\\\' : c.replace(escRegex, '\\\\\\\\$&')\n mask.push(c)\n unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')\n }\n })\n\n const\n unmaskMatcher = new RegExp(\n '^'\n + unmask.join('')\n + '(' + (unmaskChar === '' ? '.' : '[^' + unmaskChar + ']') + '+)?'\n + '$'\n ),\n extractLast = extract.length - 1,\n extractMatcher = extract.map((re, index) => {\n if (index === 0 && props.reverseFillMask === true) {\n return new RegExp('^' + fillCharEscaped + '*' + re)\n }\n else if (index === extractLast) {\n return new RegExp(\n '^' + re\n + '(' + (negateChar === '' ? '.' : negateChar) + '+)?'\n + (props.reverseFillMask === true ? '$' : fillCharEscaped + '*')\n )\n }\n\n return new RegExp('^' + re)\n })\n\n computedMask = mask\n computedUnmask = val => {\n const unmaskMatch = unmaskMatcher.exec(val)\n if (unmaskMatch !== null) {\n val = unmaskMatch.slice(1).join('')\n }\n\n const\n extractMatch = [],\n extractMatcherLength = extractMatcher.length\n\n for (let i = 0, str = val; i < extractMatcherLength; i++) {\n const m = extractMatcher[ i ].exec(str)\n\n if (m === null) {\n break\n }\n\n str = str.slice(m.shift().length)\n extractMatch.push(...m)\n }\n if (extractMatch.length > 0) {\n return extractMatch.join('')\n }\n\n return val\n }\n maskMarked = mask.map(v => (typeof v === 'string' ? v : MARKER)).join('')\n maskReplaced = maskMarked.split(MARKER).join(fillChar)\n }\n\n function updateMaskValue (rawVal, updateMaskInternalsFlag, inputType) {\n const\n inp = inputRef.value,\n end = inp.selectionEnd,\n endReverse = inp.value.length - end,\n unmasked = unmaskValue(rawVal)\n\n // Update here so unmask uses the original fillChar\n updateMaskInternalsFlag === true && updateMaskInternals()\n\n const\n preMasked = maskValue(unmasked),\n masked = props.fillMask !== false\n ? fillWithMask(preMasked)\n : preMasked,\n changed = innerValue.value !== masked\n\n // We want to avoid \"flickering\" so we set value immediately\n inp.value !== masked && (inp.value = masked)\n\n changed === true && (innerValue.value = masked)\n\n document.activeElement === inp && nextTick(() => {\n if (masked === maskReplaced) {\n const cursor = props.reverseFillMask === true ? maskReplaced.length : 0\n inp.setSelectionRange(cursor, cursor, 'forward')\n\n return\n }\n\n if (inputType === 'insertFromPaste' && props.reverseFillMask !== true) {\n const cursor = end - 1\n moveCursor.right(inp, cursor, cursor)\n\n return\n }\n\n if ([ 'deleteContentBackward', 'deleteContentForward' ].indexOf(inputType) > -1) {\n const cursor = props.reverseFillMask === true\n ? (\n end === 0\n ? (masked.length > preMasked.length ? 1 : 0)\n : Math.max(0, masked.length - (masked === maskReplaced ? 0 : Math.min(preMasked.length, endReverse) + 1)) + 1\n )\n : end\n\n inp.setSelectionRange(cursor, cursor, 'forward')\n return\n }\n\n if (props.reverseFillMask === true) {\n if (changed === true) {\n const cursor = Math.max(0, masked.length - (masked === maskReplaced ? 0 : Math.min(preMasked.length, endReverse + 1)))\n\n if (cursor === 1 && end === 1) {\n inp.setSelectionRange(cursor, cursor, 'forward')\n }\n else {\n moveCursor.rightReverse(inp, cursor, cursor)\n }\n }\n else {\n const cursor = masked.length - endReverse\n inp.setSelectionRange(cursor, cursor, 'backward')\n }\n }\n else {\n if (changed === true) {\n const cursor = Math.max(0, maskMarked.indexOf(MARKER), Math.min(preMasked.length, end) - 1)\n moveCursor.right(inp, cursor, cursor)\n }\n else {\n const cursor = end - 1\n moveCursor.right(inp, cursor, cursor)\n }\n }\n })\n\n const val = props.unmaskedValue === true\n ? unmaskValue(masked)\n : masked\n\n String(props.modelValue) !== val && emitValue(val, true)\n }\n\n function moveCursorForPaste (inp, start, end) {\n const preMasked = maskValue(unmaskValue(inp.value))\n\n start = Math.max(0, maskMarked.indexOf(MARKER), Math.min(preMasked.length, start))\n\n inp.setSelectionRange(start, end, 'forward')\n }\n\n const moveCursor = {\n left (inp, start, end, selection) {\n const noMarkBefore = maskMarked.slice(start - 1).indexOf(MARKER) === -1\n let i = Math.max(0, start - 1)\n\n for (; i >= 0; i--) {\n if (maskMarked[ i ] === MARKER) {\n start = i\n noMarkBefore === true && start++\n break\n }\n }\n\n if (\n i < 0\n && maskMarked[ start ] !== void 0\n && maskMarked[ start ] !== MARKER\n ) {\n return moveCursor.right(inp, 0, 0)\n }\n\n start >= 0 && inp.setSelectionRange(\n start,\n selection === true ? end : start, 'backward'\n )\n },\n\n right (inp, start, end, selection) {\n const limit = inp.value.length\n let i = Math.min(limit, end + 1)\n\n for (; i <= limit; i++) {\n if (maskMarked[ i ] === MARKER) {\n end = i\n break\n }\n else if (maskMarked[ i - 1 ] === MARKER) {\n end = i\n }\n }\n\n if (\n i > limit\n && maskMarked[ end - 1 ] !== void 0\n && maskMarked[ end - 1 ] !== MARKER\n ) {\n return moveCursor.left(inp, limit, limit)\n }\n\n inp.setSelectionRange(selection ? start : end, end, 'forward')\n },\n\n leftReverse (inp, start, end, selection) {\n const\n localMaskMarked = getPaddedMaskMarked(inp.value.length)\n let i = Math.max(0, start - 1)\n\n for (; i >= 0; i--) {\n if (localMaskMarked[ i - 1 ] === MARKER) {\n start = i\n break\n }\n else if (localMaskMarked[ i ] === MARKER) {\n start = i\n if (i === 0) {\n break\n }\n }\n }\n\n if (\n i < 0\n && localMaskMarked[ start ] !== void 0\n && localMaskMarked[ start ] !== MARKER\n ) {\n return moveCursor.rightReverse(inp, 0, 0)\n }\n\n start >= 0 && inp.setSelectionRange(\n start,\n selection === true ? end : start, 'backward'\n )\n },\n\n rightReverse (inp, start, end, selection) {\n const\n limit = inp.value.length,\n localMaskMarked = getPaddedMaskMarked(limit),\n noMarkBefore = localMaskMarked.slice(0, end + 1).indexOf(MARKER) === -1\n let i = Math.min(limit, end + 1)\n\n for (; i <= limit; i++) {\n if (localMaskMarked[ i - 1 ] === MARKER) {\n end = i\n end > 0 && noMarkBefore === true && end--\n break\n }\n }\n\n if (\n i > limit\n && localMaskMarked[ end - 1 ] !== void 0\n && localMaskMarked[ end - 1 ] !== MARKER\n ) {\n return moveCursor.leftReverse(inp, limit, limit)\n }\n\n inp.setSelectionRange(selection === true ? start : end, end, 'forward')\n }\n }\n\n function onMaskedKeydown (e) {\n if (shouldIgnoreKey(e) === true) {\n return\n }\n\n const\n inp = inputRef.value,\n start = inp.selectionStart,\n end = inp.selectionEnd\n\n if (e.keyCode === 37 || e.keyCode === 39) { // Left / Right\n const fn = moveCursor[ (e.keyCode === 39 ? 'right' : 'left') + (props.reverseFillMask === true ? 'Reverse' : '') ]\n\n e.preventDefault()\n fn(inp, start, end, e.shiftKey)\n }\n else if (\n e.keyCode === 8 // Backspace\n && props.reverseFillMask !== true\n && start === end\n ) {\n moveCursor.left(inp, start, end, true)\n }\n else if (\n e.keyCode === 46 // Delete\n && props.reverseFillMask === true\n && start === end\n ) {\n moveCursor.rightReverse(inp, start, end, true)\n }\n }\n\n function maskValue (val) {\n if (val === void 0 || val === null || val === '') { return '' }\n\n if (props.reverseFillMask === true) {\n return maskValueReverse(val)\n }\n\n const mask = computedMask\n\n let valIndex = 0, output = ''\n\n for (let maskIndex = 0; maskIndex < mask.length; maskIndex++) {\n const\n valChar = val[ valIndex ],\n maskDef = mask[ maskIndex ]\n\n if (typeof maskDef === 'string') {\n output += maskDef\n valChar === maskDef && valIndex++\n }\n else if (valChar !== void 0 && maskDef.regex.test(valChar)) {\n output += maskDef.transform !== void 0\n ? maskDef.transform(valChar)\n : valChar\n valIndex++\n }\n else {\n return output\n }\n }\n\n return output\n }\n\n function maskValueReverse (val) {\n const\n mask = computedMask,\n firstTokenIndex = maskMarked.indexOf(MARKER)\n\n let valIndex = val.length - 1, output = ''\n\n for (let maskIndex = mask.length - 1; maskIndex >= 0 && valIndex > -1; maskIndex--) {\n const maskDef = mask[ maskIndex ]\n\n let valChar = val[ valIndex ]\n\n if (typeof maskDef === 'string') {\n output = maskDef + output\n valChar === maskDef && valIndex--\n }\n else if (valChar !== void 0 && maskDef.regex.test(valChar)) {\n do {\n output = (maskDef.transform !== void 0 ? maskDef.transform(valChar) : valChar) + output\n valIndex--\n valChar = val[ valIndex ]\n // eslint-disable-next-line no-unmodified-loop-condition\n } while (firstTokenIndex === maskIndex && valChar !== void 0 && maskDef.regex.test(valChar))\n }\n else {\n return output\n }\n }\n\n return output\n }\n\n function unmaskValue (val) {\n return typeof val !== 'string' || computedUnmask === void 0\n ? (typeof val === 'number' ? computedUnmask('' + val) : val)\n : computedUnmask(val)\n }\n\n function fillWithMask (val) {\n if (maskReplaced.length - val.length <= 0) {\n return val\n }\n\n return props.reverseFillMask === true && val.length > 0\n ? maskReplaced.slice(0, -val.length) + val\n : val + maskReplaced.slice(val.length)\n }\n\n return {\n innerValue,\n hasMask,\n moveCursorForPaste,\n updateMaskValue,\n onMaskedKeydown\n }\n}\n","import { computed } from 'vue'\n\nexport default function (props, typeGuard) {\n function getFormDomProps () {\n const model = props.modelValue\n\n try {\n const dt = 'DataTransfer' in window\n ? new DataTransfer()\n : ('ClipboardEvent' in window\n ? new ClipboardEvent('').clipboardData\n : void 0\n )\n\n if (Object(model) === model) {\n ('length' in model\n ? Array.from(model)\n : [ model ]\n ).forEach(file => {\n dt.items.add(file)\n })\n }\n\n return {\n files: dt.files\n }\n }\n catch (e) {\n return {\n files: void 0\n }\n }\n }\n\n return typeGuard === true\n ? computed(() => {\n if (props.type !== 'file') {\n return\n }\n\n return getFormDomProps()\n })\n : computed(getFormDomProps)\n}\n","import { h, ref, computed, watch, onBeforeUnmount, onMounted, nextTick, getCurrentInstance } from 'vue'\n\nimport useField, { useFieldState, useFieldProps, useFieldEmits, fieldValueIsFilled } from '../../composables/private/use-field.js'\nimport useMask, { useMaskProps } from './use-mask.js'\nimport { useFormProps, useFormInputNameAttr } from '../../composables/private/use-form.js'\nimport useFileFormDomProps from '../../composables/private/use-file-dom-props.js'\nimport useKeyComposition from '../../composables/private/use-key-composition.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { stop } from '../../utils/event.js'\nimport { addFocusFn } from '../../utils/private/focus-manager.js'\n\nexport default createComponent({\n name: 'QInput',\n\n inheritAttrs: false,\n\n props: {\n ...useFieldProps,\n ...useMaskProps,\n ...useFormProps,\n\n modelValue: { required: false },\n\n shadowText: String,\n\n type: {\n type: String,\n default: 'text'\n },\n\n debounce: [ String, Number ],\n\n autogrow: Boolean, // makes a textarea\n\n inputClass: [ Array, String, Object ],\n inputStyle: [ Array, String, Object ]\n },\n\n emits: [\n ...useFieldEmits,\n 'paste', 'change'\n ],\n\n setup (props, { emit, attrs }) {\n const temp = {}\n let emitCachedValue = NaN, typedNumber, stopValueWatcher, emitTimer, emitValueFn\n\n const inputRef = ref(null)\n const nameProp = useFormInputNameAttr(props)\n\n const {\n innerValue,\n hasMask,\n moveCursorForPaste,\n updateMaskValue,\n onMaskedKeydown\n } = useMask(props, emit, emitValue, inputRef)\n\n const formDomProps = useFileFormDomProps(props, /* type guard */ true)\n const hasValue = computed(() => fieldValueIsFilled(innerValue.value))\n\n const onComposition = useKeyComposition(onInput)\n\n const state = useFieldState()\n\n const isTextarea = computed(() =>\n props.type === 'textarea' || props.autogrow === true\n )\n\n const isTypeText = computed(() =>\n isTextarea.value === true\n || [ 'text', 'search', 'url', 'tel', 'password' ].includes(props.type)\n )\n\n const onEvents = computed(() => {\n const evt = {\n ...state.splitAttrs.listeners.value,\n onInput,\n onPaste,\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n onChange,\n onBlur: onFinishEditing,\n onFocus: stop\n }\n\n evt.onCompositionstart = evt.onCompositionupdate = evt.onCompositionend = onComposition\n\n if (hasMask.value === true) {\n evt.onKeydown = onMaskedKeydown\n }\n\n if (props.autogrow === true) {\n evt.onAnimationend = adjustHeight\n }\n\n return evt\n })\n\n const inputAttrs = computed(() => {\n const attrs = {\n tabindex: 0,\n 'data-autofocus': props.autofocus === true || void 0,\n rows: props.type === 'textarea' ? 6 : void 0,\n 'aria-label': props.label,\n name: nameProp.value,\n ...state.splitAttrs.attributes.value,\n id: state.targetUid.value,\n maxlength: props.maxlength,\n disabled: props.disable === true,\n readonly: props.readonly === true\n }\n\n if (isTextarea.value === false) {\n attrs.type = props.type\n }\n\n if (props.autogrow === true) {\n attrs.rows = 1\n }\n\n return attrs\n })\n\n // some browsers lose the native input value\n // so we need to reattach it dynamically\n // (like type=\"password\" <-> type=\"text\"; see #12078)\n watch(() => props.type, () => {\n if (inputRef.value) {\n inputRef.value.value = props.modelValue\n }\n })\n\n watch(() => props.modelValue, v => {\n if (hasMask.value === true) {\n if (stopValueWatcher === true) {\n stopValueWatcher = false\n return\n }\n\n updateMaskValue(v)\n }\n else if (innerValue.value !== v) {\n innerValue.value = v\n\n if (\n props.type === 'number'\n && temp.hasOwnProperty('value') === true\n ) {\n if (typedNumber === true) {\n typedNumber = false\n }\n else {\n delete temp.value\n }\n }\n }\n\n // textarea only\n props.autogrow === true && nextTick(adjustHeight)\n })\n\n watch(() => props.autogrow, val => {\n // textarea only\n if (val === true) {\n nextTick(adjustHeight)\n }\n // if it has a number of rows set respect it\n else if (inputRef.value !== null && attrs.rows > 0) {\n inputRef.value.style.height = 'auto'\n }\n })\n\n watch(() => props.dense, () => {\n props.autogrow === true && nextTick(adjustHeight)\n })\n\n function focus () {\n addFocusFn(() => {\n const el = document.activeElement\n if (\n inputRef.value !== null\n && inputRef.value !== el\n && (el === null || el.id !== state.targetUid.value)\n ) {\n inputRef.value.focus({ preventScroll: true })\n }\n })\n }\n\n function select () {\n inputRef.value !== null && inputRef.value.select()\n }\n\n function onPaste (e) {\n if (hasMask.value === true && props.reverseFillMask !== true) {\n const inp = e.target\n moveCursorForPaste(inp, inp.selectionStart, inp.selectionEnd)\n }\n\n emit('paste', e)\n }\n\n function onInput (e) {\n if (!e || !e.target || e.target.composing === true) {\n return\n }\n\n if (props.type === 'file') {\n emit('update:modelValue', e.target.files)\n return\n }\n\n const val = e.target.value\n\n if (hasMask.value === true) {\n updateMaskValue(val, false, e.inputType)\n }\n else {\n emitValue(val)\n\n if (isTypeText.value === true && e.target === document.activeElement) {\n const { selectionStart, selectionEnd } = e.target\n\n if (selectionStart !== void 0 && selectionEnd !== void 0) {\n nextTick(() => {\n if (e.target === document.activeElement && val.indexOf(e.target.value) === 0) {\n e.target.setSelectionRange(selectionStart, selectionEnd)\n }\n })\n }\n }\n }\n\n // we need to trigger it immediately too,\n // to avoid \"flickering\"\n props.autogrow === true && adjustHeight()\n }\n\n function emitValue (val, stopWatcher) {\n emitValueFn = () => {\n if (\n props.type !== 'number'\n && temp.hasOwnProperty('value') === true\n ) {\n delete temp.value\n }\n\n if (props.modelValue !== val && emitCachedValue !== val) {\n stopWatcher === true && (stopValueWatcher = true)\n emit('update:modelValue', val)\n\n nextTick(() => {\n emitCachedValue === val && (emitCachedValue = NaN)\n })\n }\n\n emitValueFn = void 0\n }\n\n if (props.type === 'number') {\n typedNumber = true\n temp.value = val\n }\n\n if (props.debounce !== void 0) {\n clearTimeout(emitTimer)\n temp.value = val\n emitTimer = setTimeout(emitValueFn, props.debounce)\n }\n else {\n emitValueFn()\n }\n }\n\n // textarea only\n function adjustHeight () {\n const inp = inputRef.value\n if (inp !== null) {\n const parentStyle = inp.parentNode.style\n\n // reset height of textarea to a small size to detect the real height\n // but keep the total control size the same\n parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px'\n inp.style.height = '1px'\n\n inp.style.height = inp.scrollHeight + 'px'\n parentStyle.marginBottom = ''\n }\n }\n\n function onChange (e) {\n onComposition(e)\n\n clearTimeout(emitTimer)\n emitValueFn !== void 0 && emitValueFn()\n\n emit('change', e.target.value)\n }\n\n function onFinishEditing (e) {\n e !== void 0 && stop(e)\n\n clearTimeout(emitTimer)\n emitValueFn !== void 0 && emitValueFn()\n\n typedNumber = false\n stopValueWatcher = false\n delete temp.value\n\n // we need to use setTimeout instead of this.$nextTick\n // to avoid a bug where focusout is not emitted for type date/time/week/...\n props.type !== 'file' && setTimeout(() => {\n if (inputRef.value !== null) {\n inputRef.value.value = innerValue.value !== void 0 ? innerValue.value : ''\n }\n })\n }\n\n function getCurValue () {\n return temp.hasOwnProperty('value') === true\n ? temp.value\n : (innerValue.value !== void 0 ? innerValue.value : '')\n }\n\n onBeforeUnmount(() => {\n onFinishEditing()\n })\n\n onMounted(() => {\n // textarea only\n props.autogrow === true && adjustHeight()\n })\n\n Object.assign(state, {\n innerValue,\n\n fieldClass: computed(() =>\n `q-${ isTextarea.value === true ? 'textarea' : 'input' }`\n + (props.autogrow === true ? ' q-textarea--autogrow' : '')\n ),\n\n hasShadow: computed(() =>\n props.type !== 'file'\n && typeof props.shadowText === 'string'\n && props.shadowText.length > 0\n ),\n\n inputRef,\n\n emitValue,\n\n hasValue,\n\n floatingLabel: computed(() =>\n hasValue.value === true\n || fieldValueIsFilled(props.displayValue)\n ),\n\n getControl: () => {\n return h(isTextarea.value === true ? 'textarea' : 'input', {\n ref: inputRef,\n class: [\n 'q-field__native q-placeholder',\n props.inputClass\n ],\n style: props.inputStyle,\n ...inputAttrs.value,\n ...onEvents.value,\n ...(\n props.type !== 'file'\n ? { value: getCurValue() }\n : formDomProps.value\n )\n })\n },\n\n getShadowControl: () => {\n return h('div', {\n class: 'q-field__native q-field__shadow absolute-bottom no-pointer-events'\n + (isTextarea.value === true ? '' : ' text-no-wrap')\n }, [\n h('span', { class: 'invisible' }, getCurValue()),\n h('span', props.shadowText)\n ])\n }\n })\n\n const renderFn = useField(state)\n\n // expose public methods\n const vm = getCurrentInstance()\n Object.assign(vm.proxy, {\n focus,\n select,\n getNativeElement: () => inputRef.value\n })\n\n return renderFn\n }\n})\n"],"sourceRoot":""}