@audira/carbon-react-native
Version:
Build React Native apps with component and shared patterns using Carbon
43 lines (42 loc) • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Layer = void 0;
var _react = require("react");
var _reactNative = require("react-native");
var _carbonReactNativeElements = require("@audira/carbon-react-native-elements");
var _index = require("../../_internal/helpers/index.js");
var _index2 = require("../../carbon-style-sheet/index.js");
var _LayerContext = require("./LayerContext.js");
var _jsxRuntime = require("react/jsx-runtime");
const Layer = exports.Layer = /*#__PURE__*/(0, _react.forwardRef)(function Layer({
level: levelProp,
withBackground,
style,
...props
}, ref) {
const layerContextLevel = (0, _react.useContext)(_LayerContext.LayerContext),
level = levelProp ?? layerContextLevel,
value = _index.MathHelper.clamp(level + 1, _carbonReactNativeElements.Color.Layer.MinLevel, _carbonReactNativeElements.Color.Layer.MaxLevel);
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LayerContext.LayerContext.Provider, {
value: value,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
ref: ref,
...props,
style: [withBackground ? bgLevelStyleSheet[value] : undefined, style]
})
});
});
const bgLevelStyleSheet = _index2.CarbonStyleSheet.create({
1: {
backgroundColor: _index2.CarbonStyleSheet.color.layer_01
},
2: {
backgroundColor: _index2.CarbonStyleSheet.color.layer_02
},
3: {
backgroundColor: _index2.CarbonStyleSheet.color.layer_03
}
});
//# sourceMappingURL=Layer.js.map