@cloudcannon/configuration-types 0.0.52 → 0.0.53

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.
@@ -4009,6 +4009,33 @@
4009
4009
  "min_length_message": {
4010
4010
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
4011
4011
  },
4012
+ "max_words": {
4013
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
4014
+ },
4015
+ "max_words_message": {
4016
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
4017
+ },
4018
+ "min_words": {
4019
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
4020
+ },
4021
+ "min_words_message": {
4022
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
4023
+ },
4024
+ "max_graphemes": {
4025
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
4026
+ },
4027
+ "max_graphemes_message": {
4028
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
4029
+ },
4030
+ "min_graphemes": {
4031
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
4032
+ },
4033
+ "min_graphemes_message": {
4034
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
4035
+ },
4036
+ "locale": {
4037
+ "$ref": "#/definitions/type._inputs.*.options.locale"
4038
+ },
4012
4039
  "pattern": {
4013
4040
  "$ref": "#/definitions/type._inputs.*.options.pattern"
4014
4041
  },
@@ -4284,6 +4311,69 @@
4284
4311
  "title": "min_length_message",
4285
4312
  "markdownDescription": "This key defines a custom error message that explains why a value has failed the validation criteria from `options.min_length`.\n\nThis key requires you to define `options.min_length`.\n\nThis key has no default.\n\nThis key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.\n\n## Examples\n\nIn this example, we prompt our team to enter a valid number of characters using a custom message.\n\n```yaml\n_inputs:\n seo_description:\n type: markdown\n comment: Enter a brief description of this blog.\n options:\n max_length: 125\n max_length_message: You are only allowed 125 characters.\n min_length: 25\n min_length_message: Please write more than 25 characters.\n```"
4286
4313
  },
4314
+ "type._inputs.*.options.max_words": {
4315
+ "description": "This key defines the maximum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
4316
+ "type": "number",
4317
+ "documented": true,
4318
+ "title": "max_words",
4319
+ "markdownDescription": "This key defines the maximum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
4320
+ },
4321
+ "type._inputs.*.options.max_words_message": {
4322
+ "description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_words.",
4323
+ "type": "string",
4324
+ "documented": true,
4325
+ "title": "max_words_message",
4326
+ "markdownDescription": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_words."
4327
+ },
4328
+ "type._inputs.*.options.min_words": {
4329
+ "description": "This key defines the minimum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
4330
+ "type": "number",
4331
+ "documented": true,
4332
+ "title": "min_words",
4333
+ "markdownDescription": "This key defines the minimum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
4334
+ },
4335
+ "type._inputs.*.options.min_words_message": {
4336
+ "description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_words`.",
4337
+ "type": "string",
4338
+ "documented": true,
4339
+ "title": "min_words_message",
4340
+ "markdownDescription": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_words`."
4341
+ },
4342
+ "type._inputs.*.options.max_graphemes": {
4343
+ "description": "This key defines the maximum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
4344
+ "type": "number",
4345
+ "documented": true,
4346
+ "title": "max_graphemes",
4347
+ "markdownDescription": "This key defines the maximum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
4348
+ },
4349
+ "type._inputs.*.options.max_graphemes_message": {
4350
+ "description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_graphemes.",
4351
+ "type": "string",
4352
+ "documented": true,
4353
+ "title": "max_graphemes_message",
4354
+ "markdownDescription": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_graphemes."
4355
+ },
4356
+ "type._inputs.*.options.min_graphemes": {
4357
+ "description": "This key defines the minimum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
4358
+ "type": "number",
4359
+ "documented": true,
4360
+ "title": "min_graphemes",
4361
+ "markdownDescription": "This key defines the minimum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
4362
+ },
4363
+ "type._inputs.*.options.min_graphemes_message": {
4364
+ "description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_graphemes`.",
4365
+ "type": "string",
4366
+ "documented": true,
4367
+ "title": "min_graphemes_message",
4368
+ "markdownDescription": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_graphemes`."
4369
+ },
4370
+ "type._inputs.*.options.locale": {
4371
+ "description": "This key defines the locale that CloudCannon uses to determine the number of words or graphemes in this Input, if you have `max_words`, `min_words`, `max_graphemes`, or `min_graphemes` configured.",
4372
+ "type": "string",
4373
+ "documented": true,
4374
+ "title": "locale",
4375
+ "markdownDescription": "This key defines the locale that CloudCannon uses to determine the number of words or graphemes in this Input, if you have `max_words`, `min_words`, `max_graphemes`, or `min_graphemes` configured."
4376
+ },
4287
4377
  "type._inputs.*.options.pattern": {
4288
4378
  "description": "This key defines a [regular expression](https://re2js.leopard.in.ua/) that the Input value must match.\n\nWhen configured, CloudCannon will require you to enter a value that matches the REGEX pattern.\n\nIf the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved\nchanges.\n\nValue must be a valid REGEX string.\n\nIf your REGEX string includes a `\\` character and CloudCannon Configuration File is a `.yml` file, use single quotes `'` around the string to avoid a\nbuild error.\n\nThis key has no default.\n\nThis key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.\n\nTo use this key in a Select Input, `allow_create` must be set to `true`.\n\n## Examples\n\nIn this example, we want our team to add an email address to the `contact_email` Input using the correct email format.\n\n```yaml\n_inputs:\n contact_email:\n type: email\n options:\n pattern: '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}'\n pattern_message: 'Please use the format ___@___.__'\n```",
