{"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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"}