@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.
@@ -177,6 +177,33 @@
177
177
  "min_length_message": {
178
178
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
179
179
  },
180
+ "max_words": {
181
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
182
+ },
183
+ "max_words_message": {
184
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
185
+ },
186
+ "min_words": {
187
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
188
+ },
189
+ "min_words_message": {
190
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
191
+ },
192
+ "max_graphemes": {
193
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
194
+ },
195
+ "max_graphemes_message": {
196
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
197
+ },
198
+ "min_graphemes": {
199
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
200
+ },
201
+ "min_graphemes_message": {
202
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
203
+ },
204
+ "locale": {
205
+ "$ref": "#/definitions/type._inputs.*.options.locale"
206
+ },
180
207
  "pattern": {
181
208
  "$ref": "#/definitions/type._inputs.*.options.pattern"
182
209
  },
@@ -4045,6 +4072,69 @@
4045
4072
  "title": "min_length_message",
4046
4073
  "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```"
4047
4074
  },
4075
+ "type._inputs.*.options.max_words": {
4076
+ "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.",
4077
+ "type": "number",
4078
+ "documented": true,
4079
+ "title": "max_words",
4080
+ "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."
4081
+ },
4082
+ "type._inputs.*.options.max_words_message": {
4083
+ "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.",
4084
+ "type": "string",
4085
+ "documented": true,
4086
+ "title": "max_words_message",
4087
+ "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."
4088
+ },
4089
+ "type._inputs.*.options.min_words": {
4090
+ "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.",
4091
+ "type": "number",
4092
+ "documented": true,
4093
+ "title": "min_words",
4094
+ "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."
4095
+ },
4096
+ "type._inputs.*.options.min_words_message": {
4097
+ "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`.",
4098
+ "type": "string",
4099
+ "documented": true,
4100
+ "title": "min_words_message",
4101
+ "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`."
4102
+ },
4103
+ "type._inputs.*.options.max_graphemes": {
4104
+ "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.",
4105
+ "type": "number",
4106
+ "documented": true,
4107
+ "title": "max_graphemes",
4108
+ "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."
4109
+ },
4110
+ "type._inputs.*.options.max_graphemes_message": {
4111
+ "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.",
4112
+ "type": "string",
4113
+ "documented": true,
4114
+ "title": "max_graphemes_message",
4115
+ "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."
4116
+ },
4117
+ "type._inputs.*.options.min_graphemes": {
4118
+ "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.",
4119
+ "type": "number",
4120
+ "documented": true,
4121
+ "title": "min_graphemes",
4122
+ "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."
4123
+ },
4124
+ "type._inputs.*.options.min_graphemes_message": {
4125
+ "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`.",
4126
+ "type": "string",
4127
+ "documented": true,
4128
+ "title": "min_graphemes_message",
4129
+ "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`."
4130
+ },
4131
+ "type._inputs.*.options.locale": {
4132
+ "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.",
4133
+ "type": "string",
4134
+ "documented": true,
4135
+ "title": "locale",
4136
+ "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."
4137
+ },
4048
4138
  "type._inputs.*.options.pattern": {
4049
4139
  "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```",
4050
4140
  "type": "string",
@@ -4337,6 +4427,33 @@
4337
4427
  "min_length_message": {
4338
4428
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
4339
4429
  },
4430
+ "max_words": {
4431
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
4432
+ },
4433
+ "max_words_message": {
4434
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
4435
+ },
4436
+ "min_words": {
4437
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
4438
+ },
4439
+ "min_words_message": {
4440
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
4441
+ },
4442
+ "max_graphemes": {
4443
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
4444
+ },
4445
+ "max_graphemes_message": {
4446
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
4447
+ },
4448
+ "min_graphemes": {
4449
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
4450
+ },
4451
+ "min_graphemes_message": {
4452
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
4453
+ },
4454
+ "locale": {
4455
+ "$ref": "#/definitions/type._inputs.*.options.locale"
4456
+ },
4340
4457
  "pattern": {
4341
4458
  "$ref": "#/definitions/type._inputs.*.options.pattern"
4342
4459
  },
@@ -4496,6 +4613,33 @@
4496
4613
  "min_length_message": {
4497
4614
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
4498
4615
  },
4616
+ "max_words": {
4617
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
4618
+ },
4619
+ "max_words_message": {
4620
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
4621
+ },
4622
+ "min_words": {
4623
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
4624
+ },
4625
+ "min_words_message": {
4626
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
4627
+ },
4628
+ "max_graphemes": {
4629
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
4630
+ },
4631
+ "max_graphemes_message": {
4632
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
4633
+ },
4634
+ "min_graphemes": {
4635
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
4636
+ },
4637
+ "min_graphemes_message": {
4638
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
4639
+ },
4640
+ "locale": {
4641
+ "$ref": "#/definitions/type._inputs.*.options.locale"
4642
+ },
4499
4643
  "pattern": {
4500
4644
  "$ref": "#/definitions/type._inputs.*.options.pattern"
4501
4645
  },
@@ -4738,6 +4882,33 @@
4738
4882
  "min_length_message": {
4739
4883
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
4740
4884
  },
4885
+ "max_words": {
4886
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
4887
+ },
4888
+ "max_words_message": {
4889
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
4890
+ },
4891
+ "min_words": {
4892
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
4893
+ },
4894
+ "min_words_message": {
4895
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
4896
+ },
4897
+ "max_graphemes": {
4898
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
4899
+ },
4900
+ "max_graphemes_message": {
4901
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
4902
+ },
4903
+ "min_graphemes": {
4904
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
4905
+ },
4906
+ "min_graphemes_message": {
4907
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
4908
+ },
4909
+ "locale": {
4910
+ "$ref": "#/definitions/type._inputs.*.options.locale"
4911
+ },
4741
4912
  "pattern": {
4742
4913
  "$ref": "#/definitions/type._inputs.*.options.pattern"
4743
4914
  },
@@ -5361,6 +5532,33 @@
5361
5532
  "min_length_message": {
5362
5533
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
5363
5534
  },
5535
+ "max_words": {
5536
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
5537
+ },
5538
+ "max_words_message": {
5539
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
5540
+ },
5541
+ "min_words": {
5542
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
5543
+ },
5544
+ "min_words_message": {
5545
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
5546
+ },
5547
+ "max_graphemes": {
5548
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
5549
+ },
5550
+ "max_graphemes_message": {
5551
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
5552
+ },
5553
+ "min_graphemes": {
5554
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
5555
+ },
5556
+ "min_graphemes_message": {
5557
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
5558
+ },
5559
+ "locale": {
5560
+ "$ref": "#/definitions/type._inputs.*.options.locale"
5561
+ },
5364
5562
  "pattern": {
5365
5563
  "$ref": "#/definitions/type._inputs.*.options.pattern"
5366
5564
  },
@@ -5386,12 +5584,20 @@
5386
5584
  "title": "empty_type"
5387
5585
  },
