New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@khanacademy/wonder-blocks-core

Package Overview
Dependencies
Maintainers
1
Versions
286
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@khanacademy/wonder-blocks-core - npm Package Compare versions

Comparing version 4.4.0 to 4.5.0

src/__docs__/exports.use-render-state.stories.mdx

6

CHANGELOG.md
# @khanacademy/wonder-blocks-core
## 4.5.0
### Minor Changes
- 175a2dd2: Add 'useRenderState' hook
## 4.4.0

@@ -4,0 +10,0 @@

17

dist/es/index.js
import _extends from '@babel/runtime/helpers/extends';
import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/objectWithoutPropertiesLoose';
import * as React from 'react';
import { useContext as useContext$1, useRef, useEffect as useEffect$1 } from 'react';
import { useContext, useRef, useEffect as useEffect$1 } from 'react';
import { StyleSheet, css } from 'aphrodite';

@@ -400,4 +400,6 @@

const useRenderState = () => useContext(RenderStateContext);
const useUniqueIdWithMock = scope => {
const renderState = useContext$1(RenderStateContext);
const renderState = useRenderState();
const idFactory = useRef(null);

@@ -420,3 +422,3 @@

const useUniqueIdWithoutMock = scope => {
const renderState = useContext$1(RenderStateContext);
const renderState = useRenderState();
const idFactory = useRef(null);

@@ -461,6 +463,6 @@

const {
useContext,
useEffect,
useState
} = React;
const RenderStateRoot = ({

@@ -471,3 +473,3 @@ children,

const [firstRender, setFirstRender] = useState(true);
const contextValue = useContext(RenderStateContext);
const renderState = useRenderState();
useEffect(() => {

@@ -477,3 +479,3 @@ setFirstRender(false);

if (contextValue !== RenderState.Root) {
if (renderState !== RenderState.Root) {
if (throwIfNested) {

@@ -491,2 +493,3 @@ throw new Error("There's already a <RenderStateRoot> above this instance in " + "the render tree. This instance should be removed.");

};
RenderStateRoot.defaultProps = {

@@ -496,2 +499,2 @@ throwIfNested: true

export { IDProvider, RenderStateRoot, server as Server, Text, UniqueIDProvider, View, WithSSRPlaceholder, addStyle, useForceUpdate, useOnline, useUniqueIdWithMock, useUniqueIdWithoutMock };
export { IDProvider, RenderState, RenderStateRoot, server as Server, Text, UniqueIDProvider, View, WithSSRPlaceholder, addStyle, useForceUpdate, useOnline, useRenderState, useUniqueIdWithMock, useUniqueIdWithoutMock };

@@ -85,3 +85,3 @@ module.exports =

/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 18);
/******/ return __webpack_require__(__webpack_require__.s = 19);
/******/ })

@@ -105,3 +105,3 @@ /************************************************************************/

const RenderState = __webpack_require__(20)({
const RenderState = __webpack_require__(21)({
Root: "root",

@@ -141,3 +141,3 @@ Initial: "initial",

/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addStyle; });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9);
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);

@@ -148,3 +148,3 @@ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);

/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(aphrodite__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9);
/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10);

@@ -200,2 +200,15 @@

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useRenderState; });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
const useRenderState = () => Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_components_render_state_context_js__WEBPACK_IMPORTED_MODULE_1__[/* RenderStateContext */ "b"]);
/***/ }),
/* 5 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return UniqueIDFactory; });

@@ -268,3 +281,3 @@ /**

/***/ }),
/* 5 */
/* 6 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -435,3 +448,3 @@

/***/ }),
/* 6 */
/* 7 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -443,5 +456,5 @@

/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _with_ssr_placeholder_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
/* harmony import */ var _util_unique_id_factory_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4);
/* harmony import */ var _util_ssr_id_factory_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10);
/* harmony import */ var _with_ssr_placeholder_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6);
/* harmony import */ var _util_unique_id_factory_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
/* harmony import */ var _util_ssr_id_factory_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11);

@@ -521,3 +534,3 @@

