UNPKG

@shopify/react-tracking-pixel

Version:
45 lines (37 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _reactHtml = require("@shopify/react-html"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 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["default"].createElement(_reactHtml.Preconnect, { key: preconnectHost, source: preconnectHost }); }); return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, preconnectHostsMarkup, /*#__PURE__*/_react["default"].createElement("iframe", { src: url, sandbox: "allow-scripts", title: url, scrolling: "no", frameBorder: 0, height: 1, width: 1, style: IFRAME_STYLES })); } var _default = /*#__PURE__*/_react["default"].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; }); exports["default"] = _default;