UNPKG

@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) 2.34 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 q=require("react"),e=require("prop-types"),T=require("./context/DrawerContext.js"),W=require("./DrawerNavigation.js"),p=require("@progress/kendo-react-common");function I(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const r=I(q),m=r.forwardRef((t,o)=>{const{expanded:n=a.expanded,mode:i=a.mode,position:w=a.position,className:b,drawerClassName:v,children:y,style:g,animation:h=a.animation,mini:u=a.mini,width:k=a.width,miniWidth:N=a.miniWidth,items:c,item:D,tabIndex:x,onOverlayClick:C,onSelect:l}=t,s=r.useRef(null),O=r.useCallback(()=>{s.current&&s.current.focus()},[]);r.useImperativeHandle(o,()=>({element:s.current,focus:O}));const S=r.useCallback((j,P,d)=>{if(c&&l){const R={itemTarget:j,itemIndex:P,syntheticEvent:d,nativeEvent:d&&d.nativeEvent,target:void 0};l.call(void 0,R)}},[c,l]),f=p.useDir(s,t.dir),E=p.classNames({"k-drawer-container":!0,"k-drawer-expanded":n,"k-drawer-overlay":i==="overlay","k-drawer-push":i==="push","k-drawer-mini":u&&!n},b);return r.createElement(T.DrawerContext.Provider,{value:{animation:h,expanded:n,mode:i,position:w,mini:u,dir:f,items:c,item:D,width:k,miniWidth:N,onOverlayClick:C,onSelect:S}},r.createElement("div",{className:E,ref:s,dir:f,style:g,tabIndex:x},c&&r.createElement(W.DrawerNavigation,{className:v}),y))});m.propTypes={animation:e.any,expanded:e.bool,children:e.any,className:e.string,dir:e.string,mode:e.string,position:e.string,mini:e.bool,style:e.object,tabIndex:e.number,width:e.number,miniWidth:e.number,selected:e.number,onSelect:e.func,onOverlayClick:e.func};const a={animation:!0,expanded:!1,mode:"overlay",position:"start",mini:!1,width:240,miniWidth:48};m.displayName="KendoDrawer";exports.Drawer=m;