@storybook/api
Advanced tools
Comparing version 5.1.0-alpha.20 to 5.1.0-alpha.21
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.createContext = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var createContext = function createContext(_ref) { | ||
var api = _ref.api, | ||
state = _ref.state; | ||
return _react.default.createContext({ | ||
api: api, | ||
state: state | ||
}); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var react_1 = __importDefault(require("react")); | ||
exports.createContext = function (_a) { | ||
var api = _a.api, state = _a.state; | ||
return react_1.default.createContext({ api: api, state: state }); | ||
}; | ||
exports.createContext = createContext; |
"use strict"; | ||
var __extends = (this && this.__extends) || (function () { | ||
var extendStatics = function (d, b) { | ||
extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return extendStatics(d, b); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.useStorybookState = useStorybookState; | ||
exports.Provider = exports.Consumer = void 0; | ||
require("core-js/modules/es6.array.filter"); | ||
require("core-js/modules/es6.array.index-of"); | ||
require("core-js/modules/es6.array.iterator"); | ||
require("core-js/modules/es6.object.keys"); | ||
require("core-js/modules/es6.string.iterator"); | ||
require("core-js/modules/es6.array.from"); | ||
require("core-js/modules/es6.regexp.to-string"); | ||
require("core-js/modules/es6.date.to-string"); | ||
require("core-js/modules/es6.object.to-string"); | ||
require("core-js/modules/es7.symbol.async-iterator"); | ||
require("core-js/modules/es6.symbol"); | ||
require("core-js/modules/web.dom.iterable"); | ||
require("core-js/modules/es6.array.is-array"); | ||
require("core-js/modules/es6.object.define-property"); | ||
require("core-js/modules/es6.object.create"); | ||
require("core-js/modules/es6.object.set-prototype-of"); | ||
require("core-js/modules/es6.array.for-each"); | ||
require("core-js/modules/es6.object.assign"); | ||
require("core-js/modules/es6.array.map"); | ||
var _react = _interopRequireWildcard(require("react")); | ||
var _memoizerific = _interopRequireDefault(require("memoizerific")); | ||
var _coreEvents = _interopRequireDefault(require("@storybook/core-events")); | ||
var _initProviderApi = _interopRequireDefault(require("./init-provider-api")); | ||
var _context = require("./context"); | ||
var _store = _interopRequireDefault(require("./store")); | ||
var _initialState = _interopRequireDefault(require("./initial-state")); | ||
var _addons = _interopRequireDefault(require("./modules/addons")); | ||
var _channel = _interopRequireDefault(require("./modules/channel")); | ||
var _notifications = _interopRequireDefault(require("./modules/notifications")); | ||
var _stories = _interopRequireDefault(require("./modules/stories")); | ||
var _layout = _interopRequireDefault(require("./modules/layout")); | ||
var _shortcuts = _interopRequireDefault(require("./modules/shortcuts")); | ||
var _url = _interopRequireDefault(require("./modules/url")); | ||
var _versions = _interopRequireDefault(require("./modules/versions")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
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 _typeof(obj) { 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); } | ||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } | ||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } | ||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } | ||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } | ||
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } | ||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } | ||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } | ||
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } | ||
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } | ||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } | ||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } | ||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } | ||
var ManagerContext = (0, _context.createContext)({ | ||
api: undefined, | ||
state: (0, _initialState.default)({}) | ||
}); | ||
var STORY_CHANGED = _coreEvents.default.STORY_CHANGED, | ||
SET_STORIES = _coreEvents.default.SET_STORIES, | ||
SELECT_STORY = _coreEvents.default.SELECT_STORY; | ||
var ManagerProvider = | ||
/*#__PURE__*/ | ||
function (_Component) { | ||
_inherits(ManagerProvider, _Component); | ||
function ManagerProvider(props) { | ||
var _this; | ||
_classCallCheck(this, ManagerProvider); | ||
_this = _possibleConstructorReturn(this, _getPrototypeOf(ManagerProvider).call(this, props)); | ||
_this.api = void 0; | ||
_this.modules = void 0; | ||
var provider = props.provider, | ||
location = props.location, | ||
path = props.path, | ||
viewMode = props.viewMode, | ||
storyId = props.storyId, | ||
navigate = props.navigate; | ||
var store = new _store.default({ | ||
getState: function getState() { | ||
return _this.state; | ||
}, | ||
setState: function setState(stateChange, callback) { | ||
return _this.setState(stateChange, callback); | ||
} | ||
}); // Initialize the state to be the initial (persisted) state of the store. | ||
// This gives the modules the chance to read the persisted state, apply their defaults | ||
// and override if necessary | ||
_this.state = store.getInitialState((0, _initialState.default)({})); | ||
var apiData = { | ||
navigate: navigate, | ||
store: store, | ||
provider: provider, | ||
location: location, | ||
path: path, | ||
viewMode: viewMode, | ||
storyId: storyId | ||
}; | ||
return function (d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
}; | ||
})(); | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
_this.modules = [_channel.default, _addons.default, _layout.default, _notifications.default, _shortcuts.default, _stories.default, _url.default, _versions.default].map(function (initModule) { | ||
return initModule(apiData); | ||
}); // Create our initial state by combining the initial state of all modules, then overlaying any saved state | ||
var state = _initialState.default.apply(void 0, _toConsumableArray(_this.modules.map(function (m) { | ||
return m.state; | ||
}))); // Get our API by combining the APIs exported by each module | ||
var combo = Object.assign.apply(Object, [{ | ||
navigate: navigate | ||
}].concat(_toConsumableArray(_this.modules.map(function (m) { | ||
return m.api; | ||
})))); | ||
var api = (0, _initProviderApi.default)({ | ||
provider: provider, | ||
store: store, | ||
api: combo | ||
}); | ||
api.on(STORY_CHANGED, function (id) { | ||
var options = api.getParameters(id, 'options'); | ||
if (options) { | ||
api.setOptions(options); | ||
} | ||
}); | ||
api.on(SET_STORIES, function (data) { | ||
api.setStories(data.stories); | ||
}); | ||
api.on(SELECT_STORY, function (_ref) { | ||
var kind = _ref.kind, | ||
story = _ref.story, | ||
rest = _objectWithoutProperties(_ref, ["kind", "story"]); | ||
api.selectStory(kind, story, rest); | ||
}); | ||
_this.state = state; | ||
_this.api = api; | ||
return _this; | ||
} | ||
_createClass(ManagerProvider, [{ | ||
key: "componentDidMount", | ||
value: function componentDidMount() { | ||
var _this2 = this; | ||
// Now every module has had a chance to set its API, call init on each module which gives it | ||
// a chance to do things that call other modules' APIs. | ||
this.modules.forEach(function (_ref2) { | ||
var init = _ref2.init; | ||
if (init) { | ||
init({ | ||
api: _this2.api | ||
}); | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
var __rest = (this && this.__rest) || function (s, e) { | ||
var t = {}; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) | ||
t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") | ||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) | ||
t[p[i]] = s[p[i]]; | ||
return t; | ||
}; | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; | ||
result["default"] = mod; | ||
return result; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var react_1 = __importStar(require("react")); | ||
var memoizerific_1 = __importDefault(require("memoizerific")); | ||
var core_events_1 = __importDefault(require("@storybook/core-events")); | ||
var init_provider_api_1 = __importDefault(require("./init-provider-api")); | ||
var context_1 = require("./context"); | ||
var store_1 = __importDefault(require("./store")); | ||
var initial_state_1 = __importDefault(require("./initial-state")); | ||
var addons_1 = __importDefault(require("./modules/addons")); | ||
var channel_1 = __importDefault(require("./modules/channel")); | ||
var notifications_1 = __importDefault(require("./modules/notifications")); | ||
var stories_1 = __importDefault(require("./modules/stories")); | ||
var layout_1 = __importDefault(require("./modules/layout")); | ||
var shortcuts_1 = __importDefault(require("./modules/shortcuts")); | ||
var url_1 = __importDefault(require("./modules/url")); | ||
var versions_1 = __importDefault(require("./modules/versions")); | ||
var ManagerContext = context_1.createContext({ api: undefined, state: initial_state_1.default({}) }); | ||
var STORY_CHANGED = core_events_1.default.STORY_CHANGED, SET_STORIES = core_events_1.default.SET_STORIES, SELECT_STORY = core_events_1.default.SELECT_STORY; | ||
var ManagerProvider = /** @class */ (function (_super) { | ||
__extends(ManagerProvider, _super); | ||
function ManagerProvider(props) { | ||
var _this = _super.call(this, props) || this; | ||
var provider = props.provider, location = props.location, path = props.path, viewMode = props.viewMode, storyId = props.storyId, navigate = props.navigate; | ||
var store = new store_1.default({ | ||
getState: function () { return _this.state; }, | ||
setState: function (stateChange, callback) { return _this.setState(stateChange, callback); }, | ||
}); | ||
// Initialize the state to be the initial (persisted) state of the store. | ||
// This gives the modules the chance to read the persisted state, apply their defaults | ||
// and override if necessary | ||
_this.state = store.getInitialState(initial_state_1.default({})); | ||
var apiData = { | ||
navigate: navigate, | ||
store: store, | ||
provider: provider, | ||
location: location, | ||
path: path, | ||
viewMode: viewMode, | ||
storyId: storyId, | ||
}; | ||
_this.modules = [ | ||
channel_1.default, | ||
addons_1.default, | ||
layout_1.default, | ||
notifications_1.default, | ||
shortcuts_1.default, | ||
stories_1.default, | ||
url_1.default, | ||
versions_1.default, | ||
].map(function (initModule) { return initModule(apiData); }); | ||
// Create our initial state by combining the initial state of all modules, then overlaying any saved state | ||
var state = initial_state_1.default.apply(void 0, _this.modules.map(function (m) { return m.state; })); | ||
// Get our API by combining the APIs exported by each module | ||
var combo = Object.assign.apply(Object, [{ navigate: navigate }].concat(_this.modules.map(function (m) { return m.api; }))); | ||
var api = init_provider_api_1.default({ provider: provider, store: store, api: combo }); | ||
api.on(STORY_CHANGED, function (id) { | ||
var options = api.getParameters(id, 'options'); | ||
if (options) { | ||
api.setOptions(options); | ||
} | ||
}); | ||
api.on(SET_STORIES, function (data) { | ||
api.setStories(data.stories); | ||
}); | ||
api.on(SELECT_STORY, function (_a) { | ||
var kind = _a.kind, story = _a.story, rest = __rest(_a, ["kind", "story"]); | ||
api.selectStory(kind, story, rest); | ||
}); | ||
_this.state = state; | ||
_this.api = api; | ||
return _this; | ||
}); | ||
} | ||
ManagerProvider.prototype.componentDidMount = function () { | ||
var _this = this; | ||
// Now every module has had a chance to set its API, call init on each module which gives it | ||
// a chance to do things that call other modules' APIs. | ||
this.modules.forEach(function (_a) { | ||
var init = _a.init; | ||
if (init) { | ||
init({ api: _this.api }); | ||
} | ||
}); | ||
}; | ||
ManagerProvider.prototype.shouldComponentUpdate = function (nextProps, nextState) { | ||
var prevState = this.state; | ||
var prevProps = this.props; | ||
if (prevState !== nextState) { | ||
return true; | ||
} | ||
if (prevProps.path !== nextProps.path) { | ||
return true; | ||
} | ||
return false; | ||
}; | ||
ManagerProvider.prototype.render = function () { | ||
var children = this.props.children; | ||
var value = { | ||
state: this.state, | ||
api: this.api, | ||
}; | ||
return (react_1.default.createElement(ManagerContext.Provider, { value: value }, typeof children === 'function' ? children(value) : children)); | ||
}; | ||
ManagerProvider.displayName = 'Manager'; | ||
ManagerProvider.getDerivedStateFromProps = function (props, state) { | ||
if (state.path !== props.path) { | ||
return __assign({}, state, { location: props.location, path: props.path, viewMode: props.viewMode, storyId: props.storyId }); | ||
} | ||
return null; | ||
}; | ||
return ManagerProvider; | ||
}(react_1.Component)); | ||
}, { | ||
key: "shouldComponentUpdate", | ||
value: function shouldComponentUpdate(nextProps, nextState) { | ||
var prevState = this.state; | ||
var prevProps = this.props; | ||
if (prevState !== nextState) { | ||
return true; | ||
} | ||
if (prevProps.path !== nextProps.path) { | ||
return true; | ||
} | ||
return false; | ||
} | ||
}, { | ||
key: "render", | ||
value: function render() { | ||
var children = this.props.children; | ||
var value = { | ||
state: this.state, | ||
api: this.api | ||
}; | ||
return _react.default.createElement(ManagerContext.Provider, { | ||
value: value | ||
}, typeof children === 'function' ? children(value) : children); | ||
} | ||
}]); | ||
return ManagerProvider; | ||
}(_react.Component); | ||
exports.Provider = ManagerProvider; | ||
var ManagerConsumer = /** @class */ (function (_super) { | ||
__extends(ManagerConsumer, _super); | ||
function ManagerConsumer(props) { | ||
var _this = _super.call(this, props) || this; | ||
_this.dataMemory = props.filter ? memoizerific_1.default(10)(props.filter) : null; | ||
return _this; | ||
ManagerProvider.displayName = "ManagerProvider"; | ||
ManagerProvider.displayName = 'Manager'; | ||
ManagerProvider.getDerivedStateFromProps = function (props, state) { | ||
if (state.path !== props.path) { | ||
return Object.assign({}, state, { | ||
location: props.location, | ||
path: props.path, | ||
viewMode: props.viewMode, | ||
storyId: props.storyId | ||
}); | ||
} | ||
return null; | ||
}; | ||
var ManagerConsumer = | ||
/*#__PURE__*/ | ||
function (_Component2) { | ||
_inherits(ManagerConsumer, _Component2); | ||
function ManagerConsumer(props) { | ||
var _this3; | ||
_classCallCheck(this, ManagerConsumer); | ||
_this3 = _possibleConstructorReturn(this, _getPrototypeOf(ManagerConsumer).call(this, props)); | ||
_this3.dataMemory = void 0; | ||
_this3.dataMemory = props.filter ? (0, _memoizerific.default)(10)(props.filter) : null; | ||
return _this3; | ||
} | ||
_createClass(ManagerConsumer, [{ | ||
key: "render", | ||
value: function render() { | ||
var _this4 = this; | ||
var children = this.props.children; | ||
return _react.default.createElement(ManagerContext.Consumer, null, function (d) { | ||
var data = _this4.dataMemory ? _this4.dataMemory(d) : d; | ||
return children(data); | ||
}); | ||
} | ||
ManagerConsumer.prototype.render = function () { | ||
var _this = this; | ||
var children = this.props.children; | ||
return (react_1.default.createElement(ManagerContext.Consumer, null, function (d) { | ||
var data = _this.dataMemory ? _this.dataMemory(d) : d; | ||
return children(data); | ||
})); | ||
}; | ||
return ManagerConsumer; | ||
}(react_1.Component)); | ||
}]); | ||
return ManagerConsumer; | ||
}(_react.Component); | ||
exports.Consumer = ManagerConsumer; | ||
ManagerConsumer.displayName = "ManagerConsumer"; | ||
function useStorybookState() { | ||
var state = react_1.useContext(ManagerContext).state; | ||
return state; | ||
} | ||
exports.useStorybookState = useStorybookState; | ||
var _useContext = (0, _react.useContext)(ManagerContext), | ||
state = _useContext.state; | ||
return state; | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.default = (function (_a) { | ||
var provider = _a.provider, api = _a.api; | ||
provider.handleAPI(api); | ||
if (provider.renderPreview) { | ||
api.renderPreview = provider.renderPreview; | ||
} | ||
return api; | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
var _default = function _default(_ref) { | ||
var provider = _ref.provider, | ||
api = _ref.api; | ||
provider.handleAPI(api); | ||
if (provider.renderPreview) { | ||
api.renderPreview = provider.renderPreview; | ||
} | ||
return api; | ||
}; | ||
exports.default = _default; |
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var merge_1 = __importDefault(require("./lib/merge")); | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
require("core-js/modules/es6.array.reduce"); | ||
var _merge = _interopRequireDefault(require("./lib/merge")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
// Returns the initialState of the app | ||
var main = function () { | ||
var additions = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
additions[_i] = arguments[_i]; | ||
} | ||
return additions.reduce(function (acc, item) { return merge_1.default(acc, item); }, {}); | ||
var main = function main() { | ||
for (var _len = arguments.length, additions = new Array(_len), _key = 0; _key < _len; _key++) { | ||
additions[_key] = arguments[_key]; | ||
} | ||
return additions.reduce(function (acc, item) { | ||
return (0, _merge.default)(acc, item); | ||
}, {}); | ||
}; | ||
exports.default = main; | ||
var _default = main; | ||
exports.default = _default; |
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
require("core-js/modules/es6.array.find"); | ||
require("core-js/modules/es6.array.for-each"); | ||
require("core-js/modules/es6.array.is-array"); | ||
var _lodash = _interopRequireDefault(require("lodash.mergewith")); | ||
var _lodash2 = _interopRequireDefault(require("lodash.isequal")); | ||
var _clientLogger = require("@storybook/client-logger"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var _default = function _default(a, b) { | ||
return (0, _lodash.default)({}, a, b, function (objValue, srcValue) { | ||
if (Array.isArray(srcValue) && Array.isArray(objValue)) { | ||
srcValue.forEach(function (s) { | ||
var existing = objValue.find(function (o) { | ||
return o === s || (0, _lodash2.default)(o, s); | ||
}); | ||
if (!existing) { | ||
objValue.push(s); | ||
} | ||
}); | ||
return objValue; | ||
} | ||
if (Array.isArray(objValue)) { | ||
_clientLogger.logger.log(['the types mismatch, picking', objValue]); | ||
return objValue; | ||
} | ||
return undefined; | ||
}); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var lodash_mergewith_1 = __importDefault(require("lodash.mergewith")); | ||
var lodash_isequal_1 = __importDefault(require("lodash.isequal")); | ||
var client_logger_1 = require("@storybook/client-logger"); | ||
exports.default = (function (a, b) { | ||
return lodash_mergewith_1.default({}, a, b, function (objValue, srcValue) { | ||
if (Array.isArray(srcValue) && Array.isArray(objValue)) { | ||
srcValue.forEach(function (s) { | ||
var existing = objValue.find(function (o) { return o === s || lodash_isequal_1.default(o, s); }); | ||
if (!existing) { | ||
objValue.push(s); | ||
} | ||
}); | ||
return objValue; | ||
} | ||
if (Array.isArray(objValue)) { | ||
client_logger_1.logger.log(['the types mismatch, picking', objValue]); | ||
return objValue; | ||
} | ||
return undefined; | ||
}); | ||
}); | ||
exports.default = _default; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var global_1 = require("global"); | ||
exports.isMacLike = function () { | ||
return global_1.navigator && global_1.navigator.platform ? !!global_1.navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i) : false; | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.shortcutToHumanString = exports.keyToSymbol = exports.eventMatchesShortcut = exports.shortcutMatchesShortcut = exports.eventToShortcut = exports.isShortcutTaken = exports.optionOrAltSymbol = exports.controlOrMetaKey = exports.controlOrMetaSymbol = exports.isMacLike = void 0; | ||
require("core-js/modules/es6.array.map"); | ||
require("core-js/modules/es6.array.find"); | ||
require("core-js/modules/es7.array.includes"); | ||
require("core-js/modules/es6.string.includes"); | ||
require("core-js/modules/es6.regexp.match"); | ||
var _global = require("global"); | ||
var isMacLike = function isMacLike() { | ||
return _global.navigator && _global.navigator.platform ? !!_global.navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i) : false; | ||
}; | ||
exports.controlOrMetaSymbol = function () { return (exports.isMacLike() ? '⌘' : 'ctrl'); }; | ||
exports.controlOrMetaKey = function () { return (exports.isMacLike() ? 'meta' : 'control'); }; | ||
exports.optionOrAltSymbol = function () { return (exports.isMacLike() ? '⌥' : 'alt'); }; | ||
exports.isShortcutTaken = function (arr1, arr2) { | ||
return JSON.stringify(arr1) === JSON.stringify(arr2); | ||
exports.isMacLike = isMacLike; | ||
var controlOrMetaSymbol = function controlOrMetaSymbol() { | ||
return isMacLike() ? '⌘' : 'ctrl'; | ||
}; | ||
// Map a keyboard event to a keyboard shortcut | ||
// NOTE: if we change the fields on the event that we need, we'll need to update the serialization in core/preview/start.js | ||
exports.eventToShortcut = function (e) { | ||
// Meta key only doesn't map to a shortcut | ||
if (['Meta', 'Alt', 'Control', 'Shift'].includes(e.key)) { | ||
return null; | ||
} | ||
var keys = []; | ||
if (e.altKey) { | ||
keys.push('alt'); | ||
} | ||
if (e.ctrlKey) { | ||
keys.push('control'); | ||
} | ||
if (e.metaKey) { | ||
keys.push('meta'); | ||
} | ||
if (e.shiftKey) { | ||
keys.push('shift'); | ||
} | ||
if (e.key && e.key.length === 1 && e.key !== ' ') { | ||
keys.push(e.key.toUpperCase()); | ||
} | ||
if (e.key === ' ') { | ||
keys.push('space'); | ||
} | ||
if (e.key === 'Escape') { | ||
keys.push('escape'); | ||
} | ||
if (e.key === 'ArrowRight') { | ||
keys.push('ArrowRight'); | ||
} | ||
if (e.key === 'ArrowDown') { | ||
keys.push('ArrowDown'); | ||
} | ||
if (e.key === 'ArrowUp') { | ||
keys.push('ArrowUp'); | ||
} | ||
if (e.key === 'ArrowLeft') { | ||
keys.push('ArrowLeft'); | ||
} | ||
return keys.length > 0 ? keys : null; | ||
exports.controlOrMetaSymbol = controlOrMetaSymbol; | ||
var controlOrMetaKey = function controlOrMetaKey() { | ||
return isMacLike() ? 'meta' : 'control'; | ||
}; | ||
exports.shortcutMatchesShortcut = function (inputShortcut, shortcut) { | ||
return (inputShortcut && | ||
inputShortcut.length === shortcut.length && | ||
!inputShortcut.find(function (key, i) { return key !== shortcut[i]; })); | ||
exports.controlOrMetaKey = controlOrMetaKey; | ||
var optionOrAltSymbol = function optionOrAltSymbol() { | ||
return isMacLike() ? '⌥' : 'alt'; | ||
}; | ||
// Should this keyboard event trigger this keyboard shortcut? | ||
exports.eventMatchesShortcut = function (e, shortcut) { | ||
return exports.shortcutMatchesShortcut(exports.eventToShortcut(e), shortcut); | ||
exports.optionOrAltSymbol = optionOrAltSymbol; | ||
var isShortcutTaken = function isShortcutTaken(arr1, arr2) { | ||
return JSON.stringify(arr1) === JSON.stringify(arr2); | ||
}; // Map a keyboard event to a keyboard shortcut | ||
// NOTE: if we change the fields on the event that we need, we'll need to update the serialization in core/preview/start.js | ||
exports.isShortcutTaken = isShortcutTaken; | ||
var eventToShortcut = function eventToShortcut(e) { | ||
// Meta key only doesn't map to a shortcut | ||
if (['Meta', 'Alt', 'Control', 'Shift'].includes(e.key)) { | ||
return null; | ||
} | ||
var keys = []; | ||
if (e.altKey) { | ||
keys.push('alt'); | ||
} | ||
if (e.ctrlKey) { | ||
keys.push('control'); | ||
} | ||
if (e.metaKey) { | ||
keys.push('meta'); | ||
} | ||
if (e.shiftKey) { | ||
keys.push('shift'); | ||
} | ||
if (e.key && e.key.length === 1 && e.key !== ' ') { | ||
keys.push(e.key.toUpperCase()); | ||
} | ||
if (e.key === ' ') { | ||
keys.push('space'); | ||
} | ||
if (e.key === 'Escape') { | ||
keys.push('escape'); | ||
} | ||
if (e.key === 'ArrowRight') { | ||
keys.push('ArrowRight'); | ||
} | ||
if (e.key === 'ArrowDown') { | ||
keys.push('ArrowDown'); | ||
} | ||
if (e.key === 'ArrowUp') { | ||
keys.push('ArrowUp'); | ||
} | ||
if (e.key === 'ArrowLeft') { | ||
keys.push('ArrowLeft'); | ||
} | ||
return keys.length > 0 ? keys : null; | ||
}; | ||
exports.keyToSymbol = function (key) { | ||
if (key === 'alt') { | ||
return exports.optionOrAltSymbol(); | ||
} | ||
if (key === 'control') { | ||
return '⌃'; | ||
} | ||
if (key === 'meta') { | ||
return '⌘'; | ||
} | ||
if (key === 'shift') { | ||
return '⇧'; | ||
} | ||
if (key === 'Enter' || key === 'Backspace' || key === 'Esc') { | ||
return ''; | ||
} | ||
if (key === 'escape') { | ||
return ''; | ||
} | ||
if (key === ' ') { | ||
return 'SPACE'; | ||
} | ||
if (key === 'ArrowUp') { | ||
return '↑'; | ||
} | ||
if (key === 'ArrowDown') { | ||
return '↓'; | ||
} | ||
if (key === 'ArrowLeft') { | ||
return '←'; | ||
} | ||
if (key === 'ArrowRight') { | ||
return '→'; | ||
} | ||
return key.toUpperCase(); | ||
exports.eventToShortcut = eventToShortcut; | ||
var shortcutMatchesShortcut = function shortcutMatchesShortcut(inputShortcut, shortcut) { | ||
return inputShortcut && inputShortcut.length === shortcut.length && !inputShortcut.find(function (key, i) { | ||
return key !== shortcut[i]; | ||
}); | ||
}; // Should this keyboard event trigger this keyboard shortcut? | ||
exports.shortcutMatchesShortcut = shortcutMatchesShortcut; | ||
var eventMatchesShortcut = function eventMatchesShortcut(e, shortcut) { | ||
return shortcutMatchesShortcut(eventToShortcut(e), shortcut); | ||
}; | ||
// Display the shortcut as a human readable string | ||
exports.shortcutToHumanString = function (shortcut) { | ||
return shortcut.map(exports.keyToSymbol).join(' '); | ||
exports.eventMatchesShortcut = eventMatchesShortcut; | ||
var keyToSymbol = function keyToSymbol(key) { | ||
if (key === 'alt') { | ||
return optionOrAltSymbol(); | ||
} | ||
if (key === 'control') { | ||
return '⌃'; | ||
} | ||
if (key === 'meta') { | ||
return '⌘'; | ||
} | ||
if (key === 'shift') { | ||
return '⇧'; | ||
} | ||
if (key === 'Enter' || key === 'Backspace' || key === 'Esc') { | ||
return ''; | ||
} | ||
if (key === 'escape') { | ||
return ''; | ||
} | ||
if (key === ' ') { | ||
return 'SPACE'; | ||
} | ||
if (key === 'ArrowUp') { | ||
return '↑'; | ||
} | ||
if (key === 'ArrowDown') { | ||
return '↓'; | ||
} | ||
if (key === 'ArrowLeft') { | ||
return '←'; | ||
} | ||
if (key === 'ArrowRight') { | ||
return '→'; | ||
} | ||
return key.toUpperCase(); | ||
}; // Display the shortcut as a human readable string | ||
exports.keyToSymbol = keyToSymbol; | ||
var shortcutToHumanString = function shortcutToHumanString(shortcut) { | ||
return shortcut.map(keyToSymbol).join(' '); | ||
}; | ||
exports.shortcutToHumanString = shortcutToHumanString; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var telejson_1 = require("telejson"); | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
var _telejson = require("telejson"); | ||
// setting up the store, overriding set and get to use telejson | ||
exports.default = (function (_) { | ||
_.fn('set', function (key, data) { | ||
return _.set(this._area, this._in(key), telejson_1.stringify(data, { maxDepth: 50 })); | ||
}); | ||
_.fn('get', function (key, alt) { | ||
var value = _.get(this._area, this._in(key)); | ||
return value !== null ? telejson_1.parse(value) : alt || value; | ||
}); | ||
}); | ||
var _default = function _default(_) { | ||
_.fn('set', function (key, data) { | ||
return _.set(this._area, this._in(key), (0, _telejson.stringify)(data, { | ||
maxDepth: 50 | ||
})); | ||
}); | ||
_.fn('get', function (key, alt) { | ||
var value = _.get(this._area, this._in(key)); | ||
return value !== null ? (0, _telejson.parse)(value) : alt || value; | ||
}); | ||
}; | ||
exports.default = _default; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.ensurePanel = ensurePanel; | ||
exports.default = exports.types = void 0; | ||
require("core-js/modules/es6.array.index-of"); | ||
require("core-js/modules/web.dom.iterable"); | ||
require("core-js/modules/es6.array.iterator"); | ||
require("core-js/modules/es6.object.to-string"); | ||
require("core-js/modules/es6.object.keys"); | ||
var types; | ||
exports.types = types; | ||
(function (types) { | ||
types["TAB"] = "tab"; | ||
types["PANEL"] = "panel"; | ||
types["TOOL"] = "tool"; | ||
types["PREVIEW"] = "preview"; | ||
types["NOTES_ELEMENT"] = "notes-element"; | ||
})(types = exports.types || (exports.types = {})); | ||
types["TAB"] = "tab"; | ||
types["PANEL"] = "panel"; | ||
types["TOOL"] = "tool"; | ||
types["PREVIEW"] = "preview"; | ||
types["NOTES_ELEMENT"] = "notes-element"; | ||
})(types || (exports.types = types = {})); | ||
function ensurePanel(panels, selectedPanel, currentPanel) { | ||
var keys = Object.keys(panels); | ||
if (keys.indexOf(selectedPanel) >= 0) { | ||
return selectedPanel; | ||
var keys = Object.keys(panels); | ||
if (keys.indexOf(selectedPanel) >= 0) { | ||
return selectedPanel; | ||
} | ||
if (keys.length) { | ||
return keys[0]; | ||
} | ||
return currentPanel; | ||
} | ||
var _default = function _default(_ref) { | ||
var provider = _ref.provider, | ||
store = _ref.store; | ||
var api = { | ||
getElements: function getElements(type) { | ||
return provider.getElements(type); | ||
}, | ||
getPanels: function getPanels() { | ||
return api.getElements(types.PANEL); | ||
}, | ||
getSelectedPanel: function getSelectedPanel() { | ||
var _store$getState = store.getState(), | ||
selectedPanel = _store$getState.selectedPanel; | ||
return ensurePanel(api.getPanels(), selectedPanel, selectedPanel); | ||
}, | ||
setSelectedPanel: function setSelectedPanel(panelName) { | ||
store.setState({ | ||
selectedPanel: panelName | ||
}, { | ||
persistence: 'session' | ||
}); | ||
} | ||
if (keys.length) { | ||
return keys[0]; | ||
}; | ||
return { | ||
api: api, | ||
state: { | ||
selectedPanel: ensurePanel(api.getPanels(), store.getState().selectedPanel) | ||
} | ||
return currentPanel; | ||
} | ||
exports.ensurePanel = ensurePanel; | ||
exports.default = (function (_a) { | ||
var provider = _a.provider, store = _a.store; | ||
var api = { | ||
getElements: function (type) { return provider.getElements(type); }, | ||
getPanels: function () { return api.getElements(types.PANEL); }, | ||
getSelectedPanel: function () { | ||
var selectedPanel = store.getState().selectedPanel; | ||
return ensurePanel(api.getPanels(), selectedPanel, selectedPanel); | ||
}, | ||
setSelectedPanel: function (panelName) { | ||
store.setState({ selectedPanel: panelName }, { persistence: 'session' }); | ||
}, | ||
}; | ||
return { | ||
api: api, | ||
state: { | ||
selectedPanel: ensurePanel(api.getPanels(), store.getState().selectedPanel), | ||
}, | ||
}; | ||
}); | ||
}; | ||
}; | ||
exports.default = _default; |
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
var _utilDeprecate = _interopRequireDefault(require("util-deprecate")); | ||
var _coreEvents = require("@storybook/core-events"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var _default = function _default(_ref) { | ||
var provider = _ref.provider; | ||
var api = { | ||
getChannel: function getChannel() { | ||
return provider.channel; | ||
}, | ||
on: function on(type, cb) { | ||
var peer = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; | ||
if (peer) { | ||
provider.channel.addPeerListener(type, cb); | ||
} else { | ||
provider.channel.addListener(type, cb); | ||
} | ||
return function () { | ||
return provider.channel.removeListener(type, cb); | ||
}; | ||
}, | ||
off: function off(type, cb) { | ||
return provider.channel.removeListener(type, cb); | ||
}, | ||
emit: function emit(type, event) { | ||
return provider.channel.emit(type, event); | ||
}, | ||
once: function once(type, event) { | ||
return provider.channel.once(type, event); | ||
}, | ||
onStory: (0, _utilDeprecate.default)(function (cb) { | ||
return api.on(_coreEvents.STORY_CHANGED, cb); | ||
}, 'onStory(...) has been replaced with on(STORY_CHANGED, ...)') | ||
}; | ||
return { | ||
api: api | ||
}; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var util_deprecate_1 = __importDefault(require("util-deprecate")); | ||
var core_events_1 = require("@storybook/core-events"); | ||
exports.default = (function (_a) { | ||
var provider = _a.provider; | ||
var api = { | ||
getChannel: function () { return provider.channel; }, | ||
on: function (type, cb, peer) { | ||
if (peer === void 0) { peer = true; } | ||
if (peer) { | ||
provider.channel.addPeerListener(type, cb); | ||
} | ||
else { | ||
provider.channel.addListener(type, cb); | ||
} | ||
return function () { return provider.channel.removeListener(type, cb); }; | ||
}, | ||
off: function (type, cb) { return provider.channel.removeListener(type, cb); }, | ||
emit: function (type, event) { return provider.channel.emit(type, event); }, | ||
once: function (type, event) { return provider.channel.once(type, event); }, | ||
onStory: util_deprecate_1.default(function (cb) { return api.on(core_events_1.STORY_CHANGED, cb); }, 'onStory(...) has been replaced with on(STORY_CHANGED, ...)'), | ||
}; | ||
return { api: api }; | ||
}); | ||
exports.default = _default; |
"use strict"; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var global_1 = require("global"); | ||
var lodash_pick_1 = __importDefault(require("lodash.pick")); | ||
var util_deprecate_1 = __importDefault(require("util-deprecate")); | ||
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal")); | ||
var theming_1 = require("@storybook/theming"); | ||
var merge_1 = __importDefault(require("../lib/merge")); | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = _default; | ||
exports.focusableUIElements = void 0; | ||
require("core-js/modules/es6.object.assign"); | ||
require("core-js/modules/es6.array.find"); | ||
require("core-js/modules/es6.array.for-each"); | ||
require("core-js/modules/es6.function.name"); | ||
require("core-js/modules/es7.object.values"); | ||
require("core-js/modules/web.dom.iterable"); | ||
require("core-js/modules/es6.array.iterator"); | ||
require("core-js/modules/es6.object.to-string"); | ||
require("core-js/modules/es6.object.keys"); | ||
var _global = require("global"); | ||
var _lodash = _interopRequireDefault(require("lodash.pick")); | ||
var _utilDeprecate = _interopRequireDefault(require("util-deprecate")); | ||
var _fastDeepEqual = _interopRequireDefault(require("fast-deep-equal")); | ||
var _theming = require("@storybook/theming"); | ||
var _merge = _interopRequireDefault(require("../lib/merge")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var deprecatedThemeOptions = { | ||
name: 'theme.brandTitle', | ||
url: 'theme.brandUrl', | ||
name: 'theme.brandTitle', | ||
url: 'theme.brandUrl' | ||
}; | ||
var deprecatedLayoutOptions = { | ||
goFullScreen: 'isFullscreen', | ||
showStoriesPanel: 'showNav', | ||
showAddonPanel: 'showPanel', | ||
addonPanelInRight: 'panelPosition', | ||
goFullScreen: 'isFullscreen', | ||
showStoriesPanel: 'showNav', | ||
showAddonPanel: 'showPanel', | ||
addonPanelInRight: 'panelPosition' | ||
}; | ||
var deprecationMessage = function (optionsMap, prefix) { | ||
if (prefix === void 0) { prefix = ''; } | ||
return "The options { " + Object.keys(optionsMap).join(', ') + " } are deprecated -- use " + (prefix ? prefix + "'s" : '') + " { " + Object.values(optionsMap).join(', ') + " } instead."; | ||
var deprecationMessage = function deprecationMessage(optionsMap) { | ||
var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; | ||
return "The options { ".concat(Object.keys(optionsMap).join(', '), " } are deprecated -- use ").concat(prefix ? "".concat(prefix, "'s") : '', " { ").concat(Object.values(optionsMap).join(', '), " } instead."); | ||
}; | ||
var applyDeprecatedThemeOptions = util_deprecate_1.default(function (_a) { | ||
var name = _a.name, url = _a.url; | ||
return ({ | ||
brandTitle: name, | ||
brandUrl: url, | ||
brandImage: null, | ||
}); | ||
var applyDeprecatedThemeOptions = (0, _utilDeprecate.default)(function (_ref) { | ||
var name = _ref.name, | ||
url = _ref.url; | ||
return { | ||
brandTitle: name, | ||
brandUrl: url, | ||
brandImage: null | ||
}; | ||
}, deprecationMessage(deprecatedThemeOptions)); | ||
var applyDeprecatedLayoutOptions = util_deprecate_1.default(function (options) { | ||
var layoutUpdate = {}; | ||
['goFullScreen', 'showStoriesPanel', 'showAddonPanel'].forEach(function (option) { | ||
var v = options[option]; | ||
if (typeof v !== 'undefined') { | ||
var key = deprecatedLayoutOptions[option]; | ||
layoutUpdate[key] = v; | ||
} | ||
}); | ||
if (options.addonPanelInRight) { | ||
layoutUpdate.panelPosition = 'right'; | ||
var applyDeprecatedLayoutOptions = (0, _utilDeprecate.default)(function (options) { | ||
var layoutUpdate = {}; | ||
['goFullScreen', 'showStoriesPanel', 'showAddonPanel'].forEach(function (option) { | ||
var v = options[option]; | ||
if (typeof v !== 'undefined') { | ||
var _key = deprecatedLayoutOptions[option]; | ||
layoutUpdate[_key] = v; | ||
} | ||
return layoutUpdate; | ||
}); | ||
if (options.addonPanelInRight) { | ||
layoutUpdate.panelPosition = 'right'; | ||
} | ||
return layoutUpdate; | ||
}, deprecationMessage(deprecatedLayoutOptions)); | ||
var checkDeprecatedThemeOptions = function (options) { | ||
if (Object.values(deprecatedThemeOptions).find(function (v) { return !!v; })) { | ||
return applyDeprecatedThemeOptions(options); | ||
} | ||
return {}; | ||
var checkDeprecatedThemeOptions = function checkDeprecatedThemeOptions(options) { | ||
if (Object.values(deprecatedThemeOptions).find(function (v) { | ||
return !!v; | ||
})) { | ||
return applyDeprecatedThemeOptions(options); | ||
} | ||
return {}; | ||
}; | ||
var checkDeprecatedLayoutOptions = function (options) { | ||
if (Object.values(deprecatedLayoutOptions).find(function (v) { return typeof v !== 'undefined'; })) { | ||
return applyDeprecatedLayoutOptions(options); | ||
} | ||
return {}; | ||
var checkDeprecatedLayoutOptions = function checkDeprecatedLayoutOptions(options) { | ||
if (Object.values(deprecatedLayoutOptions).find(function (v) { | ||
return typeof v !== 'undefined'; | ||
})) { | ||
return applyDeprecatedLayoutOptions(options); | ||
} | ||
return {}; | ||
}; | ||
var initial = { | ||
ui: { | ||
enableShortcuts: true, | ||
sortStoriesByKind: false, | ||
sidebarAnimations: true, | ||
}, | ||
layout: { | ||
isToolshown: true, | ||
isFullscreen: false, | ||
showPanel: true, | ||
showNav: true, | ||
panelPosition: 'bottom', | ||
}, | ||
selectedPanel: undefined, | ||
theme: theming_1.themes.light, | ||
ui: { | ||
enableShortcuts: true, | ||
sortStoriesByKind: false, | ||
sidebarAnimations: true | ||
}, | ||
layout: { | ||
isToolshown: true, | ||
isFullscreen: false, | ||
showPanel: true, | ||
showNav: true, | ||
panelPosition: 'bottom' | ||
}, | ||
selectedPanel: undefined, | ||
theme: _theming.themes.light | ||
}; | ||
exports.focusableUIElements = { | ||
storySearchField: 'storybook-explorer-searchfield', | ||
storyListMenu: 'storybook-explorer-menu', | ||
storyPanelRoot: 'storybook-panel-root', | ||
var focusableUIElements = { | ||
storySearchField: 'storybook-explorer-searchfield', | ||
storyListMenu: 'storybook-explorer-menu', | ||
storyPanelRoot: 'storybook-panel-root' | ||
}; | ||
exports.focusableUIElements = focusableUIElements; | ||
var hasSetOptions = false; | ||
function default_1(_a) { | ||
var store = _a.store; | ||
var api = { | ||
toggleFullscreen: function (toggled) { | ||
return store.setState(function (state) { | ||
var value = typeof toggled !== 'undefined' ? toggled : !state.layout.isFullscreen; | ||
return { | ||
layout: __assign({}, state.layout, { isFullscreen: value }), | ||
}; | ||
}); | ||
}, | ||
togglePanel: function (toggled) { | ||
return store.setState(function (state) { | ||
var value = typeof toggled !== 'undefined' ? toggled : !state.layout.showPanel; | ||
return { | ||
layout: __assign({}, state.layout, { showPanel: value }), | ||
}; | ||
}); | ||
}, | ||
togglePanelPosition: function (position) { | ||
if (typeof position !== 'undefined') { | ||
return store.setState(function (state) { return ({ | ||
layout: __assign({}, state.layout, { panelPosition: position }), | ||
}); }); | ||
} | ||
return store.setState(function (state) { return ({ | ||
layout: __assign({}, state.layout, { panelPosition: state.layout.panelPosition === 'right' ? 'bottom' : 'right' }), | ||
}); }); | ||
}, | ||
toggleNav: function (toggled) { | ||
return store.setState(function (state) { | ||
var value = typeof toggled !== 'undefined' ? toggled : !state.layout.showNav; | ||
return { | ||
layout: __assign({}, state.layout, { showNav: value }), | ||
}; | ||
}); | ||
}, | ||
toggleToolbar: function (toggled) { | ||
return store.setState(function (state) { | ||
var value = typeof toggled !== 'undefined' ? toggled : !state.layout.isToolshown; | ||
return { | ||
layout: __assign({}, state.layout, { isToolshown: value }), | ||
}; | ||
}); | ||
}, | ||
focusOnUIElement: function (elementId) { | ||
if (!elementId) { | ||
return; | ||
} | ||
var element = global_1.document.getElementById(elementId); | ||
if (element) { | ||
element.focus(); | ||
} | ||
}, | ||
setOptions: function (options) { | ||
// The very first time the user sets their options, we don't consider what is in the store. | ||
// At this point in time, what is in the store is what we *persisted*. We did that in order | ||
// to avoid a FOUC (e.g. initial rendering the wrong theme while we waited for the stories to load) | ||
// However, we don't want to have a memory about these things, otherwise we see bugs like the | ||
// user setting a name for their storybook, persisting it, then never being able to unset it | ||
// without clearing localstorage. See https://github.com/storybooks/storybook/issues/5857 | ||
var _a = hasSetOptions ? store.getState() : initial, layout = _a.layout, ui = _a.ui, selectedPanel = _a.selectedPanel, theme = _a.theme; | ||
if (options) { | ||
var updatedLayout = __assign({}, layout, lodash_pick_1.default(options, Object.keys(layout)), checkDeprecatedLayoutOptions(options)); | ||
var updatedUi = __assign({}, ui, lodash_pick_1.default(options, Object.keys(ui))); | ||
var updatedTheme = __assign({}, theme, options.theme, checkDeprecatedThemeOptions(options)); | ||
var modification = {}; | ||
if (!fast_deep_equal_1.default(ui, updatedUi)) { | ||
modification.ui = updatedUi; | ||
} | ||
if (!fast_deep_equal_1.default(layout, updatedLayout)) { | ||
modification.layout = updatedLayout; | ||
} | ||
if (!fast_deep_equal_1.default(theme, updatedTheme)) { | ||
modification.theme = updatedTheme; | ||
} | ||
if (options.selectedPanel && !fast_deep_equal_1.default(selectedPanel, options.selectedPanel)) { | ||
modification.selectedPanel = options.selectedPanel; | ||
} | ||
if (Object.keys(modification).length) { | ||
store.setState(modification, { persistence: 'permanent' }); | ||
} | ||
hasSetOptions = true; | ||
} | ||
}, | ||
}; | ||
var persisted = lodash_pick_1.default(store.getState(), 'layout', 'ui', 'selectedPanel', 'theme'); | ||
return { api: api, state: merge_1.default(initial, persisted) }; | ||
} | ||
exports.default = default_1; | ||
function _default(_ref2) { | ||
var store = _ref2.store; | ||
var api = { | ||
toggleFullscreen: function toggleFullscreen(toggled) { | ||
return store.setState(function (state) { | ||
var value = typeof toggled !== 'undefined' ? toggled : !state.layout.isFullscreen; | ||
return { | ||
layout: Object.assign({}, state.layout, { | ||
isFullscreen: value | ||
}) | ||
}; | ||
}); | ||
}, | ||
togglePanel: function togglePanel(toggled) { | ||
return store.setState(function (state) { | ||
var value = typeof toggled !== 'undefined' ? toggled : !state.layout.showPanel; | ||
return { | ||
layout: Object.assign({}, state.layout, { | ||
showPanel: value | ||
}) | ||
}; | ||
}); | ||
}, | ||
togglePanelPosition: function togglePanelPosition(position) { | ||
if (typeof position !== 'undefined') { | ||
return store.setState(function (state) { | ||
return { | ||
layout: Object.assign({}, state.layout, { | ||
panelPosition: position | ||
}) | ||
}; | ||
}); | ||
} | ||
return store.setState(function (state) { | ||
return { | ||
layout: Object.assign({}, state.layout, { | ||
panelPosition: state.layout.panelPosition === 'right' ? 'bottom' : 'right' | ||
}) | ||
}; | ||
}); | ||
}, | ||
toggleNav: function toggleNav(toggled) { | ||
return store.setState(function (state) { | ||
var value = typeof toggled !== 'undefined' ? toggled : !state.layout.showNav; | ||
return { | ||
layout: Object.assign({}, state.layout, { | ||
showNav: value | ||
}) | ||
}; | ||
}); | ||
}, | ||
toggleToolbar: function toggleToolbar(toggled) { | ||
return store.setState(function (state) { | ||
var value = typeof toggled !== 'undefined' ? toggled : !state.layout.isToolshown; | ||
return { | ||
layout: Object.assign({}, state.layout, { | ||
isToolshown: value | ||
}) | ||
}; | ||
}); | ||
}, | ||
focusOnUIElement: function focusOnUIElement(elementId) { | ||
if (!elementId) { | ||
return; | ||
} | ||
var element = _global.document.getElementById(elementId); | ||
if (element) { | ||
element.focus(); | ||
} | ||
}, | ||
setOptions: function setOptions(options) { | ||
// The very first time the user sets their options, we don't consider what is in the store. | ||
// At this point in time, what is in the store is what we *persisted*. We did that in order | ||
// to avoid a FOUC (e.g. initial rendering the wrong theme while we waited for the stories to load) | ||
// However, we don't want to have a memory about these things, otherwise we see bugs like the | ||
// user setting a name for their storybook, persisting it, then never being able to unset it | ||
// without clearing localstorage. See https://github.com/storybooks/storybook/issues/5857 | ||
var _ref3 = hasSetOptions ? store.getState() : initial, | ||
layout = _ref3.layout, | ||
ui = _ref3.ui, | ||
selectedPanel = _ref3.selectedPanel, | ||
theme = _ref3.theme; | ||
if (options) { | ||
var updatedLayout = Object.assign({}, layout, (0, _lodash.default)(options, Object.keys(layout)), checkDeprecatedLayoutOptions(options)); | ||
var updatedUi = Object.assign({}, ui, (0, _lodash.default)(options, Object.keys(ui))); | ||
var updatedTheme = Object.assign({}, theme, options.theme, checkDeprecatedThemeOptions(options)); | ||
var modification = {}; | ||
if (!(0, _fastDeepEqual.default)(ui, updatedUi)) { | ||
modification.ui = updatedUi; | ||
} | ||
if (!(0, _fastDeepEqual.default)(layout, updatedLayout)) { | ||
modification.layout = updatedLayout; | ||
} | ||
if (!(0, _fastDeepEqual.default)(theme, updatedTheme)) { | ||
modification.theme = updatedTheme; | ||
} | ||
if (options.selectedPanel && !(0, _fastDeepEqual.default)(selectedPanel, options.selectedPanel)) { | ||
modification.selectedPanel = options.selectedPanel; | ||
} | ||
if (Object.keys(modification).length) { | ||
store.setState(modification, { | ||
persistence: 'permanent' | ||
}); | ||
} | ||
hasSetOptions = true; | ||
} | ||
} | ||
}; | ||
var persisted = (0, _lodash.default)(store.getState(), 'layout', 'ui', 'selectedPanel', 'theme'); | ||
return { | ||
api: api, | ||
state: (0, _merge.default)(initial, persisted) | ||
}; | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
function default_1(_a) { | ||
var store = _a.store; | ||
var api = { | ||
addNotification: function (notification) { | ||
// Get rid of it if already exists | ||
api.clearNotification(notification.id); | ||
var notifications = store.getState().notifications; | ||
store.setState({ notifications: notifications.concat([notification]) }); | ||
}, | ||
clearNotification: function (id) { | ||
var notifications = store.getState().notifications; | ||
store.setState({ notifications: notifications.filter(function (n) { return n.id !== id; }) }); | ||
var notification = notifications.find(function (n) { return n.id === id; }); | ||
if (notification && notification.onClear) { | ||
notification.onClear(); | ||
} | ||
}, | ||
}; | ||
var state = { notifications: [] }; | ||
return { api: api, state: state }; | ||
} | ||
exports.default = default_1; | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = _default; | ||
require("core-js/modules/es6.string.iterator"); | ||
require("core-js/modules/es6.array.from"); | ||
require("core-js/modules/es6.regexp.to-string"); | ||
require("core-js/modules/es6.date.to-string"); | ||
require("core-js/modules/es6.object.to-string"); | ||
require("core-js/modules/es7.symbol.async-iterator"); | ||
require("core-js/modules/es6.symbol"); | ||
require("core-js/modules/web.dom.iterable"); | ||
require("core-js/modules/es6.array.is-array"); | ||
require("core-js/modules/es6.array.find"); | ||
require("core-js/modules/es6.array.filter"); | ||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } | ||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } | ||
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } | ||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } | ||
function _default(_ref) { | ||
var store = _ref.store; | ||
var api = { | ||
addNotification: function addNotification(notification) { | ||
// Get rid of it if already exists | ||
api.clearNotification(notification.id); | ||
var _store$getState = store.getState(), | ||
notifications = _store$getState.notifications; | ||
store.setState({ | ||
notifications: [].concat(_toConsumableArray(notifications), [notification]) | ||
}); | ||
}, | ||
clearNotification: function clearNotification(id) { | ||
var _store$getState2 = store.getState(), | ||
notifications = _store$getState2.notifications; | ||
store.setState({ | ||
notifications: notifications.filter(function (n) { | ||
return n.id !== id; | ||
}) | ||
}); | ||
var notification = notifications.find(function (n) { | ||
return n.id === id; | ||
}); | ||
if (notification && notification.onClear) { | ||
notification.onClear(); | ||
} | ||
} | ||
}; | ||
var state = { | ||
notifications: [] | ||
}; | ||
return { | ||
api: api, | ||
state: state | ||
}; | ||
} |
"use strict"; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.keys = keys; | ||
exports.default = initShortcuts; | ||
exports.defaultShortcuts = exports.controlOrMetaKey = exports.isMacLike = void 0; | ||
require("core-js/modules/es6.object.define-property"); | ||
require("core-js/modules/es6.promise"); | ||
require("core-js/modules/es6.array.reduce"); | ||
require("core-js/modules/es6.array.find"); | ||
require("core-js/modules/es6.object.assign"); | ||
require("regenerator-runtime/runtime"); | ||
require("core-js/modules/es6.object.freeze"); | ||
require("core-js/modules/web.dom.iterable"); | ||
require("core-js/modules/es6.array.iterator"); | ||
require("core-js/modules/es6.object.to-string"); | ||
require("core-js/modules/es6.object.keys"); | ||
require("core-js/modules/es6.regexp.match"); | ||
var _global = require("global"); | ||
var _coreEvents = require("@storybook/core-events"); | ||
var _shortcut = require("../lib/shortcut"); | ||
var _layout = require("./layout"); | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } | ||
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } | ||
var isMacLike = function isMacLike() { | ||
return _global.navigator && _global.navigator.platform ? !!_global.navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i) : false; | ||
}; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
exports.isMacLike = isMacLike; | ||
var controlOrMetaKey = function controlOrMetaKey() { | ||
return isMacLike() ? 'meta' : 'control'; | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var global_1 = require("global"); | ||
var core_events_1 = require("@storybook/core-events"); | ||
var shortcut_1 = require("../lib/shortcut"); | ||
var layout_1 = require("./layout"); | ||
exports.isMacLike = function () { | ||
return global_1.navigator && global_1.navigator.platform ? !!global_1.navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i) : false; | ||
}; | ||
exports.controlOrMetaKey = function () { return (exports.isMacLike() ? 'meta' : 'control'); }; | ||
exports.controlOrMetaKey = controlOrMetaKey; | ||
function keys(o) { | ||
return Object.keys(o); | ||
return Object.keys(o); | ||
} | ||
exports.keys = keys; | ||
exports.defaultShortcuts = Object.freeze({ | ||
fullScreen: ['F'], | ||
togglePanel: ['A'], | ||
panelPosition: ['D'], | ||
toggleNav: ['S'], | ||
toolbar: ['T'], | ||
search: ['/'], | ||
focusNav: ['1'], | ||
focusIframe: ['2'], | ||
focusPanel: ['3'], | ||
prevComponent: ['alt', 'ArrowUp'], | ||
nextComponent: ['alt', 'ArrowDown'], | ||
prevStory: ['alt', 'ArrowLeft'], | ||
nextStory: ['alt', 'ArrowRight'], | ||
shortcutsPage: [exports.controlOrMetaKey(), 'shift', ','], | ||
aboutPage: [','], | ||
escape: ['escape'], | ||
var defaultShortcuts = Object.freeze({ | ||
fullScreen: ['F'], | ||
togglePanel: ['A'], | ||
panelPosition: ['D'], | ||
toggleNav: ['S'], | ||
toolbar: ['T'], | ||
search: ['/'], | ||
focusNav: ['1'], | ||
focusIframe: ['2'], | ||
focusPanel: ['3'], | ||
prevComponent: ['alt', 'ArrowUp'], | ||
nextComponent: ['alt', 'ArrowDown'], | ||
prevStory: ['alt', 'ArrowLeft'], | ||
nextStory: ['alt', 'ArrowRight'], | ||
shortcutsPage: [controlOrMetaKey(), 'shift', ','], | ||
aboutPage: [','], | ||
escape: ['escape'] // This one is not customizable | ||
}); | ||
function initShortcuts(_a) { | ||
var store = _a.store; | ||
var api = { | ||
// Getting and setting shortcuts | ||
getShortcutKeys: function () { | ||
return store.getState().shortcuts; | ||
}, | ||
setShortcuts: function (shortcuts) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4 /*yield*/, store.setState({ shortcuts: shortcuts }, { persistence: 'permanent' })]; | ||
case 1: | ||
_a.sent(); | ||
return [2 /*return*/, shortcuts]; | ||
} | ||
exports.defaultShortcuts = defaultShortcuts; | ||
function initShortcuts(_ref) { | ||
var store = _ref.store; | ||
var api = { | ||
// Getting and setting shortcuts | ||
getShortcutKeys: function getShortcutKeys() { | ||
return store.getState().shortcuts; | ||
}, | ||
setShortcuts: function () { | ||
var _setShortcuts = _asyncToGenerator( | ||
/*#__PURE__*/ | ||
regeneratorRuntime.mark(function _callee(shortcuts) { | ||
return regeneratorRuntime.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
_context.next = 2; | ||
return store.setState({ | ||
shortcuts: shortcuts | ||
}, { | ||
persistence: 'permanent' | ||
}); | ||
}); | ||
}, | ||
restoreAllDefaultShortcuts: function () { | ||
return __awaiter(this, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
return [2 /*return*/, api.setShortcuts(exports.defaultShortcuts)]; | ||
}); | ||
}); | ||
}, | ||
setShortcut: function (action, value) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var _a, shortcuts; | ||
return __generator(this, function (_b) { | ||
switch (_b.label) { | ||
case 0: | ||
shortcuts = api.getShortcutKeys(); | ||
return [4 /*yield*/, api.setShortcuts(__assign({}, shortcuts, (_a = {}, _a[action] = value, _a)))]; | ||
case 1: | ||
_b.sent(); | ||
return [2 /*return*/, value]; | ||
} | ||
}); | ||
}); | ||
}, | ||
restoreDefaultShortcut: function (action) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var defaultShortcut; | ||
return __generator(this, function (_a) { | ||
defaultShortcut = exports.defaultShortcuts[action]; | ||
return [2 /*return*/, api.setShortcut(action, defaultShortcut)]; | ||
}); | ||
}); | ||
}, | ||
// Listening to shortcut events | ||
handleKeydownEvent: function (fullApi, event) { | ||
var shortcut = shortcut_1.eventToShortcut(event); | ||
var shortcuts = api.getShortcutKeys(); | ||
var actions = keys(shortcuts); | ||
var matchedFeature = actions.find(function (feature) { | ||
return shortcut_1.shortcutMatchesShortcut(shortcut, shortcuts[feature]); | ||
}); | ||
if (matchedFeature) { | ||
api.handleShortcutFeature(fullApi, matchedFeature); | ||
case 2: | ||
return _context.abrupt("return", shortcuts); | ||
case 3: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
}, | ||
handleShortcutFeature: function (fullApi, feature) { | ||
var _a = store.getState().layout, isFullscreen = _a.isFullscreen, showNav = _a.showNav, showPanel = _a.showPanel; | ||
switch (feature) { | ||
case 'escape': { | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
else if (!showNav) { | ||
fullApi.toggleNav(); | ||
} | ||
global_1.document.activeElement.blur(); | ||
break; | ||
} | ||
case 'focusNav': { | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
if (!showNav) { | ||
fullApi.toggleNav(); | ||
} | ||
fullApi.focusOnUIElement(layout_1.focusableUIElements.storyListMenu); | ||
break; | ||
} | ||
case 'search': { | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
if (!showNav) { | ||
fullApi.toggleNav(); | ||
} | ||
setTimeout(function () { | ||
fullApi.focusOnUIElement(layout_1.focusableUIElements.storySearchField); | ||
}, 0); | ||
break; | ||
} | ||
case 'focusIframe': { | ||
var element = global_1.document.getElementById('storybook-preview-iframe'); | ||
if (element) { | ||
try { | ||
// should be like a channel message and all that, but yolo for now | ||
element.contentWindow.focus(); | ||
} | ||
catch (e) { | ||
// | ||
} | ||
} | ||
break; | ||
} | ||
case 'focusPanel': { | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
if (!showPanel) { | ||
fullApi.togglePanel(); | ||
} | ||
fullApi.focusOnUIElement(layout_1.focusableUIElements.storyPanelRoot); | ||
break; | ||
} | ||
case 'nextStory': { | ||
fullApi.jumpToStory(1); | ||
break; | ||
} | ||
case 'prevStory': { | ||
fullApi.jumpToStory(-1); | ||
break; | ||
} | ||
case 'nextComponent': { | ||
fullApi.jumpToComponent(1); | ||
break; | ||
} | ||
case 'prevComponent': { | ||
fullApi.jumpToComponent(-1); | ||
break; | ||
} | ||
case 'fullScreen': { | ||
fullApi.toggleFullscreen(); | ||
break; | ||
} | ||
case 'togglePanel': { | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
fullApi.togglePanel(); | ||
break; | ||
} | ||
case 'toggleNav': { | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
fullApi.toggleNav(); | ||
break; | ||
} | ||
case 'toolbar': { | ||
fullApi.toggleToolbar(); | ||
break; | ||
} | ||
case 'panelPosition': { | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
if (!showPanel) { | ||
fullApi.togglePanel(); | ||
} | ||
fullApi.togglePanelPosition(); | ||
break; | ||
} | ||
case 'aboutPage': { | ||
fullApi.navigate('/settings/about'); | ||
break; | ||
} | ||
case 'shortcutsPage': { | ||
fullApi.navigate('/settings/shortcuts'); | ||
break; | ||
} | ||
default: | ||
break; | ||
} | ||
}, _callee); | ||
})); | ||
function setShortcuts(_x) { | ||
return _setShortcuts.apply(this, arguments); | ||
} | ||
return setShortcuts; | ||
}(), | ||
restoreAllDefaultShortcuts: function () { | ||
var _restoreAllDefaultShortcuts = _asyncToGenerator( | ||
/*#__PURE__*/ | ||
regeneratorRuntime.mark(function _callee2() { | ||
return regeneratorRuntime.wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
return _context2.abrupt("return", api.setShortcuts(defaultShortcuts)); | ||
case 1: | ||
case "end": | ||
return _context2.stop(); | ||
} | ||
}, | ||
}; | ||
var _b = store.getState().shortcuts, persistedShortcuts = _b === void 0 ? exports.defaultShortcuts : _b; | ||
var state = { | ||
// Any saved shortcuts that are still in our set of defaults | ||
shortcuts: keys(exports.defaultShortcuts).reduce(function (acc, key) { | ||
var _a; | ||
return (__assign({}, acc, (_a = {}, _a[key] = persistedShortcuts[key] || exports.defaultShortcuts[key], _a))); | ||
}, exports.defaultShortcuts), | ||
}; | ||
var init = function (_a) { | ||
var fullApi = _a.api; | ||
function focusInInput(event) { | ||
return (/input|textarea/i.test(event.target.tagName) || | ||
event.target.getAttribute('contenteditable') !== null); | ||
} | ||
// Listen for keydown events in the manager | ||
global_1.document.addEventListener('keydown', function (event) { | ||
if (!focusInInput(event)) { | ||
fullApi.handleKeydownEvent(fullApi, event); | ||
} | ||
}, _callee2); | ||
})); | ||
function restoreAllDefaultShortcuts() { | ||
return _restoreAllDefaultShortcuts.apply(this, arguments); | ||
} | ||
return restoreAllDefaultShortcuts; | ||
}(), | ||
setShortcut: function () { | ||
var _setShortcut = _asyncToGenerator( | ||
/*#__PURE__*/ | ||
regeneratorRuntime.mark(function _callee3(action, value) { | ||
var shortcuts; | ||
return regeneratorRuntime.wrap(function _callee3$(_context3) { | ||
while (1) { | ||
switch (_context3.prev = _context3.next) { | ||
case 0: | ||
shortcuts = api.getShortcutKeys(); | ||
_context3.next = 3; | ||
return api.setShortcuts(Object.assign({}, shortcuts, _defineProperty({}, action, value))); | ||
case 3: | ||
return _context3.abrupt("return", value); | ||
case 4: | ||
case "end": | ||
return _context3.stop(); | ||
} | ||
}); | ||
// Also listen to keydown events sent over the channel | ||
fullApi.on(core_events_1.PREVIEW_KEYDOWN, function (data) { | ||
fullApi.handleKeydownEvent(fullApi, data.event); | ||
}); | ||
}; | ||
var result = { api: api, state: state, init: init }; | ||
return result; | ||
} | ||
exports.default = initShortcuts; | ||
} | ||
}, _callee3); | ||
})); | ||
function setShortcut(_x2, _x3) { | ||
return _setShortcut.apply(this, arguments); | ||
} | ||
return setShortcut; | ||
}(), | ||
restoreDefaultShortcut: function () { | ||
var _restoreDefaultShortcut = _asyncToGenerator( | ||
/*#__PURE__*/ | ||
regeneratorRuntime.mark(function _callee4(action) { | ||
var defaultShortcut; | ||
return regeneratorRuntime.wrap(function _callee4$(_context4) { | ||
while (1) { | ||
switch (_context4.prev = _context4.next) { | ||
case 0: | ||
defaultShortcut = defaultShortcuts[action]; | ||
return _context4.abrupt("return", api.setShortcut(action, defaultShortcut)); | ||
case 2: | ||
case "end": | ||
return _context4.stop(); | ||
} | ||
} | ||
}, _callee4); | ||
})); | ||
function restoreDefaultShortcut(_x4) { | ||
return _restoreDefaultShortcut.apply(this, arguments); | ||
} | ||
return restoreDefaultShortcut; | ||
}(), | ||
// Listening to shortcut events | ||
handleKeydownEvent: function handleKeydownEvent(fullApi, event) { | ||
var shortcut = (0, _shortcut.eventToShortcut)(event); | ||
var shortcuts = api.getShortcutKeys(); | ||
var actions = keys(shortcuts); | ||
var matchedFeature = actions.find(function (feature) { | ||
return (0, _shortcut.shortcutMatchesShortcut)(shortcut, shortcuts[feature]); | ||
}); | ||
if (matchedFeature) { | ||
api.handleShortcutFeature(fullApi, matchedFeature); | ||
} | ||
}, | ||
handleShortcutFeature: function handleShortcutFeature(fullApi, feature) { | ||
var _store$getState = store.getState(), | ||
_store$getState$layou = _store$getState.layout, | ||
isFullscreen = _store$getState$layou.isFullscreen, | ||
showNav = _store$getState$layou.showNav, | ||
showPanel = _store$getState$layou.showPanel; | ||
switch (feature) { | ||
case 'escape': | ||
{ | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} else if (!showNav) { | ||
fullApi.toggleNav(); | ||
} | ||
_global.document.activeElement.blur(); | ||
break; | ||
} | ||
case 'focusNav': | ||
{ | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
if (!showNav) { | ||
fullApi.toggleNav(); | ||
} | ||
fullApi.focusOnUIElement(_layout.focusableUIElements.storyListMenu); | ||
break; | ||
} | ||
case 'search': | ||
{ | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
if (!showNav) { | ||
fullApi.toggleNav(); | ||
} | ||
setTimeout(function () { | ||
fullApi.focusOnUIElement(_layout.focusableUIElements.storySearchField); | ||
}, 0); | ||
break; | ||
} | ||
case 'focusIframe': | ||
{ | ||
var element = _global.document.getElementById('storybook-preview-iframe'); | ||
if (element) { | ||
try { | ||
// should be like a channel message and all that, but yolo for now | ||
element.contentWindow.focus(); | ||
} catch (e) {// | ||
} | ||
} | ||
break; | ||
} | ||
case 'focusPanel': | ||
{ | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
if (!showPanel) { | ||
fullApi.togglePanel(); | ||
} | ||
fullApi.focusOnUIElement(_layout.focusableUIElements.storyPanelRoot); | ||
break; | ||
} | ||
case 'nextStory': | ||
{ | ||
fullApi.jumpToStory(1); | ||
break; | ||
} | ||
case 'prevStory': | ||
{ | ||
fullApi.jumpToStory(-1); | ||
break; | ||
} | ||
case 'nextComponent': | ||
{ | ||
fullApi.jumpToComponent(1); | ||
break; | ||
} | ||
case 'prevComponent': | ||
{ | ||
fullApi.jumpToComponent(-1); | ||
break; | ||
} | ||
case 'fullScreen': | ||
{ | ||
fullApi.toggleFullscreen(); | ||
break; | ||
} | ||
case 'togglePanel': | ||
{ | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
fullApi.togglePanel(); | ||
break; | ||
} | ||
case 'toggleNav': | ||
{ | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
fullApi.toggleNav(); | ||
break; | ||
} | ||
case 'toolbar': | ||
{ | ||
fullApi.toggleToolbar(); | ||
break; | ||
} | ||
case 'panelPosition': | ||
{ | ||
if (isFullscreen) { | ||
fullApi.toggleFullscreen(); | ||
} | ||
if (!showPanel) { | ||
fullApi.togglePanel(); | ||
} | ||
fullApi.togglePanelPosition(); | ||
break; | ||
} | ||
case 'aboutPage': | ||
{ | ||
fullApi.navigate('/settings/about'); | ||
break; | ||
} | ||
case 'shortcutsPage': | ||
{ | ||
fullApi.navigate('/settings/shortcuts'); | ||
break; | ||
} | ||
default: | ||
break; | ||
} | ||
} | ||
}; | ||
var _store$getState2 = store.getState(), | ||
_store$getState2$shor = _store$getState2.shortcuts, | ||
persistedShortcuts = _store$getState2$shor === void 0 ? defaultShortcuts : _store$getState2$shor; | ||
var state = { | ||
// Any saved shortcuts that are still in our set of defaults | ||
shortcuts: keys(defaultShortcuts).reduce(function (acc, key) { | ||
return Object.assign({}, acc, _defineProperty({}, key, persistedShortcuts[key] || defaultShortcuts[key])); | ||
}, defaultShortcuts) | ||
}; | ||
var init = function init(_ref2) { | ||
var fullApi = _ref2.api; | ||
function focusInInput(event) { | ||
return /input|textarea/i.test(event.target.tagName) || event.target.getAttribute('contenteditable') !== null; | ||
} // Listen for keydown events in the manager | ||
_global.document.addEventListener('keydown', function (event) { | ||
if (!focusInInput(event)) { | ||
fullApi.handleKeydownEvent(fullApi, event); | ||
} | ||
}); // Also listen to keydown events sent over the channel | ||
fullApi.on(_coreEvents.PREVIEW_KEYDOWN, function (data) { | ||
fullApi.handleKeydownEvent(fullApi, data.event); | ||
}); | ||
}; | ||
var result = { | ||
api: api, | ||
state: state, | ||
init: init | ||
}; | ||
return result; | ||
} |
"use strict"; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
require("core-js/modules/es6.string.iterator"); | ||
require("core-js/modules/es6.array.from"); | ||
require("core-js/modules/es6.regexp.to-string"); | ||
require("core-js/modules/es6.date.to-string"); | ||
require("core-js/modules/es7.symbol.async-iterator"); | ||
require("core-js/modules/es6.symbol"); | ||
require("core-js/modules/es6.array.find"); | ||
require("core-js/modules/es6.array.for-each"); | ||
require("core-js/modules/es6.object.assign"); | ||
require("core-js/modules/es6.function.name"); | ||
require("core-js/modules/es6.array.map"); | ||
require("core-js/modules/es7.object.values"); | ||
require("core-js/modules/es6.regexp.replace"); | ||
require("core-js/modules/es6.regexp.split"); | ||
require("core-js/modules/es7.array.includes"); | ||
require("core-js/modules/es6.string.includes"); | ||
require("core-js/modules/es6.array.find-index"); | ||
require("core-js/modules/es7.object.entries"); | ||
require("core-js/modules/es6.array.reduce"); | ||
require("core-js/modules/es6.array.index-of"); | ||
require("core-js/modules/es6.array.is-array"); | ||
require("core-js/modules/web.dom.iterable"); | ||
require("core-js/modules/es6.array.iterator"); | ||
require("core-js/modules/es6.object.to-string"); | ||
require("core-js/modules/es6.object.keys"); | ||
require("core-js/modules/es6.array.filter"); | ||
var _utils = require("@storybook/router/dist/utils"); | ||
var _merge = _interopRequireDefault(require("../lib/merge")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
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; } | ||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } | ||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } | ||
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } | ||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } | ||
var initStoriesApi = function initStoriesApi(_ref) { | ||
var store = _ref.store, | ||
navigate = _ref.navigate, | ||
initialStoryId = _ref.storyId, | ||
initialViewMode = _ref.viewMode; | ||
var isStory = function isStory(obj) { | ||
var story = obj; | ||
return !!(story && story.parameters); | ||
}; | ||
var getData = function getData(storyId) { | ||
var _store$getState = store.getState(), | ||
storiesHash = _store$getState.storiesHash; | ||
return storiesHash[storyId]; | ||
}; | ||
var getCurrentStoryData = function getCurrentStoryData() { | ||
var _store$getState2 = store.getState(), | ||
storyId = _store$getState2.storyId; | ||
return getData(storyId); | ||
}; | ||
var getParameters = function getParameters(storyId, parameterName) { | ||
var data = getData(storyId); | ||
if (isStory(data)) { | ||
var _ref2 = data, | ||
_parameters = _ref2.parameters; | ||
return parameterName ? _parameters[parameterName] : _parameters; | ||
} | ||
return null; | ||
}; | ||
var jumpToStory = function jumpToStory(direction) { | ||
var _store$getState3 = store.getState(), | ||
storiesHash = _store$getState3.storiesHash, | ||
viewMode = _store$getState3.viewMode, | ||
storyId = _store$getState3.storyId; // cannot navigate when there's no current selection | ||
if (!storyId || !storiesHash[storyId]) { | ||
return; | ||
} | ||
var lookupList = Object.keys(storiesHash).filter(function (k) { | ||
return !(storiesHash[k].children || Array.isArray(storiesHash[k])); | ||
}); | ||
var index = lookupList.indexOf(storyId); // cannot navigate beyond fist or last | ||
if (index === lookupList.length - 1 && direction > 0) { | ||
return; | ||
} | ||
if (index === 0 && direction < 0) { | ||
return; | ||
} | ||
var result = lookupList[index + direction]; | ||
if (viewMode && result) { | ||
navigate("/".concat(viewMode, "/").concat(result)); | ||
} | ||
}; | ||
var jumpToComponent = function jumpToComponent(direction) { | ||
var state = store.getState(); | ||
var storiesHash = state.storiesHash, | ||
viewMode = state.viewMode, | ||
storyId = state.storyId; // cannot navigate when there's no current selection | ||
if (!storyId || !storiesHash[storyId]) { | ||
return; | ||
} | ||
var lookupList = Object.entries(storiesHash).reduce(function (acc, i) { | ||
var value = i[1]; | ||
if (value.isComponent) { | ||
acc.push(_toConsumableArray(i[1].children)); | ||
} | ||
return acc; | ||
}, []); | ||
var index = lookupList.findIndex(function (i) { | ||
return i.includes(storyId); | ||
}); // cannot navigate beyond fist or last | ||
if (index === lookupList.length - 1 && direction > 0) { | ||
return; | ||
} | ||
if (index === 0 && direction < 0) { | ||
return; | ||
} | ||
var result = lookupList[index + direction][0]; | ||
navigate("/".concat(viewMode || 'story', "/").concat(result)); | ||
}; | ||
var splitPath = function splitPath(kind, _ref3) { | ||
var rootSeparator = _ref3.rootSeparator, | ||
groupSeparator = _ref3.groupSeparator; | ||
var _kind$split = kind.split(rootSeparator, 2), | ||
_kind$split2 = _slicedToArray(_kind$split, 2), | ||
root = _kind$split2[0], | ||
remainder = _kind$split2[1]; | ||
var groups = (remainder || kind).split(groupSeparator).filter(function (i) { | ||
return !!i; | ||
}); // when there's no remainder, it means the root wasn't found/split | ||
return { | ||
root: remainder ? root : null, | ||
groups: groups | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var utils_1 = require("@storybook/router/dist/utils"); | ||
var merge_1 = __importDefault(require("../lib/merge")); | ||
var initStoriesApi = function (_a) { | ||
var store = _a.store, navigate = _a.navigate, initialStoryId = _a.storyId, initialViewMode = _a.viewMode; | ||
var isStory = function (obj) { | ||
var story = obj; | ||
return !!(story && story.parameters); | ||
}; | ||
var toKey = function toKey(input) { | ||
return input.replace(/[^a-z0-9]+([a-z0-9])/gi, function () { | ||
for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) { | ||
params[_key] = arguments[_key]; | ||
} | ||
return params[1].toUpperCase(); | ||
}); | ||
}; | ||
var toGroup = function toGroup(name) { | ||
return { | ||
name: name, | ||
id: toKey(name) | ||
}; | ||
var getData = function (storyId) { | ||
var storiesHash = store.getState().storiesHash; | ||
return storiesHash[storyId]; | ||
}; | ||
var getCurrentStoryData = function () { | ||
var storyId = store.getState().storyId; | ||
return getData(storyId); | ||
}; | ||
var getParameters = function (storyId, parameterName) { | ||
var data = getData(storyId); | ||
if (isStory(data)) { | ||
var parameters = data.parameters; | ||
return parameterName ? parameters[parameterName] : parameters; | ||
} | ||
return null; | ||
}; | ||
var jumpToStory = function (direction) { | ||
var _a = store.getState(), storiesHash = _a.storiesHash, viewMode = _a.viewMode, storyId = _a.storyId; | ||
// cannot navigate when there's no current selection | ||
if (!storyId || !storiesHash[storyId]) { | ||
return; | ||
} | ||
var lookupList = Object.keys(storiesHash).filter(function (k) { return !(storiesHash[k].children || Array.isArray(storiesHash[k])); }); | ||
var index = lookupList.indexOf(storyId); | ||
// cannot navigate beyond fist or last | ||
if (index === lookupList.length - 1 && direction > 0) { | ||
return; | ||
} | ||
if (index === 0 && direction < 0) { | ||
return; | ||
} | ||
var result = lookupList[index + direction]; | ||
if (viewMode && result) { | ||
navigate("/" + viewMode + "/" + result); | ||
} | ||
}; | ||
var jumpToComponent = function (direction) { | ||
var state = store.getState(); | ||
var storiesHash = state.storiesHash, viewMode = state.viewMode, storyId = state.storyId; | ||
// cannot navigate when there's no current selection | ||
if (!storyId || !storiesHash[storyId]) { | ||
return; | ||
} | ||
var lookupList = Object.entries(storiesHash).reduce(function (acc, i) { | ||
var value = i[1]; | ||
if (value.isComponent) { | ||
acc.push(i[1].children.slice()); | ||
} | ||
return acc; | ||
}, []); | ||
var index = lookupList.findIndex(function (i) { return i.includes(storyId); }); | ||
// cannot navigate beyond fist or last | ||
if (index === lookupList.length - 1 && direction > 0) { | ||
return; | ||
} | ||
if (index === 0 && direction < 0) { | ||
return; | ||
} | ||
var result = lookupList[index + direction][0]; | ||
navigate("/" + (viewMode || 'story') + "/" + result); | ||
}; | ||
var splitPath = function (kind, _a) { | ||
var rootSeparator = _a.rootSeparator, groupSeparator = _a.groupSeparator; | ||
var _b = kind.split(rootSeparator, 2), root = _b[0], remainder = _b[1]; | ||
var groups = (remainder || kind).split(groupSeparator).filter(function (i) { return !!i; }); | ||
// when there's no remainder, it means the root wasn't found/split | ||
return { | ||
root: remainder ? root : null, | ||
groups: groups, | ||
}; | ||
}; | ||
var toKey = function (input) { | ||
return input.replace(/[^a-z0-9]+([a-z0-9])/gi, function () { | ||
var params = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
params[_i] = arguments[_i]; | ||
} | ||
return params[1].toUpperCase(); | ||
}; | ||
var setStories = function setStories(input) { | ||
var hash = {}; | ||
var storiesHashOutOfOrder = Object.values(input).reduce(function (acc, item) { | ||
var kind = item.kind, | ||
parameters = item.parameters; // FIXME: figure out why parameters is missing when used with react-native-server | ||
var _ref4 = parameters && parameters.options || { | ||
hierarchyRootSeparator: '/', | ||
hierarchySeparator: '/' | ||
}, | ||
rootSeparator = _ref4.hierarchyRootSeparator, | ||
groupSeparator = _ref4.hierarchySeparator; | ||
var _splitPath = splitPath(kind, { | ||
rootSeparator: rootSeparator, | ||
groupSeparator: groupSeparator | ||
}), | ||
root = _splitPath.root, | ||
groups = _splitPath.groups; | ||
var rootAndGroups = [].concat(root || []).concat(groups).map(toGroup) // Map a bunch of extra fields onto the groups, collecting the path as we go (thus the reduce) | ||
.reduce(function (soFar, group, index, original) { | ||
var name = group.name; | ||
var parent = index > 0 && soFar[index - 1].id; | ||
var id = (0, _utils.sanitize)(parent ? "".concat(parent, "-").concat(name) : name); | ||
var result = Object.assign({}, group, { | ||
id: id, | ||
parent: parent, | ||
depth: index, | ||
children: [], | ||
isComponent: index === original.length - 1, | ||
isLeaf: false, | ||
isRoot: !!root && index === 0 | ||
}); | ||
}; | ||
var toGroup = function (name) { return ({ | ||
name: name, | ||
id: toKey(name), | ||
}); }; | ||
var setStories = function (input) { | ||
var hash = {}; | ||
var storiesHashOutOfOrder = Object.values(input).reduce(function (acc, item) { | ||
var kind = item.kind, parameters = item.parameters; | ||
// FIXME: figure out why parameters is missing when used with react-native-server | ||
var _a = (parameters && parameters.options) || { | ||
hierarchyRootSeparator: '/', | ||
hierarchySeparator: '/', | ||
}, rootSeparator = _a.hierarchyRootSeparator, groupSeparator = _a.hierarchySeparator; | ||
var _b = splitPath(kind, { rootSeparator: rootSeparator, groupSeparator: groupSeparator }), root = _b.root, groups = _b.groups; | ||
var rootAndGroups = [] | ||
.concat(root || []) | ||
.concat(groups) | ||
.map(toGroup) | ||
// Map a bunch of extra fields onto the groups, collecting the path as we go (thus the reduce) | ||
.reduce(function (soFar, group, index, original) { | ||
var name = group.name; | ||
var parent = index > 0 && soFar[index - 1].id; | ||
var id = utils_1.sanitize(parent ? parent + "-" + name : name); | ||
var result = __assign({}, group, { id: id, | ||
parent: parent, depth: index, children: [], isComponent: index === original.length - 1, isLeaf: false, isRoot: !!root && index === 0 }); | ||
return soFar.concat([result]); | ||
}, []); | ||
var paths = rootAndGroups.map(function (g) { return g.id; }).concat([item.id]); | ||
// Ok, now let's add everything to the store | ||
rootAndGroups.forEach(function (group, index) { | ||
var child = paths[index + 1]; | ||
var id = group.id; | ||
acc[id] = merge_1.default(acc[id] || {}, __assign({}, group, (child && { children: [child] }))); | ||
}); | ||
var story = __assign({}, item, { parent: rootAndGroups[rootAndGroups.length - 1].id, isLeaf: true }); | ||
acc[item.id] = story; | ||
return acc; | ||
}, hash); | ||
// When adding a group, also add all of its children, depth first | ||
function addItem(acc, item) { | ||
if (!acc[item.id]) { | ||
// If we were already inserted as part of a group, that's great. | ||
acc[item.id] = item; | ||
var children = item.children; | ||
if (children) { | ||
children.forEach(function (id) { return addItem(acc, storiesHashOutOfOrder[id]); }); | ||
} | ||
} | ||
return acc; | ||
return soFar.concat([result]); | ||
}, []); | ||
var paths = [].concat(_toConsumableArray(rootAndGroups.map(function (g) { | ||
return g.id; | ||
})), [item.id]); // Ok, now let's add everything to the store | ||
rootAndGroups.forEach(function (group, index) { | ||
var child = paths[index + 1]; | ||
var id = group.id; | ||
acc[id] = (0, _merge.default)(acc[id] || {}, Object.assign({}, group, child && { | ||
children: [child] | ||
})); | ||
}); | ||
var story = Object.assign({}, item, { | ||
parent: rootAndGroups[rootAndGroups.length - 1].id, | ||
isLeaf: true | ||
}); | ||
acc[item.id] = story; | ||
return acc; | ||
}, hash); // When adding a group, also add all of its children, depth first | ||
function addItem(acc, item) { | ||
if (!acc[item.id]) { | ||
// If we were already inserted as part of a group, that's great. | ||
acc[item.id] = item; | ||
var _children = item.children; | ||
if (_children) { | ||
_children.forEach(function (id) { | ||
return addItem(acc, storiesHashOutOfOrder[id]); | ||
}); | ||
} | ||
// Now create storiesHash by reordering the above by group | ||
var storiesHash = Object.values(storiesHashOutOfOrder).reduce(addItem, {}); | ||
var _a = store.getState(), storyId = _a.storyId, viewMode = _a.viewMode; | ||
if (!storyId || !storiesHash[storyId]) { | ||
// when there's no storyId or the storyId item doesn't exist | ||
// we pick the first leaf and navigate | ||
var firstLeaf = Object.values(storiesHash).find(function (s) { return !s.children; }); | ||
if (viewMode && firstLeaf) { | ||
navigate("/" + viewMode + "/" + firstLeaf.id); | ||
} | ||
} | ||
store.setState({ | ||
storiesHash: storiesHash, | ||
storiesConfigured: true, | ||
}); | ||
}; | ||
var selectStory = function (kindOrId, story) { | ||
var _a = store.getState(), _b = _a.viewMode, viewMode = _b === void 0 ? 'story' : _b, storyId = _a.storyId, storiesHash = _a.storiesHash; | ||
if (!story) { | ||
var s = storiesHash[utils_1.sanitize(kindOrId)]; | ||
// eslint-disable-next-line no-nested-ternary | ||
var id = s ? (s.children ? s.children[0] : s.id) : kindOrId; | ||
navigate("/" + viewMode + "/" + id); | ||
} | ||
else if (!kindOrId) { | ||
// This is a slugified version of the kind, but that's OK, our toId function is idempotent | ||
var kind = storyId.split('--', 2)[0]; | ||
selectStory(utils_1.toId(kind, story)); | ||
} | ||
else { | ||
selectStory(utils_1.toId(kindOrId, story)); | ||
} | ||
}; | ||
return { | ||
api: { | ||
storyId: utils_1.toId, | ||
selectStory: selectStory, | ||
getCurrentStoryData: getCurrentStoryData, | ||
setStories: setStories, | ||
jumpToComponent: jumpToComponent, | ||
jumpToStory: jumpToStory, | ||
getData: getData, | ||
getParameters: getParameters, | ||
}, | ||
state: { | ||
storiesHash: {}, | ||
storyId: initialStoryId, | ||
viewMode: initialViewMode, | ||
storiesConfigured: false, | ||
}, | ||
}; | ||
} | ||
return acc; | ||
} // Now create storiesHash by reordering the above by group | ||
var storiesHash = Object.values(storiesHashOutOfOrder).reduce(addItem, {}); | ||
var _store$getState4 = store.getState(), | ||
storyId = _store$getState4.storyId, | ||
viewMode = _store$getState4.viewMode; | ||
if (!storyId || !storiesHash[storyId]) { | ||
// when there's no storyId or the storyId item doesn't exist | ||
// we pick the first leaf and navigate | ||
var firstLeaf = Object.values(storiesHash).find(function (s) { | ||
return !s.children; | ||
}); | ||
if (viewMode && firstLeaf) { | ||
navigate("/".concat(viewMode, "/").concat(firstLeaf.id)); | ||
} | ||
} | ||
store.setState({ | ||
storiesHash: storiesHash, | ||
storiesConfigured: true | ||
}); | ||
}; | ||
var selectStory = function selectStory(kindOrId, story) { | ||
var _store$getState5 = store.getState(), | ||
_store$getState5$view = _store$getState5.viewMode, | ||
viewMode = _store$getState5$view === void 0 ? 'story' : _store$getState5$view, | ||
storyId = _store$getState5.storyId, | ||
storiesHash = _store$getState5.storiesHash; | ||
if (!story) { | ||
var s = storiesHash[(0, _utils.sanitize)(kindOrId)]; // eslint-disable-next-line no-nested-ternary | ||
var _id = s ? s.children ? s.children[0] : s.id : kindOrId; | ||
navigate("/".concat(viewMode, "/").concat(_id)); | ||
} else if (!kindOrId) { | ||
// This is a slugified version of the kind, but that's OK, our toId function is idempotent | ||
var _kind = storyId.split('--', 2)[0]; | ||
selectStory((0, _utils.toId)(_kind, story)); | ||
} else { | ||
selectStory((0, _utils.toId)(kindOrId, story)); | ||
} | ||
}; | ||
return { | ||
api: { | ||
storyId: _utils.toId, | ||
selectStory: selectStory, | ||
getCurrentStoryData: getCurrentStoryData, | ||
setStories: setStories, | ||
jumpToComponent: jumpToComponent, | ||
jumpToStory: jumpToStory, | ||
getData: getData, | ||
getParameters: getParameters | ||
}, | ||
state: { | ||
storiesHash: {}, | ||
storyId: initialStoryId, | ||
viewMode: initialViewMode, | ||
storiesConfigured: false | ||
} | ||
}; | ||
}; | ||
exports.default = initStoriesApi; | ||
var _default = initStoriesApi; | ||
exports.default = _default; |
"use strict"; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
var __rest = (this && this.__rest) || function (s, e) { | ||
var t = {}; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) | ||
t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") | ||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) | ||
t[p[i]] = s[p[i]]; | ||
return t; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var router_1 = require("@storybook/router"); | ||
var utils_1 = require("@storybook/router/dist/utils"); | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = _default; | ||
require("core-js/modules/es7.symbol.async-iterator"); | ||
require("core-js/modules/es6.array.is-array"); | ||
require("core-js/modules/es6.symbol"); | ||
require("core-js/modules/es6.array.index-of"); | ||
require("core-js/modules/es7.object.entries"); | ||
require("core-js/modules/es6.array.reduce"); | ||
require("core-js/modules/es6.object.assign"); | ||
require("core-js/modules/web.dom.iterable"); | ||
require("core-js/modules/es6.array.iterator"); | ||
require("core-js/modules/es6.object.to-string"); | ||
require("core-js/modules/es6.object.keys"); | ||
require("core-js/modules/es7.array.includes"); | ||
require("core-js/modules/es6.string.includes"); | ||
var _router = require("@storybook/router"); | ||
var _utils = require("@storybook/router/dist/utils"); | ||
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; } | ||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } | ||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } | ||
// Initialize the state based on the URL. | ||
@@ -34,88 +61,151 @@ // NOTE: | ||
// We also support legacy URLs from storybook <5 | ||
var initialUrlSupport = function (_a) { | ||
var navigate = _a.navigate, location = _a.location, path = _a.path; | ||
var addition = {}; | ||
var query = router_1.queryFromLocation(location); | ||
var selectedPanel; | ||
var full = query.full, panel = query.panel, nav = query.nav, addons = query.addons, panelRight = query.panelRight, stories = query.stories, addonPanel = query.addonPanel, selectedKind = query.selectedKind, selectedStory = query.selectedStory, queryPath = query.path, customQueryParams = __rest(query, ["full", "panel", "nav", "addons", "panelRight", "stories", "addonPanel", "selectedKind", "selectedStory", "path"]); | ||
if (full === '1') { | ||
addition.isFullscreen = true; | ||
var initialUrlSupport = function initialUrlSupport(_ref) { | ||
var navigate = _ref.navigate, | ||
location = _ref.location, | ||
path = _ref.path; | ||
var addition = {}; | ||
var query = (0, _router.queryFromLocation)(location); | ||
var selectedPanel; | ||
var full = query.full, | ||
panel = query.panel, | ||
nav = query.nav, | ||
addons = query.addons, | ||
panelRight = query.panelRight, | ||
stories = query.stories, | ||
addonPanel = query.addonPanel, | ||
selectedKind = query.selectedKind, | ||
selectedStory = query.selectedStory, | ||
queryPath = query.path, | ||
customQueryParams = _objectWithoutProperties(query, ["full", "panel", "nav", "addons", "panelRight", "stories", "addonPanel", "selectedKind", "selectedStory", "path"]); | ||
if (full === '1') { | ||
addition.isFullscreen = true; | ||
} | ||
if (panel) { | ||
if (['right', 'bottom'].includes(panel)) { | ||
addition.panelPosition = panel; | ||
} else if (panel === '0') { | ||
addition.showPanel = false; | ||
} | ||
if (panel) { | ||
if (['right', 'bottom'].includes(panel)) { | ||
addition.panelPosition = panel; | ||
} | ||
else if (panel === '0') { | ||
addition.showPanel = false; | ||
} | ||
} | ||
if (nav === '0') { | ||
addition.showNav = false; | ||
} // Legacy URLs | ||
if (addons === '0') { | ||
addition.showPanel = false; | ||
} | ||
if (panelRight === '1') { | ||
addition.panelPosition = 'right'; | ||
} | ||
if (stories === '0') { | ||
addition.showNav = false; | ||
} | ||
if (addonPanel) { | ||
selectedPanel = addonPanel; | ||
} | ||
if (selectedKind && selectedStory) { | ||
var _storyId = (0, _utils.toId)(selectedKind, selectedStory); | ||
setTimeout(function () { | ||
return navigate("/story/".concat(_storyId), { | ||
replace: true | ||
}); | ||
}, 1); | ||
} else if (!queryPath || queryPath === '/') { | ||
setTimeout(function () { | ||
return navigate("/story/*", { | ||
replace: true | ||
}); | ||
}, 1); | ||
} else if (Object.keys(query).length > 1) { | ||
// remove other queries | ||
setTimeout(function () { | ||
return navigate("/".concat(queryPath), { | ||
replace: true | ||
}); | ||
}, 1); | ||
} | ||
return { | ||
layout: addition, | ||
selectedPanel: selectedPanel, | ||
location: location, | ||
path: path, | ||
customQueryParams: customQueryParams | ||
}; | ||
}; | ||
function _default(_ref2) { | ||
var store = _ref2.store, | ||
navigate = _ref2.navigate, | ||
location = _ref2.location, | ||
initialPath = _ref2.path, | ||
rest = _objectWithoutProperties(_ref2, ["store", "navigate", "location", "path"]); | ||
var api = { | ||
getQueryParam: function getQueryParam(key) { | ||
var _store$getState = store.getState(), | ||
customQueryParams = _store$getState.customQueryParams; | ||
if (customQueryParams) { | ||
return customQueryParams[key]; | ||
} | ||
return undefined; | ||
}, | ||
getUrlState: function getUrlState() { | ||
var _store$getState2 = store.getState(), | ||
path = _store$getState2.path, | ||
viewMode = _store$getState2.viewMode, | ||
storyId = _store$getState2.storyId, | ||
url = _store$getState2.url, | ||
customQueryParams = _store$getState2.customQueryParams; | ||
var queryParams = customQueryParams; | ||
return { | ||
queryParams: queryParams, | ||
path: path, | ||
viewMode: viewMode, | ||
storyId: storyId, | ||
url: url | ||
}; | ||
}, | ||
setQueryParams: function setQueryParams(input) { | ||
var _store$getState3 = store.getState(), | ||
customQueryParams = _store$getState3.customQueryParams; | ||
var queryParams = {}; | ||
store.setState({ | ||
customQueryParams: Object.assign({}, customQueryParams, Object.entries(input).reduce(function (acc, _ref3) { | ||
var _ref4 = _slicedToArray(_ref3, 2), | ||
key = _ref4[0], | ||
value = _ref4[1]; | ||
if (value !== null) { | ||
acc[key] = value; | ||
} | ||
return acc; | ||
}, queryParams)) | ||
}); | ||
} | ||
if (nav === '0') { | ||
addition.showNav = false; | ||
} | ||
// Legacy URLs | ||
if (addons === '0') { | ||
addition.showPanel = false; | ||
} | ||
if (panelRight === '1') { | ||
addition.panelPosition = 'right'; | ||
} | ||
if (stories === '0') { | ||
addition.showNav = false; | ||
} | ||
if (addonPanel) { | ||
selectedPanel = addonPanel; | ||
} | ||
if (selectedKind && selectedStory) { | ||
var storyId_1 = utils_1.toId(selectedKind, selectedStory); | ||
setTimeout(function () { return navigate("/story/" + storyId_1, { replace: true }); }, 1); | ||
} | ||
else if (!queryPath || queryPath === '/') { | ||
setTimeout(function () { return navigate("/story/*", { replace: true }); }, 1); | ||
} | ||
else if (Object.keys(query).length > 1) { | ||
// remove other queries | ||
setTimeout(function () { return navigate("/" + queryPath, { replace: true }); }, 1); | ||
} | ||
return { layout: addition, selectedPanel: selectedPanel, location: location, path: path, customQueryParams: customQueryParams }; | ||
}; | ||
function default_1(_a) { | ||
var store = _a.store, navigate = _a.navigate, location = _a.location, initialPath = _a.path, rest = __rest(_a, ["store", "navigate", "location", "path"]); | ||
var api = { | ||
getQueryParam: function (key) { | ||
var customQueryParams = store.getState().customQueryParams; | ||
if (customQueryParams) { | ||
return customQueryParams[key]; | ||
} | ||
return undefined; | ||
}, | ||
getUrlState: function () { | ||
var _a = store.getState(), path = _a.path, viewMode = _a.viewMode, storyId = _a.storyId, url = _a.url, customQueryParams = _a.customQueryParams; | ||
var queryParams = customQueryParams; | ||
return { | ||
queryParams: queryParams, | ||
path: path, | ||
viewMode: viewMode, | ||
storyId: storyId, | ||
url: url, | ||
}; | ||
}, | ||
setQueryParams: function (input) { | ||
var customQueryParams = store.getState().customQueryParams; | ||
var queryParams = {}; | ||
store.setState({ | ||
customQueryParams: __assign({}, customQueryParams, Object.entries(input).reduce(function (acc, _a) { | ||
var key = _a[0], value = _a[1]; | ||
if (value !== null) { | ||
acc[key] = value; | ||
} | ||
return acc; | ||
}, queryParams)), | ||
}); | ||
}, | ||
}; | ||
return { | ||
api: api, | ||
state: initialUrlSupport(__assign({ store: store, navigate: navigate, location: location, path: initialPath }, rest)), | ||
}; | ||
} | ||
exports.default = default_1; | ||
}; | ||
return { | ||
api: api, | ||
state: initialUrlSupport(Object.assign({ | ||
store: store, | ||
navigate: navigate, | ||
location: location, | ||
path: initialPath | ||
}, rest)) | ||
}; | ||
} |
"use strict"; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var global_1 = require("global"); | ||
var semver_1 = __importDefault(require("semver")); | ||
var client_logger_1 = require("@storybook/client-logger"); | ||
var version_1 = require("../version"); | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = _default; | ||
require("core-js/modules/es6.promise"); | ||
require("core-js/modules/es6.date.now"); | ||
require("regenerator-runtime/runtime"); | ||
require("core-js/modules/es6.object.assign"); | ||
require("core-js/modules/web.dom.iterable"); | ||
require("core-js/modules/es6.array.iterator"); | ||
require("core-js/modules/es6.object.to-string"); | ||
require("core-js/modules/es7.object.values"); | ||
require("core-js/modules/es6.array.find"); | ||
var _global = require("global"); | ||
var _semver = _interopRequireDefault(require("semver")); | ||
var _clientLogger = require("@storybook/client-logger"); | ||
var _version = require("../version"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } | ||
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } | ||
var checkInterval = 24 * 60 * 60 * 1000; | ||
var versionsUrl = 'https://storybook.js.org/versions.json'; | ||
function fetchLatestVersion(v) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var fromFetch; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4 /*yield*/, global_1.fetch(versionsUrl + "?current=" + v)]; | ||
case 1: | ||
fromFetch = _a.sent(); | ||
return [2 /*return*/, fromFetch.json()]; | ||
} | ||
}); | ||
}); | ||
function fetchLatestVersion(_x) { | ||
return _fetchLatestVersion.apply(this, arguments); | ||
} | ||
function default_1(_a) { | ||
var store = _a.store, mode = _a.mode; | ||
var _b = store.getState(), _c = _b.versions, persistedVersions = _c === void 0 ? {} : _c, _d = _b.lastVersionCheck, lastVersionCheck = _d === void 0 ? 0 : _d, dismissedVersionNotification = _b.dismissedVersionNotification; | ||
// Check to see if we have info about the current version persisted | ||
var persistedCurrentVersion = Object.values(persistedVersions).find(function (v) { return v.version === version_1.version; }); | ||
var state = { | ||
versions: __assign({}, persistedVersions, { current: __assign({ version: version_1.version }, (persistedCurrentVersion && { info: persistedCurrentVersion.info })) }), | ||
lastVersionCheck: lastVersionCheck, | ||
dismissedVersionNotification: dismissedVersionNotification, | ||
}; | ||
var api = { | ||
getCurrentVersion: function () { | ||
var current = store.getState().versions.current; | ||
return current; | ||
}, | ||
getLatestVersion: function () { | ||
var _a = store.getState().versions, latest = _a.latest, next = _a.next, current = _a.current; | ||
if (current && semver_1.default.prerelease(current.version) && next) { | ||
return latest && semver_1.default.gt(latest.version, next.version) ? latest : next; | ||
} | ||
return latest; | ||
}, | ||
versionUpdateAvailable: function () { | ||
var latest = api.getLatestVersion(); | ||
var current = api.getCurrentVersion(); | ||
if (!latest || !latest.version) { | ||
return true; | ||
} | ||
return latest && semver_1.default.gt(latest.version, current.version); | ||
}, | ||
}; | ||
// Grab versions from the server/local storage right away | ||
function init(_a) { | ||
var fullApi = _a.api; | ||
return __awaiter(this, void 0, void 0, function () { | ||
var _b, versions, now, _c, latest, next, error_1, latestVersion_1; | ||
return __generator(this, function (_d) { | ||
switch (_d.label) { | ||
case 0: | ||
_b = store.getState().versions, versions = _b === void 0 ? {} : _b; | ||
now = Date.now(); | ||
if (!(!lastVersionCheck || now - lastVersionCheck > checkInterval)) return [3 /*break*/, 5]; | ||
_d.label = 1; | ||
case 1: | ||
_d.trys.push([1, 4, , 5]); | ||
return [4 /*yield*/, fetchLatestVersion(version_1.version)]; | ||
case 2: | ||
_c = _d.sent(), latest = _c.latest, next = _c.next; | ||
return [4 /*yield*/, store.setState({ | ||
versions: __assign({}, versions, { latest: latest, next: next }), | ||
lastVersionCheck: now, | ||
}, { persistence: 'permanent' })]; | ||
case 3: | ||
_d.sent(); | ||
return [3 /*break*/, 5]; | ||
case 4: | ||
error_1 = _d.sent(); | ||
client_logger_1.logger.warn("Failed to fetch latest version from server: " + error_1); | ||
return [3 /*break*/, 5]; | ||
case 5: | ||
if (api.versionUpdateAvailable()) { | ||
latestVersion_1 = api.getLatestVersion().version; | ||
if (latestVersion_1 !== dismissedVersionNotification && | ||
!semver_1.default.patch(latestVersion_1) && | ||
!semver_1.default.prerelease(latestVersion_1) && | ||
mode !== 'production') { | ||
fullApi.addNotification({ | ||
id: 'update', | ||
link: '/settings/about', | ||
content: "\uD83C\uDF89 Storybook " + latestVersion_1 + " is available!", | ||
onClear: function () { | ||
store.setState({ dismissedVersionNotification: latestVersion_1 }, { persistence: 'permanent' }); | ||
}, | ||
}); | ||
} | ||
} | ||
return [2 /*return*/]; | ||
function _fetchLatestVersion() { | ||
_fetchLatestVersion = _asyncToGenerator( | ||
/*#__PURE__*/ | ||
regeneratorRuntime.mark(function _callee2(v) { | ||
var fromFetch; | ||
return regeneratorRuntime.wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
_context2.next = 2; | ||
return (0, _global.fetch)("".concat(versionsUrl, "?current=").concat(v)); | ||
case 2: | ||
fromFetch = _context2.sent; | ||
return _context2.abrupt("return", fromFetch.json()); | ||
case 4: | ||
case "end": | ||
return _context2.stop(); | ||
} | ||
} | ||
}, _callee2); | ||
})); | ||
return _fetchLatestVersion.apply(this, arguments); | ||
} | ||
function _default(_ref) { | ||
var store = _ref.store, | ||
mode = _ref.mode; | ||
var _store$getState = store.getState(), | ||
_store$getState$versi = _store$getState.versions, | ||
persistedVersions = _store$getState$versi === void 0 ? {} : _store$getState$versi, | ||
_store$getState$lastV = _store$getState.lastVersionCheck, | ||
lastVersionCheck = _store$getState$lastV === void 0 ? 0 : _store$getState$lastV, | ||
dismissedVersionNotification = _store$getState.dismissedVersionNotification; // Check to see if we have info about the current version persisted | ||
var persistedCurrentVersion = Object.values(persistedVersions).find(function (v) { | ||
return v.version === _version.version; | ||
}); | ||
var state = { | ||
versions: Object.assign({}, persistedVersions, { | ||
current: Object.assign({ | ||
version: _version.version | ||
}, persistedCurrentVersion && { | ||
info: persistedCurrentVersion.info | ||
}) | ||
}), | ||
lastVersionCheck: lastVersionCheck, | ||
dismissedVersionNotification: dismissedVersionNotification | ||
}; | ||
var api = { | ||
getCurrentVersion: function getCurrentVersion() { | ||
var _store$getState2 = store.getState(), | ||
current = _store$getState2.versions.current; | ||
return current; | ||
}, | ||
getLatestVersion: function getLatestVersion() { | ||
var _store$getState3 = store.getState(), | ||
_store$getState3$vers = _store$getState3.versions, | ||
latest = _store$getState3$vers.latest, | ||
next = _store$getState3$vers.next, | ||
current = _store$getState3$vers.current; | ||
if (current && _semver.default.prerelease(current.version) && next) { | ||
return latest && _semver.default.gt(latest.version, next.version) ? latest : next; | ||
} | ||
return latest; | ||
}, | ||
versionUpdateAvailable: function versionUpdateAvailable() { | ||
var latest = api.getLatestVersion(); | ||
var current = api.getCurrentVersion(); | ||
if (!latest || !latest.version) { | ||
return true; | ||
} | ||
return latest && _semver.default.gt(latest.version, current.version); | ||
} | ||
}; // Grab versions from the server/local storage right away | ||
function init(_x2) { | ||
return _init.apply(this, arguments); | ||
} | ||
function _init() { | ||
_init = _asyncToGenerator( | ||
/*#__PURE__*/ | ||
regeneratorRuntime.mark(function _callee(_ref2) { | ||
var fullApi, _store$getState4, _store$getState4$vers, versions, now, _ref3, _latest, _next2, latestVersion; | ||
return regeneratorRuntime.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
fullApi = _ref2.api; | ||
_store$getState4 = store.getState(), _store$getState4$vers = _store$getState4.versions, versions = _store$getState4$vers === void 0 ? {} : _store$getState4$vers; | ||
now = Date.now(); | ||
if (!(!lastVersionCheck || now - lastVersionCheck > checkInterval)) { | ||
_context.next = 17; | ||
break; | ||
} | ||
_context.prev = 4; | ||
_context.next = 7; | ||
return fetchLatestVersion(_version.version); | ||
case 7: | ||
_ref3 = _context.sent; | ||
_latest = _ref3.latest; | ||
_next2 = _ref3.next; | ||
_context.next = 12; | ||
return store.setState({ | ||
versions: Object.assign({}, versions, { | ||
latest: _latest, | ||
next: _next2 | ||
}), | ||
lastVersionCheck: now | ||
}, { | ||
persistence: 'permanent' | ||
}); | ||
case 12: | ||
_context.next = 17; | ||
break; | ||
case 14: | ||
_context.prev = 14; | ||
_context.t0 = _context["catch"](4); | ||
_clientLogger.logger.warn("Failed to fetch latest version from server: ".concat(_context.t0)); | ||
case 17: | ||
if (api.versionUpdateAvailable()) { | ||
latestVersion = api.getLatestVersion().version; | ||
if (latestVersion !== dismissedVersionNotification && !_semver.default.patch(latestVersion) && !_semver.default.prerelease(latestVersion) && mode !== 'production') { | ||
fullApi.addNotification({ | ||
id: 'update', | ||
link: '/settings/about', | ||
content: "\uD83C\uDF89 Storybook ".concat(latestVersion, " is available!"), | ||
onClear: function onClear() { | ||
store.setState({ | ||
dismissedVersionNotification: latestVersion | ||
}, { | ||
persistence: 'permanent' | ||
}); | ||
} | ||
}); | ||
} | ||
}); | ||
}); | ||
} | ||
return { init: init, state: state, api: api }; | ||
} | ||
exports.default = default_1; | ||
} | ||
case 18: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee, null, [[4, 14]]); | ||
})); | ||
return _init.apply(this, arguments); | ||
} | ||
return { | ||
init: init, | ||
state: state, | ||
api: api | ||
}; | ||
} |
"use strict"; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var store2_1 = __importDefault(require("store2")); | ||
var store_setup_1 = __importDefault(require("./lib/store-setup")); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = exports.STORAGE_KEY = void 0; | ||
require("core-js/modules/es6.object.define-property"); | ||
require("core-js/modules/es6.promise"); | ||
require("core-js/modules/es6.object.to-string"); | ||
require("regenerator-runtime/runtime"); | ||
require("core-js/modules/es6.object.assign"); | ||
var _store = _interopRequireDefault(require("store2")); | ||
var _storeSetup = _interopRequireDefault(require("./lib/store-setup")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } | ||
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } | ||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } | ||
// setting up the store, overriding set and get to use telejson | ||
// @ts-ignore | ||
store_setup_1.default(store2_1.default._); | ||
exports.STORAGE_KEY = '@storybook/ui/store'; | ||
(0, _storeSetup.default)(_store.default._); | ||
var STORAGE_KEY = '@storybook/ui/store'; | ||
exports.STORAGE_KEY = STORAGE_KEY; | ||
function get(storage) { | ||
var data = storage.get(exports.STORAGE_KEY); | ||
return data || {}; | ||
var data = storage.get(STORAGE_KEY); | ||
return data || {}; | ||
} | ||
function set(storage, value) { | ||
storage.set(exports.STORAGE_KEY, value); | ||
storage.set(STORAGE_KEY, value); | ||
} | ||
function update(storage, patch) { | ||
var previous = get(storage); | ||
// Apply the same behaviour as react here | ||
set(storage, __assign({}, previous, patch)); | ||
var previous = get(storage); // Apply the same behaviour as react here | ||
set(storage, Object.assign({}, previous, patch)); | ||
} | ||
// Our store piggybacks off the internal React state of the Context Provider | ||
// It has been augmented to persist state to local/sessionStorage | ||
var Store = /** @class */ (function () { | ||
function Store(_a) { | ||
var setState = _a.setState, getState = _a.getState; | ||
this.upstreamSetState = setState; | ||
this.upstreamGetState = getState; | ||
var Store = | ||
/*#__PURE__*/ | ||
function () { | ||
function Store(_ref) { | ||
var setState = _ref.setState, | ||
getState = _ref.getState; | ||
_classCallCheck(this, Store); | ||
this.upstreamGetState = void 0; | ||
this.upstreamSetState = void 0; | ||
this.upstreamSetState = setState; | ||
this.upstreamGetState = getState; | ||
} // The assumption is that this will be called once, to initialize the React state | ||
// when the module is instanciated | ||
_createClass(Store, [{ | ||
key: "getInitialState", | ||
value: function getInitialState(base) { | ||
// We don't only merge at the very top level (the same way as React setState) | ||
// when you set keys, so it makes sense to do the same in combining the two storage modes | ||
// Really, you shouldn't store the same key in both places | ||
return Object.assign({}, base, get(_store.default.local), get(_store.default.session)); | ||
} | ||
// The assumption is that this will be called once, to initialize the React state | ||
// when the module is instanciated | ||
Store.prototype.getInitialState = function (base) { | ||
// We don't only merge at the very top level (the same way as React setState) | ||
// when you set keys, so it makes sense to do the same in combining the two storage modes | ||
// Really, you shouldn't store the same key in both places | ||
return __assign({}, base, get(store2_1.default.local), get(store2_1.default.session)); | ||
}; | ||
Store.prototype.getState = function () { | ||
return this.upstreamGetState(); | ||
}; | ||
Store.prototype.setState = function (inputPatch, cbOrOptions, inputOptions) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var callback, options, _a, persistence, patch, delta, newState, storage; | ||
var _this = this; | ||
return __generator(this, function (_b) { | ||
switch (_b.label) { | ||
case 0: | ||
if (typeof cbOrOptions === 'function') { | ||
callback = cbOrOptions; | ||
options = inputOptions; | ||
} | ||
else { | ||
options = cbOrOptions; | ||
} | ||
_a = (options || {}).persistence, persistence = _a === void 0 ? 'none' : _a; | ||
patch = {}; | ||
delta = {}; | ||
if (typeof inputPatch === 'function') { | ||
// Pass the same function, but just set delta on the way | ||
patch = function (state) { | ||
var getDelta = inputPatch; | ||
delta = getDelta(state); | ||
return delta; | ||
}; | ||
} | ||
else { | ||
patch = inputPatch; | ||
delta = patch; | ||
} | ||
return [4 /*yield*/, new Promise(function (resolve) { | ||
_this.upstreamSetState(patch, resolve); | ||
})]; | ||
case 1: | ||
newState = _b.sent(); | ||
if (!(persistence !== 'none')) return [3 /*break*/, 3]; | ||
storage = persistence === 'session' ? store2_1.default.session : store2_1.default.local; | ||
return [4 /*yield*/, update(storage, delta)]; | ||
case 2: | ||
_b.sent(); | ||
_b.label = 3; | ||
case 3: | ||
if (callback) { | ||
callback(newState); | ||
} | ||
return [2 /*return*/, newState]; | ||
}, { | ||
key: "getState", | ||
value: function getState() { | ||
return this.upstreamGetState(); | ||
} | ||
}, { | ||
key: "setState", | ||
value: function () { | ||
var _setState = _asyncToGenerator( | ||
/*#__PURE__*/ | ||
regeneratorRuntime.mark(function _callee(inputPatch, cbOrOptions, inputOptions) { | ||
var _this = this; | ||
var callback, options, _ref2, _ref2$persistence, persistence, patch, delta, newState, storage; | ||
return regeneratorRuntime.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
if (typeof cbOrOptions === 'function') { | ||
callback = cbOrOptions; | ||
options = inputOptions; | ||
} else { | ||
options = cbOrOptions; | ||
} | ||
}); | ||
}); | ||
}; | ||
return Store; | ||
}()); | ||
exports.default = Store; | ||
_ref2 = options || {}, _ref2$persistence = _ref2.persistence, persistence = _ref2$persistence === void 0 ? 'none' : _ref2$persistence; | ||
patch = {}; // What did the patch actually return | ||
delta = {}; | ||
if (typeof inputPatch === 'function') { | ||
// Pass the same function, but just set delta on the way | ||
patch = function patch(state) { | ||
var getDelta = inputPatch; | ||
delta = getDelta(state); | ||
return delta; | ||
}; | ||
} else { | ||
patch = inputPatch; | ||
delta = patch; | ||
} | ||
_context.next = 7; | ||
return new Promise(function (resolve) { | ||
_this.upstreamSetState(patch, resolve); | ||
}); | ||
case 7: | ||
newState = _context.sent; | ||
if (!(persistence !== 'none')) { | ||
_context.next = 12; | ||
break; | ||
} | ||
storage = persistence === 'session' ? _store.default.session : _store.default.local; | ||
_context.next = 12; | ||
return update(storage, delta); | ||
case 12: | ||
if (callback) { | ||
callback(newState); | ||
} | ||
return _context.abrupt("return", newState); | ||
case 14: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee); | ||
})); | ||
function setState(_x, _x2, _x3) { | ||
return _setState.apply(this, arguments); | ||
} | ||
return setState; | ||
}() | ||
}]); | ||
return Store; | ||
}(); | ||
exports.default = Store; |
@@ -1,1 +0,1 @@ | ||
export declare const version = "5.1.0-alpha.20"; | ||
export declare const version = "5.1.0-alpha.21"; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.version = '5.1.0-alpha.20'; | ||
require("core-js/modules/es6.object.define-property"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.version = void 0; | ||
var version = '5.1.0-alpha.21'; | ||
exports.version = version; |
{ | ||
"name": "@storybook/api", | ||
"version": "5.1.0-alpha.20", | ||
"version": "5.1.0-alpha.21", | ||
"description": "Core Storybook API & Context", | ||
@@ -23,7 +23,7 @@ "keywords": [ | ||
"dependencies": { | ||
"@storybook/channels": "5.1.0-alpha.20", | ||
"@storybook/client-logger": "5.1.0-alpha.20", | ||
"@storybook/core-events": "5.1.0-alpha.20", | ||
"@storybook/router": "5.1.0-alpha.20", | ||
"@storybook/theming": "5.1.0-alpha.20", | ||
"@storybook/channels": "5.1.0-alpha.21", | ||
"@storybook/client-logger": "5.1.0-alpha.21", | ||
"@storybook/core-events": "5.1.0-alpha.21", | ||
"@storybook/router": "5.1.0-alpha.21", | ||
"@storybook/theming": "5.1.0-alpha.21", | ||
"core-js": "^2.6.5", | ||
@@ -51,3 +51,3 @@ "fast-deep-equal": "^2.0.1", | ||
}, | ||
"gitHead": "a57917a19ceaafd5f5c42bd47821568f9dc26390" | ||
"gitHead": "99c262545d1c106802ada148883ed371901f971c" | ||
} |
@@ -1,1 +0,1 @@ | ||
export const version = '5.1.0-alpha.20'; | ||
export const version = '5.1.0-alpha.21'; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
226253
73
6273
30
+ Added@storybook/channels@5.1.0-alpha.21(transitive)
+ Added@storybook/client-logger@5.1.0-alpha.21(transitive)
+ Added@storybook/core-events@5.1.0-alpha.21(transitive)
+ Added@storybook/router@5.1.0-alpha.21(transitive)
+ Added@storybook/theming@5.1.0-alpha.21(transitive)
- Removed@storybook/channels@5.1.0-alpha.20(transitive)
- Removed@storybook/client-logger@5.1.0-alpha.20(transitive)
- Removed@storybook/core-events@5.1.0-alpha.20(transitive)
- Removed@storybook/router@5.1.0-alpha.20(transitive)
- Removed@storybook/theming@5.1.0-alpha.20(transitive)