UNPKG

6.42 kBJavaScriptView Raw
1"use strict";
2
3require("core-js/modules/es.symbol.js");
4
5require("core-js/modules/es.symbol.description.js");
6
7require("core-js/modules/es.object.to-string.js");
8
9require("core-js/modules/es.symbol.iterator.js");
10
11require("core-js/modules/es.string.iterator.js");
12
13require("core-js/modules/es.array.iterator.js");
14
15require("core-js/modules/web.dom-collections.iterator.js");
16
17require("core-js/modules/es.weak-map.js");
18
19require("core-js/modules/es.object.get-own-property-descriptor.js");
20
21Object.defineProperty(exports, "__esModule", {
22 value: true
23});
24exports.default = void 0;
25
26require("core-js/modules/es.object.is.js");
27
28require("core-js/modules/es.object.keys.js");
29
30require("core-js/modules/es.object.assign.js");
31
32var _react = _interopRequireWildcard(require("react"));
33
34var _reactSizeme = _interopRequireDefault(require("react-sizeme"));
35
36var _components = require("@storybook/components");
37
38var _router = require("@storybook/router");
39
40var _theming = require("@storybook/theming");
41
42var _mobile = require("./components/layout/mobile");
43
44var _desktop = require("./components/layout/desktop");
45
46var _sidebar = _interopRequireDefault(require("./containers/sidebar"));
47
48var _preview = _interopRequireDefault(require("./containers/preview"));
49
50var _panel = _interopRequireDefault(require("./containers/panel"));
51
52var _notifications = _interopRequireDefault(require("./containers/notifications"));
53
54var _settings = _interopRequireDefault(require("./settings"));
55
56function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
57
58function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
59
60function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
61
62function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
63
64function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
65
66var View = _theming.styled.div({
67 position: 'fixed',
68 overflow: 'hidden',
69 height: '100vh',
70 width: '100vw'
71});
72
73var App = /*#__PURE__*/_react.default.memo(function (_ref) {
74 var viewMode = _ref.viewMode,
75 docsOnly = _ref.docsOnly,
76 layout = _ref.layout,
77 panelCount = _ref.panelCount,
78 _ref$size = _ref.size,
79 width = _ref$size.width,
80 height = _ref$size.height;
81 var content;
82 var props = (0, _react.useMemo)(function () {
83 return {
84 Sidebar: _sidebar.default,
85 Preview: _preview.default,
86 Panel: _panel.default,
87 Notifications: _notifications.default,
88 pages: [{
89 key: 'settings',
90 render: function render() {
91 return /*#__PURE__*/_react.default.createElement(_settings.default, null);
92 },
93 route: function (_ref2) {
94 var children = _ref2.children;
95 return /*#__PURE__*/_react.default.createElement(_router.Route, {
96 path: "/settings",
97 startsWith: true
98 }, children);
99 }
100 }]
101 };
102 }, []);
103
104 if (!width || !height) {
105 content = /*#__PURE__*/_react.default.createElement("div", null);
106 } else if (width < 600) {
107 content = /*#__PURE__*/_react.default.createElement(_mobile.Mobile, _extends({}, props, {
108 viewMode: viewMode,
109 options: layout,
110 docsOnly: docsOnly
111 }));
112 } else {
113 content = /*#__PURE__*/_react.default.createElement(_desktop.Desktop, _extends({}, props, {
114 viewMode: viewMode,
115 options: layout,
116 docsOnly: docsOnly,
117 width: width,
118 height: height,
119 panelCount: panelCount
120 }));
121 }
122
123 return /*#__PURE__*/_react.default.createElement(View, null, /*#__PURE__*/_react.default.createElement(_theming.Global, {
124 styles: _theming.createGlobal
125 }), /*#__PURE__*/_react.default.createElement(_components.Symbols, {
126 icons: ['folder', 'component', 'document', 'bookmarkhollow']
127 }), content);
128}, // This is the default shallowEqual implementation, but with custom behavior for the `size` prop.
129function (prevProps, nextProps) {
130 if (Object.is(prevProps, nextProps)) return true;
131 if (_typeof(prevProps) !== 'object' || prevProps === null) return false;
132 if (_typeof(nextProps) !== 'object' || nextProps === null) return false;
133 var keysA = Object.keys(prevProps);
134 var keysB = Object.keys(nextProps);
135 if (keysA.length !== keysB.length) return false; // eslint-disable-next-line no-restricted-syntax
136
137 for (var _i = 0, _keysA = keysA; _i < _keysA.length; _i++) {
138 var key = _keysA[_i];
139
140 if (key === 'size') {
141 // SizeMe injects a new `size` object every time, even if the width/height doesn't change,
142 // so we chech that one manually.
143 if (prevProps[key].width !== nextProps[key].width) return false;
144 if (prevProps[key].height !== nextProps[key].height) return false;
145 } else {
146 if (!Object.prototype.hasOwnProperty.call(nextProps, key)) return false;
147 if (!Object.is(prevProps[key], nextProps[key])) return false;
148 }
149 }
150
151 return true;
152});
153
154var SizedApp = (0, _reactSizeme.default)({
155 monitorHeight: true
156})(App);
157App.displayName = 'App';
158var _default = SizedApp;
159exports.default = _default;
\No newline at end of file