tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 3.53 kB
Source Map (JSON)
{"version":3,"file":"plugin.mjs","sources":["../../src/action-sheet/plugin.ts"],"sourcesContent":["import { createApp, h, App, reactive, nextTick } from 'vue';\nimport { isBrowser } from '../shared';\nimport _ActionSheet from './action-sheet';\nimport { TdActionSheetProps } from './type';\n\nlet instance: any = null;\nlet app: App<Element>;\nlet root: HTMLElement;\n\nfunction create(props: Partial<TdActionSheetProps>): any {\n if (!isBrowser) return;\n\n if (instance) {\n instance.close();\n // 等待上一次的清理完成\n nextTick(() => {\n createInstance(props);\n });\n return;\n }\n\n createInstance(props);\n}\n\nfunction createInstance(props: Partial<TdActionSheetProps>): any {\n root = document.createElement('div');\n document.body.appendChild(root);\n\n const params = reactive({\n visible: false,\n ...props,\n });\n\n instance = {\n close: (trigger?: any) => {\n params.visible = false;\n nextTick(() => {\n app.unmount();\n root.remove();\n instance = null;\n });\n if (props.onClose && trigger && trigger.trigger !== 'overlay') {\n props.onClose(trigger);\n }\n },\n };\n\n app = createApp(() => h(_ActionSheet, params));\n app.mount(root);\n\n nextTick(() => {\n params.visible = true;\n });\n\n return instance;\n}\n\nexport const ActionSheetPlugin = {\n /** 显示ActionSheet */\n show(props: Partial<TdActionSheetProps>) {\n create(props);\n },\n /** 关闭ActionSheet */\n close(trigger?: any) {\n if (instance) {\n instance.close(trigger);\n }\n },\n};\n"],"names":["instance","app","root","create","props","isBrowser","close","nextTick","createInstance","document","createElement","body","appendChild","params","reactive","_objectSpread","visible","trigger","unmount","remove","onClose","createApp","h","_ActionSheet","mount","ActionSheetPlugin","show"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAIA,QAAgB,GAAA,IAAA,CAAA;AACpB,IAAIC,GAAA,CAAA;AACJ,IAAIC,IAAA,CAAA;AAEJ,SAASC,OAAOC,KAAyC,EAAA;EACvD,IAAI,CAACC,SAAA,EAAW,OAAA;AAEhB,EAAA,IAAIL,QAAU,EAAA;IACZA,QAAA,CAASM,KAAM,EAAA,CAAA;AAEfC,IAAAA,QAAA,CAAS,YAAM;MACbC,cAAA,CAAeJ,KAAK,CAAA,CAAA;AACtB,KAAC,CAAA,CAAA;AACD,IAAA,OAAA;AACF,GAAA;EAEAI,cAAA,CAAeJ,KAAK,CAAA,CAAA;AACtB,CAAA;AAEA,SAASI,eAAeJ,KAAyC,EAAA;AACxDF,EAAAA,IAAA,GAAAO,QAAA,CAASC,cAAc,KAAK,CAAA,CAAA;AAC1BD,EAAAA,QAAA,CAAAE,IAAA,CAAKC,YAAYV,IAAI,CAAA,CAAA;AAE9B,EAAA,IAAMW,SAASC,QAAS,CAAAC,aAAA,CAAA;AACtBC,IAAAA,OAAS,EAAA,KAAA;GACNZ,EAAAA,KAAA,CACJ,CAAA,CAAA;AAEUJ,EAAAA,QAAA,GAAA;AACTM,IAAAA,KAAA,EAAO,SAAPA,KAAAA,CAAQW,OAAkB,EAAA;MACxBJ,MAAA,CAAOG,OAAU,GAAA,KAAA,CAAA;AACjBT,MAAAA,QAAA,CAAS,YAAM;QACbN,GAAA,CAAIiB,OAAQ,EAAA,CAAA;QACZhB,IAAA,CAAKiB,MAAO,EAAA,CAAA;AACDnB,QAAAA,QAAA,GAAA,IAAA,CAAA;AACb,OAAC,CAAA,CAAA;MACD,IAAII,KAAM,CAAAgB,OAAA,IAAWH,OAAW,IAAAA,OAAA,CAAQA,YAAY,SAAW,EAAA;AAC7Db,QAAAA,KAAA,CAAMgB,QAAQH,OAAO,CAAA,CAAA;AACvB,OAAA;AACF,KAAA;GACF,CAAA;EAEAhB,GAAA,GAAMoB,SAAU,CAAA,YAAA;AAAA,IAAA,OAAMC,CAAE,CAAAC,YAAA,EAAcV,MAAM,CAAC,CAAA;GAAA,CAAA,CAAA;AAC7CZ,EAAAA,GAAA,CAAIuB,MAAMtB,IAAI,CAAA,CAAA;AAEdK,EAAAA,QAAA,CAAS,YAAM;IACbM,MAAA,CAAOG,OAAU,GAAA,IAAA,CAAA;AACnB,GAAC,CAAA,CAAA;AAEM,EAAA,OAAAhB,QAAA,CAAA;AACT,CAAA;AAEO,IAAMyB,iBAAoB,GAAA;AAE/BC,EAAAA,MAAAA,SAAAA,KAAKtB,KAAoC,EAAA;IACvCD,MAAA,CAAOC,KAAK,CAAA,CAAA;GACd;AAEAE,EAAAA,OAAAA,SAAAA,MAAMW,OAAe,EAAA;AACnB,IAAA,IAAIjB,QAAU,EAAA;AACZA,MAAAA,QAAA,CAASM,MAAMW,OAAO,CAAA,CAAA;AACxB,KAAA;AACF,GAAA;AACF;;;;"}