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

react-frame-component

Package Overview
Dependencies
Maintainers
1
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-frame-component - npm Package Compare versions

Comparing version 5.1.0 to 5.2.0

index.ts

25

lib/Frame.js

@@ -6,2 +6,3 @@ 'use strict';

});
exports.Frame = undefined;

@@ -38,3 +39,3 @@ 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 Frame = function (_Component) {
var Frame = exports.Frame = function (_Component) {
_inherits(Frame, _Component);

@@ -52,3 +53,11 @@

_this.setRef = function (node) {
_this.node = node;
_this.nodeRef.current = node;
var forwardedRef = _this.props.forwardedRef; // eslint-disable-line react/prop-types
if (typeof forwardedRef === 'function') {
forwardedRef(node);
} else if (forwardedRef) {
forwardedRef.current = node;
}
};

@@ -61,2 +70,3 @@

_this._isMounted = false;
_this.nodeRef = _react2.default.createRef();
_this.state = { iframeLoaded: false };

@@ -75,3 +85,3 @@ return _this;

} else {
this.node.addEventListener('load', this.handleLoad);
this.nodeRef.current.addEventListener('load', this.handleLoad);
}

@@ -84,3 +94,3 @@ }

this.node.removeEventListener('load', this.handleLoad);
this.nodeRef.current.removeEventListener('load', this.handleLoad);
}

@@ -90,3 +100,3 @@ }, {

value: function getDoc() {
return this.node ? this.node.contentDocument : null; // eslint-disable-line
return this.nodeRef.current ? this.nodeRef.current.contentDocument : null; // eslint-disable-line
}

@@ -152,2 +162,3 @@ }, {

delete props.contentDidUpdate;
delete props.forwardedRef;
return _react2.default.createElement(

@@ -182,2 +193,4 @@ 'iframe',

};
exports.default = Frame;
exports.default = _react2.default.forwardRef(function (props, ref) {
return _react2.default.createElement(Frame, _extends({}, props, { forwardedRef: ref }));
});

@@ -6,4 +6,12 @@ 'use strict';

});
exports.useFrame = exports.FrameContextConsumer = exports.FrameContext = undefined;
var _Frame = require('./Frame');
Object.defineProperty(exports, 'default', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Frame).default;
}
});
var _Context = require('./Context');

@@ -30,8 +38,2 @@

var _Frame = require('./Frame');
var _Frame2 = _interopRequireDefault(_Frame);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Frame2.default;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
{
"name": "react-frame-component",
"version": "5.1.0",
"version": "5.2.0",
"description": "React component to wrap your application or component in an iFrame for encapsulation purposes",
"main": "lib/index.js",
"files": [
"lib"
"lib",
"index.ts"
],

@@ -9,0 +10,0 @@ "scripts": {

@@ -78,3 +78,28 @@ # React &lt;Frame /> component

###### Accessing the iframe's window and document
###### ref
`ref: PropTypes.oneOfType([ PropTypes.func, PropTypes.shape({ current: PropTypes.instanceOf(Element) }) ])`
The `ref` prop provides a way to access inner iframe DOM node. To utilitize this prop use, for example, one of the React's built-in methods to create a ref: [`React.createRef()`](https://reactjs.org/docs/refs-and-the-dom.html#creating-refs) or [`React.useRef()`](https://reactjs.org/docs/hooks-reference.html#useref).
```js
const MyComponent = (props) => {
const iframeRef = React.useRef();
React.useEffect(() => {
// Use iframeRef for:
// - focus managing
// - triggering imperative animations
// - integrating with third-party DOM libraries
iframeRef.current.focus()
}, [])
return (
<Frame ref={iframeRef}>
<InnerComponent />
</Frame>
);
}
```
##### Accessing the iframe's window and document
The iframe's `window` and `document` may be accessed via the `FrameContextConsumer` or the `useFrame` hook.

@@ -81,0 +106,0 @@

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