UNPKG

@ebay/ui-core-react

Version:

Skin components build off React

2 lines (1 loc) 1.86 kB
"use strict";const p=require("./tslib.es6-C4EgNkz1.js"),e=require("react"),_=require("classnames"),k=require("./forwardRef-DBQKIlPy.js");require("./array.polyfill.flat-5BAolFdk.js");const v=require("./icon-CR8ApQBy.js"),h=require("./badge-BWhBKWCu.js"),N=a=>{var{className:d,itemMatchesUrl:c=!0,onKeyDown:b=()=>{},onSelect:g=()=>{},children:i,forwardedRef:f}=a,l=p.__rest(a,["className","itemMatchesUrl","onKeyDown","onSelect","children","forwardedRef"]);const y=e.Children.toArray(i),o=c===!1?"true":"page";return e.createElement("div",Object.assign({},l,{ref:f,className:_(d,"fake-menu")}),e.createElement("ul",{className:"fake-menu__items",tabIndex:-1},y.map((n,t)=>{const r=n.props,{current:E,onClick:u=()=>{}}=r,s=p.__rest(r,["current","onClick"]);return e.createElement("li",{key:t},e.cloneElement(n,Object.assign(Object.assign({},s),{"aria-current":E?o:void 0,onClick:m=>{g(m,{index:t}),u(m)},onKeyDown:m=>{b(m,{index:t})}})))})))},w=k.withForwardRef(N),R=a=>{var{className:d,disabled:c,autoFocus:b,type:g,badgeNumber:i,badgeAriaLabel:f,children:l}=a,y=p.__rest(a,["className","disabled","autoFocus","type","badgeNumber","badgeAriaLabel","children"]);const o=e.useRef(null),n=i!==void 0;e.useEffect(()=>{var s;b&&((s=o.current)===null||s===void 0||s.focus())});const t=Object.assign(Object.assign({},y),{ref:o,className:_(d,"fake-menu__item",n&&"menu__item--badged"),"aria-label":f}),r=e.createElement(v.EbayIcon,{name:"tick16"}),E={marginLeft:"var(--spacing-100)",marginRight:"var(--spacing-100)"},u=n&&e.createElement(h.EbayBadge,{type:"menu",number:i,style:E});return g==="button"?e.createElement("button",Object.assign({},t,{type:"button",disabled:c}),e.createElement("span",null,l,u),r):e.createElement("a",Object.assign({},t,{"aria-disabled":c?"true":void 0}),e.createElement("span",null,l,u),r)};exports.EbayFakeMenu=w;exports.EbayMenuItem=R;