@4i/modal-manager 1.0.2 → 1.0.4

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/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@4i/modal-manager",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "",
5
- "main": "lib/index.js",
5
+ "main": "src/index.js",
6
6
  "scripts": {
7
7
  "test": "echo \"Error: no test specified\" && exit 1",
8
8
  "build": "npm run clean && tsc && babel src --out-dir lib && cp src/styles.css lib/",
@@ -1,169 +0,0 @@
1
- "use strict";
2
-
3
- var __assign = this && this.__assign || function () {
4
- __assign = Object.assign || function (t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = {
18
- enumerable: true,
19
- get: function () {
20
- return m[k];
21
- }
22
- };
23
- }
24
- Object.defineProperty(o, k2, desc);
25
- } : function (o, m, k, k2) {
26
- if (k2 === undefined) k2 = k;
27
- o[k2] = m[k];
28
- });
29
- var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {
30
- Object.defineProperty(o, "default", {
31
- enumerable: true,
32
- value: v
33
- });
34
- } : function (o, v) {
35
- o["default"] = v;
36
- });
37
- var __importStar = this && this.__importStar || function (mod) {
38
- if (mod && mod.__esModule) return mod;
39
- var result = {};
40
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
41
- __setModuleDefault(result, mod);
42
- return result;
43
- };
44
- var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
45
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
46
- if (ar || !(i in from)) {
47
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
48
- ar[i] = from[i];
49
- }
50
- }
51
- return to.concat(ar || Array.prototype.slice.call(from));
52
- };
53
- var __importDefault = this && this.__importDefault || function (mod) {
54
- return mod && mod.__esModule ? mod : {
55
- "default": mod
56
- };
57
- };
58
- Object.defineProperty(exports, "__esModule", {
59
- value: true
60
- });
61
- var react_1 = __importStar(require("react"));
62
- var ModalManager_1 = __importDefault(require("../utils/service/ModalManager"));
63
- var ModalManager_2 = __importDefault(require("../utils/service/ModalManager"));
64
- var modal_list_1 = __importDefault(require("../utils/config/modal-list"));
65
- var ModalProvider = function (_a) {
66
- var CustomComponent = _a.CustomComponent;
67
- var _b = (0, react_1.useState)([]),
68
- data = _b[0],
69
- setData = _b[1];
70
- var _c = (0, react_1.useState)([]),
71
- names = _c[0],
72
- setNames = _c[1];
73
- var modalRef = (0, react_1.useRef)([]);
74
- (0, react_1.useEffect)(function () {
75
- var handleOpenModal = function (name, data) {
76
- setData(function (prev) {
77
- return __spreadArray(__spreadArray([], prev, true), [data], false);
78
- });
79
- setNames(function (prev) {
80
- return __spreadArray(__spreadArray([], prev, true), [name], false);
81
- });
82
- };
83
- var handleClose = function (position) {
84
- if (position === "all") {
85
- setData([]);
86
- setNames([]);
87
- return;
88
- }
89
- if (position === -1) {
90
- // remove last
91
- setData(function (prev) {
92
- return prev.filter(function (_, index) {
93
- return index !== prev.length - 1;
94
- });
95
- });
96
- setNames(function (prev) {
97
- return prev.filter(function (_, index) {
98
- return index !== prev.length - 1;
99
- });
100
- });
101
- return;
102
- }
103
- if (position === 0) {
104
- // remove first
105
- setData(function (prev) {
106
- return prev.filter(function (_, index) {
107
- return index !== 0;
108
- });
109
- });
110
- setNames(function (prev) {
111
- return prev.filter(function (_, index) {
112
- return index !== 0;
113
- });
114
- });
115
- return;
116
- }
117
- // remove position index
118
- setData(function (prev) {
119
- return prev.filter(function (_, index) {
120
- return index !== prev.length - 1;
121
- });
122
- });
123
- setNames(function (prev) {
124
- return prev.filter(function (_, index) {
125
- return index !== prev.length - 1;
126
- });
127
- });
128
- };
129
- ModalManager_1.default.addEventListener("change", handleOpenModal);
130
- ModalManager_1.default.addEventListener("close", handleClose);
131
- return function () {
132
- ModalManager_1.default.removeEventListener("change", handleOpenModal);
133
- ModalManager_1.default.removeEventListener("close", handleClose);
134
- };
135
- }, []);
136
- var activeModals = names.map(function (name) {
137
- var Component = modal_list_1.default[name] || function () {
138
- return react_1.default.createElement(react_1.default.Fragment, null);
139
- };
140
- return Component;
141
- });
142
- var handleCloseModal = function (index, e) {
143
- if (modalRef.current[index] && !modalRef.current[index].contains(e.target)) {
144
- ModalManager_2.default.close(index);
145
- }
146
- };
147
- var refReducer = function (index, value) {
148
- modalRef.current[index] = value;
149
- };
150
- return activeModals.length !== 0 && activeModals.map(function (Component, i) {
151
- var Modal = Component;
152
- return react_1.default.createElement(react_1.default.Fragment, null, CustomComponent ? react_1.default.createElement(CustomComponent, __assign({
153
- key: i
154
- }, data[i])) : react_1.default.createElement("div", {
155
- key: i,
156
- className: "backdrop_modal_manager",
157
- onClick: function (e) {
158
- handleCloseModal(i, e);
159
- }
160
- }, react_1.default.createElement("div", {
161
- ref: function (ref) {
162
- refReducer(i, ref);
163
- }
164
- }, react_1.default.createElement(Modal, __assign({
165
- key: i
166
- }, data[i])))));
167
- });
168
- };
169
- exports.default = ModalProvider;
package/lib/index.js DELETED
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- var __importDefault = this && this.__importDefault || function (mod) {
4
- return mod && mod.__esModule ? mod : {
5
- "default": mod
6
- };
7
- };
8
- Object.defineProperty(exports, "__esModule", {
9
- value: true
10
- });
11
- exports.setModalActions = exports.setModalList = exports.ModalProvider = exports.modal = exports.Manager = void 0;
12
- var Manager_1 = __importDefault(require("./utils/service/Manager"));
13
- exports.Manager = Manager_1.default;
14
- var ModalManager_1 = __importDefault(require("./utils/service/ModalManager"));
15
- exports.modal = ModalManager_1.default;
16
- var modal_provider_1 = __importDefault(require("./components/modal-provider"));
17
- exports.ModalProvider = modal_provider_1.default;
18
- var modal_list_1 = require("./utils/config/modal-list");
19
- Object.defineProperty(exports, "setModalList", {
20
- enumerable: true,
21
- get: function () {
22
- return modal_list_1.setModalList;
23
- }
24
- });
25
- var modal_actions_1 = require("./utils/config/modal-actions");
26
- Object.defineProperty(exports, "setModalActions", {
27
- enumerable: true,
28
- get: function () {
29
- return modal_actions_1.setModalActions;
30
- }
31
- });
package/lib/styles.css DELETED
@@ -1,44 +0,0 @@
1
- @keyframes bg_opacity_scale {
2
- from {
3
- transform: scale(0.8);
4
- }
5
- to {
6
- transform: scale(1);
7
- }
8
- }
9
-
10
- @keyframes bg_opacity {
11
- from {
12
- opacity: 0;
13
- }
14
- to {
15
- opacity: 1;
16
- }
17
- }
18
-
19
- .backdrop_modal_manager {
20
- position: absolute;
21
- display: flex;
22
- justify-content: center;
23
- align-items: center;
24
- top: 0;
25
- left: 0;
26
- right: 0;
27
- bottom: 0;
28
- width: 100%;
29
- height: 100%;
30
- background-color: rgba(0, 0, 0, 0.5);
31
- position: fixed;
32
- z-index: 1000;
33
- opacity: 0;
34
- animation: bg_opacity 150ms ease-in-out forwards;
35
- }
36
-
37
- .backdrop_modal_manager > div {
38
- animation: bg_opacity_scale 150ms ease-in-out forwards;
39
- }
40
-
41
- .main_container_modal_manager {
42
- opacity: 0;
43
- animation: bg_opacity 250ms forwards;
44
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- var __assign = this && this.__assign || function () {
4
- __assign = Object.assign || function (t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", {
14
- value: true
15
- });
16
- exports.setModalActions = void 0;
17
- var modalActions = {};
18
- var setModalActions = function (actionList) {
19
- modalActions = __assign(__assign({}, modalActions), actionList);
20
- };
21
- exports.setModalActions = setModalActions;
22
- exports.default = modalActions;
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- var __assign = this && this.__assign || function () {
4
- __assign = Object.assign || function (t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", {
14
- value: true
15
- });
16
- exports.setModalList = void 0;
17
- var modalList = {};
18
- var setModalList = function (_modalList) {
19
- modalList = __assign(__assign({}, modalList), _modalList);
20
- };
21
- exports.setModalList = setModalList;
22
- exports.default = modalList;
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var events_1 = require("events");
7
- var Constants = {
8
- CHANGE: "change",
9
- CLOSE: "close"
10
- };
11
- var Manager = /** @class */function () {
12
- function Manager() {
13
- this.name = "";
14
- this.data = {};
15
- this.emitter = new events_1.EventEmitter();
16
- }
17
- Manager.prototype.addEventListener = function (event, listener) {
18
- this.emitter.addListener(event, listener);
19
- };
20
- Manager.prototype.removeEventListener = function (event, listener) {
21
- this.emitter.removeListener(event, listener);
22
- };
23
- return Manager;
24
- }();
25
- exports.default = Manager;
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- var __extends = this && this.__extends || function () {
4
- var extendStatics = function (d, b) {
5
- extendStatics = Object.setPrototypeOf || {
6
- __proto__: []
7
- } instanceof Array && function (d, b) {
8
- d.__proto__ = b;
9
- } || function (d, b) {
10
- for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
11
- };
12
- return extendStatics(d, b);
13
- };
14
- return function (d, b) {
15
- if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
16
- extendStatics(d, b);
17
- function __() {
18
- this.constructor = d;
19
- }
20
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
21
- };
22
- }();
23
- var __importDefault = this && this.__importDefault || function (mod) {
24
- return mod && mod.__esModule ? mod : {
25
- "default": mod
26
- };
27
- };
28
- Object.defineProperty(exports, "__esModule", {
29
- value: true
30
- });
31
- var Manager_1 = __importDefault(require("./Manager"));
32
- var uuid_1 = require("uuid");
33
- var constants = {
34
- CHANGE: "change",
35
- CLOSE: "close"
36
- };
37
- var ModalManager = /** @class */function (_super) {
38
- __extends(ModalManager, _super);
39
- function ModalManager() {
40
- return _super.call(this) || this;
41
- }
42
- ModalManager.prototype.create = function (name, data) {
43
- this.name = name;
44
- this.data = data;
45
- this.emitter.emit(constants.CHANGE);
46
- };
47
- ModalManager.prototype.call = function (name, data) {
48
- if (data === void 0) {
49
- data = {};
50
- }
51
- this.create(name, {
52
- modalId: (0, uuid_1.v4)(),
53
- data: data
54
- });
55
- };
56
- ModalManager.prototype.close = function (position) {
57
- this.emitter.emit(constants.CLOSE, position);
58
- };
59
- return ModalManager;
60
- }(Manager_1.default);
61
- var modal = new ModalManager();
62
- exports.default = modal;