@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.
@@ -4525,6 +4525,33 @@
4525
4525
  "min_length_message": {
4526
4526
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
4527
4527
  },
4528
+ "max_words": {
4529
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
4530
+ },
4531
+ "max_words_message": {
4532
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
4533
+ },
4534
+ "min_words": {
4535
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
4536
+ },
4537
+ "min_words_message": {
4538
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
4539
+ },
4540
+ "max_graphemes": {
4541
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
4542
+ },
4543
+ "max_graphemes_message": {
4544
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
4545
+ },
4546
+ "min_graphemes": {
4547
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
4548
+ },
4549
+ "min_graphemes_message": {
4550
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
4551
+ },
4552
+ "locale": {
4553
+ "$ref": "#/definitions/type._inputs.*.options.locale"
4554
+ },
4528
4555
  "pattern": {
4529
4556
  "$ref": "#/definitions/type._inputs.*.options.pattern"
4530
4557
  },
@@ -4761,6 +4788,69 @@
4761
4788
  "title": "min_length_message",
4762
4789
  "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```"
4763
4790
  },
4791
+ "type._inputs.*.options.max_words": {
4792
+ "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.",
4793
+ "type": "number",
4794
+ "documented": true,
4795
+ "title": "max_words",
4796
+ "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."
4797
+ },
4798
+ "type._inputs.*.options.max_words_message": {
4799
+ "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.",
4800
+ "type": "string",
4801
+ "documented": true,
4802
+ "title": "max_words_message",
4803
+ "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."
4804
+ },
4805
+ "type._inputs.*.options.min_words": {
4806
+ "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.",
4807
+ "type": "number",
4808
+ "documented": true,
4809
+ "title": "min_words",
4810
+ "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."
4811
+ },
4812
+ "type._inputs.*.options.min_words_message": {
4813
+ "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`.",
4814
+ "type": "string",
4815
+ "documented": true,
4816
+ "title": "min_words_message",
4817
+ "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`."
4818
+ },
4819
+ "type._inputs.*.options.max_graphemes": {
4820
+ "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.",
4821
+ "type": "number",
4822
+ "documented": true,
4823
+ "title": "max_graphemes",
4824
+ "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."
4825
+ },
4826
+ "type._inputs.*.options.max_graphemes_message": {
4827
+ "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.",
4828
+ "type": "string",
4829
+ "documented": true,
4830
+ "title": "max_graphemes_message",
4831
+ "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."
4832
+ },
4833
+ "type._inputs.*.options.min_graphemes": {
4834
+ "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.",
4835
+ "type": "number",
4836
+ "documented": true,
4837
+ "title": "min_graphemes",
4838
+ "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."
4839
+ },
4840
+ "type._inputs.*.options.min_graphemes_message": {
4841
+ "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`.",
4842
+ "type": "string",
4843
+ "documented": true,
4844
+ "title": "min_graphemes_message",
4845
+ "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`."
4846
+ },
4847
+ "type._inputs.*.options.locale": {
4848
+ "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.",
4849
+ "type": "string",
4850
+ "documented": true,
4851
+ "title": "locale",
4852
+ "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."
4853
+ },
4764
4854
  "type._inputs.*.options.pattern": {
4765
4855
  "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```",
4766
4856
  "type": "string",
@@ -5053,6 +5143,33 @@
5053
5143
  "min_length_message": {
5054
5144
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
5055
5145
  },
5146
+ "max_words": {
5147
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
5148
+ },
5149
+ "max_words_message": {
5150
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
5151
+ },
5152
+ "min_words": {
5153
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
5154
+ },
5155
+ "min_words_message": {
5156
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
5157
+ },
5158
+ "max_graphemes": {
5159
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
5160
+ },
5161
+ "max_graphemes_message": {
5162
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
5163
+ },
5164
+ "min_graphemes": {
5165
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
5166
+ },
5167
+ "min_graphemes_message": {
5168
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
5169
+ },
5170
+ "locale": {
5171
+ "$ref": "#/definitions/type._inputs.*.options.locale"
5172
+ },
5056
5173
  "pattern": {
5057
5174
  "$ref": "#/definitions/type._inputs.*.options.pattern"
5058
5175
  },
@@ -5212,6 +5329,33 @@
5212
5329
  "min_length_message": {
5213
5330
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
5214
5331
  },
5332
+ "max_words": {
5333
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
5334
+ },
5335
+ "max_words_message": {
5336
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
5337
+ },
5338
+ "min_words": {
5339
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
5340
+ },
5341
+ "min_words_message": {
5342
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
5343
+ },
5344
+ "max_graphemes": {
5345
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
5346
+ },
5347
+ "max_graphemes_message": {
5348
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
5349
+ },
5350
+ "min_graphemes": {
5351
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
5352
+ },
5353
+ "min_graphemes_message": {
5354
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
5355
+ },
5356
+ "locale": {
5357
+ "$ref": "#/definitions/type._inputs.*.options.locale"
5358
+ },
5215
5359
  "pattern": {
5216
5360
  "$ref": "#/definitions/type._inputs.*.options.pattern"
5217
5361
  },
@@ -5454,6 +5598,33 @@
5454
5598
  "min_length_message": {
5455
5599
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
5456
5600
  },
5601
+ "max_words": {
5602
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
5603
+ },
5604
+ "max_words_message": {
5605
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
5606
+ },
5607
+ "min_words": {
5608
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
5609
+ },
5610
+ "min_words_message": {
5611
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
5612
+ },
5613
+ "max_graphemes": {
5614
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
5615
+ },
5616
+ "max_graphemes_message": {
5617
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
5618
+ },
5619
+ "min_graphemes": {
5620
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
5621
+ },
5622
+ "min_graphemes_message": {
5623
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
5624
+ },
5625
+ "locale": {
5626
+ "$ref": "#/definitions/type._inputs.*.options.locale"
5627
+ },
5457
5628
  "pattern": {
5458
5629
  "$ref": "#/definitions/type._inputs.*.options.pattern"
5459
5630
  },
@@ -6077,6 +6248,33 @@
6077
6248
  "min_length_message": {
6078
6249
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
6079
6250
  },
6251
+ "max_words": {
6252
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
6253
+ },
6254
+ "max_words_message": {
6255
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
6256
+ },
6257
+ "min_words": {
6258
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
6259
+ },
6260
+ "min_words_message": {
6261
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
6262
+ },
6263
+ "max_graphemes": {
6264
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
6265
+ },
6266
+ "max_graphemes_message": {
6267
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
6268
+ },
6269
+ "min_graphemes": {
6270
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
6271
+ },
6272
+ "min_graphemes_message": {
6273
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
6274
+ },
6275
+ "locale": {
6276
+ "$ref": "#/definitions/type._inputs.*.options.locale"
6277
+ },
6080
6278
  "pattern": {
6081
6279
  "$ref": "#/definitions/type._inputs.*.options.pattern"
6082
6280
  },
@@ -6102,12 +6300,20 @@
6102
6300
  "title": "empty_type"
6103
6301
  },
