styled-components-devtools
Version:
88 lines (69 loc) • 9.43 kB
JavaScript
;
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==