4289
4379
  "type": "string",
@@ -4576,6 +4666,33 @@
4576
4666
  "min_length_message": {
4577
4667
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
4578
4668
  },
4669
+ "max_words": {
4670
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
4671
+ },
4672
+ "max_words_message": {
4673
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
4674
+ },
4675
+ "min_words": {
4676
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
4677
+ },
4678
+ "min_words_message": {
4679
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
4680
+ },
4681
+ "max_graphemes": {
4682
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
4683
+ },
4684
+ "max_graphemes_message": {
4685
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
4686
+ },
4687
+ "min_graphemes": {
4688
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
4689
+ },
4690
+ "min_graphemes_message": {
4691
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
4692
+ },
4693
+ "locale": {
4694
+ "$ref": "#/definitions/type._inputs.*.options.locale"
4695
+ },
4579
4696
  "pattern": {
4580
4697
  "$ref": "#/definitions/type._inputs.*.options.pattern"
4581
4698
  },
@@ -4735,6 +4852,33 @@
4735
4852
  "min_length_message": {
4736
4853
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
4737
4854
  },
4855
+ "max_words": {
4856
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
4857
+ },
4858
+ "max_words_message": {
4859
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
4860
+ },
4861
+ "min_words": {
4862
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
4863
+ },
4864
+ "min_words_message": {
4865
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
4866
+ },
4867
+ "max_graphemes": {
4868
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
4869
+ },
4870
+ "max_graphemes_message": {
4871
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
4872
+ },
4873
+ "min_graphemes": {
4874
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
4875
+ },
4876
+ "min_graphemes_message": {
4877
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
4878
+ },
4879
+ "locale": {
4880
+ "$ref": "#/definitions/type._inputs.*.options.locale"
4881
+ },
4738
4882
  "pattern": {
4739
4883
  "$ref": "#/definitions/type._inputs.*.options.pattern"
4740
4884
  },
@@ -4977,6 +5121,33 @@
4977
5121
  "min_length_message": {
4978
5122
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
4979
5123
  },
5124
+ "max_words": {
5125
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
5126
+ },
5127
+ "max_words_message": {
5128
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
5129
+ },
5130
+ "min_words": {
5131
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
5132
+ },
5133
+ "min_words_message": {
5134
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
5135
+ },
5136
+ "max_graphemes": {
5137
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
5138
+ },
5139
+ "max_graphemes_message": {
5140
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
5141
+ },
5142
+ "min_graphemes": {
5143
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
5144
+ },
5145
+ "min_graphemes_message": {
5146
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
5147
+ },
5148
+ "locale": {
5149
+ "$ref": "#/definitions/type._inputs.*.options.locale"
5150
+ },
4980
5151
  "pattern": {
4981
5152
  "$ref": "#/definitions/type._inputs.*.options.pattern"
4982
5153
  },