6104
6302
  "allow_resize": {
6105
- "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).",
6106
- "default": false,
6303
+ "deprecated": true,
6304
+ "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).",
6107
6305
  "type": "boolean",
6108
6306
  "documented": true,
6109
6307
  "title": "allow_resize",
6110
- "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)."
6308
+ "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)."
6309
+ },
6310
+ "prevent_resize": {
6311
+ "description": "Shows or hides the resize handler to vertically resize the input.",
6312
+ "default": false,
6313
+ "type": "boolean",
6314
+ "documented": true,
6315
+ "title": "prevent_resize",
6316
+ "markdownDescription": "Shows or hides the resize handler to vertically resize the input."
6111
6317
  },
6112
6318
  "initial_height": {
6113
6319
  "description": "This key defines the initial height of this input in pixels (px).",
@@ -6559,11 +6765,11 @@
6559
6765
  "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."
6560
6766
  },
6561
6767
  "type._editables.*.styles": {
6562
- "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.",
6768
+ "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```",
6563
6769
  "type": "string",
6564
6770
  "documented": true,
6565
6771
  "title": "styles",
6566
- "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."
6772
+ "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```"
6567
6773
  },
6568
6774
  "type._editables.*.table": {
6569
6775
  "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.",
@@ -7542,6 +7748,33 @@
7542
7748
  "min_length_message": {
7543
7749
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
7544
7750
  },
7751
+ "max_words": {
7752
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
7753
+ },
7754
+ "max_words_message": {
7755
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
7756
+ },
7757
+ "min_words": {
7758
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
7759
+ },
7760
+ "min_words_message": {
7761
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
7762
+ },
7763
+ "max_graphemes": {
7764
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
7765
+ },
7766
+ "max_graphemes_message": {
7767
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
7768
+ },
7769
+ "min_graphemes": {
7770
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
7771
+ },
7772
+ "min_graphemes_message": {
7773
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
7774
+ },
7775
+ "locale": {
7776
+ "$ref": "#/definitions/type._inputs.*.options.locale"
7777
+ },
7545
7778
  "pattern": {
7546
7779
  "$ref": "#/definitions/type._inputs.*.options.pattern"
7547
7780
  },
@@ -8209,6 +8442,33 @@
8209
8442
  "min_length_message": {
8210
8443
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
8211
8444
  },
8445
+ "max_words": {
8446
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
8447
+ },
8448
+ "max_words_message": {
8449
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
8450
+ },
8451
+ "min_words": {
8452
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
8453
+ },
8454
+ "min_words_message": {
8455
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
8456
+ },
8457
+ "max_graphemes": {
8458
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
8459
+ },
8460
+ "max_graphemes_message": {
8461
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
8462
+ },
8463
+ "min_graphemes": {
8464
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
8465
+ },
8466
+ "min_graphemes_message": {
8467
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
8468
+ },
8469
+ "locale": {
8470
+ "$ref": "#/definitions/type._inputs.*.options.locale"
8471
+ },
8212
8472
  "pattern": {
8213
8473
  "$ref": "#/definitions/type._inputs.*.options.pattern"
8214
8474
  },
@@ -8418,6 +8678,33 @@
8418
8678
  "min_length_message": {
8419
8679
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
8420
8680
  },
8681
+ "max_words": {
8682
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
8683
+ },
8684
+ "max_words_message": {
8685
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
8686
+ },
8687
+ "min_words": {
8688
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
8689
+ },
8690
+ "min_words_message": {
8691
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
8692
+ },
8693
+ "max_graphemes": {
8694
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
8695
+ },
8696
+ "max_graphemes_message": {
8697
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
8698
+ },
8699
+ "min_graphemes": {
8700
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
8701
+ },
8702
+ "min_graphemes_message": {
8703
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
8704
+ },
8705
+ "locale": {
8706
+ "$ref": "#/definitions/type._inputs.*.options.locale"
8707
+ },
8421
8708
  "pattern": {
8422
8709
  "$ref": "#/definitions/type._inputs.*.options.pattern"
8423
8710
  },
@@ -8678,8 +8965,8 @@
8678
8965
  "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```"
8679
8966
  },
