@codeleap/portals 7.0.1 → 7.1.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/dist/factors/alert.js +5 -5
- package/dist/factors/alert.js.map +1 -1
- package/dist/factors/bottomSheet.js +16 -28
- package/dist/factors/bottomSheet.js.map +1 -1
- package/dist/factors/drawer.js +8 -22
- package/dist/factors/drawer.js.map +1 -1
- package/dist/factors/modal.js +8 -22
- package/dist/factors/modal.js.map +1 -1
- package/dist/lib/Portal.js +37 -32
- package/dist/lib/Portal.js.map +1 -1
- package/dist/lib/PortalRegistry.js +2 -4
- package/dist/lib/PortalRegistry.js.map +1 -1
- package/dist/lib/PortalRequest.js +4 -0
- package/dist/lib/PortalRequest.js.map +1 -1
- package/dist/lib/PortalState.js +42 -43
- package/dist/lib/PortalState.js.map +1 -1
- package/dist/utils.js +4 -15
- package/dist/utils.js.map +1 -1
- package/package.json +8 -8
package/dist/factors/alert.js
CHANGED
|
@@ -16,23 +16,23 @@ export class Alert {
|
|
|
16
16
|
}
|
|
17
17
|
/** Opens an alert with 'ask' type. */
|
|
18
18
|
ask(args) {
|
|
19
|
-
this.trigger(
|
|
19
|
+
this.trigger({ ...args, type: 'ask' });
|
|
20
20
|
}
|
|
21
21
|
/** Opens an alert with 'error' type. */
|
|
22
22
|
error(args) {
|
|
23
|
-
this.trigger(
|
|
23
|
+
this.trigger({ ...args, type: 'error' });
|
|
24
24
|
}
|
|
25
25
|
/** Opens an alert with 'warn' type. */
|
|
26
26
|
warn(args) {
|
|
27
|
-
this.trigger(
|
|
27
|
+
this.trigger({ ...args, type: 'warn' });
|
|
28
28
|
}
|
|
29
29
|
/** Opens an alert with 'info' type. */
|
|
30
30
|
info(args) {
|
|
31
|
-
this.trigger(
|
|
31
|
+
this.trigger({ ...args, type: 'info' });
|
|
32
32
|
}
|
|
33
33
|
/** Opens a custom alert with user-defined options and type. */
|
|
34
34
|
custom(options) {
|
|
35
|
-
this.trigger(
|
|
35
|
+
this.trigger({ ...options, type: 'custom' });
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
/** Global alert instance for showing alerts throughout the app. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/factors/alert.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,MAAM,OAAO,KAAK;IAEhB;;;;OAIG;IACH,MAAM,CAAC,SAAS;QACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IAEO,OAAO,CAAC,IAAkB;QAChC,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,sCAAsC;IACtC,GAAG,CAAC,IAAkB;QACpB,IAAI,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/factors/alert.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,MAAM,OAAO,KAAK;IAEhB;;;;OAIG;IACH,MAAM,CAAC,SAAS;QACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IAEO,OAAO,CAAC,IAAkB;QAChC,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,sCAAsC;IACtC,GAAG,CAAC,IAAkB;QACpB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,IAAkB;QACtB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,IAAkB;QACrB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,IAAkB;QACrB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,+DAA+D;IAC/D,MAAM,CAAI,OAAkC;QAC1C,IAAI,CAAC,OAAO,CAAC,EAAE,GAAI,OAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACvD,CAAC;CACF;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { Portal } from '../lib/Portal';
|
|
11
2
|
/**
|
|
12
3
|
* Bottom sheet portal for bottom-sliding panels.
|
|
@@ -17,10 +8,11 @@ import { Portal } from '../lib/Portal';
|
|
|
17
8
|
* @template Metadata - Additional configuration metadata
|
|
18
9
|
*/
|
|
19
10
|
export class BottomSheet extends Portal {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
11
|
+
displayName = 'BottomSheet';
|
|
12
|
+
/** Wrapper component used to render bottom sheet UI. Must be assigned by the consuming app. */
|
|
13
|
+
static WrapperComponent = () => null;
|
|
14
|
+
/** Default transition duration in milliseconds for bottom sheet open/close animations. */
|
|
15
|
+
static DEFAULT_TRANSITION_DURATION = 200;
|
|
24
16
|
/** @inheritdoc */
|
|
25
17
|
get defaultTransitionDuration() {
|
|
26
18
|
return BottomSheet.DEFAULT_TRANSITION_DURATION;
|
|
@@ -30,12 +22,14 @@ export class BottomSheet extends Portal {
|
|
|
30
22
|
return BottomSheet.WrapperComponent;
|
|
31
23
|
}
|
|
32
24
|
/** Closes all open BottomSheet instances. */
|
|
33
|
-
static closeAll() {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
yield Promise.all(registries.map(instance => instance.close()));
|
|
37
|
-
});
|
|
25
|
+
static async closeAll() {
|
|
26
|
+
const registries = BottomSheet.registry.getAll();
|
|
27
|
+
await Promise.all(registries.map(instance => instance.close()));
|
|
38
28
|
}
|
|
29
|
+
/** Name of the ref method to call imperatively when opening the sheet (set by the consuming app). */
|
|
30
|
+
static openKeyMethod;
|
|
31
|
+
/** Name of the ref method to call imperatively when closing the sheet (set by the consuming app). */
|
|
32
|
+
static closeKeyMethod;
|
|
39
33
|
/** Returns default config: `rendersWhenHidden=true` and `resetParamsOnClose=false`. */
|
|
40
34
|
getDefaultConfig() {
|
|
41
35
|
return {
|
|
@@ -45,16 +39,14 @@ export class BottomSheet extends Portal {
|
|
|
45
39
|
}
|
|
46
40
|
/** Calls the native open method on the ref via `openKeyMethod`, if configured. */
|
|
47
41
|
openBottomSheet() {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
(_d = (_c = (_b = this.ref) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c[BottomSheet.openKeyMethod]) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
42
|
+
if (!!BottomSheet.openKeyMethod && !!this.ref?.current) {
|
|
43
|
+
this.ref?.current?.[BottomSheet.openKeyMethod]?.();
|
|
51
44
|
}
|
|
52
45
|
}
|
|
53
46
|
/** Calls the native close method on the ref via `closeKeyMethod`, if configured. */
|
|
54
47
|
closeBottomSheet() {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
(_d = (_c = (_b = this.ref) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c[BottomSheet.closeKeyMethod]) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
48
|
+
if (!!BottomSheet.closeKeyMethod && !!this.ref?.current) {
|
|
49
|
+
this.ref?.current?.[BottomSheet.closeKeyMethod]?.();
|
|
58
50
|
}
|
|
59
51
|
}
|
|
60
52
|
/** @inheritdoc — also triggers the native open animation via `openBottomSheet()`. */
|
|
@@ -92,10 +84,6 @@ export class BottomSheet extends Portal {
|
|
|
92
84
|
return this;
|
|
93
85
|
}
|
|
94
86
|
}
|
|
95
|
-
/** Wrapper component used to render bottom sheet UI. Must be assigned by the consuming app. */
|
|
96
|
-
BottomSheet.WrapperComponent = () => null;
|
|
97
|
-
/** Default transition duration in milliseconds for bottom sheet open/close animations. */
|
|
98
|
-
BottomSheet.DEFAULT_TRANSITION_DURATION = 200;
|
|
99
87
|
/**
|
|
100
88
|
* Factory function to create a new BottomSheet instance.
|
|
101
89
|
* @param idOrConfig - BottomSheet ID or configuration object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bottomSheet.js","sourceRoot":"","sources":["../../src/factors/bottomSheet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bottomSheet.js","sourceRoot":"","sources":["../../src/factors/bottomSheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAMtC;;;;;;;GAOG;AACH,MAAM,OAAO,WAAqD,SAAQ,MAAyE;IACjJ,WAAW,GAAG,aAAa,CAAA;IAE3B,+FAA+F;IAC/F,MAAM,CAAC,gBAAgB,GAAgG,GAAG,EAAE,CAAC,IAAI,CAAA;IAEjI,0FAA0F;IAC1F,MAAM,CAAC,2BAA2B,GAAG,GAAG,CAAA;IAExC,kBAAkB;IAClB,IAAc,yBAAyB;QACrC,OAAO,WAAW,CAAC,2BAA2B,CAAA;IAChD,CAAC;IAED,kBAAkB;IAClB,IAAc,gBAAgB;QAC5B,OAAO,WAAW,CAAC,gBAAgB,CAAA;IACrC,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QAChD,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,qGAAqG;IACrG,MAAM,CAAC,aAAa,CAAuB;IAE3C,qGAAqG;IACrG,MAAM,CAAC,cAAc,CAAuB;IAE5C,uFAAuF;IAC7E,gBAAgB;QACxB,OAAO;YACL,iBAAiB,EAAE,IAAI;YACvB,kBAAkB,EAAE,KAAK;SACiB,CAAA;IAC9C,CAAC;IAED,kFAAkF;IACxE,eAAe;QACvB,IAAI,CAAC,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;YACtD,IAAI,CAAC,GAAG,EAAE,OAAoD,EAAE,CAAC,WAAW,CAAC,aAAuB,CAAC,EAAE,EAAE,CAAA;QAC5G,CAAC;IACH,CAAC;IAED,oFAAoF;IAC1E,gBAAgB;QACxB,IAAI,CAAC,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;YACvD,IAAI,CAAC,GAAG,EAAE,OAAoD,EAAE,CAAC,WAAW,CAAC,cAAwB,CAAC,EAAE,EAAE,CAAA;QAC7G,CAAC;IACH,CAAC;IAED,qFAAqF;IAC3E,UAAU;QAClB,IAAI,CAAC,eAAe,EAAE,CAAA;IACxB,CAAC;IAED,uFAAuF;IAC7E,WAAW;QACnB,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAqG;QAC1G,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,QAAqG;QAC3G,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACvB,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC,CAAA;QAED,OAAO,IAAI,CAAA;IACb,CAAC;;AAGH;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAA0C,UAAqD;IACxH,OAAO,IAAI,WAAW,CAA2B,UAAU,CAAC,CAAA;AAC9D,CAAC"}
|
package/dist/factors/drawer.js
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { Portal } from '../lib/Portal';
|
|
11
2
|
/**
|
|
12
3
|
* Drawer portal for side-sliding panels.
|
|
@@ -17,10 +8,11 @@ import { Portal } from '../lib/Portal';
|
|
|
17
8
|
* @template Metadata - Additional configuration metadata
|
|
18
9
|
*/
|
|
19
10
|
export class Drawer extends Portal {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
11
|
+
displayName = 'Drawer';
|
|
12
|
+
/** Wrapper component used to render drawer UI. Must be assigned by the consuming app. */
|
|
13
|
+
static WrapperComponent = () => null;
|
|
14
|
+
/** Default transition duration in milliseconds for drawer open/close animations. */
|
|
15
|
+
static DEFAULT_TRANSITION_DURATION = 200;
|
|
24
16
|
/** @inheritdoc */
|
|
25
17
|
get defaultTransitionDuration() {
|
|
26
18
|
return Drawer.DEFAULT_TRANSITION_DURATION;
|
|
@@ -30,17 +22,11 @@ export class Drawer extends Portal {
|
|
|
30
22
|
return Drawer.WrapperComponent;
|
|
31
23
|
}
|
|
32
24
|
/** Closes all open Drawer instances. */
|
|
33
|
-
static closeAll() {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
yield Promise.all(registries.map(instance => instance.close()));
|
|
37
|
-
});
|
|
25
|
+
static async closeAll() {
|
|
26
|
+
const registries = Drawer.registry.getAll();
|
|
27
|
+
await Promise.all(registries.map(instance => instance.close()));
|
|
38
28
|
}
|
|
39
29
|
}
|
|
40
|
-
/** Wrapper component used to render drawer UI. Must be assigned by the consuming app. */
|
|
41
|
-
Drawer.WrapperComponent = () => null;
|
|
42
|
-
/** Default transition duration in milliseconds for drawer open/close animations. */
|
|
43
|
-
Drawer.DEFAULT_TRANSITION_DURATION = 200;
|
|
44
30
|
/**
|
|
45
31
|
* Factory function to create a new Drawer instance.
|
|
46
32
|
* @param idOrConfig - Drawer ID or configuration object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../src/factors/drawer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../src/factors/drawer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtC;;;;;;;GAOG;AACH,MAAM,OAAO,MAAgD,SAAQ,MAA+D;IAClI,WAAW,GAAG,QAAQ,CAAA;IAEtB,yFAAyF;IACzF,MAAM,CAAC,gBAAgB,GAAsF,GAAG,EAAE,CAAC,IAAI,CAAA;IAEvH,oFAAoF;IACpF,MAAM,CAAC,2BAA2B,GAAG,GAAG,CAAA;IAExC,kBAAkB;IAClB,IAAc,yBAAyB;QACrC,OAAO,MAAM,CAAC,2BAA2B,CAAA;IAC3C,CAAC;IAED,kBAAkB;IAClB,IAAc,gBAAgB;QAC5B,OAAO,MAAM,CAAC,gBAAgB,CAAA;IAChC,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACjE,CAAC;;AAGH;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAA0C,UAAqD;IACnH,OAAO,IAAI,MAAM,CAA2B,UAAU,CAAC,CAAA;AACzD,CAAC"}
|
package/dist/factors/modal.js
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { Portal } from '../lib/Portal';
|
|
11
2
|
/**
|
|
12
3
|
* Modal portal for centered overlay dialogs.
|
|
@@ -17,10 +8,11 @@ import { Portal } from '../lib/Portal';
|
|
|
17
8
|
* @template Metadata - Additional configuration metadata
|
|
18
9
|
*/
|
|
19
10
|
export class Modal extends Portal {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
11
|
+
displayName = 'Modal';
|
|
12
|
+
/** Wrapper component used to render modal UI. Must be assigned by the consuming app. */
|
|
13
|
+
static WrapperComponent = () => null;
|
|
14
|
+
/** Default transition duration in milliseconds for modal open/close animations. */
|
|
15
|
+
static DEFAULT_TRANSITION_DURATION = 200;
|
|
24
16
|
/** @inheritdoc */
|
|
25
17
|
get defaultTransitionDuration() {
|
|
26
18
|
return Modal.DEFAULT_TRANSITION_DURATION;
|
|
@@ -30,17 +22,11 @@ export class Modal extends Portal {
|
|
|
30
22
|
return Modal.WrapperComponent;
|
|
31
23
|
}
|
|
32
24
|
/** Closes all open Modal instances. */
|
|
33
|
-
static closeAll() {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
yield Promise.all(registries.map(instance => instance.close()));
|
|
37
|
-
});
|
|
25
|
+
static async closeAll() {
|
|
26
|
+
const registries = Modal.registry.getAll();
|
|
27
|
+
await Promise.all(registries.map(instance => instance.close()));
|
|
38
28
|
}
|
|
39
29
|
}
|
|
40
|
-
/** Wrapper component used to render modal UI. Must be assigned by the consuming app. */
|
|
41
|
-
Modal.WrapperComponent = () => null;
|
|
42
|
-
/** Default transition duration in milliseconds for modal open/close animations. */
|
|
43
|
-
Modal.DEFAULT_TRANSITION_DURATION = 200;
|
|
44
30
|
/**
|
|
45
31
|
* Factory function to create a new Modal instance.
|
|
46
32
|
* @param idOrConfig - Modal ID or configuration object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/factors/modal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/factors/modal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtC;;;;;;;GAOG;AACH,MAAM,OAAO,KAA+C,SAAQ,MAA6D;IAC/H,WAAW,GAAG,OAAO,CAAA;IAErB,wFAAwF;IACxF,MAAM,CAAC,gBAAgB,GAAoF,GAAG,EAAE,CAAC,IAAI,CAAA;IAErH,mFAAmF;IACnF,MAAM,CAAC,2BAA2B,GAAG,GAAG,CAAA;IAExC,kBAAkB;IAClB,IAAc,yBAAyB;QACrC,OAAO,KAAK,CAAC,2BAA2B,CAAA;IAC1C,CAAC;IAED,kBAAkB;IAClB,IAAc,gBAAgB;QAC5B,OAAO,KAAK,CAAC,gBAAgB,CAAA;IAC/B,CAAC;IAED,uCAAuC;IACvC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QAC1C,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACjE,CAAC;;AAGH;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAA0C,UAAqD;IAClH,OAAO,IAAI,KAAK,CAA2B,UAAU,CAAC,CAAA;AACxD,CAAC"}
|
package/dist/lib/Portal.js
CHANGED
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
-
var t = {};
|
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
-
t[p] = s[p];
|
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
-
t[p[i]] = s[p[i]];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
1
|
import React, { useLayoutEffect } from 'react';
|
|
13
2
|
import { atom } from 'nanostores';
|
|
14
3
|
import { useStore } from '@nanostores/react';
|
|
@@ -35,6 +24,16 @@ export const registeredIds = atom([]);
|
|
|
35
24
|
* @template WrapperProps - Props for wrapper component
|
|
36
25
|
*/
|
|
37
26
|
export class Portal extends PortalState {
|
|
27
|
+
displayName = 'Portal';
|
|
28
|
+
id;
|
|
29
|
+
RenderContent;
|
|
30
|
+
ref;
|
|
31
|
+
requestHandler;
|
|
32
|
+
_config;
|
|
33
|
+
_wrapperProps;
|
|
34
|
+
_lazyWrapperProps;
|
|
35
|
+
static registry = new PortalRegistry();
|
|
36
|
+
static generateId = randomId;
|
|
38
37
|
getDefaultConfig() {
|
|
39
38
|
return {};
|
|
40
39
|
}
|
|
@@ -68,7 +67,6 @@ export class Portal extends PortalState {
|
|
|
68
67
|
return this.requestHandler.reject;
|
|
69
68
|
}
|
|
70
69
|
onVisibilityChanged(visible, wasVisible) {
|
|
71
|
-
var _a, _b;
|
|
72
70
|
if (this._config.independent) {
|
|
73
71
|
return;
|
|
74
72
|
}
|
|
@@ -78,7 +76,7 @@ export class Portal extends PortalState {
|
|
|
78
76
|
else {
|
|
79
77
|
if (wasVisible && !visible) {
|
|
80
78
|
if (this.hasPendingRequest) {
|
|
81
|
-
|
|
79
|
+
this.requestHandler.resolve?.(undefined);
|
|
82
80
|
this.requestHandler.clearRequest();
|
|
83
81
|
}
|
|
84
82
|
if (this._config.ephemeral) {
|
|
@@ -100,17 +98,26 @@ export class Portal extends PortalState {
|
|
|
100
98
|
*/
|
|
101
99
|
constructor(idOrConfig) {
|
|
102
100
|
super();
|
|
103
|
-
|
|
104
|
-
const id = TypeGuards.isString(idOrConfig) ? idOrConfig : idOrConfig === null || idOrConfig === void 0 ? void 0 : idOrConfig.id;
|
|
101
|
+
const id = TypeGuards.isString(idOrConfig) ? idOrConfig : idOrConfig?.id;
|
|
105
102
|
const config = TypeGuards.isObject(idOrConfig) ? idOrConfig : {};
|
|
106
|
-
this._config =
|
|
103
|
+
this._config = {
|
|
104
|
+
initialParams: {},
|
|
105
|
+
startsOpen: false,
|
|
106
|
+
independent: false,
|
|
107
|
+
rendersWhenHidden: false,
|
|
108
|
+
metadata: {},
|
|
109
|
+
resetParamsOnClose: true,
|
|
110
|
+
transitionDuration: this.constructor.DEFAULT_TRANSITION_DURATION,
|
|
111
|
+
...this.getDefaultConfig(),
|
|
112
|
+
...config,
|
|
113
|
+
};
|
|
107
114
|
this.initializeState({
|
|
108
115
|
initialParams: this._config.initialParams,
|
|
109
116
|
startsOpen: this._config.startsOpen,
|
|
110
117
|
resetParamsOnClose: this._config.resetParamsOnClose,
|
|
111
118
|
transitionDuration: this._config.transitionDuration,
|
|
112
119
|
});
|
|
113
|
-
this.id = id
|
|
120
|
+
this.id = id ?? this.idGenerator();
|
|
114
121
|
this.requestHandler = new PortalRequest(this.open.bind(this), this.close.bind(this));
|
|
115
122
|
this._wrapperProps = atom({});
|
|
116
123
|
this.ref = React.createRef();
|
|
@@ -170,7 +177,10 @@ export class Portal extends PortalState {
|
|
|
170
177
|
*/
|
|
171
178
|
useProps(props, deps = []) {
|
|
172
179
|
useLayoutEffect(() => {
|
|
173
|
-
this._wrapperProps.set(
|
|
180
|
+
this._wrapperProps.set({
|
|
181
|
+
...this._wrapperProps.get(),
|
|
182
|
+
...props,
|
|
183
|
+
});
|
|
174
184
|
}, deps);
|
|
175
185
|
}
|
|
176
186
|
/**
|
|
@@ -193,18 +203,16 @@ export class Portal extends PortalState {
|
|
|
193
203
|
* @returns JSX element with portal content wrapped in wrapper component
|
|
194
204
|
*/
|
|
195
205
|
Component(props) {
|
|
196
|
-
var _a;
|
|
197
206
|
const { visible, params } = this.useState();
|
|
198
207
|
const wrapperProps = useStore(this._wrapperProps);
|
|
199
|
-
const
|
|
208
|
+
const { portalProps = {}, ...propParams } = props || {};
|
|
200
209
|
const [mounted, setMounted] = React.useState(visible);
|
|
201
210
|
React.useEffect(() => {
|
|
202
|
-
var _a, _b;
|
|
203
211
|
if (visible) {
|
|
204
212
|
setMounted(true);
|
|
205
213
|
return;
|
|
206
214
|
}
|
|
207
|
-
const timer = setTimeout(() => setMounted(false),
|
|
215
|
+
const timer = setTimeout(() => setMounted(false), this._config?.transitionDuration ?? 0);
|
|
208
216
|
return () => clearTimeout(timer);
|
|
209
217
|
}, [visible]);
|
|
210
218
|
const Content = this.RenderContent;
|
|
@@ -212,13 +220,13 @@ export class Portal extends PortalState {
|
|
|
212
220
|
logger.warn(`${this.displayName} ${this.id} has no content. Did you forget to call .content()?`);
|
|
213
221
|
return null;
|
|
214
222
|
}
|
|
215
|
-
if (!visible && !mounted && !
|
|
223
|
+
if (!visible && !mounted && !this._config?.rendersWhenHidden)
|
|
216
224
|
return null;
|
|
217
225
|
const request = this.requestHandler.getRequestHandlers();
|
|
218
|
-
const lazyWrapperProps =
|
|
226
|
+
const lazyWrapperProps = this?._lazyWrapperProps ? this._lazyWrapperProps(params) : {};
|
|
219
227
|
const WrapperComponent = this.wrapperComponent;
|
|
220
|
-
return React.createElement(WrapperComponent,
|
|
221
|
-
React.createElement(Content,
|
|
228
|
+
return React.createElement(WrapperComponent, { ...this._config, ...this._wrapperProps, ...portalProps, ...wrapperProps, ...lazyWrapperProps, close: this.close, open: this.open, visible: visible, toggle: this.toggle, zIndex: this.stackIndex, ref: this.ref },
|
|
229
|
+
React.createElement(Content, { visible: visible, toggle: this.toggle, close: this.close, open: this.open, setParams: this.setParams, ...params, ...(propParams ?? {}), request: this.hasPendingRequest ? request : undefined, nextOrToggle: this.toggle, previousOrToggle: this.toggle, ref: this.ref }));
|
|
222
230
|
}
|
|
223
231
|
/**
|
|
224
232
|
* Creates a request promise that resolves when portal is closed with result.
|
|
@@ -235,10 +243,9 @@ export class Portal extends PortalState {
|
|
|
235
243
|
*/
|
|
236
244
|
static resetAll() {
|
|
237
245
|
Portal.registry.getAll().forEach(portal => {
|
|
238
|
-
|
|
239
|
-
(_a = portal.visible) === null || _a === void 0 ? void 0 : _a.set(false);
|
|
246
|
+
portal.visible?.set(false);
|
|
240
247
|
if (portal._initialParams !== undefined) {
|
|
241
|
-
|
|
248
|
+
portal.params?.set(portal._initialParams);
|
|
242
249
|
}
|
|
243
250
|
});
|
|
244
251
|
}
|
|
@@ -249,10 +256,8 @@ export class Portal extends PortalState {
|
|
|
249
256
|
*/
|
|
250
257
|
static GlobalOutlet() {
|
|
251
258
|
useStore(registeredIds);
|
|
252
|
-
const portals = Portal.registry.filter(p =>
|
|
259
|
+
const portals = Portal.registry.filter(p => !p._config?.independent);
|
|
253
260
|
return React.createElement(React.Fragment, null, portals.map(portal => React.createElement(portal.Component, { key: portal.id })));
|
|
254
261
|
}
|
|
255
262
|
}
|
|
256
|
-
Portal.registry = new PortalRegistry();
|
|
257
|
-
Portal.generateId = randomId;
|
|
258
263
|
//# sourceMappingURL=Portal.js.map
|
package/dist/lib/Portal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../src/lib/Portal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../src/lib/Portal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,8 @@
|
|
|
5
5
|
* @template T - Type of portal instances to manage
|
|
6
6
|
*/
|
|
7
7
|
export class PortalRegistry {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this.stack = [];
|
|
11
|
-
}
|
|
8
|
+
registry = {};
|
|
9
|
+
stack = [];
|
|
12
10
|
/**
|
|
13
11
|
* Registers a portal instance with an ID.
|
|
14
12
|
* @param id - Unique identifier for the portal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortalRegistry.js","sourceRoot":"","sources":["../../src/lib/PortalRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,cAAc;
|
|
1
|
+
{"version":3,"file":"PortalRegistry.js","sourceRoot":"","sources":["../../src/lib/PortalRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IACjB,QAAQ,GAAsB,EAAE,CAAA;IAEhC,KAAK,GAAa,EAAE,CAAA;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,EAAU,EAAE,QAAW;QAC9B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAA;IAC9B,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACxB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,EAAU;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,EAAU;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACpC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAmC;QACxC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACxC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortalRequest.js","sourceRoot":"","sources":["../../src/lib/PortalRequest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;
|
|
1
|
+
{"version":3,"file":"PortalRequest.js","sourceRoot":"","sources":["../../src/lib/PortalRequest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IACxB,OAAO,CAAuC;IAE9C,MAAM,CAA4B;IAE1B,MAAM,CAAoC;IAE1C,OAAO,CAAqB;IAEpC;;;;OAIG;IACH,YACE,MAA0C,EAC1C,OAA4B;QAE5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;IACxC,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAe,EAAE,KAAK,GAAG,KAAK;QACpC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAA;QAC/E,CAAC;QAED,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,MAAM,SAAS,GAAG,CAAC,MAAwB,EAAE,EAAE;gBAC7C,OAAO,CAAC,MAAM,CAAC,CAAA;gBACf,IAAI,CAAC,OAAO,EAAE,CAAA;gBACd,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC,CAAA;YAED,MAAM,QAAQ,GAAG,CAAC,MAAe,EAAE,EAAE;gBACnC,MAAM,CAAC,MAAM,CAAC,CAAA;gBACd,IAAI,CAAC,OAAO,EAAE,CAAA;gBACd,IAAI,CAAC,YAAY,EAAE,CAAA;YACrB,CAAC,CAAA;YAED,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;YACxB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;YAEtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IACzB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAA;IACH,CAAC;CACF"}
|
package/dist/lib/PortalState.js
CHANGED
|
@@ -1,20 +1,11 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { atom, onMount, task } from 'nanostores';
|
|
11
2
|
import { TypeGuards } from '@codeleap/types';
|
|
12
3
|
import { awaitTransition } from '../utils';
|
|
13
4
|
function initAtomWithPromise(a, promise) {
|
|
14
5
|
onMount(a, () => {
|
|
15
|
-
task(() =>
|
|
16
|
-
a.set(
|
|
17
|
-
})
|
|
6
|
+
task(async () => {
|
|
7
|
+
a.set(await promise);
|
|
8
|
+
});
|
|
18
9
|
});
|
|
19
10
|
}
|
|
20
11
|
/**
|
|
@@ -24,6 +15,13 @@ function initAtomWithPromise(a, promise) {
|
|
|
24
15
|
* @template Params - Type of parameters managed by the state
|
|
25
16
|
*/
|
|
26
17
|
export class PortalState {
|
|
18
|
+
/** Nanostores atom managing portal visibility state. */
|
|
19
|
+
visible;
|
|
20
|
+
/** Nanostores atom managing portal parameters. */
|
|
21
|
+
params;
|
|
22
|
+
/** Initial parameter values used when resetting. */
|
|
23
|
+
_initialParams;
|
|
24
|
+
config;
|
|
27
25
|
/**
|
|
28
26
|
* Asserts the portal state has been initialized and returns the initialized stores.
|
|
29
27
|
* @throws Error if `initializeState()` has not been called yet
|
|
@@ -44,12 +42,11 @@ export class PortalState {
|
|
|
44
42
|
* @param config - Configuration for initial state, visibility and params
|
|
45
43
|
*/
|
|
46
44
|
initializeState(config) {
|
|
47
|
-
var _a;
|
|
48
45
|
this.config = config;
|
|
49
46
|
const initialVisible = TypeGuards.isBoolean(config.startsOpen) ? config.startsOpen : false;
|
|
50
47
|
const initialParams = TypeGuards.isFunction(config.initialParams)
|
|
51
48
|
? {}
|
|
52
|
-
: (
|
|
49
|
+
: (config.initialParams ?? {});
|
|
53
50
|
this._initialParams = initialParams;
|
|
54
51
|
this.visible = atom(initialVisible);
|
|
55
52
|
this.params = atom(initialParams);
|
|
@@ -83,40 +80,39 @@ export class PortalState {
|
|
|
83
80
|
* Opens the portal with optional parameters.
|
|
84
81
|
* @param params - Parameters to merge with current params
|
|
85
82
|
*/
|
|
86
|
-
open(params) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
paramsAtom.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
83
|
+
async open(params) {
|
|
84
|
+
const { visible, params: paramsAtom } = this.assertInitialized();
|
|
85
|
+
if (visible.get()) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (params) {
|
|
89
|
+
paramsAtom.set({
|
|
90
|
+
...paramsAtom.get(),
|
|
91
|
+
...params,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
visible.set(true);
|
|
95
|
+
await this.awaitTransition();
|
|
96
|
+
this.handleOpen();
|
|
99
97
|
}
|
|
100
98
|
/** Lifecycle hook called after the portal closes. Override in subclasses to run custom logic. */
|
|
101
99
|
handleClose() { }
|
|
102
100
|
/**
|
|
103
101
|
* Closes the portal and optionally resets parameters.
|
|
104
102
|
*/
|
|
105
|
-
close() {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
yield this.awaitTransition();
|
|
119
|
-
});
|
|
103
|
+
async close() {
|
|
104
|
+
const { visible, config } = this.assertInitialized();
|
|
105
|
+
if (!visible.get()) {
|
|
106
|
+
return this.awaitTransition();
|
|
107
|
+
}
|
|
108
|
+
visible.set(false);
|
|
109
|
+
if (config.resetParamsOnClose) {
|
|
110
|
+
setTimeout(() => {
|
|
111
|
+
this.resetParams();
|
|
112
|
+
}, 1000);
|
|
113
|
+
}
|
|
114
|
+
this.handleClose();
|
|
115
|
+
await this.awaitTransition();
|
|
120
116
|
}
|
|
121
117
|
/**
|
|
122
118
|
* Toggles portal visibility (opens if closed, closes if open).
|
|
@@ -138,7 +134,10 @@ export class PortalState {
|
|
|
138
134
|
const { params } = this.assertInitialized();
|
|
139
135
|
const prev = params.get();
|
|
140
136
|
const patch = TypeGuards.isFunction(next) ? next(prev) : next;
|
|
141
|
-
params.set(
|
|
137
|
+
params.set({
|
|
138
|
+
...prev,
|
|
139
|
+
...patch,
|
|
140
|
+
});
|
|
142
141
|
}
|
|
143
142
|
/**
|
|
144
143
|
* Resets parameters to initial values.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortalState.js","sourceRoot":"","sources":["../../src/lib/PortalState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PortalState.js","sourceRoot":"","sources":["../../src/lib/PortalState.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { waitFor } from '@codeleap/utils';
|
|
11
2
|
/**
|
|
12
3
|
* Generates a random 7-character alphanumeric ID.
|
|
@@ -20,11 +11,9 @@ export const randomId = () => {
|
|
|
20
11
|
* @param count - Number of transitions to wait for (defaults to 1)
|
|
21
12
|
* @param duration - Duration per transition in milliseconds (defaults to 1000)
|
|
22
13
|
*/
|
|
23
|
-
export function awaitTransition(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
});
|
|
14
|
+
export async function awaitTransition(count, duration = 1000) {
|
|
15
|
+
for (let i = 0; i < (count ?? 1); i++) {
|
|
16
|
+
await waitFor(duration);
|
|
17
|
+
}
|
|
29
18
|
}
|
|
30
19
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAc,EAAE,QAAQ,GAAG,IAAI;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codeleap/portals",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.1.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
"directory": "packages/portals"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@codeleap/types": "7.0.
|
|
26
|
-
"@codeleap/config": "7.0.
|
|
27
|
-
"@codeleap/utils": "7.0.
|
|
28
|
-
"@codeleap/logger": "7.0.
|
|
25
|
+
"@codeleap/types": "7.0.2",
|
|
26
|
+
"@codeleap/config": "7.0.2",
|
|
27
|
+
"@codeleap/utils": "7.0.2",
|
|
28
|
+
"@codeleap/logger": "7.0.2",
|
|
29
29
|
"ts-node-dev": "1.1.8"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"run-sc": "tsnd --transpile-only"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@codeleap/types": "7.0.
|
|
39
|
-
"@codeleap/utils": "7.0.
|
|
40
|
-
"@codeleap/logger": "7.0.
|
|
38
|
+
"@codeleap/types": "7.0.2",
|
|
39
|
+
"@codeleap/utils": "7.0.2",
|
|
40
|
+
"@codeleap/logger": "7.0.2",
|
|
41
41
|
"typescript": "6.0.3",
|
|
42
42
|
"react": "19.1.0",
|
|
43
43
|
"nanostores": "*",
|