"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProductBreadcrumbs = void 0;
const react_1 = __importDefault(require("react"));
const react_i18next_1 = require("react-i18next");
const react_web_components_1 = require("@nimles/react-web-components");
const Link_1 = require("./Link");
const getParents = (productGroup, productGroups) => {
    let parents = [];
    if (!productGroup) {
        return parents;
    }
    if (productGroup.parentId) {
        const parent = productGroups.find((pg) => pg.id === productGroup.parentId);
        parents = getParents(parent, productGroups);
    }
    parents.push(productGroup);
    return parents;
};
const ProductBreadcrumbs = ({ productGroup, productGroups, }) => {
    const { t } = (0, react_i18next_1.useTranslation)();
    const breadcrumbs = productGroup &&
        productGroups && [
        {
            name: t('prop.home'),
            to: '/',
        },
        ...getParents(productGroup, productGroups).map((parent) => {
            const part = {
                name: parent.name,
                to: '/' + parent.uniqueName,
            };
            return part;
        }),
    ];
    return (<react_web_components_1.Breadcrumbs breadcrumbs={breadcrumbs} node={(name, to) => <Link_1.NavLink to={to}>{name}</Link_1.NavLink>}/>);
};
exports.ProductBreadcrumbs = ProductBreadcrumbs;
//# sourceMappingURL=ProductBreadcrumbs.jsx.map