@movable/react-popupbox 2.0.8-1 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
package/build.js ADDED
@@ -0,0 +1,28 @@
1
+ const { build } = require("esbuild");
2
+ const { dependencies } = require("./package.json");
3
+
4
+ const entryFile = "src/index.js";
5
+ const shared = {
6
+ bundle: true,
7
+ entryPoints: [entryFile],
8
+ loader: { '.js': 'jsx' },
9
+ // Treat all dependencies in package.json as externals to keep bundle size to a minimum
10
+ external: Object.keys(dependencies),
11
+ logLevel: "info",
12
+ minify: true,
13
+ sourcemap: true,
14
+ };
15
+
16
+ build({
17
+ ...shared,
18
+ format: "esm",
19
+ outfile: "./dist/react-popupbox.esm.js",
20
+ target: ["esnext"],
21
+ });
22
+
23
+ build({
24
+ ...shared,
25
+ format: "cjs",
26
+ outfile: "./dist/react-popupbox.cjs.js",
27
+ target: ["esnext"],
28
+ });
@@ -0,0 +1,31 @@
1
+ export const PopupboxContainer: typeof Container;
2
+ export const PopupboxManager: {
3
+ content: any;
4
+ config: {};
5
+ show: boolean;
6
+ _defaultConfig: any;
7
+ open({ content, config }: {
8
+ content?: null | undefined;
9
+ config?: {} | undefined;
10
+ }): false | undefined;
11
+ update({ content, config }: {
12
+ content?: null | undefined;
13
+ config?: {} | undefined;
14
+ }): void;
15
+ close(): void;
16
+ setDefault(defaultConfig: any): void;
17
+ emitChange(): void;
18
+ addChangeListener(callback: any): void;
19
+ removeChangeListener(callback: any): void;
20
+ eventNames(): (string | symbol)[];
21
+ listeners<T extends string | symbol>(event: T): ((...args: any[]) => void)[];
22
+ listenerCount(event: string | symbol): number;
23
+ emit<T_1 extends string | symbol>(event: T_1, ...args: any[]): boolean;
24
+ on<T_2 extends string | symbol>(event: T_2, fn: (...args: any[]) => void, context?: any): any;
25
+ addListener<T_3 extends string | symbol>(event: T_3, fn: (...args: any[]) => void, context?: any): any;
26
+ once<T_4 extends string | symbol>(event: T_4, fn: (...args: any[]) => void, context?: any): any;
27
+ removeListener<T_5 extends string | symbol>(event: T_5, fn?: ((...args: any[]) => void) | undefined, context?: any, once?: boolean | undefined): any;
28
+ off<T_6 extends string | symbol>(event: T_6, fn?: ((...args: any[]) => void) | undefined, context?: any, once?: boolean | undefined): any;
29
+ removeAllListeners(event?: string | symbol | undefined): any;
30
+ };
31
+ import { Container } from './lib/container';
@@ -0,0 +1,19 @@
1
+ export class Container extends React.Component<any, any, any> {
2
+ constructor(props: any);
3
+ _defaultState: any;
4
+ state: any;
5
+ handleStoreChange(params: any): void;
6
+ closeImagebox: () => void;
7
+ getConfig({ params, isInit }: {
8
+ params: any;
9
+ isInit: any;
10
+ }): any;
11
+ onKeyDown(e: any): void;
12
+ componentDidMount(): void;
13
+ componentWillUnmount(): void;
14
+ onClosed(): void;
15
+ cleanUp(): void;
16
+ renderTitleBar(): JSX.Element;
17
+ render(): JSX.Element;
18
+ }
19
+ import React from 'react';
@@ -0,0 +1,23 @@
1
+ declare const _default: Manager;
2
+ export default _default;
3
+ declare class Manager extends EventEmitter<string | symbol, any> {
4
+ constructor();
5
+ content: any;
6
+ config: {};
7
+ show: boolean;
8
+ _defaultConfig: any;
9
+ open({ content, config }: {
10
+ content?: null | undefined;
11
+ config?: {} | undefined;
12
+ }): false | undefined;
13
+ update({ content, config }: {
14
+ content?: null | undefined;
15
+ config?: {} | undefined;
16
+ }): void;
17
+ close(): void;
18
+ setDefault(defaultConfig: any): void;
19
+ emitChange(): void;
20
+ addChangeListener(callback: any): void;
21
+ removeChangeListener(callback: any): void;
22
+ }
23
+ import { EventEmitter } from 'eventemitter3';
@@ -0,0 +1,2 @@
1
+ "use strict";var S=Object.create;var d=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var $=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var B=(s,e)=>{for(var t in e)d(s,t,{get:e[t],enumerable:!0})},v=(s,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of E(e))!O.call(s,n)&&n!==t&&d(s,n,{get:()=>e[n],enumerable:!(o=N(e,n))||o.enumerable});return s};var p=(s,e,t)=>(t=s!=null?S($(s)):{},v(e||!s||!s.__esModule?d(t,"default",{value:s,enumerable:!0}):t,s)),I=s=>v(d({},"__esModule",{value:!0}),s);var T={};B(T,{PopupboxContainer:()=>L,PopupboxManager:()=>k});module.exports=I(T);var i=p(require("react"));var x=require("eventemitter3"),y=p(require("deepmerge")),f={OPEN:"open",CLOSE:"close",CHANGE:"change"},m=class extends x.EventEmitter{constructor(){super(),this.content=null,this.config={},this.show=!1,this._defaultConfig=null,this.open=this.open.bind(this),this.update=this.update.bind(this),this.close=this.close.bind(this)}setDefault(e){this._defaultConfig=e}open({content:e=null,config:t={}}){if(!e)return console.warn("[popupbox.open] parameter 'content' is required."),!1;this.content=e||null,this.config=t||this._defaultConfig,this.show=!0,this.emitChange()}update({content:e=null,config:t={}}){this.content=e||this.content,this.config=(0,y.default)(this.config,t),this.emitChange()}close(){this.show=!1,this.emitChange()}emitChange(){this.emit(f.CHANGE,{children:this.content,config:this.config,show:this.show})}addChangeListener(e){this.addListener(f.CHANGE,e)}removeChangeListener(e){this.removeListener(f.CHANGE,e)}},l=new m;var C=p(require("deepmerge")),u=class extends i.Component{constructor(e){super(e),this._defaultState=this.getConfig({params:e,isInit:!0}),this.state=this._defaultState,l.setDefault(this._defaultState),this.handleStoreChange=this.handleStoreChange.bind(this),this.closeImagebox=l.close.bind(l)}getConfig({params:e,isInit:t}){let o={overlayOpacity:.75,show:!1,fadeIn:!1,fadeInSpeed:500,fadeOut:!0,fadeOutSpeed:500,overlayClose:!0,escClose:!0,titleBar:{enable:!1,closeButton:!0,closeText:"\u2715",position:"top"},content:{}};return t&&!e?o:(0,C.default)(t?o:this._defaultState,e)}onKeyDown(e){this.state.escClose&&this.state.show&&e.keyCode===27&&this.closeImagebox()}componentDidMount(){l.addChangeListener(this.handleStoreChange),document.addEventListener("keydown",this.onKeyDown.bind(this))}componentWillUnmount(){document.removeEventListener("keydown",this.onKeyDown.bind(this)),l.removeChangeListener(this.handleStoreChange)}handleStoreChange(e){console.log("STORE CHANGE"),this.cleanUp();let{children:t,show:o,config:n}=e,a=this.getConfig({params:n,isInit:!1}),{fadeIn:r,fadeInSpeed:h,fadeOut:w,fadeOutSpeed:g}=a;if(o){let{onComplete:c,onOpen:b}=a;this.setState((0,C.default)(a,{children:t,show:!0,transition:r?`all ${h/1e3}s ease-in-out`:"none",callback:setTimeout(()=>{c&&c()},h+1)})),b&&b()}else{let{onCleanUp:c}=a;c&&c(),this.setState({show:!1,transition:w?`all ${g/1e3}s ease-in-out`:"none",callback:setTimeout(()=>{this.onClosed()},g+1)})}}onClosed(){let{onClosed:e}=this.state;e&&e(),this.setState(this._defaultState)}cleanUp(){clearTimeout(this.state.callback)}renderTitleBar(){let{className:e,text:t,closeText:o,closeButton:n,closeButtonClassName:a}=this.state.titleBar;return i.default.createElement("div",{className:`popupbox-titleBar${e?` ${e}`:""}`},i.default.createElement("span",null,t&&t.length?t:i.default.createElement("br",null)),n&&i.default.createElement("button",{onClick:this.closeImagebox,className:`popupbox-btn--close${a?` ${a}`:""}`},o))}render(){let{overlayOpacity:e,show:t,children:o,style:n,className:a,titleBar:r,content:h}=this.state;return i.default.createElement("div",{"data-title":r.enable?r.position:null,style:{transition:this.state.transition},className:`popupbox${t?" is-active":""}`},i.default.createElement("div",{className:`popupbox-wrapper${a?` ${a}`:""}`,style:n||void 0},r.enable&&this.renderTitleBar(),i.default.createElement("div",{className:`popupbox-content${h.className?` ${h.className}`:""}`,style:h.style?h.style:void 0},o)),i.default.createElement("div",{className:"popupbox-overlay",style:{opacity:e},onClick:this.state.overlayClose?this.closeImagebox:void 0}))}};var L=u,k=l;
2
+ //# sourceMappingURL=react-popupbox.cjs.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.js", "../src/lib/container.js", "../src/lib/manager.js"],
4
+ "sourcesContent": ["import { Container } from './lib/container';\nimport Manager from './lib/manager';\n\nexport const PopupboxContainer = Container;\nexport const PopupboxManager = Manager;\n", "import React, { Component } from 'react'\nimport Manager from './manager'\nimport merge from 'deepmerge'\n\nexport class Container extends Component {\n constructor(props) {\n super(props)\n\n this._defaultState = this.getConfig({ params: props, isInit: true })\n this.state = this._defaultState\n Manager.setDefault(this._defaultState)\n\n this.handleStoreChange = this.handleStoreChange.bind(this)\n this.closeImagebox = Manager.close.bind(Manager)\n }\n\n getConfig({ params, isInit }) {\n const defaultConfig = {\n overlayOpacity: 0.75,\n show: false,\n fadeIn: false,\n fadeInSpeed: 500,\n fadeOut: true,\n fadeOutSpeed: 500,\n overlayClose: true,\n escClose: true,\n titleBar: {\n enable: false,\n closeButton: true,\n closeText: '\u2715',\n position: 'top'\n },\n content: {}\n }\n\n if (isInit && !params) return defaultConfig\n\n return merge(isInit ? defaultConfig : this._defaultState, params)\n }\n\n onKeyDown(e) {\n if (!this.state.escClose) return\n if (this.state.show && (e.keyCode === 27)) {\n this.closeImagebox()\n }\n }\n\n componentDidMount() {\n Manager.addChangeListener(this.handleStoreChange)\n document.addEventListener('keydown', this.onKeyDown.bind(this))\n }\n\n componentWillUnmount() {\n document.removeEventListener('keydown', this.onKeyDown.bind(this))\n Manager.removeChangeListener(this.handleStoreChange)\n }\n\n handleStoreChange(params) {\n console.log(\"STORE CHANGE\");\n this.cleanUp()\n\n const { children, show, config } = params\n const currentConfig = this.getConfig({ params: config, isInit: false })\n const { fadeIn, fadeInSpeed, fadeOut, fadeOutSpeed } = currentConfig\n\n if (show) {\n const { onComplete, onOpen } = currentConfig\n this.setState(merge(currentConfig, {\n children: children,\n show: true,\n transition: (fadeIn) ? `all ${fadeInSpeed / 1000}s ease-in-out` : 'none',\n callback: setTimeout(() => {\n onComplete && onComplete()\n }, fadeInSpeed + 1)\n }))\n onOpen && onOpen()\n } else {\n const { onCleanUp } = currentConfig\n onCleanUp && onCleanUp()\n this.setState({\n show: false,\n transition: (fadeOut) ? `all ${fadeOutSpeed / 1000}s ease-in-out` : 'none',\n callback: setTimeout(() => {\n this.onClosed()\n }, fadeOutSpeed + 1)\n })\n }\n }\n\n onClosed() {\n const { onClosed } = this.state\n onClosed && onClosed()\n this.setState(this._defaultState)\n }\n\n cleanUp() {\n clearTimeout(this.state.callback)\n }\n\n renderTitleBar() {\n const { className, text, closeText, closeButton, closeButtonClassName } = this.state.titleBar\n\n return (\n <div className={`popupbox-titleBar${className ? ` ${className}` : ''}`}>\n <span>{ (text && text.length) ? text : <br /> }</span>\n { closeButton &&\n <button\n onClick={this.closeImagebox}\n className={`popupbox-btn--close${closeButtonClassName ? ` ${closeButtonClassName}` : ''}`}>\n { closeText }\n </button>\n }\n </div>\n )\n }\n\n render() {\n const {\n overlayOpacity,\n show,\n children,\n style,\n className,\n titleBar,\n content\n } = this.state\n\n return (\n <div\n data-title={ titleBar.enable ? titleBar.position : null }\n style={{ transition: this.state.transition }}\n className={`popupbox${show ? ' is-active': ''}`}\n >\n <div\n className={`popupbox-wrapper${className ? ` ${className}` : ''}`}\n style={style ? style : undefined}\n >\n { titleBar.enable && this.renderTitleBar() }\n <div\n className={`popupbox-content${content.className ? ` ${content.className}` : ''}`}\n style={content.style ? content.style : undefined}\n >\n { children }\n </div>\n </div>\n <div\n className=\"popupbox-overlay\"\n style={{ opacity: overlayOpacity }}\n onClick={this.state.overlayClose ? this.closeImagebox : undefined}\n />\n </div>\n )\n }\n}\n", "import { EventEmitter } from 'eventemitter3'\nimport merge from 'deepmerge'\n\nconst Constants = {\n OPEN: 'open',\n CLOSE: 'close',\n CHANGE: 'change'\n}\n\nclass Manager extends EventEmitter {\n constructor() {\n super()\n this.content = null\n this.config = {}\n this.show = false\n\n this._defaultConfig = null\n\n this.open = this.open.bind(this)\n this.update = this.update.bind(this)\n this.close = this.close.bind(this)\n }\n\n setDefault(defaultConfig) {\n this._defaultConfig = defaultConfig\n }\n\n open({ content = null, config = {} }) {\n if (!content) {\n console.warn('[popupbox.open] parameter \\'content\\' is required.')\n return false\n }\n this.content = content || null\n this.config = config || this._defaultConfig\n this.show = true\n this.emitChange()\n }\n\n update({ content = null, config = {} }) {\n this.content = content || this.content\n this.config = merge(this.config, config)\n this.emitChange()\n }\n\n close() {\n this.show = false\n this.emitChange()\n }\n\n emitChange() {\n this.emit(Constants.CHANGE, {\n children: this.content,\n config: this.config,\n show: this.show\n })\n }\n\n addChangeListener(callback) {\n this.addListener(Constants.CHANGE, callback)\n }\n\n removeChangeListener(callback) {\n this.removeListener(Constants.CHANGE, callback)\n }\n}\n\nexport default new Manager()\n"],
5
+ "mappings": "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",
6
+ "names": ["src_exports", "__export", "PopupboxContainer", "PopupboxManager", "__toCommonJS", "import_react", "import_eventemitter3", "import_deepmerge", "Constants", "Manager", "defaultConfig", "content", "config", "merge", "callback", "manager_default", "import_deepmerge", "Container", "props", "manager_default", "params", "isInit", "defaultConfig", "merge", "children", "show", "config", "currentConfig", "fadeIn", "fadeInSpeed", "fadeOut", "fadeOutSpeed", "onComplete", "onOpen", "onCleanUp", "onClosed", "className", "text", "closeText", "closeButton", "closeButtonClassName", "React", "overlayOpacity", "style", "titleBar", "content", "PopupboxContainer", "Container", "PopupboxManager", "manager_default"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import i,{Component as x}from"react";import{EventEmitter as b}from"eventemitter3";import v from"deepmerge";var d={OPEN:"open",CLOSE:"close",CHANGE:"change"},u=class extends b{constructor(){super(),this.content=null,this.config={},this.show=!1,this._defaultConfig=null,this.open=this.open.bind(this),this.update=this.update.bind(this),this.close=this.close.bind(this)}setDefault(e){this._defaultConfig=e}open({content:e=null,config:t={}}){if(!e)return console.warn("[popupbox.open] parameter 'content' is required."),!1;this.content=e||null,this.config=t||this._defaultConfig,this.show=!0,this.emitChange()}update({content:e=null,config:t={}}){this.content=e||this.content,this.config=v(this.config,t),this.emitChange()}close(){this.show=!1,this.emitChange()}emitChange(){this.emit(d.CHANGE,{children:this.content,config:this.config,show:this.show})}addChangeListener(e){this.addListener(d.CHANGE,e)}removeChangeListener(e){this.removeListener(d.CHANGE,e)}},o=new u;import m from"deepmerge";var c=class extends x{constructor(e){super(e),this._defaultState=this.getConfig({params:e,isInit:!0}),this.state=this._defaultState,o.setDefault(this._defaultState),this.handleStoreChange=this.handleStoreChange.bind(this),this.closeImagebox=o.close.bind(o)}getConfig({params:e,isInit:t}){let n={overlayOpacity:.75,show:!1,fadeIn:!1,fadeInSpeed:500,fadeOut:!0,fadeOutSpeed:500,overlayClose:!0,escClose:!0,titleBar:{enable:!1,closeButton:!0,closeText:"\u2715",position:"top"},content:{}};return t&&!e?n:m(t?n:this._defaultState,e)}onKeyDown(e){this.state.escClose&&this.state.show&&e.keyCode===27&&this.closeImagebox()}componentDidMount(){o.addChangeListener(this.handleStoreChange),document.addEventListener("keydown",this.onKeyDown.bind(this))}componentWillUnmount(){document.removeEventListener("keydown",this.onKeyDown.bind(this)),o.removeChangeListener(this.handleStoreChange)}handleStoreChange(e){console.log("STORE CHANGE"),this.cleanUp();let{children:t,show:n,config:l}=e,s=this.getConfig({params:l,isInit:!1}),{fadeIn:h,fadeInSpeed:a,fadeOut:g,fadeOutSpeed:p}=s;if(n){let{onComplete:r,onOpen:f}=s;this.setState(m(s,{children:t,show:!0,transition:h?`all ${a/1e3}s ease-in-out`:"none",callback:setTimeout(()=>{r&&r()},a+1)})),f&&f()}else{let{onCleanUp:r}=s;r&&r(),this.setState({show:!1,transition:g?`all ${p/1e3}s ease-in-out`:"none",callback:setTimeout(()=>{this.onClosed()},p+1)})}}onClosed(){let{onClosed:e}=this.state;e&&e(),this.setState(this._defaultState)}cleanUp(){clearTimeout(this.state.callback)}renderTitleBar(){let{className:e,text:t,closeText:n,closeButton:l,closeButtonClassName:s}=this.state.titleBar;return i.createElement("div",{className:`popupbox-titleBar${e?` ${e}`:""}`},i.createElement("span",null,t&&t.length?t:i.createElement("br",null)),l&&i.createElement("button",{onClick:this.closeImagebox,className:`popupbox-btn--close${s?` ${s}`:""}`},n))}render(){let{overlayOpacity:e,show:t,children:n,style:l,className:s,titleBar:h,content:a}=this.state;return i.createElement("div",{"data-title":h.enable?h.position:null,style:{transition:this.state.transition},className:`popupbox${t?" is-active":""}`},i.createElement("div",{className:`popupbox-wrapper${s?` ${s}`:""}`,style:l||void 0},h.enable&&this.renderTitleBar(),i.createElement("div",{className:`popupbox-content${a.className?` ${a.className}`:""}`,style:a.style?a.style:void 0},n)),i.createElement("div",{className:"popupbox-overlay",style:{opacity:e},onClick:this.state.overlayClose?this.closeImagebox:void 0}))}};var L=c,k=o;export{L as PopupboxContainer,k as PopupboxManager};
2
+ //# sourceMappingURL=react-popupbox.esm.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/lib/container.js", "../src/lib/manager.js", "../src/index.js"],
4
+ "sourcesContent": ["import React, { Component } from 'react'\nimport Manager from './manager'\nimport merge from 'deepmerge'\n\nexport class Container extends Component {\n constructor(props) {\n super(props)\n\n this._defaultState = this.getConfig({ params: props, isInit: true })\n this.state = this._defaultState\n Manager.setDefault(this._defaultState)\n\n this.handleStoreChange = this.handleStoreChange.bind(this)\n this.closeImagebox = Manager.close.bind(Manager)\n }\n\n getConfig({ params, isInit }) {\n const defaultConfig = {\n overlayOpacity: 0.75,\n show: false,\n fadeIn: false,\n fadeInSpeed: 500,\n fadeOut: true,\n fadeOutSpeed: 500,\n overlayClose: true,\n escClose: true,\n titleBar: {\n enable: false,\n closeButton: true,\n closeText: '\u2715',\n position: 'top'\n },\n content: {}\n }\n\n if (isInit && !params) return defaultConfig\n\n return merge(isInit ? defaultConfig : this._defaultState, params)\n }\n\n onKeyDown(e) {\n if (!this.state.escClose) return\n if (this.state.show && (e.keyCode === 27)) {\n this.closeImagebox()\n }\n }\n\n componentDidMount() {\n Manager.addChangeListener(this.handleStoreChange)\n document.addEventListener('keydown', this.onKeyDown.bind(this))\n }\n\n componentWillUnmount() {\n document.removeEventListener('keydown', this.onKeyDown.bind(this))\n Manager.removeChangeListener(this.handleStoreChange)\n }\n\n handleStoreChange(params) {\n console.log(\"STORE CHANGE\");\n this.cleanUp()\n\n const { children, show, config } = params\n const currentConfig = this.getConfig({ params: config, isInit: false })\n const { fadeIn, fadeInSpeed, fadeOut, fadeOutSpeed } = currentConfig\n\n if (show) {\n const { onComplete, onOpen } = currentConfig\n this.setState(merge(currentConfig, {\n children: children,\n show: true,\n transition: (fadeIn) ? `all ${fadeInSpeed / 1000}s ease-in-out` : 'none',\n callback: setTimeout(() => {\n onComplete && onComplete()\n }, fadeInSpeed + 1)\n }))\n onOpen && onOpen()\n } else {\n const { onCleanUp } = currentConfig\n onCleanUp && onCleanUp()\n this.setState({\n show: false,\n transition: (fadeOut) ? `all ${fadeOutSpeed / 1000}s ease-in-out` : 'none',\n callback: setTimeout(() => {\n this.onClosed()\n }, fadeOutSpeed + 1)\n })\n }\n }\n\n onClosed() {\n const { onClosed } = this.state\n onClosed && onClosed()\n this.setState(this._defaultState)\n }\n\n cleanUp() {\n clearTimeout(this.state.callback)\n }\n\n renderTitleBar() {\n const { className, text, closeText, closeButton, closeButtonClassName } = this.state.titleBar\n\n return (\n <div className={`popupbox-titleBar${className ? ` ${className}` : ''}`}>\n <span>{ (text && text.length) ? text : <br /> }</span>\n { closeButton &&\n <button\n onClick={this.closeImagebox}\n className={`popupbox-btn--close${closeButtonClassName ? ` ${closeButtonClassName}` : ''}`}>\n { closeText }\n </button>\n }\n </div>\n )\n }\n\n render() {\n const {\n overlayOpacity,\n show,\n children,\n style,\n className,\n titleBar,\n content\n } = this.state\n\n return (\n <div\n data-title={ titleBar.enable ? titleBar.position : null }\n style={{ transition: this.state.transition }}\n className={`popupbox${show ? ' is-active': ''}`}\n >\n <div\n className={`popupbox-wrapper${className ? ` ${className}` : ''}`}\n style={style ? style : undefined}\n >\n { titleBar.enable && this.renderTitleBar() }\n <div\n className={`popupbox-content${content.className ? ` ${content.className}` : ''}`}\n style={content.style ? content.style : undefined}\n >\n { children }\n </div>\n </div>\n <div\n className=\"popupbox-overlay\"\n style={{ opacity: overlayOpacity }}\n onClick={this.state.overlayClose ? this.closeImagebox : undefined}\n />\n </div>\n )\n }\n}\n", "import { EventEmitter } from 'eventemitter3'\nimport merge from 'deepmerge'\n\nconst Constants = {\n OPEN: 'open',\n CLOSE: 'close',\n CHANGE: 'change'\n}\n\nclass Manager extends EventEmitter {\n constructor() {\n super()\n this.content = null\n this.config = {}\n this.show = false\n\n this._defaultConfig = null\n\n this.open = this.open.bind(this)\n this.update = this.update.bind(this)\n this.close = this.close.bind(this)\n }\n\n setDefault(defaultConfig) {\n this._defaultConfig = defaultConfig\n }\n\n open({ content = null, config = {} }) {\n if (!content) {\n console.warn('[popupbox.open] parameter \\'content\\' is required.')\n return false\n }\n this.content = content || null\n this.config = config || this._defaultConfig\n this.show = true\n this.emitChange()\n }\n\n update({ content = null, config = {} }) {\n this.content = content || this.content\n this.config = merge(this.config, config)\n this.emitChange()\n }\n\n close() {\n this.show = false\n this.emitChange()\n }\n\n emitChange() {\n this.emit(Constants.CHANGE, {\n children: this.content,\n config: this.config,\n show: this.show\n })\n }\n\n addChangeListener(callback) {\n this.addListener(Constants.CHANGE, callback)\n }\n\n removeChangeListener(callback) {\n this.removeListener(Constants.CHANGE, callback)\n }\n}\n\nexport default new Manager()\n", "import { Container } from './lib/container';\nimport Manager from './lib/manager';\n\nexport const PopupboxContainer = Container;\nexport const PopupboxManager = Manager;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "Component", "EventEmitter", "merge", "Constants", "Manager", "defaultConfig", "content", "config", "callback", "manager_default", "merge", "Container", "Component", "props", "manager_default", "params", "isInit", "defaultConfig", "children", "show", "config", "currentConfig", "fadeIn", "fadeInSpeed", "fadeOut", "fadeOutSpeed", "onComplete", "onOpen", "onCleanUp", "onClosed", "className", "text", "closeText", "closeButton", "closeButtonClassName", "React", "overlayOpacity", "style", "titleBar", "content", "PopupboxContainer", "Container", "PopupboxManager", "manager_default"]
7
+ }
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/@types/react/global.d.ts","../node_modules/csstype/index.d.ts","../node_modules/@types/prop-types/index.d.ts","../node_modules/@types/scheduler/tracing.d.ts","../node_modules/@types/react/index.d.ts","../node_modules/eventemitter3/index.d.ts","../src/lib/manager.js","../src/lib/container.js","../src/index.js","../node_modules/@types/react-dom/index.d.ts","../node_modules/@types/scheduler/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"49a253ec027e56c55c7450a0c331cfe96212b3d1cc215b1710ba94a083404cf3","affectsGlobalScope":true},"4c68749a564a6facdf675416d75789ee5a557afda8960e0803cf6711fa569288","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"3b1963eb3f6d356ec14aac3c64084a5b0f2b1b03bb59ecdd6c66bc7773d70560","affectsGlobalScope":true},"27679e96d1bd38c5938178aaf4abe8627493090b63d6bae2ce8436e6a87ebe4d",{"version":"50ba2df8b0a9a7b7d79f9251ddaadbe6d048a0f5f785836d11098527ac4996ad","signature":"aa79cee867e2b0ca1b160b083d9b3b33dbdf7486fd145ddf2bed9414641895f3"},{"version":"a592f8486f5f96bada17e4ca036ec9c4e7afb75eb1feb804f35999ab05ac988a","signature":"7c064211ae90336ccba8ed74618442efec55b05168215d88d24b240dd33f5645"},{"version":"ec9b6f995a2fb6fcf44da36fcd3c7826c35d21840ff4c37fe9ff7b5cd27b163d","signature":"ce1d4d954d5b2a9f5aa5972022990b52525c3d2de05ae07e80a5a547459287c0"},"d035565d969404edfb3dfce8a2e762fbed98f6dfd7388ac01af173aa1ef665bd","7ccce4adb23a87a044c257685613126b47160f6975b224cea5f6af36c7f37514"],"root":[[68,70]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":2,"module":99,"noFallthroughCasesInSwitch":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":2},"fileIdsList":[[66],[62,63,64,65],[68,69],[66,68],[67]],"referencedMap":[[71,1],[66,2],[70,3],[69,4],[68,5]],"exportedModulesMap":[[71,1],[66,2]],"semanticDiagnosticsPerFile":[64,71,62,66,72,65,63,67,60,61,12,13,15,14,2,16,17,18,19,20,21,22,23,3,4,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,53,54,57,55,56,58,10,1,11,59,70,69,68]},"version":"5.0.4"}
package/package.json CHANGED
@@ -1,8 +1,10 @@
1
1
  {
2
2
  "name": "@movable/react-popupbox",
3
- "version": "2.0.8-1",
3
+ "version": "3.0.1",
4
4
  "description": "A simple lightbox component for react",
5
- "main": "dist/react-popupbox.js",
5
+ "main": "dist/react-popupbox.cjs.js",
6
+ "module": "dist/react-popupbox.esm.js",
7
+ "types": "dist/index.d.ts",
6
8
  "repository": {
7
9
  "type": "git",
8
10
  "url": "git+https://github.com/Fraina/react-popupbox.git"
@@ -20,19 +22,25 @@
20
22
  },
21
23
  "homepage": "http://github.com/fraina/react-popupbox#readme",
22
24
  "scripts": {
23
- "build": "./node_modules/.bin/webpack --config webpack.config.js",
24
- "dist": "npm run build; cp ./src/css/react-popupbox.css ./dist/react-popupbox.css"
25
+ "build": "npm run clean && node build.js && tsc --emitDeclarationOnly --outDir dist",
26
+ "dist": "npm run build && cp ./src/css/react-popupbox.css ./dist/react-popupbox.css",
27
+ "clean": "rimraf dist",
28
+ "prepublishOnly": "npm run dist"
25
29
  },
26
30
  "dependencies": {
31
+ "@types/react": "^18.0.35",
32
+ "@types/react-dom": "^18.0.11",
27
33
  "deepmerge": "^1.3.2",
28
- "react": "^16.3.1"
34
+ "eventemitter3": "^5.0.0",
35
+ "react": "^18.2.0",
36
+ "react-dom": "^18.2.0"
29
37
  },
30
38
  "devDependencies": {
31
- "babel-core": "^6.24.0",
32
- "babel-loader": "^6.4.1",
33
- "babel-preset-es2015": "^6.24.0",
34
- "babel-preset-react": "^6.23.0",
35
- "babel-preset-stage-0": "^6.22.0",
36
- "webpack": "^2.3.1"
39
+ "esbuild": "^0.17.16",
40
+ "rimraf": "^5.0.0",
41
+ "typescript": "^5.0.4"
42
+ },
43
+ "volta": {
44
+ "node": "18.16.0"
37
45
  }
38
46
  }
