@ucam/design-system
Version:
University of Cambridge Design System
30 lines (23 loc) • 2.89 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var themes = require('../themes/themes.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
/** @internal */
const ThemeUpdateContext = React__default['default'].createContext({
requestedThemeName: undefined,
renderedThemeName: 'light',
theme: themes.light,
setTheme: () => {
throw Error('Must be used inside a ThemeProvider');
}
});
/**
* A hook to get the current theme.
* Must be used inside a `<ThemeProvider />`
*/
const useTheme = () => React.useContext(ThemeUpdateContext);
exports.ThemeUpdateContext = ThemeUpdateContext;
exports.useTheme = useTheme;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGhlbWUuanMiLCJzb3VyY2VzIjpbIi9AdWNhbS9kZXNpZ24tc3lzdGVtL3NyYy90aGVtZS91c2VUaGVtZS91c2VUaGVtZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGxpZ2h0LCBUaGVtZSB9IGZyb20gJy4uL3RoZW1lcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlbWVVcGRhdGUge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRoZW1lIHRoYXQgdGhlIHVzZXIgc2VsZWN0ZWRcbiAgICovXG4gIHJlcXVlc3RlZFRoZW1lTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSByZW5kZXJlZCB0aGVtZS4gVGhpcyBtYXkgbm90IG1hdGNoIHRoZSB1c2VyIHNlbGVjdGlvbi5cbiAgICogdGhleSBtaWdodCBoYXZlIHNlbGVjdGVkIFwiQnJvd3NlciBQcmVmZXJlbmNlXCIgd2hpY2ggd291bGQgZWl0aGVyIHJlc3VsdCBpbiBcIkxpZ2h0XCIgb3IgXCJEYXJrXCJcbiAgICovXG4gIHJlbmRlcmVkVGhlbWVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCB0aGVtZVxuICAgKi9cbiAgdGhlbWU6IFRoZW1lO1xuICAvKipcbiAgICogU2V0IHRoZSBjdXJyZW50IHRoZW1lIChieSBuYW1lKVxuICAgKi9cbiAgc2V0VGhlbWU6ICh0aGVtZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4gdm9pZDtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IFRoZW1lVXBkYXRlQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8VGhlbWVVcGRhdGU+KHtcbiAgcmVxdWVzdGVkVGhlbWVOYW1lOiB1bmRlZmluZWQsXG4gIHJlbmRlcmVkVGhlbWVOYW1lOiAnbGlnaHQnLFxuICB0aGVtZTogbGlnaHQsXG4gIHNldFRoZW1lOiAoKSA9PiB7XG4gICAgdGhyb3cgRXJyb3IoJ011c3QgYmUgdXNlZCBpbnNpZGUgYSBUaGVtZVByb3ZpZGVyJyk7XG4gIH1cbn0pO1xuXG4vKipcbiAqIEEgaG9vayB0byBnZXQgdGhlIGN1cnJlbnQgdGhlbWUuXG4gKiBNdXN0IGJlIHVzZWQgaW5zaWRlIGEgYDxUaGVtZVByb3ZpZGVyIC8+YFxuICovXG5leHBvcnQgY29uc3QgdXNlVGhlbWU6ICgpID0+IFRoZW1lVXBkYXRlID0gKCkgPT4gdXNlQ29udGV4dChUaGVtZVVwZGF0ZUNvbnRleHQpO1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwibGlnaHQiLCJ1c2VDb250ZXh0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQXVCQTtNQUNhLGtCQUFrQixHQUFHQSx5QkFBSyxDQUFDLGFBQWEsQ0FBYztJQUNqRSxrQkFBa0IsRUFBRSxTQUFTO0lBQzdCLGlCQUFpQixFQUFFLE9BQU87SUFDMUIsS0FBSyxFQUFFQyxZQUFLO0lBQ1osUUFBUSxFQUFFO1FBQ1IsTUFBTSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztLQUNwRDtDQUNGLEVBQUU7QUFFSDs7OztNQUlhLFFBQVEsR0FBc0IsTUFBTUMsZ0JBQVUsQ0FBQyxrQkFBa0I7Ozs7OyJ9