UNPKG

@smart-react-components/ui

Version:
32 lines (31 loc) 1.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const A_1 = __importDefault(require("@smart-react-components/core/Element/A")); const useLink_1 = __importDefault(require("@smart-react-components/router/hooks/useLink")); const react_1 = __importDefault(require("react")); const styled_components_1 = require("styled-components"); const WaveEffect_1 = __importDefault(require("../WaveEffect")); const BreadcrumbItemElement_1 = __importDefault(require("../components/Breadcrumb/BreadcrumbItemElement")); const wave_effect_1 = require("../util/wave-effect"); const BreadcrumbLink = (props) => { const theme = (0, styled_components_1.useTheme)(); const waveEffectPalette = react_1.default.useMemo(() => (0, wave_effect_1.getWaveEffectPalette)(props, theme.$.vars.isDarkMode), [props.palette, props.isOutline, props.isSoft, props.waveEffectPalette, theme.$.vars.isDarkMode]); const { children, handleOnClick, isActive, to } = (0, useLink_1.default)({ children: props.children, isDisabled: props.isDisabled, isExact: props.isExact, onClick: null, path: props.path, to: props.to, }); const AnchorEl = (react_1.default.createElement(A_1.default, Object.assign({}, props.elementProps, { href: to, onClick: handleOnClick }), children)); const El = props.hasWaveEffect ? react_1.default.createElement(WaveEffect_1.default, { palette: waveEffectPalette }, AnchorEl) : AnchorEl; return (react_1.default.createElement(BreadcrumbItemElement_1.default, { isActive: isActive, isDisabled: props.isDisabled, isOutline: props.isOutline, isSoft: props.isSoft, palette: props.palette, separator: props.separator, shape: props.shape }, El)); }; BreadcrumbLink.defaultProps = { isExact: true, }; exports.default = BreadcrumbLink;