You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
4.3 KiB
1 lines
4.3 KiB
{"ast":null,"code":"import { unref } from 'vue';\nimport { useTimeout } from '../use-timeout/index.mjs';\nimport { buildProps } from '../../utils/vue/props/runtime.mjs';\nimport { isNumber } from '../../utils/types.mjs';\nconst useDelayedToggleProps = buildProps({\n showAfter: {\n type: Number,\n default: 0\n },\n hideAfter: {\n type: Number,\n default: 200\n },\n autoClose: {\n type: Number,\n default: 0\n }\n});\nconst useDelayedToggle = ({\n showAfter,\n hideAfter,\n autoClose,\n open,\n close\n}) => {\n const {\n registerTimeout\n } = useTimeout();\n const {\n registerTimeout: registerTimeoutForAutoClose,\n cancelTimeout: cancelTimeoutForAutoClose\n } = useTimeout();\n const onOpen = event => {\n registerTimeout(() => {\n open(event);\n const _autoClose = unref(autoClose);\n if (isNumber(_autoClose) && _autoClose > 0) {\n registerTimeoutForAutoClose(() => {\n close(event);\n }, _autoClose);\n }\n }, unref(showAfter));\n };\n const onClose = event => {\n cancelTimeoutForAutoClose();\n registerTimeout(() => {\n close(event);\n }, unref(hideAfter));\n };\n return {\n onOpen,\n onClose\n };\n};\nexport { useDelayedToggle, useDelayedToggleProps };","map":{"version":3,"names":["useDelayedToggleProps","buildProps","showAfter","type","Number","default","hideAfter","autoClose","useDelayedToggle","open","close","registerTimeout","useTimeout","registerTimeoutForAutoClose","cancelTimeout","cancelTimeoutForAutoClose","onOpen","event","_autoClose","unref","isNumber","onClose"],"sources":["../../../../../packages/hooks/use-delayed-toggle/index.ts"],"sourcesContent":["import { unref } from 'vue'\nimport { buildProps, isNumber } from '@element-plus/utils'\nimport { useTimeout } from '../use-timeout'\n\nimport type { ExtractPropTypes, ToRefs } from 'vue'\n\nexport const useDelayedToggleProps = buildProps({\n /**\n * @description delay of appearance, in millisecond\n */\n showAfter: {\n type: Number,\n default: 0,\n },\n /**\n * @description delay of disappear, in millisecond\n */\n hideAfter: {\n type: Number,\n default: 200,\n },\n /**\n * @description disappear automatically, in millisecond\n */\n autoClose: {\n type: Number,\n default: 0,\n },\n} as const)\n\nexport type UseDelayedToggleProps = {\n open: (event?: Event) => void\n close: (event?: Event) => void\n} & ToRefs<ExtractPropTypes<typeof useDelayedToggleProps>>\n\nexport const useDelayedToggle = ({\n showAfter,\n hideAfter,\n autoClose,\n open,\n close,\n}: UseDelayedToggleProps) => {\n const { registerTimeout } = useTimeout()\n const {\n registerTimeout: registerTimeoutForAutoClose,\n cancelTimeout: cancelTimeoutForAutoClose,\n } = useTimeout()\n\n const onOpen = (event?: Event) => {\n registerTimeout(() => {\n open(event)\n\n const _autoClose = unref(autoClose)\n if (isNumber(_autoClose) && _autoClose > 0) {\n registerTimeoutForAutoClose(() => {\n close(event)\n }, _autoClose)\n }\n }, unref(showAfter))\n }\n\n const onClose = (event?: Event) => {\n cancelTimeoutForAutoClose()\n\n registerTimeout(() => {\n close(event)\n }, unref(hideAfter))\n }\n\n return {\n onOpen,\n onClose,\n }\n}\n"],"mappings":";;;;AAGY,MAACA,qBAAqB,GAAGC,UAAU,CAAC;EAC9CC,SAAS,EAAE;IACTC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACDC,SAAS,EAAE;IACTH,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACb,CAAG;EACDE,SAAS,EAAE;IACTJ,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACb;AACA,CAAC;AACW,MAACG,gBAAgB,GAAGA,CAAC;EAC/BN,SAAS;EACTI,SAAS;EACTC,SAAS;EACTE,IAAI;EACJC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAe,CAAE,GAAGC,UAAU,EAAE;EACxC,MAAM;IACJD,eAAe,EAAEE,2BAA2B;IAC5CC,aAAa,EAAEC;EACnB,CAAG,GAAGH,UAAU,EAAE;EAChB,MAAMI,MAAM,GAAIC,KAAK,IAAK;IACxBN,eAAe,CAAC,MAAM;MACpBF,IAAI,CAACQ,KAAK,CAAC;MACX,MAAMC,UAAU,GAAGC,KAAK,CAACZ,SAAS,CAAC;MACnC,IAAIa,QAAQ,CAACF,UAAU,CAAC,IAAIA,UAAU,GAAG,CAAC,EAAE;QAC1CL,2BAA2B,CAAC,MAAM;UAChCH,KAAK,CAACO,KAAK,CAAC;QACtB,CAAS,EAAEC,UAAU,CAAC;MACtB;IACA,CAAK,EAAEC,KAAK,CAACjB,SAAS,CAAC,CAAC;EACxB,CAAG;EACD,MAAMmB,OAAO,GAAIJ,KAAK,IAAK;IACzBF,yBAAyB,EAAE;IAC3BJ,eAAe,CAAC,MAAM;MACpBD,KAAK,CAACO,KAAK,CAAC;IAClB,CAAK,EAAEE,KAAK,CAACb,SAAS,CAAC,CAAC;EACxB,CAAG;EACD,OAAO;IACLU,MAAM;IACNK;EACJ,CAAG;AACH","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|