@cbjk_iris/schema 0.0.0-stage → 0.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,944 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "oneOf": [
4
+ {
5
+ "type": "object",
6
+ "properties": {
7
+ "id": {
8
+ "description": "Identificador para links do tipo #contato",
9
+ "type": "string",
10
+ "pattern": "^[a-z][a-z0-9-]*$",
11
+ "title": "Âncora"
12
+ },
13
+ "slides": {
14
+ "minItems": 1,
15
+ "type": "array",
16
+ "items": {
17
+ "type": "object",
18
+ "properties": {
19
+ "image": {
20
+ "type": "string",
21
+ "title": "Imagem",
22
+ "examples": [
23
+ "/home/slide-1.jpg"
24
+ ]
25
+ },
26
+ "alt": {
27
+ "type": "string",
28
+ "minLength": 1,
29
+ "description": "Texto alternativo, para leitores de tela",
30
+ "title": "Descrição da imagem"
31
+ },
32
+ "title": {
33
+ "type": "string",
34
+ "minLength": 1,
35
+ "title": "Título"
36
+ },
37
+ "subtitle": {
38
+ "type": "string",
39
+ "minLength": 1,
40
+ "title": "Subtítulo"
41
+ },
42
+ "cta": {
43
+ "anyOf": [
44
+ {
45
+ "type": "object",
46
+ "properties": {
47
+ "label": {
48
+ "type": "string",
49
+ "minLength": 1,
50
+ "title": "Texto do botão"
51
+ },
52
+ "href": {
53
+ "type": "string",
54
+ "title": "Destino",
55
+ "examples": [
56
+ "/sobre"
57
+ ]
58
+ }
59
+ },
60
+ "required": [
61
+ "label",
62
+ "href"
63
+ ],
64
+ "additionalProperties": false
65
+ },
66
+ {
67
+ "type": "object",
68
+ "properties": {
69
+ "label": {
70
+ "type": "string",
71
+ "minLength": 1,
72
+ "title": "Texto do botão"
73
+ },
74
+ "whatsapp": {
75
+ "anyOf": [
76
+ {
77
+ "type": "boolean",
78
+ "const": true
79
+ },
80
+ {
81
+ "type": "string",
82
+ "minLength": 1
83
+ }
84
+ ],
85
+ "description": "true = mensagem geral do site; um texto = mensagem própria",
86
+ "title": "Mensagem do WhatsApp"
87
+ }
88
+ },
89
+ "required": [
90
+ "label",
91
+ "whatsapp"
92
+ ],
93
+ "additionalProperties": false
94
+ }
95
+ ],
96
+ "title": "Botão"
97
+ },
98
+ "secondaryCta": {
99
+ "anyOf": [
100
+ {
101
+ "type": "object",
102
+ "properties": {
103
+ "label": {
104
+ "type": "string",
105
+ "minLength": 1,
106
+ "title": "Texto do botão"
107
+ },
108
+ "href": {
109
+ "type": "string",
110
+ "title": "Destino",
111
+ "examples": [
112
+ "/sobre"
113
+ ]
114
+ }
115
+ },
116
+ "required": [
117
+ "label",
118
+ "href"
119
+ ],
120
+ "additionalProperties": false
121
+ },
122
+ {
123
+ "type": "object",
124
+ "properties": {
125
+ "label": {
126
+ "type": "string",
127
+ "minLength": 1,
128
+ "title": "Texto do botão"
129
+ },
130
+ "whatsapp": {
131
+ "anyOf": [
132
+ {
133
+ "type": "boolean",
134
+ "const": true
135
+ },
136
+ {
137
+ "type": "string",
138
+ "minLength": 1
139
+ }
140
+ ],
141
+ "description": "true = mensagem geral do site; um texto = mensagem própria",
142
+ "title": "Mensagem do WhatsApp"
143
+ }
144
+ },
145
+ "required": [
146
+ "label",
147
+ "whatsapp"
148
+ ],
149
+ "additionalProperties": false
150
+ }
151
+ ],
152
+ "title": "Botão"
153
+ },
154
+ "href": {
155
+ "type": "string",
156
+ "title": "Link do slide inteiro"
157
+ },
158
+ "align": {
159
+ "type": "string",
160
+ "enum": [
161
+ "left",
162
+ "center",
163
+ "right"
164
+ ],
165
+ "title": "Alinhamento do texto"
166
+ }
167
+ },
168
+ "required": [
169
+ "image",
170
+ "alt",
171
+ "title"
172
+ ],
173
+ "additionalProperties": false
174
+ },
175
+ "title": "Slides"
176
+ },
177
+ "autoplay": {
178
+ "type": "boolean",
179
+ "title": "Passar sozinho"
180
+ },
181
+ "interval": {
182
+ "type": "integer",
183
+ "exclusiveMinimum": 0,
184
+ "maximum": 9007199254740991,
185
+ "title": "Intervalo (ms)"
186
+ },
187
+ "height": {
188
+ "type": "string",
189
+ "enum": [
190
+ "sm",
191
+ "md",
192
+ "lg",
193
+ "full"
194
+ ],
195
+ "title": "Altura"
196
+ },
197
+ "type": {
198
+ "type": "string",
199
+ "const": "hero"
200
+ }
201
+ },
202
+ "required": [
203
+ "slides",
204
+ "type"
205
+ ],
206
+ "additionalProperties": false
207
+ },
208
+ {
209
+ "type": "object",
210
+ "properties": {
211
+ "id": {
212
+ "description": "Identificador para links do tipo #contato",
213
+ "type": "string",
214
+ "pattern": "^[a-z][a-z0-9-]*$",
215
+ "title": "Âncora"
216
+ },
217
+ "title": {
218
+ "type": "string",
219
+ "minLength": 1,
220
+ "title": "Título"
221
+ },
222
+ "subtitle": {
223
+ "type": "string",
224
+ "minLength": 1,
225
+ "title": "Subtítulo"
226
+ },
227
+ "items": {
228
+ "minItems": 1,
229
+ "type": "array",
230
+ "items": {
231
+ "type": "object",
232
+ "properties": {
233
+ "icon": {
234
+ "type": "string",
235
+ "enum": [
236
+ "shield-check",
237
+ "badge-check",
238
+ "award",
239
+ "star",
240
+ "thumbs-up",
241
+ "heart",
242
+ "gem",
243
+ "clock",
244
+ "timer",
245
+ "calendar",
246
+ "truck",
247
+ "package",
248
+ "credit-card",
249
+ "hand-coins",
250
+ "wrench",
251
+ "hammer",
252
+ "ruler",
253
+ "paint-roller",
254
+ "house",
255
+ "zap",
256
+ "droplets",
257
+ "lightbulb",
258
+ "leaf",
259
+ "recycle",
260
+ "users",
261
+ "headset",
262
+ "phone",
263
+ "message-circle",
264
+ "map-pin",
265
+ "sparkles"
266
+ ],
267
+ "title": "Ícone"
268
+ },
269
+ "title": {
270
+ "type": "string",
271
+ "minLength": 1,
272
+ "title": "Título"
273
+ },
274
+ "text": {
275
+ "type": "string",
276
+ "minLength": 1,
277
+ "title": "Texto"
278
+ }
279
+ },
280
+ "required": [
281
+ "icon",
282
+ "title",
283
+ "text"
284
+ ],
285
+ "additionalProperties": false
286
+ },
287
+ "title": "Benefícios"
288
+ },
289
+ "type": {
290
+ "type": "string",
291
+ "const": "benefits"
292
+ }
293
+ },
294
+ "required": [
295
+ "items",
296
+ "type"
297
+ ],
298
+ "additionalProperties": false
299
+ },
300
+ {
301
+ "type": "object",
302
+ "properties": {
303
+ "id": {
304
+ "description": "Identificador para links do tipo #contato",
305
+ "type": "string",
306
+ "pattern": "^[a-z][a-z0-9-]*$",
307
+ "title": "Âncora"
308
+ },
309
+ "title": {
310
+ "type": "string",
311
+ "minLength": 1,
312
+ "title": "Título"
313
+ },
314
+ "subtitle": {
315
+ "type": "string",
316
+ "minLength": 1,
317
+ "title": "Subtítulo"
318
+ },
319
+ "text": {
320
+ "type": "string",
321
+ "minLength": 1,
322
+ "description": "Parágrafos separados por linha em branco",
323
+ "title": "Texto"
324
+ },
325
+ "image": {
326
+ "type": "string",
327
+ "title": "Imagem"
328
+ },
329
+ "imageAlt": {
330
+ "type": "string",
331
+ "minLength": 1,
332
+ "title": "Descrição da imagem"
333
+ },
334
+ "imageSide": {
335
+ "type": "string",
336
+ "enum": [
337
+ "left",
338
+ "right"
339
+ ],
340
+ "title": "Lado da imagem"
341
+ },
342
+ "cta": {
343
+ "anyOf": [
344
+ {
345
+ "type": "object",
346
+ "properties": {
347
+ "label": {
348
+ "type": "string",
349
+ "minLength": 1,
350
+ "title": "Texto do botão"
351
+ },
352
+ "href": {
353
+ "type": "string",
354
+ "title": "Destino",
355
+ "examples": [
356
+ "/sobre"
357
+ ]
358
+ }
359
+ },
360
+ "required": [
361
+ "label",
362
+ "href"
363
+ ],
364
+ "additionalProperties": false
365
+ },
366
+ {
367
+ "type": "object",
368
+ "properties": {
369
+ "label": {
370
+ "type": "string",
371
+ "minLength": 1,
372
+ "title": "Texto do botão"
373
+ },
374
+ "whatsapp": {
375
+ "anyOf": [
376
+ {
377
+ "type": "boolean",
378
+ "const": true
379
+ },
380
+ {
381
+ "type": "string",
382
+ "minLength": 1
383
+ }
384
+ ],
385
+ "description": "true = mensagem geral do site; um texto = mensagem própria",
386
+ "title": "Mensagem do WhatsApp"
387
+ }
388
+ },
389
+ "required": [
390
+ "label",
391
+ "whatsapp"
392
+ ],
393
+ "additionalProperties": false
394
+ }
395
+ ],
396
+ "title": "Botão"
397
+ },
398
+ "type": {
399
+ "type": "string",
400
+ "const": "text-image"
401
+ }
402
+ },
403
+ "required": [
404
+ "text",
405
+ "image",
406
+ "imageAlt",
407
+ "type"
408
+ ],
409
+ "additionalProperties": false
410
+ },
411
+ {
412
+ "type": "object",
413
+ "properties": {
414
+ "id": {
415
+ "description": "Identificador para links do tipo #contato",
416
+ "type": "string",
417
+ "pattern": "^[a-z][a-z0-9-]*$",
418
+ "title": "Âncora"
419
+ },
420
+ "title": {
421
+ "type": "string",
422
+ "minLength": 1,
423
+ "title": "Título"
424
+ },
425
+ "subtitle": {
426
+ "type": "string",
427
+ "minLength": 1,
428
+ "title": "Subtítulo"
429
+ },
430
+ "text": {
431
+ "type": "string",
432
+ "minLength": 1,
433
+ "title": "Texto"
434
+ },
435
+ "cta": {
436
+ "anyOf": [
437
+ {
438
+ "type": "object",
439
+ "properties": {
440
+ "label": {
441
+ "type": "string",
442
+ "minLength": 1,
443
+ "title": "Texto do botão"
444
+ },
445
+ "href": {
446
+ "type": "string",
447
+ "title": "Destino",
448
+ "examples": [
449
+ "/sobre"
450
+ ]
451
+ }
452
+ },
453
+ "required": [
454
+ "label",
455
+ "href"
456
+ ],
457
+ "additionalProperties": false
458
+ },
459
+ {
460
+ "type": "object",
461
+ "properties": {
462
+ "label": {
463
+ "type": "string",
464
+ "minLength": 1,
465
+ "title": "Texto do botão"
466
+ },
467
+ "whatsapp": {
468
+ "anyOf": [
469
+ {
470
+ "type": "boolean",
471
+ "const": true
472
+ },
473
+ {
474
+ "type": "string",
475
+ "minLength": 1
476
+ }
477
+ ],
478
+ "description": "true = mensagem geral do site; um texto = mensagem própria",
479
+ "title": "Mensagem do WhatsApp"
480
+ }
481
+ },
482
+ "required": [
483
+ "label",
484
+ "whatsapp"
485
+ ],
486
+ "additionalProperties": false
487
+ }
488
+ ],
489
+ "title": "Botão"
490
+ },
491
+ "tone": {
492
+ "type": "string",
493
+ "enum": [
494
+ "primary",
495
+ "cta",
496
+ "muted"
497
+ ],
498
+ "title": "Cor de fundo"
499
+ },
500
+ "type": {
501
+ "type": "string",
502
+ "const": "cta-banner"
503
+ }
504
+ },
505
+ "required": [
506
+ "cta",
507
+ "type"
508
+ ],
509
+ "additionalProperties": false
510
+ },
511
+ {
512
+ "type": "object",
513
+ "properties": {
514
+ "id": {
515
+ "description": "Identificador para links do tipo #contato",
516
+ "type": "string",
517
+ "pattern": "^[a-z][a-z0-9-]*$",
518
+ "title": "Âncora"
519
+ },
520
+ "title": {
521
+ "type": "string",
522
+ "minLength": 1,
523
+ "title": "Título"
524
+ },
525
+ "subtitle": {
526
+ "type": "string",
527
+ "minLength": 1,
528
+ "title": "Subtítulo"
529
+ },
530
+ "items": {
531
+ "minItems": 1,
532
+ "type": "array",
533
+ "items": {
534
+ "type": "object",
535
+ "properties": {
536
+ "name": {
537
+ "type": "string",
538
+ "minLength": 1,
539
+ "title": "Nome"
540
+ },
541
+ "text": {
542
+ "type": "string",
543
+ "minLength": 1,
544
+ "title": "Depoimento"
545
+ },
546
+ "role": {
547
+ "type": "string",
548
+ "minLength": 1,
549
+ "title": "Descrição",
550
+ "examples": [
551
+ "Troca de tela"
552
+ ]
553
+ },
554
+ "rating": {
555
+ "type": "number",
556
+ "enum": [
557
+ 1,
558
+ 2,
559
+ 3,
560
+ 4,
561
+ 5
562
+ ],
563
+ "title": "Nota"
564
+ },
565
+ "image": {
566
+ "type": "string",
567
+ "title": "Foto"
568
+ }
569
+ },
570
+ "required": [
571
+ "name",
572
+ "text"
573
+ ],
574
+ "additionalProperties": false
575
+ },
576
+ "title": "Depoimentos"
577
+ },
578
+ "type": {
579
+ "type": "string",
580
+ "const": "testimonials"
581
+ }
582
+ },
583
+ "required": [
584
+ "items",
585
+ "type"
586
+ ],
587
+ "additionalProperties": false
588
+ },
589
+ {
590
+ "type": "object",
591
+ "properties": {
592
+ "id": {
593
+ "description": "Identificador para links do tipo #contato",
594
+ "type": "string",
595
+ "pattern": "^[a-z][a-z0-9-]*$",
596
+ "title": "Âncora"
597
+ },
598
+ "title": {
599
+ "type": "string",
600
+ "minLength": 1,
601
+ "title": "Título"
602
+ },
603
+ "subtitle": {
604
+ "type": "string",
605
+ "minLength": 1,
606
+ "title": "Subtítulo"
607
+ },
608
+ "items": {
609
+ "minItems": 1,
610
+ "type": "array",
611
+ "items": {
612
+ "type": "object",
613
+ "properties": {
614
+ "value": {
615
+ "type": "string",
616
+ "minLength": 1,
617
+ "title": "Número",
618
+ "examples": [
619
+ "10+"
620
+ ]
621
+ },
622
+ "label": {
623
+ "type": "string",
624
+ "minLength": 1,
625
+ "title": "Legenda",
626
+ "examples": [
627
+ "anos de experiência"
628
+ ]
629
+ }
630
+ },
631
+ "required": [
632
+ "value",
633
+ "label"
634
+ ],
635
+ "additionalProperties": false
636
+ },
637
+ "title": "Números"
638
+ },
639
+ "type": {
640
+ "type": "string",
641
+ "const": "stats"
642
+ }
643
+ },
644
+ "required": [
645
+ "items",
646
+ "type"
647
+ ],
648
+ "additionalProperties": false
649
+ },
650
+ {
651
+ "type": "object",
652
+ "properties": {
653
+ "id": {
654
+ "description": "Identificador para links do tipo #contato",
655
+ "type": "string",
656
+ "pattern": "^[a-z][a-z0-9-]*$",
657
+ "title": "Âncora"
658
+ },
659
+ "title": {
660
+ "type": "string",
661
+ "minLength": 1,
662
+ "title": "Título"
663
+ },
664
+ "subtitle": {
665
+ "type": "string",
666
+ "minLength": 1,
667
+ "title": "Subtítulo"
668
+ },
669
+ "items": {
670
+ "minItems": 1,
671
+ "type": "array",
672
+ "items": {
673
+ "type": "object",
674
+ "properties": {
675
+ "question": {
676
+ "type": "string",
677
+ "minLength": 1,
678
+ "title": "Pergunta"
679
+ },
680
+ "answer": {
681
+ "type": "string",
682
+ "minLength": 1,
683
+ "title": "Resposta"
684
+ }
685
+ },
686
+ "required": [
687
+ "question",
688
+ "answer"
689
+ ],
690
+ "additionalProperties": false
691
+ },
692
+ "title": "Perguntas"
693
+ },
694
+ "type": {
695
+ "type": "string",
696
+ "const": "faq"
697
+ }
698
+ },
699
+ "required": [
700
+ "items",
701
+ "type"
702
+ ],
703
+ "additionalProperties": false
704
+ },
705
+ {
706
+ "type": "object",
707
+ "properties": {
708
+ "id": {
709
+ "description": "Identificador para links do tipo #contato",
710
+ "type": "string",
711
+ "pattern": "^[a-z][a-z0-9-]*$",
712
+ "title": "Âncora"
713
+ },
714
+ "title": {
715
+ "type": "string",
716
+ "minLength": 1,
717
+ "title": "Título"
718
+ },
719
+ "subtitle": {
720
+ "type": "string",
721
+ "minLength": 1,
722
+ "title": "Subtítulo"
723
+ },
724
+ "showMap": {
725
+ "type": "boolean",
726
+ "title": "Mostrar o mapa"
727
+ },
728
+ "type": {
729
+ "type": "string",
730
+ "const": "contact"
731
+ }
732
+ },
733
+ "required": [
734
+ "type"
735
+ ],
736
+ "additionalProperties": false
737
+ },
738
+ {
739
+ "type": "object",
740
+ "properties": {
741
+ "id": {
742
+ "description": "Identificador para links do tipo #contato",
743
+ "type": "string",
744
+ "pattern": "^[a-z][a-z0-9-]*$",
745
+ "title": "Âncora"
746
+ },
747
+ "title": {
748
+ "type": "string",
749
+ "minLength": 1,
750
+ "title": "Título"
751
+ },
752
+ "subtitle": {
753
+ "type": "string",
754
+ "minLength": 1,
755
+ "title": "Subtítulo"
756
+ },
757
+ "fields": {
758
+ "type": "array",
759
+ "items": {
760
+ "type": "string",
761
+ "enum": [
762
+ "name",
763
+ "phone",
764
+ "email",
765
+ "message"
766
+ ]
767
+ },
768
+ "title": "Campos"
769
+ },
770
+ "submitLabel": {
771
+ "type": "string",
772
+ "minLength": 1,
773
+ "title": "Texto do botão de envio"
774
+ },
775
+ "consentText": {
776
+ "type": "string",
777
+ "minLength": 1,
778
+ "title": "Texto de consentimento (LGPD)"
779
+ },
780
+ "type": {
781
+ "type": "string",
782
+ "const": "lead-form"
783
+ }
784
+ },
785
+ "required": [
786
+ "type"
787
+ ],
788
+ "additionalProperties": false
789
+ },
790
+ {
791
+ "type": "object",
792
+ "properties": {
793
+ "id": {
794
+ "description": "Identificador para links do tipo #contato",
795
+ "type": "string",
796
+ "pattern": "^[a-z][a-z0-9-]*$",
797
+ "title": "Âncora"
798
+ },
799
+ "title": {
800
+ "type": "string",
801
+ "minLength": 1,
802
+ "title": "Título"
803
+ },
804
+ "subtitle": {
805
+ "type": "string",
806
+ "minLength": 1,
807
+ "title": "Subtítulo"
808
+ },
809
+ "html": {
810
+ "type": "string",
811
+ "minLength": 1,
812
+ "title": "Código do widget"
813
+ },
814
+ "minHeight": {
815
+ "type": "string",
816
+ "pattern": "^\\d+(?:\\.\\d+)?(?:px|rem|em|vh|svh|dvh)$",
817
+ "title": "Altura mínima",
818
+ "examples": [
819
+ "320px"
820
+ ]
821
+ },
822
+ "type": {
823
+ "type": "string",
824
+ "const": "widget"
825
+ }
826
+ },
827
+ "required": [
828
+ "html",
829
+ "type"
830
+ ],
831
+ "additionalProperties": false
832
+ },
833
+ {
834
+ "type": "object",
835
+ "properties": {
836
+ "id": {
837
+ "description": "Identificador para links do tipo #contato",
838
+ "type": "string",
839
+ "pattern": "^[a-z][a-z0-9-]*$",
840
+ "title": "Âncora"
841
+ },
842
+ "title": {
843
+ "type": "string",
844
+ "minLength": 1,
845
+ "title": "Título"
846
+ },
847
+ "subtitle": {
848
+ "type": "string",
849
+ "minLength": 1,
850
+ "title": "Subtítulo"
851
+ },
852
+ "category": {
853
+ "type": "string",
854
+ "minLength": 1,
855
+ "title": "Categoria"
856
+ },
857
+ "limit": {
858
+ "type": "integer",
859
+ "exclusiveMinimum": 0,
860
+ "maximum": 9007199254740991,
861
+ "title": "Quantidade máxima"
862
+ },
863
+ "type": {
864
+ "type": "string",
865
+ "const": "products"
866
+ }
867
+ },
868
+ "required": [
869
+ "type"
870
+ ],
871
+ "additionalProperties": false
872
+ },
873
+ {
874
+ "type": "object",
875
+ "properties": {
876
+ "id": {
877
+ "description": "Identificador para links do tipo #contato",
878
+ "type": "string",
879
+ "pattern": "^[a-z][a-z0-9-]*$",
880
+ "title": "Âncora"
881
+ },
882
+ "title": {
883
+ "type": "string",
884
+ "minLength": 1,
885
+ "title": "Título"
886
+ },
887
+ "subtitle": {
888
+ "type": "string",
889
+ "minLength": 1,
890
+ "title": "Subtítulo"
891
+ },
892
+ "limit": {
893
+ "type": "integer",
894
+ "exclusiveMinimum": 0,
895
+ "maximum": 9007199254740991,
896
+ "title": "Quantidade máxima"
897
+ },
898
+ "type": {
899
+ "type": "string",
900
+ "const": "services"
901
+ }
902
+ },
903
+ "required": [
904
+ "type"
905
+ ],
906
+ "additionalProperties": false
907
+ },
908
+ {
909
+ "type": "object",
910
+ "properties": {
911
+ "id": {
912
+ "description": "Identificador para links do tipo #contato",
913
+ "type": "string",
914
+ "pattern": "^[a-z][a-z0-9-]*$",
915
+ "title": "Âncora"
916
+ },
917
+ "title": {
918
+ "type": "string",
919
+ "minLength": 1,
920
+ "title": "Título"
921
+ },
922
+ "subtitle": {
923
+ "type": "string",
924
+ "minLength": 1,
925
+ "title": "Subtítulo"
926
+ },
927
+ "limit": {
928
+ "type": "integer",
929
+ "exclusiveMinimum": 0,
930
+ "maximum": 9007199254740991,
931
+ "title": "Quantidade máxima de fotos"
932
+ },
933
+ "type": {
934
+ "type": "string",
935
+ "const": "gallery"
936
+ }
937
+ },
938
+ "required": [
939
+ "type"
940
+ ],
941
+ "additionalProperties": false
942
+ }
943
+ ]
944
+ }