react-native-resegmented-control
Version:
A fully customizable, declarative component that mimics the design of UISegmentedControl from iOS 13. Supported on iOS and Android
33 lines • 1.68 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importDefault(require("react"));
var react_native_1 = require("react-native");
var react_native_reanimated_1 = __importStar(require("react-native-reanimated"));
var react_native_redash_1 = require("react-native-redash");
var DividerStyles_1 = __importDefault(require("./DividerStyles"));
function _Divider(_a) {
var _b = _a.hide, hide = _b === void 0 ? false : _b;
var opacity = react_1.default.useRef(new react_native_reanimated_1.default.Value(hide ? 0 : 1));
react_native_reanimated_1.default.useCode(function () {
return react_native_reanimated_1.default.set(opacity.current, react_native_redash_1.timing({
from: hide ? 0 : 1,
to: hide ? 1 : 0,
easing: react_native_reanimated_1.Easing.linear,
duration: 200,
}));
}, [hide]);
return (react_1.default.createElement(react_native_reanimated_1.default.View, { style: [DividerStyles_1.default.dividerContainer, { opacity: opacity.current }] },
react_1.default.createElement(react_native_1.View, { style: DividerStyles_1.default.divider })));
}
exports.Divider = react_1.default.memo(_Divider);
//# sourceMappingURL=Divider.js.map