{"version":3,"file":"FInput.mjs","sources":["../../../packages/filter/src/FInput.tsx"],"sourcesContent":["import { ElInput, ElPopover } from 'element-plus'\nimport { btnSlots, props, slots } from './common'\nimport type { App } from 'vue'\nimport type { SFCWithInstall } from '~/index'\nimport { SizeSymbol } from '~/keys'\nimport { LangKey, t } from '~/locale/lang'\n\nconst FInput = defineComponent({\n  name: 'PTFInput',\n  props,\n  emits: ['headerFilterChange'],\n  setup(props, { emit, expose }) {\n    const size = inject(SizeSymbol)\n    const state: import('./common').State = reactive({\n      value: '',\n      visible: false,\n    })\n\n    const inputChange = () => {\n      // state.visible = false\n      emit('headerFilterChange', state.value, props.headerData)\n    }\n\n    const lengthToWidth = (length: number) => {\n      if (length < 10) {\n        return 200\n      } else {\n        return state.value.length * 20 > 400 ? 400 : state.value.length * 20\n      }\n    }\n\n    // 暴露状态\n    expose({\n      state,\n      header: props.headerData,\n    })\n\n    return () => (\n      <ElPopover\n        v-model={[state.visible, 'visible']}\n        placement=\"bottom-start\"\n        width={lengthToWidth(state.value.length)}\n        trigger=\"contextmenu\"\n        v-slots={slots(state, props.headerData)}\n      >\n        <ElInput\n          placeholder={t(LangKey.InputContent)}\n          v-model={state.value}\n          size={size}\n          clearable\n          class=\"input-with-select\"\n          v-slots={btnSlots(inputChange)}\n        ></ElInput>\n      </ElPopover>\n    )\n  },\n})\n\nconst PTFInput = FInput as SFCWithInstall<typeof FInput>\nPTFInput.install = (app: App) => {\n  app.component(FInput.name!, FInput)\n}\nexport { PTFInput, FInput }\nexport default FInput\n"],"names":["FInput","defineComponent","props","emit","expose","size","inject","SizeSymbol","state","reactive","inputChange","lengthToWidth","length","_createVNode","ElPopover","$event","ElInput","t","LangKey","btnSlots","slots","PTFInput","app"],"mappings":";;;;;;AAKA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAAC;AAAA,EACA,OAAA,CAAA,oBAAA;AAAA,EACA,MAAAA,GAAA;AAAA,IACA,MAAAC;AAAA,IACA,QAAAC;AAAA,EACA,GAAA;AACA,UAAAC,IAAAC,EAAAC,CAAA,GACAC,IAAAC,EAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,IACA,CAAA,GACAC,IAAA,MAAA;AAEA,MAAAP,EAAA,sBAAAK,EAAA,OAAAN,EAAA,UAAA;AAAA,IACA,GACAS,IAAA,CAAAC,MACAA,IAAA,KACA,MAEAJ,EAAA,MAAA,SAAA,KAAA,MAAA,MAAAA,EAAA,MAAA,SAAA;AAKA,WAAAJ,EAAA;AAAA,MACA,OAAAI;AAAA,MACA,QAAAN,EAAA;AAAA,IACA,CAAA,GACA,MAAAW,EAAAC,GAAA;AAAA,MACA,SAAAN,EAAA;AAAA,MACA,oBAAA,CAAAO,MAAAP,EAAA,UAAAO;AAAA,MACA,WAAA;AAAA,MACA,OAAAJ,EAAAH,EAAA,MAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA,GAAA;AAAA,MACA,SAAA,MAAA,CAAAK,EAAAG,GAAA;AAAA,QACA,aAAAC,EAAAC,EAAA,YAAA;AAAA,QACA,YAAAV,EAAA;AAAA,QACA,uBAAA,CAAAO,MAAAP,EAAA,QAAAO;AAAA,QACA,MAAAV;AAAA,QACA,WAAA;AAAA,QACA,OAAA;AAAA,MACA,GAAAc,EAAAT,CAAA,CAAA,CAAA;AAAA,MACA,GAAAU,EAAAZ,GAAAN,EAAA,UAAA;AAAA,IACA,CAAA;AAAA,EACA;AACA,CAAA,GACAmB,IAAArB;AACAqB,EAAA,UAAA,CAAAC,MAAA;AACA,EAAAA,EAAA,UAAAtB,EAAA,MAAAA,CAAA;AACA;"}