UNPKG

@progress/kendo-react-inputs

Version:

React Inputs offer a customizable interface for users to enter and pick different information. KendoReact Input package

122 lines (121 loc) 2.88 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 n from "react"; import l from "prop-types"; import { useDir as p, classNames as y } from "@progress/kendo-react-common"; const s = n.forwardRef((c, u) => { const o = n.useRef(null), a = n.useRef(null), e = { dir: b.dir, ...c }, r = p(a, e.dir); n.useImperativeHandle(o, () => ({ element: a.current, props: e, value: e.value })), n.useImperativeHandle(u, () => o.current); const i = n.useCallback( (t) => { e.onClick && e.onClick.call(void 0, { value: e.value, target: o.current, syntheticEvent: t }); }, [e.onClick, e.value] ), d = n.useCallback( (t) => { e.onKeyDown && e.onKeyDown.call(void 0, { target: o.current, syntheticEvent: t }); }, [e.onKeyDown] ), v = n.useCallback( (t) => { e.onFocus && e.onFocus.call(void 0, { target: o.current, syntheticEvent: t }); }, [e.onFocus] ), h = n.useCallback( (t) => { e.onBlur && e.onBlur.call(void 0, { target: o.current, syntheticEvent: t }); }, [e.onBlur] ), f = n.useCallback( (t) => { e.onMouseMove && e.onMouseMove.call(void 0, { target: o.current, syntheticEvent: t }); }, [e.onMouseMove] ), M = n.useCallback( (t) => { e.onMouseEnter && e.onMouseEnter.call(void 0, { target: o.current, syntheticEvent: t }); }, [e.onMouseEnter] ), m = n.useCallback( (t) => { e.onMouseLeave && e.onMouseLeave.call(void 0, { target: o.current, syntheticEvent: t }); }, [e.onMouseLeave] ); return /* @__PURE__ */ n.createElement( "span", { id: e.id, ref: a, dir: r, "data-half": e.half, tabIndex: e.tabIndex, title: e.title, style: e.style, className: y( "k-rating-item", { "k-rtl": r === "rtl", "k-selected": e.selected, "k-hover": e.hovered }, e.className ), onClick: i, onKeyDown: d, onFocus: v, onBlur: h, onMouseEnter: M, onMouseLeave: m, onMouseMove: f }, e.children ); }), k = { id: l.string, icon: l.any, dir: l.oneOf(["ltr", "rtl"]), title: l.string, value: l.number.isRequired, half: l.bool, selected: l.bool, hovered: l.bool }, b = { dir: "ltr" }; s.displayName = "KendoReactRatingItem"; s.propTypes = k; export { s as RatingItem };