UNPKG

carbon-react

Version:

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

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