@cloudcannon/configuration-types 0.0.52 → 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.
- package/dist/cloudcannon-collections.schema.json +1230 -2147
- package/dist/cloudcannon-config.documentation.schema.json +781 -489
- package/dist/cloudcannon-config.latest.schema.json +570 -256
- package/dist/cloudcannon-config.legacy-eleventy.schema.json +606 -315
- package/dist/cloudcannon-config.legacy-hugo.schema.json +606 -315
- package/dist/cloudcannon-config.legacy-jekyll.schema.json +606 -315
- package/dist/cloudcannon-config.legacy-reader.schema.json +607 -316
- package/dist/cloudcannon-editables.schema.json +196 -332
- package/dist/cloudcannon-initial-site-settings.documentation.schema.json +15 -15
- package/dist/cloudcannon-initial-site-settings.schema.json +9 -9
- package/dist/cloudcannon-inputs.schema.json +499 -187
- package/dist/cloudcannon-routing.documentation.schema.json +23 -23
- package/dist/cloudcannon-routing.schema.json +13 -13
- package/dist/cloudcannon-schemas.schema.json +495 -181
- package/dist/cloudcannon-snippets-definitions.schema.json +21 -21
- package/dist/cloudcannon-snippets-imports.schema.json +55 -55
- package/dist/cloudcannon-snippets.schema.json +499 -185
- package/dist/cloudcannon-structure-value.schema.json +856 -541
- package/dist/cloudcannon-structures.schema.json +499 -187
- package/dist/documentation.json +1302 -14
- package/package.json +4 -4
- package/src/inputs.ts +50 -3
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"title": "Structures",
|
|
4
|
-
"description": "Structured values for editors adding new items to arrays and objects. Entries here can be referenced in the configuration for `array` or `object` inputs.",
|
|
5
3
|
"$id": "https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-structures.schema.json",
|
|
6
4
|
"allOf": [
|
|
7
5
|
{
|
|
@@ -9,22 +7,7 @@
|
|
|
9
7
|
}
|
|
10
8
|
],
|
|
11
9
|
"definitions": {
|
|
12
|
-
"type._structures": {
|
|
13
|
-
"title": "Structures",
|
|
14
|
-
"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```",
|
|
15
|
-
"type": "object",
|
|
16
|
-
"propertyNames": {
|
|
17
|
-
"type": "string"
|
|
18
|
-
},
|
|
19
|
-
"additionalProperties": {
|
|
20
|
-
"$ref": "#/definitions/type.structure"
|
|
21
|
-
},
|
|
22
|
-
"documented": true,
|
|
23
|
-
"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```"
|
|
24
|
-
},
|
|
25
10
|
"type.structure": {
|
|
26
|
-
"title": "Structure",
|
|
27
|
-
"description": "This key defines data formats when adding new items to arrays and objects, with options for how editors choose from available values.",
|
|
28
11
|
"type": "object",
|
|
29
12
|
"properties": {
|
|
30
13
|
"reorder_inputs": {
|
|
@@ -60,11 +43,11 @@
|
|
|
60
43
|
"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```"
|
|
61
44
|
},
|
|
62
45
|
"values": {
|
|
63
|
-
"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```",
|
|
64
46
|
"type": "array",
|
|
65
47
|
"items": {
|
|
66
48
|
"$ref": "#/definitions/type.structure.values.[*]"
|
|
67
49
|
},
|
|
50
|
+
"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```",
|
|
68
51
|
"documented": true,
|
|
69
52
|
"title": "values",
|
|
70
53
|
"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```"
|
|
@@ -75,13 +58,13 @@
|
|
|
75
58
|
"type": "string",
|
|
76
59
|
"documented": true,
|
|
77
60
|
"title": "values_from_glob[*]",
|
|
78
|
-
"description": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n
|
|
79
|
-
"markdownDescription": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n
|
|
61
|
+
"description": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```",
|
|
62
|
+
"markdownDescription": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```"
|
|
80
63
|
},
|
|
81
64
|
"documented": true,
|
|
82
65
|
"title": "values_from_glob",
|
|
83
|
-
"description": "This key defines globs that filter which files CloudCannon should use for *Structure* value 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.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n
|
|
84
|
-
"markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Structure* value 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.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n
|
|
66
|
+
"description": "This key defines globs that filter which files CloudCannon should use for *Structure* value 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.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```\n\n```yaml\nlabel: Board\nvalue:\n name:\n title:\n profile_picture:\n url:\n description:\n```",
|
|
67
|
+
"markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Structure* value 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.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```\n\n```yaml\nlabel: Board\nvalue:\n name:\n title:\n profile_picture:\n url:\n description:\n```"
|
|
85
68
|
},
|
|
86
69
|
"id_key": {
|
|
87
70
|
"description": "This key defines which key within `values[*].value` CloudCannon should use to identify the Structure option.\n\nIf CloudCannon cannot find this key in a Structure value, it will compare all other key names in the Structure value to find the correct one.\n\nBy default, this key is `_type`.\n\n## Examples\n\nIn this example, we have change the `id_key` from the default `_type` to `component` to match our existing configuration in the `content_blocks` Array input.\n\n```yaml\n_inputs:\n content_blocks___1___:\n type: array\n options:\n structures: _structures.page_components\n_structures:\n page_components:\n id_key___2___: component\n values:\n - label: Hero Component\n value:\n component___3___: hero\n title:\n description:\n image_path:\n link:\n text:\n url:\n - label: Feature Component\n value:\n component: feature\n image_path:\n title:\n description:\n button:\n link:\n text:\n reversed_layout: false\n - label: Video Component\n value:\n component: video\n image_path:\n videoUrl:\n```",
|
|
@@ -108,12 +91,12 @@
|
|
|
108
91
|
"values"
|
|
109
92
|
],
|
|
110
93
|
"additionalProperties": false,
|
|
94
|
+
"title": "Structure",
|
|
95
|
+
"description": "This key defines data formats when adding new items to arrays and objects, with options for how editors choose from available values.",
|
|
111
96
|
"documented": true,
|
|
112
97
|
"markdownDescription": "This key defines data formats when adding new items to arrays and objects, with options for how editors choose from available values."
|
|
113
98
|
},
|
|
114
99
|
"type.structure.values.[*]": {
|
|
115
|
-
"title": "Structure Value",
|
|
116
|
-
"description": "This key represents a single value option within a structure, defining the data format and appearance for content editors.",
|
|
117
100
|
"type": "object",
|
|
118
101
|
"properties": {
|
|
119
102
|
"reorder_inputs": {
|
|
@@ -374,11 +357,12 @@
|
|
|
374
357
|
"value"
|
|
375
358
|
],
|
|
376
359
|
"additionalProperties": false,
|
|
360
|
+
"title": "Structure Value",
|
|
361
|
+
"description": "This key represents a single value option within a structure, defining the data format and appearance for content editors.",
|
|
377
362
|
"documented": true,
|
|
378
363
|
"markdownDescription": "This key represents a single value option within a structure, defining the data format and appearance for content editors."
|
|
379
364
|
},
|
|
380
365
|
"type.preview": {
|
|
381
|
-
"title": "Preview",
|
|
382
366
|
"type": "object",
|
|
383
367
|
"properties": {
|
|
384
368
|
"text": {
|
|
@@ -410,6 +394,7 @@
|
|
|
410
394
|
}
|
|
411
395
|
},
|
|
412
396
|
"additionalProperties": false,
|
|
397
|
+
"title": "Preview",
|
|
413
398
|
"documented": true,
|
|
414
399
|
"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```",
|
|
415
400
|
"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```"
|
|
@@ -441,17 +426,16 @@
|
|
|
441
426
|
"title": "text(previewentries)"
|
|
442
427
|
},
|
|
443
428
|
"type.preview-entry.(array)": {
|
|
444
|
-
"title": "Array Preview Entry",
|
|
445
429
|
"type": "array",
|
|
446
430
|
"items": {
|
|
447
431
|
"$ref": "#/definitions/type.preview-entry"
|
|
448
432
|
},
|
|
433
|
+
"title": "Array Preview Entry",
|
|
449
434
|
"documented": true,
|
|
450
435
|
"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```",
|
|
451
436
|
"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```"
|
|
452
437
|
},
|
|
453
438
|
"type.preview-entry": {
|
|
454
|
-
"title": "Preview Entry",
|
|
455
439
|
"anyOf": [
|
|
456
440
|
{
|
|
457
441
|
"$ref": "#/definitions/type.preview-entry.(key)"
|
|
@@ -469,17 +453,17 @@
|
|
|
469
453
|
"$ref": "#/definitions/type.preview-entry.(false)"
|
|
470
454
|
}
|
|
471
455
|
],
|
|
456
|
+
"title": "Preview Entry",
|
|
472
457
|
"documented": true,
|
|
473
458
|
"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```",
|
|
474
459
|
"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```"
|
|
475
460
|
},
|
|
476
461
|
"type.preview-entry.(key)": {
|
|
477
|
-
"title": "Key Preview Entry",
|
|
478
462
|
"type": "object",
|
|
479
463
|
"properties": {
|
|
480
464
|
"key": {
|
|
481
|
-
"title": "Key Value",
|
|
482
465
|
"type": "string",
|
|
466
|
+
"title": "Key Value",
|
|
483
467
|
"documented": true,
|
|
484
468
|
"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```",
|
|
485
469
|
"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```"
|
|
@@ -489,17 +473,17 @@
|
|
|
489
473
|
"key"
|
|
490
474
|
],
|
|
491
475
|
"additionalProperties": false,
|
|
476
|
+
"title": "Key Preview Entry",
|
|
492
477
|
"documented": true,
|
|
493
478
|
"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```",
|
|
494
479
|
"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```"
|
|
495
480
|
},
|
|
496
481
|
"type.preview-entry.(template)": {
|
|
497
|
-
"title": "Template Preview Entry",
|
|
498
482
|
"type": "object",
|
|
499
483
|
"properties": {
|
|
500
484
|
"template": {
|
|
501
|
-
"title": "Template Value",
|
|
502
485
|
"type": "string",
|
|
486
|
+
"title": "Template Value",
|
|
503
487
|
"documented": true,
|
|
504
488
|
"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```",
|
|
505
489
|
"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```"
|
|
@@ -509,17 +493,17 @@
|
|
|
509
493
|
"template"
|
|
510
494
|
],
|
|
511
495
|
"additionalProperties": false,
|
|
496
|
+
"title": "Template Preview Entry",
|
|
512
497
|
"documented": true,
|
|
513
498
|
"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```",
|
|
514
499
|
"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```"
|
|
515
500
|
},
|
|
516
501
|
"type.preview-entry.(text)": {
|
|
517
|
-
"title": "Text Preview Entry",
|
|
518
502
|
"type": "object",
|
|
519
503
|
"properties": {
|
|
520
504
|
"text": {
|
|
521
|
-
"title": "Text Value",
|
|
522
505
|
"type": "string",
|
|
506
|
+
"title": "Text Value",
|
|
523
507
|
"documented": true,
|
|
524
508
|
"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```",
|
|
525
509
|
"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```"
|
|
@@ -529,21 +513,22 @@
|
|
|
529
513
|
"text"
|
|
530
514
|
],
|
|
531
515
|
"additionalProperties": false,
|
|
516
|
+
"title": "Text Preview Entry",
|
|
532
517
|
"documented": true,
|
|
533
518
|
"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```",
|
|
534
519
|
"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```"
|
|
535
520
|
},
|
|
536
521
|
"type.preview-entry.(raw-text)": {
|
|
537
|
-
"title": "Raw Text Preview Entry",
|
|
538
522
|
"type": "string",
|
|
523
|
+
"title": "Raw Text Preview Entry",
|
|
539
524
|
"documented": true,
|
|
540
525
|
"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```",
|
|
541
526
|
"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```"
|
|
542
527
|
},
|
|
543
528
|
"type.preview-entry.(false)": {
|
|
544
|
-
"title": "False Preview Entry",
|
|
545
529
|
"type": "boolean",
|
|
546
530
|
"const": false,
|
|
531
|
+
"title": "False Preview Entry",
|
|
547
532
|
"documented": true,
|
|
548
533
|
"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```",
|
|
549
534
|
"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```"
|
|
@@ -720,8 +705,6 @@
|
|
|
720
705
|
"markdownDescription": "This key defines the appearance of a Card when choosing an item to create. This uses `preview` as a base, and keys inside this object are overrides.\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 Cards in inputs using the Structure `staff` when adding items.\n\n```yaml\n_structures:\n staff:\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n picker_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 picker_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```"
|
|
721
706
|
},
|
|
722
707
|
"type._inputs": {
|
|
723
|
-
"title": "Inputs",
|
|
724
|
-
"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```",
|
|
725
708
|
"type": "object",
|
|
726
709
|
"propertyNames": {
|
|
727
710
|
"type": "string"
|
|
@@ -729,15 +712,14 @@
|
|
|
729
712
|
"additionalProperties": {
|
|
730
713
|
"$ref": "#/definitions/Input"
|
|
731
714
|
},
|
|
715
|
+
"title": "Inputs",
|
|
716
|
+
"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```",
|
|
732
717
|
"documented": true,
|
|
733
718
|
"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```"
|
|
734
719
|
},
|
|
735
720
|
"Input": {
|
|
736
|
-
"title": "Input",
|
|
737
721
|
"anyOf": [
|
|
738
722
|
{
|
|
739
|
-
"title": "Known Input",
|
|
740
|
-
"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```",
|
|
741
723
|
"oneOf": [
|
|
742
724
|
{
|
|
743
725
|
"$ref": "#/definitions/TextInput"
|
|
@@ -797,6 +779,8 @@
|
|
|
797
779
|
"$ref": "#/definitions/AutoInput"
|
|
798
780
|
}
|
|
799
781
|
],
|
|
782
|
+
"title": "Known Input",
|
|
783
|
+
"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```",
|
|
800
784
|
"documented": true,
|
|
801
785
|
"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```"
|
|
802
786
|
},
|
|
@@ -804,13 +788,12 @@
|
|
|
804
788
|
"$ref": "#/definitions/UnknownInput"
|
|
805
789
|
}
|
|
806
790
|
],
|
|
791
|
+
"title": "Input",
|
|
807
792
|
"documented": true,
|
|
808
793
|
"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```",
|
|
809
794
|
"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```"
|
|
810
795
|
},
|
|
811
796
|
"TextInput": {
|
|
812
|
-
"title": "Text Input",
|
|
813
|
-
"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```",
|
|
814
797
|
"type": "object",
|
|
815
798
|
"properties": {
|
|
816
799
|
"comment": {
|
|
@@ -855,8 +838,6 @@
|
|
|
855
838
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
856
839
|
},
|
|
857
840
|
"type": {
|
|
858
|
-
"title": "Type",
|
|
859
|
-
"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```",
|
|
860
841
|
"type": "string",
|
|
861
842
|
"enum": [
|
|
862
843
|
"text",
|
|
@@ -868,11 +849,12 @@
|
|
|
868
849
|
"github",
|
|
869
850
|
"instagram"
|
|
870
851
|
],
|
|
852
|
+
"title": "Type",
|
|
853
|
+
"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```",
|
|
871
854
|
"documented": true,
|
|
872
855
|
"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```"
|
|
873
856
|
},
|
|
874
857
|
"options": {
|
|
875
|
-
"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```",
|
|
876
858
|
"type": "object",
|
|
877
859
|
"properties": {
|
|
878
860
|
"max_length": {
|
|
@@ -887,6 +869,33 @@
|
|
|
887
869
|
"min_length_message": {
|
|
888
870
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
889
871
|
},
|
|
872
|
+
"max_words": {
|
|
873
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
874
|
+
},
|
|
875
|
+
"max_words_message": {
|
|
876
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
877
|
+
},
|
|
878
|
+
"min_words": {
|
|
879
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
880
|
+
},
|
|
881
|
+
"min_words_message": {
|
|
882
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
883
|
+
},
|
|
884
|
+
"max_graphemes": {
|
|
885
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
886
|
+
},
|
|
887
|
+
"max_graphemes_message": {
|
|
888
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
889
|
+
},
|
|
890
|
+
"min_graphemes": {
|
|
891
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
892
|
+
},
|
|
893
|
+
"min_graphemes_message": {
|
|
894
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
895
|
+
},
|
|
896
|
+
"locale": {
|
|
897
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
898
|
+
},
|
|
890
899
|
"pattern": {
|
|
891
900
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
892
901
|
},
|
|
@@ -953,6 +962,7 @@
|
|
|
953
962
|
}
|
|
954
963
|
},
|
|
955
964
|
"additionalProperties": false,
|
|
965
|
+
"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```",
|
|
956
966
|
"documented": true,
|
|
957
967
|
"title": "options",
|
|
958
968
|
"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```"
|
|
@@ -962,6 +972,8 @@
|
|
|
962
972
|
"type"
|
|
963
973
|
],
|
|
964
974
|
"additionalProperties": false,
|
|
975
|
+
"title": "Text Input",
|
|
976
|
+
"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```",
|
|
965
977
|
"documented": true,
|
|
966
978
|
"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```"
|
|
967
979
|
},
|
|
@@ -973,7 +985,6 @@
|
|
|
973
985
|
"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```"
|
|
974
986
|
},
|
|
975
987
|
"type._inputs.*.context": {
|
|
976
|
-
"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```",
|
|
977
988
|
"type": "object",
|
|
978
989
|
"properties": {
|
|
979
990
|
"content": {
|
|
@@ -1011,13 +1022,12 @@
|
|
|
1011
1022
|
}
|
|
1012
1023
|
},
|
|
1013
1024
|
"additionalProperties": false,
|
|
1025
|
+
"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```",
|
|
1014
1026
|
"documented": true,
|
|
1015
1027
|
"title": "context",
|
|
1016
1028
|
"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```"
|
|
1017
1029
|
},
|
|
1018
1030
|
"icon": {
|
|
1019
|
-
"title": "Icon",
|
|
1020
|
-
"description": "Material Symbol icon names available in CloudCannon for UI elements and content previews.",
|
|
1021
1031
|
"type": "string",
|
|
1022
1032
|
"enum": [
|
|
1023
1033
|
"123",
|
|
@@ -4605,17 +4615,17 @@
|
|
|
4605
4615
|
"zoom_out",
|
|
4606
4616
|
"zoom_out_map"
|
|
4607
4617
|
],
|
|
4618
|
+
"title": "Icon",
|
|
4619
|
+
"description": "Material Symbol icon names available in CloudCannon for UI elements and content previews.",
|
|
4608
4620
|
"documented": false,
|
|
4609
4621
|
"markdownDescription": "Material Symbol icon names available in CloudCannon for UI elements and content previews."
|
|
4610
4622
|
},
|
|
4611
4623
|
"type.documentation": {
|
|
4612
|
-
"title": "Documentation",
|
|
4613
|
-
"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```",
|
|
4614
4624
|
"type": "object",
|
|
4615
4625
|
"properties": {
|
|
4616
4626
|
"url": {
|
|
4617
|
-
"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```",
|
|
4618
4627
|
"type": "string",
|
|
4628
|
+
"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```",
|
|
4619
4629
|
"documented": true,
|
|
4620
4630
|
"title": "url",
|
|
4621
4631
|
"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```"
|
|
@@ -4644,6 +4654,8 @@
|
|
|
4644
4654
|
"url"
|
|
4645
4655
|
],
|
|
4646
4656
|
"additionalProperties": false,
|
|
4657
|
+
"title": "Documentation",
|
|
4658
|
+
"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```",
|
|
4647
4659
|
"documented": true,
|
|
4648
4660
|
"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```"
|
|
4649
4661
|
},
|
|
@@ -4659,15 +4671,15 @@
|
|
|
4659
4671
|
"default": false,
|
|
4660
4672
|
"anyOf": [
|
|
4661
4673
|
{
|
|
4662
|
-
"title": "Boolean Hidden",
|
|
4663
4674
|
"type": "boolean",
|
|
4675
|
+
"title": "Boolean Hidden",
|
|
4664
4676
|
"documented": true,
|
|
4665
4677
|
"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```",
|
|
4666
4678
|
"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```"
|
|
4667
4679
|
},
|
|
4668
4680
|
{
|
|
4669
|
-
"title": "Query String Hidden",
|
|
4670
4681
|
"type": "string",
|
|
4682
|
+
"title": "Query String Hidden",
|
|
4671
4683
|
"documented": true,
|
|
4672
4684
|
"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```",
|
|
4673
4685
|
"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```"
|
|
@@ -4682,15 +4694,15 @@
|
|
|
4682
4694
|
"default": false,
|
|
4683
4695
|
"anyOf": [
|
|
4684
4696
|
{
|
|
4685
|
-
"title": "Boolean",
|
|
4686
4697
|
"type": "boolean",
|
|
4698
|
+
"title": "Boolean",
|
|
4687
4699
|
"documented": true,
|
|
4688
4700
|
"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```",
|
|
4689
4701
|
"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```"
|
|
4690
4702
|
},
|
|
4691
4703
|
{
|
|
4692
|
-
"title": "Query String",
|
|
4693
4704
|
"type": "string",
|
|
4705
|
+
"title": "Query String",
|
|
4694
4706
|
"documented": true,
|
|
4695
4707
|
"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```",
|
|
4696
4708
|
"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```"
|
|
@@ -4755,6 +4767,69 @@
|
|
|
4755
4767
|
"title": "min_length_message",
|
|
4756
4768
|
"markdownDescription": "This key defines a custom error message that explains why a value has failed the validation criteria from `options.min_length`.\n\nThis key requires you to define `options.min_length`.\n\nThis key has no default.\n\nThis key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.\n\n## Examples\n\nIn this example, we prompt our team to enter a valid number of characters using a custom message.\n\n```yaml\n_inputs:\n seo_description:\n type: markdown\n comment: Enter a brief description of this blog.\n options:\n max_length: 125\n max_length_message: You are only allowed 125 characters.\n min_length: 25\n min_length_message: Please write more than 25 characters.\n```"
|
|
4757
4769
|
},
|
|
4770
|
+
"type._inputs.*.options.max_words": {
|
|
4771
|
+
"description": "This key defines the maximum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
|
|
4772
|
+
"type": "number",
|
|
4773
|
+
"documented": true,
|
|
4774
|
+
"title": "max_words",
|
|
4775
|
+
"markdownDescription": "This key defines the maximum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
|
|
4776
|
+
},
|
|
4777
|
+
"type._inputs.*.options.max_words_message": {
|
|
4778
|
+
"description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_words.",
|
|
4779
|
+
"type": "string",
|
|
4780
|
+
"documented": true,
|
|
4781
|
+
"title": "max_words_message",
|
|
4782
|
+
"markdownDescription": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_words."
|
|
4783
|
+
},
|
|
4784
|
+
"type._inputs.*.options.min_words": {
|
|
4785
|
+
"description": "This key defines the minimum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
|
|
4786
|
+
"type": "number",
|
|
4787
|
+
"documented": true,
|
|
4788
|
+
"title": "min_words",
|
|
4789
|
+
"markdownDescription": "This key defines the minimum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
|
|
4790
|
+
},
|
|
4791
|
+
"type._inputs.*.options.min_words_message": {
|
|
4792
|
+
"description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_words`.",
|
|
4793
|
+
"type": "string",
|
|
4794
|
+
"documented": true,
|
|
4795
|
+
"title": "min_words_message",
|
|
4796
|
+
"markdownDescription": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_words`."
|
|
4797
|
+
},
|
|
4798
|
+
"type._inputs.*.options.max_graphemes": {
|
|
4799
|
+
"description": "This key defines the maximum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
|
|
4800
|
+
"type": "number",
|
|
4801
|
+
"documented": true,
|
|
4802
|
+
"title": "max_graphemes",
|
|
4803
|
+
"markdownDescription": "This key defines the maximum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
|
|
4804
|
+
},
|
|
4805
|
+
"type._inputs.*.options.max_graphemes_message": {
|
|
4806
|
+
"description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_graphemes.",
|
|
4807
|
+
"type": "string",
|
|
4808
|
+
"documented": true,
|
|
4809
|
+
"title": "max_graphemes_message",
|
|
4810
|
+
"markdownDescription": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_graphemes."
|
|
4811
|
+
},
|
|
4812
|
+
"type._inputs.*.options.min_graphemes": {
|
|
4813
|
+
"description": "This key defines the minimum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
|
|
4814
|
+
"type": "number",
|
|
4815
|
+
"documented": true,
|
|
4816
|
+
"title": "min_graphemes",
|
|
4817
|
+
"markdownDescription": "This key defines the minimum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
|
|
4818
|
+
},
|
|
4819
|
+
"type._inputs.*.options.min_graphemes_message": {
|
|
4820
|
+
"description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_graphemes`.",
|
|
4821
|
+
"type": "string",
|
|
4822
|
+
"documented": true,
|
|
4823
|
+
"title": "min_graphemes_message",
|
|
4824
|
+
"markdownDescription": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_graphemes`."
|
|
4825
|
+
},
|
|
4826
|
+
"type._inputs.*.options.locale": {
|
|
4827
|
+
"description": "This key defines the locale that CloudCannon uses to determine the number of words or graphemes in this Input, if you have `max_words`, `min_words`, `max_graphemes`, or `min_graphemes` configured.",
|
|
4828
|
+
"type": "string",
|
|
4829
|
+
"documented": true,
|
|
4830
|
+
"title": "locale",
|
|
4831
|
+
"markdownDescription": "This key defines the locale that CloudCannon uses to determine the number of words or graphemes in this Input, if you have `max_words`, `min_words`, `max_graphemes`, or `min_graphemes` configured."
|
|
4832
|
+
},
|
|
4758
4833
|
"type._inputs.*.options.pattern": {
|
|
4759
4834
|
"description": "This key defines a [regular expression](https://re2js.leopard.in.ua/) that the Input value must match.\n\nWhen configured, CloudCannon will require you to enter a value that matches the REGEX pattern.\n\nIf the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved\nchanges.\n\nValue must be a valid REGEX string.\n\nIf your REGEX string includes a `\\` character and CloudCannon Configuration File is a `.yml` file, use single quotes `'` around the string to avoid a\nbuild error.\n\nThis key has no default.\n\nThis key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.\n\nTo use this key in a Select Input, `allow_create` must be set to `true`.\n\n## Examples\n\nIn this example, we want our team to add an email address to the `contact_email` Input using the correct email format.\n\n```yaml\n_inputs:\n contact_email:\n type: email\n options:\n pattern: '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}'\n pattern_message: 'Please use the format ___@___.__'\n```",
|
|
4760
4835
|
"type": "string",
|
|
@@ -4843,8 +4918,8 @@
|
|
|
4843
4918
|
"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```"
|
|
4844
4919
|
},
|
|
4845
4920
|
"type._inputs.*.options.empty_type(text)": {
|
|
4846
|
-
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.",
|
|
4847
4921
|
"default": "null",
|
|
4922
|
+
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.",
|
|
4848
4923
|
"type": "string",
|
|
4849
4924
|
"enum": [
|
|
4850
4925
|
"null",
|
|
@@ -4855,8 +4930,6 @@
|
|
|
4855
4930
|
"markdownDescription": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values."
|
|
4856
4931
|
},
|
|
4857
4932
|
"TextareaInput": {
|
|
4858
|
-
"title": "Textarea Input",
|
|
4859
|
-
"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```",
|
|
4860
4933
|
"type": "object",
|
|
4861
4934
|
"properties": {
|
|
4862
4935
|
"comment": {
|
|
@@ -4901,15 +4974,14 @@
|
|
|
4901
4974
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
4902
4975
|
},
|
|
4903
4976
|
"type": {
|
|
4904
|
-
"title": "Type",
|
|
4905
|
-
"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```",
|
|
4906
4977
|
"type": "string",
|
|
4907
4978
|
"const": "textarea",
|
|
4979
|
+
"title": "Type",
|
|
4980
|
+
"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```",
|
|
4908
4981
|
"documented": true,
|
|
4909
4982
|
"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```"
|
|
4910
4983
|
},
|
|
4911
4984
|
"options": {
|
|
4912
|
-
"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```",
|
|
4913
4985
|
"type": "object",
|
|
4914
4986
|
"properties": {
|
|
4915
4987
|
"max_length": {
|
|
@@ -4924,6 +4996,33 @@
|
|
|
4924
4996
|
"min_length_message": {
|
|
4925
4997
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
4926
4998
|
},
|
|
4999
|
+
"max_words": {
|
|
5000
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
5001
|
+
},
|
|
5002
|
+
"max_words_message": {
|
|
5003
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
5004
|
+
},
|
|
5005
|
+
"min_words": {
|
|
5006
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
5007
|
+
},
|
|
5008
|
+
"min_words_message": {
|
|
5009
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
5010
|
+
},
|
|
5011
|
+
"max_graphemes": {
|
|
5012
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
5013
|
+
},
|
|
5014
|
+
"max_graphemes_message": {
|
|
5015
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
5016
|
+
},
|
|
5017
|
+
"min_graphemes": {
|
|
5018
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
5019
|
+
},
|
|
5020
|
+
"min_graphemes_message": {
|
|
5021
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
5022
|
+
},
|
|
5023
|
+
"locale": {
|
|
5024
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
5025
|
+
},
|
|
4927
5026
|
"pattern": {
|
|
4928
5027
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
4929
5028
|
},
|
|
@@ -4965,6 +5064,7 @@
|
|
|
4965
5064
|
}
|
|
4966
5065
|
},
|
|
4967
5066
|
"additionalProperties": false,
|
|
5067
|
+
"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```",
|
|
4968
5068
|
"documented": true,
|
|
4969
5069
|
"title": "options",
|
|
4970
5070
|
"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```"
|
|
@@ -4974,12 +5074,12 @@
|
|
|
4974
5074
|
"type"
|
|
4975
5075
|
],
|
|
4976
5076
|
"additionalProperties": false,
|
|
5077
|
+
"title": "Textarea Input",
|
|
5078
|
+
"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```",
|
|
4977
5079
|
"documented": true,
|
|
4978
5080
|
"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```"
|
|
4979
5081
|
},
|
|
4980
5082
|
"CodeInput": {
|
|
4981
|
-
"title": "Code Input",
|
|
4982
|
-
"description": "This key defines an editing interface for code or mono-spaced plain text content.",
|
|
4983
5083
|
"type": "object",
|
|
4984
5084
|
"properties": {
|
|
4985
5085
|
"comment": {
|
|
@@ -5024,15 +5124,14 @@
|
|
|
5024
5124
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5025
5125
|
},
|
|
5026
5126
|
"type": {
|
|
5027
|
-
"title": "Type",
|
|
5028
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5029
5127
|
"type": "string",
|
|
5030
5128
|
"const": "code",
|
|
5129
|
+
"title": "Type",
|
|
5130
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5031
5131
|
"documented": true,
|
|
5032
5132
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5033
5133
|
},
|
|
5034
5134
|
"options": {
|
|
5035
|
-
"description": "This key defines options that are specific to Code Inputs.",
|
|
5036
5135
|
"type": "object",
|
|
5037
5136
|
"properties": {
|
|
5038
5137
|
"tab_size": {
|
|
@@ -5083,6 +5182,33 @@
|
|
|
5083
5182
|
"min_length_message": {
|
|
5084
5183
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
5085
5184
|
},
|
|
5185
|
+
"max_words": {
|
|
5186
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
5187
|
+
},
|
|
5188
|
+
"max_words_message": {
|
|
5189
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
5190
|
+
},
|
|
5191
|
+
"min_words": {
|
|
5192
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
5193
|
+
},
|
|
5194
|
+
"min_words_message": {
|
|
5195
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
5196
|
+
},
|
|
5197
|
+
"max_graphemes": {
|
|
5198
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
5199
|
+
},
|
|
5200
|
+
"max_graphemes_message": {
|
|
5201
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
5202
|
+
},
|
|
5203
|
+
"min_graphemes": {
|
|
5204
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
5205
|
+
},
|
|
5206
|
+
"min_graphemes_message": {
|
|
5207
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
5208
|
+
},
|
|
5209
|
+
"locale": {
|
|
5210
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
5211
|
+
},
|
|
5086
5212
|
"pattern": {
|
|
5087
5213
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
5088
5214
|
},
|
|
@@ -5134,6 +5260,7 @@
|
|
|
5134
5260
|
}
|
|
5135
5261
|
},
|
|
5136
5262
|
"additionalProperties": false,
|
|
5263
|
+
"description": "This key defines options that are specific to Code Inputs.",
|
|
5137
5264
|
"documented": true,
|
|
5138
5265
|
"title": "options",
|
|
5139
5266
|
"markdownDescription": "This key defines options that are specific to Code Inputs."
|
|
@@ -5143,6 +5270,8 @@
|
|
|
5143
5270
|
"type"
|
|
5144
5271
|
],
|
|
5145
5272
|
"additionalProperties": false,
|
|
5273
|
+
"title": "Code Input",
|
|
5274
|
+
"description": "This key defines an editing interface for code or mono-spaced plain text content.",
|
|
5146
5275
|
"documented": true,
|
|
5147
5276
|
"markdownDescription": "This key defines an editing interface for code or mono-spaced plain text content."
|
|
5148
5277
|
},
|
|
@@ -5179,8 +5308,6 @@
|
|
|
5179
5308
|
"title": "theme(theme)"
|
|
5180
5309
|
},
|
|
5181
5310
|
"Syntax": {
|
|
5182
|
-
"title": "Syntax",
|
|
5183
|
-
"description": "Available syntax highlighting languages for code editors in CloudCannon.",
|
|
5184
5311
|
"type": "string",
|
|
5185
5312
|
"enum": [
|
|
5186
5313
|
"c_cpp",
|
|
@@ -5252,12 +5379,12 @@
|
|
|
5252
5379
|
"xquery",
|
|
5253
5380
|
"yaml"
|
|
5254
5381
|
],
|
|
5382
|
+
"title": "Syntax",
|
|
5383
|
+
"description": "Available syntax highlighting languages for code editors in CloudCannon.",
|
|
5255
5384
|
"documented": false,
|
|
5256
5385
|
"markdownDescription": "Available syntax highlighting languages for code editors in CloudCannon."
|
|
5257
5386
|
},
|
|
5258
5387
|
"ColorInput": {
|
|
5259
|
-
"title": "Color Input",
|
|
5260
|
-
"description": "This key defines an editing interface for color values.",
|
|
5261
5388
|
"type": "object",
|
|
5262
5389
|
"properties": {
|
|
5263
5390
|
"comment": {
|
|
@@ -5302,15 +5429,14 @@
|
|
|
5302
5429
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5303
5430
|
},
|
|
5304
5431
|
"type": {
|
|
5305
|
-
"title": "Type",
|
|
5306
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5307
5432
|
"type": "string",
|
|
5308
5433
|
"const": "color",
|
|
5434
|
+
"title": "Type",
|
|
5435
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5309
5436
|
"documented": true,
|
|
5310
5437
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5311
5438
|
},
|
|
5312
5439
|
"options": {
|
|
5313
|
-
"description": "This key defines options that are specific to Color Inputs.",
|
|
5314
5440
|
"type": "object",
|
|
5315
5441
|
"properties": {
|
|
5316
5442
|
"max_length": {
|
|
@@ -5325,6 +5451,33 @@
|
|
|
5325
5451
|
"min_length_message": {
|
|
5326
5452
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
5327
5453
|
},
|
|
5454
|
+
"max_words": {
|
|
5455
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
5456
|
+
},
|
|
5457
|
+
"max_words_message": {
|
|
5458
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
5459
|
+
},
|
|
5460
|
+
"min_words": {
|
|
5461
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
5462
|
+
},
|
|
5463
|
+
"min_words_message": {
|
|
5464
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
5465
|
+
},
|
|
5466
|
+
"max_graphemes": {
|
|
5467
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
5468
|
+
},
|
|
5469
|
+
"max_graphemes_message": {
|
|
5470
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
5471
|
+
},
|
|
5472
|
+
"min_graphemes": {
|
|
5473
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
5474
|
+
},
|
|
5475
|
+
"min_graphemes_message": {
|
|
5476
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
5477
|
+
},
|
|
5478
|
+
"locale": {
|
|
5479
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
5480
|
+
},
|
|
5328
5481
|
"pattern": {
|
|
5329
5482
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
5330
5483
|
},
|
|
@@ -5393,6 +5546,7 @@
|
|
|
5393
5546
|
}
|
|
5394
5547
|
},
|
|
5395
5548
|
"additionalProperties": false,
|
|
5549
|
+
"description": "This key defines options that are specific to Color Inputs.",
|
|
5396
5550
|
"documented": true,
|
|
5397
5551
|
"title": "options",
|
|
5398
5552
|
"markdownDescription": "This key defines options that are specific to Color Inputs."
|
|
@@ -5402,12 +5556,12 @@
|
|
|
5402
5556
|
"type"
|
|
5403
5557
|
],
|
|
5404
5558
|
"additionalProperties": false,
|
|
5559
|
+
"title": "Color Input",
|
|
5560
|
+
"description": "This key defines an editing interface for color values.",
|
|
5405
5561
|
"documented": true,
|
|
5406
5562
|
"markdownDescription": "This key defines an editing interface for color values."
|
|
5407
5563
|
},
|
|
5408
5564
|
"BooleanInput": {
|
|
5409
|
-
"title": "Boolean Input",
|
|
5410
|
-
"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```",
|
|
5411
5565
|
"type": "object",
|
|
5412
5566
|
"properties": {
|
|
5413
5567
|
"comment": {
|
|
@@ -5452,13 +5606,13 @@
|
|
|
5452
5606
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5453
5607
|
},
|
|
5454
5608
|
"type": {
|
|
5455
|
-
"title": "Type",
|
|
5456
|
-
"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```",
|
|
5457
5609
|
"type": "string",
|
|
5458
5610
|
"enum": [
|
|
5459
5611
|
"checkbox",
|
|
5460
5612
|
"switch"
|
|
5461
5613
|
],
|
|
5614
|
+
"title": "Type",
|
|
5615
|
+
"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```",
|
|
5462
5616
|
"documented": true,
|
|
5463
5617
|
"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```"
|
|
5464
5618
|
}
|
|
@@ -5467,12 +5621,12 @@
|
|
|
5467
5621
|
"type"
|
|
5468
5622
|
],
|
|
5469
5623
|
"additionalProperties": false,
|
|
5624
|
+
"title": "Boolean Input",
|
|
5625
|
+
"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```",
|
|
5470
5626
|
"documented": true,
|
|
5471
5627
|
"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```"
|
|
5472
5628
|
},
|
|
5473
5629
|
"NumberInput": {
|
|
5474
|
-
"title": "Number Input",
|
|
5475
|
-
"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```",
|
|
5476
5630
|
"type": "object",
|
|
5477
5631
|
"properties": {
|
|
5478
5632
|
"comment": {
|
|
@@ -5517,15 +5671,14 @@
|
|
|
5517
5671
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5518
5672
|
},
|
|
5519
5673
|
"type": {
|
|
5520
|
-
"title": "Type",
|
|
5521
|
-
"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```",
|
|
5522
5674
|
"type": "string",
|
|
5523
5675
|
"const": "number",
|
|
5676
|
+
"title": "Type",
|
|
5677
|
+
"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```",
|
|
5524
5678
|
"documented": true,
|
|
5525
5679
|
"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```"
|
|
5526
5680
|
},
|
|
5527
5681
|
"options": {
|
|
5528
|
-
"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```",
|
|
5529
5682
|
"type": "object",
|
|
5530
5683
|
"properties": {
|
|
5531
5684
|
"required": {
|
|
@@ -5572,6 +5725,7 @@
|
|
|
5572
5725
|
}
|
|
5573
5726
|
},
|
|
5574
5727
|
"additionalProperties": false,
|
|
5728
|
+
"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```",
|
|
5575
5729
|
"documented": true,
|
|
5576
5730
|
"title": "options",
|
|
5577
5731
|
"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```"
|
|
@@ -5581,12 +5735,14 @@
|
|
|
5581
5735
|
"type"
|
|
5582
5736
|
],
|
|
5583
5737
|
"additionalProperties": false,
|
|
5738
|
+
"title": "Number Input",
|
|
5739
|
+
"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```",
|
|
5584
5740
|
"documented": true,
|
|
5585
5741
|
"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```"
|
|
5586
5742
|
},
|
|
5587
5743
|
"type._inputs.*.options.empty_type(number)": {
|
|
5588
|
-
"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```",
|
|
5589
5744
|
"default": "null",
|
|
5745
|
+
"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```",
|
|
5590
5746
|
"type": "string",
|
|
5591
5747
|
"enum": [
|
|
5592
5748
|
"null",
|
|
@@ -5597,15 +5753,15 @@
|
|
|
5597
5753
|
"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```"
|
|
5598
5754
|
},
|
|
5599
5755
|
"type._inputs.*.options.min": {
|
|
5600
|
-
"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```",
|
|
5601
5756
|
"type": "number",
|
|
5757
|
+
"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```",
|
|
5602
5758
|
"documented": true,
|
|
5603
5759
|
"title": "min",
|
|
5604
5760
|
"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```"
|
|
5605
5761
|
},
|
|
5606
5762
|
"type._inputs.*.options.max": {
|
|
5607
|
-
"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```",
|
|
5608
5763
|
"type": "number",
|
|
5764
|
+
"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```",
|
|
5609
5765
|
"documented": true,
|
|
5610
5766
|
"title": "max",
|
|
5611
5767
|
"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```"
|
|
@@ -5632,8 +5788,6 @@
|
|
|
5632
5788
|
"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```"
|
|
5633
5789
|
},
|
|
5634
5790
|
"RangeInput": {
|
|
5635
|
-
"title": "Range Input",
|
|
5636
|
-
"description": "This key defines a slider interface for selecting a numeric value.",
|
|
5637
5791
|
"type": "object",
|
|
5638
5792
|
"properties": {
|
|
5639
5793
|
"comment": {
|
|
@@ -5678,15 +5832,14 @@
|
|
|
5678
5832
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5679
5833
|
},
|
|
5680
5834
|
"type": {
|
|
5681
|
-
"title": "Type",
|
|
5682
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5683
5835
|
"type": "string",
|
|
5684
5836
|
"const": "range",
|
|
5837
|
+
"title": "Type",
|
|
5838
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5685
5839
|
"documented": true,
|
|
5686
5840
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5687
5841
|
},
|
|
5688
5842
|
"options": {
|
|
5689
|
-
"description": "This key defines options that are specific to Range Inputs.",
|
|
5690
5843
|
"type": "object",
|
|
5691
5844
|
"properties": {
|
|
5692
5845
|
"required": {
|
|
@@ -5725,6 +5878,7 @@
|
|
|
5725
5878
|
"max"
|
|
5726
5879
|
],
|
|
5727
5880
|
"additionalProperties": false,
|
|
5881
|
+
"description": "This key defines options that are specific to Range Inputs.",
|
|
5728
5882
|
"documented": true,
|
|
5729
5883
|
"title": "options",
|
|
5730
5884
|
"markdownDescription": "This key defines options that are specific to Range Inputs."
|
|
@@ -5734,12 +5888,12 @@
|
|
|
5734
5888
|
"type"
|
|
5735
5889
|
],
|
|
5736
5890
|
"additionalProperties": false,
|
|
5891
|
+
"title": "Range Input",
|
|
5892
|
+
"description": "This key defines a slider interface for selecting a numeric value.",
|
|
5737
5893
|
"documented": true,
|
|
5738
5894
|
"markdownDescription": "This key defines a slider interface for selecting a numeric value."
|
|
5739
5895
|
},
|
|
5740
5896
|
"RichTextInput": {
|
|
5741
|
-
"title": "Rich Text Input",
|
|
5742
|
-
"description": "This key defines an editing interface for HTML markup content.",
|
|
5743
5897
|
"type": "object",
|
|
5744
5898
|
"properties": {
|
|
5745
5899
|
"comment": {
|
|
@@ -5784,18 +5938,17 @@
|
|
|
5784
5938
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5785
5939
|
},
|
|
5786
5940
|
"type": {
|
|
5787
|
-
"title": "Type",
|
|
5788
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5789
5941
|
"type": "string",
|
|
5790
5942
|
"enum": [
|
|
5791
5943
|
"html",
|
|
5792
5944
|
"markdown"
|
|
5793
5945
|
],
|
|
5946
|
+
"title": "Type",
|
|
5947
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5794
5948
|
"documented": true,
|
|
5795
5949
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5796
5950
|
},
|
|
5797
5951
|
"options": {
|
|
5798
|
-
"description": "This key defines options that are specific to Rich Text Inputs.",
|
|
5799
5952
|
"type": "object",
|
|
5800
5953
|
"properties": {
|
|
5801
5954
|
"mime_type": {
|
|
@@ -5948,6 +6101,33 @@
|
|
|
5948
6101
|
"min_length_message": {
|
|
5949
6102
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
5950
6103
|
},
|
|
6104
|
+
"max_words": {
|
|
6105
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
6106
|
+
},
|
|
6107
|
+
"max_words_message": {
|
|
6108
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
6109
|
+
},
|
|
6110
|
+
"min_words": {
|
|
6111
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
6112
|
+
},
|
|
6113
|
+
"min_words_message": {
|
|
6114
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
6115
|
+
},
|
|
6116
|
+
"max_graphemes": {
|
|
6117
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
6118
|
+
},
|
|
6119
|
+
"max_graphemes_message": {
|
|
6120
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
6121
|
+
},
|
|
6122
|
+
"min_graphemes": {
|
|
6123
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
6124
|
+
},
|
|
6125
|
+
"min_graphemes_message": {
|
|
6126
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
6127
|
+
},
|
|
6128
|
+
"locale": {
|
|
6129
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
6130
|
+
},
|
|
5951
6131
|
"pattern": {
|
|
5952
6132
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
5953
6133
|
},
|
|
@@ -5973,12 +6153,20 @@
|
|
|
5973
6153
|
"title": "empty_type"
|
|
5974
6154
|
},
|
|
5975
6155
|
"allow_resize": {
|
|
5976
|
-
"
|
|
5977
|
-
"default": false,
|
|
6156
|
+
"deprecated": true,
|
|
5978
6157
|
"type": "boolean",
|
|
5979
6158
|
"documented": true,
|
|
5980
6159
|
"title": "allow_resize",
|
|
5981
|
-
"
|
|
6160
|
+
"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).",
|
|
6161
|
+
"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)."
|
|
6162
|
+
},
|
|
6163
|
+
"prevent_resize": {
|
|
6164
|
+
"description": "Shows or hides the resize handler to vertically resize the input.",
|
|
6165
|
+
"default": false,
|
|
6166
|
+
"type": "boolean",
|
|
6167
|
+
"documented": true,
|
|
6168
|
+
"title": "prevent_resize",
|
|
6169
|
+
"markdownDescription": "Shows or hides the resize handler to vertically resize the input."
|
|
5982
6170
|
},
|
|
5983
6171
|
"initial_height": {
|
|
5984
6172
|
"description": "This key defines the initial height of this input in pixels (px).",
|
|
@@ -5989,6 +6177,7 @@
|
|
|
5989
6177
|
}
|
|
5990
6178
|
},
|
|
5991
6179
|
"additionalProperties": false,
|
|
6180
|
+
"description": "This key defines options that are specific to Rich Text Inputs.",
|
|
5992
6181
|
"documented": true,
|
|
5993
6182
|
"title": "options",
|
|
5994
6183
|
"markdownDescription": "This key defines options that are specific to Rich Text Inputs."
|
|
@@ -5998,6 +6187,8 @@
|
|
|
5998
6187
|
"type"
|
|
5999
6188
|
],
|
|
6000
6189
|
"additionalProperties": false,
|
|
6190
|
+
"title": "Rich Text Input",
|
|
6191
|
+
"description": "This key defines an editing interface for HTML markup content.",
|
|
6001
6192
|
"documented": true,
|
|
6002
6193
|
"markdownDescription": "This key defines an editing interface for HTML markup content."
|
|
6003
6194
|
},
|
|
@@ -6087,8 +6278,8 @@
|
|
|
6087
6278
|
"type": "object",
|
|
6088
6279
|
"properties": {
|
|
6089
6280
|
"size": {
|
|
6090
|
-
"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```",
|
|
6091
6281
|
"type": "string",
|
|
6282
|
+
"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```",
|
|
6092
6283
|
"documented": true,
|
|
6093
6284
|
"title": "size",
|
|
6094
6285
|
"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```"
|
|
@@ -6114,7 +6305,6 @@
|
|
|
6114
6305
|
"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```"
|
|
6115
6306
|
},
|
|
6116
6307
|
"type.paths": {
|
|
6117
|
-
"title": "Paths",
|
|
6118
6308
|
"type": "object",
|
|
6119
6309
|
"properties": {
|
|
6120
6310
|
"static": {
|
|
@@ -6140,6 +6330,7 @@
|
|
|
6140
6330
|
}
|
|
6141
6331
|
},
|
|
6142
6332
|
"additionalProperties": false,
|
|
6333
|
+
"title": "Paths",
|
|
6143
6334
|
"documented": true,
|
|
6144
6335
|
"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```",
|
|
6145
6336
|
"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```"
|
|
@@ -6430,11 +6621,11 @@
|
|
|
6430
6621
|
"markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a [Snippet](https://cloudcannon.com/documentation/articles/what-is-a-snippet/), if any are available.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a Snippet."
|
|
6431
6622
|
},
|
|
6432
6623
|
"type._editables.*.styles": {
|
|
6433
|
-
"description": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\
|
|
6624
|
+
"description": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\n## Examples\n\nIn this example, we have enabled a dropdown menu in our WYSIWYG toolbar to apply a style to selected text. The styles are defined in the `/css/styles.css` file.\n\n```yaml\n_editables:\n content:\n styles: /css/styles.css\n```\n\nThis example file defines the styles that CloudCannon can add to your WYSIWYG toolbar.\n\n```css\n/* Can be applied to blocks of content */\np.callout {\n margin: 10px;\n border: 1px solid #f5f5f5;\n background-color: #eee;\n}\n\n/* Can be applied to inline content */\nspan.big-blue-text {\n font-size: 2rem;\n color: blue;\n}\n\n/* Applied to content, excluded from style dropdown */\nh2 {\n font-family: cursive;\n}\n\n/* Applied to content, excluded from style dropdown */\n.align-left { text-align: left; }\n.align-center { text-align: center; }\n.align-right { text-align: right; }\n.align-justify { text-align: justify; }\n```",
|
|
6434
6625
|
"type": "string",
|
|
6435
6626
|
"documented": true,
|
|
6436
6627
|
"title": "styles",
|
|
6437
|
-
"markdownDescription": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\
|
|
6628
|
+
"markdownDescription": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\n## Examples\n\nIn this example, we have enabled a dropdown menu in our WYSIWYG toolbar to apply a style to selected text. The styles are defined in the `/css/styles.css` file.\n\n```yaml\n_editables:\n content:\n styles: /css/styles.css\n```\n\nThis example file defines the styles that CloudCannon can add to your WYSIWYG toolbar.\n\n```css\n/* Can be applied to blocks of content */\np.callout {\n margin: 10px;\n border: 1px solid #f5f5f5;\n background-color: #eee;\n}\n\n/* Can be applied to inline content */\nspan.big-blue-text {\n font-size: 2rem;\n color: blue;\n}\n\n/* Applied to content, excluded from style dropdown */\nh2 {\n font-family: cursive;\n}\n\n/* Applied to content, excluded from style dropdown */\n.align-left { text-align: left; }\n.align-center { text-align: center; }\n.align-right { text-align: right; }\n.align-justify { text-align: justify; }\n```"
|
|
6438
6629
|
},
|
|
6439
6630
|
"type._editables.*.table": {
|
|
6440
6631
|
"description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a table.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a table. Further table options are available from the table context menu in the rich text editor.",
|
|
@@ -6461,8 +6652,6 @@
|
|
|
6461
6652
|
"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."
|
|
6462
6653
|
},
|
|
6463
6654
|
"DateInput": {
|
|
6464
|
-
"title": "Date/Datetime Input",
|
|
6465
|
-
"description": "This key defines an editing interface for date and/or time values.",
|
|
6466
6655
|
"type": "object",
|
|
6467
6656
|
"properties": {
|
|
6468
6657
|
"comment": {
|
|
@@ -6507,18 +6696,17 @@
|
|
|
6507
6696
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
6508
6697
|
},
|
|
6509
6698
|
"type": {
|
|
6510
|
-
"title": "Type",
|
|
6511
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
6512
6699
|
"type": "string",
|
|
6513
6700
|
"enum": [
|
|
6514
6701
|
"date",
|
|
6515
6702
|
"datetime"
|
|
6516
6703
|
],
|
|
6704
|
+
"title": "Type",
|
|
6705
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
6517
6706
|
"documented": true,
|
|
6518
6707
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
6519
6708
|
},
|
|
6520
6709
|
"options": {
|
|
6521
|
-
"description": "This key defines options that are specific to Date Inputs.",
|
|
6522
6710
|
"type": "object",
|
|
6523
6711
|
"properties": {
|
|
6524
6712
|
"required": {
|
|
@@ -6551,10 +6739,10 @@
|
|
|
6551
6739
|
"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```",
|
|
6552
6740
|
"anyOf": [
|
|
6553
6741
|
{
|
|
6554
|
-
"title": "String Start From",
|
|
6555
6742
|
"type": "string",
|
|
6556
6743
|
"format": "date-time",
|
|
6557
6744
|
"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)))$",
|
|
6745
|
+
"title": "String Start From",
|
|
6558
6746
|
"documented": true,
|
|
6559
6747
|
"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.",
|
|
6560
6748
|
"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."
|
|
@@ -6581,10 +6769,10 @@
|
|
|
6581
6769
|
"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```",
|
|
6582
6770
|
"anyOf": [
|
|
6583
6771
|
{
|
|
6584
|
-
"title": "String End Before",
|
|
6585
6772
|
"type": "string",
|
|
6586
6773
|
"format": "date-time",
|
|
6587
6774
|
"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)))$",
|
|
6775
|
+
"title": "String End Before",
|
|
6588
6776
|
"documented": true,
|
|
6589
6777
|
"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.",
|
|
6590
6778
|
"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."
|
|
@@ -6609,6 +6797,7 @@
|
|
|
6609
6797
|
}
|
|
6610
6798
|
},
|
|
6611
6799
|
"additionalProperties": false,
|
|
6800
|
+
"description": "This key defines options that are specific to Date Inputs.",
|
|
6612
6801
|
"documented": true,
|
|
6613
6802
|
"title": "options",
|
|
6614
6803
|
"markdownDescription": "This key defines options that are specific to Date Inputs."
|
|
@@ -6618,11 +6807,12 @@
|
|
|
6618
6807
|
"type"
|
|
6619
6808
|
],
|
|
6620
6809
|
"additionalProperties": false,
|
|
6810
|
+
"title": "Date/Datetime Input",
|
|
6811
|
+
"description": "This key defines an editing interface for date and/or time values.",
|
|
6621
6812
|
"documented": true,
|
|
6622
6813
|
"markdownDescription": "This key defines an editing interface for date and/or time values."
|
|
6623
6814
|
},
|
|
6624
6815
|
"type.timezone": {
|
|
6625
|
-
"title": "Timezone",
|
|
6626
6816
|
"type": "string",
|
|
6627
6817
|
"enum": [
|
|
6628
6818
|
"Africa/Abidjan",
|
|
@@ -7221,13 +7411,12 @@
|
|
|
7221
7411
|
"WET",
|
|
7222
7412
|
"Zulu"
|
|
7223
7413
|
],
|
|
7414
|
+
"title": "Timezone",
|
|
7224
7415
|
"documented": true,
|
|
7225
7416
|
"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/).",
|
|
7226
7417
|
"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/)."
|
|
7227
7418
|
},
|
|
7228
7419
|
"TimeInput": {
|
|
7229
|
-
"title": "Time Input",
|
|
7230
|
-
"description": "This key defines an editing interface for time values only.",
|
|
7231
7420
|
"type": "object",
|
|
7232
7421
|
"properties": {
|
|
7233
7422
|
"comment": {
|
|
@@ -7272,15 +7461,14 @@
|
|
|
7272
7461
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
7273
7462
|
},
|
|
7274
7463
|
"type": {
|
|
7275
|
-
"title": "Type",
|
|
7276
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7277
7464
|
"type": "string",
|
|
7278
7465
|
"const": "time",
|
|
7466
|
+
"title": "Type",
|
|
7467
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7279
7468
|
"documented": true,
|
|
7280
7469
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
7281
7470
|
},
|
|
7282
7471
|
"options": {
|
|
7283
|
-
"description": "This key defines options that are specific to Time Inputs.",
|
|
7284
7472
|
"type": "object",
|
|
7285
7473
|
"properties": {
|
|
7286
7474
|
"required": {
|
|
@@ -7300,6 +7488,7 @@
|
|
|
7300
7488
|
}
|
|
7301
7489
|
},
|
|
7302
7490
|
"additionalProperties": false,
|
|
7491
|
+
"description": "This key defines options that are specific to Time Inputs.",
|
|
7303
7492
|
"documented": true,
|
|
7304
7493
|
"title": "options",
|
|
7305
7494
|
"markdownDescription": "This key defines options that are specific to Time Inputs."
|
|
@@ -7309,12 +7498,12 @@
|
|
|
7309
7498
|
"type"
|
|
7310
7499
|
],
|
|
7311
7500
|
"additionalProperties": false,
|
|
7501
|
+
"title": "Time Input",
|
|
7502
|
+
"description": "This key defines an editing interface for time values only.",
|
|
7312
7503
|
"documented": true,
|
|
7313
7504
|
"markdownDescription": "This key defines an editing interface for time values only."
|
|
7314
7505
|
},
|
|
7315
7506
|
"FileInput": {
|
|
7316
|
-
"title": "File Input",
|
|
7317
|
-
"description": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets.",
|
|
7318
7507
|
"type": "object",
|
|
7319
7508
|
"properties": {
|
|
7320
7509
|
"comment": {
|
|
@@ -7359,19 +7548,18 @@
|
|
|
7359
7548
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
7360
7549
|
},
|
|
7361
7550
|
"type": {
|
|
7362
|
-
"title": "Type",
|
|
7363
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7364
7551
|
"type": "string",
|
|
7365
7552
|
"enum": [
|
|
7366
7553
|
"file",
|
|
7367
7554
|
"document",
|
|
7368
7555
|
"image"
|
|
7369
7556
|
],
|
|
7557
|
+
"title": "Type",
|
|
7558
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7370
7559
|
"documented": true,
|
|
7371
7560
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
7372
7561
|
},
|
|
7373
7562
|
"options": {
|
|
7374
|
-
"description": "This key defines options that are specific to File Inputs.",
|
|
7375
7563
|
"type": "object",
|
|
7376
7564
|
"properties": {
|
|
7377
7565
|
"mime_type": {
|
|
@@ -7413,6 +7601,33 @@
|
|
|
7413
7601
|
"min_length_message": {
|
|
7414
7602
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
7415
7603
|
},
|
|
7604
|
+
"max_words": {
|
|
7605
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
7606
|
+
},
|
|
7607
|
+
"max_words_message": {
|
|
7608
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
7609
|
+
},
|
|
7610
|
+
"min_words": {
|
|
7611
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
7612
|
+
},
|
|
7613
|
+
"min_words_message": {
|
|
7614
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
7615
|
+
},
|
|
7616
|
+
"max_graphemes": {
|
|
7617
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
7618
|
+
},
|
|
7619
|
+
"max_graphemes_message": {
|
|
7620
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
7621
|
+
},
|
|
7622
|
+
"min_graphemes": {
|
|
7623
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
7624
|
+
},
|
|
7625
|
+
"min_graphemes_message": {
|
|
7626
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
7627
|
+
},
|
|
7628
|
+
"locale": {
|
|
7629
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
7630
|
+
},
|
|
7416
7631
|
"pattern": {
|
|
7417
7632
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
7418
7633
|
},
|
|
@@ -7466,6 +7681,7 @@
|
|
|
7466
7681
|
}
|
|
7467
7682
|
},
|
|
7468
7683
|
"additionalProperties": false,
|
|
7684
|
+
"description": "This key defines options that are specific to File Inputs.",
|
|
7469
7685
|
"documented": true,
|
|
7470
7686
|
"title": "options",
|
|
7471
7687
|
"markdownDescription": "This key defines options that are specific to File Inputs."
|
|
@@ -7475,6 +7691,8 @@
|
|
|
7475
7691
|
"type"
|
|
7476
7692
|
],
|
|
7477
7693
|
"additionalProperties": false,
|
|
7694
|
+
"title": "File Input",
|
|
7695
|
+
"description": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets.",
|
|
7478
7696
|
"documented": true,
|
|
7479
7697
|
"markdownDescription": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets."
|
|
7480
7698
|
},
|
|
@@ -7482,18 +7700,18 @@
|
|
|
7482
7700
|
"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```",
|
|
7483
7701
|
"anyOf": [
|
|
7484
7702
|
{
|
|
7485
|
-
"title": "Comma Separated Accepts Mime Types",
|
|
7486
7703
|
"type": "string",
|
|
7704
|
+
"title": "Comma Separated Accepts Mime Types",
|
|
7487
7705
|
"documented": true,
|
|
7488
7706
|
"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```",
|
|
7489
7707
|
"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```"
|
|
7490
7708
|
},
|
|
7491
7709
|
{
|
|
7492
|
-
"title": "Array Accepts Mime Types",
|
|
7493
7710
|
"type": "array",
|
|
7494
7711
|
"items": {
|
|
7495
7712
|
"$ref": "#/definitions/MimeType"
|
|
7496
7713
|
},
|
|
7714
|
+
"title": "Array Accepts Mime Types",
|
|
7497
7715
|
"documented": true,
|
|
7498
7716
|
"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```",
|
|
7499
7717
|
"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```"
|
|
@@ -7504,8 +7722,6 @@
|
|
|
7504
7722
|
"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```"
|
|
7505
7723
|
},
|
|
7506
7724
|
"MimeType": {
|
|
7507
|
-
"title": "Mime Type",
|
|
7508
|
-
"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```",
|
|
7509
7725
|
"type": "string",
|
|
7510
7726
|
"enum": [
|
|
7511
7727
|
"x-world/x-3dmf",
|
|
@@ -7942,6 +8158,8 @@
|
|
|
7942
8158
|
"multipart/x-zip",
|
|
7943
8159
|
"text/x-script.zsh"
|
|
7944
8160
|
],
|
|
8161
|
+
"title": "Mime Type",
|
|
8162
|
+
"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```",
|
|
7945
8163
|
"documented": true,
|
|
7946
8164
|
"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```"
|
|
7947
8165
|
},
|
|
@@ -7984,8 +8202,6 @@
|
|
|
7984
8202
|
"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```"
|
|
7985
8203
|
},
|
|
7986
8204
|
"UrlInput": {
|
|
7987
|
-
"title": "URL Input",
|
|
7988
|
-
"description": "This key defines an editing interface for relative, absolute, and fully qualified URLs.",
|
|
7989
8205
|
"type": "object",
|
|
7990
8206
|
"properties": {
|
|
7991
8207
|
"comment": {
|
|
@@ -8030,15 +8246,14 @@
|
|
|
8030
8246
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8031
8247
|
},
|
|
8032
8248
|
"type": {
|
|
8033
|
-
"title": "Type",
|
|
8034
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
8035
8249
|
"type": "string",
|
|
8036
8250
|
"const": "url",
|
|
8251
|
+
"title": "Type",
|
|
8252
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
8037
8253
|
"documented": true,
|
|
8038
8254
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
8039
8255
|
},
|
|
8040
8256
|
"options": {
|
|
8041
|
-
"description": "This key defines options that are specific to URL Inputs.",
|
|
8042
8257
|
"type": "object",
|
|
8043
8258
|
"properties": {
|
|
8044
8259
|
"mime_type": {
|
|
@@ -8080,6 +8295,33 @@
|
|
|
8080
8295
|
"min_length_message": {
|
|
8081
8296
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
8082
8297
|
},
|
|
8298
|
+
"max_words": {
|
|
8299
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
8300
|
+
},
|
|
8301
|
+
"max_words_message": {
|
|
8302
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
8303
|
+
},
|
|
8304
|
+
"min_words": {
|
|
8305
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
8306
|
+
},
|
|
8307
|
+
"min_words_message": {
|
|
8308
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
8309
|
+
},
|
|
8310
|
+
"max_graphemes": {
|
|
8311
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
8312
|
+
},
|
|
8313
|
+
"max_graphemes_message": {
|
|
8314
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
8315
|
+
},
|
|
8316
|
+
"min_graphemes": {
|
|
8317
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
8318
|
+
},
|
|
8319
|
+
"min_graphemes_message": {
|
|
8320
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
8321
|
+
},
|
|
8322
|
+
"locale": {
|
|
8323
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
8324
|
+
},
|
|
8083
8325
|
"pattern": {
|
|
8084
8326
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
8085
8327
|
},
|
|
@@ -8165,6 +8407,7 @@
|
|
|
8165
8407
|
}
|
|
8166
8408
|
},
|
|
8167
8409
|
"additionalProperties": false,
|
|
8410
|
+
"description": "This key defines options that are specific to URL Inputs.",
|
|
8168
8411
|
"documented": true,
|
|
8169
8412
|
"title": "options",
|
|
8170
8413
|
"markdownDescription": "This key defines options that are specific to URL Inputs."
|
|
@@ -8174,12 +8417,12 @@
|
|
|
8174
8417
|
"type"
|
|
8175
8418
|
],
|
|
8176
8419
|
"additionalProperties": false,
|
|
8420
|
+
"title": "URL Input",
|
|
8421
|
+
"description": "This key defines an editing interface for relative, absolute, and fully qualified URLs.",
|
|
8177
8422
|
"documented": true,
|
|
8178
8423
|
"markdownDescription": "This key defines an editing interface for relative, absolute, and fully qualified URLs."
|
|
8179
8424
|
},
|
|
8180
8425
|
"SelectInput": {
|
|
8181
|
-
"title": "Select Input",
|
|
8182
|
-
"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```",
|
|
8183
8426
|
"type": "object",
|
|
8184
8427
|
"properties": {
|
|
8185
8428
|
"comment": {
|
|
@@ -8224,15 +8467,14 @@
|
|
|
8224
8467
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8225
8468
|
},
|
|
8226
8469
|
"type": {
|
|
8227
|
-
"title": "Type",
|
|
8228
|
-
"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```",
|
|
8229
8470
|
"type": "string",
|
|
8230
8471
|
"const": "select",
|
|
8472
|
+
"title": "Type",
|
|
8473
|
+
"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```",
|
|
8231
8474
|
"documented": true,
|
|
8232
8475
|
"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```"
|
|
8233
8476
|
},
|
|
8234
8477
|
"options": {
|
|
8235
|
-
"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```",
|
|
8236
8478
|
"type": "object",
|
|
8237
8479
|
"properties": {
|
|
8238
8480
|
"required": {
|
|
@@ -8289,6 +8531,33 @@
|
|
|
8289
8531
|
"min_length_message": {
|
|
8290
8532
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
8291
8533
|
},
|
|
8534
|
+
"max_words": {
|
|
8535
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
8536
|
+
},
|
|
8537
|
+
"max_words_message": {
|
|
8538
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
8539
|
+
},
|
|
8540
|
+
"min_words": {
|
|
8541
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
8542
|
+
},
|
|
8543
|
+
"min_words_message": {
|
|
8544
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
8545
|
+
},
|
|
8546
|
+
"max_graphemes": {
|
|
8547
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
8548
|
+
},
|
|
8549
|
+
"max_graphemes_message": {
|
|
8550
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
8551
|
+
},
|
|
8552
|
+
"min_graphemes": {
|
|
8553
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
8554
|
+
},
|
|
8555
|
+
"min_graphemes_message": {
|
|
8556
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
8557
|
+
},
|
|
8558
|
+
"locale": {
|
|
8559
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
8560
|
+
},
|
|
8292
8561
|
"pattern": {
|
|
8293
8562
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
8294
8563
|
},
|
|
@@ -8309,6 +8578,7 @@
|
|
|
8309
8578
|
}
|
|
8310
8579
|
},
|
|
8311
8580
|
"additionalProperties": false,
|
|
8581
|
+
"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```",
|
|
8312
8582
|
"documented": true,
|
|
8313
8583
|
"title": "options",
|
|
8314
8584
|
"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```"
|
|
@@ -8318,6 +8588,8 @@
|
|
|
8318
8588
|
"type"
|
|
8319
8589
|
],
|
|
8320
8590
|
"additionalProperties": false,
|
|
8591
|
+
"title": "Select Input",
|
|
8592
|
+
"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```",
|
|
8321
8593
|
"documented": true,
|
|
8322
8594
|
"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```"
|
|
8323
8595
|
},
|
|
@@ -8330,38 +8602,36 @@
|
|
|
8330
8602
|
"markdownDescription": "This key toggles whether CloudCannon will allow new text values to be created at edit time.\n\nSetting this key to `true` will allow new text values to be created at edit time.\n\n## Examples\n\nIn this example, CloudCannon will allow users to add new values to a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n allow_create: true\n```"
|
|
8331
8603
|
},
|
|
8332
8604
|
"type._inputs.*.options.allow_empty": {
|
|
8333
|
-
"
|
|
8334
|
-
"
|
|
8605
|
+
"deprecated": true,
|
|
8606
|
+
"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```",
|
|
8335
8607
|
"type": "boolean",
|
|
8336
8608
|
"documented": true,
|
|
8337
8609
|
"title": "allow_empty",
|
|
8338
|
-
"markdownDescription": "
|
|
8610
|
+
"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```"
|
|
8339
8611
|
},
|
|
8340
8612
|
"type._inputs.*.options.values": {
|
|
8341
8613
|
"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```",
|
|
8342
8614
|
"anyOf": [
|
|
8343
8615
|
{
|
|
8616
|
+
"type": "string",
|
|
8344
8617
|
"title": "Dataset Reference Values",
|
|
8345
8618
|
"description": "This key defines a reference to a dataset.",
|
|
8346
|
-
"type": "string",
|
|
8347
8619
|
"documented": true,
|
|
8348
8620
|
"markdownDescription": "This key defines a reference to a dataset."
|
|
8349
8621
|
},
|
|
8350
8622
|
{
|
|
8351
|
-
"description": "Data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
8352
8623
|
"anyOf": [
|
|
8353
8624
|
{
|
|
8354
|
-
"title": "Text Array",
|
|
8355
8625
|
"type": "array",
|
|
8356
8626
|
"items": {
|
|
8357
8627
|
"type": "string",
|
|
8358
8628
|
"documented": false,
|
|
8359
8629
|
"title": "values(any-of-1)(text-array)[*]"
|
|
8360
8630
|
},
|
|
8631
|
+
"title": "Text Array",
|
|
8361
8632
|
"documented": false
|
|
8362
8633
|
},
|
|
8363
8634
|
{
|
|
8364
|
-
"title": "Text Object",
|
|
8365
8635
|
"type": "object",
|
|
8366
8636
|
"propertyNames": {
|
|
8367
8637
|
"type": "string"
|
|
@@ -8371,10 +8641,10 @@
|
|
|
8371
8641
|
"documented": false,
|
|
8372
8642
|
"title": "values(any-of-1)(text-object).*"
|
|
8373
8643
|
},
|
|
8644
|
+
"title": "Text Object",
|
|
8374
8645
|
"documented": false
|
|
8375
8646
|
},
|
|
8376
8647
|
{
|
|
8377
|
-
"title": "Object Array",
|
|
8378
8648
|
"type": "array",
|
|
8379
8649
|
"items": {
|
|
8380
8650
|
"type": "object",
|
|
@@ -8385,18 +8655,20 @@
|
|
|
8385
8655
|
"documented": false,
|
|
8386
8656
|
"title": "values(any-of-1)(object-array)[*]"
|
|
8387
8657
|
},
|
|
8658
|
+
"title": "Object Array",
|
|
8388
8659
|
"documented": false
|
|
8389
8660
|
},
|
|
8390
8661
|
{
|
|
8391
|
-
"title": "Object",
|
|
8392
8662
|
"type": "object",
|
|
8393
8663
|
"propertyNames": {
|
|
8394
8664
|
"type": "string"
|
|
8395
8665
|
},
|
|
8396
8666
|
"additionalProperties": {},
|
|
8667
|
+
"title": "Object",
|
|
8397
8668
|
"documented": false
|
|
8398
8669
|
}
|
|
8399
8670
|
],
|
|
8671
|
+
"description": "Data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
8400
8672
|
"documented": false,
|
|
8401
8673
|
"title": "values(any-of-1)",
|
|
8402
8674
|
"markdownDescription": "Data formats for populating select and multiselect input options, supporting arrays and objects."
|
|
@@ -8440,8 +8712,6 @@
|
|
|
8440
8712
|
"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```"
|
|
8441
8713
|
},
|
|
8442
8714
|
"MultiselectInput": {
|
|
8443
|
-
"title": "Multiselect Input",
|
|
8444
|
-
"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```",
|
|
8445
8715
|
"type": "object",
|
|
8446
8716
|
"properties": {
|
|
8447
8717
|
"comment": {
|
|
@@ -8486,15 +8756,14 @@
|
|
|
8486
8756
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8487
8757
|
},
|
|
8488
8758
|
"type": {
|
|
8489
|
-
"title": "Type",
|
|
8490
|
-
"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```",
|
|
8491
8759
|
"type": "string",
|
|
8492
8760
|
"const": "multiselect",
|
|
8761
|
+
"title": "Type",
|
|
8762
|
+
"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```",
|
|
8493
8763
|
"documented": true,
|
|
8494
8764
|
"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```"
|
|
8495
8765
|
},
|
|
8496
8766
|
"options": {
|
|
8497
|
-
"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```",
|
|
8498
8767
|
"type": "object",
|
|
8499
8768
|
"properties": {
|
|
8500
8769
|
"required": {
|
|
@@ -8568,6 +8837,7 @@
|
|
|
8568
8837
|
}
|
|
8569
8838
|
},
|
|
8570
8839
|
"additionalProperties": false,
|
|
8840
|
+
"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```",
|
|
8571
8841
|
"documented": true,
|
|
8572
8842
|
"title": "options",
|
|
8573
8843
|
"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```"
|
|
@@ -8577,6 +8847,8 @@
|
|
|
8577
8847
|
"type"
|
|
8578
8848
|
],
|
|
8579
8849
|
"additionalProperties": false,
|
|
8850
|
+
"title": "Multiselect Input",
|
|
8851
|
+
"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```",
|
|
8580
8852
|
"documented": true,
|
|
8581
8853
|
"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```"
|
|
8582
8854
|
},
|
|
@@ -8623,8 +8895,8 @@
|
|
|
8623
8895
|
"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```"
|
|
8624
8896
|
},
|
|
8625
8897
|
"type._inputs.*.options.empty_type(array)": {
|
|
8626
|
-
"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```",
|
|
8627
8898
|
"default": "null",
|
|
8899
|
+
"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```",
|
|
8628
8900
|
"type": "string",
|
|
8629
8901
|
"enum": [
|
|
8630
8902
|
"null",
|
|
@@ -8635,8 +8907,6 @@
|
|
|
8635
8907
|
"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```"
|
|
8636
8908
|
},
|
|
8637
8909
|
"ChoiceInput": {
|
|
8638
|
-
"title": "Choice Input",
|
|
8639
|
-
"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```",
|
|
8640
8910
|
"type": "object",
|
|
8641
8911
|
"properties": {
|
|
8642
8912
|
"comment": {
|
|
@@ -8681,15 +8951,14 @@
|
|
|
8681
8951
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8682
8952
|
},
|
|
8683
8953
|
"type": {
|
|
8684
|
-
"title": "Type",
|
|
8685
|
-
"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```",
|
|
8686
8954
|
"type": "string",
|
|
8687
8955
|
"const": "choice",
|
|
8956
|
+
"title": "Type",
|
|
8957
|
+
"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```",
|
|
8688
8958
|
"documented": true,
|
|
8689
8959
|
"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```"
|
|
8690
8960
|
},
|
|
8691
8961
|
"options": {
|
|
8692
|
-
"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```",
|
|
8693
8962
|
"type": "object",
|
|
8694
8963
|
"properties": {
|
|
8695
8964
|
"required": {
|
|
@@ -8743,6 +9012,33 @@
|
|
|
8743
9012
|
"min_length_message": {
|
|
8744
9013
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
8745
9014
|
},
|
|
9015
|
+
"max_words": {
|
|
9016
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
9017
|
+
},
|
|
9018
|
+
"max_words_message": {
|
|
9019
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
9020
|
+
},
|
|
9021
|
+
"min_words": {
|
|
9022
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
9023
|
+
},
|
|
9024
|
+
"min_words_message": {
|
|
9025
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
9026
|
+
},
|
|
9027
|
+
"max_graphemes": {
|
|
9028
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
9029
|
+
},
|
|
9030
|
+
"max_graphemes_message": {
|
|
9031
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
9032
|
+
},
|
|
9033
|
+
"min_graphemes": {
|
|
9034
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
9035
|
+
},
|
|
9036
|
+
"min_graphemes_message": {
|
|
9037
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
9038
|
+
},
|
|
9039
|
+
"locale": {
|
|
9040
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
9041
|
+
},
|
|
8746
9042
|
"pattern": {
|
|
8747
9043
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
8748
9044
|
},
|
|
@@ -8763,6 +9059,7 @@
|
|
|
8763
9059
|
}
|
|
8764
9060
|
},
|
|
8765
9061
|
"additionalProperties": false,
|
|
9062
|
+
"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```",
|
|
8766
9063
|
"documented": true,
|
|
8767
9064
|
"title": "options",
|
|
8768
9065
|
"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```"
|
|
@@ -8772,12 +9069,12 @@
|
|
|
8772
9069
|
"type"
|
|
8773
9070
|
],
|
|
8774
9071
|
"additionalProperties": false,
|
|
9072
|
+
"title": "Choice Input",
|
|
9073
|
+
"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```",
|
|
8775
9074
|
"documented": true,
|
|
8776
9075
|
"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```"
|
|
8777
9076
|
},
|
|
8778
9077
|
"MultichoiceInput": {
|
|
8779
|
-
"title": "Multichoice Input",
|
|
8780
|
-
"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```",
|
|
8781
9078
|
"type": "object",
|
|
8782
9079
|
"properties": {
|
|
8783
9080
|
"comment": {
|
|
@@ -8822,15 +9119,14 @@
|
|
|
8822
9119
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8823
9120
|
},
|
|
8824
9121
|
"type": {
|
|
8825
|
-
"title": "Type",
|
|
8826
|
-
"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```",
|
|
8827
9122
|
"type": "string",
|
|
8828
9123
|
"const": "multichoice",
|
|
9124
|
+
"title": "Type",
|
|
9125
|
+
"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```",
|
|
8829
9126
|
"documented": true,
|
|
8830
9127
|
"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```"
|
|
8831
9128
|
},
|
|
8832
9129
|
"options": {
|
|
8833
|
-
"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```",
|
|
8834
9130
|
"type": "object",
|
|
8835
9131
|
"properties": {
|
|
8836
9132
|
"required": {
|
|
@@ -8901,6 +9197,7 @@
|
|
|
8901
9197
|
}
|
|
8902
9198
|
},
|
|
8903
9199
|
"additionalProperties": false,
|
|
9200
|
+
"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```",
|
|
8904
9201
|
"documented": true,
|
|
8905
9202
|
"title": "options",
|
|
8906
9203
|
"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```"
|
|
@@ -8910,12 +9207,12 @@
|
|
|
8910
9207
|
"type"
|
|
8911
9208
|
],
|
|
8912
9209
|
"additionalProperties": false,
|
|
9210
|
+
"title": "Multichoice Input",
|
|
9211
|
+
"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```",
|
|
8913
9212
|
"documented": true,
|
|
8914
9213
|
"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```"
|
|
8915
9214
|
},
|
|
8916
9215
|
"ObjectInput": {
|
|
8917
|
-
"title": "Object Input",
|
|
8918
|
-
"description": "This key defines a user interface for a group of inputs.",
|
|
8919
9216
|
"type": "object",
|
|
8920
9217
|
"properties": {
|
|
8921
9218
|
"comment": {
|
|
@@ -8960,15 +9257,14 @@
|
|
|
8960
9257
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8961
9258
|
},
|
|
8962
9259
|
"type": {
|
|
8963
|
-
"title": "Type",
|
|
8964
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
8965
9260
|
"type": "string",
|
|
8966
9261
|
"const": "object",
|
|
9262
|
+
"title": "Type",
|
|
9263
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
8967
9264
|
"documented": true,
|
|
8968
9265
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
8969
9266
|
},
|
|
8970
9267
|
"options": {
|
|
8971
|
-
"description": "This key defines options that are specific to Object Inputs.",
|
|
8972
9268
|
"type": "object",
|
|
8973
9269
|
"properties": {
|
|
8974
9270
|
"required": {
|
|
@@ -9191,6 +9487,7 @@
|
|
|
9191
9487
|
}
|
|
9192
9488
|
},
|
|
9193
9489
|
"additionalProperties": false,
|
|
9490
|
+
"description": "This key defines options that are specific to Object Inputs.",
|
|
9194
9491
|
"documented": true,
|
|
9195
9492
|
"title": "options",
|
|
9196
9493
|
"markdownDescription": "This key defines options that are specific to Object Inputs."
|
|
@@ -9200,12 +9497,14 @@
|
|
|
9200
9497
|
"type"
|
|
9201
9498
|
],
|
|
9202
9499
|
"additionalProperties": false,
|
|
9500
|
+
"title": "Object Input",
|
|
9501
|
+
"description": "This key defines a user interface for a group of inputs.",
|
|
9203
9502
|
"documented": true,
|
|
9204
9503
|
"markdownDescription": "This key defines a user interface for a group of inputs."
|
|
9205
9504
|
},
|
|
9206
9505
|
"type._inputs.*.options.empty_type(object)": {
|
|
9207
|
-
"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```",
|
|
9208
9506
|
"default": "null",
|
|
9507
|
+
"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```",
|
|
9209
9508
|
"type": "string",
|
|
9210
9509
|
"enum": [
|
|
9211
9510
|
"null",
|
|
@@ -9216,9 +9515,9 @@
|
|
|
9216
9515
|
"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```"
|
|
9217
9516
|
},
|
|
9218
9517
|
"type.structure-reference": {
|
|
9518
|
+
"type": "string",
|
|
9219
9519
|
"title": "Structure Reference",
|
|
9220
9520
|
"description": "A reference to an existing structure.",
|
|
9221
|
-
"type": "string",
|
|
9222
9521
|
"documented": true,
|
|
9223
9522
|
"markdownDescription": "A reference to an existing structure."
|
|
9224
9523
|
},
|
|
@@ -9230,8 +9529,6 @@
|
|
|
9230
9529
|
"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```"
|
|
9231
9530
|
},
|
|
9232
9531
|
"ArrayInput": {
|
|
9233
|
-
"title": "Array Input",
|
|
9234
|
-
"description": "This key defines a user interface for lists of inputs or input groups.",
|
|
9235
9532
|
"type": "object",
|
|
9236
9533
|
"properties": {
|
|
9237
9534
|
"comment": {
|
|
@@ -9276,15 +9573,14 @@
|
|
|
9276
9573
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
9277
9574
|
},
|
|
9278
9575
|
"type": {
|
|
9279
|
-
"title": "Type",
|
|
9280
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
9281
9576
|
"type": "string",
|
|
9282
9577
|
"const": "array",
|
|
9578
|
+
"title": "Type",
|
|
9579
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
9283
9580
|
"documented": true,
|
|
9284
9581
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
9285
9582
|
},
|
|
9286
9583
|
"options": {
|
|
9287
|
-
"description": "This key defines options that are specific to Array Inputs.",
|
|
9288
9584
|
"type": "object",
|
|
9289
9585
|
"properties": {
|
|
9290
9586
|
"required": {
|
|
@@ -9345,6 +9641,7 @@
|
|
|
9345
9641
|
}
|
|
9346
9642
|
},
|
|
9347
9643
|
"additionalProperties": false,
|
|
9644
|
+
"description": "This key defines options that are specific to Array Inputs.",
|
|
9348
9645
|
"documented": true,
|
|
9349
9646
|
"title": "options",
|
|
9350
9647
|
"markdownDescription": "This key defines options that are specific to Array Inputs."
|
|
@@ -9354,6 +9651,8 @@
|
|
|
9354
9651
|
"type"
|
|
9355
9652
|
],
|
|
9356
9653
|
"additionalProperties": false,
|
|
9654
|
+
"title": "Array Input",
|
|
9655
|
+
"description": "This key defines a user interface for lists of inputs or input groups.",
|
|
9357
9656
|
"documented": true,
|
|
9358
9657
|
"markdownDescription": "This key defines a user interface for lists of inputs or input groups."
|
|
9359
9658
|
},
|
|
@@ -9382,9 +9681,6 @@
|
|
|
9382
9681
|
"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)."
|
|
9383
9682
|
},
|
|
9384
9683
|
"AutoInput": {
|
|
9385
|
-
"title": "Automatic Input",
|
|
9386
|
-
"description": "Provides a default user interface based on the data contained.",
|
|
9387
|
-
"excludeFromDocumentation": true,
|
|
9388
9684
|
"type": "object",
|
|
9389
9685
|
"properties": {
|
|
9390
9686
|
"comment": {
|
|
@@ -9429,10 +9725,10 @@
|
|
|
9429
9725
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
9430
9726
|
},
|
|
9431
9727
|
"type": {
|
|
9432
|
-
"title": "Type",
|
|
9433
|
-
"description": "Sets an input type, which controls how this input appears and behaves.",
|
|
9434
9728
|
"type": "string",
|
|
9435
9729
|
"const": "auto",
|
|
9730
|
+
"title": "Type",
|
|
9731
|
+
"description": "Sets an input type, which controls how this input appears and behaves.",
|
|
9436
9732
|
"documented": false,
|
|
9437
9733
|
"markdownDescription": "Sets an input type, which controls how this input appears and behaves."
|
|
9438
9734
|
},
|
|
@@ -9447,13 +9743,13 @@
|
|
|
9447
9743
|
"type"
|
|
9448
9744
|
],
|
|
9449
9745
|
"additionalProperties": false,
|
|
9746
|
+
"title": "Automatic Input",
|
|
9747
|
+
"description": "Provides a default user interface based on the data contained.",
|
|
9748
|
+
"excludeFromDocumentation": true,
|
|
9450
9749
|
"documented": false,
|
|
9451
9750
|
"markdownDescription": "Provides a default user interface based on the data contained."
|
|
9452
9751
|
},
|
|
9453
9752
|
"UnknownInput": {
|
|
9454
|
-
"title": "Unknown Input",
|
|
9455
|
-
"description": "Provides a default user interface based on the data contained.",
|
|
9456
|
-
"excludeFromDocumentation": true,
|
|
9457
9753
|
"type": "object",
|
|
9458
9754
|
"properties": {
|
|
9459
9755
|
"comment": {
|
|
@@ -9505,6 +9801,9 @@
|
|
|
9505
9801
|
}
|
|
9506
9802
|
},
|
|
9507
9803
|
"additionalProperties": false,
|
|
9804
|
+
"title": "Unknown Input",
|
|
9805
|
+
"description": "Provides a default user interface based on the data contained.",
|
|
9806
|
+
"excludeFromDocumentation": true,
|
|
9508
9807
|
"documented": false,
|
|
9509
9808
|
"markdownDescription": "Provides a default user interface based on the data contained."
|
|
9510
9809
|
},
|
|
@@ -9523,27 +9822,23 @@
|
|
|
9523
9822
|
"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```"
|
|
9524
9823
|
},
|
|
9525
9824
|
"type._select_data": {
|
|
9526
|
-
"title": "Select Data",
|
|
9527
|
-
"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```",
|
|
9528
9825
|
"type": "object",
|
|
9529
9826
|
"propertyNames": {
|
|
9530
9827
|
"type": "string"
|
|
9531
9828
|
},
|
|
9532
9829
|
"additionalProperties": {
|
|
9533
|
-
"description": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
9534
9830
|
"anyOf": [
|
|
9535
9831
|
{
|
|
9536
|
-
"title": "Text Array Select Data",
|
|
9537
9832
|
"type": "array",
|
|
9538
9833
|
"items": {
|
|
9539
9834
|
"type": "string",
|
|
9540
9835
|
"documented": true,
|
|
9541
9836
|
"title": "*(text-array)[*]"
|
|
9542
9837
|
},
|
|
9838
|
+
"title": "Text Array Select Data",
|
|
9543
9839
|
"documented": true
|
|
9544
9840
|
},
|
|
9545
9841
|
{
|
|
9546
|
-
"title": "Text Object Select Data",
|
|
9547
9842
|
"type": "object",
|
|
9548
9843
|
"propertyNames": {
|
|
9549
9844
|
"type": "string"
|
|
@@ -9553,10 +9848,10 @@
|
|
|
9553
9848
|
"documented": true,
|
|
9554
9849
|
"title": "*(text-object).*"
|
|
9555
9850
|
},
|
|
9851
|
+
"title": "Text Object Select Data",
|
|
9556
9852
|
"documented": true
|
|
9557
9853
|
},
|
|
9558
9854
|
{
|
|
9559
|
-
"title": "Object Array Select Data",
|
|
9560
9855
|
"type": "array",
|
|
9561
9856
|
"items": {
|
|
9562
9857
|
"type": "object",
|
|
@@ -9567,25 +9862,42 @@
|
|
|
9567
9862
|
"documented": true,
|
|
9568
9863
|
"title": "*(object-array)[*]"
|
|
9569
9864
|
},
|
|
9865
|
+
"title": "Object Array Select Data",
|
|
9570
9866
|
"documented": true
|
|
9571
9867
|
},
|
|
9572
9868
|
{
|
|
9573
|
-
"title": "Object Select Data",
|
|
9574
9869
|
"type": "object",
|
|
9575
9870
|
"propertyNames": {
|
|
9576
9871
|
"type": "string"
|
|
9577
9872
|
},
|
|
9578
9873
|
"additionalProperties": {},
|
|
9874
|
+
"title": "Object Select Data",
|
|
9579
9875
|
"documented": true
|
|
9580
9876
|
}
|
|
9581
9877
|
],
|
|
9878
|
+
"description": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
9582
9879
|
"documented": true,
|
|
9583
9880
|
"title": "_select_data.*",
|
|
9584
9881
|
"markdownDescription": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects."
|
|
9585
9882
|
},
|
|
9883
|
+
"title": "Select Data",
|
|
9884
|
+
"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```",
|
|
9586
9885
|
"documented": true,
|
|
9587
9886
|
"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```"
|
|
9588
9887
|
},
|
|
9888
|
+
"type._structures": {
|
|
9889
|
+
"type": "object",
|
|
9890
|
+
"propertyNames": {
|
|
9891
|
+
"type": "string"
|
|
9892
|
+
},
|
|
9893
|
+
"additionalProperties": {
|
|
9894
|
+
"$ref": "#/definitions/type.structure"
|
|
9895
|
+
},
|
|
9896
|
+
"title": "Structures",
|
|
9897
|
+
"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```",
|
|
9898
|
+
"documented": true,
|
|
9899
|
+
"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```"
|
|
9900
|
+
},
|
|
9589
9901
|
"type._structures_from_glob": {
|
|
9590
9902
|
"type": "array",
|
|
9591
9903
|
"items": {
|
|
@@ -9602,5 +9914,5 @@
|
|
|
9602
9914
|
}
|
|
9603
9915
|
},
|
|
9604
9916
|
"documented": false,
|
|
9605
|
-
"
|
|
9917
|
+
"title": ""
|
|
9606
9918
|
}
|