{"version":3,"file":"spin.mjs","sources":["../../../../../src/components/ivue-spin/spin.ts"],"sourcesContent":["import {\r\n  createApp,\r\n  h,\r\n  getCurrentInstance,\r\n  VNode,\r\n  ComponentInternalInstance,\r\n} from 'vue';\r\nimport Spin from './index.vue';\r\nimport { transferIndex, transferIncrease } from '../../utils/transfer-queue';\r\n\r\n// 获取Index\r\nconst handleGetIndex = () => {\r\n  transferIncrease();\r\n  return transferIndex;\r\n};\r\n\r\n// 当前index\r\nlet tIndex = handleGetIndex();\r\n\r\n// 新实例\r\nSpin.newInstance = (props = {}) => {\r\n  let _instance: ComponentInternalInstance | any = null;\r\n\r\n  const Instance = createApp({\r\n    // data\r\n    data() {\r\n      return Object.assign({}, props);\r\n    },\r\n    // created\r\n    created() {\r\n      _instance = getCurrentInstance() as ComponentInternalInstance;\r\n    },\r\n    // render\r\n    render() {\r\n      let vnode: VNode | null = null;\r\n\r\n      // 有渲染函数\r\n      if (this.render) {\r\n        vnode = h(\r\n          Spin,\r\n          {\r\n            fix: true,\r\n            fullscreen: true,\r\n            ref: 'spin',\r\n          },\r\n          {\r\n            default: () => this.render(h),\r\n          }\r\n        );\r\n      }\r\n      // 没有渲染函数\r\n      else {\r\n        vnode = h(Spin, {\r\n          size: 'large',\r\n          fix: true,\r\n          fullscreen: true,\r\n          ref: 'spin',\r\n        });\r\n      }\r\n\r\n      return h(\r\n        'div',\r\n        {\r\n          class: 'ivue-spin-fullscreen ivue-spin-fullscreen--wrapper',\r\n          style: {\r\n            'z-index': 2010 + tIndex,\r\n          },\r\n        },\r\n        [vnode]\r\n      );\r\n    },\r\n  });\r\n\r\n  // 渲染\r\n  const container = document.createElement('div');\r\n  document.body.appendChild(container);\r\n  Instance.mount(container);\r\n\r\n  const spin = _instance.refs.spin;\r\n\r\n  return {\r\n    // 显示\r\n    show() {\r\n      spin.visible = true;\r\n\r\n      tIndex = handleGetIndex();\r\n    },\r\n    // 删除\r\n    remove(callback = () => {}) {\r\n      spin.visible = false;\r\n\r\n      setTimeout(() => {\r\n        Instance.unmount();\r\n        document.body.removeChild(container);\r\n\r\n        callback();\r\n      }, 300);\r\n    },\r\n    component: spin,\r\n  };\r\n};\r\n\r\nexport default Spin;\r\n"],"names":[],"mappings":";;;;;AAWA,MAAM,iBAAiB,MAAM;AAC3B,EAAiB,gBAAA,EAAA,CAAA;AACjB,EAAO,OAAA,aAAA,CAAA;AACT,CAAA,CAAA;AAGA,IAAI,SAAS,cAAe,EAAA,CAAA;AAG5B,IAAA,CAAK,WAAc,GAAA,CAAC,KAAQ,GAAA,EAAO,KAAA;AACjC,EAAA,IAAI,SAA6C,GAAA,IAAA,CAAA;AAEjD,EAAA,MAAM,WAAW,SAAU,CAAA;AAAA,IAEzB,IAAO,GAAA;AACL,MAAA,OAAO,MAAO,CAAA,MAAA,CAAO,EAAC,EAAG,KAAK,CAAA,CAAA;AAAA,KAChC;AAAA,IAEA,OAAU,GAAA;AACR,MAAA,SAAA,GAAY,kBAAmB,EAAA,CAAA;AAAA,KACjC;AAAA,IAEA,MAAS,GAAA;AACP,MAAA,IAAI,KAAsB,GAAA,IAAA,CAAA;AAG1B,MAAA,IAAI,KAAK,MAAQ,EAAA;AACf,QAAQ,KAAA,GAAA,CAAA;AAAA,UACN,IAAA;AAAA,UACA;AAAA,YACE,GAAK,EAAA,IAAA;AAAA,YACL,UAAY,EAAA,IAAA;AAAA,YACZ,GAAK,EAAA,MAAA;AAAA,WACP;AAAA,UACA;AAAA,YACE,OAAS,EAAA,MAAM,IAAK,CAAA,MAAA,CAAO,CAAC,CAAA;AAAA,WAC9B;AAAA,SACF,CAAA;AAAA,OAGG,MAAA;AACH,QAAA,KAAA,GAAQ,EAAE,IAAM,EAAA;AAAA,UACd,IAAM,EAAA,OAAA;AAAA,UACN,GAAK,EAAA,IAAA;AAAA,UACL,UAAY,EAAA,IAAA;AAAA,UACZ,GAAK,EAAA,MAAA;AAAA,SACN,CAAA,CAAA;AAAA,OACH;AAEA,MAAO,OAAA,CAAA;AAAA,QACL,KAAA;AAAA,QACA;AAAA,UACE,KAAO,EAAA,oDAAA;AAAA,UACP,KAAO,EAAA;AAAA,YACL,WAAW,IAAO,GAAA,MAAA;AAAA,WACpB;AAAA,SACF;AAAA,QACA,CAAC,KAAK,CAAA;AAAA,OACR,CAAA;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAGD,EAAM,MAAA,SAAA,GAAY,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC9C,EAAS,QAAA,CAAA,IAAA,CAAK,YAAY,SAAS,CAAA,CAAA;AACnC,EAAA,QAAA,CAAS,MAAM,SAAS,CAAA,CAAA;AAExB,EAAM,MAAA,IAAA,GAAO,UAAU,IAAK,CAAA,IAAA,CAAA;AAE5B,EAAO,OAAA;AAAA,IAEL,IAAO,GAAA;AACL,MAAA,IAAA,CAAK,OAAU,GAAA,IAAA,CAAA;AAEf,MAAA,MAAA,GAAS,cAAe,EAAA,CAAA;AAAA,KAC1B;AAAA,IAEA,MAAA,CAAO,WAAW,MAAM;AAAA,KAAI,EAAA;AAC1B,MAAA,IAAA,CAAK,OAAU,GAAA,KAAA,CAAA;AAEf,MAAA,UAAA,CAAW,MAAM;AACf,QAAA,QAAA,CAAS,OAAQ,EAAA,CAAA;AACjB,QAAS,QAAA,CAAA,IAAA,CAAK,YAAY,SAAS,CAAA,CAAA;AAEnC,QAAS,QAAA,EAAA,CAAA;AAAA,SACR,GAAG,CAAA,CAAA;AAAA,KACR;AAAA,IACA,SAAW,EAAA,IAAA;AAAA,GACb,CAAA;AACF,CAAA"}