@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
19 lines (18 loc) • 1.1 kB
JavaScript
import * as React from 'react';
import { createSubcomponent } from '@workday/canvas-kit-react/common';
import { Flex } from '@workday/canvas-kit-react/layout';
import { useOverflowListMeasure, useListRenderItems } from '@workday/canvas-kit-react/collection';
import { space } from '@workday/canvas-kit-react/tokens';
import { useBreadcrumbsModel } from './hooks/useBreadcrumbsModel';
export const BreadcrumbsList = createSubcomponent('ul')({
displayName: 'Breadcrumbs.List',
modelHook: useBreadcrumbsModel,
elemPropsHook: useOverflowListMeasure,
})(({ overflowButton, children, ...elemProps }, Element, model) => {
const items = useListRenderItems(model, children);
const splitIndex = items.length - 2;
return (React.createElement(Flex, { as: Element, padding: "zero", margin: "zero", display: "inline-flex", alignItems: "center", minHeight: space.xl, listStyle: "none", role: "list", width: "100%", ...elemProps },
items.length ? items.slice(0, splitIndex) : items,
overflowButton,
items.length ? items.slice(splitIndex, items.length) : null));
});