UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

30 lines (29 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BreadcrumbsCurrentItem = exports.useBreadcrumbsItem = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const common_1 = require("@workday/canvas-kit-react/common"); const tooltip_1 = require("@workday/canvas-kit-react/tooltip"); const collection_1 = require("@workday/canvas-kit-react/collection"); const useBreadcrumbsModel_1 = require("./hooks/useBreadcrumbsModel"); const text_1 = require("@workday/canvas-kit-react/text"); exports.useBreadcrumbsItem = (0, common_1.composeHooks)((0, common_1.createElemPropsHook)(useBreadcrumbsModel_1.useBreadcrumbsModel)((_model, ref, elemProps) => { const { localRef } = (0, common_1.useLocalRef)((0, common_1.useForkRef)(ref)); let shouldShowTooltip = false; const refCurrent = localRef.current; if (refCurrent) { const { scrollWidth, clientWidth } = refCurrent; shouldShowTooltip = scrollWidth > clientWidth; } return { tabIndex: shouldShowTooltip ? 0 : undefined, ref: localRef, }; }), collection_1.useOverflowListItemMeasure, collection_1.useListItemRegister); exports.BreadcrumbsCurrentItem = (0, common_1.createSubcomponent)('li')({ displayName: 'Breadcrumbs.Item', modelHook: useBreadcrumbsModel_1.useBreadcrumbsModel, elemPropsHook: exports.useBreadcrumbsItem, })(({ children, tooltipProps = {}, maxWidth = '350px', ...elemProps }, Element) => { return ((0, jsx_runtime_1.jsx)(tooltip_1.OverflowTooltip, { ...tooltipProps, children: (0, jsx_runtime_1.jsx)(text_1.Text, { as: Element, typeLevel: "subtext.large", fontWeight: "medium", display: "inline-block", maxWidth: maxWidth, whiteSpace: "nowrap", textOverflow: "ellipsis", overflow: "hidden", ...elemProps, children: children }) })); });