{"ast":null,"code":"\"use client\";\n\nimport * as React from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/buttonHelpers';\nconst isThenable = thing => {\n  return typeof (thing === null || thing === void 0 ? void 0 : thing.then) === 'function';\n};\nconst ActionButton = props => {\n  const {\n    type,\n    children,\n    prefixCls,\n    buttonProps,\n    close,\n    autoFocus,\n    emitEvent,\n    isSilent,\n    quitOnNullishReturnValue,\n    actionFn\n  } = props;\n  const clickedRef = React.useRef(false);\n  const buttonRef = React.useRef(null);\n  const [loading, setLoading] = useState(false);\n  const onInternalClose = function () {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    close === null || close === void 0 ? void 0 : close.apply(void 0, args);\n  };\n  React.useEffect(() => {\n    let timeoutId = null;\n    if (autoFocus) {\n      timeoutId = setTimeout(() => {\n        var _a;\n        (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus({\n          preventScroll: true\n        });\n      });\n    }\n    return () => {\n      if (timeoutId) {\n        clearTimeout(timeoutId);\n      }\n    };\n  }, [autoFocus]);\n  const handlePromiseOnOk = returnValueOfOnOk => {\n    if (!isThenable(returnValueOfOnOk)) {\n      return;\n    }\n    setLoading(true);\n    returnValueOfOnOk.then(function () {\n      setLoading(false, true);\n      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n      onInternalClose.apply(void 0, args);\n      clickedRef.current = false;\n    }, e => {\n      // See: https://github.com/ant-design/ant-design/issues/6183\n      setLoading(false, true);\n      clickedRef.current = false;\n      // Do not throw if is `await` mode\n      if (isSilent === null || isSilent === void 0 ? void 0 : isSilent()) {\n        return;\n      }\n      return Promise.reject(e);\n    });\n  };\n  const onClick = e => {\n    if (clickedRef.current) {\n      return;\n    }\n    clickedRef.current = true;\n    if (!actionFn) {\n      onInternalClose();\n      return;\n    }\n    let returnValueOfOnOk;\n    if (emitEvent) {\n      returnValueOfOnOk = actionFn(e);\n      if (quitOnNullishReturnValue && !isThenable(returnValueOfOnOk)) {\n        clickedRef.current = false;\n        onInternalClose(e);\n        return;\n      }\n    } else if (actionFn.length) {\n      returnValueOfOnOk = actionFn(close);\n      // https://github.com/ant-design/ant-design/issues/23358\n      clickedRef.current = false;\n    } else {\n      returnValueOfOnOk = actionFn();\n      if (!isThenable(returnValueOfOnOk)) {\n        onInternalClose();\n        return;\n      }\n    }\n    handlePromiseOnOk(returnValueOfOnOk);\n  };\n  return /*#__PURE__*/React.createElement(Button, Object.assign({}, convertLegacyProps(type), {\n    onClick: onClick,\n    loading: loading,\n    prefixCls: prefixCls\n  }, buttonProps, {\n    ref: buttonRef\n  }), children);\n};\nexport default ActionButton;","map":{"version":3,"names":["React","useState","Button","convertLegacyProps","isThenable","thing","then","ActionButton","props","type","children","prefixCls","buttonProps","close","autoFocus","emitEvent","isSilent","quitOnNullishReturnValue","actionFn","clickedRef","useRef","buttonRef","loading","setLoading","onInternalClose","_len","arguments","length","args","Array","_key","apply","useEffect","timeoutId","setTimeout","_a","current","focus","preventScroll","clearTimeout","handlePromiseOnOk","returnValueOfOnOk","_len2","_key2","e","Promise","reject","onClick","createElement","Object","assign","ref"],"sources":["/Users/nili/Documents/trae_projects/client/node_modules/antd/es/_util/ActionButton.js"],"sourcesContent":["\"use client\";\n\nimport * as React from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/buttonHelpers';\nconst isThenable = thing => {\n  return typeof (thing === null || thing === void 0 ? void 0 : thing.then) === 'function';\n};\nconst ActionButton = props => {\n  const {\n    type,\n    children,\n    prefixCls,\n    buttonProps,\n    close,\n    autoFocus,\n    emitEvent,\n    isSilent,\n    quitOnNullishReturnValue,\n    actionFn\n  } = props;\n  const clickedRef = React.useRef(false);\n  const buttonRef = React.useRef(null);\n  const [loading, setLoading] = useState(false);\n  const onInternalClose = (...args) => {\n    close === null || close === void 0 ? void 0 : close.apply(void 0, args);\n  };\n  React.useEffect(() => {\n    let timeoutId = null;\n    if (autoFocus) {\n      timeoutId = setTimeout(() => {\n        var _a;\n        (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus({\n          preventScroll: true\n        });\n      });\n    }\n    return () => {\n      if (timeoutId) {\n        clearTimeout(timeoutId);\n      }\n    };\n  }, [autoFocus]);\n  const handlePromiseOnOk = returnValueOfOnOk => {\n    if (!isThenable(returnValueOfOnOk)) {\n      return;\n    }\n    setLoading(true);\n    returnValueOfOnOk.then((...args) => {\n      setLoading(false, true);\n      onInternalClose.apply(void 0, args);\n      clickedRef.current = false;\n    }, e => {\n      // See: https://github.com/ant-design/ant-design/issues/6183\n      setLoading(false, true);\n      clickedRef.current = false;\n      // Do not throw if is `await` mode\n      if (isSilent === null || isSilent === void 0 ? void 0 : isSilent()) {\n        return;\n      }\n      return Promise.reject(e);\n    });\n  };\n  const onClick = e => {\n    if (clickedRef.current) {\n      return;\n    }\n    clickedRef.current = true;\n    if (!actionFn) {\n      onInternalClose();\n      return;\n    }\n    let returnValueOfOnOk;\n    if (emitEvent) {\n      returnValueOfOnOk = actionFn(e);\n      if (quitOnNullishReturnValue && !isThenable(returnValueOfOnOk)) {\n        clickedRef.current = false;\n        onInternalClose(e);\n        return;\n      }\n    } else if (actionFn.length) {\n      returnValueOfOnOk = actionFn(close);\n      // https://github.com/ant-design/ant-design/issues/23358\n      clickedRef.current = false;\n    } else {\n      returnValueOfOnOk = actionFn();\n      if (!isThenable(returnValueOfOnOk)) {\n        onInternalClose();\n        return;\n      }\n    }\n    handlePromiseOnOk(returnValueOfOnOk);\n  };\n  return /*#__PURE__*/React.createElement(Button, Object.assign({}, convertLegacyProps(type), {\n    onClick: onClick,\n    loading: loading,\n    prefixCls: prefixCls\n  }, buttonProps, {\n    ref: buttonRef\n  }), children);\n};\nexport default ActionButton;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}