UNPKG

@gsretail.com/gui-core

Version:

A skeleton to create your own React component library using Rollup, TypeScript, Sass and Storybook

2 lines (1 loc) 649 B
import*as e from"react";import{useControlled as n}from"@mui/material/utils";import{arrayIncludes as i}from"../utils/utils.js";function l({onChange:l,onViewChange:t,openTo:a,view:o,views:r}){var s,u;const[p,c]=n({name:"Picker",state:"view",controlled:o,default:a&&i(r,a)?a:r[0]}),m=null!=(s=r[r.indexOf(p)-1])?s:null,f=null!=(u=r[r.indexOf(p)+1])?u:null,w=e.useCallback((e=>{c(e),t&&t(e)}),[c,t]),d=e.useCallback((()=>{f&&w(f)}),[f,w]);return{handleChangeAndOpenNext:e.useCallback(((e,n)=>{const i="finish"===n,t=i&&Boolean(f)?"partial":n;l(e,t),i&&d()}),[f,l,d]),nextView:f,previousView:m,openNext:d,openView:p,setOpenView:w}}export{l as useViews};