@devvit/public-api 0.11.6-next-2024-12-19-5fb90c390.0 → 0.11.6-next-2024-12-19-56e39677d.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/devvit/internals/blocks/handler/useWebView.d.ts +7 -0
- package/devvit/internals/blocks/handler/useWebView.d.ts.map +1 -0
- package/devvit/internals/blocks/handler/useWebView.js +98 -0
- package/devvit/internals/blocks/handler/useWebView.test.d.ts.map +1 -0
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +1 -0
- package/meta.json +39 -5
- package/meta.min.json +51 -6
- package/package.json +7 -7
- package/public-api.d.ts +27 -0
- package/public-api.iife.js +88 -4
- package/public-api.min.js +5 -5
- package/public-api.min.js.map +4 -4
- package/types/hooks.d.ts +19 -0
- package/types/hooks.d.ts.map +1 -1
- package/types/hooks.js +1 -0
- package/version.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { JSONValue } from '@devvit/shared-types/json.js';
|
|
2
|
+
import type { UseWebViewOptions, UseWebViewResult } from '../../../../index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Use this hook to handle a web view's visibility state and any messages sent to your app.
|
|
5
|
+
* */
|
|
6
|
+
export declare function useWebView<T extends JSONValue = JSONValue>(options: UseWebViewOptions<T>): UseWebViewResult;
|
|
7
|
+
//# sourceMappingURL=useWebView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWebView.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/useWebView.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAoF9B;;KAEK;AACL,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACxD,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,gBAAgB,CASlB"}
|
|
@@ -0,0 +1,98 @@
|
|
|
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 _WebViewHook_hookId, _WebViewHook_url, _WebViewHook_onMessage, _WebViewHook_onUnmount, _WebViewHook_renderContext;
|
|
13
|
+
import { EffectType } from '@devvit/protos';
|
|
14
|
+
import { WebViewVisibility } from '@devvit/protos/types/devvit/ui/events/v1alpha/web_view.js';
|
|
15
|
+
import { registerHook } from './BlocksHandler.js';
|
|
16
|
+
class WebViewHook {
|
|
17
|
+
constructor(params, options) {
|
|
18
|
+
this.state = { messageCount: 0 };
|
|
19
|
+
_WebViewHook_hookId.set(this, void 0);
|
|
20
|
+
// This url is the path to the asset that will be loaded in the web view.
|
|
21
|
+
// It is ensured to be a valid path prior to the effect being emitted.
|
|
22
|
+
_WebViewHook_url.set(this, void 0);
|
|
23
|
+
_WebViewHook_onMessage.set(this, void 0);
|
|
24
|
+
_WebViewHook_onUnmount.set(this, void 0);
|
|
25
|
+
_WebViewHook_renderContext.set(this, void 0);
|
|
26
|
+
/**
|
|
27
|
+
* Send a message from a Devvit app to a web view.
|
|
28
|
+
*/
|
|
29
|
+
this.postMessage = (message) => {
|
|
30
|
+
// Handle messages sent from Devvit app -> web view
|
|
31
|
+
__classPrivateFieldGet(this, _WebViewHook_renderContext, "f").emitEffect(`postMessage${this.state.messageCount++}`, {
|
|
32
|
+
type: EffectType.EFFECT_WEB_VIEW,
|
|
33
|
+
webView: {
|
|
34
|
+
postMessage: {
|
|
35
|
+
webViewId: __classPrivateFieldGet(this, _WebViewHook_hookId, "f"),
|
|
36
|
+
app: { message },
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Triggers the fullscreen effect to show the web view in fullscreen mode.
|
|
43
|
+
*/
|
|
44
|
+
this.mount = () => {
|
|
45
|
+
const assets = __classPrivateFieldGet(this, _WebViewHook_renderContext, "f")?.devvitContext?.assets;
|
|
46
|
+
// Get the public URL for the asset. Returns an empty string if the asset is not found.
|
|
47
|
+
const url = assets.getURL(__classPrivateFieldGet(this, _WebViewHook_url, "f"), { webView: true });
|
|
48
|
+
if (!url) {
|
|
49
|
+
throw Error(`useWebView fullscreen request failed; web view asset could not be found`);
|
|
50
|
+
}
|
|
51
|
+
__classPrivateFieldGet(this, _WebViewHook_renderContext, "f").emitEffect('fullscreen', {
|
|
52
|
+
type: EffectType.EFFECT_WEB_VIEW,
|
|
53
|
+
webView: {
|
|
54
|
+
fullscreen: {
|
|
55
|
+
id: __classPrivateFieldGet(this, _WebViewHook_hookId, "f"),
|
|
56
|
+
show: true,
|
|
57
|
+
url,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
// Default to index.html if there is no URL provided.
|
|
63
|
+
__classPrivateFieldSet(this, _WebViewHook_url, options.url ?? 'index.html', "f");
|
|
64
|
+
__classPrivateFieldSet(this, _WebViewHook_hookId, params.hookId, "f");
|
|
65
|
+
__classPrivateFieldSet(this, _WebViewHook_onMessage, options.onMessage, "f");
|
|
66
|
+
__classPrivateFieldSet(this, _WebViewHook_onUnmount, options.onUnmount, "f");
|
|
67
|
+
__classPrivateFieldSet(this, _WebViewHook_renderContext, params.context, "f");
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Handles UI events originating from the web view and calls associated callbacks for the Devvit app to handle.
|
|
71
|
+
*/
|
|
72
|
+
async onUIEvent(event) {
|
|
73
|
+
if (event.webView?.fullScreen) {
|
|
74
|
+
const isVisible = event.webView.fullScreen.visibility === WebViewVisibility.WEBVIEW_VISIBLE;
|
|
75
|
+
if (!isVisible && __classPrivateFieldGet(this, _WebViewHook_onUnmount, "f"))
|
|
76
|
+
await __classPrivateFieldGet(this, _WebViewHook_onUnmount, "f").call(this, this);
|
|
77
|
+
}
|
|
78
|
+
else if (event.webView?.postMessage) {
|
|
79
|
+
// Handle messages sent from web view -> Devvit app
|
|
80
|
+
const { message } = event.webView.postMessage;
|
|
81
|
+
await __classPrivateFieldGet(this, _WebViewHook_onMessage, "f").call(this, message, this);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
_WebViewHook_hookId = new WeakMap(), _WebViewHook_url = new WeakMap(), _WebViewHook_onMessage = new WeakMap(), _WebViewHook_onUnmount = new WeakMap(), _WebViewHook_renderContext = new WeakMap();
|
|
86
|
+
/**
|
|
87
|
+
* Use this hook to handle a web view's visibility state and any messages sent to your app.
|
|
88
|
+
* */
|
|
89
|
+
export function useWebView(options) {
|
|
90
|
+
const hook = registerHook({
|
|
91
|
+
namespace: 'useWebView',
|
|
92
|
+
initializer: (params) => new WebViewHook(params, options),
|
|
93
|
+
});
|
|
94
|
+
return {
|
|
95
|
+
postMessage: hook.postMessage,
|
|
96
|
+
mount: hook.mount,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWebView.test.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/useWebView.test.tsx"],"names":[],"mappings":""}
|
package/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export { useChannel } from './devvit/internals/blocks/handler/useChannel.js';
|
|
|
8
8
|
export { useForm } from './devvit/internals/blocks/handler/useForm.js';
|
|
9
9
|
export { useInterval } from './devvit/internals/blocks/handler/useInterval.js';
|
|
10
10
|
export { useState } from './devvit/internals/blocks/handler/useState.js';
|
|
11
|
+
export { useWebView } from './devvit/internals/blocks/handler/useWebView.js';
|
|
11
12
|
export * from './types/index.js';
|
|
12
13
|
export * from '@devvit/shared-types/json.js';
|
|
13
14
|
export { RichTextBuilder } from '@devvit/shared-types/richtext/RichTextBuilder.js';
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,cAAc,+BAA+B,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,8CAA8C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,cAAc,+BAA+B,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,8CAA8C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC"}
|
package/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export { useChannel } from './devvit/internals/blocks/handler/useChannel.js';
|
|
|
7
7
|
export { useForm } from './devvit/internals/blocks/handler/useForm.js';
|
|
8
8
|
export { useInterval } from './devvit/internals/blocks/handler/useInterval.js';
|
|
9
9
|
export { useState } from './devvit/internals/blocks/handler/useState.js';
|
|
10
|
+
export { useWebView } from './devvit/internals/blocks/handler/useWebView.js';
|
|
10
11
|
export * from './types/index.js';
|
|
11
12
|
export * from '@devvit/shared-types/json.js';
|
|
12
13
|
export { RichTextBuilder } from '@devvit/shared-types/richtext/RichTextBuilder.js';
|
package/meta.json
CHANGED
|
@@ -9575,7 +9575,7 @@
|
|
|
9575
9575
|
"format": "esm"
|
|
9576
9576
|
},
|
|
9577
9577
|
"src/types/hooks.ts": {
|
|
9578
|
-
"bytes":
|
|
9578
|
+
"bytes": 5593,
|
|
9579
9579
|
"imports": [],
|
|
9580
9580
|
"format": "esm"
|
|
9581
9581
|
},
|
|
@@ -11883,13 +11883,39 @@
|
|
|
11883
11883
|
],
|
|
11884
11884
|
"format": "esm"
|
|
11885
11885
|
},
|
|
11886
|
+
"src/devvit/internals/blocks/handler/useWebView.ts": {
|
|
11887
|
+
"bytes": 3604,
|
|
11888
|
+
"imports": [
|
|
11889
|
+
{
|
|
11890
|
+
"path": "../protos/dist/index.js",
|
|
11891
|
+
"kind": "import-statement",
|
|
11892
|
+
"original": "@devvit/protos"
|
|
11893
|
+
},
|
|
11894
|
+
{
|
|
11895
|
+
"path": "../protos/dist/types/devvit/ui/events/v1alpha/web_view.js",
|
|
11896
|
+
"kind": "import-statement",
|
|
11897
|
+
"original": "@devvit/protos/types/devvit/ui/events/v1alpha/web_view.js"
|
|
11898
|
+
},
|
|
11899
|
+
{
|
|
11900
|
+
"path": "src/devvit/internals/blocks/handler/BlocksHandler.ts",
|
|
11901
|
+
"kind": "import-statement",
|
|
11902
|
+
"original": "./BlocksHandler.js"
|
|
11903
|
+
},
|
|
11904
|
+
{
|
|
11905
|
+
"path": "<runtime>",
|
|
11906
|
+
"kind": "import-statement",
|
|
11907
|
+
"external": true
|
|
11908
|
+
}
|
|
11909
|
+
],
|
|
11910
|
+
"format": "esm"
|
|
11911
|
+
},
|
|
11886
11912
|
"../shared-types/dist/json.js": {
|
|
11887
11913
|
"bytes": 11,
|
|
11888
11914
|
"imports": [],
|
|
11889
11915
|
"format": "esm"
|
|
11890
11916
|
},
|
|
11891
11917
|
"src/index.ts": {
|
|
11892
|
-
"bytes":
|
|
11918
|
+
"bytes": 848,
|
|
11893
11919
|
"imports": [
|
|
11894
11920
|
{
|
|
11895
11921
|
"path": "../../node_modules/core-js/web/url.js",
|
|
@@ -11936,6 +11962,11 @@
|
|
|
11936
11962
|
"kind": "import-statement",
|
|
11937
11963
|
"original": "./devvit/internals/blocks/handler/useState.js"
|
|
11938
11964
|
},
|
|
11965
|
+
{
|
|
11966
|
+
"path": "src/devvit/internals/blocks/handler/useWebView.ts",
|
|
11967
|
+
"kind": "import-statement",
|
|
11968
|
+
"original": "./devvit/internals/blocks/handler/useWebView.js"
|
|
11969
|
+
},
|
|
11939
11970
|
{
|
|
11940
11971
|
"path": "src/types/index.ts",
|
|
11941
11972
|
"kind": "import-statement",
|
|
@@ -12379,7 +12410,7 @@
|
|
|
12379
12410
|
"bytesInOutput": 3902
|
|
12380
12411
|
},
|
|
12381
12412
|
"src/index.ts": {
|
|
12382
|
-
"bytesInOutput":
|
|
12413
|
+
"bytesInOutput": 2299
|
|
12383
12414
|
},
|
|
12384
12415
|
"../shared-types/dist/NonNull.js": {
|
|
12385
12416
|
"bytesInOutput": 118
|
|
@@ -12691,7 +12722,7 @@
|
|
|
12691
12722
|
"bytesInOutput": 0
|
|
12692
12723
|
},
|
|
12693
12724
|
"src/types/hooks.ts": {
|
|
12694
|
-
"bytesInOutput":
|
|
12725
|
+
"bytesInOutput": 222
|
|
12695
12726
|
},
|
|
12696
12727
|
"src/types/icons.ts": {
|
|
12697
12728
|
"bytesInOutput": 5121
|
|
@@ -12947,9 +12978,12 @@
|
|
|
12947
12978
|
},
|
|
12948
12979
|
"src/apis/ui/helpers/svg.ts": {
|
|
12949
12980
|
"bytesInOutput": 370
|
|
12981
|
+
},
|
|
12982
|
+
"src/devvit/internals/blocks/handler/useWebView.ts": {
|
|
12983
|
+
"bytesInOutput": 2975
|
|
12950
12984
|
}
|
|
12951
12985
|
},
|
|
12952
|
-
"bytes":
|
|
12986
|
+
"bytes": 12730170
|
|
12953
12987
|
}
|
|
12954
12988
|
}
|
|
12955
12989
|
}
|
package/meta.min.json
CHANGED
|
@@ -2435,7 +2435,7 @@
|
|
|
2435
2435
|
"format": "esm"
|
|
2436
2436
|
},
|
|
2437
2437
|
"src/types/hooks.ts": {
|
|
2438
|
-
"bytes":
|
|
2438
|
+
"bytes": 5593,
|
|
2439
2439
|
"imports": [],
|
|
2440
2440
|
"format": "esm"
|
|
2441
2441
|
},
|
|
@@ -4743,13 +4743,39 @@
|
|
|
4743
4743
|
],
|
|
4744
4744
|
"format": "esm"
|
|
4745
4745
|
},
|
|
4746
|
+
"src/devvit/internals/blocks/handler/useWebView.ts": {
|
|
4747
|
+
"bytes": 3604,
|
|
4748
|
+
"imports": [
|
|
4749
|
+
{
|
|
4750
|
+
"path": "@devvit/protos",
|
|
4751
|
+
"kind": "import-statement",
|
|
4752
|
+
"external": true
|
|
4753
|
+
},
|
|
4754
|
+
{
|
|
4755
|
+
"path": "@devvit/protos/types/devvit/ui/events/v1alpha/web_view.js",
|
|
4756
|
+
"kind": "import-statement",
|
|
4757
|
+
"external": true
|
|
4758
|
+
},
|
|
4759
|
+
{
|
|
4760
|
+
"path": "src/devvit/internals/blocks/handler/BlocksHandler.ts",
|
|
4761
|
+
"kind": "import-statement",
|
|
4762
|
+
"original": "./BlocksHandler.js"
|
|
4763
|
+
},
|
|
4764
|
+
{
|
|
4765
|
+
"path": "<runtime>",
|
|
4766
|
+
"kind": "import-statement",
|
|
4767
|
+
"external": true
|
|
4768
|
+
}
|
|
4769
|
+
],
|
|
4770
|
+
"format": "esm"
|
|
4771
|
+
},
|
|
4746
4772
|
"../shared-types/dist/json.js": {
|
|
4747
4773
|
"bytes": 11,
|
|
4748
4774
|
"imports": [],
|
|
4749
4775
|
"format": "esm"
|
|
4750
4776
|
},
|
|
4751
4777
|
"src/index.ts": {
|
|
4752
|
-
"bytes":
|
|
4778
|
+
"bytes": 848,
|
|
4753
4779
|
"imports": [
|
|
4754
4780
|
{
|
|
4755
4781
|
"path": "../../node_modules/core-js/web/url.js",
|
|
@@ -4796,6 +4822,11 @@
|
|
|
4796
4822
|
"kind": "import-statement",
|
|
4797
4823
|
"original": "./devvit/internals/blocks/handler/useState.js"
|
|
4798
4824
|
},
|
|
4825
|
+
{
|
|
4826
|
+
"path": "src/devvit/internals/blocks/handler/useWebView.ts",
|
|
4827
|
+
"kind": "import-statement",
|
|
4828
|
+
"original": "./devvit/internals/blocks/handler/useWebView.js"
|
|
4829
|
+
},
|
|
4799
4830
|
{
|
|
4800
4831
|
"path": "src/types/index.ts",
|
|
4801
4832
|
"kind": "import-statement",
|
|
@@ -4820,7 +4851,7 @@
|
|
|
4820
4851
|
"imports": [],
|
|
4821
4852
|
"exports": [],
|
|
4822
4853
|
"inputs": {},
|
|
4823
|
-
"bytes":
|
|
4854
|
+
"bytes": 1249725
|
|
4824
4855
|
},
|
|
4825
4856
|
"dist/public-api.min.js": {
|
|
4826
4857
|
"imports": [
|
|
@@ -4968,6 +4999,16 @@
|
|
|
4968
4999
|
"path": "@devvit/protos",
|
|
4969
5000
|
"kind": "import-statement",
|
|
4970
5001
|
"external": true
|
|
5002
|
+
},
|
|
5003
|
+
{
|
|
5004
|
+
"path": "@devvit/protos",
|
|
5005
|
+
"kind": "import-statement",
|
|
5006
|
+
"external": true
|
|
5007
|
+
},
|
|
5008
|
+
{
|
|
5009
|
+
"path": "@devvit/protos/types/devvit/ui/events/v1alpha/web_view.js",
|
|
5010
|
+
"kind": "import-statement",
|
|
5011
|
+
"external": true
|
|
4971
5012
|
}
|
|
4972
5013
|
],
|
|
4973
5014
|
"exports": [
|
|
@@ -5022,7 +5063,8 @@
|
|
|
5022
5063
|
"useChannel",
|
|
5023
5064
|
"useForm",
|
|
5024
5065
|
"useInterval",
|
|
5025
|
-
"useState"
|
|
5066
|
+
"useState",
|
|
5067
|
+
"useWebView"
|
|
5026
5068
|
],
|
|
5027
5069
|
"entryPoint": "src/index.ts",
|
|
5028
5070
|
"inputs": {
|
|
@@ -5414,7 +5456,7 @@
|
|
|
5414
5456
|
"bytesInOutput": 0
|
|
5415
5457
|
},
|
|
5416
5458
|
"src/types/hooks.ts": {
|
|
5417
|
-
"bytesInOutput":
|
|
5459
|
+
"bytesInOutput": 71
|
|
5418
5460
|
},
|
|
5419
5461
|
"src/types/icons.ts": {
|
|
5420
5462
|
"bytesInOutput": 4713
|
|
@@ -5667,9 +5709,12 @@
|
|
|
5667
5709
|
},
|
|
5668
5710
|
"src/apis/ui/helpers/svg.ts": {
|
|
5669
5711
|
"bytesInOutput": 178
|
|
5712
|
+
},
|
|
5713
|
+
"src/devvit/internals/blocks/handler/useWebView.ts": {
|
|
5714
|
+
"bytesInOutput": 1310
|
|
5670
5715
|
}
|
|
5671
5716
|
},
|
|
5672
|
-
"bytes":
|
|
5717
|
+
"bytes": 266521
|
|
5673
5718
|
}
|
|
5674
5719
|
}
|
|
5675
5720
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devvit/public-api",
|
|
3
|
-
"version": "0.11.6-next-2024-12-19-
|
|
3
|
+
"version": "0.11.6-next-2024-12-19-56e39677d.0",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
},
|
|
31
31
|
"types": "./index.d.ts",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@devvit/protos": "0.11.6-next-2024-12-19-
|
|
34
|
-
"@devvit/shared-types": "0.11.6-next-2024-12-19-
|
|
33
|
+
"@devvit/protos": "0.11.6-next-2024-12-19-56e39677d.0",
|
|
34
|
+
"@devvit/shared-types": "0.11.6-next-2024-12-19-56e39677d.0",
|
|
35
35
|
"base64-js": "1.5.1",
|
|
36
36
|
"clone-deep": "4.0.1",
|
|
37
37
|
"core-js": "3.27.2",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@ampproject/filesize": "4.3.0",
|
|
42
|
-
"@devvit/repo-tools": "0.11.6-next-2024-12-19-
|
|
43
|
-
"@devvit/tsconfig": "0.11.6-next-2024-12-19-
|
|
42
|
+
"@devvit/repo-tools": "0.11.6-next-2024-12-19-56e39677d.0",
|
|
43
|
+
"@devvit/tsconfig": "0.11.6-next-2024-12-19-56e39677d.0",
|
|
44
44
|
"@microsoft/api-extractor": "7.41.0",
|
|
45
45
|
"@reddit/faceplate-ui": "18.0.1",
|
|
46
46
|
"@types/clone-deep": "4.0.1",
|
|
@@ -59,9 +59,9 @@
|
|
|
59
59
|
"filesize": {
|
|
60
60
|
"dist/public-api.min.js": {
|
|
61
61
|
"gzip": "80 KB",
|
|
62
|
-
"none": "
|
|
62
|
+
"none": "261 KB"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"source": "./src/index.ts",
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "9828551aa516be1848226f556b98b5d4d8116c05"
|
|
67
67
|
}
|
package/public-api.d.ts
CHANGED
|
@@ -52652,6 +52652,33 @@ export declare type UseStateInitializer<S> = S | (() => S) | AsyncUseStateInitia
|
|
|
52652
52652
|
/** A tuple containing the current state and a function to update it */
|
|
52653
52653
|
export declare type UseStateResult<S> = [S, StateSetter<S>];
|
|
52654
52654
|
|
|
52655
|
+
/**
|
|
52656
|
+
* Use this hook to handle a web view's visibility state and any messages sent to your app.
|
|
52657
|
+
* */
|
|
52658
|
+
export declare function useWebView<T extends JSONValue = JSONValue>(options: UseWebViewOptions<T>): UseWebViewResult;
|
|
52659
|
+
|
|
52660
|
+
export declare type UseWebViewOnMessage<T extends JSONValue = JSONValue> = (message: T, hook: UseWebViewResult) => void | Promise<void>;
|
|
52661
|
+
|
|
52662
|
+
export declare type UseWebViewOptions<T extends JSONValue = JSONValue> = {
|
|
52663
|
+
/** Relative HTML asset filename like `foo/bar.html`. Defaults to index.html if omitted. */
|
|
52664
|
+
url?: string;
|
|
52665
|
+
/** Handle UI events originating from the web view to be handled by a Devvit app */
|
|
52666
|
+
onMessage: UseWebViewOnMessage<T>;
|
|
52667
|
+
/**
|
|
52668
|
+
* The callback to run when the web view has been unmounted. Might be used to
|
|
52669
|
+
* set state, stop or resume timers, or perform other tasks now that the web view is no longer visible.
|
|
52670
|
+
* @deprecated use the page visibility API for now.
|
|
52671
|
+
*/
|
|
52672
|
+
onUnmount?: (hook: UseWebViewResult) => void | Promise<void>;
|
|
52673
|
+
};
|
|
52674
|
+
|
|
52675
|
+
export declare type UseWebViewResult = {
|
|
52676
|
+
/** Send a message to the web view */
|
|
52677
|
+
postMessage<T extends JSONValue = JSONValue>(message: T): void;
|
|
52678
|
+
/** Initiate a request for the web view to open */
|
|
52679
|
+
mount(): void;
|
|
52680
|
+
};
|
|
52681
|
+
|
|
52655
52682
|
export declare type ValidatedBooleanField = Prettify<ValidatedFormField<BooleanField, boolean>>;
|
|
52656
52683
|
|
|
52657
52684
|
export declare type ValidatedFormField<Field, ValueType> = Omit<Field, 'required'> & {
|