UNPKG

@ebay/ui-core-react

Version:

Skin components build off React

2 lines (1 loc) 1.89 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../tslib.es6-C4EgNkz1.js"),t=require("react"),y=require("classnames"),b=require("../icon-CR8ApQBy.js"),f=e=>{var{direction:r="row",defaultState:s="active",children:a,className:p}=e,l=d.__rest(e,["direction","defaultState","children","className"]);const c=t.Children.toArray(a),o=_(c,s);return t.createElement("div",Object.assign({},l,{className:y(p,"progress-stepper",{"progress-stepper--vertical":r==="column"})}),t.createElement("div",{role:"list",className:"progress-stepper__items"},c.map((i,n)=>t.createElement(t.Fragment,{key:n},n>0&&t.createElement("hr",{className:"progress-stepper__separator",role:"presentation"}),t.cloneElement(i,Object.assign(Object.assign({state:v(n,o)},i.props),{current:o===n}))))))};function _(e,r){const s=e.findIndex(a=>a.props.current);if(s===-1)switch(r){case"complete":return e.length-1;case"upcoming":return 0}return s}function v(e,r){if(e<=r)return"complete";if(e>r)return"upcoming"}const N={complete:"stepperConfirmation24",attention:"stepperAttention24",upcoming:"stepperUpcoming24",active:"stepperConfirmation24"},h=e=>{var{current:r,state:s="complete",children:a,className:p}=e,l=d.__rest(e,["current","state","children","className"]);const c=t.Children.toArray(a),o=c.find(m=>m.type===u),i=c.filter(m=>m.type!==u),n=y(p,"progress-stepper__item",{"progress-stepper__item--attention":s==="attention"}),g=N[s],E=r?"current":s;return t.createElement("div",Object.assign({},l,{className:n,role:"listitem","aria-current":r?"step":void 0}),t.createElement("div",{className:"progress-stepper__icon"},g&&t.createElement(b.EbayIcon,{name:g,"aria-label":E})),t.createElement("div",{className:"progress-stepper__text"},o,i))},u=({as:e="h4",children:r})=>t.createElement(e,{},r);exports.EbayProgressStep=h;exports.EbayProgressStepper=f;exports.EbayProgressTitle=u;