UNPKG

@uiw/react-markdown-preview-example

Version:

Preview the markdown files and run the React examples in the documentation.

80 lines (79 loc) 2.57 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports.store = void 0; exports.useStores = useStores; var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper")); var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _react = require("react"); var globalStore = { corners: { fixed: true, target: '__blank', zIndex: 10 }, darkMode: { permanent: true, dark: 'Dark', light: 'Light' }, example: null }; var listeners = []; var store = exports.store = { setCorners: function setCorners(opts) { globalStore = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, globalStore), {}, { corners: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, globalStore.corners), opts) }); emitChange(); }, setDarkMode: function setDarkMode(opts) { globalStore = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, globalStore), {}, { darkMode: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, globalStore.darkMode), opts) }); emitChange(); }, setExample: function setExample(example) { globalStore = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, globalStore), {}, { example: example }); emitChange(); }, setNavMenu: function setNavMenu(navMenu) { globalStore = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, globalStore), {}, { navMenu: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, globalStore.navMenu), navMenu) }); emitChange(); } }; function getSnapshot() { return globalStore; } function subscribe(listener) { listeners = [].concat((0, _toConsumableArray2["default"])(listeners), [listener]); return function () { listeners = listeners.filter(function (l) { return l !== listener; }); }; } function emitChange() { var _iterator = (0, _createForOfIteratorHelper2["default"])(listeners), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var listener = _step.value; listener(); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } } function useStores() { return (0, _react.useSyncExternalStore)(subscribe, getSnapshot); }