@notionhq/custom-blocks 0.1.1 → 0.1.2
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/HOST.md +13 -4
- package/README.md +31 -6
- package/dist/bridge/SandboxBridge.d.ts.map +1 -1
- package/dist/bridge/SandboxBridge.js +11 -0
- package/dist/bridge/contrast.d.ts +5 -0
- package/dist/bridge/contrast.d.ts.map +1 -0
- package/dist/bridge/contrast.js +3 -0
- package/dist/bridge/hostState.d.ts +3 -0
- package/dist/bridge/hostState.d.ts.map +1 -1
- package/dist/bridge/messages/contrastModeChanged.d.ts +8 -0
- package/dist/bridge/messages/contrastModeChanged.d.ts.map +1 -0
- package/dist/bridge/messages/contrastModeChanged.js +7 -0
- package/dist/bridge/messages/hostToSandbox.d.ts +4 -0
- package/dist/bridge/messages/hostToSandbox.d.ts.map +1 -1
- package/dist/bridge/messages/hostToSandbox.js +2 -0
- package/dist/bridge/messages/init.d.ts +4 -1
- package/dist/bridge/messages/init.d.ts.map +1 -1
- package/dist/bridge/messages/init.js +6 -1
- package/dist/customBlock.d.ts +4 -0
- package/dist/customBlock.d.ts.map +1 -1
- package/dist/customBlock.js +5 -0
- package/dist/host/createCustomBlockHost.d.ts +2 -0
- package/dist/host/createCustomBlockHost.d.ts.map +1 -1
- package/dist/host/createCustomBlockHost.js +22 -0
- package/dist/host/lifecycle/types.d.ts +2 -0
- package/dist/host/lifecycle/types.d.ts.map +1 -1
- package/dist/host.d.ts +4 -0
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/init.d.ts +2 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +1 -0
- package/dist/react/NotionTokenScope.d.ts +10 -0
- package/dist/react/NotionTokenScope.d.ts.map +1 -0
- package/dist/react/NotionTokenScope.js +11 -0
- package/dist/react/index.d.ts +2 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -1
- package/dist/react/standalonePreview.d.ts.map +1 -1
- package/dist/react/standalonePreview.js +2 -0
- package/dist/react/useRuntimeState.d.ts +11 -0
- package/dist/react/useRuntimeState.d.ts.map +1 -1
- package/dist/react/useRuntimeState.js +12 -0
- package/dist/styles/nds.css +1 -0
- package/dist/version.js +1 -1
- package/docs/block-location.md +17 -3
- package/docs/lifecycle.md +3 -2
- package/package.json +2 -1
- package/src/bridge/SandboxBridge.ts +12 -0
- package/src/bridge/contrast.ts +6 -0
- package/src/bridge/hostState.ts +3 -0
- package/src/bridge/messages/contrastModeChanged.ts +12 -0
- package/src/bridge/messages/hostToSandbox.ts +2 -0
- package/src/bridge/messages/init.ts +6 -1
- package/src/customBlock.ts +13 -1
- package/src/host/createCustomBlockHost.ts +27 -0
- package/src/host/lifecycle/types.ts +3 -0
- package/src/host.ts +4 -0
- package/src/index.ts +1 -0
- package/src/init.ts +3 -0
- package/src/react/NotionTokenScope.tsx +25 -0
- package/src/react/index.ts +5 -0
- package/src/react/standalonePreview.ts +2 -0
- package/src/react/useRuntimeState.ts +17 -0
- package/src/styles/nds.css +1 -0
- package/src/styles/nds.css.metadata.json +6 -0
package/HOST.md
CHANGED
|
@@ -28,6 +28,7 @@ const host = createCustomBlockHost({
|
|
|
28
28
|
minBridgeProtocolVersion: 3,
|
|
29
29
|
initialState: {
|
|
30
30
|
theme,
|
|
31
|
+
contrastMode,
|
|
31
32
|
blockId,
|
|
32
33
|
parent,
|
|
33
34
|
page,
|
|
@@ -43,6 +44,9 @@ const host = createCustomBlockHost({
|
|
|
43
44
|
}),
|
|
44
45
|
},
|
|
45
46
|
});
|
|
47
|
+
|
|
48
|
+
// Live state pushes are emitted only after initResult.success.
|
|
49
|
+
host.setContrastMode("high");
|
|
46
50
|
```
|
|
47
51
|
|
|
48
52
|
Use it when the generic protocol loop is helpful. Hosts with more specialized runtime needs can keep using the schemas and message types directly.
|
|
@@ -77,11 +81,11 @@ The host sends exactly one `init` containing its authoritative manifest. It may
|
|
|
77
81
|
use the manifest from `connect` as input, but the manifest it returns may differ;
|
|
78
82
|
the sandbox applies the host's version.
|
|
79
83
|
|
|
80
|
-
`init.success` carries the chosen manifest together with the initial
|
|
84
|
+
`init.success` carries the chosen manifest together with the initial display and contrast modes, block context, current user, and data-source bindings:
|
|
81
85
|
|
|
82
86
|
```ts
|
|
83
87
|
// host → sandbox
|
|
84
|
-
{ type: "init", initializationId, status: "success", theme, blockId, parent, page: { id, parent }, currentUser, manifest, dataSources: { bindings } }
|
|
88
|
+
{ type: "init", initializationId, status: "success", theme, contrastMode, blockId, parent, page: { id, parent }, currentUser, manifest, dataSources: { bindings } }
|
|
85
89
|
```
|
|
86
90
|
|
|
87
91
|
If the host cannot initialize the block, send `init.error` instead:
|
|
@@ -109,11 +113,12 @@ Use `CustomBlockInitResultErrorCode` / `CustomBlockInitResultErrorInfo` to const
|
|
|
109
113
|
|
|
110
114
|
Wait for `initResult.success` before uncovering the iframe or sending live updates. `initResult.error` is terminal.
|
|
111
115
|
|
|
112
|
-
After `initResult.success`, narrower messages update live state without re-running the handshake — `themeChanged`, `parentChanged`, `pageChanged`, `currentUserChanged`, and `dataSourcesChanged`. Each replaces just its slice of state:
|
|
116
|
+
After `initResult.success`, narrower messages update live state without re-running the handshake — `themeChanged`, `contrastModeChanged`, `parentChanged`, `pageChanged`, `currentUserChanged`, and `dataSourcesChanged`. Each replaces just its slice of state:
|
|
113
117
|
|
|
114
118
|
```ts
|
|
115
119
|
// host → sandbox, any time after init
|
|
116
120
|
{ type: "themeChanged", theme }
|
|
121
|
+
{ type: "contrastModeChanged", contrastMode }
|
|
117
122
|
{ type: "parentChanged", parent }
|
|
118
123
|
{ type: "pageChanged", page: { id, parent } }
|
|
119
124
|
{ type: "dataSourcesChanged", dataSources: { bindings } }
|
|
@@ -125,13 +130,15 @@ After `initResult.success`, narrower messages update live state without re-runni
|
|
|
125
130
|
|
|
126
131
|
If the sandbox reports a version below the host's supported minimum, reply with `init.status: "error"` and `error.code: "unsupported_protocol_version"`. If the reported version is structurally invalid (not a positive integer — e.g. `0`, negative, fractional, `NaN`, or `Infinity`), reply with `error.code: "invalid_protocol_version"` instead.
|
|
127
132
|
|
|
133
|
+
The additive `contrastMode: "standard" | "high"` field defaults to `"standard"` when omitted, so hosts that predate contrast support can still initialize current sandboxes. After `initResult.success`, hosts may send `contrastModeChanged` without inspecting the reported protocol version; sandboxes that do not recognize it will NACK or ignore it.
|
|
134
|
+
|
|
128
135
|
### Conventions
|
|
129
136
|
|
|
130
137
|
One-shot RPC request/result pairs use a string `requestId`. The sender tracks pending requests by id, and the receiver echoes the id on the matching result. Lifecycle and one-way messages use neither request nor subscription identity.
|
|
131
138
|
|
|
132
139
|
`queryDataSource` is a long-lived subscription rather than a one-shot RPC. It and every `queryDataSourceResult` update use only a stable string `subscriptionId`. The host may push additional results for that subscription whenever its data changes; the sandbox ignores results for subscriptions it no longer recognizes.
|
|
133
140
|
|
|
134
|
-
Hosts key query state by `subscriptionId`, not `dataSourceId`: multiple subscriptions may target the same data source, and a data-source refresh must update all of them. A new request with an existing `subscriptionId` replaces that subscription, so hosts must suppress an older handler result that resolves after the replacement. Subscription lifetime ends when the host/bridge is torn down; protocol
|
|
141
|
+
Hosts key query state by `subscriptionId`, not `dataSourceId`: multiple subscriptions may target the same data source, and a data-source refresh must update all of them. A new request with an existing `subscriptionId` replaces that subscription, so hosts must suppress an older handler result that resolves after the replacement. Subscription lifetime ends when the host/bridge is torn down; the current protocol has no unsubscribe message.
|
|
135
142
|
|
|
136
143
|
Both sides validate inbound messages with valibot schemas. Failed parses are logged and NACKed with `invalidHostMessage` or `invalidSandboxMessage`. Never answer a NACK with another NACK.
|
|
137
144
|
|
|
@@ -168,6 +175,7 @@ Schemas:
|
|
|
168
175
|
- `notionDataSourcePageBridgeSchema`
|
|
169
176
|
- `notionPageIdSchema`
|
|
170
177
|
- `notionParentSchema`
|
|
178
|
+
- `notionContrastModeSchema` — validates `NotionContrastMode` (`"standard" | "high"`).
|
|
171
179
|
|
|
172
180
|
## Sandbox → host messages
|
|
173
181
|
|
|
@@ -196,6 +204,7 @@ Messages sent from the host to the sandbox. Same `{ wire type, type / schema, be
|
|
|
196
204
|
| ----------------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
197
205
|
| `init` | `InitMessage` / `initMessageSchema` | Sent exactly once in response to `connect`; echoes its `initializationId` and carries the success/error payload described under [Lifecycle](#lifecycle). |
|
|
198
206
|
| `themeChanged` | `ThemeChangedMessage` / `themeChangedMessageSchema` | Replaces the current theme. |
|
|
207
|
+
| `contrastModeChanged` | `ContrastModeChangedMessage` / `contrastModeChangedMessageSchema` | Replaces contrast mode without changing display mode or other state. |
|
|
199
208
|
| `parentChanged` | `ParentChangedMessage` / `parentChangedMessageSchema` | Replaces the custom block parent without disturbing theme, block ID, page ID, user, or query state. |
|
|
200
209
|
| `pageChanged` | `PageChangedMessage` / `pageChangedMessageSchema` | Replaces the nearest page ancestor without disturbing theme, block ID, parent, user, or query state. |
|
|
201
210
|
| `currentUserChanged` | `CurrentUserChangedMessage` / `currentUserChangedMessageSchema` | Replaces the current viewer record. Send when any viewer field changes (name, avatar, email). |
|
package/README.md
CHANGED
|
@@ -13,36 +13,61 @@ A custom block runs as a sandboxed `<iframe>` inside a Notion block on iOS, Andr
|
|
|
13
13
|
|
|
14
14
|
```tsx
|
|
15
15
|
// src/index.tsx
|
|
16
|
-
import
|
|
16
|
+
import "@notionhq/custom-blocks/nds.css";
|
|
17
|
+
import {
|
|
18
|
+
NotionCustomBlock,
|
|
19
|
+
NotionTokenScope,
|
|
20
|
+
} from "@notionhq/custom-blocks/react";
|
|
17
21
|
import ReactDOM from "react-dom/client";
|
|
18
22
|
import { App } from "./App";
|
|
19
23
|
|
|
20
24
|
ReactDOM.createRoot(document.getElementById("root")!).render(
|
|
21
25
|
<NotionCustomBlock>
|
|
22
|
-
<
|
|
26
|
+
<NotionTokenScope>
|
|
27
|
+
<App />
|
|
28
|
+
</NotionTokenScope>
|
|
23
29
|
</NotionCustomBlock>,
|
|
24
30
|
);
|
|
25
31
|
```
|
|
26
32
|
|
|
27
33
|
```tsx
|
|
28
34
|
// src/App.tsx
|
|
29
|
-
import { useBlockId
|
|
35
|
+
import { useBlockId } from "@notionhq/custom-blocks/react";
|
|
30
36
|
|
|
31
37
|
export function App() {
|
|
32
38
|
const blockId = useBlockId();
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
return <div className="app">Hello from {blockId}.</div>;
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```css
|
|
44
|
+
.app {
|
|
45
|
+
color: var(--content-primary);
|
|
46
|
+
background: var(--bg-base);
|
|
47
|
+
padding: var(--spacing-12);
|
|
48
|
+
border: 1px solid var(--border-primary);
|
|
49
|
+
border-radius: var(--radius-12);
|
|
35
50
|
}
|
|
36
51
|
```
|
|
37
52
|
|
|
38
53
|
`<NotionCustomBlock>` runs the SDK ↔ host handshake (`connect` → `init` → `initResult`) and only mounts `children` once it resolves. Inside the wrapper, every hook returns non-nullable values — there's no separate gating component to write. It also runs `useCustomBlockAutoResize` for you by default; pass `autoResize={false}` to opt out.
|
|
39
54
|
|
|
55
|
+
## Notion design tokens
|
|
56
|
+
|
|
57
|
+
The optional `@notionhq/custom-blocks/nds.css` stylesheet provides the colors, spacing, typography, borders, and other design tokens used by Notion. Import it once, then put token-consuming UI inside `<NotionTokenScope>` as shown above.
|
|
58
|
+
|
|
59
|
+
`<NotionTokenScope>` applies the display and contrast modes selected by the host, so variables such as `--content-primary` and `--bg-base` stay in sync with Notion automatically. Hosts that do not provide a contrast mode use standard contrast.
|
|
60
|
+
|
|
61
|
+
`NotionTokenScopeProps` has one required `children` prop.
|
|
62
|
+
|
|
63
|
+
The stylesheet is scoped rather than installed globally. Render portals inside `<NotionTokenScope>`, or wrap the portal container in another scope. Framework-neutral renderers can read the current appearance with `customBlock.getTheme()` and `customBlock.getContrastMode()`; see [Block Location & Appearance](./docs/block-location.md).
|
|
64
|
+
|
|
40
65
|
## Reference
|
|
41
66
|
|
|
42
67
|
API surface, one page per category. Import framework-neutral APIs from `@notionhq/custom-blocks`; import React hooks and components from `@notionhq/custom-blocks/react`. Hover docs in your editor cover the per-field detail; these pages cover usage shape and the gotchas.
|
|
43
68
|
|
|
44
69
|
- [`docs/lifecycle.md`](./docs/lifecycle.md) — `<NotionCustomBlock>`, `useCustomBlockInit`, `initCustomBlock`, `customBlock.autoResize`, `NotInIframeError`, `useCustomBlockAutoResize`. The handshake, the React wrapper, sizing.
|
|
45
|
-
- [`docs/block-location.md`](./docs/block-location.md) — `useBlockId`, `useParent`, `usePage`, `useTheme`. Where the block sits
|
|
70
|
+
- [`docs/block-location.md`](./docs/block-location.md) — `useBlockId`, `useParent`, `usePage`, `useTheme`, and `useContrastMode`. Where the block sits and how to read the host's appearance.
|
|
46
71
|
- [`docs/data-sources.md`](./docs/data-sources.md) — `useDataSource`, `useManifest`, `customBlock.getManifest`, the row, property, and date-value types, plus a worked example.
|
|
47
72
|
- [`docs/pages.md`](./docs/pages.md) — `pages.create / get / update / delete`, parent variants (including the recommended `data_source_key`), property input shapes.
|
|
48
73
|
- [`docs/users.md`](./docs/users.md) — `users.list / get`, the `NotionUser` shape, paging.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxBridge.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/bridge/SandboxBridge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"SandboxBridge.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/bridge/SandboxBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
2
|
import { unreachable } from "../utils.js";
|
|
3
3
|
import { CUSTOM_BLOCKS_SDK_VERSION } from "../version.js";
|
|
4
|
+
import { DEFAULT_CONTRAST_MODE } from "./contrast.js";
|
|
4
5
|
import { resolveDataSources } from "./dataSources/resolve.js";
|
|
5
6
|
import { resolvePropertyWriteMapForDataSource } from "./dataSources/resolveProperty.js";
|
|
6
7
|
import { createEmptyDataSourceQueryState, } from "./hostState.js";
|
|
@@ -19,6 +20,7 @@ export class SandboxBridge {
|
|
|
19
20
|
this.hostState = {
|
|
20
21
|
status: "uninitialized",
|
|
21
22
|
theme: "light",
|
|
23
|
+
contrastMode: DEFAULT_CONTRAST_MODE,
|
|
22
24
|
};
|
|
23
25
|
this.listeners = new Set();
|
|
24
26
|
this.messageLog = [];
|
|
@@ -109,6 +111,14 @@ export class SandboxBridge {
|
|
|
109
111
|
this.notify();
|
|
110
112
|
return;
|
|
111
113
|
}
|
|
114
|
+
case "contrastModeChanged": {
|
|
115
|
+
this.hostState = {
|
|
116
|
+
...hostState,
|
|
117
|
+
contrastMode: message.contrastMode,
|
|
118
|
+
};
|
|
119
|
+
this.notify();
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
112
122
|
case "parentChanged": {
|
|
113
123
|
this.hostState = {
|
|
114
124
|
...hostState,
|
|
@@ -394,6 +404,7 @@ export class SandboxBridge {
|
|
|
394
404
|
this.hostState = {
|
|
395
405
|
status: "initialized",
|
|
396
406
|
theme: message.theme,
|
|
407
|
+
contrastMode: message.contrastMode,
|
|
397
408
|
blockId,
|
|
398
409
|
parent,
|
|
399
410
|
page,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
export declare const notionContrastModeSchema: v.PicklistSchema<["standard", "high"], undefined>;
|
|
3
|
+
export type NotionContrastMode = v.InferOutput<typeof notionContrastModeSchema>;
|
|
4
|
+
export declare const DEFAULT_CONTRAST_MODE: NotionContrastMode;
|
|
5
|
+
//# sourceMappingURL=contrast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contrast.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/bridge/contrast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,eAAO,MAAM,wBAAwB,mDAAmC,CAAA;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,eAAO,MAAM,qBAAqB,EAAE,kBAA+B,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { NotionContrastMode } from "./contrast.js";
|
|
1
2
|
import type { NotionDataSource } from "./dataSources/dataSource.js";
|
|
2
3
|
import type { NotionDataSourcePage, NotionDataSourcePageBridge, NotionDataSourcePageUpdateInput, NotionDataSourcePageUpdateResult } from "./dataSources/dataSourcePage.js";
|
|
3
4
|
import type { NotionPropertySchema } from "./dataSources/propertySchema.js";
|
|
@@ -12,10 +13,12 @@ export type CustomBlockHostState = UninitializedHostState | InitializedHostState
|
|
|
12
13
|
export type UninitializedHostState = {
|
|
13
14
|
status: "uninitialized";
|
|
14
15
|
theme: NotionTheme;
|
|
16
|
+
contrastMode: NotionContrastMode;
|
|
15
17
|
};
|
|
16
18
|
export type InitializedHostState = {
|
|
17
19
|
status: "initialized";
|
|
18
20
|
theme: NotionTheme;
|
|
21
|
+
contrastMode: NotionContrastMode;
|
|
19
22
|
blockId: NotionBlockId;
|
|
20
23
|
parent: NotionParent;
|
|
21
24
|
page: CustomBlockPage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostState.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/bridge/hostState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EACX,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,EAChC,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAA;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,GAAG,oBAAoB,CAAA;AAEhF,MAAM,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"hostState.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/bridge/hostState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
/** Message sent by the host when contrast changes after initialization. */
|
|
3
|
+
export declare const contrastModeChangedMessageSchema: v.ObjectSchema<{
|
|
4
|
+
readonly type: v.LiteralSchema<"contrastModeChanged", undefined>;
|
|
5
|
+
readonly contrastMode: v.PicklistSchema<["standard", "high"], undefined>;
|
|
6
|
+
}, undefined>;
|
|
7
|
+
export type ContrastModeChangedMessage = v.InferOutput<typeof contrastModeChangedMessageSchema>;
|
|
8
|
+
//# sourceMappingURL=contrastModeChanged.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contrastModeChanged.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/bridge/messages/contrastModeChanged.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAG5B,2EAA2E;AAC3E,eAAO,MAAM,gCAAgC;;;aAG3C,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,WAAW,CACrD,OAAO,gCAAgC,CACvC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
import { notionContrastModeSchema } from "../contrast.js";
|
|
3
|
+
/** Message sent by the host when contrast changes after initialization. */
|
|
4
|
+
export const contrastModeChangedMessageSchema = v.object({
|
|
5
|
+
type: v.literal("contrastModeChanged"),
|
|
6
|
+
contrastMode: notionContrastModeSchema,
|
|
7
|
+
});
|
|
@@ -7,6 +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.OptionalSchema<v.PicklistSchema<["standard", "high"], undefined>, "standard" | "high">;
|
|
10
11
|
readonly blockId: v.CustomSchema<import("../ids.js").NotionBlockId, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
11
12
|
readonly parent: v.VariantSchema<"type", [v.ObjectSchema<{
|
|
12
13
|
readonly type: v.LiteralSchema<"page_id", undefined>;
|
|
@@ -231,6 +232,9 @@ export declare const hostToSandboxMessageSchema: v.VariantSchema<"type", [v.Vari
|
|
|
231
232
|
}, undefined>], undefined>, v.ObjectSchema<{
|
|
232
233
|
readonly type: v.LiteralSchema<"themeChanged", undefined>;
|
|
233
234
|
readonly theme: v.PicklistSchema<["light", "dark"], undefined>;
|
|
235
|
+
}, undefined>, v.ObjectSchema<{
|
|
236
|
+
readonly type: v.LiteralSchema<"contrastModeChanged", undefined>;
|
|
237
|
+
readonly contrastMode: v.PicklistSchema<["standard", "high"], undefined>;
|
|
234
238
|
}, undefined>, v.ObjectSchema<{
|
|
235
239
|
readonly type: v.LiteralSchema<"parentChanged", undefined>;
|
|
236
240
|
readonly parent: v.VariantSchema<"type", [v.ObjectSchema<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostToSandbox.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/bridge/messages/hostToSandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"hostToSandbox.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/bridge/messages/hostToSandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAerC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAC/C,OAAO,0BAA0B,CACjC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
|
+
import { contrastModeChangedMessageSchema } from "./contrastModeChanged.js";
|
|
2
3
|
import { createPageResultMessageSchema } from "./createPageResult.js";
|
|
3
4
|
import { currentUserChangedMessageSchema } from "./currentUserChanged.js";
|
|
4
5
|
import { dataSourcesChangedMessageSchema } from "./dataSourcesChanged.js";
|
|
@@ -18,6 +19,7 @@ import { updatePageResultMessageSchema } from "./updatePageResult.js";
|
|
|
18
19
|
export const hostToSandboxMessageSchema = v.variant("type", [
|
|
19
20
|
initMessageSchema,
|
|
20
21
|
themeChangedMessageSchema,
|
|
22
|
+
contrastModeChangedMessageSchema,
|
|
21
23
|
parentChangedMessageSchema,
|
|
22
24
|
pageChangedMessageSchema,
|
|
23
25
|
currentUserChangedMessageSchema,
|
|
@@ -24,13 +24,16 @@ export declare class CustomBlockInitializationError extends Error implements Cus
|
|
|
24
24
|
/**
|
|
25
25
|
* Initialization message sent by the host to the sandbox exactly once, in response to the
|
|
26
26
|
* sandbox's `connect` message. The sandbox echoes `initializationId` in `initResult`. After
|
|
27
|
-
* successful initialization, live updates flow through narrower messages
|
|
27
|
+
* successful initialization, live updates flow through narrower messages
|
|
28
|
+
* (`themeChanged`, `contrastModeChanged`, `parentChanged`, `pageChanged`,
|
|
29
|
+
* `dataSourcesChanged`).
|
|
28
30
|
*/
|
|
29
31
|
export declare const initMessageSchema: v.VariantSchema<"status", [v.ObjectSchema<{
|
|
30
32
|
readonly type: v.LiteralSchema<"init", undefined>;
|
|
31
33
|
readonly initializationId: v.StringSchema<undefined>;
|
|
32
34
|
readonly status: v.LiteralSchema<"success", undefined>;
|
|
33
35
|
readonly theme: v.PicklistSchema<["light", "dark"], undefined>;
|
|
36
|
+
readonly contrastMode: v.OptionalSchema<v.PicklistSchema<["standard", "high"], undefined>, "standard" | "high">;
|
|
34
37
|
readonly blockId: v.CustomSchema<import("../ids.js").NotionBlockId, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
35
38
|
readonly parent: v.VariantSchema<"type", [v.ObjectSchema<{
|
|
36
39
|
readonly type: v.LiteralSchema<"page_id", undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/bridge/messages/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/bridge/messages/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAG5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAO9E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAA;AAIrE,eAAO,MAAM,8BAA8B,2BAAa,CAAA;AAExD,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CACxD,sBAAsB,GACtB,kBAAkB,GAClB,0BAA0B,GAC1B,8BAA8B,GAC9B,qBAAqB,GACrB,0BAA0B,GAC1B,6BAA6B,GAC7B,yBAAyB,GACzB,0BAA0B,GAC1B,0BAA0B,CAC5B,CAAA;AAED,MAAM,MAAM,wBAAwB,GACnC,oBAAoB,CAAC,wBAAwB,CAAC,CAAA;AAE/C;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,GAC3C,wBAAwB,GACxB,8BAA8B,GAC9B,oBAAoB,CAAC,eAAe,GAAG,cAAc,CAAC,CAAA;AAEzD,MAAM,MAAM,kCAAkC,GAC7C,oBAAoB,CAAC,kCAAkC,CAAC,CAAA;AAEzD,eAAO,MAAM,8BAA8B;;;;aAIzC,CAAA;AAEF,qBAAa,8BACZ,SAAQ,KACR,YAAW,oBAAoB;gBAEnB,KAAK,EAAE,kCAAkC;IAOrD,IAAI,EAAE,kCAAkC,CAAA;IACxC,WAAW,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAuB5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
|
+
import { DEFAULT_CONTRAST_MODE, notionContrastModeSchema } from "../contrast.js";
|
|
2
3
|
import { notionDataSourceBindingsSchema } from "../dataSources/dataSource.js";
|
|
3
4
|
import { notionBlockIdSchema } from "../ids.js";
|
|
4
5
|
import { manifestSchema } from "../manifest.js";
|
|
@@ -25,7 +26,9 @@ export class CustomBlockInitializationError extends Error {
|
|
|
25
26
|
/**
|
|
26
27
|
* Initialization message sent by the host to the sandbox exactly once, in response to the
|
|
27
28
|
* sandbox's `connect` message. The sandbox echoes `initializationId` in `initResult`. After
|
|
28
|
-
* successful initialization, live updates flow through narrower messages
|
|
29
|
+
* successful initialization, live updates flow through narrower messages
|
|
30
|
+
* (`themeChanged`, `contrastModeChanged`, `parentChanged`, `pageChanged`,
|
|
31
|
+
* `dataSourcesChanged`).
|
|
29
32
|
*/
|
|
30
33
|
export const initMessageSchema = v.variant("status", [
|
|
31
34
|
v.object({
|
|
@@ -33,6 +36,8 @@ export const initMessageSchema = v.variant("status", [
|
|
|
33
36
|
initializationId: v.string(),
|
|
34
37
|
status: v.literal("success"),
|
|
35
38
|
theme: notionThemeSchema,
|
|
39
|
+
// TODO(custom-blocks): Make this required when next bumping the protocol version.
|
|
40
|
+
contrastMode: v.optional(notionContrastModeSchema, DEFAULT_CONTRAST_MODE),
|
|
36
41
|
blockId: notionBlockIdSchema,
|
|
37
42
|
parent: notionParentSchema,
|
|
38
43
|
page: customBlockPageSchema,
|
package/dist/customBlock.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { autoResize } from "./autoResize.js";
|
|
2
|
+
import type { NotionContrastMode } from "./bridge/contrast.js";
|
|
2
3
|
import type { NotionDataSource } from "./bridge/dataSources/dataSource.js";
|
|
3
4
|
import type { NotionBlockId } from "./bridge/ids.js";
|
|
4
5
|
import type { CustomBlockManifest } from "./bridge/manifest.js";
|
|
@@ -9,9 +10,11 @@ import type { NotionUser } from "./bridge/users/user.js";
|
|
|
9
10
|
export type CustomBlockState = {
|
|
10
11
|
status: "uninitialized";
|
|
11
12
|
theme: NotionTheme;
|
|
13
|
+
contrastMode: NotionContrastMode;
|
|
12
14
|
} | {
|
|
13
15
|
status: "initialized";
|
|
14
16
|
theme: NotionTheme;
|
|
17
|
+
contrastMode: NotionContrastMode;
|
|
15
18
|
blockId: NotionBlockId;
|
|
16
19
|
parent: NotionParent;
|
|
17
20
|
page: CustomBlockPage;
|
|
@@ -27,6 +30,7 @@ export declare const customBlock: {
|
|
|
27
30
|
getState(): CustomBlockState;
|
|
28
31
|
getCurrentUser(): NotionUser;
|
|
29
32
|
getTheme(): NotionTheme;
|
|
33
|
+
getContrastMode(): NotionContrastMode;
|
|
30
34
|
getBlockId(): NotionBlockId;
|
|
31
35
|
getParent(): NotionParent;
|
|
32
36
|
getPage(): CustomBlockPage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customBlock.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/customBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAK1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAExD,MAAM,MAAM,gBAAgB,GACzB;
|
|
1
|
+
{"version":3,"file":"customBlock.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/customBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAK1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAExD,MAAM,MAAM,gBAAgB,GACzB;IACA,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,WAAW,CAAA;IAClB,YAAY,EAAE,kBAAkB,CAAA;CAC/B,GACD;IACA,MAAM,EAAE,aAAa,CAAA;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,YAAY,EAAE,kBAAkB,CAAA;IAChC,OAAO,EAAE,aAAa,CAAA;IACtB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,eAAe,CAAA;IACrB,WAAW,EAAE,UAAU,CAAA;IACvB,WAAW,EAAE,gBAAgB,EAAE,CAAA;CAC9B,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW;wBACH,MAAM,IAAI,GAAG,MAAM,IAAI;gBAI/B,gBAAgB;sBAIV,UAAU;gBAIhB,WAAW;uBAIJ,kBAAkB;kBAIvB,aAAa;iBAId,YAAY;eAId,eAAe;mBAIX,mBAAmB;;CAKlC,CAAA"}
|
package/dist/customBlock.js
CHANGED
|
@@ -17,6 +17,9 @@ export const customBlock = {
|
|
|
17
17
|
getTheme() {
|
|
18
18
|
return getInitializedHostState("getTheme").theme;
|
|
19
19
|
},
|
|
20
|
+
getContrastMode() {
|
|
21
|
+
return getInitializedHostState("getContrastMode").contrastMode;
|
|
22
|
+
},
|
|
20
23
|
getBlockId() {
|
|
21
24
|
return getInitializedHostState("getBlockId").blockId;
|
|
22
25
|
},
|
|
@@ -42,12 +45,14 @@ function toPublicState(hostState) {
|
|
|
42
45
|
lastPublicState = {
|
|
43
46
|
status: "uninitialized",
|
|
44
47
|
theme: hostState.theme,
|
|
48
|
+
contrastMode: hostState.contrastMode,
|
|
45
49
|
};
|
|
46
50
|
return lastPublicState;
|
|
47
51
|
}
|
|
48
52
|
lastPublicState = {
|
|
49
53
|
status: "initialized",
|
|
50
54
|
theme: hostState.theme,
|
|
55
|
+
contrastMode: hostState.contrastMode,
|
|
51
56
|
blockId: hostState.blockId,
|
|
52
57
|
parent: hostState.parent,
|
|
53
58
|
page: hostState.page,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type NotionContrastMode } from "../bridge/contrast.js";
|
|
1
2
|
import type { NotionDataSourceId } from "../bridge/ids.js";
|
|
2
3
|
import type { HostToSandboxMessage } from "../bridge/messages/hostToSandbox.js";
|
|
3
4
|
import type { InitResultMessage } from "../bridge/messages/initResult.js";
|
|
@@ -24,6 +25,7 @@ export type CustomBlockHostHandle = {
|
|
|
24
25
|
stop: () => void;
|
|
25
26
|
post: (message: HostToSandboxMessage) => void;
|
|
26
27
|
setTheme: (theme: NotionTheme) => void;
|
|
28
|
+
setContrastMode: (contrastMode: NotionContrastMode) => void;
|
|
27
29
|
setParent: (parent: NotionParent) => void;
|
|
28
30
|
setPage: (page: CustomBlockPage) => void;
|
|
29
31
|
setDataSources: (dataSources: CustomBlockHostDataSourcesPayload) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCustomBlockHost.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host/createCustomBlockHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"createCustomBlockHost.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host/createCustomBlockHost.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAe1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAM/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAazE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAIzD,OAAO,KAAK,EACX,qBAAqB,EACrB,iCAAiC,EACjC,2BAA2B,EAE3B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EACX,uBAAuB,EACvB,2BAA2B,EAC3B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAA;AAE9E,MAAM,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,iBAAiB,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wBAAwB,EAAE,MAAM,CAAA;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,YAAY,EAAE,2BAA2B,CAAA;IACzC,QAAQ,EAAE,uBAAuB,CAAA;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACpD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACnD,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1E,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC7C,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IACtC,eAAe,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC3D,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;IACzC,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IACxC,cAAc,EAAE,CAAC,WAAW,EAAE,iCAAiC,KAAK,IAAI,CAAA;IACxE,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,KAAK,IAAI,CAAA;IACjD,YAAY,EAAE,CAAC,IAAI,EAAE;QACpB,YAAY,EAAE,kBAAkB,CAAA;QAChC,QAAQ,EAAE,oCAAoC,CAAA;KAC9C,KAAK,IAAI,CAAA;CACV,CAAA;AAQD,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,sBAAsB,GAC7B,qBAAqB,CAohBvB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
|
+
import { DEFAULT_CONTRAST_MODE, } from "../bridge/contrast.js";
|
|
2
3
|
import { sandboxToHostMessageSchema } from "../bridge/messages/sandboxToHost.js";
|
|
3
4
|
import { CUSTOM_BLOCK_BRIDGE_PROTOCOL_VERSION } from "../bridge/SandboxBridge.js";
|
|
4
5
|
import { unreachable } from "../utils.js";
|
|
@@ -15,6 +16,7 @@ export function createCustomBlockHost(options) {
|
|
|
15
16
|
const { iframe, initialState, handlers, onConnect, onInitResult, onLog, targetOrigin = "*", minBridgeProtocolVersion: configuredMinBridgeProtocolVersion, noConnectTimeoutMs = DEFAULT_NO_CONNECT_TIMEOUT_MS, noInitResultTimeoutMs = DEFAULT_NO_INIT_RESULT_TIMEOUT_MS, } = options;
|
|
16
17
|
const minBridgeProtocolVersion = Math.max(configuredMinBridgeProtocolVersion ?? CUSTOM_BLOCK_BRIDGE_PROTOCOL_VERSION, CUSTOM_BLOCK_BRIDGE_PROTOCOL_VERSION);
|
|
17
18
|
let theme = initialState.theme;
|
|
19
|
+
let contrastMode = initialState.contrastMode ?? DEFAULT_CONTRAST_MODE;
|
|
18
20
|
let parent = initialState.parent;
|
|
19
21
|
let page = initialState.page;
|
|
20
22
|
let dataSources = initialState.dataSources;
|
|
@@ -26,6 +28,7 @@ export function createCustomBlockHost(options) {
|
|
|
26
28
|
let activeInitializationId;
|
|
27
29
|
let connectedSandbox;
|
|
28
30
|
let pendingThemeChange = false;
|
|
31
|
+
let pendingContrastModeChange = false;
|
|
29
32
|
let pendingParentChange = false;
|
|
30
33
|
let pendingPageChange = false;
|
|
31
34
|
let pendingDataSourcesChange;
|
|
@@ -92,6 +95,7 @@ export function createCustomBlockHost(options) {
|
|
|
92
95
|
initializationId: connect.initializationId,
|
|
93
96
|
status: "success",
|
|
94
97
|
theme,
|
|
98
|
+
contrastMode,
|
|
95
99
|
blockId: initialState.blockId,
|
|
96
100
|
parent,
|
|
97
101
|
page,
|
|
@@ -249,6 +253,10 @@ export function createCustomBlockHost(options) {
|
|
|
249
253
|
pendingThemeChange = false;
|
|
250
254
|
post({ type: "themeChanged", theme });
|
|
251
255
|
}
|
|
256
|
+
if (pendingContrastModeChange) {
|
|
257
|
+
pendingContrastModeChange = false;
|
|
258
|
+
post({ type: "contrastModeChanged", contrastMode });
|
|
259
|
+
}
|
|
252
260
|
if (pendingParentChange) {
|
|
253
261
|
pendingParentChange = false;
|
|
254
262
|
post({ type: "parentChanged", parent });
|
|
@@ -379,6 +387,20 @@ export function createCustomBlockHost(options) {
|
|
|
379
387
|
const message = { type: "themeChanged", theme };
|
|
380
388
|
post(message);
|
|
381
389
|
},
|
|
390
|
+
setContrastMode(nextContrastMode) {
|
|
391
|
+
contrastMode = nextContrastMode;
|
|
392
|
+
if (initStatus !== "success") {
|
|
393
|
+
if (initStatus === "waitingForInitResult") {
|
|
394
|
+
pendingContrastModeChange = true;
|
|
395
|
+
}
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
const message = {
|
|
399
|
+
type: "contrastModeChanged",
|
|
400
|
+
contrastMode,
|
|
401
|
+
};
|
|
402
|
+
post(message);
|
|
403
|
+
},
|
|
382
404
|
setParent(nextParent) {
|
|
383
405
|
parent = nextParent;
|
|
384
406
|
if (initStatus !== "success") {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { NotionContrastMode } from "../../bridge/contrast.js";
|
|
1
2
|
import type { NotionDataSourceBindings } from "../../bridge/dataSources/dataSource.js";
|
|
2
3
|
import type { NotionBlockId } from "../../bridge/ids.js";
|
|
3
4
|
import type { CustomBlockManifest } from "../../bridge/manifest.js";
|
|
@@ -16,6 +17,7 @@ export type CustomBlockHostDataSourcesPayload = {
|
|
|
16
17
|
export type CustomBlockHostInitialDataSources = CustomBlockHostDataSourcesPayload | ((connect: ConnectSuccessMessage) => CustomBlockHostDataSourcesPayload);
|
|
17
18
|
export type CustomBlockHostInitialState = {
|
|
18
19
|
theme: NotionTheme;
|
|
20
|
+
contrastMode?: NotionContrastMode;
|
|
19
21
|
blockId: NotionBlockId;
|
|
20
22
|
parent: NotionParent;
|
|
21
23
|
page: CustomBlockPage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host/lifecycle/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAC1C,cAAc,EACd;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CACrB,CAAA;AAED,MAAM,MAAM,UAAU,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,SAAS,GACT,OAAO,CAAA;AAEV,MAAM,MAAM,iCAAiC,GAAG;IAC/C,QAAQ,EAAE,wBAAwB,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,iCAAiC,GAC1C,iCAAiC,GACjC,CAAC,CAAC,OAAO,EAAE,qBAAqB,KAAK,iCAAiC,CAAC,CAAA;AAE1E,MAAM,MAAM,2BAA2B,GAAG;IACzC,KAAK,EAAE,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host/lifecycle/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAC1C,cAAc,EACd;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CACrB,CAAA;AAED,MAAM,MAAM,UAAU,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,SAAS,GACT,OAAO,CAAA;AAEV,MAAM,MAAM,iCAAiC,GAAG;IAC/C,QAAQ,EAAE,wBAAwB,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,iCAAiC,GAC1C,iCAAiC,GACjC,CAAC,CAAC,OAAO,EAAE,qBAAqB,KAAK,iCAAiC,CAAC,CAAA;AAE1E,MAAM,MAAM,2BAA2B,GAAG;IACzC,KAAK,EAAE,WAAW,CAAA;IAElB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,OAAO,EAAE,aAAa,CAAA;IACtB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,WAAW,EAAE,iCAAiC,CAAA;IAC9C,WAAW,EAAE,UAAU,CAAA;CACvB,CAAA"}
|
package/dist/host.d.ts
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* Nothing here is intended for use inside a sandboxed custom block; that
|
|
10
10
|
* surface lives in the default `@notionhq/custom-blocks` entrypoint.
|
|
11
11
|
*/
|
|
12
|
+
export type { NotionContrastMode } from "./bridge/contrast.js";
|
|
13
|
+
export { notionContrastModeSchema } from "./bridge/contrast.js";
|
|
12
14
|
export type { NotionDataSourceBinding, NotionDataSourceBindings, } from "./bridge/dataSources/dataSource.js";
|
|
13
15
|
export { notionDataSourceBindingSchema, notionDataSourceBindingsSchema, } from "./bridge/dataSources/dataSource.js";
|
|
14
16
|
export type { NotionDataSourcePageBridge } from "./bridge/dataSources/dataSourcePage.js";
|
|
@@ -23,6 +25,8 @@ export { notionBlockIdSchema, notionDataSourceIdSchema, notionPageIdSchema, } fr
|
|
|
23
25
|
export { readIncomingType } from "./bridge/incomingType.js";
|
|
24
26
|
export type { ConnectMessage } from "./bridge/messages/connect.js";
|
|
25
27
|
export { connectMessageSchema } from "./bridge/messages/connect.js";
|
|
28
|
+
export type { ContrastModeChangedMessage } from "./bridge/messages/contrastModeChanged.js";
|
|
29
|
+
export { contrastModeChangedMessageSchema } from "./bridge/messages/contrastModeChanged.js";
|
|
26
30
|
export type { CreatePageMessage } from "./bridge/messages/createPage.js";
|
|
27
31
|
export { createPageMessageSchema } from "./bridge/messages/createPage.js";
|
|
28
32
|
export type { CreatePageResultMessage, CustomBlockCreatePageErrorCode, CustomBlockCreatePageErrorInfo, } from "./bridge/messages/createPageResult.js";
|
package/dist/host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/host.ts"],"names":[],"mappings":"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"}
|
package/dist/host.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* Nothing here is intended for use inside a sandboxed custom block; that
|
|
10
10
|
* surface lives in the default `@notionhq/custom-blocks` entrypoint.
|
|
11
11
|
*/
|
|
12
|
+
export { notionContrastModeSchema } from "./bridge/contrast.js";
|
|
12
13
|
export { notionDataSourceBindingSchema, notionDataSourceBindingsSchema, } from "./bridge/dataSources/dataSource.js";
|
|
13
14
|
export { notionDataSourcePageBridgeSchema } from "./bridge/dataSources/dataSourcePage.js";
|
|
14
15
|
export { customBlockDataSourceResolutionErrorCodeSchema } from "./bridge/dataSources/errors.js";
|
|
@@ -17,6 +18,7 @@ export { customBlockErrorInfoSchema } from "./bridge/errors.js";
|
|
|
17
18
|
export { notionBlockIdSchema, notionDataSourceIdSchema, notionPageIdSchema, } from "./bridge/ids.js";
|
|
18
19
|
export { readIncomingType } from "./bridge/incomingType.js";
|
|
19
20
|
export { connectMessageSchema } from "./bridge/messages/connect.js";
|
|
21
|
+
export { contrastModeChangedMessageSchema } from "./bridge/messages/contrastModeChanged.js";
|
|
20
22
|
export { createPageMessageSchema } from "./bridge/messages/createPage.js";
|
|
21
23
|
export { createPageResultMessageSchema, customBlockCreatePageErrorCodeSchema, customBlockCreatePageErrorInfoSchema, } from "./bridge/messages/createPageResult.js";
|
|
22
24
|
export { currentUserChangedMessageSchema } from "./bridge/messages/currentUserChanged.js";
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* consumers should import from `@notionhq/custom-blocks`; React consumers
|
|
7
7
|
* should import hooks and components from `@notionhq/custom-blocks/react`.
|
|
8
8
|
*/
|
|
9
|
+
export type { NotionContrastMode } from "./bridge/contrast.js";
|
|
9
10
|
export type { NotionCollectionSchema, NotionDataSource, } from "./bridge/dataSources/dataSource.js";
|
|
10
11
|
export type { NotionDataSourcePage, NotionDataSourcePageUpdateInput, NotionDataSourcePageUpdateResult, } from "./bridge/dataSources/dataSourcePage.js";
|
|
11
12
|
export type { NotionDataSourceValue } from "./bridge/dataSources/dataSourceValue.js";
|