UNPKG

@guruhotel/aura-ui

Version:

⚛️ React UI library by GuruHotel

1 lines 1.87 kB
exports.__esModule=!0,exports.Steps=void 0;var e=function(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=s(r);if(t&&t.has(e))return t.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var l=i?Object.getOwnPropertyDescriptor(e,o):null;l&&(l.get||l.set)?Object.defineProperty(n,o,l):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(require("react")),r=require("../../context"),t=require("../../../box"),n=require("./step.styles"),i=require("../../hooks"),o=require("react/jsx-runtime");function s(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(s=function(e){return e?t:r})(e)}const l=e.forwardRef((({activeStep:s=0,state:l,responsive:a=!0,orientation:c="horizontal",onClickStep:p,labelOrientation:u="horizontal",children:d,size:f="md",colorScheme:h="guru",css:v,rounded:m=!0,variant:S="flat",errorIcon:y,successIcon:x},C)=>{const b=e.Children.toArray(d),j=b.length,O=!!p,g=(0,i.useMediaQuery)("(max-width: 43em)")&&a?"vertical":c;return(0,o.jsxs)(r.StepsProvider,{value:{activeStep:s,orientation:g,state:l,responsive:a,onClickStep:p,labelOrientation:u,clickable:O,stepCount:j,size:f,colorScheme:h,css:v,rounded:m,variant:S,errorIcon:y,successIcon:x},children:[(0,o.jsx)(n.StepsContainer,{isVertical:"vertical"===g,ref:C,children:e.Children.map(d,((r,t)=>{var n;const i={index:t,isCompletedStep:null!=(n=e.isValidElement(r)&&r.props.isCompletedStep)?n:t<s,isCurrentStep:t===s,isLastStep:t===j-1};return e.isValidElement(r)?e.cloneElement(r,i):null}))}),"horizontal"===g&&(0,o.jsx)(t.Box,{css:{my:"$8"},children:s<=b.length?e.Children.map(b[s],(r=>{if(e.isValidElement(r))return e.Children.map(r.props.children,(e=>e))})):null})]})}));exports.Steps=l,l.displayName="Steps";