Socket
Socket
Sign inDemoInstall

@rc-component/portal

Package Overview
Dependencies
Maintainers
4
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rc-component/portal - npm Package Compare versions

Comparing version 1.0.0-10 to 1.0.0

3

es/Portal.d.ts

@@ -17,2 +17,3 @@ import * as React from 'react';

}
export default function Portal(props: PortalProps): JSX.Element;
declare const Portal: React.ForwardRefExoticComponent<PortalProps & React.RefAttributes<any>>;
export default Portal;

@@ -5,2 +5,3 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";

import canUseDom from "rc-util/es/Dom/canUseDom";
import { supportRef, useComposeRef } from "rc-util/es/ref";
import OrderContext from "./Context";

@@ -31,3 +32,3 @@ import useDom from "./useDom";

export default function Portal(props) {
var Portal = /*#__PURE__*/React.forwardRef(function (props, ref) {
var open = props.open,

@@ -73,3 +74,12 @@ autoLock = props.autoLock,

useScrollLocker(autoLock && open && canUseDom() && (mergedContainer === defaultContainer || mergedContainer === document.body)); // ========================= Render ==========================
useScrollLocker(autoLock && open && canUseDom() && (mergedContainer === defaultContainer || mergedContainer === document.body)); // =========================== Ref ===========================
var childRef = null;
if (children && supportRef(children) && ref) {
var _ref = children;
childRef = _ref.ref;
}
var mergedRef = useComposeRef(childRef, ref); // ========================= Render ==========================
// Do not render when nothing need render

@@ -84,5 +94,19 @@ // When innerContainer is `undefined`, it may not ready since user use ref in the same render

var renderInline = mergedContainer === false || inlineMock();
var reffedChildren = children;
if (ref) {
reffedChildren = /*#__PURE__*/React.cloneElement(children, {
ref: mergedRef
});
}
return /*#__PURE__*/React.createElement(OrderContext.Provider, {
value: queueCreate
}, renderInline ? children : /*#__PURE__*/createPortal(children, mergedContainer));
}
}, renderInline ? reffedChildren : /*#__PURE__*/createPortal(reffedChildren, mergedContainer));
});
if (process.env.NODE_ENV !== 'production') {
Portal.displayName = 'Portal';
}
export default Portal;

@@ -17,2 +17,3 @@ import * as React from 'react';

}
export default function Portal(props: PortalProps): JSX.Element;
declare const Portal: React.ForwardRefExoticComponent<PortalProps & React.RefAttributes<any>>;
export default Portal;

@@ -10,3 +10,3 @@ "use strict";

});
exports.default = Portal;
exports.default = void 0;

@@ -21,2 +21,4 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));

var _ref2 = require("rc-util/lib/ref");
var _Context = _interopRequireDefault(require("./Context"));

@@ -50,3 +52,3 @@

function Portal(props) {
var Portal = /*#__PURE__*/React.forwardRef(function (props, ref) {
var open = props.open,

@@ -92,3 +94,12 @@ autoLock = props.autoLock,

(0, _useScrollLocker.default)(autoLock && open && (0, _canUseDom.default)() && (mergedContainer === defaultContainer || mergedContainer === document.body)); // ========================= Render ==========================
(0, _useScrollLocker.default)(autoLock && open && (0, _canUseDom.default)() && (mergedContainer === defaultContainer || mergedContainer === document.body)); // =========================== Ref ===========================
var childRef = null;
if (children && (0, _ref2.supportRef)(children) && ref) {
var _ref = children;
childRef = _ref.ref;
}
var mergedRef = (0, _ref2.useComposeRef)(childRef, ref); // ========================= Render ==========================
// Do not render when nothing need render

@@ -103,5 +114,20 @@ // When innerContainer is `undefined`, it may not ready since user use ref in the same render

var renderInline = mergedContainer === false || (0, _mock.inlineMock)();
var reffedChildren = children;
if (ref) {
reffedChildren = /*#__PURE__*/React.cloneElement(children, {
ref: mergedRef
});
}
return /*#__PURE__*/React.createElement(_Context.default.Provider, {
value: queueCreate
}, renderInline ? children : /*#__PURE__*/(0, _reactDom.createPortal)(children, mergedContainer));
}
}, renderInline ? reffedChildren : /*#__PURE__*/(0, _reactDom.createPortal)(reffedChildren, mergedContainer));
});
if (process.env.NODE_ENV !== 'production') {
Portal.displayName = 'Portal';
}
var _default = Portal;
exports.default = _default;
{
"name": "@rc-component/portal",
"version": "1.0.0-10",
"version": "1.0.0",
"description": "React Portal Component",

@@ -42,3 +42,3 @@ "keywords": [

"test:coverage": "npm run test:client --coverage",
"test:server": "umi-test --env=node tests/ssr.test.tsx",
"test:server": "umi-test --env=node -- tests/ssr.test.tsx",
"watch": "father dev"

@@ -52,2 +52,3 @@ },

"devDependencies": {
"@rc-component/father-plugin": "^1.0.0",
"@testing-library/jest-dom": "^5.16.4",

@@ -54,0 +55,0 @@ "@testing-library/react": "^13.0.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