a11eedcbc003cd81c4cd20ca2481681f26096fd9
[yaffs-website] / web / core / config / schema / core.data_types.schema.yml
1 # Base types provided by Drupal core.
2
3 # Read https://www.drupal.org/node/1905070 for more details about configuration
4 # schema, types and type resolution.
5
6 # Undefined type used by the system to assign to elements at any level where
7 # configuration schema is not defined. Using explicitly has the same effect as
8 # not defining schema, so there is no point in doing that.
9 undefined:
10   label: 'Undefined'
11   class: '\Drupal\Core\Config\Schema\Undefined'
12
13 # Explicit type to use when no data typing is possible. Instead of using this
14 # type, we strongly suggest you use configuration structures that can be
15 # described with other structural elements of schema, and describe your schema
16 # with those elements.
17 ignore:
18   label: 'Ignore'
19   class: '\Drupal\Core\Config\Schema\Ignore'
20
21 # Basic scalar data types from typed data.
22 boolean:
23   label: 'Boolean'
24   class: '\Drupal\Core\TypedData\Plugin\DataType\BooleanData'
25 email:
26   label: 'Email'
27   class: '\Drupal\Core\TypedData\Plugin\DataType\Email'
28 integer:
29   label: 'Integer'
30   class: '\Drupal\Core\TypedData\Plugin\DataType\IntegerData'
31 float:
32   label: 'Float'
33   class: '\Drupal\Core\TypedData\Plugin\DataType\FloatData'
34 string:
35   label: 'String'
36   class: '\Drupal\Core\TypedData\Plugin\DataType\StringData'
37 uri:
38   label: 'Uri'
39   class: '\Drupal\Core\TypedData\Plugin\DataType\Uri'
40
41 # Container data types for lists with known and unknown keys.
42 mapping:
43   label: Mapping
44   class: '\Drupal\Core\Config\Schema\Mapping'
45   definition_class: '\Drupal\Core\TypedData\MapDataDefinition'
46 sequence:
47   label: Sequence
48   class: '\Drupal\Core\Config\Schema\Sequence'
49   definition_class: '\Drupal\Core\Config\Schema\SequenceDataDefinition'
50
51 # Simple extended data types:
52
53 # Human readable string that must be plain text and editable with a text field.
54 label:
55   type: string
56   label: 'Label'
57   translatable: true
58
59 # String containing plural variants, separated by EXT.
60 plural_label:
61   type: label
62   label: 'Plural variants'
63
64 # Internal Drupal path
65 path:
66   type: string
67   label: 'Path'
68
69 # Human readable string that can contain multiple lines of text or HTML.
70 text:
71   type: string
72   label: 'Text'
73   translatable: true
74
75 # A UUID.
76 uuid:
77   type: string
78   label: 'UUID'
79   constraints:
80     Uuid: {}
81
82 # PHP Date format string that is translatable.
83 date_format:
84   type: string
85   label: 'Date format'
86   translatable: true
87   translation context: 'PHP date format'
88
89 # HTML color value.
90 color_hex:
91   type: string
92   label: 'Color'
93
94 # Complex extended data types:
95
96 # Root of a configuration object.
97
98 _core_config_info:
99   type: mapping
100   mapping:
101     default_config_hash:
102       type: string
103       label: 'Default configuration hash'
104
105 config_object:
106   type: mapping
107   mapping:
108     langcode:
109       type: string
110       label: 'Language code'
111     _core:
112       type: _core_config_info
113
114 # Mail text with subject and body parts.
115 mail:
116   type: mapping
117   label: 'Mail'
118   mapping:
119     subject:
120       type: label
121       label: 'Subject'
122     body:
123       type: text
124       label: 'Body'
125
126 # Filter with module and status.
127 filter:
128   type: mapping
129   label: 'Filter'
130   mapping:
131     id:
132       type: string
133       label: 'ID'
134     provider:
135       type: string
136       label: 'Provider'
137     status:
138       type: boolean
139       label: 'Status'
140     weight:
141       type: integer
142       label: 'Weight'
143     settings:
144       type: filter_settings.[%parent.id]
145
146 # System action configuration base.
147 action_configuration_default:
148   type: sequence
149   label: 'Action configuration'
150   sequence:
151     type: string
152
153 theme_settings:
154   type: config_object
155   mapping:
156     favicon:
157       type: mapping
158       label: 'Shortcut icon settings'
159       mapping:
160         mimetype:
161           type: string
162           label: 'MIME type'
163         path:
164           type: string
165           label: 'Path'
166         url:
167           type: string
168           label: 'URL'
169         use_default:
170           type: boolean
171           label: 'Use the default shortcut icon supplied by the theme'
172     features:
173       type: mapping
174       label: 'Optional features'
175       mapping:
176         comment_user_picture:
177           type: boolean
178           label: 'User pictures in comments'
179         comment_user_verification:
180           type: boolean
181           label: 'User verification status in comments'
182         favicon:
183           type: boolean
184           label: 'Shortcut icon'
185         logo:
186           type: boolean
187           label: 'Logo'
188         name:
189           type: boolean
190           label: 'Site name'
191         node_user_picture:
192           type: boolean
193           label: 'User pictures in posts'
194         slogan:
195           type: boolean
196           label: 'Site slogan'
197     logo:
198       type: mapping
199       label: 'Logo settings'
200       mapping:
201         path:
202           type: string
203           label: 'Logo path'
204         url:
205           type: uri
206           label: 'URL'
207         use_default:
208           type: boolean
209           label: 'Use default'
210     third_party_settings:
211       type: sequence
212       label: 'Third party settings'
213       sequence:
214         type: theme_settings.third_party.[%key]
215
216 views_field_bulk_form:
217   type: views_field
218   label: 'Bulk operation'
219   mapping:
220     action_title:
221       type: label
222       label: 'Action title'
223     include_exclude:
224       type: string
225       label: 'Available actions'
226     selected_actions:
227       type: sequence
228       label: 'Available actions'
229       sequence:
230         type: string
231         label: 'Action'
232
233 # Array of routes with route_name and route_params keys.
234 route:
235   type: mapping
236   label: 'Route'
237   mapping:
238     route_name:
239       type: string
240       label: 'Route Name'
241     route_params:
242       type: sequence
243       label: 'Route Params'
244       sequence:
245         type: string
246         label: 'Param'
247
248 # Config dependencies.
249 config_dependencies_base:
250   type: mapping
251   mapping:
252     config:
253       type: sequence
254       label: 'Configuration entity dependencies'
255       sequence:
256         type: string
257     content:
258       type: sequence
259       label: 'Content entity dependencies'
260       sequence:
261         type: string
262     module:
263       type: sequence
264       label: 'Module dependencies'
265       sequence:
266         type: string
267     theme:
268       type: sequence
269       label: 'Theme dependencies'
270       sequence:
271         type: string
272
273 config_dependencies:
274   type: config_dependencies_base
275   label: 'Configuration dependencies'
276   mapping:
277     enforced:
278       type: config_dependencies_base
279       label: 'Enforced configuration dependencies'
280
281 config_entity:
282   type: mapping
283   mapping:
284     uuid:
285       type: uuid
286       label: 'UUID'
287     langcode:
288       type: string
289       label: 'Language code'
290     status:
291       type: boolean
292       label: 'Status'
293     dependencies:
294       type: config_dependencies
295       label: 'Dependencies'
296     third_party_settings:
297       type: sequence
298       label: 'Third party settings'
299       sequence:
300         type: '[%parent.%parent.%type].third_party.[%key]'
301     _core:
302       type: _core_config_info
303
304 block_settings:
305   type: mapping
306   label: 'Block settings'
307   mapping:
308     id:
309       type: string
310       label: 'ID'
311     label:
312       type: label
313       label: 'Description'
314     label_display:
315       type: string
316       label: 'Display title'
317     status:
318       type: boolean
319       label: 'Status'
320     info:
321       type: label
322       label: 'Admin info'
323     view_mode:
324       type: string
325       label: 'View mode'
326     provider:
327       type: string
328       label: 'Provider'
329     context_mapping:
330       type: sequence
331       label: 'Context assignments'
332       sequence:
333         type: string
334
335 condition.plugin:
336   type: mapping
337   label: 'Condition'
338   mapping:
339     id:
340       type: string
341       label: 'ID'
342     negate:
343       type: boolean
344       label: 'Negate'
345     uuid:
346       type: uuid
347     context_mapping:
348       type: sequence
349       label: 'Context assignments'
350       sequence:
351         type: string
352
353 display_variant.plugin:
354   type: mapping
355   label: 'Display variant'
356   mapping:
357     id:
358       type: string
359       label: 'ID'
360     label:
361       type: label
362       label: 'Label'
363     weight:
364       type: integer
365       label: 'Weight'
366     uuid:
367       type: uuid
368
369 layout_plugin.settings:
370   type: mapping
371   label: 'Layout settings'
372
373 layout_plugin.settings.*:
374   type: layout_plugin.settings
375
376 base_entity_reference_field_settings:
377   type: mapping
378   mapping:
379     target_type:
380       type: string
381       label: 'Type of item to reference'
382
383 field_config_base:
384   type: config_entity
385   mapping:
386     id:
387       type: string
388       label: 'ID'
389     field_name:
390       type: string
391       label: 'Field name'
392     entity_type:
393       type: string
394       label: 'Entity type'
395     bundle:
396       type: string
397       label: 'Bundle'
398     label:
399       type: label
400       label: 'Label'
401     description:
402       type: text
403       label: 'Help text'
404     required:
405       type: boolean
406       label: 'Required field'
407     translatable:
408       type: boolean
409       label: 'Translatable'
410     default_value:
411       type: sequence
412       label: 'Default values'
413       sequence:
414         type: field.value.[%parent.%parent.field_type]
415         label: 'Default value'
416     default_value_callback:
417       type: string
418       label: 'Default value callback'
419     settings:
420       type: field.field_settings.[%parent.field_type]
421     field_type:
422       type: string
423       label: 'Field type'
424
425 core.base_field_override.*.*.*:
426   type: field_config_base
427   label: 'Base field bundle override'
428
429 core.date_format.*:
430   type: config_entity
431   label: 'Date format'
432   mapping:
433     id:
434       type: string
435       label: 'ID'
436     label:
437       type: label
438       label: 'Label'
439     locked:
440       type: boolean
441       label: 'Locked'
442     pattern:
443       type: core_date_format_pattern.[%parent.locked]
444       label: 'PHP date format'
445
446 # Unlocked date formats should use the translatable type.
447 core_date_format_pattern.0:
448   type: date_format
449   label: 'Date format'
450
451 # Locked date formats are just used to transport the value.
452 core_date_format_pattern.1:
453   type: string
454   label: 'Date format'
455
456 # Generic field settings schemas.
457
458 field.storage_settings.*:
459   type: mapping
460   label: 'Settings'
461
462 field.field_settings.*:
463   type: mapping
464   label: 'Settings'
465
466 field.value.*:
467   type: mapping
468   label: 'Default value'
469
470 # Schema for the configuration of the String field type.
471
472 field.storage_settings.string:
473   type: mapping
474   label: 'String settings'
475   mapping:
476     max_length:
477       type: integer
478       label: 'Maximum length'
479     case_sensitive:
480       type: boolean
481       label: 'Case sensitive'
482     is_ascii:
483       type: boolean
484       label: 'Contains US ASCII characters only'
485
486 field.field_settings.string:
487   type: mapping
488   label: 'String settings'
489
490 field.value.string:
491   type: mapping
492   label: 'Default value'
493   mapping:
494     value:
495       type: label
496       label: 'Value'
497
498 # Schema for the configuration of the  String (long) field type.
499
500 field.storage_settings.string_long:
501   type: mapping
502   label: 'String (long) settings'
503   mapping:
504     case_sensitive:
505       type: boolean
506       label: 'Case sensitive'
507
508 field.field_settings.string_long:
509   type: mapping
510   label: 'String (long) settings'
511
512 field.value.string_long:
513   type: mapping
514   label: 'Default value'
515   mapping:
516     value:
517       type: text
518       label: 'Value'
519
520 # Schema for the configuration of the URI field type.
521
522 field.storage_settings.uri:
523   type: field.storage_settings.string
524   label: 'URI settings'
525   mapping:
526     max_length:
527       type: integer
528       label: 'Maximum length'
529     case_sensitive:
530       type: boolean
531       label: 'Case sensitive'
532
533 field.field_settings.uri:
534   type: mapping
535   label: 'URI settings'
536
537 field.value.uri:
538   type: mapping
539   label: 'Default value'
540   mapping:
541     value:
542       type: string
543       label: 'Value'
544
545 # Schema for the configuration of the Created field type.
546
547 field.storage_settings.created:
548   type: mapping
549   label: 'Created timestamp settings'
550
551 field.field_settings.created:
552   type: mapping
553   label: 'Created timestamp settings'
554
555 field.value.created:
556   type: mapping
557   label: 'Default value'
558   mapping:
559     value:
560       type: integer
561       label: 'Value'
562
563 # Schema for the configuration of the Changed field type.
564
565 field.storage_settings.changed:
566   type: mapping
567   label: 'Changed timestamp settings'
568
569 field.field_settings.changed:
570   type: mapping
571   label: 'Changed timestamp settings'
572
573 field.value.changed:
574   type: mapping
575   label: 'Default value'
576   mapping:
577     value:
578       type: integer
579       label: 'Value'
580
581 # Schema for the configuration of the Entity reference field type.
582
583 field.storage_settings.entity_reference:
584   type: mapping
585   label: 'Entity reference field storage settings'
586   mapping:
587     target_type:
588       type: string
589       label: 'Type of item to reference'
590
591 field.field_settings.entity_reference:
592   type: mapping
593   label: 'Entity reference field settings'
594   mapping:
595     handler:
596       type: string
597       label: 'Reference method'
598     handler_settings:
599       type: entity_reference_selection.[%parent.handler]
600       label: 'Entity reference selection plugin settings'
601
602 field.value.entity_reference:
603   type: mapping
604   label: 'Default value'
605   mapping:
606     target_id:
607       type: string
608       label: 'Value'
609     target_uuid:
610       type: uuid
611
612 # Schema for the configuration of the Boolean field type.
613
614 field.field_settings.boolean:
615   label: 'Boolean settings'
616   type: mapping
617   mapping:
618     on_label:
619       type: label
620       label: 'On label'
621     off_label:
622       type: label
623       label: 'Off label'
624
625 field.value.boolean:
626   type: mapping
627   mapping:
628     value:
629       type: integer
630       label: 'Value'
631
632 # Schema for the configuration of the Email field type.
633
634 field.storage_settings.email:
635   type: mapping
636   label: 'Email settings'
637
638 field.field_settings.email:
639   type: mapping
640   label: 'Email settings'
641   sequence:
642     type: string
643     label: 'Setting'
644
645 field.value.email:
646   type: mapping
647   label: 'Default value'
648   mapping:
649     value:
650       type: email
651       label: 'Value'
652
653 # Schema for the configuration of the Integer field type.
654
655 field.storage_settings.integer:
656   type: mapping
657   label: 'Integer settings'
658   mapping:
659     unsigned:
660       type: boolean
661       label: 'Unsigned'
662     size:
663       type: string
664       label: 'Database storage size'
665
666 field.field_settings.integer:
667   type: mapping
668   label: 'Integer'
669   mapping:
670     min:
671       type: integer
672       label: 'Minimum'
673     max:
674       type: integer
675       label: 'Maximum'
676     prefix:
677       type: label
678       label: 'Prefix'
679     suffix:
680       type: label
681       label: 'Suffix'
682
683 field.value.integer:
684   type: mapping
685   label: 'Default value'
686   mapping:
687     value:
688       type: integer
689       label: 'Value'
690
691 # Schema for the configuration of the Decimal field type.
692
693 field.storage_settings.decimal:
694   type: mapping
695   label: 'Decimal settings'
696   mapping:
697     precision:
698       type: integer
699       label: 'Precision'
700     scale:
701       type: integer
702       label: 'Scale'
703
704 field.field_settings.decimal:
705   type: mapping
706   label: 'Decimal settings'
707   mapping:
708     min:
709       type: float
710       label: 'Minimum'
711     max:
712       type: float
713       label: 'Maximum'
714     prefix:
715       type: label
716       label: 'Prefix'
717     suffix:
718       type: label
719       label: 'Suffix'
720
721 field.value.decimal:
722    type: mapping
723    label: 'Default value'
724    mapping:
725      value:
726        type: float
727        label: 'Value'
728
729 # Schema for the configuration of the Float field type.
730
731 field.storage_settings.float:
732   type: mapping
733   label: 'Float settings'
734
735 field.field_settings.float:
736   type: mapping
737   label: 'Float settings'
738   mapping:
739     min:
740       type: float
741       label: 'Minimum'
742     max:
743       type: float
744       label: 'Maximum'
745     prefix:
746       type: label
747       label: 'Prefix'
748     suffix:
749       type: label
750       label: 'Suffix'
751
752 field.value.float:
753   type: mapping
754   label: 'Default value'
755   mapping:
756     value:
757       type: float
758       label: 'Value'
759
760 # Schema for the configuration of the Timestamp field type.
761
762 field.value.timestamp:
763   type: mapping
764   label: 'Timestamp value'
765   mapping:
766     value:
767       type: timestamp
768       label: 'Value'
769
770 # Text with a text format.
771 text_format:
772   type: mapping
773   label: 'Text with text format'
774   # We declare the entire mapping of text and text format as translatable. This
775   # causes the entire mapping to be saved to the language overrides of the
776   # configuration. Storing only the (to be formatted) text could result in
777   # security problems in case the text format of the source text is changed.
778   translatable: true
779   mapping:
780     value:
781       type: text
782       label: 'Text'
783       # Mark the actual text as translatable (in addition to the entire mapping
784       # being marked as translatable) so that shipped configuration with
785       # formatted text can participate in the string translation system.
786       translatable: true
787     format:
788       type: string
789       label: 'Text format'
790       # The text format should not be translated as part of the string
791       # translation system, so this is not marked as translatable.
792
793 # Base schema for all entity reference selection handler schemas.
794 entity_reference_selection:
795   type: mapping
796   label: 'Entity reference selection handler settings'
797   mapping:
798     target_type:
799       type: string
800       label: 'Type of item to reference'
801
802 # Schema for all entity reference selection handlers that are not providing a
803 # specific schema.
804 entity_reference_selection.*:
805   type: entity_reference_selection
806
807 # Schema for the entity reference 'default' selection handler settings.
808 entity_reference_selection.default:
809   type: entity_reference_selection
810   label: 'Default selection handler settings'
811   mapping:
812     target_bundles:
813       type: sequence
814       label: 'types'
815       nullable: true
816       sequence:
817         type: string
818         label: 'Bundle'
819     sort:
820       type: mapping
821       label: 'Sort settings'
822       mapping:
823         field:
824           type: string
825           label: 'Sort by'
826         direction:
827           type: string
828           label: 'Sort direction'
829     auto_create:
830       type: boolean
831       label: 'Create referenced entities if they don''t already exist'
832     auto_create_bundle:
833       type: string
834       label: 'Bundle assigned to the auto-created entities.'
835
836 # Schema for all entity reference 'default:*' selection handlers that are not
837 # providing a specific schema.
838 entity_reference_selection.default:*:
839   type: entity_reference_selection.default