UNPKG

8.44 kBJavaScriptView Raw
1"use strict";
2
3function _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); }
4
5require("core-js/modules/es.symbol.js");
6
7require("core-js/modules/es.symbol.description.js");
8
9require("core-js/modules/es.object.to-string.js");
10
11require("core-js/modules/es.symbol.iterator.js");
12
13require("core-js/modules/es.string.iterator.js");
14
15require("core-js/modules/es.array.iterator.js");
16
17require("core-js/modules/web.dom-collections.iterator.js");
18
19require("core-js/modules/es.array.slice.js");
20
21require("core-js/modules/es.function.name.js");
22
23require("core-js/modules/es.array.from.js");
24
25require("core-js/modules/es.weak-map.js");
26
27require("core-js/modules/es.object.get-own-property-descriptor.js");
28
29Object.defineProperty(exports, "__esModule", {
30 value: true
31});
32exports.PureReleaseNotesScreen = exports.ReleaseNotesScreen = void 0;
33
34require("core-js/modules/es.string.split.js");
35
36require("core-js/modules/es.regexp.exec.js");
37
38require("core-js/modules/es.array.concat.js");
39
40require("core-js/modules/es.object.assign.js");
41
42var _react = _interopRequireWildcard(require("react"));
43
44var _theming = require("@storybook/theming");
45
46var _components = require("@storybook/components");
47
48function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
49
50function _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; }
51
52function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
53
54function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
55
56function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
57
58function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
59
60function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; 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; }
61
62function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
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 Centered = _theming.styled.div({
67 top: '50%',
68 position: 'absolute',
69 transform: 'translateY(-50%)',
70 width: '100%',
71 textAlign: 'center'
72});
73
74var LoaderWrapper = _theming.styled.div({
75 position: 'relative',
76 height: '32px'
77});
78
79var Message = _theming.styled.div(function (_ref) {
80 var theme = _ref.theme;
81 return {
82 paddingTop: '12px',
83 color: theme.color.mediumdark,
84 maxWidth: '295px',
85 margin: '0 auto',
86 fontSize: "".concat(theme.typography.size.s1, "px"),
87 lineHeight: "16px"
88 };
89});
90
91var Iframe = _theming.styled.iframe({
92 position: 'absolute',
93 top: 0,
94 left: 0,
95 right: 0,
96 bottom: 0,
97 border: 0,
98 margin: 0,
99 padding: 0,
100 width: '100%',
101 height: '100%'
102}, function (_ref2) {
103 var isLoaded = _ref2.isLoaded;
104 return {
105 visibility: isLoaded ? 'visible' : 'hidden'
106 };
107});
108
109var AlertIcon = (0, _theming.styled)(function (props) {
110 return /*#__PURE__*/_react.default.createElement(_components.Icons, _extends({
111 icon: "alert"
112 }, props));
113})(function (_ref3) {
114 var theme = _ref3.theme;
115 return {
116 color: theme.color.mediumdark,
117 width: 40,
118 margin: '0 auto'
119 };
120});
121
122var getIframeUrl = function getIframeUrl(version) {
123 var _version$split = version.split('.'),
124 _version$split2 = _slicedToArray(_version$split, 2),
125 major = _version$split2[0],
126 minor = _version$split2[1];
127
128 return "https://storybook.js.org/releases/iframe/".concat(major, ".").concat(minor);
129};
130
131var ReleaseNotesLoader = function ReleaseNotesLoader() {
132 return /*#__PURE__*/_react.default.createElement(Centered, null, /*#__PURE__*/_react.default.createElement(LoaderWrapper, null, /*#__PURE__*/_react.default.createElement(_components.Loader, null)), /*#__PURE__*/_react.default.createElement(Message, null, "Loading release notes"));
133};
134
135ReleaseNotesLoader.displayName = "ReleaseNotesLoader";
136
137var MaxWaitTimeMessaging = function MaxWaitTimeMessaging() {
138 return /*#__PURE__*/_react.default.createElement(Centered, null, /*#__PURE__*/_react.default.createElement(AlertIcon, null), /*#__PURE__*/_react.default.createElement(Message, null, "The release notes couldn't be loaded. Check your internet connection and try again."));
139};
140
141MaxWaitTimeMessaging.displayName = "MaxWaitTimeMessaging";
142
143var PureReleaseNotesScreen = function PureReleaseNotesScreen(_ref4) {
144 var didHitMaxWaitTime = _ref4.didHitMaxWaitTime,
145 isLoaded = _ref4.isLoaded,
146 setLoaded = _ref4.setLoaded,
147 version = _ref4.version;
148 return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, !isLoaded && !didHitMaxWaitTime && /*#__PURE__*/_react.default.createElement(ReleaseNotesLoader, null), didHitMaxWaitTime ? /*#__PURE__*/_react.default.createElement(MaxWaitTimeMessaging, null) : /*#__PURE__*/_react.default.createElement(Iframe, {
149 isLoaded: isLoaded,
150 onLoad: function onLoad() {
151 return setLoaded(true);
152 },
153 src: getIframeUrl(version),
154 title: "Release notes for Storybook version ".concat(version)
155 }));
156};
157
158exports.PureReleaseNotesScreen = PureReleaseNotesScreen;
159PureReleaseNotesScreen.displayName = "PureReleaseNotesScreen";
160var MAX_WAIT_TIME = 10000; // 10 seconds
161
162var ReleaseNotesScreen = function ReleaseNotesScreen(_ref5) {
163 var version = _ref5.version;
164
165 var _useState = (0, _react.useState)(false),
166 _useState2 = _slicedToArray(_useState, 2),
167 isLoaded = _useState2[0],
168 setLoaded = _useState2[1];
169
170 var _useState3 = (0, _react.useState)(false),
171 _useState4 = _slicedToArray(_useState3, 2),
172 didHitMaxWaitTime = _useState4[0],
173 setDidHitMaxWaitTime = _useState4[1];
174
175 (0, _react.useEffect)(function () {
176 var timer = setTimeout(function () {
177 return !isLoaded && setDidHitMaxWaitTime(true);
178 }, MAX_WAIT_TIME);
179 return function () {
180 return clearTimeout(timer);
181 };
182 }, [isLoaded]);
183 return /*#__PURE__*/_react.default.createElement(PureReleaseNotesScreen, {
184 didHitMaxWaitTime: didHitMaxWaitTime,
185 isLoaded: isLoaded,
186 setLoaded: setLoaded,
187 version: version
188 });
189};
190
191exports.ReleaseNotesScreen = ReleaseNotesScreen;
192ReleaseNotesScreen.displayName = "ReleaseNotesScreen";
\No newline at end of file