@progress/kendo-react-layout
Version:
React Layout components enable you to create a perceptive and intuitive layout of web projects. KendoReact Layout package
9 lines (8 loc) • 1.95 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("react"),t=require("prop-types"),O=require("@progress/kendo-react-common");function P(n){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(i,r,a.get?a:{enumerable:!0,get:()=>n[r]})}}return i.default=n,Object.freeze(i)}const e=P(T),f=e.forwardRef((n,i)=>{const{id:r,active:a,disabled:l,title:C="Untitled",index:o,renderAllContent:p,first:k,last:g,contentPanelId:d,onSelect:u}=n,s=e.useRef(null),v=e.useCallback(()=>{var c;(c=s.current)==null||c.focus()},[]),b=e.useCallback(()=>{var c;(c=s.current)==null||c.blur()},[]),S=e.useCallback(()=>({focus:v,blur:b}),[v,b]);e.useImperativeHandle(i,S);const y=e.useCallback(()=>{u==null||u(o),s.current&&(s.current.tabIndex=0,s.current.focus())},[u,o]),m=e.useMemo(()=>p?`${d}-${o.toString()}`:d,[p,d,o]),I=e.useMemo(()=>O.classNames("k-tabstrip-item",{"k-disabled":l,"k-active":a,"k-first":k,"k-last":g}),[l,a,k,g]),N=e.useMemo(()=>({id:`${r}-${o.toString()}`,"aria-selected":a,"aria-controls":a?m:void 0,"aria-disabled":l,role:"tab",onClick:l?void 0:y}),[r,o,a,m,l,y]);return e.createElement("li",{...N,className:I,ref:s,onBlur:b,"aria-controls":m},e.createElement("span",{className:"k-link"},C))});f.propTypes={active:t.bool,disabled:t.bool,index:t.number,onSelect:t.func,title:t.oneOfType([t.string,t.element]),first:t.bool,last:t.bool};f.displayName="TabStripNavigationItem";exports.TabStripNavigationItem=f;