UNPKG

@neo4j-ndl/react

Version:

React implementation of Neo4j Design System

65 lines (64 loc) 2.67 kB
/** * * Copyright (c) "Neo4j" * Neo4j Sweden AB [http://neo4j.com] * * This file is part of Neo4j. * * Neo4j is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logo = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const Neo4JIconBlack_1 = __importDefault(require("../icons/generated/custom/Neo4JIconBlack")); const Neo4JIconColor_1 = __importDefault(require("../icons/generated/custom/Neo4JIconColor")); const Neo4JIconWhite_1 = __importDefault(require("../icons/generated/custom/Neo4JIconWhite")); const Neo4JLogoBlack_1 = __importDefault(require("../icons/generated/custom/Neo4JLogoBlack")); const Neo4JLogoColor_1 = __importDefault(require("../icons/generated/custom/Neo4JLogoColor")); const Neo4JLogoWhite_1 = __importDefault(require("../icons/generated/custom/Neo4JLogoWhite")); const theme_1 = require("../theme"); const iconMap = { icon: { black: Neo4JIconBlack_1.default, white: Neo4JIconWhite_1.default, color: Neo4JIconColor_1.default, }, full: { black: Neo4JLogoBlack_1.default, white: Neo4JLogoWhite_1.default, color: Neo4JLogoColor_1.default, }, }; /** * By default, Logo will be theme aware, unless `color` is explicitly provided. * * On light theme it will be colored and on dark theme it will be white. */ const Logo = ({ color, type = 'full', className, style, htmlAttributes, ref, }) => { const theme = (0, theme_1.useNeedleTheme)(); // use themed logo if color is not explicitly provided const iconColor = color ? color : theme.theme === 'light' ? 'color' : 'white'; const Icon = iconMap[type][iconColor]; return ((0, jsx_runtime_1.jsx)(Icon, Object.assign({ ref: ref, className: className, style: style }, htmlAttributes))); }; exports.Logo = Logo; //# sourceMappingURL=Logo.js.map