UNPKG

@ebay/ui-core-react

Version:

Skin components build off React

2 lines (1 loc) 3.8 kB
"use strict";const O=require("./tslib.es6-C4EgNkz1.js"),e=require("react"),g=require("classnames"),P=require("./utils-C9NL3q0j.js"),N=require("./icon-button-B1aE4GTn.js"),j=require("./menu-button-label-BcREqk0b.js"),C=require("./menu-fWohPckl.js"),U=require("./progress-spinner-BqahPJmn.js"),M=require("./icon-CR8ApQBy.js"),L=({status:t,menuActions:r,onMenuAction:l,deleteText:s,onCancel:a,onDelete:i,onAction:E,a11yCancelUploadText:u,action:n})=>{const f=(c,d)=>{var o;if(d){const v=(o=d.checked)===null||o===void 0?void 0:o[0],p=r&&v!==void 0&&v in r?r[v].event:null;p&&l?l(c,Object.assign(Object.assign({},d),{eventName:p})):i&&i(c)}};return t==="uploading"?e.createElement(N.EbayIconButton,{"aria-label":u,onClick:a,className:"file-preview-card__action",icon:"close16"}):r?.length?e.createElement(e.Fragment,null,e.createElement(j.EbayMenuButton,{variant:"overflow",className:"file-preview-card__action",onSelect:f},r.map(c=>e.createElement(C.EbayMenuItem,{value:c.event,key:c.label},c.label)),e.createElement(C.EbayMenuItem,{key:"delete",value:"delete"},s))):n?.props&&n.props.icon&&n.props["aria-label"]?e.createElement(N.EbayIconButton,Object.assign({onClick:E,className:g("file-preview-card__action",n.props.className)},n.props)):s?e.createElement(N.EbayIconButton,{"aria-label":s,className:"file-preview-card__action",icon:"delete16",onClick:i}):e.createElement(e.Fragment,null)},F=({file:t,status:r,seeMore:l})=>{if(r==="uploading")return e.createElement(U.EbayProgressSpinner,{className:"file-preview-card__asset"});switch(t?.type){case"video":return e.createElement("video",{className:"file-preview-card__asset",src:t.src});case"image":return e.createElement("img",{className:g("file-preview-card__asset",{"file-preview-card__asset--fade":l&&l>0}),src:t?.src,alt:t?.name});default:return e.createElement(M.EbayIcon,{name:"file24",className:"file-preview-card__asset"})}},R=({file:t,infoText:r})=>t&&t.type!=="image"?e.createElement("div",{className:"file-preview-card__info"},t.type==="video"&&e.createElement(M.EbayIcon,{name:"play16",className:"file-preview-card__video-icon"}),r||t.name.substring(t.name.lastIndexOf(".")+1).toUpperCase()):e.createElement(e.Fragment,null),h=()=>null,A=t=>{var{a11yCancelUploadText:r,status:l,as:s="div",file:a,seeMore:i,deleteText:E,footerTitle:u,footerSubtitle:n,a11ySeeMoreText:f,menuActions:c,infoText:d,href:o,onCancel:v,onDelete:p,onMenuAction:S,onSeeMore:q,onAction:x,className:I,children:T}=t,k=O.__rest(t,["a11yCancelUploadText","status","as","file","seeMore","deleteText","footerTitle","footerSubtitle","a11ySeeMoreText","menuActions","infoText","href","onCancel","onDelete","onMenuAction","onSeeMore","onAction","className","children"]);const B=P.findComponent(T,h),b=e.useMemo(()=>{var _,y;if(!a)return;let w=a,m;return!((_=a?.type)===null||_===void 0)&&_.startsWith("image")?m="image":!((y=a?.type)===null||y===void 0)&&y.startsWith("video")&&(m="video"),a instanceof File&&(w={name:a.name,type:m,src:m?URL.createObjectURL(a):void 0}),w.type=m,w},[a]);return e.createElement(s,Object.assign({className:g("file-preview-card",I)},k),e.createElement("div",{className:"file-preview-card__body"},o?e.createElement("a",{href:o},e.createElement(F,{file:b,status:l,seeMore:i})):e.createElement(F,{file:b,status:l,seeMore:i}),i&&i>0?e.createElement("button",{type:"button",className:"file-preview-card__see-more",onClick:q,"aria-label":f},e.createElement("span",null,"+",i)):e.createElement(L,{a11yCancelUploadText:r,status:l,menuActions:c,onMenuAction:S,deleteText:E,onCancel:v,onDelete:p,onAction:x,action:B}),e.createElement(R,{file:b,infoText:d})),u&&e.createElement("div",{className:"file-preview-card__footer"},e.createElement("span",null,u),n&&e.createElement("span",null,n)))};exports.EbayFilePreviewCard=A;exports.EbayFilePreviewCardAction=h;