@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
JavaScript
;
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);
}