@cloudcannon/configuration-types 0.0.28 → 0.0.32

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.
@@ -126,8 +126,8 @@
126
126
  },
127
127
  "options": {
128
128
  "$ref": "#/definitions/ArrayInputOptions",
129
- "description": "Options that are specific to this `type` of input.",
130
- "markdownDescription": "Options that are specific to this `type` of input."
129
+ "description": "Options that are specific to Array Inputs.",
130
+ "markdownDescription": "Options that are specific to Array Inputs."
131
131
  },
132
132
  "type": {
133
133
  "const": "array",
@@ -144,6 +144,24 @@
144
144
  "ArrayInputOptions": {
145
145
  "additionalProperties": false,
146
146
  "properties": {
147
+ "disable_add": {
148
+ "default": false,
149
+ "description": "Hides the add button, and context menu actions on each array item for adding new items to this Input.",
150
+ "markdownDescription": "Hides the add button, and context menu actions on each array item for adding new items to this\nInput.",
151
+ "type": "boolean"
152
+ },
153
+ "disable_remove": {
154
+ "default": false,
155
+ "description": "Hides the context menu actions on each array item for removing them.",
156
+ "markdownDescription": "Hides the context menu actions on each array item for removing them.",
157
+ "type": "boolean"
158
+ },
159
+ "disable_reorder": {
160
+ "default": false,
161
+ "description": "Hides the controls on each array item for moving them.",
162
+ "markdownDescription": "Hides the controls on each array item for moving them.",
163
+ "type": "boolean"
164
+ },
147
165
  "empty_type": {
148
166
  "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
149
167
  "enum": [
@@ -153,6 +171,21 @@
153
171
  "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
154
172
  "type": "string"
155
173
  },
174
+ "max_items": {
175
+ "description": "This key defines the maximum number of items CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from adding more items to this Input. If the Input already contains more items, CloudCannon will require you to remove items until the Input contains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot be a lesser number.\n\nThis key has no default.",
176
+ "markdownDescription": "This key defines the maximum number of items CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from adding more items to this Input. If the Input\nalready contains more items, CloudCannon will require you to remove items until the Input\ncontains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot\nbe a lesser number.\n\nThis key has no default.",
177
+ "type": "number"
178
+ },
179
+ "min_items": {
180
+ "description": "This key defines the minimum number of items CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from removing items from this Input below this value. If the Input already contains fewer items, CloudCannon will require you to add items until the Input contains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot be a greater number.\n\nThis key has no default.",
181
+ "markdownDescription": "This key defines the minimum number of items CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from removing items from this Input below this value.\nIf the Input already contains fewer items, CloudCannon will require you to add items until the\nInput contains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.",
182
+ "type": "number"
183
+ },
184
+ "required": {
185
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
186
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
187
+ "type": "boolean"
188
+ },
156
189
  "structures": {
157
190
  "anyOf": [
158
191
  {
@@ -164,6 +197,11 @@
164
197
  ],
165
198
  "description": "Provides data formats for value of this object. When choosing an item, team members are prompted to choose from a number of values you have defined.",
166
199
  "markdownDescription": "Provides data formats for value of this object. When choosing an item, team members are\nprompted to choose from a number of values you have defined."
200
+ },
201
+ "unique_on": {
202
+ "description": "This key defines the JSON Path selector that CloudCannon should use to determine if the value of an Input is unique. When configured, CloudCannon will require the value of the Input to be unique compared to the value defined on the JSON Path. If the Input already contains a non-unique value, CloudCannon will require you to change it to a valid value to save your changes, or discard your unsaved changes.\n\nValue must be a valid JSON Path.\n\nThis key has no default.",
203
+ "markdownDescription": "This key defines the JSON Path selector that CloudCannon should use to determine if the value\nof an Input is unique. When configured, CloudCannon will require the value of the Input to be\nunique compared to the value defined on the JSON Path. If the Input already contains a\nnon-unique value, CloudCannon will require you to change it to a valid value to save your\nchanges, or discard your unsaved changes.\n\nValue must be a valid JSON Path.\n\nThis key has no default.",
204
+ "type": "string"
167
205
  }
168
206
  },
169
207
  "type": "object"
@@ -742,8 +780,8 @@
742
780
  },
743
781
  "options": {
744
782
  "additionalProperties": false,
745
- "description": "Options that are specific to this `type` of input.",
746
- "markdownDescription": "Options that are specific to this `type` of input.",
783
+ "description": "Options that are specific to Choice Inputs.",
784
+ "markdownDescription": "Options that are specific to Choice Inputs.",
747
785
  "properties": {
748
786
  "allow_empty": {
749
787
  "default": true,
@@ -760,6 +798,70 @@
760
798
  "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
761
799
  "type": "string"
762
800
  },
801
+ "max_length": {
802
+ "description": "This key defines the maximum string length, in characters, 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.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input to be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
803
+ "markdownDescription": "This key defines the maximum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too long. If the Input\nalready contains a longer value, CloudCannon will require you to remove characters until the\nInput contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input\nto be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
804
+ "type": "number"
805
+ },
806
+ "min_length": {
807
+ "description": "This key defines the minimum string length, in characters, 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.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
808
+ "markdownDescription": "This key defines the minimum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too short. If the\nInput already contains a shorter value, CloudCannon will require you to add characters until\nthe Input contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
809
+ "type": "number"
810
+ },
811
+ "pattern": {
812
+ "description": "This key defines a regular expression that the Input value must match. When configured, CloudCannon will require you to enter a value that matches the REGEX pattern. If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
813
+ "markdownDescription": "This key defines a regular expression that the Input value must match. When configured,\nCloudCannon will require you to enter a value that matches the REGEX pattern. If the Input\nalready contains an invalid value, CloudCannon will require you to enter a valid string to save\nyour changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
814
+ "type": "string"
815
+ },
816
+ "pattern_flags": {
817
+ "additionalProperties": false,
818
+ "description": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in `options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
819
+ "markdownDescription": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in\n`options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular\nexpressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
820
+ "properties": {
821
+ "dot_all": {
822
+ "default": false,
823
+ "description": "`s` - `.` matches newline characters.",
824
+ "markdownDescription": "`s` - `.` matches newline characters.",
825
+ "type": "boolean"
826
+ },
827
+ "global": {
828
+ "default": false,
829
+ "description": "`g` - Search globally.",
830
+ "markdownDescription": "`g` - Search globally.",
831
+ "type": "boolean"
832
+ },
833
+ "ignore_case": {
834
+ "default": false,
835
+ "description": "`i` - Case-insensitive.",
836
+ "markdownDescription": "`i` - Case-insensitive.",
837
+ "type": "boolean"
838
+ },
839
+ "multiline": {
840
+ "default": false,
841
+ "description": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
842
+ "markdownDescription": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
843
+ "type": "boolean"
844
+ },
845
+ "unicode": {
846
+ "default": false,
847
+ "description": "`u` - Pattern is treated as a sequence of Unicode code points.",
848
+ "markdownDescription": "`u` - Pattern is treated as a sequence of Unicode code points.",
849
+ "type": "boolean"
850
+ },
851
+ "unicode_sets": {
852
+ "default": false,
853
+ "description": "`v` - Extended `unicode` mode.",
854
+ "markdownDescription": "`v` - Extended `unicode` mode.",
855
+ "type": "boolean"
856
+ }
857
+ },
858
+ "type": "object"
859
+ },
860
+ "pattern_message": {
861
+ "description": "This key defines the message that explains which regular expression an Input will accept. This key requires you to define `options.pattern`.\n\nThis key has no default.",
862
+ "markdownDescription": "This key defines the message that explains which regular expression an Input will accept. This\nkey requires you to define `options.pattern`.\n\nThis key has no default.",
863
+ "type": "string"
864
+ },
763
865
  "picker_preview": {
764
866
  "$ref": "#/definitions/Preview",
765
867
  "description": "Changes the way items are previewed in the CMS while being chosen.",
@@ -781,6 +883,11 @@
781
883
  "description": "Changes the way items are previewed in the CMS.",
782
884
  "markdownDescription": "Changes the way items are previewed in the CMS."
783
885
  },
886
+ "required": {
887
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
888
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
889
+ "type": "boolean"
890
+ },
784
891
  "value_key": {
785
892
  "description": "Defines the key used for mapping between saved values and objects in values. This changes how the input saves selected values to match. Defaults to checking for \"id\", \"uuid\", \"path\", \"title\", then \"name\". Has no effect unless values is an array of objects, the key is used instead for objects, and the value itself is used for primitive types.",
786
893
  "markdownDescription": "Defines the key used for mapping between saved values and objects in values. This changes how\nthe input saves selected values to match. Defaults to checking for \"id\", \"uuid\", \"path\",\n\"title\", then \"name\". Has no effect unless values is an array of objects, the key is used\ninstead for objects, and the value itself is used for primitive types.",
@@ -906,8 +1013,8 @@
906
1013
  },
907
1014
  "options": {
908
1015
  "$ref": "#/definitions/CodeInputOptions",
909
- "description": "Options that are specific to this `type` of input.",
910
- "markdownDescription": "Options that are specific to this `type` of input."
1016
+ "description": "Options that are specific to Code Inputs.",
1017
+ "markdownDescription": "Options that are specific to Code Inputs."
911
1018
  },
912
1019
  "type": {
913
1020
  "const": "code",
@@ -933,18 +1040,87 @@
933
1040
  "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
934
1041
  "type": "string"
935
1042
  },
1043
+ "max_length": {
1044
+ "description": "This key defines the maximum string length, in characters, 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.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input to be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1045
+ "markdownDescription": "This key defines the maximum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too long. If the Input\nalready contains a longer value, CloudCannon will require you to remove characters until the\nInput contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input\nto be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1046
+ "type": "number"
1047
+ },
936
1048
  "max_visible_lines": {
937
1049
  "default": 30,
938
1050
  "description": "Sets the maximum number of visible lines for this input, effectively controlling maximum height. When the containing text exceeds this number, the input becomes a scroll area.",
939
1051
  "markdownDescription": "Sets the maximum number of visible lines for this input, effectively controlling maximum\nheight. When the containing text exceeds this number, the input becomes a scroll area.",
940
1052
  "type": "number"
941
1053
  },
1054
+ "min_length": {
1055
+ "description": "This key defines the minimum string length, in characters, 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.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1056
+ "markdownDescription": "This key defines the minimum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too short. If the\nInput already contains a shorter value, CloudCannon will require you to add characters until\nthe Input contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1057
+ "type": "number"
1058
+ },
942
1059
  "min_visible_lines": {
943
1060
  "default": 10,
944
1061
  "description": "Sets the minimum number of visible lines for this input, effectively controlling initial height. When the containing text exceeds this number, the input grows line by line to the lines defined by `max_visible_lines`.",
945
1062
  "markdownDescription": "Sets the minimum number of visible lines for this input, effectively controlling initial\nheight. When the containing text exceeds this number, the input grows line by line to the lines\ndefined by `max_visible_lines`.",
946
1063
  "type": "number"
947
1064
  },
1065
+ "pattern": {
1066
+ "description": "This key defines a regular expression that the Input value must match. When configured, CloudCannon will require you to enter a value that matches the REGEX pattern. If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1067
+ "markdownDescription": "This key defines a regular expression that the Input value must match. When configured,\nCloudCannon will require you to enter a value that matches the REGEX pattern. If the Input\nalready contains an invalid value, CloudCannon will require you to enter a valid string to save\nyour changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1068
+ "type": "string"
1069
+ },
1070
+ "pattern_flags": {
1071
+ "additionalProperties": false,
1072
+ "description": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in `options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
1073
+ "markdownDescription": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in\n`options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular\nexpressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
1074
+ "properties": {
1075
+ "dot_all": {
1076
+ "default": false,
1077
+ "description": "`s` - `.` matches newline characters.",
1078
+ "markdownDescription": "`s` - `.` matches newline characters.",
1079
+ "type": "boolean"
1080
+ },
1081
+ "global": {
1082
+ "default": false,
1083
+ "description": "`g` - Search globally.",
1084
+ "markdownDescription": "`g` - Search globally.",
1085
+ "type": "boolean"
1086
+ },
1087
+ "ignore_case": {
1088
+ "default": false,
1089
+ "description": "`i` - Case-insensitive.",
1090
+ "markdownDescription": "`i` - Case-insensitive.",
1091
+ "type": "boolean"
1092
+ },
1093
+ "multiline": {
1094
+ "default": false,
1095
+ "description": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
1096
+ "markdownDescription": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
1097
+ "type": "boolean"
1098
+ },
1099
+ "unicode": {
1100
+ "default": false,
1101
+ "description": "`u` - Pattern is treated as a sequence of Unicode code points.",
1102
+ "markdownDescription": "`u` - Pattern is treated as a sequence of Unicode code points.",
1103
+ "type": "boolean"
1104
+ },
1105
+ "unicode_sets": {
1106
+ "default": false,
1107
+ "description": "`v` - Extended `unicode` mode.",
1108
+ "markdownDescription": "`v` - Extended `unicode` mode.",
1109
+ "type": "boolean"
1110
+ }
1111
+ },
1112
+ "type": "object"
1113
+ },
1114
+ "pattern_message": {
1115
+ "description": "This key defines the message that explains which regular expression an Input will accept. This key requires you to define `options.pattern`.\n\nThis key has no default.",
1116
+ "markdownDescription": "This key defines the message that explains which regular expression an Input will accept. This\nkey requires you to define `options.pattern`.\n\nThis key has no default.",
1117
+ "type": "string"
1118
+ },
1119
+ "required": {
1120
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
1121
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
1122
+ "type": "boolean"
1123
+ },
948
1124
  "show_gutter": {
949
1125
  "default": true,
950
1126
  "description": "This key toggles the gutter on the left of the editing interface, displaying line numbers and code folding controls.\n\nBy default, this key is `true`.\n\nhttps://cloudcannon.com/documentation/articles/the-source-editor/#source_editor.show_gutter",
@@ -1263,8 +1439,8 @@
1263
1439
  },
1264
1440
  "options": {
1265
1441
  "$ref": "#/definitions/ColorInputOptions",
1266
- "description": "Options that are specific to this `type` of input.",
1267
- "markdownDescription": "Options that are specific to this `type` of input."
1442
+ "description": "Options that are specific to Color Inputs.",
1443
+ "markdownDescription": "Options that are specific to Color Inputs."
1268
1444
  },
1269
1445
  "type": {
1270
1446
  "const": "color",
@@ -1305,6 +1481,75 @@
1305
1481
  ],
1306
1482
  "markdownDescription": "Sets what format the color value is saved as. Defaults to the naming convention, or HEX if that\nis unset.",
1307
1483
  "type": "string"
1484
+ },
1485
+ "max_length": {
1486
+ "description": "This key defines the maximum string length, in characters, 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.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input to be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1487
+ "markdownDescription": "This key defines the maximum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too long. If the Input\nalready contains a longer value, CloudCannon will require you to remove characters until the\nInput contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input\nto be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1488
+ "type": "number"
1489
+ },
1490
+ "min_length": {
1491
+ "description": "This key defines the minimum string length, in characters, 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.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1492
+ "markdownDescription": "This key defines the minimum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too short. If the\nInput already contains a shorter value, CloudCannon will require you to add characters until\nthe Input contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1493
+ "type": "number"
1494
+ },
1495
+ "pattern": {
1496
+ "description": "This key defines a regular expression that the Input value must match. When configured, CloudCannon will require you to enter a value that matches the REGEX pattern. If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1497
+ "markdownDescription": "This key defines a regular expression that the Input value must match. When configured,\nCloudCannon will require you to enter a value that matches the REGEX pattern. If the Input\nalready contains an invalid value, CloudCannon will require you to enter a valid string to save\nyour changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
1498
+ "type": "string"
1499
+ },
1500
+ "pattern_flags": {
1501
+ "additionalProperties": false,
1502
+ "description": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in `options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
1503
+ "markdownDescription": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in\n`options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular\nexpressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
1504
+ "properties": {
1505
+ "dot_all": {
1506
+ "default": false,
1507
+ "description": "`s` - `.` matches newline characters.",
1508
+ "markdownDescription": "`s` - `.` matches newline characters.",
1509
+ "type": "boolean"
1510
+ },
1511
+ "global": {
1512
+ "default": false,
1513
+ "description": "`g` - Search globally.",
1514
+ "markdownDescription": "`g` - Search globally.",
1515
+ "type": "boolean"
1516
+ },
1517
+ "ignore_case": {
1518
+ "default": false,
1519
+ "description": "`i` - Case-insensitive.",
1520
+ "markdownDescription": "`i` - Case-insensitive.",
1521
+ "type": "boolean"
1522
+ },
1523
+ "multiline": {
1524
+ "default": false,
1525
+ "description": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
1526
+ "markdownDescription": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
1527
+ "type": "boolean"
1528
+ },
1529
+ "unicode": {
1530
+ "default": false,
1531
+ "description": "`u` - Pattern is treated as a sequence of Unicode code points.",
1532
+ "markdownDescription": "`u` - Pattern is treated as a sequence of Unicode code points.",
1533
+ "type": "boolean"
1534
+ },
1535
+ "unicode_sets": {
1536
+ "default": false,
1537
+ "description": "`v` - Extended `unicode` mode.",
1538
+ "markdownDescription": "`v` - Extended `unicode` mode.",
1539
+ "type": "boolean"
1540
+ }
1541
+ },
1542
+ "type": "object"
1543
+ },
1544
+ "pattern_message": {
1545
+ "description": "This key defines the message that explains which regular expression an Input will accept. This key requires you to define `options.pattern`.\n\nThis key has no default.",
1546
+ "markdownDescription": "This key defines the message that explains which regular expression an Input will accept. This\nkey requires you to define `options.pattern`.\n\nThis key has no default.",
1547
+ "type": "string"
1548
+ },
1549
+ "required": {
1550
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
1551
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
1552
+ "type": "boolean"
1308
1553
  }
1309
1554
  },
1310
1555
  "type": "object"
@@ -1525,6 +1770,18 @@
1525
1770
  "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
1526
1771
  "type": "string"
1527
1772
  },
1773
+ "end_before": {
1774
+ "description": "This key defines the date and time, exclusive, that CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from selecting a later date and time. If 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 unsaved changes.\n\nValue must be in ISO8601 format. If options.start_from is also configured, this key cannot be an earlier date and time.\n\nThis key has no default.",
1775
+ "format": "date-time",
1776
+ "markdownDescription": "This key defines the date and time, exclusive, that CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from selecting a later date and time. If the Input\nalready contains a later date and time, CloudCannon will require you to change it to a valid\nvalue to save your changes, or discard your unsaved changes.\n\nValue must be in ISO8601 format. If options.start_from is also configured, this key cannot be\nan earlier date and time.\n\nThis key has no default.",
1777
+ "type": "string"
1778
+ },
1779
+ "start_from": {
1780
+ "description": "This key defines the earliest date and time, inclusive, that CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from selecting an earlier date and time. If 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 your unsaved changes.\n\nValue must be in ISO8601 format. If `options.end_before` is also configured, this key cannot be a later date and time.\n\nThis key has no default.",
1781
+ "format": "date-time",
1782
+ "markdownDescription": "This key defines the earliest date and time, inclusive, that CloudCannon will allow in an\nInput. When configured, CloudCannon will prevent you from selecting an earlier date and time.\nIf the Input already contains an earlier date and time, CloudCannon will require you to change\nit to a valid value to save your changes, or discard your unsaved changes.\n\nValue must be in ISO8601 format. If `options.end_before` is also configured, this key cannot be\na later date and time.\n\nThis key has no default.",
1783
+ "type": "string"
1784
+ },
1528
1785
  "timezone": {
1529
1786
  "$ref": "#/definitions/Timezone",
1530
1787
  "default": "Etc/UTC",
@@ -1757,14 +2014,15 @@
1757
2014
  },
1758
2015
  "options": {
1759
2016
  "$ref": "#/definitions/FileInputOptions",
1760
- "description": "Options that are specific to File inputs.",
1761
- "markdownDescription": "Options that are specific to File inputs."
2017
+ "description": "Options that are specific to File, Image and Document inputs.",
2018
+ "markdownDescription": "Options that are specific to File, Image and Document inputs."
1762
2019
  },
1763
2020
  "type": {
1764
2021
  "description": "Sets an input type, which controls how this input appears and behaves.",
1765
2022
  "enum": [
1766
2023
  "file",
1767
- "document"
2024
+ "document",
2025
+ "image"
1768
2026
  ],
1769
2027
  "markdownDescription": "Sets an input type, which controls how this input appears and behaves.",
1770
2028
  "type": "string"
@@ -1801,6 +2059,24 @@
1801
2059
  "markdownDescription": "If you have one or more DAMs connected to your site, you can use this key to list which asset\nsources can be uploaded to and selected from.",
1802
2060
  "type": "array"
1803
2061
  },
2062
+ "disable_direct_input": {
2063
+ "default": false,
2064
+ "description": "Prevents typing into the text input, while still allowing context menu options to change the value.",
2065
+ "markdownDescription": "Prevents typing into the text input, while still allowing context menu options to change the\nvalue.",
2066
+ "type": "boolean"
2067
+ },
2068
+ "disable_upload_file": {
2069
+ "default": false,
2070
+ "description": "Disables the context menu option and the drop area for uploading files.",
2071
+ "markdownDescription": "Disables the context menu option and the drop area for uploading files.",
2072
+ "type": "boolean"
2073
+ },
2074
+ "disable_upload_file_in_file_browser": {
2075
+ "default": false,
2076
+ "description": "Prevents file uploads inside the \"Select existing file/image\" file browser modal window.",
2077
+ "markdownDescription": "Prevents file uploads inside the \"Select existing file/image\" file browser modal window.",
2078
+ "type": "boolean"
2079
+ },
1804
2080
  "empty_type": {
1805
2081
  "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
1806
2082
  "enum": [
@@ -1810,10 +2086,153 @@
1810
2086
  "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
1811
2087
  "type": "string"
1812
2088
  },
2089
+ "expandable": {
2090
+ "default": false,
2091
+ "description": "Controls whether or not images can be upscaled to fit the bounding box during resize prior to upload. Has no effect if files are not resized.",
2092
+ "markdownDescription": "Controls whether or not images can be upscaled to fit the bounding box during resize prior to\nupload. Has no effect if files are not resized.",
2093
+ "type": "boolean"
2094
+ },
2095
+ "height": {
2096
+ "description": "Defines the height of the bounding box used in the image resizing process defined with resize_style.",
2097
+ "markdownDescription": "Defines the height of the bounding box used in the image resizing process defined with\nresize_style.",
2098
+ "type": "number"
2099
+ },
2100
+ "image_size_attributes": {
2101
+ "default": true,
2102
+ "description": "Instructs the editor to save `width` and `height` attributes on the image elements. This can prevent pop-in as a page loads.",
2103
+ "markdownDescription": "Instructs the editor to save `width` and `height` attributes on the image elements. This can\nprevent pop-in as a page loads.",
2104
+ "type": "boolean"
2105
+ },
2106
+ "max_length": {
2107
+ "description": "This key defines the maximum string length, in characters, 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.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input to be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
2108
+ "markdownDescription": "This key defines the maximum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too long. If the Input\nalready contains a longer value, CloudCannon will require you to remove characters until the\nInput contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input\nto be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
2109
+ "type": "number"
2110
+ },
2111
+ "mime_type": {
2112
+ "description": "Sets the format images are converted to prior to upload. The extension of the file is updated to match. Defaults to keeping the mime type of the uploaded file.",
2113
+ "enum": [
2114
+ "image/jpeg",
2115
+ "image/png",
2116
+ "image/webp"
2117
+ ],
2118
+ "markdownDescription": "Sets the format images are converted to prior to upload. The extension of the file is updated\nto match. Defaults to keeping the mime type of the uploaded file.",
2119
+ "type": "string"
2120
+ },
2121
+ "min_length": {
2122
+ "description": "This key defines the minimum string length, in characters, 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.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
2123
+ "markdownDescription": "This key defines the minimum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too short. If the\nInput already contains a shorter value, CloudCannon will require you to add characters until\nthe Input contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
2124
+ "type": "number"
2125
+ },
1813
2126
  "paths": {
1814
2127
  "$ref": "#/definitions/Paths",
1815
2128
  "description": "Paths to where new asset files are uploaded to. They also set the default path when choosing existing images, and linking to existing files. Each path is relative to global `source`. Defaults to the global `paths`.",
1816
2129
  "markdownDescription": "Paths to where new asset files are uploaded to. They also set the default path when choosing\nexisting images, and linking to existing files. Each path is relative to global `source`.\nDefaults to the global `paths`."
2130
+ },
2131
+ "pattern": {
2132
+ "description": "This key defines a regular expression that the Input value must match. When configured, CloudCannon will require you to enter a value that matches the REGEX pattern. If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
2133
+ "markdownDescription": "This key defines a regular expression that the Input value must match. When configured,\nCloudCannon will require you to enter a value that matches the REGEX pattern. If the Input\nalready contains an invalid value, CloudCannon will require you to enter a valid string to save\nyour changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
2134
+ "type": "string"
2135
+ },
2136
+ "pattern_flags": {
2137
+ "additionalProperties": false,
2138
+ "description": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in `options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
2139
+ "markdownDescription": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in\n`options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular\nexpressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
2140
+ "properties": {
2141
+ "dot_all": {
2142
+ "default": false,
2143
+ "description": "`s` - `.` matches newline characters.",
2144
+ "markdownDescription": "`s` - `.` matches newline characters.",
2145
+ "type": "boolean"
2146
+ },
2147
+ "global": {
2148
+ "default": false,
2149
+ "description": "`g` - Search globally.",
2150
+ "markdownDescription": "`g` - Search globally.",
2151
+ "type": "boolean"
2152
+ },
2153
+ "ignore_case": {
2154
+ "default": false,
2155
+ "description": "`i` - Case-insensitive.",
2156
+ "markdownDescription": "`i` - Case-insensitive.",
2157
+ "type": "boolean"
2158
+ },
2159
+ "multiline": {
2160
+ "default": false,
2161
+ "description": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
2162
+ "markdownDescription": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
2163
+ "type": "boolean"
2164
+ },
2165
+ "unicode": {
2166
+ "default": false,
2167
+ "description": "`u` - Pattern is treated as a sequence of Unicode code points.",
2168
+ "markdownDescription": "`u` - Pattern is treated as a sequence of Unicode code points.",
2169
+ "type": "boolean"
2170
+ },
2171
+ "unicode_sets": {
2172
+ "default": false,
2173
+ "description": "`v` - Extended `unicode` mode.",
2174
+ "markdownDescription": "`v` - Extended `unicode` mode.",
2175
+ "type": "boolean"
2176
+ }
2177
+ },
2178
+ "type": "object"
2179
+ },
2180
+ "pattern_message": {
2181
+ "description": "This key defines the message that explains which regular expression an Input will accept. This key requires you to define `options.pattern`.\n\nThis key has no default.",
2182
+ "markdownDescription": "This key defines the message that explains which regular expression an Input will accept. This\nkey requires you to define `options.pattern`.\n\nThis key has no default.",
2183
+ "type": "string"
2184
+ },
2185
+ "prevent_resize_existing_files": {
2186
+ "default": false,
2187
+ "description": "Enable to skip the image resizing process configured for this input when selecting existing images.",
2188
+ "markdownDescription": "Enable to skip the image resizing process configured for this input when selecting existing\nimages.",
2189
+ "type": "boolean"
2190
+ },
2191
+ "required": {
2192
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
2193
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
2194
+ "type": "boolean"
2195
+ },
2196
+ "resize_style": {
2197
+ "default": "contain",
2198
+ "description": "Sets how uploaded image files are resized with a bounding box defined by width and height prior to upload. Has no effect when selecting existing images, or if width and height are unset.",
2199
+ "enum": [
2200
+ "cover",
2201
+ "contain",
2202
+ "stretch",
2203
+ "crop"
2204
+ ],
2205
+ "markdownDescription": "Sets how uploaded image files are resized with a bounding box defined by width and height prior\nto upload. Has no effect when selecting existing images, or if width and height are unset.",
2206
+ "type": "string"
2207
+ },
2208
+ "sizes": {
2209
+ "description": "Definitions for creating additional images of different sizes when uploading or selecting existing files.",
2210
+ "items": {
2211
+ "additionalProperties": false,
2212
+ "properties": {
2213
+ "size": {
2214
+ "description": "A number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w).",
2215
+ "markdownDescription": "A number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of\nthe image (e.g. 2x, 3x, 100w, 360w).",
2216
+ "type": "string"
2217
+ },
2218
+ "target": {
2219
+ "description": "A reference to another input that is given the path to this additional image file.",
2220
+ "markdownDescription": "A reference to another input that is given the path to this additional image file.",
2221
+ "type": "string"
2222
+ }
2223
+ },
2224
+ "required": [
2225
+ "size"
2226
+ ],
2227
+ "type": "object"
2228
+ },
2229
+ "markdownDescription": "Definitions for creating additional images of different sizes when uploading or selecting\nexisting files.",
2230
+ "type": "array"
2231
+ },
2232
+ "width": {
2233
+ "description": "Defines the width of the bounding box used in the image resizing process defined with resize_style.",
2234
+ "markdownDescription": "Defines the width of the bounding box used in the image resizing process defined with\nresize_style.",
2235
+ "type": "number"
1817
2236
  }
1818
2237
  },
1819
2238
  "type": "object"
@@ -5525,224 +5944,10 @@
5525
5944
  },
5526
5945
  "type": "object"
5527
5946
  },
