UNPKG

@pnp/spfx-controls-react

Version:

Reusable React controls for SharePoint Framework solutions

24 lines 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ToolbarItemRenderer = void 0; var tslib_1 = require("tslib"); var React = tslib_1.__importStar(require("react")); var react_components_1 = require("@fluentui/react-components"); /** * Renders a single toolbar button with optional tooltip and label. */ var ToolbarItemRenderer = function (_a) { var item = _a.item, isLoading = _a.isLoading, itemClass = _a.itemClass, labelClass = _a.labelClass; if (item.visible === false) return null; if (item.onRender) return item.onRender(); var labelContent = labelClass ? (React.createElement("span", { className: labelClass }, item.label)) : (item.label); var button = item.label ? (React.createElement(react_components_1.ToolbarButton, { className: itemClass, "aria-label": item.ariaLabel || item.tooltip || item.label, icon: item.icon, onClick: item.onClick, disabled: item.disabled || isLoading, appearance: item.appearance }, labelContent)) : (React.createElement(react_components_1.ToolbarButton, { className: itemClass, "aria-label": item.ariaLabel || item.tooltip || item.key, icon: item.icon, onClick: item.onClick, disabled: item.disabled || isLoading, appearance: item.appearance })); if (item.tooltip) { return (React.createElement(react_components_1.Tooltip, { content: item.tooltip, relationship: "label" }, button)); } return button; }; exports.ToolbarItemRenderer = ToolbarItemRenderer; //# sourceMappingURL=ToolbarItemRenderer.js.map