@contentful/f36-card 6.0.0-alpha.4 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import c,{forwardRef,useState,useCallback}from'react';import {css,cx}from'@emotion/css';import {Box,Flex,getEntityStatusStyles}from'@contentful/f36-core';import {EntityStatusBadge}from'@contentful/f36-badge';import {Asset}from'@contentful/f36-asset';import {Skeleton}from'@contentful/f36-skeleton';import {DragHandle}from'@contentful/f36-drag-handle';import n from'@contentful/f36-tokens';import {Heading,Text,Subheading,Paragraph}from'@contentful/f36-typography';import {IconButton}from'@contentful/f36-button';import {DotsThreeIcon}from'@contentful/f36-icons';import {Menu}from'@contentful/f36-menu';import Fe from'truncate';import {Tooltip}from'@contentful/f36-tooltip';var rr=Object.defineProperty,tr=Object.defineProperties;var or=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var xe=Object.prototype.hasOwnProperty,he=Object.prototype.propertyIsEnumerable;var Ee=(e,t,r)=>t in e?rr(e,t,{enumerable:true,configurable:true,writable:true,value:r}):e[t]=r,a=(e,t)=>{for(var r in t||(t={}))xe.call(t,r)&&Ee(e,r,t[r]);if(Y)for(var r of Y(t))he.call(t,r)&&Ee(e,r,t[r]);return e},l=(e,t)=>tr(e,or(t));var x=(e,t)=>{var r={};for(var o in e)xe.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Y)for(var o of Y(e))t.indexOf(o)<0&&he.call(e,o)&&(r[o]=e[o]);return r};var Be=()=>({contentBody:css({gridColumn:"content",gridRow:"content",whiteSpace:"initial"}),wrapper:css({flex:"1 1 0",display:"grid",gridTemplateRows:"[header] auto [content] minmax(0, 1fr)",gridTemplateColumns:"auto [content] minmax(0, 1fr)"}),dragHandle:css({borderBottomLeftRadius:n.borderRadiusMedium,borderTopLeftRadius:n.borderRadiusMedium,cursor:"grab"}),skeleton:css({border:`1px solid ${n.gray300}`,borderRadius:n.borderRadiusMedium,padding:n.spacingM})}),be=(e,t,r)=>({root:css(l(a(a({backgroundColor:n.colorWhite,borderColor:n.gray300,borderRadius:n.borderRadiusMedium,borderStyle:"solid",borderWidth:1,color:n.gray900,display:"flex",textAlign:"left",width:"100%",fontSize:n.fontSizeM,fontWeight:n.fontWeightNormal,position:"relative",textDecoration:"none",margin:0,transition:`border-color ${n.transitionDurationDefault} ${n.transitionEasingDefault},
2
- box-shadow ${n.transitionDurationShort} ${n.transitionEasingDefault}`,paddingTop:e?0:n.spacingM},t&&{borderColor:n.blue500,cursor:"pointer"}),r&&{backgroundColor:n.blue100,borderColor:n.blue500}),{"&:focus":css({borderColor:r?n.blue100:n.blue500,boxShadow:n.glowPrimary,outline:"none"}),"&:focus:not(:focus-visible)":css({borderColor:r?n.blue500:n.gray300,boxShadow:"unset"}),"&:focus-visible":css({borderColor:n.blue500,boxShadow:n.glowPrimary})}))});var Ae=()=>({root:css({minHeight:"auto",padding:n.spacing2Xs})});var R=({buttonProps:e,children:t})=>{let r=Ae();return c.createElement(Menu,null,c.createElement(Menu.Trigger,null,c.createElement(IconButton,l(a({},e),{"aria-label":"Actions",icon:c.createElement(DotsThreeIcon,null),className:cx(r.root,e==null?void 0:e.className),size:"small",variant:"transparent",testId:"cf-ui-card-actions"}))),c.createElement(Menu.List,null,t))};R.displayName="CardActions";var Te=()=>({header:css({columnGap:n.spacingXs,rowGap:n.spacing2Xs,alignItems:"center",borderBottomColor:n.gray200,borderBottomStyle:"solid",borderBottomWidth:1,borderTopLeftRadius:n.borderRadiusMedium,borderTopRightRadius:n.borderRadiusMedium,boxSizing:"border-box",color:n.gray600,fontSize:n.fontSizeM,fontWeight:n.fontWeightNormal,gridColumn:"content",gridRow:"header",lineHeight:n.lineHeightM,paddingBottom:n.spacingXs,paddingLeft:n.spacingM,paddingRight:n.spacingXs,paddingTop:n.spacingXs,minHeight:"37px"}),headerWithActions:css({paddingBottom:n.spacing2Xs,paddingRight:n.spacingXs,paddingTop:n.spacing2Xs})});var j=e=>{e.preventDefault(),e.stopPropagation();},U=e=>{let{icon:t,type:r,actions:o,actionsButtonProps:s,badge:f,customActionButton:i}=e,p=Te(),y=()=>i?c.createElement(Flex,{onClick:j,alignItems:"center"},i):o&&o.length>0?c.createElement(Flex,{onClick:j,alignItems:"center"},c.createElement(R,{buttonProps:s},o)):null;return c.createElement(Flex,{flexWrap:"wrap",className:cx(p.header,(o||i)&&p.headerWithActions)},c.createElement(Flex,{flexGrow:1},r&&c.createElement(Text,{fontColor:"gray600",isWordBreak:true},r)),t&&c.createElement(Flex,{alignItems:"center"},t),f&&c.createElement(Flex,{alignItems:"center"},f),y())};U.displayName="DefaultCardHeader";var K=({children:e,defaultHeader:t,drag:r,dragHandleRender:o,header:s,isDragging:f,styles:i,withDragHandle:p})=>c.createElement(c.Fragment,null,p?o?o({drag:r,isDragging:f}):r:null,c.createElement("div",{className:i.wrapper,"data-card-part":"wrapper"},s!=null?s:t,c.createElement("div",{className:i.contentBody,"data-card-part":"content"},e)));K.displayName="CardInner";var gr="article";function Ie(Rr,Q){var me=Rr,{actions:e,actionsButtonProps:t,ariaLabel:r,badge:o,children:s,className:f,customActionButton:i,header:p,href:y,icon:E,isDragging:g=false,isHovered:d,isSelected:h=false,onBlur:L,onClick:B,onFocus:P,onKeyDown:b,onMouseEnter:T,onMouseLeave:I,target:v,rel:W,testId:Oe="cf-ui-base-card",title:pe,type:le,withDragHandle:O,dragHandleRender:q,isLoading:Ye,as:je}=me,J=x(me,["actions","actionsButtonProps","ariaLabel","badge","children","className","customActionButton","header","href","icon","isDragging","isHovered","isSelected","onBlur","onClick","onFocus","onKeyDown","onMouseEnter","onMouseLeave","target","rel","testId","title","type","withDragHandle","dragHandleRender","isLoading","as"]);let X=Be(),[Ke,ce]=useState(d!=null?d:false),Ve=!!(B||y||O),qe=!!p,Z=le||E||o||e||i?c.createElement(U,{type:le,icon:E,badge:o,actions:e,customActionButton:i,actionsButtonProps:t}):null,fe=useCallback(C=>{P&&P(C);},[P]),ge=useCallback(C=>{L&&L(C);},[L]),ue=useCallback(C=>{ce(true),T&&T(C);},[T]),ye=useCallback(C=>{ce(false),I&&I(C);},[I]),Je=B?C=>{B(C);}:void 0,Qe=useCallback(C=>{b&&b(C);},[b]);if(Ye)return c.createElement(Skeleton.Container,{className:X.skeleton,svgHeight:"5.6rem"},c.createElement(Skeleton.DisplayText,{numberOfLines:1}),c.createElement(Skeleton.BodyText,{numberOfLines:1,offsetTop:35}));let ee=c.createElement(DragHandle,{className:X.dragHandle,isActive:g,label:"Reorder entry",onClick:j}),Ce=je||gr,Ze=be(qe,Ke,h),re={testId:Oe,className:cx(Ze.root,f),"aria-label":pe||r,title:pe},er={href:y,target:v,rel:W!=null?W:"noreferrer"};if(Ce==="a")return c.createElement(Box,a(l(a(a({as:"a"},er),re),{ref:Q,onFocus:fe,onBlur:ge,onMouseEnter:typeof d=="undefined"?ue:void 0,onMouseLeave:typeof d=="undefined"?ye:void 0}),J),c.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O}));let te=Ce;return Ve?c.createElement(Box,a(l(a({as:te},re),{"aria-pressed":te==="button"?!!h:void 0,onBlur:ge,onClick:Je,onFocus:fe,onMouseEnter:typeof d=="undefined"?ue:void 0,onMouseLeave:typeof d=="undefined"?ye:void 0,onKeyDown:Qe,role:B?"button":void 0,tabIndex:B?0:void 0,ref:Q}),J),c.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O})):c.createElement(Box,l(a(a({as:te},re),J),{ref:Q}),c.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O}))}Ie.displayName="BaseCard";var H=c.forwardRef(Ie);var Se=()=>({root:({size:e})=>css({display:"inline-flex",width:"auto",borderRadius:n.borderRadiusMedium,minWidth:`calc(1rem * (120 / ${n.fontBaseDefault}))`,height:e==="small"?`calc(1rem * (188 / ${n.fontBaseDefault}))`:`calc(1rem * (300 / ${n.fontBaseDefault}))`,padding:0,textAlign:"center"}),asset:css({height:"100%"}),skeleton:css({border:`1px solid ${n.gray300}`,borderRadius:n.borderRadiusMedium,padding:n.spacingM})});var He=B=>{var P=B,{actions:e,className:t,icon:r=null,isSelected:o,size:s="default",src:f,status:i,title:p,type:y,withDragHandle:E=false,isLoading:g,testId:d="cf-ui-asset-card",badge:h}=P,L=x(P,["actions","className","icon","isSelected","size","src","status","title","type","withDragHandle","isLoading","testId","badge"]);let b=Se(),T=h||(i?c.createElement(EntityStatusBadge,{entityStatus:i}):null),I=r||T||e?c.createElement(U,{icon:r,badge:T,actions:e}):null;return g?c.createElement(Skeleton.Container,{className:b.skeleton,svgWidth:s==="default"?"18rem":"11rem",svgHeight:s==="default"?"18.75rem":"12rem"},c.createElement(Skeleton.Image,{width:"100%",height:"18.75rem"})):c.createElement(H,l(a({},L),{badge:T,className:cx(b.root({size:s}),t),header:I,isSelected:o,title:p,withDragHandle:E,testId:d}),c.createElement(Flex,{alignItems:"center",fullHeight:true,justifyContent:"center"},c.createElement(Asset,{className:b.asset,src:f,status:i,title:p,type:y})))};var xr=e=>{switch(e){case "large":return n.spacingL;case "none":return 0;default:return n.spacingM}},Le=({padding:e})=>({header:css({gridColumn:"content",gridRow:"header",marginBottom:n.spacingM}),root:css({padding:xr(e)})});function we(E,y){var g=E,{actions:e,badge:t,icon:r,padding:o="default",title:s,className:f,testId:i="cf-ui-card"}=g,p=x(g,["actions","badge","icon","padding","title","className","testId"]);let d=Le({padding:o}),h=!!(s||r||t||e);return c.createElement(H,l(a({className:cx(d.root,f)},p),{testId:i,header:h&&c.createElement(Flex,{alignItems:"center",className:cx(d.header)},s&&c.createElement(Flex,{as:"header",flexGrow:1},c.createElement(Heading,{marginBottom:"none"},s)),r&&c.createElement(Flex,{alignItems:"center",marginLeft:"spacingXs"},r),t&&c.createElement(Flex,{alignItems:"center",marginLeft:"spacingXs"},t),e&&c.createElement(R,null,e)),ref:y}))}we.displayName="Card";var Ne=forwardRef(we);var ke=()=>({actionsButton:css({borderBottomLeftRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderTopRightRadius:n.borderRadiusMedium}),content:e=>css({gridColumn:"content",marginTop:e==="small"?n.spacingXs:n.spacingS,marginBottom:e==="small"?`calc(-1 * ${n.spacingXs})`:0}),root:css({padding:0,'[data-card-part="content"]':{paddingBottom:n.spacingM,paddingLeft:n.spacingM,paddingRight:n.spacingM}}),header:css({borderBottomWidth:1,borderBottomColor:n.gray200,borderBottomStyle:"solid",minHeight:"auto",paddingBottom:n.spacingXs,paddingLeft:n.spacingM,paddingRight:n.spacingXs}),thumbnail:e=>css(a({margin:`0 0 0 ${n.spacingS}`,padding:0,overflow:"hidden",position:"relative",img:{width:"100%",height:"100%",objectFit:"cover",position:"absolute",zIndex:1}},e==="small"?{height:"40px",width:"40px"}:{height:"70px",width:"70px"}))});var Sr="article";function ve({title:e,titleTag:t}){if(!e)return null;let r=Fe(e,255,{});return c.createElement(Subheading,{title:e.length>255?e:"",testId:"title",as:t,marginBottom:"none",isWordBreak:true},r)}ve.displayName="EntryCardTitle";function We({description:e,size:t}){if(!e||t==="small")return null;let r=Fe(e,95,{});return c.createElement(Paragraph,{marginBottom:"none",isWordBreak:true},r)}We.displayName="EntryCardDescription";function Xe(T,b){var I=T,{actions:e,children:t,className:r,customActionButton:o,src:s,status:f,thumbnailElement:i,description:p,withDragHandle:y=false,title:E,titleTag:g="h2",size:d,testId:h="cf-ui-entry-card",contentType:L,badge:B}=I,P=x(I,["actions","children","className","customActionButton","src","status","thumbnailElement","description","withDragHandle","title","titleTag","size","testId","contentType","badge"]);let v=ke(),W=f?c.createElement(EntityStatusBadge,{entityStatus:f}):null;return c.createElement(H,l(a({as:Sr},P),{actions:e,badge:B||W,className:cx(v.root,r),customActionButton:o,withDragHandle:y,ref:b,type:L,testId:h}),c.createElement(Flex,{alignItems:"center",className:v.content(d),flexDirection:"row"},c.createElement(Flex,{flexDirection:"column",flexGrow:1,gap:"spacingS"},c.createElement(ve,{title:E,titleTag:g}),c.createElement(We,{size:d,description:p}),t),i&&d!=="small"&&c.createElement("figure",{className:v.thumbnail(d)},i)))}Xe.displayName="EntryCard";var Ge=forwardRef(Xe);var Ue=()=>({actions:css({display:"flex",padding:0,marginLeft:n.spacingXs,minHeight:"auto"}),root:({status:e})=>{let t=getEntityStatusStyles({status:e});return css({borderBottomLeftRadius:0,borderTopLeftRadius:0,display:"inline-flex",width:"auto",verticalAlign:"middle",paddingBottom:0,paddingTop:0,paddingLeft:n.spacingS,paddingRight:n.spacing2Xs,'[data-card-part="wrapper"]':{display:"inline-flex",flexDirection:"row-reverse"},"&::before":{backgroundColor:t.color,bottom:0,content:'""',display:"block",left:0,position:"absolute",top:0,width:n.spacing2Xs}})},skeleton:css({display:"inline-flex",border:`1px solid ${n.gray300}`,borderTopRightRadius:n.borderRadiusMedium,borderBottomRightRadius:n.borderRadiusMedium,padding:n.spacingXs})});var ze=y=>{var E=y,{actions:e,className:t,children:r,status:o,title:s,isLoading:f,testId:i="cf-ui-inline-entry-card"}=E,p=x(E,["actions","className","children","status","title","isLoading","testId"]);let g=Ue(),d=c.createElement(R,{buttonProps:{className:g.actions}},e);return f?c.createElement(Skeleton.Container,{className:g.skeleton,svgHeight:"1.25rem",svgWidth:"6rem"},c.createElement(Skeleton.BodyText,{numberOfLines:1})):c.createElement(Tooltip,{placement:"bottom",content:s},c.createElement(H,l(a({},p),{className:cx(g.root({status:o}),t),header:d,testId:i}),r||c.createElement(Text,null,s)))};export{He as AssetCard,Ne as Card,Ge as EntryCard,ze as InlineEntryCard};//# sourceMappingURL=index.js.map
1
+ import c,{forwardRef,useState,useCallback}from'react';import {cx,css}from'@emotion/css';import {Box,Flex,getEntityStatusStyles}from'@contentful/f36-core';import {EntityStatusBadge}from'@contentful/f36-badge';import {Asset}from'@contentful/f36-asset';import {Skeleton}from'@contentful/f36-skeleton';import {DragHandle}from'@contentful/f36-drag-handle';import n from'@contentful/f36-tokens';import {Heading,Text,Subheading,Paragraph}from'@contentful/f36-typography';import {IconButton}from'@contentful/f36-button';import {DotsThreeIcon}from'@contentful/f36-icons';import {Menu}from'@contentful/f36-menu';import ve from'truncate';import {Tooltip}from'@contentful/f36-tooltip';var rr=Object.defineProperty,tr=Object.defineProperties;var or=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var he=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable;var xe=(e,t,r)=>t in e?rr(e,t,{enumerable:true,configurable:true,writable:true,value:r}):e[t]=r,a=(e,t)=>{for(var r in t||(t={}))he.call(t,r)&&xe(e,r,t[r]);if(Y)for(var r of Y(t))Be.call(t,r)&&xe(e,r,t[r]);return e},l=(e,t)=>tr(e,or(t));var x=(e,t)=>{var r={};for(var o in e)he.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Y)for(var o of Y(e))t.indexOf(o)<0&&Be.call(e,o)&&(r[o]=e[o]);return r};var be=()=>({contentBody:css({gridColumn:"content",gridRow:"content",whiteSpace:"initial"}),wrapper:css({flex:"1 1 0",display:"grid",gridTemplateRows:"[header] auto [content] minmax(0, 1fr)",gridTemplateColumns:"auto [content] minmax(0, 1fr)"}),dragHandle:css({borderBottomLeftRadius:n.borderRadiusMedium,borderTopLeftRadius:n.borderRadiusMedium,cursor:"grab"}),skeleton:css({border:`1px solid ${n.gray300}`,borderRadius:n.borderRadiusMedium,padding:n.spacingM})}),Ae=(e,t,r)=>({root:css(l(a(a({backgroundColor:n.colorWhite,borderColor:n.gray300,borderRadius:n.borderRadiusMedium,borderStyle:"solid",borderWidth:1,color:n.gray900,display:"flex",textAlign:"left",width:"100%",fontSize:n.fontSizeM,fontWeight:n.fontWeightNormal,position:"relative",textDecoration:"none",margin:0,transition:`border-color ${n.transitionDurationDefault} ${n.transitionEasingDefault},
2
+ box-shadow ${n.transitionDurationShort} ${n.transitionEasingDefault}`,paddingTop:e?0:n.spacingM},t&&{borderColor:n.blue500,cursor:"pointer"}),r&&{backgroundColor:n.blue100,borderColor:n.blue500}),{"&:focus":css({borderColor:r?n.blue100:n.blue500,boxShadow:n.glowPrimary,outline:"none"}),"&:focus:not(:focus-visible)":css({borderColor:r?n.blue500:n.gray300,boxShadow:"unset"}),"&:focus-visible":css({borderColor:n.blue500,boxShadow:n.glowPrimary})}))});var Pe=()=>({root:css({minHeight:"auto",padding:n.spacing2Xs})});var R=({buttonProps:e,children:t})=>{let r=Pe();return c.createElement(Menu,null,c.createElement(Menu.Trigger,null,c.createElement(IconButton,l(a({},e),{"aria-label":"Actions",icon:c.createElement(DotsThreeIcon,null),className:cx(r.root,e==null?void 0:e.className),size:"small",variant:"transparent",testId:"cf-ui-card-actions"}))),c.createElement(Menu.List,null,t))};R.displayName="CardActions";var Ie=()=>({header:css({columnGap:n.spacingXs,rowGap:n.spacing2Xs,alignItems:"center",borderBottomColor:n.gray200,borderBottomStyle:"solid",borderBottomWidth:1,borderTopLeftRadius:n.borderRadiusMedium,borderTopRightRadius:n.borderRadiusMedium,boxSizing:"border-box",color:n.gray600,fontSize:n.fontSizeM,fontWeight:n.fontWeightNormal,gridColumn:"content",gridRow:"header",lineHeight:n.lineHeightM,paddingBottom:n.spacingXs,paddingLeft:n.spacingM,paddingRight:n.spacingXs,paddingTop:n.spacingXs,minHeight:"37px"}),headerWithActions:css({paddingBottom:n.spacing2Xs,paddingRight:n.spacingXs,paddingTop:n.spacing2Xs})});var j=e=>{e.preventDefault(),e.stopPropagation();},U=e=>{let{icon:t,type:r,actions:o,actionsButtonProps:s,badge:f,customActionButton:i}=e,p=Ie(),y=()=>i?c.createElement(Flex,{onClick:j,alignItems:"center"},i):o&&o.length>0?c.createElement(Flex,{onClick:j,alignItems:"center"},c.createElement(R,{buttonProps:s},o)):null;return c.createElement(Flex,{flexWrap:"wrap",className:cx(p.header,(o||i)&&p.headerWithActions)},c.createElement(Flex,{flexGrow:1},r&&c.createElement(Text,{fontColor:"gray600",isWordBreak:true},r)),t&&c.createElement(Flex,{alignItems:"center"},t),f&&c.createElement(Flex,{alignItems:"center"},f),y())};U.displayName="DefaultCardHeader";var K=({children:e,defaultHeader:t,drag:r,dragHandleRender:o,header:s,isDragging:f,styles:i,withDragHandle:p})=>c.createElement(c.Fragment,null,p?o?o({drag:r,isDragging:f}):r:null,c.createElement("div",{className:i.wrapper,"data-card-part":"wrapper"},s!=null?s:t,c.createElement("div",{className:i.contentBody,"data-card-part":"content"},e)));K.displayName="CardInner";var gr="article";function Se(Rr,Q){var me=Rr,{actions:e,actionsButtonProps:t,ariaLabel:r,badge:o,children:s,className:f,customActionButton:i,header:p,href:y,icon:E,isDragging:g=false,isHovered:d,isSelected:h=false,onBlur:L,onClick:B,onFocus:P,onKeyDown:b,onMouseEnter:T,onMouseLeave:I,target:v,rel:W,testId:Ye="cf-ui-base-card",title:pe,type:le,withDragHandle:O,dragHandleRender:q,isLoading:je,as:Ke}=me,J=x(me,["actions","actionsButtonProps","ariaLabel","badge","children","className","customActionButton","header","href","icon","isDragging","isHovered","isSelected","onBlur","onClick","onFocus","onKeyDown","onMouseEnter","onMouseLeave","target","rel","testId","title","type","withDragHandle","dragHandleRender","isLoading","as"]);let X=be(),[Ve,ce]=useState(d!=null?d:false),qe=!!(B||y||O),Je=!!p,Z=le||E||o||e||i?c.createElement(U,{type:le,icon:E,badge:o,actions:e,customActionButton:i,actionsButtonProps:t}):null,fe=useCallback(C=>{P&&P(C);},[P]),ge=useCallback(C=>{L&&L(C);},[L]),ue=useCallback(C=>{ce(true),T&&T(C);},[T]),ye=useCallback(C=>{ce(false),I&&I(C);},[I]),Ce=B?C=>{B(C);}:void 0,Qe=useCallback(C=>{b&&b(C);},[b]);if(je)return c.createElement(Skeleton.Container,{className:X.skeleton,svgHeight:"5.6rem"},c.createElement(Skeleton.DisplayText,{numberOfLines:1}),c.createElement(Skeleton.BodyText,{numberOfLines:1,offsetTop:35}));let ee=c.createElement(DragHandle,{className:X.dragHandle,isActive:g,label:"Reorder entry",onClick:j}),Ee=Ke||gr,Ze=Ae(Je,Ve,h),re={testId:Ye,className:cx(Ze.root,f),"aria-label":pe||r,title:pe},er={href:y,target:v,rel:W!=null?W:"noreferrer"};if(Ee==="a")return c.createElement(Box,a(l(a(a({as:"a"},er),re),{ref:Q,onClick:Ce,onFocus:fe,onBlur:ge,onMouseEnter:typeof d=="undefined"?ue:void 0,onMouseLeave:typeof d=="undefined"?ye:void 0}),J),c.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O}));let te=Ee;return qe?c.createElement(Box,a(l(a({as:te},re),{"aria-pressed":te==="button"?!!h:void 0,onBlur:ge,onClick:Ce,onFocus:fe,onMouseEnter:typeof d=="undefined"?ue:void 0,onMouseLeave:typeof d=="undefined"?ye:void 0,onKeyDown:Qe,role:B?"button":void 0,tabIndex:B?0:void 0,ref:Q}),J),c.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O})):c.createElement(Box,l(a(a({as:te},re),J),{ref:Q}),c.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O}))}Se.displayName="BaseCard";var H=c.forwardRef(Se);var De=()=>({root:({size:e})=>css({display:"inline-flex",width:"auto",borderRadius:n.borderRadiusMedium,minWidth:`calc(1rem * (120 / ${n.fontBaseDefault}))`,height:e==="small"?`calc(1rem * (188 / ${n.fontBaseDefault}))`:`calc(1rem * (300 / ${n.fontBaseDefault}))`,padding:0,textAlign:"center"}),asset:css({height:"100%"}),skeleton:css({border:`1px solid ${n.gray300}`,borderRadius:n.borderRadiusMedium,padding:n.spacingM})});var Me=B=>{var P=B,{actions:e,className:t,icon:r=null,isSelected:o,size:s="default",src:f,status:i,title:p,type:y,withDragHandle:E=false,isLoading:g,testId:d="cf-ui-asset-card",badge:h}=P,L=x(P,["actions","className","icon","isSelected","size","src","status","title","type","withDragHandle","isLoading","testId","badge"]);let b=De(),T=h||(i?c.createElement(EntityStatusBadge,{entityStatus:i}):null),I=r||T||e?c.createElement(U,{icon:r,badge:T,actions:e}):null;return g?c.createElement(Skeleton.Container,{className:b.skeleton,svgWidth:s==="default"?"18rem":"11rem",svgHeight:s==="default"?"18.75rem":"12rem"},c.createElement(Skeleton.Image,{width:"100%",height:"18.75rem"})):c.createElement(H,l(a({},L),{badge:T,className:cx(b.root({size:s}),t),header:I,isSelected:o,title:p,withDragHandle:E,testId:d}),c.createElement(Flex,{alignItems:"center",fullHeight:true,justifyContent:"center"},c.createElement(Asset,{className:b.asset,src:f,status:i,title:p,type:y})))};var xr=e=>{switch(e){case "large":return n.spacingL;case "none":return 0;default:return n.spacingM}},Re=({padding:e})=>({header:css({gridColumn:"content",gridRow:"header",marginBottom:n.spacingM}),root:css({padding:xr(e)})});function ke(E,y){var g=E,{actions:e,badge:t,icon:r,padding:o="default",title:s,className:f,testId:i="cf-ui-card"}=g,p=x(g,["actions","badge","icon","padding","title","className","testId"]);let d=Re({padding:o}),h=!!(s||r||t||e);return c.createElement(H,l(a({className:cx(d.root,f)},p),{testId:i,header:h&&c.createElement(Flex,{alignItems:"center",className:cx(d.header)},s&&c.createElement(Flex,{as:"header",flexGrow:1},c.createElement(Heading,{marginBottom:"none"},s)),r&&c.createElement(Flex,{alignItems:"center",marginLeft:"spacingXs"},r),t&&c.createElement(Flex,{alignItems:"center",marginLeft:"spacingXs"},t),e&&c.createElement(R,null,e)),ref:y}))}ke.displayName="Card";var Ne=forwardRef(ke);var _e=()=>({actionsButton:css({borderBottomLeftRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderTopRightRadius:n.borderRadiusMedium}),content:e=>css({gridColumn:"content",marginTop:e==="small"?n.spacingXs:n.spacingS,marginBottom:e==="small"?`calc(-1 * ${n.spacingXs})`:0}),root:css({padding:0,'[data-card-part="content"]':{paddingBottom:n.spacingM,paddingLeft:n.spacingM,paddingRight:n.spacingM}}),header:css({borderBottomWidth:1,borderBottomColor:n.gray200,borderBottomStyle:"solid",minHeight:"auto",paddingBottom:n.spacingXs,paddingLeft:n.spacingM,paddingRight:n.spacingXs}),thumbnail:e=>css(a({margin:`0 0 0 ${n.spacingS}`,padding:0,overflow:"hidden",position:"relative",img:{width:"100%",height:"100%",objectFit:"cover",position:"absolute",zIndex:1}},e==="small"?{height:"40px",width:"40px"}:{height:"70px",width:"70px"}))});var Sr="article";function We({title:e,titleTag:t}){if(!e)return null;let r=ve(e,255,{});return c.createElement(Subheading,{title:e.length>255?e:"",testId:"title",as:t,marginBottom:"none",isWordBreak:true},r)}We.displayName="EntryCardTitle";function Xe({description:e,size:t}){if(!e||t==="small")return null;let r=ve(e,95,{});return c.createElement(Paragraph,{marginBottom:"none",isWordBreak:true},r)}Xe.displayName="EntryCardDescription";function Ge(T,b){var I=T,{actions:e,children:t,className:r,customActionButton:o,src:s,status:f,thumbnailElement:i,description:p,withDragHandle:y=false,title:E,titleTag:g="h2",size:d,testId:h="cf-ui-entry-card",contentType:L,badge:B}=I,P=x(I,["actions","children","className","customActionButton","src","status","thumbnailElement","description","withDragHandle","title","titleTag","size","testId","contentType","badge"]);let v=_e(),W=f?c.createElement(EntityStatusBadge,{entityStatus:f}):null;return c.createElement(H,l(a({as:Sr},P),{actions:e,badge:B||W,className:cx(v.root,r),customActionButton:o,withDragHandle:y,ref:b,type:L,testId:h}),c.createElement(Flex,{alignItems:"center",className:v.content(d),flexDirection:"row"},c.createElement(Flex,{flexDirection:"column",flexGrow:1,gap:"spacingS"},c.createElement(We,{title:E,titleTag:g}),c.createElement(Xe,{size:d,description:p}),t),i&&d!=="small"&&c.createElement("figure",{className:v.thumbnail(d)},i)))}Ge.displayName="EntryCard";var Ue=forwardRef(Ge);var $e=()=>({actions:css({display:"flex",padding:0,marginLeft:n.spacingXs,minHeight:"auto"}),root:({status:e})=>{let t=getEntityStatusStyles({status:e});return css({borderBottomLeftRadius:0,borderTopLeftRadius:0,display:"inline-flex",width:"auto",verticalAlign:"middle",paddingBottom:0,paddingTop:0,paddingLeft:n.spacingS,paddingRight:n.spacing2Xs,'[data-card-part="wrapper"]':{display:"inline-flex",flexDirection:"row-reverse"},"&::before":{backgroundColor:t.color,bottom:0,content:'""',display:"block",left:0,position:"absolute",top:0,width:n.spacing2Xs}})},skeleton:css({display:"inline-flex",border:`1px solid ${n.gray300}`,borderTopRightRadius:n.borderRadiusMedium,borderBottomRightRadius:n.borderRadiusMedium,padding:n.spacingXs})});var Oe=y=>{var E=y,{actions:e,className:t,children:r,status:o,title:s,isLoading:f,testId:i="cf-ui-inline-entry-card"}=E,p=x(E,["actions","className","children","status","title","isLoading","testId"]);let g=$e(),d=c.createElement(R,{buttonProps:{className:g.actions}},e);return f?c.createElement(Skeleton.Container,{className:g.skeleton,svgHeight:"1.25rem",svgWidth:"6rem"},c.createElement(Skeleton.BodyText,{numberOfLines:1})):c.createElement(Tooltip,{placement:"bottom",content:s},c.createElement(H,l(a({},p),{className:cx(g.root({status:o}),t),header:d,testId:i}),r||c.createElement(Text,null,s)))};export{Me as AssetCard,Ne as Card,Ue as EntryCard,Oe as InlineEntryCard};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/AssetCard/AssetCard.tsx","../../src/BaseCard/BaseCard.styles.ts","../../src/BaseCard/CardActions.styles.ts","../../src/BaseCard/CardActions.tsx","../../src/BaseCard/DefaultCardHeader.styles.ts","../../src/BaseCard/DefaultCardHeader.tsx","../../src/BaseCard/BaseCard.tsx","../../src/AssetCard/AssetCard.styles.ts","../../src/Card/Card.styles.ts","../../src/Card/Card.tsx","../../src/EntryCard/EntryCard.styles.ts","../../src/EntryCard/EntryCard.tsx","../../src/InlineEntryCard/InlineEntryCard.styles.ts","../../src/InlineEntryCard/InlineEntryCard.tsx"],"names":["getBaseCardStyles","css","tokens","getRootStyles","hasHeader","isHovered","isSelected","__spreadProps","__spreadValues","getCardActionsStyles","CardActions","buttonProps","children","styles","React","Menu","IconButton","DotsThreeIcon","cx","getHeaderStyles","stopEvents","DefaultCardHeader","props","icon","type","actions","actionsButtonProps","badge","customActionButton","renderActionButton","Flex","Text","CardInner","defaultHeader","drag","dragHandleRender","header","isDragging","withDragHandle","BASE_CARD_DEFAULT_TAG","BaseCardBase","_a","forwardedRef","_b","ariaLabel","className","href","isHoveredProp","onBlur","onClick","onFocus","onKeyDown","onMouseEnter","onMouseLeave","target","rel","testId","title","isLoading","as","otherProps","__objRest","setIsHovered","useState","isInteractive","handleFocus","useCallback","event","handleBlur","handleMouseEnter","handleMouseLeave","handleClick","handleKeyDown","Skeleton","DragHandle","Element","rootStyles","baseProps","anchorProps","Box","nonAnchorElement","BaseCard","getAssetCardStyles","size","AssetCard","src","status","customBadge","EntityStatusBadge","Asset","getCardPaddingValue","padding","getCardStyles","CardBase","Heading","Card","forwardRef","getEntryCardStyles","ENTRY_CARD_DEFAULT_TAG","EntryCardTitle","titleTag","truncatedTitle","truncate","Subheading","EntryCardDescription","description","truncatedDescription","Paragraph","EntryCardBase","thumbnailElement","contentType","entryStatusBadge","EntryCard","getInlineEntryCardStyles","statusColors","getEntityStatusStyles","InlineEntryCard","Tooltip"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\nimport { cx } from '@emotion/css';\nimport { Flex } from '@contentful/f36-core';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport { Asset, type AssetStatus, type AssetType } from '@contentful/f36-asset';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport type { BaseCardInternalProps } from '../BaseCard/BaseCard.types';\nimport { getAssetCardStyles } from './AssetCard.styles';\nimport { DefaultCardHeader } from '../BaseCard/DefaultCardHeader';\n\nexport interface AssetCardInternalProps\n extends Omit<BaseCardInternalProps, 'header' | 'padding' | 'ref'> {\n size?: 'small' | 'default';\n src?: string;\n status?: AssetStatus;\n /**\n * Type of the entity represented by the card. Shown in the header of the card\n */\n type?: AssetType;\n}\n\nexport type AssetCardProps = AssetCardInternalProps;\n\nexport const AssetCard = ({\n actions,\n className,\n icon = null,\n isSelected,\n size = 'default',\n src,\n status,\n title,\n type,\n withDragHandle = false,\n isLoading,\n testId = 'cf-ui-asset-card',\n badge: customBadge,\n ...otherProps\n}: AssetCardInternalProps) => {\n const styles = getAssetCardStyles();\n const badge = customBadge ? (\n customBadge\n ) : status ? (\n <EntityStatusBadge entityStatus={status} />\n ) : null;\n const header =\n icon || badge || actions ? (\n <DefaultCardHeader icon={icon} badge={badge} actions={actions} />\n ) : null;\n\n if (isLoading) {\n return (\n <Skeleton.Container\n className={styles.skeleton}\n svgWidth={size === 'default' ? '18rem' : '11rem'}\n svgHeight={size === 'default' ? '18.75rem' : '12rem'}\n >\n <Skeleton.Image width=\"100%\" height=\"18.75rem\" />\n </Skeleton.Container>\n );\n }\n\n return (\n <BaseCard\n {...otherProps}\n badge={badge}\n className={cx(styles.root({ size }), className)}\n header={header}\n isSelected={isSelected}\n title={title}\n withDragHandle={withDragHandle}\n testId={testId}\n >\n <Flex alignItems=\"center\" fullHeight justifyContent=\"center\">\n <Asset\n className={styles.asset}\n src={src}\n status={status}\n title={title}\n type={type}\n />\n </Flex>\n </BaseCard>\n );\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getBaseCardStyles = () => {\n return {\n contentBody: css({\n gridColumn: 'content',\n gridRow: 'content',\n whiteSpace: 'initial',\n }),\n wrapper: css({\n flex: '1 1 0',\n display: 'grid',\n gridTemplateRows: '[header] auto [content] minmax(0, 1fr)',\n gridTemplateColumns: 'auto [content] minmax(0, 1fr)',\n }),\n dragHandle: css({\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n cursor: 'grab',\n }),\n skeleton: css({\n border: `1px solid ${tokens.gray300}`,\n borderRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingM,\n }),\n };\n};\n\nexport const getRootStyles = (\n hasHeader: boolean,\n isHovered: boolean,\n isSelected: boolean,\n) => {\n return {\n root: css({\n backgroundColor: tokens.colorWhite,\n borderColor: tokens.gray300,\n borderRadius: tokens.borderRadiusMedium,\n borderStyle: 'solid',\n borderWidth: 1,\n color: tokens.gray900,\n display: 'flex',\n textAlign: 'left',\n width: '100%',\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n position: 'relative',\n textDecoration: 'none',\n margin: 0, // remove the default button margin in Safari.\n transition: `border-color ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault},\n box-shadow ${tokens.transitionDurationShort} ${tokens.transitionEasingDefault}`,\n paddingTop: hasHeader ? 0 : tokens.spacingM,\n ...(isHovered && {\n borderColor: tokens.blue500,\n cursor: 'pointer',\n }),\n ...(isSelected && {\n backgroundColor: tokens.blue100,\n borderColor: tokens.blue500,\n }),\n '&:focus': css({\n borderColor: isSelected ? tokens.blue100 : tokens.blue500,\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n }),\n '&:focus:not(:focus-visible)': css({\n borderColor: isSelected ? tokens.blue500 : tokens.gray300,\n boxShadow: 'unset',\n }),\n '&:focus-visible': css({\n borderColor: tokens.blue500,\n boxShadow: tokens.glowPrimary,\n }),\n }),\n };\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getCardActionsStyles = () => {\n return {\n root: css({\n minHeight: 'auto',\n padding: tokens.spacing2Xs,\n }),\n };\n};\n","import React from 'react';\nimport { IconButton, type ButtonProps } from '@contentful/f36-button';\nimport { DotsThreeIcon } from '@contentful/f36-icons';\nimport { Menu } from '@contentful/f36-menu';\nimport { cx } from '@emotion/css';\n\nimport { getCardActionsStyles } from './CardActions.styles';\n\nexport type CardActionsProps = {\n buttonProps?: Partial<Omit<ButtonProps<'button'>, 'ref'>>;\n /**\n * Child elements to be rendered in the component\n */\n children: React.ReactNode[];\n};\n\nexport const CardActions = ({\n buttonProps,\n children,\n}: CardActionsProps): React.ReactElement => {\n const styles = getCardActionsStyles();\n\n return (\n <Menu>\n <Menu.Trigger>\n <IconButton\n {...buttonProps}\n aria-label=\"Actions\"\n icon={<DotsThreeIcon />}\n className={cx(styles.root, buttonProps?.className)}\n size=\"small\"\n variant=\"transparent\"\n testId=\"cf-ui-card-actions\"\n />\n </Menu.Trigger>\n <Menu.List>{children}</Menu.List>\n </Menu>\n );\n};\n\nCardActions.displayName = 'CardActions';\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getHeaderStyles = () => {\n return {\n header: css({\n columnGap: tokens.spacingXs,\n rowGap: tokens.spacing2Xs,\n alignItems: 'center',\n borderBottomColor: tokens.gray200,\n borderBottomStyle: 'solid',\n borderBottomWidth: 1,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n borderTopRightRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n color: tokens.gray600,\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n gridColumn: 'content',\n gridRow: 'header',\n lineHeight: tokens.lineHeightM,\n paddingBottom: tokens.spacingXs,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingXs,\n paddingTop: tokens.spacingXs,\n minHeight: '37px',\n }),\n headerWithActions: css({\n paddingBottom: tokens.spacing2Xs,\n paddingRight: tokens.spacingXs,\n paddingTop: tokens.spacing2Xs,\n }),\n };\n};\n","import React from 'react';\nimport { Flex } from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\nimport { CardActions } from './CardActions';\nimport { cx } from '@emotion/css';\nimport { getHeaderStyles } from './DefaultCardHeader.styles';\nimport { BaseCardInternalProps } from './BaseCard.types';\n\nexport const stopEvents = (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n};\n\nexport const DefaultCardHeader = (\n props: Pick<\n BaseCardInternalProps,\n | 'type'\n | 'icon'\n | 'badge'\n | 'actions'\n | 'actionsButtonProps'\n | 'customActionButton'\n >,\n) => {\n const { icon, type, actions, actionsButtonProps, badge, customActionButton } =\n props;\n const styles = getHeaderStyles();\n\n const renderActionButton = () => {\n if (customActionButton) {\n return (\n <Flex\n // don't propagate click event, so onClick handler on the card is not triggered\n onClick={stopEvents}\n alignItems=\"center\"\n >\n {customActionButton}\n </Flex>\n );\n }\n if (actions && actions.length > 0) {\n return (\n <Flex\n // don't propagate click event, so onClick handler on the card is not triggered\n onClick={stopEvents}\n alignItems=\"center\"\n >\n <CardActions buttonProps={actionsButtonProps}>{actions}</CardActions>\n </Flex>\n );\n }\n\n return null;\n };\n\n return (\n <Flex\n flexWrap=\"wrap\"\n className={cx(\n styles.header,\n (actions || customActionButton) && styles.headerWithActions,\n )}\n >\n <Flex flexGrow={1}>\n {type && (\n <Text fontColor=\"gray600\" isWordBreak>\n {type}\n </Text>\n )}\n </Flex>\n {icon && <Flex alignItems=\"center\">{icon}</Flex>}\n {badge && <Flex alignItems=\"center\">{badge}</Flex>}\n {renderActionButton()}\n </Flex>\n );\n};\n\nDefaultCardHeader.displayName = 'DefaultCardHeader';\n","import { cx } from '@emotion/css';\nimport React, {\n useCallback,\n useState,\n type FocusEventHandler,\n type KeyboardEventHandler,\n type MouseEvent,\n type MouseEventHandler,\n} from 'react';\nimport {\n Box,\n type PolymorphicComponent,\n type PolymorphicProps,\n} from '@contentful/f36-core';\nimport { DragHandle } from '@contentful/f36-drag-handle';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { getBaseCardStyles, getRootStyles } from './BaseCard.styles';\n\nimport { DefaultCardHeader, stopEvents } from './DefaultCardHeader';\nimport type { BaseCardInternalProps, CardElement } from './BaseCard.types';\n\ntype CardInnerProps = {\n withDragHandle?: boolean;\n dragHandleRender?: BaseCardInternalProps['dragHandleRender'];\n drag: React.ReactElement;\n isDragging: boolean;\n header?: React.ReactNode;\n defaultHeader: React.ReactNode;\n children: React.ReactNode;\n styles: { wrapper: string; contentBody: string };\n};\n\nconst CardInner = ({\n children,\n defaultHeader,\n drag,\n dragHandleRender,\n header,\n isDragging,\n styles,\n withDragHandle,\n}: CardInnerProps) => (\n <>\n {withDragHandle\n ? dragHandleRender\n ? dragHandleRender({ drag, isDragging })\n : drag\n : null}\n <div className={styles.wrapper} data-card-part=\"wrapper\">\n {header ?? defaultHeader}\n <div className={styles.contentBody} data-card-part=\"content\">\n {children}\n </div>\n </div>\n </>\n);\n\nCardInner.displayName = 'CardInner';\n\nexport const BASE_CARD_DEFAULT_TAG = 'article';\n\nexport type BaseCardProps<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n> = PolymorphicProps<BaseCardInternalProps, E>;\n\nfunction BaseCardBase<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n>(\n {\n actions,\n actionsButtonProps,\n ariaLabel,\n badge,\n children,\n className,\n customActionButton,\n header,\n href,\n icon,\n isDragging = false,\n isHovered: isHoveredProp,\n isSelected = false,\n onBlur,\n onClick,\n onFocus,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n target,\n rel,\n testId = 'cf-ui-base-card',\n title,\n type,\n withDragHandle,\n dragHandleRender,\n isLoading,\n as,\n ...otherProps\n }: BaseCardProps<E>,\n forwardedRef: React.Ref<HTMLElement>,\n) {\n const styles = getBaseCardStyles();\n const [isHovered, setIsHovered] = useState(isHoveredProp ?? false);\n const isInteractive = Boolean(onClick || href || withDragHandle);\n const hasHeader = Boolean(header);\n const defaultHeader =\n type || icon || badge || actions || customActionButton ? (\n <DefaultCardHeader\n type={type}\n icon={icon}\n badge={badge}\n actions={actions}\n customActionButton={customActionButton}\n actionsButtonProps={actionsButtonProps}\n />\n ) : null;\n\n const handleFocus = useCallback<FocusEventHandler<HTMLElement>>(\n (event) => {\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus],\n );\n\n const handleBlur = useCallback<FocusEventHandler<HTMLElement>>(\n (event) => {\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback<MouseEventHandler<HTMLElement>>(\n (event) => {\n setIsHovered(true);\n\n if (onMouseEnter) {\n onMouseEnter(event);\n }\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback<MouseEventHandler<HTMLElement>>(\n (event) => {\n setIsHovered(false);\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n },\n [onMouseLeave],\n );\n\n const handleClick = onClick\n ? (event: MouseEvent<HTMLElement>) => {\n onClick(event);\n }\n : undefined;\n\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLElement>>(\n (event) => {\n if (onKeyDown) {\n onKeyDown(event);\n }\n },\n [onKeyDown],\n );\n\n if (isLoading) {\n return (\n <Skeleton.Container className={styles.skeleton} svgHeight=\"5.6rem\">\n <Skeleton.DisplayText numberOfLines={1} />\n <Skeleton.BodyText numberOfLines={1} offsetTop={35} />\n </Skeleton.Container>\n );\n }\n\n const drag = (\n <DragHandle\n className={styles.dragHandle}\n isActive={isDragging}\n label=\"Reorder entry\"\n onClick={stopEvents}\n />\n );\n\n const Element = as || BASE_CARD_DEFAULT_TAG;\n\n /** Seperate the Props based on the Element Type */\n\n const rootStyles = getRootStyles(hasHeader, isHovered, isSelected);\n\n const baseProps = {\n testId,\n className: cx(rootStyles.root, className),\n 'aria-label': title || ariaLabel,\n title,\n };\n\n // anchor exclusive properties\n const anchorProps = {\n href,\n target,\n rel: rel ?? 'noreferrer',\n } as Pick<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'href' | 'rel' | 'target'\n >;\n\n if (Element === 'a') {\n return (\n <Box\n as=\"a\"\n {...anchorProps}\n {...baseProps}\n ref={forwardedRef as React.Ref<HTMLAnchorElement>}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onMouseEnter={\n typeof isHoveredProp === 'undefined' ? handleMouseEnter : undefined\n }\n onMouseLeave={\n typeof isHoveredProp === 'undefined' ? handleMouseLeave : undefined\n }\n {...otherProps}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n }\n\n // Narrow the element type after early-return anchor case to exclude 'a'\n const nonAnchorElement = Element as Exclude<CardElement, 'a'>;\n\n if (isInteractive) {\n return (\n <Box\n as={nonAnchorElement}\n {...baseProps}\n aria-pressed={nonAnchorElement === 'button' ? !!isSelected : undefined}\n onBlur={handleBlur}\n onClick={handleClick}\n onFocus={handleFocus}\n onMouseEnter={\n typeof isHoveredProp === 'undefined' ? handleMouseEnter : undefined\n }\n onMouseLeave={\n typeof isHoveredProp === 'undefined' ? handleMouseLeave : undefined\n }\n onKeyDown={handleKeyDown}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n ref={forwardedRef}\n {...otherProps}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n }\n return (\n <Box\n as={nonAnchorElement}\n {...baseProps}\n {...otherProps}\n ref={forwardedRef}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n}\n\nBaseCardBase.displayName = 'BaseCard';\n\nexport const BaseCard = React.forwardRef(BaseCardBase) as PolymorphicComponent<\n BaseCardInternalProps,\n typeof BASE_CARD_DEFAULT_TAG\n>;\n","import tokens from '@contentful/f36-tokens';\nimport { css } from '@emotion/css';\n\nexport const getAssetCardStyles = () => {\n return {\n root: ({ size }) =>\n css({\n display: 'inline-flex',\n width: 'auto',\n borderRadius: tokens.borderRadiusMedium,\n minWidth: `calc(1rem * (120 / ${tokens.fontBaseDefault}))`,\n height:\n size === 'small'\n ? `calc(1rem * (188 / ${tokens.fontBaseDefault}))`\n : `calc(1rem * (300 / ${tokens.fontBaseDefault}))`,\n padding: 0,\n textAlign: 'center',\n }),\n asset: css({\n height: '100%',\n }),\n skeleton: css({\n border: `1px solid ${tokens.gray300}`,\n borderRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingM,\n }),\n };\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\nimport { CardProps } from '..';\n\nconst getCardPaddingValue = (padding: CardProps['padding']) => {\n switch (padding) {\n case 'large':\n return tokens.spacingL;\n case 'none':\n return 0;\n default:\n return tokens.spacingM;\n }\n};\n\nexport const getCardStyles = ({ padding }) => ({\n header: css({\n gridColumn: 'content',\n gridRow: 'header',\n marginBottom: tokens.spacingM,\n }),\n root: css({\n padding: getCardPaddingValue(padding),\n }),\n});\n","import React, { forwardRef } from 'react';\nimport { cx } from '@emotion/css';\nimport {\n Flex,\n type PolymorphicComponent,\n type PolymorphicProps,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { Heading } from '@contentful/f36-typography';\n\nimport { BaseCard, BASE_CARD_DEFAULT_TAG } from '../BaseCard/BaseCard';\nimport type { BaseCardInternalProps } from '../BaseCard/BaseCard.types';\nimport { CardActions } from '../BaseCard/CardActions';\nimport { getCardStyles } from './Card.styles';\n\ntype BaseProps = Omit<\n BaseCardInternalProps,\n 'header' | 'withDragHandle' | 'ref' | 'src' | 'type'\n> & {\n /**\n * Padding size to apply to the component\n *\n * @default default\n */\n padding?: 'default' | 'large' | 'none';\n};\n\ntype BasePropsWithDragHandle = Omit<BaseProps, 'padding'> &\n Pick<BaseCardInternalProps, 'withDragHandle'> & { padding: 'none' };\n\nexport type CardInternalProps = BaseProps | BasePropsWithDragHandle;\n\nexport type CardProps<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n> = PolymorphicProps<CardInternalProps, E>;\n\nfunction CardBase<E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG>(\n {\n actions,\n badge,\n icon,\n padding = 'default',\n title,\n className,\n testId = 'cf-ui-card',\n ...otherProps\n }: CardProps<E>,\n forwardedRef: React.Ref<HTMLElement>,\n) {\n const styles = getCardStyles({ padding });\n const hasHeader = Boolean(title || icon || badge || actions);\n\n return (\n // @ts-expect-error this beast of polymorphic component needs a deeper refactor.\n <BaseCard\n className={cx(styles.root, className)}\n {...otherProps}\n testId={testId}\n header={\n hasHeader && (\n <Flex alignItems=\"center\" className={cx(styles.header)}>\n {title && (\n <Flex as=\"header\" flexGrow={1}>\n <Heading marginBottom=\"none\">{title}</Heading>\n </Flex>\n )}\n {icon && (\n <Flex alignItems=\"center\" marginLeft=\"spacingXs\">\n {icon}\n </Flex>\n )}\n {badge && (\n <Flex alignItems=\"center\" marginLeft=\"spacingXs\">\n {badge}\n </Flex>\n )}\n {actions && <CardActions>{actions}</CardActions>}\n </Flex>\n )\n }\n ref={forwardedRef}\n />\n );\n}\n\nCardBase.displayName = 'Card';\n\nexport const Card = forwardRef(CardBase) as PolymorphicComponent<\n ExpandProps<CardInternalProps>,\n typeof BASE_CARD_DEFAULT_TAG\n>;\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nimport type { EntryCardSize } from './EntryCard.types';\n\nexport const getEntryCardStyles = () => {\n return {\n actionsButton: css({\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n borderTopLeftRadius: 0,\n borderTopRightRadius: tokens.borderRadiusMedium,\n }),\n content: (size?: EntryCardSize) =>\n css({\n gridColumn: 'content',\n marginTop: size === 'small' ? tokens.spacingXs : tokens.spacingS,\n marginBottom: size === 'small' ? `calc(-1 * ${tokens.spacingXs})` : 0,\n }),\n root: css({\n padding: 0,\n '[data-card-part=\"content\"]': {\n paddingBottom: tokens.spacingM,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingM,\n },\n }),\n header: css({\n borderBottomWidth: 1,\n borderBottomColor: tokens.gray200,\n borderBottomStyle: 'solid',\n minHeight: 'auto',\n paddingBottom: tokens.spacingXs,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingXs,\n }),\n thumbnail: (size?: EntryCardSize) =>\n css({\n margin: `0 0 0 ${tokens.spacingS}`,\n padding: 0,\n overflow: 'hidden',\n position: 'relative',\n img: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n position: 'absolute',\n zIndex: 1,\n },\n ...(size === 'small'\n ? {\n height: '40px',\n width: '40px',\n }\n : {\n height: '70px',\n width: '70px',\n }),\n }),\n };\n};\n","import React, { forwardRef } from 'react';\nimport truncate from 'truncate';\nimport { cx } from '@emotion/css';\nimport {\n Flex,\n type ExpandProps,\n type PolymorphicComponent,\n type PolymorphicProps,\n} from '@contentful/f36-core';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport {\n Subheading,\n Paragraph,\n type HeadingElement,\n} from '@contentful/f36-typography';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport { getEntryCardStyles } from './EntryCard.styles';\nimport { EntryCardInternalProps, EntryCardSize } from './EntryCard.types';\n\nconst ENTRY_CARD_DEFAULT_TAG = 'article';\n\nexport type EntryCardProps<\n E extends React.ElementType = typeof ENTRY_CARD_DEFAULT_TAG,\n> = PolymorphicProps<EntryCardInternalProps, E>;\n\nfunction EntryCardTitle({\n title,\n titleTag,\n}: {\n title?: string;\n titleTag: HeadingElement;\n}) {\n if (!title) {\n return null;\n }\n\n const truncatedTitle = truncate(title, 255, {});\n\n return (\n <Subheading\n title={title.length > 255 ? title : ''}\n testId=\"title\"\n as={titleTag}\n marginBottom=\"none\"\n isWordBreak\n >\n {truncatedTitle}\n </Subheading>\n );\n}\n\nEntryCardTitle.displayName = 'EntryCardTitle';\n\nfunction EntryCardDescription({\n description,\n size,\n}: {\n size: EntryCardSize;\n description?: string;\n}) {\n if (!description || size === 'small') {\n return null;\n }\n\n const truncatedDescription = truncate(description, 95, {});\n\n return (\n <Paragraph marginBottom=\"none\" isWordBreak>\n {truncatedDescription}\n </Paragraph>\n );\n}\n\nEntryCardDescription.displayName = 'EntryCardDescription';\n\nfunction EntryCardBase<\n E extends React.ElementType = typeof ENTRY_CARD_DEFAULT_TAG,\n>(\n {\n actions,\n children,\n className,\n customActionButton,\n src,\n status,\n thumbnailElement,\n description,\n withDragHandle = false,\n title,\n titleTag = 'h2',\n size,\n testId = 'cf-ui-entry-card',\n contentType,\n badge,\n ...otherProps\n }: EntryCardProps<E>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n forwardedRef: React.Ref<any>,\n) {\n const styles = getEntryCardStyles();\n const entryStatusBadge = status ? (\n <EntityStatusBadge entityStatus={status} />\n ) : null;\n\n return (\n // @ts-expect-error this beast of polymorphic component needs a deeper refactor.\n <BaseCard\n as={ENTRY_CARD_DEFAULT_TAG}\n {...otherProps}\n actions={actions}\n badge={badge ? badge : entryStatusBadge}\n className={cx(styles.root, className)}\n customActionButton={customActionButton}\n withDragHandle={withDragHandle}\n ref={forwardedRef}\n type={contentType}\n testId={testId}\n >\n <Flex\n alignItems=\"center\"\n className={styles.content(size)}\n flexDirection=\"row\"\n >\n <Flex flexDirection=\"column\" flexGrow={1} gap=\"spacingS\">\n <EntryCardTitle title={title} titleTag={titleTag} />\n <EntryCardDescription size={size} description={description} />\n {children}\n </Flex>\n\n {thumbnailElement && size !== 'small' && (\n <figure className={styles.thumbnail(size)}>{thumbnailElement}</figure>\n )}\n </Flex>\n </BaseCard>\n );\n}\n\nEntryCardBase.displayName = 'EntryCard';\n\nexport const EntryCard = forwardRef(EntryCardBase) as PolymorphicComponent<\n ExpandProps<EntryCardInternalProps>,\n typeof ENTRY_CARD_DEFAULT_TAG\n>;\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\nimport { getEntityStatusStyles } from '@contentful/f36-core';\n\nimport type { InlineEntryCardProps } from './InlineEntryCard';\n\nexport const getInlineEntryCardStyles = () => {\n return {\n actions: css({\n display: 'flex',\n padding: 0,\n marginLeft: tokens.spacingXs,\n minHeight: 'auto',\n }),\n root: ({ status }: { status: InlineEntryCardProps['status'] }) => {\n const statusColors = getEntityStatusStyles({ status });\n\n return css({\n borderBottomLeftRadius: 0,\n borderTopLeftRadius: 0,\n display: 'inline-flex',\n width: 'auto',\n verticalAlign: 'middle',\n paddingBottom: 0,\n paddingTop: 0,\n paddingLeft: tokens.spacingS,\n paddingRight: tokens.spacing2Xs,\n '[data-card-part=\"wrapper\"]': {\n display: 'inline-flex',\n flexDirection: 'row-reverse',\n },\n '&::before': {\n backgroundColor: statusColors.color,\n bottom: 0,\n content: '\"\"',\n display: 'block',\n left: 0,\n position: 'absolute',\n top: 0,\n width: tokens.spacing2Xs,\n },\n });\n },\n skeleton: css({\n display: 'inline-flex',\n border: `1px solid ${tokens.gray300}`,\n borderTopRightRadius: tokens.borderRadiusMedium,\n borderBottomRightRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingXs,\n }),\n };\n};\n","import React from 'react';\nimport { cx } from '@emotion/css';\nimport { Tooltip } from '@contentful/f36-tooltip';\nimport { Text } from '@contentful/f36-typography';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport type { BaseCardDragHandleProps } from '../BaseCard/BaseCard.types';\nimport type { EntryCardInternalProps } from '../EntryCard/EntryCard.types';\nimport { getInlineEntryCardStyles } from './InlineEntryCard.styles';\nimport { CardActions } from '../BaseCard/CardActions';\n\nexport type InlineEntryCardInternalProps = Omit<\n EntryCardInternalProps,\n 'icon' | 'ref' | 'src' | 'size' | 'type' | keyof BaseCardDragHandleProps\n>;\n\nexport type InlineEntryCardProps = InlineEntryCardInternalProps;\n\nexport const InlineEntryCard = ({\n actions,\n className,\n children,\n status,\n title,\n isLoading,\n testId = 'cf-ui-inline-entry-card',\n ...otherProps\n}: InlineEntryCardInternalProps) => {\n const styles = getInlineEntryCardStyles();\n const header = (\n <CardActions buttonProps={{ className: styles.actions }}>\n {actions}\n </CardActions>\n );\n\n if (isLoading) {\n return (\n <Skeleton.Container\n className={styles.skeleton}\n svgHeight=\"1.25rem\"\n svgWidth=\"6rem\"\n >\n <Skeleton.BodyText numberOfLines={1} />\n </Skeleton.Container>\n );\n }\n\n return (\n <Tooltip placement=\"bottom\" content={title}>\n <BaseCard\n {...otherProps}\n className={cx(styles.root({ status }), className)}\n header={header}\n testId={testId}\n >\n {children || <Text>{title}</Text>}\n </BaseCard>\n </Tooltip>\n );\n};\n"]}
1
+ {"version":3,"sources":["../../src/AssetCard/AssetCard.tsx","../../src/BaseCard/BaseCard.styles.ts","../../src/BaseCard/CardActions.styles.ts","../../src/BaseCard/CardActions.tsx","../../src/BaseCard/DefaultCardHeader.styles.ts","../../src/BaseCard/DefaultCardHeader.tsx","../../src/BaseCard/BaseCard.tsx","../../src/AssetCard/AssetCard.styles.ts","../../src/Card/Card.styles.ts","../../src/Card/Card.tsx","../../src/EntryCard/EntryCard.styles.ts","../../src/EntryCard/EntryCard.tsx","../../src/InlineEntryCard/InlineEntryCard.styles.ts","../../src/InlineEntryCard/InlineEntryCard.tsx"],"names":["getBaseCardStyles","css","tokens","getRootStyles","hasHeader","isHovered","isSelected","__spreadProps","__spreadValues","getCardActionsStyles","CardActions","buttonProps","children","styles","React","Menu","IconButton","DotsThreeIcon","cx","getHeaderStyles","stopEvents","DefaultCardHeader","props","icon","type","actions","actionsButtonProps","badge","customActionButton","renderActionButton","Flex","Text","CardInner","defaultHeader","drag","dragHandleRender","header","isDragging","withDragHandle","BASE_CARD_DEFAULT_TAG","BaseCardBase","_a","forwardedRef","_b","ariaLabel","className","href","isHoveredProp","onBlur","onClick","onFocus","onKeyDown","onMouseEnter","onMouseLeave","target","rel","testId","title","isLoading","as","otherProps","__objRest","setIsHovered","useState","isInteractive","handleFocus","useCallback","event","handleBlur","handleMouseEnter","handleMouseLeave","handleClick","handleKeyDown","Skeleton","DragHandle","Element","rootStyles","baseProps","anchorProps","Box","nonAnchorElement","BaseCard","getAssetCardStyles","size","AssetCard","src","status","customBadge","EntityStatusBadge","Asset","getCardPaddingValue","padding","getCardStyles","CardBase","Heading","Card","forwardRef","getEntryCardStyles","ENTRY_CARD_DEFAULT_TAG","EntryCardTitle","titleTag","truncatedTitle","truncate","Subheading","EntryCardDescription","description","truncatedDescription","Paragraph","EntryCardBase","thumbnailElement","contentType","entryStatusBadge","EntryCard","getInlineEntryCardStyles","statusColors","getEntityStatusStyles","InlineEntryCard","Tooltip"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\nimport { cx } from '@emotion/css';\nimport { Flex } from '@contentful/f36-core';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport { Asset, type AssetStatus, type AssetType } from '@contentful/f36-asset';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport type { BaseCardInternalProps } from '../BaseCard/BaseCard.types';\nimport { getAssetCardStyles } from './AssetCard.styles';\nimport { DefaultCardHeader } from '../BaseCard/DefaultCardHeader';\n\nexport interface AssetCardInternalProps\n extends Omit<BaseCardInternalProps, 'header' | 'padding' | 'ref'> {\n size?: 'small' | 'default';\n src?: string;\n status?: AssetStatus;\n /**\n * Type of the entity represented by the card. Shown in the header of the card\n */\n type?: AssetType;\n}\n\nexport type AssetCardProps = AssetCardInternalProps;\n\nexport const AssetCard = ({\n actions,\n className,\n icon = null,\n isSelected,\n size = 'default',\n src,\n status,\n title,\n type,\n withDragHandle = false,\n isLoading,\n testId = 'cf-ui-asset-card',\n badge: customBadge,\n ...otherProps\n}: AssetCardInternalProps) => {\n const styles = getAssetCardStyles();\n const badge = customBadge ? (\n customBadge\n ) : status ? (\n <EntityStatusBadge entityStatus={status} />\n ) : null;\n const header =\n icon || badge || actions ? (\n <DefaultCardHeader icon={icon} badge={badge} actions={actions} />\n ) : null;\n\n if (isLoading) {\n return (\n <Skeleton.Container\n className={styles.skeleton}\n svgWidth={size === 'default' ? '18rem' : '11rem'}\n svgHeight={size === 'default' ? '18.75rem' : '12rem'}\n >\n <Skeleton.Image width=\"100%\" height=\"18.75rem\" />\n </Skeleton.Container>\n );\n }\n\n return (\n <BaseCard\n {...otherProps}\n badge={badge}\n className={cx(styles.root({ size }), className)}\n header={header}\n isSelected={isSelected}\n title={title}\n withDragHandle={withDragHandle}\n testId={testId}\n >\n <Flex alignItems=\"center\" fullHeight justifyContent=\"center\">\n <Asset\n className={styles.asset}\n src={src}\n status={status}\n title={title}\n type={type}\n />\n </Flex>\n </BaseCard>\n );\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getBaseCardStyles = () => {\n return {\n contentBody: css({\n gridColumn: 'content',\n gridRow: 'content',\n whiteSpace: 'initial',\n }),\n wrapper: css({\n flex: '1 1 0',\n display: 'grid',\n gridTemplateRows: '[header] auto [content] minmax(0, 1fr)',\n gridTemplateColumns: 'auto [content] minmax(0, 1fr)',\n }),\n dragHandle: css({\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n cursor: 'grab',\n }),\n skeleton: css({\n border: `1px solid ${tokens.gray300}`,\n borderRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingM,\n }),\n };\n};\n\nexport const getRootStyles = (\n hasHeader: boolean,\n isHovered: boolean,\n isSelected: boolean,\n) => {\n return {\n root: css({\n backgroundColor: tokens.colorWhite,\n borderColor: tokens.gray300,\n borderRadius: tokens.borderRadiusMedium,\n borderStyle: 'solid',\n borderWidth: 1,\n color: tokens.gray900,\n display: 'flex',\n textAlign: 'left',\n width: '100%',\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n position: 'relative',\n textDecoration: 'none',\n margin: 0, // remove the default button margin in Safari.\n transition: `border-color ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault},\n box-shadow ${tokens.transitionDurationShort} ${tokens.transitionEasingDefault}`,\n paddingTop: hasHeader ? 0 : tokens.spacingM,\n ...(isHovered && {\n borderColor: tokens.blue500,\n cursor: 'pointer',\n }),\n ...(isSelected && {\n backgroundColor: tokens.blue100,\n borderColor: tokens.blue500,\n }),\n '&:focus': css({\n borderColor: isSelected ? tokens.blue100 : tokens.blue500,\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n }),\n '&:focus:not(:focus-visible)': css({\n borderColor: isSelected ? tokens.blue500 : tokens.gray300,\n boxShadow: 'unset',\n }),\n '&:focus-visible': css({\n borderColor: tokens.blue500,\n boxShadow: tokens.glowPrimary,\n }),\n }),\n };\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getCardActionsStyles = () => {\n return {\n root: css({\n minHeight: 'auto',\n padding: tokens.spacing2Xs,\n }),\n };\n};\n","import React from 'react';\nimport { IconButton, type ButtonProps } from '@contentful/f36-button';\nimport { DotsThreeIcon } from '@contentful/f36-icons';\nimport { Menu } from '@contentful/f36-menu';\nimport { cx } from '@emotion/css';\n\nimport { getCardActionsStyles } from './CardActions.styles';\n\nexport type CardActionsProps = {\n buttonProps?: Partial<Omit<ButtonProps<'button'>, 'ref'>>;\n /**\n * Child elements to be rendered in the component\n */\n children: React.ReactNode[];\n};\n\nexport const CardActions = ({\n buttonProps,\n children,\n}: CardActionsProps): React.ReactElement => {\n const styles = getCardActionsStyles();\n\n return (\n <Menu>\n <Menu.Trigger>\n <IconButton\n {...buttonProps}\n aria-label=\"Actions\"\n icon={<DotsThreeIcon />}\n className={cx(styles.root, buttonProps?.className)}\n size=\"small\"\n variant=\"transparent\"\n testId=\"cf-ui-card-actions\"\n />\n </Menu.Trigger>\n <Menu.List>{children}</Menu.List>\n </Menu>\n );\n};\n\nCardActions.displayName = 'CardActions';\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getHeaderStyles = () => {\n return {\n header: css({\n columnGap: tokens.spacingXs,\n rowGap: tokens.spacing2Xs,\n alignItems: 'center',\n borderBottomColor: tokens.gray200,\n borderBottomStyle: 'solid',\n borderBottomWidth: 1,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n borderTopRightRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n color: tokens.gray600,\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n gridColumn: 'content',\n gridRow: 'header',\n lineHeight: tokens.lineHeightM,\n paddingBottom: tokens.spacingXs,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingXs,\n paddingTop: tokens.spacingXs,\n minHeight: '37px',\n }),\n headerWithActions: css({\n paddingBottom: tokens.spacing2Xs,\n paddingRight: tokens.spacingXs,\n paddingTop: tokens.spacing2Xs,\n }),\n };\n};\n","import React from 'react';\nimport { Flex } from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\nimport { CardActions } from './CardActions';\nimport { cx } from '@emotion/css';\nimport { getHeaderStyles } from './DefaultCardHeader.styles';\nimport { BaseCardInternalProps } from './BaseCard.types';\n\nexport const stopEvents = (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n};\n\nexport const DefaultCardHeader = (\n props: Pick<\n BaseCardInternalProps,\n | 'type'\n | 'icon'\n | 'badge'\n | 'actions'\n | 'actionsButtonProps'\n | 'customActionButton'\n >,\n) => {\n const { icon, type, actions, actionsButtonProps, badge, customActionButton } =\n props;\n const styles = getHeaderStyles();\n\n const renderActionButton = () => {\n if (customActionButton) {\n return (\n <Flex\n // don't propagate click event, so onClick handler on the card is not triggered\n onClick={stopEvents}\n alignItems=\"center\"\n >\n {customActionButton}\n </Flex>\n );\n }\n if (actions && actions.length > 0) {\n return (\n <Flex\n // don't propagate click event, so onClick handler on the card is not triggered\n onClick={stopEvents}\n alignItems=\"center\"\n >\n <CardActions buttonProps={actionsButtonProps}>{actions}</CardActions>\n </Flex>\n );\n }\n\n return null;\n };\n\n return (\n <Flex\n flexWrap=\"wrap\"\n className={cx(\n styles.header,\n (actions || customActionButton) && styles.headerWithActions,\n )}\n >\n <Flex flexGrow={1}>\n {type && (\n <Text fontColor=\"gray600\" isWordBreak>\n {type}\n </Text>\n )}\n </Flex>\n {icon && <Flex alignItems=\"center\">{icon}</Flex>}\n {badge && <Flex alignItems=\"center\">{badge}</Flex>}\n {renderActionButton()}\n </Flex>\n );\n};\n\nDefaultCardHeader.displayName = 'DefaultCardHeader';\n","import { cx } from '@emotion/css';\nimport React, {\n useCallback,\n useState,\n type FocusEventHandler,\n type KeyboardEventHandler,\n type MouseEvent,\n type MouseEventHandler,\n} from 'react';\nimport {\n Box,\n type PolymorphicComponent,\n type PolymorphicProps,\n} from '@contentful/f36-core';\nimport { DragHandle } from '@contentful/f36-drag-handle';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { getBaseCardStyles, getRootStyles } from './BaseCard.styles';\n\nimport { DefaultCardHeader, stopEvents } from './DefaultCardHeader';\nimport type { BaseCardInternalProps, CardElement } from './BaseCard.types';\n\ntype CardInnerProps = {\n withDragHandle?: boolean;\n dragHandleRender?: BaseCardInternalProps['dragHandleRender'];\n drag: React.ReactElement;\n isDragging: boolean;\n header?: React.ReactNode;\n defaultHeader: React.ReactNode;\n children: React.ReactNode;\n styles: { wrapper: string; contentBody: string };\n};\n\nconst CardInner = ({\n children,\n defaultHeader,\n drag,\n dragHandleRender,\n header,\n isDragging,\n styles,\n withDragHandle,\n}: CardInnerProps) => (\n <>\n {withDragHandle\n ? dragHandleRender\n ? dragHandleRender({ drag, isDragging })\n : drag\n : null}\n <div className={styles.wrapper} data-card-part=\"wrapper\">\n {header ?? defaultHeader}\n <div className={styles.contentBody} data-card-part=\"content\">\n {children}\n </div>\n </div>\n </>\n);\n\nCardInner.displayName = 'CardInner';\n\nexport const BASE_CARD_DEFAULT_TAG = 'article';\n\nexport type BaseCardProps<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n> = PolymorphicProps<BaseCardInternalProps, E>;\n\nfunction BaseCardBase<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n>(\n {\n actions,\n actionsButtonProps,\n ariaLabel,\n badge,\n children,\n className,\n customActionButton,\n header,\n href,\n icon,\n isDragging = false,\n isHovered: isHoveredProp,\n isSelected = false,\n onBlur,\n onClick,\n onFocus,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n target,\n rel,\n testId = 'cf-ui-base-card',\n title,\n type,\n withDragHandle,\n dragHandleRender,\n isLoading,\n as,\n ...otherProps\n }: BaseCardProps<E>,\n forwardedRef: React.Ref<HTMLElement>,\n) {\n const styles = getBaseCardStyles();\n const [isHovered, setIsHovered] = useState(isHoveredProp ?? false);\n const isInteractive = Boolean(onClick || href || withDragHandle);\n const hasHeader = Boolean(header);\n const defaultHeader =\n type || icon || badge || actions || customActionButton ? (\n <DefaultCardHeader\n type={type}\n icon={icon}\n badge={badge}\n actions={actions}\n customActionButton={customActionButton}\n actionsButtonProps={actionsButtonProps}\n />\n ) : null;\n\n const handleFocus = useCallback<FocusEventHandler<HTMLElement>>(\n (event) => {\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus],\n );\n\n const handleBlur = useCallback<FocusEventHandler<HTMLElement>>(\n (event) => {\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback<MouseEventHandler<HTMLElement>>(\n (event) => {\n setIsHovered(true);\n\n if (onMouseEnter) {\n onMouseEnter(event);\n }\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback<MouseEventHandler<HTMLElement>>(\n (event) => {\n setIsHovered(false);\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n },\n [onMouseLeave],\n );\n\n const handleClick = onClick\n ? (event: MouseEvent<HTMLElement>) => {\n onClick(event);\n }\n : undefined;\n\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLElement>>(\n (event) => {\n if (onKeyDown) {\n onKeyDown(event);\n }\n },\n [onKeyDown],\n );\n\n if (isLoading) {\n return (\n <Skeleton.Container className={styles.skeleton} svgHeight=\"5.6rem\">\n <Skeleton.DisplayText numberOfLines={1} />\n <Skeleton.BodyText numberOfLines={1} offsetTop={35} />\n </Skeleton.Container>\n );\n }\n\n const drag = (\n <DragHandle\n className={styles.dragHandle}\n isActive={isDragging}\n label=\"Reorder entry\"\n onClick={stopEvents}\n />\n );\n\n const Element = as || BASE_CARD_DEFAULT_TAG;\n\n /** Seperate the Props based on the Element Type */\n\n const rootStyles = getRootStyles(hasHeader, isHovered, isSelected);\n\n const baseProps = {\n testId,\n className: cx(rootStyles.root, className),\n 'aria-label': title || ariaLabel,\n title,\n };\n\n // anchor exclusive properties\n const anchorProps = {\n href,\n target,\n rel: rel ?? 'noreferrer',\n } as Pick<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'href' | 'rel' | 'target'\n >;\n\n if (Element === 'a') {\n return (\n <Box\n as=\"a\"\n {...anchorProps}\n {...baseProps}\n ref={forwardedRef as React.Ref<HTMLAnchorElement>}\n onClick={handleClick}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onMouseEnter={\n typeof isHoveredProp === 'undefined' ? handleMouseEnter : undefined\n }\n onMouseLeave={\n typeof isHoveredProp === 'undefined' ? handleMouseLeave : undefined\n }\n {...otherProps}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n }\n\n // Narrow the element type after early-return anchor case to exclude 'a'\n const nonAnchorElement = Element as Exclude<CardElement, 'a'>;\n\n if (isInteractive) {\n return (\n <Box\n as={nonAnchorElement}\n {...baseProps}\n aria-pressed={nonAnchorElement === 'button' ? !!isSelected : undefined}\n onBlur={handleBlur}\n onClick={handleClick}\n onFocus={handleFocus}\n onMouseEnter={\n typeof isHoveredProp === 'undefined' ? handleMouseEnter : undefined\n }\n onMouseLeave={\n typeof isHoveredProp === 'undefined' ? handleMouseLeave : undefined\n }\n onKeyDown={handleKeyDown}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n ref={forwardedRef}\n {...otherProps}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n }\n return (\n <Box\n as={nonAnchorElement}\n {...baseProps}\n {...otherProps}\n ref={forwardedRef}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n}\n\nBaseCardBase.displayName = 'BaseCard';\n\nexport const BaseCard = React.forwardRef(BaseCardBase) as PolymorphicComponent<\n BaseCardInternalProps,\n typeof BASE_CARD_DEFAULT_TAG\n>;\n","import tokens from '@contentful/f36-tokens';\nimport { css } from '@emotion/css';\n\nexport const getAssetCardStyles = () => {\n return {\n root: ({ size }) =>\n css({\n display: 'inline-flex',\n width: 'auto',\n borderRadius: tokens.borderRadiusMedium,\n minWidth: `calc(1rem * (120 / ${tokens.fontBaseDefault}))`,\n height:\n size === 'small'\n ? `calc(1rem * (188 / ${tokens.fontBaseDefault}))`\n : `calc(1rem * (300 / ${tokens.fontBaseDefault}))`,\n padding: 0,\n textAlign: 'center',\n }),\n asset: css({\n height: '100%',\n }),\n skeleton: css({\n border: `1px solid ${tokens.gray300}`,\n borderRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingM,\n }),\n };\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\nimport { CardProps } from '..';\n\nconst getCardPaddingValue = (padding: CardProps['padding']) => {\n switch (padding) {\n case 'large':\n return tokens.spacingL;\n case 'none':\n return 0;\n default:\n return tokens.spacingM;\n }\n};\n\nexport const getCardStyles = ({ padding }) => ({\n header: css({\n gridColumn: 'content',\n gridRow: 'header',\n marginBottom: tokens.spacingM,\n }),\n root: css({\n padding: getCardPaddingValue(padding),\n }),\n});\n","import React, { forwardRef } from 'react';\nimport { cx } from '@emotion/css';\nimport {\n Flex,\n type PolymorphicComponent,\n type PolymorphicProps,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { Heading } from '@contentful/f36-typography';\n\nimport { BaseCard, BASE_CARD_DEFAULT_TAG } from '../BaseCard/BaseCard';\nimport type { BaseCardInternalProps } from '../BaseCard/BaseCard.types';\nimport { CardActions } from '../BaseCard/CardActions';\nimport { getCardStyles } from './Card.styles';\n\ntype BaseProps = Omit<\n BaseCardInternalProps,\n 'header' | 'withDragHandle' | 'ref' | 'src' | 'type'\n> & {\n /**\n * Padding size to apply to the component\n *\n * @default default\n */\n padding?: 'default' | 'large' | 'none';\n};\n\ntype BasePropsWithDragHandle = Omit<BaseProps, 'padding'> &\n Pick<BaseCardInternalProps, 'withDragHandle'> & { padding: 'none' };\n\nexport type CardInternalProps = BaseProps | BasePropsWithDragHandle;\n\nexport type CardProps<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n> = PolymorphicProps<CardInternalProps, E>;\n\nfunction CardBase<E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG>(\n {\n actions,\n badge,\n icon,\n padding = 'default',\n title,\n className,\n testId = 'cf-ui-card',\n ...otherProps\n }: CardProps<E>,\n forwardedRef: React.Ref<HTMLElement>,\n) {\n const styles = getCardStyles({ padding });\n const hasHeader = Boolean(title || icon || badge || actions);\n\n return (\n // @ts-expect-error this beast of polymorphic component needs a deeper refactor.\n <BaseCard\n className={cx(styles.root, className)}\n {...otherProps}\n testId={testId}\n header={\n hasHeader && (\n <Flex alignItems=\"center\" className={cx(styles.header)}>\n {title && (\n <Flex as=\"header\" flexGrow={1}>\n <Heading marginBottom=\"none\">{title}</Heading>\n </Flex>\n )}\n {icon && (\n <Flex alignItems=\"center\" marginLeft=\"spacingXs\">\n {icon}\n </Flex>\n )}\n {badge && (\n <Flex alignItems=\"center\" marginLeft=\"spacingXs\">\n {badge}\n </Flex>\n )}\n {actions && <CardActions>{actions}</CardActions>}\n </Flex>\n )\n }\n ref={forwardedRef}\n />\n );\n}\n\nCardBase.displayName = 'Card';\n\nexport const Card = forwardRef(CardBase) as PolymorphicComponent<\n ExpandProps<CardInternalProps>,\n typeof BASE_CARD_DEFAULT_TAG\n>;\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nimport type { EntryCardSize } from './EntryCard.types';\n\nexport const getEntryCardStyles = () => {\n return {\n actionsButton: css({\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n borderTopLeftRadius: 0,\n borderTopRightRadius: tokens.borderRadiusMedium,\n }),\n content: (size?: EntryCardSize) =>\n css({\n gridColumn: 'content',\n marginTop: size === 'small' ? tokens.spacingXs : tokens.spacingS,\n marginBottom: size === 'small' ? `calc(-1 * ${tokens.spacingXs})` : 0,\n }),\n root: css({\n padding: 0,\n '[data-card-part=\"content\"]': {\n paddingBottom: tokens.spacingM,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingM,\n },\n }),\n header: css({\n borderBottomWidth: 1,\n borderBottomColor: tokens.gray200,\n borderBottomStyle: 'solid',\n minHeight: 'auto',\n paddingBottom: tokens.spacingXs,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingXs,\n }),\n thumbnail: (size?: EntryCardSize) =>\n css({\n margin: `0 0 0 ${tokens.spacingS}`,\n padding: 0,\n overflow: 'hidden',\n position: 'relative',\n img: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n position: 'absolute',\n zIndex: 1,\n },\n ...(size === 'small'\n ? {\n height: '40px',\n width: '40px',\n }\n : {\n height: '70px',\n width: '70px',\n }),\n }),\n };\n};\n","import React, { forwardRef } from 'react';\nimport truncate from 'truncate';\nimport { cx } from '@emotion/css';\nimport {\n Flex,\n type ExpandProps,\n type PolymorphicComponent,\n type PolymorphicProps,\n} from '@contentful/f36-core';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport {\n Subheading,\n Paragraph,\n type HeadingElement,\n} from '@contentful/f36-typography';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport { getEntryCardStyles } from './EntryCard.styles';\nimport { EntryCardInternalProps, EntryCardSize } from './EntryCard.types';\n\nconst ENTRY_CARD_DEFAULT_TAG = 'article';\n\nexport type EntryCardProps<\n E extends React.ElementType = typeof ENTRY_CARD_DEFAULT_TAG,\n> = PolymorphicProps<EntryCardInternalProps, E>;\n\nfunction EntryCardTitle({\n title,\n titleTag,\n}: {\n title?: string;\n titleTag: HeadingElement;\n}) {\n if (!title) {\n return null;\n }\n\n const truncatedTitle = truncate(title, 255, {});\n\n return (\n <Subheading\n title={title.length > 255 ? title : ''}\n testId=\"title\"\n as={titleTag}\n marginBottom=\"none\"\n isWordBreak\n >\n {truncatedTitle}\n </Subheading>\n );\n}\n\nEntryCardTitle.displayName = 'EntryCardTitle';\n\nfunction EntryCardDescription({\n description,\n size,\n}: {\n size: EntryCardSize;\n description?: string;\n}) {\n if (!description || size === 'small') {\n return null;\n }\n\n const truncatedDescription = truncate(description, 95, {});\n\n return (\n <Paragraph marginBottom=\"none\" isWordBreak>\n {truncatedDescription}\n </Paragraph>\n );\n}\n\nEntryCardDescription.displayName = 'EntryCardDescription';\n\nfunction EntryCardBase<\n E extends React.ElementType = typeof ENTRY_CARD_DEFAULT_TAG,\n>(\n {\n actions,\n children,\n className,\n customActionButton,\n src,\n status,\n thumbnailElement,\n description,\n withDragHandle = false,\n title,\n titleTag = 'h2',\n size,\n testId = 'cf-ui-entry-card',\n contentType,\n badge,\n ...otherProps\n }: EntryCardProps<E>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n forwardedRef: React.Ref<any>,\n) {\n const styles = getEntryCardStyles();\n const entryStatusBadge = status ? (\n <EntityStatusBadge entityStatus={status} />\n ) : null;\n\n return (\n // @ts-expect-error this beast of polymorphic component needs a deeper refactor.\n <BaseCard\n as={ENTRY_CARD_DEFAULT_TAG}\n {...otherProps}\n actions={actions}\n badge={badge ? badge : entryStatusBadge}\n className={cx(styles.root, className)}\n customActionButton={customActionButton}\n withDragHandle={withDragHandle}\n ref={forwardedRef}\n type={contentType}\n testId={testId}\n >\n <Flex\n alignItems=\"center\"\n className={styles.content(size)}\n flexDirection=\"row\"\n >\n <Flex flexDirection=\"column\" flexGrow={1} gap=\"spacingS\">\n <EntryCardTitle title={title} titleTag={titleTag} />\n <EntryCardDescription size={size} description={description} />\n {children}\n </Flex>\n\n {thumbnailElement && size !== 'small' && (\n <figure className={styles.thumbnail(size)}>{thumbnailElement}</figure>\n )}\n </Flex>\n </BaseCard>\n );\n}\n\nEntryCardBase.displayName = 'EntryCard';\n\nexport const EntryCard = forwardRef(EntryCardBase) as PolymorphicComponent<\n ExpandProps<EntryCardInternalProps>,\n typeof ENTRY_CARD_DEFAULT_TAG\n>;\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\nimport { getEntityStatusStyles } from '@contentful/f36-core';\n\nimport type { InlineEntryCardProps } from './InlineEntryCard';\n\nexport const getInlineEntryCardStyles = () => {\n return {\n actions: css({\n display: 'flex',\n padding: 0,\n marginLeft: tokens.spacingXs,\n minHeight: 'auto',\n }),\n root: ({ status }: { status: InlineEntryCardProps['status'] }) => {\n const statusColors = getEntityStatusStyles({ status });\n\n return css({\n borderBottomLeftRadius: 0,\n borderTopLeftRadius: 0,\n display: 'inline-flex',\n width: 'auto',\n verticalAlign: 'middle',\n paddingBottom: 0,\n paddingTop: 0,\n paddingLeft: tokens.spacingS,\n paddingRight: tokens.spacing2Xs,\n '[data-card-part=\"wrapper\"]': {\n display: 'inline-flex',\n flexDirection: 'row-reverse',\n },\n '&::before': {\n backgroundColor: statusColors.color,\n bottom: 0,\n content: '\"\"',\n display: 'block',\n left: 0,\n position: 'absolute',\n top: 0,\n width: tokens.spacing2Xs,\n },\n });\n },\n skeleton: css({\n display: 'inline-flex',\n border: `1px solid ${tokens.gray300}`,\n borderTopRightRadius: tokens.borderRadiusMedium,\n borderBottomRightRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingXs,\n }),\n };\n};\n","import React from 'react';\nimport { cx } from '@emotion/css';\nimport { Tooltip } from '@contentful/f36-tooltip';\nimport { Text } from '@contentful/f36-typography';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport type { BaseCardDragHandleProps } from '../BaseCard/BaseCard.types';\nimport type { EntryCardInternalProps } from '../EntryCard/EntryCard.types';\nimport { getInlineEntryCardStyles } from './InlineEntryCard.styles';\nimport { CardActions } from '../BaseCard/CardActions';\n\nexport type InlineEntryCardInternalProps = Omit<\n EntryCardInternalProps,\n 'icon' | 'ref' | 'src' | 'size' | 'type' | keyof BaseCardDragHandleProps\n>;\n\nexport type InlineEntryCardProps = InlineEntryCardInternalProps;\n\nexport const InlineEntryCard = ({\n actions,\n className,\n children,\n status,\n title,\n isLoading,\n testId = 'cf-ui-inline-entry-card',\n ...otherProps\n}: InlineEntryCardInternalProps) => {\n const styles = getInlineEntryCardStyles();\n const header = (\n <CardActions buttonProps={{ className: styles.actions }}>\n {actions}\n </CardActions>\n );\n\n if (isLoading) {\n return (\n <Skeleton.Container\n className={styles.skeleton}\n svgHeight=\"1.25rem\"\n svgWidth=\"6rem\"\n >\n <Skeleton.BodyText numberOfLines={1} />\n </Skeleton.Container>\n );\n }\n\n return (\n <Tooltip placement=\"bottom\" content={title}>\n <BaseCard\n {...otherProps}\n className={cx(styles.root({ status }), className)}\n header={header}\n testId={testId}\n >\n {children || <Text>{title}</Text>}\n </BaseCard>\n </Tooltip>\n );\n};\n"]}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var c=require('react'),css=require('@emotion/css'),f36Core=require('@contentful/f36-core'),f36Badge=require('@contentful/f36-badge'),f36Asset=require('@contentful/f36-asset'),f36Skeleton=require('@contentful/f36-skeleton'),f36DragHandle=require('@contentful/f36-drag-handle'),n=require('@contentful/f36-tokens'),f36Typography=require('@contentful/f36-typography'),f36Button=require('@contentful/f36-button'),f36Icons=require('@contentful/f36-icons'),f36Menu=require('@contentful/f36-menu'),Fe=require('truncate'),f36Tooltip=require('@contentful/f36-tooltip');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var c__default=/*#__PURE__*/_interopDefault(c);var n__default=/*#__PURE__*/_interopDefault(n);var Fe__default=/*#__PURE__*/_interopDefault(Fe);var rr=Object.defineProperty,tr=Object.defineProperties;var or=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var xe=Object.prototype.hasOwnProperty,he=Object.prototype.propertyIsEnumerable;var Ee=(e,t,r)=>t in e?rr(e,t,{enumerable:true,configurable:true,writable:true,value:r}):e[t]=r,a=(e,t)=>{for(var r in t||(t={}))xe.call(t,r)&&Ee(e,r,t[r]);if(Y)for(var r of Y(t))he.call(t,r)&&Ee(e,r,t[r]);return e},l=(e,t)=>tr(e,or(t));var x=(e,t)=>{var r={};for(var o in e)xe.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Y)for(var o of Y(e))t.indexOf(o)<0&&he.call(e,o)&&(r[o]=e[o]);return r};var Be=()=>({contentBody:css.css({gridColumn:"content",gridRow:"content",whiteSpace:"initial"}),wrapper:css.css({flex:"1 1 0",display:"grid",gridTemplateRows:"[header] auto [content] minmax(0, 1fr)",gridTemplateColumns:"auto [content] minmax(0, 1fr)"}),dragHandle:css.css({borderBottomLeftRadius:n__default.default.borderRadiusMedium,borderTopLeftRadius:n__default.default.borderRadiusMedium,cursor:"grab"}),skeleton:css.css({border:`1px solid ${n__default.default.gray300}`,borderRadius:n__default.default.borderRadiusMedium,padding:n__default.default.spacingM})}),be=(e,t,r)=>({root:css.css(l(a(a({backgroundColor:n__default.default.colorWhite,borderColor:n__default.default.gray300,borderRadius:n__default.default.borderRadiusMedium,borderStyle:"solid",borderWidth:1,color:n__default.default.gray900,display:"flex",textAlign:"left",width:"100%",fontSize:n__default.default.fontSizeM,fontWeight:n__default.default.fontWeightNormal,position:"relative",textDecoration:"none",margin:0,transition:`border-color ${n__default.default.transitionDurationDefault} ${n__default.default.transitionEasingDefault},
2
- box-shadow ${n__default.default.transitionDurationShort} ${n__default.default.transitionEasingDefault}`,paddingTop:e?0:n__default.default.spacingM},t&&{borderColor:n__default.default.blue500,cursor:"pointer"}),r&&{backgroundColor:n__default.default.blue100,borderColor:n__default.default.blue500}),{"&:focus":css.css({borderColor:r?n__default.default.blue100:n__default.default.blue500,boxShadow:n__default.default.glowPrimary,outline:"none"}),"&:focus:not(:focus-visible)":css.css({borderColor:r?n__default.default.blue500:n__default.default.gray300,boxShadow:"unset"}),"&:focus-visible":css.css({borderColor:n__default.default.blue500,boxShadow:n__default.default.glowPrimary})}))});var Ae=()=>({root:css.css({minHeight:"auto",padding:n__default.default.spacing2Xs})});var R=({buttonProps:e,children:t})=>{let r=Ae();return c__default.default.createElement(f36Menu.Menu,null,c__default.default.createElement(f36Menu.Menu.Trigger,null,c__default.default.createElement(f36Button.IconButton,l(a({},e),{"aria-label":"Actions",icon:c__default.default.createElement(f36Icons.DotsThreeIcon,null),className:css.cx(r.root,e==null?void 0:e.className),size:"small",variant:"transparent",testId:"cf-ui-card-actions"}))),c__default.default.createElement(f36Menu.Menu.List,null,t))};R.displayName="CardActions";var Te=()=>({header:css.css({columnGap:n__default.default.spacingXs,rowGap:n__default.default.spacing2Xs,alignItems:"center",borderBottomColor:n__default.default.gray200,borderBottomStyle:"solid",borderBottomWidth:1,borderTopLeftRadius:n__default.default.borderRadiusMedium,borderTopRightRadius:n__default.default.borderRadiusMedium,boxSizing:"border-box",color:n__default.default.gray600,fontSize:n__default.default.fontSizeM,fontWeight:n__default.default.fontWeightNormal,gridColumn:"content",gridRow:"header",lineHeight:n__default.default.lineHeightM,paddingBottom:n__default.default.spacingXs,paddingLeft:n__default.default.spacingM,paddingRight:n__default.default.spacingXs,paddingTop:n__default.default.spacingXs,minHeight:"37px"}),headerWithActions:css.css({paddingBottom:n__default.default.spacing2Xs,paddingRight:n__default.default.spacingXs,paddingTop:n__default.default.spacing2Xs})});var j=e=>{e.preventDefault(),e.stopPropagation();},U=e=>{let{icon:t,type:r,actions:o,actionsButtonProps:s,badge:f,customActionButton:i}=e,p=Te(),y=()=>i?c__default.default.createElement(f36Core.Flex,{onClick:j,alignItems:"center"},i):o&&o.length>0?c__default.default.createElement(f36Core.Flex,{onClick:j,alignItems:"center"},c__default.default.createElement(R,{buttonProps:s},o)):null;return c__default.default.createElement(f36Core.Flex,{flexWrap:"wrap",className:css.cx(p.header,(o||i)&&p.headerWithActions)},c__default.default.createElement(f36Core.Flex,{flexGrow:1},r&&c__default.default.createElement(f36Typography.Text,{fontColor:"gray600",isWordBreak:true},r)),t&&c__default.default.createElement(f36Core.Flex,{alignItems:"center"},t),f&&c__default.default.createElement(f36Core.Flex,{alignItems:"center"},f),y())};U.displayName="DefaultCardHeader";var K=({children:e,defaultHeader:t,drag:r,dragHandleRender:o,header:s,isDragging:f,styles:i,withDragHandle:p})=>c__default.default.createElement(c__default.default.Fragment,null,p?o?o({drag:r,isDragging:f}):r:null,c__default.default.createElement("div",{className:i.wrapper,"data-card-part":"wrapper"},s!=null?s:t,c__default.default.createElement("div",{className:i.contentBody,"data-card-part":"content"},e)));K.displayName="CardInner";var gr="article";function Ie(Rr,Q){var me=Rr,{actions:e,actionsButtonProps:t,ariaLabel:r,badge:o,children:s,className:f,customActionButton:i,header:p,href:y,icon:E,isDragging:g=false,isHovered:d,isSelected:h=false,onBlur:L,onClick:B,onFocus:P,onKeyDown:b,onMouseEnter:T,onMouseLeave:I,target:v,rel:W,testId:Oe="cf-ui-base-card",title:pe,type:le,withDragHandle:O,dragHandleRender:q,isLoading:Ye,as:je}=me,J=x(me,["actions","actionsButtonProps","ariaLabel","badge","children","className","customActionButton","header","href","icon","isDragging","isHovered","isSelected","onBlur","onClick","onFocus","onKeyDown","onMouseEnter","onMouseLeave","target","rel","testId","title","type","withDragHandle","dragHandleRender","isLoading","as"]);let X=Be(),[Ke,ce]=c.useState(d!=null?d:false),Ve=!!(B||y||O),qe=!!p,Z=le||E||o||e||i?c__default.default.createElement(U,{type:le,icon:E,badge:o,actions:e,customActionButton:i,actionsButtonProps:t}):null,fe=c.useCallback(C=>{P&&P(C);},[P]),ge=c.useCallback(C=>{L&&L(C);},[L]),ue=c.useCallback(C=>{ce(true),T&&T(C);},[T]),ye=c.useCallback(C=>{ce(false),I&&I(C);},[I]),Je=B?C=>{B(C);}:void 0,Qe=c.useCallback(C=>{b&&b(C);},[b]);if(Ye)return c__default.default.createElement(f36Skeleton.Skeleton.Container,{className:X.skeleton,svgHeight:"5.6rem"},c__default.default.createElement(f36Skeleton.Skeleton.DisplayText,{numberOfLines:1}),c__default.default.createElement(f36Skeleton.Skeleton.BodyText,{numberOfLines:1,offsetTop:35}));let ee=c__default.default.createElement(f36DragHandle.DragHandle,{className:X.dragHandle,isActive:g,label:"Reorder entry",onClick:j}),Ce=je||gr,Ze=be(qe,Ke,h),re={testId:Oe,className:css.cx(Ze.root,f),"aria-label":pe||r,title:pe},er={href:y,target:v,rel:W!=null?W:"noreferrer"};if(Ce==="a")return c__default.default.createElement(f36Core.Box,a(l(a(a({as:"a"},er),re),{ref:Q,onFocus:fe,onBlur:ge,onMouseEnter:typeof d=="undefined"?ue:void 0,onMouseLeave:typeof d=="undefined"?ye:void 0}),J),c__default.default.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O}));let te=Ce;return Ve?c__default.default.createElement(f36Core.Box,a(l(a({as:te},re),{"aria-pressed":te==="button"?!!h:void 0,onBlur:ge,onClick:Je,onFocus:fe,onMouseEnter:typeof d=="undefined"?ue:void 0,onMouseLeave:typeof d=="undefined"?ye:void 0,onKeyDown:Qe,role:B?"button":void 0,tabIndex:B?0:void 0,ref:Q}),J),c__default.default.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O})):c__default.default.createElement(f36Core.Box,l(a(a({as:te},re),J),{ref:Q}),c__default.default.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O}))}Ie.displayName="BaseCard";var H=c__default.default.forwardRef(Ie);var Se=()=>({root:({size:e})=>css.css({display:"inline-flex",width:"auto",borderRadius:n__default.default.borderRadiusMedium,minWidth:`calc(1rem * (120 / ${n__default.default.fontBaseDefault}))`,height:e==="small"?`calc(1rem * (188 / ${n__default.default.fontBaseDefault}))`:`calc(1rem * (300 / ${n__default.default.fontBaseDefault}))`,padding:0,textAlign:"center"}),asset:css.css({height:"100%"}),skeleton:css.css({border:`1px solid ${n__default.default.gray300}`,borderRadius:n__default.default.borderRadiusMedium,padding:n__default.default.spacingM})});var He=B=>{var P=B,{actions:e,className:t,icon:r=null,isSelected:o,size:s="default",src:f,status:i,title:p,type:y,withDragHandle:E=false,isLoading:g,testId:d="cf-ui-asset-card",badge:h}=P,L=x(P,["actions","className","icon","isSelected","size","src","status","title","type","withDragHandle","isLoading","testId","badge"]);let b=Se(),T=h||(i?c__default.default.createElement(f36Badge.EntityStatusBadge,{entityStatus:i}):null),I=r||T||e?c__default.default.createElement(U,{icon:r,badge:T,actions:e}):null;return g?c__default.default.createElement(f36Skeleton.Skeleton.Container,{className:b.skeleton,svgWidth:s==="default"?"18rem":"11rem",svgHeight:s==="default"?"18.75rem":"12rem"},c__default.default.createElement(f36Skeleton.Skeleton.Image,{width:"100%",height:"18.75rem"})):c__default.default.createElement(H,l(a({},L),{badge:T,className:css.cx(b.root({size:s}),t),header:I,isSelected:o,title:p,withDragHandle:E,testId:d}),c__default.default.createElement(f36Core.Flex,{alignItems:"center",fullHeight:true,justifyContent:"center"},c__default.default.createElement(f36Asset.Asset,{className:b.asset,src:f,status:i,title:p,type:y})))};var xr=e=>{switch(e){case "large":return n__default.default.spacingL;case "none":return 0;default:return n__default.default.spacingM}},Le=({padding:e})=>({header:css.css({gridColumn:"content",gridRow:"header",marginBottom:n__default.default.spacingM}),root:css.css({padding:xr(e)})});function we(E,y){var g=E,{actions:e,badge:t,icon:r,padding:o="default",title:s,className:f,testId:i="cf-ui-card"}=g,p=x(g,["actions","badge","icon","padding","title","className","testId"]);let d=Le({padding:o}),h=!!(s||r||t||e);return c__default.default.createElement(H,l(a({className:css.cx(d.root,f)},p),{testId:i,header:h&&c__default.default.createElement(f36Core.Flex,{alignItems:"center",className:css.cx(d.header)},s&&c__default.default.createElement(f36Core.Flex,{as:"header",flexGrow:1},c__default.default.createElement(f36Typography.Heading,{marginBottom:"none"},s)),r&&c__default.default.createElement(f36Core.Flex,{alignItems:"center",marginLeft:"spacingXs"},r),t&&c__default.default.createElement(f36Core.Flex,{alignItems:"center",marginLeft:"spacingXs"},t),e&&c__default.default.createElement(R,null,e)),ref:y}))}we.displayName="Card";var Ne=c.forwardRef(we);var ke=()=>({actionsButton:css.css({borderBottomLeftRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderTopRightRadius:n__default.default.borderRadiusMedium}),content:e=>css.css({gridColumn:"content",marginTop:e==="small"?n__default.default.spacingXs:n__default.default.spacingS,marginBottom:e==="small"?`calc(-1 * ${n__default.default.spacingXs})`:0}),root:css.css({padding:0,'[data-card-part="content"]':{paddingBottom:n__default.default.spacingM,paddingLeft:n__default.default.spacingM,paddingRight:n__default.default.spacingM}}),header:css.css({borderBottomWidth:1,borderBottomColor:n__default.default.gray200,borderBottomStyle:"solid",minHeight:"auto",paddingBottom:n__default.default.spacingXs,paddingLeft:n__default.default.spacingM,paddingRight:n__default.default.spacingXs}),thumbnail:e=>css.css(a({margin:`0 0 0 ${n__default.default.spacingS}`,padding:0,overflow:"hidden",position:"relative",img:{width:"100%",height:"100%",objectFit:"cover",position:"absolute",zIndex:1}},e==="small"?{height:"40px",width:"40px"}:{height:"70px",width:"70px"}))});var Sr="article";function ve({title:e,titleTag:t}){if(!e)return null;let r=Fe__default.default(e,255,{});return c__default.default.createElement(f36Typography.Subheading,{title:e.length>255?e:"",testId:"title",as:t,marginBottom:"none",isWordBreak:true},r)}ve.displayName="EntryCardTitle";function We({description:e,size:t}){if(!e||t==="small")return null;let r=Fe__default.default(e,95,{});return c__default.default.createElement(f36Typography.Paragraph,{marginBottom:"none",isWordBreak:true},r)}We.displayName="EntryCardDescription";function Xe(T,b){var I=T,{actions:e,children:t,className:r,customActionButton:o,src:s,status:f,thumbnailElement:i,description:p,withDragHandle:y=false,title:E,titleTag:g="h2",size:d,testId:h="cf-ui-entry-card",contentType:L,badge:B}=I,P=x(I,["actions","children","className","customActionButton","src","status","thumbnailElement","description","withDragHandle","title","titleTag","size","testId","contentType","badge"]);let v=ke(),W=f?c__default.default.createElement(f36Badge.EntityStatusBadge,{entityStatus:f}):null;return c__default.default.createElement(H,l(a({as:Sr},P),{actions:e,badge:B||W,className:css.cx(v.root,r),customActionButton:o,withDragHandle:y,ref:b,type:L,testId:h}),c__default.default.createElement(f36Core.Flex,{alignItems:"center",className:v.content(d),flexDirection:"row"},c__default.default.createElement(f36Core.Flex,{flexDirection:"column",flexGrow:1,gap:"spacingS"},c__default.default.createElement(ve,{title:E,titleTag:g}),c__default.default.createElement(We,{size:d,description:p}),t),i&&d!=="small"&&c__default.default.createElement("figure",{className:v.thumbnail(d)},i)))}Xe.displayName="EntryCard";var Ge=c.forwardRef(Xe);var Ue=()=>({actions:css.css({display:"flex",padding:0,marginLeft:n__default.default.spacingXs,minHeight:"auto"}),root:({status:e})=>{let t=f36Core.getEntityStatusStyles({status:e});return css.css({borderBottomLeftRadius:0,borderTopLeftRadius:0,display:"inline-flex",width:"auto",verticalAlign:"middle",paddingBottom:0,paddingTop:0,paddingLeft:n__default.default.spacingS,paddingRight:n__default.default.spacing2Xs,'[data-card-part="wrapper"]':{display:"inline-flex",flexDirection:"row-reverse"},"&::before":{backgroundColor:t.color,bottom:0,content:'""',display:"block",left:0,position:"absolute",top:0,width:n__default.default.spacing2Xs}})},skeleton:css.css({display:"inline-flex",border:`1px solid ${n__default.default.gray300}`,borderTopRightRadius:n__default.default.borderRadiusMedium,borderBottomRightRadius:n__default.default.borderRadiusMedium,padding:n__default.default.spacingXs})});var ze=y=>{var E=y,{actions:e,className:t,children:r,status:o,title:s,isLoading:f,testId:i="cf-ui-inline-entry-card"}=E,p=x(E,["actions","className","children","status","title","isLoading","testId"]);let g=Ue(),d=c__default.default.createElement(R,{buttonProps:{className:g.actions}},e);return f?c__default.default.createElement(f36Skeleton.Skeleton.Container,{className:g.skeleton,svgHeight:"1.25rem",svgWidth:"6rem"},c__default.default.createElement(f36Skeleton.Skeleton.BodyText,{numberOfLines:1})):c__default.default.createElement(f36Tooltip.Tooltip,{placement:"bottom",content:s},c__default.default.createElement(H,l(a({},p),{className:css.cx(g.root({status:o}),t),header:d,testId:i}),r||c__default.default.createElement(f36Typography.Text,null,s)))};exports.AssetCard=He;exports.Card=Ne;exports.EntryCard=Ge;exports.InlineEntryCard=ze;//# sourceMappingURL=index.js.map
1
+ 'use strict';var c=require('react'),css=require('@emotion/css'),f36Core=require('@contentful/f36-core'),f36Badge=require('@contentful/f36-badge'),f36Asset=require('@contentful/f36-asset'),f36Skeleton=require('@contentful/f36-skeleton'),f36DragHandle=require('@contentful/f36-drag-handle'),n=require('@contentful/f36-tokens'),f36Typography=require('@contentful/f36-typography'),f36Button=require('@contentful/f36-button'),f36Icons=require('@contentful/f36-icons'),f36Menu=require('@contentful/f36-menu'),ve=require('truncate'),f36Tooltip=require('@contentful/f36-tooltip');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var c__default=/*#__PURE__*/_interopDefault(c);var n__default=/*#__PURE__*/_interopDefault(n);var ve__default=/*#__PURE__*/_interopDefault(ve);var rr=Object.defineProperty,tr=Object.defineProperties;var or=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var he=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable;var xe=(e,t,r)=>t in e?rr(e,t,{enumerable:true,configurable:true,writable:true,value:r}):e[t]=r,a=(e,t)=>{for(var r in t||(t={}))he.call(t,r)&&xe(e,r,t[r]);if(Y)for(var r of Y(t))Be.call(t,r)&&xe(e,r,t[r]);return e},l=(e,t)=>tr(e,or(t));var x=(e,t)=>{var r={};for(var o in e)he.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Y)for(var o of Y(e))t.indexOf(o)<0&&Be.call(e,o)&&(r[o]=e[o]);return r};var be=()=>({contentBody:css.css({gridColumn:"content",gridRow:"content",whiteSpace:"initial"}),wrapper:css.css({flex:"1 1 0",display:"grid",gridTemplateRows:"[header] auto [content] minmax(0, 1fr)",gridTemplateColumns:"auto [content] minmax(0, 1fr)"}),dragHandle:css.css({borderBottomLeftRadius:n__default.default.borderRadiusMedium,borderTopLeftRadius:n__default.default.borderRadiusMedium,cursor:"grab"}),skeleton:css.css({border:`1px solid ${n__default.default.gray300}`,borderRadius:n__default.default.borderRadiusMedium,padding:n__default.default.spacingM})}),Ae=(e,t,r)=>({root:css.css(l(a(a({backgroundColor:n__default.default.colorWhite,borderColor:n__default.default.gray300,borderRadius:n__default.default.borderRadiusMedium,borderStyle:"solid",borderWidth:1,color:n__default.default.gray900,display:"flex",textAlign:"left",width:"100%",fontSize:n__default.default.fontSizeM,fontWeight:n__default.default.fontWeightNormal,position:"relative",textDecoration:"none",margin:0,transition:`border-color ${n__default.default.transitionDurationDefault} ${n__default.default.transitionEasingDefault},
2
+ box-shadow ${n__default.default.transitionDurationShort} ${n__default.default.transitionEasingDefault}`,paddingTop:e?0:n__default.default.spacingM},t&&{borderColor:n__default.default.blue500,cursor:"pointer"}),r&&{backgroundColor:n__default.default.blue100,borderColor:n__default.default.blue500}),{"&:focus":css.css({borderColor:r?n__default.default.blue100:n__default.default.blue500,boxShadow:n__default.default.glowPrimary,outline:"none"}),"&:focus:not(:focus-visible)":css.css({borderColor:r?n__default.default.blue500:n__default.default.gray300,boxShadow:"unset"}),"&:focus-visible":css.css({borderColor:n__default.default.blue500,boxShadow:n__default.default.glowPrimary})}))});var Pe=()=>({root:css.css({minHeight:"auto",padding:n__default.default.spacing2Xs})});var R=({buttonProps:e,children:t})=>{let r=Pe();return c__default.default.createElement(f36Menu.Menu,null,c__default.default.createElement(f36Menu.Menu.Trigger,null,c__default.default.createElement(f36Button.IconButton,l(a({},e),{"aria-label":"Actions",icon:c__default.default.createElement(f36Icons.DotsThreeIcon,null),className:css.cx(r.root,e==null?void 0:e.className),size:"small",variant:"transparent",testId:"cf-ui-card-actions"}))),c__default.default.createElement(f36Menu.Menu.List,null,t))};R.displayName="CardActions";var Ie=()=>({header:css.css({columnGap:n__default.default.spacingXs,rowGap:n__default.default.spacing2Xs,alignItems:"center",borderBottomColor:n__default.default.gray200,borderBottomStyle:"solid",borderBottomWidth:1,borderTopLeftRadius:n__default.default.borderRadiusMedium,borderTopRightRadius:n__default.default.borderRadiusMedium,boxSizing:"border-box",color:n__default.default.gray600,fontSize:n__default.default.fontSizeM,fontWeight:n__default.default.fontWeightNormal,gridColumn:"content",gridRow:"header",lineHeight:n__default.default.lineHeightM,paddingBottom:n__default.default.spacingXs,paddingLeft:n__default.default.spacingM,paddingRight:n__default.default.spacingXs,paddingTop:n__default.default.spacingXs,minHeight:"37px"}),headerWithActions:css.css({paddingBottom:n__default.default.spacing2Xs,paddingRight:n__default.default.spacingXs,paddingTop:n__default.default.spacing2Xs})});var j=e=>{e.preventDefault(),e.stopPropagation();},U=e=>{let{icon:t,type:r,actions:o,actionsButtonProps:s,badge:f,customActionButton:i}=e,p=Ie(),y=()=>i?c__default.default.createElement(f36Core.Flex,{onClick:j,alignItems:"center"},i):o&&o.length>0?c__default.default.createElement(f36Core.Flex,{onClick:j,alignItems:"center"},c__default.default.createElement(R,{buttonProps:s},o)):null;return c__default.default.createElement(f36Core.Flex,{flexWrap:"wrap",className:css.cx(p.header,(o||i)&&p.headerWithActions)},c__default.default.createElement(f36Core.Flex,{flexGrow:1},r&&c__default.default.createElement(f36Typography.Text,{fontColor:"gray600",isWordBreak:true},r)),t&&c__default.default.createElement(f36Core.Flex,{alignItems:"center"},t),f&&c__default.default.createElement(f36Core.Flex,{alignItems:"center"},f),y())};U.displayName="DefaultCardHeader";var K=({children:e,defaultHeader:t,drag:r,dragHandleRender:o,header:s,isDragging:f,styles:i,withDragHandle:p})=>c__default.default.createElement(c__default.default.Fragment,null,p?o?o({drag:r,isDragging:f}):r:null,c__default.default.createElement("div",{className:i.wrapper,"data-card-part":"wrapper"},s!=null?s:t,c__default.default.createElement("div",{className:i.contentBody,"data-card-part":"content"},e)));K.displayName="CardInner";var gr="article";function Se(Rr,Q){var me=Rr,{actions:e,actionsButtonProps:t,ariaLabel:r,badge:o,children:s,className:f,customActionButton:i,header:p,href:y,icon:E,isDragging:g=false,isHovered:d,isSelected:h=false,onBlur:L,onClick:B,onFocus:P,onKeyDown:b,onMouseEnter:T,onMouseLeave:I,target:v,rel:W,testId:Ye="cf-ui-base-card",title:pe,type:le,withDragHandle:O,dragHandleRender:q,isLoading:je,as:Ke}=me,J=x(me,["actions","actionsButtonProps","ariaLabel","badge","children","className","customActionButton","header","href","icon","isDragging","isHovered","isSelected","onBlur","onClick","onFocus","onKeyDown","onMouseEnter","onMouseLeave","target","rel","testId","title","type","withDragHandle","dragHandleRender","isLoading","as"]);let X=be(),[Ve,ce]=c.useState(d!=null?d:false),qe=!!(B||y||O),Je=!!p,Z=le||E||o||e||i?c__default.default.createElement(U,{type:le,icon:E,badge:o,actions:e,customActionButton:i,actionsButtonProps:t}):null,fe=c.useCallback(C=>{P&&P(C);},[P]),ge=c.useCallback(C=>{L&&L(C);},[L]),ue=c.useCallback(C=>{ce(true),T&&T(C);},[T]),ye=c.useCallback(C=>{ce(false),I&&I(C);},[I]),Ce=B?C=>{B(C);}:void 0,Qe=c.useCallback(C=>{b&&b(C);},[b]);if(je)return c__default.default.createElement(f36Skeleton.Skeleton.Container,{className:X.skeleton,svgHeight:"5.6rem"},c__default.default.createElement(f36Skeleton.Skeleton.DisplayText,{numberOfLines:1}),c__default.default.createElement(f36Skeleton.Skeleton.BodyText,{numberOfLines:1,offsetTop:35}));let ee=c__default.default.createElement(f36DragHandle.DragHandle,{className:X.dragHandle,isActive:g,label:"Reorder entry",onClick:j}),Ee=Ke||gr,Ze=Ae(Je,Ve,h),re={testId:Ye,className:css.cx(Ze.root,f),"aria-label":pe||r,title:pe},er={href:y,target:v,rel:W!=null?W:"noreferrer"};if(Ee==="a")return c__default.default.createElement(f36Core.Box,a(l(a(a({as:"a"},er),re),{ref:Q,onClick:Ce,onFocus:fe,onBlur:ge,onMouseEnter:typeof d=="undefined"?ue:void 0,onMouseLeave:typeof d=="undefined"?ye:void 0}),J),c__default.default.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O}));let te=Ee;return qe?c__default.default.createElement(f36Core.Box,a(l(a({as:te},re),{"aria-pressed":te==="button"?!!h:void 0,onBlur:ge,onClick:Ce,onFocus:fe,onMouseEnter:typeof d=="undefined"?ue:void 0,onMouseLeave:typeof d=="undefined"?ye:void 0,onKeyDown:Qe,role:B?"button":void 0,tabIndex:B?0:void 0,ref:Q}),J),c__default.default.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O})):c__default.default.createElement(f36Core.Box,l(a(a({as:te},re),J),{ref:Q}),c__default.default.createElement(K,{children:s,defaultHeader:Z,drag:ee,dragHandleRender:q,header:p,isDragging:g,styles:X,withDragHandle:O}))}Se.displayName="BaseCard";var H=c__default.default.forwardRef(Se);var De=()=>({root:({size:e})=>css.css({display:"inline-flex",width:"auto",borderRadius:n__default.default.borderRadiusMedium,minWidth:`calc(1rem * (120 / ${n__default.default.fontBaseDefault}))`,height:e==="small"?`calc(1rem * (188 / ${n__default.default.fontBaseDefault}))`:`calc(1rem * (300 / ${n__default.default.fontBaseDefault}))`,padding:0,textAlign:"center"}),asset:css.css({height:"100%"}),skeleton:css.css({border:`1px solid ${n__default.default.gray300}`,borderRadius:n__default.default.borderRadiusMedium,padding:n__default.default.spacingM})});var Me=B=>{var P=B,{actions:e,className:t,icon:r=null,isSelected:o,size:s="default",src:f,status:i,title:p,type:y,withDragHandle:E=false,isLoading:g,testId:d="cf-ui-asset-card",badge:h}=P,L=x(P,["actions","className","icon","isSelected","size","src","status","title","type","withDragHandle","isLoading","testId","badge"]);let b=De(),T=h||(i?c__default.default.createElement(f36Badge.EntityStatusBadge,{entityStatus:i}):null),I=r||T||e?c__default.default.createElement(U,{icon:r,badge:T,actions:e}):null;return g?c__default.default.createElement(f36Skeleton.Skeleton.Container,{className:b.skeleton,svgWidth:s==="default"?"18rem":"11rem",svgHeight:s==="default"?"18.75rem":"12rem"},c__default.default.createElement(f36Skeleton.Skeleton.Image,{width:"100%",height:"18.75rem"})):c__default.default.createElement(H,l(a({},L),{badge:T,className:css.cx(b.root({size:s}),t),header:I,isSelected:o,title:p,withDragHandle:E,testId:d}),c__default.default.createElement(f36Core.Flex,{alignItems:"center",fullHeight:true,justifyContent:"center"},c__default.default.createElement(f36Asset.Asset,{className:b.asset,src:f,status:i,title:p,type:y})))};var xr=e=>{switch(e){case "large":return n__default.default.spacingL;case "none":return 0;default:return n__default.default.spacingM}},Re=({padding:e})=>({header:css.css({gridColumn:"content",gridRow:"header",marginBottom:n__default.default.spacingM}),root:css.css({padding:xr(e)})});function ke(E,y){var g=E,{actions:e,badge:t,icon:r,padding:o="default",title:s,className:f,testId:i="cf-ui-card"}=g,p=x(g,["actions","badge","icon","padding","title","className","testId"]);let d=Re({padding:o}),h=!!(s||r||t||e);return c__default.default.createElement(H,l(a({className:css.cx(d.root,f)},p),{testId:i,header:h&&c__default.default.createElement(f36Core.Flex,{alignItems:"center",className:css.cx(d.header)},s&&c__default.default.createElement(f36Core.Flex,{as:"header",flexGrow:1},c__default.default.createElement(f36Typography.Heading,{marginBottom:"none"},s)),r&&c__default.default.createElement(f36Core.Flex,{alignItems:"center",marginLeft:"spacingXs"},r),t&&c__default.default.createElement(f36Core.Flex,{alignItems:"center",marginLeft:"spacingXs"},t),e&&c__default.default.createElement(R,null,e)),ref:y}))}ke.displayName="Card";var Ne=c.forwardRef(ke);var _e=()=>({actionsButton:css.css({borderBottomLeftRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderTopRightRadius:n__default.default.borderRadiusMedium}),content:e=>css.css({gridColumn:"content",marginTop:e==="small"?n__default.default.spacingXs:n__default.default.spacingS,marginBottom:e==="small"?`calc(-1 * ${n__default.default.spacingXs})`:0}),root:css.css({padding:0,'[data-card-part="content"]':{paddingBottom:n__default.default.spacingM,paddingLeft:n__default.default.spacingM,paddingRight:n__default.default.spacingM}}),header:css.css({borderBottomWidth:1,borderBottomColor:n__default.default.gray200,borderBottomStyle:"solid",minHeight:"auto",paddingBottom:n__default.default.spacingXs,paddingLeft:n__default.default.spacingM,paddingRight:n__default.default.spacingXs}),thumbnail:e=>css.css(a({margin:`0 0 0 ${n__default.default.spacingS}`,padding:0,overflow:"hidden",position:"relative",img:{width:"100%",height:"100%",objectFit:"cover",position:"absolute",zIndex:1}},e==="small"?{height:"40px",width:"40px"}:{height:"70px",width:"70px"}))});var Sr="article";function We({title:e,titleTag:t}){if(!e)return null;let r=ve__default.default(e,255,{});return c__default.default.createElement(f36Typography.Subheading,{title:e.length>255?e:"",testId:"title",as:t,marginBottom:"none",isWordBreak:true},r)}We.displayName="EntryCardTitle";function Xe({description:e,size:t}){if(!e||t==="small")return null;let r=ve__default.default(e,95,{});return c__default.default.createElement(f36Typography.Paragraph,{marginBottom:"none",isWordBreak:true},r)}Xe.displayName="EntryCardDescription";function Ge(T,b){var I=T,{actions:e,children:t,className:r,customActionButton:o,src:s,status:f,thumbnailElement:i,description:p,withDragHandle:y=false,title:E,titleTag:g="h2",size:d,testId:h="cf-ui-entry-card",contentType:L,badge:B}=I,P=x(I,["actions","children","className","customActionButton","src","status","thumbnailElement","description","withDragHandle","title","titleTag","size","testId","contentType","badge"]);let v=_e(),W=f?c__default.default.createElement(f36Badge.EntityStatusBadge,{entityStatus:f}):null;return c__default.default.createElement(H,l(a({as:Sr},P),{actions:e,badge:B||W,className:css.cx(v.root,r),customActionButton:o,withDragHandle:y,ref:b,type:L,testId:h}),c__default.default.createElement(f36Core.Flex,{alignItems:"center",className:v.content(d),flexDirection:"row"},c__default.default.createElement(f36Core.Flex,{flexDirection:"column",flexGrow:1,gap:"spacingS"},c__default.default.createElement(We,{title:E,titleTag:g}),c__default.default.createElement(Xe,{size:d,description:p}),t),i&&d!=="small"&&c__default.default.createElement("figure",{className:v.thumbnail(d)},i)))}Ge.displayName="EntryCard";var Ue=c.forwardRef(Ge);var $e=()=>({actions:css.css({display:"flex",padding:0,marginLeft:n__default.default.spacingXs,minHeight:"auto"}),root:({status:e})=>{let t=f36Core.getEntityStatusStyles({status:e});return css.css({borderBottomLeftRadius:0,borderTopLeftRadius:0,display:"inline-flex",width:"auto",verticalAlign:"middle",paddingBottom:0,paddingTop:0,paddingLeft:n__default.default.spacingS,paddingRight:n__default.default.spacing2Xs,'[data-card-part="wrapper"]':{display:"inline-flex",flexDirection:"row-reverse"},"&::before":{backgroundColor:t.color,bottom:0,content:'""',display:"block",left:0,position:"absolute",top:0,width:n__default.default.spacing2Xs}})},skeleton:css.css({display:"inline-flex",border:`1px solid ${n__default.default.gray300}`,borderTopRightRadius:n__default.default.borderRadiusMedium,borderBottomRightRadius:n__default.default.borderRadiusMedium,padding:n__default.default.spacingXs})});var Oe=y=>{var E=y,{actions:e,className:t,children:r,status:o,title:s,isLoading:f,testId:i="cf-ui-inline-entry-card"}=E,p=x(E,["actions","className","children","status","title","isLoading","testId"]);let g=$e(),d=c__default.default.createElement(R,{buttonProps:{className:g.actions}},e);return f?c__default.default.createElement(f36Skeleton.Skeleton.Container,{className:g.skeleton,svgHeight:"1.25rem",svgWidth:"6rem"},c__default.default.createElement(f36Skeleton.Skeleton.BodyText,{numberOfLines:1})):c__default.default.createElement(f36Tooltip.Tooltip,{placement:"bottom",content:s},c__default.default.createElement(H,l(a({},p),{className:css.cx(g.root({status:o}),t),header:d,testId:i}),r||c__default.default.createElement(f36Typography.Text,null,s)))};exports.AssetCard=Me;exports.Card=Ne;exports.EntryCard=Ue;exports.InlineEntryCard=Oe;//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/AssetCard/AssetCard.tsx","../src/BaseCard/BaseCard.styles.ts","../src/BaseCard/CardActions.styles.ts","../src/BaseCard/CardActions.tsx","../src/BaseCard/DefaultCardHeader.styles.ts","../src/BaseCard/DefaultCardHeader.tsx","../src/BaseCard/BaseCard.tsx","../src/AssetCard/AssetCard.styles.ts","../src/Card/Card.styles.ts","../src/Card/Card.tsx","../src/EntryCard/EntryCard.styles.ts","../src/EntryCard/EntryCard.tsx","../src/InlineEntryCard/InlineEntryCard.styles.ts","../src/InlineEntryCard/InlineEntryCard.tsx"],"names":["getBaseCardStyles","css","tokens","getRootStyles","hasHeader","isHovered","isSelected","__spreadProps","__spreadValues","getCardActionsStyles","CardActions","buttonProps","children","styles","React","Menu","IconButton","DotsThreeIcon","cx","getHeaderStyles","stopEvents","DefaultCardHeader","props","icon","type","actions","actionsButtonProps","badge","customActionButton","renderActionButton","Flex","Text","CardInner","defaultHeader","drag","dragHandleRender","header","isDragging","withDragHandle","BASE_CARD_DEFAULT_TAG","BaseCardBase","_a","forwardedRef","_b","ariaLabel","className","href","isHoveredProp","onBlur","onClick","onFocus","onKeyDown","onMouseEnter","onMouseLeave","target","rel","testId","title","isLoading","as","otherProps","__objRest","setIsHovered","useState","isInteractive","handleFocus","useCallback","event","handleBlur","handleMouseEnter","handleMouseLeave","handleClick","handleKeyDown","Skeleton","DragHandle","Element","rootStyles","baseProps","anchorProps","Box","nonAnchorElement","BaseCard","getAssetCardStyles","size","AssetCard","src","status","customBadge","EntityStatusBadge","Asset","getCardPaddingValue","padding","getCardStyles","CardBase","Heading","Card","forwardRef","getEntryCardStyles","ENTRY_CARD_DEFAULT_TAG","EntryCardTitle","titleTag","truncatedTitle","truncate","Subheading","EntryCardDescription","description","truncatedDescription","Paragraph","EntryCardBase","thumbnailElement","contentType","entryStatusBadge","EntryCard","getInlineEntryCardStyles","statusColors","getEntityStatusStyles","InlineEntryCard","Tooltip"],"mappings":"4wBAAA,IAAA,EAAA,CAAA,MAAA,CAAA,cAAA,CAAA,EAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,IAAA,EAAA,CAAA,MAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,CAAA,MAAA,CAAA,qBAAA,CAAA,IAAA,EAAA,CAAA,MAAA,CAAA,SAAA,CAAA,cAAA,CAAA,EAAA,CAAA,MAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,IAAA,CAAA,YAAA,CAAA,IAAA,CAAA,QAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CCGO,IAAMA,EAAAA,CAAoB,KACxB,CACL,YAAaC,OAAAA,CAAI,CACf,UAAA,CAAY,SAAA,CACZ,QAAS,SAAA,CACT,UAAA,CAAY,SACd,CAAC,EACD,OAAA,CAASA,OAAAA,CAAI,CACX,IAAA,CAAM,QACN,OAAA,CAAS,MAAA,CACT,iBAAkB,wCAAA,CAClB,mBAAA,CAAqB,+BACvB,CAAC,CAAA,CACD,UAAA,CAAYA,OAAAA,CAAI,CACd,sBAAA,CAAwBC,kBAAAA,CAAO,kBAAA,CAC/B,mBAAA,CAAqBA,mBAAO,kBAAA,CAC5B,MAAA,CAAQ,MACV,CAAC,EACD,QAAA,CAAUD,OAAAA,CAAI,CACZ,MAAA,CAAQ,aAAaC,kBAAAA,CAAO,OAAO,CAAA,CAAA,CACnC,YAAA,CAAcA,mBAAO,kBAAA,CACrB,OAAA,CAASA,kBAAAA,CAAO,QAClB,CAAC,CACH,CAAA,CAAA,CAGWC,EAAAA,CAAgB,CAC3BC,EACAC,CAAAA,CACAC,CAAAA,IAEO,CACL,IAAA,CAAML,OAAAA,CAAIM,EAAAC,CAAAA,CAAAA,CAAAA,CAAA,CACR,eAAA,CAAiBN,kBAAAA,CAAO,WACxB,WAAA,CAAaA,kBAAAA,CAAO,OAAA,CACpB,YAAA,CAAcA,mBAAO,kBAAA,CACrB,WAAA,CAAa,OAAA,CACb,WAAA,CAAa,EACb,KAAA,CAAOA,kBAAAA,CAAO,QACd,OAAA,CAAS,MAAA,CACT,UAAW,MAAA,CACX,KAAA,CAAO,MAAA,CACP,QAAA,CAAUA,mBAAO,SAAA,CACjB,UAAA,CAAYA,kBAAAA,CAAO,gBAAA,CACnB,SAAU,UAAA,CACV,cAAA,CAAgB,MAAA,CAChB,MAAA,CAAQ,EACR,UAAA,CAAY,CAAA,aAAA,EAAgBA,mBAAO,yBAAyB,CAAA,CAAA,EAAIA,mBAAO,uBAAuB,CAAA;AAAA,aAAA,EACrFA,kBAAAA,CAAO,uBAAuB,CAAA,CAAA,EAAIA,kBAAAA,CAAO,uBAAuB,CAAA,CAAA,CACzE,UAAA,CAAYE,CAAAA,CAAY,CAAA,CAAIF,kBAAAA,CAAO,QAAA,CAAA,CAC/BG,CAAAA,EAAa,CACf,WAAA,CAAaH,kBAAAA,CAAO,OAAA,CACpB,MAAA,CAAQ,SACV,CAAA,CAAA,CACII,CAAAA,EAAc,CAChB,eAAA,CAAiBJ,kBAAAA,CAAO,OAAA,CACxB,WAAA,CAAaA,kBAAAA,CAAO,OACtB,CAAA,CAAA,CAzBQ,CA0BR,SAAA,CAAWD,OAAAA,CAAI,CACb,WAAA,CAAaK,CAAAA,CAAaJ,kBAAAA,CAAO,OAAA,CAAUA,kBAAAA,CAAO,OAAA,CAClD,SAAA,CAAWA,kBAAAA,CAAO,WAAA,CAClB,OAAA,CAAS,MACX,CAAC,CAAA,CACD,6BAAA,CAA+BD,OAAAA,CAAI,CACjC,WAAA,CAAaK,CAAAA,CAAaJ,kBAAAA,CAAO,OAAA,CAAUA,kBAAAA,CAAO,OAAA,CAClD,SAAA,CAAW,OACb,CAAC,CAAA,CACD,iBAAA,CAAmBD,OAAAA,CAAI,CACrB,YAAaC,kBAAAA,CAAO,OAAA,CACpB,SAAA,CAAWA,kBAAAA,CAAO,WACpB,CAAC,CACH,CAAA,CAAC,CACH,CAAA,CAAA,CCxEK,IAAMO,EAAAA,CAAuB,KAC3B,CACL,IAAA,CAAMR,OAAAA,CAAI,CACR,SAAA,CAAW,MAAA,CACX,OAAA,CAASC,kBAAAA,CAAO,UAClB,CAAC,CACH,CAAA,CAAA,CCOK,IAAMQ,CAAAA,CAAc,CAAC,CAC1B,WAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CAAA,GAA4C,CAC1C,IAAMC,CAAAA,CAASJ,EAAAA,EAAqB,CAEpC,OACEK,kBAAAA,CAAA,aAAA,CAACC,YAAAA,CAAA,IAAA,CACCD,kBAAAA,CAAA,aAAA,CAACC,YAAAA,CAAK,OAAA,CAAL,IAAA,CACCD,kBAAAA,CAAA,aAAA,CAACE,oBAAAA,CAAAT,CAAAA,CAAAC,CAAAA,CAAA,EAAA,CACKG,CAAAA,CAAAA,CADL,CAEC,YAAA,CAAW,SAAA,CACX,IAAA,CAAMG,kBAAAA,CAAA,cAACG,sBAAAA,CAAA,IAAc,CAAA,CACrB,SAAA,CAAWC,MAAAA,CAAGL,CAAAA,CAAO,IAAA,CAAMF,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAa,SAAS,CAAA,CACjD,IAAA,CAAK,OAAA,CACL,OAAA,CAAQ,aAAA,CACR,MAAA,CAAO,oBAAA,CAAA,CACT,CACF,CAAA,CACAG,kBAAAA,CAAA,aAAA,CAACC,YAAAA,CAAK,IAAA,CAAL,IAAA,CAAWH,CAAS,CACvB,CAEJ,CAAA,CAEAF,CAAAA,CAAY,WAAA,CAAc,aAAA,CCrCnB,IAAMS,EAAAA,CAAkB,KACtB,CACL,MAAA,CAAQlB,OAAAA,CAAI,CACV,SAAA,CAAWC,kBAAAA,CAAO,SAAA,CAClB,MAAA,CAAQA,kBAAAA,CAAO,UAAA,CACf,UAAA,CAAY,QAAA,CACZ,iBAAA,CAAmBA,kBAAAA,CAAO,OAAA,CAC1B,iBAAA,CAAmB,OAAA,CACnB,iBAAA,CAAmB,CAAA,CACnB,oBAAqBA,kBAAAA,CAAO,kBAAA,CAC5B,oBAAA,CAAsBA,kBAAAA,CAAO,kBAAA,CAC7B,SAAA,CAAW,YAAA,CACX,KAAA,CAAOA,kBAAAA,CAAO,OAAA,CACd,QAAA,CAAUA,kBAAAA,CAAO,SAAA,CACjB,UAAA,CAAYA,kBAAAA,CAAO,gBAAA,CACnB,UAAA,CAAY,SAAA,CACZ,OAAA,CAAS,QAAA,CACT,UAAA,CAAYA,kBAAAA,CAAO,WAAA,CACnB,aAAA,CAAeA,kBAAAA,CAAO,SAAA,CACtB,WAAA,CAAaA,kBAAAA,CAAO,QAAA,CACpB,YAAA,CAAcA,kBAAAA,CAAO,SAAA,CACrB,WAAYA,kBAAAA,CAAO,SAAA,CACnB,SAAA,CAAW,MACb,CAAC,CAAA,CACD,iBAAA,CAAmBD,OAAAA,CAAI,CACrB,aAAA,CAAeC,kBAAAA,CAAO,UAAA,CACtB,YAAA,CAAcA,kBAAAA,CAAO,SAAA,CACrB,UAAA,CAAYA,kBAAAA,CAAO,UACrB,CAAC,CACH,CAAA,CAAA,CCxBK,IAAMkB,CAAAA,CAAc,CAAA,EAAqC,CAC9D,CAAA,CAAE,cAAA,EAAe,CACjB,CAAA,CAAE,eAAA,GACJ,CAAA,CAEaC,EACXC,CAAAA,EASG,CACH,GAAM,CAAE,IAAA,CAAAC,CAAAA,CAAM,IAAA,CAAAC,CAAAA,CAAM,OAAA,CAAAC,CAAAA,CAAS,kBAAA,CAAAC,CAAAA,CAAoB,KAAA,CAAAC,CAAAA,CAAO,kBAAA,CAAAC,CAAmB,CAAA,CACzEN,CAAAA,CACIT,CAAAA,CAASM,EAAAA,EAAgB,CAEzBU,CAAAA,CAAqB,IACrBD,CAAAA,CAEAd,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAEC,OAAA,CAASV,CAAAA,CACT,UAAA,CAAW,QAAA,CAAA,CAEVQ,CACH,CAAA,CAGAH,CAAAA,EAAWA,CAAAA,CAAQ,MAAA,CAAS,CAAA,CAE5BX,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAEC,OAAA,CAASV,CAAAA,CACT,UAAA,CAAW,QAAA,CAAA,CAEXN,kBAAAA,CAAA,aAAA,CAACJ,CAAAA,CAAA,CAAY,WAAA,CAAagB,CAAAA,CAAAA,CAAqBD,CAAQ,CACzD,CAAA,CAIG,IAAA,CAGT,OACEX,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CACC,QAAA,CAAS,MAAA,CACT,SAAA,CAAWZ,MAAAA,CACTL,EAAO,MAAA,CAAA,CACNY,CAAAA,EAAWG,CAAAA,GAAuBf,CAAAA,CAAO,iBAC5C,CAAA,CAAA,CAEAC,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAAK,QAAA,CAAU,CAAA,CAAA,CACbN,CAAAA,EACCV,kBAAAA,CAAA,aAAA,CAACiB,kBAAAA,CAAA,CAAK,SAAA,CAAU,SAAA,CAAU,WAAA,CAAW,IAAA,CAAA,CAClCP,CACH,CAEJ,CAAA,CACCD,CAAAA,EAAQT,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAAK,UAAA,CAAW,QAAA,CAAA,CAAUP,CAAK,EACxCI,CAAAA,EAASb,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAAK,UAAA,CAAW,QAAA,CAAA,CAAUH,CAAM,CAAA,CAC1CE,CAAAA,EACH,CAEJ,CAAA,CAEAR,CAAAA,CAAkB,WAAA,CAAc,mBAAA,CC5ChC,IAAMW,CAAAA,CAAY,CAAC,CACjB,QAAA,CAAApB,CAAAA,CACA,aAAA,CAAAqB,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,OAAAxB,CAAAA,CACA,cAAA,CAAAyB,CACF,CAAA,GACExB,kBAAAA,CAAA,aAAA,CAAAA,kBAAAA,CAAA,QAAA,CAAA,IAAA,CACGwB,CAAAA,CACGH,CAAAA,CACEA,CAAAA,CAAiB,CAAE,IAAA,CAAAD,CAAAA,CAAM,UAAA,CAAAG,CAAW,CAAC,CAAA,CACrCH,CAAAA,CACF,IAAA,CACJpB,kBAAAA,CAAA,aAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWD,CAAAA,CAAO,OAAA,CAAS,gBAAA,CAAe,SAAA,CAAA,CAC5CuB,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAUH,CAAAA,CACXnB,mBAAA,aAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWD,CAAAA,CAAO,WAAA,CAAa,gBAAA,CAAe,SAAA,CAAA,CAChDD,CACH,CACF,CACF,CAAA,CAGFoB,CAAAA,CAAU,WAAA,CAAc,WAAA,CAEjB,IAAMO,EAAAA,CAAwB,SAAA,CAMrC,SAASC,EAAAA,CAGPC,EAAAA,CA+BAC,CAAAA,CACA,CAhCA,IAAAC,EAAAA,CAAAF,EAAAA,CACE,CAAA,OAAA,CAAAhB,CAAAA,CACA,kBAAA,CAAAC,CAAAA,CACA,SAAA,CAAAkB,CAAAA,CACA,KAAA,CAAAjB,EACA,QAAA,CAAAf,CAAAA,CACA,SAAA,CAAAiC,CAAAA,CACA,kBAAA,CAAAjB,CAAAA,CACA,MAAA,CAAAQ,CAAAA,CACA,IAAA,CAAAU,CAAAA,CACA,IAAA,CAAAvB,CAAAA,CACA,UAAA,CAAAc,CAAAA,CAAa,KAAA,CACb,SAAA,CAAWU,CAAAA,CACX,UAAA,CAAAzC,CAAAA,CAAa,KAAA,CACb,MAAA,CAAA0C,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,OAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,EAAAA,CAAS,iBAAA,CACT,KAAA,CAAAC,EAAAA,CACA,IAAA,CAAAjC,EAAAA,CACA,cAAA,CAAAc,CAAAA,CACA,gBAAA,CAAAH,CAAAA,CACA,SAAA,CAAAuB,EAAAA,CACA,EAAA,CAAAC,EAjGJ,CAAA,CAqEEhB,EAAAA,CA6BKiB,CAAAA,CAAAC,CAAAA,CA7BLlB,EAAAA,CA6BK,CA5BH,SAAA,CACA,oBAAA,CACA,WAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,oBAAA,CACA,QAAA,CACA,OACA,MAAA,CACA,YAAA,CACA,WAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CACA,SAAA,CACA,WAAA,CACA,cAAA,CACA,cAAA,CACA,QAAA,CACA,KAAA,CACA,QAAA,CACA,OAAA,CACA,MAAA,CACA,gBAAA,CACA,kBAAA,CACA,WAAA,CACA,IAAA,CAAA,CAAA,CAKF,IAAM9B,CAAAA,CAASb,EAAAA,EAAkB,CAC3B,CAACK,EAAAA,CAAWyD,EAAY,CAAA,CAAIC,UAAAA,CAAShB,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAiB,KAAK,EAC3DiB,EAAAA,CAAgB,CAAA,EAAQf,CAAAA,EAAWH,CAAAA,EAAQR,CAAAA,CAAAA,CAC3ClC,EAAAA,CAAY,CAAA,CAAQgC,CAAAA,CACpBH,CAAAA,CACJT,EAAAA,EAAQD,CAAAA,EAAQI,CAAAA,EAASF,CAAAA,EAAWG,CAAAA,CAClCd,kBAAAA,CAAA,aAAA,CAACO,CAAAA,CAAA,CACC,IAAA,CAAMG,EAAAA,CACN,IAAA,CAAMD,CAAAA,CACN,KAAA,CAAOI,CAAAA,CACP,OAAA,CAASF,CAAAA,CACT,kBAAA,CAAoBG,CAAAA,CACpB,kBAAA,CAAoBF,CAAAA,CACtB,CAAA,CACE,IAAA,CAEAuC,GAAcC,aAAAA,CACjBC,CAAAA,EAAU,CACLjB,CAAAA,EACFA,CAAAA,CAAQiB,CAAK,EAEjB,CAAA,CACA,CAACjB,CAAO,CACV,CAAA,CAEMkB,EAAAA,CAAaF,aAAAA,CAChBC,CAAAA,EAAU,CACLnB,CAAAA,EACFA,CAAAA,CAAOmB,CAAK,EAEhB,CAAA,CACA,CAACnB,CAAM,CACT,CAAA,CAEMqB,EAAAA,CAAmBH,aAAAA,CACtBC,CAAAA,EAAU,CACTL,EAAAA,CAAa,IAAI,CAAA,CAEbV,GACFA,CAAAA,CAAae,CAAK,EAEtB,CAAA,CACA,CAACf,CAAY,CACf,CAAA,CAEMkB,EAAAA,CAAmBJ,aAAAA,CACtBC,CAAAA,EAAU,CACTL,EAAAA,CAAa,KAAK,CAAA,CAEdT,CAAAA,EACFA,CAAAA,CAAac,CAAK,EAEtB,CAAA,CACA,CAACd,CAAY,CACf,CAAA,CAEMkB,EAAAA,CAActB,CAAAA,CACfkB,CAAAA,EAAmC,CAClClB,CAAAA,CAAQkB,CAAK,EACf,CAAA,CACA,OAEEK,EAAAA,CAAgBN,aAAAA,CACnBC,CAAAA,EAAU,CACLhB,CAAAA,EACFA,CAAAA,CAAUgB,CAAK,EAEnB,CAAA,CACA,CAAChB,CAAS,CACZ,CAAA,CAEA,GAAIO,EAAAA,CACF,OACE5C,kBAAAA,CAAA,aAAA,CAAC2D,oBAAAA,CAAS,SAAA,CAAT,CAAmB,SAAA,CAAW5D,CAAAA,CAAO,QAAA,CAAU,SAAA,CAAU,QAAA,CAAA,CACxDC,kBAAAA,CAAA,aAAA,CAAC2D,oBAAAA,CAAS,WAAA,CAAT,CAAqB,aAAA,CAAe,EAAG,CAAA,CACxC3D,kBAAAA,CAAA,aAAA,CAAC2D,oBAAAA,CAAS,QAAA,CAAT,CAAkB,aAAA,CAAe,CAAA,CAAG,SAAA,CAAW,EAAA,CAAI,CACtD,CAAA,CAIJ,IAAMvC,EAAAA,CACJpB,kBAAAA,CAAA,aAAA,CAAC4D,wBAAAA,CAAA,CACC,SAAA,CAAW7D,CAAAA,CAAO,UAAA,CAClB,QAAA,CAAUwB,CAAAA,CACV,KAAA,CAAM,eAAA,CACN,OAAA,CAASjB,CAAAA,CACX,CAAA,CAGIuD,EAAAA,CAAUhB,EAAAA,EAAMpB,EAAAA,CAIhBqC,EAAAA,CAAazE,GAAcC,EAAAA,CAAWC,EAAAA,CAAWC,CAAU,CAAA,CAE3DuE,EAAAA,CAAY,CAChB,MAAA,CAAArB,EAAAA,CACA,SAAA,CAAWtC,MAAAA,CAAG0D,EAAAA,CAAW,IAAA,CAAM/B,CAAS,CAAA,CACxC,YAAA,CAAcY,EAAAA,EAASb,CAAAA,CACvB,KAAA,CAAAa,EACF,CAAA,CAGMqB,EAAAA,CAAc,CAClB,IAAA,CAAAhC,CAAAA,CACA,MAAA,CAAAQ,CAAAA,CACA,GAAA,CAAKC,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAO,YACd,CAAA,CAKA,GAAIoB,EAAAA,GAAY,GAAA,CACd,OACE7D,kBAAAA,CAAA,aAAA,CAACiE,WAAAA,CAAAvE,CAAAA,CAAAD,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAA,CACC,EAAA,CAAG,GAAA,CAAA,CACCsE,EAAAA,CAAAA,CACAD,EAAAA,CAAAA,CAHL,CAIC,GAAA,CAAKnC,CAAAA,CACL,OAAA,CAASuB,EAAAA,CACT,MAAA,CAAQG,EAAAA,CACR,YAAA,CACE,OAAOrB,CAAAA,EAAkB,WAAA,CAAcsB,EAAAA,CAAmB,MAAA,CAE5D,YAAA,CACE,OAAOtB,CAAAA,EAAkB,WAAA,CAAcuB,EAAAA,CAAmB,SAExDV,CAAAA,CAAAA,CAEJ9C,kBAAAA,CAAA,aAAA,CAACkB,CAAAA,CAAA,CACC,QAAA,CAAUpB,CAAAA,CACV,aAAA,CAAeqB,CAAAA,CACf,IAAA,CAAMC,EAAAA,CACN,gBAAA,CAAkBC,CAAAA,CAClB,MAAA,CAAQC,CAAAA,CACR,UAAA,CAAYC,CAAAA,CACZ,MAAA,CAAQxB,CAAAA,CACR,cAAA,CAAgByB,CAAAA,CAClB,CACF,CAAA,CAKJ,IAAM0C,EAAAA,CAAmBL,EAAAA,CAEzB,OAAIX,EAAAA,CAEAlD,kBAAAA,CAAA,aAAA,CAACiE,WAAAA,CAAAvE,CAAAA,CAAAD,EAAAC,CAAAA,CAAA,CACC,EAAA,CAAIwE,EAAAA,CAAAA,CACAH,EAAAA,CAAAA,CAFL,CAGC,cAAA,CAAcG,EAAAA,GAAqB,QAAA,CAAW,CAAC,CAAC1E,CAAAA,CAAa,MAAA,CAC7D,MAAA,CAAQ8D,EAAAA,CACR,OAAA,CAASG,EAAAA,CACT,OAAA,CAASN,EAAAA,CACT,YAAA,CACE,OAAOlB,CAAAA,EAAkB,WAAA,CAAcsB,EAAAA,CAAmB,MAAA,CAE5D,YAAA,CACE,OAAOtB,CAAAA,EAAkB,WAAA,CAAcuB,EAAAA,CAAmB,MAAA,CAE5D,SAAA,CAAWE,GACX,IAAA,CAAMvB,CAAAA,CAAU,QAAA,CAAW,MAAA,CAC3B,QAAA,CAAUA,CAAAA,CAAU,CAAA,CAAI,MAAA,CACxB,GAAA,CAAKP,CAAAA,CAAAA,CAAAA,CACDkB,CAAAA,CAAAA,CAEJ9C,kBAAAA,CAAA,aAAA,CAACkB,CAAAA,CAAA,CACC,QAAA,CAAUpB,CAAAA,CACV,aAAA,CAAeqB,CAAAA,CACf,IAAA,CAAMC,EAAAA,CACN,gBAAA,CAAkBC,CAAAA,CAClB,MAAA,CAAQC,CAAAA,CACR,UAAA,CAAYC,CAAAA,CACZ,MAAA,CAAQxB,CAAAA,CACR,cAAA,CAAgByB,CAAAA,CAClB,CACF,EAIFxB,kBAAAA,CAAA,aAAA,CAACiE,WAAAA,CAAAxE,CAAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAA,CACC,EAAA,CAAIwE,EAAAA,CAAAA,CACAH,EAAAA,CAAAA,CACAjB,CAAAA,CAAAA,CAHL,CAIC,GAAA,CAAKlB,CAAAA,CAAAA,CAAAA,CAEL5B,kBAAAA,CAAA,aAAA,CAACkB,CAAAA,CAAA,CACC,QAAA,CAAUpB,CAAAA,CACV,aAAA,CAAeqB,CAAAA,CACf,IAAA,CAAMC,EAAAA,CACN,gBAAA,CAAkBC,CAAAA,CAClB,MAAA,CAAQC,CAAAA,CACR,UAAA,CAAYC,CAAAA,CACZ,MAAA,CAAQxB,CAAAA,CACR,cAAA,CAAgByB,EAClB,CACF,CAEJ,CAEAE,EAAAA,CAAa,WAAA,CAAc,UAAA,CAEpB,IAAMyC,CAAAA,CAAWnE,kBAAAA,CAAM,UAAA,CAAW0B,EAAY,CAAA,CC9S9C,IAAM0C,EAAAA,CAAqB,KACzB,CACL,IAAA,CAAM,CAAC,CAAE,IAAA,CAAAC,CAAK,CAAA,GACZlF,OAAAA,CAAI,CACF,OAAA,CAAS,cACT,KAAA,CAAO,MAAA,CACP,YAAA,CAAcC,kBAAAA,CAAO,kBAAA,CACrB,QAAA,CAAU,CAAA,mBAAA,EAAsBA,kBAAAA,CAAO,eAAe,CAAA,EAAA,CAAA,CACtD,MAAA,CACEiF,CAAAA,GAAS,OAAA,CACL,CAAA,mBAAA,EAAsBjF,kBAAAA,CAAO,eAAe,CAAA,EAAA,CAAA,CAC5C,CAAA,mBAAA,EAAsBA,kBAAAA,CAAO,eAAe,CAAA,EAAA,CAAA,CAClD,OAAA,CAAS,CAAA,CACT,SAAA,CAAW,QACb,CAAC,CAAA,CACH,KAAA,CAAOD,OAAAA,CAAI,CACT,MAAA,CAAQ,MACV,CAAC,CAAA,CACD,QAAA,CAAUA,OAAAA,CAAI,CACZ,MAAA,CAAQ,CAAA,UAAA,EAAaC,kBAAAA,CAAO,OAAO,CAAA,CAAA,CACnC,YAAA,CAAcA,kBAAAA,CAAO,kBAAA,CACrB,OAAA,CAASA,kBAAAA,CAAO,QAClB,CAAC,CACH,CAAA,CAAA,CPDK,IAAMkF,EAAAA,CAAa3C,CAAAA,EAeI,CAfJ,IAAAE,CAAAA,CAAAF,CAAAA,CACxB,CAAA,OAAA,CAAAhB,CAAAA,CACA,SAAA,CAAAoB,CAAAA,CACA,IAAA,CAAAtB,CAAAA,CAAO,IAAA,CACP,WAAAjB,CAAAA,CACA,IAAA,CAAA6E,CAAAA,CAAO,SAAA,CACP,GAAA,CAAAE,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,KAAA,CAAA7B,CAAAA,CACA,IAAA,CAAAjC,CAAAA,CACA,cAAA,CAAAc,CAAAA,CAAiB,KAAA,CACjB,SAAA,CAAAoB,CAAAA,CACA,MAAA,CAAAF,CAAAA,CAAS,kBAAA,CACT,KAAA,CAAO+B,CAtCT,CAAA,CAyB0B5C,CAAAA,CAcrBiB,CAAAA,CAAAC,CAAAA,CAdqBlB,CAAAA,CAcrB,CAbH,SAAA,CACA,WAAA,CACA,MAAA,CACA,YAAA,CACA,OACA,KAAA,CACA,QAAA,CACA,OAAA,CACA,MAAA,CACA,gBAAA,CACA,WAAA,CACA,QAAA,CACA,OAAA,CAAA,CAAA,CAGA,IAAM9B,CAAAA,CAASqE,EAAAA,EAAmB,CAC5BvD,CAAAA,CAAQ4D,CAAAA,GAEVD,CAAAA,CACFxE,kBAAAA,CAAA,aAAA,CAAC0E,0BAAAA,CAAA,CAAkB,YAAA,CAAcF,CAAAA,CAAQ,CAAA,CACvC,IAAA,CAAA,CACElD,CAAAA,CACJb,CAAAA,EAAQI,CAAAA,EAASF,CAAAA,CACfX,kBAAAA,CAAA,aAAA,CAACO,CAAAA,CAAA,CAAkB,IAAA,CAAME,EAAM,KAAA,CAAOI,CAAAA,CAAO,OAAA,CAASF,CAAAA,CAAS,CAAA,CAC7D,IAAA,CAEN,OAAIiC,CAAAA,CAEA5C,kBAAAA,CAAA,aAAA,CAAC2D,oBAAAA,CAAS,SAAA,CAAT,CACC,SAAA,CAAW5D,CAAAA,CAAO,QAAA,CAClB,QAAA,CAAUsE,CAAAA,GAAS,SAAA,CAAY,OAAA,CAAU,OAAA,CACzC,SAAA,CAAWA,CAAAA,GAAS,SAAA,CAAY,UAAA,CAAa,OAAA,CAAA,CAE7CrE,kBAAAA,CAAA,aAAA,CAAC2D,oBAAAA,CAAS,KAAA,CAAT,CAAe,KAAA,CAAM,OAAO,MAAA,CAAO,UAAA,CAAW,CACjD,CAAA,CAKF3D,kBAAAA,CAAA,aAAA,CAACmE,CAAAA,CAAA1E,CAAAA,CAAAC,CAAAA,CAAA,EAAA,CACKoD,CAAAA,CAAAA,CADL,CAEC,KAAA,CAAOjC,CAAAA,CACP,SAAA,CAAWT,MAAAA,CAAGL,CAAAA,CAAO,IAAA,CAAK,CAAE,IAAA,CAAAsE,CAAK,CAAC,CAAA,CAAGtC,CAAS,CAAA,CAC9C,MAAA,CAAQT,CAAAA,CACR,UAAA,CAAY9B,CAAAA,CACZ,KAAA,CAAOmD,CAAAA,CACP,cAAA,CAAgBnB,EAChB,MAAA,CAAQkB,CAAAA,CAAAA,CAAAA,CAER1C,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAAK,UAAA,CAAW,QAAA,CAAS,UAAA,CAAU,IAAA,CAAC,cAAA,CAAe,QAAA,CAAA,CAClDhB,kBAAAA,CAAA,aAAA,CAAC2E,cAAAA,CAAA,CACC,SAAA,CAAW5E,CAAAA,CAAO,KAAA,CAClB,GAAA,CAAKwE,CAAAA,CACL,MAAA,CAAQC,CAAAA,CACR,KAAA,CAAO7B,CAAAA,CACP,IAAA,CAAMjC,CAAAA,CACR,CACF,CACF,CAEJ,EQlFA,IAAMkE,EAAAA,CAAuBC,CAAAA,EAAkC,CAC7D,OAAQA,CAAAA,EACN,KAAK,OAAA,CACH,OAAOzF,mBAAO,QAAA,CAChB,KAAK,MAAA,CACH,OAAO,CAAA,CACT,QACE,OAAOA,kBAAAA,CAAO,QAClB,CACF,CAAA,CAEa0F,EAAAA,CAAgB,CAAC,CAAE,OAAA,CAAAD,CAAQ,CAAA,IAAO,CAC7C,MAAA,CAAQ1F,OAAAA,CAAI,CACV,UAAA,CAAY,SAAA,CACZ,OAAA,CAAS,QAAA,CACT,YAAA,CAAcC,kBAAAA,CAAO,QACvB,CAAC,CAAA,CACD,IAAA,CAAMD,OAAAA,CAAI,CACR,OAAA,CAASyF,EAAAA,CAAoBC,CAAO,CACtC,CAAC,CACH,CAAA,CAAA,CCYA,SAASE,EAAAA,CACPpD,CAAAA,CAUAC,CAAAA,CACA,CAXA,IAAAC,CAAAA,CAAAF,CAAAA,CACE,CAAA,OAAA,CAAAhB,CAAAA,CACA,KAAA,CAAAE,CAAAA,CACA,IAAA,CAAAJ,CAAAA,CACA,OAAA,CAAAoE,CAAAA,CAAU,SAAA,CACV,KAAA,CAAAlC,CAAAA,CACA,SAAA,CAAAZ,CAAAA,CACA,MAAA,CAAAW,CAAAA,CAAS,YA5Cb,CAAA,CAqCEb,EAQKiB,CAAAA,CAAAC,CAAAA,CARLlB,CAAAA,CAQK,CAPH,SAAA,CACA,OAAA,CACA,MAAA,CACA,SAAA,CACA,OAAA,CACA,WAAA,CACA,QAAA,CAAA,CAAA,CAKF,IAAM9B,CAAAA,CAAS+E,EAAAA,CAAc,CAAE,OAAA,CAAAD,CAAQ,CAAC,CAAA,CAClCvF,CAAAA,CAAY,CAAA,EAAQqD,CAAAA,EAASlC,CAAAA,EAAQI,CAAAA,EAASF,CAAAA,CAAAA,CAEpD,OAEEX,kBAAAA,CAAA,aAAA,CAACmE,CAAAA,CAAA1E,CAAAA,CAAAC,CAAAA,CAAA,CACC,UAAWU,MAAAA,CAAGL,CAAAA,CAAO,IAAA,CAAMgC,CAAS,CAAA,CAAA,CAChCe,CAAAA,CAAAA,CAFL,CAGC,MAAA,CAAQJ,CAAAA,CACR,MAAA,CACEpD,CAAAA,EACEU,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAAK,UAAA,CAAW,QAAA,CAAS,SAAA,CAAWZ,MAAAA,CAAGL,CAAAA,CAAO,MAAM,CAAA,CAAA,CAClD4C,CAAAA,EACC3C,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAAK,EAAA,CAAG,QAAA,CAAS,QAAA,CAAU,CAAA,CAAA,CAC1BhB,kBAAAA,CAAA,cAACgF,qBAAAA,CAAA,CAAQ,YAAA,CAAa,MAAA,CAAA,CAAQrC,CAAM,CACtC,CAAA,CAEDlC,CAAAA,EACCT,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAAK,UAAA,CAAW,QAAA,CAAS,UAAA,CAAW,WAAA,CAAA,CAClCP,CACH,CAAA,CAEDI,CAAAA,EACCb,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAAK,UAAA,CAAW,QAAA,CAAS,UAAA,CAAW,WAAA,CAAA,CAClCH,CACH,CAAA,CAEDF,CAAAA,EAAWX,kBAAAA,CAAA,aAAA,CAACJ,EAAA,IAAA,CAAae,CAAQ,CACpC,CAAA,CAGJ,GAAA,CAAKiB,CAAAA,CAAAA,CACP,CAEJ,CAEAmD,EAAAA,CAAS,WAAA,CAAc,MAAA,CAEhB,IAAME,EAAAA,CAAOC,YAAAA,CAAWH,EAAQ,EClFhC,IAAMI,EAAAA,CAAqB,KACzB,CACL,aAAA,CAAehG,OAAAA,CAAI,CACjB,sBAAA,CAAwB,CAAA,CACxB,uBAAA,CAAyB,CAAA,CACzB,mBAAA,CAAqB,CAAA,CACrB,oBAAA,CAAsBC,kBAAAA,CAAO,kBAC/B,CAAC,CAAA,CACD,OAAA,CAAUiF,CAAAA,EACRlF,OAAAA,CAAI,CACF,UAAA,CAAY,SAAA,CACZ,SAAA,CAAWkF,CAAAA,GAAS,OAAA,CAAUjF,kBAAAA,CAAO,SAAA,CAAYA,kBAAAA,CAAO,QAAA,CACxD,YAAA,CAAciF,CAAAA,GAAS,OAAA,CAAU,CAAA,UAAA,EAAajF,kBAAAA,CAAO,SAAS,CAAA,CAAA,CAAA,CAAM,CACtE,CAAC,CAAA,CACH,IAAA,CAAMD,OAAAA,CAAI,CACR,OAAA,CAAS,CAAA,CACT,4BAAA,CAA8B,CAC5B,aAAA,CAAeC,mBAAO,QAAA,CACtB,WAAA,CAAaA,kBAAAA,CAAO,QAAA,CACpB,YAAA,CAAcA,kBAAAA,CAAO,QACvB,CACF,CAAC,CAAA,CACD,MAAA,CAAQD,OAAAA,CAAI,CACV,iBAAA,CAAmB,CAAA,CACnB,iBAAA,CAAmBC,kBAAAA,CAAO,OAAA,CAC1B,iBAAA,CAAmB,OAAA,CACnB,SAAA,CAAW,MAAA,CACX,aAAA,CAAeA,kBAAAA,CAAO,SAAA,CACtB,WAAA,CAAaA,kBAAAA,CAAO,QAAA,CACpB,YAAA,CAAcA,kBAAAA,CAAO,SACvB,CAAC,EACD,SAAA,CAAYiF,CAAAA,EACVlF,OAAAA,CAAIO,CAAAA,CAAA,CACF,MAAA,CAAQ,CAAA,MAAA,EAASN,kBAAAA,CAAO,QAAQ,CAAA,CAAA,CAChC,OAAA,CAAS,CAAA,CACT,QAAA,CAAU,QAAA,CACV,QAAA,CAAU,UAAA,CACV,GAAA,CAAK,CACH,KAAA,CAAO,MAAA,CACP,MAAA,CAAQ,MAAA,CACR,SAAA,CAAW,OAAA,CACX,QAAA,CAAU,UAAA,CACV,MAAA,CAAQ,CACV,CAAA,CAAA,CACIiF,CAAAA,GAAS,OAAA,CACT,CACE,OAAQ,MAAA,CACR,KAAA,CAAO,MACT,CAAA,CACA,CACE,MAAA,CAAQ,MAAA,CACR,KAAA,CAAO,MACT,CAAA,CACL,CACL,CAAA,CAAA,CCvCF,IAAMe,EAAAA,CAAyB,SAAA,CAM/B,SAASC,EAAAA,CAAe,CACtB,KAAA,CAAA1C,CAAAA,CACA,QAAA,CAAA2C,CACF,CAAA,CAGG,CACD,GAAI,CAAC3C,CAAAA,CACH,OAAO,IAAA,CAGT,IAAM4C,CAAAA,CAAiBC,mBAAAA,CAAS7C,EAAO,GAAA,CAAK,EAAE,CAAA,CAE9C,OACE3C,kBAAAA,CAAA,aAAA,CAACyF,wBAAAA,CAAA,CACC,KAAA,CAAO9C,CAAAA,CAAM,MAAA,CAAS,GAAA,CAAMA,CAAAA,CAAQ,EAAA,CACpC,MAAA,CAAO,OAAA,CACP,EAAA,CAAI2C,CAAAA,CACJ,YAAA,CAAa,MAAA,CACb,WAAA,CAAW,IAAA,CAAA,CAEVC,CACH,CAEJ,CAEAF,EAAAA,CAAe,WAAA,CAAc,gBAAA,CAE7B,SAASK,EAAAA,CAAqB,CAC5B,YAAAC,CAAAA,CACA,IAAA,CAAAtB,CACF,CAAA,CAGG,CACD,GAAI,CAACsB,CAAAA,EAAetB,CAAAA,GAAS,OAAA,CAC3B,OAAO,IAAA,CAGT,IAAMuB,CAAAA,CAAuBJ,mBAAAA,CAASG,CAAAA,CAAa,EAAA,CAAI,EAAE,CAAA,CAEzD,OACE3F,kBAAAA,CAAA,aAAA,CAAC6F,uBAAAA,CAAA,CAAU,YAAA,CAAa,MAAA,CAAO,WAAA,CAAW,IAAA,CAAA,CACvCD,CACH,CAEJ,CAEAF,GAAqB,WAAA,CAAc,sBAAA,CAEnC,SAASI,EAAAA,CAGPnE,CAAAA,CAmBAC,CAAAA,CACA,CApBA,IAAAC,CAAAA,CAAAF,CAAAA,CACE,CAAA,OAAA,CAAAhB,CAAAA,CACA,QAAA,CAAAb,CAAAA,CACA,SAAA,CAAAiC,CAAAA,CACA,kBAAA,CAAAjB,CAAAA,CACA,GAAA,CAAAyD,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAuB,CAAAA,CACA,WAAA,CAAAJ,CAAAA,CACA,cAAA,CAAAnE,CAAAA,CAAiB,KAAA,CACjB,KAAA,CAAAmB,CAAAA,CACA,QAAA,CAAA2C,EAAW,IAAA,CACX,IAAA,CAAAjB,CAAAA,CACA,MAAA,CAAA3B,CAAAA,CAAS,kBAAA,CACT,WAAA,CAAAsD,CAAAA,CACA,KAAA,CAAAnF,CA9FJ,CAAA,CA+EEgB,CAAAA,CAgBKiB,CAAAA,CAAAC,CAAAA,CAhBLlB,CAAAA,CAgBK,CAfH,SAAA,CACA,UAAA,CACA,WAAA,CACA,oBAAA,CACA,KAAA,CACA,QAAA,CACA,kBAAA,CACA,aAAA,CACA,gBAAA,CACA,OAAA,CACA,UAAA,CACA,MAAA,CACA,QAAA,CACA,aAAA,CACA,OAAA,CAAA,CAAA,CAMF,IAAM9B,EAASoF,EAAAA,EAAmB,CAC5Bc,CAAAA,CAAmBzB,CAAAA,CACvBxE,kBAAAA,CAAA,aAAA,CAAC0E,0BAAAA,CAAA,CAAkB,YAAA,CAAcF,CAAAA,CAAQ,CAAA,CACvC,IAAA,CAEJ,OAEExE,kBAAAA,CAAA,aAAA,CAACmE,CAAAA,CAAA1E,CAAAA,CAAAC,CAAAA,CAAA,CACC,EAAA,CAAI0F,EAAAA,CAAAA,CACAtC,CAAAA,CAAAA,CAFL,CAGC,OAAA,CAASnC,CAAAA,CACT,KAAA,CAAOE,CAAAA,EAAgBoF,CAAAA,CACvB,SAAA,CAAW7F,MAAAA,CAAGL,CAAAA,CAAO,IAAA,CAAMgC,CAAS,CAAA,CACpC,kBAAA,CAAoBjB,CAAAA,CACpB,cAAA,CAAgBU,CAAAA,CAChB,GAAA,CAAKI,CAAAA,CACL,IAAA,CAAMoE,CAAAA,CACN,MAAA,CAAQtD,CAAAA,CAAAA,CAAAA,CAER1C,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CACC,UAAA,CAAW,QAAA,CACX,SAAA,CAAWjB,CAAAA,CAAO,OAAA,CAAQsE,CAAI,CAAA,CAC9B,aAAA,CAAc,KAAA,CAAA,CAEdrE,kBAAAA,CAAA,aAAA,CAACgB,YAAAA,CAAA,CAAK,aAAA,CAAc,QAAA,CAAS,QAAA,CAAU,CAAA,CAAG,IAAI,UAAA,CAAA,CAC5ChB,kBAAAA,CAAA,aAAA,CAACqF,EAAAA,CAAA,CAAe,KAAA,CAAO1C,CAAAA,CAAO,QAAA,CAAU2C,CAAAA,CAAU,CAAA,CAClDtF,kBAAAA,CAAA,aAAA,CAAC0F,EAAAA,CAAA,CAAqB,IAAA,CAAMrB,CAAAA,CAAM,WAAA,CAAasB,CAAAA,CAAa,CAAA,CAC3D7F,CACH,CAAA,CAECiG,CAAAA,EAAoB1B,CAAAA,GAAS,OAAA,EAC5BrE,kBAAAA,CAAA,aAAA,CAAC,QAAA,CAAA,CAAO,SAAA,CAAWD,CAAAA,CAAO,SAAA,CAAUsE,CAAI,CAAA,CAAA,CAAI0B,CAAiB,CAEjE,CACF,CAEJ,CAEAD,EAAAA,CAAc,WAAA,CAAc,WAAA,CAErB,IAAMI,EAAAA,CAAYhB,YAAAA,CAAWY,EAAa,ECtI1C,IAAMK,EAAAA,CAA2B,KAC/B,CACL,OAAA,CAAShH,OAAAA,CAAI,CACX,OAAA,CAAS,MAAA,CACT,OAAA,CAAS,CAAA,CACT,UAAA,CAAYC,kBAAAA,CAAO,SAAA,CACnB,SAAA,CAAW,MACb,CAAC,CAAA,CACD,IAAA,CAAM,CAAC,CAAE,MAAA,CAAAoF,CAAO,IAAkD,CAChE,IAAM4B,CAAAA,CAAeC,6BAAAA,CAAsB,CAAE,MAAA,CAAA7B,CAAO,CAAC,CAAA,CAErD,OAAOrF,OAAAA,CAAI,CACT,sBAAA,CAAwB,CAAA,CACxB,mBAAA,CAAqB,CAAA,CACrB,OAAA,CAAS,aAAA,CACT,KAAA,CAAO,MAAA,CACP,aAAA,CAAe,QAAA,CACf,aAAA,CAAe,CAAA,CACf,UAAA,CAAY,CAAA,CACZ,WAAA,CAAaC,kBAAAA,CAAO,QAAA,CACpB,YAAA,CAAcA,kBAAAA,CAAO,UAAA,CACrB,6BAA8B,CAC5B,OAAA,CAAS,aAAA,CACT,aAAA,CAAe,aACjB,CAAA,CACA,WAAA,CAAa,CACX,eAAA,CAAiBgH,CAAAA,CAAa,KAAA,CAC9B,MAAA,CAAQ,CAAA,CACR,OAAA,CAAS,IAAA,CACT,OAAA,CAAS,OAAA,CACT,IAAA,CAAM,CAAA,CACN,QAAA,CAAU,UAAA,CACV,GAAA,CAAK,CAAA,CACL,KAAA,CAAOhH,kBAAAA,CAAO,UAChB,CACF,CAAC,CACH,CAAA,CACA,QAAA,CAAUD,OAAAA,CAAI,CACZ,OAAA,CAAS,aAAA,CACT,MAAA,CAAQ,CAAA,UAAA,EAAaC,kBAAAA,CAAO,OAAO,CAAA,CAAA,CACnC,oBAAA,CAAsBA,kBAAAA,CAAO,kBAAA,CAC7B,uBAAA,CAAyBA,kBAAAA,CAAO,kBAAA,CAChC,OAAA,CAASA,kBAAAA,CAAO,SAClB,CAAC,CACH,CAAA,CAAA,CC/BK,IAAMkH,EAAAA,CAAmB3E,CAAAA,EASI,CATJ,IAAAE,CAAAA,CAAAF,CAAAA,CAC9B,CAAA,OAAA,CAAAhB,CAAAA,CACA,SAAA,CAAAoB,CAAAA,CACA,QAAA,CAAAjC,CAAAA,CACA,OAAA0E,CAAAA,CACA,KAAA,CAAA7B,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,MAAA,CAAAF,CAAAA,CAAS,yBA1BX,CAAA,CAmBgCb,CAAAA,CAQ3BiB,CAAAA,CAAAC,CAAAA,CAR2BlB,CAAAA,CAQ3B,CAPH,SAAA,CACA,WAAA,CACA,UAAA,CACA,QAAA,CACA,OAAA,CACA,WAAA,CACA,QAAA,CAAA,CAAA,CAGA,IAAM9B,CAAAA,CAASoG,EAAAA,EAAyB,CAClC7E,CAAAA,CACJtB,kBAAAA,CAAA,aAAA,CAACJ,CAAAA,CAAA,CAAY,WAAA,CAAa,CAAE,UAAWG,CAAAA,CAAO,OAAQ,CAAA,CAAA,CACnDY,CACH,CAAA,CAGF,OAAIiC,CAAAA,CAEA5C,kBAAAA,CAAA,aAAA,CAAC2D,oBAAAA,CAAS,SAAA,CAAT,CACC,SAAA,CAAW5D,CAAAA,CAAO,QAAA,CAClB,SAAA,CAAU,SAAA,CACV,QAAA,CAAS,MAAA,CAAA,CAETC,kBAAAA,CAAA,aAAA,CAAC2D,oBAAAA,CAAS,QAAA,CAAT,CAAkB,aAAA,CAAe,CAAA,CAAG,CACvC,CAAA,CAKF3D,kBAAAA,CAAA,aAAA,CAACuG,kBAAAA,CAAA,CAAQ,UAAU,QAAA,CAAS,OAAA,CAAS5D,CAAAA,CAAAA,CACnC3C,kBAAAA,CAAA,aAAA,CAACmE,CAAAA,CAAA1E,CAAAA,CAAAC,CAAAA,CAAA,EAAA,CACKoD,CAAAA,CAAAA,CADL,CAEC,SAAA,CAAW1C,MAAAA,CAAGL,CAAAA,CAAO,IAAA,CAAK,CAAE,OAAAyE,CAAO,CAAC,CAAA,CAAGzC,CAAS,CAAA,CAChD,MAAA,CAAQT,CAAAA,CACR,MAAA,CAAQoB,CAAAA,CAAAA,CAAAA,CAEP5C,CAAAA,EAAYE,kBAAAA,CAAA,aAAA,CAACiB,kBAAAA,CAAA,IAAA,CAAM0B,CAAM,CAC5B,CACF,CAEJ","file":"index.js","sourcesContent":["import React from 'react';\nimport { cx } from '@emotion/css';\nimport { Flex } from '@contentful/f36-core';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport { Asset, type AssetStatus, type AssetType } from '@contentful/f36-asset';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport type { BaseCardInternalProps } from '../BaseCard/BaseCard.types';\nimport { getAssetCardStyles } from './AssetCard.styles';\nimport { DefaultCardHeader } from '../BaseCard/DefaultCardHeader';\n\nexport interface AssetCardInternalProps\n extends Omit<BaseCardInternalProps, 'header' | 'padding' | 'ref'> {\n size?: 'small' | 'default';\n src?: string;\n status?: AssetStatus;\n /**\n * Type of the entity represented by the card. Shown in the header of the card\n */\n type?: AssetType;\n}\n\nexport type AssetCardProps = AssetCardInternalProps;\n\nexport const AssetCard = ({\n actions,\n className,\n icon = null,\n isSelected,\n size = 'default',\n src,\n status,\n title,\n type,\n withDragHandle = false,\n isLoading,\n testId = 'cf-ui-asset-card',\n badge: customBadge,\n ...otherProps\n}: AssetCardInternalProps) => {\n const styles = getAssetCardStyles();\n const badge = customBadge ? (\n customBadge\n ) : status ? (\n <EntityStatusBadge entityStatus={status} />\n ) : null;\n const header =\n icon || badge || actions ? (\n <DefaultCardHeader icon={icon} badge={badge} actions={actions} />\n ) : null;\n\n if (isLoading) {\n return (\n <Skeleton.Container\n className={styles.skeleton}\n svgWidth={size === 'default' ? '18rem' : '11rem'}\n svgHeight={size === 'default' ? '18.75rem' : '12rem'}\n >\n <Skeleton.Image width=\"100%\" height=\"18.75rem\" />\n </Skeleton.Container>\n );\n }\n\n return (\n <BaseCard\n {...otherProps}\n badge={badge}\n className={cx(styles.root({ size }), className)}\n header={header}\n isSelected={isSelected}\n title={title}\n withDragHandle={withDragHandle}\n testId={testId}\n >\n <Flex alignItems=\"center\" fullHeight justifyContent=\"center\">\n <Asset\n className={styles.asset}\n src={src}\n status={status}\n title={title}\n type={type}\n />\n </Flex>\n </BaseCard>\n );\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getBaseCardStyles = () => {\n return {\n contentBody: css({\n gridColumn: 'content',\n gridRow: 'content',\n whiteSpace: 'initial',\n }),\n wrapper: css({\n flex: '1 1 0',\n display: 'grid',\n gridTemplateRows: '[header] auto [content] minmax(0, 1fr)',\n gridTemplateColumns: 'auto [content] minmax(0, 1fr)',\n }),\n dragHandle: css({\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n cursor: 'grab',\n }),\n skeleton: css({\n border: `1px solid ${tokens.gray300}`,\n borderRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingM,\n }),\n };\n};\n\nexport const getRootStyles = (\n hasHeader: boolean,\n isHovered: boolean,\n isSelected: boolean,\n) => {\n return {\n root: css({\n backgroundColor: tokens.colorWhite,\n borderColor: tokens.gray300,\n borderRadius: tokens.borderRadiusMedium,\n borderStyle: 'solid',\n borderWidth: 1,\n color: tokens.gray900,\n display: 'flex',\n textAlign: 'left',\n width: '100%',\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n position: 'relative',\n textDecoration: 'none',\n margin: 0, // remove the default button margin in Safari.\n transition: `border-color ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault},\n box-shadow ${tokens.transitionDurationShort} ${tokens.transitionEasingDefault}`,\n paddingTop: hasHeader ? 0 : tokens.spacingM,\n ...(isHovered && {\n borderColor: tokens.blue500,\n cursor: 'pointer',\n }),\n ...(isSelected && {\n backgroundColor: tokens.blue100,\n borderColor: tokens.blue500,\n }),\n '&:focus': css({\n borderColor: isSelected ? tokens.blue100 : tokens.blue500,\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n }),\n '&:focus:not(:focus-visible)': css({\n borderColor: isSelected ? tokens.blue500 : tokens.gray300,\n boxShadow: 'unset',\n }),\n '&:focus-visible': css({\n borderColor: tokens.blue500,\n boxShadow: tokens.glowPrimary,\n }),\n }),\n };\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getCardActionsStyles = () => {\n return {\n root: css({\n minHeight: 'auto',\n padding: tokens.spacing2Xs,\n }),\n };\n};\n","import React from 'react';\nimport { IconButton, type ButtonProps } from '@contentful/f36-button';\nimport { DotsThreeIcon } from '@contentful/f36-icons';\nimport { Menu } from '@contentful/f36-menu';\nimport { cx } from '@emotion/css';\n\nimport { getCardActionsStyles } from './CardActions.styles';\n\nexport type CardActionsProps = {\n buttonProps?: Partial<Omit<ButtonProps<'button'>, 'ref'>>;\n /**\n * Child elements to be rendered in the component\n */\n children: React.ReactNode[];\n};\n\nexport const CardActions = ({\n buttonProps,\n children,\n}: CardActionsProps): React.ReactElement => {\n const styles = getCardActionsStyles();\n\n return (\n <Menu>\n <Menu.Trigger>\n <IconButton\n {...buttonProps}\n aria-label=\"Actions\"\n icon={<DotsThreeIcon />}\n className={cx(styles.root, buttonProps?.className)}\n size=\"small\"\n variant=\"transparent\"\n testId=\"cf-ui-card-actions\"\n />\n </Menu.Trigger>\n <Menu.List>{children}</Menu.List>\n </Menu>\n );\n};\n\nCardActions.displayName = 'CardActions';\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getHeaderStyles = () => {\n return {\n header: css({\n columnGap: tokens.spacingXs,\n rowGap: tokens.spacing2Xs,\n alignItems: 'center',\n borderBottomColor: tokens.gray200,\n borderBottomStyle: 'solid',\n borderBottomWidth: 1,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n borderTopRightRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n color: tokens.gray600,\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n gridColumn: 'content',\n gridRow: 'header',\n lineHeight: tokens.lineHeightM,\n paddingBottom: tokens.spacingXs,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingXs,\n paddingTop: tokens.spacingXs,\n minHeight: '37px',\n }),\n headerWithActions: css({\n paddingBottom: tokens.spacing2Xs,\n paddingRight: tokens.spacingXs,\n paddingTop: tokens.spacing2Xs,\n }),\n };\n};\n","import React from 'react';\nimport { Flex } from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\nimport { CardActions } from './CardActions';\nimport { cx } from '@emotion/css';\nimport { getHeaderStyles } from './DefaultCardHeader.styles';\nimport { BaseCardInternalProps } from './BaseCard.types';\n\nexport const stopEvents = (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n};\n\nexport const DefaultCardHeader = (\n props: Pick<\n BaseCardInternalProps,\n | 'type'\n | 'icon'\n | 'badge'\n | 'actions'\n | 'actionsButtonProps'\n | 'customActionButton'\n >,\n) => {\n const { icon, type, actions, actionsButtonProps, badge, customActionButton } =\n props;\n const styles = getHeaderStyles();\n\n const renderActionButton = () => {\n if (customActionButton) {\n return (\n <Flex\n // don't propagate click event, so onClick handler on the card is not triggered\n onClick={stopEvents}\n alignItems=\"center\"\n >\n {customActionButton}\n </Flex>\n );\n }\n if (actions && actions.length > 0) {\n return (\n <Flex\n // don't propagate click event, so onClick handler on the card is not triggered\n onClick={stopEvents}\n alignItems=\"center\"\n >\n <CardActions buttonProps={actionsButtonProps}>{actions}</CardActions>\n </Flex>\n );\n }\n\n return null;\n };\n\n return (\n <Flex\n flexWrap=\"wrap\"\n className={cx(\n styles.header,\n (actions || customActionButton) && styles.headerWithActions,\n )}\n >\n <Flex flexGrow={1}>\n {type && (\n <Text fontColor=\"gray600\" isWordBreak>\n {type}\n </Text>\n )}\n </Flex>\n {icon && <Flex alignItems=\"center\">{icon}</Flex>}\n {badge && <Flex alignItems=\"center\">{badge}</Flex>}\n {renderActionButton()}\n </Flex>\n );\n};\n\nDefaultCardHeader.displayName = 'DefaultCardHeader';\n","import { cx } from '@emotion/css';\nimport React, {\n useCallback,\n useState,\n type FocusEventHandler,\n type KeyboardEventHandler,\n type MouseEvent,\n type MouseEventHandler,\n} from 'react';\nimport {\n Box,\n type PolymorphicComponent,\n type PolymorphicProps,\n} from '@contentful/f36-core';\nimport { DragHandle } from '@contentful/f36-drag-handle';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { getBaseCardStyles, getRootStyles } from './BaseCard.styles';\n\nimport { DefaultCardHeader, stopEvents } from './DefaultCardHeader';\nimport type { BaseCardInternalProps, CardElement } from './BaseCard.types';\n\ntype CardInnerProps = {\n withDragHandle?: boolean;\n dragHandleRender?: BaseCardInternalProps['dragHandleRender'];\n drag: React.ReactElement;\n isDragging: boolean;\n header?: React.ReactNode;\n defaultHeader: React.ReactNode;\n children: React.ReactNode;\n styles: { wrapper: string; contentBody: string };\n};\n\nconst CardInner = ({\n children,\n defaultHeader,\n drag,\n dragHandleRender,\n header,\n isDragging,\n styles,\n withDragHandle,\n}: CardInnerProps) => (\n <>\n {withDragHandle\n ? dragHandleRender\n ? dragHandleRender({ drag, isDragging })\n : drag\n : null}\n <div className={styles.wrapper} data-card-part=\"wrapper\">\n {header ?? defaultHeader}\n <div className={styles.contentBody} data-card-part=\"content\">\n {children}\n </div>\n </div>\n </>\n);\n\nCardInner.displayName = 'CardInner';\n\nexport const BASE_CARD_DEFAULT_TAG = 'article';\n\nexport type BaseCardProps<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n> = PolymorphicProps<BaseCardInternalProps, E>;\n\nfunction BaseCardBase<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n>(\n {\n actions,\n actionsButtonProps,\n ariaLabel,\n badge,\n children,\n className,\n customActionButton,\n header,\n href,\n icon,\n isDragging = false,\n isHovered: isHoveredProp,\n isSelected = false,\n onBlur,\n onClick,\n onFocus,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n target,\n rel,\n testId = 'cf-ui-base-card',\n title,\n type,\n withDragHandle,\n dragHandleRender,\n isLoading,\n as,\n ...otherProps\n }: BaseCardProps<E>,\n forwardedRef: React.Ref<HTMLElement>,\n) {\n const styles = getBaseCardStyles();\n const [isHovered, setIsHovered] = useState(isHoveredProp ?? false);\n const isInteractive = Boolean(onClick || href || withDragHandle);\n const hasHeader = Boolean(header);\n const defaultHeader =\n type || icon || badge || actions || customActionButton ? (\n <DefaultCardHeader\n type={type}\n icon={icon}\n badge={badge}\n actions={actions}\n customActionButton={customActionButton}\n actionsButtonProps={actionsButtonProps}\n />\n ) : null;\n\n const handleFocus = useCallback<FocusEventHandler<HTMLElement>>(\n (event) => {\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus],\n );\n\n const handleBlur = useCallback<FocusEventHandler<HTMLElement>>(\n (event) => {\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback<MouseEventHandler<HTMLElement>>(\n (event) => {\n setIsHovered(true);\n\n if (onMouseEnter) {\n onMouseEnter(event);\n }\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback<MouseEventHandler<HTMLElement>>(\n (event) => {\n setIsHovered(false);\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n },\n [onMouseLeave],\n );\n\n const handleClick = onClick\n ? (event: MouseEvent<HTMLElement>) => {\n onClick(event);\n }\n : undefined;\n\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLElement>>(\n (event) => {\n if (onKeyDown) {\n onKeyDown(event);\n }\n },\n [onKeyDown],\n );\n\n if (isLoading) {\n return (\n <Skeleton.Container className={styles.skeleton} svgHeight=\"5.6rem\">\n <Skeleton.DisplayText numberOfLines={1} />\n <Skeleton.BodyText numberOfLines={1} offsetTop={35} />\n </Skeleton.Container>\n );\n }\n\n const drag = (\n <DragHandle\n className={styles.dragHandle}\n isActive={isDragging}\n label=\"Reorder entry\"\n onClick={stopEvents}\n />\n );\n\n const Element = as || BASE_CARD_DEFAULT_TAG;\n\n /** Seperate the Props based on the Element Type */\n\n const rootStyles = getRootStyles(hasHeader, isHovered, isSelected);\n\n const baseProps = {\n testId,\n className: cx(rootStyles.root, className),\n 'aria-label': title || ariaLabel,\n title,\n };\n\n // anchor exclusive properties\n const anchorProps = {\n href,\n target,\n rel: rel ?? 'noreferrer',\n } as Pick<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'href' | 'rel' | 'target'\n >;\n\n if (Element === 'a') {\n return (\n <Box\n as=\"a\"\n {...anchorProps}\n {...baseProps}\n ref={forwardedRef as React.Ref<HTMLAnchorElement>}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onMouseEnter={\n typeof isHoveredProp === 'undefined' ? handleMouseEnter : undefined\n }\n onMouseLeave={\n typeof isHoveredProp === 'undefined' ? handleMouseLeave : undefined\n }\n {...otherProps}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n }\n\n // Narrow the element type after early-return anchor case to exclude 'a'\n const nonAnchorElement = Element as Exclude<CardElement, 'a'>;\n\n if (isInteractive) {\n return (\n <Box\n as={nonAnchorElement}\n {...baseProps}\n aria-pressed={nonAnchorElement === 'button' ? !!isSelected : undefined}\n onBlur={handleBlur}\n onClick={handleClick}\n onFocus={handleFocus}\n onMouseEnter={\n typeof isHoveredProp === 'undefined' ? handleMouseEnter : undefined\n }\n onMouseLeave={\n typeof isHoveredProp === 'undefined' ? handleMouseLeave : undefined\n }\n onKeyDown={handleKeyDown}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n ref={forwardedRef}\n {...otherProps}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n }\n return (\n <Box\n as={nonAnchorElement}\n {...baseProps}\n {...otherProps}\n ref={forwardedRef}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n}\n\nBaseCardBase.displayName = 'BaseCard';\n\nexport const BaseCard = React.forwardRef(BaseCardBase) as PolymorphicComponent<\n BaseCardInternalProps,\n typeof BASE_CARD_DEFAULT_TAG\n>;\n","import tokens from '@contentful/f36-tokens';\nimport { css } from '@emotion/css';\n\nexport const getAssetCardStyles = () => {\n return {\n root: ({ size }) =>\n css({\n display: 'inline-flex',\n width: 'auto',\n borderRadius: tokens.borderRadiusMedium,\n minWidth: `calc(1rem * (120 / ${tokens.fontBaseDefault}))`,\n height:\n size === 'small'\n ? `calc(1rem * (188 / ${tokens.fontBaseDefault}))`\n : `calc(1rem * (300 / ${tokens.fontBaseDefault}))`,\n padding: 0,\n textAlign: 'center',\n }),\n asset: css({\n height: '100%',\n }),\n skeleton: css({\n border: `1px solid ${tokens.gray300}`,\n borderRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingM,\n }),\n };\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\nimport { CardProps } from '..';\n\nconst getCardPaddingValue = (padding: CardProps['padding']) => {\n switch (padding) {\n case 'large':\n return tokens.spacingL;\n case 'none':\n return 0;\n default:\n return tokens.spacingM;\n }\n};\n\nexport const getCardStyles = ({ padding }) => ({\n header: css({\n gridColumn: 'content',\n gridRow: 'header',\n marginBottom: tokens.spacingM,\n }),\n root: css({\n padding: getCardPaddingValue(padding),\n }),\n});\n","import React, { forwardRef } from 'react';\nimport { cx } from '@emotion/css';\nimport {\n Flex,\n type PolymorphicComponent,\n type PolymorphicProps,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { Heading } from '@contentful/f36-typography';\n\nimport { BaseCard, BASE_CARD_DEFAULT_TAG } from '../BaseCard/BaseCard';\nimport type { BaseCardInternalProps } from '../BaseCard/BaseCard.types';\nimport { CardActions } from '../BaseCard/CardActions';\nimport { getCardStyles } from './Card.styles';\n\ntype BaseProps = Omit<\n BaseCardInternalProps,\n 'header' | 'withDragHandle' | 'ref' | 'src' | 'type'\n> & {\n /**\n * Padding size to apply to the component\n *\n * @default default\n */\n padding?: 'default' | 'large' | 'none';\n};\n\ntype BasePropsWithDragHandle = Omit<BaseProps, 'padding'> &\n Pick<BaseCardInternalProps, 'withDragHandle'> & { padding: 'none' };\n\nexport type CardInternalProps = BaseProps | BasePropsWithDragHandle;\n\nexport type CardProps<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n> = PolymorphicProps<CardInternalProps, E>;\n\nfunction CardBase<E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG>(\n {\n actions,\n badge,\n icon,\n padding = 'default',\n title,\n className,\n testId = 'cf-ui-card',\n ...otherProps\n }: CardProps<E>,\n forwardedRef: React.Ref<HTMLElement>,\n) {\n const styles = getCardStyles({ padding });\n const hasHeader = Boolean(title || icon || badge || actions);\n\n return (\n // @ts-expect-error this beast of polymorphic component needs a deeper refactor.\n <BaseCard\n className={cx(styles.root, className)}\n {...otherProps}\n testId={testId}\n header={\n hasHeader && (\n <Flex alignItems=\"center\" className={cx(styles.header)}>\n {title && (\n <Flex as=\"header\" flexGrow={1}>\n <Heading marginBottom=\"none\">{title}</Heading>\n </Flex>\n )}\n {icon && (\n <Flex alignItems=\"center\" marginLeft=\"spacingXs\">\n {icon}\n </Flex>\n )}\n {badge && (\n <Flex alignItems=\"center\" marginLeft=\"spacingXs\">\n {badge}\n </Flex>\n )}\n {actions && <CardActions>{actions}</CardActions>}\n </Flex>\n )\n }\n ref={forwardedRef}\n />\n );\n}\n\nCardBase.displayName = 'Card';\n\nexport const Card = forwardRef(CardBase) as PolymorphicComponent<\n ExpandProps<CardInternalProps>,\n typeof BASE_CARD_DEFAULT_TAG\n>;\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nimport type { EntryCardSize } from './EntryCard.types';\n\nexport const getEntryCardStyles = () => {\n return {\n actionsButton: css({\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n borderTopLeftRadius: 0,\n borderTopRightRadius: tokens.borderRadiusMedium,\n }),\n content: (size?: EntryCardSize) =>\n css({\n gridColumn: 'content',\n marginTop: size === 'small' ? tokens.spacingXs : tokens.spacingS,\n marginBottom: size === 'small' ? `calc(-1 * ${tokens.spacingXs})` : 0,\n }),\n root: css({\n padding: 0,\n '[data-card-part=\"content\"]': {\n paddingBottom: tokens.spacingM,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingM,\n },\n }),\n header: css({\n borderBottomWidth: 1,\n borderBottomColor: tokens.gray200,\n borderBottomStyle: 'solid',\n minHeight: 'auto',\n paddingBottom: tokens.spacingXs,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingXs,\n }),\n thumbnail: (size?: EntryCardSize) =>\n css({\n margin: `0 0 0 ${tokens.spacingS}`,\n padding: 0,\n overflow: 'hidden',\n position: 'relative',\n img: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n position: 'absolute',\n zIndex: 1,\n },\n ...(size === 'small'\n ? {\n height: '40px',\n width: '40px',\n }\n : {\n height: '70px',\n width: '70px',\n }),\n }),\n };\n};\n","import React, { forwardRef } from 'react';\nimport truncate from 'truncate';\nimport { cx } from '@emotion/css';\nimport {\n Flex,\n type ExpandProps,\n type PolymorphicComponent,\n type PolymorphicProps,\n} from '@contentful/f36-core';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport {\n Subheading,\n Paragraph,\n type HeadingElement,\n} from '@contentful/f36-typography';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport { getEntryCardStyles } from './EntryCard.styles';\nimport { EntryCardInternalProps, EntryCardSize } from './EntryCard.types';\n\nconst ENTRY_CARD_DEFAULT_TAG = 'article';\n\nexport type EntryCardProps<\n E extends React.ElementType = typeof ENTRY_CARD_DEFAULT_TAG,\n> = PolymorphicProps<EntryCardInternalProps, E>;\n\nfunction EntryCardTitle({\n title,\n titleTag,\n}: {\n title?: string;\n titleTag: HeadingElement;\n}) {\n if (!title) {\n return null;\n }\n\n const truncatedTitle = truncate(title, 255, {});\n\n return (\n <Subheading\n title={title.length > 255 ? title : ''}\n testId=\"title\"\n as={titleTag}\n marginBottom=\"none\"\n isWordBreak\n >\n {truncatedTitle}\n </Subheading>\n );\n}\n\nEntryCardTitle.displayName = 'EntryCardTitle';\n\nfunction EntryCardDescription({\n description,\n size,\n}: {\n size: EntryCardSize;\n description?: string;\n}) {\n if (!description || size === 'small') {\n return null;\n }\n\n const truncatedDescription = truncate(description, 95, {});\n\n return (\n <Paragraph marginBottom=\"none\" isWordBreak>\n {truncatedDescription}\n </Paragraph>\n );\n}\n\nEntryCardDescription.displayName = 'EntryCardDescription';\n\nfunction EntryCardBase<\n E extends React.ElementType = typeof ENTRY_CARD_DEFAULT_TAG,\n>(\n {\n actions,\n children,\n className,\n customActionButton,\n src,\n status,\n thumbnailElement,\n description,\n withDragHandle = false,\n title,\n titleTag = 'h2',\n size,\n testId = 'cf-ui-entry-card',\n contentType,\n badge,\n ...otherProps\n }: EntryCardProps<E>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n forwardedRef: React.Ref<any>,\n) {\n const styles = getEntryCardStyles();\n const entryStatusBadge = status ? (\n <EntityStatusBadge entityStatus={status} />\n ) : null;\n\n return (\n // @ts-expect-error this beast of polymorphic component needs a deeper refactor.\n <BaseCard\n as={ENTRY_CARD_DEFAULT_TAG}\n {...otherProps}\n actions={actions}\n badge={badge ? badge : entryStatusBadge}\n className={cx(styles.root, className)}\n customActionButton={customActionButton}\n withDragHandle={withDragHandle}\n ref={forwardedRef}\n type={contentType}\n testId={testId}\n >\n <Flex\n alignItems=\"center\"\n className={styles.content(size)}\n flexDirection=\"row\"\n >\n <Flex flexDirection=\"column\" flexGrow={1} gap=\"spacingS\">\n <EntryCardTitle title={title} titleTag={titleTag} />\n <EntryCardDescription size={size} description={description} />\n {children}\n </Flex>\n\n {thumbnailElement && size !== 'small' && (\n <figure className={styles.thumbnail(size)}>{thumbnailElement}</figure>\n )}\n </Flex>\n </BaseCard>\n );\n}\n\nEntryCardBase.displayName = 'EntryCard';\n\nexport const EntryCard = forwardRef(EntryCardBase) as PolymorphicComponent<\n ExpandProps<EntryCardInternalProps>,\n typeof ENTRY_CARD_DEFAULT_TAG\n>;\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\nimport { getEntityStatusStyles } from '@contentful/f36-core';\n\nimport type { InlineEntryCardProps } from './InlineEntryCard';\n\nexport const getInlineEntryCardStyles = () => {\n return {\n actions: css({\n display: 'flex',\n padding: 0,\n marginLeft: tokens.spacingXs,\n minHeight: 'auto',\n }),\n root: ({ status }: { status: InlineEntryCardProps['status'] }) => {\n const statusColors = getEntityStatusStyles({ status });\n\n return css({\n borderBottomLeftRadius: 0,\n borderTopLeftRadius: 0,\n display: 'inline-flex',\n width: 'auto',\n verticalAlign: 'middle',\n paddingBottom: 0,\n paddingTop: 0,\n paddingLeft: tokens.spacingS,\n paddingRight: tokens.spacing2Xs,\n '[data-card-part=\"wrapper\"]': {\n display: 'inline-flex',\n flexDirection: 'row-reverse',\n },\n '&::before': {\n backgroundColor: statusColors.color,\n bottom: 0,\n content: '\"\"',\n display: 'block',\n left: 0,\n position: 'absolute',\n top: 0,\n width: tokens.spacing2Xs,\n },\n });\n },\n skeleton: css({\n display: 'inline-flex',\n border: `1px solid ${tokens.gray300}`,\n borderTopRightRadius: tokens.borderRadiusMedium,\n borderBottomRightRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingXs,\n }),\n };\n};\n","import React from 'react';\nimport { cx } from '@emotion/css';\nimport { Tooltip } from '@contentful/f36-tooltip';\nimport { Text } from '@contentful/f36-typography';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport type { BaseCardDragHandleProps } from '../BaseCard/BaseCard.types';\nimport type { EntryCardInternalProps } from '../EntryCard/EntryCard.types';\nimport { getInlineEntryCardStyles } from './InlineEntryCard.styles';\nimport { CardActions } from '../BaseCard/CardActions';\n\nexport type InlineEntryCardInternalProps = Omit<\n EntryCardInternalProps,\n 'icon' | 'ref' | 'src' | 'size' | 'type' | keyof BaseCardDragHandleProps\n>;\n\nexport type InlineEntryCardProps = InlineEntryCardInternalProps;\n\nexport const InlineEntryCard = ({\n actions,\n className,\n children,\n status,\n title,\n isLoading,\n testId = 'cf-ui-inline-entry-card',\n ...otherProps\n}: InlineEntryCardInternalProps) => {\n const styles = getInlineEntryCardStyles();\n const header = (\n <CardActions buttonProps={{ className: styles.actions }}>\n {actions}\n </CardActions>\n );\n\n if (isLoading) {\n return (\n <Skeleton.Container\n className={styles.skeleton}\n svgHeight=\"1.25rem\"\n svgWidth=\"6rem\"\n >\n <Skeleton.BodyText numberOfLines={1} />\n </Skeleton.Container>\n );\n }\n\n return (\n <Tooltip placement=\"bottom\" content={title}>\n <BaseCard\n {...otherProps}\n className={cx(styles.root({ status }), className)}\n header={header}\n testId={testId}\n >\n {children || <Text>{title}</Text>}\n </BaseCard>\n </Tooltip>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/AssetCard/AssetCard.tsx","../src/BaseCard/BaseCard.styles.ts","../src/BaseCard/CardActions.styles.ts","../src/BaseCard/CardActions.tsx","../src/BaseCard/DefaultCardHeader.styles.ts","../src/BaseCard/DefaultCardHeader.tsx","../src/BaseCard/BaseCard.tsx","../src/AssetCard/AssetCard.styles.ts","../src/Card/Card.styles.ts","../src/Card/Card.tsx","../src/EntryCard/EntryCard.styles.ts","../src/EntryCard/EntryCard.tsx","../src/InlineEntryCard/InlineEntryCard.styles.ts","../src/InlineEntryCard/InlineEntryCard.tsx"],"names":["getBaseCardStyles","css","tokens","getRootStyles","hasHeader","isHovered","isSelected","__spreadProps","__spreadValues","getCardActionsStyles","CardActions","buttonProps","children","styles","React","Menu","IconButton","DotsThreeIcon","cx","getHeaderStyles","stopEvents","DefaultCardHeader","props","icon","type","actions","actionsButtonProps","badge","customActionButton","renderActionButton","Flex","Text","CardInner","defaultHeader","drag","dragHandleRender","header","isDragging","withDragHandle","BASE_CARD_DEFAULT_TAG","BaseCardBase","_a","forwardedRef","_b","ariaLabel","className","href","isHoveredProp","onBlur","onClick","onFocus","onKeyDown","onMouseEnter","onMouseLeave","target","rel","testId","title","isLoading","as","otherProps","__objRest","setIsHovered","useState","isInteractive","handleFocus","useCallback","event","handleBlur","handleMouseEnter","handleMouseLeave","handleClick","handleKeyDown","Skeleton","DragHandle","Element","rootStyles","baseProps","anchorProps","Box","nonAnchorElement","BaseCard","getAssetCardStyles","size","AssetCard","src","status","customBadge","EntityStatusBadge","Asset","getCardPaddingValue","padding","getCardStyles","CardBase","Heading","Card","forwardRef","getEntryCardStyles","ENTRY_CARD_DEFAULT_TAG","EntryCardTitle","titleTag","truncatedTitle","truncate","Subheading","EntryCardDescription","description","truncatedDescription","Paragraph","EntryCardBase","thumbnailElement","contentType","entryStatusBadge","EntryCard","getInlineEntryCardStyles","statusColors","getEntityStatusStyles","InlineEntryCard","Tooltip"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\nimport { cx } from '@emotion/css';\nimport { Flex } from '@contentful/f36-core';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport { Asset, type AssetStatus, type AssetType } from '@contentful/f36-asset';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport type { BaseCardInternalProps } from '../BaseCard/BaseCard.types';\nimport { getAssetCardStyles } from './AssetCard.styles';\nimport { DefaultCardHeader } from '../BaseCard/DefaultCardHeader';\n\nexport interface AssetCardInternalProps\n extends Omit<BaseCardInternalProps, 'header' | 'padding' | 'ref'> {\n size?: 'small' | 'default';\n src?: string;\n status?: AssetStatus;\n /**\n * Type of the entity represented by the card. Shown in the header of the card\n */\n type?: AssetType;\n}\n\nexport type AssetCardProps = AssetCardInternalProps;\n\nexport const AssetCard = ({\n actions,\n className,\n icon = null,\n isSelected,\n size = 'default',\n src,\n status,\n title,\n type,\n withDragHandle = false,\n isLoading,\n testId = 'cf-ui-asset-card',\n badge: customBadge,\n ...otherProps\n}: AssetCardInternalProps) => {\n const styles = getAssetCardStyles();\n const badge = customBadge ? (\n customBadge\n ) : status ? (\n <EntityStatusBadge entityStatus={status} />\n ) : null;\n const header =\n icon || badge || actions ? (\n <DefaultCardHeader icon={icon} badge={badge} actions={actions} />\n ) : null;\n\n if (isLoading) {\n return (\n <Skeleton.Container\n className={styles.skeleton}\n svgWidth={size === 'default' ? '18rem' : '11rem'}\n svgHeight={size === 'default' ? '18.75rem' : '12rem'}\n >\n <Skeleton.Image width=\"100%\" height=\"18.75rem\" />\n </Skeleton.Container>\n );\n }\n\n return (\n <BaseCard\n {...otherProps}\n badge={badge}\n className={cx(styles.root({ size }), className)}\n header={header}\n isSelected={isSelected}\n title={title}\n withDragHandle={withDragHandle}\n testId={testId}\n >\n <Flex alignItems=\"center\" fullHeight justifyContent=\"center\">\n <Asset\n className={styles.asset}\n src={src}\n status={status}\n title={title}\n type={type}\n />\n </Flex>\n </BaseCard>\n );\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getBaseCardStyles = () => {\n return {\n contentBody: css({\n gridColumn: 'content',\n gridRow: 'content',\n whiteSpace: 'initial',\n }),\n wrapper: css({\n flex: '1 1 0',\n display: 'grid',\n gridTemplateRows: '[header] auto [content] minmax(0, 1fr)',\n gridTemplateColumns: 'auto [content] minmax(0, 1fr)',\n }),\n dragHandle: css({\n borderBottomLeftRadius: tokens.borderRadiusMedium,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n cursor: 'grab',\n }),\n skeleton: css({\n border: `1px solid ${tokens.gray300}`,\n borderRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingM,\n }),\n };\n};\n\nexport const getRootStyles = (\n hasHeader: boolean,\n isHovered: boolean,\n isSelected: boolean,\n) => {\n return {\n root: css({\n backgroundColor: tokens.colorWhite,\n borderColor: tokens.gray300,\n borderRadius: tokens.borderRadiusMedium,\n borderStyle: 'solid',\n borderWidth: 1,\n color: tokens.gray900,\n display: 'flex',\n textAlign: 'left',\n width: '100%',\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n position: 'relative',\n textDecoration: 'none',\n margin: 0, // remove the default button margin in Safari.\n transition: `border-color ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault},\n box-shadow ${tokens.transitionDurationShort} ${tokens.transitionEasingDefault}`,\n paddingTop: hasHeader ? 0 : tokens.spacingM,\n ...(isHovered && {\n borderColor: tokens.blue500,\n cursor: 'pointer',\n }),\n ...(isSelected && {\n backgroundColor: tokens.blue100,\n borderColor: tokens.blue500,\n }),\n '&:focus': css({\n borderColor: isSelected ? tokens.blue100 : tokens.blue500,\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n }),\n '&:focus:not(:focus-visible)': css({\n borderColor: isSelected ? tokens.blue500 : tokens.gray300,\n boxShadow: 'unset',\n }),\n '&:focus-visible': css({\n borderColor: tokens.blue500,\n boxShadow: tokens.glowPrimary,\n }),\n }),\n };\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getCardActionsStyles = () => {\n return {\n root: css({\n minHeight: 'auto',\n padding: tokens.spacing2Xs,\n }),\n };\n};\n","import React from 'react';\nimport { IconButton, type ButtonProps } from '@contentful/f36-button';\nimport { DotsThreeIcon } from '@contentful/f36-icons';\nimport { Menu } from '@contentful/f36-menu';\nimport { cx } from '@emotion/css';\n\nimport { getCardActionsStyles } from './CardActions.styles';\n\nexport type CardActionsProps = {\n buttonProps?: Partial<Omit<ButtonProps<'button'>, 'ref'>>;\n /**\n * Child elements to be rendered in the component\n */\n children: React.ReactNode[];\n};\n\nexport const CardActions = ({\n buttonProps,\n children,\n}: CardActionsProps): React.ReactElement => {\n const styles = getCardActionsStyles();\n\n return (\n <Menu>\n <Menu.Trigger>\n <IconButton\n {...buttonProps}\n aria-label=\"Actions\"\n icon={<DotsThreeIcon />}\n className={cx(styles.root, buttonProps?.className)}\n size=\"small\"\n variant=\"transparent\"\n testId=\"cf-ui-card-actions\"\n />\n </Menu.Trigger>\n <Menu.List>{children}</Menu.List>\n </Menu>\n );\n};\n\nCardActions.displayName = 'CardActions';\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getHeaderStyles = () => {\n return {\n header: css({\n columnGap: tokens.spacingXs,\n rowGap: tokens.spacing2Xs,\n alignItems: 'center',\n borderBottomColor: tokens.gray200,\n borderBottomStyle: 'solid',\n borderBottomWidth: 1,\n borderTopLeftRadius: tokens.borderRadiusMedium,\n borderTopRightRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n color: tokens.gray600,\n fontSize: tokens.fontSizeM,\n fontWeight: tokens.fontWeightNormal,\n gridColumn: 'content',\n gridRow: 'header',\n lineHeight: tokens.lineHeightM,\n paddingBottom: tokens.spacingXs,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingXs,\n paddingTop: tokens.spacingXs,\n minHeight: '37px',\n }),\n headerWithActions: css({\n paddingBottom: tokens.spacing2Xs,\n paddingRight: tokens.spacingXs,\n paddingTop: tokens.spacing2Xs,\n }),\n };\n};\n","import React from 'react';\nimport { Flex } from '@contentful/f36-core';\nimport { Text } from '@contentful/f36-typography';\nimport { CardActions } from './CardActions';\nimport { cx } from '@emotion/css';\nimport { getHeaderStyles } from './DefaultCardHeader.styles';\nimport { BaseCardInternalProps } from './BaseCard.types';\n\nexport const stopEvents = (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n};\n\nexport const DefaultCardHeader = (\n props: Pick<\n BaseCardInternalProps,\n | 'type'\n | 'icon'\n | 'badge'\n | 'actions'\n | 'actionsButtonProps'\n | 'customActionButton'\n >,\n) => {\n const { icon, type, actions, actionsButtonProps, badge, customActionButton } =\n props;\n const styles = getHeaderStyles();\n\n const renderActionButton = () => {\n if (customActionButton) {\n return (\n <Flex\n // don't propagate click event, so onClick handler on the card is not triggered\n onClick={stopEvents}\n alignItems=\"center\"\n >\n {customActionButton}\n </Flex>\n );\n }\n if (actions && actions.length > 0) {\n return (\n <Flex\n // don't propagate click event, so onClick handler on the card is not triggered\n onClick={stopEvents}\n alignItems=\"center\"\n >\n <CardActions buttonProps={actionsButtonProps}>{actions}</CardActions>\n </Flex>\n );\n }\n\n return null;\n };\n\n return (\n <Flex\n flexWrap=\"wrap\"\n className={cx(\n styles.header,\n (actions || customActionButton) && styles.headerWithActions,\n )}\n >\n <Flex flexGrow={1}>\n {type && (\n <Text fontColor=\"gray600\" isWordBreak>\n {type}\n </Text>\n )}\n </Flex>\n {icon && <Flex alignItems=\"center\">{icon}</Flex>}\n {badge && <Flex alignItems=\"center\">{badge}</Flex>}\n {renderActionButton()}\n </Flex>\n );\n};\n\nDefaultCardHeader.displayName = 'DefaultCardHeader';\n","import { cx } from '@emotion/css';\nimport React, {\n useCallback,\n useState,\n type FocusEventHandler,\n type KeyboardEventHandler,\n type MouseEvent,\n type MouseEventHandler,\n} from 'react';\nimport {\n Box,\n type PolymorphicComponent,\n type PolymorphicProps,\n} from '@contentful/f36-core';\nimport { DragHandle } from '@contentful/f36-drag-handle';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { getBaseCardStyles, getRootStyles } from './BaseCard.styles';\n\nimport { DefaultCardHeader, stopEvents } from './DefaultCardHeader';\nimport type { BaseCardInternalProps, CardElement } from './BaseCard.types';\n\ntype CardInnerProps = {\n withDragHandle?: boolean;\n dragHandleRender?: BaseCardInternalProps['dragHandleRender'];\n drag: React.ReactElement;\n isDragging: boolean;\n header?: React.ReactNode;\n defaultHeader: React.ReactNode;\n children: React.ReactNode;\n styles: { wrapper: string; contentBody: string };\n};\n\nconst CardInner = ({\n children,\n defaultHeader,\n drag,\n dragHandleRender,\n header,\n isDragging,\n styles,\n withDragHandle,\n}: CardInnerProps) => (\n <>\n {withDragHandle\n ? dragHandleRender\n ? dragHandleRender({ drag, isDragging })\n : drag\n : null}\n <div className={styles.wrapper} data-card-part=\"wrapper\">\n {header ?? defaultHeader}\n <div className={styles.contentBody} data-card-part=\"content\">\n {children}\n </div>\n </div>\n </>\n);\n\nCardInner.displayName = 'CardInner';\n\nexport const BASE_CARD_DEFAULT_TAG = 'article';\n\nexport type BaseCardProps<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n> = PolymorphicProps<BaseCardInternalProps, E>;\n\nfunction BaseCardBase<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n>(\n {\n actions,\n actionsButtonProps,\n ariaLabel,\n badge,\n children,\n className,\n customActionButton,\n header,\n href,\n icon,\n isDragging = false,\n isHovered: isHoveredProp,\n isSelected = false,\n onBlur,\n onClick,\n onFocus,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n target,\n rel,\n testId = 'cf-ui-base-card',\n title,\n type,\n withDragHandle,\n dragHandleRender,\n isLoading,\n as,\n ...otherProps\n }: BaseCardProps<E>,\n forwardedRef: React.Ref<HTMLElement>,\n) {\n const styles = getBaseCardStyles();\n const [isHovered, setIsHovered] = useState(isHoveredProp ?? false);\n const isInteractive = Boolean(onClick || href || withDragHandle);\n const hasHeader = Boolean(header);\n const defaultHeader =\n type || icon || badge || actions || customActionButton ? (\n <DefaultCardHeader\n type={type}\n icon={icon}\n badge={badge}\n actions={actions}\n customActionButton={customActionButton}\n actionsButtonProps={actionsButtonProps}\n />\n ) : null;\n\n const handleFocus = useCallback<FocusEventHandler<HTMLElement>>(\n (event) => {\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus],\n );\n\n const handleBlur = useCallback<FocusEventHandler<HTMLElement>>(\n (event) => {\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback<MouseEventHandler<HTMLElement>>(\n (event) => {\n setIsHovered(true);\n\n if (onMouseEnter) {\n onMouseEnter(event);\n }\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback<MouseEventHandler<HTMLElement>>(\n (event) => {\n setIsHovered(false);\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n },\n [onMouseLeave],\n );\n\n const handleClick = onClick\n ? (event: MouseEvent<HTMLElement>) => {\n onClick(event);\n }\n : undefined;\n\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLElement>>(\n (event) => {\n if (onKeyDown) {\n onKeyDown(event);\n }\n },\n [onKeyDown],\n );\n\n if (isLoading) {\n return (\n <Skeleton.Container className={styles.skeleton} svgHeight=\"5.6rem\">\n <Skeleton.DisplayText numberOfLines={1} />\n <Skeleton.BodyText numberOfLines={1} offsetTop={35} />\n </Skeleton.Container>\n );\n }\n\n const drag = (\n <DragHandle\n className={styles.dragHandle}\n isActive={isDragging}\n label=\"Reorder entry\"\n onClick={stopEvents}\n />\n );\n\n const Element = as || BASE_CARD_DEFAULT_TAG;\n\n /** Seperate the Props based on the Element Type */\n\n const rootStyles = getRootStyles(hasHeader, isHovered, isSelected);\n\n const baseProps = {\n testId,\n className: cx(rootStyles.root, className),\n 'aria-label': title || ariaLabel,\n title,\n };\n\n // anchor exclusive properties\n const anchorProps = {\n href,\n target,\n rel: rel ?? 'noreferrer',\n } as Pick<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'href' | 'rel' | 'target'\n >;\n\n if (Element === 'a') {\n return (\n <Box\n as=\"a\"\n {...anchorProps}\n {...baseProps}\n ref={forwardedRef as React.Ref<HTMLAnchorElement>}\n onClick={handleClick}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onMouseEnter={\n typeof isHoveredProp === 'undefined' ? handleMouseEnter : undefined\n }\n onMouseLeave={\n typeof isHoveredProp === 'undefined' ? handleMouseLeave : undefined\n }\n {...otherProps}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n }\n\n // Narrow the element type after early-return anchor case to exclude 'a'\n const nonAnchorElement = Element as Exclude<CardElement, 'a'>;\n\n if (isInteractive) {\n return (\n <Box\n as={nonAnchorElement}\n {...baseProps}\n aria-pressed={nonAnchorElement === 'button' ? !!isSelected : undefined}\n onBlur={handleBlur}\n onClick={handleClick}\n onFocus={handleFocus}\n onMouseEnter={\n typeof isHoveredProp === 'undefined' ? handleMouseEnter : undefined\n }\n onMouseLeave={\n typeof isHoveredProp === 'undefined' ? handleMouseLeave : undefined\n }\n onKeyDown={handleKeyDown}\n role={onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n ref={forwardedRef}\n {...otherProps}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n }\n return (\n <Box\n as={nonAnchorElement}\n {...baseProps}\n {...otherProps}\n ref={forwardedRef}\n >\n <CardInner\n children={children}\n defaultHeader={defaultHeader}\n drag={drag}\n dragHandleRender={dragHandleRender}\n header={header}\n isDragging={isDragging}\n styles={styles}\n withDragHandle={withDragHandle}\n />\n </Box>\n );\n}\n\nBaseCardBase.displayName = 'BaseCard';\n\nexport const BaseCard = React.forwardRef(BaseCardBase) as PolymorphicComponent<\n BaseCardInternalProps,\n typeof BASE_CARD_DEFAULT_TAG\n>;\n","import tokens from '@contentful/f36-tokens';\nimport { css } from '@emotion/css';\n\nexport const getAssetCardStyles = () => {\n return {\n root: ({ size }) =>\n css({\n display: 'inline-flex',\n width: 'auto',\n borderRadius: tokens.borderRadiusMedium,\n minWidth: `calc(1rem * (120 / ${tokens.fontBaseDefault}))`,\n height:\n size === 'small'\n ? `calc(1rem * (188 / ${tokens.fontBaseDefault}))`\n : `calc(1rem * (300 / ${tokens.fontBaseDefault}))`,\n padding: 0,\n textAlign: 'center',\n }),\n asset: css({\n height: '100%',\n }),\n skeleton: css({\n border: `1px solid ${tokens.gray300}`,\n borderRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingM,\n }),\n };\n};\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\nimport { CardProps } from '..';\n\nconst getCardPaddingValue = (padding: CardProps['padding']) => {\n switch (padding) {\n case 'large':\n return tokens.spacingL;\n case 'none':\n return 0;\n default:\n return tokens.spacingM;\n }\n};\n\nexport const getCardStyles = ({ padding }) => ({\n header: css({\n gridColumn: 'content',\n gridRow: 'header',\n marginBottom: tokens.spacingM,\n }),\n root: css({\n padding: getCardPaddingValue(padding),\n }),\n});\n","import React, { forwardRef } from 'react';\nimport { cx } from '@emotion/css';\nimport {\n Flex,\n type PolymorphicComponent,\n type PolymorphicProps,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { Heading } from '@contentful/f36-typography';\n\nimport { BaseCard, BASE_CARD_DEFAULT_TAG } from '../BaseCard/BaseCard';\nimport type { BaseCardInternalProps } from '../BaseCard/BaseCard.types';\nimport { CardActions } from '../BaseCard/CardActions';\nimport { getCardStyles } from './Card.styles';\n\ntype BaseProps = Omit<\n BaseCardInternalProps,\n 'header' | 'withDragHandle' | 'ref' | 'src' | 'type'\n> & {\n /**\n * Padding size to apply to the component\n *\n * @default default\n */\n padding?: 'default' | 'large' | 'none';\n};\n\ntype BasePropsWithDragHandle = Omit<BaseProps, 'padding'> &\n Pick<BaseCardInternalProps, 'withDragHandle'> & { padding: 'none' };\n\nexport type CardInternalProps = BaseProps | BasePropsWithDragHandle;\n\nexport type CardProps<\n E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG,\n> = PolymorphicProps<CardInternalProps, E>;\n\nfunction CardBase<E extends React.ElementType = typeof BASE_CARD_DEFAULT_TAG>(\n {\n actions,\n badge,\n icon,\n padding = 'default',\n title,\n className,\n testId = 'cf-ui-card',\n ...otherProps\n }: CardProps<E>,\n forwardedRef: React.Ref<HTMLElement>,\n) {\n const styles = getCardStyles({ padding });\n const hasHeader = Boolean(title || icon || badge || actions);\n\n return (\n // @ts-expect-error this beast of polymorphic component needs a deeper refactor.\n <BaseCard\n className={cx(styles.root, className)}\n {...otherProps}\n testId={testId}\n header={\n hasHeader && (\n <Flex alignItems=\"center\" className={cx(styles.header)}>\n {title && (\n <Flex as=\"header\" flexGrow={1}>\n <Heading marginBottom=\"none\">{title}</Heading>\n </Flex>\n )}\n {icon && (\n <Flex alignItems=\"center\" marginLeft=\"spacingXs\">\n {icon}\n </Flex>\n )}\n {badge && (\n <Flex alignItems=\"center\" marginLeft=\"spacingXs\">\n {badge}\n </Flex>\n )}\n {actions && <CardActions>{actions}</CardActions>}\n </Flex>\n )\n }\n ref={forwardedRef}\n />\n );\n}\n\nCardBase.displayName = 'Card';\n\nexport const Card = forwardRef(CardBase) as PolymorphicComponent<\n ExpandProps<CardInternalProps>,\n typeof BASE_CARD_DEFAULT_TAG\n>;\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\n\nimport type { EntryCardSize } from './EntryCard.types';\n\nexport const getEntryCardStyles = () => {\n return {\n actionsButton: css({\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n borderTopLeftRadius: 0,\n borderTopRightRadius: tokens.borderRadiusMedium,\n }),\n content: (size?: EntryCardSize) =>\n css({\n gridColumn: 'content',\n marginTop: size === 'small' ? tokens.spacingXs : tokens.spacingS,\n marginBottom: size === 'small' ? `calc(-1 * ${tokens.spacingXs})` : 0,\n }),\n root: css({\n padding: 0,\n '[data-card-part=\"content\"]': {\n paddingBottom: tokens.spacingM,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingM,\n },\n }),\n header: css({\n borderBottomWidth: 1,\n borderBottomColor: tokens.gray200,\n borderBottomStyle: 'solid',\n minHeight: 'auto',\n paddingBottom: tokens.spacingXs,\n paddingLeft: tokens.spacingM,\n paddingRight: tokens.spacingXs,\n }),\n thumbnail: (size?: EntryCardSize) =>\n css({\n margin: `0 0 0 ${tokens.spacingS}`,\n padding: 0,\n overflow: 'hidden',\n position: 'relative',\n img: {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n position: 'absolute',\n zIndex: 1,\n },\n ...(size === 'small'\n ? {\n height: '40px',\n width: '40px',\n }\n : {\n height: '70px',\n width: '70px',\n }),\n }),\n };\n};\n","import React, { forwardRef } from 'react';\nimport truncate from 'truncate';\nimport { cx } from '@emotion/css';\nimport {\n Flex,\n type ExpandProps,\n type PolymorphicComponent,\n type PolymorphicProps,\n} from '@contentful/f36-core';\nimport { EntityStatusBadge } from '@contentful/f36-badge';\nimport {\n Subheading,\n Paragraph,\n type HeadingElement,\n} from '@contentful/f36-typography';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport { getEntryCardStyles } from './EntryCard.styles';\nimport { EntryCardInternalProps, EntryCardSize } from './EntryCard.types';\n\nconst ENTRY_CARD_DEFAULT_TAG = 'article';\n\nexport type EntryCardProps<\n E extends React.ElementType = typeof ENTRY_CARD_DEFAULT_TAG,\n> = PolymorphicProps<EntryCardInternalProps, E>;\n\nfunction EntryCardTitle({\n title,\n titleTag,\n}: {\n title?: string;\n titleTag: HeadingElement;\n}) {\n if (!title) {\n return null;\n }\n\n const truncatedTitle = truncate(title, 255, {});\n\n return (\n <Subheading\n title={title.length > 255 ? title : ''}\n testId=\"title\"\n as={titleTag}\n marginBottom=\"none\"\n isWordBreak\n >\n {truncatedTitle}\n </Subheading>\n );\n}\n\nEntryCardTitle.displayName = 'EntryCardTitle';\n\nfunction EntryCardDescription({\n description,\n size,\n}: {\n size: EntryCardSize;\n description?: string;\n}) {\n if (!description || size === 'small') {\n return null;\n }\n\n const truncatedDescription = truncate(description, 95, {});\n\n return (\n <Paragraph marginBottom=\"none\" isWordBreak>\n {truncatedDescription}\n </Paragraph>\n );\n}\n\nEntryCardDescription.displayName = 'EntryCardDescription';\n\nfunction EntryCardBase<\n E extends React.ElementType = typeof ENTRY_CARD_DEFAULT_TAG,\n>(\n {\n actions,\n children,\n className,\n customActionButton,\n src,\n status,\n thumbnailElement,\n description,\n withDragHandle = false,\n title,\n titleTag = 'h2',\n size,\n testId = 'cf-ui-entry-card',\n contentType,\n badge,\n ...otherProps\n }: EntryCardProps<E>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n forwardedRef: React.Ref<any>,\n) {\n const styles = getEntryCardStyles();\n const entryStatusBadge = status ? (\n <EntityStatusBadge entityStatus={status} />\n ) : null;\n\n return (\n // @ts-expect-error this beast of polymorphic component needs a deeper refactor.\n <BaseCard\n as={ENTRY_CARD_DEFAULT_TAG}\n {...otherProps}\n actions={actions}\n badge={badge ? badge : entryStatusBadge}\n className={cx(styles.root, className)}\n customActionButton={customActionButton}\n withDragHandle={withDragHandle}\n ref={forwardedRef}\n type={contentType}\n testId={testId}\n >\n <Flex\n alignItems=\"center\"\n className={styles.content(size)}\n flexDirection=\"row\"\n >\n <Flex flexDirection=\"column\" flexGrow={1} gap=\"spacingS\">\n <EntryCardTitle title={title} titleTag={titleTag} />\n <EntryCardDescription size={size} description={description} />\n {children}\n </Flex>\n\n {thumbnailElement && size !== 'small' && (\n <figure className={styles.thumbnail(size)}>{thumbnailElement}</figure>\n )}\n </Flex>\n </BaseCard>\n );\n}\n\nEntryCardBase.displayName = 'EntryCard';\n\nexport const EntryCard = forwardRef(EntryCardBase) as PolymorphicComponent<\n ExpandProps<EntryCardInternalProps>,\n typeof ENTRY_CARD_DEFAULT_TAG\n>;\n","import { css } from '@emotion/css';\nimport tokens from '@contentful/f36-tokens';\nimport { getEntityStatusStyles } from '@contentful/f36-core';\n\nimport type { InlineEntryCardProps } from './InlineEntryCard';\n\nexport const getInlineEntryCardStyles = () => {\n return {\n actions: css({\n display: 'flex',\n padding: 0,\n marginLeft: tokens.spacingXs,\n minHeight: 'auto',\n }),\n root: ({ status }: { status: InlineEntryCardProps['status'] }) => {\n const statusColors = getEntityStatusStyles({ status });\n\n return css({\n borderBottomLeftRadius: 0,\n borderTopLeftRadius: 0,\n display: 'inline-flex',\n width: 'auto',\n verticalAlign: 'middle',\n paddingBottom: 0,\n paddingTop: 0,\n paddingLeft: tokens.spacingS,\n paddingRight: tokens.spacing2Xs,\n '[data-card-part=\"wrapper\"]': {\n display: 'inline-flex',\n flexDirection: 'row-reverse',\n },\n '&::before': {\n backgroundColor: statusColors.color,\n bottom: 0,\n content: '\"\"',\n display: 'block',\n left: 0,\n position: 'absolute',\n top: 0,\n width: tokens.spacing2Xs,\n },\n });\n },\n skeleton: css({\n display: 'inline-flex',\n border: `1px solid ${tokens.gray300}`,\n borderTopRightRadius: tokens.borderRadiusMedium,\n borderBottomRightRadius: tokens.borderRadiusMedium,\n padding: tokens.spacingXs,\n }),\n };\n};\n","import React from 'react';\nimport { cx } from '@emotion/css';\nimport { Tooltip } from '@contentful/f36-tooltip';\nimport { Text } from '@contentful/f36-typography';\nimport { Skeleton } from '@contentful/f36-skeleton';\n\nimport { BaseCard } from '../BaseCard/BaseCard';\nimport type { BaseCardDragHandleProps } from '../BaseCard/BaseCard.types';\nimport type { EntryCardInternalProps } from '../EntryCard/EntryCard.types';\nimport { getInlineEntryCardStyles } from './InlineEntryCard.styles';\nimport { CardActions } from '../BaseCard/CardActions';\n\nexport type InlineEntryCardInternalProps = Omit<\n EntryCardInternalProps,\n 'icon' | 'ref' | 'src' | 'size' | 'type' | keyof BaseCardDragHandleProps\n>;\n\nexport type InlineEntryCardProps = InlineEntryCardInternalProps;\n\nexport const InlineEntryCard = ({\n actions,\n className,\n children,\n status,\n title,\n isLoading,\n testId = 'cf-ui-inline-entry-card',\n ...otherProps\n}: InlineEntryCardInternalProps) => {\n const styles = getInlineEntryCardStyles();\n const header = (\n <CardActions buttonProps={{ className: styles.actions }}>\n {actions}\n </CardActions>\n );\n\n if (isLoading) {\n return (\n <Skeleton.Container\n className={styles.skeleton}\n svgHeight=\"1.25rem\"\n svgWidth=\"6rem\"\n >\n <Skeleton.BodyText numberOfLines={1} />\n </Skeleton.Container>\n );\n }\n\n return (\n <Tooltip placement=\"bottom\" content={title}>\n <BaseCard\n {...otherProps}\n className={cx(styles.root({ status }), className)}\n header={header}\n testId={testId}\n >\n {children || <Text>{title}</Text>}\n </BaseCard>\n </Tooltip>\n );\n};\n"]}
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@contentful/f36-card",
3
- "version": "6.0.0-alpha.4",
3
+ "version": "6.0.0",
4
4
  "description": "Forma 36: Card components",
