@cloudcannon/configuration-types 0.0.53 → 0.0.54

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.
@@ -1,7 +1,5 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "title": "Inputs",
4
- "description": "Controls the behavior and appearance of your inputs in all data editing interfaces.",
5
3
  "$id": "https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-inputs.schema.json",
6
4
  "allOf": [
7
5
  {
@@ -9,25 +7,9 @@
9
7
  }
10
8
  ],
11
9
  "definitions": {
12
- "type._inputs": {
13
- "title": "Inputs",
14
- "description": "This key defines which inputs are available at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_inputs` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured the `date_created` key as a *Date and Time Input*, which will automatically populate when you create a file using this input. Editors cannot alter this input as the interface is disabled.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n comment: UTC +0 timezone\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n hidden: false\n disabled: true\n instance_value: NOW\n cascade: true\n options:\n timezone: Etc/UTC\n```\n\nIn this example, we have configured the `blog_tags` key as a *Multiselect Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n blog_tags:\n type: multiselect\n label: Blog type\n comment: Select a blog type\n context:\n open: false\n title: Help\n icon: help\n content: |\n Blog tags help our users filter articles by topic.\n options:\n values:\n - Opinion\n - Feature\n - Resource\n```",
15
- "type": "object",
16
- "propertyNames": {
17
- "type": "string"
18
- },
19
- "additionalProperties": {
20
- "$ref": "#/definitions/Input"
21
- },
22
- "documented": true,
23
- "markdownDescription": "This key defines which inputs are available at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_inputs` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured the `date_created` key as a *Date and Time Input*, which will automatically populate when you create a file using this input. Editors cannot alter this input as the interface is disabled.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n comment: UTC +0 timezone\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n hidden: false\n disabled: true\n instance_value: NOW\n cascade: true\n options:\n timezone: Etc/UTC\n```\n\nIn this example, we have configured the `blog_tags` key as a *Multiselect Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n blog_tags:\n type: multiselect\n label: Blog type\n comment: Select a blog type\n context:\n open: false\n title: Help\n icon: help\n content: |\n Blog tags help our users filter articles by topic.\n options:\n values:\n - Opinion\n - Feature\n - Resource\n```"
24
- },
25
10
  "Input": {
26
- "title": "Input",
27
11
  "anyOf": [
28
12
  {
29
- "title": "Known Input",
30
- "description": "This key defines an input configuration at a given level of the configuration cascade.\n\nThe value is an object that can contain `type`, `label`, `options`, `disabled`, `hidden`, and other input-specific properties. Each input configuration defines how team members interact with data in the *Data Editor*.\n\nFor more information, please read our documentation on [inputs](https://cloudcannon.com/documentation/articles/what-are-inputs/).\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n title:\n type: text\n label: Title\n```",
31
13
  "oneOf": [
32
14
  {
33
15
  "$ref": "#/definitions/TextInput"
@@ -87,6 +69,8 @@
87
69
  "$ref": "#/definitions/AutoInput"
88
70
  }
89
71
  ],
72
+ "title": "Known Input",
73
+ "description": "This key defines an input configuration at a given level of the configuration cascade.\n\nThe value is an object that can contain `type`, `label`, `options`, `disabled`, `hidden`, and other input-specific properties. Each input configuration defines how team members interact with data in the *Data Editor*.\n\nFor more information, please read our documentation on [inputs](https://cloudcannon.com/documentation/articles/what-are-inputs/).\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n title:\n type: text\n label: Title\n```",
90
74
  "documented": true,
91
75
  "markdownDescription": "This key defines an input configuration at a given level of the configuration cascade.\n\nThe value is an object that can contain `type`, `label`, `options`, `disabled`, `hidden`, and other input-specific properties. Each input configuration defines how team members interact with data in the *Data Editor*.\n\nFor more information, please read our documentation on [inputs](https://cloudcannon.com/documentation/articles/what-are-inputs/).\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n title:\n type: text\n label: Title\n```"
92
76
  },
@@ -94,13 +78,12 @@
94
78
  "$ref": "#/definitions/UnknownInput"
95
79
  }
96
80
  ],
81
+ "title": "Input",
97
82
  "documented": true,
98
83
  "description": "This key defines an input configuration at a given level of the configuration cascade.\n\nThe value is an object that can contain `type`, `label`, `options`, `disabled`, `hidden`, and other input-specific properties. Each input configuration defines how team members interact with data in the *Data Editor*.\n\nFor more information, please read our documentation on [inputs](https://cloudcannon.com/documentation/articles/what-are-inputs/).\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n title:\n type: text\n label: Title\n```",
99
84
  "markdownDescription": "This key defines an input configuration at a given level of the configuration cascade.\n\nThe value is an object that can contain `type`, `label`, `options`, `disabled`, `hidden`, and other input-specific properties. Each input configuration defines how team members interact with data in the *Data Editor*.\n\nFor more information, please read our documentation on [inputs](https://cloudcannon.com/documentation/articles/what-are-inputs/).\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n title:\n type: text\n label: Title\n```"
100
85
  },
101
86
  "TextInput": {
102
- "title": "Text Input",
103
- "description": "This key defines a simple editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input*.\n\n```yaml\n_inputs:\n title:\n type: text\n label: Blog Title\n```",
104
87
  "type": "object",
105
88
  "properties": {
106
89
  "comment": {
@@ -145,8 +128,6 @@
145
128
  "$ref": "#/definitions/type._inputs.*.cascade"
146
129
  },
147
130
  "type": {
148
- "title": "Type",
149
- "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* type.\n\n```yaml\n_inputs:\n title:\n type: text\n```",
150
131
  "type": "string",
151
132
  "enum": [
152
133
  "text",
@@ -158,11 +139,12 @@
158
139
  "github",
159
140
  "instagram"
160
141
  ],
142
+ "title": "Type",
143
+ "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* type.\n\n```yaml\n_inputs:\n title:\n type: text\n```",
161
144
  "documented": true,
162
145
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* type.\n\n```yaml\n_inputs:\n title:\n type: text\n```"
163
146
  },
164
147
  "options": {
165
- "description": "This key defines options that are specific to Text Inputs.\n\n## Examples\n\nIn this example, we have configured *Text Input* options including comment and icon.\n\n```yaml\n_inputs:\n title:\n type: text\n options:\n comment: Enter a title\n icon: title\n```",
166
148
  "type": "object",
167
149
  "properties": {
168
150
  "max_length": {
@@ -270,6 +252,7 @@
270
252
  }
271
253
  },
272
254
  "additionalProperties": false,
255
+ "description": "This key defines options that are specific to Text Inputs.\n\n## Examples\n\nIn this example, we have configured *Text Input* options including comment and icon.\n\n```yaml\n_inputs:\n title:\n type: text\n options:\n comment: Enter a title\n icon: title\n```",
273
256
  "documented": true,
274
257
  "title": "options",
275
258
  "markdownDescription": "This key defines options that are specific to Text Inputs.\n\n## Examples\n\nIn this example, we have configured *Text Input* options including comment and icon.\n\n```yaml\n_inputs:\n title:\n type: text\n options:\n comment: Enter a title\n icon: title\n```"
@@ -279,6 +262,8 @@
279
262
  "type"
280
263
  ],
281
264
  "additionalProperties": false,
265
+ "title": "Text Input",
266
+ "description": "This key defines a simple editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input*.\n\n```yaml\n_inputs:\n title:\n type: text\n label: Blog Title\n```",
282
267
  "documented": true,
283
268
  "markdownDescription": "This key defines a simple editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input*.\n\n```yaml\n_inputs:\n title:\n type: text\n label: Blog Title\n```"
284
269
  },
@@ -290,7 +275,6 @@
290
275
  "markdownDescription": "This key defines the subtitle text above an Input.\n\nCloudCannon supports a limited selection of Markdown formatting for the value of this key: links, bold, italic, subscript, superscript, and inline\ncode.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add helpful guidance for our `page_description` Input.\n\n```yaml\n_inputs:\n page_description:\n type: text\n label: Page Description\n comment: Enter a brief description of this page for search engines\n```"
291
276
  },
292
277
  "type._inputs.*.context": {
293
- "description": "This key defines a context box for extra information about an Input.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add a context box to our `date_created` Input to explain its purpose.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n instance_value: NOW\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n```",
294
278
  "type": "object",
295
279
  "properties": {
296
280
  "content": {
@@ -328,13 +312,12 @@
328
312
  }
329
313
  },
330
314
  "additionalProperties": false,
315
+ "description": "This key defines a context box for extra information about an Input.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add a context box to our `date_created` Input to explain its purpose.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n instance_value: NOW\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n```",
331
316
  "documented": true,
332
317
  "title": "context",
333
318
  "markdownDescription": "This key defines a context box for extra information about an Input.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add a context box to our `date_created` Input to explain its purpose.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n instance_value: NOW\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n```"
334
319
  },
335
320
  "icon": {
336
- "title": "Icon",
337
- "description": "Material Symbol icon names available in CloudCannon for UI elements and content previews.",
338
321
  "type": "string",
339
322
  "enum": [
340
323
  "123",
@@ -3922,17 +3905,17 @@
3922
3905
  "zoom_out",
3923
3906
  "zoom_out_map"
3924
3907
  ],
3908
+ "title": "Icon",
3909
+ "description": "Material Symbol icon names available in CloudCannon for UI elements and content previews.",
3925
3910
  "documented": false,
3926
3911
  "markdownDescription": "Material Symbol icon names available in CloudCannon for UI elements and content previews."
3927
3912
  },
