"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const antd_mobile_1 = require("antd-mobile");
require("./PullToRefresh.css");
const OakPullToRefresh = (props) => {
    const { children, disabled, distanceToRefresh, indicator, onRefresh, refreshing, ...restProps } = props;
    return (<div className="oak-pull-to-refresh">
            <antd_mobile_1.PullToRefresh {...restProps} disabled={disabled || refreshing} onRefresh={async () => {
            await onRefresh?.();
        }} renderText={(status) => {
            if (status === 'canRelease') {
                return indicator?.activate;
            }
            if (status === 'refreshing') {
                return indicator?.release;
            }
            if (status === 'complete') {
                return indicator?.finish;
            }
            return indicator?.deactivate;
        }} threshold={distanceToRefresh}>
                <div className="oak-pull-to-refresh-content">
                    {children}
                </div>
            </antd_mobile_1.PullToRefresh>
        </div>);
};
exports.default = OakPullToRefresh;
