{"version":3,"file":"LoadingIcon.cjs","sources":["../../../../../../packages/components/button/src/LoadingIcon.tsx"],"sourcesContent":["import { LoadingOutlined } from '@ant-design/icons-vue';\nimport { defineComponent, nextTick, Transition } from 'vue';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'LoadingIcon',\n  props: {\n    prefixCls: String,\n    loading: [Boolean, Object],\n    existIcon: Boolean,\n  },\n  setup(props) {\n    return () => {\n      const { existIcon, prefixCls, loading } = props;\n      if (existIcon) {\n        return (\n          <span class={`${prefixCls}-loading-icon`}>\n            <LoadingOutlined />\n          </span>\n        );\n      }\n      const getCollapsedWidth = (node: HTMLSpanElement) => {\n        if (node) {\n          node.style.width = '0px';\n          node.style.opacity = '0';\n          node.style.transform = 'scale(0)';\n        }\n      };\n      const getRealWidth = (node: HTMLSpanElement) => {\n        nextTick(() => {\n          if (node) {\n            node.style.width = `${node.scrollWidth}px`;\n            node.style.opacity = '1';\n            node.style.transform = 'scale(1)';\n          }\n        });\n      };\n      const resetStyle = (node: HTMLSpanElement) => {\n        if (node && node.style) {\n          node.style.width = null;\n          node.style.opacity = null;\n          node.style.transform = null;\n        }\n      };\n      const visible = !!loading;\n      return (\n        <Transition\n          name={`${prefixCls}-loading-icon-motion`}\n          onBeforeEnter={getCollapsedWidth}\n          onEnter={getRealWidth}\n          onAfterEnter={resetStyle}\n          onBeforeLeave={getRealWidth}\n          onLeave={(node: HTMLSpanElement) => {\n            setTimeout(() => {\n              getCollapsedWidth(node);\n            });\n          }}\n          onAfterLeave={resetStyle}\n        >\n          {visible\n            ? (\n                <span class={`${prefixCls}-loading-icon`}>\n                  <LoadingOutlined />\n                </span>\n              )\n            : null}\n        </Transition>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","props","prefixCls","String","loading","Boolean","Object","existIcon","setup","_createVNode","LoadingOutlined","getCollapsedWidth","node","style","width","opacity","transform","getRealWidth","nextTick","scrollWidth","resetStyle","visible","Transition","setTimeout","default"],"mappings":"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"}