@driftime/sanity-plugin-handbook 0.4.0 → 0.4.1
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 +18 -16
- package/dist/index.d.ts +68 -75
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +180 -186
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,9 +17,11 @@
|
|
|
17
17
|
|
|
18
18
|
## Overview
|
|
19
19
|
|
|
20
|
-
Every content model comes with knowledge the schema alone
|
|
20
|
+
Every content model comes with knowledge the schema alone can't hold: what a field is for, which values work best, and how the site's content should be written. Handbook gives that knowledge a place in the Studio, so authors find the guidance right beside the content it describes.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Most of it needs no writing at all. Handbook reads the documentation straight from the schema, listing every document type and every field with its description, an example value, and any tips or cautions defined alongside it. When the schema changes, the Handbook changes with it.
|
|
23
|
+
|
|
24
|
+
The rest is written by the site's editors. Guides cover house style, editorial process, and anything too long for a field description, arranged into groups in the same sidebar.
|
|
23
25
|
|
|
24
26
|
<br />
|
|
25
27
|
|
|
@@ -36,7 +38,7 @@ The first part of the Handbook is generated from the schema. Every document type
|
|
|
36
38
|
|
|
37
39
|
## Installation
|
|
38
40
|
|
|
39
|
-
Handbook is built for Sanity Studio 6.10 and React 19 and declares both as peer dependencies, so the Studio needs to be on those versions already. Node
|
|
41
|
+
Handbook is built for Sanity Studio 6.10 and React 19 and declares both as peer dependencies, so the Studio needs to be on those versions already. Node 20.19 or later is required, or 22.12 or later on Node 22.
|
|
40
42
|
|
|
41
43
|
```bash
|
|
42
44
|
bun add -E @driftime/sanity-plugin-handbook
|
|
@@ -127,7 +129,7 @@ export const page = defineType({
|
|
|
127
129
|
description: "General-purpose pages.",
|
|
128
130
|
handbook: {
|
|
129
131
|
description:
|
|
130
|
-
"Standalone pages for
|
|
132
|
+
"Standalone pages for any content that doesn't need a document type of its own. Each page has its own address and is built from blocks rather than following a fixed layout.",
|
|
131
133
|
},
|
|
132
134
|
fields: [
|
|
133
135
|
defineField({
|
|
@@ -136,9 +138,9 @@ export const page = defineType({
|
|
|
136
138
|
description: "Appears in navigation, browser tabs, and search results.",
|
|
137
139
|
handbook: {
|
|
138
140
|
description:
|
|
139
|
-
"
|
|
141
|
+
"What the document is called wherever it's listed: navigation menus, browser tabs, search results, and the Studio's own lists. Every document needs one, and it's also used to generate the slug and as the SEO title when those fields are left empty.",
|
|
140
142
|
example: "About Acme Inc.",
|
|
141
|
-
tip: "Keep it short enough to
|
|
143
|
+
tip: "Keep it short enough to fit in a navigation menu without wrapping.",
|
|
142
144
|
},
|
|
143
145
|
}),
|
|
144
146
|
defineField({
|
|
@@ -148,7 +150,7 @@ export const page = defineType({
|
|
|
148
150
|
options: { source: "title" },
|
|
149
151
|
handbook: {
|
|
150
152
|
description:
|
|
151
|
-
"The last part of the page's web address. Generate it from the title
|
|
153
|
+
"The last part of the page's web address. Generate it from the title, then edit it if the result is long or unclear. Shorter slugs are usually better.",
|
|
152
154
|
example: "about-acme-inc",
|
|
153
155
|
caution: "Changing the slug of a published page breaks every link that already points at it.",
|
|
154
156
|
},
|
|
@@ -161,7 +163,7 @@ export const page = defineType({
|
|
|
161
163
|
| ------------- | -------- | --------------------------------------------------------------------------- |
|
|
162
164
|
| `title` | `string` | Replaces the field or document title in the Handbook. |
|
|
163
165
|
| `description` | `string` | Replaces the description, shown under the heading. |
|
|
164
|
-
| `example` | `string` | An example value, shown in italics
|
|
166
|
+
| `example` | `string` | An example value, shown in italics below the description. |
|
|
165
167
|
| `tip` | `string` | Guidance for the author, shown as a hint icon that opens on hover or click. |
|
|
166
168
|
| `info` | `string` | Extra context about how the field is used, shown the same way. |
|
|
167
169
|
| `caution` | `string` | A warning about constraints or pitfalls, shown the same way. |
|
|
@@ -192,7 +194,7 @@ handbookPlugin({
|
|
|
192
194
|
|
|
193
195
|
### Nested Fields
|
|
194
196
|
|
|
195
|
-
An object or array field has a control
|
|
197
|
+
An object or array field has a control below its description that counts its subfields and expands to list them, each documented the way a top-level field is. An array with one member type lists that type's fields, and an array with several lists the members themselves. Sanity's own types, such as `image`, `file`, and `slug`, are not expanded, so a custom type built on one of them shows only the fields added to it. A type that contains itself is listed once, with a note referring back to the first occurrence in place of a second expansion.
|
|
196
198
|
|
|
197
199
|
<br />
|
|
198
200
|
|
|
@@ -241,7 +243,7 @@ A guide has a title, an optional description, and a Portable Text body offering:
|
|
|
241
243
|
|
|
242
244
|
### Adding Guides to the Structure
|
|
243
245
|
|
|
244
|
-
Guides are read in the Handbook tool and written in the Structure tool, and they appear in the Structure tool only once its resolver adds them. `handbookStructure` returns the two list items for that, an editor for the singleton and a list of the guides. It reads the current user from the Structure context, and returns an empty array for anyone who is not an editor, so the resolver needs both of its arguments.
|
|
246
|
+
Guides are read in the Handbook tool and written in the Structure tool, and they appear in the Structure tool only once its resolver adds them. `handbookStructure` returns the two list items for that, an editor for the singleton and a list of the guides in the order they were created. It reads the current user from the Structure context, and returns an empty array for anyone who is not an editor, so the resolver needs both of its arguments.
|
|
245
247
|
|
|
246
248
|
```typescript
|
|
247
249
|
import { handbookStructure } from "@driftime/sanity-plugin-handbook";
|
|
@@ -263,7 +265,7 @@ export const structure: StructureResolver = (structureBuilder, context) => {
|
|
|
263
265
|
};
|
|
264
266
|
```
|
|
265
267
|
|
|
266
|
-
The filter keeps the two Handbook document types out of a list built from every registered type, and the divider is added only when there is something to
|
|
268
|
+
The filter keeps the two Handbook document types out of a list built from every registered type, and the divider is added only when there is something to show below it. A Studio running several workspaces with different editors passes the workspace's own list as a third argument, since the plugin otherwise reads the list from whichever workspace was configured last.
|
|
267
269
|
|
|
268
270
|
<br />
|
|
269
271
|
|
|
@@ -271,7 +273,7 @@ The filter keeps the two Handbook document types out of a list built from every
|
|
|
271
273
|
<picture>
|
|
272
274
|
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/driftime/sanity-plugins/HEAD/packages/handbook/assets/handbook-groups-dark.png" />
|
|
273
275
|
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/driftime/sanity-plugins/HEAD/packages/handbook/assets/handbook-groups-light.png" />
|
|
274
|
-
<img src="https://raw.githubusercontent.com/driftime/sanity-plugins/HEAD/packages/handbook/assets/handbook-groups-light.png" alt="The Handbook singleton open in the Structure tool, showing
|
|
276
|
+
<img src="https://raw.githubusercontent.com/driftime/sanity-plugins/HEAD/packages/handbook/assets/handbook-groups-light.png" alt="The Handbook singleton open in the Structure tool, showing three guide groups with reorder handles and the guides referenced in each" />
|
|
275
277
|
</picture>
|
|
276
278
|
<p align="center"><sub><em>The Handbook singleton in the Structure tool, where groups and their order are arranged.</em></sub></p>
|
|
277
279
|
</figure>
|
|
@@ -282,7 +284,7 @@ The filter keeps the two Handbook document types out of a list built from every
|
|
|
282
284
|
<picture>
|
|
283
285
|
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/driftime/sanity-plugins/HEAD/packages/handbook/assets/handbook-editor-dark.png" />
|
|
284
286
|
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/driftime/sanity-plugins/HEAD/packages/handbook/assets/handbook-editor-light.png" />
|
|
285
|
-
<img src="https://raw.githubusercontent.com/driftime/sanity-plugins/HEAD/packages/handbook/assets/handbook-editor-light.png" alt="The Handbook Guides list in the Structure tool beside an open guide, showing its
|
|
287
|
+
<img src="https://raw.githubusercontent.com/driftime/sanity-plugins/HEAD/packages/handbook/assets/handbook-editor-light.png" alt="The Handbook Guides list in the Structure tool beside an open guide, showing its rich text editor and toolbar" />
|
|
286
288
|
</picture>
|
|
287
289
|
<p align="center"><sub><em>The guides list in the Structure tool beside an open guide.</em></sub></p>
|
|
288
290
|
</figure>
|
|
@@ -423,7 +425,7 @@ interface GuidePageProps {
|
|
|
423
425
|
| `_type` | `string` | both | `handbook.handbook` for the singleton, `handbook.guide` for a guide. |
|
|
424
426
|
| `groups` | `SanityHandbookGuideGroup[]` | `handbook.handbook` | The groups in sidebar order, each with a `title` and its `guides`. |
|
|
425
427
|
| `title` | `string` | `handbook.guide` | The guide's title, shown in the sidebar and as its heading. |
|
|
426
|
-
| `description` | `string` | `handbook.guide` | An optional introduction shown
|
|
428
|
+
| `description` | `string` | `handbook.guide` | An optional introduction shown below the heading. |
|
|
427
429
|
| `content` | `PortableTextBlock[]` | `handbook.guide` | The body, holding text blocks and the blocks below. |
|
|
428
430
|
|
|
429
431
|
The blocks a body can hold each have a type of their own, and the link annotation is stored in a text block's `markDefs`. A horizontal rule, `handbook.horizontalRule`, carries no fields.
|
|
@@ -431,10 +433,10 @@ The blocks a body can hold each have a type of their own, and the link annotatio
|
|
|
431
433
|
| Field | Type | Block | Purpose |
|
|
432
434
|
| ---------- | ------------------------------ | ------------------ | ---------------------------------------------------------------------------- |
|
|
433
435
|
| `asset` | `{ url?: string }` | `handbook.image` | The image, once the query resolves its reference to a URL. |
|
|
434
|
-
| `caption` | `string` | `handbook.image` | An optional caption shown
|
|
436
|
+
| `caption` | `string` | `handbook.image` | An optional caption shown below the image. |
|
|
435
437
|
| `alt` | `string` | `handbook.image` | Optional alternative text for the image. |
|
|
436
438
|
| `asset` | `{ url?: string }` | `handbook.video` | The video, once the query resolves its reference to a URL. |
|
|
437
|
-
| `caption` | `string` | `handbook.video` | An optional caption shown
|
|
439
|
+
| `caption` | `string` | `handbook.video` | An optional caption shown below the video. |
|
|
438
440
|
| `code` | `string` | `handbook.code` | The source code. |
|
|
439
441
|
| `language` | `string` | `handbook.code` | The language it is highlighted as. |
|
|
440
442
|
| `variant` | `SanityHandbookCalloutVariant` | `handbook.callout` | `tip`, `info`, or `warning`. |
|
package/dist/index.d.ts
CHANGED
|
@@ -3,237 +3,230 @@ import { CurrentUser, DocumentDefinition, KeyedSegment, PortableTextBlock, Porta
|
|
|
3
3
|
import { StructureBuilder } from "sanity/structure";
|
|
4
4
|
declare module "@sanity/types" {
|
|
5
5
|
interface FieldDefinitionBase {
|
|
6
|
+
/** Handbook documentation for the field. */
|
|
6
7
|
handbook?: SanityHandbookMetadata;
|
|
7
8
|
}
|
|
8
9
|
interface DocumentDefinition {
|
|
10
|
+
/** Handbook documentation for the document type. */
|
|
9
11
|
handbook?: SanityHandbookMetadata;
|
|
10
12
|
}
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
|
-
* Documentation
|
|
15
|
+
* Documentation added to a field or document definition, shown in the Handbook.
|
|
14
16
|
*
|
|
15
17
|
* @public
|
|
16
18
|
*/
|
|
17
19
|
interface SanityHandbookMetadata {
|
|
18
|
-
/**
|
|
20
|
+
/** Title to show instead of the schema title. */
|
|
19
21
|
title?: string;
|
|
20
|
-
/** Description shown
|
|
22
|
+
/** Description shown below the field or document heading. */
|
|
21
23
|
description?: string;
|
|
22
|
-
/**
|
|
24
|
+
/** Example value for the field. */
|
|
23
25
|
example?: string;
|
|
24
|
-
/**
|
|
26
|
+
/** Tip, shown as a hint icon. */
|
|
25
27
|
tip?: string;
|
|
26
|
-
/**
|
|
28
|
+
/** Extra information, shown as a hint icon. */
|
|
27
29
|
info?: string;
|
|
28
|
-
/** Warning
|
|
30
|
+
/** Warning, shown as a hint icon. */
|
|
29
31
|
caution?: string;
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
32
|
-
* A
|
|
34
|
+
* A group of document types with the same role in the content model, shown as one sidebar section.
|
|
33
35
|
*
|
|
34
36
|
* @public
|
|
35
37
|
*/
|
|
36
38
|
interface SanityHandbookDocumentRole {
|
|
37
|
-
/**
|
|
39
|
+
/** Role title. */
|
|
38
40
|
title: string;
|
|
39
|
-
/**
|
|
41
|
+
/** Short description of the role. */
|
|
40
42
|
description?: string;
|
|
41
|
-
/** Document definitions
|
|
43
|
+
/** Document definitions in the role. */
|
|
42
44
|
documents: DocumentDefinition[];
|
|
43
45
|
}
|
|
44
46
|
/**
|
|
45
|
-
* A Portable Text block
|
|
47
|
+
* A custom Portable Text block for guides: its schema and the component that renders it.
|
|
46
48
|
*
|
|
47
49
|
* @public
|
|
48
50
|
*/
|
|
49
51
|
interface SanityHandbookBlockDefinition {
|
|
50
|
-
/**
|
|
52
|
+
/** Schema type definition for the block. */
|
|
51
53
|
schema: SchemaTypeDefinition;
|
|
52
|
-
/**
|
|
54
|
+
/** Component that renders the block in the Handbook. */
|
|
53
55
|
component: ComponentType<{
|
|
54
56
|
value: PortableTextObject;
|
|
55
57
|
}>;
|
|
56
58
|
}
|
|
57
59
|
/**
|
|
58
|
-
*
|
|
60
|
+
* Plugin configuration. Only `roles` is required.
|
|
59
61
|
*
|
|
60
62
|
* @public
|
|
61
63
|
*/
|
|
62
64
|
interface SanityHandbookConfig {
|
|
63
|
-
/** Title
|
|
65
|
+
/** Title in the Studio's tool menu. Defaults to `"Handbook"`. */
|
|
64
66
|
title?: string;
|
|
65
|
-
/** Heading
|
|
67
|
+
/** Heading at the top of the sidebar. Defaults to `"Handbook"`. */
|
|
66
68
|
sidebarTitle?: string;
|
|
67
|
-
/** Document roles, each shown as a
|
|
69
|
+
/** Document roles, each shown as a section in the sidebar. */
|
|
68
70
|
roles: SanityHandbookDocumentRole[];
|
|
69
|
-
/** Custom Portable Text
|
|
71
|
+
/** Custom Portable Text blocks for guides. Defaults to none. */
|
|
70
72
|
blocks?: SanityHandbookBlockDefinition[];
|
|
71
|
-
/** Email addresses
|
|
73
|
+
/** Email addresses of the people who can edit Handbook documents. Defaults to everyone. */
|
|
72
74
|
editors?: string[];
|
|
73
|
-
/**
|
|
75
|
+
/** Message shown for fields without a description. Defaults to a prompt to ask the development team. */
|
|
74
76
|
undocumentedFieldMessage?: string;
|
|
75
77
|
}
|
|
76
78
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
+
* Adds a Handbook tool to Sanity Studio, with documentation generated from the schema and guides written
|
|
80
|
+
* in the Studio.
|
|
79
81
|
*
|
|
80
|
-
* @param config -
|
|
81
|
-
* @returns
|
|
82
|
+
* @param config - The plugin configuration.
|
|
83
|
+
* @returns The plugin.
|
|
82
84
|
* @public
|
|
83
85
|
*/
|
|
84
86
|
export declare const handbookPlugin: import("sanity").Plugin<SanityHandbookConfig>;
|
|
85
87
|
/**
|
|
86
|
-
* Creates
|
|
87
|
-
* not permitted to edit them.
|
|
88
|
+
* Creates Structure tool items for the Handbook documents, or none when the current user can't edit them.
|
|
88
89
|
*
|
|
89
|
-
* @param structureBuilder - The
|
|
90
|
-
* @param context - The
|
|
91
|
-
* @param editors - Email addresses
|
|
92
|
-
* @returns
|
|
90
|
+
* @param structureBuilder - The structure builder.
|
|
91
|
+
* @param context - The structure context, with the current user.
|
|
92
|
+
* @param editors - Email addresses of the editors, defaulting to the configured list.
|
|
93
|
+
* @returns List items for the Handbook document and the guides list, oldest guide first.
|
|
93
94
|
* @public
|
|
94
95
|
*/
|
|
95
96
|
export declare function handbookStructure(structureBuilder: StructureBuilder, context: {
|
|
96
97
|
currentUser: CurrentUser | null;
|
|
97
98
|
}, editors?: string[]): import("sanity/structure").ListItemBuilder[];
|
|
98
99
|
/**
|
|
99
|
-
* Checks whether the current user
|
|
100
|
-
* unrestricted access.
|
|
100
|
+
* Checks whether the current user can edit Handbook documents. Without an editors list, everyone can.
|
|
101
101
|
*
|
|
102
|
-
* @param editors - Email addresses
|
|
102
|
+
* @param editors - Email addresses of the editors, defaulting to the configured list.
|
|
103
103
|
* @returns Whether the current user can edit Handbook documents.
|
|
104
104
|
* @public
|
|
105
105
|
*/
|
|
106
106
|
export declare function useIsHandbookEditor(editors?: string[]): boolean;
|
|
107
|
-
/**
|
|
108
|
-
* Drops a type's catch-all index signature, so a mistyped field name is an error rather than an
|
|
109
|
-
* unknown value.
|
|
110
|
-
*
|
|
111
|
-
*/
|
|
107
|
+
/** Removes a type's index signatures, so a misspelt property is an error rather than `unknown`. */
|
|
112
108
|
type Strict<T> = { [K in keyof T as string extends K ? never : number extends K ? never : K]: T[K]; };
|
|
113
|
-
/**
|
|
114
|
-
* Array of objects each carrying the key Sanity assigns to array items, keeping members identifiable.
|
|
115
|
-
*
|
|
116
|
-
*/
|
|
109
|
+
/** Array whose items carry the `_key` Sanity gives array members. */
|
|
117
110
|
type SanityKeyedArray<T> = (KeyedSegment & T)[];
|
|
118
111
|
/**
|
|
119
|
-
* A
|
|
112
|
+
* A Handbook guide, written in rich text and shown in the tool.
|
|
120
113
|
*
|
|
121
114
|
* @public
|
|
122
115
|
*/
|
|
123
116
|
type SanityHandbookGuide = Strict<SanityDocument> & {
|
|
124
117
|
_type: typeof guideTypeName;
|
|
125
|
-
/**
|
|
118
|
+
/** Guide title. */
|
|
126
119
|
title: string;
|
|
127
|
-
/**
|
|
120
|
+
/** Short description below the guide heading. */
|
|
128
121
|
description?: string;
|
|
129
|
-
/** Portable Text content
|
|
122
|
+
/** Portable Text content. */
|
|
130
123
|
content: SanityKeyedArray<PortableTextBlock>;
|
|
131
124
|
};
|
|
132
|
-
/**
|
|
125
|
+
/** Schema type name of the guide document. */
|
|
133
126
|
declare const guideTypeName = "handbook.guide";
|
|
134
127
|
/**
|
|
135
|
-
* A
|
|
128
|
+
* A group of guides in the sidebar, in order.
|
|
136
129
|
*
|
|
137
130
|
* @public
|
|
138
131
|
*/
|
|
139
132
|
interface SanityHandbookGuideGroup {
|
|
140
|
-
/**
|
|
133
|
+
/** Group title in the sidebar. */
|
|
141
134
|
title: string;
|
|
142
|
-
/**
|
|
135
|
+
/** Guides in the group, in order. */
|
|
143
136
|
guides: SanityKeyedArray<SanityHandbookGuide>;
|
|
144
137
|
}
|
|
145
138
|
/**
|
|
146
|
-
* The
|
|
139
|
+
* The Handbook document, listing the guide groups in sidebar order.
|
|
147
140
|
*
|
|
148
141
|
* @public
|
|
149
142
|
*/
|
|
150
143
|
type SanityHandbook = Strict<SanityDocument> & {
|
|
151
144
|
_type: typeof handbookTypeName;
|
|
152
|
-
/**
|
|
145
|
+
/** Guide groups, in order. */
|
|
153
146
|
groups: SanityKeyedArray<SanityHandbookGuideGroup>;
|
|
154
147
|
};
|
|
155
|
-
/**
|
|
148
|
+
/** Schema type name of the Handbook document. */
|
|
156
149
|
declare const handbookTypeName = "handbook.handbook";
|
|
157
150
|
/**
|
|
158
|
-
* An image
|
|
151
|
+
* An image in a guide, with its caption and alternative text.
|
|
159
152
|
*
|
|
160
153
|
* @public
|
|
161
154
|
*/
|
|
162
155
|
type SanityHandbookImage = Strict<PortableTextObject> & {
|
|
163
156
|
_type: typeof imageTypeName;
|
|
164
|
-
/**
|
|
157
|
+
/** Image asset, reduced by the query to its URL. */
|
|
165
158
|
asset?: {
|
|
166
159
|
url?: string;
|
|
167
160
|
};
|
|
168
|
-
/** Text
|
|
161
|
+
/** Text shown below the image. */
|
|
169
162
|
caption?: string;
|
|
170
|
-
/** Alternative text
|
|
163
|
+
/** Alternative text. */
|
|
171
164
|
alt?: string;
|
|
172
165
|
};
|
|
173
|
-
/**
|
|
166
|
+
/** Schema type name of the image block. */
|
|
174
167
|
declare const imageTypeName = "handbook.image";
|
|
175
168
|
/**
|
|
176
|
-
* A video
|
|
169
|
+
* A video in a guide, with its caption.
|
|
177
170
|
*
|
|
178
171
|
* @public
|
|
179
172
|
*/
|
|
180
173
|
type SanityHandbookVideo = Strict<PortableTextObject> & {
|
|
181
174
|
_type: typeof videoTypeName;
|
|
182
|
-
/**
|
|
175
|
+
/** Video asset, reduced by the query to its URL. */
|
|
183
176
|
asset?: {
|
|
184
177
|
url?: string;
|
|
185
178
|
};
|
|
186
|
-
/** Text
|
|
179
|
+
/** Text shown below the video. */
|
|
187
180
|
caption?: string;
|
|
188
181
|
};
|
|
189
|
-
/**
|
|
182
|
+
/** Schema type name of the video block. */
|
|
190
183
|
declare const videoTypeName = "handbook.video";
|
|
191
184
|
/**
|
|
192
|
-
* A block
|
|
185
|
+
* A code block, highlighted for its language.
|
|
193
186
|
*
|
|
194
187
|
* @public
|
|
195
188
|
*/
|
|
196
189
|
type SanityHandbookCode = Strict<PortableTextObject> & {
|
|
197
190
|
_type: typeof codeTypeName;
|
|
198
|
-
/**
|
|
191
|
+
/** Code to display. */
|
|
199
192
|
code?: string;
|
|
200
|
-
/**
|
|
193
|
+
/** Language used for syntax highlighting. */
|
|
201
194
|
language?: string;
|
|
202
195
|
};
|
|
203
|
-
/**
|
|
196
|
+
/** Schema type name of the code block. */
|
|
204
197
|
declare const codeTypeName = "handbook.code";
|
|
205
198
|
/**
|
|
206
|
-
*
|
|
199
|
+
* Kind of callout, which sets its icon and tone.
|
|
207
200
|
*
|
|
208
201
|
* @public
|
|
209
202
|
*/
|
|
210
203
|
type SanityHandbookCalloutVariant = "tip" | "info" | "warning";
|
|
211
204
|
/**
|
|
212
|
-
* A highlighted message
|
|
205
|
+
* A highlighted message in a guide.
|
|
213
206
|
*
|
|
214
207
|
* @public
|
|
215
208
|
*/
|
|
216
209
|
type SanityHandbookCallout = Strict<PortableTextObject> & {
|
|
217
210
|
_type: typeof calloutTypeName;
|
|
218
|
-
/**
|
|
211
|
+
/** Kind of callout. */
|
|
219
212
|
variant: SanityHandbookCalloutVariant;
|
|
220
|
-
/** Portable Text
|
|
213
|
+
/** Portable Text inside the callout, without inline objects. */
|
|
221
214
|
body: SanityKeyedArray<PortableTextTextBlock<PortableTextSpan>>;
|
|
222
215
|
};
|
|
223
|
-
/**
|
|
216
|
+
/** Schema type name of the callout block. */
|
|
224
217
|
declare const calloutTypeName = "handbook.callout";
|
|
225
218
|
/**
|
|
226
|
-
* A divider between sections of a guide
|
|
219
|
+
* A divider between sections of a guide.
|
|
227
220
|
*
|
|
228
221
|
* @public
|
|
229
222
|
*/
|
|
230
223
|
type SanityHandbookHorizontalRule = Strict<PortableTextObject> & {
|
|
231
224
|
_type: typeof horizontalRuleTypeName;
|
|
232
225
|
};
|
|
233
|
-
/**
|
|
226
|
+
/** Schema type name of the horizontal rule block. */
|
|
234
227
|
declare const horizontalRuleTypeName = "handbook.horizontalRule";
|
|
235
228
|
/**
|
|
236
|
-
* A
|
|
229
|
+
* A link on a run of guide text.
|
|
237
230
|
*
|
|
238
231
|
* @public
|
|
239
232
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/plugin.ts","../src/lib/structure.ts","../src/hooks/use-is-handbook-editor.ts","../src/types.ts"],"mappings":";;;;YAoBY
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["ComponentType","DocumentDefinition","PortableTextObject","SchemaTypeDefinition","_0","SanityHandbookMetadata","sideEffect","SanityHandbookDocumentRole","SanityHandbookBlockDefinition","SanityHandbookConfig","handbookPlugin","CurrentUser","StructureBuilder","handbookStructure","useIsHandbookEditor","KeyedSegment","PortableTextBlock","PortableTextObject","PortableTextSpan","PortableTextTextBlock","SanityDocument","Strict","T","K","SanityKeyedArray","SanityHandbookGuide","guideTypeName","SanityHandbookGuideGroup","SanityHandbook","handbookTypeName","SanityHandbookImage","imageTypeName","SanityHandbookVideo","videoTypeName","SanityHandbookCode","codeTypeName","SanityHandbookCalloutVariant","SanityHandbookCallout","calloutTypeName","SanityHandbookHorizontalRule","horizontalRuleTypeName","SanityHandbookLink"],"sources":["../src/plugin.ts","../src/lib/structure.ts","../src/hooks/use-is-handbook-editor.ts","../src/types.ts"],"mappings":";;;;YAoBY;;IAER,WAAWK;;YAIH;;IAER,WAAWA;;;;;;;;UASEA;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;;UAQeE;;EAEf;;EAEA;;EAEA,WAAWN;;;;;;;UAQIO;;EAEf,QAAQL;;EAER,WAAWH;IAAgB,OAAOE;;;;;;;;UAQnBO;;EAEf;;EAEA;;EAEA,OAAOF;;EAEP,SAASC;;EAET;;EAEA;;;;;;;;;;qBAWWE,iCAAc,OAAAD;;;;;;;;;;wBCxFXI,kBACd,kBAAkBD,kBAClB;EAAW,aAAaD;GACxB,gDAAkB;;;;;;;;wBCVJG,oBAAoB;;KCDxBO,OAAO,QAAQ,WAAWC,oBAAoBC,2BAA2BA,YAAYA,IAAID,EAAEC;;KAG3FC,iBAAiB,MAAMT,eAAeO;;;;;;KAOtCG,sBAAsBJ,OAAOD;EACvC,cAAcM;;EAEd;;EAEA;;EAEA,SAASF,iBAAiBR;;;cAIfU;;;;;;UAOIC;;EAEf;;EAEA,QAAQH,iBAAiBC;;;;;;;KAQfG,iBAAiBP,OAAOD;EAClC,cAAcS;;EAEd,QAAQL,iBAAiBG;;;cAIdE;;;;;;KAODC,sBAAsBT,OAAOJ;EACvC,cAAcc;;EAEd;IAAU;;;EAEV;;EAEA;;;cAIWA;;;;;;KAODC,sBAAsBX,OAAOJ;EACvC,cAAcgB;;EAEd;IAAU;;;EAEV;;;cAIWA;;;;;;KAODC,qBAAqBb,OAAOJ;EACtC,cAAckB;;EAEd;;EAEA;;;cAIWA;;;;;;KAODC;;;;;;KAOAC,wBAAwBhB,OAAOJ;EACzC,cAAcqB;;EAEd,SAASF;;EAET,MAAMZ,iBAAiBL,sBAAsBD;;;cAIlCoB;;;;;;KAODC,+BAA+BlB,OAAOJ;EAChD,cAAcuB;;;cAIHA;;;;;;KAODC,qBAAqBpB,OAAOJ;EACtC;;EAEA"}
|