UNPKG

carbon-react

Version:

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

2 lines (1 loc) 3.54 kB
import{jsx as e,Fragment as r}from"react/jsx-runtime";import t,{useContext as n}from"react";import o from"../../__internal__/utils/helpers/tags/tags.js";import i from"./checkbox.style.js";import l from"../../__internal__/checkable-input/checkable-input.component.js";import a from"./checkbox-svg.component.js";import p from"../../hooks/__internal__/useIsAboveBreakpoint/useIsAboveBreakpoint.js";import{TooltipProvider as c}from"../../__internal__/tooltip-provider/index.js";import s from"./checkbox-group/__internal__/checkbox-group.context.js";import d from"../carbon-provider/__internal__/new-validation.context.js";import"../../style/utils/filter-styled-system-padding-props.js";import b from"../../style/utils/filter-styled-system-margin-props.js";function u(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function f(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){u(e,r,t[r])}))}return e}function m(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}const y=t.forwardRef(((t,u)=>{var{"aria-labelledby":y,id:h,label:g,onChange:O,name:j,onClick:v,onBlur:_,onFocus:k,value:w,fieldHelp:P,autoFocus:S,labelHelp:x,labelSpacing:H=1,labelWidth:I,adaptiveSpacingBreakpoint:B,required:C,error:W,warning:F,info:A,fieldHelpInline:L,reverse:D=!1,checked:q,disabled:z,inputWidth:E,size:N,tooltipPosition:R,"data-element":V,"data-role":G,helpAriaLabel:J}=t,K=function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(t,["aria-labelledby","id","label","onChange","name","onClick","onBlur","onFocus","value","fieldHelp","autoFocus","labelHelp","labelSpacing","labelWidth","adaptiveSpacingBreakpoint","required","error","warning","info","fieldHelpInline","reverse","checked","disabled","inputWidth","size","tooltipPosition","data-element","data-role","helpAriaLabel"]);const{validationRedesignOptIn:M}=n(d),Q=p(B),T=!(!B||Q),U=n(s),{error:X,warning:Y,info:Z}=U,$=m(f({ariaLabelledBy:y,onClick:v,onChange:O,onBlur:_,onFocus:k,labelInline:!0,id:h,label:g,value:w,type:"checkbox",name:j,reverse:!D,fieldHelp:P,autoFocus:S,labelHelp:x,labelSpacing:H,required:C,fieldHelpInline:L,checked:q,disabled:z,inputWidth:E,labelWidth:I,ref:u},K),{"data-component":void 0}),ee=f({error:X||W,warning:Y||F},M?{validationOnLabel:!1}:{info:Z||A}),re=b(K),te=e(i,m(f(m(f({disabled:z,labelSpacing:H,inputWidth:E,adaptiveSpacingSmallScreen:T},ee),{fieldHelpInline:L,reverse:D,size:N,applyNewValidation:M}),re,o("checkbox",{"data-element":V,"data-role":G})),{children:e(l,m(f({},$,ee),{children:e(a,{})}))}));return e(r,{children:M?te:e(c,{helpAriaLabel:J,tooltipPosition:R,children:te})})}));y.displayName="Checkbox";export{y as Checkbox,y as default};