@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
34 lines (33 loc) • 1.95 kB
JavaScript
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)));
});
;