UNPKG

@commercelayer/react-components

Version:
2 lines 1.34 kB
"use client"; "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SaveCustomerButton=SaveCustomerButton;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),isEmpty_1=tslib_1.__importDefault(require("lodash/isEmpty")),CustomerContext_1=tslib_1.__importDefault(require("../../context/CustomerContext"));function SaveCustomerButton(props){const{children,label="Save",resource,disabled,onClick}=props,p=tslib_1.__rest(props,["children","label","resource","disabled","onClick"]),{errors,saveCustomerUser,customerEmail}=(0,react_1.useContext)(CustomerContext_1.default),disable=disabled||!(0,isEmpty_1.default)(errors)||(0,isEmpty_1.default)(customerEmail),handleClick=()=>tslib_1.__awaiter(this,void 0,void 0,function*(){(0,isEmpty_1.default)(errors)&&!disable&&customerEmail!=null&&(saveCustomerUser&&(yield saveCustomerUser(customerEmail)),onClick&&onClick())}),parentProps=Object.assign(Object.assign({},p),{label,resource,handleClick,disabled:disable});return children?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},parentProps,{children})):(0,jsx_runtime_1.jsx)("button",Object.assign({type:"button",disabled:disable,onClick:()=>{handleClick()}},p,{children:label}))}exports.default=SaveCustomerButton;