5388
5586
  "allow_resize": {
5389
- "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).",
5390
- "default": false,
5587
+ "deprecated": true,
5588
+ "description": "**⚠️ DEPRECATED:** This key is deprecated. Use `preview_resize` instead.\nThis key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown).",
5391
5589
  "type": "boolean",
5392
5590
  "documented": true,
5393
5591
  "title": "allow_resize",
5394
- "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)."
5592
+ "markdownDescription": "**⚠️ DEPRECATED:** This key is deprecated. Use `preview_resize` instead.\nThis key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown)."
5593
+ },
5594
+ "prevent_resize": {
5595
+ "description": "Shows or hides the resize handler to vertically resize the input.",
5596
+ "default": false,
5597
+ "type": "boolean",
5598
+ "documented": true,
5599
+ "title": "prevent_resize",
5600
+ "markdownDescription": "Shows or hides the resize handler to vertically resize the input."
5395
5601
  },
5396
5602
  "initial_height": {
5397
5603
  "description": "This key defines the initial height of this input in pixels (px).",
@@ -5843,11 +6049,11 @@
5843
6049
  "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."
5844
6050
  },
5845
6051
  "type._editables.*.styles": {
5846
- "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.",
6052
+ "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```",
5847
6053
  "type": "string",
5848
6054
  "documented": true,
5849
6055
  "title": "styles",
5850
- "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."
6056
+ "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```"
5851
6057
  },
