UNPKG

carbon-react

Version:

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

2 lines (1 loc) 3.96 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),n=require("../../__internal__/utils/helpers/guid/index.js"),r=require("../dialog/dialog.component.js"),o=require("./confirm.style.js"),i=require("../button/button.component.js"),a=require("../icon/icon.component.js"),c=require("../loader/loader.component.js"),l=require("../typography/typography.component.js"),s=require("../../hooks/__internal__/useLocale/useLocale.js"),u=require("../../__internal__/utils/helpers/tags/tags.js");function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){d(e,t,n[t])}))}return e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}const f=d=>{var{"aria-labelledby":f,"aria-describedby":y,"aria-label":m,open:j,children:O,cancelButtonDestructive:g=!1,confirmButtonDestructive:h=!1,cancelButtonType:P="secondary",confirmButtonType:B="primary",cancelButtonIconType:v,cancelButtonIconPosition:C,confirmButtonIconType:w,confirmButtonIconPosition:x,cancelButtonDataProps:T,confirmButtonDataProps:_,cancelLabel:D,onCancel:I,disableCancel:q,onConfirm:L,isLoadingConfirm:S,disableConfirm:k,confirmLabel:z,iconType:M,subtitle:E,title:R,size:A="extra-small",showCloseIcon:H=!1,topModalOverride:W}=d,F=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(d,["aria-labelledby","aria-describedby","aria-label","open","children","cancelButtonDestructive","confirmButtonDestructive","cancelButtonType","confirmButtonType","cancelButtonIconType","cancelButtonIconPosition","confirmButtonIconType","confirmButtonIconPosition","cancelButtonDataProps","confirmButtonDataProps","cancelLabel","onCancel","disableCancel","onConfirm","isLoadingConfirm","disableConfirm","confirmLabel","iconType","subtitle","title","size","showCloseIcon","topModalOverride"]);const G=s.default(),{current:J}=t.useRef(n.default()),{current:K}=t.useRef(n.default()),N={"aria-labelledby":f,"aria-describedby":y,"aria-label":m};return R&&M&&(N["aria-labelledby"]=J),E&&M&&(N["aria-describedby"]=K),e.jsxs(r.Dialog,b(p({open:j,onCancel:I,disableClose:q,subtitle:E,title:M?e.jsxs(o.StyledConfirmHeading,{type:M,"data-element":M,children:[e.jsx(a.default,{type:M,fontSize:"medium"}),e.jsx(l.Typography,{wordWrap:"break-word",wordBreak:"normal",variant:"h1","data-element":"dialog-title",id:J,children:R})]}):R,role:"alertdialog",size:A,showCloseIcon:H,topModalOverride:W},N,F),{"data-component":"confirm",children:[O,e.jsxs(o.StyledConfirmButtons,{children:[I?e.jsx(i.default,b(p({onClick:I,buttonType:P,destructive:g,disabled:q,iconType:v,iconPosition:C},u.default("cancel",p({"data-element":"cancel"},T))),{children:D||G.confirm.no()})):null,e.jsx(i.default,b(p({onClick:L,buttonType:B,destructive:h,disabled:S||k,ml:2,iconType:w,iconPosition:x},u.default("confirm",p({"data-element":"confirm"},_))),{children:S?e.jsx(c.Loader,{"data-role":"confirm-loader",isInsideButton:!0,isActive:!0}):z||G.confirm.yes()}))]})]}))};exports.Confirm=f,exports.default=f;