/***/ }),
/* 7 */
/* 8 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -550,3 +563,3 @@

/***/ }),
/* 8 */
/* 9 */
/***/ (function(module, exports) {

@@ -574,3 +587,3 @@

/***/ }),
/* 9 */
/* 10 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -656,6 +669,6 @@

}
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(19)))
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(20)))
/***/ }),
/* 10 */
/* 11 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -685,3 +698,3 @@

/***/ }),
/* 11 */
/* 12 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -694,5 +707,6 @@

/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _util_ssr_id_factory_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10);
/* harmony import */ var _util_unique_id_factory_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4);
/* harmony import */ var _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1);
/* harmony import */ var _use_render_state_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4);
/* harmony import */ var _util_ssr_id_factory_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11);
/* harmony import */ var _util_unique_id_factory_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5);
/* harmony import */ var _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1);

@@ -703,2 +717,3 @@

/**

@@ -713,15 +728,15 @@ * Returns a unique identifier factory. If the parent component hasn't

const useUniqueIdWithMock = scope => {
const renderState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_components_render_state_context_js__WEBPACK_IMPORTED_MODULE_3__[/* RenderStateContext */ "b"]);
const renderState = Object(_use_render_state_js__WEBPACK_IMPORTED_MODULE_1__[/* useRenderState */ "a"])();
const idFactory = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(null);
if (renderState === _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_3__[/* RenderState */ "a"].Root) {
if (renderState === _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_4__[/* RenderState */ "a"].Root) {
throw new Error("Components using useUniqueIdWithMock() should be descendants of <RenderStateRoot>");
}
if (renderState === _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_3__[/* RenderState */ "a"].Initial) {
return _util_ssr_id_factory_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"];
if (renderState === _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_4__[/* RenderState */ "a"].Initial) {
return _util_ssr_id_factory_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"];
}
if (!idFactory.current) {
idFactory.current = new _util_unique_id_factory_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"](scope);
idFactory.current = new _util_unique_id_factory_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"](scope);
}

@@ -740,10 +755,10 @@

const useUniqueIdWithoutMock = scope => {
const renderState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_components_render_state_context_js__WEBPACK_IMPORTED_MODULE_3__[/* RenderStateContext */ "b"]);
const renderState = Object(_use_render_state_js__WEBPACK_IMPORTED_MODULE_1__[/* useRenderState */ "a"])();
const idFactory = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(null);
if (renderState === _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_3__[/* RenderState */ "a"].Root) {
if (renderState === _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_4__[/* RenderState */ "a"].Root) {
throw new Error("Components using useUniqueIdWithoutMock() should be descendants of <RenderStateRoot>");
}
if (renderState === _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_3__[/* RenderState */ "a"].Initial) {
if (renderState === _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_4__[/* RenderState */ "a"].Initial) {
return null;

@@ -753,3 +768,3 @@ }

if (!idFactory.current) {
idFactory.current = new _util_unique_id_factory_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"](scope);
idFactory.current = new _util_unique_id_factory_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"](scope);
}

@@ -761,3 +776,3 @@

/***/ }),
/* 12 */
/* 13 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -767,3 +782,3 @@

/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Text; });
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9);
/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);

@@ -774,3 +789,3 @@ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);

/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(aphrodite__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _util_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9);
/* harmony import */ var _util_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10);

@@ -833,3 +848,3 @@

/***/ }),
/* 13 */
/* 14 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -937,3 +952,3 @@

/***/ }),
/* 14 */
/* 15 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -945,3 +960,3 @@

/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _unique_id_provider_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6);
/* harmony import */ var _unique_id_provider_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);

@@ -1016,3 +1031,3 @@

/***/ }),
/* 15 */
/* 16 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -1040,3 +1055,3 @@

/***/ }),
/* 16 */
/* 17 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -1048,3 +1063,3 @@

/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _use_force_update_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
/* harmony import */ var _use_force_update_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);

@@ -1077,3 +1092,3 @@

/***/ }),
/* 17 */
/* 18 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -1086,2 +1101,3 @@

/* harmony import */ var _render_state_context_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
/* harmony import */ var _hooks_use_render_state_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4);
// TODO(somewhatabstract, FEI-4174): Update eslint-plugin-import when they

