@cloudcannon/configuration-types 0.0.31 → 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",
@@ -1846,6 +2103,11 @@
1846
2103
  "markdownDescription": "Instructs the editor to save `width` and `height` attributes on the image elements. This can\nprevent pop-in as a page loads.",
1847
2104
  "type": "boolean"
1848
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
+ },
1849
2111
  "mime_type": {
1850
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.",
1851
2113
  "enum": [
@@ -1856,17 +2118,81 @@
1856
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.",
1857
2119
  "type": "string"
1858
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
+ },
1859
2126
  "paths": {
1860
2127
  "$ref": "#/definitions/Paths",
1861
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`.",
1862
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`."
1863
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
+ },
1864
2185
  "prevent_resize_existing_files": {
1865
2186
  "default": false,
1866
2187
  "description": "Enable to skip the image resizing process configured for this input when selecting existing images.",
1867
2188
  "markdownDescription": "Enable to skip the image resizing process configured for this input when selecting existing\nimages.",
1868
2189
  "type": "boolean"
1869
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
+ },
1870
2196
  "resize_style": {
1871
2197
  "default": "contain",
1872
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.",
@@ -6649,8 +6975,8 @@
6649
6975
  },
6650
6976
  "options": {
6651
6977
  "additionalProperties": false,
6652
- "description": "Options that are specific to this `type` of input.",
6653
- "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.",
6654
6980
  "properties": {
6655
6981
  "allow_empty": {
6656
6982
  "default": true,
@@ -6667,6 +6993,16 @@
6667
6993
  "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
6668
6994
  "type": "string"
6669
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
+ },
6670
7006
  "picker_preview": {
6671
7007
  "$ref": "#/definitions/Preview",
6672
7008
  "description": "Changes the way items are previewed in the CMS while being chosen.",
@@ -6688,6 +7024,16 @@
6688
7024
  "description": "Changes the way items are previewed in the CMS.",
6689
7025
  "markdownDescription": "Changes the way items are previewed in the CMS."
6690
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
+ },
6691
7037
  "value_key": {
6692
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.",
6693
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.",
@@ -6812,82 +7158,9 @@
6812
7158
  "type": "string"
6813
7159
  },
6814
7160
  "options": {
6815
- "additionalProperties": false,
6816
- "description": "Options that are specific to this `type` of input.",
6817
- "markdownDescription": "Options that are specific to this `type` of input.",
6818
- "properties": {
6819
- "allow_create": {
6820
- "default": false,
6821
- "description": "Allows new text values to be created at edit time.",
6822
- "markdownDescription": "Allows new text values to be created at edit time.",
6823
- "type": "boolean"
6824
- },
6825
- "allow_empty": {
6826
- "default": true,
6827
- "description": "Provides an empty option alongside the options provided by values.",
6828
- "markdownDescription": "Provides an empty option alongside the options provided by values.",
6829
- "type": "boolean"
6830
- },
6831
- "empty_type": {
6832
- "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
6833
- "enum": [
6834
- "null",
6835
- "array"
6836
- ],
6837
- "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
6838
- "type": "string"
6839
- },
6840
- "picker_preview": {
6841
- "$ref": "#/definitions/Preview",
6842
- "description": "Changes the way items are previewed in the CMS while being chosen.",
6843
- "markdownDescription": "Changes the way items are previewed in the CMS while being chosen."
6844
- },
6845
- "picker_view": {
6846
- "description": "Controls how selectable options are rendered.",
6847
- "enum": [
6848
- "card",
6849
- "text",
6850
- "gallery",
6851
- "gallery-left"
6852
- ],
6853
- "markdownDescription": "Controls how selectable options are rendered.",
6854
- "type": "string"
6855
- },
6856
- "preview": {
6857
- "$ref": "#/definitions/Preview",
6858
- "description": "Changes the way items are previewed in the CMS.",
6859
- "markdownDescription": "Changes the way items are previewed in the CMS."
6860
- },
6861
- "value_key": {
6862
- "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.",
6863
- "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.",
6864
- "type": "string"
6865
- },
6866
- "values": {
6867
- "anyOf": [
6868
- {
6869
- "type": "string"
6870
- },
6871
- {
6872
- "$ref": "#/definitions/SelectValues"
6873
- }
6874
- ],
6875
- "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).",
6876
- "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)."
6877
- },
6878
- "view": {
6879
- "description": "Controls how selected items are rendered.",
6880
- "enum": [
6881
- "card",
6882
- "text",
6883
- "gallery",
6884
- "gallery-left"
6885
- ],
6886
- "markdownDescription": "Controls how selected items are rendered.",
6887
- "type": "string"
6888
- }
6889
- },
6890
- "type": "object"
7161
+ "$ref": "#/definitions/MultiselectInputOptions",
7162
+ "description": "Options that are specific to Multiselect Inputs.",
7163
+ "markdownDescription": "Options that are specific to Multiselect Inputs."
6891
7164
  },
6892
7165
  "type": {
6893
7166
  "const": "multiselect",
@@ -6901,6 +7174,59 @@
6901
7174
  ],
6902
7175
  "type": "object"
6903
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
+ },
6904
7230
  "NumberInput": {
6905
7231
  "additionalProperties": false,
6906
7232
  "properties": {
@@ -6983,8 +7309,8 @@
6983
7309
  },
6984
7310
  "options": {
6985
7311
  "$ref": "#/definitions/NumberInputOptions",
6986
- "description": "Options that are specific to this `type` of input.",
6987
- "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."
6988
7314
  },
6989
7315
  "type": {
6990
7316
  "const": "number",
@@ -7011,15 +7337,20 @@
7011
7337
  "type": "string"
7012
7338
  },
7013
7339
  "max": {
7014
- "description": "The greatest value in the range of permitted values.",
7015
- "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.",
7016
7342
  "type": "number"
7017
7343
  },
7018
7344
  "min": {
7019
- "description": "The lowest value in the range of permitted values.",
7020
- "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.",
7021
7347
  "type": "number"
7022
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
+ },
7023
7354
  "step": {
7024
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`.",
7025
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`.",
@@ -7110,8 +7441,8 @@
7110
7441
  },
7111
7442
  "options": {
7112
7443
  "$ref": "#/definitions/ObjectInputOptions",
7113
- "description": "Options that are specific to this `type` of input.",
7114
- "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."
7115
7446
  },
7116
7447
  "type": {
7117
7448
  "const": "object",
@@ -7236,6 +7567,11 @@
7236
7567
  "description": "Changes the way items are previewed in the CMS.",
7237
7568
  "markdownDescription": "Changes the way items are previewed in the CMS."
7238
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
+ },
7239
7575
  "structures": {
7240
7576
  "anyOf": [
7241
7577
  {
@@ -7581,8 +7917,8 @@
7581
7917
  },
7582
7918
  "options": {
7583
7919
  "$ref": "#/definitions/RangeInputOptions",
7584
- "description": "Options that are specific to this `type` of input.",
7585
- "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."
7586
7922
  },
7587
7923
  "type": {
7588
7924
  "const": "range",
@@ -7610,16 +7946,21 @@
7610
7946
  },
7611
7947
  "max": {
7612
7948
  "default": 10,
7613
- "description": "The greatest value in the range of permitted values.",
7614
- "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.",
7615
7951
  "type": "number"
7616
7952
  },
7617
7953
  "min": {
7618
7954
  "default": 0,
7619
- "description": "The lowest value in the range of permitted values.",
7620
- "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.",
7621
7957
  "type": "number"
7622
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
+ },
7623
7964
  "step": {
7624
7965
  "default": 1,
7625
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`.",
@@ -7711,8 +8052,8 @@
7711
8052
  },
7712
8053
  "options": {
7713
8054
  "$ref": "#/definitions/RichTextInputOptions",
7714
- "description": "Options that are specific to this `type` of input.",
7715
- "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."
7716
8057
  },
7717
8058
  "type": {
7718
8059
  "description": "Sets an input type, which controls how this input appears and behaves.",
@@ -7894,6 +8235,11 @@
7894
8235
  "markdownDescription": "Enables a control to create hyperlinks around selected text.",
7895
8236
  "type": "boolean"
7896
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
+ },
7897
8243
  "mime_type": {
7898
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.",
7899
8245
  "enum": [
@@ -7904,6 +8250,11 @@
7904
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.",
7905
8251
  "type": "string"
7906
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
+ },
7907
8258
  "numberedlist": {
7908
8259
  "default": true,
7909
8260
  "description": "Enables a control to insert a numbered list, or to convert selected blocks of text into a numbered list.",
@@ -7921,6 +8272,60 @@
7921
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`.",
7922
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`."
7923
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
+ },
7924
8329
  "prevent_resize_existing_files": {
7925
8330
  "default": false,
7926
8331
  "description": "Enable to skip the image resizing process configured for this input when selecting existing images.",
@@ -7944,6 +8349,11 @@
7944
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.",
7945
8350
  "type": "boolean"
7946
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
+ },
7947
8357
  "resize_style": {
7948
8358
  "default": "contain",
7949
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.",
@@ -8220,8 +8630,8 @@
8220
8630
  },
8221
8631
  "options": {
8222
8632
  "additionalProperties": false,
8223
- "description": "Options that are specific to this `type` of input.",
8224
- "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.",
8225
8635
  "properties": {
8226
8636
  "allow_create": {
8227
8637
  "default": false,
@@ -8244,6 +8654,70 @@
8244
8654
  "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
8245
8655
  "type": "string"
8246
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
+ },
8247
8721
  "picker_preview": {
8248
8722
  "$ref": "#/definitions/Preview",
8249
8723
  "description": "Changes the way items are previewed in the CMS while being chosen.",
@@ -8265,6 +8739,11 @@
8265
8739
  "description": "Changes the way items are previewed in the CMS.",
8266
8740
  "markdownDescription": "Changes the way items are previewed in the CMS."
8267
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
+ },
8268
8747
  "value_key": {
8269
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.",
8270
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.",
@@ -9600,8 +10079,8 @@
9600
10079
  },
9601
10080
  "options": {
9602
10081
  "$ref": "#/definitions/TextInputOptions",
9603
- "description": "Options that are specific to this `type` of input.",
9604
- "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."
9605
10084
  },
9606
10085
  "type": {
9607
10086
  "description": "Sets an input type, which controls how this input appears and behaves.",
@@ -9641,10 +10120,79 @@
9641
10120
  "description": "Icon shown beside the input.",
9642
10121
  "markdownDescription": "Icon shown beside the input."
9643
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
+ },
9644
10187
  "placeholder": {
9645
10188
  "description": "Text shown when this input has no value.",
9646
10189
  "markdownDescription": "Text shown when this input has no value.",
9647
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"
9648
10196
  }
9649
10197
  },
9650
10198
  "type": "object"
@@ -9731,8 +10279,8 @@
9731
10279
  },
9732
10280
  "options": {
9733
10281
  "$ref": "#/definitions/TextareaInputOptions",
9734
- "description": "Options that are specific to this `type` of input.",
9735
- "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."
9736
10284
  },
9737
10285
  "type": {
9738
10286
  "const": "textarea",
@@ -9763,11 +10311,80 @@
9763
10311
  "description": "Icon shown beside the input.",
9764
10312
  "markdownDescription": "Icon shown beside the input."
9765
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
+ },
9766
10378
  "placeholder": {
9767
10379
  "description": "Text shown when this input has no value.",
9768
10380
  "markdownDescription": "Text shown when this input has no value.",
9769
10381
  "type": "string"
9770
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
+ },
9771
10388
  "show_count": {
9772
10389
  "default": false,
9773
10390
  "description": "Shows a character counter below the input if enabled.",
@@ -9901,9 +10518,26 @@
9901
10518
  "type": "string"
9902
10519
  },
9903
10520
  "options": {
9904
- "$ref": "#/definitions/WithEmptyTypeText",
10521
+ "additionalProperties": false,
9905
10522
  "description": "Options that are specific to Time inputs.",
9906
- "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"
9907
10541
  },
9908
10542
  "type": {
9909
10543
  "const": "time",
@@ -10789,6 +11423,11 @@
10789
11423
  "markdownDescription": "Instructs the editor to save `width` and `height` attributes on the image elements. This can\nprevent pop-in as a page loads.",
10790
11424
  "type": "boolean"
10791
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
+ },
10792
11431
  "mime_type": {
10793
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.",
10794
11433
  "enum": [
@@ -10799,17 +11438,81 @@
10799
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.",
10800
11439
  "type": "string"
10801
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
+ },
10802
11446
  "paths": {
10803
11447
  "$ref": "#/definitions/Paths",
10804
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`.",
10805
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`."
10806
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
+ },
10807
11505
  "prevent_resize_existing_files": {
10808
11506
  "default": false,
10809
11507
  "description": "Enable to skip the image resizing process configured for this input when selecting existing images.",
10810
11508
  "markdownDescription": "Enable to skip the image resizing process configured for this input when selecting existing\nimages.",
10811
11509
  "type": "boolean"
10812
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
+ },
10813
11516
  "resize_style": {
10814
11517
  "default": "contain",
10815
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.",
@@ -10854,21 +11557,6 @@
10854
11557
  },
10855
11558
  "type": "object"
10856
11559
  },
10857
- "WithEmptyTypeText": {
10858
- "additionalProperties": false,
10859
- "properties": {
10860
- "empty_type": {
10861
- "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
10862
- "enum": [
10863
- "null",
10864
- "string"
10865
- ],
10866
- "markdownDescription": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
10867
- "type": "string"
10868
- }
10869
- },
10870
- "type": "object"
10871
- },
10872
11560
  "WithPaths": {
10873
11561
  "additionalProperties": false,
10874
11562
  "properties": {