@tra-tech/react-native-kitra
Version:
UI kit for React Native
44 lines (43 loc) • 2.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.KitraProvider = void 0;
exports.applyDefaults = applyDefaults;
var _react = _interopRequireDefault(require("react"));
var _reactNativeGestureHandler = require("react-native-gesture-handler");
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
var _theme = require("./theme/theme");
var _typography = require("./typography/typography");
var _notification = require("./notification/notification");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
_reactNativeReanimated.default.addWhitelistedNativeProps({
text: true
});
const KitraProvider = _ref => {
let {
children,
messageType,
linearMessageType,
limit
} = _ref;
return /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.GestureHandlerRootView, {
style: {
flex: 1
}
}, /*#__PURE__*/_react.default.createElement(_theme.ThemeProvider, null, /*#__PURE__*/_react.default.createElement(_notification.NotificationProvider, {
linearMessageType: (theme, colorScheme) => linearMessageType ? linearMessageType(theme, colorScheme) : theme,
messageType: messageType,
limit: limit
}, /*#__PURE__*/_react.default.createElement(_typography.TypographyProvider, null, children))));
};
exports.KitraProvider = KitraProvider;
function applyDefaults(Component) {
return /*#__PURE__*/_react.default.forwardRef((props, ref) => /*#__PURE__*/_react.default.createElement(_theme.ThemeContext.Consumer, null, theme => /*#__PURE__*/_react.default.createElement(_typography.TypographyContext.Consumer, null, typography => /*#__PURE__*/_react.default.createElement(Component, _extends({
ref: ref,
theme: theme === null || theme === void 0 ? void 0 : theme.theme,
typography: typography === null || typography === void 0 ? void 0 : typography.typography
}, props)))));
}
//# sourceMappingURL=KitraProvider.js.map