@@ -5600,6 +5771,33 @@
5600
5771
  "min_length_message": {
5601
5772
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
5602
5773
  },
5774
+ "max_words": {
5775
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
5776
+ },
5777
+ "max_words_message": {
5778
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
5779
+ },
5780
+ "min_words": {
5781
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
5782
+ },
5783
+ "min_words_message": {
5784
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
5785
+ },
5786
+ "max_graphemes": {
5787
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
5788
+ },
5789
+ "max_graphemes_message": {
5790
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
5791
+ },
5792
+ "min_graphemes": {
5793
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
5794
+ },
5795
+ "min_graphemes_message": {
5796
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
5797
+ },
5798
+ "locale": {
5799
+ "$ref": "#/definitions/type._inputs.*.options.locale"
5800
+ },
5603
5801
  "pattern": {
5604
5802
  "$ref": "#/definitions/type._inputs.*.options.pattern"
5605
5803
  },
@@ -5625,12 +5823,20 @@
5625
5823
  "title": "empty_type"
5626
5824
  },
5627
5825
  "allow_resize": {
5628
- "description": "This key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown).",
5629
- "default": false,
5826
+ "deprecated": true,
5827
+ "description": "**⚠️ DEPRECATED:** This key is deprecated. Use `preview_resize` instead.\nThis key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown).",
5630
5828
  "type": "boolean",
5631
5829
  "documented": true,
5632
5830
  "title": "allow_resize",
5633
- "markdownDescription": "This key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown)."
5831
+ "markdownDescription": "**⚠️ DEPRECATED:** This key is deprecated. Use `preview_resize` instead.\nThis key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown)."
5832
+ },
5833
+ "prevent_resize": {
5834
+ "description": "Shows or hides the resize handler to vertically resize the input.",
5835
+ "default": false,
5836
+ "type": "boolean",
5837
+ "documented": true,
5838
+ "title": "prevent_resize",
5839
+ "markdownDescription": "Shows or hides the resize handler to vertically resize the input."
5634
5840
  },
5635
5841
  "initial_height": {
5636
5842
  "description": "This key defines the initial height of this input in pixels (px).",
@@ -6082,11 +6288,11 @@
6082
6288
  "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a [Snippet](https://cloudcannon.com/documentation/articles/what-is-a-snippet/), if any are available.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a Snippet."
6083
6289
  },
6084
6290
  "type._editables.*.styles": {
6085
- "description": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\nSetting this key to `true` will enable a dropdown menu in your WYSIWYG toolbar to apply a style to selected text. Styles are the combination of an element and class name. The value for this option is the path (either source or build output) for the CSS file containing styles.",
6291
+ "description": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\n## Examples\n\nIn this example, we have enabled a dropdown menu in our WYSIWYG toolbar to apply a style to selected text. The styles are defined in the `/css/styles.css` file.\n\n```yaml\n_editables:\n content:\n styles: /css/styles.css\n```\n\nThis example file defines the styles that CloudCannon can add to your WYSIWYG toolbar.\n\n```css\n/* Can be applied to blocks of content */\np.callout {\n margin: 10px;\n border: 1px solid #f5f5f5;\n background-color: #eee;\n}\n\n/* Can be applied to inline content */\nspan.big-blue-text {\n font-size: 2rem;\n color: blue;\n}\n\n/* Applied to content, excluded from style dropdown */\nh2 {\n font-family: cursive;\n}\n\n/* Applied to content, excluded from style dropdown */\n.align-left { text-align: left; }\n.align-center { text-align: center; }\n.align-right { text-align: right; }\n.align-justify { text-align: justify; }\n```",
6086
6292
  "type": "string",
6087
6293
  "documented": true,
6088
6294
  "title": "styles",
6089
- "markdownDescription": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\nSetting this key to `true` will enable a dropdown menu in your WYSIWYG toolbar to apply a style to selected text. Styles are the combination of an element and class name. The value for this option is the path (either source or build output) for the CSS file containing styles."
6295
+ "markdownDescription": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\n## Examples\n\nIn this example, we have enabled a dropdown menu in our WYSIWYG toolbar to apply a style to selected text. The styles are defined in the `/css/styles.css` file.\n\n```yaml\n_editables:\n content:\n styles: /css/styles.css\n```\n\nThis example file defines the styles that CloudCannon can add to your WYSIWYG toolbar.\n\n```css\n/* Can be applied to blocks of content */\np.callout {\n margin: 10px;\n border: 1px solid #f5f5f5;\n background-color: #eee;\n}\n\n/* Can be applied to inline content */\nspan.big-blue-text {\n font-size: 2rem;\n color: blue;\n}\n\n/* Applied to content, excluded from style dropdown */\nh2 {\n font-family: cursive;\n}\n\n/* Applied to content, excluded from style dropdown */\n.align-left { text-align: left; }\n.align-center { text-align: center; }\n.align-right { text-align: right; }\n.align-justify { text-align: justify; }\n```"
6090
6296
  },
