UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

34 lines (33 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 }); exports.BreadcrumbsCurrentItem = exports.useBreadcrumbsItem = void 0; const react_1 = __importDefault(require("react")); 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 (react_1.default.createElement(tooltip_1.OverflowTooltip, { ...tooltipProps }, react_1.default.createElement(text_1.Text, { as: Element, typeLevel: "subtext.large", fontWeight: "medium", display: "inline-block", maxWidth: maxWidth, whiteSpace: "nowrap", textOverflow: "ellipsis", overflow: "hidden", ...elemProps }, children))); });