@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 CHANGED
@@ -17,9 +17,11 @@
17
17
 
18
18
  ## Overview
19
19
 
20
- Every content model comes with knowledge the schema alone cannot hold: what a field is for, which values work best, and how the team writes. Handbook gives that knowledge a place in the Studio, as a tool in the navigation, so an author reaches the guidance beside the content it describes.
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
- The first part of the Handbook is generated from the schema. Every document type is listed with its fields, and each field shows its type, its description, an example value, and any tips or cautions written alongside its definition, so the documentation stays in step with the editor it describes. The second part is written by the team. Guides are Portable Text documents for house style, editorial process, and anything too long for a field description, arranged into groups in the same sidebar.
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 22.12 or later is required.
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 anything that does not warrant a document type of its own. Each is reached at its own address and assembled from blocks rather than following a fixed layout.",
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
- "The name this document goes by wherever it is referred to rather than read — navigation menus, browser tabs, search results, and the Studio's own lists. Every document needs one, and it stands behind both the slug and the SEO title whenever those are left blank.",
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 sit comfortably in a navigation menu.",
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 and then edit it if the result reads awkwardly — shorter is almost always better.",
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 beneath the description. |
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 beneath 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.
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 put beneath 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.
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 two guide groups with reorder handles and the guides referenced in each" />
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 title, description, and rich text editor" />
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 beneath the heading. |
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 beneath the image. |
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 beneath the video. |
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 a schema author attaches to a field or document, shown wherever the Handbook renders it.
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
- /** Display title override for the field or document. */
20
+ /** Title to show instead of the schema title. */
19
21
  title?: string;
20
- /** Description shown beneath the field or document heading. */
22
+ /** Description shown below the field or document heading. */
21
23
  description?: string;
22
- /** Illustrative example value for the field. */
24
+ /** Example value for the field. */
23
25
  example?: string;
24
- /** Helpful tip displayed as a popover hint. */
26
+ /** Tip, shown as a hint icon. */
25
27
  tip?: string;
26
- /** Informational note displayed as a popover hint. */
28
+ /** Extra information, shown as a hint icon. */
27
29
  info?: string;
28
- /** Warning displayed as a popover hint. */
30
+ /** Warning, shown as a hint icon. */
29
31
  caution?: string;
30
32
  }
31
33
  /**
32
- * A named part a set of document types plays in the content model, shown as one sidebar section.
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
- /** Display title for the document role. */
39
+ /** Role title. */
38
40
  title: string;
39
- /** Brief description of the role's purpose. */
41
+ /** Short description of the role. */
40
42
  description?: string;
41
- /** Document definitions filling this role. */
43
+ /** Document definitions in the role. */
42
44
  documents: DocumentDefinition[];
43
45
  }
44
46
  /**
45
- * A Portable Text block a consumer adds to guide content, pairing its schema with how it renders.
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
- /** Sanity schema type definition for the custom block. */
52
+ /** Schema type definition for the block. */
51
53
  schema: SchemaTypeDefinition;
52
- /** React component for rendering the block in the Handbook viewer. */
54
+ /** Component that renders the block in the Handbook. */
53
55
  component: ComponentType<{
54
56
  value: PortableTextObject;
55
57
  }>;
56
58
  }
57
59
  /**
58
- * Everything the plugin accepts, of which only the document roles are required.
60
+ * Plugin configuration. Only `roles` is required.
59
61
  *
60
62
  * @public
61
63
  */