3928
3913
  "type.documentation": {
3929
- "title": "Documentation",
3930
- "description": "This key defines the documentation link at the top of a *Collection browser*.\n\nCollection documentation is useful for assisting your team members.\n\n## Examples\n\nIn this example, the documentation link for the `data` Collection goes to [CloudCannon Documentation](https://cloudcannon.com/documentation/).\n\n```yaml\ncollections_config:\n data:\n documentation:\n url: https://cloudcannon.com/documentation/\n text: CloudCannon Documentation\n icon: star\n```",
3931
3914
  "type": "object",
3932
3915
  "properties": {
3933
3916
  "url": {
3934
- "description": "This key defines the URL for the documentation link at the top of a *Collection browser*.\n\nYou must define this key for the\n`documentation` object to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have configured the `blog` Collection documentation link to go to `example.com`.\n\n```yaml\ncollections_config:\n blog:\n documentation:\n url: https://example.com\n```",
3935
3917
  "type": "string",
3918
+ "description": "This key defines the URL for the documentation link at the top of a *Collection browser*.\n\nYou must define this key for the\n`documentation` object to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have configured the `blog` Collection documentation link to go to `example.com`.\n\n```yaml\ncollections_config:\n blog:\n documentation:\n url: https://example.com\n```",
3936
3919
  "documented": true,
3937
3920
  "title": "url",
3938
3921
  "markdownDescription": "This key defines the URL for the documentation link at the top of a *Collection browser*.\n\nYou must define this key for the\n`documentation` object to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have configured the `blog` Collection documentation link to go to `example.com`.\n\n```yaml\ncollections_config:\n blog:\n documentation:\n url: https://example.com\n```"
@@ -3961,6 +3944,8 @@
3961
3944
  "url"
3962
3945
  ],
3963
3946
  "additionalProperties": false,
3947
+ "title": "Documentation",
3948
+ "description": "This key defines the documentation link at the top of a *Collection browser*.\n\nCollection documentation is useful for assisting your team members.\n\n## Examples\n\nIn this example, the documentation link for the `data` Collection goes to [CloudCannon Documentation](https://cloudcannon.com/documentation/).\n\n```yaml\ncollections_config:\n data:\n documentation:\n url: https://cloudcannon.com/documentation/\n text: CloudCannon Documentation\n icon: star\n```",
3964
3949
  "documented": true,
3965
3950
  "markdownDescription": "This key defines the documentation link at the top of a *Collection browser*.\n\nCollection documentation is useful for assisting your team members.\n\n## Examples\n\nIn this example, the documentation link for the `data` Collection goes to [CloudCannon Documentation](https://cloudcannon.com/documentation/).\n\n```yaml\ncollections_config:\n data:\n documentation:\n url: https://cloudcannon.com/documentation/\n text: CloudCannon Documentation\n icon: star\n```"
3966
3951
  },
@@ -3976,15 +3961,15 @@
3976
3961
  "default": false,
3977
3962
  "anyOf": [
3978
3963
  {
3979
- "title": "Boolean Hidden",
3980
3964
  "type": "boolean",
3965
+ "title": "Boolean Hidden",
3981
3966
  "documented": true,
3982
3967
  "description": "This key represents a boolean value for the `hidden` key that toggles whether CloudCannon hides an input from view.\n\nWhen set to `true`, CloudCannon hides the input from the *Data Editor* and the sidebar of the *Visual Editor* or *Content Editor*. The input still exists in the file and can be edited in the *Source Editor*.\n\nWhen set to `false`, CloudCannon displays the input normally.\n\nBy default, this key follows the input naming convention where key names beginning with an underscore are hidden (`true`). Otherwise, this key defaults to `false` (i.e., the input is visible).\n\n## Examples\n\nIn this example, we have configured an input to be hidden using a boolean value, making it only editable in the *Source Editor*.\n\n```yaml\n_inputs:\n internal_id:\n type: text\n label: Internal ID\n hidden: true\n```",
3983
3968
  "markdownDescription": "This key represents a boolean value for the `hidden` key that toggles whether CloudCannon hides an input from view.\n\nWhen set to `true`, CloudCannon hides the input from the *Data Editor* and the sidebar of the *Visual Editor* or *Content Editor*. The input still exists in the file and can be edited in the *Source Editor*.\n\nWhen set to `false`, CloudCannon displays the input normally.\n\nBy default, this key follows the input naming convention where key names beginning with an underscore are hidden (`true`). Otherwise, this key defaults to `false` (i.e., the input is visible).\n\n## Examples\n\nIn this example, we have configured an input to be hidden using a boolean value, making it only editable in the *Source Editor*.\n\n```yaml\n_inputs:\n internal_id:\n type: text\n label: Internal ID\n hidden: true\n```"
3984
3969
  },
3985
3970
  {
3986
- "title": "Query String Hidden",
3987
3971
  "type": "string",
3972
+ "title": "Query String Hidden",
3988
3973
  "documented": true,
3989
3974
  "description": "This key represents a query string value for the `hidden` key that conditionally hides an input based on another input's value.\n\nThe value is a string that references a sibling input key name. CloudCannon evaluates the referenced input's value to determine whether to hide this input.\n\nWhen the referenced input is truthy, CloudCannon hides this input. You can reverse this behavior by prefixing the string with `!`.\n\nFor reverse values in YAML files, the string should be wrapped in single or double quotation marks.\n\n## Examples\n\nIn this example, we have configured an input to be hidden when the `published` input is truthy.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n draft_notes:\n type: textarea\n label: Draft notes\n hidden: published\n```\n\nIn this example, we have configured an input to be hidden when the `published` input is falsy using the `!` prefix.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n publish_date:\n type: datetime\n label: Publish date\n hidden: '!published'\n```",
3990
3975
  "markdownDescription": "This key represents a query string value for the `hidden` key that conditionally hides an input based on another input's value.\n\nThe value is a string that references a sibling input key name. CloudCannon evaluates the referenced input's value to determine whether to hide this input.\n\nWhen the referenced input is truthy, CloudCannon hides this input. You can reverse this behavior by prefixing the string with `!`.\n\nFor reverse values in YAML files, the string should be wrapped in single or double quotation marks.\n\n## Examples\n\nIn this example, we have configured an input to be hidden when the `published` input is truthy.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n draft_notes:\n type: textarea\n label: Draft notes\n hidden: published\n```\n\nIn this example, we have configured an input to be hidden when the `published` input is falsy using the `!` prefix.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n publish_date:\n type: datetime\n label: Publish date\n hidden: '!published'\n```"
@@ -3999,15 +3984,15 @@
3999
3984
  "default": false,
4000
3985
  "anyOf": [
4001
3986
  {
4002
- "title": "Boolean",
4003
3987
  "type": "boolean",
3988
+ "title": "Boolean",
4004
3989
  "documented": true,
4005
3990
  "description": "This key represents a boolean value for the `disabled` key that toggles whether CloudCannon prevents editing of an input value.\n\nWhen set to `true`, CloudCannon prevents team members from editing the input value in the *Data Editor* or the sidebar of the *Visual Editor* or *Content Editor*. The input value is still displayed but cannot be modified outside of the *Source Editor*.\n\nWhen set to `false`, team members can edit the input value normally.\n\nBy default, this key is `false` (i.e., team members can edit input values).\n\n## Examples\n\nIn this example, we have configured a datetime input to be disabled using a boolean value, preventing editors from modifying the automatically generated date.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n disabled: true\n instance_value: NOW\n```",
4006
3991
  "markdownDescription": "This key represents a boolean value for the `disabled` key that toggles whether CloudCannon prevents editing of an input value.\n\nWhen set to `true`, CloudCannon prevents team members from editing the input value in the *Data Editor* or the sidebar of the *Visual Editor* or *Content Editor*. The input value is still displayed but cannot be modified outside of the *Source Editor*.\n\nWhen set to `false`, team members can edit the input value normally.\n\nBy default, this key is `false` (i.e., team members can edit input values).\n\n## Examples\n\nIn this example, we have configured a datetime input to be disabled using a boolean value, preventing editors from modifying the automatically generated date.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n disabled: true\n instance_value: NOW\n```"
4007
3992
  },
4008
3993
  {
4009
- "title": "Query String",
4010
3994
  "type": "string",
3995
+ "title": "Query String",
4011
3996
  "documented": true,
4012
3997
  "description": "This key represents a query string value for the `disabled` key that conditionally prevents editing of an input value based on another input's value.\n\nThe value is a string that references a sibling input key name. CloudCannon evaluates the referenced input's value to determine whether to disable this input.\n\nWhen the referenced input is truthy, CloudCannon disables this input. You can reverse this behavior by prefixing the string with `!`.\n\nFor reverse values in YAML files, the string should be wrapped in single or double quotation marks.\n\n## Examples\n\nIn this example, we have configured an input to be disabled when the `published` input is truthy.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n edit_date:\n type: datetime\n label: Last edited\n disabled: published\n```\n\nIn this example, we have configured an input to be disabled when the `published` input is falsy using the `!` prefix.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n draft_notes:\n type: textarea\n label: Draft notes\n disabled: '!published'\n```",
4013
3998
  "markdownDescription": "This key represents a query string value for the `disabled` key that conditionally prevents editing of an input value based on another input's value.\n\nThe value is a string that references a sibling input key name. CloudCannon evaluates the referenced input's value to determine whether to disable this input.\n\nWhen the referenced input is truthy, CloudCannon disables this input. You can reverse this behavior by prefixing the string with `!`.\n\nFor reverse values in YAML files, the string should be wrapped in single or double quotation marks.\n\n## Examples\n\nIn this example, we have configured an input to be disabled when the `published` input is truthy.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n edit_date:\n type: datetime\n label: Last edited\n disabled: published\n```\n\nIn this example, we have configured an input to be disabled when the `published` input is falsy using the `!` prefix.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n draft_notes:\n type: textarea\n label: Draft notes\n disabled: '!published'\n```"
@@ -4223,8 +4208,8 @@
4223
4208
  "markdownDescription": "This key defines a custom error message that explains why a value has failed the validation criteria from `options.required`.\n\nThis key requires you to define `options.required`.\n\nThis key has no default.\n\nThis key is available for Array, Code, Color, Date and Time, File, Number, Object, Select and Multiselect, Text, Rich Text, and URL Inputs.\n\n## Examples\n\nIn this example, we prompt our team to use enter an Input value using a required message.\n\n```yaml\n_inputs:\n author:\n type: text\n comment: Enter the name of the author for this blog post.\n options:\n required: true\n required_message: You are not allowed to leave this blank.\n```"
4224
4209
  },
4225
4210
  "type._inputs.*.options.empty_type(text)": {
4226
- "description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.",
4227
4211
  "default": "null",
4212
+ "description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.",
4228
4213
  "type": "string",
4229
4214
  "enum": [
4230
4215
  "null",
@@ -4250,17 +4235,16 @@
4250
4235
  "title": "icon_color(previewentries)"
4251
4236
  },
4252
4237
  "type.preview-entry.(array)": {
4253
- "title": "Array Preview Entry",
4254
4238
  "type": "array",
4255
4239
  "items": {
4256
4240
  "$ref": "#/definitions/type.preview-entry"
4257
4241
  },
4242
+ "title": "Array Preview Entry",
4258
4243
  "documented": true,
4259
4244
  "description": "This key represents an array of preview entries for displaying data on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an array of preview entry objects, strings, or `false` values. Each preview entry object can contain a `key`, `template`, or `text` property. When multiple entries are provided, CloudCannon will use them in order as fallback options.\n\n## Examples\n\nIn this example, we have configured an array of preview entries with an array of values to provide fallback options. CloudCannon will use the value of `title` first, then the `{name}` template, and finally fall back to the static text value.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n - template: '{name}'\n - text: 'Untitled'\n```",
4260
4245
  "markdownDescription": "This key represents an array of preview entries for displaying data on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an array of preview entry objects, strings, or `false` values. Each preview entry object can contain a `key`, `template`, or `text` property. When multiple entries are provided, CloudCannon will use them in order as fallback options.\n\n## Examples\n\nIn this example, we have configured an array of preview entries with an array of values to provide fallback options. CloudCannon will use the value of `title` first, then the `{name}` template, and finally fall back to the static text value.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n - template: '{name}'\n - text: 'Untitled'\n```"
4261
4246
  },
4262
4247
  "type.preview-entry": {
4263
- "title": "Preview Entry",
4264
4248
  "anyOf": [
4265
4249
  {
4266
4250
  "$ref": "#/definitions/type.preview-entry.(key)"
@@ -4278,17 +4262,17 @@
4278
4262
  "$ref": "#/definitions/type.preview-entry.(false)"
4279
4263
  }
4280
4264
  ],
4265
+ "title": "Preview Entry",
4281
4266
  "documented": true,
4282
4267
  "description": "This key defines a preview entry configuration for displaying data on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value can be an object with a `key`, `template`, or `text` property, a raw text string, `false`, or an array of these values. When multiple entries are provided, CloudCannon will use them in order as fallback options. Preview entries are used to configure how data is displayed in card previews.\n\n## Examples\n\nIn this example, we have configured a preview entry with an array of values to provide fallback options. CloudCannon will use the value of `title` first, then the `{name}` template, and finally fall back to the static text value.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n - template: '{name}'\n - text: 'Untitled'\n```\n\nIn this example, we have configured a preview entry to display the `title` key.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```",
4283
4268
  "markdownDescription": "This key defines a preview entry configuration for displaying data on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value can be an object with a `key`, `template`, or `text` property, a raw text string, `false`, or an array of these values. When multiple entries are provided, CloudCannon will use them in order as fallback options. Preview entries are used to configure how data is displayed in card previews.\n\n## Examples\n\nIn this example, we have configured a preview entry with an array of values to provide fallback options. CloudCannon will use the value of `title` first, then the `{name}` template, and finally fall back to the static text value.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n - template: '{name}'\n - text: 'Untitled'\n```\n\nIn this example, we have configured a preview entry to display the `title` key.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```"
4284
4269
  },
4285
4270
  "type.preview-entry.(key)": {
4286
- "title": "Key Preview Entry",
4287
4271
  "type": "object",
4288
4272
  "properties": {
4289
4273
  "key": {
4290
- "title": "Key Value",
4291
4274
  "type": "string",
4275
+ "title": "Key Value",
4292
4276
  "documented": true,
4293
4277
  "description": "This key defines the data key name to display in a key preview entry.\n\nThe value is a string that specifies the name of a data key whose value will be displayed on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the key value to display the `title` field.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```",
4294
4278
  "markdownDescription": "This key defines the data key name to display in a key preview entry.\n\nThe value is a string that specifies the name of a data key whose value will be displayed on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the key value to display the `title` field.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```"
@@ -4298,17 +4282,17 @@
4298
4282
  "key"
4299
4283
  ],
4300
4284
  "additionalProperties": false,
4285
+ "title": "Key Preview Entry",
4301
4286
  "documented": true,
4302
4287
  "description": "This key represents a key preview entry type for displaying data from a specific key on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `key` property with a string value. This displays the value of the specified data key in card previews.\n\n## Examples\n\nIn this example, we have configured a key preview entry to display the `title` key.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```",
4303
4288
  "markdownDescription": "This key represents a key preview entry type for displaying data from a specific key on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `key` property with a string value. This displays the value of the specified data key in card previews.\n\n## Examples\n\nIn this example, we have configured a key preview entry to display the `title` key.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```"
4304
4289
  },
4305
4290
  "type.preview-entry.(template)": {
4306
- "title": "Template Preview Entry",
4307
4291
  "type": "object",
4308
4292
  "properties": {
4309
4293
  "template": {
4310
- "title": "Template Value",
4311
4294
  "type": "string",
4295
+ "title": "Template Value",
4312
4296
  "documented": true,
4313
4297
  "description": "This key defines the template string to use in a template preview entry.\n\nThe value is a string that specifies a template with placeholders (e.g., `{name}`, `{date}`) that will be replaced with data values when displayed on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the template value to display author and date.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - template: '{author} - {date}'\n```",
4314
4298
  "markdownDescription": "This key defines the template string to use in a template preview entry.\n\nThe value is a string that specifies a template with placeholders (e.g., `{name}`, `{date}`) that will be replaced with data values when displayed on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the template value to display author and date.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - template: '{author} - {date}'\n```"
@@ -4318,17 +4302,17 @@
4318
4302
  "template"
4319
4303
  ],
4320
4304
  "additionalProperties": false,
4305
+ "title": "Template Preview Entry",
4321
4306
  "documented": true,
4322
4307
  "description": "This key represents a template preview entry type for displaying formatted text using a template on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `template` property with a string value. This displays formatted text using template syntax (e.g., `{name}`) in card previews.\n\n## Examples\n\nIn this example, we have configured a template preview entry to display formatted text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - template: '{author} - {date}'\n```",
4323
4308
  "markdownDescription": "This key represents a template preview entry type for displaying formatted text using a template on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `template` property with a string value. This displays formatted text using template syntax (e.g., `{name}`) in card previews.\n\n## Examples\n\nIn this example, we have configured a template preview entry to display formatted text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - template: '{author} - {date}'\n```"
4324
4309
  },
4325
4310
  "type.preview-entry.(text)": {
4326
- "title": "Text Preview Entry",
4327
4311
  "type": "object",
4328
4312
  "properties": {
4329
4313
  "text": {
4330
- "title": "Text Value",
4331
4314
  "type": "string",
4315
+ "title": "Text Value",
4332
4316
  "documented": true,
4333
4317
  "description": "This key defines the static text string to display in a text preview entry.\n\nThe value is a string that specifies static text to display on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the text value to display a static fallback message.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - text: 'Untitled'\n```",
4334
4318
  "markdownDescription": "This key defines the static text string to display in a text preview entry.\n\nThe value is a string that specifies static text to display on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the text value to display a static fallback message.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - text: 'Untitled'\n```"
@@ -4338,28 +4322,27 @@
4338
4322
  "text"
4339
4323
  ],
4340
4324
  "additionalProperties": false,
4325
+ "title": "Text Preview Entry",
4341
4326
  "documented": true,
4342
4327
  "description": "This key represents a text preview entry type for displaying static text on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `text` property with a string value. This displays static text in card previews.\n\n## Examples\n\nIn this example, we have configured a text preview entry to display static text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - text: 'Untitled'\n```",
4343
4328
  "markdownDescription": "This key represents a text preview entry type for displaying static text on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `text` property with a string value. This displays static text in card previews.\n\n## Examples\n\nIn this example, we have configured a text preview entry to display static text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - text: 'Untitled'\n```"
4344
4329
  },
4345
4330
  "type.preview-entry.(raw-text)": {
4346
- "title": "Raw Text Preview Entry",
4347
4331
  "type": "string",
4332
+ "title": "Raw Text Preview Entry",
4348
4333
  "documented": true,
4349
4334
  "description": "This key represents a raw text preview entry type for displaying static text on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is a string that specifies static text to display in card previews. This is equivalent to using `{ text: \"...\" }` but in a simpler format.\n\n## Examples\n\nIn this example, we have configured a raw text preview entry to display static text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text: 'Untitled'\n```",
4350
4335
  "markdownDescription": "This key represents a raw text preview entry type for displaying static text on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is a string that specifies static text to display in card previews. This is equivalent to using `{ text: \"...\" }` but in a simpler format.\n\n## Examples\n\nIn this example, we have configured a raw text preview entry to display static text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text: 'Untitled'\n```"
4351
4336
  },
4352
4337
  "type.preview-entry.(false)": {
4353
- "title": "False Preview Entry",
4354
4338
  "type": "boolean",
4355
4339
  "const": false,
4340
+ "title": "False Preview Entry",
4356
4341
  "documented": true,
4357
4342
  "description": "This key represents a preview entry that disables the preview display for a specific field on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value must be `false`. Setting a preview entry to `false` will hide that preview element.\n\n## Examples\n\nIn this example, we have configured the preview text to be disabled.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text: false\n```",
4358
4343
  "markdownDescription": "This key represents a preview entry that disables the preview display for a specific field on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value must be `false`. Setting a preview entry to `false` will hide that preview element.\n\n## Examples\n\nIn this example, we have configured the preview text to be disabled.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text: false\n```"
4359
4344
  },
4360
4345
  "TextareaInput": {
4361
- "title": "Textarea Input",
4362
- "description": "This key defines an editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input*.\n\n```yaml\n_inputs:\n description:\n type: textarea\n label: Description\n```",
4363
4346
  "type": "object",
4364
4347
  "properties": {
4365
4348
  "comment": {
@@ -4404,15 +4387,14 @@
4404
4387
  "$ref": "#/definitions/type._inputs.*.cascade"
4405
4388
  },
4406
4389
  "type": {
4407
- "title": "Type",
4408
- "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input* type.\n\n```yaml\n_inputs:\n description:\n type: textarea\n```",
4409
4390
  "type": "string",
4410
4391
  "const": "textarea",
4392
+ "title": "Type",
4393
+ "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input* type.\n\n```yaml\n_inputs:\n description:\n type: textarea\n```",
4411
4394
  "documented": true,
4412
4395
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input* type.\n\n```yaml\n_inputs:\n description:\n type: textarea\n```"
4413
4396
  },
4414
4397
  "options": {
4415
- "description": "This key defines options that are specific to Textarea Inputs.\n\n## Examples\n\nIn this example, we have configured *Textarea Input* options including comment and character count.\n\n```yaml\n_inputs:\n description:\n type: textarea\n options:\n comment: Enter a description\n show_count: true\n```",
4416
4398
  "type": "object",
4417
4399
  "properties": {
4418
4400
  "max_length": {
@@ -4495,6 +4477,7 @@
4495
4477
  }
4496
4478
  },
4497
4479
  "additionalProperties": false,
4480
+ "description": "This key defines options that are specific to Textarea Inputs.\n\n## Examples\n\nIn this example, we have configured *Textarea Input* options including comment and character count.\n\n```yaml\n_inputs:\n description:\n type: textarea\n options:\n comment: Enter a description\n show_count: true\n```",
4498
4481
  "documented": true,
4499
4482
  "title": "options",
4500
4483
  "markdownDescription": "This key defines options that are specific to Textarea Inputs.\n\n## Examples\n\nIn this example, we have configured *Textarea Input* options including comment and character count.\n\n```yaml\n_inputs:\n description:\n type: textarea\n options:\n comment: Enter a description\n show_count: true\n```"
@@ -4504,12 +4487,12 @@
4504
4487
  "type"
4505
4488
  ],
4506
4489
  "additionalProperties": false,
4490
+ "title": "Textarea Input",
4491
+ "description": "This key defines an editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input*.\n\n```yaml\n_inputs:\n description:\n type: textarea\n label: Description\n```",
4507
4492
  "documented": true,
4508
4493
  "markdownDescription": "This key defines an editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input*.\n\n```yaml\n_inputs:\n description:\n type: textarea\n label: Description\n```"
4509
4494
  },
4510
4495
  "CodeInput": {
4511
- "title": "Code Input",
4512
- "description": "This key defines an editing interface for code or mono-spaced plain text content.",
4513
4496
  "type": "object",
4514
4497
  "properties": {
4515
4498
  "comment": {
@@ -4554,15 +4537,14 @@
4554
4537
  "$ref": "#/definitions/type._inputs.*.cascade"
4555
4538
  },
4556
4539
  "type": {
4557
- "title": "Type",
4558
- "description": "This key defines the input type, which controls how this input appears and behaves.",
4559
4540
  "type": "string",
4560
4541
  "const": "code",
4542
+ "title": "Type",
4543
+ "description": "This key defines the input type, which controls how this input appears and behaves.",
4561
4544
  "documented": true,
4562
4545
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
4563
4546
  },
4564
4547
  "options": {
4565
- "description": "This key defines options that are specific to Code Inputs.",
4566
4548
  "type": "object",
4567
4549
  "properties": {
4568
4550
  "tab_size": {
@@ -4691,6 +4673,7 @@
4691
4673
  }
4692
4674
  },
4693
4675
  "additionalProperties": false,
4676
+ "description": "This key defines options that are specific to Code Inputs.",
4694
4677
  "documented": true,
4695
4678
  "title": "options",
4696
4679
  "markdownDescription": "This key defines options that are specific to Code Inputs."
@@ -4700,6 +4683,8 @@
4700
4683
  "type"
4701
4684
  ],
4702
4685
  "additionalProperties": false,
4686
+ "title": "Code Input",
4687
+ "description": "This key defines an editing interface for code or mono-spaced plain text content.",
4703
4688
  "documented": true,
4704
4689
  "markdownDescription": "This key defines an editing interface for code or mono-spaced plain text content."
4705
4690
  },
@@ -4736,8 +4721,6 @@
4736
4721
  "title": "theme(theme)"
4737
4722
  },
4738
4723
  "Syntax": {
4739
- "title": "Syntax",
4740
- "description": "Available syntax highlighting languages for code editors in CloudCannon.",
4741
4724
  "type": "string",
4742
4725
  "enum": [
4743
4726
  "c_cpp",
@@ -4809,12 +4792,12 @@
4809
4792
  "xquery",
4810
4793
  "yaml"
4811
4794
  ],
4795
+ "title": "Syntax",
4796
+ "description": "Available syntax highlighting languages for code editors in CloudCannon.",
4812
4797
  "documented": false,
4813
4798
  "markdownDescription": "Available syntax highlighting languages for code editors in CloudCannon."
4814
4799
  },
4815
4800
  "ColorInput": {
4816
- "title": "Color Input",
4817
- "description": "This key defines an editing interface for color values.",
4818
4801
  "type": "object",
4819
4802
  "properties": {
4820
4803
  "comment": {
@@ -4859,15 +4842,14 @@
4859
4842
  "$ref": "#/definitions/type._inputs.*.cascade"
4860
4843
  },
4861
4844
  "type": {
4862
- "title": "Type",
4863
- "description": "This key defines the input type, which controls how this input appears and behaves.",
4864
4845
  "type": "string",
4865
4846
  "const": "color",
4847
+ "title": "Type",
4848
+ "description": "This key defines the input type, which controls how this input appears and behaves.",
4866
4849
  "documented": true,
4867
4850
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
4868
4851
  },
4869
4852
  "options": {
4870
- "description": "This key defines options that are specific to Color Inputs.",
4871
4853
  "type": "object",
4872
4854
  "properties": {
4873
4855
  "max_length": {
@@ -4977,6 +4959,7 @@
4977
4959
  }
4978
4960
  },
4979
4961
  "additionalProperties": false,
4962
+ "description": "This key defines options that are specific to Color Inputs.",
4980
4963
  "documented": true,
4981
4964
  "title": "options",
4982
4965
  "markdownDescription": "This key defines options that are specific to Color Inputs."
@@ -4986,12 +4969,12 @@
4986
4969
  "type"
4987
4970
  ],
4988
4971
  "additionalProperties": false,
4972
+ "title": "Color Input",
4973
+ "description": "This key defines an editing interface for color values.",
4989
4974
  "documented": true,
4990
4975
  "markdownDescription": "This key defines an editing interface for color values."
4991
4976
  },
4992
4977
  "BooleanInput": {
4993
- "title": "Boolean Input",
4994
- "description": "This key defines an editing interface for true or false values.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input*.\n\n```yaml\n_inputs:\n featured:\n type: switch\n label: Featured\n```",
4995
4978
  "type": "object",
4996
4979
  "properties": {
4997
4980
  "comment": {
@@ -5036,13 +5019,13 @@
5036
5019
  "$ref": "#/definitions/type._inputs.*.cascade"
5037
5020
  },
5038
5021
  "type": {
5039
- "title": "Type",
5040
- "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input* type.\n\n```yaml\n_inputs:\n featured:\n type: switch\n```",
5041
5022
  "type": "string",
5042
5023
  "enum": [
5043
5024
  "checkbox",
5044
5025
  "switch"
5045
5026
  ],
5027
+ "title": "Type",
5028
+ "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input* type.\n\n```yaml\n_inputs:\n featured:\n type: switch\n```",
5046
5029
  "documented": true,
5047
5030
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input* type.\n\n```yaml\n_inputs:\n featured:\n type: switch\n```"
5048
5031
  }
@@ -5051,12 +5034,12 @@
5051
5034
  "type"
5052
5035
  ],
5053
5036
  "additionalProperties": false,
5037
+ "title": "Boolean Input",
5038
+ "description": "This key defines an editing interface for true or false values.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input*.\n\n```yaml\n_inputs:\n featured:\n type: switch\n label: Featured\n```",
5054
5039
  "documented": true,
5055
5040
  "markdownDescription": "This key defines an editing interface for true or false values.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input*.\n\n```yaml\n_inputs:\n featured:\n type: switch\n label: Featured\n```"
5056
5041
  },
5057
5042
  "NumberInput": {
5058
- "title": "Number Input",
5059
- "description": "This key defines an editing interface for numeric values.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input*.\n\n```yaml\n_inputs:\n quantity:\n type: number\n label: Quantity\n```",
5060
5043
  "type": "object",
5061
5044
  "properties": {
5062
5045
  "comment": {
@@ -5101,15 +5084,14 @@
5101
5084
  "$ref": "#/definitions/type._inputs.*.cascade"
5102
5085
  },
5103
5086
  "type": {
5104
- "title": "Type",
5105
- "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input* type.\n\n```yaml\n_inputs:\n quantity:\n type: number\n```",
5106
5087
  "type": "string",
5107
5088
  "const": "number",
5089
+ "title": "Type",
5090
+ "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input* type.\n\n```yaml\n_inputs:\n quantity:\n type: number\n```",
5108
5091
  "documented": true,
5109
5092
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input* type.\n\n```yaml\n_inputs:\n quantity:\n type: number\n```"
5110
5093
  },
5111
5094
  "options": {
5112
- "description": "This key defines options that are specific to Number Inputs.\n\n## Examples\n\nIn this example, we have configured *Number Input* options including min and max values.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n min: 1\n max: 100\n```",
5113
5095
  "type": "object",
5114
5096
  "properties": {
5115
5097
  "required": {
@@ -5156,6 +5138,7 @@
5156
5138
  }
5157
5139
  },
5158
5140
  "additionalProperties": false,
5141
+ "description": "This key defines options that are specific to Number Inputs.\n\n## Examples\n\nIn this example, we have configured *Number Input* options including min and max values.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n min: 1\n max: 100\n```",
5159
5142
  "documented": true,
5160
5143
  "title": "options",
5161
5144
  "markdownDescription": "This key defines options that are specific to Number Inputs.\n\n## Examples\n\nIn this example, we have configured *Number Input* options including min and max values.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n min: 1\n max: 100\n```"
@@ -5165,12 +5148,14 @@
5165
5148
  "type"
5166
5149
  ],
5167
5150
  "additionalProperties": false,
5151
+ "title": "Number Input",
5152
+ "description": "This key defines an editing interface for numeric values.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input*.\n\n```yaml\n_inputs:\n quantity:\n type: number\n label: Quantity\n```",
5168
5153
  "documented": true,
5169
5154
  "markdownDescription": "This key defines an editing interface for numeric values.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input*.\n\n```yaml\n_inputs:\n quantity:\n type: number\n label: Quantity\n```"
5170
5155
  },
5171
5156
  "type._inputs.*.options.empty_type(number)": {
5172
- "description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty number values will be saved.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n empty_type: number\n```",
5173
5157
  "default": "null",
5158
+ "description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty number values will be saved.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n empty_type: number\n```",
5174
5159
  "type": "string",
5175
5160
  "enum": [
5176
5161
  "null",
@@ -5181,15 +5166,15 @@
5181
5166
  "markdownDescription": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty number values will be saved.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n empty_type: number\n```"
5182
5167
  },
5183
5168
  "type._inputs.*.options.min": {
5184
- "description": "This key defines the minimum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a lesser numerical value.\n\nIf the Input already contains a lesser numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any number.\n\nIf `options.max` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a minimum rating of one.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```",
5185
5169
  "type": "number",
5170
+ "description": "This key defines the minimum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a lesser numerical value.\n\nIf the Input already contains a lesser numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any number.\n\nIf `options.max` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a minimum rating of one.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```",
5186
5171
  "documented": true,
5187
5172
  "title": "min",
5188
5173
  "markdownDescription": "This key defines the minimum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a lesser numerical value.\n\nIf the Input already contains a lesser numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any number.\n\nIf `options.max` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a minimum rating of one.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```"
5189
5174
  },
5190
5175
  "type._inputs.*.options.max": {
5191
- "description": "This key defines the maximum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a greater numerical value.\n\nIf the Input already contains a greater numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any integer.\n\nIf `options.min` is also configured, this key cannot be a lesser number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a maximum rating of five.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```",
5192
5176
  "type": "number",
5177
+ "description": "This key defines the maximum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a greater numerical value.\n\nIf the Input already contains a greater numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any integer.\n\nIf `options.min` is also configured, this key cannot be a lesser number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a maximum rating of five.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```",
5193
5178
  "documented": true,
5194
5179
  "title": "max",
5195
5180
  "markdownDescription": "This key defines the maximum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a greater numerical value.\n\nIf the Input already contains a greater numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any integer.\n\nIf `options.min` is also configured, this key cannot be a lesser number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a maximum rating of five.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```"
@@ -5216,8 +5201,6 @@
5216
5201
  "markdownDescription": "This key defines a custom error message that explains why a value has failed the validation criteria from `options.max`.\nThis key requires you to define `options.max`.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we prompt our team to enter a valid number using a custom message.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n max_message: Cannot be more than 5\n min: 1\n min_message: Cannot be less than 1\n```"
5217
5202
  },
5218
5203
  "RangeInput": {
5219
- "title": "Range Input",
5220
- "description": "This key defines a slider interface for selecting a numeric value.",
5221
5204
  "type": "object",
5222
5205
  "properties": {
5223
5206
  "comment": {
@@ -5262,15 +5245,14 @@
5262
5245
  "$ref": "#/definitions/type._inputs.*.cascade"
5263
5246
  },
5264
5247
  "type": {
5265
- "title": "Type",
5266
- "description": "This key defines the input type, which controls how this input appears and behaves.",
5267
5248
  "type": "string",
5268
5249
  "const": "range",
5250
+ "title": "Type",
5251
+ "description": "This key defines the input type, which controls how this input appears and behaves.",
5269
5252
  "documented": true,
5270
5253
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
5271
5254
  },
5272
5255
  "options": {
5273
- "description": "This key defines options that are specific to Range Inputs.",
5274
5256
  "type": "object",
5275
5257
  "properties": {
5276
5258
  "required": {
@@ -5309,6 +5291,7 @@
5309
5291
  "max"
5310
5292
  ],
5311
5293
  "additionalProperties": false,
5294
+ "description": "This key defines options that are specific to Range Inputs.",
5312
5295
  "documented": true,
5313
5296
  "title": "options",
5314
5297
  "markdownDescription": "This key defines options that are specific to Range Inputs."
@@ -5318,12 +5301,12 @@
5318
5301
  "type"
5319
5302
  ],
5320
5303
  "additionalProperties": false,
5304
+ "title": "Range Input",
5305
+ "description": "This key defines a slider interface for selecting a numeric value.",
5321
5306
  "documented": true,
5322
5307
  "markdownDescription": "This key defines a slider interface for selecting a numeric value."
5323
5308
  },
5324
5309
  "RichTextInput": {
5325
- "title": "Rich Text Input",
5326
- "description": "This key defines an editing interface for HTML markup content.",
5327
5310
  "type": "object",
5328
5311
  "properties": {
5329
5312
  "comment": {
@@ -5368,18 +5351,17 @@
5368
5351
  "$ref": "#/definitions/type._inputs.*.cascade"
5369
5352
  },
5370
5353
  "type": {
5371
- "title": "Type",
5372
- "description": "This key defines the input type, which controls how this input appears and behaves.",
5373
5354
  "type": "string",
5374
5355
  "enum": [
5375
5356
  "html",
5376
5357
  "markdown"
5377
5358
  ],
5359
+ "title": "Type",
5360
+ "description": "This key defines the input type, which controls how this input appears and behaves.",
5378
5361
  "documented": true,
5379
5362
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
5380
5363
  },
5381
5364
  "options": {
5382
- "description": "This key defines options that are specific to Rich Text Inputs.",
5383
5365
  "type": "object",
5384
5366
  "properties": {
5385
5367
  "mime_type": {
@@ -5585,11 +5567,11 @@
5585
5567
  },
5586
5568
  "allow_resize": {
5587
5569
  "deprecated": true,
5588
- "description": "**⚠️ DEPRECATED:** This key is deprecated. Use `preview_resize` instead.\nThis key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown).",
5589
5570
  "type": "boolean",
5590
5571
  "documented": true,
5591
5572
  "title": "allow_resize",
5592
- "markdownDescription": "**⚠️ DEPRECATED:** This key is deprecated. Use `preview_resize` instead.\nThis key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown)."
5573
+ "description": "This key is deprecated. Use `preview_resize` instead.\n\nThis key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown).",
5574
+ "markdownDescription": "This key is deprecated. Use `preview_resize` instead.\n\nThis key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown)."
5593
5575
  },
5594
5576
  "prevent_resize": {
5595
5577
  "description": "Shows or hides the resize handler to vertically resize the input.",
@@ -5608,6 +5590,7 @@
5608
5590
  }
5609
5591
  },
5610
5592
  "additionalProperties": false,
5593
+ "description": "This key defines options that are specific to Rich Text Inputs.",
5611
5594
  "documented": true,
5612
5595
  "title": "options",
5613
5596
  "markdownDescription": "This key defines options that are specific to Rich Text Inputs."
@@ -5617,6 +5600,8 @@
5617
5600
  "type"
5618
5601
  ],
5619
5602
  "additionalProperties": false,
5603
+ "title": "Rich Text Input",
5604
+ "description": "This key defines an editing interface for HTML markup content.",
5620
5605
  "documented": true,
5621
5606
  "markdownDescription": "This key defines an editing interface for HTML markup content."
5622
5607
  },
@@ -5706,8 +5691,8 @@
5706
5691
  "type": "object",
5707
5692
  "properties": {
5708
5693
  "size": {
5709
- "description": "This key defines a number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w).\n\n## Examples\n\nIn this example, we have configured a size definition for an *Image Input* to create a 2x relative size image.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n sizes:\n - size: 2x\n```",
5710
5694
  "type": "string",
5695
+ "description": "This key defines a number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w).\n\n## Examples\n\nIn this example, we have configured a size definition for an *Image Input* to create a 2x relative size image.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n sizes:\n - size: 2x\n```",
5711
5696
  "documented": true,
5712
5697
  "title": "size",
5713
5698
  "markdownDescription": "This key defines a number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w).\n\n## Examples\n\nIn this example, we have configured a size definition for an *Image Input* to create a 2x relative size image.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n sizes:\n - size: 2x\n```"
@@ -5733,7 +5718,6 @@
5733
5718
  "markdownDescription": "This key defines definitions for creating additional images of different sizes when uploading or selecting existing files.\n\n## Examples\n\nIn this example, we have configured an *Image Input* to create additional images of different sizes when uploading or selecting files.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n sizes:\n - size: 2x\n - size: 3x\n```"
5734
5719
  },
5735
5720
  "type.paths": {
5736
- "title": "Paths",
5737
5721
  "type": "object",
5738
5722
  "properties": {
5739
5723
  "static": {
@@ -5759,6 +5743,7 @@
5759
5743
  }
5760
5744
  },
5761
5745
  "additionalProperties": false,
5746
+ "title": "Paths",
5762
5747
  "documented": true,
5763
5748
  "description": "This key defines paths for your Rich Text editors or File inputs.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `paths` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured paths for the `blog` Collection to set custom upload and static paths.\n\n```yaml\ncollections_config:\n blog:\n paths:\n uploads: /uploads/blog/\n static: /assets/\n```",
5764
5749
  "markdownDescription": "This key defines paths for your Rich Text editors or File inputs.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `paths` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured paths for the `blog` Collection to set custom upload and static paths.\n\n```yaml\ncollections_config:\n blog:\n paths:\n uploads: /uploads/blog/\n static: /assets/\n```"
@@ -6080,8 +6065,6 @@
6080
6065
  "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to merge a list item with the item below it in an ordered or unordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to merge a list item with the item below it."
6081
6066
  },
6082
6067
  "DateInput": {
6083
- "title": "Date/Datetime Input",
6084
- "description": "This key defines an editing interface for date and/or time values.",
6085
6068
  "type": "object",
6086
6069
  "properties": {
6087
6070
  "comment": {
@@ -6126,18 +6109,17 @@
6126
6109
  "$ref": "#/definitions/type._inputs.*.cascade"
6127
6110
  },
6128
6111
  "type": {
6129
- "title": "Type",
6130
- "description": "This key defines the input type, which controls how this input appears and behaves.",
6131
6112
  "type": "string",
6132
6113
  "enum": [
6133
6114
  "date",
6134
6115
  "datetime"
6135
6116
  ],
6117
+ "title": "Type",
6118
+ "description": "This key defines the input type, which controls how this input appears and behaves.",
6136
6119
  "documented": true,
6137
6120
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
6138
6121
  },
6139
6122
  "options": {
6140
- "description": "This key defines options that are specific to Date Inputs.",
6141
6123
  "type": "object",
6142
6124
  "properties": {
6143
6125
  "required": {
@@ -6170,10 +6152,10 @@
6170
6152
  "description": "This key defines the earliest date and time, inclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting an earlier date and time.\n\nIf the Input already contains an earlier date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard\nyour unsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n\nThe value can have quotation marks or no quotation marks.\n\nIf `options.end_before` is also configured, this key cannot be a later date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs.\n\n## Examples\n\nIn this example, we want our team to enter the date and time of an event in the `2022_event` Input. This Input will only allow dates on or after January 1st, 2022.\n\n```yaml\n_inputs:\n 2022_event:\n type: datetime\n options:\n start_from: 2022-01-01T00:00:00Z\n end_before: 2023-01-01T00:00:00Z\n```",
6171
6153
  "anyOf": [
6172
6154
  {
6173
- "title": "String Start From",
6174
6155
  "type": "string",
6175
6156
  "format": "date-time",
6176
6157
  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z||([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
6158
+ "title": "String Start From",
6177
6159
  "documented": true,
6178
6160
  "description": "This key defines the earliest date and time, inclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting an earlier date and time.\n\nIf the Input already contains an earlier date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard\nyour unsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format and should be in quotes.\n\nIf `options.end_before` is also configured, this key cannot be a later date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs.",
6179
6161
  "markdownDescription": "This key defines the earliest date and time, inclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting an earlier date and time.\n\nIf the Input already contains an earlier date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard\nyour unsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format and should be in quotes.\n\nIf `options.end_before` is also configured, this key cannot be a later date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs."
@@ -6200,10 +6182,10 @@
6200
6182
  "description": "This key defines the date and time, exclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting a later date and time.\n\nIf the Input already contains a later date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard your\nunsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n\nThe value can have quotation marks or no quotation marks.\n\nIf `options.start_from` is also configured, this key cannot be an earlier date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs.\n\n## Examples\n\nIn this example, we want our team to enter the date and time of an event in the `2022_event` Input. This Input will only allow dates before January 1st, 2023.\n\n```yaml\n_inputs:\n 2022_event:\n type: datetime\n options:\n start_from: 2022-01-01T00:00:00Z\n end_before: 2023-01-01T00:00:00Z\n```",
6201
6183
  "anyOf": [
6202
6184
  {
6203
- "title": "String End Before",
6204
6185
  "type": "string",
6205
6186
  "format": "date-time",
6206
6187
  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z||([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
6188
+ "title": "String End Before",
6207
6189
  "documented": true,
6208
6190
  "description": "This key defines the date and time, exclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting a later date and time.\n\nIf the Input already contains a later date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard your\nunsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n\nIf `options.start_from` is also configured, this key cannot be an earlier date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs.",
6209
6191
  "markdownDescription": "This key defines the date and time, exclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting a later date and time.\n\nIf the Input already contains a later date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard your\nunsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n\nIf `options.start_from` is also configured, this key cannot be an earlier date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs."
@@ -6228,6 +6210,7 @@
6228
6210
  }
6229
6211
  },
6230
6212
  "additionalProperties": false,
6213
+ "description": "This key defines options that are specific to Date Inputs.",
6231
6214
  "documented": true,
6232
6215
  "title": "options",
6233
6216
  "markdownDescription": "This key defines options that are specific to Date Inputs."
@@ -6237,11 +6220,12 @@
6237
6220
  "type"
6238
6221
  ],
6239
6222
  "additionalProperties": false,
6223
+ "title": "Date/Datetime Input",
6224
+ "description": "This key defines an editing interface for date and/or time values.",
6240
6225
  "documented": true,
6241
6226
  "markdownDescription": "This key defines an editing interface for date and/or time values."
6242
6227
  },
6243
6228
  "type.timezone": {
6244
- "title": "Timezone",
6245
6229
  "type": "string",
6246
6230
  "enum": [
6247
6231
  "Africa/Abidjan",
@@ -6840,13 +6824,12 @@
6840
6824
  "WET",
6841
6825
  "Zulu"
6842
6826
  ],
6827
+ "title": "Timezone",
6843
6828
  "documented": true,
6844
6829
  "description": "This key defines the timezone for your Site.\n\nValue must be in IANA timezone format.\n\nFor more information, please read our documentation on [Date and Time inputs](https://cloudcannon.com/documentation/articles/what-are-date-and-time-inputs/).",
6845
6830
  "markdownDescription": "This key defines the timezone for your Site.\n\nValue must be in IANA timezone format.\n\nFor more information, please read our documentation on [Date and Time inputs](https://cloudcannon.com/documentation/articles/what-are-date-and-time-inputs/)."
6846
6831
  },
6847
6832
  "TimeInput": {
6848
- "title": "Time Input",
6849
- "description": "This key defines an editing interface for time values only.",
6850
6833
  "type": "object",
6851
6834
  "properties": {
6852
6835
  "comment": {
@@ -6891,15 +6874,14 @@
6891
6874
  "$ref": "#/definitions/type._inputs.*.cascade"
6892
6875
  },
6893
6876
  "type": {
6894
- "title": "Type",
6895
- "description": "This key defines the input type, which controls how this input appears and behaves.",
6896
6877
  "type": "string",
6897
6878
  "const": "time",
6879
+ "title": "Type",
6880
+ "description": "This key defines the input type, which controls how this input appears and behaves.",
6898
6881
  "documented": true,
6899
6882
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
6900
6883
  },
6901
6884
  "options": {
6902
- "description": "This key defines options that are specific to Time Inputs.",
6903
6885
  "type": "object",
6904
6886
  "properties": {
6905
6887
  "required": {
@@ -6919,6 +6901,7 @@
6919
6901
  }
6920
6902
  },
6921
6903
  "additionalProperties": false,
6904
+ "description": "This key defines options that are specific to Time Inputs.",
6922
6905
  "documented": true,
6923
6906
  "title": "options",
6924
6907
  "markdownDescription": "This key defines options that are specific to Time Inputs."
@@ -6928,12 +6911,12 @@
6928
6911
  "type"
6929
6912
  ],
6930
6913
  "additionalProperties": false,
6914
+ "title": "Time Input",
6915
+ "description": "This key defines an editing interface for time values only.",
6931
6916
  "documented": true,
6932
6917
  "markdownDescription": "This key defines an editing interface for time values only."
6933
6918
  },
6934
6919
  "FileInput": {
6935
- "title": "File Input",
6936
- "description": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets.",
6937
6920
  "type": "object",
6938
6921
  "properties": {
6939
6922
  "comment": {
@@ -6978,19 +6961,18 @@
6978
6961
  "$ref": "#/definitions/type._inputs.*.cascade"
6979
6962
  },
6980
6963
  "type": {
6981
- "title": "Type",
6982
- "description": "This key defines the input type, which controls how this input appears and behaves.",
6983
6964
  "type": "string",
6984
6965
  "enum": [
6985
6966
  "file",
6986
6967
  "document",
6987
6968
  "image"
6988
6969
  ],
6970
+ "title": "Type",
6971
+ "description": "This key defines the input type, which controls how this input appears and behaves.",
6989
6972
  "documented": true,
6990
6973
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
6991
6974
  },
6992
6975
  "options": {
6993
- "description": "This key defines options that are specific to File Inputs.",
6994
6976
  "type": "object",
6995
6977
  "properties": {
6996
6978
  "mime_type": {
@@ -7112,6 +7094,7 @@
7112
7094
  }
7113
7095
  },
7114
7096
  "additionalProperties": false,
7097
+ "description": "This key defines options that are specific to File Inputs.",
7115
7098
  "documented": true,
7116
7099
  "title": "options",
7117
7100
  "markdownDescription": "This key defines options that are specific to File Inputs."
@@ -7121,6 +7104,8 @@
7121
7104
  "type"
7122
7105
  ],
7123
7106
  "additionalProperties": false,
7107
+ "title": "File Input",
7108
+ "description": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets.",
7124
7109
  "documented": true,
7125
7110
  "markdownDescription": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets."
7126
7111
  },
@@ -7128,18 +7113,18 @@
7128
7113
  "description": "This key defines which file types are available to select or upload to this input.\n\nAccepted format is an array or comma-separated string of MIME types.\n\nThe special value \"*\" means any type is accepted.\n\n## Examples\n\nIn this example, we have configured a *Image Input* to accept only JPEG or PNG files.\n\n```yaml\n_inputs:\n featured_image:\n type: image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n```",
7129
7114
  "anyOf": [
7130
7115
  {
7131
- "title": "Comma Separated Accepts Mime Types",
7132
7116
  "type": "string",
7117
+ "title": "Comma Separated Accepts Mime Types",
7133
7118
  "documented": true,
7134
7119
  "description": "This key represents a comma-separated string format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is a string containing MIME types separated by commas. Each MIME type specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the comma-separated format when you prefer a more compact configuration or when working with a small number of MIME types.\n\nThe special value `\"*\"` means any file type is accepted.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using a comma-separated string of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types: 'image/jpeg,image/png,image/webp'\n```\n\nIn this example, we have configured a *File Input* to accept only document files using a comma-separated string of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types: 'application/pdf,application/msword'\n```\n\nIn this example, we have configured a *File Input* to accept any file type using the special `\"*\"` value.\n\n```yaml\n_inputs:\n any_file:\n type: file\n label: Any File\n options:\n accepts_mime_types: '*'\n```",
7135
7120
  "markdownDescription": "This key represents a comma-separated string format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is a string containing MIME types separated by commas. Each MIME type specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the comma-separated format when you prefer a more compact configuration or when working with a small number of MIME types.\n\nThe special value `\"*\"` means any file type is accepted.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using a comma-separated string of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types: 'image/jpeg,image/png,image/webp'\n```\n\nIn this example, we have configured a *File Input* to accept only document files using a comma-separated string of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types: 'application/pdf,application/msword'\n```\n\nIn this example, we have configured a *File Input* to accept any file type using the special `\"*\"` value.\n\n```yaml\n_inputs:\n any_file:\n type: file\n label: Any File\n options:\n accepts_mime_types: '*'\n```"
7136
7121
  },
7137
7122
  {
7138
- "title": "Array Accepts Mime Types",
7139
7123
  "type": "array",
7140
7124
  "items": {
7141
7125
  "$ref": "#/definitions/MimeType"
7142
7126
  },
7127
+ "title": "Array Accepts Mime Types",
7143
7128
  "documented": true,
7144
7129
  "description": "This key represents an array format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is an array of MIME type strings. Each string specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the array format when you want to explicitly list multiple MIME types, making it easier to read and maintain in your configuration.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using an array of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n - image/webp\n```\n\nIn this example, we have configured a *File Input* to accept only document files using an array of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types:\n - application/pdf\n - application/msword\n - application/vnd.openxmlformats-officedocument.wordprocessingml.document\n```",
7145
7130
  "markdownDescription": "This key represents an array format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is an array of MIME type strings. Each string specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the array format when you want to explicitly list multiple MIME types, making it easier to read and maintain in your configuration.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using an array of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n - image/webp\n```\n\nIn this example, we have configured a *File Input* to accept only document files using an array of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types:\n - application/pdf\n - application/msword\n - application/vnd.openxmlformats-officedocument.wordprocessingml.document\n```"
@@ -7150,8 +7135,6 @@
7150
7135
  "markdownDescription": "This key defines which file types are available to select or upload to this input.\n\nAccepted format is an array or comma-separated string of MIME types.\n\nThe special value \"*\" means any type is accepted.\n\n## Examples\n\nIn this example, we have configured a *Image Input* to accept only JPEG or PNG files.\n\n```yaml\n_inputs:\n featured_image:\n type: image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n```"
7151
7136
  },
7152
7137
  "MimeType": {
7153
- "title": "Mime Type",
7154
- "description": "This key represents an array format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is an array of MIME type strings. Each string specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the array format when you want to explicitly list multiple MIME types, making it easier to read and maintain in your configuration.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using an array of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n - image/webp\n```\n\nIn this example, we have configured a *File Input* to accept only document files using an array of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types:\n - application/pdf\n - application/msword\n - application/vnd.openxmlformats-officedocument.wordprocessingml.document\n```",
7155
7138
  "type": "string",
7156
7139
  "enum": [
7157
7140
  "x-world/x-3dmf",
@@ -7588,6 +7571,8 @@
7588
7571
  "multipart/x-zip",
7589
7572
  "text/x-script.zsh"
7590
7573
  ],
7574
+ "title": "Mime Type",
7575
+ "description": "This key represents an array format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is an array of MIME type strings. Each string specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the array format when you want to explicitly list multiple MIME types, making it easier to read and maintain in your configuration.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using an array of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n - image/webp\n```\n\nIn this example, we have configured a *File Input* to accept only document files using an array of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types:\n - application/pdf\n - application/msword\n - application/vnd.openxmlformats-officedocument.wordprocessingml.document\n```",
7591
7576
  "documented": true,
7592
7577
  "markdownDescription": "This key represents an array format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is an array of MIME type strings. Each string specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the array format when you want to explicitly list multiple MIME types, making it easier to read and maintain in your configuration.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using an array of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n - image/webp\n```\n\nIn this example, we have configured a *File Input* to accept only document files using an array of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types:\n - application/pdf\n - application/msword\n - application/vnd.openxmlformats-officedocument.wordprocessingml.document\n```"
7593
7578
  },
@@ -7630,8 +7615,6 @@
7630
7615
  "markdownDescription": "This key toggles whether CloudCannon will prevent file uploads inside the \"Select existing file/image\" file browser modal window.\n\nSetting this key to `true` will prevent file uploads inside the file browser modal window.\n\n## Examples\n\nIn this example, CloudCannon will disable the option to upload files inside the file browser modal window.\n\n```yaml\n_inputs:\n image:\n type: file\n options:\n disable_upload_file_in_file_browser: true\n```"
7631
7616
  },
7632
7617
  "UrlInput": {
7633
- "title": "URL Input",
7634
- "description": "This key defines an editing interface for relative, absolute, and fully qualified URLs.",
7635
7618
  "type": "object",
7636
7619
  "properties": {
7637
7620
  "comment": {
@@ -7676,15 +7659,14 @@
7676
7659
  "$ref": "#/definitions/type._inputs.*.cascade"
7677
7660
  },
7678
7661
  "type": {
7679
- "title": "Type",
7680
- "description": "This key defines the input type, which controls how this input appears and behaves.",
7681
7662
  "type": "string",
7682
7663
  "const": "url",
7664
+ "title": "Type",
7665
+ "description": "This key defines the input type, which controls how this input appears and behaves.",
7683
7666
  "documented": true,
7684
7667
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
7685
7668
  },
7686
7669
  "options": {
7687
- "description": "This key defines options that are specific to URL Inputs.",
7688
7670
  "type": "object",
7689
7671
  "properties": {
7690
7672
  "mime_type": {
@@ -7838,6 +7820,7 @@
7838
7820
  }
7839
7821
  },
7840
7822
  "additionalProperties": false,
7823
+ "description": "This key defines options that are specific to URL Inputs.",
7841
7824
  "documented": true,
7842
7825
  "title": "options",
7843
7826
  "markdownDescription": "This key defines options that are specific to URL Inputs."
@@ -7847,12 +7830,12 @@
7847
7830
  "type"
7848
7831
  ],
7849
7832
  "additionalProperties": false,
7833
+ "title": "URL Input",
7834
+ "description": "This key defines an editing interface for relative, absolute, and fully qualified URLs.",
7850
7835
  "documented": true,
7851
7836
  "markdownDescription": "This key defines an editing interface for relative, absolute, and fully qualified URLs."
7852
7837
  },
7853
7838
  "SelectInput": {
7854
- "title": "Select Input",
7855
- "description": "This key defines an editing interface for data with multiple predefined options.\n\nSelect inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n label: Category\n options:\n values:\n - Blog\n - News\n - Events\n```",
7856
7839
  "type": "object",
7857
7840
  "properties": {
7858
7841
  "comment": {
@@ -7897,15 +7880,14 @@
7897
7880
  "$ref": "#/definitions/type._inputs.*.cascade"
7898
7881
  },
7899
7882
  "type": {
7900
- "title": "Type",
7901
- "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input* type.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```",
7902
7883
  "type": "string",
7903
7884
  "const": "select",
7885
+ "title": "Type",
7886
+ "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input* type.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```",
7904
7887
  "documented": true,
7905
7888
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input* type.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```"
7906
7889
  },
7907
7890
  "options": {
7908
- "description": "This key defines options that are specific to Select Inputs.\n\n## Examples\n\nIn this example, we have configured *Select Input* options including values.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```",
7909
7891
  "type": "object",
7910
7892
  "properties": {
7911
7893
  "required": {
@@ -8009,6 +7991,7 @@
8009
7991
  }
8010
7992
  },
8011
7993
  "additionalProperties": false,
7994
+ "description": "This key defines options that are specific to Select Inputs.\n\n## Examples\n\nIn this example, we have configured *Select Input* options including values.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```",
8012
7995
  "documented": true,
8013
7996
  "title": "options",
8014
7997
  "markdownDescription": "This key defines options that are specific to Select Inputs.\n\n## Examples\n\nIn this example, we have configured *Select Input* options including values.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```"
@@ -8018,11 +8001,12 @@
8018
8001
  "type"
8019
8002
  ],
8020
8003
  "additionalProperties": false,
8004
+ "title": "Select Input",
8005
+ "description": "This key defines an editing interface for data with multiple predefined options.\n\nSelect inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n label: Category\n options:\n values:\n - Blog\n - News\n - Events\n```",
8021
8006
  "documented": true,
8022
8007
  "markdownDescription": "This key defines an editing interface for data with multiple predefined options.\n\nSelect inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n label: Category\n options:\n values:\n - Blog\n - News\n - Events\n```"
8023
8008
  },
8024
8009
  "type.preview": {
8025
- "title": "Preview",
8026
8010
  "type": "object",
8027
8011
  "properties": {
8028
8012
  "text": {
@@ -8054,6 +8038,7 @@
8054
8038
  }
8055
8039
  },
8056
8040
  "additionalProperties": false,
8041
+ "title": "Preview",
8057
8042
  "documented": true,
8058
8043
  "description": "This key defines the appearance of a Card.\n\nYou can configure Card preview for [Collections](https://cloudcannon.com/documentation/articles/what-is-a-collection/), [Schemas](https://cloudcannon.com/documentation/articles/what-is-a-schema/),\n[Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/), [Array inputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/), [Select\ninputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/), [Structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/), the Structure modal,\n[Snippets](https://cloudcannon.com/documentation/articles/what-is-a-snippet/), and the Snippet modal.\n\nFor more information about previews, please read our documentation on [configuring card previews](https://cloudcannon.com/documentation/articles/configure-your-card-previews/).\n\n## Examples\n\nIn this example, we have configured the appearance of file Cards in the *Collection browser*.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n subtext:\n - key: author\n icon: edit_note\n icon_color:\n - key: color\n - '#ff0000'\n image:\n - key: image\n metadata:\n - template: [url]\n - icon: event\n text:\n - template: 'Published on {date|date_long}'\n gallery:\n - key: featured_image\n```\n\nIn this example, we have configured the appearance of Cards in inputs using the Structure `staff`.\n\n```yaml\n_structures:\n staff:\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```",
8059
8044
  "markdownDescription": "This key defines the appearance of a Card.\n\nYou can configure Card preview for [Collections](https://cloudcannon.com/documentation/articles/what-is-a-collection/), [Schemas](https://cloudcannon.com/documentation/articles/what-is-a-schema/),\n[Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/), [Array inputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/), [Select\ninputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/), [Structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/), the Structure modal,\n[Snippets](https://cloudcannon.com/documentation/articles/what-is-a-snippet/), and the Snippet modal.\n\nFor more information about previews, please read our documentation on [configuring card previews](https://cloudcannon.com/documentation/articles/configure-your-card-previews/).\n\n## Examples\n\nIn this example, we have configured the appearance of file Cards in the *Collection browser*.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n subtext:\n - key: author\n icon: edit_note\n icon_color:\n - key: color\n - '#ff0000'\n image:\n - key: image\n metadata:\n - template: [url]\n - icon: event\n text:\n - template: 'Published on {date|date_long}'\n gallery:\n - key: featured_image\n```\n\nIn this example, we have configured the appearance of Cards in inputs using the Structure `staff`.\n\n```yaml\n_structures:\n staff:\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```"
@@ -8250,37 +8235,35 @@
8250
8235
  },
8251
8236
  "type._inputs.*.options.allow_empty": {
8252
8237
  "deprecated": true,
8253
- "description": "**⚠️ DEPRECATED:** This key is deprecated. If you want to prevent empty values, we recommend setting `_inputs.*.options.required` to `true` instead.\n\nThis key toggles whether CloudCannon will accept empty values, and pre-select the first option if opened with an empty value.\n\nSetting this key to `true` will allow CloudCannon to accept empty values.\n\n## Examples\n\nIn this example, CloudCannon will accept empty values for a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n allow_empty: true\n```",
8238
+ "description": "This key is deprecated. If you want to prevent empty values, we recommend setting `_inputs.*.options.required` to `true` instead.\n\nThis key toggles whether CloudCannon will accept empty values, and pre-select the first option if opened with an empty value.\n\nSetting this key to `true` will allow CloudCannon to accept empty values.\n\n## Examples\n\nIn this example, CloudCannon will accept empty values for a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n allow_empty: true\n```",
8254
8239
  "type": "boolean",
8255
8240
  "documented": true,
8256
8241
  "title": "allow_empty",
8257
- "markdownDescription": "**⚠️ DEPRECATED:** This key is deprecated. If you want to prevent empty values, we recommend setting `_inputs.*.options.required` to `true` instead.\n\nThis key toggles whether CloudCannon will accept empty values, and pre-select the first option if opened with an empty value.\n\nSetting this key to `true` will allow CloudCannon to accept empty values.\n\n## Examples\n\nIn this example, CloudCannon will accept empty values for a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n allow_empty: true\n```"
8242
+ "markdownDescription": "This key is deprecated. If you want to prevent empty values, we recommend setting `_inputs.*.options.required` to `true` instead.\n\nThis key toggles whether CloudCannon will accept empty values, and pre-select the first option if opened with an empty value.\n\nSetting this key to `true` will allow CloudCannon to accept empty values.\n\n## Examples\n\nIn this example, CloudCannon will accept empty values for a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n allow_empty: true\n```"
8258
8243
  },
8259
8244
  "type._inputs.*.options.values": {
8260
8245
  "description": "This key defines the values available to choose from.\n\nOptional, defaults to fetching values from the naming convention (e.g. `colors` or `my_colors` for data set `colors`).\n\n## Examples\n\nIn this example, we have configured a *Select Input* with custom values to choose from.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```",
8261
8246
  "anyOf": [
8262
8247
  {
8248
+ "type": "string",
8263
8249
  "title": "Dataset Reference Values",
8264
8250
  "description": "This key defines a reference to a dataset.",
8265
- "type": "string",
8266
8251
  "documented": true,
8267
8252
  "markdownDescription": "This key defines a reference to a dataset."
8268
8253
  },
8269
8254
  {
8270
- "description": "Data formats for populating select and multiselect input options, supporting arrays and objects.",
8271
8255
  "anyOf": [
8272
8256
  {
8273
- "title": "Text Array",
8274
8257
  "type": "array",
8275
8258
  "items": {
8276
8259
  "type": "string",
8277
8260
  "documented": false,
8278
8261
  "title": "values(any-of-1)(text-array)[*]"
8279
8262
  },
8263
+ "title": "Text Array",
8280
8264
  "documented": false
8281
8265
  },
8282
8266
  {
8283
- "title": "Text Object",
8284
8267
  "type": "object",
8285
8268
  "propertyNames": {
8286
8269
  "type": "string"
@@ -8290,10 +8273,10 @@
8290
8273
  "documented": false,
8291
8274
  "title": "values(any-of-1)(text-object).*"
8292
8275
  },
8276
+ "title": "Text Object",
8293
8277
  "documented": false
8294
8278
  },
8295
8279
  {
8296
- "title": "Object Array",
8297
8280
  "type": "array",
8298
8281
  "items": {
8299
8282
  "type": "object",
@@ -8304,18 +8287,20 @@
8304
8287
  "documented": false,
8305
8288
  "title": "values(any-of-1)(object-array)[*]"
8306
8289
  },
8290
+ "title": "Object Array",
8307
8291
  "documented": false
8308
8292
  },
8309
8293
  {
8310
- "title": "Object",
8311
8294
  "type": "object",
8312
8295
  "propertyNames": {
8313
8296
  "type": "string"
8314
8297
  },
8315
8298
  "additionalProperties": {},
8299
+ "title": "Object",
8316
8300
  "documented": false
8317
8301
  }
8318
8302
  ],
8303
+ "description": "Data formats for populating select and multiselect input options, supporting arrays and objects.",
8319
8304
  "documented": false,
8320
8305
  "title": "values(any-of-1)",
8321
8306
  "markdownDescription": "Data formats for populating select and multiselect input options, supporting arrays and objects."
@@ -8359,8 +8344,6 @@
8359
8344
  "markdownDescription": "This key defines how CloudCannon should render selectable options in the dropdown of a *Select Input*.\n\n## Examples\n\nIn this example, we have configured a *Select Input* to display options using the card view.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n picker_view: card\n```"
8360
8345
  },
8361
8346
  "MultiselectInput": {
8362
- "title": "Multiselect Input",
8363
- "description": "This key defines an editing interface for data with multiple predefined options.\n\nMultiselect inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input*.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n label: Tags\n options:\n values:\n - featured\n - news\n - events\n```",
8364
8347
  "type": "object",
8365
8348
  "properties": {
8366
8349
  "comment": {
@@ -8405,15 +8388,14 @@
8405
8388
  "$ref": "#/definitions/type._inputs.*.cascade"
8406
8389
  },
8407
8390
  "type": {
8408
- "title": "Type",
8409
- "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input* type.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n```",
8410
8391
  "type": "string",
8411
8392
  "const": "multiselect",
8393
+ "title": "Type",
8394
+ "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input* type.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n```",
8412
8395
  "documented": true,
8413
8396
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input* type.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n```"
8414
8397
  },
8415
8398
  "options": {
8416
- "description": "This key defines options that are specific to Multiselect Inputs.\n\n## Examples\n\nIn this example, we have configured *Multiselect Input* options including values.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n options:\n values:\n - featured\n - news\n - events\n```",
8417
8399
  "type": "object",
8418
8400
  "properties": {
8419
8401
  "required": {
@@ -8487,6 +8469,7 @@
8487
8469
  }
8488
8470
  },
8489
8471
  "additionalProperties": false,
8472
+ "description": "This key defines options that are specific to Multiselect Inputs.\n\n## Examples\n\nIn this example, we have configured *Multiselect Input* options including values.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n options:\n values:\n - featured\n - news\n - events\n```",
8490
8473
  "documented": true,
8491
8474
  "title": "options",
8492
8475
  "markdownDescription": "This key defines options that are specific to Multiselect Inputs.\n\n## Examples\n\nIn this example, we have configured *Multiselect Input* options including values.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n options:\n values:\n - featured\n - news\n - events\n```"
@@ -8496,6 +8479,8 @@
8496
8479
  "type"
8497
8480
  ],
8498
8481
  "additionalProperties": false,
8482
+ "title": "Multiselect Input",
8483
+ "description": "This key defines an editing interface for data with multiple predefined options.\n\nMultiselect inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input*.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n label: Tags\n options:\n values:\n - featured\n - news\n - events\n```",
8499
8484
  "documented": true,
8500
8485
  "markdownDescription": "This key defines an editing interface for data with multiple predefined options.\n\nMultiselect inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input*.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n label: Tags\n options:\n values:\n - featured\n - news\n - events\n```"
8501
8486
  },
@@ -8542,8 +8527,8 @@
8542
8527
  "markdownDescription": "This key defines a custom error message that explains why a value has failed the validation criteria from `options.unique_on`.\nThis key requires you to define `options.unique_on`.\n\nThis key has no default.\n\nThis key is available for Array inputs.\n\n## Examples\n\nIn this example, we want our team to add article filepaths to the `related_articles` Input. This Input requires all the filepaths to be unique.\n\n```yaml\n_inputs:\n related_articles:\n type: array\n options:\n unique_on: '$.path'\n unique_on_message: The value for path must be different for all items.\n```\n\n```yaml\nrelated_articles:\n - path: /articles/first-article.md\n featured: true\n - path: /articles/first-article.md\n featured: false\n```"
8543
8528
  },
8544
8529
  "type._inputs.*.options.empty_type(array)": {
8545
- "description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty array values will be saved.\n\n```yaml\n_inputs:\n tags:\n type: array\n options:\n empty_type: array\n```",
8546
8530
  "default": "null",
8531
+ "description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty array values will be saved.\n\n```yaml\n_inputs:\n tags:\n type: array\n options:\n empty_type: array\n```",
8547
8532
  "type": "string",
8548
8533
  "enum": [
8549
8534
  "null",
@@ -8554,8 +8539,6 @@
8554
8539
  "markdownDescription": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty array values will be saved.\n\n```yaml\n_inputs:\n tags:\n type: array\n options:\n empty_type: array\n```"
8555
8540
  },
8556
8541
  "ChoiceInput": {
8557
- "title": "Choice Input",
8558
- "description": "This key defines an editing interface for data with multiple predefined options.\n\nChoice inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input*.\n\n```yaml\n_inputs:\n status:\n type: choice\n label: Status\n options:\n values:\n - draft\n - published\n - archived\n```",
8559
8542
  "type": "object",
8560
8543
  "properties": {
8561
8544
  "comment": {
@@ -8600,15 +8583,14 @@
8600
8583
  "$ref": "#/definitions/type._inputs.*.cascade"
8601
8584
  },
8602
8585
  "type": {
8603
- "title": "Type",
8604
- "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input* type.\n\n```yaml\n_inputs:\n status:\n type: choice\n```",
8605
8586
  "type": "string",
8606
8587
  "const": "choice",
8588
+ "title": "Type",
8589
+ "description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input* type.\n\n```yaml\n_inputs:\n status:\n type: choice\n```",
8607
8590
  "documented": true,
8608
8591
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input* type.\n\n```yaml\n_inputs:\n status:\n type: choice\n```"
8609
8592
  },
8610
8593
  "options": {
8611
- "description": "This key defines options that are specific to Choice Inputs.\n\n## Examples\n\nIn this example, we have configured *Choice Input* options including values.\n\n```yaml\n_inputs:\n status:\n type: choice\n options:\n values:\n - draft\n - published\n - archived\n```",
8612
8594
  "type": "object",
8613
8595
  "properties": {
8614
8596
  "required": {
@@ -8709,6 +8691,7 @@
8709
8691
  }
8710
8692
  },
8711
8693
  "additionalProperties": false,
8694
+ "description": "This key defines options that are specific to Choice Inputs.\n\n## Examples\n\nIn this example, we have configured *Choice Input* options including values.\n\n```yaml\n_inputs:\n status:\n type: choice\n options:\n values:\n - draft\n - published\n - archived\n```",
8712
8695
  "documented": true,
8713
8696
  "title": "options",
8714
8697
  "markdownDescription": "This key defines options that are specific to Choice Inputs.\n\n## Examples\n\nIn this example, we have configured *Choice Input* options including values.\n\n```yaml\n_inputs:\n status:\n type: choice\n options:\n values:\n - draft\n - published\n - archived\n```"
@@ -8718,12 +8701,12 @@
8718
8701
  "type"
8719
8702
  ],
8720
8703
  "additionalProperties": false,
8704
+ "title": "Choice Input",
8705
+ "description": "This key defines an editing interface for data with multiple predefined options.\n\nChoice inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input*.\n\n```yaml\n_inputs:\n status:\n type: choice\n label: Status\n options:\n values:\n - draft\n - published\n - archived\n```",
8721
8706
  "documented": true,
8722
8707
  "markdownDescription": "This key defines an editing interface for data with multiple predefined options.\n\nChoice inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input*.\n\n```yaml\n_inputs:\n status:\n type: choice\n label: Status\n options:\n values:\n - draft\n - published\n - archived\n```"
8723
8708
  },
8724
8709
  "MultichoiceInput": {
8725
- "title": "Multichoice Input",
8726
- "description": "This key defines an editing interface for data with multiple predefined options.\n\nMultichoice inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input*.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n label: Categories\n options:\n values:\n - technology\n - design\n - business\n```",
8727
8710
  "type": "object",
8728
8711
  "properties": {
8729
8712
  "comment": {
@@ -8768,15 +8751,14 @@
8768
8751
  "$ref": "#/definitions/type._inputs.*.cascade"
8769
8752
  },
8770
8753
  "type": {
8771
- "title": "Type",
8772
- "description": "This key defines the type of editing interface used for an Input.\n\nEach Input type has a different appearance and functionality, processes and accepts different types of values, and has different configuration\noptions.\n\nValue can be one of the following: `auto`, `checkbox`, `switch`, `code`, `color`, `datetime`, `date`, `time`, `file`, `document`, `image`, `number`,\n`range`, `object`, `array`, `select`, `multiselect`, `choice`, `multichoice`, `text`, `textarea`, `email`, `html`, `markdown`, or `url`.\n\nIf the type or value of an Input is misconfigured, CloudCannon will display an orange warning instead of an Input.\n\nIf type is not configured for an Input, CloudCannon will attempt to determine Input type based on value or key name conventions.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input* type.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n```",
8773
8754
  "type": "string",
8774
8755
  "const": "multichoice",
8756
+ "title": "Type",
8757
+ "description": "This key defines the type of editing interface used for an Input.\n\nEach Input type has a different appearance and functionality, processes and accepts different types of values, and has different configuration\noptions.\n\nValue can be one of the following: `auto`, `checkbox`, `switch`, `code`, `color`, `datetime`, `date`, `time`, `file`, `document`, `image`, `number`,\n`range`, `object`, `array`, `select`, `multiselect`, `choice`, `multichoice`, `text`, `textarea`, `email`, `html`, `markdown`, or `url`.\n\nIf the type or value of an Input is misconfigured, CloudCannon will display an orange warning instead of an Input.\n\nIf type is not configured for an Input, CloudCannon will attempt to determine Input type based on value or key name conventions.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input* type.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n```",
8775
8758
  "documented": true,
8776
8759
  "markdownDescription": "This key defines the type of editing interface used for an Input.\n\nEach Input type has a different appearance and functionality, processes and accepts different types of values, and has different configuration\noptions.\n\nValue can be one of the following: `auto`, `checkbox`, `switch`, `code`, `color`, `datetime`, `date`, `time`, `file`, `document`, `image`, `number`,\n`range`, `object`, `array`, `select`, `multiselect`, `choice`, `multichoice`, `text`, `textarea`, `email`, `html`, `markdown`, or `url`.\n\nIf the type or value of an Input is misconfigured, CloudCannon will display an orange warning instead of an Input.\n\nIf type is not configured for an Input, CloudCannon will attempt to determine Input type based on value or key name conventions.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input* type.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n```"
8777
8760
  },
8778
8761
  "options": {
8779
- "description": "This key defines options that are specific to Multichoice Inputs.\n\n## Examples\n\nIn this example, we have configured *Multichoice Input* options including values.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n options:\n values:\n - technology\n - design\n - business\n```",
8780
8762
  "type": "object",
8781
8763
  "properties": {
8782
8764
  "required": {
@@ -8847,6 +8829,7 @@
8847
8829
  }
8848
8830
  },
8849
8831
  "additionalProperties": false,
8832
+ "description": "This key defines options that are specific to Multichoice Inputs.\n\n## Examples\n\nIn this example, we have configured *Multichoice Input* options including values.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n options:\n values:\n - technology\n - design\n - business\n```",
8850
8833
  "documented": true,
8851
8834
  "title": "options",
8852
8835
  "markdownDescription": "This key defines options that are specific to Multichoice Inputs.\n\n## Examples\n\nIn this example, we have configured *Multichoice Input* options including values.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n options:\n values:\n - technology\n - design\n - business\n```"
@@ -8856,12 +8839,12 @@
8856
8839
  "type"
8857
8840
  ],
8858
8841
  "additionalProperties": false,
8842
+ "title": "Multichoice Input",
8843
+ "description": "This key defines an editing interface for data with multiple predefined options.\n\nMultichoice inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input*.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n label: Categories\n options:\n values:\n - technology\n - design\n - business\n```",
8859
8844
  "documented": true,
8860
8845
  "markdownDescription": "This key defines an editing interface for data with multiple predefined options.\n\nMultichoice inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input*.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n label: Categories\n options:\n values:\n - technology\n - design\n - business\n```"
8861
8846
  },
8862
8847
  "ObjectInput": {
8863
- "title": "Object Input",
8864
- "description": "This key defines a user interface for a group of inputs.",
8865
8848
  "type": "object",
8866
8849
  "properties": {
8867
8850
  "comment": {
@@ -8906,15 +8889,14 @@
8906
8889
  "$ref": "#/definitions/type._inputs.*.cascade"
8907
8890
  },
8908
8891
  "type": {
8909
- "title": "Type",
8910
- "description": "This key defines the input type, which controls how this input appears and behaves.",
8911
8892
  "type": "string",
8912
8893
  "const": "object",
8894
+ "title": "Type",
8895
+ "description": "This key defines the input type, which controls how this input appears and behaves.",
8913
8896
  "documented": true,
8914
8897
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
8915
8898
  },
8916
8899
  "options": {
8917
- "description": "This key defines options that are specific to Object Inputs.",
8918
8900
  "type": "object",
8919
8901
  "properties": {
8920
8902
  "required": {
@@ -9137,6 +9119,7 @@
9137
9119
  }
9138
9120
  },
9139
9121
  "additionalProperties": false,
9122
+ "description": "This key defines options that are specific to Object Inputs.",
9140
9123
  "documented": true,
9141
9124
  "title": "options",
9142
9125
  "markdownDescription": "This key defines options that are specific to Object Inputs."
@@ -9146,12 +9129,14 @@
9146
9129
  "type"
9147
9130
  ],
9148
9131
  "additionalProperties": false,
9132
+ "title": "Object Input",
9133
+ "description": "This key defines a user interface for a group of inputs.",
9149
9134
  "documented": true,
9150
9135
  "markdownDescription": "This key defines a user interface for a group of inputs."
9151
9136
  },
9152
9137
  "type._inputs.*.options.empty_type(object)": {
9153
- "description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty object values will be saved.\n\n```yaml\n_inputs:\n metadata:\n type: object\n options:\n empty_type: object\n```",
9154
9138
  "default": "null",
9139
+ "description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty object values will be saved.\n\n```yaml\n_inputs:\n metadata:\n type: object\n options:\n empty_type: object\n```",
9155
9140
  "type": "string",
9156
9141
  "enum": [
9157
9142
  "null",
@@ -9162,15 +9147,13 @@
9162
9147
  "markdownDescription": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty object values will be saved.\n\n```yaml\n_inputs:\n metadata:\n type: object\n options:\n empty_type: object\n```"
9163
9148
  },
9164
9149
  "type.structure-reference": {
9150
+ "type": "string",
9165
9151
  "title": "Structure Reference",
9166
9152
  "description": "A reference to an existing structure.",
9167
- "type": "string",
9168
9153
  "documented": true,
9169
9154
  "markdownDescription": "A reference to an existing structure."
9170
9155
  },
9171
9156
  "type.structure": {
9172
- "title": "Structure",
9173
- "description": "This key defines data formats when adding new items to arrays and objects, with options for how editors choose from available values.",
9174
9157
  "type": "object",
9175
9158
  "properties": {
9176
9159
  "reorder_inputs": {
@@ -9206,11 +9189,11 @@
9206
9189
  "markdownDescription": "This key toggles whether CloudCannon will remove inputs that are not present in a Structure from a file before loading it in an Editing Interface.\n\nSetting this key to `true` will remove inputs that are not present in a Structure from a file before loading it in an Editing Interface. Non-Structure inputs will not be visible in the [Visual Editor](https://cloudcannon.com/documentation/articles/what-is-the-visual-editor/), [Content\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-content-editor/), or [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/), and saving the file\nwill remove them from the file before persisting the changes to your Git repository.\n\nYou can also configure this behavior for specific values of a Structure using `values[*].remove_extra_inputs`.\n\n## Examples\n\nIn this example, we want to delete old inputs that are not in the Structure from the associated file.\n\n```yaml\n_structures:\n related_articles:\n remove_extra_inputs: true\n values:\n - value:\n name:\n description:\n url:\n```"
9207
9190
  },
9208
9191
  "values": {
9209
- "description": "This key defines the options available for a Structure.\n\nYou must define this key for the Structure to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add the `title`, `subtitle`, `author`, `featured_image`, and `url` fields to Object or Array inputs that reference this Structure.\n\n```yaml\n_structures:\n related_articles:\n values:\n - label: Blog\n id:\n default: true\n tabbed: false\n tags:\n - blog\n value:\n title:\n subtitle:\n author:\n featured_image:\n url:\n _inputs:\n featured_image:\n type: image\n options:\n width: 50\n height: 50\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n - image\n - url\n preview:\n text:\n - template: \"{title}\"\n subtext:\n - template: \"By {author}\"\n image:\n - key: image\n picker_preview:\n text: Blog\n subtext: Add a related blog\n icon: post_add\n```",
9210
9192
  "type": "array",
9211
9193
  "items": {
9212
9194
  "$ref": "#/definitions/type.structure.values.[*]"
9213
9195
  },
9196
+ "description": "This key defines the options available for a Structure.\n\nYou must define this key for the Structure to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add the `title`, `subtitle`, `author`, `featured_image`, and `url` fields to Object or Array inputs that reference this Structure.\n\n```yaml\n_structures:\n related_articles:\n values:\n - label: Blog\n id:\n default: true\n tabbed: false\n tags:\n - blog\n value:\n title:\n subtitle:\n author:\n featured_image:\n url:\n _inputs:\n featured_image:\n type: image\n options:\n width: 50\n height: 50\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n - image\n - url\n preview:\n text:\n - template: \"{title}\"\n subtext:\n - template: \"By {author}\"\n image:\n - key: image\n picker_preview:\n text: Blog\n subtext: Add a related blog\n icon: post_add\n```",
9214
9197
  "documented": true,
9215
9198
  "title": "values",
9216
9199
  "markdownDescription": "This key defines the options available for a Structure.\n\nYou must define this key for the Structure to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add the `title`, `subtitle`, `author`, `featured_image`, and `url` fields to Object or Array inputs that reference this Structure.\n\n```yaml\n_structures:\n related_articles:\n values:\n - label: Blog\n id:\n default: true\n tabbed: false\n tags:\n - blog\n value:\n title:\n subtitle:\n author:\n featured_image:\n url:\n _inputs:\n featured_image:\n type: image\n options:\n width: 50\n height: 50\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n - image\n - url\n preview:\n text:\n - template: \"{title}\"\n subtext:\n - template: \"By {author}\"\n image:\n - key: image\n picker_preview:\n text: Blog\n subtext: Add a related blog\n icon: post_add\n```"
@@ -9254,12 +9237,12 @@
9254
9237
  "values"
9255
9238
  ],
9256
9239
  "additionalProperties": false,
9240
+ "title": "Structure",
9241
+ "description": "This key defines data formats when adding new items to arrays and objects, with options for how editors choose from available values.",
9257
9242
  "documented": true,
9258
9243
  "markdownDescription": "This key defines data formats when adding new items to arrays and objects, with options for how editors choose from available values."
9259
9244
  },
9260
9245
  "type.structure.values.[*]": {
9261
- "title": "Structure Value",
9262
- "description": "This key represents a single value option within a structure, defining the data format and appearance for content editors.",
9263
9246
  "type": "object",
9264
9247
  "properties": {
9265
9248
  "reorder_inputs": {
@@ -9520,9 +9503,24 @@
9520
9503
  "value"
9521
9504
  ],
9522
9505
  "additionalProperties": false,
9506
+ "title": "Structure Value",
9507
+ "description": "This key represents a single value option within a structure, defining the data format and appearance for content editors.",
9523
9508
  "documented": true,
9524
9509
  "markdownDescription": "This key represents a single value option within a structure, defining the data format and appearance for content editors."
9525
9510
  },
9511
+ "type._inputs": {
9512
+ "type": "object",
9513
+ "propertyNames": {
9514
+ "type": "string"
9515
+ },
9516
+ "additionalProperties": {
9517
+ "$ref": "#/definitions/Input"
9518
+ },
9519
+ "title": "Inputs",
9520
+ "description": "This key defines which inputs are available at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_inputs` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured the `date_created` key as a *Date and Time Input*, which will automatically populate when you create a file using this input. Editors cannot alter this input as the interface is disabled.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n comment: UTC +0 timezone\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n hidden: false\n disabled: true\n instance_value: NOW\n cascade: true\n options:\n timezone: Etc/UTC\n```\n\nIn this example, we have configured the `blog_tags` key as a *Multiselect Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n blog_tags:\n type: multiselect\n label: Blog type\n comment: Select a blog type\n context:\n open: false\n title: Help\n icon: help\n content: |\n Blog tags help our users filter articles by topic.\n options:\n values:\n - Opinion\n - Feature\n - Resource\n```",
9521
+ "documented": true,
9522
+ "markdownDescription": "This key defines which inputs are available at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_inputs` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured the `date_created` key as a *Date and Time Input*, which will automatically populate when you create a file using this input. Editors cannot alter this input as the interface is disabled.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n comment: UTC +0 timezone\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n hidden: false\n disabled: true\n instance_value: NOW\n cascade: true\n options:\n timezone: Etc/UTC\n```\n\nIn this example, we have configured the `blog_tags` key as a *Multiselect Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n blog_tags:\n type: multiselect\n label: Blog type\n comment: Select a blog type\n context:\n open: false\n title: Help\n icon: help\n content: |\n Blog tags help our users filter articles by topic.\n options:\n values:\n - Opinion\n - Feature\n - Resource\n```"
9523
+ },
9526
9524
  "type._inputs_from_glob": {
9527
9525
  "type": "array",
9528
9526
  "items": {
@@ -9538,27 +9536,23 @@
9538
9536
  "markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Input* configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.inputs.yml`.\n\nYou can use this key anywhere you would use the `_inputs` key in the configuration cascade.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have several *Input Configuration Files* in the `.cloudcannon/inputs/` folder, with each file containing multiple *Input* definitions. The value of the `_inputs_from_glob` key tells CloudCannon to only use the `seo.cloudcannon.inputs.yml` and `blog-details.cloudcannon.inputs.yml` files in that folder.\n\n```yaml\ncollections_config:\n posts:\n path: content/posts\n icon: event\n inputs_from_glob:\n - '/.cloudcannon/inputs/seo.cloudcannon.inputs.yml'\n - '/.cloudcannon/inputs/blogDetails.cloudcannon.inputs.yml'\n```\n\n```yaml\nseo_title:\n type: text\n options:\n required: true\n max_length: 50\nseo_description:\n type: textarea\n options:\n show_count: true\n required: true\n max_length: 125\nseo_image:\n type: image\n options:\n path:\n uploads: images\n accepts_mime_types:\n - image/png\n - image/jpeg\n required: true\n pattern: (?i)\\.(jpe?g|png)$\n pattern_message: Please select a JPG or PNG image file\n```"
9539
9537
  },
9540
9538
  "type._select_data": {
9541
- "title": "Select Data",
9542
- "description": "This key defines defines fixed data sets to populate Select and Multiselect inputs at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_select_data` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [Select and Multiselect inputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/#fixed-data-sets).\n\n## Examples\n\nIn this example, we have configured the `blog_tags` Multiselect input for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _select_data:\n blog_topics:\n - Opinion\n - Feature\n - Resource\n```",
9543
9539
  "type": "object",
9544
9540
  "propertyNames": {
9545
9541
  "type": "string"
9546
9542
  },
9547
9543
  "additionalProperties": {
9548
- "description": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects.",
9549
9544
  "anyOf": [
9550
9545
  {
9551
- "title": "Text Array Select Data",
9552
9546
  "type": "array",
9553
9547
  "items": {
9554
9548
  "type": "string",
9555
9549
  "documented": true,
9556
9550
  "title": "*(text-array)[*]"
9557
9551
  },
9552
+ "title": "Text Array Select Data",
9558
9553
  "documented": true
9559
9554
  },
9560
9555
  {
9561
- "title": "Text Object Select Data",
9562
9556
  "type": "object",
9563
9557
  "propertyNames": {
9564
9558
  "type": "string"
@@ -9568,10 +9562,10 @@
9568
9562
  "documented": true,
9569
9563
  "title": "*(text-object).*"
9570
9564
  },
9565
+ "title": "Text Object Select Data",
9571
9566
  "documented": true
9572
9567
  },
9573
9568
  {
9574
- "title": "Object Array Select Data",
9575
9569
  "type": "array",
9576
9570
  "items": {
9577
9571
  "type": "object",
@@ -9582,28 +9576,30 @@
9582
9576
  "documented": true,
9583
9577
  "title": "*(object-array)[*]"
9584
9578
  },
9579
+ "title": "Object Array Select Data",
9585
9580
  "documented": true
9586
9581
  },
9587
9582
  {
9588
- "title": "Object Select Data",
9589
9583
  "type": "object",
9590
9584
  "propertyNames": {
9591
9585
  "type": "string"
9592
9586
  },
9593
9587
  "additionalProperties": {},
9588
+ "title": "Object Select Data",
9594
9589
  "documented": true
9595
9590
  }
9596
9591
  ],
9592
+ "description": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects.",
9597
9593
  "documented": true,
9598
9594
  "title": "_select_data.*",
9599
9595
  "markdownDescription": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects."
9600
9596
  },
9597
+ "title": "Select Data",
9598
+ "description": "This key defines defines fixed data sets to populate Select and Multiselect inputs at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_select_data` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [Select and Multiselect inputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/#fixed-data-sets).\n\n## Examples\n\nIn this example, we have configured the `blog_tags` Multiselect input for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _select_data:\n blog_topics:\n - Opinion\n - Feature\n - Resource\n```",
9601
9599
  "documented": true,
9602
9600
  "markdownDescription": "This key defines defines fixed data sets to populate Select and Multiselect inputs at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_select_data` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [Select and Multiselect inputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/#fixed-data-sets).\n\n## Examples\n\nIn this example, we have configured the `blog_tags` Multiselect input for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _select_data:\n blog_topics:\n - Opinion\n - Feature\n - Resource\n```"
9603
9601
  },
9604
9602
  "type._structures": {
9605
- "title": "Structures",
9606
- "description": "This key defines which structures are available for [Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/) and [Array\ninputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/) at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_structures` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/).\n\n## Examples\n\nIn this example, we want to populate an Array input in the `blog` Collection with Related Articles, including the `name`, `description`, and `url` fields.\n\n```yaml\ncollections_config:\n blog:\n _structures:\n related_articles:\n style: select\n values:\n - preview:\n text:\n - key: name\n subtext:\n - key: url\n value:\n name:\n description:\n url:\n```\n\nIn this example, we want to populate an Array input with Staff members, including the `name`, `job_description`, and `profile_picture` fields for all staff types, and the `url` field for Managers only.\n\n```yaml\n_structures:\n staff:\n style: modal\n hide_extra_inputs: false\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```",
9607
9603
  "type": "object",
9608
9604
  "propertyNames": {
9609
9605
  "type": "string"
@@ -9611,6 +9607,8 @@
9611
9607
  "additionalProperties": {
9612
9608
  "$ref": "#/definitions/type.structure"
9613
9609
  },
9610
+ "title": "Structures",
9611
+ "description": "This key defines which structures are available for [Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/) and [Array\ninputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/) at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_structures` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/).\n\n## Examples\n\nIn this example, we want to populate an Array input in the `blog` Collection with Related Articles, including the `name`, `description`, and `url` fields.\n\n```yaml\ncollections_config:\n blog:\n _structures:\n related_articles:\n style: select\n values:\n - preview:\n text:\n - key: name\n subtext:\n - key: url\n value:\n name:\n description:\n url:\n```\n\nIn this example, we want to populate an Array input with Staff members, including the `name`, `job_description`, and `profile_picture` fields for all staff types, and the `url` field for Managers only.\n\n```yaml\n_structures:\n staff:\n style: modal\n hide_extra_inputs: false\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```",
9614
9612
  "documented": true,
9615
9613
  "markdownDescription": "This key defines which structures are available for [Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/) and [Array\ninputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/) at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_structures` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/).\n\n## Examples\n\nIn this example, we want to populate an Array input in the `blog` Collection with Related Articles, including the `name`, `description`, and `url` fields.\n\n```yaml\ncollections_config:\n blog:\n _structures:\n related_articles:\n style: select\n values:\n - preview:\n text:\n - key: name\n subtext:\n - key: url\n value:\n name:\n description:\n url:\n```\n\nIn this example, we want to populate an Array input with Staff members, including the `name`, `job_description`, and `profile_picture` fields for all staff types, and the `url` field for Managers only.\n\n```yaml\n_structures:\n staff:\n style: modal\n hide_extra_inputs: false\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```"
9616
9614
  },
@@ -9636,8 +9634,6 @@
9636
9634
  "markdownDescription": "This key defines the subtitle text above the key input when adding or renaming entries within a mutable *Object Input*.\n\nThe value is a string that supports a limited selection of Markdown formatting: links, bold, italic, subscript, superscript, and inline code elements are allowed.\n\nAvailable for Mutable Objects only.\n\n## Examples\n\nIn this example, we have configured a comment with Markdown formatting to provide help text above the key input.\n\n```yaml\n_inputs:\n metadata:\n type: object\n options:\n allow_create: true\n entries:\n comment: Key names should be **lowercase** and use underscores (e.g., `article_title`)\n```"
9637
9635
  },
9638
9636
  "ArrayInput": {
9639
- "title": "Array Input",
9640
- "description": "This key defines a user interface for lists of inputs or input groups.",
9641
9637
  "type": "object",
9642
9638
  "properties": {
9643
9639
  "comment": {
@@ -9682,15 +9678,14 @@
9682
9678
  "$ref": "#/definitions/type._inputs.*.cascade"
9683
9679
  },
9684
9680
  "type": {
9685
- "title": "Type",
9686
- "description": "This key defines the input type, which controls how this input appears and behaves.",
9687
9681
  "type": "string",
9688
9682
  "const": "array",
9683
+ "title": "Type",
9684
+ "description": "This key defines the input type, which controls how this input appears and behaves.",
9689
9685
  "documented": true,
9690
9686
  "markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
9691
9687
  },
9692
9688
  "options": {
9693
- "description": "This key defines options that are specific to Array Inputs.",
9694
9689
  "type": "object",
9695
9690
  "properties": {
9696
9691
  "required": {
@@ -9751,6 +9746,7 @@
9751
9746
  }
9752
9747
  },
9753
9748
  "additionalProperties": false,
9749
+ "description": "This key defines options that are specific to Array Inputs.",
9754
9750
  "documented": true,
9755
9751
  "title": "options",
9756
9752
  "markdownDescription": "This key defines options that are specific to Array Inputs."
@@ -9760,6 +9756,8 @@
9760
9756
  "type"
9761
9757
  ],
9762
9758
  "additionalProperties": false,
9759
+ "title": "Array Input",
9760
+ "description": "This key defines a user interface for lists of inputs or input groups.",
9763
9761
  "documented": true,
9764
9762
  "markdownDescription": "This key defines a user interface for lists of inputs or input groups."
9765
9763
  },
@@ -9788,9 +9786,6 @@
9788
9786
  "markdownDescription": "This key toggles whether CloudCannon will hide the controls on each item for moving them.\n\nSetting this key to `true` will hide the controls for moving items.\n\nBy default, this key is `false` (i.e., the controls for moving items are displayed)."
9789
9787
  },
9790
9788
  "AutoInput": {
9791
- "title": "Automatic Input",
9792
- "description": "Provides a default user interface based on the data contained.",
9793
- "excludeFromDocumentation": true,
9794
9789
  "type": "object",
9795
9790
  "properties": {
9796
9791
  "comment": {
@@ -9835,10 +9830,10 @@
9835
9830
  "$ref": "#/definitions/type._inputs.*.cascade"
9836
9831
  },
9837
9832
  "type": {
9838
- "title": "Type",
9839
- "description": "Sets an input type, which controls how this input appears and behaves.",
9840
9833
  "type": "string",
9841
9834
  "const": "auto",
9835
+ "title": "Type",
9836
+ "description": "Sets an input type, which controls how this input appears and behaves.",
9842
9837
  "documented": false,
9843
9838
  "markdownDescription": "Sets an input type, which controls how this input appears and behaves."
9844
9839
  },
@@ -9853,13 +9848,13 @@
9853
9848
  "type"
9854
9849
  ],
9855
9850
  "additionalProperties": false,
9851
+ "title": "Automatic Input",
9852
+ "description": "Provides a default user interface based on the data contained.",
9853
+ "excludeFromDocumentation": true,
9856
9854
  "documented": false,
9857
9855
  "markdownDescription": "Provides a default user interface based on the data contained."
9858
9856
  },
9859
9857
  "UnknownInput": {
9860
- "title": "Unknown Input",
9861
- "description": "Provides a default user interface based on the data contained.",
9862
- "excludeFromDocumentation": true,
9863
9858
  "type": "object",
9864
9859
  "properties": {
9865
9860
  "comment": {
@@ -9911,10 +9906,13 @@
9911
9906
  }
9912
9907
  },
9913
9908
  "additionalProperties": false,
9909
+ "title": "Unknown Input",
9910
+ "description": "Provides a default user interface based on the data contained.",
9911
+ "excludeFromDocumentation": true,
9914
9912
  "documented": false,
9915
9913
  "markdownDescription": "Provides a default user interface based on the data contained."
9916
9914
  }
9917
9915
  },
9918
9916
  "documented": false,
9919
- "markdownDescription": "Controls the behavior and appearance of your inputs in all data editing interfaces."
9917
+ "title": ""
9920
9918
  }