{"version":3,"file":"my-icon-popover.vue2.mjs","sources":["../../../../../../src/components/my/popover/my-icon-popover.vue"],"sourcesContent":["<template>\n    <my-tooltip\n        popper-class=\"my-popover\"\n        :popper-style=\"popperStyle\"\n        :placement=\"placement\"\n        :visible=\"popoverVisible\"\n        :disabled=\"disabled\"\n        :show-arrow=\"false\"\n        :show-after=\"0\"\n        :hide-after=\"0\"\n        :trigger=\"trigger\">\n        <template #reference>\n            <div @mousedown=\"mousedown($event)\"\n                 @mouseup=\"mouseup($event)\"\n                 @mouseover=\"hover(true)\"\n                 @mouseleave=\"hover(false)\">\n                <slot name=\"reference\" />\n            </div>\n        </template>\n        \n        <div @mouseover=\"hover(true)\"\n             ref=\"popoverRef\"\n             @mouseleave=\"hover(false)\">\n            \n            <slot />\n        \n        </div>\n    \n    </my-tooltip>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue-demi';\nimport { onClickOutside } from '@vueuse/core';\nimport MyTooltip from '@myprint/design/components/my/tooltip/my-tooltip.vue';\nimport { Placement } from '@popperjs/core/lib/enums';\n\nexport interface Props {\n    trigger?: string;\n    placement?: Placement;\n    popperStyle?: any;\n    pressHide?: boolean;\n    disabled?: boolean;\n    lock?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n    trigger: 'hover',\n    placement: 'top',\n    popperStyle: () => ({}),\n    pressHide: false,\n    disabled: false,\n    lock: false\n});\n\nconst visible = ref({\n    popover: false\n});\nconst popoverRef = ref(<any>{});\nconst mousedownFlag = ref(false);\nconst popoverVisible = computed(() => {\n    return props.lock || visible.value.popover;\n});\nlet timer: any = null;\nlet stop: ReturnType<typeof onClickOutside>;\n\nfunction mousedown(_ev: MouseEvent) {\n    // ev.stopPropagation()\n    if (props.pressHide) {\n        visible.value.popover = false;\n    }\n    mousedownFlag.value = true;\n}\n\nfunction mouseup(_ev: MouseEvent) {\n    // ev.stopPropagation()\n    if (props.trigger == 'click') {\n        updateVisible(!visible.value.popover);\n        \n        return;\n    }\n    \n    if (props.pressHide) {\n        updateVisible(true);\n    }\n    mousedownFlag.value = false;\n    \n}\n\nfunction hover(flag: boolean) {\n    if (props.trigger == 'click') {\n        return;\n    }\n    // ev.stopPropagation()\n    if (mousedownFlag.value && flag) {\n        return;\n    }\n    updateVisible(flag);\n}\n\nfunction updateVisible(flag: boolean) {\n    \n    if (timer != null) {\n        clearTimeout(timer);\n    }\n    timer = setTimeout(function() {\n        visible.value.popover = flag;\n        if (visible.value.popover) {\n            stop = onClickOutside(popoverRef,\n                () => {\n                    if (props.trigger !== 'hover') {\n                        updateVisible(false);\n                    }\n                });\n        } else {\n            if (stop) {\n                stop();\n            }\n        }\n    }, 0);\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA8CA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AASd,IAAA,MAAM,UAAU,GAAI,CAAA;AAAA,MAChB,OAAS,EAAA,KAAA;AAAA,KACZ,CAAA,CAAA;AACD,IAAM,MAAA,UAAA,GAAa,GAAS,CAAA,EAAE,CAAA,CAAA;AAC9B,IAAM,MAAA,aAAA,GAAgB,IAAI,KAAK,CAAA,CAAA;AAC/B,IAAM,MAAA,cAAA,GAAiB,SAAS,MAAM;AAClC,MAAO,OAAA,KAAA,CAAM,IAAQ,IAAA,OAAA,CAAQ,KAAM,CAAA,OAAA,CAAA;AAAA,KACtC,CAAA,CAAA;AACD,IAAA,IAAI,KAAa,GAAA,IAAA,CAAA;AACjB,IAAI,IAAA,IAAA,CAAA;AAEJ,IAAA,SAAS,UAAU,GAAiB,EAAA;AAEhC,MAAA,IAAI,MAAM,SAAW,EAAA;AACjB,QAAA,OAAA,CAAQ,MAAM,OAAU,GAAA,KAAA,CAAA;AAAA,OAC5B;AACA,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AAAA,KAC1B;AAEA,IAAA,SAAS,QAAQ,GAAiB,EAAA;AAE9B,MAAI,IAAA,KAAA,CAAM,WAAW,OAAS,EAAA;AAC1B,QAAc,aAAA,CAAA,CAAC,OAAQ,CAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAEpC,QAAA,OAAA;AAAA,OACJ;AAEA,MAAA,IAAI,MAAM,SAAW,EAAA;AACjB,QAAA,aAAA,CAAc,IAAI,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AAAA,KAE1B;AAEA,IAAA,SAAS,MAAM,IAAe,EAAA;AAC1B,MAAI,IAAA,KAAA,CAAM,WAAW,OAAS,EAAA;AAC1B,QAAA,OAAA;AAAA,OACJ;AAEA,MAAI,IAAA,aAAA,CAAc,SAAS,IAAM,EAAA;AAC7B,QAAA,OAAA;AAAA,OACJ;AACA,MAAA,aAAA,CAAc,IAAI,CAAA,CAAA;AAAA,KACtB;AAEA,IAAA,SAAS,cAAc,IAAe,EAAA;AAElC,MAAA,IAAI,SAAS,IAAM,EAAA;AACf,QAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,KAAA,GAAQ,WAAW,WAAW;AAC1B,QAAA,OAAA,CAAQ,MAAM,OAAU,GAAA,IAAA,CAAA;AACxB,QAAI,IAAA,OAAA,CAAQ,MAAM,OAAS,EAAA;AACvB,UAAO,IAAA,GAAA,cAAA;AAAA,YAAe,UAAA;AAAA,YAClB,MAAM;AACF,cAAI,IAAA,KAAA,CAAM,YAAY,OAAS,EAAA;AAC3B,gBAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAAA,eACvB;AAAA,aACJ;AAAA,WAAC,CAAA;AAAA,SACF,MAAA;AACH,UAAA,IAAI,IAAM,EAAA;AACN,YAAK,IAAA,EAAA,CAAA;AAAA,WACT;AAAA,SACJ;AAAA,SACD,CAAC,CAAA,CAAA;AAAA,KACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}