UNPKG

styled-components-devtools

Version:

88 lines (69 loc) 9.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var React = _interopRequireWildcard(require("react")); var _styledComponentsDevtoolsMessaging = require("styled-components-devtools-messaging"); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } var originalTheme; var withDevtools = function withDevtools(Component) { var Wrapper = function Wrapper(props) { originalTheme = props.theme; var _React$useState = React.useState(props.theme), _React$useState2 = _slicedToArray(_React$useState, 2), theme = _React$useState2[0], setTheme = _React$useState2[1]; React.useEffect(function () { var onChromeExtMsg = function onChromeExtMsg(event) { if (event.source != window) { return; } var eventData = event.data; if (eventData.type == _styledComponentsDevtoolsMessaging.PLUGIN_EVENT_TYPE) { switch (eventData.topic) { case _styledComponentsDevtoolsMessaging.RESET: setTheme(originalTheme); window.postMessage({ type: _styledComponentsDevtoolsMessaging.PLUGIN_EVENT_TYPE, topic: _styledComponentsDevtoolsMessaging.THEME, payload: originalTheme }, '*'); break; case _styledComponentsDevtoolsMessaging.FETCH_THEME: window.postMessage({ type: _styledComponentsDevtoolsMessaging.PLUGIN_EVENT_TYPE, topic: _styledComponentsDevtoolsMessaging.THEME, payload: theme }, '*'); break; case _styledComponentsDevtoolsMessaging.PUSH_THEME: setTheme(eventData.payload); window.postMessage({ type: _styledComponentsDevtoolsMessaging.PLUGIN_EVENT_TYPE, topic: _styledComponentsDevtoolsMessaging.THEME, payload: eventData.payload }, '*'); break; } } }; window.addEventListener('message', onChromeExtMsg); return function () { return window.removeEventListener('message', onChromeExtMsg); }; }); return React.createElement(Component, { theme: theme }, props.children); }; Wrapper.displayName = "withDevtools(".concat(Component.displayName, ")"); return Wrapper; }; var _default = withDevtools; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRGV2dG9vbHMvaW5kZXgudHN4Il0sIm5hbWVzIjpbIm9yaWdpbmFsVGhlbWUiLCJ3aXRoRGV2dG9vbHMiLCJDb21wb25lbnQiLCJXcmFwcGVyIiwicHJvcHMiLCJ0aGVtZSIsIlJlYWN0IiwidXNlU3RhdGUiLCJzZXRUaGVtZSIsInVzZUVmZmVjdCIsIm9uQ2hyb21lRXh0TXNnIiwiZXZlbnQiLCJzb3VyY2UiLCJ3aW5kb3ciLCJldmVudERhdGEiLCJkYXRhIiwidHlwZSIsIlBMVUdJTl9FVkVOVF9UWVBFIiwidG9waWMiLCJSRVNFVCIsInBvc3RNZXNzYWdlIiwiVEhFTUUiLCJwYXlsb2FkIiwiRkVUQ0hfVEhFTUUiLCJQVVNIX1RIRU1FIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjaGlsZHJlbiIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7Ozs7Ozs7Ozs7OztBQVNBLElBQUlBLGFBQUo7O0FBRUEsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBbUJDLFNBQW5CLEVBQTZFO0FBQ2hHLE1BQU1DLE9BQW9ELEdBQUcsU0FBdkRBLE9BQXVELENBQUFDLEtBQUssRUFBSTtBQUNwRUosSUFBQUEsYUFBYSxHQUFHSSxLQUFLLENBQUNDLEtBQXRCOztBQURvRSwwQkFFMUNDLEtBQUssQ0FBQ0MsUUFBTixDQUFlSCxLQUFLLENBQUNDLEtBQXJCLENBRjBDO0FBQUE7QUFBQSxRQUU3REEsS0FGNkQ7QUFBQSxRQUV0REcsUUFGc0Q7O0FBSXBFRixJQUFBQSxLQUFLLENBQUNHLFNBQU4sQ0FBZ0IsWUFBTTtBQUNwQixVQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLEtBQUQsRUFBeUI7QUFDOUMsWUFBSUEsS0FBSyxDQUFDQyxNQUFOLElBQWdCQyxNQUFwQixFQUE0QjtBQUMxQjtBQUNEOztBQUNELFlBQU1DLFNBQVMsR0FBR0gsS0FBSyxDQUFDSSxJQUF4Qjs7QUFDQSxZQUFJRCxTQUFTLENBQUNFLElBQVYsSUFBa0JDLG9EQUF0QixFQUF5QztBQUN2QyxrQkFBUUgsU0FBUyxDQUFDSSxLQUFsQjtBQUNFLGlCQUFLQyx3Q0FBTDtBQUNFWCxjQUFBQSxRQUFRLENBQUNSLGFBQUQsQ0FBUjtBQUNBYSxjQUFBQSxNQUFNLENBQUNPLFdBQVAsQ0FDRTtBQUNFSixnQkFBQUEsSUFBSSxFQUFFQyxvREFEUjtBQUVFQyxnQkFBQUEsS0FBSyxFQUFFRyx3Q0FGVDtBQUdFQyxnQkFBQUEsT0FBTyxFQUFFdEI7QUFIWCxlQURGLEVBTUUsR0FORjtBQVFBOztBQUNGLGlCQUFLdUIsOENBQUw7QUFDRVYsY0FBQUEsTUFBTSxDQUFDTyxXQUFQLENBQ0U7QUFDRUosZ0JBQUFBLElBQUksRUFBRUMsb0RBRFI7QUFFRUMsZ0JBQUFBLEtBQUssRUFBRUcsd0NBRlQ7QUFHRUMsZ0JBQUFBLE9BQU8sRUFBRWpCO0FBSFgsZUFERixFQU1FLEdBTkY7QUFRQTs7QUFDRixpQkFBS21CLDZDQUFMO0FBQ0VoQixjQUFBQSxRQUFRLENBQUNNLFNBQVMsQ0FBQ1EsT0FBWCxDQUFSO0FBQ0FULGNBQUFBLE1BQU0sQ0FBQ08sV0FBUCxDQUNFO0FBQ0VKLGdCQUFBQSxJQUFJLEVBQUVDLG9EQURSO0FBRUVDLGdCQUFBQSxLQUFLLEVBQUVHLHdDQUZUO0FBR0VDLGdCQUFBQSxPQUFPLEVBQUVSLFNBQVMsQ0FBQ1E7QUFIckIsZUFERixFQU1FLEdBTkY7QUFRQTtBQWhDSjtBQWtDRDtBQUNGLE9BekNEOztBQTJDQVQsTUFBQUEsTUFBTSxDQUFDWSxnQkFBUCxDQUF3QixTQUF4QixFQUFtQ2YsY0FBbkM7QUFFQSxhQUFPO0FBQUEsZUFBTUcsTUFBTSxDQUFDYSxtQkFBUCxDQUEyQixTQUEzQixFQUFzQ2hCLGNBQXRDLENBQU47QUFBQSxPQUFQO0FBQ0QsS0EvQ0Q7QUFpREEsV0FBTyxvQkFBQyxTQUFEO0FBQVcsTUFBQSxLQUFLLEVBQUVMO0FBQWxCLE9BQTBCRCxLQUFLLENBQUN1QixRQUFoQyxDQUFQO0FBQ0QsR0F0REQ7O0FBd0RBeEIsRUFBQUEsT0FBTyxDQUFDeUIsV0FBUiwwQkFBc0MxQixTQUFTLENBQUMwQixXQUFoRDtBQUVBLFNBQU96QixPQUFQO0FBQ0QsQ0E1REQ7O2VBOERlRixZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBQTFVHSU5fRVZFTlRfVFlQRSwgRkVUQ0hfVEhFTUUsIFBVU0hfVEhFTUUsIFRIRU1FLCBSRVNFVCB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzLWRldnRvb2xzLW1lc3NhZ2luZyc7XHJcblxyXG50eXBlIEFueUlmRW1wdHk8VCBleHRlbmRzIG9iamVjdD4gPSBrZXlvZiBUIGV4dGVuZHMgbmV2ZXIgPyBhbnkgOiBUO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaGVtZVByb3ZpZGVyUHJvcHM8VCBleHRlbmRzIG9iamVjdD4ge1xyXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3RDaGlsZDtcclxuICB0aGVtZTogVDtcclxufVxyXG5cclxubGV0IG9yaWdpbmFsVGhlbWU6IGFueTtcclxuXHJcbmNvbnN0IHdpdGhEZXZ0b29scyA9IDxUIGV4dGVuZHMgb2JqZWN0PihDb21wb25lbnQ6IFJlYWN0LkNvbXBvbmVudFR5cGU8VGhlbWVQcm92aWRlclByb3BzPFQ+PikgPT4ge1xyXG4gIGNvbnN0IFdyYXBwZXI6IFJlYWN0LkZDPFRoZW1lUHJvdmlkZXJQcm9wczxBbnlJZkVtcHR5PFQ+Pj4gPSBwcm9wcyA9PiB7XHJcbiAgICBvcmlnaW5hbFRoZW1lID0gcHJvcHMudGhlbWU7XHJcbiAgICBjb25zdCBbdGhlbWUsIHNldFRoZW1lXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLnRoZW1lKTtcclxuXHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICBjb25zdCBvbkNocm9tZUV4dE1zZyA9IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnNvdXJjZSAhPSB3aW5kb3cpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZXZlbnREYXRhID0gZXZlbnQuZGF0YTtcclxuICAgICAgICBpZiAoZXZlbnREYXRhLnR5cGUgPT0gUExVR0lOX0VWRU5UX1RZUEUpIHtcclxuICAgICAgICAgIHN3aXRjaCAoZXZlbnREYXRhLnRvcGljKSB7XHJcbiAgICAgICAgICAgIGNhc2UgUkVTRVQ6XHJcbiAgICAgICAgICAgICAgc2V0VGhlbWUob3JpZ2luYWxUaGVtZSk7XHJcbiAgICAgICAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICB0eXBlOiBQTFVHSU5fRVZFTlRfVFlQRSxcclxuICAgICAgICAgICAgICAgICAgdG9waWM6IFRIRU1FLFxyXG4gICAgICAgICAgICAgICAgICBwYXlsb2FkOiBvcmlnaW5hbFRoZW1lLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICcqJ1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgRkVUQ0hfVEhFTUU6XHJcbiAgICAgICAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICB0eXBlOiBQTFVHSU5fRVZFTlRfVFlQRSxcclxuICAgICAgICAgICAgICAgICAgdG9waWM6IFRIRU1FLFxyXG4gICAgICAgICAgICAgICAgICBwYXlsb2FkOiB0aGVtZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAnKidcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFBVU0hfVEhFTUU6XHJcbiAgICAgICAgICAgICAgc2V0VGhlbWUoZXZlbnREYXRhLnBheWxvYWQpO1xyXG4gICAgICAgICAgICAgIHdpbmRvdy5wb3N0TWVzc2FnZShcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgdHlwZTogUExVR0lOX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgICAgICAgICAgIHRvcGljOiBUSEVNRSxcclxuICAgICAgICAgICAgICAgICAgcGF5bG9hZDogZXZlbnREYXRhLnBheWxvYWQsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgJyonXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uQ2hyb21lRXh0TXNnKTtcclxuXHJcbiAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uQ2hyb21lRXh0TXNnKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiA8Q29tcG9uZW50IHRoZW1lPXt0aGVtZX0+e3Byb3BzLmNoaWxkcmVufTwvQ29tcG9uZW50PjtcclxuICB9O1xyXG5cclxuICBXcmFwcGVyLmRpc3BsYXlOYW1lID0gYHdpdGhEZXZ0b29scygke0NvbXBvbmVudC5kaXNwbGF5TmFtZX0pYDtcclxuXHJcbiAgcmV0dXJuIFdyYXBwZXI7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCB3aXRoRGV2dG9vbHM7XHJcbiJdfQ==