@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 1.42 kB
JavaScript
"use client";
;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}=props,p=tslib_1.__rest(props,["name","type","label","onClick"]),{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=Object.assign({address},props);return props.children?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},parentProps,{children:props.children})):type==="field"?(0,jsx_runtime_1.jsx)("p",Object.assign({"data-testid":`address-field-${name??""}`},p,{name,children:text})):(0,jsx_runtime_1.jsx)("a",Object.assign({"data-testid":`address-field-${name??""}`},p,{onClick:handleClick,children:label}))}exports.default=AddressField;