UNPKG

@vuesax-alpha/nightly

Version:
1 lines 11.1 kB
{"version":3,"file":"input2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div :class=\"inputKls\" :style=\"inputStyle\">\n <div\n :class=\"[ns.e('wrapper'), ns.is('disabled', disabled)]\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <input\n v-bind=\"$attrs\"\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"model\"\n :type=\"inputType\"\n :disabled=\"disabled\"\n :class=\"[ns.e('original'), ns.is('disabled', disabled)]\"\n placeholder=\"\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <label\n v-if=\"placeholder || labelFloat\"\n :for=\"inputId\"\n :class=\"[\n ns.e('placeholder'),\n { [ns.em('placeholder', 'float')]: labelFloat },\n {\n [ns.em('placeholder', 'hidden')]:\n model ||\n model === 0 ||\n inputType == 'date' ||\n inputType == 'time',\n },\n ]\"\n @mousedown.prevent=\"NOOP\"\n >\n {{ placeholder || label }}\n </label>\n\n <label\n v-if=\"!labelFloat\"\n :for=\"inputId\"\n :class=\"[ns.e('label')]\"\n @mousedown.prevent=\"NOOP\"\n >\n {{ label }}\n </label>\n\n <span\n v-if=\"$slots.icon\"\n :class=\"[ns.e('icon')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clickIcon\"\n >\n <slot name=\"icon\" />\n </span>\n <div v-if=\"loading\" :class=\"ns.e('loading')\">\n <icon-loading />\n </div>\n\n <transition name=\"clearable-transition\">\n <div v-if=\"showClear\" :class=\"ns.e('clearable')\">\n <icon-close @click=\"clear\" @mousedown.prevent=\"NOOP\" />\n </div>\n </transition>\n\n <transition name=\"clearable-transition\">\n <span\n v-if=\"isShowPassword\"\n :class=\"ns.em('icon', 'password')\"\n @click=\"handleShowPassword\"\n @mousedown.prevent=\"NOOP\"\n >\n <i\n class=\"bx\"\n :class=\"isVisiblePassword ? 'bx-show-alt' : 'bx-hide'\"\n @mousedown.prevent=\"NOOP\"\n />\n </span>\n </transition>\n\n <div :class=\"ns.e('affects')\">\n <div :class=\"ns.em('affects', '1')\" />\n <div :class=\"ns.em('affects', '2')\" />\n </div>\n </div>\n\n <div\n v-if=\"progress\"\n :class=\"[ns.e('progress'), ns.em('progress', progressState)]\"\n >\n <div\n :class=\"ns.em('progress', 'bar')\"\n :style=\"{ width: `${progress}%` }\"\n />\n </div>\n\n <vs-collapse-transition v-for=\"message in messageType\" :key=\"message\">\n <div\n v-if=\"$slots[`message-${message}`]\"\n :class=\"[ns.e('message'), ns.em('message', message)]\"\n >\n <slot :name=\"`message-${message}`\" />\n </div>\n </vs-collapse-transition>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue'\nimport { IconClose, IconLoading } from '@vuesax-alpha/components/icon'\nimport { VsCollapseTransition } from '@vuesax-alpha/components/collapse-transition'\nimport {\n useColor,\n useDeprecated,\n useId,\n useNamespace,\n useProp,\n useVuesaxBaseComponent,\n} from '@vuesax-alpha/hooks'\nimport { NOOP, getVsColor } from '@vuesax-alpha/utils'\nimport { inputEmits, inputProps } from './input'\nimport { useInput } from './composables'\n\ndefineOptions({\n inheritAttrs: false,\n name: 'VsInput',\n})\n\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n from: 'border',\n type: 'Prop',\n version: 'VuesaxAlpha',\n scope: 'vs-input',\n ref: 'https://vuesax-alpha.vercel.app/components/input#style',\n replacement: 'inputStyle',\n },\n computed(() => props.border)\n)\n\nuseDeprecated(\n {\n from: 'shadow',\n type: 'Prop',\n version: 'VuesaxAlpha',\n scope: 'vs-input',\n ref: 'https://vuesax-alpha.vercel.app/components/input#style',\n replacement: 'inputStyle',\n },\n computed(() => props.shadow)\n)\n\nuseDeprecated(\n {\n from: 'transparent',\n type: 'Prop',\n version: 'VuesaxAlpha',\n scope: 'vs-input',\n ref: 'https://vuesax-alpha.vercel.app/components/input#style',\n replacement: 'inputStyle',\n },\n computed(() => props.transparent)\n)\n\nuseDeprecated(\n {\n from: 'labelPlaceholder',\n type: 'Prop',\n version: 'VuesaxAlpha',\n scope: 'vs-input',\n ref: 'https://vuesax-alpha.vercel.app/components/input#label',\n replacement: 'labelFloat',\n },\n computed(() => !!props.labelPlaceholder)\n)\n\nuseDeprecated(\n {\n from: 'square',\n type: 'Prop',\n version: 'VuesaxAlpha',\n scope: 'vs-input',\n ref: 'https://vuesax-alpha.vercel.app/components/input#shape',\n replacement: 'shape',\n },\n computed(() => !!props.square)\n)\n\nconst ns = useNamespace('input')\n\nconst inputId = props.id ?? useId()\n\nconst messageType = ['success', 'warn', 'danger', 'primary', 'dark']\n\nconst {\n model,\n inputType,\n isVisiblePassword,\n isShowPassword,\n focused,\n hovering,\n inputRef,\n blur,\n handleBlur,\n handleKeydown,\n focus,\n handleFocus,\n handleChange,\n select,\n clickIcon,\n handleShowPassword,\n handleMouseLeave,\n handleMouseEnter,\n handleInput,\n /** clearable */\n showClear,\n clear,\n} = useInput(props, emit)\n\nconst vsBaseClasses = useVuesaxBaseComponent(useColor())\nconst inputKls = computed(() => [\n vsBaseClasses,\n ns.b(),\n props.wrapClasses,\n { [ns.is(props.inputStyle)]: !!props.inputStyle },\n ns.is('block', props.block),\n ns.is('focus', focused.value),\n ns.is('hovering', hovering.value),\n ns.is(props.shape),\n ns.is('text-white', props.textWhite),\n\n { [ns.m(`state-${props.state}`)]: !!props.state },\n { [ns.m('has-label')]: props.label || props.labelFloat },\n { [ns.m('has-color')]: props.color },\n\n { [ns.m('has-icon')]: slots.icon },\n { [ns.m('icon-after')]: props.iconAfter },\n { [ns.m('icon-eye')]: props.showPassword },\n { [ns.m('icon-clearable')]: showClear.value },\n])\n\nconst inputStyle = computed(() => [\n ns.cssVar({\n color: getVsColor(props.color),\n }),\n props.wrapStyles,\n])\n\nconst progressState = computed(() => {\n const progress = useProp<typeof props.progress>('progress')\n\n if (!progress.value || progress.value <= 33) return 'danger'\n if (progress.value <= 66) return 'warn'\n return 'success'\n})\n\ndefineExpose({\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description HTML input element ref */\n inputRef,\n})\n</script>\n"],"names":[],"mappings":"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"}