@ucam/design-system
Version:
University of Cambridge Design System
19 lines (16 loc) • 2.37 kB
JavaScript
import React, { useContext } from 'react';
/** @internal */
const HydrationCheckerContext = React.createContext(undefined);
/**
* A hook to check whether we're hydrated
* Use inside <HydrationChecker />
*/
const useHydrated = (options = {}) => {
const value = useContext(HydrationCheckerContext);
if (value === undefined && !(options === null || options === void 0 ? void 0 : options.ignoreWarnings)) {
console.warn('useHydrated always returns undefined when outside of a HydrationChecker');
}
return value;
};
export { HydrationCheckerContext, useHydrated };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSHlkcmF0ZWQuanMiLCJzb3VyY2VzIjpbIi9AdWNhbS9kZXNpZ24tc3lzdGVtL3NyYy91c2VIeWRyYXRlZC91c2VIeWRyYXRlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGNvbnN0IEh5ZHJhdGlvbkNoZWNrZXJDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZUh5ZHJhdGVkT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IHVzZUh5ZHJhdGVkIGNoZWNrcyB0byBzZWUgaWYgaXQgaXMgcnVuIGluc2lkZSBhIEh5ZHJhdGlvbkNoZWNrZXIgYW5kIHdhcm5zIGlmIG5vdCwgdGhpcyBkaXNhYmxlcyB0aGF0IHdhcm5pbmdcbiAgICovXG4gIGlnbm9yZVdhcm5pbmdzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIGhvb2sgdG8gY2hlY2sgd2hldGhlciB3ZSdyZSBoeWRyYXRlZFxuICogVXNlIGluc2lkZSA8SHlkcmF0aW9uQ2hlY2tlciAvPlxuICovXG5leHBvcnQgY29uc3QgdXNlSHlkcmF0ZWQ6IChvcHRpb25zPzogVXNlSHlkcmF0ZWRPcHRpb25zKSA9PiBib29sZWFuIHwgdW5kZWZpbmVkID0gKFxuICBvcHRpb25zOiBVc2VIeWRyYXRlZE9wdGlvbnMgPSB7fVxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0gdXNlQ29udGV4dChIeWRyYXRpb25DaGVja2VyQ29udGV4dCk7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmICFvcHRpb25zPy5pZ25vcmVXYXJuaW5ncykge1xuICAgIGNvbnNvbGUud2FybigndXNlSHlkcmF0ZWQgYWx3YXlzIHJldHVybnMgdW5kZWZpbmVkIHdoZW4gb3V0c2lkZSBvZiBhIEh5ZHJhdGlvbkNoZWNrZXInKTtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7TUFDYSx1QkFBdUIsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFzQixTQUFTLEVBQUU7QUFTM0Y7Ozs7TUFJYSxXQUFXLEdBQTBELENBQ2hGLFVBQThCLEVBQUU7SUFFaEMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDbEQsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEVBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLGNBQWMsQ0FBQSxFQUFFO1FBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQUMseUVBQXlFLENBQUMsQ0FBQztLQUN6RjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2Y7Ozs7In0=