react-modal-global
Advanced tools
Comparing version 2023.4.1-experimental-1 to 2023.5.21-experimental
@@ -40,3 +40,3 @@ import EventEmitter from 'eventemitter3'; | ||
*/ | ||
layer: number | ("lowest" | "highest"); | ||
layer: number; | ||
/** | ||
@@ -153,3 +153,3 @@ * Keep all open modals mounted until the last one is closed. | ||
*/ | ||
controller?: ModalController; | ||
controller: ModalController; | ||
} | ||
@@ -156,0 +156,0 @@ declare function ModalContainer(props: ModalContainerProps): JSX.Element; |
@@ -12,3 +12,3 @@ 'use strict';Object.defineProperty(exports,"__esModule",{value:!0});var EventEmitter=require("eventemitter3"),uuid=require("uuid"),jsxRuntime=require("react/jsx-runtime"),react=require("react");function _interopDefaultLegacy(a){return a&&"object"===typeof a&&"default"in a?a:{"default":a}}var EventEmitter__default=_interopDefaultLegacy(EventEmitter); | ||
b)}}}_ModalController_active=new WeakMap;ModalController.Instance=new ModalController;let modalContext=react.createContext(null);function useModalWindow(){let a=react.useContext(modalContext);if(!a)throw Error("ModalError: useModalWindow must be used within a modal context");return a}let DEFAULT_STATE={active:!1,windows:[]};function useModalState(a=ModalController.Instance){let [b,c]=react.useState(DEFAULT_STATE);react.useEffect(()=>a.observe(c),[a]);return b} | ||
function ModalContainer(a){let {active:b,windows:c}=useModalState(a.controller),e=a.className||"modal";a=c.reduce((d,f)=>{"highest"===f.params.layer&&(f.params.layer=d.length-1);"lowest"===f.params.layer&&(f.params.layer=0);const g=d[f.params.layer]||[];g.push(f);d[f.params.layer]=g;return d},[]);return jsxRuntime.jsx("div",Object.assign({className:classWithModifiers(e,b&&"active"),"aria-modal":!0,"aria-hidden":!b},{children:a.map(d=>{d=d.at(-1);let f=(null===d||void 0===d?0:d.params.closable)?stopPropagation(d.close): | ||
void 0;return null==d?null:jsxRuntime.jsx("div",Object.assign({className:e+"__container",onClick:f},{children:jsxRuntime.jsx(modalContext.Provider,Object.assign({value:d||null},{children:react.createElement(d.component,Object.assign({},d.params,{key:d.params.id}))}))}),d.id)})}))}exports.ModalContainer=ModalContainer;exports.ModalController=ModalController;exports.ModalWindow=ModalWindow;exports.useModalState=useModalState;exports.useModalWindow=useModalWindow | ||
function ModalContainer(a){var b;let {active:c,windows:e}=useModalState(a.controller),d=null!==(b=a.className)&&void 0!==b?b:"modal";a=e.reduceRight((f,g)=>{null==f[g.params.layer]&&(f[g.params.layer]=g);return f},[]);return jsxRuntime.jsx("div",Object.assign({className:classWithModifiers(d,c&&"active"),"aria-modal":!0,"aria-hidden":!c},{children:a.map(f=>jsxRuntime.jsx("div",Object.assign({className:classWithModifiers(d+"__container"),onClick:function(){f.params.closable&&stopPropagation(f.close)}}, | ||
{children:jsxRuntime.jsx(modalContext.Provider,Object.assign({value:f},{children:react.createElement(f.component,Object.assign({},f.params,{key:f.id}))}))}),f.id))}))}exports.ModalContainer=ModalContainer;exports.ModalController=ModalController;exports.ModalWindow=ModalWindow;exports.useModalState=useModalState;exports.useModalWindow=useModalWindow |
{ | ||
"name": "react-modal-global", | ||
"version": "2023.04.01-experimental-1", | ||
"version": "2023.05.21-experimental", | ||
"description": "Highly reusable React Modal that can be run from useEffect.", | ||
@@ -12,3 +12,3 @@ "main": "dist/index.ts", | ||
"peerDependencies": { | ||
"react": "18.x" | ||
"react": "^18.2.0" | ||
}, | ||
@@ -25,3 +25,2 @@ "dependencies": { | ||
"@types/jest": "^29.4.0", | ||
"@types/react": "^18.0.15", | ||
"@types/uuid": "^9.0.1", | ||
@@ -28,0 +27,0 @@ "eslint": "^8.6.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
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the 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
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
17
25010
187