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