{"version":3,"file":"input-field.umd.cjs","sources":["../src/InputField.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { ActivityIndicator } from '@vue-interface/activity-indicator';\nimport { FormControl } from '@vue-interface/form-control';\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n    name: 'InputField',\n    components: {\n        ActivityIndicator\n    },\n    extends: FormControl\n});\n</script>\n\n<template>\n    <div :class=\"formGroupClasses\">\n        <slot name=\"label\">\n            <label\n                v-if=\"label\"\n                ref=\"label\"\n                :class=\"labelClass\"\n                :for=\"id\">\n                {{ label }}\n            </label>\n        </slot>\n        \n        <div class=\"form-group-inner\">\n            <slot\n                name=\"control\"\n                v-bind=\"{ bindEvents, controlAttributes }\">\n                <div\n                    v-if=\"$slots.icon\"\n                    class=\"form-group-inner-icon\"\n                    @click=\"focus\">\n                    <slot name=\"icon\" />\n                </div>\n                <input\n                    ref=\"field\"\n                    v-model=\"model\"\n                    v-bind-events\n                    v-bind=\"controlAttributes\">\n            </slot>\n\n            <slot name=\"activity\">\n                <Transition name=\"input-field-fade\">\n                    <ActivityIndicator\n                        v-if=\"activity\"\n                        key=\"activity\"\n                        ref=\"activity\"\n                        :type=\"indicator\"\n                        :size=\"indicatorSize || size\" />\n                </Transition>\n            </slot>\n        </div>\n\n        <slot\n            name=\"errors\"\n            v-bind=\"{ error, errors, id: $attrs.id, name: $attrs.name }\">        \n            <FormControlErrors\n                v-if=\"!!(error || errors)\"\n                :id=\"$attrs.id\"\n                v-slot=\"{ error }\"\n                :name=\"$attrs.name\"\n                :error=\"error\"\n                :errors=\"errors\">\n                <div\n                    invalid\n                    class=\"invalid-feedback\">\n                    {{ error }}<br>\n                </div>\n            </FormControlErrors>\n        </slot>\n        \n        <slot\n            name=\"feedback\"\n            v-bind=\"{ feedback }\">\n            <FormControlFeedback\n                v-slot=\"{ feedback }\"\n                :feedback=\"feedback\">\n                <div\n                    valid\n                    class=\"valid-feedback\">\n                    {{ feedback }}\n                </div>\n            </FormControlFeedback>\n        </slot>\n\n        <slot name=\"help\">\n            <small\n                v-if=\"helpText\"\n                ref=\"help\">\n                {{ helpText }}\n            </small>\n        </slot>\n    </div>\n</template>\n\n<style>\n.input-field,\n.input-field .form-group-inner {\n    position: relative;\n    transition: all .25s ease-in-out;\n}\n\n.input-field .activity-indicator {\n    position: absolute;\n    right: 0;\n    top: 50%;\n    transform: translate(-1rem, -50%);\n    transition: all .15s ease-in;\n}\n\n.input-field .activity-indicator-xs {\n    font-size: .5em;\n}\n\n.input-field.has-activity .form-control-xs {\n    padding-right: 3.75em;\n}\n\n.input-field .activity-indicator-sm {\n    font-size: .5em;\n}\n\n.input-field.has-activity .form-control-sm {\n    padding-right: 3em;\n}\n\n.input-field .activity-indicator-md {\n    font-size: .666em;\n}\n\n.input-field.has-activity .form-control-md {\n    padding-right: 3em;\n}\n\n.input-field .activity-indicator-lg {\n    font-size: .75em;\n}\n\n.input-field.has-activity .form-control-lg {\n    padding-right: 3em;\n}\n\n.input-field .activity-indicator-xl {\n    font-size: 1em;\n}\n\n.input-field.has-activity .activity-indicator-xl ~ .form-control-xl {\n    padding-right: 3.75em;\n}\n\n.input-field .activity-indicator {\n    opacity: 1;\n}\n\n.input-field .input-field-fade-enter,\n.input-field .input-field-fade-leave-to {\n    opacity: 0;\n}\n\n.input-field.is-valid .valid-feedback,\n.input-field.is-invalid .invalid-feedback {\n    display: flex;\n}\n\n.input-field .form-control-icon {\n    padding-left: 2em;\n}\n\n.input-field .form-group-inner-icon {\n    position: absolute;\n    top: 50%;\n    left: .5em;\n    width: 1em;\n    font-size: 1.25em;\n    transform: translateY(-50%);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n.input-field-sm .form-group-inner-icon {\n    font-size: 1em;\n}\n\n.input-field-lg .form-group-inner-icon {\n    left: .4em;\n    font-size: 1.75em;\n}\n</style>\n"],"names":["_sfc_main","defineComponent","ActivityIndicator","FormControl","_hoisted_2","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_resolveDirective","_normalizeClass","_ctx","_openBlock","_createElementBlock","_toDisplayString","_hoisted_1","_createCommentVNode","_renderSlot","_normalizeProps","_guardReactiveProps","_cache","args","_withDirectives","_mergeProps","$event","_createVNode","_Transition","_withCtx","_createBlock","_component_ActivityIndicator","_component_FormControlErrors","_createTextVNode","error","_component_FormControlFeedback","feedback"],"mappings":"mdAKA,MAAAA,EAAeC,kBAAgB,CAC3B,KAAM,aACN,WAAY,CAAA,kBACRC,EAAA,iBACJ,EACA,QAASC,EAAA,WACb,CAAC,sFAuDmBC,EAAO,CAAA,MAAA,oBACPC,EAAM,CAAA,QAAA,6BAaNC,EAAKC,EAAA,mBAAA,KAAA,KAAA,KAAA,EAAA,EACLC,EAAM,CAAA,MAAA,2LAlEtBC,mBA+EM,aAAA,mDA9EF,MAQOC,EAAAA,eAAAC,EAAA,gBAAA,CAAA,EAAA,uBAPH,QAMQ,CAAA,EAAA,IAAA,CAAAA,EAAA,OAAAC,EAAAA,YAJOC,EAAAA,mBAAA,QAAA,CACV,IAAK,EACL,IAAK,QAAA,MAAAH,EAAAA,eACHC,EAAK,UAAA,EAAA,IAAAA,EAAA,EAIhB,EAAAG,EAAA,gBAAAH,EAAA,KAAA,EAAA,GAAAI,CAAA,GAAAC,EAAAA,mBA2BM,GA3BN,EAAA,CAAA,CAAA,uBAKyB,MAAIZ,EAAA,CAAAa,EAAA,WAAAN,EAAA,OADrB,UAKMO,EAAA,eAAAC,EAAA,mBAAA,CAAA,WAAAR,EAAA,WAAA,kBAAAA,EAAA,iBAAA,CAAA,CAAA,EAAA,IAAA,CAAAA,EAAA,OAAA,MAAAC,EAAA,UAAA,EAH2BC,EAAAA,mBAAA,MAAA,CAC5B,IAAA,EAAA,MAAA,wBACD,QAAoBO,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,IAAAC,IAAAV,EAAA,OAAAA,EAAA,MAAA,GAAAU,CAAA,EAAA,EAAA,kCAGpBL,EAAAA,mBAAW,GAAA,EAAA,EAAAM,iBAAAf,EAAAA,mBAAA,QAAAgB,aAAA,CAGH,IAAA,QAAA,sBAFCH,EAAK,CAAA,IAAAA,EAAA,CAAA,EAAAI,GAAAb,EAAA,MAAAa,EAAA,EAAAb,EAAA,iBAAA,EAAA,KAAA,EAAA,EAAA,8BAKtB,CAAA,CAAA,CAAA,EAO4CM,EAAAA,WAAAN,EAAA,OAAA,WAAA,CAAA,EAAA,IAAA,CAAAc,EAAAA,YAJ1BC,EAAQ,WAAA,CAAA,KAAA,kBAAA,EAAA,CADlB,QAAAC,EAAA,QAAA,IAAA,CAAAhB,EAEI,wBACciB,EAAAA,YAAAC,EAAA,CACb,IAAI,WACJ,IAAI,WAAA,KAAAlB,EAAA,oGAKrB,CAAA,CAAA,CAAA,wBAGI,SAYoBO,EAAA,eAAAC,qBAAA,CAAA,MAAAR,EAAA,MAAA,OAAAA,EAAA,OAAA,GAAAA,EAAA,OAAA,GAAA,KAAAA,EAAA,OAAA,KAAA,CAAA,EAAA,IAAA,CAAAA,EAAA,OAAAA,EAAA,QAAAC,EAAA,UAAA,EAVFgB,EAAA,YAAAE,EAAA,CAEb,IAAI,EACJ,GAAOnB,EAAA,OAAA,GACP,KAAMA,EAAE,OAAA,KAAA,MAAAA,EAAA,wDAIUJ,EAAA,mBAAA,MAAAF,EAAA,CAAA0B,EAAAA,gBAAAjB,EAAA,gBAAAkB,CAAA,EAAA,CAAA,gDAK3BhB,EAAAA,mBAYO,GAAA,EAAA,CAAA,CAAA,wBARW,WAAQE,EAAAA,eAAAC,EAAAA,mBAAA,CAAA,SAAAR,EAAA,QAAA,CAAA,CAAA,EAAA,IAAA,CAElBc,EAAAA,YAAAQ,EAIM,YADC,QAAQ,EAAA,CAAA,QAAAN,EAAA,QAAA,CAAA,CAAA,SAAAO,KAAA,6DAWhB,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,wBALH,OAIQ,CAAA,EAAA,IAAA,CAAAvB,EAAA,UAAAC,EAAAA,YAFMC,EAAAA,mBAAA,QAAA,CAAA,IAAA"}