62
64
  interface SanityHandbookConfig {
63
- /** Title shown in the Studio tool navigation. `"Handbook"` when omitted. */
65
+ /** Title in the Studio's tool menu. Defaults to `"Handbook"`. */
64
66
  title?: string;
65
- /** Heading displayed at the top of the sidebar. `"Handbook"` when omitted. */
67
+ /** Heading at the top of the sidebar. Defaults to `"Handbook"`. */
66
68
  sidebarTitle?: string;
67
- /** Document roles, each shown as a labelled section in the sidebar. */
69
+ /** Document roles, each shown as a section in the sidebar. */
68
70
  roles: SanityHandbookDocumentRole[];
69
- /** Custom Portable Text block definitions for guide content. None when omitted. */
71
+ /** Custom Portable Text blocks for guides. Defaults to none. */
70
72
  blocks?: SanityHandbookBlockDefinition[];
71
- /** Email addresses permitted to edit Handbook documents. Everyone when omitted. */
73
+ /** Email addresses of the people who can edit Handbook documents. Defaults to everyone. */
72
74
  editors?: string[];
73
- /** Fallback message shown when a field has no description. A prompt to ask the development team when omitted. */
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
- * Creates a Handbook tool for Sanity Studio, generating documentation from document type schemas
78
- * alongside the Portable Text guides authored in the dataset.
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 - Plugin configuration.
81
- * @returns Sanity plugin definition.
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 the Structure tool items for Handbook documents, yielding nothing when the current user is
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 Sanity Structure builder instance.
90
- * @param context - The Structure context carrying the current user.
91
- * @param editors - Email addresses permitted to edit, defaulting to the configured list.
92
- * @returns The list items for the Handbook singleton and the guides list.
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 is permitted to edit Handbook content, treating an absent list as
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 permitted to edit, defaulting to the configured list.
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 single Handbook page, authored as rich text and rendered in the tool.
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
- /** Display title for this guide. */
118
+ /** Guide title. */
126
119
  title: string;
127
- /** Brief description shown beneath the guide heading. */
120
+ /** Short description below the guide heading. */
128
121
  description?: string;
129
- /** Portable Text content of the guide. */
122
+ /** Portable Text content. */
130
123
  content: SanityKeyedArray<PortableTextBlock>;
131
124
  };
132
- /** Document type name of an individual guide. */
125
+ /** Schema type name of the guide document. */
133
126
  declare const guideTypeName = "handbook.guide";
134
127
  /**
135
- * A titled run of guides in the sidebar, holding them in the order they appear.
128
+ * A group of guides in the sidebar, in order.
136
129
  *
137
130
  * @public
138
131
  */
139
132
  interface SanityHandbookGuideGroup {
140
- /** Display title for this group in the sidebar. */
133
+ /** Group title in the sidebar. */
141
134
  title: string;
142
- /** Ordered array of guide references. */
135
+ /** Guides in the group, in order. */
143
136
  guides: SanityKeyedArray<SanityHandbookGuide>;
144
137
  }
145
138
  /**
146
- * The singleton naming every guide group and the order the sidebar lists them in.
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
- /** Ordered array of groups, each containing a title and guide references. */
145
+ /** Guide groups, in order. */
153
146
  groups: SanityKeyedArray<SanityHandbookGuideGroup>;
154
147
  };
155
- /** Document type name of the Handbook singleton. */
148
+ /** Schema type name of the Handbook document. */
156
149
  declare const handbookTypeName = "handbook.handbook";
157
150
  /**
158
- * An image placed in a guide, with the caption and alternative text shown alongside it.
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
- /** Uploaded image asset, narrowed by the query to the URL the viewer renders. */
157
+ /** Image asset, reduced by the query to its URL. */
165
158
  asset?: {
166
159
  url?: string;
167
160
  };
168
- /** Text displayed beneath the image. */
161
+ /** Text shown below the image. */
169
162
  caption?: string;
170
- /** Alternative text for screen readers. */
163
+ /** Alternative text. */
171
164
  alt?: string;
172
165
  };
173
- /** Type name of the image block. */
166
+ /** Schema type name of the image block. */
174
167
  declare const imageTypeName = "handbook.image";
175
168
  /**
176
- * A video placed in a guide, with the caption shown beneath it.
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
- /** Uploaded video asset, narrowed by the query to the URL the viewer renders. */
175
+ /** Video asset, reduced by the query to its URL. */
183
176
  asset?: {
184
177
  url?: string;
185
178
  };
