UNPKG

@progress/kendo-react-buttons

Version:

All you need in React Button in one package: disabled/enabled states, built-in styles and more. KendoReact Buttons package

63 lines (62 loc) 2.3 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import * as t from "react"; import { useUnstyled as u, classNames as c, uDropDownButton as i, IconWrap as x } from "@progress/kendo-react-common"; const k = (e) => { const I = u(), a = e.unstyled || I, n = a && a.uDropDownButton, o = t.useCallback( (s) => { e.onClick(s, e.index); }, [e] ), d = e.dataItem.render || e.item || (e.item === void 0 ? e.render : null), m = e.dataItem.text !== void 0 ? e.dataItem.text : e.textField ? e.dataItem[e.textField] : e.dataItem, l = /* @__PURE__ */ t.createElement( "li", { id: e.id, className: c( i.li({ c: n, focused: e.focused }), e.className ), tabIndex: -1, onClick: o, onMouseDown: e.onDown, onPointerDown: e.onDown, role: "menuitem", "aria-disabled": e.dataItem.disabled || void 0 }, /* @__PURE__ */ t.createElement( "span", { tabIndex: -1, className: c( i.link({ c: n, selected: e.dataItem.selected, disabled: e.dataItem.disabled }) ), key: "icon" }, d ? /* @__PURE__ */ t.createElement(d, { item: e.dataItem, itemIndex: e.index }) : /* @__PURE__ */ t.createElement(t.Fragment, null, (e.dataItem.icon || e.dataItem.iconClass || e.dataItem.svgIcon) && /* @__PURE__ */ t.createElement( x, { className: e.dataItem.iconClass, name: e.dataItem.icon, icon: e.dataItem.svgIcon } ), e.dataItem.imageUrl && /* @__PURE__ */ t.createElement("img", { role: "presentation", alt: "", src: e.dataItem.imageUrl, className: "k-icon" }), m && /* @__PURE__ */ t.createElement("span", { className: "k-menu-link-text" }, m)) ) ); return e.item !== void 0 && e.render !== void 0 ? e.render.call(void 0, l, e) : l; }; k.displayName = "KendoReactButtonItem"; export { k as ButtonItem };