UNPKG

carbon-react

Version:

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

2 lines (1 loc) 3.14 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("./badge.style.js"),o=require("../icon/icon.component.js"),l=require("../../__internal__/utils/helpers/tags/tags.js"),i=require("../../__internal__/utils/helpers/guid/index.js"),a=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}let c=!1,u=!1,d=!1;const p=p=>{var{"aria-label":b,children:y,counter:f=0,color:g,onClick:j,id:O,size:m="medium",variant:v="typical",inverse:h=!1}=p,w=function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},l=Object.keys(e);for(n=0;n<l.length;n++)t=l[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)t=l[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(p,["aria-label","children","counter","color","onClick","id","size","variant","inverse"]);j&&!c&&(a.default.deprecate("The `onClick` prop in `Badge` is deprecated and will soon be removed."),c=!0),b&&!u&&(a.default.deprecate("The `aria-label` prop in `Badge` is deprecated and will soon be removed."),u=!0),g&&!d&&(a.default.deprecate("The `color` prop in `Badge` is deprecated and will soon be removed."),d=!0);const[P,_]=r.useState(!1),[x,S]=r.useState(!1),{current:q}=r.useRef(O||i.default());let k=!0;const B=j&&"small"!==m,C=B&&(P||x);let D=f;"string"==typeof f?(f.length>4&&(D=f.substring(0,4)),""===f&&(k=!1)):"number"==typeof f&&(f>999&&(D="999+"),(f<=0||f%1!=0)&&(k=!1));const E=()=>{const r={buttonType:"secondary",onClick:j};return k?e.jsx(n.StyledBadge,(i=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}({customColor:g,id:q,"aria-label":b,size:m,variant:v,inverse:h,hasChildren:!!y,onFocus:()=>{_(!0)},onBlur:()=>{_(!1)},onMouseEnter:()=>{S(!0)},onMouseLeave:()=>{S(!1)}},B&&r,l.default("badge",w),t.default(w)),a=null!=(a={children:C?e.jsx(o.default,{"data-role":"badge-cross-icon","data-element":"badge-cross-icon",type:"cross",color:"white"}):"small"!==m?e.jsx(n.StyledCounter,{"data-element":"badge-counter",children:D}):null})?a:{},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(a)).forEach((function(e){Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(a,e))})),i)):null;var i,a};return y?e.jsxs(n.StyledBadgeWrapper,{"data-role":"badge-wrapper",children:[y,E()]}):E()};exports.Badge=p,exports.default=p;