@reach/dialog
Advanced tools
Comparing version 0.2.9 to 0.3.0-alpha.0
148
es/index.js
@@ -1,4 +0,4 @@ | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } | ||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } | ||
@@ -16,13 +16,16 @@ import React from "react"; | ||
var rootNodes = []; | ||
Array.prototype.forEach.call(document.querySelectorAll("body > *"), function (node) { | ||
var portalNode = dialogNode.parentNode.parentNode.parentNode; | ||
if (node === portalNode) { | ||
return; | ||
} | ||
var attr = node.getAttribute("aria-hidden"); | ||
var alreadyHidden = attr !== null && attr !== "false"; | ||
if (alreadyHidden) { | ||
return; | ||
} | ||
originalValues.push(attr); | ||
@@ -32,6 +35,6 @@ rootNodes.push(node); | ||
}); | ||
return function () { | ||
rootNodes.forEach(function (node, index) { | ||
var originalValue = originalValues[index]; | ||
if (originalValue === null) { | ||
@@ -58,75 +61,65 @@ node.removeAttribute("aria-hidden"); | ||
var refs = _ref.refs; | ||
refs.disposeAriaHider(); | ||
}; | ||
}; // eslint-disable-next-line no-unused-vars | ||
var FocusContext = React.createContext(); | ||
var DialogOverlay = React.forwardRef(function (_ref2, forwardedRef) { | ||
var _ref2$isOpen = _ref2.isOpen, | ||
isOpen = _ref2$isOpen === undefined ? true : _ref2$isOpen, | ||
isOpen = _ref2$isOpen === void 0 ? true : _ref2$isOpen, | ||
_ref2$onDismiss = _ref2.onDismiss, | ||
onDismiss = _ref2$onDismiss === undefined ? k : _ref2$onDismiss, | ||
onDismiss = _ref2$onDismiss === void 0 ? k : _ref2$onDismiss, | ||
onMouseDown = _ref2.onMouseDown, | ||
initialFocusRef = _ref2.initialFocusRef, | ||
onClick = _ref2.onClick, | ||
onKeyDown = _ref2.onKeyDown, | ||
props = _objectWithoutProperties(_ref2, ["isOpen", "onDismiss", "initialFocusRef", "onClick", "onKeyDown"]); | ||
props = _objectWithoutPropertiesLoose(_ref2, ["isOpen", "onDismiss", "onMouseDown", "initialFocusRef", "onClick", "onKeyDown"]); | ||
return React.createElement( | ||
Component, | ||
{ didMount: checkDialogStyles }, | ||
isOpen ? React.createElement( | ||
Portal, | ||
{ "data-reach-dialog-wrapper": true }, | ||
React.createElement( | ||
Component, | ||
{ | ||
refs: { overlayNode: null }, | ||
didMount: function didMount(_ref3) { | ||
var refs = _ref3.refs; | ||
portalDidMount(refs); | ||
}, | ||
willUnmount: contentWillUnmount | ||
}, | ||
function (_ref4) { | ||
var refs = _ref4.refs; | ||
return React.createElement( | ||
FocusLock, | ||
{ | ||
returnFocus: true, | ||
onActivation: function onActivation() { | ||
if (initialFocusRef) { | ||
initialFocusRef.current.focus(); | ||
} | ||
} | ||
}, | ||
React.createElement( | ||
RemoveScroll, | ||
null, | ||
React.createElement("div", _extends({ | ||
"data-reach-dialog-overlay": true, | ||
onClick: wrapEvent(onClick, function (event) { | ||
event.stopPropagation(); | ||
onDismiss(); | ||
}), | ||
onKeyDown: wrapEvent(onKeyDown, function (event) { | ||
if (event.key === "Escape") { | ||
event.stopPropagation(); | ||
onDismiss(); | ||
} | ||
}), | ||
ref: function ref(node) { | ||
refs.overlayNode = node; | ||
assignRef(forwardedRef, node); | ||
} | ||
}, props)) | ||
) | ||
); | ||
return React.createElement(Component, { | ||
didMount: checkDialogStyles | ||
}, isOpen ? React.createElement(Portal, { | ||
"data-reach-dialog-wrapper": true | ||
}, React.createElement(Component, { | ||
refs: { | ||
overlayNode: null, | ||
mouseDownTarget: null | ||
}, | ||
didMount: function didMount(_ref3) { | ||
var refs = _ref3.refs; | ||
portalDidMount(refs); | ||
}, | ||
willUnmount: contentWillUnmount | ||
}, function (_ref4) { | ||
var refs = _ref4.refs; | ||
return React.createElement(FocusLock, { | ||
returnFocus: true, | ||
onActivation: function onActivation() { | ||
if (initialFocusRef) { | ||
initialFocusRef.current.focus(); | ||
} | ||
) | ||
) : null | ||
); | ||
} | ||
}, React.createElement(RemoveScroll, null, React.createElement("div", _extends({ | ||
"data-reach-dialog-overlay": true, | ||
onClick: wrapEvent(onClick, function (event) { | ||
if (refs.mouseDownTarget === event.target) { | ||
event.stopPropagation(); | ||
onDismiss(event); | ||
} | ||
}), | ||
onMouseDown: wrapEvent(onMouseDown, function (event) { | ||
refs.mouseDownTarget = event.target; | ||
}), | ||
onKeyDown: wrapEvent(onKeyDown, function (event) { | ||
if (event.key === "Escape") { | ||
event.stopPropagation(); | ||
onDismiss(event); | ||
} | ||
}), | ||
ref: function ref(node) { | ||
refs.overlayNode = node; | ||
assignRef(forwardedRef, node); | ||
} | ||
}, props)))); | ||
})) : null); | ||
}); | ||
DialogOverlay.propTypes = { | ||
@@ -143,3 +136,3 @@ initialFocusRef: function initialFocusRef() {} | ||
onKeyDown = _ref5.onKeyDown, | ||
props = _objectWithoutProperties(_ref5, ["onClick", "onKeyDown"]); | ||
props = _objectWithoutPropertiesLoose(_ref5, ["onClick", "onKeyDown"]); | ||
@@ -160,22 +153,17 @@ return React.createElement("div", _extends({ | ||
_ref6$onDismiss = _ref6.onDismiss, | ||
onDismiss = _ref6$onDismiss === undefined ? k : _ref6$onDismiss, | ||
onDismiss = _ref6$onDismiss === void 0 ? k : _ref6$onDismiss, | ||
initialFocusRef = _ref6.initialFocusRef, | ||
props = _objectWithoutProperties(_ref6, ["isOpen", "onDismiss", "initialFocusRef"]); | ||
props = _objectWithoutPropertiesLoose(_ref6, ["isOpen", "onDismiss", "initialFocusRef"]); | ||
return React.createElement( | ||
DialogOverlay, | ||
{ | ||
isOpen: isOpen, | ||
onDismiss: onDismiss, | ||
initialFocusRef: initialFocusRef | ||
}, | ||
React.createElement(DialogContent, props) | ||
); | ||
return React.createElement(DialogOverlay, { | ||
isOpen: isOpen, | ||
onDismiss: onDismiss, | ||
initialFocusRef: initialFocusRef | ||
}, React.createElement(DialogContent, props)); | ||
}; | ||
process.env.NODE_ENV !== "production" ? Dialog.propTypes = { | ||
Dialog.propTypes = { | ||
isOpen: bool, | ||
onDismiss: func | ||
} : void 0; | ||
}; | ||
export { DialogOverlay, DialogContent, Dialog }; |
183
index.js
"use strict"; | ||
exports.__esModule = true; | ||
exports.Dialog = exports.DialogContent = exports.DialogOverlay = undefined; | ||
exports.Dialog = exports.DialogContent = exports.DialogOverlay = void 0; | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var _react = _interopRequireDefault(require("react")); | ||
var _react = require("react"); | ||
var _componentComponent = _interopRequireDefault(require("@reach/component-component")); | ||
var _react2 = _interopRequireDefault(_react); | ||
var _portal = _interopRequireDefault(require("@reach/portal")); | ||
var _componentComponent = require("@reach/component-component"); | ||
var _componentComponent2 = _interopRequireDefault(_componentComponent); | ||
var _portal = require("@reach/portal"); | ||
var _portal2 = _interopRequireDefault(_portal); | ||
var _utils = require("@reach/utils"); | ||
var _reactFocusLock = require("react-focus-lock"); | ||
var _reactFocusLock = _interopRequireDefault(require("react-focus-lock")); | ||
var _reactFocusLock2 = _interopRequireDefault(_reactFocusLock); | ||
var _reactRemoveScroll = require("react-remove-scroll"); | ||
@@ -30,20 +20,25 @@ | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } | ||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } | ||
var createAriaHider = function createAriaHider(dialogNode) { | ||
var originalValues = []; | ||
var rootNodes = []; | ||
Array.prototype.forEach.call(document.querySelectorAll("body > *"), function (node) { | ||
var portalNode = dialogNode.parentNode.parentNode.parentNode; | ||
if (node === portalNode) { | ||
return; | ||
} | ||
var attr = node.getAttribute("aria-hidden"); | ||
var alreadyHidden = attr !== null && attr !== "false"; | ||
if (alreadyHidden) { | ||
return; | ||
} | ||
originalValues.push(attr); | ||
@@ -53,6 +48,6 @@ rootNodes.push(node); | ||
}); | ||
return function () { | ||
rootNodes.forEach(function (node, index) { | ||
var originalValue = originalValues[index]; | ||
if (originalValue === null) { | ||
@@ -79,75 +74,68 @@ node.removeAttribute("aria-hidden"); | ||
var refs = _ref.refs; | ||
refs.disposeAriaHider(); | ||
}; | ||
}; // eslint-disable-next-line no-unused-vars | ||
var FocusContext = _react2.default.createContext(); | ||
var DialogOverlay = _react2.default.forwardRef(function (_ref2, forwardedRef) { | ||
var FocusContext = _react["default"].createContext(); | ||
var DialogOverlay = _react["default"].forwardRef(function (_ref2, forwardedRef) { | ||
var _ref2$isOpen = _ref2.isOpen, | ||
isOpen = _ref2$isOpen === undefined ? true : _ref2$isOpen, | ||
isOpen = _ref2$isOpen === void 0 ? true : _ref2$isOpen, | ||
_ref2$onDismiss = _ref2.onDismiss, | ||
onDismiss = _ref2$onDismiss === undefined ? k : _ref2$onDismiss, | ||
onDismiss = _ref2$onDismiss === void 0 ? k : _ref2$onDismiss, | ||
onMouseDown = _ref2.onMouseDown, | ||
initialFocusRef = _ref2.initialFocusRef, | ||
onClick = _ref2.onClick, | ||
onKeyDown = _ref2.onKeyDown, | ||
props = _objectWithoutProperties(_ref2, ["isOpen", "onDismiss", "initialFocusRef", "onClick", "onKeyDown"]); | ||
props = _objectWithoutPropertiesLoose(_ref2, ["isOpen", "onDismiss", "onMouseDown", "initialFocusRef", "onClick", "onKeyDown"]); | ||
return _react2.default.createElement( | ||
_componentComponent2.default, | ||
{ didMount: checkDialogStyles }, | ||
isOpen ? _react2.default.createElement( | ||
_portal2.default, | ||
{ "data-reach-dialog-wrapper": true }, | ||
_react2.default.createElement( | ||
_componentComponent2.default, | ||
{ | ||
refs: { overlayNode: null }, | ||
didMount: function didMount(_ref3) { | ||
var refs = _ref3.refs; | ||
portalDidMount(refs); | ||
}, | ||
willUnmount: contentWillUnmount | ||
}, | ||
function (_ref4) { | ||
var refs = _ref4.refs; | ||
return _react2.default.createElement( | ||
_reactFocusLock2.default, | ||
{ | ||
returnFocus: true, | ||
onActivation: function onActivation() { | ||
if (initialFocusRef) { | ||
initialFocusRef.current.focus(); | ||
} | ||
} | ||
}, | ||
_react2.default.createElement( | ||
_reactRemoveScroll.RemoveScroll, | ||
null, | ||
_react2.default.createElement("div", _extends({ | ||
"data-reach-dialog-overlay": true, | ||
onClick: (0, _utils.wrapEvent)(onClick, function (event) { | ||
event.stopPropagation(); | ||
onDismiss(); | ||
}), | ||
onKeyDown: (0, _utils.wrapEvent)(onKeyDown, function (event) { | ||
if (event.key === "Escape") { | ||
event.stopPropagation(); | ||
onDismiss(); | ||
} | ||
}), | ||
ref: function ref(node) { | ||
refs.overlayNode = node; | ||
(0, _utils.assignRef)(forwardedRef, node); | ||
} | ||
}, props)) | ||
) | ||
); | ||
return _react["default"].createElement(_componentComponent["default"], { | ||
didMount: checkDialogStyles | ||
}, isOpen ? _react["default"].createElement(_portal["default"], { | ||
"data-reach-dialog-wrapper": true | ||
}, _react["default"].createElement(_componentComponent["default"], { | ||
refs: { | ||
overlayNode: null, | ||
mouseDownTarget: null | ||
}, | ||
didMount: function didMount(_ref3) { | ||
var refs = _ref3.refs; | ||
portalDidMount(refs); | ||
}, | ||
willUnmount: contentWillUnmount | ||
}, function (_ref4) { | ||
var refs = _ref4.refs; | ||
return _react["default"].createElement(_reactFocusLock["default"], { | ||
returnFocus: true, | ||
onActivation: function onActivation() { | ||
if (initialFocusRef) { | ||
initialFocusRef.current.focus(); | ||
} | ||
) | ||
) : null | ||
); | ||
} | ||
}, _react["default"].createElement(_reactRemoveScroll.RemoveScroll, null, _react["default"].createElement("div", _extends({ | ||
"data-reach-dialog-overlay": true, | ||
onClick: (0, _utils.wrapEvent)(onClick, function (event) { | ||
if (refs.mouseDownTarget === event.target) { | ||
event.stopPropagation(); | ||
onDismiss(event); | ||
} | ||
}), | ||
onMouseDown: (0, _utils.wrapEvent)(onMouseDown, function (event) { | ||
refs.mouseDownTarget = event.target; | ||
}), | ||
onKeyDown: (0, _utils.wrapEvent)(onKeyDown, function (event) { | ||
if (event.key === "Escape") { | ||
event.stopPropagation(); | ||
onDismiss(event); | ||
} | ||
}), | ||
ref: function ref(node) { | ||
refs.overlayNode = node; | ||
(0, _utils.assignRef)(forwardedRef, node); | ||
} | ||
}, props)))); | ||
})) : null); | ||
}); | ||
exports.DialogOverlay = DialogOverlay; | ||
DialogOverlay.propTypes = { | ||
@@ -161,8 +149,8 @@ initialFocusRef: function initialFocusRef() {} | ||
var DialogContent = _react2.default.forwardRef(function (_ref5, forwardedRef) { | ||
var DialogContent = _react["default"].forwardRef(function (_ref5, forwardedRef) { | ||
var onClick = _ref5.onClick, | ||
onKeyDown = _ref5.onKeyDown, | ||
props = _objectWithoutProperties(_ref5, ["onClick", "onKeyDown"]); | ||
props = _objectWithoutPropertiesLoose(_ref5, ["onClick", "onKeyDown"]); | ||
return _react2.default.createElement("div", _extends({ | ||
return _react["default"].createElement("div", _extends({ | ||
"aria-modal": "true", | ||
@@ -178,27 +166,22 @@ "data-reach-dialog-content": true, | ||
exports.DialogContent = DialogContent; | ||
var Dialog = function Dialog(_ref6) { | ||
var isOpen = _ref6.isOpen, | ||
_ref6$onDismiss = _ref6.onDismiss, | ||
onDismiss = _ref6$onDismiss === undefined ? k : _ref6$onDismiss, | ||
onDismiss = _ref6$onDismiss === void 0 ? k : _ref6$onDismiss, | ||
initialFocusRef = _ref6.initialFocusRef, | ||
props = _objectWithoutProperties(_ref6, ["isOpen", "onDismiss", "initialFocusRef"]); | ||
props = _objectWithoutPropertiesLoose(_ref6, ["isOpen", "onDismiss", "initialFocusRef"]); | ||
return _react2.default.createElement( | ||
DialogOverlay, | ||
{ | ||
isOpen: isOpen, | ||
onDismiss: onDismiss, | ||
initialFocusRef: initialFocusRef | ||
}, | ||
_react2.default.createElement(DialogContent, props) | ||
); | ||
return _react["default"].createElement(DialogOverlay, { | ||
isOpen: isOpen, | ||
onDismiss: onDismiss, | ||
initialFocusRef: initialFocusRef | ||
}, _react["default"].createElement(DialogContent, props)); | ||
}; | ||
process.env.NODE_ENV !== "production" ? Dialog.propTypes = { | ||
exports.Dialog = Dialog; | ||
Dialog.propTypes = { | ||
isOpen: _propTypes.bool, | ||
onDismiss: _propTypes.func | ||
} : void 0; | ||
exports.DialogOverlay = DialogOverlay; | ||
exports.DialogContent = DialogContent; | ||
exports.Dialog = Dialog; | ||
}; |
{ | ||
"name": "@reach/dialog", | ||
"version": "0.2.9", | ||
"version": "0.3.0-alpha.0", | ||
"description": "Accessible React Modal Dialog.", | ||
@@ -10,3 +10,2 @@ "author": "Ryan Florence <@ryanflorence>", | ||
"scripts": { | ||
"test": "jest", | ||
"build": "node ../../shared/build-package", | ||
@@ -16,7 +15,8 @@ "lint": "eslint . --max-warnings=0" | ||
"dependencies": { | ||
"@reach/component-component": "^0.1.3", | ||
"@reach/portal": "^0.2.1", | ||
"@reach/utils": "^0.2.3", | ||
"react-focus-lock": "^1.17.7", | ||
"react-remove-scroll": "^1.0.2" | ||
"@reach/component-component": "^0.3.0-alpha.0", | ||
"@reach/portal": "^0.3.0-alpha.0", | ||
"@reach/utils": "^0.3.0-alpha.0", | ||
"prop-types": "^15.7.2", | ||
"react-focus-lock": "^2.1.0", | ||
"react-remove-scroll": "^2.0.4" | ||
}, | ||
@@ -28,10 +28,6 @@ "peerDependencies": { | ||
"devDependencies": { | ||
"jest": "^23.4.2", | ||
"@reach/menu-button": "^0.3.0-alpha.0", | ||
"react": "^16.8.0", | ||
"react-test-renderer": "^16.8.0" | ||
}, | ||
"jest": { | ||
"testRegex": ".+\\.test\\.js$", | ||
"testURL": "http://localhost" | ||
}, | ||
"files": [ | ||
@@ -43,3 +39,4 @@ "es", | ||
"styles.css" | ||
] | ||
], | ||
"gitHead": "3234e9cf2a55f51c31ac5a7d883d34d6be6f033d" | ||
} |
103
src/index.js
@@ -52,2 +52,3 @@ import React from "react"; | ||
// eslint-disable-next-line no-unused-vars | ||
let FocusContext = React.createContext(); | ||
@@ -60,2 +61,3 @@ | ||
onDismiss = k, | ||
onMouseDown, | ||
initialFocusRef, | ||
@@ -67,49 +69,56 @@ onClick, | ||
forwardedRef | ||
) => ( | ||
<Component didMount={checkDialogStyles}> | ||
{isOpen ? ( | ||
<Portal data-reach-dialog-wrapper> | ||
<Component | ||
refs={{ overlayNode: null }} | ||
didMount={({ refs }) => { | ||
portalDidMount(refs); | ||
}} | ||
willUnmount={contentWillUnmount} | ||
> | ||
{({ refs }) => ( | ||
<FocusLock | ||
returnFocus | ||
onActivation={() => { | ||
if (initialFocusRef) { | ||
initialFocusRef.current.focus(); | ||
} | ||
}} | ||
> | ||
<RemoveScroll> | ||
<div | ||
data-reach-dialog-overlay | ||
onClick={wrapEvent(onClick, event => { | ||
event.stopPropagation(); | ||
onDismiss(); | ||
})} | ||
onKeyDown={wrapEvent(onKeyDown, event => { | ||
if (event.key === "Escape") { | ||
event.stopPropagation(); | ||
onDismiss(); | ||
} | ||
})} | ||
ref={node => { | ||
refs.overlayNode = node; | ||
assignRef(forwardedRef, node); | ||
}} | ||
{...props} | ||
/> | ||
</RemoveScroll> | ||
</FocusLock> | ||
)} | ||
</Component> | ||
</Portal> | ||
) : null} | ||
</Component> | ||
) | ||
) => { | ||
return ( | ||
<Component didMount={checkDialogStyles}> | ||
{isOpen ? ( | ||
<Portal data-reach-dialog-wrapper> | ||
<Component | ||
refs={{ overlayNode: null, mouseDownTarget: null }} | ||
didMount={({ refs }) => { | ||
portalDidMount(refs); | ||
}} | ||
willUnmount={contentWillUnmount} | ||
> | ||
{({ refs }) => ( | ||
<FocusLock | ||
returnFocus | ||
onActivation={() => { | ||
if (initialFocusRef) { | ||
initialFocusRef.current.focus(); | ||
} | ||
}} | ||
> | ||
<RemoveScroll> | ||
<div | ||
data-reach-dialog-overlay | ||
onClick={wrapEvent(onClick, event => { | ||
if (refs.mouseDownTarget === event.target) { | ||
event.stopPropagation(); | ||
onDismiss(event); | ||
} | ||
})} | ||
onMouseDown={wrapEvent(onMouseDown, event => { | ||
refs.mouseDownTarget = event.target; | ||
})} | ||
onKeyDown={wrapEvent(onKeyDown, event => { | ||
if (event.key === "Escape") { | ||
event.stopPropagation(); | ||
onDismiss(event); | ||
} | ||
})} | ||
ref={node => { | ||
refs.overlayNode = node; | ||
assignRef(forwardedRef, node); | ||
}} | ||
{...props} | ||
/> | ||
</RemoveScroll> | ||
</FocusLock> | ||
)} | ||
</Component> | ||
</Portal> | ||
) : null} | ||
</Component> | ||
); | ||
} | ||
); | ||
@@ -116,0 +125,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
19371
8
1
8
479
1
+ Addedprop-types@^15.7.2
+ Added@reach/component-component@0.3.0(transitive)
+ Added@reach/portal@0.3.0(transitive)
+ Added@reach/utils@0.3.0(transitive)
+ Addeddetect-node-es@1.1.0(transitive)
+ Addedfocus-lock@1.3.5(transitive)
+ Addedget-nonce@1.0.1(transitive)
+ Addedreact-focus-lock@2.13.2(transitive)
+ Addedreact-remove-scroll@2.6.0(transitive)
+ Addedreact-remove-scroll-bar@2.3.6(transitive)
+ Addedreact-style-singleton@2.2.1(transitive)
+ Addedtslib@2.7.0(transitive)
+ Addeduse-callback-ref@1.3.2(transitive)
+ Addeduse-sidecar@1.1.2(transitive)
- Removed@reach/component-component@0.1.3(transitive)
- Removed@reach/portal@0.2.1(transitive)
- Removed@reach/utils@0.2.3(transitive)
- Removedfocus-lock@0.6.8(transitive)
- Removedreact-focus-lock@1.19.1(transitive)
- Removedreact-remove-scroll@1.0.8(transitive)
- Removedreact-remove-scroll-bar@1.2.0(transitive)
- Removedreact-style-singleton@1.1.1(transitive)
- Removedtslib@1.14.1(transitive)
Updated@reach/portal@^0.3.0-alpha.0
Updated@reach/utils@^0.3.0-alpha.0
Updatedreact-focus-lock@^2.1.0
Updatedreact-remove-scroll@^2.0.4