@legion-ui-kit/react-core
Version:
To install the package into your project:
4 lines (3 loc) • 1.56 kB
JavaScript
"use client";
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),s=require("classnames"),a=require("./styles/styles.module.scss.cjs"),r=require("./TabPanel.cjs"),l=require("../../helpers/typography.cjs"),i=require("../../helpers/internal.cjs"),n=require("./Tab.constant.cjs");function T(e){return e&&e.__esModule?e:{default:e}}var _=T(s);const c=s=>{const{activePanel:T=n.TAB_PANEL_LIST_DEFAULT_PROPS.activePanel,children:c,className:u,slideDirection:o=n.TAB_PANEL_LIST_DEFAULT_PROPS.slideDirection,style:A,...N}=s,E=o===n.TAB_PANEL_SLIDE_DIRECTION.horizontal,[d,M]=t.useState(n.TABS_MOVEMENT.idle),[m,S]=t.useState([T]),O=_.default(a.default.legion_tab_panel_list,u,a.default[d],{[a.default.vertical]:!E}),f=t.Children.toArray(c).filter(e=>i.checkComponent(e,n.TAB_PANEL_DISPLAY_NAME));return t.useEffect(()=>{const[e]=m;let t;e<T?(t=E?n.TABS_MOVEMENT.movingLeft:n.TABS_MOVEMENT.movingDown,S([e,T])):e>T?(t=E?n.TABS_MOVEMENT.movingRight:n.TABS_MOVEMENT.movingUp,S([T,e])):(t=n.TABS_MOVEMENT.idle,S([T])),M(l.snakeCase(t));const s=setTimeout(()=>{M(n.TABS_MOVEMENT.idle),S([T])},n.TABS_ANIMATION_DURATION+n.TABS_ANIMATION_DELAY);return()=>{clearTimeout(s)}},[T]),e.jsx("div",{className:O,style:{animationDuration:`${n.TABS_ANIMATION_DURATION}ms`,...A},...N,children:m.map(t=>{const{className:s,...l}=f[t].props,i=_.default(a.default.panel_child,s);return e.jsx(r.default,{className:i,...l},t)})})};c.displayName="TabPanelList",exports.default=c;
//# sourceMappingURL=TabPanelList.cjs.map