{"version":3,"file":"input-search.vue2.mjs","sources":["../../../../../../packages/components/input/src/input-search.vue"],"sourcesContent":["<template>\r\n  <div\r\n    :class=\"bem.b()\"\r\n    v-bind=\"containerAttrs\"\r\n    @mouseover=\"handleMouseOver\"\r\n    @mouseout=\"handleMouseOut\"\r\n  >\r\n    <InputSearch\r\n      v-bind=\"componentAttrs\"\r\n      ref=\"inputSearchRef\"\r\n      autocomplete=\"off\"\r\n      :class=\"{\r\n        'show-clear-icon':\r\n          props.allowClear && hasValue && isMouseOver && !props.disabled,\r\n      }\"\r\n      :value=\"innerValue\"\r\n      :allow-clear=\"props.allowClear\"\r\n      :disabled=\"props.disabled\"\r\n      @change=\"onChange\"\r\n      @blur=\"onBlur\"\r\n    >\r\n      <template v-for=\"item in Object.keys($slots)\" :key=\"item\" #[item]=\"data\">\r\n        <slot :name=\"item\" v-bind=\"data || {}\"></slot>\r\n      </template>\r\n    </InputSearch>\r\n  </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { createNamespace } from '@ll-plus/utils'\r\nimport { Form, InputSearch } from 'ant-design-vue'\r\nimport { omit } from 'lodash-es'\r\nimport { computed, ref, useAttrs, watch } from 'vue'\r\nimport { inputSearchProps, InputValue } from './input'\r\n\r\ndefineOptions({ name: 'LlInputSearch', inheritAttrs: false })\r\n\r\nconst props = defineProps(inputSearchProps)\r\nconst emits = defineEmits(['update:value', 'change', 'clear', 'blur'])\r\n\r\nconst attrs = useAttrs()\r\n\r\n// 容器样式\r\nconst containerAttrs = computed(() => ({\r\n  class: attrs.class as any,\r\n  style: attrs.style as any,\r\n}))\r\n\r\n// 组件功能相关的属性\r\nconst componentAttrs = computed(() => omit(attrs, ['class', 'style']))\r\n\r\nconst bem = createNamespace('input-search')\r\nconst inputSearchRef = ref()\r\nconst innerValue = ref<InputValue>('')\r\nconst isMouseOver = ref(false)\r\nconst formItemContext = Form.useInjectFormItemContext()\r\n\r\n// 判断当前输入框是否有值\r\nconst hasValue = computed(() => innerValue.value || props.defaultValue)\r\n\r\n// 鼠标移入事件\r\nconst handleMouseOver = () => {\r\n  isMouseOver.value = true\r\n}\r\n\r\n// 鼠标移出事件\r\nconst handleMouseOut = () => {\r\n  isMouseOver.value = false\r\n}\r\n// 输入框发送变化的回调\r\nconst onChange = (e: any) => {\r\n  const { value } = e.target\r\n  emits('update:value', value)\r\n  emits('change', e)\r\n  if (!value && e.type === 'click') {\r\n    emits('clear', value)\r\n  }\r\n  innerValue.value = value\r\n  formItemContext.onFieldChange()\r\n}\r\n\r\nconst onBlur = (e: any) => {\r\n  emits('blur', e)\r\n  formItemContext.onFieldBlur()\r\n}\r\n\r\n// 监听props.value/props.defaultValue的变化\r\nwatch(\r\n  () => [props.value, props.defaultValue],\r\n  ([newValue, newDefaultValue]) => {\r\n    innerValue.value = newValue || newDefaultValue\r\n  },\r\n  {\r\n    immediate: true,\r\n  }\r\n)\r\n\r\nconst focus = () => {\r\n  inputSearchRef.value.focus()\r\n}\r\nconst select = () => {\r\n  inputSearchRef.value.select()\r\n}\r\n\r\ndefineExpose({\r\n  focus,\r\n  select,\r\n})\r\n</script>\r\n<!--  -->\r\n"],"names":["_openBlock","_createElementBlock","_mergeProps","_unref","_createVNode","_renderList","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":";;;;;;;;;;;;;;AAqCA,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,KAAA,GAAQ,MAAA;AAEd,IAAA,MAAM,QAAQ,QAAA,EAAS;AAGvB,IAAA,MAAM,cAAA,GAAiB,SAAS,OAAO;AAAA,MACrC,OAAO,KAAA,CAAM,KAAA;AAAA,MACb,OAAO,KAAA,CAAM;AAAA,KACf,CAAE,CAAA;AAGF,IAAA,MAAM,cAAA,GAAiB,SAAS,MAAM,IAAA,CAAK,OAAO,CAAC,OAAA,EAAS,OAAO,CAAC,CAAC,CAAA;AAErE,IAAA,MAAM,GAAA,GAAM,gBAAgB,cAAc,CAAA;AAC1C,IAAA,MAAM,iBAAiB,GAAA,EAAI;AAC3B,IAAA,MAAM,UAAA,GAAa,IAAgB,EAAE,CAAA;AACrC,IAAA,MAAM,WAAA,GAAc,IAAI,KAAK,CAAA;AAC7B,IAAA,MAAM,eAAA,GAAkB,KAAK,wBAAA,EAAyB;AAGtD,IAAA,MAAM,WAAW,QAAA,CAAS,MAAM,UAAA,CAAW,KAAA,IAAS,MAAM,YAAY,CAAA;AAGtE,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAA,WAAA,CAAY,KAAA,GAAQ,IAAA;AAAA,IACtB,CAAA;AAGA,IAAA,MAAM,iBAAiB,MAAM;AAC3B,MAAA,WAAA,CAAY,KAAA,GAAQ,KAAA;AAAA,IACtB,CAAA;AAEA,IAAA,MAAM,QAAA,GAAW,CAAC,CAAA,KAAW;AAC3B,MAAA,MAAM,EAAE,KAAA,EAAM,GAAI,CAAA,CAAE,MAAA;AACpB,MAAA,KAAA,CAAM,gBAAgB,KAAK,CAAA;AAC3B,MAAA,KAAA,CAAM,UAAU,CAAC,CAAA;AACjB,MAAA,IAAI,CAAC,KAAA,IAAS,CAAA,CAAE,IAAA,KAAS,OAAA,EAAS;AAChC,QAAA,KAAA,CAAM,SAAS,KAAK,CAAA;AAAA,MACtB;AACA,MAAA,UAAA,CAAW,KAAA,GAAQ,KAAA;AACnB,MAAA,eAAA,CAAgB,aAAA,EAAc;AAAA,IAChC,CAAA;AAEA,IAAA,MAAM,MAAA,GAAS,CAAC,CAAA,KAAW;AACzB,MAAA,KAAA,CAAM,QAAQ,CAAC,CAAA;AACf,MAAA,eAAA,CAAgB,WAAA,EAAY;AAAA,IAC9B,CAAA;AAGA,IAAA,KAAA;AAAA,MACE,MAAM,CAAC,KAAA,CAAM,KAAA,EAAO,MAAM,YAAY,CAAA;AAAA,MACtC,CAAC,CAAC,QAAA,EAAU,eAAe,CAAA,KAAM;AAC/B,QAAA,UAAA,CAAW,QAAQ,QAAA,IAAY,eAAA;AAAA,MACjC,CAAA;AAAA,MACA;AAAA,QACE,SAAA,EAAW;AAAA;AACb,KACF;AAEA,IAAA,MAAM,QAAQ,MAAM;AAClB,MAAA,cAAA,CAAe,MAAM,KAAA,EAAM;AAAA,IAC7B,CAAA;AACA,IAAA,MAAM,SAAS,MAAM;AACnB,MAAA,cAAA,CAAe,MAAM,MAAA,EAAO;AAAA,IAC9B,CAAA;AAEA,IAAA,QAAA,CAAa;AAAA,MACX,KAAA;AAAA,MACA;AAAA,KACD,CAAA;;AA1GC,MAAA,OAAAA,WAAA,EAAAC,kBAAA;AAAA,QAwBM,KAAA;AAAA,QAxBNC,UAAA,CAwBM;AAAA,UAvBH,KAAA,EAAOC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA;AAAC,WACL,eAAA,KAAA,EAAc;AAAA,UACrB,WAAA,EAAW,eAAA;AAAA,UACX,UAAA,EAAU;AAAA;;UAEXC,YAiBcD,KAAA,CAAA,WAAA,CAAA,EAjBdD,UAAA,CAiBc,eAAA,KAAA,EAhBU;AAAA,qBAClB,gBAAA;AAAA,YAAJ,GAAA,EAAI,cAAA;AAAA,YACJ,YAAA,EAAa,KAAA;AAAA,YACZ,KAAA,EAAK;AAAA,iCAA2C,MAAM,UAAA,IAAc,QAAA,CAAA,SAAY,WAAA,CAAA,KAAA,IAAW,CAAK,KAAA,CAAM;AAAA;YAItG,OAAO,UAAA,CAAA,KAAA;AAAA,YACP,eAAa,KAAA,CAAM,UAAA;AAAA,YACnB,UAAU,KAAA,CAAM,QAAA;AAAA,YAChB,QAAA;AAAA,YACA;AAAA;;;;YAEwBG,WAAA,MAAA,CAAO,IAAA,CAAKC,KAAAA,MAAM,CAAA,GAA1B,IAAA,KAAI;;sBAAsC,IAAA;AAAA,gBACzD,EAAA,EAAAC,OAAA,CAAA,CADiE,IAAA,KAAI;AAAA,kBACrEC,UAAA,CAA8C,IAAA,CAAA,MAAA,EAAjC,IAAA,EAAIC,cAAA,CAAAC,mBAAU,IAAA,IAAI,EAAA,CAAA,CAAA;AAAA;;;;;;;;;;;;;;"}