6091
6297
  "type._editables.*.table": {
6092
6298
  "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a table.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a table. Further table options are available from the table context menu in the rich text editor.",
@@ -7065,6 +7271,33 @@
7065
7271
  "min_length_message": {
7066
7272
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
7067
7273
  },
7274
+ "max_words": {
7275
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
7276
+ },
7277
+ "max_words_message": {
7278
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
7279
+ },
7280
+ "min_words": {
7281
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
7282
+ },
7283
+ "min_words_message": {
7284
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
7285
+ },
7286
+ "max_graphemes": {
7287
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
7288
+ },
7289
+ "max_graphemes_message": {
7290
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
7291
+ },
7292
+ "min_graphemes": {
7293
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
7294
+ },
7295
+ "min_graphemes_message": {
7296
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
7297
+ },
7298
+ "locale": {
7299
+ "$ref": "#/definitions/type._inputs.*.options.locale"
7300
+ },
7068
7301
  "pattern": {
7069
7302
  "$ref": "#/definitions/type._inputs.*.options.pattern"
7070
7303
  },
@@ -7732,6 +7965,33 @@
7732
7965
  "min_length_message": {
7733
7966
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
7734
7967
  },
7968
+ "max_words": {
7969
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
7970
+ },
7971
+ "max_words_message": {
7972
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
7973
+ },
7974
+ "min_words": {
7975
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
7976
+ },
7977
+ "min_words_message": {
7978
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
7979
+ },
7980
+ "max_graphemes": {
7981
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
7982
+ },
7983
+ "max_graphemes_message": {
7984
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
7985
+ },
7986
+ "min_graphemes": {
7987
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
7988
+ },
7989
+ "min_graphemes_message": {
7990
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
7991
+ },
7992
+ "locale": {
7993
+ "$ref": "#/definitions/type._inputs.*.options.locale"
7994
+ },
7735
7995
  "pattern": {
7736
7996
  "$ref": "#/definitions/type._inputs.*.options.pattern"
7737
7997
  },
@@ -7941,6 +8201,33 @@
7941
8201
  "min_length_message": {
7942
8202
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
7943
8203
  },
8204
+ "max_words": {
8205
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
8206
+ },
8207
+ "max_words_message": {
8208
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
8209
+ },
8210
+ "min_words": {
8211
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
8212
+ },
8213
+ "min_words_message": {
8214
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
8215
+ },
8216
+ "max_graphemes": {
8217
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
8218
+ },
8219
+ "max_graphemes_message": {
8220
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
8221
+ },
8222
+ "min_graphemes": {
8223
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
8224
+ },
8225
+ "min_graphemes_message": {
8226
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
8227
+ },
8228
+ "locale": {
8229
+ "$ref": "#/definitions/type._inputs.*.options.locale"
8230
+ },
7944
8231
  "pattern": {
7945
8232
  "$ref": "#/definitions/type._inputs.*.options.pattern"
7946
8233
  },
@@ -8201,8 +8488,8 @@
8201
8488
  "markdownDescription": "This key toggles whether CloudCannon will allow new text values to be created at edit time.\n\nSetting this key to `true` will allow new text values to be created at edit time.\n\n## Examples\n\nIn this example, CloudCannon will allow users to add new values to a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n allow_create: true\n```"
8202
8489
  },
