UNPKG

@progress/kendo-react-treelist

Version:

React TreeList enables the display of self-referencing tabular data. KendoReact TreeList package

9 lines (8 loc) 2.36 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("react"),S=require("@progress/kendo-react-intl"),d=require("@progress/kendo-react-common"),v=require("@progress/kendo-react-data-tools"),E=require("@progress/kendo-svg-icons"),b=require("../constants/index.js");function R(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const l=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,l.get?l:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const i=R(N),x=e=>{const{hasChildren:a,level:t=[0],expanded:l,dataItem:r,format:u,id:T,ariaColumnIndex:k,isSelected:g}=e,s=d.getNestedValue(e.field,r),y=S.useInternationalization(),I=v.useTableKeyboardNavigation(T);let m="";const h=i.useCallback(n=>{n.isDefaultPrevented()||n.keyCode===d.Keys.enter&&e.expandable&&(n.preventDefault(),e.onExpandChange(n,r,t))},[e.expandable,r,t]);s!=null&&(m=u?y.format(u,s):s.toString());const c=[];if(e.expandable){const n=o=>i.createElement("span",{key:o,className:"k-treelist-toggle k-icon k-svg-icon"},i.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));c.push(...t.slice(1).map((o,C)=>n(C))),a?c.push(i.createElement(d.IconWrap,{className:"k-treelist-toggle",name:l?"caret-alt-down":"caret-alt-right",icon:l?E.caretAltDownIcon:E.caretAltRightIcon,key:"expand-collapse",onClick:o=>e.onExpandChange(o.syntheticEvent||o,r,t),[b.TREELIST_PREVENT_SELECTION_ELEMENT]:!0})):c.push(n(c.length))}const f=i.createElement("td",{style:e.style,className:d.classNames("k-table-td",e.className,{"k-text-nowrap":e.expandable,"k-selected":g}),colSpan:e.colSpan,"aria-colindex":k,"aria-expanded":a?l:void 0,"aria-selected":g,role:"gridcell",onKeyDown:h,[b.TREELIST_COL_INDEX_ATTRIBUTE]:e.colIndex,...I},c,m);return e.render?e.render.call(void 0,f,e):f};x.displayName="KendoReactTreeListCell";exports.TreeListCell=x;