@shopgate/engage
Version:
Shopgate's ENGAGE library.
4 lines • 1.59 kB
JavaScript
function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React from'react';import PropTypes from'prop-types';import{css}from'glamor';import classNames from'classnames';import{responsiveMediaQuery}from'@shopgate/engage/styles';import{ConditionalWrapper,SurroundPortals}from'@shopgate/engage/components';import ProductNameContent from"./ProductNameContent";var styles={wrapper:css(_defineProperty({},responsiveMediaQuery('>xs',{webOnly:true}),{wordBreak:'keep-all !important',hyphens:'none !important'})).toString()};/**
* @param {Object} props The component props
* @returns {JSX.Element}
*/var ProductName=function ProductName(_ref){var name=_ref.name,className=_ref.className,testId=_ref.testId,ellipsis=_ref.ellipsis,portalName=_ref.portalName,portalProps=_ref.portalProps,itemProp=_ref.itemProp,rows=_ref.rows,style=_ref.style;return React.createElement(ConditionalWrapper,{condition:!!portalName,wrapper:function wrapper(children){return React.createElement(SurroundPortals,{portalName:portalName,portalProps:portalProps},children);}},React.createElement("div",{className:classNames(styles.wrapper,className),style:style,itemProp:itemProp,"data-test-id":testId,"aria-label":"".concat(name,".")},React.createElement(ProductNameContent,{name:name,ellipsis:ellipsis,rows:rows})));};ProductName.defaultProps={name:null,className:null,ellipsis:true,itemProp:null,portalName:null,portalProps:null,style:null,rows:null,testId:null};export default ProductName;