UNPKG

carbon-react

Version:

A library of reusable React components for easily building user interfaces.

2 lines (1 loc) 2.92 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react");require("../../style/utils/filter-styled-system-padding-props.js");var t=require("../../style/utils/filter-styled-system-margin-props.js"),n=require("./__internal__/card.context.js"),o=require("./card.style.js"),a=require("../icon/icon.component.js"),i=require("../../__internal__/utils/helpers/tags/tags.js"),l=require("../../__internal__/utils/logger/index.js");function s(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}const c=c=>{var{"data-element":d,"data-role":u,children:p,width:f="500px",draggable:b,height:y,onClick:g,href:h,spacing:j="medium",boxShadow:O,hoverBoxShadow:v,roundness:m="default",footer:w,rel:x,target:S,"aria-label":P}=c,_=function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(c,["data-element","data-role","children","width","draggable","height","onClick","href","spacing","boxShadow","hoverBoxShadow","roundness","footer","rel","target","aria-label"]);const[q,C]=r.useState(null),k=!(!g&&!h);let D=!1;return!D&&k&&(null==q?void 0:q.querySelector("[data-component='card-footer']"))&&(D=!0,l.default.warn("This `Card` is interactive you should use the `footer` prop to render a `CardFooter` to avoid potential accessibility issues")),e.jsxs(o.StyledCard,function(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}(function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){s(e,r,t[r])}))}return e}({cardWidth:f,interactive:k,draggable:!!b,spacing:j,boxShadow:O,hoverBoxShadow:v,height:y,roundness:m},t.default(_),i.default("card",{"data-element":d,"data-role":u})),{children:[b&&e.jsx(a.default,{type:"drag"}),e.jsxs(n.CardProvider,{value:{roundness:m,spacing:j},children:[e.jsx(o.StyledCardContent,{"data-element":"card-content-container",onClick:b?void 0:g,href:b?void 0:h,rel:!b&&h?x:void 0,target:!b&&h?S:void 0,interactive:k,spacing:j,roundness:m,hasFooter:!!w,ref:C,"aria-label":P,children:p}),w]})]}))};c.displayName="Card",exports.default=c;