@devvit/ui-renderer 0.10.10-next-2023-11-17-a79634ff3.0 → 0.10.10-next-2023-11-20-546b49a2a.0
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/client/effects/devvit-effect-handler.d.ts +1 -0
- package/client/effects/devvit-effect-handler.d.ts.map +1 -1
- package/client/effects/devvit-effect-handler.js +10 -0
- package/client/effects/form-effect-handler.d.ts +1 -1
- package/client/effects/form-effect-handler.d.ts.map +1 -1
- package/client/effects/form-effect-handler.js +13 -3
- package/client/effects/navigate-to-url-handler.d.ts +1 -1
- package/client/effects/navigate-to-url-handler.d.ts.map +1 -1
- package/client/effects/navigate-to-url-handler.js +12 -3
- package/client/effects/toast-effect-handler.d.ts +3 -0
- package/client/effects/toast-effect-handler.d.ts.map +1 -1
- package/client/effects/toast-effect-handler.js +28 -2
- package/package.json +6 -6
- package/types/events.d.ts +19 -1
- package/types/events.d.ts.map +1 -1
|
@@ -13,6 +13,7 @@ export declare abstract class DevvitEffectHandler implements ReactiveController
|
|
|
13
13
|
hostDisconnected(): void;
|
|
14
14
|
hostUpdate(): void;
|
|
15
15
|
hostUpdated(): void;
|
|
16
|
+
postMessageToWindow: (parentWindowInfo: ParentWindowInfo, eventDetail: DevvitPostMessageEffectDetail) => void;
|
|
16
17
|
handle: (effect: Effect, onEvent: (event: UIEvent) => void) => void;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=devvit-effect-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devvit-effect-handler.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/devvit-effect-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EACL,MAAM,EAEN,IAAI,EACJ,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,KAAK,EACL,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,8BAAsB,mBAAoB,YAAW,kBAAkB;;IACrE,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC;gBAEpB,IAAI,EAAE,eAAe;IAKjC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAE9E,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAE3E,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAE1F,SAAS,CAAC,eAAe,CACvB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,IAAI;IAEP,SAAS,CAAC,uBAAuB,CAC/B,cAAc,EAAE,2BAA2B,EAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,IAAI;IAEP,aAAa,IAAI,IAAI;IAIrB,gBAAgB,IAAI,IAAI;IAIxB,UAAU,IAAI,IAAI;IAElB,WAAW,IAAI,IAAI;IAOnB,MAAM,WAAY,MAAM,mBAAmB,OAAO,KAAK,IAAI,KAAG,IAAI,CA8BhE;CACH"}
|
|
1
|
+
{"version":3,"file":"devvit-effect-handler.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/devvit-effect-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EACL,MAAM,EAEN,IAAI,EACJ,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,KAAK,EACL,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,8BAAsB,mBAAoB,YAAW,kBAAkB;;IACrE,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC;gBAEpB,IAAI,EAAE,eAAe;IAKjC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAE9E,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAE3E,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAE1F,SAAS,CAAC,eAAe,CACvB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,IAAI;IAEP,SAAS,CAAC,uBAAuB,CAC/B,cAAc,EAAE,2BAA2B,EAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,IAAI;IAEP,aAAa,IAAI,IAAI;IAIrB,gBAAgB,IAAI,IAAI;IAIxB,UAAU,IAAI,IAAI;IAElB,WAAW,IAAI,IAAI;IAOnB,mBAAmB,qBACC,gBAAgB,eACrB,6BAA6B,KACzC,IAAI,CASL;IAEF,MAAM,WAAY,MAAM,mBAAmB,OAAO,KAAK,IAAI,KAAG,IAAI,CA8BhE;CACH"}
|
|
@@ -11,6 +11,16 @@ export class DevvitEffectHandler {
|
|
|
11
11
|
const { effect, onEvent } = event.detail;
|
|
12
12
|
this.handle(effect, onEvent);
|
|
13
13
|
});
|
|
14
|
+
this.postMessageToWindow = (parentWindowInfo, eventDetail) => {
|
|
15
|
+
/*
|
|
16
|
+
postMessage to a specified window and host origin.
|
|
17
|
+
Most commonly used in iframe situations, so that effect details can be sent to the iframe parent, instead of the iframe window itself.
|
|
18
|
+
*/
|
|
19
|
+
const { windowTop, postMessageHostOrigin } = parentWindowInfo;
|
|
20
|
+
if (!windowTop && !postMessageHostOrigin)
|
|
21
|
+
return;
|
|
22
|
+
windowTop.postMessage(eventDetail, postMessageHostOrigin);
|
|
23
|
+
};
|
|
14
24
|
this.handle = (effect, onEvent) => {
|
|
15
25
|
switch (effect.type) {
|
|
16
26
|
case EffectType.EFFECT_SHOW_TOAST:
|
|
@@ -3,7 +3,7 @@ import { Form, UIEvent } from '@devvit/protos';
|
|
|
3
3
|
import { ReactiveElement } from 'lit';
|
|
4
4
|
export declare class FormEffectHandler extends DevvitEffectHandler {
|
|
5
5
|
#private;
|
|
6
|
-
constructor(host: ReactiveElement, queryString?: string);
|
|
6
|
+
constructor(host: ReactiveElement, queryString?: string, parentWindowInfo?: ParentWindowInfo | undefined);
|
|
7
7
|
hostUpdated(): void;
|
|
8
8
|
protected onShowForm(form: Form, onEvent: (event: UIEvent) => void): void;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-effect-handler.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/form-effect-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAGtC,qBAAa,iBAAkB,SAAQ,mBAAmB;;
|
|
1
|
+
{"version":3,"file":"form-effect-handler.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/form-effect-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAGtC,qBAAa,iBAAkB,SAAQ,mBAAmB;;gBAOtD,IAAI,EAAE,eAAe,EACrB,WAAW,GAAE,MAA6B,EAC1C,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAOxC,WAAW,IAAI,IAAI;cAKT,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;CAYnF"}
|
|
@@ -9,21 +9,31 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _FormEffectHandler_queryString, _FormEffectHandler_dialog;
|
|
12
|
+
var _FormEffectHandler_queryString, _FormEffectHandler_parentWindowInfo, _FormEffectHandler_dialog;
|
|
13
13
|
import { DevvitEffectHandler } from './devvit-effect-handler.js';
|
|
14
14
|
export class FormEffectHandler extends DevvitEffectHandler {
|
|
15
|
-
constructor(host, queryString = 'devvit-form-dialog') {
|
|
15
|
+
constructor(host, queryString = 'devvit-form-dialog', parentWindowInfo) {
|
|
16
16
|
super(host);
|
|
17
17
|
_FormEffectHandler_queryString.set(this, void 0);
|
|
18
|
+
_FormEffectHandler_parentWindowInfo.set(this, void 0);
|
|
18
19
|
_FormEffectHandler_dialog.set(this, void 0);
|
|
19
20
|
__classPrivateFieldSet(this, _FormEffectHandler_queryString, queryString, "f");
|
|
21
|
+
__classPrivateFieldSet(this, _FormEffectHandler_parentWindowInfo, parentWindowInfo, "f");
|
|
20
22
|
}
|
|
21
23
|
hostUpdated() {
|
|
22
24
|
super.hostUpdated();
|
|
23
25
|
__classPrivateFieldSet(this, _FormEffectHandler_dialog, this.host.renderRoot.querySelector(__classPrivateFieldGet(this, _FormEffectHandler_queryString, "f")), "f");
|
|
24
26
|
}
|
|
25
27
|
onShowForm(form, onEvent) {
|
|
28
|
+
if (__classPrivateFieldGet(this, _FormEffectHandler_parentWindowInfo, "f")) {
|
|
29
|
+
this.postMessageToWindow(__classPrivateFieldGet(this, _FormEffectHandler_parentWindowInfo, "f"), {
|
|
30
|
+
form,
|
|
31
|
+
onEvent,
|
|
32
|
+
effectName: 'devvit:formEffect',
|
|
33
|
+
});
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
26
36
|
__classPrivateFieldGet(this, _FormEffectHandler_dialog, "f")?.showForm(form, onEvent);
|
|
27
37
|
}
|
|
28
38
|
}
|
|
29
|
-
_FormEffectHandler_queryString = new WeakMap(), _FormEffectHandler_dialog = new WeakMap();
|
|
39
|
+
_FormEffectHandler_queryString = new WeakMap(), _FormEffectHandler_parentWindowInfo = new WeakMap(), _FormEffectHandler_dialog = new WeakMap();
|
|
@@ -3,7 +3,7 @@ import { NavigateToUrlEffect, UIEvent } from '@devvit/protos';
|
|
|
3
3
|
import { ReactiveElement } from 'lit';
|
|
4
4
|
export declare class NavigateToUrlEffectHandler extends DevvitEffectHandler {
|
|
5
5
|
#private;
|
|
6
|
-
constructor(host: ReactiveElement, queryString?: string);
|
|
6
|
+
constructor(host: ReactiveElement, queryString?: string, parentWindowInfo?: ParentWindowInfo | undefined);
|
|
7
7
|
hostUpdated(): void;
|
|
8
8
|
protected onNavigateToUrl(navigateTo: NavigateToUrlEffect, _onEvent: (event: UIEvent) => void): void;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate-to-url-handler.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/navigate-to-url-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAQtC,qBAAa,0BAA2B,SAAQ,mBAAmB;;
|
|
1
|
+
{"version":3,"file":"navigate-to-url-handler.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/navigate-to-url-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAQtC,qBAAa,0BAA2B,SAAQ,mBAAmB;;gBAO/D,IAAI,EAAE,eAAe,EACrB,WAAW,GAAE,MAAyC,EACtD,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAOxC,WAAW,IAAI,IAAI;cAOT,eAAe,CAChC,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,IAAI;CAuCR"}
|
|
@@ -9,17 +9,19 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _NavigateToUrlEffectHandler_queryString, _NavigateToUrlEffectHandler_dialog;
|
|
12
|
+
var _NavigateToUrlEffectHandler_queryString, _NavigateToUrlEffectHandler_parentWindowInfo, _NavigateToUrlEffectHandler_dialog;
|
|
13
13
|
import { DevvitEffectHandler } from './devvit-effect-handler.js';
|
|
14
14
|
/* eslint-disable security/detect-unsafe-regex */
|
|
15
15
|
const IPV4_PATTERN = /((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])/;
|
|
16
16
|
const IPV6_PATTERN = /(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]+|::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9]))/;
|
|
17
17
|
export class NavigateToUrlEffectHandler extends DevvitEffectHandler {
|
|
18
|
-
constructor(host, queryString = 'devvit-navigate-offsite-dialog') {
|
|
18
|
+
constructor(host, queryString = 'devvit-navigate-offsite-dialog', parentWindowInfo) {
|
|
19
19
|
super(host);
|
|
20
20
|
_NavigateToUrlEffectHandler_queryString.set(this, void 0);
|
|
21
|
+
_NavigateToUrlEffectHandler_parentWindowInfo.set(this, void 0);
|
|
21
22
|
_NavigateToUrlEffectHandler_dialog.set(this, void 0);
|
|
22
23
|
__classPrivateFieldSet(this, _NavigateToUrlEffectHandler_queryString, queryString, "f");
|
|
24
|
+
__classPrivateFieldSet(this, _NavigateToUrlEffectHandler_parentWindowInfo, parentWindowInfo, "f");
|
|
23
25
|
}
|
|
24
26
|
hostUpdated() {
|
|
25
27
|
super.hostUpdated();
|
|
@@ -48,6 +50,13 @@ export class NavigateToUrlEffectHandler extends DevvitEffectHandler {
|
|
|
48
50
|
console.warn('Extended hostnames are not allowed:', url.toString());
|
|
49
51
|
return;
|
|
50
52
|
}
|
|
53
|
+
if (__classPrivateFieldGet(this, _NavigateToUrlEffectHandler_parentWindowInfo, "f")) {
|
|
54
|
+
this.postMessageToWindow(__classPrivateFieldGet(this, _NavigateToUrlEffectHandler_parentWindowInfo, "f"), {
|
|
55
|
+
url,
|
|
56
|
+
effectName: 'devvit:navigateToEffect',
|
|
57
|
+
});
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
51
60
|
if (url.hostname.endsWith('reddit.com')) {
|
|
52
61
|
window.open(url, '_self');
|
|
53
62
|
}
|
|
@@ -60,4 +69,4 @@ export class NavigateToUrlEffectHandler extends DevvitEffectHandler {
|
|
|
60
69
|
}
|
|
61
70
|
}
|
|
62
71
|
}
|
|
63
|
-
_NavigateToUrlEffectHandler_queryString = new WeakMap(), _NavigateToUrlEffectHandler_dialog = new WeakMap();
|
|
72
|
+
_NavigateToUrlEffectHandler_queryString = new WeakMap(), _NavigateToUrlEffectHandler_parentWindowInfo = new WeakMap(), _NavigateToUrlEffectHandler_dialog = new WeakMap();
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Toast } from '@devvit/protos';
|
|
2
2
|
import { DevvitEffectHandler } from './devvit-effect-handler.js';
|
|
3
|
+
import { ReactiveElement } from 'lit';
|
|
3
4
|
export declare class ToastEffectHandler extends DevvitEffectHandler {
|
|
5
|
+
#private;
|
|
6
|
+
constructor(host: ReactiveElement, parentWindowInfo?: ParentWindowInfo | undefined);
|
|
4
7
|
onShowToast(toast: Toast): void;
|
|
5
8
|
}
|
|
6
9
|
//# sourceMappingURL=toast-effect-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-effect-handler.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/toast-effect-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"toast-effect-handler.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/toast-effect-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAItC,qBAAa,kBAAmB,SAAQ,mBAAmB;;gBAG7C,IAAI,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAKzE,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAgBzC"}
|
|
@@ -1,12 +1,38 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _ToastEffectHandler_parentWindowInfo;
|
|
1
13
|
import { ToastAppearance } from '@devvit/protos';
|
|
2
14
|
import { DevvitEffectHandler } from './devvit-effect-handler.js';
|
|
3
15
|
import { customEvent } from '@reddit/faceplate/lib/custom-event.js';
|
|
4
16
|
import { Severity } from '@reddit/faceplate/types.js';
|
|
5
17
|
export class ToastEffectHandler extends DevvitEffectHandler {
|
|
18
|
+
constructor(host, parentWindowInfo) {
|
|
19
|
+
super(host);
|
|
20
|
+
_ToastEffectHandler_parentWindowInfo.set(this, void 0);
|
|
21
|
+
__classPrivateFieldSet(this, _ToastEffectHandler_parentWindowInfo, parentWindowInfo, "f");
|
|
22
|
+
}
|
|
6
23
|
onShowToast(toast) {
|
|
7
|
-
|
|
24
|
+
const toastDetails = {
|
|
8
25
|
message: toast.text,
|
|
9
26
|
level: toast.appearance === ToastAppearance.SUCCESS ? Severity.success : Severity.info,
|
|
10
|
-
}
|
|
27
|
+
};
|
|
28
|
+
if (__classPrivateFieldGet(this, _ToastEffectHandler_parentWindowInfo, "f")) {
|
|
29
|
+
this.postMessageToWindow(__classPrivateFieldGet(this, _ToastEffectHandler_parentWindowInfo, "f"), {
|
|
30
|
+
...toastDetails,
|
|
31
|
+
effectName: 'devvit:toastEffect',
|
|
32
|
+
});
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
this.host.dispatchEvent(customEvent('faceplate-alert', toastDetails));
|
|
11
36
|
}
|
|
12
37
|
}
|
|
38
|
+
_ToastEffectHandler_parentWindowInfo = new WeakMap();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devvit/ui-renderer",
|
|
3
|
-
"version": "0.10.10-next-2023-11-
|
|
3
|
+
"version": "0.10.10-next-2023-11-20-546b49a2a.0",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -54,9 +54,9 @@
|
|
|
54
54
|
},
|
|
55
55
|
"types": "./index.d.ts",
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@devvit/protos": "0.10.10-next-2023-11-
|
|
58
|
-
"@devvit/runtime-lite": "0.10.10-next-2023-11-
|
|
59
|
-
"@devvit/runtimes": "0.10.10-next-2023-11-
|
|
57
|
+
"@devvit/protos": "0.10.10-next-2023-11-20-546b49a2a.0",
|
|
58
|
+
"@devvit/runtime-lite": "0.10.10-next-2023-11-20-546b49a2a.0",
|
|
59
|
+
"@devvit/runtimes": "0.10.10-next-2023-11-20-546b49a2a.0",
|
|
60
60
|
"@lottiefiles/lottie-player": "1.7.1",
|
|
61
61
|
"isomorphic-dompurify": "1.9.0",
|
|
62
62
|
"p-queue": "7.3.4",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"devDependencies": {
|
|
85
85
|
"@devvit/eslint-config": "0.10.9",
|
|
86
86
|
"@devvit/repo-tools": "0.10.9",
|
|
87
|
-
"@devvit/tsconfig": "0.10.10-next-2023-11-
|
|
87
|
+
"@devvit/tsconfig": "0.10.10-next-2023-11-20-546b49a2a.0",
|
|
88
88
|
"@lit-labs/ssr": "^2.2.3",
|
|
89
89
|
"@lit/localize": "0.11.4",
|
|
90
90
|
"@open-wc/testing-helpers": "2.3.0",
|
|
@@ -116,5 +116,5 @@
|
|
|
116
116
|
"directory": "dist"
|
|
117
117
|
},
|
|
118
118
|
"source": "./src/index.ts",
|
|
119
|
-
"gitHead": "
|
|
119
|
+
"gitHead": "dc415184a443117067b7e2903c186a5240400948"
|
|
120
120
|
}
|
package/types/events.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FaceplateEvent } from '@reddit/faceplate/event-types.js';
|
|
2
|
-
import {
|
|
2
|
+
import { Severity } from '@reddit/faceplate/types.js';
|
|
3
|
+
import { BlockAction, Effect, Form, UIEvent } from '@devvit/protos';
|
|
3
4
|
declare global {
|
|
4
5
|
interface DevvitUIEffectEvent extends FaceplateEvent<'devvit-ui-effect'> {
|
|
5
6
|
detail: Readonly<{
|
|
@@ -12,6 +13,23 @@ declare global {
|
|
|
12
13
|
action: BlockAction;
|
|
13
14
|
}>;
|
|
14
15
|
}
|
|
16
|
+
interface ParentWindowInfo {
|
|
17
|
+
windowTop: Window;
|
|
18
|
+
postMessageHostOrigin: string;
|
|
19
|
+
}
|
|
20
|
+
type DevvitPostMessageEffectDetail = {
|
|
21
|
+
onEvent?: (event: UIEvent) => void;
|
|
22
|
+
} & ({
|
|
23
|
+
effectName: 'devvit:navigateToEffect';
|
|
24
|
+
url: URL;
|
|
25
|
+
} | {
|
|
26
|
+
effectName: 'devvit:toastEffect';
|
|
27
|
+
message: string;
|
|
28
|
+
level: Severity;
|
|
29
|
+
} | {
|
|
30
|
+
effectName: 'devvit:formEffect';
|
|
31
|
+
form: Form;
|
|
32
|
+
});
|
|
15
33
|
interface HTMLElementEventMap {
|
|
16
34
|
'devvit-ui-effect': DevvitUIEffectEvent;
|
|
17
35
|
'devvit-user-action': DevvitUserAction;
|
package/types/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../library/src/types/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../library/src/types/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAoB,SAAQ,cAAc,CAAC,kBAAkB,CAAC;QACtE,MAAM,EAAE,QAAQ,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;SACnC,CAAC,CAAC;KACJ;IAED,UAAU,gBAAiB,SAAQ,cAAc,CAAC,oBAAoB,CAAC;QACrE,MAAM,EAAE,QAAQ,CAAC;YACf,MAAM,EAAE,WAAW,CAAC;SACrB,CAAC,CAAC;KACJ;IAED,UAAU,gBAAgB;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,qBAAqB,EAAE,MAAM,CAAC;KAC/B;IAED,KAAK,6BAA6B,GAAG;QACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;KACpC,GAAG,CACA;QACE,UAAU,EAAE,yBAAyB,CAAC;QACtC,GAAG,EAAE,GAAG,CAAC;KACV,GACD;QACE,UAAU,EAAE,oBAAoB,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,QAAQ,CAAC;KACjB,GACD;QACE,UAAU,EAAE,mBAAmB,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC;KACZ,CACJ,CAAC;IAEF,UAAU,mBAAmB;QAC3B,kBAAkB,EAAE,mBAAmB,CAAC;QACxC,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
|