UNPKG

@redocly/theme

Version:

Shared UI components lib

77 lines (73 loc) 3.06 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FooterColumn = FooterColumn; const react_1 = __importDefault(require("react")); const styled_components_1 = __importDefault(require("styled-components")); const FooterItem_1 = require("../../components/Footer/FooterItem"); const utils_1 = require("../../core/utils"); const hooks_1 = require("../../core/hooks"); const Link_1 = require("../../components/Link/Link"); function FooterColumn({ column, className }) { const { useTranslate } = (0, hooks_1.useThemeHooks)(); const { translate } = useTranslate(); const { items = [] } = column; const iconsOnly = items.every((item) => item.label === item.link && (item.icon || item.srcSet)); const label = translate(column.labelTranslationKey, column.label); return (react_1.default.createElement(FooterColumnWrapper, { "data-component-name": "Footer/FooterColumn", className: className }, react_1.default.createElement(FooterColumnTitle, null, (0, utils_1.isNavLinkItem)(column) ? (react_1.default.createElement(Link_1.Link, { to: column.link, external: column.external, target: column.target }, label)) : (label)), react_1.default.createElement(FooterColumnItems, { iconsOnly: iconsOnly }, items === null || items === void 0 ? void 0 : items.map((columnItem, columnItemIndex) => (react_1.default.createElement(FooterItem_1.FooterItem, { item: columnItem, iconsOnly: iconsOnly, key: columnItemIndex })))))); } const FooterColumnWrapper = styled_components_1.default.div ` display: flex; flex: 1; position: relative; flex-direction: column; text-align: center; word-break: break-word; min-width: var(--footer-column-min-width); align-content: center; flex-wrap: wrap; gap: var(--footer-column-title-gap); @media screen and (min-width: ${utils_1.breakpoints.small}) { text-align: left; &:not(:last-child) { &::after { content: ''; position: absolute; display: block; width: 1px; height: 100%; background-color: var(--footer-column-divider-color); right: calc(0px - var(--footer-column-gap) / 2); } } } `; const FooterColumnTitle = styled_components_1.default.div ` display: inline-block; font-weight: var(--footer-title-font-weight); font-size: var(--footer-title-font-size); margin-top: 0; color: var(--footer-title-text-color); margin-bottom: 0; a { text-decoration: none; color: var(--footer-title-text-color); &:hover { color: var(--footer-title-text-color-hover); } } `; const FooterColumnItems = styled_components_1.default.div ` display: flex; flex-wrap: wrap; justify-content: center; flex-direction: ${(props) => (props.iconsOnly ? 'row' : 'column')}; @media screen and (min-width: ${utils_1.breakpoints.small}) { justify-content: flex-start; } `; //# sourceMappingURL=FooterColumn.js.map