UNPKG

@commercelayer/react-components

Version:
2 lines 1.77 kB
"use client"; "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemOption=LineItemOption;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemOptionChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemOptionChildrenContext")),map_1=tslib_1.__importDefault(require("lodash/map")),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),isJSON_1=tslib_1.__importDefault(require("../../utils/isJSON"));function LineItemOption(props){var _a;const{name,children,valueClassName,key,tagElement="li",tagContainer="ul"}=props,p=tslib_1.__rest(props,["name","children","valueClassName","key","tagElement","tagContainer"]),{lineItemOption,showAll}=(0,react_1.useContext)(LineItemOptionChildrenContext_1.default),parentProps=Object.assign(Object.assign({},props),{lineItemOption}),TagElement=tagElement,TagContainer=tagContainer,label=name!=null?(_a=lineItemOption?.options)===null||_a===void 0?void 0:_a[name]:"",components=showAll&&(0,isJSON_1.default)(JSON.stringify(lineItemOption?.options))?(0,map_1.default)(lineItemOption?.options,(value,key2)=>(0,jsx_runtime_1.jsxs)(TagElement,Object.assign({},p,{children:[`${key2}:`,(0,jsx_runtime_1.jsx)("span",{className:valueClassName,children:`${value}`})]}),key2)):name!=null&&lineItemOption?.options!=null&&name in lineItemOption.options?(0,jsx_runtime_1.jsxs)(TagElement,Object.assign({},p,{children:[`${name}:`,(0,jsx_runtime_1.jsx)("span",Object.assign({className:valueClassName},p,{children:label??""}))]}),key):null;return children?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},parentProps,{children:props.children})):(0,jsx_runtime_1.jsx)(TagContainer,{children:components})}exports.default=LineItemOption;