@@ -1093,7 +1109,8 @@ // have fixed:

const {
useContext,
useEffect,
useState
} = react__WEBPACK_IMPORTED_MODULE_0__;
const RenderStateRoot = ({

@@ -1104,3 +1121,3 @@ children,

const [firstRender, setFirstRender] = useState(true);
const contextValue = useContext(_render_state_context_js__WEBPACK_IMPORTED_MODULE_1__[/* RenderStateContext */ "b"]);
const renderState = Object(_hooks_use_render_state_js__WEBPACK_IMPORTED_MODULE_2__[/* useRenderState */ "a"])();
useEffect(() => {

@@ -1110,3 +1127,3 @@ setFirstRender(false);

if (contextValue !== _render_state_context_js__WEBPACK_IMPORTED_MODULE_1__[/* RenderState */ "a"].Root) {
if (renderState !== _render_state_context_js__WEBPACK_IMPORTED_MODULE_1__[/* RenderState */ "a"].Root) {
if (throwIfNested) {

@@ -1125,3 +1142,6 @@ throw new Error("There's already a <RenderStateRoot> above this instance in " + "the render tree. This instance should be removed.");

}, children);
};
}; // We can set `defaultProps` on a functional component if we move the `export` to appear
// afterwards.
RenderStateRoot.defaultProps = {

@@ -1131,4 +1151,5 @@ throwIfNested: true

/***/ }),
/* 18 */
/* 19 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

@@ -1138,15 +1159,15 @@

__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _components_text_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12);
/* harmony import */ var _components_text_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Text", function() { return _components_text_js__WEBPACK_IMPORTED_MODULE_0__["a"]; });
/* harmony import */ var _components_view_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13);
/* harmony import */ var _components_view_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "View", function() { return _components_view_js__WEBPACK_IMPORTED_MODULE_1__["a"]; });
/* harmony import */ var _components_with_ssr_placeholder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
/* harmony import */ var _components_with_ssr_placeholder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "WithSSRPlaceholder", function() { return _components_with_ssr_placeholder_js__WEBPACK_IMPORTED_MODULE_2__["a"]; });
/* harmony import */ var _components_id_provider_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14);
/* harmony import */ var _components_id_provider_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(15);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "IDProvider", function() { return _components_id_provider_js__WEBPACK_IMPORTED_MODULE_3__["a"]; });
/* harmony import */ var _components_unique_id_provider_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6);
/* harmony import */ var _components_unique_id_provider_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UniqueIDProvider", function() { return _components_unique_id_provider_js__WEBPACK_IMPORTED_MODULE_4__["a"]; });

@@ -1157,6 +1178,6 @@

/* harmony import */ var _util_server_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(15);
/* harmony import */ var _util_server_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(16);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Server", function() { return _util_server_js__WEBPACK_IMPORTED_MODULE_6__["a"]; });
/* harmony import */ var _hooks_use_unique_id_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(11);
/* harmony import */ var _hooks_use_unique_id_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useUniqueIdWithMock", function() { return _hooks_use_unique_id_js__WEBPACK_IMPORTED_MODULE_7__["a"]; });

@@ -1166,12 +1187,16 @@

/* harmony import */ var _hooks_use_force_update_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7);
/* harmony import */ var _hooks_use_force_update_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useForceUpdate", function() { return _hooks_use_force_update_js__WEBPACK_IMPORTED_MODULE_8__["a"]; });
/* harmony import */ var _hooks_use_online_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(16);
/* harmony import */ var _hooks_use_online_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(17);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useOnline", function() { return _hooks_use_online_js__WEBPACK_IMPORTED_MODULE_9__["a"]; });
/* harmony import */ var _components_render_state_root_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(17);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RenderStateRoot", function() { return _components_render_state_root_js__WEBPACK_IMPORTED_MODULE_10__["a"]; });
/* harmony import */ var _hooks_use_render_state_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useRenderState", function() { return _hooks_use_render_state_js__WEBPACK_IMPORTED_MODULE_10__["a"]; });
/* harmony import */ var _components_render_state_root_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(18);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RenderStateRoot", function() { return _components_render_state_root_js__WEBPACK_IMPORTED_MODULE_11__["a"]; });
/* harmony import */ var _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RenderState", function() { return _components_render_state_context_js__WEBPACK_IMPORTED_MODULE_12__["a"]; });

