UNPKG

@guruhotel/aura-ui

Version:

⚛️ React UI library by GuruHotel

1 lines 875 B
import*as e from"react";export function useSteps({initialStep:t,steps:n}){var i;const[r,a]=e.useState(t);return{nextStep:()=>{a((e=>e+1))},prevStep:()=>{a((e=>e-1))},resetSteps:()=>{a(t)},setStep:e=>{a(e)},activeStep:r,isDisabledStep:0===r,isLastStep:r===n.length-1,isOptionalStep:null==(i=n[r])?void 0:i.optional}}export function useMediaQuery(t,n,{getInitialValueInEffect:i}={getInitialValueInEffect:!0}){const[r,a]=e.useState(!i&&function(e,t){return"boolean"==typeof t?t:"undefined"!=typeof window&&"matchMedia"in window&&window.matchMedia(e).matches}(t,n)),s=e.useRef();return e.useEffect((()=>{if("matchMedia"in window)return s.current=window.matchMedia(t),a(s.current.matches),function(e,t){try{return e.addEventListener("change",t),()=>e.removeEventListener("change",t)}catch(n){return e.addListener(t),()=>e.removeListener(t)}}(s.current,(e=>a(e.matches)))}),[t]),r}