@notionhq/custom-blocks 0.1.49 → 0.2.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/README.md +2 -3
- package/dist/bridge/SandboxBridge.d.ts.map +1 -1
- package/dist/bridge/SandboxBridge.js +2 -4
- package/dist/bridge/sandboxClient.d.ts +0 -5
- package/dist/bridge/sandboxClient.d.ts.map +1 -1
- package/dist/bridge/sandboxClient.js +0 -12
- package/dist/customBlock.d.ts +0 -22
- package/dist/customBlock.d.ts.map +1 -1
- package/dist/customBlock.js +0 -37
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/protocol/dataSources/dataSourcePage.d.ts +2 -2
- package/dist/protocol/dataSources/dataSourcePage.js +2 -3
- package/dist/protocol/messages/createPageResult.d.ts +2 -2
- package/dist/protocol/messages/getPage.d.ts +2 -2
- package/dist/protocol/messages/hostToSandbox.d.ts +9 -9
- package/dist/protocol/messages/init.d.ts +1 -1
- package/dist/protocol/messages/init.js +2 -3
- package/dist/protocol/messages/queryDataSourceResult.d.ts +2 -2
- package/dist/protocol/messages/updatePageResult.d.ts +2 -2
- package/dist/protocol/pages/page.d.ts +2 -2
- package/dist/protocol/pages/page.js +2 -3
- package/dist/protocol/protocolVersion.d.ts +1 -1
- package/dist/protocol/protocolVersion.js +1 -1
- package/dist/react/NotionCustomBlock.d.ts +1 -9
- package/dist/react/NotionCustomBlock.d.ts.map +1 -1
- package/dist/react/NotionCustomBlock.js +9 -3
- package/dist/react/index.d.ts +0 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +0 -1
- package/dist/types.d.ts +4 -38
- package/dist/types.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/docs/lifecycle.md +1 -14
- package/docs/users.md +97 -26
- package/package.json +1 -6
- package/src/bridge/SandboxBridge.ts +2 -4
- package/src/bridge/sandboxClient.ts +0 -15
- package/src/customBlock.ts +1 -65
- package/src/index.ts +1 -1
- package/src/react/NotionCustomBlock.tsx +9 -11
- package/src/react/index.ts +0 -1
- package/src/types.ts +4 -46
- package/dist/react/useCustomBlockAutoResize.d.ts +0 -26
- package/dist/react/useCustomBlockAutoResize.d.ts.map +0 -1
- package/dist/react/useCustomBlockAutoResize.js +0 -31
- package/src/react/useCustomBlockAutoResize.ts +0 -42
- package/vite-plugin/index.d.ts +0 -12
- package/vite-plugin/index.js +0 -11
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @notionhq/custom-blocks
|
|
2
2
|
|
|
3
3
|
> [!NOTE]
|
|
4
|
-
> **Pre-release.** Custom blocks are in
|
|
4
|
+
> **Pre-release.** Custom blocks are in alpha. Breaking changes may land at any time.
|
|
5
5
|
|
|
6
6
|
SDK for building Notion custom blocks.
|
|
7
7
|
|
|
@@ -108,8 +108,7 @@ The optional `@notionhq/custom-blocks/nds.css` stylesheet provides Notion CSS va
|
|
|
108
108
|
These variables cover colors, spacing, typography, and borders.
|
|
109
109
|
Import the stylesheet once. Place components that use the variables inside `<NotionTokenScope>`, as shown above.
|
|
110
110
|
|
|
111
|
-
`<NotionTokenScope>`
|
|
112
|
-
Hosts that omit a contrast mode use standard contrast.
|
|
111
|
+
`<NotionTokenScope>` keeps Notion CSS variables in sync with the host’s theme and contrast settings.
|
|
113
112
|
|
|
114
113
|
`NotionTokenScopeProps` has one required `children` prop.
|
|
115
114
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxBridge.d.ts","sourceRoot":"","sources":["../../src/bridge/SandboxBridge.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SandboxBridge.d.ts","sourceRoot":"","sources":["../../src/bridge/SandboxBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -723,9 +723,7 @@ export class SandboxBridge {
|
|
|
723
723
|
});
|
|
724
724
|
}
|
|
725
725
|
updatePage(args) {
|
|
726
|
-
|
|
727
|
-
// TODO(custom-blocks): Remove the archived fallback when upgrading to bridge protocol v4.
|
|
728
|
-
const isArchived = args.is_archived ?? args.archived;
|
|
726
|
+
const isArchived = args.is_archived;
|
|
729
727
|
return new Promise(resolve => {
|
|
730
728
|
if ((args.properties === undefined ||
|
|
731
729
|
Object.keys(args.properties).length === 0) &&
|
|
@@ -785,7 +783,7 @@ export class SandboxBridge {
|
|
|
785
783
|
properties: resolvedProperties?.properties,
|
|
786
784
|
icon: pageUpdateArgs.icon,
|
|
787
785
|
cover: pageUpdateArgs.cover,
|
|
788
|
-
is_archived: pageUpdateArgs.is_archived
|
|
786
|
+
is_archived: pageUpdateArgs.is_archived,
|
|
789
787
|
});
|
|
790
788
|
}
|
|
791
789
|
/**
|
|
@@ -52,11 +52,6 @@ export declare const pages: {
|
|
|
52
52
|
* Unarchives a page.
|
|
53
53
|
*/
|
|
54
54
|
unarchive: (pageId: NotionPageId) => Promise<UpdatePageResult>;
|
|
55
|
-
/**
|
|
56
|
-
* @deprecated This method archives the page. It does not move the page to Trash.
|
|
57
|
-
* Use `pages.archive(pageId)` instead.
|
|
58
|
-
*/
|
|
59
|
-
delete: (pageId: NotionPageId) => Promise<UpdatePageResult>;
|
|
60
55
|
};
|
|
61
56
|
/**
|
|
62
57
|
* User-related SDK APIs exposed under `sdk.users.*`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxClient.d.ts","sourceRoot":"","sources":["../../src/bridge/sandboxClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAA;AACpF,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAExB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"sandboxClient.d.ts","sourceRoot":"","sources":["../../src/bridge/sandboxClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAA;AACpF,OAAO,KAAK,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAExB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAExB,MAAM,oBAAoB,CAAA;AAW3B,eAAO,MAAM,eAAe;IAC3B,KAAK;IAIL,WAAW,mBAAmB,kBAAkB;IAIhD,SAAS,QAAM,OAAO,CAAC,IAAI,CAAC;IAI5B,SAAS,aAAa,MAAM,IAAI;IAIhC,QAAQ,QAAM,oBAAoB;IAIlC;;;OAGG;IACH,YAAY,YAAY,WAAW;IAInC,sBAAsB;IAItB,UAAU,WAAW,MAAM;CAG3B,CAAA;AAED,eAAO,MAAM,sBAAsB;IAClC,oBAAoB;IAIpB,KAAK,SAAS,mBAAmB;IAIjC,OAAO,mBAAmB,MAAM;IAIhC,OAAO,cACK,oBAAoB,OAC1B,MAAM,kBACK,MAAM,KACpB,mBAAmB;CAQtB,CAAA;AAED,eAAO,MAAM,UAAU;IACtB,WAAW,QAAM,SAAS,eAAe,EAAE;IAI3C,SAAS,aAAa,MAAM,IAAI;CAGhC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,KAAK;IACjB;;OAEG;IACH,MAAM,UAAU,cAAc,KAAG,OAAO,CAAC,gBAAgB,CAAC;IAI1D;;OAEG;IACH,GAAG,WAAW,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;IAInD;;OAEG;IACH,MAAM,UAAU,cAAc,KAAG,OAAO,CAAC,gBAAgB,CAAC;IAI1D;;OAEG;IACH,OAAO,WAAW,YAAY,KAAG,OAAO,CAAC,gBAAgB,CAAC;IAI1D;;OAEG;IACH,SAAS,WAAW,YAAY,KAAG,OAAO,CAAC,gBAAgB,CAAC;CAG5D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,KAAK;IACjB;;OAEG;IACH,IAAI,WAAW,aAAa,KAAG,OAAO,CAAC,eAAe,CAAC;IAIvD;;OAEG;IACH,GAAG,WAAW,YAAY,KAAG,OAAO,CAAC,aAAa,CAAC;CAGnD,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { getDataSourceQueryView as getDataSourceQueryViewWithBridge, } from "./hostState.js";
|
|
2
2
|
import { SandboxBridge, } from "./SandboxBridge.js";
|
|
3
3
|
let bridge;
|
|
4
|
-
let didWarnAboutPagesDelete = false;
|
|
5
4
|
function getBridge() {
|
|
6
5
|
if (!bridge) {
|
|
7
6
|
bridge = new SandboxBridge();
|
|
@@ -94,17 +93,6 @@ export const pages = {
|
|
|
94
93
|
unarchive: (pageId) => {
|
|
95
94
|
return getBridge().updatePage({ pageId, is_archived: false });
|
|
96
95
|
},
|
|
97
|
-
/**
|
|
98
|
-
* @deprecated This method archives the page. It does not move the page to Trash.
|
|
99
|
-
* Use `pages.archive(pageId)` instead.
|
|
100
|
-
*/
|
|
101
|
-
delete: (pageId) => {
|
|
102
|
-
if (!didWarnAboutPagesDelete) {
|
|
103
|
-
didWarnAboutPagesDelete = true;
|
|
104
|
-
console.warn("[Notion Custom Blocks] DEPRECATED: pages.delete() archives the page. It does not move the page to Trash. Use pages.archive() instead.");
|
|
105
|
-
}
|
|
106
|
-
return getBridge().updatePage({ pageId, is_archived: true });
|
|
107
|
-
},
|
|
108
96
|
};
|
|
109
97
|
/**
|
|
110
98
|
* User-related SDK APIs exposed under `sdk.users.*`.
|
package/dist/customBlock.d.ts
CHANGED
|
@@ -1,28 +1,11 @@
|
|
|
1
1
|
import type { NotionContrastMode } from "./protocol/contrast.js";
|
|
2
|
-
import type { NotionDataSource } from "./protocol/dataSources/dataSource.js";
|
|
3
2
|
import type { NotionBlockId } from "./protocol/ids.js";
|
|
4
3
|
import type { CustomBlockManifest } from "./protocol/manifest.js";
|
|
5
4
|
import type { CustomBlockPage } from "./protocol/pages/page.js";
|
|
6
5
|
import type { NotionParent } from "./protocol/parent.js";
|
|
7
6
|
import type { NotionTheme } from "./protocol/theme.js";
|
|
8
7
|
import type { NotionUser } from "./protocol/users/user.js";
|
|
9
|
-
import { autoResize } from "./autoResize.js";
|
|
10
8
|
import { subscribeToDataSource } from "./bridge/dataSources/subscribe.js";
|
|
11
|
-
/** @deprecated Use individual context types and getters after `initCustomBlock` resolves. */
|
|
12
|
-
export type CustomBlockState = {
|
|
13
|
-
status: "uninitialized";
|
|
14
|
-
theme: NotionTheme;
|
|
15
|
-
contrastMode: NotionContrastMode;
|
|
16
|
-
} | {
|
|
17
|
-
status: "initialized";
|
|
18
|
-
theme: NotionTheme;
|
|
19
|
-
contrastMode: NotionContrastMode;
|
|
20
|
-
blockId: NotionBlockId;
|
|
21
|
-
parent: NotionParent;
|
|
22
|
-
page: CustomBlockPage;
|
|
23
|
-
currentUser: NotionUser;
|
|
24
|
-
dataSources: NotionDataSource[];
|
|
25
|
-
};
|
|
26
9
|
type Unsubscribe = () => void;
|
|
27
10
|
/**
|
|
28
11
|
* Read block and app context with getters, or follow changes with subscriptions.
|
|
@@ -34,10 +17,6 @@ type Unsubscribe = () => void;
|
|
|
34
17
|
* subscription is no longer needed.
|
|
35
18
|
*/
|
|
36
19
|
export declare const customBlock: {
|
|
37
|
-
/** @deprecated Use an individual subscription method, such as `subscribeToTheme()` or `subscribeToCurrentUser()`. */
|
|
38
|
-
subscribe(listener: () => void): Unsubscribe;
|
|
39
|
-
/** @deprecated Use an individual getter method, such as `getTheme()` or `getCurrentUser()`, after `initCustomBlock()` resolves. */
|
|
40
|
-
getState(): CustomBlockState;
|
|
41
20
|
/**
|
|
42
21
|
* Get the current user viewing the block.
|
|
43
22
|
* Throws if called before SDK initialization completes.
|
|
@@ -108,7 +87,6 @@ export declare const customBlock: {
|
|
|
108
87
|
* Waits for initialization before delivering the initial value.
|
|
109
88
|
*/
|
|
110
89
|
subscribeToManifest(listener: (value: CustomBlockManifest) => void): Unsubscribe;
|
|
111
|
-
autoResize: typeof autoResize;
|
|
112
90
|
/**
|
|
113
91
|
* Registers a listener that receives the current query snapshot and later updates.
|
|
114
92
|
* Returns a function that removes this listener. Other listeners remain subscribed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customBlock.d.ts","sourceRoot":"","sources":["../src/customBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACtF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"customBlock.d.ts","sourceRoot":"","sources":["../src/customBlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAA;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAKzE,KAAK,WAAW,GAAG,MAAM,IAAI,CAAA;AAE7B;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;IACvB;;;OAGG;sBACe,UAAU;IAI5B;;;OAGG;qCAC8B,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,WAAW;IAI1E;;;OAGG;gBACS,WAAW;IAIvB;;;OAGG;+BACwB,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,WAAW;IAIrE;;;OAGG;uBACgB,kBAAkB;IAIrC;;;OAGG;sCAEQ,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAC3C,WAAW;IAId;;;OAGG;kBACW,aAAa;IAI3B;;;OAGG;iCAC0B,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,WAAW;IAIzE;;;OAGG;iBACU,YAAY;IAIzB;;;OAGG;gCACyB,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,WAAW;IAIvE;;;OAGG;eACQ,eAAe;IAI1B;;;OAGG;8BACuB,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,WAAW;IAIxE;;;OAGG;mBACY,mBAAmB;IAIlC;;;OAGG;kCAEQ,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAC5C,WAAW;IAId;;;OAGG;;CAEH,CAAA"}
|
package/dist/customBlock.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { autoResize } from "./autoResize.js";
|
|
2
1
|
import { subscribeToDataSource } from "./bridge/dataSources/subscribe.js";
|
|
3
2
|
import { notifyListener } from "./bridge/notifyListener.js";
|
|
4
3
|
import { customBlockHost } from "./bridge/sandboxClient.js";
|
|
@@ -12,14 +11,6 @@ import { customBlockHost } from "./bridge/sandboxClient.js";
|
|
|
12
11
|
* subscription is no longer needed.
|
|
13
12
|
*/
|
|
14
13
|
export const customBlock = {
|
|
15
|
-
/** @deprecated Use an individual subscription method, such as `subscribeToTheme()` or `subscribeToCurrentUser()`. */
|
|
16
|
-
subscribe(listener) {
|
|
17
|
-
return customBlockHost.subscribe(listener);
|
|
18
|
-
},
|
|
19
|
-
/** @deprecated Use an individual getter method, such as `getTheme()` or `getCurrentUser()`, after `initCustomBlock()` resolves. */
|
|
20
|
-
getState() {
|
|
21
|
-
return toPublicState(customBlockHost.getState());
|
|
22
|
-
},
|
|
23
14
|
/**
|
|
24
15
|
* Get the current user viewing the block.
|
|
25
16
|
* Throws if called before SDK initialization completes.
|
|
@@ -118,40 +109,12 @@ export const customBlock = {
|
|
|
118
109
|
subscribeToManifest(listener) {
|
|
119
110
|
return subscribeToContext({ key: "manifest", listener });
|
|
120
111
|
},
|
|
121
|
-
autoResize,
|
|
122
112
|
/**
|
|
123
113
|
* Registers a listener that receives the current query snapshot and later updates.
|
|
124
114
|
* Returns a function that removes this listener. Other listeners remain subscribed.
|
|
125
115
|
*/
|
|
126
116
|
subscribeToDataSource,
|
|
127
117
|
};
|
|
128
|
-
let lastHostState;
|
|
129
|
-
let lastPublicState;
|
|
130
|
-
function toPublicState(hostState) {
|
|
131
|
-
if (hostState === lastHostState && lastPublicState !== undefined) {
|
|
132
|
-
return lastPublicState;
|
|
133
|
-
}
|
|
134
|
-
lastHostState = hostState;
|
|
135
|
-
if (hostState.status === "uninitialized") {
|
|
136
|
-
lastPublicState = {
|
|
137
|
-
status: "uninitialized",
|
|
138
|
-
theme: hostState.theme,
|
|
139
|
-
contrastMode: hostState.contrastMode,
|
|
140
|
-
};
|
|
141
|
-
return lastPublicState;
|
|
142
|
-
}
|
|
143
|
-
lastPublicState = {
|
|
144
|
-
status: "initialized",
|
|
145
|
-
theme: hostState.theme,
|
|
146
|
-
contrastMode: hostState.contrastMode,
|
|
147
|
-
blockId: hostState.blockId,
|
|
148
|
-
parent: hostState.parent,
|
|
149
|
-
page: hostState.page,
|
|
150
|
-
currentUser: hostState.currentUser,
|
|
151
|
-
dataSources: hostState.dataSources,
|
|
152
|
-
};
|
|
153
|
-
return lastPublicState;
|
|
154
|
-
}
|
|
155
118
|
function getInitializedHostState(methodName) {
|
|
156
119
|
const hostState = customBlockHost.getState();
|
|
157
120
|
if (hostState.status !== "initialized") {
|
package/dist/index.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type { NotionPage, NotionPageCover, NotionPageIcon, NotionPagePropertyVal
|
|
|
30
30
|
export type { NotionParent } from "./protocol/parent.js";
|
|
31
31
|
export type { NotionTheme } from "./protocol/theme.js";
|
|
32
32
|
export { pages, users } from "./bridge/sandboxClient.js";
|
|
33
|
-
export {
|
|
33
|
+
export { customBlock } from "./customBlock.js";
|
|
34
34
|
export { type CustomBlockInitPayload, initCustomBlock, NotInIframeError, } from "./init.js";
|
|
35
35
|
export * from "./types.js";
|
|
36
36
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACtF,YAAY,EACX,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,4DAA4D,CAAA;AACnE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iEAAiE,CAAA;AAC5G,YAAY,EACX,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,2DAA2D,CAAA;AAClE,YAAY,EACX,wCAAwC,EACxC,wCAAwC,EACxC,4BAA4B,EAC5B,4BAA4B,GAC5B,MAAM,wDAAwD,CAAA;AAC/D,YAAY,EACX,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,gEAAgE,CAAA;AACvE,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,gEAAgE,CAAA;AACvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAA;AACxG,YAAY,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AACtF,YAAY,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACb,MAAM,yCAAyC,CAAA;AAChD,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GAChB,MAAM,8CAA8C,CAAA;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAA;AACvG,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,+DAA+D,CAAA;AACtE,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,sDAAsD,CAAA;AAC7D,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,sDAAsD,CAAA;AAC7D,YAAY,EACX,kCAAkC,EAClC,kCAAkC,GAClC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAA;AAClG,YAAY,EACX,6BAA6B,EAC7B,6BAA6B,GAC7B,MAAM,wDAAwD,CAAA;AAC/D,YAAY,EACX,mCAAmC,EACnC,mCAAmC,GACnC,MAAM,oEAAoE,CAAA;AAC3E,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,+DAA+D,CAAA;AACtE,YAAY,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,0BAA0B,GAC1B,MAAM,gDAAgD,CAAA;AACvD,YAAY,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,YAAY,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACtF,YAAY,EACX,sBAAsB,EACtB,gBAAgB,GAChB,MAAM,4DAA4D,CAAA;AACnE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iEAAiE,CAAA;AAC5G,YAAY,EACX,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,2DAA2D,CAAA;AAClE,YAAY,EACX,wCAAwC,EACxC,wCAAwC,EACxC,4BAA4B,EAC5B,4BAA4B,GAC5B,MAAM,wDAAwD,CAAA;AAC/D,YAAY,EACX,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GACjB,MAAM,gEAAgE,CAAA;AACvE,OAAO,EACN,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,gEAAgE,CAAA;AACvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAA;AACxG,YAAY,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AACtF,YAAY,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACb,MAAM,yCAAyC,CAAA;AAChD,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,GAChB,MAAM,8CAA8C,CAAA;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAA;AACvG,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,+DAA+D,CAAA;AACtE,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,sDAAsD,CAAA;AAC7D,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,sDAAsD,CAAA;AAC7D,YAAY,EACX,kCAAkC,EAClC,kCAAkC,GAClC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAA;AAClG,YAAY,EACX,6BAA6B,EAC7B,6BAA6B,GAC7B,MAAM,wDAAwD,CAAA;AAC/D,YAAY,EACX,mCAAmC,EACnC,mCAAmC,GACnC,MAAM,oEAAoE,CAAA;AAC3E,YAAY,EACX,8BAA8B,EAC9B,8BAA8B,GAC9B,MAAM,+DAA+D,CAAA;AACtE,YAAY,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,0BAA0B,GAC1B,MAAM,gDAAgD,CAAA;AACvD,YAAY,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,YAAY,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EACN,KAAK,sBAAsB,EAC3B,eAAe,EACf,gBAAgB,GAChB,MAAM,WAAW,CAAA;AAClB,cAAc,YAAY,CAAA"}
|
|
@@ -7,9 +7,9 @@ import * as v from "valibot";
|
|
|
7
7
|
export declare const notionDataSourcePageBridgeSchema: v.ObjectSchema<{
|
|
8
8
|
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
|
|
9
9
|
/** Whether the page or an ancestor is archived. */
|
|
10
|
-
readonly is_archived: v.
|
|
10
|
+
readonly is_archived: v.BooleanSchema<undefined>;
|
|
11
11
|
/** Whether the page or an ancestor is in Trash. */
|
|
12
|
-
readonly in_trash: v.
|
|
12
|
+
readonly in_trash: v.BooleanSchema<undefined>;
|
|
13
13
|
readonly propertiesById: v.RecordSchema<v.StringSchema<undefined>, v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>, v.BooleanSchema<undefined>, v.VariantSchema<"type", [v.ObjectSchema<{
|
|
14
14
|
readonly type: v.LiteralSchema<"date", undefined>;
|
|
15
15
|
readonly start_date: v.StringSchema<undefined>;
|
|
@@ -8,10 +8,9 @@ import { notionDataSourceValueSchema } from "./dataSourceValue.js";
|
|
|
8
8
|
*/
|
|
9
9
|
export const notionDataSourcePageBridgeSchema = v.object({
|
|
10
10
|
id: notionPageIdSchema,
|
|
11
|
-
// TODO(custom-blocks): Require is_archived and in_trash in bridge protocol v4.
|
|
12
11
|
/** Whether the page or an ancestor is archived. */
|
|
13
|
-
is_archived: v.
|
|
12
|
+
is_archived: v.boolean(),
|
|
14
13
|
/** Whether the page or an ancestor is in Trash. */
|
|
15
|
-
in_trash: v.
|
|
14
|
+
in_trash: v.boolean(),
|
|
16
15
|
propertiesById: v.record(v.string(), v.optional(notionDataSourceValueSchema)),
|
|
17
16
|
});
|
|
@@ -200,8 +200,8 @@ export declare const createPageResultMessageSchema: v.VariantSchema<"status", [v
|
|
|
200
200
|
}, undefined>], undefined>, undefined>;
|
|
201
201
|
readonly url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
202
202
|
readonly public_url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
203
|
-
readonly is_archived: v.
|
|
204
|
-
readonly in_trash: v.
|
|
203
|
+
readonly is_archived: v.BooleanSchema<undefined>;
|
|
204
|
+
readonly in_trash: v.BooleanSchema<undefined>;
|
|
205
205
|
}, undefined>;
|
|
206
206
|
}, undefined>, v.ObjectSchema<{
|
|
207
207
|
readonly type: v.LiteralSchema<"createPageResult", undefined>;
|
|
@@ -205,8 +205,8 @@ export declare const getPageResultMessageSchema: v.VariantSchema<"status", [v.Ob
|
|
|
205
205
|
}, undefined>], undefined>, undefined>;
|
|
206
206
|
readonly url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
207
207
|
readonly public_url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
208
|
-
readonly is_archived: v.
|
|
209
|
-
readonly in_trash: v.
|
|
208
|
+
readonly is_archived: v.BooleanSchema<undefined>;
|
|
209
|
+
readonly in_trash: v.BooleanSchema<undefined>;
|
|
210
210
|
}, undefined>;
|
|
211
211
|
}, undefined>, v.ObjectSchema<{
|
|
212
212
|
readonly type: v.LiteralSchema<"getPageResult", undefined>;
|
|
@@ -7,7 +7,7 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
|
|
|
7
7
|
readonly initializationId: v.StringSchema<undefined>;
|
|
8
8
|
readonly status: v.LiteralSchema<"success", undefined>;
|
|
9
9
|
readonly theme: v.PicklistSchema<["light", "dark"], undefined>;
|
|
10
|
-
readonly contrastMode: v.
|
|
10
|
+
readonly contrastMode: v.PicklistSchema<["standard", "high"], undefined>;
|
|
11
11
|
readonly blockId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionBlockId">]>;
|
|
12
12
|
readonly parent: v.VariantSchema<"type", [v.ObjectSchema<{
|
|
13
13
|
readonly type: v.LiteralSchema<"page_id", undefined>;
|
|
@@ -449,8 +449,8 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
|
|
|
449
449
|
readonly status: v.LiteralSchema<"success", undefined>;
|
|
450
450
|
readonly items: v.ArraySchema<v.ObjectSchema<{
|
|
451
451
|
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
|
|
452
|
-
readonly is_archived: v.
|
|
453
|
-
readonly in_trash: v.
|
|
452
|
+
readonly is_archived: v.BooleanSchema<undefined>;
|
|
453
|
+
readonly in_trash: v.BooleanSchema<undefined>;
|
|
454
454
|
readonly propertiesById: v.RecordSchema<v.StringSchema<undefined>, v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>, v.BooleanSchema<undefined>, v.VariantSchema<"type", [v.ObjectSchema<{
|
|
455
455
|
readonly type: v.LiteralSchema<"date", undefined>;
|
|
456
456
|
readonly start_date: v.StringSchema<undefined>;
|
|
@@ -711,8 +711,8 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
|
|
|
711
711
|
}, undefined>], undefined>, undefined>;
|
|
712
712
|
readonly url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
713
713
|
readonly public_url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
714
|
-
readonly is_archived: v.
|
|
715
|
-
readonly in_trash: v.
|
|
714
|
+
readonly is_archived: v.BooleanSchema<undefined>;
|
|
715
|
+
readonly in_trash: v.BooleanSchema<undefined>;
|
|
716
716
|
}, undefined>;
|
|
717
717
|
}, undefined>, v.ObjectSchema<{
|
|
718
718
|
readonly type: v.LiteralSchema<"createPageResult", undefined>;
|
|
@@ -911,8 +911,8 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
|
|
|
911
911
|
}, undefined>], undefined>, undefined>;
|
|
912
912
|
readonly url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
913
913
|
readonly public_url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
914
|
-
readonly is_archived: v.
|
|
915
|
-
readonly in_trash: v.
|
|
914
|
+
readonly is_archived: v.BooleanSchema<undefined>;
|
|
915
|
+
readonly in_trash: v.BooleanSchema<undefined>;
|
|
916
916
|
}, undefined>;
|
|
917
917
|
}, undefined>, v.ObjectSchema<{
|
|
918
918
|
readonly type: v.LiteralSchema<"getPageResult", undefined>;
|
|
@@ -1164,8 +1164,8 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
|
|
|
1164
1164
|
}, undefined>], undefined>, undefined>;
|
|
1165
1165
|
readonly url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1166
1166
|
readonly public_url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1167
|
-
readonly is_archived: v.
|
|
1168
|
-
readonly in_trash: v.
|
|
1167
|
+
readonly is_archived: v.BooleanSchema<undefined>;
|
|
1168
|
+
readonly in_trash: v.BooleanSchema<undefined>;
|
|
1169
1169
|
}, undefined>;
|
|
1170
1170
|
}, undefined>, v.ObjectSchema<{
|
|
1171
1171
|
readonly type: v.LiteralSchema<"updatePageResult", undefined>;
|
|
@@ -33,7 +33,7 @@ export declare const initMessageSchema: v.VariantSchema<"status", [v.ObjectSchem
|
|
|
33
33
|
readonly initializationId: v.StringSchema<undefined>;
|
|
34
34
|
readonly status: v.LiteralSchema<"success", undefined>;
|
|
35
35
|
readonly theme: v.PicklistSchema<["light", "dark"], undefined>;
|
|
36
|
-
readonly contrastMode: v.
|
|
36
|
+
readonly contrastMode: v.PicklistSchema<["standard", "high"], undefined>;
|
|
37
37
|
readonly blockId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionBlockId">]>;
|
|
38
38
|
readonly parent: v.VariantSchema<"type", [v.ObjectSchema<{
|
|
39
39
|
readonly type: v.LiteralSchema<"page_id", undefined>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
|
-
import {
|
|
2
|
+
import { notionContrastModeSchema } from "../contrast.js";
|
|
3
3
|
import { notionDataSourceBindingsSchema } from "../dataSources/dataSource.js";
|
|
4
4
|
import { notionBlockIdSchema } from "../ids.js";
|
|
5
5
|
import { manifestSchema } from "../manifest.js";
|
|
@@ -38,8 +38,7 @@ export const initMessageSchema = v.variant("status", [
|
|
|
38
38
|
initializationId: v.string(),
|
|
39
39
|
status: v.literal("success"),
|
|
40
40
|
theme: notionThemeSchema,
|
|
41
|
-
|
|
42
|
-
contrastMode: v.optional(notionContrastModeSchema, DEFAULT_CONTRAST_MODE),
|
|
41
|
+
contrastMode: notionContrastModeSchema,
|
|
43
42
|
blockId: notionBlockIdSchema,
|
|
44
43
|
parent: notionParentSchema,
|
|
45
44
|
page: customBlockPageSchema,
|
|
@@ -17,8 +17,8 @@ export declare const queryDataSourceResultMessageSchema: v.VariantSchema<"status
|
|
|
17
17
|
readonly status: v.LiteralSchema<"success", undefined>;
|
|
18
18
|
readonly items: v.ArraySchema<v.ObjectSchema<{
|
|
19
19
|
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.BrandAction<string, "NotionPageId">]>;
|
|
20
|
-
readonly is_archived: v.
|
|
21
|
-
readonly in_trash: v.
|
|
20
|
+
readonly is_archived: v.BooleanSchema<undefined>;
|
|
21
|
+
readonly in_trash: v.BooleanSchema<undefined>;
|
|
22
22
|
readonly propertiesById: v.RecordSchema<v.StringSchema<undefined>, v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.NumberSchema<undefined>, v.BooleanSchema<undefined>, v.VariantSchema<"type", [v.ObjectSchema<{
|
|
23
23
|
readonly type: v.LiteralSchema<"date", undefined>;
|
|
24
24
|
readonly start_date: v.StringSchema<undefined>;
|
|
@@ -199,8 +199,8 @@ export declare const updatePageResultMessageSchema: v.VariantSchema<"status", [v
|
|
|
199
199
|
}, undefined>], undefined>, undefined>;
|
|
200
200
|
readonly url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
201
201
|
readonly public_url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
202
|
-
readonly is_archived: v.
|
|
203
|
-
readonly in_trash: v.
|
|
202
|
+
readonly is_archived: v.BooleanSchema<undefined>;
|
|
203
|
+
readonly in_trash: v.BooleanSchema<undefined>;
|
|
204
204
|
}, undefined>;
|
|
205
205
|
}, undefined>, v.ObjectSchema<{
|
|
206
206
|
readonly type: v.LiteralSchema<"updatePageResult", undefined>;
|
|
@@ -596,9 +596,9 @@ export declare const notionPageSchema: v.ObjectSchema<{
|
|
|
596
596
|
readonly url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
597
597
|
readonly public_url: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
598
598
|
/** Whether the page or an ancestor is archived. */
|
|
599
|
-
readonly is_archived: v.
|
|
599
|
+
readonly is_archived: v.BooleanSchema<undefined>;
|
|
600
600
|
/** Whether the page or an ancestor is in Trash. */
|
|
601
|
-
readonly in_trash: v.
|
|
601
|
+
readonly in_trash: v.BooleanSchema<undefined>;
|
|
602
602
|
}, undefined>;
|
|
603
603
|
export type NotionPage = v.InferOutput<typeof notionPageSchema>;
|
|
604
604
|
export {};
|
|
@@ -207,9 +207,8 @@ export const notionPageSchema = v.object({
|
|
|
207
207
|
cover: v.optional(notionPageCoverSchema),
|
|
208
208
|
url: v.optional(v.string()),
|
|
209
209
|
public_url: v.optional(v.string()),
|
|
210
|
-
// TODO(custom-blocks): Require is_archived and in_trash in bridge protocol v4.
|
|
211
210
|
/** Whether the page or an ancestor is archived. */
|
|
212
|
-
is_archived: v.
|
|
211
|
+
is_archived: v.boolean(),
|
|
213
212
|
/** Whether the page or an ancestor is in Trash. */
|
|
214
|
-
in_trash: v.
|
|
213
|
+
in_trash: v.boolean(),
|
|
215
214
|
});
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Increase this value for breaking wire changes. Hosts can continue to accept
|
|
4
4
|
* older versions, so this value does not set the minimum or maximum they accept.
|
|
5
5
|
*/
|
|
6
|
-
export declare const LATEST_BRIDGE_PROTOCOL_VERSION =
|
|
6
|
+
export declare const LATEST_BRIDGE_PROTOCOL_VERSION = 4;
|
|
@@ -16,14 +16,6 @@ export type NotionCustomBlockProps = {
|
|
|
16
16
|
* rendered with developer details — replace it for production templates.
|
|
17
17
|
*/
|
|
18
18
|
errorFallback?: ReactNode | ((error: Error) => ReactNode);
|
|
19
|
-
/**
|
|
20
|
-
* Whether to post resize messages after initialization and dynamically resize the block.
|
|
21
|
-
*
|
|
22
|
-
* @deprecated TODO(custom-blocks): Remove this prop when bumping the SDK version to 0.2.0.
|
|
23
|
-
*
|
|
24
|
-
* @default true
|
|
25
|
-
*/
|
|
26
|
-
autoResize?: boolean;
|
|
27
19
|
};
|
|
28
20
|
/**
|
|
29
21
|
* Top-level wrapper that runs the SDK ↔ host handshake and gates `children`
|
|
@@ -43,5 +35,5 @@ export type NotionCustomBlockProps = {
|
|
|
43
35
|
* Inside `children`, every SDK hook is guaranteed to return a populated
|
|
44
36
|
* value. Outside the provider (or during the loading window), they throw.
|
|
45
37
|
*/
|
|
46
|
-
export declare function NotionCustomBlock({ children, fallback, errorFallback,
|
|
38
|
+
export declare function NotionCustomBlock({ children, fallback, errorFallback, }: NotionCustomBlockProps): import("react").JSX.Element;
|
|
47
39
|
//# sourceMappingURL=NotionCustomBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotionCustomBlock.d.ts","sourceRoot":"","sources":["../../src/react/NotionCustomBlock.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAwC,MAAM,OAAO,CAAA;AAQ5E,OAAO,yBAAyB,CAAA;AAEhC;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,SAAS,CAAA;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"NotionCustomBlock.d.ts","sourceRoot":"","sources":["../../src/react/NotionCustomBlock.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAwC,MAAM,OAAO,CAAA;AAQ5E,OAAO,yBAAyB,CAAA;AAEhC;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,SAAS,CAAA;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAA;CACzD,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,EACjC,QAAQ,EACR,QAAe,EACf,aAAa,GACb,EAAE,sBAAsB,+BA6ExB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useLayoutEffect, useState } from "react";
|
|
3
|
+
import { autoResize } from "../autoResize.js";
|
|
3
4
|
import { customBlockHost } from "../bridge/sandboxClient.js";
|
|
4
5
|
import { NotInIframeError } from "../init.js";
|
|
5
6
|
import { DebugMessageLog } from "./DebugMessageLog.js";
|
|
6
7
|
import { seedStandalonePreviewState } from "./standalonePreview.js";
|
|
7
|
-
import { useCustomBlockAutoResize } from "./useCustomBlockAutoResize.js";
|
|
8
8
|
import { useCustomBlockInit } from "./useCustomBlockInit.js";
|
|
9
9
|
import { useCustomBlockHost } from "./useHostState.js";
|
|
10
10
|
import "./NotionCustomBlock.css";
|
|
@@ -26,13 +26,19 @@ import "./NotionCustomBlock.css";
|
|
|
26
26
|
* Inside `children`, every SDK hook is guaranteed to return a populated
|
|
27
27
|
* value. Outside the provider (or during the loading window), they throw.
|
|
28
28
|
*/
|
|
29
|
-
export function NotionCustomBlock({ children, fallback = null, errorFallback,
|
|
29
|
+
export function NotionCustomBlock({ children, fallback = null, errorFallback, }) {
|
|
30
30
|
const init = useCustomBlockInit();
|
|
31
|
-
useCustomBlockAutoResize({ enabled: init.isLoaded && autoResize });
|
|
32
31
|
// True if the block has no host (i.e. it's running in standalone preview).
|
|
33
32
|
const isStandalone = init.error instanceof NotInIframeError;
|
|
34
33
|
const host = useCustomBlockHost();
|
|
35
34
|
const [debugOpen, setDebugOpen] = useState(false);
|
|
35
|
+
// Keep the host iframe height in sync with the block's content after initialization.
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (!init.isLoaded || typeof window === "undefined") {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
return autoResize({ target: document.getElementById("root") });
|
|
41
|
+
}, [init.isLoaded]);
|
|
36
42
|
useEffect(() => {
|
|
37
43
|
const onKeyDown = (e) => {
|
|
38
44
|
if (e.key === "\\") {
|
package/dist/react/index.d.ts
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export { NotionCustomBlock, type NotionCustomBlockProps, } from "./NotionCustomBlock.js";
|
|
10
10
|
export { NotionTokenScope, type NotionTokenScopeProps, } from "./NotionTokenScope.js";
|
|
11
|
-
export { useCustomBlockAutoResize } from "./useCustomBlockAutoResize.js";
|
|
12
11
|
export { type UseCustomBlockInitResult, useCustomBlockInit, } from "./useCustomBlockInit.js";
|
|
13
12
|
export { useDataSource } from "./useDataSource.js";
|
|
14
13
|
export { useBlockId, useContrastMode, useCurrentUser, useManifest, usePage, useParent, useTheme, } from "./useRuntimeState.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACN,iBAAiB,EACjB,KAAK,sBAAsB,GAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACN,gBAAgB,EAChB,KAAK,qBAAqB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACN,iBAAiB,EACjB,KAAK,sBAAsB,GAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACN,gBAAgB,EAChB,KAAK,qBAAqB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,KAAK,wBAAwB,EAC7B,kBAAkB,GAClB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EACN,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,OAAO,EACP,SAAS,EACT,QAAQ,GACR,MAAM,sBAAsB,CAAA"}
|
package/dist/react/index.js
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export { NotionCustomBlock, } from "./NotionCustomBlock.js";
|
|
10
10
|
export { NotionTokenScope, } from "./NotionTokenScope.js";
|
|
11
|
-
export { useCustomBlockAutoResize } from "./useCustomBlockAutoResize.js";
|
|
12
11
|
export { useCustomBlockInit, } from "./useCustomBlockInit.js";
|
|
13
12
|
export { useDataSource } from "./useDataSource.js";
|
|
14
13
|
export { useBlockId, useContrastMode, useCurrentUser, useManifest, usePage, useParent, useTheme, } from "./useRuntimeState.js";
|
package/dist/types.d.ts
CHANGED
|
@@ -37,9 +37,9 @@ export type NotionPagePropertyInputMap = {
|
|
|
37
37
|
export type NotionDataSourcePage = {
|
|
38
38
|
id: NotionPageId;
|
|
39
39
|
/** Whether the page or an ancestor is archived. */
|
|
40
|
-
is_archived
|
|
40
|
+
is_archived: boolean;
|
|
41
41
|
/** Whether the page or an ancestor is in Trash. */
|
|
42
|
-
in_trash
|
|
42
|
+
in_trash: boolean;
|
|
43
43
|
/**
|
|
44
44
|
* Keyed mapping of raw property IDs to their value. Includes all properties on the data source,
|
|
45
45
|
* including the four built-ins (`created_time`, `last_edited_time`, `created_by`,
|
|
@@ -69,23 +69,9 @@ export type NotionDataSourcePageUpdateArgs = {
|
|
|
69
69
|
properties?: NotionPagePropertyInputMap;
|
|
70
70
|
icon?: NotionPageIcon;
|
|
71
71
|
cover?: NotionPageCover;
|
|
72
|
-
/** Whether to archive this page.
|
|
72
|
+
/** Whether to archive this page. */
|
|
73
73
|
is_archived?: boolean;
|
|
74
|
-
/** @deprecated Use is_archived instead. */
|
|
75
|
-
archived?: boolean;
|
|
76
74
|
};
|
|
77
|
-
/**
|
|
78
|
-
* @deprecated Use `NotionDataSourcePageUpdateArgs` instead.
|
|
79
|
-
*
|
|
80
|
-
* TODO(custom-blocks): Remove this alias when bumping the SDK version to 0.2.0.
|
|
81
|
-
*/
|
|
82
|
-
export type NotionDataSourcePageUpdateInput = NotionDataSourcePageUpdateArgs;
|
|
83
|
-
/**
|
|
84
|
-
* @deprecated Use `UpdatePageResult` instead.
|
|
85
|
-
*
|
|
86
|
-
* TODO(custom-blocks): Remove this alias when bumping the SDK version to 0.2.0.
|
|
87
|
-
*/
|
|
88
|
-
export type NotionDataSourcePageUpdateResult = UpdatePageResult;
|
|
89
75
|
export type NotionDataSourceTextFilterOperator = CustomBlockTextFilterOperator;
|
|
90
76
|
export type NotionDataSourceNumberFilterOperator = CustomBlockNumberFilterOperator;
|
|
91
77
|
export type NotionDataSourceCheckboxFilterOperator = CustomBlockCheckboxFilterOperator;
|
|
@@ -214,28 +200,14 @@ export type CreatePageArgs = {
|
|
|
214
200
|
properties: NotionPagePropertyInputMap;
|
|
215
201
|
position?: NotionCreatePagePosition;
|
|
216
202
|
};
|
|
217
|
-
/**
|
|
218
|
-
* @deprecated Use `CreatePageArgs` instead.
|
|
219
|
-
*
|
|
220
|
-
* TODO(custom-blocks): Remove this alias when bumping the SDK version to 0.2.0.
|
|
221
|
-
*/
|
|
222
|
-
export type CreatePageInput = CreatePageArgs;
|
|
223
203
|
/**
|
|
224
204
|
* The result of a `sdk.pages.create` API call.
|
|
225
205
|
*/
|
|
226
206
|
export type CreatePageResult = BridgeMessagePayload<CreatePageResultMessage, CustomBlockCreatePageErrorInfo>;
|
|
227
207
|
export type UpdatePageArgs = Omit<UpdatePageMessage, "type" | "requestId" | "archived"> & {
|
|
228
|
-
/** Whether to archive this page.
|
|
208
|
+
/** Whether to archive this page. */
|
|
229
209
|
is_archived?: boolean;
|
|
230
|
-
/** @deprecated Use is_archived instead. */
|
|
231
|
-
archived?: boolean;
|
|
232
210
|
};
|
|
233
|
-
/**
|
|
234
|
-
* @deprecated Use `UpdatePageArgs` instead.
|
|
235
|
-
*
|
|
236
|
-
* TODO(custom-blocks): Remove this alias when bumping the SDK version to 0.2.0.
|
|
237
|
-
*/
|
|
238
|
-
export type UpdatePageInput = UpdatePageArgs;
|
|
239
211
|
/**
|
|
240
212
|
* Result of `sdk.pages.get`.
|
|
241
213
|
*/
|
|
@@ -245,12 +217,6 @@ export type GetPageResult = BridgeMessagePayload<GetPageResultMessage, CustomBlo
|
|
|
245
217
|
*/
|
|
246
218
|
export type UpdatePageResult = BridgeMessagePayload<UpdatePageResultMessage, CustomBlockUpdatePageErrorInfo>;
|
|
247
219
|
export type ListUsersArgs = Omit<ListUsersMessage, "type" | "requestId">;
|
|
248
|
-
/**
|
|
249
|
-
* @deprecated Use `ListUsersArgs` instead.
|
|
250
|
-
*
|
|
251
|
-
* TODO(custom-blocks): Remove this alias when bumping the SDK version to 0.2.0.
|
|
252
|
-
*/
|
|
253
|
-
export type ListUsersInput = ListUsersArgs;
|
|
254
220
|
export type ListUsersResult = BridgeMessagePayload<ListUsersResultMessage, CustomBlockListUsersErrorInfo>;
|
|
255
221
|
export type GetUserResult = BridgeMessagePayload<GetUserResultMessage, CustomBlockGetUserErrorInfo>;
|
|
256
222
|
//# sourceMappingURL=types.d.ts.map
|