@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
JavaScript
/**
* @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
};