UNPKG

@shopify/react-tracking-pixel

Version:
32 lines (30 loc) 1.15 kB
import React from 'react'; import { Preconnect } from '@shopify/react-html'; var IFRAME_STYLES = { display: 'none' }; function TrackingPixel(_ref) { var url = _ref.url, _ref$preconnectHosts = _ref.preconnectHosts, preconnectHosts = _ref$preconnectHosts === void 0 ? [] : _ref$preconnectHosts; var preconnectHostsMarkup = preconnectHosts.map(function (preconnectHost) { return /*#__PURE__*/React.createElement(Preconnect, { key: preconnectHost, source: preconnectHost }); }); return /*#__PURE__*/React.createElement(React.Fragment, null, preconnectHostsMarkup, /*#__PURE__*/React.createElement("iframe", { src: url, sandbox: "allow-scripts", title: url, scrolling: "no", frameBorder: 0, height: 1, width: 1, style: IFRAME_STYLES })); } export default /*#__PURE__*/React.memo(TrackingPixel, function (oldProps, newProps) { var samePreconnectHosts = oldProps.preconnectHosts == null && newProps.preconnectHosts == null || (newProps.preconnectHosts || []).join() === (oldProps.preconnectHosts || []).join(); return oldProps.url === newProps.url && samePreconnectHosts; });