UNPKG

@gechiui/block-editor

Version:
52 lines (46 loc) 1.48 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@gechiui/element"; /** * External dependencies */ import { View } from 'react-native'; /** * GeChiUI dependencies */ import { Icon } from '@gechiui/components'; import { blockDefault } from '@gechiui/icons'; import { usePreferredColorSchemeStyle } from '@gechiui/compose'; /** * Internal dependencies */ import styles from './style.scss'; export function BlockIcon(_ref) { var _icon, _usePreferredColorSch, _icon2; let { icon, fill, size, showColors = false } = _ref; if (((_icon = icon) === null || _icon === void 0 ? void 0 : _icon.src) === 'block-default') { icon = { src: blockDefault }; } const defaultFill = (_usePreferredColorSch = usePreferredColorSchemeStyle(styles.iconPlaceholder, styles.iconPlaceholderDark)) === null || _usePreferredColorSch === void 0 ? void 0 : _usePreferredColorSch.fill; const iconForeground = showColors ? (_icon2 = icon) === null || _icon2 === void 0 ? void 0 : _icon2.foreground : undefined; const renderedIcon = createElement(Icon, _extends({ icon: icon && icon.src ? icon.src : icon, fill: fill || iconForeground || defaultFill }, size && { size })); const style = showColors ? { backgroundColor: icon && icon.background } : {}; return createElement(View, { style: style }, renderedIcon); } export default BlockIcon; //# sourceMappingURL=index.native.js.map