UNPKG

tdesign-mobile-vue

Version:
1 lines 3.98 kB
{"version":3,"file":"index.mjs","sources":["../../src/action-sheet/index.ts"],"sourcesContent":["import { createApp, DefineComponent, ref, h, VNode, App, nextTick } from 'vue';\nimport ActionSheetVue from './action-sheet';\nimport { WithInstallType, isBrowser } from '../shared';\n\nimport './style';\nimport { TdActionSheetProps } from './type';\n\nexport * from './type';\nexport type ActionSheetProps = TdActionSheetProps;\n\nlet instance: any = null;\nlet app: App<Element>;\n\nfunction create(props: Partial<TdActionSheetProps>): DefineComponent<TdActionSheetProps> {\n if (!isBrowser) return;\n\n const root = document.createElement('div');\n document.body.appendChild(root);\n\n const visible = ref(false);\n const propsObject = {\n visible,\n ...props,\n };\n\n if (instance) {\n instance.clear();\n }\n\n instance = ActionSheetVue;\n\n instance.clear = (trigger: any) => {\n app.unmount();\n root.remove();\n if (propsObject.onClose && trigger && trigger.trigger !== 'overlay') {\n propsObject.onClose(trigger);\n }\n instance = null;\n };\n app = createApp(instance, { ...propsObject });\n app.mount(root);\n nextTick(() => {\n visible.value = true;\n });\n return instance;\n}\n\nfunction ActionSheet(props: Partial<TdActionSheetProps>) {\n create(props);\n}\n\nActionSheet.close = (trigger: any) => {\n if (instance) {\n instance.clear(trigger);\n }\n};\n\nActionSheet.show = (props: Partial<TdActionSheetProps>) => {\n create(props);\n};\n\nActionSheet.install = (app: App, name = '') => {\n app.component(name || ActionSheetVue.name, ActionSheetVue);\n};\n\ntype ActionSheetApi = {\n /** 关闭ActionSheet */\n close: () => void;\n};\n\nexport const _ActionSheet: WithInstallType<typeof ActionSheetVue> & ActionSheetApi = ActionSheet as any;\nexport default _ActionSheet;\n"],"names":["instance","app","create","props","isBrowser","root","document","createElement","body","appendChild","visible","ref","propsObject","_objectSpread","clear","ActionSheetVue","trigger","unmount","remove","onClose","createApp","mount","nextTick","value","ActionSheet","close","show","install","name","arguments","length","undefined","component","_ActionSheet"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAIA,QAAgB,GAAA,IAAA,CAAA;AACpB,IAAIC,GAAA,CAAA;AAEJ,SAASC,OAAOC,KAAyE,EAAA;EACvF,IAAI,CAACC,SAAA,EAAW,OAAA;AAEV,EAAA,IAAAC,IAAA,GAAOC,QAAS,CAAAC,aAAA,CAAc,KAAK,CAAA,CAAA;AAChCD,EAAAA,QAAA,CAAAE,IAAA,CAAKC,YAAYJ,IAAI,CAAA,CAAA;AAExB,EAAA,IAAAK,OAAA,GAAUC,IAAI,KAAK,CAAA,CAAA;EACzB,IAAMC,WAAc,GAAAC,aAAA,CAAA;AAClBH,IAAAA,OAAA,EAAAA,OAAAA;AAAA,GAAA,EACGP,KAAA,CACL,CAAA;AAEA,EAAA,IAAIH,QAAU,EAAA;IACZA,QAAA,CAASc,KAAM,EAAA,CAAA;AACjB,GAAA;AAEWd,EAAAA,QAAA,GAAAe,cAAA,CAAA;AAEFf,EAAAA,QAAA,CAAAc,KAAA,GAAQ,UAACE,OAAiB,EAAA;IACjCf,GAAA,CAAIgB,OAAQ,EAAA,CAAA;IACZZ,IAAA,CAAKa,MAAO,EAAA,CAAA;IACZ,IAAIN,WAAY,CAAAO,OAAA,IAAWH,OAAW,IAAAA,OAAA,CAAQA,YAAY,SAAW,EAAA;AACnEJ,MAAAA,WAAA,CAAYO,QAAQH,OAAO,CAAA,CAAA;AAC7B,KAAA;AACWhB,IAAAA,QAAA,GAAA,IAAA,CAAA;GACb,CAAA;EACAC,GAAA,GAAMmB,SAAU,CAAApB,QAAA,EAAAa,aAAA,CAAA,EAAA,EAAeD,YAAa,CAAA,CAAA;AAC5CX,EAAAA,GAAA,CAAIoB,MAAMhB,IAAI,CAAA,CAAA;AACdiB,EAAAA,QAAA,CAAS,YAAM;IACbZ,OAAA,CAAQa,KAAQ,GAAA,IAAA,CAAA;AAClB,GAAC,CAAA,CAAA;AACM,EAAA,OAAAvB,QAAA,CAAA;AACT,CAAA;AAEA,SAASwB,YAAYrB,KAAoC,EAAA;EACvDD,MAAA,CAAOC,KAAK,CAAA,CAAA;AACd,CAAA;AAEAqB,WAAY,CAAAC,KAAA,GAAQ,UAACT,OAAiB,EAAA;AACpC,EAAA,IAAIhB,QAAU,EAAA;AACZA,IAAAA,QAAA,CAASc,MAAME,OAAO,CAAA,CAAA;AACxB,GAAA;AACF,CAAA,CAAA;AAEAQ,WAAY,CAAAE,IAAA,GAAO,UAACvB,KAAuC,EAAA;EACzDD,MAAA,CAAOC,KAAK,CAAA,CAAA;AACd,CAAA,CAAA;AAEAqB,WAAA,CAAYG,OAAU,GAAA,UAAC1B,IAAU,EAAc;AAAA,EAAA,IAAd2B,IAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAO,EAAO,CAAA;EAC7C5B,IAAI,CAAA+B,SAAA,CAAUJ,IAAQ,IAAAb,cAAA,CAAea,MAAMb,cAAc,CAAA,CAAA;AAC3D,CAAA,CAAA;AAOO,IAAMkB,YAAwE,GAAAT;;;;"}