shel-neos-schema 1.0.0

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.
@@ -0,0 +1,1759 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "https://raw.githubusercontent.com/Sebobo/Shel.Neos.Schema/main/NodeTypes.Schema.json",
4
+ "title": "Neos NodeTypes Schema",
5
+ "type": "object",
6
+ "minProperties": 1,
7
+ "definitions": {
8
+ "position": {
9
+ "oneOf": [
10
+ {
11
+ "type": "string"
12
+ },
13
+ {
14
+ "type": "integer",
15
+ "minimum": 0
16
+ }
17
+ ]
18
+ },
19
+ "help": {
20
+ "type": "object",
21
+ "additionalProperties": false,
22
+ "properties": {
23
+ "message": {
24
+ "type": "string"
25
+ }
26
+ }
27
+ },
28
+ "label": {
29
+ "title": "Shown in the Neos UI",
30
+ "description": "Can be \"i18n\" for automatic translation based on the name, a translation shorthand string like \"My.Package:NodeTypes.MyContent:ui.label\", or a simple string.",
31
+ "x-intellij-html-description": "<p><b>Examples:</b></p>\n<ul><li><i>i18n</i> looks automatically for a matching translation based on the name</li><li><i>My.Package:NodeTypes.MyContent:ui.label</i> uses translation shorthand string</li><li><i>Some static label</i></li></ul>\n",
32
+ "examples": [
33
+ "i18n",
34
+ "Neos.Neos:NodeTypes.Document:ui.label",
35
+ "Some label"
36
+ ],
37
+ "default": "i18n",
38
+ "anyOf": [
39
+ {
40
+ "const": "i18n"
41
+ },
42
+ {
43
+ "type": [
44
+ "string",
45
+ "null"
46
+ ]
47
+ }
48
+ ]
49
+ },
50
+ "icon": {
51
+ "type": "string",
52
+ "title": "Shown in the Neos UI",
53
+ "description": "All free FontAwesome 5 icons can be referenced by their icon-classes. For backwards compatibility reason you can still use a \"icon-\" prefix.",
54
+ "x-intellij-html-description": "<p>All free <a href=\"https://fontawesome.com/icons?d=gallery&m=free\">FontAwesome 5 icons</a> can be referenced by their icon-classes. For backwards compatibility reason you can still use a \"icon-\" prefix.</p><p><b>Examples:</b></p>\n<ul><li><i>fas fa-home</i></li><li><i>icon-home</i></li></ul></p>",
55
+ "examples": [
56
+ "fas fa-home",
57
+ "icon-home"
58
+ ]
59
+ },
60
+ "editor": {
61
+ "anyOf": [
62
+ {
63
+ "properties": {
64
+ "editor": {
65
+ "type": "string",
66
+ "not": {
67
+ "enum": [
68
+ "Neos.Neos/Inspector/Editors/TextAreaEditor",
69
+ "Neos.Neos/Inspector/Editors/RichTextEditor",
70
+ "Neos.Neos/Inspector/Editors/TextFieldEditor",
71
+ "Neos.Neos/Inspector/Editors/SelectBoxEditor",
72
+ "Neos.Neos/Inspector/Editors/CodeEditor",
73
+ "Neos.Neos/Inspector/Editors/AssetEditor",
74
+ "Neos.Neos/Inspector/Editors/BooleanEditor",
75
+ "Neos.Neos/Inspector/Editors/ReferenceEditor",
76
+ "Neos.Neos/Inspector/Editors/ReferencesEditor",
77
+ "Neos.Neos/Inspector/Editors/LinkEditor",
78
+ "Neos.Neos/Inspector/Editors/ImageEditor",
79
+ "Neos.Neos/Inspector/Editors/DateTimeEditor",
80
+ "Neos.Neos/Inspector/Editors/RangeEditor"
81
+ ]
82
+ }
83
+ },
84
+ "editorOptions": {
85
+ "type": "object",
86
+ "additionalProperties": true
87
+ }
88
+ }
89
+ },
90
+ {
91
+ "properties": {
92
+ "editor": {
93
+ "const": "Neos.Neos/Inspector/Editors/TextAreaEditor"
94
+ },
95
+ "editorOptions": {
96
+ "type": "object",
97
+ "additionalProperties": false,
98
+ "properties": {
99
+ "disabled": {
100
+ "type": [
101
+ "boolean",
102
+ "null"
103
+ ],
104
+ "default": false
105
+ },
106
+ "maxlength": {
107
+ "type": [
108
+ "integer",
109
+ "null"
110
+ ],
111
+ "minimum": 1,
112
+ "default": null
113
+ },
114
+ "readonly": {
115
+ "type": [
116
+ "boolean",
117
+ "null"
118
+ ],
119
+ "default": false
120
+ },
121
+ "placeholder": {
122
+ "$ref": "#/definitions/label"
123
+ },
124
+ "minRows": {
125
+ "type": [
126
+ "integer",
127
+ "null"
128
+ ],
129
+ "minimum": 1,
130
+ "default": 2
131
+ },
132
+ "expandedRows": {
133
+ "type": [
134
+ "integer",
135
+ "null"
136
+ ],
137
+ "minimum": 2,
138
+ "default": 6
139
+ },
140
+ "maxRows": {
141
+ "type": [
142
+ "integer",
143
+ "null"
144
+ ],
145
+ "description": "Number of maximum rows (Neos 8.4+)",
146
+ "minimum": 1,
147
+ "default": 24
148
+ }
149
+ }
150
+ }
151
+ }
152
+ },
153
+ {
154
+ "properties": {
155
+ "editor": {
156
+ "const": "Neos.Neos/Inspector/Editors/RichTextEditor"
157
+ },
158
+ "editorOptions": {
159
+ "$ref": "#/definitions/inlineEditorOptions"
160
+ }
161
+ }
162
+ },
163
+ {
164
+ "properties": {
165
+ "editor": {
166
+ "const": "Neos.Neos/Inspector/Editors/SelectBoxEditor"
167
+ },
168
+ "editorOptions": {
169
+ "type": "object",
170
+ "additionalProperties": false,
171
+ "properties": {
172
+ "highlight": {
173
+ "type": "boolean"
174
+ },
175
+ "dataSourceIdentifier": {
176
+ "type": "string"
177
+ },
178
+ "dataSourceUri": {
179
+ "type": "string"
180
+ },
181
+ "dataSourceDisableCaching": {
182
+ "type": "boolean"
183
+ },
184
+ "dataSourceAdditionalData": {
185
+ "type": "object"
186
+ },
187
+ "allowEmpty": {
188
+ "type": "boolean"
189
+ },
190
+ "placeholder": {
191
+ "$ref": "#/definitions/label"
192
+ },
193
+ "placeholderIcon": {
194
+ "$ref": "#/definitions/icon"
195
+ },
196
+ "disabled": {
197
+ "type": "boolean",
198
+ "default": false
199
+ },
200
+ "multiple": {
201
+ "type": "boolean"
202
+ },
203
+ "minimumResultsForSearch": {
204
+ "type": "integer",
205
+ "minimum": -1,
206
+ "default": 5,
207
+ "description": "The minimum number of items before the search box is shown. If set to -1 it will always be hidden."
208
+ },
209
+ "threshold": {
210
+ "type": "integer",
211
+ "default": 2,
212
+ "minimum": 1
213
+ },
214
+ "values": {
215
+ "type": "object",
216
+ "additionalProperties": {
217
+ "type": "object",
218
+ "properties": {
219
+ "label": {
220
+ "$ref": "#/definitions/label"
221
+ },
222
+ "icon": {
223
+ "$ref": "#/definitions/icon"
224
+ },
225
+ "group": {
226
+ "type": "string"
227
+ }
228
+ }
229
+ }
230
+ }
231
+ }
232
+ }
233
+ }
234
+ },
235
+ {
236
+ "properties": {
237
+ "editor": {
238
+ "const": "Neos.Neos/Inspector/Editors/AssetEditor"
239
+ },
240
+ "editorOptions": {
241
+ "type": "object",
242
+ "additionalProperties": false,
243
+ "properties": {
244
+ "placeholder": {
245
+ "$ref": "#/definitions/label"
246
+ },
247
+ "disabled": {
248
+ "type": "boolean",
249
+ "default": false
250
+ },
251
+ "multiple": {
252
+ "type": "boolean"
253
+ },
254
+ "accept": {
255
+ "type": "string",
256
+ "default": null
257
+ },
258
+ "constraints": {
259
+ "type": "object",
260
+ "additionalProperties": false,
261
+ "properties": {
262
+ "mediaTypes": {
263
+ "type": "array",
264
+ "uniqueItems": true,
265
+ "items": {
266
+ "type": "string"
267
+ }
268
+ },
269
+ "assetSources": {
270
+ "type": "array",
271
+ "uniqueItems": true,
272
+ "items": {
273
+ "type": "string"
274
+ }
275
+ }
276
+ }
277
+ },
278
+ "features": {
279
+ "type": "object",
280
+ "additionalProperties": false,
281
+ "properties": {
282
+ "upload": {
283
+ "type": "boolean",
284
+ "default": true
285
+ },
286
+ "mediaBrowser": {
287
+ "type": "boolean",
288
+ "default": true
289
+ }
290
+ }
291
+ }
292
+ }
293
+ }
294
+ }
295
+ },
296
+ {
297
+ "properties": {
298
+ "editor": {
299
+ "title": "Will render a checkbox in the Neos UI",
300
+ "const": "Neos.Neos/Inspector/Editors/BooleanEditor"
301
+ },
302
+ "editorOptions": {
303
+ "type": "object",
304
+ "additionalProperties": false,
305
+ "properties": {
306
+ "disabled": {
307
+ "type": "boolean",
308
+ "default": false
309
+ }
310
+ }
311
+ }
312
+ }
313
+ },
314
+ {
315
+ "properties": {
316
+ "editor": {
317
+ "const": "Neos.Neos/Inspector/Editors/CodeEditor"
318
+ },
319
+ "editorOptions": {
320
+ "type": "object",
321
+ "additionalProperties": false,
322
+ "properties": {
323
+ "highlightingMode": {
324
+ "type": "string",
325
+ "default": "htmlmixed"
326
+ },
327
+ "buttonLabel": {
328
+ "$ref": "#/definitions/label"
329
+ }
330
+ }
331
+ }
332
+ }
333
+ },
334
+ {
335
+ "properties": {
336
+ "editor": {
337
+ "const": "Neos.Neos/Inspector/Editors/DateTimeEditor"
338
+ },
339
+ "editorOptions": {
340
+ "type": "object",
341
+ "additionalProperties": false,
342
+ "properties": {
343
+ "placeholder": {
344
+ "$ref": "#/definitions/label"
345
+ },
346
+ "format": {
347
+ "type": "string"
348
+ },
349
+ "disabled": {
350
+ "type": "boolean"
351
+ },
352
+ "minuteStep": {
353
+ "type": "integer",
354
+ "default": 5
355
+ },
356
+ "timeConstraints": {
357
+ "type": "object",
358
+ "additionalProperties": false,
359
+ "properties": {
360
+ "minutes": {
361
+ "type": "object",
362
+ "additionalProperties": false,
363
+ "properties": {
364
+ "min": {
365
+ "type": "integer",
366
+ "minimum": 0,
367
+ "maximum": 59,
368
+ "default": 0
369
+ },
370
+ "max": {
371
+ "type": "integer",
372
+ "minimum": 1,
373
+ "maximum": 59,
374
+ "default": 59
375
+ },
376
+ "step": {
377
+ "type": "integer",
378
+ "minimum": 1,
379
+ "maximum": 30,
380
+ "default": 5
381
+ }
382
+ }
383
+ }
384
+ }
385
+ }
386
+ }
387
+ }
388
+ }
389
+ },
390
+ {
391
+ "properties": {
392
+ "editor": {
393
+ "const": "Neos.Neos/Inspector/Editors/ImageEditor"
394
+ },
395
+ "editorOptions": {
396
+ "type": "object",
397
+ "additionalProperties": false,
398
+ "properties": {
399
+ "disabled": {
400
+ "type": "boolean",
401
+ "default": false
402
+ },
403
+ "maximumFileSize": {
404
+ "type": [
405
+ "integer",
406
+ "string",
407
+ "null"
408
+ ],
409
+ "default": null
410
+ },
411
+ "accept": {
412
+ "type": "string",
413
+ "default": null
414
+ },
415
+ "constraints": {
416
+ "type": "object",
417
+ "additionalProperties": false,
418
+ "properties": {
419
+ "mediaTypes": {
420
+ "type": "array",
421
+ "uniqueItems": true,
422
+ "items": {
423
+ "type": "string"
424
+ }
425
+ },
426
+ "assetSources": {
427
+ "type": "array",
428
+ "uniqueItems": true,
429
+ "items": {
430
+ "type": "string"
431
+ }
432
+ }
433
+ }
434
+ },
435
+ "features": {
436
+ "type": "object",
437
+ "additionalProperties": false,
438
+ "properties": {
439
+ "crop": {
440
+ "type": "boolean",
441
+ "default": true
442
+ },
443
+ "resize": {
444
+ "type": "boolean",
445
+ "default": false
446
+ },
447
+ "mediaBrowser": {
448
+ "type": "boolean",
449
+ "default": true
450
+ },
451
+ "upload": {
452
+ "type": "boolean",
453
+ "default": true
454
+ }
455
+ }
456
+ },
457
+ "crop": {
458
+ "type": "object",
459
+ "additionalProperties": false,
460
+ "properties": {
461
+ "aspectRatio": {
462
+ "type": "object",
463
+ "additionalProperties": false,
464
+ "properties": {
465
+ "options": {
466
+ "type": "object",
467
+ "additionalProperties": {
468
+ "type": "object",
469
+ "additionalProperties": false,
470
+ "properties": {
471
+ "width": {
472
+ "type": "integer",
473
+ "minimum": 0
474
+ },
475
+ "height": {
476
+ "type": "integer",
477
+ "minimum": 0
478
+ },
479
+ "label": {
480
+ "$ref": "#/definitions/label"
481
+ }
482
+ }
483
+ }
484
+ },
485
+ "enableOriginal": {
486
+ "type": "boolean",
487
+ "default": true
488
+ },
489
+ "allowCustom": {
490
+ "type": "boolean",
491
+ "default": true
492
+ },
493
+ "forceCrop": {
494
+ "type": "boolean",
495
+ "default": false
496
+ },
497
+ "locked": {
498
+ "type": "object",
499
+ "additionalProperties": false,
500
+ "properties": {
501
+ "width": {
502
+ "type": "integer",
503
+ "minimum": 0
504
+ },
505
+ "height": {
506
+ "type": "integer",
507
+ "minimum": 0
508
+ }
509
+ }
510
+ }
511
+ }
512
+ }
513
+ }
514
+ }
515
+ }
516
+ }
517
+ }
518
+ },
519
+ {
520
+ "properties": {
521
+ "editor": {
522
+ "const": "Neos.Neos/Inspector/Editors/LinkEditor"
523
+ },
524
+ "editorOptions": {
525
+ "$ref": "#/definitions/linkEditorOptions"
526
+ }
527
+ }
528
+ },
529
+ {
530
+ "properties": {
531
+ "editor": {
532
+ "const": "Neos.Neos/Inspector/Editors/ReferenceEditor"
533
+ },
534
+ "editorOptions": {
535
+ "type": "object",
536
+ "additionalProperties": false,
537
+ "properties": {
538
+ "placeholder": {
539
+ "$ref": "#/definitions/label"
540
+ },
541
+ "threshold": {
542
+ "type": "integer",
543
+ "default": 2,
544
+ "minimum": 1
545
+ },
546
+ "nodeTypes": {
547
+ "type": "array",
548
+ "uniqueItems": true,
549
+ "items": {
550
+ "type": "string"
551
+ }
552
+ },
553
+ "startingPoint": {
554
+ "type": "string"
555
+ },
556
+ "disabled": {
557
+ "type": "boolean",
558
+ "default": false
559
+ },
560
+ "createNew": {
561
+ "type": "object",
562
+ "additionalProperties": false,
563
+ "properties": {
564
+ "path": {
565
+ "type": "string"
566
+ },
567
+ "type": {
568
+ "type": "string"
569
+ },
570
+ "titleProperty": {
571
+ "type": "string"
572
+ }
573
+ }
574
+ }
575
+ }
576
+ }
577
+ }
578
+ },
579
+ {
580
+ "properties": {
581
+ "editor": {
582
+ "const": "Neos.Neos/Inspector/Editors/ReferencesEditor"
583
+ },
584
+ "editorOptions": {
585
+ "type": "object",
586
+ "additionalProperties": false,
587
+ "properties": {
588
+ "placeholder": {
589
+ "$ref": "#/definitions/label"
590
+ },
591
+ "threshold": {
592
+ "type": "integer",
593
+ "default": 2,
594
+ "minimum": 1
595
+ },
596
+ "nodeTypes": {
597
+ "type": "array",
598
+ "uniqueItems": true,
599
+ "items": {
600
+ "type": "string"
601
+ }
602
+ },
603
+ "startingPoint": {
604
+ "type": "string"
605
+ },
606
+ "disabled": {
607
+ "type": "boolean",
608
+ "default": false
609
+ },
610
+ "createNew": {
611
+ "type": "object",
612
+ "additionalProperties": false,
613
+ "properties": {
614
+ "path": {
615
+ "type": "string"
616
+ },
617
+ "type": {
618
+ "type": "string"
619
+ },
620
+ "titleProperty": {
621
+ "type": "string"
622
+ }
623
+ }
624
+ }
625
+ }
626
+ }
627
+ }
628
+ },
629
+ {
630
+ "properties": {
631
+ "editor": {
632
+ "const": "Neos.Neos/Inspector/Editors/TextFieldEditor"
633
+ },
634
+ "editorOptions": {
635
+ "type": "object",
636
+ "additionalProperties": false,
637
+ "properties": {
638
+ "placeholder": {
639
+ "$ref": "#/definitions/label"
640
+ },
641
+ "disabled": {
642
+ "type": [
643
+ "boolean",
644
+ "null"
645
+ ],
646
+ "default": false
647
+ },
648
+ "maxlength": {
649
+ "type": [
650
+ "integer",
651
+ "null"
652
+ ],
653
+ "minimum": 1,
654
+ "default": null
655
+ },
656
+ "readonly": {
657
+ "type": [
658
+ "boolean",
659
+ "null"
660
+ ],
661
+ "default": false
662
+ }
663
+ }
664
+ }
665
+ }
666
+ },
667
+ {
668
+ "properties": {
669
+ "editor": {
670
+ "const": "Neos.Neos/Inspector/Editors/RangeEditor",
671
+ "title": "Range editor (since Neos 7.3)",
672
+ "description": "For selecting numeric values"
673
+ },
674
+ "editorOptions": {
675
+ "type": "object",
676
+ "additionalProperties": false,
677
+ "properties": {
678
+ "minLabel": {
679
+ "type": [
680
+ "string",
681
+ "null"
682
+ ],
683
+ "description": "If set, this value is displayed instead of the minimum value."
684
+ },
685
+ "maxLabel": {
686
+ "type": [
687
+ "string",
688
+ "null"
689
+ ],
690
+ "description": "If set, this value is displayed instead of the maximum value."
691
+ },
692
+ "step": {
693
+ "type": [
694
+ "number",
695
+ "null"
696
+ ],
697
+ "description": "The step attribute is a number that specifies the granularity that the value must adhere to."
698
+ },
699
+ "unit": {
700
+ "type": [
701
+ "string",
702
+ "null"
703
+ ],
704
+ "description": "The value gets displayed beside the current value, as well after the minimal value (only if `minLabel` is not set) and after the maximal value (only if ``maxLabel`` is not set). (The unit is just a visual indicator and will not be added to the resulting property value.)"
705
+ },
706
+ "disabled": {
707
+ "type": [
708
+ "boolean",
709
+ "null"
710
+ ],
711
+ "default": false,
712
+ "description": "If set to `true`, the range editor gets disabled."
713
+ },
714
+ "min": {
715
+ "type": [
716
+ "number",
717
+ "null"
718
+ ],
719
+ "description": "The lowest value in the range of permitted values. This value must be less than or equal to the value of the max attribute."
720
+ },
721
+ "max": {
722
+ "type": [
723
+ "number",
724
+ "null"
725
+ ],
726
+ "description": "The greatest value in the range of permitted values. This value must be greater than or equal to the value of the min attribute."
727
+ }
728
+ }
729
+ }
730
+ }
731
+ }
732
+ ]
733
+ },
734
+ "inlineEditorOptions": {
735
+ "type": [
736
+ "object",
737
+ "null"
738
+ ],
739
+ "properties": {
740
+ "autoparagraph": {
741
+ "type": "boolean"
742
+ },
743
+ "placeholder": {
744
+ "$ref": "#/definitions/label"
745
+ },
746
+ "linking": {
747
+ "anyOf": [
748
+ {
749
+ "type": "object",
750
+ "additionalProperties": false,
751
+ "properties": {
752
+ "anchor": {
753
+ "type": "boolean"
754
+ },
755
+ "title": {
756
+ "type": "boolean"
757
+ },
758
+ "relNoFollow": {
759
+ "type": "boolean"
760
+ },
761
+ "targetBlank": {
762
+ "type": "boolean"
763
+ }
764
+ }
765
+ },
766
+ {
767
+ "$ref": "#/definitions/linkEditorOptions"
768
+ }
769
+ ]
770
+ },
771
+ "formatting": {
772
+ "type": "object",
773
+ "additionalProperties": {
774
+ "type": "boolean"
775
+ },
776
+ "properties": {
777
+ "strong": {
778
+ "type": "boolean"
779
+ },
780
+ "em": {
781
+ "type": "boolean"
782
+ },
783
+ "u": {
784
+ "type": "boolean"
785
+ },
786
+ "sub": {
787
+ "type": "boolean"
788
+ },
789
+ "sup": {
790
+ "type": "boolean"
791
+ },
792
+ "del": {
793
+ "type": "boolean"
794
+ },
795
+ "p": {
796
+ "type": "boolean"
797
+ },
798
+ "h1": {
799
+ "type": "boolean"
800
+ },
801
+ "h2": {
802
+ "type": "boolean"
803
+ },
804
+ "h3": {
805
+ "type": "boolean"
806
+ },
807
+ "h4": {
808
+ "type": "boolean"
809
+ },
810
+ "h5": {
811
+ "type": "boolean"
812
+ },
813
+ "h6": {
814
+ "type": "boolean"
815
+ },
816
+ "pre": {
817
+ "type": "boolean"
818
+ },
819
+ "underline": {
820
+ "type": "boolean"
821
+ },
822
+ "strikethrough": {
823
+ "type": "boolean"
824
+ },
825
+ "removeFormat": {
826
+ "type": "boolean"
827
+ },
828
+ "left": {
829
+ "type": "boolean"
830
+ },
831
+ "right": {
832
+ "type": "boolean"
833
+ },
834
+ "center": {
835
+ "type": "boolean"
836
+ },
837
+ "justify": {
838
+ "type": "boolean"
839
+ },
840
+ "table": {
841
+ "type": "boolean"
842
+ },
843
+ "ol": {
844
+ "type": "boolean"
845
+ },
846
+ "ul": {
847
+ "type": "boolean"
848
+ },
849
+ "a": {
850
+ "type": "boolean"
851
+ },
852
+ "blockquote": {
853
+ "type": "boolean",
854
+ "description": "Allows wrapping text in a blockquote tag (Neos 8.3+)"
855
+ }
856
+ }
857
+ }
858
+ }
859
+ },
860
+ "linkEditorOptions": {
861
+ "type": "object",
862
+ "properties": {
863
+ "nodeTypes": {
864
+ "oneOf": [
865
+ {
866
+ "type": "string"
867
+ },
868
+ {
869
+ "type": "array",
870
+ "uniqueItems": true,
871
+ "items": {
872
+ "type": "string"
873
+ }
874
+ }
875
+ ]
876
+ },
877
+ "startingPoint": {
878
+ "type": "string"
879
+ },
880
+ "placeholder": {
881
+ "$ref": "#/definitions/label"
882
+ },
883
+ "disabled": {
884
+ "type": "boolean",
885
+ "default": false
886
+ },
887
+ "assets": {
888
+ "type": "boolean",
889
+ "default": true
890
+ },
891
+ "nodes": {
892
+ "type": "boolean",
893
+ "default": true
894
+ }
895
+ }
896
+ },
897
+ "simpleValidator": {
898
+ "$comment": "This is the base validator definition for all validators. It is extended by the actual validators below.",
899
+ "type": [
900
+ "object",
901
+ "null"
902
+ ],
903
+ "properties": {
904
+ "validationErrorMessage": {
905
+ "type": "string",
906
+ "description": "The custom error message to be shown if the validation fails. Neos 8.0+"
907
+ }
908
+ }
909
+ },
910
+ "validation": {
911
+ "type": [
912
+ "object",
913
+ "null"
914
+ ],
915
+ "additionalProperties": {
916
+ "type": [
917
+ "object",
918
+ "array",
919
+ "null"
920
+ ]
921
+ },
922
+ "properties": {
923
+ "Neos.Neos/Validation/BooleanValidator": {
924
+ "$ref": "#/definitions/simpleValidator",
925
+ "additionalProperties": false,
926
+ "properties": {
927
+ "validationErrorMessage": true,
928
+ "expectedValue": {
929
+ "type": "boolean"
930
+ }
931
+ }
932
+ },
933
+ "Neos.Neos/Validation/DateTimeValidator": {
934
+ "$ref": "#/definitions/simpleValidator",
935
+ "additionalProperties": false,
936
+ "properties": {
937
+ "validationErrorMessage": true,
938
+ "locale": {
939
+ "type": "string"
940
+ },
941
+ "strictMode": {
942
+ "type": "boolean"
943
+ },
944
+ "formatLength": {
945
+ "enum": [
946
+ "default",
947
+ "full",
948
+ "long",
949
+ "medium",
950
+ "short"
951
+ ]
952
+ },
953
+ "formatType": {
954
+ "enum": [
955
+ "date",
956
+ "time",
957
+ "dateTime"
958
+ ]
959
+ }
960
+ }
961
+ },
962
+ "Neos.Neos/Validation/DateTimeRangeValidator": {
963
+ "$ref": "#/definitions/simpleValidator",
964
+ "additionalProperties": false,
965
+ "properties": {
966
+ "validationErrorMessage": true,
967
+ "earliestDate": {
968
+ "type": "string"
969
+ },
970
+ "latestDate": {
971
+ "type": "string"
972
+ }
973
+ }
974
+ },
975
+ "Neos.Neos/Validation/EmailAddressValidator": {
976
+ "$ref": "#/definitions/simpleValidator",
977
+ "additionalProperties": false,
978
+ "properties": {
979
+ "validationErrorMessage": true,
980
+ "strict": {
981
+ "type": "boolean"
982
+ },
983
+ "checkDns": {
984
+ "type": "boolean"
985
+ }
986
+ }
987
+ },
988
+ "Neos.Neos/Validation/FloatValidator": {
989
+ "$ref": "#/definitions/simpleValidator",
990
+ "additionalProperties": false,
991
+ "properties": {
992
+ "validationErrorMessage": true
993
+ }
994
+ },
995
+ "Neos.Neos/Validation/IntegerValidator": {
996
+ "$ref": "#/definitions/simpleValidator",
997
+ "additionalProperties": false,
998
+ "properties": {
999
+ "validationErrorMessage": true
1000
+ }
1001
+ },
1002
+ "Neos.Neos/Validation/LabelValidator": {
1003
+ "$ref": "#/definitions/simpleValidator",
1004
+ "additionalProperties": false,
1005
+ "properties": {
1006
+ "validationErrorMessage": true
1007
+ }
1008
+ },
1009
+ "Neos.Neos/Validation/LocaleIdentifierValidator": {
1010
+ "$ref": "#/definitions/simpleValidator",
1011
+ "additionalProperties": false,
1012
+ "properties": {
1013
+ "validationErrorMessage": true
1014
+ }
1015
+ },
1016
+ "Neos.Neos/Validation/NumberValidator": {
1017
+ "$ref": "#/definitions/simpleValidator",
1018
+ "additionalProperties": false,
1019
+ "properties": {
1020
+ "validationErrorMessage": true,
1021
+ "locale": {
1022
+ "type": "string"
1023
+ },
1024
+ "strictMode": {
1025
+ "type": "boolean"
1026
+ },
1027
+ "formatLength": {
1028
+ "enum": [
1029
+ "default",
1030
+ "full",
1031
+ "long",
1032
+ "medium",
1033
+ "short"
1034
+ ]
1035
+ },
1036
+ "formatType": {
1037
+ "enum": [
1038
+ "decimal",
1039
+ "percent",
1040
+ "currency"
1041
+ ]
1042
+ }
1043
+ }
1044
+ },
1045
+ "Neos.Neos/Validation/NumberRangeValidator": {
1046
+ "$ref": "#/definitions/simpleValidator",
1047
+ "additionalProperties": false,
1048
+ "properties": {
1049
+ "validationErrorMessage": true,
1050
+ "minimum": {
1051
+ "type": "integer"
1052
+ },
1053
+ "maximum": {
1054
+ "type": "integer"
1055
+ }
1056
+ }
1057
+ },
1058
+ "Neos.Neos/Validation/NotEmptyValidator": {
1059
+ "$ref": "#/definitions/simpleValidator",
1060
+ "additionalProperties": false,
1061
+ "properties": {
1062
+ "validationErrorMessage": true
1063
+ }
1064
+ },
1065
+ "Neos.Neos/Validation/RegularExpressionValidator": {
1066
+ "$ref": "#/definitions/simpleValidator",
1067
+ "additionalProperties": false,
1068
+ "properties": {
1069
+ "validationErrorMessage": true,
1070
+ "regularExpression": {
1071
+ "type": "string"
1072
+ }
1073
+ }
1074
+ },
1075
+ "Neos.Neos/Validation/StringValidator": {
1076
+ "$ref": "#/definitions/simpleValidator",
1077
+ "additionalProperties": false,
1078
+ "properties": {
1079
+ "validationErrorMessage": true
1080
+ }
1081
+ },
1082
+ "Neos.Neos/Validation/StringLengthValidator": {
1083
+ "$ref": "#/definitions/simpleValidator",
1084
+ "additionalProperties": false,
1085
+ "properties": {
1086
+ "validationErrorMessage": true,
1087
+ "minimum": {
1088
+ "type": "integer",
1089
+ "minimum": 0
1090
+ },
1091
+ "maximum": {
1092
+ "type": "integer",
1093
+ "minimum": 1
1094
+ },
1095
+ "ignoreHtml": {
1096
+ "type": "boolean"
1097
+ }
1098
+ }
1099
+ },
1100
+ "Neos.Neos/Validation/TextValidator": {
1101
+ "$ref": "#/definitions/simpleValidator",
1102
+ "additionalProperties": false,
1103
+ "properties": {
1104
+ "validationErrorMessage": true
1105
+ }
1106
+ },
1107
+ "Neos.Neos/Validation/UuidValidator": {
1108
+ "$ref": "#/definitions/simpleValidator",
1109
+ "additionalProperties": false,
1110
+ "properties": {
1111
+ "validationErrorMessage": true
1112
+ }
1113
+ }
1114
+ }
1115
+ },
1116
+ "nodeTemplate": {
1117
+ "type": "object",
1118
+ "additionalProperties": true,
1119
+ "properties": {
1120
+ "childNodes": {
1121
+ "type": "object",
1122
+ "additionalProperties": {
1123
+ "$ref": "#/definitions/nodeTemplateChildNode"
1124
+ }
1125
+ },
1126
+ "properties": {
1127
+ "type": "object"
1128
+ },
1129
+ "when": {
1130
+ "$comment": "EEL-expression to determine whether the template should be applied",
1131
+ "type": "string"
1132
+ },
1133
+ "withItems": {
1134
+ "oneOf": [
1135
+ {
1136
+ "type": "array"
1137
+ },
1138
+ {
1139
+ "$comment": "An EEL expression",
1140
+ "type": "string"
1141
+ }
1142
+ ]
1143
+ }
1144
+ }
1145
+ },
1146
+ "nodeTemplateChildNode": {
1147
+ "type": "object",
1148
+ "allOf": [
1149
+ {
1150
+ "$ref": "#/definitions/nodeTemplate"
1151
+ }
1152
+ ],
1153
+ "properties": {
1154
+ "type": {
1155
+ "type": "string"
1156
+ },
1157
+ "name": {
1158
+ "$comment": "Identify the child node this template is applied to by this name",
1159
+ "type": "string"
1160
+ }
1161
+ }
1162
+ },
1163
+ "defaultValueValidation": {
1164
+ "oneOf": [
1165
+ {
1166
+ "properties": {
1167
+ "type": {
1168
+ "type": "null"
1169
+ }
1170
+ }
1171
+ },
1172
+ {
1173
+ "not": {
1174
+ "properties": {
1175
+ "type": {
1176
+ "enum": [
1177
+ "string",
1178
+ "integer",
1179
+ "number",
1180
+ "boolean"
1181
+ ]
1182
+ }
1183
+ }
1184
+ }
1185
+ },
1186
+ {
1187
+ "required": [
1188
+ "type"
1189
+ ],
1190
+ "properties": {
1191
+ "type": {
1192
+ "const": "string"
1193
+ },
1194
+ "defaultValue": {
1195
+ "type": [
1196
+ "string",
1197
+ "null"
1198
+ ]
1199
+ }
1200
+ }
1201
+ },
1202
+ {
1203
+ "required": [
1204
+ "type"
1205
+ ],
1206
+ "properties": {
1207
+ "type": {
1208
+ "const": "integer"
1209
+ },
1210
+ "defaultValue": {
1211
+ "type": [
1212
+ "integer",
1213
+ "null"
1214
+ ]
1215
+ }
1216
+ }
1217
+ },
1218
+ {
1219
+ "required": [
1220
+ "type"
1221
+ ],
1222
+ "properties": {
1223
+ "type": {
1224
+ "const": "number"
1225
+ },
1226
+ "defaultValue": {
1227
+ "type": [
1228
+ "number",
1229
+ "null"
1230
+ ]
1231
+ }
1232
+ }
1233
+ },
1234
+ {
1235
+ "required": [
1236
+ "type"
1237
+ ],
1238
+ "properties": {
1239
+ "type": {
1240
+ "const": "boolean"
1241
+ },
1242
+ "defaultValue": {
1243
+ "type": [
1244
+ "boolean",
1245
+ "null"
1246
+ ]
1247
+ }
1248
+ }
1249
+ }
1250
+ ]
1251
+ },
1252
+ "defaultValueType": {
1253
+ "type": [
1254
+ "string",
1255
+ "number",
1256
+ "boolean",
1257
+ "integer",
1258
+ "null",
1259
+ "array"
1260
+ ]
1261
+ },
1262
+ "propertyTypes": {
1263
+ "anyOf": [
1264
+ {
1265
+ "type": "string"
1266
+ },
1267
+ {
1268
+ "enum": [
1269
+ "string",
1270
+ "DateTime",
1271
+ "boolean",
1272
+ "integer",
1273
+ "number",
1274
+ "reference",
1275
+ "references",
1276
+ "array",
1277
+ "Neos\\Media\\Domain\\Model\\Asset",
1278
+ "array<Neos\\Media\\Domain\\Model\\Asset>",
1279
+ "Neos\\Media\\Domain\\Model\\ImageInterface"
1280
+ ]
1281
+ }
1282
+ ]
1283
+ },
1284
+ "propertyUIOptions": {
1285
+ "type": [
1286
+ "object",
1287
+ "null"
1288
+ ],
1289
+ "additionalProperties": false,
1290
+ "properties": {
1291
+ "label": {
1292
+ "$ref": "#/definitions/label"
1293
+ },
1294
+ "help": {
1295
+ "$ref": "#/definitions/help"
1296
+ },
1297
+ "reloadIfChanged": {
1298
+ "type": "boolean"
1299
+ },
1300
+ "reloadPageIfChanged": {
1301
+ "type": "boolean"
1302
+ },
1303
+ "inlineEditable": {
1304
+ "type": "boolean"
1305
+ },
1306
+ "inline": {
1307
+ "type": [
1308
+ "object",
1309
+ "null"
1310
+ ],
1311
+ "properties": {
1312
+ "editorOptions": {
1313
+ "$ref": "#/definitions/inlineEditorOptions"
1314
+ }
1315
+ }
1316
+ },
1317
+ "showInCreationDialog": {
1318
+ "type": [
1319
+ "boolean",
1320
+ "null"
1321
+ ]
1322
+ },
1323
+ "inspector": {
1324
+ "anyOf": [
1325
+ {
1326
+ "$ref": "#/definitions/editor"
1327
+ },
1328
+ {
1329
+ "type": [
1330
+ "object",
1331
+ "null"
1332
+ ],
1333
+ "additionalProperties": false,
1334
+ "properties": {
1335
+ "hidden": {
1336
+ "type": [
1337
+ "boolean",
1338
+ "null",
1339
+ "string"
1340
+ ]
1341
+ },
1342
+ "group": {
1343
+ "type": [
1344
+ "string",
1345
+ "null"
1346
+ ]
1347
+ },
1348
+ "position": {
1349
+ "$ref": "#/definitions/position"
1350
+ },
1351
+ "editorListeners": {
1352
+ "type": [
1353
+ "object",
1354
+ "null"
1355
+ ],
1356
+ "additionalProperties": {
1357
+ "type": "object",
1358
+ "additionalProperties": false,
1359
+ "properties": {
1360
+ "property": {
1361
+ "type": "string"
1362
+ },
1363
+ "handler": {
1364
+ "type": "string"
1365
+ },
1366
+ "handlerOptions": {
1367
+ "type": "object"
1368
+ }
1369
+ }
1370
+ }
1371
+ }
1372
+ }
1373
+ }
1374
+ ]
1375
+ }
1376
+ }
1377
+ }
1378
+ },
1379
+ "additionalProperties": {
1380
+ "type": "object",
1381
+ "additionalProperties": false,
1382
+ "properties": {
1383
+ "abstract": {
1384
+ "type": "boolean"
1385
+ },
1386
+ "final": {
1387
+ "type": "boolean"
1388
+ },
1389
+ "aggregate": {
1390
+ "type": "boolean"
1391
+ },
1392
+ "label": {
1393
+ "$ref": "#/definitions/label"
1394
+ },
1395
+ "constraints": {
1396
+ "type": "object",
1397
+ "additionalProperties": false,
1398
+ "properties": {
1399
+ "nodeTypes": {
1400
+ "type": "object",
1401
+ "additionalProperties": {
1402
+ "type": "boolean"
1403
+ }
1404
+ }
1405
+ }
1406
+ },
1407
+ "superTypes": {
1408
+ "type": "object",
1409
+ "additionalProperties": {
1410
+ "type": "boolean",
1411
+ "default": true
1412
+ },
1413
+ "$comment": "Provide the most commonly used supertypes for autocompletion",
1414
+ "properties": {
1415
+ "Neos.Neos:Content": {
1416
+ "type": "boolean",
1417
+ "default": true
1418
+ },
1419
+ "Neos.Neos:ContentCollection": {
1420
+ "type": "boolean",
1421
+ "default": true
1422
+ },
1423
+ "Neos.Neos:Document": {
1424
+ "type": "boolean",
1425
+ "default": true
1426
+ }
1427
+ }
1428
+ },
1429
+ "class": {
1430
+ "type": "string"
1431
+ },
1432
+ "search": {
1433
+ "type": "object",
1434
+ "properties": {
1435
+ "fulltext": {
1436
+ "type": "object",
1437
+ "properties": {
1438
+ "enable": {
1439
+ "type": "boolean"
1440
+ }
1441
+ }
1442
+ }
1443
+ }
1444
+ },
1445
+ "childNodes": {
1446
+ "type": [
1447
+ "object",
1448
+ "null"
1449
+ ],
1450
+ "propertyNames": {
1451
+ "pattern": "^[a-z0-9\\-]+$"
1452
+ },
1453
+ "additionalProperties": {
1454
+ "type": [
1455
+ "object",
1456
+ "null"
1457
+ ],
1458
+ "additionalProperties": false,
1459
+ "properties": {
1460
+ "position": {
1461
+ "$ref": "#/definitions/position"
1462
+ },
1463
+ "type": {
1464
+ "type": "string",
1465
+ "anyOf": [
1466
+ {
1467
+ "const": "Neos.Neos:ContentCollection"
1468
+ },
1469
+ {
1470
+ "type": [
1471
+ "string",
1472
+ "null"
1473
+ ]
1474
+ }
1475
+ ]
1476
+ },
1477
+ "options": {
1478
+ "type": "object",
1479
+ "additionalProperties": true,
1480
+ "properties": {
1481
+ "preset": {
1482
+ "type": "string",
1483
+ "description": "A child node preset as configured in `Neos.Neos.nodeTypes.presets.childNodes`."
1484
+ }
1485
+ }
1486
+ },
1487
+ "constraints": {
1488
+ "type": "object",
1489
+ "additionalProperties": false,
1490
+ "required": [
1491
+ "nodeTypes"
1492
+ ],
1493
+ "properties": {
1494
+ "nodeTypes": {
1495
+ "type": "object",
1496
+ "additionalProperties": {
1497
+ "type": "boolean"
1498
+ }
1499
+ }
1500
+ }
1501
+ }
1502
+ }
1503
+ }
1504
+ },
1505
+ "properties": {
1506
+ "type": [
1507
+ "object",
1508
+ "null"
1509
+ ],
1510
+ "additionalProperties": {
1511
+ "type": "object",
1512
+ "additionalProperties": false,
1513
+ "properties": {
1514
+ "type": {
1515
+ "$ref": "#/definitions/propertyTypes"
1516
+ },
1517
+ "defaultValue": {
1518
+ "$ref": "#/definitions/defaultValueType"
1519
+ },
1520
+ "search": {
1521
+ "type": "object",
1522
+ "properties": {
1523
+ "fulltextExtractor": {
1524
+ "type": "string"
1525
+ }
1526
+ }
1527
+ },
1528
+ "options": {
1529
+ "type": "object",
1530
+ "additionalProperties": true,
1531
+ "properties": {
1532
+ "preset": {
1533
+ "type": "string"
1534
+ }
1535
+ }
1536
+ },
1537
+ "ui": {
1538
+ "$ref": "#/definitions/propertyUIOptions"
1539
+ },
1540
+ "validation": {
1541
+ "$ref": "#/definitions/validation"
1542
+ }
1543
+ },
1544
+ "$ref": "#/definitions/defaultValueValidation"
1545
+ }
1546
+ },
1547
+ "ui": {
1548
+ "type": "object",
1549
+ "additionalProperties": false,
1550
+ "properties": {
1551
+ "label": {
1552
+ "$ref": "#/definitions/label"
1553
+ },
1554
+ "icon": {
1555
+ "$ref": "#/definitions/icon"
1556
+ },
1557
+ "previewIcon": {
1558
+ "type": "string",
1559
+ "description": "This setting defines the icon that will be used in the tile view of the NodeType selection dialog. Neos 8.0+",
1560
+ "examples": [
1561
+ "resource://Neos.Demo/Images/customIcon.svg"
1562
+ ]
1563
+ },
1564
+ "previewIconSize": {
1565
+ "type": "string",
1566
+ "default": "2x",
1567
+ "description": "The previewIconSize setting defines the size of the previewIcon. By default, the previewIcon has the size \"2x\". Neos 8.0+",
1568
+ "enum": [
1569
+ "xs",
1570
+ "sm",
1571
+ "lg",
1572
+ "2x",
1573
+ "3x"
1574
+ ]
1575
+ },
1576
+ "group": {
1577
+ "type": "string"
1578
+ },
1579
+ "inlineEditable": {
1580
+ "type": "boolean"
1581
+ },
1582
+ "position": {
1583
+ "$ref": "#/definitions/position"
1584
+ },
1585
+ "help": {
1586
+ "$ref": "#/definitions/help"
1587
+ },
1588
+ "search": {
1589
+ "type": "object",
1590
+ "additionalProperties": false,
1591
+ "properties": {
1592
+ "searchCategory": {
1593
+ "type": "string"
1594
+ }
1595
+ }
1596
+ },
1597
+ "creationDialog": {
1598
+ "type": "object",
1599
+ "additionalProperties": false,
1600
+ "properties": {
1601
+ "elements": {
1602
+ "type": [
1603
+ "object",
1604
+ "null"
1605
+ ],
1606
+ "additionalProperties": {
1607
+ "type": "object",
1608
+ "additionalProperties": false,
1609
+ "properties": {
1610
+ "type": {
1611
+ "$ref": "#/definitions/propertyTypes"
1612
+ },
1613
+ "defaultValue": {
1614
+ "$ref": "#/definitions/defaultValueType"
1615
+ },
1616
+ "ui": {
1617
+ "anyOf": [
1618
+ {
1619
+ "$ref": "#/definitions/editor"
1620
+ },
1621
+ {
1622
+ "type": "object",
1623
+ "additionalProperties": false,
1624
+ "properties": {
1625
+ "label": {
1626
+ "$ref": "#/definitions/label"
1627
+ }
1628
+ }
1629
+ }
1630
+ ]
1631
+ },
1632
+ "validation": {
1633
+ "$ref": "#/definitions/validation"
1634
+ }
1635
+ },
1636
+ "$ref": "#/definitions/defaultValueValidation"
1637
+ }
1638
+ }
1639
+ }
1640
+ },
1641
+ "inspector": {
1642
+ "type": "object",
1643
+ "additionalProperties": false,
1644
+ "properties": {
1645
+ "tabs": {
1646
+ "type": "object",
1647
+ "additionalProperties": {
1648
+ "type": "object",
1649
+ "additionalProperties": false,
1650
+ "properties": {
1651
+ "label": {
1652
+ "$ref": "#/definitions/label"
1653
+ },
1654
+ "position": {
1655
+ "$ref": "#/definitions/position"
1656
+ },
1657
+ "icon": {
1658
+ "$ref": "#/definitions/icon"
1659
+ }
1660
+ }
1661
+ }
1662
+ },
1663
+ "groups": {
1664
+ "type": "object",
1665
+ "additionalProperties": {
1666
+ "type": "object",
1667
+ "additionalProperties": false,
1668
+ "properties": {
1669
+ "label": {
1670
+ "$ref": "#/definitions/label"
1671
+ },
1672
+ "position": {
1673
+ "$ref": "#/definitions/position"
1674
+ },
1675
+ "tab": {
1676
+ "type": "string"
1677
+ },
1678
+ "icon": {
1679
+ "$ref": "#/definitions/icon"
1680
+ },
1681
+ "collapsed": {
1682
+ "type": "boolean"
1683
+ }
1684
+ }
1685
+ }
1686
+ },
1687
+ "views": {
1688
+ "type": "object",
1689
+ "additionalProperties": {
1690
+ "type": "object",
1691
+ "additionalProperties": false,
1692
+ "properties": {
1693
+ "label": {
1694
+ "$ref": "#/definitions/label"
1695
+ },
1696
+ "position": {
1697
+ "$ref": "#/definitions/position"
1698
+ },
1699
+ "group": {
1700
+ "type": "string"
1701
+ },
1702
+ "view": {
1703
+ "type": "string"
1704
+ },
1705
+ "viewOptions": {
1706
+ "type": "object"
1707
+ }
1708
+ }
1709
+ }
1710
+ }
1711
+ }
1712
+ }
1713
+ }
1714
+ },
1715
+ "postprocessors": {
1716
+ "type": "object",
1717
+ "additionalProperties": {
1718
+ "type": "object",
1719
+ "properties": {
1720
+ "postprocessor": {
1721
+ "type": "string"
1722
+ }
1723
+ }
1724
+ }
1725
+ },
1726
+ "options": {
1727
+ "type": "object",
1728
+ "additionalProperties": true,
1729
+ "properties": {
1730
+ "nodeCreationHandlers": {
1731
+ "type": "object",
1732
+ "additionalProperties": {
1733
+ "type": "object",
1734
+ "additionalProperties": {
1735
+ "type": "string"
1736
+ }
1737
+ }
1738
+ },
1739
+ "fusion": {
1740
+ "type": "object",
1741
+ "additionalProperties": true,
1742
+ "properties": {
1743
+ "prototypeGenerator": {
1744
+ "type": [
1745
+ "null",
1746
+ "string"
1747
+ ]
1748
+ }
1749
+ }
1750
+ },
1751
+ "template": {
1752
+ "$comment": "Related to functionality provided by https://github.com/Flowpack/Flowpack.NodeTemplates",
1753
+ "$ref": "#/definitions/nodeTemplate"
1754
+ }
1755
+ }
1756
+ }
1757
+ }
1758
+ }
1759
+ }