@notionhq/custom-blocks 0.0.67 → 0.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bridge/hostState.d.ts +3 -0
- package/dist/bridge/hostState.d.ts.map +1 -1
- package/dist/bridge/hostState.js +3 -0
- package/dist/react/useDataSource.d.ts.map +1 -1
- package/dist/react/useDataSource.js +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/docs/data-sources.md +13 -3
- package/docs/pages.md +15 -5
- package/package.json +1 -1
- package/src/bridge/hostState.ts +4 -0
- package/src/react/useDataSource.ts +1 -0
- package/src/types.ts +5 -0
|
@@ -44,6 +44,9 @@ export type DataSourceQueryView = {
|
|
|
44
44
|
propertySchemasById: {
|
|
45
45
|
[propertyId: string]: NotionPropertySchema;
|
|
46
46
|
};
|
|
47
|
+
propertyIdsByKey: {
|
|
48
|
+
[key: string]: string | undefined;
|
|
49
|
+
};
|
|
47
50
|
propertySchemasByKey: {
|
|
48
51
|
[key: string]: NotionPropertySchema | undefined;
|
|
49
52
|
};
|
|
@@ -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,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;CAClB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,aAAa,CAAA;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,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;IAC/B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAClC,iGAAiG;IACjG,KAAK,EAAE,0BAA0B,EAAE,CAAA;IACnC,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,mCAAmC,CAAA;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAgB,+BAA+B,IAAI,oBAAoB,CAMtE;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,oBAAoB,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IACvD,mBAAmB,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAA;IACnE,oBAAoB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAA;KAAE,CAAA;IACzE,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,mCAAmC,CAAA;CAC3C,CAAA;
|
|
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,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;CAClB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,aAAa,CAAA;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,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;IAC/B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAClC,iGAAiG;IACjG,KAAK,EAAE,0BAA0B,EAAE,CAAA;IACnC,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,mCAAmC,CAAA;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAgB,+BAA+B,IAAI,oBAAoB,CAMtE;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,oBAAoB,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAA;IACvD,mBAAmB,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAA;IACnE,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IACvD,oBAAoB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAA;KAAE,CAAA;IACzE,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,mCAAmC,CAAA;CAC3C,CAAA;AAWD;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE;IAC3C,UAAU,EAAE,gBAAgB,CAAA;IAC5B,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,+BAA+B,CAAA;CACtC,KAAK,OAAO,CAAC,gCAAgC,CAAC,CAAA;AAE/C,wBAAgB,sBAAsB,CACrC,SAAS,EAAE,oBAAoB,EAC/B,GAAG,EAAE,MAAM,EACX,oBAAoB,EAAE,sBAAsB,GAC1C,mBAAmB,CAgErB"}
|
package/dist/bridge/hostState.js
CHANGED
|
@@ -8,6 +8,7 @@ export function createEmptyDataSourceQueryState() {
|
|
|
8
8
|
const EMPTY_QUERY_VIEW = {
|
|
9
9
|
items: [],
|
|
10
10
|
propertySchemasById: {},
|
|
11
|
+
propertyIdsByKey: {},
|
|
11
12
|
propertySchemasByKey: {},
|
|
12
13
|
isLoading: false,
|
|
13
14
|
hasMore: false,
|
|
@@ -23,6 +24,7 @@ export function getDataSourceQueryView(hostState, key, updateDataSourcePage) {
|
|
|
23
24
|
items: [],
|
|
24
25
|
collectionSchema: undefined,
|
|
25
26
|
propertySchemasById: {},
|
|
27
|
+
propertyIdsByKey: {},
|
|
26
28
|
propertySchemasByKey: {},
|
|
27
29
|
isLoading: queryState.isLoading,
|
|
28
30
|
hasMore: queryState.hasMore,
|
|
@@ -57,6 +59,7 @@ export function getDataSourceQueryView(hostState, key, updateDataSourcePage) {
|
|
|
57
59
|
items: resolvedItems,
|
|
58
60
|
collectionSchema: dataSource.collectionSchema,
|
|
59
61
|
propertySchemasById,
|
|
62
|
+
propertyIdsByKey,
|
|
60
63
|
propertySchemasByKey,
|
|
61
64
|
isLoading: queryState.isLoading,
|
|
62
65
|
hasMore: queryState.hasMore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataSource.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/react/useDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAG5E;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,oBAAoB,GAC5B,mBAAmB,
|
|
1
|
+
{"version":3,"file":"useDataSource.d.ts","sourceRoot":"","sources":["../../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/react/useDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAG5E;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,oBAAoB,GAC5B,mBAAmB,CA6BrB"}
|
|
@@ -29,6 +29,7 @@ export function useDataSource(key, options) {
|
|
|
29
29
|
items: view.items,
|
|
30
30
|
collectionSchema: view.collectionSchema,
|
|
31
31
|
propertySchemasById: view.propertySchemasById,
|
|
32
|
+
propertyIdsByKey: view.propertyIdsByKey,
|
|
32
33
|
propertySchemasByKey: view.propertySchemasByKey,
|
|
33
34
|
isLoading: view.isLoading,
|
|
34
35
|
hasMore: view.hasMore,
|
package/dist/types.d.ts
CHANGED
|
@@ -38,6 +38,13 @@ export type UseDataSourceResult = {
|
|
|
38
38
|
propertySchemasById: {
|
|
39
39
|
[propertyId: string]: NotionPropertySchema;
|
|
40
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* Maps user-defined property keys from the manifest to raw Notion property IDs.
|
|
43
|
+
* Keys mapped to `undefined` indicate a declared-but-unbound slot.
|
|
44
|
+
*/
|
|
45
|
+
propertyIdsByKey: {
|
|
46
|
+
[key: string]: string | undefined;
|
|
47
|
+
};
|
|
41
48
|
/**
|
|
42
49
|
* Per-property schemas keyed by user-defined keys from the data source's `propertyIdsByKey`.
|
|
43
50
|
* Built-ins are NOT included here. Keys mapped to `undefined` indicate a declared-but-unbound
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../home/runner/work/custom-blocks/custom-blocks/sdk/src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/version.js
CHANGED
package/docs/data-sources.md
CHANGED
|
@@ -37,12 +37,16 @@ Use `row.update(...)` whenever you already have a row in hand. For pages you don
|
|
|
37
37
|
### `useDataSource(key, options?)`
|
|
38
38
|
|
|
39
39
|
```ts
|
|
40
|
-
function useDataSource(
|
|
40
|
+
function useDataSource(
|
|
41
|
+
key: string,
|
|
42
|
+
options?: { limit?: number },
|
|
43
|
+
): UseDataSourceResult;
|
|
41
44
|
|
|
42
45
|
type UseDataSourceResult = {
|
|
43
46
|
items: NotionDataSourcePage[];
|
|
44
47
|
collectionSchema?: NotionCollectionSchema;
|
|
45
48
|
propertySchemasById: { [propertyId: string]: NotionPropertySchema };
|
|
49
|
+
propertyIdsByKey: { [key: string]: string | undefined };
|
|
46
50
|
propertySchemasByKey: { [key: string]: NotionPropertySchema | undefined };
|
|
47
51
|
isLoading: boolean;
|
|
48
52
|
hasMore: boolean;
|
|
@@ -50,7 +54,9 @@ type UseDataSourceResult = {
|
|
|
50
54
|
};
|
|
51
55
|
```
|
|
52
56
|
|
|
53
|
-
Reads the data source mapped to `key`. `limit` defaults to 20 and is capped at 999. To show more rows, keep the desired limit in your own component state and pass the larger value back into `useDataSource(key, { limit })`. `propertySchemasByKey` is `undefined` for declared-but-unbound slots.
|
|
57
|
+
Reads the data source mapped to `key`. `limit` defaults to 20 and is capped at 999. To show more rows, keep the desired limit in your own component state and pass the larger value back into `useDataSource(key, { limit })`. `propertyIdsByKey` maps manifest property keys to raw Notion property IDs; unbound keys map to `undefined`. `propertySchemasByKey` exposes the corresponding schemas and is likewise `undefined` for declared-but-unbound slots.
|
|
58
|
+
|
|
59
|
+
Query failures follow the SDK's [error-handling contract](./errors.md).
|
|
54
60
|
|
|
55
61
|
### `useManifest()`
|
|
56
62
|
|
|
@@ -128,7 +134,11 @@ export function ScoreList() {
|
|
|
128
134
|
))}
|
|
129
135
|
</ul>
|
|
130
136
|
{hasMore ? (
|
|
131
|
-
<button
|
|
137
|
+
<button
|
|
138
|
+
type="button"
|
|
139
|
+
onClick={() => setLimit(limit + 20)}
|
|
140
|
+
disabled={isLoading}
|
|
141
|
+
>
|
|
132
142
|
{isLoading ? "Loading…" : "Load more"}
|
|
133
143
|
</button>
|
|
134
144
|
) : null}
|
package/docs/pages.md
CHANGED
|
@@ -10,7 +10,7 @@ Every helper follows the SDK's [error-handling contract](./errors.md). Check `re
|
|
|
10
10
|
|
|
11
11
|
## Creating pages
|
|
12
12
|
|
|
13
|
-
`pages.create` mirrors Notion's [`POST /v1/pages`](https://developers.notion.com/reference/post-page). Pass a parent, a property map, and
|
|
13
|
+
`pages.create` mirrors Notion's [`POST /v1/pages`](https://developers.notion.com/reference/post-page). Pass a parent, a property map, and optionally an `icon` or `cover`:
|
|
14
14
|
|
|
15
15
|
```ts
|
|
16
16
|
const result = await pages.create({
|
|
@@ -23,7 +23,6 @@ const result = await pages.create({
|
|
|
23
23
|
dueDate: { type: "date", date: { start: "2026-06-01" } },
|
|
24
24
|
},
|
|
25
25
|
icon: { type: "emoji", emoji: "📝" },
|
|
26
|
-
position: { type: "end" },
|
|
27
26
|
});
|
|
28
27
|
|
|
29
28
|
if (result.status === "success") {
|
|
@@ -33,7 +32,12 @@ if (result.status === "success") {
|
|
|
33
32
|
|
|
34
33
|
### Choosing a parent
|
|
35
34
|
|
|
36
|
-
`parent` is
|
|
35
|
+
`parent` is the **destination for the new page**. It does not describe the custom block's own location.
|
|
36
|
+
|
|
37
|
+
- A data-source parent creates a new row in that data source.
|
|
38
|
+
- A page parent creates a child page (subpage) inside that page.
|
|
39
|
+
|
|
40
|
+
The accepted shape is `CreatePageParent`:
|
|
37
41
|
|
|
38
42
|
```ts
|
|
39
43
|
type CreatePageParent =
|
|
@@ -42,7 +46,11 @@ type CreatePageParent =
|
|
|
42
46
|
| { type: "data_source_key"; key: string };
|
|
43
47
|
```
|
|
44
48
|
|
|
45
|
-
`
|
|
49
|
+
Use `data_source_key` for a data source key declared in the custom block's manifest. When the block is configured, that slot is bound to an actual Notion data source. The SDK resolves the binding and creates a row there.
|
|
50
|
+
|
|
51
|
+
Use `page_id` when you want a subpage under a specific page. For example, `parent: { type: "page_id", page_id: page.id }` creates a child of the page returned by `usePage()`. Only page parents support `position`.
|
|
52
|
+
|
|
53
|
+
Use `data_source_id` when you already have a raw Notion data-source ID. In normal custom-block code, prefer `data_source_key` so the block uses its configured binding rather than a deployment-specific ID.
|
|
46
54
|
|
|
47
55
|
### Property keys
|
|
48
56
|
|
|
@@ -55,11 +63,13 @@ So if your manifest declares `title` and `dueDate`, you can write them by name (
|
|
|
55
63
|
|
|
56
64
|
### Where the new page lands
|
|
57
65
|
|
|
58
|
-
`position` is a `NotionCreatePagePosition` and controls placement inside the parent:
|
|
66
|
+
For a `page_id` parent, `position` is a `NotionCreatePagePosition` and controls placement inside the parent:
|
|
59
67
|
|
|
60
68
|
- `{ type: "start" }` / `{ type: "end" }` — prepend or append (default).
|
|
61
69
|
- `{ type: "before", blockId }` / `{ type: "after", blockId }` — insert as a sibling of the given block (which can be nested anywhere under the parent).
|
|
62
70
|
|
|
71
|
+
Do not pass `position` with a `data_source_id` or `data_source_key` parent. Data source rows are ordered by the view rather than by sibling anchors.
|
|
72
|
+
|
|
63
73
|
## Reading pages
|
|
64
74
|
|
|
65
75
|
`pages.get(pageId)` fetches a single page by ID:
|
package/package.json
CHANGED
package/src/bridge/hostState.ts
CHANGED
|
@@ -60,6 +60,7 @@ export type DataSourceQueryView = {
|
|
|
60
60
|
items: NotionDataSourcePage[]
|
|
61
61
|
collectionSchema?: NotionDataSource["collectionSchema"]
|
|
62
62
|
propertySchemasById: { [propertyId: string]: NotionPropertySchema }
|
|
63
|
+
propertyIdsByKey: { [key: string]: string | undefined }
|
|
63
64
|
propertySchemasByKey: { [key: string]: NotionPropertySchema | undefined }
|
|
64
65
|
isLoading: boolean
|
|
65
66
|
hasMore: boolean
|
|
@@ -69,6 +70,7 @@ export type DataSourceQueryView = {
|
|
|
69
70
|
const EMPTY_QUERY_VIEW: DataSourceQueryView = {
|
|
70
71
|
items: [],
|
|
71
72
|
propertySchemasById: {},
|
|
73
|
+
propertyIdsByKey: {},
|
|
72
74
|
propertySchemasByKey: {},
|
|
73
75
|
isLoading: false,
|
|
74
76
|
hasMore: false,
|
|
@@ -103,6 +105,7 @@ export function getDataSourceQueryView(
|
|
|
103
105
|
items: [],
|
|
104
106
|
collectionSchema: undefined,
|
|
105
107
|
propertySchemasById: {},
|
|
108
|
+
propertyIdsByKey: {},
|
|
106
109
|
propertySchemasByKey: {},
|
|
107
110
|
isLoading: queryState.isLoading,
|
|
108
111
|
hasMore: queryState.hasMore,
|
|
@@ -146,6 +149,7 @@ export function getDataSourceQueryView(
|
|
|
146
149
|
items: resolvedItems,
|
|
147
150
|
collectionSchema: dataSource.collectionSchema,
|
|
148
151
|
propertySchemasById,
|
|
152
|
+
propertyIdsByKey,
|
|
149
153
|
propertySchemasByKey,
|
|
150
154
|
isLoading: queryState.isLoading,
|
|
151
155
|
hasMore: queryState.hasMore,
|
|
@@ -39,6 +39,7 @@ export function useDataSource(
|
|
|
39
39
|
items: view.items,
|
|
40
40
|
collectionSchema: view.collectionSchema,
|
|
41
41
|
propertySchemasById: view.propertySchemasById,
|
|
42
|
+
propertyIdsByKey: view.propertyIdsByKey,
|
|
42
43
|
propertySchemasByKey: view.propertySchemasByKey,
|
|
43
44
|
isLoading: view.isLoading,
|
|
44
45
|
hasMore: view.hasMore,
|
package/src/types.ts
CHANGED
|
@@ -63,6 +63,11 @@ export type UseDataSourceResult = {
|
|
|
63
63
|
* (`created_time`, `last_edited_time`, `created_by`, `last_edited_by`).
|
|
64
64
|
*/
|
|
65
65
|
propertySchemasById: { [propertyId: string]: NotionPropertySchema }
|
|
66
|
+
/**
|
|
67
|
+
* Maps user-defined property keys from the manifest to raw Notion property IDs.
|
|
68
|
+
* Keys mapped to `undefined` indicate a declared-but-unbound slot.
|
|
69
|
+
*/
|
|
70
|
+
propertyIdsByKey: { [key: string]: string | undefined }
|
|
66
71
|
/**
|
|
67
72
|
* Per-property schemas keyed by user-defined keys from the data source's `propertyIdsByKey`.
|
|
68
73
|
* Built-ins are NOT included here. Keys mapped to `undefined` indicate a declared-but-unbound
|