186
- /** Text displayed beneath the video. */
179
+ /** Text shown below the video. */
187
180
  caption?: string;
188
181
  };
189
- /** Type name of the video block. */
182
+ /** Schema type name of the video block. */
190
183
  declare const videoTypeName = "handbook.video";
191
184
  /**
192
- * A block of source code, rendered with syntax highlighting for its language.
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
- /** Source code to display. */
191
+ /** Code to display. */
199
192
  code?: string;
200
- /** Programming language used for syntax highlighting. */
193
+ /** Language used for syntax highlighting. */
201
194
  language?: string;
202
195
  };
203
- /** Type name of the code block. */
196
+ /** Schema type name of the code block. */
204
197
  declare const codeTypeName = "handbook.code";
205
198
  /**
206
- * The intent a callout is drawn with, choosing its icon and tone.
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 set apart from the surrounding guide text.
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
- /** Visual style and intent of the callout. */
211
+ /** Kind of callout. */
219
212
  variant: SanityHandbookCalloutVariant;
220
- /** Portable Text content displayed inside the callout, which offers no inline objects. */
213
+ /** Portable Text inside the callout, without inline objects. */
221
214
  body: SanityKeyedArray<PortableTextTextBlock<PortableTextSpan>>;
222
215
  };
223
- /** Type name of the callout block. */
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, carrying no authored content of its own.
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
- /** Type name of the horizontal rule block. */
226
+ /** Schema type name of the horizontal rule block. */
234
227
  declare const horizontalRuleTypeName = "handbook.horizontalRule";
235
228
  /**
236
- * A web address applied to a run of guide text.
229
+ * A link on a run of guide text.
237
230
  *
238
231
  * @public
239
232
  */
@@ -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;IACR,WAAW;;YAIH;IACR,WAAW;;;;;;;;UASE;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;;UAQe;;EAEf;;EAEA;;EAEA,WAAW;;;;;;;UAQI;;EAEf,QAAQ;;EAER,WAAW;IAAgB,OAAO;;;;;;;;UAQnB;;EAEf;;EAEA;;EAEA,OAAO;;EAEP,SAAS;;EAET;;EAEA;;;;;;;;;;qBAWW,iCAAc,OAAA;;;;;;;;;;;wBCrFX,kBACd,kBAAkB,kBAClB;EAAW,aAAa;GACxB,gDAAkB;;;;;;;;;wBCVJ,oBAAoB;;;;;;KCExB,OAAO,QAAQ,WAAW,oBAAoB,2BAA2B,YAAY,IAAI,EAAE;;;;;KAM3F,iBAAiB,MAAM,eAAe;;;;;;KAOtC,sBAAsB,OAAO;EACvC,cAAc;;EAEd;;EAEA;;EAEA,SAAS,iBAAiB;;;cAIf;;;;;;UAOI;;EAEf;;EAEA,QAAQ,iBAAiB;;;;;;;KAQf,iBAAiB,OAAO;EAClC,cAAc;;EAEd,QAAQ,iBAAiB;;;cAId;;;;;;KAOD,sBAAsB,OAAO;EACvC,cAAc;;EAEd;IAAU;;;EAEV;;EAEA;;;cAIW;;;;;;KAOD,sBAAsB,OAAO;EACvC,cAAc;;EAEd;IAAU;;;EAEV;;;cAIW;;;;;;KAOD,qBAAqB,OAAO;EACtC,cAAc;;EAEd;;EAEA;;;cAIW;;;;;;KAOD;;;;;;KAOA,wBAAwB,OAAO;EACzC,cAAc;;EAEd,SAAS;;EAET,MAAM,iBAAiB,sBAAsB;;;cAIlC;;;;;;KAOD,+BAA+B,OAAO;EAChD,cAAc;;;cAIH;;;;;;KAOD,qBAAqB,OAAO;EACtC;;EAEA"}
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"}