5852
6058
  "type._editables.*.table": {
5853
6059
  "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.",
@@ -6826,6 +7032,33 @@
6826
7032
  "min_length_message": {
6827
7033
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
6828
7034
  },
7035
+ "max_words": {
7036
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
7037
+ },
7038
+ "max_words_message": {
7039
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
7040
+ },
7041
+ "min_words": {
7042
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
7043
+ },
7044
+ "min_words_message": {
7045
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
7046
+ },
7047
+ "max_graphemes": {
7048
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
7049
+ },
7050
+ "max_graphemes_message": {
7051
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
7052
+ },
7053
+ "min_graphemes": {
7054
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
7055
+ },
7056
+ "min_graphemes_message": {
7057
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
7058
+ },
7059
+ "locale": {
7060
+ "$ref": "#/definitions/type._inputs.*.options.locale"
7061
+ },
6829
7062
  "pattern": {
6830
7063
  "$ref": "#/definitions/type._inputs.*.options.pattern"
6831
7064
  },
@@ -7493,6 +7726,33 @@
7493
7726
  "min_length_message": {
7494
7727
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
7495
7728
  },
7729
+ "max_words": {
7730
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
7731
+ },
7732
+ "max_words_message": {
7733
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
7734
+ },
7735
+ "min_words": {
7736
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
7737
+ },
7738
+ "min_words_message": {
7739
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
7740
+ },
7741
+ "max_graphemes": {
7742
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
7743
+ },
7744
+ "max_graphemes_message": {
7745
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
7746
+ },
7747
+ "min_graphemes": {
7748
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
7749
+ },
7750
+ "min_graphemes_message": {
7751
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
7752
+ },
7753
+ "locale": {
7754
+ "$ref": "#/definitions/type._inputs.*.options.locale"
7755
+ },
7496
7756
  "pattern": {
7497
7757
  "$ref": "#/definitions/type._inputs.*.options.pattern"
7498
7758
  },
@@ -7702,6 +7962,33 @@
7702
7962
  "min_length_message": {
7703
7963
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
7704
7964
  },
7965
+ "max_words": {
7966
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
7967
+ },
7968
+ "max_words_message": {
7969
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
7970
+ },
7971
+ "min_words": {
7972
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
7973
+ },
7974
+ "min_words_message": {
7975
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
7976
+ },
7977
+ "max_graphemes": {
7978
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
7979
+ },
7980
+ "max_graphemes_message": {
7981
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
7982
+ },
7983
+ "min_graphemes": {
7984
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
7985
+ },
7986
+ "min_graphemes_message": {
7987
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
7988
+ },
7989
+ "locale": {
7990
+ "$ref": "#/definitions/type._inputs.*.options.locale"
7991
+ },
7705
7992
  "pattern": {
7706
7993
  "$ref": "#/definitions/type._inputs.*.options.pattern"
7707
7994
  },
@@ -7962,8 +8249,8 @@
7962
8249
  "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```"
7963
8250
  },
7964
8251
  "type._inputs.*.options.allow_empty": {
8252
+ "deprecated": true,
7965
8253
  "description": "**⚠️ DEPRECATED:** This key is deprecated. If you want to prevent empty values, we recommend setting `_inputs.*.options.required` to `true` instead.\n\nThis key toggles whether CloudCannon will accept empty values, and pre-select the first option if opened with an empty value.\n\nSetting this key to `true` will allow CloudCannon to accept empty values.\n\n## Examples\n\nIn this example, CloudCannon will accept empty values for a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n allow_empty: true\n```",
7966
- "default": true,
7967
8254
  "type": "boolean",
7968
8255
  "documented": true,
7969
8256
  "title": "allow_empty",
@@ -8375,6 +8662,33 @@
8375
8662
  "min_length_message": {
8376
8663
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
8377
8664
  },
8665
+ "max_words": {
8666
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
8667
+ },
8668
+ "max_words_message": {
8669
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
8670
+ },
8671
+ "min_words": {
8672
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
8673
+ },
8674
+ "min_words_message": {
8675
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
8676
+ },
8677
+ "max_graphemes": {
8678
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
8679
+ },
8680
+ "max_graphemes_message": {
8681
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
8682
+ },
8683
+ "min_graphemes": {
8684
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
8685
+ },
8686
+ "min_graphemes_message": {
8687
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
8688
+ },
8689
+ "locale": {
8690
+ "$ref": "#/definitions/type._inputs.*.options.locale"
8691
+ },
8378
8692
  "pattern": {
8379
8693
  "$ref": "#/definitions/type._inputs.*.options.pattern"
8380
8694
  },
@@ -8907,13 +9221,13 @@
8907
9221
  "type": "string",
8908
9222
  "documented": true,
8909
9223
  "title": "values_from_glob[*]",
8910
- "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```",
8911
- "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```"
9224
+ "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```",
9225
+ "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```"
8912
9226
  },
8913
9227
  "documented": true,
8914
9228
  "title": "values_from_glob",
8915
- "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```",
8916
- "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```"
9229
+ "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```",
9230
+ "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```"
8917
9231
  },
8918
9232
  "id_key": {
8919
9233
  "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```",