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