{"version":3,"file":"filter.mjs","sources":["../../../../../../packages/components/simple-table/src/filter.vue"],"sourcesContent":["<template>\n  <hl-tooltip\n    ref=\"tooltip\"\n    :visible=\"tooltipVisible\"\n    :offset=\"0\"\n    :placement=\"placement\"\n    :show-arrow=\"false\"\n    :stop-popper-mouse-event=\"false\"\n    :popper-class=\"`popover popover-table-filter ${popperClass}`\"\n    :effect=\"effect\"\n    trigger=\"click\"\n    manual-mode\n    append-to-body\n  >\n    <template #content>\n      <slot :close=\"hidden\"></slot>\n    </template>\n    <template #default>\n      <span\n        v-click-outside:[popperPaneRef]=\"hidden\"\n        class=\"table-filter-trigger\"\n        @click=\"showByClick\"\n        @mouseover=\"showByHover\"\n      >\n        <hl-icon>\n          <system-filter />\n        </hl-icon>\n      </span>\n    </template>\n  </hl-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed } from 'vue'\nimport HlTooltip from '@hongluan-ui/components/tooltip'\nimport { Effect } from '@hongluan-ui/components/popper'\nimport HlIcon from '@hongluan-ui/components/icon'\nimport { SystemFilter } from '@hongluan-ui/components/system-icon'\nimport { ClickOutside } from '@hongluan-ui/directives'\n\nimport type { PropType } from 'vue'\nimport type { Placement, PopperEffect } from '@hongluan-ui/components/popper'\n\nexport default defineComponent({\n  name: 'SimpleTableFilterIcon',\n  components: {\n    HlTooltip,\n    HlIcon,\n    SystemFilter,\n  },\n  directives: { ClickOutside },\n  props: {\n    placement: {\n      type: String as PropType<Placement>,\n      default: 'bottom',\n    },\n    effect: {\n      type: String as PropType<PopperEffect>,\n      default: Effect.LIGHT,\n    },\n    popperClass: {\n      type: String,\n      default: '',\n    },\n    trigger: {\n      type: String as PropType<'hover' | 'click' | 'all'>,\n      default: 'click',\n    },\n  },\n  setup(props) {\n    const tooltipVisible = ref(false)\n    const tooltip = ref(null)\n\n    const hidden = () => {\n      tooltipVisible.value = false\n    }\n    const show = () => {\n      tooltipVisible.value = true\n    }\n    const showByClick = (e: MouseEvent) => {\n      if (props.trigger === 'click' || props.trigger === 'all') {\n        e.stopPropagation()\n        tooltipVisible.value = !tooltipVisible.value\n      }\n    }\n    const showByHover = (e: MouseEvent) => {\n      if (props.trigger === 'hover' || props.trigger === 'all') {\n        e.stopPropagation()\n        show()\n      }\n    }\n    const popperPaneRef = computed(() => {\n      return tooltip.value?.popperRef?.contentRef\n    })\n\n    return {\n      tooltipVisible,\n      hidden,\n      showByClick,\n      showByHover,\n      popperPaneRef,\n      tooltip,\n    }\n  },\n})\n</script>\n"],"names":["_openBlock"],"mappings":";;;;;;;;;;;AA2CA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AACF,EACA,YAAY,EAAE;AAAa,EAC3B,OAAO;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS,OAAO;AAAA;AAClB,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;AACX;AACF,EACA,MAAM,OAAO;AACX,UAAM,iBAAiB,IAAI,KAAK;AAChC,UAAM,UAAU,IAAI,IAAI;AAExB,UAAM,SAAS,MAAM;AACnB,qBAAe,QAAQ;AAAA;AAEzB,UAAM,OAAO,MAAM;AACjB,qBAAe,QAAQ;AAAA;AAEzB,UAAM,cAAc,CAAC,MAAkB;AACrC,UAAI,MAAM,YAAY,WAAW,MAAM,YAAY,OAAO;AACxD,UAAE;AACF,uBAAe,QAAQ,CAAC,eAAe;AAAA;AACzC;AAEF,UAAM,cAAc,CAAC,MAAkB;AACrC,UAAI,MAAM,YAAY,WAAW,MAAM,YAAY,OAAO;AACxD,UAAE;AACF;AAAK;AACP;AAEF,UAAM,gBAAgB,SAAS,MAAM;AACnC;AAAiC;AAGnC;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ;;;;;;;AA3Ee,SA3BPA;AAAA,IACH;AAAS,IACT;AAAQ,IACR;AAAW,IACX;AAAY,IACZ;AAAyB,IACzB;AAA8C,IAC9C;AAAQ,IACT;AAAQ,IACR;AAAA,IACA;AAAA;;AAG+B;AAAT;;AAYb;AAAA;AAPC,QACL;AAAO,QACP,aAAW;AAAA;;AAIF;AADS;AAAA;;;;;AANY;;;;;;;;;;"}