@@ -1188,4 +1213,12 @@

// TODO(somewhatabstract, FEI-4174): Update eslint-plugin-import when they
// have fixed:
// https://github.com/import-js/eslint-plugin-import/issues/2073
// eslint-disable-next-line import/named
/***/ }),
/* 19 */
/* 20 */
/***/ (function(module, exports) {

@@ -1216,3 +1249,3 @@

/***/ }),
/* 20 */
/* 21 */
/***/ (function(module, exports) {

@@ -1219,0 +1252,0 @@

@@ -1,1 +0,5 @@

`wonder-blocks-core` provides building blocks and utilities for constructing other `wonder-blocks` components. Many of these may be useful inside your applications, as well.
Documentation for `@khanacademy/wonder-blocks-core` is now in Storybook.
Visit the [Storybook
Core](https://khan.github.io/wonder-blocks/?path=/docs/core) docs on GitHub
Pages.
{
"name": "@khanacademy/wonder-blocks-core",
"version": "4.4.0",
"version": "4.5.0",
"design": "v1",

@@ -5,0 +5,0 @@ "publishConfig": {

@@ -9,4 +9,5 @@ // @flow

import {RenderState, RenderStateContext} from "./render-state-context.js";
import {useRenderState} from "../hooks/use-render-state.js";
const {useContext, useEffect, useState} = React;
const {useEffect, useState} = React;

@@ -22,8 +23,5 @@ type Props = {|

export const RenderStateRoot = ({
children,
throwIfNested,
}: Props): React.Node => {
const RenderStateRoot = ({children, throwIfNested}: Props): React.Node => {
const [firstRender, setFirstRender] = useState<boolean>(true);
const contextValue = useContext(RenderStateContext);
const renderState = useRenderState();
useEffect(() => {

@@ -33,3 +31,3 @@ setFirstRender(false);

if (contextValue !== RenderState.Root) {
if (renderState !== RenderState.Root) {
if (throwIfNested) {

@@ -55,4 +53,8 @@ throw new Error(

// We can set `defaultProps` on a functional component if we move the `export` to appear
// afterwards.
RenderStateRoot.defaultProps = {
throwIfNested: true,
};
export {RenderStateRoot};
// @flow
import {useContext, useRef} from "react";
import {useRef} from "react";
import {useRenderState} from "./use-render-state.js";
import SsrIDFactory from "../util/ssr-id-factory.js";

@@ -13,3 +14,2 @@ import UniqueIDFactory from "../util/unique-id-factory.js";

RenderState,
RenderStateContext,
} from "../components/render-state-context.js";

@@ -28,3 +28,3 @@

export const useUniqueIdWithMock = (scope?: string): IIdentifierFactory => {
const renderState = useContext(RenderStateContext);
const renderState = useRenderState();
const idFactory = useRef<?IIdentifierFactory>(null);

@@ -57,3 +57,3 @@

export const useUniqueIdWithoutMock = (scope?: string): ?IIdentifierFactory => {
const renderState = useContext(RenderStateContext);
const renderState = useRenderState();
const idFactory = useRef<?IIdentifierFactory>(null);

@@ -60,0 +60,0 @@

@@ -17,4 +17,10 @@ // @flow

export {useOnline} from "./hooks/use-online.js";
export {useRenderState} from "./hooks/use-render-state.js";
export {RenderStateRoot} from "./components/render-state-root.js";
// TODO(somewhatabstract, FEI-4174): Update eslint-plugin-import when they
// have fixed:
// https://github.com/import-js/eslint-plugin-import/issues/2073
// eslint-disable-next-line import/named
export {RenderState} from "./components/render-state-context.js";
export type {AriaProps, IIdentifierFactory, StyleType};
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc