UNPKG

@pactsafe/pactsafe-react-sdk

Version:

Ironclad Clickwrap React SDK - SDK for easy Ironclad Clickwrap implementations leveraging the Ironclad JavaScript Library & API

80 lines (79 loc) 3.65 kB
"use strict"; exports.__esModule = true; exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactProptypeConditionalRequire = _interopRequireDefault(require("react-proptype-conditional-require")); var _PSSnippet = _interopRequireDefault(require("./PSSnippet")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } /* global _ps */ var PSBrowseWrap = /*#__PURE__*/function (_React$Component) { _inheritsLoose(PSBrowseWrap, _React$Component); function PSBrowseWrap(props) { var _this; _this = _React$Component.call(this, props) || this; var _this$props = _this.props, psScriptUrl = _this$props.psScriptUrl, groupKey = _this$props.groupKey, accessId = _this$props.accessId; if (!_PSSnippet["default"].isSnippetLoaded(psScriptUrl)) { _PSSnippet["default"].injectSnippet(psScriptUrl); } _this.targetSelector = "psbw-" + groupKey; _ps('create', accessId); return _this; } var _proto = PSBrowseWrap.prototype; _proto.componentDidMount = function componentDidMount() { var _this$props2 = this.props, groupKey = _this$props2.groupKey, position = _this$props2.position, badgeText = _this$props2.badgeText, alwaysVisible = _this$props2.alwaysVisible, openLegalCenter = _this$props2.openLegalCenter; _ps('load', groupKey, { target_selector: this.targetSelector, position: position, badge_text: badgeText, always_visible: alwaysVisible, open_legal_center: openLegalCenter }); }; _proto.componentWillUnmount = function componentWillUnmount() { var groupKey = this.props.groupKey; _ps.getByKey(groupKey).rendered = false; }; _proto.render = function render() { var _this$props3 = this.props, link = _this$props3.link, linkText = _this$props3.linkText; return /*#__PURE__*/_react["default"].createElement("a", { href: link, id: this.targetSelector }, linkText); }; return PSBrowseWrap; }(_react["default"].Component); PSBrowseWrap.MUST_PROVIDE_LINK_IF_OPEN_LEGAL_CENTER_FALSE = 'PSBrowseWrap Error: You must provide a link prop if openLegalCenter is passed false'; PSBrowseWrap.propTypes = process.env.NODE_ENV !== "production" ? { accessId: _propTypes["default"].string.isRequired, alwaysVisible: _propTypes["default"].bool, badgeText: _propTypes["default"].string, groupKey: _propTypes["default"].string.isRequired, link: (0, _reactProptypeConditionalRequire["default"])(_propTypes["default"].string, function (props) { return props.hasOwnProperty('openLegalCenter') && props.openLegalCenter === false; }, PSBrowseWrap.MUST_PROVIDE_LINK_IF_OPEN_LEGAL_CENTER_FALSE), linkText: _propTypes["default"].string.isRequired, openLegalCenter: _propTypes["default"].bool, position: _propTypes["default"].oneOf(['middle', 'left', 'right', 'auto']), psScriptUrl: _propTypes["default"].string } : {}; PSBrowseWrap.defaultProps = { psScriptUrl: '//vault.pactsafe.io/ps.min.js', position: 'auto', link: '#', openLegalCenter: true }; var _default = exports["default"] = PSBrowseWrap; module.exports = exports.default;