5
5
  "scripts": {
6
6
  "build": "tsup"
7
7
  },
8
8
  "dependencies": {
9
- "@contentful/f36-asset": "^6.0.0-alpha.0",
10
- "@contentful/f36-badge": "^6.0.0-alpha.0",
11
- "@contentful/f36-button": "^6.0.0-alpha.0",
12
- "@contentful/f36-core": "^6.0.0-alpha.0",
13
- "@contentful/f36-drag-handle": "^6.0.0-alpha.0",
14
- "@contentful/f36-icon": "^6.0.0-alpha.0",
15
- "@contentful/f36-icons": "^6.0.0-alpha.0",
16
- "@contentful/f36-menu": "^6.0.0-alpha.0",
17
- "@contentful/f36-skeleton": "^6.0.0-alpha.0",
18
- "@contentful/f36-tokens": "^6.0.0-alpha.0",
19
- "@contentful/f36-tooltip": "^6.0.0-alpha.0",
20
- "@contentful/f36-typography": "^6.0.0-alpha.0",
9
+ "@contentful/f36-asset": "^6.0.0",
10
+ "@contentful/f36-badge": "^6.0.0",
11
+ "@contentful/f36-button": "^6.0.0",
12
+ "@contentful/f36-core": "^6.0.0",
13
+ "@contentful/f36-drag-handle": "^6.0.0",
14
+ "@contentful/f36-icon": "^6.0.0",
15
+ "@contentful/f36-icons": "^6.0.0",
16
+ "@contentful/f36-menu": "^6.0.0",
17
+ "@contentful/f36-skeleton": "^6.0.0",
18
+ "@contentful/f36-tokens": "^6.0.0",
19
+ "@contentful/f36-tooltip": "^6.0.0",
20
+ "@contentful/f36-typography": "^6.0.0",
21
21
  "@emotion/css": "^11.13.5",
22
22
  "truncate": "^3.0.0"
23
23
  },