package/tsconfig.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "compilerOptions": {
3
+ "allowJs": true, // Allow JavaScript files to be compiled
4
+ "allowSyntheticDefaultImports": true, // Allow default imports from modules with no default export
5
+ "baseUrl": "src",
6
+ "declaration": true, // Generate corresponding .d.ts file
7
+ "esModuleInterop": true, // Disables namespace imports (import * as fs from "fs") and enables CJS/AMD/UMD style imports (import fs from "fs")
8
+ "forceConsistentCasingInFileNames": true, // Disallow inconsistently-cased references to the same file.
9
+ "incremental": true, // Enable incremental compilation by reading/writing information from prior compilations to a file on disk
10
+ "isolatedModules": true, // Unconditionally emit imports for unresolved files
11
+ "jsx": "react", // Support JSX in .tsx files
12
+ "lib": ["dom", "dom.iterable", "esnext"], // List of library files to be included in the compilation
13
+ "module": "esnext", // Specify module code generation
14
+ "moduleResolution": "node", // Resolve modules using Node.js style
15
+ "noEmit": false, // Do not emit output (meaning do not compile code, only perform type checking)
16
+ "noFallthroughCasesInSwitch": true, // Report errors for fallthrough cases in switch statement
17
+ "noUnusedLocals": true, // Report errors on unused locals
18
+ "noUnusedParameters": true, // Report errors on unused parameters
19
+ "resolveJsonModule": true, // Include modules imported with .json extension
20
+ "outDir": "./dist",
21
+ "skipLibCheck": true, // Skip type checking of all declaration files
22
+ "sourceMap": true, // Generate corrresponding .map file
23
+ "strict": true, // Enable all strict type checking options
24
+ "target": "es6" // Specify ECMAScript target version
25
+ },
26
+ "include": ["src/**/*.js", "src/**/*.tsx"],
27
+ "exclude": ["node_modules", "**/*.test.ts", "**/*.test.tsx", "src/dev.tsx"]
28
+ }