{"version":3,"file":"message-box.mjs","sources":["../../../../../../packages/components/message-box/src/message-box.tsx"],"sourcesContent":["import { createVNode, render, isVNode } from 'vue'\nimport type { VNode } from 'vue'\nimport _Dialog from '../../dialog/src/dialog.vue'\nimport BnButton from '../../button/src/button.vue'\nimport BnSpace from '../../space/src/space.vue'\n\nimport { BnIconWarningFill, BnIconPrompt, BnIconCheckFill, BnIconCloseFill } from '../../icon'\n\nimport { isFunction } from '../../../utils/is'\n\nimport type {\n  MessageBoxOptions,\n  MessageBoxFooterAction,\n  MessageBoxFooterScoped,\n  MessageBoxMethods,\n  MessageBoxStaticMethod,\n  MessageBoxCaller,\n  MessageBoxBeforeAction,\n  MessageBoxChainArgs,\n  MessageBoxContent\n} from './types'\nimport { messageBoxStaticMethods } from './types'\n\nconst MessageBox: Partial<MessageBoxMethods> & MessageBoxCaller = (\n  options: MessageBoxOptions\n): void => {\n  const vmMountContainer: HTMLElement = document.createElement('div')\n  const onDestroy = () => {\n    render(null, vmMountContainer)\n  }\n\n  const onBeforeCancel = (action: MessageBoxFooterAction) => {\n    if (action === 'cancel') {\n      if (options.beforeOnCancel) {\n        return options.beforeOnCancel()\n      }\n      return true\n    }\n    if (action === 'ok') {\n      if (options.beforeOnOk) {\n        return options.beforeOnOk()\n      }\n      return true\n    }\n  }\n\n  const onClose = (action: MessageBoxFooterAction, e: Event) => {\n    if (action === 'cancel') {\n      options.onCancel && options.onCancel(e)\n    }\n\n    if (action === 'ok') {\n      options.onOk && options.onOk(e)\n    }\n  }\n\n  const defaultRenderIcon = (type: MessageBoxStaticMethod) => {\n    let vnode: VNode\n    switch (type) {\n      case 'warning':\n        vnode = <BnIconWarningFill size=\"60px\" color=\"#f6c64b\" />\n        break\n      case 'strong':\n        vnode = <BnIconWarningFill size=\"60px\" color=\"#ff7125\" />\n        break\n      case 'error':\n        vnode = <BnIconCloseFill size=\"60px\" color=\"#e24f48\" />\n        break\n      case 'success':\n        vnode = <BnIconCheckFill size=\"60px\" color=\"#68d1ab\" />\n        break\n      case 'info':\n        vnode = <BnIconPrompt size=\"60px\" color=\"#2355f5\" />\n        break\n    }\n    return vnode!\n  }\n\n  const defaultHeader = () => {\n    return () => {\n      return defaultRenderIcon(options.type || 'success')\n    }\n  }\n\n  const defaultBody = () => {\n    const renderTitle = (title: any) => {\n      if (isVNode(title)) return title\n      if (isFunction(title)) {\n        const vnode = title()\n        return isVNode(vnode) ? vnode : null\n      }\n      return <div class=\"bn-message-box__title\"> {title} </div>\n    }\n\n    const renderContent = (content: any) => {\n      if (isVNode(content)) return content\n      if (isFunction(content)) {\n        const vnode = content()\n        return isVNode(vnode) ? vnode : null\n      }\n      return <div class=\"bn-message-box__content\"> {options.content} </div>\n    }\n\n    return () => (\n      <>\n        {options.title && renderTitle(options.title)}\n        {options.content && renderContent(options.content)}\n      </>\n    )\n  }\n\n  const defaultFooter = () => {\n    if (isVNode(options.footer)) return options.footer\n    if (isFunction(options.footer)) {\n      return options.footer\n    }\n\n    const cancelText = options?.cancelText || '取消'\n    const okText = options?.okText || '确认'\n    return (scoped: MessageBoxFooterScoped) => {\n      return (\n        <BnSpace size={12}>\n          {!options.hideCancel && (\n            <BnButton onClick={scoped.cancel} loading={scoped.loadingObj?.cancel}>\n              {cancelText}\n            </BnButton>\n          )}\n          {!options.hideOk && (\n            <BnButton type=\"primary\" onClick={scoped.ok} loading={scoped.loadingObj?.ok}>\n              {okText}\n            </BnButton>\n          )}\n        </BnSpace>\n      )\n    }\n  }\n\n  const vm = createVNode(\n    _Dialog,\n    {\n      messageBox: true,\n      width: options?.width ?? 460,\n      height: options?.height ?? 'auto',\n      modelValue: true,\n      renderTo: options?.renderTo,\n      center: options?.top ? false : options?.center ?? true,\n      top: options?.top ?? 0,\n      mask: options?.mask ?? true,\n      maskToClose: options?.maskToClose ?? true,\n      popupClass: options.popupClass,\n      onClose,\n      onBeforeCancel,\n      'onUpdate:modelValue': () => {\n        // hack:如果你有更好的写法 欢迎pr\n        vm.component!.props.modelValue = false\n      },\n      // 等待动画完全结束后销毁vm\n      onClosed: onDestroy,\n      onOpened: () => {}\n    },\n    {\n      title: defaultHeader(),\n      default: defaultBody(),\n      footer: defaultFooter()\n    }\n  )\n\n  render(vm, vmMountContainer)\n}\n\nconst registerAllMethods = () => {\n  messageBoxStaticMethods.forEach((method: MessageBoxStaticMethod) => {\n    MessageBox[method] = (title: MessageBoxContent, content: MessageBoxContent) => {\n      const okFnArr: Array<Function> = []\n      const cancelFnArr: Array<Function> = []\n      let _beforeOkFn: MessageBoxBeforeAction = () => true\n      let _beforeCancelFn: MessageBoxBeforeAction = () => true\n      setTimeout(() => {\n        MessageBox({\n          title,\n          content,\n          type: method,\n          beforeOnCancel: _beforeCancelFn,\n          beforeOnOk: _beforeOkFn,\n          onOk: () => {\n            okFnArr.forEach((fn) => isFunction(fn) && fn())\n          },\n          onCancel: () => {\n            cancelFnArr.forEach((fn) => isFunction(fn) && fn())\n          }\n        })\n      }, 0)\n      return {\n        ok(...args: MessageBoxChainArgs) {\n          if (args.length === 1) {\n            okFnArr.push(args[0])\n          }\n          if (args.length === 2) {\n            _beforeOkFn = args[0]\n            okFnArr.push(args[1])\n          }\n          return this\n        },\n        cancel(...args: MessageBoxChainArgs) {\n          if (args.length === 1) {\n            cancelFnArr.push(args[0])\n          }\n          if (args.length === 2) {\n            _beforeCancelFn = args[0]\n            cancelFnArr.push(args[1])\n          }\n          return this\n        }\n      }\n    }\n  })\n}\n\nregisterAllMethods()\n\nexport default MessageBox as MessageBoxMethods\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","MessageBox","options","vmMountContainer","document","createElement","onDestroy","render","onBeforeCancel","action","beforeOnCancel","beforeOnOk","onClose","e","onCancel","onOk","defaultRenderIcon","type","vnode","_createVNode","BnIconWarningFill","BnIconCloseFill","BnIconCheckFill","BnIconPrompt","defaultHeader","defaultBody","renderTitle","title","isVNode","isFunction","_createTextVNode","renderContent","content","_Fragment","defaultFooter","footer","cancelText","okText","scoped","BnSpace","default","_a","_b","hideCancel","BnButton","cancel","loadingObj","hideOk","ok","vm","createVNode","_Dialog","messageBox","width","height","modelValue","renderTo","center","top","mask","maskToClose","popupClass","onUpdate:modelValue","component","props","onClosed","onOpened","registerAllMethods","messageBoxStaticMethods","forEach","method","okFnArr","cancelFnArr","_beforeOkFn","_beforeCancelFn","setTimeout","fn","args","length","push"],"mappings":"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"}