{"version":3,"file":"SearchBox.mjs","sources":["../../../../../packages/service/search/components/SearchBox.ts"],"sourcesContent":["import { computed, defineComponent, h } from \"vue\";\nimport { IconClose } from \"./icons\";\nimport \"../styles/search-box.scss\";\n\nexport const SearchBox = defineComponent({\n  props: {\n    modelValue: { type: String, default: \"\" },\n    /** 显示在输入框的提示 */\n    placeholder: { type: String, default: \"输入关键字搜索\" },\n    /** 是否显示搜索按钮 */\n    searchBtn: { type: Boolean, default: true },\n    /** 是否显示导航按钮 */\n    routeBtn: { type: Boolean, default: true }\n  },\n  emits: {\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    \"update:modelValue\": (e: string) => true,\n    // 点击搜索按钮或回车时触发\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    search: (e: string) => true\n  },\n  setup(props, { emit, slots }) {\n    let isComposition = false;\n\n    const keyword = computed({\n      get() {\n        return props.modelValue;\n      },\n      set(val: string) {\n        emit(\"update:modelValue\", val);\n      }\n    });\n\n    return () =>\n      h(\n        \"div\",\n        {\n          class: \"tdt-search-box\"\n        },\n        [\n          h(\"input\", {\n            class: \"tdt-search-box__input\",\n            type: \"text\",\n            placeholder: props.placeholder,\n            value: keyword.value,\n            onCompositionstart: () => (isComposition = true),\n            onCompositionend: () => (isComposition = false),\n            onInput: (e: any) => setTimeout(() => !isComposition && (keyword.value = e.target.value)),\n            onKeyup: (e: KeyboardEvent) => e.code === \"Enter\" && emit(\"search\", keyword.value)\n          }),\n          h(\n            \"i\",\n            {\n              class: \"tdt-search-box__close\",\n              style: { display: props.modelValue ? \"block\" : \"none\" },\n              onClick: () => (keyword.value = \"\")\n            },\n            [h(IconClose)]\n          ),\n          slots.default?.()\n        ]\n      );\n  }\n});\n"],"names":["SearchBox","defineComponent","props","emit","slots","isComposition","keyword","computed","val","h","e","IconClose","_a"],"mappings":";;;AAIO,MAAMA,IAAYC,EAAgB;AAAA,EACvC,OAAO;AAAA,IACL,YAAY,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA;AAAA,IAExC,aAAa,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA;AAAA,IAEhD,WAAW,EAAE,MAAM,SAAS,SAAS,GAAK;AAAA;AAAA,IAE1C,UAAU,EAAE,MAAM,SAAS,SAAS,GAAK;AAAA,EAC3C;AAAA,EACA,OAAO;AAAA;AAAA,IAEL,qBAAqB,CAAC,MAAc;AAAA;AAAA;AAAA,IAGpC,QAAQ,CAAC,MAAc;AAAA,EACzB;AAAA,EACA,MAAMC,GAAO,EAAE,MAAAC,GAAM,OAAAC,KAAS;AAC5B,QAAIC,IAAgB;AAEpB,UAAMC,IAAUC,EAAS;AAAA,MACvB,MAAM;AACJ,eAAOL,EAAM;AAAA,MACf;AAAA,MACA,IAAIM,GAAa;AACf,QAAAL,EAAK,qBAAqBK,CAAG;AAAA,MAAA;AAAA,IAC/B,CACD;AAED,WAAO;;AACL,aAAAC;AAAA,QACE;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACEA,EAAE,SAAS;AAAA,YACT,OAAO;AAAA,YACP,MAAM;AAAA,YACN,aAAaP,EAAM;AAAA,YACnB,OAAOI,EAAQ;AAAA,YACf,oBAAoB,MAAOD,IAAgB;AAAA,YAC3C,kBAAkB,MAAOA,IAAgB;AAAA,YACzC,SAAS,CAACK,MAAW,WAAW,MAAM,CAACL,MAAkBC,EAAQ,QAAQI,EAAE,OAAO,MAAM;AAAA,YACxF,SAAS,CAACA,MAAqBA,EAAE,SAAS,WAAWP,EAAK,UAAUG,EAAQ,KAAK;AAAA,UAAA,CAClF;AAAA,UACDG;AAAA,YACE;AAAA,YACA;AAAA,cACE,OAAO;AAAA,cACP,OAAO,EAAE,SAASP,EAAM,aAAa,UAAU,OAAO;AAAA,cACtD,SAAS,MAAOI,EAAQ,QAAQ;AAAA,YAClC;AAAA,YACA,CAACG,EAAEE,CAAS,CAAC;AAAA,UACf;AAAA,WACAC,IAAAR,EAAM,YAAN,gBAAAQ,EAAA,KAAAR;AAAA,QAAgB;AAAA,MAEpB;AAAA;AAAA,EAAA;AAEN,CAAC;"}