UNPKG

@commercelayer/react-components

Version:
2 lines 1.31 kB
"use client"; "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AddressField=AddressField;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),AddressChildrenContext_1=tslib_1.__importDefault(require("../../context/AddressChildrenContext")),CustomerContext_1=tslib_1.__importDefault(require("../../context/CustomerContext"));function AddressField(props){const{name,type="field",label,onClick,...p}=props,{address}=(0,react_1.useContext)(AddressChildrenContext_1.default),text=name&&address?address?.[name]:"",{deleteCustomerAddress}=(0,react_1.useContext)(CustomerContext_1.default),handleClick=e=>{e.stopPropagation(),e.preventDefault(),type==="delete"&&deleteCustomerAddress&&address?.reference&&deleteCustomerAddress({customerAddressId:address?.reference}),address&&onClick&&onClick(address)},parentProps={address,...props};return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children:props.children}):type==="field"?(0,jsx_runtime_1.jsx)("p",{"data-testid":`address-field-${name??""}`,...p,name,children:text}):(0,jsx_runtime_1.jsx)("a",{"data-testid":`address-field-${name??""}`,...p,onClick:handleClick,children:label})}exports.default=AddressField;