8203
8490
  "type._inputs.*.options.allow_empty": {
8491
+ "deprecated": true,
8204
8492
  "description": "**⚠️ DEPRECATED:** This key is deprecated. If you want to prevent empty values, we recommend setting `_inputs.*.options.required` to `true` instead.\n\nThis key toggles whether CloudCannon will accept empty values, and pre-select the first option if opened with an empty value.\n\nSetting this key to `true` will allow CloudCannon to accept empty values.\n\n## Examples\n\nIn this example, CloudCannon will accept empty values for a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n allow_empty: true\n```",
8205
- "default": true,
8206
8493
  "type": "boolean",
8207
8494
  "documented": true,
8208
8495
  "title": "allow_empty",
@@ -8614,6 +8901,33 @@
8614
8901
  "min_length_message": {
8615
8902
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
8616
8903
  },
8904
+ "max_words": {
8905
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
8906
+ },
8907
+ "max_words_message": {
8908
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
8909
+ },
8910
+ "min_words": {
8911
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
8912
+ },
8913
+ "min_words_message": {
8914
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
8915
+ },
8916
+ "max_graphemes": {
8917
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
8918
+ },
8919
+ "max_graphemes_message": {
8920
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
8921
+ },
8922
+ "min_graphemes": {
8923
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
8924
+ },
8925
+ "min_graphemes_message": {
8926
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
8927
+ },
8928
+ "locale": {
8929
+ "$ref": "#/definitions/type._inputs.*.options.locale"
8930
+ },
8617
8931
  "pattern": {
8618
8932
  "$ref": "#/definitions/type._inputs.*.options.pattern"
8619
8933
  },
@@ -9146,13 +9460,13 @@
9146
9460
  "type": "string",
9147
9461
  "documented": true,
9148
9462
  "title": "values_from_glob[*]",
9149
- "description": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob: /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```",
9150
- "markdownDescription": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob: /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```"
9463
+ "description": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```",
9464
+ "markdownDescription": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```"
9151
9465
  },
9152
9466
  "documented": true,
9153
9467
  "title": "values_from_glob",
9154
- "description": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob: /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```\n\n```yaml\nlabel: Board\nvalue:\n name:\n title:\n profile_picture:\n url:\n description:\n```",
9155
- "markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob: /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```\n\n```yaml\nlabel: Board\nvalue:\n name:\n title:\n profile_picture:\n url:\n description:\n```"
9468
+ "description": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```\n\n```yaml\nlabel: Board\nvalue:\n name:\n title:\n profile_picture:\n url:\n description:\n```",
9469
+ "markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```\n\n```yaml\nlabel: Board\nvalue:\n name:\n title:\n profile_picture:\n url:\n description:\n```"
9156
9470
  },
9157
9471
  "id_key": {
9158
9472
  "description": "This key defines which key within `values[*].value` CloudCannon should use to identify the Structure option.\n\nIf CloudCannon cannot find this key in a Structure value, it will compare all other key names in the Structure value to find the correct one.\n\nBy default, this key is `_type`.\n\n## Examples\n\nIn this example, we have change the `id_key` from the default `_type` to `component` to match our existing configuration in the `content_blocks` Array input.\n\n```yaml\n_inputs:\n content_blocks___1___:\n type: array\n options:\n structures: _structures.page_components\n_structures:\n page_components:\n id_key___2___: component\n values:\n - label: Hero Component\n value:\n component___3___: hero\n title:\n description:\n image_path:\n link:\n text:\n url:\n - label: Feature Component\n value:\n component: feature\n image_path:\n title:\n description:\n button:\n link:\n text:\n reversed_layout: false\n - label: Video Component\n value:\n component: video\n image_path:\n videoUrl:\n```",