8680
8967
  "type._inputs.*.options.allow_empty": {
8968
+ "deprecated": true,
8681
8969
  "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```",
8682
- "default": true,
8683
8970
  "type": "boolean",
8684
8971
  "documented": true,
8685
8972
  "title": "allow_empty",
@@ -9091,6 +9378,33 @@
9091
9378
  "min_length_message": {
9092
9379
  "$ref": "#/definitions/type._inputs.*.options.min_length_message"
9093
9380
  },
9381
+ "max_words": {
9382
+ "$ref": "#/definitions/type._inputs.*.options.max_words"
9383
+ },
9384
+ "max_words_message": {
9385
+ "$ref": "#/definitions/type._inputs.*.options.max_words_message"
9386
+ },
9387
+ "min_words": {
9388
+ "$ref": "#/definitions/type._inputs.*.options.min_words"
9389
+ },
9390
+ "min_words_message": {
9391
+ "$ref": "#/definitions/type._inputs.*.options.min_words_message"
9392
+ },
9393
+ "max_graphemes": {
9394
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes"
9395
+ },
9396
+ "max_graphemes_message": {
9397
+ "$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
9398
+ },
9399
+ "min_graphemes": {
9400
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes"
9401
+ },
9402
+ "min_graphemes_message": {
9403
+ "$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
9404
+ },
9405
+ "locale": {
9406
+ "$ref": "#/definitions/type._inputs.*.options.locale"
9407
+ },
9094
9408
  "pattern": {
9095
9409
  "$ref": "#/definitions/type._inputs.*.options.pattern"
9096
9410
  },
@@ -9623,13 +9937,13 @@
9623
9937
  "type": "string",
9624
9938
  "documented": true,
9625
9939
  "title": "values_from_glob[*]",
9626
- "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```",
9627
- "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```"
9940
+ "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```",
9941
+ "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```"
9628
9942
  },
9629
9943
  "documented": true,
9630
9944
  "title": "values_from_glob",
9631
- "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```",
9632
- "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```"
9945
+ "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```",
9946
+ "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```"
9633
9947
  },
9634
9948
  "id_key": {
9635
9949
  "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```",