@iframe-resizer/react 5.1.3 → 5.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,4 +22,4 @@ yarn add @iframe-resizer/react
22
22
 
23
23
  ---
24
24
 
25
- _iframe-resizer version 5.1.3 2024-06-24 - 19:13:10.853Z_
25
+ _iframe-resizer version 5.2.0-beta.1 2024-07-02 - 15:47:44.129Z_
@@ -7,62 +7,58 @@
7
7
  declare module '@iframe-resizer/react' {
8
8
  import * as React from 'react'
9
9
 
10
- namespace IframeResizer {
11
- type IFrameObject = {
12
- moveToAnchor: (anchor: string) => void
13
- resize: () => void
14
- sendMessage: (message: string, targetOrigin?: string) => void
15
- }
16
-
17
- interface IFrameComponent extends HTMLIFrameElement {
18
- iFrameResizer: IFrameObject
19
- }
10
+ export type IFrameObject = {
11
+ moveToAnchor: (anchor: string) => void
12
+ resize: () => void
13
+ sendMessage: (message: string, targetOrigin?: string) => void
14
+ }
20
15
 
21
- type IFrameForwardRef = Omit<IFrameObject, 'close' | 'disconnect'> & {
22
- getElement: () => IFrameComponent
23
- getRef: () => any
24
- }
16
+ export interface IFrameComponent extends HTMLIFrameElement {
17
+ iFrameResizer: IFrameObject
18
+ }
25
19
 
26
- type IframeProps = React.DetailedHTMLProps<
27
- React.IframeHTMLAttributes<HTMLIFrameElement>,
28
- HTMLIFrameElement
29
- >
20
+ export type IFrameForwardRef = Omit<IFrameObject, 'close' | 'disconnect'> & {
21
+ getElement: () => IFrameComponent
22
+ getRef: () => any
23
+ }
30
24
 
31
- type ResizerOptions = {
32
- bodyBackground?: string | null
33
- bodyMargin?: string | number | null
34
- bodyPadding?: string | number | null
35
- checkOrigin?: boolean | string[]
36
- direction?: 'vertical' | 'horizontal' | 'none'
37
- forwardRef?: any
38
- inPageLinks?: boolean
39
- license: string
40
- offset?: number
41
- scrolling?: boolean | 'omit'
42
- tolerance?: number
43
- warningTimeout?: number
44
- }
25
+ export type IframeProps = React.DetailedHTMLProps<
26
+ React.IframeHTMLAttributes<HTMLIFrameElement>,
27
+ HTMLIFrameElement
28
+ >
45
29
 
46
- type ResizerEvents = {
47
- onInit?: (iframe: IFrameComponent) => void
48
- onMessage?: (ev: { iframe: IFrameComponent; message: any }) => void
49
- onResized?: (ev: {
50
- iframe: IFrameComponent
51
- height: number
52
- width: number
53
- type: string
54
- }) => void
55
- onScroll?: (ev: { x: number; y: number }) => boolean
56
- }
30
+ export type ResizerOptions = {
31
+ bodyBackground?: string | null
32
+ bodyMargin?: string | number | null
33
+ bodyPadding?: string | number | null
34
+ checkOrigin?: boolean | string[]
35
+ direction?: 'vertical' | 'horizontal' | 'none'
36
+ forwardRef?: any
37
+ inPageLinks?: boolean
38
+ license: string
39
+ offset?: number
40
+ scrolling?: boolean | 'omit'
41
+ tolerance?: number
42
+ warningTimeout?: number
43
+ }
57
44
 
58
- type IframeResizerProps = Omit<IframeProps, 'scrolling'> &
59
- ResizerOptions &
60
- ResizerEvents
45
+ export type ResizerEvents = {
46
+ onInit?: (iframe: IFrameComponent) => void
47
+ onMessage?: (ev: { iframe: IFrameComponent; message: any }) => void
48
+ onResized?: (ev: {
49
+ iframe: IFrameComponent
50
+ height: number
51
+ width: number
52
+ type: string
53
+ }) => void
54
+ onScroll?: (ev: { x: number; y: number }) => boolean
61
55
  }
62
56
 
63
- function IframeResizer(
64
- props: IframeResizer.IframeResizerProps,
65
- ): React.ReactElement
57
+ export type IframeResizerProps = Omit<IframeProps, 'scrolling'> &
58
+ ResizerOptions &
59
+ ResizerEvents
60
+
61
+ function IframeResizer(props: IframeResizerProps): React.ReactElement
66
62
 
67
- export = IframeResizer
63
+ export default IframeResizer
68
64
  }
package/index.cjs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @preserve
3
3
  *
4
- * @module iframe-resizer/react 5.1.3 (cjs) - 2024-06-24
4
+ * @module iframe-resizer/react 5.2.0-beta.1 (cjs) - 2024-07-02
5
5
  *
6
6
  * @license GPL-3.0 for non-commercial use only.
7
7
  * For commercial use, you must purchase a license from
@@ -17,4 +17,90 @@
17
17
  */
18
18
 
19
19
 
20
- "use strict";const e=require("@babel/runtime/helpers/extends"),r=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/objectWithoutProperties"),t=require("@iframe-resizer/core"),o=require("react"),i=require("warning");var c=["license","bodyBackground","bodyMargin","bodyPadding","checkOrigin","direction","inPageLinks","offset","offsetHeight","offsetWidth","scrolling","tolerance","warningTimeout","onClosed","onReady","onMessage","onResized"];var u=["title","forwardRef"];function s(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}module.exports=function(r){var s=r.title,f=r.forwardRef,l=n(r,u),d=function(e){return e.license,e.bodyBackground,e.bodyMargin,e.bodyPadding,e.checkOrigin,e.direction,e.inPageLinks,e.offset,e.offsetHeight,e.offsetWidth,e.scrolling,e.tolerance,e.warningTimeout,e.onClosed,e.onReady,e.onMessage,e.onResized,n(e,c)}(l),g=o.useRef(null),b=function(){var e;return i(!g.current,"[iframe-resizer/react][".concat(null==g||null===(e=g.current)||void 0===e?void 0:e.id,"] Close event ignored, to remove the iframe update your React component.")),!g.current};return o.useEffect((function(){var e=g.current,r=t(a(a({},l),{},{onClose:b}))(e);return function(){return null==r?void 0:r.disconnect()}}),[]),o.useImperativeHandle(f,(function(){return{getRef:function(){return g},getElement:function(){return g.current},resize:function(){return g.current.iframeResizer.resize()},moveToAnchor:function(e){return g.current.iframeResizer.moveToAnchor(e)},sendMessage:function(e,r){g.current.iframeResizer.sendMessage(e,r)}}})),o.createElement("iframe",e({title:s},d,{ref:g}))};
20
+ 'use strict';
21
+
22
+ const _extends = require('@babel/runtime/helpers/extends');
23
+ const _defineProperty = require('@babel/runtime/helpers/defineProperty');
24
+ const _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
25
+ const connectResizer = require('@iframe-resizer/core');
26
+ const React = require('react');
27
+ const warning = require('warning');
28
+
29
+ var _excluded$1 = ["license", "bodyBackground", "bodyMargin", "bodyPadding", "checkOrigin", "direction", "inPageLinks", "offset", "offsetHeight", "offsetWidth", "scrolling", "tolerance", "warningTimeout", "onClosed", "onReady", "onMessage", "onResized"];
30
+ const filterIframeAttribs = (function (props) {
31
+ props.license;
32
+ props.bodyBackground;
33
+ props.bodyMargin;
34
+ props.bodyPadding;
35
+ props.checkOrigin;
36
+ props.direction;
37
+ props.inPageLinks;
38
+ props.offset;
39
+ props.offsetHeight;
40
+ props.offsetWidth;
41
+ props.scrolling;
42
+ props.tolerance;
43
+ props.warningTimeout;
44
+ props.onClosed;
45
+ props.onReady;
46
+ props.onMessage;
47
+ props.onResized;
48
+ var iframeProps = _objectWithoutProperties(props, _excluded$1);
49
+ return iframeProps;
50
+ });
51
+
52
+ var _excluded = ["title", "forwardRef"];
53
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
54
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
55
+ function IframeResizer(props) {
56
+ // eslint-disable-next-line react/prop-types
57
+ var title = props.title,
58
+ forwardRef = props.forwardRef,
59
+ rest = _objectWithoutProperties(props, _excluded);
60
+ var filteredProps = filterIframeAttribs(rest);
61
+ var iframeRef = React.useRef(null);
62
+ var onClose = function onClose() {
63
+ var _iframeRef$current;
64
+ warning(!iframeRef.current, "[iframe-resizer/react][".concat(iframeRef === null || iframeRef === void 0 || (_iframeRef$current = iframeRef.current) === null || _iframeRef$current === void 0 ? void 0 : _iframeRef$current.id, "] Close event ignored, to remove the iframe update your React component."));
65
+ return !iframeRef.current; // Allow React to close this
66
+ };
67
+
68
+ // This hook is only run once, as once iframe-resizer is bound, it will
69
+ // deal with changes to the element and does not need recalling
70
+ React.useEffect(function () {
71
+ var iframe = iframeRef.current;
72
+ var resizer = connectResizer(_objectSpread(_objectSpread({}, rest), {}, {
73
+ onClose: onClose
74
+ }))(iframe);
75
+ return function () {
76
+ return resizer === null || resizer === void 0 ? void 0 : resizer.disconnect();
77
+ };
78
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
79
+
80
+ React.useImperativeHandle(forwardRef, function () {
81
+ return {
82
+ getRef: function getRef() {
83
+ return iframeRef;
84
+ },
85
+ getElement: function getElement() {
86
+ return iframeRef.current;
87
+ },
88
+ resize: function resize() {
89
+ return iframeRef.current.iframeResizer.resize();
90
+ },
91
+ moveToAnchor: function moveToAnchor(anchor) {
92
+ return iframeRef.current.iframeResizer.moveToAnchor(anchor);
93
+ },
94
+ sendMessage: function sendMessage(message, targetOrigin) {
95
+ iframeRef.current.iframeResizer.sendMessage(message, targetOrigin);
96
+ }
97
+ };
98
+ });
99
+ return /*#__PURE__*/React.createElement("iframe", _extends({
100
+ title: title
101
+ }, filteredProps, {
102
+ ref: iframeRef
103
+ }));
104
+ }
105
+
106
+ module.exports = IframeResizer;
package/index.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @preserve
3
3
  *
4
- * @module iframe-resizer/react 5.1.3 (esm) - 2024-06-24
4
+ * @module iframe-resizer/react 5.2.0-beta.1 (esm) - 2024-07-02
5
5
  *
6
6
  * @license GPL-3.0 for non-commercial use only.
7
7
  * For commercial use, you must purchase a license from
@@ -17,4 +17,88 @@
17
17
  */
18
18
 
19
19
 
20
- import e from"@babel/runtime/helpers/extends";import r from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/objectWithoutProperties";import n from"@iframe-resizer/core";import o,{useRef as i,useEffect as c,useImperativeHandle as f}from"react";import u from"warning";var s=["license","bodyBackground","bodyMargin","bodyPadding","checkOrigin","direction","inPageLinks","offset","offsetHeight","offsetWidth","scrolling","tolerance","warningTimeout","onClosed","onReady","onMessage","onResized"];var a=["title","forwardRef"];function l(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function m(r){var l=r.title,m=r.forwardRef,g=t(r,a),p=function(e){return e.license,e.bodyBackground,e.bodyMargin,e.bodyPadding,e.checkOrigin,e.direction,e.inPageLinks,e.offset,e.offsetHeight,e.offsetWidth,e.scrolling,e.tolerance,e.warningTimeout,e.onClosed,e.onReady,e.onMessage,e.onResized,t(e,s)}(g),b=i(null),y=function(){var e;return u(!b.current,"[iframe-resizer/react][".concat(null==b||null===(e=b.current)||void 0===e?void 0:e.id,"] Close event ignored, to remove the iframe update your React component.")),!b.current};return c((function(){var e=b.current,r=n(d(d({},g),{},{onClose:y}))(e);return function(){return null==r?void 0:r.disconnect()}}),[]),f(m,(function(){return{getRef:function(){return b},getElement:function(){return b.current},resize:function(){return b.current.iframeResizer.resize()},moveToAnchor:function(e){return b.current.iframeResizer.moveToAnchor(e)},sendMessage:function(e,r){b.current.iframeResizer.sendMessage(e,r)}}})),o.createElement("iframe",e({title:l},p,{ref:b}))}export{m as default};
20
+ import _extends from '@babel/runtime/helpers/extends';
21
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
22
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
23
+ import connectResizer from '@iframe-resizer/core';
24
+ import React, { useRef, useEffect, useImperativeHandle } from 'react';
25
+ import warning from 'warning';
26
+
27
+ var _excluded$1 = ["license", "bodyBackground", "bodyMargin", "bodyPadding", "checkOrigin", "direction", "inPageLinks", "offset", "offsetHeight", "offsetWidth", "scrolling", "tolerance", "warningTimeout", "onClosed", "onReady", "onMessage", "onResized"];
28
+ const filterIframeAttribs = (function (props) {
29
+ props.license;
30
+ props.bodyBackground;
31
+ props.bodyMargin;
32
+ props.bodyPadding;
33
+ props.checkOrigin;
34
+ props.direction;
35
+ props.inPageLinks;
36
+ props.offset;
37
+ props.offsetHeight;
38
+ props.offsetWidth;
39
+ props.scrolling;
40
+ props.tolerance;
41
+ props.warningTimeout;
42
+ props.onClosed;
43
+ props.onReady;
44
+ props.onMessage;
45
+ props.onResized;
46
+ var iframeProps = _objectWithoutProperties(props, _excluded$1);
47
+ return iframeProps;
48
+ });
49
+
50
+ var _excluded = ["title", "forwardRef"];
51
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
52
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
53
+ function IframeResizer(props) {
54
+ // eslint-disable-next-line react/prop-types
55
+ var title = props.title,
56
+ forwardRef = props.forwardRef,
57
+ rest = _objectWithoutProperties(props, _excluded);
58
+ var filteredProps = filterIframeAttribs(rest);
59
+ var iframeRef = useRef(null);
60
+ var onClose = function onClose() {
61
+ var _iframeRef$current;
62
+ warning(!iframeRef.current, "[iframe-resizer/react][".concat(iframeRef === null || iframeRef === void 0 || (_iframeRef$current = iframeRef.current) === null || _iframeRef$current === void 0 ? void 0 : _iframeRef$current.id, "] Close event ignored, to remove the iframe update your React component."));
63
+ return !iframeRef.current; // Allow React to close this
64
+ };
65
+
66
+ // This hook is only run once, as once iframe-resizer is bound, it will
67
+ // deal with changes to the element and does not need recalling
68
+ useEffect(function () {
69
+ var iframe = iframeRef.current;
70
+ var resizer = connectResizer(_objectSpread(_objectSpread({}, rest), {}, {
71
+ onClose: onClose
72
+ }))(iframe);
73
+ return function () {
74
+ return resizer === null || resizer === void 0 ? void 0 : resizer.disconnect();
75
+ };
76
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
77
+
78
+ useImperativeHandle(forwardRef, function () {
79
+ return {
80
+ getRef: function getRef() {
81
+ return iframeRef;
82
+ },
83
+ getElement: function getElement() {
84
+ return iframeRef.current;
85
+ },
86
+ resize: function resize() {
87
+ return iframeRef.current.iframeResizer.resize();
88
+ },
89
+ moveToAnchor: function moveToAnchor(anchor) {
90
+ return iframeRef.current.iframeResizer.moveToAnchor(anchor);
91
+ },
92
+ sendMessage: function sendMessage(message, targetOrigin) {
93
+ iframeRef.current.iframeResizer.sendMessage(message, targetOrigin);
94
+ }
95
+ };
96
+ });
97
+ return /*#__PURE__*/React.createElement("iframe", _extends({
98
+ title: title
99
+ }, filteredProps, {
100
+ ref: iframeRef
101
+ }));
102
+ }
103
+
104
+ export { IframeResizer as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iframe-resizer/react",
3
- "version": "5.1.3",
3
+ "version": "5.2.0-beta.1",
4
4
  "license": "GPL-3.0",
5
5
  "homepage": "https://iframe-resizer.com",
6
6
  "author": {
@@ -43,7 +43,7 @@
43
43
  "react"
44
44
  ],
45
45
  "dependencies": {
46
- "@iframe-resizer/core": "5.1.3",
46
+ "@iframe-resizer/core": "5.2.0-beta.1",
47
47
  "warning": "^4.0.3"
48
48
  }
49
49
  }