@vue-interface/textarea-field
Version:
A Vue textarea field component.
1 lines • 7.89 kB
Source Map (JSON)
{"version":3,"file":"textarea-field.umd.cjs","sources":["../src/TextareaField.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { ActivityIndicator } from '@vue-interface/activity-indicator';\nimport { Autogrow } from '@vue-interface/autogrow';\nimport { FormControl } from '@vue-interface/form-control';\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n\n name: 'TextareaField',\n\n directives: {\n Autogrow\n },\n\n components: {\n ActivityIndicator\n },\n\n extends: FormControl,\n\n props: {\n \n /**\n * The autogrow attribute\n *\n * @property Boolean\n */\n autogrow: {\n type: [Number, String, Boolean],\n default: false\n }\n\n }\n\n});\n</script>\n\n<template>\n <div :class=\"formGroupClasses\">\n <slot name=\"label\">\n <label\n v-if=\"label\"\n ref=\"label\"\n :for=\"id\"\n :class=\"labelClass\">\n {{ label }}\n </label>\n </slot>\n\n <div class=\"form-group-inner\">\n <slot\n name=\"control\"\n :bind-events=\"bindEvents\"\n :control-attributes=\"controlAttributes\"\n :focus=\"focus\">\n <div\n v-if=\"$slots.icon\"\n class=\"form-group-inner-icon\"\n @click=\"focus\">\n <slot name=\"icon\" />\n </div>\n <textarea\n ref=\"field\"\n v-model=\"model\"\n v-autogrow=\"autogrow\"\n v-bind-events\n v-bind=\"controlAttributes\" />\n </slot>\n\n <slot name=\"activity\">\n <Transition name=\"textarea-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.textarea-field,\n.textarea-field .form-group-inner {\n position: relative;\n}\n\n.textarea-field .activity-indicator {\n position: absolute;\n right: 1rem;\n transition: all .25s ease-in;\n}\n\n.textarea-field .activity-indicator-xs {\n font-size: .5em;\n top: .666rem;\n}\n\n.textarea-field.has-activity .form-control-xs {\n padding-right: 3.75em;\n}\n\n.textarea-field .activity-indicator-sm {\n font-size: .5em;\n top: .666rem;\n}\n\n.textarea-field.has-activity .form-control-sm {\n padding-right: 3.75em;\n}\n\n.textarea-field .activity-indicator-md {\n font-size: .666em;\n top: .875rem;\n}\n\n.textarea-field.has-activity .form-control-md {\n padding-right: 3em;\n}\n\n.textarea-field .activity-indicator-lg {\n font-size: .75em;\n top: 1.15rem;\n}\n\n.textarea-field.has-activity .form-control-lg {\n padding-right: 3em;\n}\n\n.textarea-field .activity-indicator-xl {\n font-size: 1em;\n top: 1.25rem;\n}\n\n.textarea-field.has-activity .form-control {\n padding-right: 3em;\n}\n\n.textarea-field .activity-indicator {\n opacity: 1;\n}\n\n.textarea-field .textarea-field-fade-enter,\n.textarea-field .textarea-field-fade-leave-to {\n opacity: 0;\n}\n\n\n.textarea-field.is-valid .valid-feedback,\n.textarea-field.is-invalid .invalid-feedback {\n display: flex;\n}\n\n.textarea-field .form-control-icon {\n padding-left: 2em;\n}\n\n.textarea-field .form-group-inner-icon {\n position: absolute;\n top: 25%;\n left: .3em;\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.textarea-field-sm .form-group-inner-icon {\n font-size: 1em;\n}\n\n.textarea-field-lg .form-group-inner-icon {\n font-size: 1.75em;\n}\n</style>"],"names":["_sfc_main","defineComponent","Autogrow","ActivityIndicator","FormControl","_hoisted_2","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_resolveDirective","_normalizeClass","_ctx","_openBlock","_createElementBlock","_toDisplayString","_hoisted_1","_createCommentVNode","_renderSlot","_cache","args","_withDirectives","_mergeProps","$event","_vModelText","_createVNode","_Transition","_withCtx","_createBlock","_component_ActivityIndicator","_normalizeProps","_guardReactiveProps","_component_FormControlErrors","_createTextVNode","error","_component_FormControlFeedback","feedback"],"mappings":"4iBAMA,MAAAA,EAAeC,kBAAgB,CAE3B,KAAM,gBAEN,WAAY,CAAA,SACRC,EAAA,QACJ,EAEA,WAAY,CAAA,kBACRC,EAAA,iBACJ,EAEA,QAASC,EAAA,YAET,MAAO,CAOH,SAAU,CACN,KAAM,CAAC,OAAQ,OAAQ,OAAO,EAC9B,QAAS,EACb,CAEJ,CAEJ,CAAC,sFA0DmBC,EAAO,CAAA,MAAA,oBACPC,EAAM,CAAA,QAAA,6BAaNC,EAAKC,EAAA,mBAAA,KAAA,KAAA,KAAA,EAAA,EACLC,EAAM,CAAA,MAAA,4NArEtBC,mBAkFM,aAAA,mDAjFF,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,IAAAF,EAAA,uCAKd,EAAAG,EAAA,gBAAAH,EAAA,KAAA,EAAA,GAAAI,CAAA,GAAAC,EAAAA,mBA8BM,GA9BN,EAAA,CAAA,CAAA,uBAGsB,MAAUZ,EAAA,CAAAa,aACvBN,EAAoB,OAAA,UAAA,CACpB,WAAOA,EAAK,WAaV,kBAAAA,EAAA,kBAAA,MAXOA,EAAM,KAAA,EAAA,IAAA,8BACiBE,EAAAA,mBAAA,MAAA,CAC5B,IAAA,EAAA,MAAA,wBACD,QAAoBK,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,IAAAC,IAAAR,EAAA,OAAAA,EAAA,MAAA,GAAAQ,CAAA,EAAA,EAAA,kCAGpBH,EAAAA,mBAAW,GAAA,EAAA,EAAAI,iBAAAb,EAAAA,mBAAA,WAAAc,aAAA,CAIH,IAAA,QAAA,sBAHCH,EAAK,CAAA,IAAAA,EAAA,CAAA,EAAAI,GAAAX,EAAA,MAAAW,EAAA,EAAAX,EAAA,iBACF,EAAQ,KAAA,EAAA,EAAA,CAAA,CAAAY,EAAA,WAAAZ,EAAA,KAAA,oBAK5B,CAAA,CAAA,CAAA,EAO4CM,EAAAA,WAAAN,EAAA,OAAA,WAAA,CAAA,EAAA,IAAA,CAAAa,EAAAA,YAJ1BC,EAAQ,WAAA,CAAA,KAAA,qBAAA,EAAA,CADlB,QAAAC,EAAA,QAAA,IAAA,CAAAf,EAEI,wBACcgB,EAAAA,YAAAC,EAAA,CACb,IAAI,WACJ,IAAI,WAAA,KAAAjB,EAAA,oGAKrB,CAAA,CAAA,CAAA,wBAGI,SAYoBkB,EAAA,eAAAC,qBAAA,CAAA,MAAAnB,EAAA,MAAA,OAAAA,EAAA,OAAA,GAAAA,EAAA,OAAA,GAAA,KAAAA,EAAA,OAAA,KAAA,CAAA,EAAA,IAAA,CAAAA,EAAA,OAAAA,EAAA,QAAAC,EAAA,UAAA,EAVFe,EAAA,YAAAI,EAAA,CAEb,IAAI,EACJ,GAAOpB,EAAA,OAAA,GACP,KAAMA,EAAE,OAAA,KAAA,MAAAA,EAAA,wDAIUJ,EAAA,mBAAA,MAAAF,EAAA,CAAA2B,EAAAA,gBAAAlB,EAAA,gBAAAmB,CAAA,EAAA,CAAA,gDAK3BjB,EAAAA,mBAYO,GAAA,EAAA,CAAA,CAAA,wBARW,WAAQa,EAAAA,eAAAC,EAAAA,mBAAA,CAAA,SAAAnB,EAAA,QAAA,CAAA,CAAA,EAAA,IAAA,CAElBa,EAAAA,YAAAU,EAIM,YADC,QAAQ,EAAA,CAAA,QAAAR,EAAA,QAAA,CAAA,CAAA,SAAAS,KAAA,6DAWhB,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,wBALH,OAIQ,CAAA,EAAA,IAAA,CAAAxB,EAAA,UAAAC,EAAAA,YAFMC,EAAAA,mBAAA,QAAA,CAAA,IAAA"}