5528
- "ImageInput": {
5529
- "additionalProperties": false,
5530
- "properties": {
5531
- "cascade": {
5532
- "description": "Specifies whether or not this input configuration should be merged with any matching, less specific configuration.",
5533
- "markdownDescription": "Specifies whether or not this input configuration should be merged with any matching, less\nspecific configuration.",
5534
- "type": "boolean"
5535
- },
5536
- "comment": {
5537
- "description": "Changes the subtext below the _Label_. Has no default. Supports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.",
5538
- "markdownDescription": "Changes the subtext below the _Label_. Has no default. Supports a limited set of Markdown:\nlinks, bold, italic, subscript, superscript, and inline code elements are allowed.",
5539
- "type": "string"
5540
- },
5541
- "context": {
5542
- "additionalProperties": false,
5543
- "description": "Adds an expandable section of rich text below the input.",
5544
- "markdownDescription": "Adds an expandable section of rich text below the input.",
5545
- "properties": {
5546
- "content": {
5547
- "description": "The rich text content shown when opened. Supports a limited set of Markdown.",
5548
- "markdownDescription": "The rich text content shown when opened. Supports a limited set of Markdown.",
5549
- "type": "string"
5550
- },
5551
- "icon": {
5552
- "$ref": "#/definitions/Icon",
5553
- "description": "The icon shown when not open.",
5554
- "markdownDescription": "The icon shown when not open."
5555
- },
5556
- "open": {
5557
- "description": "Makes the content visible initially.",
5558
- "markdownDescription": "Makes the content visible initially.",
5559
- "type": "boolean"
5560
- },
5561
- "title": {
5562
- "description": "The text shown when not open. Defaults to \"Context\" if unset.",
5563
- "markdownDescription": "The text shown when not open. Defaults to \"Context\" if unset.",
5564
- "type": "string"
5565
- }
5566
- },
5567
- "type": "object"
5568
- },
5569
- "disable_instance_value_rehydration": {
5570
- "default": false,
5571
- "description": "Prevents the default where inputs configured with an `instance_value` are rehydrated with a new value when duplicated in the CMS.",
5572
- "markdownDescription": "Prevents the default where inputs configured with an `instance_value` are rehydrated with a new\nvalue when duplicated in the CMS.",
5573
- "type": "boolean"
5574
- },
5575
- "disabled": {
5576
- "default": false,
5577
- "description": "Toggles if this input can be edited.",
5578
- "markdownDescription": "Toggles if this input can be edited.",
5579
- "type": [
5580
- "boolean",
5581
- "string"
5582
- ]
5583
- },
5584
- "documentation": {
5585
- "$ref": "#/definitions/Documentation",
5586
- "description": "Provides a custom link for documentation for editors shown above input.",
5587
- "markdownDescription": "Provides a custom link for documentation for editors shown above input."
5588
- },
5589
- "hidden": {
5590
- "default": false,
5591
- "description": "Toggles the visibility of this input.",
5592
- "markdownDescription": "Toggles the visibility of this input.",
5593
- "type": [
5594
- "boolean",
5595
- "string"
5596
- ]
5597
- },
5598
- "instance_value": {
5599
- "$ref": "#/definitions/InstanceValue",
5600
- "description": "Controls if and how the value of this input is instantiated when created. This occurs when creating files, or adding array items containing the configured input.",
5601
- "markdownDescription": "Controls if and how the value of this input is instantiated when created. This occurs when\ncreating files, or adding array items containing the configured input."
5602
- },
5603
- "label": {
5604
- "description": "Optionally changes the text above this input.",
5605
- "markdownDescription": "Optionally changes the text above this input.",
5606
- "type": "string"
5607
- },
5608
- "options": {
5609
- "$ref": "#/definitions/ImageInputOptions",
5610
- "description": "Options that are specific to Image inputs.",
5611
- "markdownDescription": "Options that are specific to Image inputs."
5612
- },
5613
- "type": {
5614
- "const": "image",
5615
- "description": "Sets an input type, which controls how this input appears and behaves.",
5616
- "markdownDescription": "Sets an input type, which controls how this input appears and behaves.",
5617
- "type": "string"
5618
- }
5619
- },
5620
- "required": [
5621
- "type"
5622
- ],
5623
- "type": "object"
5624
- },
5625
- "ImageInputOptions": {
5626
- "additionalProperties": false,
5627
- "properties": {
5628
- "accepts_mime_types": {
5629
- "anyOf": [
5630
- {
5631
- "items": {
5632
- "$ref": "#/definitions/MimeType"
5633
- },
5634
- "type": "array"
5635
- },
5636
- {
5637
- "type": "string"
5638
- }
5639
- ],
5640
- "description": "Restricts which file types are available to select or upload to this input. Accepted format is an array or comma-separated string of MIME types. The special value '*' means any type is accepted.",
5641
- "markdownDescription": "Restricts which file types are available to select or upload to this input. Accepted format is\nan array or comma-separated string of MIME types. The special value '*' means any type is\naccepted."
5642
- },
5643
- "allowed_sources": {
5644
- "description": "If you have one or more DAMs connected to your site, you can use this key to list which asset sources can be uploaded to and selected from.",
5645
- "items": {
5646
- "type": "string"
5647
- },
5648
- "markdownDescription": "If you have one or more DAMs connected to your site, you can use this key to list which asset\nsources can be uploaded to and selected from.",
5649
- "type": "array"
5650
- },
5651
- "empty_type": {
5652
- "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
5653
- "enum": [
5654
- "null",
5655
- "string"
5656
- ],
5657
- "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
5658
- "type": "string"
5659
- },
5660
- "expandable": {
5661
- "default": false,
5662
- "description": "Controls whether or not images can be upscaled to fit the bounding box during resize prior to upload. Has no effect if files are not resized.",
5663
- "markdownDescription": "Controls whether or not images can be upscaled to fit the bounding box during resize prior to\nupload. Has no effect if files are not resized.",
5664
- "type": "boolean"
5665
- },
5666
- "height": {
5667
- "description": "Defines the height of the bounding box used in the image resizing process defined with resize_style.",
5668
- "markdownDescription": "Defines the height of the bounding box used in the image resizing process defined with\nresize_style.",
5669
- "type": "number"
5670
- },
5671
- "image_size_attributes": {
5672
- "default": true,
5673
- "description": "Instructs the editor to save `width` and `height` attributes on the image elements. This can prevent pop-in as a page loads.",
5674
- "markdownDescription": "Instructs the editor to save `width` and `height` attributes on the image elements. This can\nprevent pop-in as a page loads.",
5675
- "type": "boolean"
5676
- },
5677
- "mime_type": {
5678
- "description": "Sets the format images are converted to prior to upload. The extension of the file is updated to match. Defaults to keeping the mime type of the uploaded file.",
5679
- "enum": [
5680
- "image/jpeg",
5681
- "image/png",
5682
- "image/webp"
5683
- ],
5684
- "markdownDescription": "Sets the format images are converted to prior to upload. The extension of the file is updated\nto match. Defaults to keeping the mime type of the uploaded file.",
5685
- "type": "string"
5686
- },
5687
- "paths": {
5688
- "$ref": "#/definitions/Paths",
5689
- "description": "Paths to where new asset files are uploaded to. They also set the default path when choosing existing images, and linking to existing files. Each path is relative to global `source`. Defaults to the global `paths`.",
5690
- "markdownDescription": "Paths to where new asset files are uploaded to. They also set the default path when choosing\nexisting images, and linking to existing files. Each path is relative to global `source`.\nDefaults to the global `paths`."
5691
- },
5692
- "prevent_resize_existing_files": {
5693
- "default": false,
5694
- "description": "Enable to skip the image resizing process configured for this input when selecting existing images.",
5695
- "markdownDescription": "Enable to skip the image resizing process configured for this input when selecting existing\nimages.",
5696
- "type": "boolean"
5697
- },
5698
- "resize_style": {
5699
- "default": "contain",
5700
- "description": "Sets how uploaded image files are resized with a bounding box defined by width and height prior to upload. Has no effect when selecting existing images, or if width and height are unset.",
5701
- "enum": [
5702
- "cover",
5703
- "contain",
5704
- "stretch",
5705
- "crop"
5706
- ],
5707
- "markdownDescription": "Sets how uploaded image files are resized with a bounding box defined by width and height prior\nto upload. Has no effect when selecting existing images, or if width and height are unset.",
5708
- "type": "string"
5709
- },
5710
- "sizes": {
5711
- "description": "Definitions for creating additional images of different sizes when uploading or selecting existing files.",
5712
- "items": {
5713
- "additionalProperties": false,
5714
- "properties": {
5715
- "size": {
5716
- "description": "A number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w).",
5717
- "markdownDescription": "A number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of\nthe image (e.g. 2x, 3x, 100w, 360w).",
5718
- "type": "string"
5719
- },
5720
- "target": {
5721
- "description": "A reference to another input that is given the path to this additional image file.",
5722
- "markdownDescription": "A reference to another input that is given the path to this additional image file.",
5723
- "type": "string"
5724
- }
5725
- },
5726
- "required": [
5727
- "size"
5728
- ],
5729
- "type": "object"
5730
- },
5731
- "markdownDescription": "Definitions for creating additional images of different sizes when uploading or selecting\nexisting files.",
5732
- "type": "array"
5733
- },
5734
- "width": {
5735
- "description": "Defines the width of the bounding box used in the image resizing process defined with resize_style.",
5736
- "markdownDescription": "Defines the width of the bounding box used in the image resizing process defined with\nresize_style.",
5737
- "type": "number"
5738
- }
5739
- },
5740
- "type": "object"
5741
- },
5742
- "Input": {
5743
- "anyOf": [
5744
- {
5745
- "$ref": "#/definitions/KnownInput"
5947
+ "Input": {
5948
+ "anyOf": [
5949
+ {
5950
+ "$ref": "#/definitions/KnownInput"
5746
5951
  },
5747
5952
  {
5748
5953
  "$ref": "#/definitions/UnknownInput"
@@ -5875,21 +6080,6 @@
5875
6080
  "$ref": "#/definitions/RangeInput"
5876
6081
  }
5877
6082
  },
5878
- {
5879
- "if": {
5880
- "properties": {
5881
- "type": {
5882
- "const": "url",
5883
- "description": "Sets an input type, which controls how this input appears and behaves.",
5884
- "markdownDescription": "Sets an input type, which controls how this input appears and behaves.",
5885
- "type": "string"
5886
- }
5887
- }
5888
- },
5889
- "then": {
5890
- "$ref": "#/definitions/UrlInput"
5891
- }
5892
- },
5893
6083
  {
5894
6084
  "if": {
5895
6085
  "properties": {
@@ -5948,7 +6138,8 @@
5948
6138
  "description": "Sets an input type, which controls how this input appears and behaves.",
5949
6139
  "enum": [
5950
6140
  "file",
5951
- "document"
6141
+ "document",
6142
+ "image"
5952
6143
  ],
5953
6144
  "markdownDescription": "Sets an input type, which controls how this input appears and behaves.",
5954
6145
  "type": "string"
@@ -5963,7 +6154,7 @@
5963
6154
  "if": {
5964
6155
  "properties": {
5965
6156
  "type": {
5966
- "const": "image",
6157
+ "const": "url",
5967
6158
  "description": "Sets an input type, which controls how this input appears and behaves.",
5968
6159
  "markdownDescription": "Sets an input type, which controls how this input appears and behaves.",
5969
6160
  "type": "string"
@@ -5971,7 +6162,7 @@
5971
6162
  }
5972
6163
  },
5973
6164
  "then": {
5974
- "$ref": "#/definitions/ImageInput"
6165
+ "$ref": "#/definitions/UrlInput"
5975
6166
  }
5976
6167
  },
5977
6168
  {
@@ -6098,7 +6289,6 @@
6098
6289
  "switch",
6099
6290
  "number",
6100
6291
  "range",
6101
- "url",
6102
6292
  "html",
6103
6293
  "markdown",
6104
6294
  "date",
@@ -6107,6 +6297,7 @@
6107
6297
  "file",
6108
6298
  "document",
6109
6299
  "image",
6300
+ "url",
6110
6301
  "select",
6111
6302
  "multiselect",
6112
6303
  "choice",
@@ -6784,8 +6975,8 @@
6784
6975
  },
6785
6976
  "options": {
6786
6977
  "additionalProperties": false,
6787
- "description": "Options that are specific to this `type` of input.",
6788
- "markdownDescription": "Options that are specific to this `type` of input.",
6978
+ "description": "Options that are specific to Multichoice Inputs.",
6979
+ "markdownDescription": "Options that are specific to Multichoice Inputs.",
6789
6980
  "properties": {
6790
6981
  "allow_empty": {
6791
6982
  "default": true,
@@ -6802,6 +6993,16 @@
6802
6993
  "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
6803
6994
  "type": "string"
6804
6995
  },
6996
+ "max_items": {
6997
+ "description": "This key defines the maximum number of items CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from adding more items to this Input. If the Input already contains more items, CloudCannon will require you to remove items until the Input contains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot be a lesser number.\n\nThis key has no default.",
6998
+ "markdownDescription": "This key defines the maximum number of items CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from adding more items to this Input. If the Input\nalready contains more items, CloudCannon will require you to remove items until the Input\ncontains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot\nbe a lesser number.\n\nThis key has no default.",
6999
+ "type": "number"
7000
+ },
7001
+ "min_items": {
7002
+ "description": "This key defines the minimum number of items CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from removing items from this Input below this value. If the Input already contains fewer items, CloudCannon will require you to add items until the Input contains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot be a greater number.\n\nThis key has no default.",
7003
+ "markdownDescription": "This key defines the minimum number of items CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from removing items from this Input below this value.\nIf the Input already contains fewer items, CloudCannon will require you to add items until the\nInput contains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.",
7004
+ "type": "number"
7005
+ },
6805
7006
  "picker_preview": {
6806
7007
  "$ref": "#/definitions/Preview",
6807
7008
  "description": "Changes the way items are previewed in the CMS while being chosen.",
@@ -6823,6 +7024,16 @@
6823
7024
  "description": "Changes the way items are previewed in the CMS.",
6824
7025
  "markdownDescription": "Changes the way items are previewed in the CMS."
6825
7026
  },
7027
+ "required": {
7028
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
7029
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
7030
+ "type": "boolean"
7031
+ },
7032
+ "unique_on": {
7033
+ "description": "This key defines the JSON Path selector that CloudCannon should use to determine if the value of an Input is unique. When configured, CloudCannon will require the value of the Input to be unique compared to the value defined on the JSON Path. If the Input already contains a non-unique value, CloudCannon will require you to change it to a valid value to save your changes, or discard your unsaved changes.\n\nValue must be a valid JSON Path.\n\nThis key has no default.",
7034
+ "markdownDescription": "This key defines the JSON Path selector that CloudCannon should use to determine if the value\nof an Input is unique. When configured, CloudCannon will require the value of the Input to be\nunique compared to the value defined on the JSON Path. If the Input already contains a\nnon-unique value, CloudCannon will require you to change it to a valid value to save your\nchanges, or discard your unsaved changes.\n\nValue must be a valid JSON Path.\n\nThis key has no default.",
7035
+ "type": "string"
7036
+ },
6826
7037
  "value_key": {
6827
7038
  "description": "Defines the key used for mapping between saved values and objects in values. This changes how the input saves selected values to match. Defaults to checking for \"id\", \"uuid\", \"path\", \"title\", then \"name\". Has no effect unless values is an array of objects, the key is used instead for objects, and the value itself is used for primitive types.",
6828
7039
  "markdownDescription": "Defines the key used for mapping between saved values and objects in values. This changes how\nthe input saves selected values to match. Defaults to checking for \"id\", \"uuid\", \"path\",\n\"title\", then \"name\". Has no effect unless values is an array of objects, the key is used\ninstead for objects, and the value itself is used for primitive types.",
@@ -6947,82 +7158,9 @@
6947
7158
  "type": "string"
6948
7159
  },
6949
7160
  "options": {
6950
- "additionalProperties": false,
6951
- "description": "Options that are specific to this `type` of input.",
6952
- "markdownDescription": "Options that are specific to this `type` of input.",
6953
- "properties": {
6954
- "allow_create": {
6955
- "default": false,
6956
- "description": "Allows new text values to be created at edit time.",
6957
- "markdownDescription": "Allows new text values to be created at edit time.",
6958
- "type": "boolean"
6959
- },
6960
- "allow_empty": {
6961
- "default": true,
6962
- "description": "Provides an empty option alongside the options provided by values.",
6963
- "markdownDescription": "Provides an empty option alongside the options provided by values.",
6964
- "type": "boolean"
6965
- },
6966
- "empty_type": {
6967
- "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
6968
- "enum": [
6969
- "null",
6970
- "array"
6971
- ],
6972
- "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
6973
- "type": "string"
6974
- },
6975
- "picker_preview": {
6976
- "$ref": "#/definitions/Preview",
6977
- "description": "Changes the way items are previewed in the CMS while being chosen.",
6978
- "markdownDescription": "Changes the way items are previewed in the CMS while being chosen."
6979
- },
6980
- "picker_view": {
6981
- "description": "Controls how selectable options are rendered.",
6982
- "enum": [
6983
- "card",
6984
- "text",
6985
- "gallery",
6986
- "gallery-left"
6987
- ],
6988
- "markdownDescription": "Controls how selectable options are rendered.",
6989
- "type": "string"
6990
- },
6991
- "preview": {
6992
- "$ref": "#/definitions/Preview",
6993
- "description": "Changes the way items are previewed in the CMS.",
6994
- "markdownDescription": "Changes the way items are previewed in the CMS."
6995
- },
6996
- "value_key": {
6997
- "description": "Defines the key used for mapping between saved values and objects in values. This changes how the input saves selected values to match. Defaults to checking for \"id\", \"uuid\", \"path\", \"title\", then \"name\". Has no effect unless values is an array of objects, the key is used instead for objects, and the value itself is used for primitive types.",
6998
- "markdownDescription": "Defines the key used for mapping between saved values and objects in values. This changes how\nthe input saves selected values to match. Defaults to checking for \"id\", \"uuid\", \"path\",\n\"title\", then \"name\". Has no effect unless values is an array of objects, the key is used\ninstead for objects, and the value itself is used for primitive types.",
6999
- "type": "string"
7000
- },
7001
- "values": {
7002
- "anyOf": [
7003
- {
7004
- "type": "string"
7005
- },
7006
- {
7007
- "$ref": "#/definitions/SelectValues"
7008
- }
7009
- ],
7010
- "description": "Defines the values available to choose from. Optional, defaults to fetching values from the naming convention (e.g. colors or my_colors for data set colors).",
7011
- "markdownDescription": "Defines the values available to choose from. Optional, defaults to fetching values from the\nnaming convention (e.g. colors or my_colors for data set colors)."
7012
- },
7013
- "view": {
7014
- "description": "Controls how selected items are rendered.",
7015
- "enum": [
7016
- "card",
7017
- "text",
7018
- "gallery",
7019
- "gallery-left"
7020
- ],
7021
- "markdownDescription": "Controls how selected items are rendered.",
7022
- "type": "string"
7023
- }
7024
- },
7025
- "type": "object"
7161
+ "$ref": "#/definitions/MultiselectInputOptions",
7162
+ "description": "Options that are specific to Multiselect Inputs.",
7163
+ "markdownDescription": "Options that are specific to Multiselect Inputs."
7026
7164
  },
7027
7165
  "type": {
7028
7166
  "const": "multiselect",
@@ -7036,6 +7174,59 @@
7036
7174
  ],
7037
7175
  "type": "object"
7038
7176
  },
7177
+ "MultiselectInputOptions": {
7178
+ "additionalProperties": false,
7179
+ "properties": {
7180
+ "disable_add": {
7181
+ "default": false,
7182
+ "description": "Hides the add button, and context menu actions on each array item for adding new items to this Input.",
7183
+ "markdownDescription": "Hides the add button, and context menu actions on each array item for adding new items to this\nInput.",
7184
+ "type": "boolean"
7185
+ },
7186
+ "disable_remove": {
7187
+ "default": false,
7188
+ "description": "Hides the context menu actions on each array item for removing them.",
7189
+ "markdownDescription": "Hides the context menu actions on each array item for removing them.",
7190
+ "type": "boolean"
7191
+ },
7192
+ "disable_reorder": {
7193
+ "default": false,
7194
+ "description": "Hides the controls on each array item for moving them.",
7195
+ "markdownDescription": "Hides the controls on each array item for moving them.",
7196
+ "type": "boolean"
7197
+ },
7198
+ "empty_type": {
7199
+ "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
7200
+ "enum": [
7201
+ "null",
7202
+ "array"
7203
+ ],
7204
+ "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
7205
+ "type": "string"
7206
+ },
7207
+ "max_items": {
7208
+ "description": "This key defines the maximum number of items CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from adding more items to this Input. If the Input already contains more items, CloudCannon will require you to remove items until the Input contains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot be a lesser number.\n\nThis key has no default.",
7209
+ "markdownDescription": "This key defines the maximum number of items CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from adding more items to this Input. If the Input\nalready contains more items, CloudCannon will require you to remove items until the Input\ncontains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot\nbe a lesser number.\n\nThis key has no default.",
7210
+ "type": "number"
7211
+ },
7212
+ "min_items": {
7213
+ "description": "This key defines the minimum number of items CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from removing items from this Input below this value. If the Input already contains fewer items, CloudCannon will require you to add items until the Input contains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot be a greater number.\n\nThis key has no default.",
7214
+ "markdownDescription": "This key defines the minimum number of items CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from removing items from this Input below this value.\nIf the Input already contains fewer items, CloudCannon will require you to add items until the\nInput contains a valid number to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.min_items` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.",
7215
+ "type": "number"
7216
+ },
7217
+ "required": {
7218
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
7219
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
7220
+ "type": "boolean"
7221
+ },
7222
+ "unique_on": {
7223
+ "description": "This key defines the JSON Path selector that CloudCannon should use to determine if the value of an Input is unique. When configured, CloudCannon will require the value of the Input to be unique compared to the value defined on the JSON Path. If the Input already contains a non-unique value, CloudCannon will require you to change it to a valid value to save your changes, or discard your unsaved changes.\n\nValue must be a valid JSON Path.\n\nThis key has no default.",
7224
+ "markdownDescription": "This key defines the JSON Path selector that CloudCannon should use to determine if the value\nof an Input is unique. When configured, CloudCannon will require the value of the Input to be\nunique compared to the value defined on the JSON Path. If the Input already contains a\nnon-unique value, CloudCannon will require you to change it to a valid value to save your\nchanges, or discard your unsaved changes.\n\nValue must be a valid JSON Path.\n\nThis key has no default.",
7225
+ "type": "string"
7226
+ }
7227
+ },
7228
+ "type": "object"
7229
+ },
7039
7230
  "NumberInput": {
7040
7231
  "additionalProperties": false,
7041
7232
  "properties": {
@@ -7118,8 +7309,8 @@
7118
7309
  },
7119
7310
  "options": {
7120
7311
  "$ref": "#/definitions/NumberInputOptions",
7121
- "description": "Options that are specific to this `type` of input.",
7122
- "markdownDescription": "Options that are specific to this `type` of input."
7312
+ "description": "Options that are specific to this Number Inputs.",
7313
+ "markdownDescription": "Options that are specific to this Number Inputs."
7123
7314
  },
7124
7315
  "type": {
7125
7316
  "const": "number",
@@ -7146,15 +7337,20 @@
7146
7337
  "type": "string"
7147
7338
  },
7148
7339
  "max": {
7149
- "description": "The greatest value in the range of permitted values.",
7150
- "markdownDescription": "The greatest value in the range of permitted values.",
7340
+ "description": "This key defines the maximum numerical value CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from entering a greater numerical value. If the Input already contains a greater numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your unsaved changes.\n\nValue can be any integer. If `options.min` is also configured, this key cannot be a lesser number.\n\nThis key has no default.",
7341
+ "markdownDescription": "This key defines the maximum numerical value CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from entering a greater numerical value. If the Input\nalready contains a greater numerical value, CloudCannon will require you to enter a valid value\nto save your changes, or discard your unsaved changes.\n\nValue can be any integer. If `options.min` is also configured, this key cannot be a lesser\nnumber.\n\nThis key has no default.",
7151
7342
  "type": "number"
7152
7343
  },
7153
7344
  "min": {
7154
- "description": "The lowest value in the range of permitted values.",
7155
- "markdownDescription": "The lowest value in the range of permitted values.",
7345
+ "description": "This key defines the minimum numerical value CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from entering a lesser numerical value. If the Input already contains a lesser numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your unsaved changes.\n\nValue can be any integer. If `options.max` is also configured, this key cannot be a greater number.\n\nThis key has no default.",
7346
+ "markdownDescription": "This key defines the minimum numerical value CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from entering a lesser numerical value. If the Input\nalready contains a lesser numerical value, CloudCannon will require you to enter a valid value\nto save your changes, or discard your unsaved changes.\n\nValue can be any integer. If `options.max` is also configured, this key cannot be a greater\nnumber.\n\nThis key has no default.",
7156
7347
  "type": "number"
7157
7348
  },
7349
+ "required": {
7350
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
7351
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
7352
+ "type": "boolean"
7353
+ },
7158
7354
  "step": {
7159
7355
  "description": "A number that specifies the granularity that the value must adhere to, or the special value any, which allows any decimal value between `max` and `min`.",
7160
7356
  "markdownDescription": "A number that specifies the granularity that the value must adhere to, or the special value\nany, which allows any decimal value between `max` and `min`.",
@@ -7245,8 +7441,8 @@
7245
7441
  },
7246
7442
  "options": {
7247
7443
  "$ref": "#/definitions/ObjectInputOptions",
7248
- "description": "Options that are specific to this `type` of input.",
7249
- "markdownDescription": "Options that are specific to this `type` of input."
7444
+ "description": "Options that are specific to Object Inputs.",
7445
+ "markdownDescription": "Options that are specific to Object Inputs."
7250
7446
  },
7251
7447
  "type": {
7252
7448
  "const": "object",
@@ -7371,6 +7567,11 @@
7371
7567
  "description": "Changes the way items are previewed in the CMS.",
7372
7568
  "markdownDescription": "Changes the way items are previewed in the CMS."
7373
7569
  },
7570
+ "required": {
7571
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
7572
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
7573
+ "type": "boolean"
7574
+ },
7374
7575
  "structures": {
7375
7576
  "anyOf": [
7376
7577
  {
@@ -7716,8 +7917,8 @@
7716
7917
  },
7717
7918
  "options": {
7718
7919
  "$ref": "#/definitions/RangeInputOptions",
7719
- "description": "Options that are specific to this `type` of input.",
7720
- "markdownDescription": "Options that are specific to this `type` of input."
7920
+ "description": "Options that are specific to Range Inputs.",
7921
+ "markdownDescription": "Options that are specific to Range Inputs."
7721
7922
  },
7722
7923
  "type": {
7723
7924
  "const": "range",
@@ -7745,16 +7946,21 @@
7745
7946
  },
7746
7947
  "max": {
7747
7948
  "default": 10,
7748
- "description": "The greatest value in the range of permitted values.",
7749
- "markdownDescription": "The greatest value in the range of permitted values.",
7949
+ "description": "This key defines the maximum numerical value CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from entering a greater numerical value. If the Input already contains a greater numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your unsaved changes.\n\nValue can be any integer. If `options.min` is also configured, this key cannot be a lesser number.",
7950
+ "markdownDescription": "This key defines the maximum numerical value CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from entering a greater numerical value. If the Input\nalready contains a greater numerical value, CloudCannon will require you to enter a valid value\nto save your changes, or discard your unsaved changes.\n\nValue can be any integer. If `options.min` is also configured, this key cannot be a lesser\nnumber.",
7750
7951
  "type": "number"
7751
7952
  },
7752
7953
  "min": {
7753
7954
  "default": 0,
7754
- "description": "The lowest value in the range of permitted values.",
7755
- "markdownDescription": "The lowest value in the range of permitted values.",
7955
+ "description": "This key defines the minimum numerical value CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from entering a lesser numerical value. If the Input already contains a lesser numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your unsaved changes.\n\nValue can be any integer. If `options.max` is also configured, this key cannot be a greater number.",
7956
+ "markdownDescription": "This key defines the minimum numerical value CloudCannon will allow in an Input. When\nconfigured, CloudCannon will prevent you from entering a lesser numerical value. If the Input\nalready contains a lesser numerical value, CloudCannon will require you to enter a valid value\nto save your changes, or discard your unsaved changes.\n\nValue can be any integer. If `options.max` is also configured, this key cannot be a greater\nnumber.",
7756
7957
  "type": "number"
7757
7958
  },
7959
+ "required": {
7960
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
7961
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
7962
+ "type": "boolean"
7963
+ },
7758
7964
  "step": {
7759
7965
  "default": 1,
7760
7966
  "description": "A number that specifies the granularity that the value must adhere to, or the special value any, which allows any decimal value between `max` and `min`.",
@@ -7846,8 +8052,8 @@
7846
8052
  },
7847
8053
  "options": {
7848
8054
  "$ref": "#/definitions/RichTextInputOptions",
7849
- "description": "Options that are specific to this `type` of input.",
7850
- "markdownDescription": "Options that are specific to this `type` of input."
8055
+ "description": "Options that are specific to Rich Text Inputs.",
8056
+ "markdownDescription": "Options that are specific to Rich Text Inputs."
7851
8057
  },
7852
8058
  "type": {
7853
8059
  "description": "Sets an input type, which controls how this input appears and behaves.",
@@ -8029,6 +8235,11 @@
8029
8235
  "markdownDescription": "Enables a control to create hyperlinks around selected text.",
8030
8236
  "type": "boolean"
8031
8237
  },
8238
+ "max_length": {
8239
+ "description": "This key defines the maximum string length, in characters, 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.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input to be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8240
+ "markdownDescription": "This key defines the maximum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too long. If the Input\nalready contains a longer value, CloudCannon will require you to remove characters until the\nInput contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input\nto be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8241
+ "type": "number"
8242
+ },
8032
8243
  "mime_type": {
8033
8244
  "description": "Sets the format images are converted to prior to upload. The extension of the file is updated to match. Defaults to keeping the mime type of the uploaded file.",
8034
8245
  "enum": [
@@ -8039,6 +8250,11 @@
8039
8250
  "markdownDescription": "Sets the format images are converted to prior to upload. The extension of the file is updated\nto match. Defaults to keeping the mime type of the uploaded file.",
8040
8251
  "type": "string"
8041
8252
  },
8253
+ "min_length": {
8254
+ "description": "This key defines the minimum string length, in characters, 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.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8255
+ "markdownDescription": "This key defines the minimum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too short. If the\nInput already contains a shorter value, CloudCannon will require you to add characters until\nthe Input contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8256
+ "type": "number"
8257
+ },
8042
8258
  "numberedlist": {
8043
8259
  "default": true,
8044
8260
  "description": "Enables a control to insert a numbered list, or to convert selected blocks of text into a numbered list.",
@@ -8056,6 +8272,60 @@
8056
8272
  "description": "Paths to where new asset files are uploaded to. They also set the default path when choosing existing images, and linking to existing files. Each path is relative to global `source`. Defaults to the global `paths`.",
8057
8273
  "markdownDescription": "Paths to where new asset files are uploaded to. They also set the default path when choosing\nexisting images, and linking to existing files. Each path is relative to global `source`.\nDefaults to the global `paths`."
8058
8274
  },
8275
+ "pattern": {
8276
+ "description": "This key defines a regular expression that the Input value must match. When configured, CloudCannon will require you to enter a value that matches the REGEX pattern. If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8277
+ "markdownDescription": "This key defines a regular expression that the Input value must match. When configured,\nCloudCannon will require you to enter a value that matches the REGEX pattern. If the Input\nalready contains an invalid value, CloudCannon will require you to enter a valid string to save\nyour changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8278
+ "type": "string"
8279
+ },
8280
+ "pattern_flags": {
8281
+ "additionalProperties": false,
8282
+ "description": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in `options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
8283
+ "markdownDescription": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in\n`options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular\nexpressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
8284
+ "properties": {
8285
+ "dot_all": {
8286
+ "default": false,
8287
+ "description": "`s` - `.` matches newline characters.",
8288
+ "markdownDescription": "`s` - `.` matches newline characters.",
8289
+ "type": "boolean"
8290
+ },
8291
+ "global": {
8292
+ "default": false,
8293
+ "description": "`g` - Search globally.",
8294
+ "markdownDescription": "`g` - Search globally.",
8295
+ "type": "boolean"
8296
+ },
8297
+ "ignore_case": {
8298
+ "default": false,
8299
+ "description": "`i` - Case-insensitive.",
8300
+ "markdownDescription": "`i` - Case-insensitive.",
8301
+ "type": "boolean"
8302
+ },
8303
+ "multiline": {
8304
+ "default": false,
8305
+ "description": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
8306
+ "markdownDescription": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
8307
+ "type": "boolean"
8308
+ },
8309
+ "unicode": {
8310
+ "default": false,
8311
+ "description": "`u` - Pattern is treated as a sequence of Unicode code points.",
8312
+ "markdownDescription": "`u` - Pattern is treated as a sequence of Unicode code points.",
8313
+ "type": "boolean"
8314
+ },
8315
+ "unicode_sets": {
8316
+ "default": false,
8317
+ "description": "`v` - Extended `unicode` mode.",
8318
+ "markdownDescription": "`v` - Extended `unicode` mode.",
8319
+ "type": "boolean"
8320
+ }
8321
+ },
8322
+ "type": "object"
8323
+ },
8324
+ "pattern_message": {
8325
+ "description": "This key defines the message that explains which regular expression an Input will accept. This key requires you to define `options.pattern`.\n\nThis key has no default.",
8326
+ "markdownDescription": "This key defines the message that explains which regular expression an Input will accept. This\nkey requires you to define `options.pattern`.\n\nThis key has no default.",
8327
+ "type": "string"
8328
+ },
8059
8329
  "prevent_resize_existing_files": {
8060
8330
  "default": false,
8061
8331
  "description": "Enable to skip the image resizing process configured for this input when selecting existing images.",
@@ -8079,6 +8349,11 @@
8079
8349
  "markdownDescription": "Enables the control to remove formatting from text. Applies to formatting from `bold`,\n`italic`, `underline`, `strike`, `subscript`, and `superscript`. Does not remove other styles\nor formatting.",
8080
8350
  "type": "boolean"
8081
8351
  },
8352
+ "required": {
8353
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
8354
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
8355
+ "type": "boolean"
8356
+ },
8082
8357
  "resize_style": {
8083
8358
  "default": "contain",
8084
8359
  "description": "Sets how uploaded image files are resized with a bounding box defined by width and height prior to upload. Has no effect when selecting existing images, or if width and height are unset.",
@@ -8355,8 +8630,8 @@
8355
8630
  },
8356
8631
  "options": {
8357
8632
  "additionalProperties": false,
8358
- "description": "Options that are specific to this `type` of input.",
8359
- "markdownDescription": "Options that are specific to this `type` of input.",
8633
+ "description": "Options that are specific to Select Inputs.",
8634
+ "markdownDescription": "Options that are specific to Select Inputs.",
8360
8635
  "properties": {
8361
8636
  "allow_create": {
8362
8637
  "default": false,
@@ -8379,6 +8654,70 @@
8379
8654
  "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
8380
8655
  "type": "string"
8381
8656
  },
8657
+ "max_length": {
8658
+ "description": "This key defines the maximum string length, in characters, 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.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input to be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8659
+ "markdownDescription": "This key defines the maximum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too long. If the Input\nalready contains a longer value, CloudCannon will require you to remove characters until the\nInput contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input\nto be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8660
+ "type": "number"
8661
+ },
8662
+ "min_length": {
8663
+ "description": "This key defines the minimum string length, in characters, 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.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8664
+ "markdownDescription": "This key defines the minimum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too short. If the\nInput already contains a shorter value, CloudCannon will require you to add characters until\nthe Input contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8665
+ "type": "number"
8666
+ },
8667
+ "pattern": {
8668
+ "description": "This key defines a regular expression that the Input value must match. When configured, CloudCannon will require you to enter a value that matches the REGEX pattern. If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8669
+ "markdownDescription": "This key defines a regular expression that the Input value must match. When configured,\nCloudCannon will require you to enter a value that matches the REGEX pattern. If the Input\nalready contains an invalid value, CloudCannon will require you to enter a valid string to save\nyour changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
8670
+ "type": "string"
8671
+ },
8672
+ "pattern_flags": {
8673
+ "additionalProperties": false,
8674
+ "description": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in `options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
8675
+ "markdownDescription": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in\n`options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular\nexpressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
8676
+ "properties": {
8677
+ "dot_all": {
8678
+ "default": false,
8679
+ "description": "`s` - `.` matches newline characters.",
8680
+ "markdownDescription": "`s` - `.` matches newline characters.",
8681
+ "type": "boolean"
8682
+ },
8683
+ "global": {
8684
+ "default": false,
8685
+ "description": "`g` - Search globally.",
8686
+ "markdownDescription": "`g` - Search globally.",
8687
+ "type": "boolean"
8688
+ },
8689
+ "ignore_case": {
8690
+ "default": false,
8691
+ "description": "`i` - Case-insensitive.",
8692
+ "markdownDescription": "`i` - Case-insensitive.",
8693
+ "type": "boolean"
8694
+ },
8695
+ "multiline": {
8696
+ "default": false,
8697
+ "description": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
8698
+ "markdownDescription": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
8699
+ "type": "boolean"
8700
+ },
8701
+ "unicode": {
8702
+ "default": false,
8703
+ "description": "`u` - Pattern is treated as a sequence of Unicode code points.",
8704
+ "markdownDescription": "`u` - Pattern is treated as a sequence of Unicode code points.",
8705
+ "type": "boolean"
8706
+ },
8707
+ "unicode_sets": {
8708
+ "default": false,
8709
+ "description": "`v` - Extended `unicode` mode.",
8710
+ "markdownDescription": "`v` - Extended `unicode` mode.",
8711
+ "type": "boolean"
8712
+ }
8713
+ },
8714
+ "type": "object"
8715
+ },
8716
+ "pattern_message": {
8717
+ "description": "This key defines the message that explains which regular expression an Input will accept. This key requires you to define `options.pattern`.\n\nThis key has no default.",
8718
+ "markdownDescription": "This key defines the message that explains which regular expression an Input will accept. This\nkey requires you to define `options.pattern`.\n\nThis key has no default.",
8719
+ "type": "string"
8720
+ },
8382
8721
  "picker_preview": {
8383
8722
  "$ref": "#/definitions/Preview",
8384
8723
  "description": "Changes the way items are previewed in the CMS while being chosen.",
@@ -8400,6 +8739,11 @@
8400
8739
  "description": "Changes the way items are previewed in the CMS.",
8401
8740
  "markdownDescription": "Changes the way items are previewed in the CMS."
8402
8741
  },
8742
+ "required": {
8743
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
8744
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
8745
+ "type": "boolean"
8746
+ },
8403
8747
  "value_key": {
8404
8748
  "description": "Defines the key used for mapping between saved values and objects in values. This changes how the input saves selected values to match. Defaults to checking for \"id\", \"uuid\", \"path\", \"title\", then \"name\". Has no effect unless values is an array of objects, the key is used instead for objects, and the value itself is used for primitive types.",
8405
8749
  "markdownDescription": "Defines the key used for mapping between saved values and objects in values. This changes how\nthe input saves selected values to match. Defaults to checking for \"id\", \"uuid\", \"path\",\n\"title\", then \"name\". Has no effect unless values is an array of objects, the key is used\ninstead for objects, and the value itself is used for primitive types.",
@@ -9735,8 +10079,8 @@
9735
10079
  },
9736
10080
  "options": {
9737
10081
  "$ref": "#/definitions/TextInputOptions",
9738
- "description": "Options that are specific to this `type` of input.",
9739
- "markdownDescription": "Options that are specific to this `type` of input."
10082
+ "description": "Options that are specific to Text Inputs.",
10083
+ "markdownDescription": "Options that are specific to Text Inputs."
9740
10084
  },
9741
10085
  "type": {
9742
10086
  "description": "Sets an input type, which controls how this input appears and behaves.",
@@ -9776,10 +10120,79 @@
9776
10120
  "description": "Icon shown beside the input.",
9777
10121
  "markdownDescription": "Icon shown beside the input."
9778
10122
  },
10123
+ "max_length": {
10124
+ "description": "This key defines the maximum string length, in characters, 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.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input to be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10125
+ "markdownDescription": "This key defines the maximum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too long. If the Input\nalready contains a longer value, CloudCannon will require you to remove characters until the\nInput contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input\nto be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10126
+ "type": "number"
10127
+ },
10128
+ "min_length": {
10129
+ "description": "This key defines the minimum string length, in characters, 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.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10130
+ "markdownDescription": "This key defines the minimum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too short. If the\nInput already contains a shorter value, CloudCannon will require you to add characters until\nthe Input contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10131
+ "type": "number"
10132
+ },
10133
+ "pattern": {
10134
+ "description": "This key defines a regular expression that the Input value must match. When configured, CloudCannon will require you to enter a value that matches the REGEX pattern. If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10135
+ "markdownDescription": "This key defines a regular expression that the Input value must match. When configured,\nCloudCannon will require you to enter a value that matches the REGEX pattern. If the Input\nalready contains an invalid value, CloudCannon will require you to enter a valid string to save\nyour changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10136
+ "type": "string"
10137
+ },
10138
+ "pattern_flags": {
10139
+ "additionalProperties": false,
10140
+ "description": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in `options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
10141
+ "markdownDescription": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in\n`options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular\nexpressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
10142
+ "properties": {
10143
+ "dot_all": {
10144
+ "default": false,
10145
+ "description": "`s` - `.` matches newline characters.",
10146
+ "markdownDescription": "`s` - `.` matches newline characters.",
10147
+ "type": "boolean"
10148
+ },
10149
+ "global": {
10150
+ "default": false,
10151
+ "description": "`g` - Search globally.",
10152
+ "markdownDescription": "`g` - Search globally.",
10153
+ "type": "boolean"
10154
+ },
10155
+ "ignore_case": {
10156
+ "default": false,
10157
+ "description": "`i` - Case-insensitive.",
10158
+ "markdownDescription": "`i` - Case-insensitive.",
10159
+ "type": "boolean"
10160
+ },
10161
+ "multiline": {
10162
+ "default": false,
10163
+ "description": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
10164
+ "markdownDescription": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
10165
+ "type": "boolean"
10166
+ },
10167
+ "unicode": {
10168
+ "default": false,
10169
+ "description": "`u` - Pattern is treated as a sequence of Unicode code points.",
10170
+ "markdownDescription": "`u` - Pattern is treated as a sequence of Unicode code points.",
10171
+ "type": "boolean"
10172
+ },
10173
+ "unicode_sets": {
10174
+ "default": false,
10175
+ "description": "`v` - Extended `unicode` mode.",
10176
+ "markdownDescription": "`v` - Extended `unicode` mode.",
10177
+ "type": "boolean"
10178
+ }
10179
+ },
10180
+ "type": "object"
10181
+ },
10182
+ "pattern_message": {
10183
+ "description": "This key defines the message that explains which regular expression an Input will accept. This key requires you to define `options.pattern`.\n\nThis key has no default.",
10184
+ "markdownDescription": "This key defines the message that explains which regular expression an Input will accept. This\nkey requires you to define `options.pattern`.\n\nThis key has no default.",
10185
+ "type": "string"
10186
+ },
9779
10187
  "placeholder": {
9780
10188
  "description": "Text shown when this input has no value.",
9781
10189
  "markdownDescription": "Text shown when this input has no value.",
9782
10190
  "type": "string"
10191
+ },
10192
+ "required": {
10193
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
10194
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
10195
+ "type": "boolean"
9783
10196
  }
9784
10197
  },
9785
10198
  "type": "object"
@@ -9866,8 +10279,8 @@
9866
10279
  },
9867
10280
  "options": {
9868
10281
  "$ref": "#/definitions/TextareaInputOptions",
9869
- "description": "Options that are specific to this `type` of input.",
9870
- "markdownDescription": "Options that are specific to this `type` of input."
10282
+ "description": "Options that are specific to Textarea Inputs.",
10283
+ "markdownDescription": "Options that are specific to Textarea Inputs."
9871
10284
  },
9872
10285
  "type": {
9873
10286
  "const": "textarea",
@@ -9898,11 +10311,80 @@
9898
10311
  "description": "Icon shown beside the input.",
9899
10312
  "markdownDescription": "Icon shown beside the input."
9900
10313
  },
10314
+ "max_length": {
10315
+ "description": "This key defines the maximum string length, in characters, 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.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input to be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10316
+ "markdownDescription": "This key defines the maximum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too long. If the Input\nalready contains a longer value, CloudCannon will require you to remove characters until the\nInput contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input\nto be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10317
+ "type": "number"
10318
+ },
10319
+ "min_length": {
10320
+ "description": "This key defines the minimum string length, in characters, 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.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10321
+ "markdownDescription": "This key defines the minimum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too short. If the\nInput already contains a shorter value, CloudCannon will require you to add characters until\nthe Input contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10322
+ "type": "number"
10323
+ },
10324
+ "pattern": {
10325
+ "description": "This key defines a regular expression that the Input value must match. When configured, CloudCannon will require you to enter a value that matches the REGEX pattern. If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10326
+ "markdownDescription": "This key defines a regular expression that the Input value must match. When configured,\nCloudCannon will require you to enter a value that matches the REGEX pattern. If the Input\nalready contains an invalid value, CloudCannon will require you to enter a valid string to save\nyour changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
10327
+ "type": "string"
10328
+ },
10329
+ "pattern_flags": {
10330
+ "additionalProperties": false,
10331
+ "description": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in `options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
10332
+ "markdownDescription": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in\n`options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular\nexpressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
10333
+ "properties": {
10334
+ "dot_all": {
10335
+ "default": false,
10336
+ "description": "`s` - `.` matches newline characters.",
10337
+ "markdownDescription": "`s` - `.` matches newline characters.",
10338
+ "type": "boolean"
10339
+ },
10340
+ "global": {
10341
+ "default": false,
10342
+ "description": "`g` - Search globally.",
10343
+ "markdownDescription": "`g` - Search globally.",
10344
+ "type": "boolean"
10345
+ },
10346
+ "ignore_case": {
10347
+ "default": false,
10348
+ "description": "`i` - Case-insensitive.",
10349
+ "markdownDescription": "`i` - Case-insensitive.",
10350
+ "type": "boolean"
10351
+ },
10352
+ "multiline": {
10353
+ "default": false,
10354
+ "description": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
10355
+ "markdownDescription": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
10356
+ "type": "boolean"
10357
+ },
10358
+ "unicode": {
10359
+ "default": false,
10360
+ "description": "`u` - Pattern is treated as a sequence of Unicode code points.",
10361
+ "markdownDescription": "`u` - Pattern is treated as a sequence of Unicode code points.",
10362
+ "type": "boolean"
10363
+ },
10364
+ "unicode_sets": {
10365
+ "default": false,
10366
+ "description": "`v` - Extended `unicode` mode.",
10367
+ "markdownDescription": "`v` - Extended `unicode` mode.",
10368
+ "type": "boolean"
10369
+ }
10370
+ },
10371
+ "type": "object"
10372
+ },
10373
+ "pattern_message": {
10374
+ "description": "This key defines the message that explains which regular expression an Input will accept. This key requires you to define `options.pattern`.\n\nThis key has no default.",
10375
+ "markdownDescription": "This key defines the message that explains which regular expression an Input will accept. This\nkey requires you to define `options.pattern`.\n\nThis key has no default.",
10376
+ "type": "string"
10377
+ },
9901
10378
  "placeholder": {
9902
10379
  "description": "Text shown when this input has no value.",
9903
10380
  "markdownDescription": "Text shown when this input has no value.",
9904
10381
  "type": "string"
9905
10382
  },
10383
+ "required": {
10384
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
10385
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
10386
+ "type": "boolean"
10387
+ },
9906
10388
  "show_count": {
9907
10389
  "default": false,
9908
10390
  "description": "Shows a character counter below the input if enabled.",
@@ -10036,9 +10518,26 @@
10036
10518
  "type": "string"
10037
10519
  },
10038
10520
  "options": {
10039
- "$ref": "#/definitions/WithEmptyTypeText",
10521
+ "additionalProperties": false,
10040
10522
  "description": "Options that are specific to Time inputs.",
10041
- "markdownDescription": "Options that are specific to Time inputs."
10523
+ "markdownDescription": "Options that are specific to Time inputs.",
10524
+ "properties": {
10525
+ "empty_type": {
10526
+ "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
10527
+ "enum": [
10528
+ "null",
10529
+ "string"
10530
+ ],
10531
+ "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
10532
+ "type": "string"
10533
+ },
10534
+ "required": {
10535
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
10536
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
10537
+ "type": "boolean"
10538
+ }
10539
+ },
10540
+ "type": "object"
10042
10541
  },
10043
10542
  "type": {
10044
10543
  "const": "time",
@@ -10821,8 +11320,8 @@
10821
11320
  },
10822
11321
  "options": {
10823
11322
  "$ref": "#/definitions/UrlInputOptions",
10824
- "description": "Options that are specific to this `type` of input.",
10825
- "markdownDescription": "Options that are specific to this `type` of input."
11323
+ "description": "Options that are specific to URL inputs.",
11324
+ "markdownDescription": "Options that are specific to URL inputs."
10826
11325
  },
10827
11326
  "type": {
10828
11327
  "const": "url",
@@ -10839,6 +11338,47 @@
10839
11338
  "UrlInputOptions": {
10840
11339
  "additionalProperties": false,
10841
11340
  "properties": {
11341
+ "accepts_mime_types": {
11342
+ "anyOf": [
11343
+ {
11344
+ "items": {
11345
+ "$ref": "#/definitions/MimeType"
11346
+ },
11347
+ "type": "array"
11348
+ },
11349
+ {
11350
+ "type": "string"
11351
+ }
11352
+ ],
11353
+ "description": "Restricts which file types are available to select or upload to this input. Accepted format is an array or comma-separated string of MIME types. The special value '*' means any type is accepted.",
11354
+ "markdownDescription": "Restricts which file types are available to select or upload to this input. Accepted format is\nan array or comma-separated string of MIME types. The special value '*' means any type is\naccepted."
11355
+ },
11356
+ "allowed_sources": {
11357
+ "description": "If you have one or more DAMs connected to your site, you can use this key to list which asset sources can be uploaded to and selected from.",
11358
+ "items": {
11359
+ "type": "string"
11360
+ },
11361
+ "markdownDescription": "If you have one or more DAMs connected to your site, you can use this key to list which asset\nsources can be uploaded to and selected from.",
11362
+ "type": "array"
11363
+ },
11364
+ "disable_direct_input": {
11365
+ "default": false,
11366
+ "description": "Prevents typing into the text input, while still allowing context menu options to change the value.",
11367
+ "markdownDescription": "Prevents typing into the text input, while still allowing context menu options to change the\nvalue.",
11368
+ "type": "boolean"
11369
+ },
11370
+ "disable_upload_file": {
11371
+ "default": false,
11372
+ "description": "Disables the context menu option and the drop area for uploading files.",
11373
+ "markdownDescription": "Disables the context menu option and the drop area for uploading files.",
11374
+ "type": "boolean"
11375
+ },
11376
+ "disable_upload_file_in_file_browser": {
11377
+ "default": false,
11378
+ "description": "Prevents file uploads inside the \"Select existing file/image\" file browser modal window.",
11379
+ "markdownDescription": "Prevents file uploads inside the \"Select existing file/image\" file browser modal window.",
11380
+ "type": "boolean"
11381
+ },
10842
11382
  "empty_type": {
10843
11383
  "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
10844
11384
  "enum": [
@@ -10848,6 +11388,17 @@
10848
11388
  "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
10849
11389
  "type": "string"
10850
11390
  },
11391
+ "expandable": {
11392
+ "default": false,
11393
+ "description": "Controls whether or not images can be upscaled to fit the bounding box during resize prior to upload. Has no effect if files are not resized.",
11394
+ "markdownDescription": "Controls whether or not images can be upscaled to fit the bounding box during resize prior to\nupload. Has no effect if files are not resized.",
11395
+ "type": "boolean"
11396
+ },
11397
+ "height": {
11398
+ "description": "Defines the height of the bounding box used in the image resizing process defined with resize_style.",
11399
+ "markdownDescription": "Defines the height of the bounding box used in the image resizing process defined with\nresize_style.",
11400
+ "type": "number"
11401
+ },
10851
11402
  "hide_link_to_email_address": {
10852
11403
  "default": false,
10853
11404
  "description": "Hides the option to link to an email address. This does not prevent typing a `mailto:` link in the input.",
@@ -10856,8 +11407,8 @@
10856
11407
  },
10857
11408
  "hide_link_to_file": {
10858
11409
  "default": false,
10859
- "description": "Hides the option to link to a file. This does not prevent typing a file path in the input.",
10860
- "markdownDescription": "Hides the option to link to a file. This does not prevent typing a file path in the input.",
11410
+ "description": "Hides the options to link to an existing file, and upload a new file. This does not prevent typing a file path in the input.",
11411
+ "markdownDescription": "Hides the options to link to an existing file, and upload a new file. This does not prevent\ntyping a file path in the input.",
10861
11412
  "type": "boolean"
10862
11413
  },
10863
11414
  "hide_link_to_page": {
@@ -10866,25 +11417,142 @@
10866
11417
  "markdownDescription": "Hides the option to link to a page. This does not prevent typing a file's output URL in the\ninput.",
10867
11418
  "type": "boolean"
10868
11419
  },
11420
+ "image_size_attributes": {
11421
+ "default": true,
11422
+ "description": "Instructs the editor to save `width` and `height` attributes on the image elements. This can prevent pop-in as a page loads.",
11423
+ "markdownDescription": "Instructs the editor to save `width` and `height` attributes on the image elements. This can\nprevent pop-in as a page loads.",
11424
+ "type": "boolean"
11425
+ },
11426
+ "max_length": {
11427
+ "description": "This key defines the maximum string length, in characters, 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.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input to be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
11428
+ "markdownDescription": "This key defines the maximum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too long. If the Input\nalready contains a longer value, CloudCannon will require you to remove characters until the\nInput contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any non-negative integer. If this key is set to 0, CloudCannon requires the Input\nto be empty. If `options.min_length` is also configured, this key cannot be a smaller number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
11429
+ "type": "number"
11430
+ },
11431
+ "mime_type": {
11432
+ "description": "Sets the format images are converted to prior to upload. The extension of the file is updated to match. Defaults to keeping the mime type of the uploaded file.",
11433
+ "enum": [
11434
+ "image/jpeg",
11435
+ "image/png",
11436
+ "image/webp"
11437
+ ],
11438
+ "markdownDescription": "Sets the format images are converted to prior to upload. The extension of the file is updated\nto match. Defaults to keeping the mime type of the uploaded file.",
11439
+ "type": "string"
11440
+ },
11441
+ "min_length": {
11442
+ "description": "This key defines the minimum string length, in characters, 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.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
11443
+ "markdownDescription": "This key defines the minimum string length, in characters, that CloudCannon will allow in an\nInput. When configured, CloudCannon will warn you when an Input value is too short. If the\nInput already contains a shorter value, CloudCannon will require you to add characters until\nthe Input contains a valid string to save your changes, or discard your unsaved changes.\n\nValue can be any positive integer. If `options.max_length` is also configured, this key cannot\nbe a greater number.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
11444
+ "type": "number"
11445
+ },
10869
11446
  "paths": {
10870
11447
  "$ref": "#/definitions/Paths",
10871
11448
  "description": "Paths to where new asset files are uploaded to. They also set the default path when choosing existing images, and linking to existing files. Each path is relative to global `source`. Defaults to the global `paths`.",
10872
11449
  "markdownDescription": "Paths to where new asset files are uploaded to. They also set the default path when choosing\nexisting images, and linking to existing files. Each path is relative to global `source`.\nDefaults to the global `paths`."
10873
- }
10874
- },
10875
- "type": "object"
10876
- },
10877
- "WithEmptyTypeText": {
10878
- "additionalProperties": false,
10879
- "properties": {
10880
- "empty_type": {
10881
- "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
11450
+ },
11451
+ "pattern": {
11452
+ "description": "This key defines a regular expression that the Input value must match. When configured, CloudCannon will require you to enter a value that matches the REGEX pattern. If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
11453
+ "markdownDescription": "This key defines a regular expression that the Input value must match. When configured,\nCloudCannon will require you to enter a value that matches the REGEX pattern. If the Input\nalready contains an invalid value, CloudCannon will require you to enter a valid string to save\nyour changes, or discard your unsaved changes.\n\nValue must be a valid REGEX string.\n\nThis key has no default.\n\nTo use this key in a Select Input, `options.allow_create` must be set to true.",
11454
+ "type": "string"
11455
+ },
11456
+ "pattern_flags": {
11457
+ "additionalProperties": false,
11458
+ "description": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in `options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular expressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
11459
+ "markdownDescription": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in\n`options.pattern`. This key requires you to define `options.pattern`.\n\nThe flags available match those a subset for [JavaScript regular\nexpressions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions#advanced_searching_with_flags).\n\nThis key has no default.",
11460
+ "properties": {
11461
+ "dot_all": {
11462
+ "default": false,
11463
+ "description": "`s` - `.` matches newline characters.",
11464
+ "markdownDescription": "`s` - `.` matches newline characters.",
11465
+ "type": "boolean"
11466
+ },
11467
+ "global": {
11468
+ "default": false,
11469
+ "description": "`g` - Search globally.",
11470
+ "markdownDescription": "`g` - Search globally.",
11471
+ "type": "boolean"
11472
+ },
11473
+ "ignore_case": {
11474
+ "default": false,
11475
+ "description": "`i` - Case-insensitive.",
11476
+ "markdownDescription": "`i` - Case-insensitive.",
11477
+ "type": "boolean"
11478
+ },
11479
+ "multiline": {
11480
+ "default": false,
11481
+ "description": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
11482
+ "markdownDescription": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
11483
+ "type": "boolean"
11484
+ },
11485
+ "unicode": {
11486
+ "default": false,
11487
+ "description": "`u` - Pattern is treated as a sequence of Unicode code points.",
11488
+ "markdownDescription": "`u` - Pattern is treated as a sequence of Unicode code points.",
11489
+ "type": "boolean"
11490
+ },
11491
+ "unicode_sets": {
11492
+ "default": false,
11493
+ "description": "`v` - Extended `unicode` mode.",
11494
+ "markdownDescription": "`v` - Extended `unicode` mode.",
11495
+ "type": "boolean"
11496
+ }
11497
+ },
11498
+ "type": "object"
11499
+ },
11500
+ "pattern_message": {
11501
+ "description": "This key defines the message that explains which regular expression an Input will accept. This key requires you to define `options.pattern`.\n\nThis key has no default.",
11502
+ "markdownDescription": "This key defines the message that explains which regular expression an Input will accept. This\nkey requires you to define `options.pattern`.\n\nThis key has no default.",
11503
+ "type": "string"
11504
+ },
11505
+ "prevent_resize_existing_files": {
11506
+ "default": false,
11507
+ "description": "Enable to skip the image resizing process configured for this input when selecting existing images.",
11508
+ "markdownDescription": "Enable to skip the image resizing process configured for this input when selecting existing\nimages.",
11509
+ "type": "boolean"
11510
+ },
11511
+ "required": {
11512
+ "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
11513
+ "markdownDescription": "This key toggles whether CloudCannon requires this Input to have a value. If set to true,\nCloudCannon will require you to enter a value to save your changes, or discard your unsaved\nchanges.\n\nBy default, this key is false (i.e, CloudCannon does not require this Input to have a value).",
11514
+ "type": "boolean"
11515
+ },
11516
+ "resize_style": {
11517
+ "default": "contain",
11518
+ "description": "Sets how uploaded image files are resized with a bounding box defined by width and height prior to upload. Has no effect when selecting existing images, or if width and height are unset.",
10882
11519
  "enum": [
10883
- "null",
10884
- "string"
11520
+ "cover",
11521
+ "contain",
11522
+ "stretch",
11523
+ "crop"
10885
11524
  ],
10886
- "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
11525
+ "markdownDescription": "Sets how uploaded image files are resized with a bounding box defined by width and height prior\nto upload. Has no effect when selecting existing images, or if width and height are unset.",
10887
11526
  "type": "string"
11527
+ },
11528
+ "sizes": {
11529
+ "description": "Definitions for creating additional images of different sizes when uploading or selecting existing files.",
11530
+ "items": {
11531
+ "additionalProperties": false,
11532
+ "properties": {
11533
+ "size": {
11534
+ "description": "A number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w).",
11535
+ "markdownDescription": "A number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of\nthe image (e.g. 2x, 3x, 100w, 360w).",
11536
+ "type": "string"
11537
+ },
11538
+ "target": {
11539
+ "description": "A reference to another input that is given the path to this additional image file.",
11540
+ "markdownDescription": "A reference to another input that is given the path to this additional image file.",
11541
+ "type": "string"
11542
+ }
11543
+ },
11544
+ "required": [
11545
+ "size"
11546
+ ],
11547
+ "type": "object"
11548
+ },
11549
+ "markdownDescription": "Definitions for creating additional images of different sizes when uploading or selecting\nexisting files.",
11550
+ "type": "array"
11551
+ },
11552
+ "width": {
11553
+ "description": "Defines the width of the bounding box used in the image resizing process defined with resize_style.",
11554
+ "markdownDescription": "Defines the width of the bounding box used in the image resizing process defined with\nresize_style.",
11555
+ "type": "number"
10888
11556
  }
10889
11557
  },
10890
11558
  "type": "object"