@documental-xyz/core 0.1.1 → 0.1.2

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.
Files changed (42) hide show
  1. package/env.d.ts +1 -0
  2. package/package.json +6 -1
  3. package/public/admin/components.yml +38 -0
  4. package/public/admin/config/Cta_old.yml +137 -0
  5. package/public/admin/config/collections/pages.yml +24 -0
  6. package/public/admin/config/components/BigNumbers.yml +33 -0
  7. package/public/admin/config/components/Button.yml +49 -0
  8. package/public/admin/config/components/Card.yml +54 -0
  9. package/public/admin/config/components/Cards.yml +19 -0
  10. package/public/admin/config/components/CardsCall.yml +66 -0
  11. package/public/admin/config/components/ChartBar.yml +56 -0
  12. package/public/admin/config/components/ChartPercentage.yml +47 -0
  13. package/public/admin/config/components/Column.yml +45 -0
  14. package/public/admin/config/components/ColumnSticky.yml +70 -0
  15. package/public/admin/config/components/Columns.yml +90 -0
  16. package/public/admin/config/components/Compare.yml +29 -0
  17. package/public/admin/config/components/Cta.yml +194 -0
  18. package/public/admin/config/components/Gallery.yml +38 -0
  19. package/public/admin/config/components/Group.yml +143 -0
  20. package/public/admin/config/components/HtmlEmbed.yml +30 -0
  21. package/public/admin/config/components/ImageBlock.yml +33 -0
  22. package/public/admin/config/components/InnerColumns.yml +61 -0
  23. package/public/admin/config/components/LogosGroup.yml +50 -0
  24. package/public/admin/config/components/Map.yml +94 -0
  25. package/public/admin/config/components/MapBox.yml +175 -0
  26. package/public/admin/config/components/MapView.yml +32 -0
  27. package/public/admin/config/components/PageSettings.yml +69 -0
  28. package/public/admin/config/components/PageTheme.yml +71 -0
  29. package/public/admin/config/components/Pullquote.yml +36 -0
  30. package/public/admin/config/components/Slider.yml +28 -0
  31. package/public/admin/config/components/Spacer.yml +27 -0
  32. package/public/admin/config/components/Text.yml +22 -0
  33. package/public/admin/config/components/Timeline.yml +27 -0
  34. package/public/admin/config/components/TimelineBullet.yml +22 -0
  35. package/public/admin/config/components/VideoEmbed.yml +28 -0
  36. package/public/admin/config/main.yml +13 -0
  37. package/public/admin/config/main.yml.template +13 -0
  38. package/public/admin/config.yml +1775 -0
  39. package/public/admin/widgets/ColorPicker.svelte +0 -0
  40. package/public/admin/widgets/ColorSelectWidget.svelte +0 -0
  41. package/public/admin/widgets/index.js +0 -0
  42. package/public/favicon.svg +9 -0
@@ -0,0 +1,1775 @@
1
+ backend:
2
+ name: github
3
+ repo: documental-xyz/Documental
4
+ branch: main
5
+
6
+
7
+ media_libraries:
8
+ default:
9
+ config:
10
+ slugify_filename: true
11
+
12
+ media_folder: public/uploads
13
+ public_folder: uploads
14
+ pageSettings: &pageSettings
15
+ label: 'Page Settings'
16
+ name: 'pageSettings'
17
+ collapsed: true
18
+ widget: 'object'
19
+ fields:
20
+ - label: 'Language'
21
+ name: 'language'
22
+ widget: 'select'
23
+ options: ['pt-BR', 'en', 'es']
24
+ default: 'pt-BR'
25
+ collapsed: true
26
+ - label: 'Link pt-br'
27
+ name: 'link_pt_br'
28
+ widget: 'string'
29
+ required: false
30
+ default: '#'
31
+ collapsed: true
32
+ - label: 'Link en'
33
+ name: 'link_en'
34
+ widget: 'string'
35
+ required: false
36
+ default: '#'
37
+ collapsed: true
38
+ - label: 'Link es'
39
+ name: 'link_es'
40
+ widget: 'string'
41
+ required: false
42
+ default: '#'
43
+ collapsed: true
44
+ - label: 'Animations'
45
+ name: 'animations'
46
+ widget: 'select'
47
+ options:
48
+ - { label: 'Enable All', value: 'enable_all' }
49
+ - { label: 'Disable All', value: 'disable_all' }
50
+ - { label: 'Custom by Components', value: 'custom' }
51
+ default: 'enable_all'
52
+ required: true
53
+ hint: 'Control animation behavior for the entire page'
54
+ collapsed: true
55
+ - label: 'Text Direction'
56
+ name: 'direction'
57
+ widget: 'select'
58
+ options: ['left', 'right']
59
+ default: 'left'
60
+ collapsed: true
61
+ - label: 'SEO Title'
62
+ name: 'seoTitle'
63
+ widget: 'string'
64
+ required: false
65
+ collapsed: true
66
+ - label: 'SEO Description'
67
+ name: 'seoDescription'
68
+ widget: 'string'
69
+ required: false
70
+ collapsed: true
71
+ - label: 'SEO Keywords'
72
+ name: 'seoKeywords'
73
+ widget: 'list'
74
+ required: false
75
+ collapsed: true
76
+ fields:
77
+ - { label: 'Keyword', name: 'keyword', widget: 'string', collapsed: true }
78
+ - label: 'SEO Image'
79
+ name: 'seoImage'
80
+ widget: 'image'
81
+ required: false
82
+ collapsed: true
83
+ pageTheme: &pageTheme
84
+ label: 'Page Theme'
85
+ name: 'pageTheme'
86
+ collapsed: true
87
+ widget: 'object'
88
+ fields:
89
+ - label: 'Primary Color'
90
+ name: 'primaryColor'
91
+ widget: 'color'
92
+ required: false
93
+ allowInput: true
94
+ allowAlpha: true
95
+ collapsed: true
96
+ - label: 'Secondary Color'
97
+ name: 'secondaryColor'
98
+ widget: 'color'
99
+ required: false
100
+ allowInput: true
101
+ allowAlpha: true
102
+ collapsed: true
103
+ - label: 'Highlight Color'
104
+ name: 'highlightColor'
105
+ widget: 'color'
106
+ required: false
107
+ allowInput: true
108
+ allowAlpha: true
109
+ collapsed: true
110
+ - label: 'Auxiliary Color'
111
+ name: 'auxiliaryColor'
112
+ widget: 'color'
113
+ required: false
114
+ allowInput: true
115
+ allowAlpha: true
116
+ collapsed: true
117
+ - label: 'Display Font'
118
+ name: 'displayFont'
119
+ widget: 'string'
120
+ required: false
121
+ collapsed: true
122
+ hint: 'Consulte uma fonte para títulos em [Google Fonts](https://fonts.google.com/)'
123
+ - label: 'Text Font'
124
+ name: 'textFont'
125
+ widget: 'string'
126
+ required: false
127
+ collapsed: true
128
+ hint: 'Consulte uma fonte para textos em [Google Fonts](https://fonts.google.com/)'
129
+ - label: 'Spacing Patterns'
130
+ name: 'spacingPatterns'
131
+ widget: 'list'
132
+ collapsed: true
133
+ fields:
134
+ - label: 'Pattern Name'
135
+ name: 'name'
136
+ widget: 'string'
137
+ required: true
138
+ collapsed: true
139
+ - label: 'Mobile Value'
140
+ name: 'mobile'
141
+ widget: 'string'
142
+ required: true
143
+ collapsed: true
144
+ - label: 'Tablet Value'
145
+ name: 'tablet'
146
+ widget: 'string'
147
+ required: true
148
+ collapsed: true
149
+ - label: 'Desktop Value'
150
+ name: 'desktop'
151
+ widget: 'string'
152
+ required: true
153
+ collapsed: true
154
+ text: &text
155
+ label: 'Text'
156
+ name: 'Text'
157
+ widget: 'object'
158
+ summary: '{{fields.content}}'
159
+ collapsed: true
160
+ fields:
161
+ - label: 'Dropcap'
162
+ name: 'hasDropCap'
163
+ widget: 'boolean'
164
+ required: false
165
+ collapsed: true
166
+ - label: 'Type'
167
+ name: 'type'
168
+ widget: 'hidden'
169
+ default: 'Text'
170
+ collapsed: true
171
+ - label: 'Content'
172
+ name: 'content'
173
+ widget: 'markdown'
174
+ required: false
175
+ collapsed: true
176
+ button: &button
177
+ label: 'Button'
178
+ name: 'Button'
179
+ widget: 'object'
180
+ summary: '{{fields.link.text}}'
181
+ collapsed: true
182
+ fields:
183
+ - label: 'Type'
184
+ name: 'type'
185
+ widget: 'hidden'
186
+ default: 'Button'
187
+ collapsed: true
188
+ - label: 'Link'
189
+ name: 'link'
190
+ widget: 'object'
191
+ required: true
192
+ collapsed: true
193
+ fields:
194
+ - label: 'URL'
195
+ name: 'url'
196
+ widget: 'string'
197
+ required: true
198
+ collapsed: true
199
+ - label: 'Target'
200
+ name: 'target'
201
+ widget: 'select'
202
+ options: ['_self', '_blank']
203
+ default: '_self'
204
+ required: false
205
+ collapsed: true
206
+ - label: 'Text'
207
+ name: 'text'
208
+ widget: 'string'
209
+ required: true
210
+ collapsed: true
211
+ - label: 'Icon HTML'
212
+ name: 'icon'
213
+ widget: 'string'
214
+ required: false
215
+ hint: 'HTML do ícone Material Symbols, ex: <span class="material-symbols-outlined">arrow_right_alt</span>'
216
+ collapsed: true
217
+ - label: 'Size'
218
+ name: 'size'
219
+ widget: 'select'
220
+ options:
221
+ - { label: 'Normal', value: '' }
222
+ - { label: 'Wide', value: 'wide' }
223
+ required: false
224
+ collapsed: true
225
+ imageBlock: &imageBlock
226
+ label: 'Image Block'
227
+ name: 'ImageBlock'
228
+ widget: 'object'
229
+ summary: '{{fields.src}}'
230
+ collapsed: true
231
+ fields:
232
+ - label: 'Type'
233
+ name: 'type'
234
+ widget: 'hidden'
235
+ default: 'ImageBlock'
236
+ collapsed: true
237
+ - label: 'Wide'
238
+ name: 'wideImage'
239
+ widget: 'boolean'
240
+ required: false
241
+ default: false
242
+ collapsed: true
243
+ - label: 'Image'
244
+ name: 'src'
245
+ widget: 'image'
246
+ required: false
247
+ collapsed: true
248
+ - label: 'Alt Text'
249
+ name: 'alt'
250
+ widget: 'string'
251
+ required: false
252
+ collapsed: true
253
+ - label: 'Description'
254
+ name: 'description'
255
+ widget: 'string'
256
+ required: false
257
+ collapsed: true
258
+ videoEmbed: &videoEmbed
259
+ label: 'Video Embed'
260
+ name: 'VideoEmbed'
261
+ widget: 'object'
262
+ summary: '{{fields.videoUrl}}'
263
+ collapsed: true
264
+ fields:
265
+ - label: 'Type'
266
+ name: 'type'
267
+ widget: 'hidden'
268
+ default: 'VideoEmbed'
269
+ collapsed: true
270
+ - label: 'Wide'
271
+ name: 'wideVideo'
272
+ widget: 'boolean'
273
+ required: false
274
+ default: false
275
+ collapsed: true
276
+ - label: 'Video URL'
277
+ name: 'videoUrl'
278
+ widget: 'string'
279
+ required: false
280
+ collapsed: true
281
+ - label: 'Video Caption'
282
+ name: 'videoCaption'
283
+ widget: 'string'
284
+ required: false
285
+ collapsed: true
286
+ htmlEmbed: &htmlEmbed
287
+ label: 'HTML Embed'
288
+ name: 'HtmlEmbed'
289
+ widget: 'object'
290
+ summary: 'HTML Embed'
291
+ collapsed: true
292
+ fields:
293
+ - label: 'Type'
294
+ name: 'type'
295
+ widget: 'hidden'
296
+ default: 'HtmlEmbed'
297
+ collapsed: true
298
+ - label: 'Wide'
299
+ name: 'wideHtml'
300
+ widget: 'boolean'
301
+ required: false
302
+ default: false
303
+ collapsed: true
304
+ - label: 'HTML Code'
305
+ name: 'htmlCode'
306
+ widget: 'code'
307
+ required: true
308
+ default_language: 'html'
309
+ output_code_only: true
310
+ collapsed: true
311
+ - label: 'Caption'
312
+ name: 'htmlCaption'
313
+ widget: 'string'
314
+ required: false
315
+ collapsed: true
316
+ chartBar: &chartBar
317
+ label: 'Chart Bar'
318
+ name: 'ChartBar'
319
+ widget: 'object'
320
+ summary: '{{fields.chartTitle}}'
321
+ collapsed: true
322
+ fields:
323
+ - label: 'Type'
324
+ name: 'type'
325
+ widget: 'hidden'
326
+ default: 'ChartBar'
327
+ collapsed: true
328
+ - label: 'Chart Title'
329
+ name: 'chartTitle'
330
+ widget: 'string'
331
+ required: false
332
+ collapsed: true
333
+ - label: 'Chart Notes'
334
+ name: 'chartNotes'
335
+ widget: 'string'
336
+ required: false
337
+ collapsed: true
338
+ - label: 'Chart Bars'
339
+ name: 'chartBars'
340
+ widget: 'list'
341
+ required: false
342
+ collapsed: true
343
+ fields:
344
+ - label: 'Label'
345
+ name: 'label'
346
+ widget: 'string'
347
+ required: false
348
+ collapsed: true
349
+ - label: 'Color'
350
+ name: 'color'
351
+ widget: 'color'
352
+ required: false
353
+ enableAlpha: true
354
+ allowInput: true
355
+ collapsed: true
356
+ - label: 'Number'
357
+ name: 'number'
358
+ widget: 'number'
359
+ value_type: 'float'
360
+ step: 0.01
361
+ required: false
362
+ collapsed: true
363
+ - label: 'Number Percent'
364
+ name: 'numberPercent'
365
+ widget: 'number'
366
+ required: false
367
+ value_type: 'float'
368
+ min: 0
369
+ max: 100
370
+ step: 0.01
371
+ collapsed: true
372
+ chartPercentage: &chartPercentage
373
+ label: 'Chart Percentage'
374
+ name: 'ChartPercentage'
375
+ widget: 'object'
376
+ summary: '{{fields.chartPercentageTitle}}'
377
+ collapsed: true
378
+ fields:
379
+ - label: 'Type'
380
+ name: 'type'
381
+ widget: 'hidden'
382
+ default: 'ChartPercentage'
383
+ collapsed: true
384
+ - label: 'Chart Percentage Title'
385
+ name: 'chartPercentageTitle'
386
+ widget: 'string'
387
+ required: false
388
+ collapsed: true
389
+ - label: 'Chart Notes'
390
+ name: 'chartPercentageNotes'
391
+ widget: 'string'
392
+ required: false
393
+ collapsed: true
394
+ - label: 'Chart Percentage Values'
395
+ name: 'chartPercentageValues'
396
+ widget: 'list'
397
+ required: false
398
+ collapsed: true
399
+ fields:
400
+ - label: 'Label'
401
+ name: 'label'
402
+ widget: 'string'
403
+ required: true
404
+ collapsed: true
405
+ - label: 'Color'
406
+ name: 'color'
407
+ widget: 'color'
408
+ required: false
409
+ enableAlpha: true
410
+ allowInput: true
411
+ collapsed: true
412
+ - label: 'Number'
413
+ name: 'number'
414
+ widget: 'number'
415
+ value_type: 'float'
416
+ step: 0.01
417
+ required: true
418
+ collapsed: true
419
+ bigNumbers: &bigNumbers
420
+ label: 'Big Numbers'
421
+ name: 'BigNumbers'
422
+ widget: 'object'
423
+ summary: '{{fields.alignment}}'
424
+ collapsed: true
425
+ fields:
426
+ - label: 'Type'
427
+ name: 'type'
428
+ widget: 'hidden'
429
+ default: 'BigNumbers'
430
+ collapsed: true
431
+ - label: 'Alignment'
432
+ name: 'alignment'
433
+ widget: 'select'
434
+ options: ['caption-bottom', 'caption-top']
435
+ default: 'caption-bottom'
436
+ collapsed: true
437
+ - label: 'Items'
438
+ name: 'items'
439
+ widget: 'list'
440
+ collapsed: true
441
+ fields:
442
+ - label: 'Number'
443
+ name: 'number'
444
+ widget: 'string'
445
+ required: false
446
+ collapsed: true
447
+ - label: 'Caption'
448
+ name: 'caption'
449
+ widget: 'string'
450
+ required: false
451
+ collapsed: true
452
+ compare: &compare
453
+ label: 'Compare'
454
+ name: 'Compare'
455
+ widget: 'object'
456
+ summary: '{{fields.caption}}'
457
+ collapsed: true
458
+ fields:
459
+ - label: 'Type'
460
+ name: 'type'
461
+ widget: 'hidden'
462
+ default: 'Compare'
463
+ collapsed: true
464
+ - label: 'Image Left'
465
+ name: 'imageLeft'
466
+ widget: 'image'
467
+ required: true
468
+ multiple: false
469
+ collapsed: true
470
+ - label: 'Image Right'
471
+ name: 'imageRight'
472
+ widget: 'image'
473
+ required: true
474
+ multiple: false
475
+ collapsed: true
476
+ - label: 'Caption'
477
+ name: 'caption'
478
+ widget: 'markdown'
479
+ required: false
480
+ collapsed: true
481
+ mapBox: &mapBox
482
+ label: 'MapBox'
483
+ name: 'mapbox'
484
+ collapsed: true
485
+ widget: 'object'
486
+ summary: '{{fields.style}}'
487
+ fields:
488
+ - label: 'Type'
489
+ name: 'type'
490
+ widget: 'hidden'
491
+ default: 'MapBox'
492
+ - label: 'Map Style'
493
+ name: 'style'
494
+ widget: 'string'
495
+ required: true
496
+ hint: 'URL do estilo do MapBox (ex: mapbox://styles/username/style-id)'
497
+ - label: 'Map Token'
498
+ name: 'token'
499
+ widget: 'string'
500
+ required: true
501
+ hint: 'Token de acesso do MapBox'
502
+ - label: 'Map Center Longitude'
503
+ name: 'centerLng'
504
+ widget: 'string'
505
+ collapsed: true
506
+ hint: 'Ex: -54.875'
507
+ required: true
508
+ - label: 'Map Center Latitude'
509
+ name: 'centerLat'
510
+ widget: 'string'
511
+ collapsed: true
512
+ hint: 'Ex: -2.53'
513
+ required: true
514
+ - label: 'Map Zoom'
515
+ name: 'zoom'
516
+ widget: 'string'
517
+ default: '2'
518
+ collapsed: true
519
+ hint: 'Valor numérico como string. Ex: 2 ou 2.5'
520
+ required: true
521
+ - label: 'Map Bearing'
522
+ name: 'bearing'
523
+ widget: 'string'
524
+ default: '0'
525
+ collapsed: true
526
+ hint: 'Valor numérico como string. Ex: 0 ou 45.5'
527
+ required: false
528
+ - label: 'Map Pitch'
529
+ name: 'pitch'
530
+ widget: 'string'
531
+ default: '0'
532
+ collapsed: true
533
+ hint: 'Valor numérico como string. Ex: 0 ou 30'
534
+ required: false
535
+ - label: 'Map Layers'
536
+ name: 'layers'
537
+ widget: 'text'
538
+ required: false
539
+ collapsed: true
540
+ hint: 'Uma layer por linha. Formato: "layerName" ou "layerName[property==value]". Ex: mineracao ou mineracao[pais==Brasil]'
541
+ - label: 'Column Align'
542
+ name: 'columnAlign'
543
+ widget: 'select'
544
+ options: ['left', 'center', 'right']
545
+ required: true
546
+ default: 'left'
547
+ - label: 'Floating Text'
548
+ name: 'floatingText'
549
+ widget: 'boolean'
550
+ required: false
551
+ default: false
552
+ - label: 'Map Views'
553
+ name: 'views'
554
+ widget: 'list'
555
+ collapsed: true
556
+ required: false
557
+ fields:
558
+ - label: 'View ID'
559
+ name: 'id'
560
+ widget: 'string'
561
+ required: true
562
+ hint: 'Identificador único da view'
563
+ - label: 'View Center Longitude'
564
+ name: 'centerLng'
565
+ widget: 'string'
566
+ collapsed: true
567
+ hint: 'Ex: -54.875'
568
+ required: true
569
+ - label: 'View Center Latitude'
570
+ name: 'centerLat'
571
+ widget: 'string'
572
+ collapsed: true
573
+ hint: 'Ex: -2.53'
574
+ required: true
575
+ - label: 'View Zoom'
576
+ name: 'zoom'
577
+ widget: 'string'
578
+ collapsed: true
579
+ hint: 'Valor numérico como string. Ex: 8 ou 8.5'
580
+ required: true
581
+ - label: 'Mobile Zoom'
582
+ name: 'mobileZoom'
583
+ widget: 'string'
584
+ collapsed: true
585
+ required: false
586
+ hint: 'Zoom específico para mobile como string. Ex: 3.5'
587
+ - label: 'Duration (ms)'
588
+ name: 'duration'
589
+ widget: 'string'
590
+ default: '2000'
591
+ collapsed: true
592
+ hint: 'Duração em milissegundos como string. Ex: 2000'
593
+ required: false
594
+ - label: 'View Bearing'
595
+ name: 'bearing'
596
+ widget: 'string'
597
+ default: '0'
598
+ collapsed: true
599
+ hint: 'Valor numérico como string. Ex: 0 ou 45'
600
+ required: false
601
+ - label: 'View Pitch'
602
+ name: 'pitch'
603
+ widget: 'string'
604
+ default: '0'
605
+ collapsed: true
606
+ hint: 'Valor numérico como string. Ex: 0 ou 30'
607
+ required: false
608
+ - label: 'View Layers'
609
+ name: 'layers'
610
+ widget: 'text'
611
+ required: false
612
+ collapsed: true
613
+ hint: 'Uma layer por linha. Ex: mineracao ou mineracao[pais==Brasil]'
614
+ - label: 'Caption Title'
615
+ name: 'title'
616
+ widget: 'string'
617
+ required: false
618
+ - label: 'Notes'
619
+ name: 'notes'
620
+ widget: 'text'
621
+ required: false
622
+ - label: 'Legend Items'
623
+ name: 'items'
624
+ widget: 'list'
625
+ collapsed: true
626
+ required: false
627
+ summary: '{{fields.text}}'
628
+ fields:
629
+ - label: 'Icon'
630
+ name: 'icon'
631
+ widget: 'string'
632
+ required: false
633
+ hint: 'Consulte um ícone no [Google Fonts Icon](https://fonts.google.com/icons)'
634
+ - label: 'Icon Color'
635
+ name: 'colorIcon'
636
+ widget: 'color'
637
+ required: false
638
+ enableAlpha: true
639
+ allowInput: true
640
+ - label: 'Icon Type'
641
+ name: 'typeIcon'
642
+ widget: 'select'
643
+ options: ['outlined', 'rounded', 'sharp']
644
+ default: 'outlined'
645
+ required: true
646
+ - label: 'Icon Fill'
647
+ name: 'iconFill'
648
+ widget: 'boolean'
649
+ required: false
650
+ default: false
651
+ hint: 'Ativa o preenchimento do ícone (fill). Desativado = 0, Ativado = 1'
652
+ - label: 'Text'
653
+ name: 'text'
654
+ widget: 'string'
655
+ required: false
656
+ mapView: &mapView
657
+ label: 'Map View'
658
+ name: 'MapView'
659
+ widget: 'object'
660
+ summary: '{{fields.mapView}}'
661
+ collapsed: true
662
+ fields:
663
+ - label: 'Type'
664
+ name: 'type'
665
+ widget: 'hidden'
666
+ default: 'MapView'
667
+ collapsed: true
668
+ - label: 'Map View'
669
+ name: 'mapView'
670
+ widget: 'string'
671
+ required: true
672
+ hint: 'Digite o ID da view do mapa (ex: view_0, view_12, etc.) - deve corresponder a uma view cadastrada no mapbox'
673
+ collapsed: true
674
+ - label: 'Text Color'
675
+ name: 'txtColor'
676
+ widget: 'color'
677
+ required: false
678
+ enableAlpha: true
679
+ allowInput: true
680
+ collapsed: true
681
+ - label: 'Background Color'
682
+ name: 'bgColor'
683
+ widget: 'color'
684
+ required: false
685
+ enableAlpha: true
686
+ allowInput: true
687
+ collapsed: true
688
+ spacer: &spacer
689
+ label: 'Spacer'
690
+ name: 'Spacer'
691
+ widget: 'object'
692
+ summary: '{{fields.desktop}}'
693
+ collapsed: true
694
+ fields:
695
+ - label: 'Type'
696
+ name: 'type'
697
+ widget: 'hidden'
698
+ default: 'Spacer'
699
+ collapsed: true
700
+ - label: 'Desktop Height'
701
+ name: 'desktop'
702
+ widget: 'string'
703
+ required: false
704
+ collapsed: true
705
+ - label: 'Tablet Height'
706
+ name: 'tablet'
707
+ widget: 'string'
708
+ required: false
709
+ collapsed: true
710
+ - label: 'Mobile Height'
711
+ name: 'mobile'
712
+ widget: 'string'
713
+ required: false
714
+ collapsed: true
715
+ pullquote: &pullquote
716
+ label: 'Pullquote'
717
+ name: 'Pullquote'
718
+ widget: 'object'
719
+ summary: '{{fields.content}}'
720
+ collapsed: true
721
+ fields:
722
+ - label: 'Type'
723
+ name: 'type'
724
+ widget: 'hidden'
725
+ default: 'Pullquote'
726
+ collapsed: true
727
+ - label: 'Text Color'
728
+ name: 'txtColor'
729
+ widget: 'color'
730
+ required: false
731
+ enableAlpha: true
732
+ allowInput: true
733
+ collapsed: true
734
+ - label: 'Background Color'
735
+ name: 'bgColor'
736
+ widget: 'color'
737
+ required: false
738
+ enableAlpha: true
739
+ allowInput: true
740
+ collapsed: true
741
+ - label: 'Content'
742
+ name: 'content'
743
+ widget: 'markdown'
744
+ required: false
745
+ collapsed: true
746
+ - label: 'Byline'
747
+ name: 'byline'
748
+ widget: 'string'
749
+ required: false
750
+ collapsed: true
751
+ gallery: &gallery
752
+ label: 'Gallery'
753
+ name: 'Gallery'
754
+ widget: 'object'
755
+ summary: '{{fields.uniqid}}'
756
+ collapsed: true
757
+ fields:
758
+ - label: 'Type'
759
+ name: 'type'
760
+ widget: 'hidden'
761
+ default: 'Gallery'
762
+ collapsed: true
763
+ - label: 'Unique ID'
764
+ name: 'uniqid'
765
+ widget: 'string'
766
+ required: true
767
+ collapsed: true
768
+ - label: 'Description'
769
+ name: 'description'
770
+ widget: 'markdown'
771
+ required: false
772
+ collapsed: true
773
+ - label: 'Images'
774
+ name: 'images'
775
+ widget: 'list'
776
+ required: false
777
+ collapsed: true
778
+ fields:
779
+ - label: 'Image'
780
+ name: 'image'
781
+ widget: 'image'
782
+ required: false
783
+ collapsed: true
784
+ - label: 'Caption'
785
+ name: 'caption'
786
+ widget: 'markdown'
787
+ required: false
788
+ collapsed: true
789
+ slider: &slider
790
+ label: 'Slider'
791
+ name: 'Slider'
792
+ widget: 'object'
793
+ summary: '{{fields.slides}}'
794
+ collapsed: true
795
+ fields:
796
+ - label: 'Type'
797
+ name: 'type'
798
+ widget: 'hidden'
799
+ default: 'Slider'
800
+ collapsed: true
801
+ - label: 'Slides'
802
+ name: 'slides'
803
+ widget: 'list'
804
+ required: false
805
+ collapsed: true
806
+ fields:
807
+ - label: 'Image'
808
+ name: 'image'
809
+ widget: 'image'
810
+ required: false
811
+ collapsed: true
812
+ - label: 'Caption'
813
+ name: 'caption'
814
+ widget: 'string'
815
+ required: false
816
+ collapsed: true
817
+ logosGroup: &logosGroup
818
+ label: 'Logos Group'
819
+ name: 'LogosGroup'
820
+ widget: 'object'
821
+ summary: '{{fields.logos}}'
822
+ collapsed: true
823
+ fields:
824
+ - label: 'Type'
825
+ name: 'type'
826
+ widget: 'hidden'
827
+ default: 'LogosGroup'
828
+ collapsed: true
829
+ - label: 'Logos'
830
+ name: 'logos'
831
+ widget: 'list'
832
+ required: false
833
+ collapsed: true
834
+ fields:
835
+ - label: 'Image'
836
+ name: 'image'
837
+ widget: 'image'
838
+ required: true
839
+ collapsed: true
840
+ - label: 'Link'
841
+ name: 'link'
842
+ widget: 'object'
843
+ required: true
844
+ collapsed: true
845
+ fields:
846
+ - label: 'URL'
847
+ name: 'url'
848
+ widget: 'string'
849
+ required: true
850
+ collapsed: true
851
+ - label: 'Target'
852
+ name: 'target'
853
+ widget: 'select'
854
+ options: ['_blank', '_parent', '_self', 'custom']
855
+ required: false
856
+ collapsed: true
857
+ - label: 'Custom Target'
858
+ name: 'customTarget'
859
+ widget: 'string'
860
+ required: false
861
+ collapsed: true
862
+ - label: 'Title'
863
+ name: 'title'
864
+ widget: 'string'
865
+ required: false
866
+ collapsed: true
867
+ timelineBullet: &timelineBullet
868
+ label: 'Timeline Bullet'
869
+ name: 'TimelineBullet'
870
+ widget: 'object'
871
+ summary: '{{fields.text}}'
872
+ collapsed: true
873
+ fields:
874
+ - label: 'Type'
875
+ name: 'type'
876
+ widget: 'hidden'
877
+ default: 'TimelineBullet'
878
+ collapsed: true
879
+ - label: 'Text'
880
+ name: 'text'
881
+ widget: 'string'
882
+ required: false
883
+ collapsed: true
884
+ - label: 'Content'
885
+ name: 'content'
886
+ widget: 'markdown'
887
+ required: false
888
+ collapsed: true
889
+ card: &card
890
+ label: 'Card'
891
+ name: 'Card'
892
+ widget: 'object'
893
+ summary: '{{fields.title}}'
894
+ collapsed: true
895
+ fields:
896
+ - label: 'Type'
897
+ name: 'type'
898
+ widget: 'hidden'
899
+ default: 'Card'
900
+ collapsed: true
901
+ - label: 'Title'
902
+ name: 'title'
903
+ widget: 'string'
904
+ required: false
905
+ collapsed: true
906
+ - label: 'Text'
907
+ name: 'text'
908
+ widget: 'markdown'
909
+ required: false
910
+ collapsed: true
911
+ - label: 'Link'
912
+ name: 'link'
913
+ widget: 'object'
914
+ required: true
915
+ collapsed: true
916
+ fields:
917
+ - label: 'URL'
918
+ name: 'url'
919
+ widget: 'string'
920
+ required: false
921
+ collapsed: true
922
+ - label: 'Target'
923
+ name: 'target'
924
+ widget: 'select'
925
+ options: ['_blank', '_parent', '_self', 'custom']
926
+ required: false
927
+ collapsed: true
928
+ - label: 'Custom Target'
929
+ name: 'customTarget'
930
+ widget: 'string'
931
+ required: false
932
+ collapsed: true
933
+ - label: 'Text'
934
+ name: 'text'
935
+ widget: 'string'
936
+ required: false
937
+ collapsed: true
938
+ - label: 'Icon'
939
+ name: 'icon'
940
+ widget: 'string'
941
+ required: false
942
+ collapsed: true
943
+ cardsCall: &cardsCall
944
+ label: 'Cards Call'
945
+ name: 'CardsCall'
946
+ widget: 'object'
947
+ summary: '{{fields.cardsCallArr}}'
948
+ collapsed: true
949
+ fields:
950
+ - label: 'Type'
951
+ name: 'type'
952
+ widget: 'hidden'
953
+ default: 'CardsCall'
954
+ collapsed: true
955
+ - label: 'Cards'
956
+ name: 'cardsCallArr'
957
+ widget: 'list'
958
+ required: false
959
+ collapsed: true
960
+ fields:
961
+ - label: 'Link'
962
+ name: 'link'
963
+ widget: 'object'
964
+ required: false
965
+ collapsed: true
966
+ fields:
967
+ - label: 'URL'
968
+ name: 'url'
969
+ widget: 'string'
970
+ required: false
971
+ collapsed: true
972
+ - label: 'Target'
973
+ name: 'target'
974
+ widget: 'select'
975
+ options: ['_blank', '_parent', '_self', 'custom']
976
+ required: false
977
+ collapsed: true
978
+ - label: 'Custom Target'
979
+ name: 'customTarget'
980
+ widget: 'string'
981
+ required: false
982
+ collapsed: true
983
+ - label: 'Image'
984
+ name: 'img'
985
+ widget: 'object'
986
+ required: false
987
+ collapsed: true
988
+ fields:
989
+ - label: 'Source'
990
+ name: 'src'
991
+ widget: 'image'
992
+ required: false
993
+ collapsed: true
994
+ - label: 'Alt'
995
+ name: 'alt'
996
+ widget: 'string'
997
+ required: false
998
+ collapsed: true
999
+ - label: 'Title'
1000
+ name: 'title'
1001
+ widget: 'string'
1002
+ required: false
1003
+ collapsed: true
1004
+ - label: 'Text'
1005
+ name: 'text'
1006
+ widget: 'markdown'
1007
+ required: false
1008
+ collapsed: true
1009
+ timeline: &timeline
1010
+ label: 'Timeline'
1011
+ name: 'Timeline'
1012
+ widget: 'object'
1013
+ summary: 'Timeline'
1014
+ collapsed: true
1015
+ fields:
1016
+ - label: 'Type'
1017
+ name: 'type'
1018
+ widget: 'hidden'
1019
+ default: 'Timeline'
1020
+ collapsed: true
1021
+ - label: 'Components'
1022
+ name: 'components'
1023
+ widget: 'list'
1024
+ required: false
1025
+ collapsed: true
1026
+ types:
1027
+ - *timelineBullet
1028
+ - *text
1029
+ - *button
1030
+ - *imageBlock
1031
+ - *videoEmbed
1032
+ - *htmlEmbed
1033
+ - *spacer
1034
+ - *pullquote
1035
+ - *card
1036
+ cards: &cards
1037
+ label: 'Cards'
1038
+ name: 'Cards'
1039
+ widget: 'object'
1040
+ summary: '{{fields.cardsArr}}'
1041
+ collapsed: true
1042
+ fields:
1043
+ - label: 'Type'
1044
+ name: 'type'
1045
+ widget: 'hidden'
1046
+ default: 'Cards'
1047
+ collapsed: true
1048
+ - label: 'Cards'
1049
+ name: 'cardsArr'
1050
+ widget: 'list'
1051
+ required: false
1052
+ collapsed: true
1053
+ fields:
1054
+ - *card
1055
+ innerColumns: &innerColumns
1056
+ label: 'Inner Columns'
1057
+ name: 'InnerColumns'
1058
+ widget: 'object'
1059
+ summary: 'Inner Columns'
1060
+ collapsed: true
1061
+ fields:
1062
+ - label: 'Type'
1063
+ name: 'type'
1064
+ widget: 'hidden'
1065
+ default: 'InnerColumns'
1066
+ collapsed: true
1067
+ - label: 'Column 1'
1068
+ name: 'column1'
1069
+ widget: 'object'
1070
+ required: true
1071
+ collapsed: true
1072
+ default: null
1073
+ fields:
1074
+ - label: 'Components'
1075
+ name: 'components'
1076
+ widget: 'list'
1077
+ required: false
1078
+ collapsed: true
1079
+ types:
1080
+ - *text
1081
+ - *chartBar
1082
+ - *chartPercentage
1083
+ - *imageBlock
1084
+ - *videoEmbed
1085
+ - *logosGroup
1086
+ - *bigNumbers
1087
+ - *pullquote
1088
+ - *spacer
1089
+ - *gallery
1090
+ - *slider
1091
+ - label: 'Column 2'
1092
+ name: 'column2'
1093
+ widget: 'object'
1094
+ required: true
1095
+ collapsed: false
1096
+ default: null
1097
+ fields:
1098
+ - label: 'Components'
1099
+ name: 'components'
1100
+ widget: 'list'
1101
+ required: false
1102
+ collapsed: true
1103
+ types:
1104
+ - *text
1105
+ - *chartBar
1106
+ - *chartPercentage
1107
+ - *imageBlock
1108
+ - *htmlEmbed
1109
+ - *videoEmbed
1110
+ - *logosGroup
1111
+ - *bigNumbers
1112
+ - *pullquote
1113
+ - *spacer
1114
+ - *gallery
1115
+ - *slider
1116
+ column: &column
1117
+ label: 'Column'
1118
+ name: 'Column'
1119
+ widget: 'object'
1120
+ collapsed: true
1121
+ fields:
1122
+ - label: 'Type'
1123
+ name: 'type'
1124
+ widget: 'hidden'
1125
+ default: 'Column'
1126
+ collapsed: true
1127
+ - label: 'Padding Top'
1128
+ name: paddingTop
1129
+ widget: boolean
1130
+ default: false
1131
+ collapsed: true
1132
+ - label: 'Padding Bottom'
1133
+ name: paddingBottom
1134
+ widget: boolean
1135
+ default: false
1136
+ collapsed: true
1137
+ - label: 'Components'
1138
+ name: 'components'
1139
+ widget: 'list'
1140
+ required: false
1141
+ collapsed: true
1142
+ types:
1143
+ - *text
1144
+ - *chartBar
1145
+ - *chartPercentage
1146
+ - *imageBlock
1147
+ - *htmlEmbed
1148
+ - *videoEmbed
1149
+ - *logosGroup
1150
+ - *cardsCall
1151
+ - *compare
1152
+ - *pullquote
1153
+ - *spacer
1154
+ - *gallery
1155
+ - *slider
1156
+ - *cards
1157
+ - *bigNumbers
1158
+ - *button
1159
+ - *timeline
1160
+ - *innerColumns
1161
+ columns: &columns
1162
+ label: 'Columns'
1163
+ name: 'Columns'
1164
+ widget: 'object'
1165
+ collapsed: true
1166
+ fields:
1167
+ - label: 'Type'
1168
+ name: 'type'
1169
+ widget: 'hidden'
1170
+ default: 'Columns'
1171
+ collapsed: true
1172
+ - label: 'Padding Top'
1173
+ name: paddingTop
1174
+ widget: boolean
1175
+ default: false
1176
+ collapsed: true
1177
+ - label: 'Padding Bottom'
1178
+ name: paddingBottom
1179
+ widget: boolean
1180
+ default: false
1181
+ collapsed: true
1182
+ - label: 'Invert on Mobile'
1183
+ name: invertOnMobile
1184
+ widget: boolean
1185
+ default: false
1186
+ collapsed: true
1187
+ - label: 'Alignment'
1188
+ name: 'columnsAlign'
1189
+ widget: 'select'
1190
+ default: 66-33
1191
+ options:
1192
+ - { label: 'Bigger left', value: 66-33 }
1193
+ - { label: 'Bigger right', value: '33-66' }
1194
+ collapsed: true
1195
+ - label: 'Column 1'
1196
+ name: 'column1'
1197
+ widget: 'object'
1198
+ required: true
1199
+ collapsed: false
1200
+ fields:
1201
+ - label: 'Components'
1202
+ name: 'components'
1203
+ widget: 'list'
1204
+ required: false
1205
+ collapsed: true
1206
+ types:
1207
+ - *text
1208
+ - *chartBar
1209
+ - *chartPercentage
1210
+ - *imageBlock
1211
+ - *videoEmbed
1212
+ - *logosGroup
1213
+ - *innerColumns
1214
+ - *bigNumbers
1215
+ - *pullquote
1216
+ - *spacer
1217
+ - *gallery
1218
+ - *slider
1219
+ - *cards
1220
+ - *button
1221
+ - *timeline
1222
+ - *compare
1223
+ - label: 'Column 2'
1224
+ name: 'column2'
1225
+ widget: 'object'
1226
+ required: true
1227
+ collapsed: false
1228
+ fields:
1229
+ - label: 'Components'
1230
+ name: 'components'
1231
+ widget: 'list'
1232
+ required: false
1233
+ collapsed: true
1234
+ types:
1235
+ - *text
1236
+ - *chartBar
1237
+ - *chartPercentage
1238
+ - *imageBlock
1239
+ - *videoEmbed
1240
+ - *logosGroup
1241
+ - *innerColumns
1242
+ - *bigNumbers
1243
+ - *pullquote
1244
+ - *spacer
1245
+ - *gallery
1246
+ - *slider
1247
+ - *cards
1248
+ - *button
1249
+ - *timeline
1250
+ - *compare
1251
+ columnSticky: &columnSticky
1252
+ label: 'Column Sticky'
1253
+ name: 'ColumnSticky'
1254
+ widget: 'object'
1255
+ summary: '{{fields.title}}'
1256
+ collapsed: true
1257
+ fields:
1258
+ - label: 'Type'
1259
+ name: 'type'
1260
+ widget: 'hidden'
1261
+ default: 'ColumnSticky'
1262
+ collapsed: true
1263
+ - label: 'Text Color'
1264
+ name: 'txtColor'
1265
+ widget: 'color'
1266
+ required: false
1267
+ enableAlpha: true
1268
+ allowInput: true
1269
+ collapsed: true
1270
+ - label: 'Background Color'
1271
+ name: 'bgColor'
1272
+ widget: 'color'
1273
+ required: false
1274
+ enableAlpha: true
1275
+ allowInput: true
1276
+ collapsed: true
1277
+ - label: 'Padding Top'
1278
+ name: 'paddingTop'
1279
+ widget: 'boolean'
1280
+ required: false
1281
+ default: false
1282
+ collapsed: true
1283
+ - label: 'Padding Bottom'
1284
+ name: 'paddingBottom'
1285
+ widget: 'boolean'
1286
+ required: false
1287
+ default: false
1288
+ collapsed: true
1289
+ - label: 'Layout'
1290
+ name: 'layout'
1291
+ widget: 'select'
1292
+ options: ['text-bigger', 'title-bottom']
1293
+ default: 'text-bigger'
1294
+ collapsed: true
1295
+ - label: 'Title'
1296
+ name: 'title'
1297
+ widget: 'string'
1298
+ required: false
1299
+ collapsed: true
1300
+ - label: 'Components'
1301
+ name: 'components'
1302
+ widget: 'list'
1303
+ required: false
1304
+ collapsed: true
1305
+ types:
1306
+ - *text
1307
+ - *chartBar
1308
+ - *chartPercentage
1309
+ - *imageBlock
1310
+ - *htmlEmbed
1311
+ - *videoEmbed
1312
+ - *logosGroup
1313
+ - *innerColumns
1314
+ - *cardsCall
1315
+ - *compare
1316
+ - *pullquote
1317
+ - *spacer
1318
+ - *slider
1319
+ - *cards
1320
+ - *timeline
1321
+ group: &group
1322
+ label: 'Group'
1323
+ name: 'Group'
1324
+ widget: 'object'
1325
+ summary: '{{fields.shortTitle}}'
1326
+ collapsed: true
1327
+ fields:
1328
+ - label: 'Type'
1329
+ name: 'type'
1330
+ widget: 'hidden'
1331
+ default: 'Group'
1332
+ collapsed: true
1333
+ - label: 'ID'
1334
+ name: 'id'
1335
+ widget: 'string'
1336
+ required: true
1337
+ collapsed: true
1338
+ - label: 'Short Title'
1339
+ name: 'shortTitle'
1340
+ widget: 'string'
1341
+ required: true
1342
+ hint: 'Título curto (obrigatório) - será usado no futuro'
1343
+ collapsed: true
1344
+ - label: 'Long Title'
1345
+ name: 'longTitle'
1346
+ widget: 'string'
1347
+ required: false
1348
+ hint: 'Título longo usado como label no menu (opcional)'
1349
+ collapsed: true
1350
+ - label: 'Description'
1351
+ name: 'description'
1352
+ widget: 'text'
1353
+ required: false
1354
+ hint: 'Descrição do grupo (opcional) - será usado no futuro'
1355
+ collapsed: true
1356
+ - label: 'Show in Menu'
1357
+ name: 'showInMenu'
1358
+ widget: 'boolean'
1359
+ default: false
1360
+ hint: 'Ativar para mostrar este grupo no menu de navegação'
1361
+ collapsed: true
1362
+ - label: 'Animations'
1363
+ name: 'animations'
1364
+ widget: 'boolean'
1365
+ default: true
1366
+ required: true
1367
+ hint: 'Enable/disable animations for this component'
1368
+ collapsed: true
1369
+ - label: 'Text Color'
1370
+ name: 'txtColor'
1371
+ widget: 'select'
1372
+ options:
1373
+ - { label: 'Primary', value: 'Primary' }
1374
+ - { label: 'Secondary', value: 'Secondary' }
1375
+ - { label: 'Highlight', value: 'Highlight' }
1376
+ - { label: 'Custom', value: 'Custom' }
1377
+ default: 'Primary'
1378
+ required: false
1379
+ collapsed: true
1380
+ - label: 'Custom Text Color'
1381
+ name: 'customTxtColor'
1382
+ widget: 'color'
1383
+ required: false
1384
+ enableAlpha: true
1385
+ allowInput: true
1386
+ collapsed: true
1387
+ - label: 'Background Color'
1388
+ name: 'bgColor'
1389
+ widget: 'select'
1390
+ options:
1391
+ - { label: 'Primary', value: 'Primary' }
1392
+ - { label: 'Secondary', value: 'Secondary' }
1393
+ - { label: 'Highlight', value: 'Highlight' }
1394
+ - { label: 'Custom', value: 'Custom' }
1395
+ default: 'Secondary'
1396
+ required: false
1397
+ collapsed: true
1398
+ - label: 'Custom Background Color'
1399
+ name: 'customBgColor'
1400
+ widget: 'color'
1401
+ required: false
1402
+ enableAlpha: true
1403
+ allowInput: true
1404
+ collapsed: true
1405
+ - label: 'Add Background media'
1406
+ name: 'backgroundMedia'
1407
+ required: false
1408
+ widget: 'list'
1409
+ max: 1
1410
+ collapsed: true
1411
+ types:
1412
+ - label: 'Image'
1413
+ name: 'backgroundImage'
1414
+ widget: 'object'
1415
+ collapsed: true
1416
+ fields:
1417
+ - label: 'Image'
1418
+ name: 'imgSrc'
1419
+ widget: 'image'
1420
+ required: false
1421
+ multiple: false
1422
+ collapsed: true
1423
+ - label: 'Video'
1424
+ name: 'backgroundVideo'
1425
+ widget: 'object'
1426
+ collapsed: true
1427
+ fields:
1428
+ - label: 'Video'
1429
+ name: 'videoSrc'
1430
+ widget: 'file'
1431
+ multiple: false
1432
+ required: false
1433
+ collapsed: true
1434
+ - label: 'Overlay'
1435
+ name: 'overlay'
1436
+ widget: 'select'
1437
+ options: ['dark', 'light']
1438
+ required: false
1439
+ collapsed: true
1440
+ - label: 'Components'
1441
+ name: 'components'
1442
+ widget: 'list'
1443
+ required: false
1444
+ collapsed: true
1445
+ types:
1446
+ - *text
1447
+ - *htmlEmbed
1448
+ - *videoEmbed
1449
+ - *imageBlock
1450
+ - *columnSticky
1451
+ - *chartBar
1452
+ - *chartPercentage
1453
+ - *cards
1454
+ - *cardsCall
1455
+ - *logosGroup
1456
+ - *column
1457
+ - *columns
1458
+ - *spacer
1459
+ - *compare
1460
+ - *gallery
1461
+ - *slider
1462
+ - *bigNumbers
1463
+ - *timeline
1464
+ cta: &cta
1465
+ label: 'CTA'
1466
+ name: 'Cta'
1467
+ widget: 'object'
1468
+ summary: '{{fields.shortTitle}}'
1469
+ collapsed: true
1470
+ fields:
1471
+ - label: 'Type'
1472
+ name: 'type'
1473
+ widget: 'hidden'
1474
+ default: 'Cta'
1475
+ collapsed: true
1476
+ - label: 'ID'
1477
+ name: 'id'
1478
+ widget: 'string'
1479
+ required: true
1480
+ collapsed: true
1481
+ - label: 'Short Title'
1482
+ name: 'shortTitle'
1483
+ widget: 'string'
1484
+ required: true
1485
+ hint: 'Título curto (obrigatório) - será usado no futuro'
1486
+ collapsed: true
1487
+ - label: 'Long Title'
1488
+ name: 'longTitle'
1489
+ widget: 'string'
1490
+ required: false
1491
+ hint: 'Título longo usado como label no menu (opcional)'
1492
+ collapsed: true
1493
+ - label: 'Description'
1494
+ name: 'description'
1495
+ widget: 'text'
1496
+ required: false
1497
+ hint: 'Descrição do componente (opcional) - será usado no futuro'
1498
+ collapsed: true
1499
+ - label: 'Show in Menu'
1500
+ name: 'showInMenu'
1501
+ widget: 'boolean'
1502
+ default: false
1503
+ hint: 'Ativar para mostrar este componente no menu de navegação'
1504
+ collapsed: true
1505
+ - label: 'Animations'
1506
+ name: 'animations'
1507
+ widget: 'boolean'
1508
+ default: true
1509
+ required: true
1510
+ hint: 'Enable/disable animations for this component'
1511
+ collapsed: true
1512
+ - label: 'Text Color'
1513
+ name: 'txtColor'
1514
+ widget: 'select'
1515
+ options:
1516
+ - { label: 'Primary', value: 'Primary' }
1517
+ - { label: 'Secondary', value: 'Secondary' }
1518
+ - { label: 'Highlight', value: 'Highlight' }
1519
+ - { label: 'Custom', value: 'Custom' }
1520
+ default: 'Primary'
1521
+ required: false
1522
+ collapsed: true
1523
+ - label: 'Custom Text Color'
1524
+ name: 'customTxtColor'
1525
+ widget: 'color'
1526
+ required: false
1527
+ enableAlpha: true
1528
+ allowInput: true
1529
+ collapsed: true
1530
+ - label: 'Background Color'
1531
+ name: 'bgColor'
1532
+ widget: 'select'
1533
+ options:
1534
+ - { label: 'Primary', value: 'Primary' }
1535
+ - { label: 'Secondary', value: 'Secondary' }
1536
+ - { label: 'Highlight', value: 'Highlight' }
1537
+ - { label: 'Custom', value: 'Custom' }
1538
+ default: 'Secondary'
1539
+ required: false
1540
+ collapsed: true
1541
+ - label: 'Custom Background Color'
1542
+ name: 'customBgColor'
1543
+ widget: 'color'
1544
+ required: false
1545
+ enableAlpha: true
1546
+ allowInput: true
1547
+ collapsed: true
1548
+ - label: 'Add Background media'
1549
+ name: 'backgroundMedia'
1550
+ required: false
1551
+ widget: 'list'
1552
+ max: 1
1553
+ collapsed: true
1554
+ types:
1555
+ - label: 'Image'
1556
+ name: 'backgroundImage'
1557
+ widget: 'object'
1558
+ collapsed: true
1559
+ fields:
1560
+ - label: 'Image'
1561
+ name: 'imgSrc'
1562
+ widget: 'image'
1563
+ required: false
1564
+ multiple: false
1565
+ collapsed: true
1566
+ - label: 'Video'
1567
+ name: 'backgroundVideo'
1568
+ widget: 'object'
1569
+ collapsed: true
1570
+ fields:
1571
+ - label: 'Video'
1572
+ name: 'videoSrc'
1573
+ widget: 'file'
1574
+ multiple: false
1575
+ required: false
1576
+ collapsed: true
1577
+ - label: 'Overlay'
1578
+ name: 'overlay'
1579
+ widget: 'select'
1580
+ options: ['dark', 'light']
1581
+ required: false
1582
+ collapsed: true
1583
+ - label: 'Add media'
1584
+ name: 'ctaMedia'
1585
+ required: false
1586
+ widget: 'list'
1587
+ max: 1
1588
+ collapsed: true
1589
+ types:
1590
+ - label: 'Image'
1591
+ name: 'ctaImage'
1592
+ widget: 'object'
1593
+ collapsed: true
1594
+ fields:
1595
+ - label: 'Image'
1596
+ name: 'src'
1597
+ widget: 'image'
1598
+ required: false
1599
+ multiple: false
1600
+ collapsed: true
1601
+ - label: 'Or external URL'
1602
+ name: 'externalUrl'
1603
+ widget: 'string'
1604
+ required: false
1605
+ hint: 'URL externa (opcional, substitui a imagem acima)'
1606
+ collapsed: true
1607
+ - label: 'Video'
1608
+ name: 'ctaVideo'
1609
+ widget: 'object'
1610
+ collapsed: true
1611
+ fields:
1612
+ - label: 'Video'
1613
+ name: 'src'
1614
+ widget: 'file'
1615
+ multiple: false
1616
+ required: false
1617
+ collapsed: true
1618
+ - label: 'Or external URL'
1619
+ name: 'externalUrl'
1620
+ widget: 'string'
1621
+ required: false
1622
+ hint: 'URL externa (opcional, substitui o vídeo acima)'
1623
+ collapsed: true
1624
+ - label: 'CTA Text'
1625
+ name: 'ctaText'
1626
+ widget: 'markdown'
1627
+ required: false
1628
+ collapsed: true
1629
+ - label: 'Highlighted Text'
1630
+ name: 'highlightedText'
1631
+ widget: 'string'
1632
+ required: false
1633
+ hint: 'Texto destacado (exibido quando não há media)'
1634
+ collapsed: true
1635
+ - label: 'Link'
1636
+ name: 'link'
1637
+ widget: 'object'
1638
+ required: false
1639
+ collapsed: true
1640
+ fields:
1641
+ - label: 'URL'
1642
+ name: 'url'
1643
+ widget: 'string'
1644
+ required: false
1645
+ collapsed: true
1646
+ - label: 'Target'
1647
+ name: 'target'
1648
+ widget: 'select'
1649
+ options: ['_self', '_blank']
1650
+ default: '_self'
1651
+ required: false
1652
+ collapsed: true
1653
+ - label: 'Text'
1654
+ name: 'text'
1655
+ widget: 'string'
1656
+ required: false
1657
+ collapsed: true
1658
+ map: &map
1659
+ label: 'Map'
1660
+ name: 'Map'
1661
+ widget: 'object'
1662
+ summary: '{{fields.shortTitle}}'
1663
+ collapsed: true
1664
+ fields:
1665
+ - label: 'Type'
1666
+ name: 'type'
1667
+ widget: 'hidden'
1668
+ default: 'Map'
1669
+ collapsed: true
1670
+ - label: 'ID'
1671
+ name: 'id'
1672
+ widget: 'string'
1673
+ required: true
1674
+ collapsed: true
1675
+ - label: 'Short Title'
1676
+ name: 'shortTitle'
1677
+ widget: 'string'
1678
+ required: true
1679
+ hint: 'Título curto (obrigatório) - será usado no futuro'
1680
+ collapsed: true
1681
+ - label: 'Long Title'
1682
+ name: 'longTitle'
1683
+ widget: 'string'
1684
+ required: false
1685
+ hint: 'Título longo usado como label no menu (opcional)'
1686
+ collapsed: true
1687
+ - label: 'Description'
1688
+ name: 'description'
1689
+ widget: 'text'
1690
+ required: false
1691
+ hint: 'Descrição do componente (opcional) - será usado no futuro'
1692
+ collapsed: true
1693
+ - label: 'Show in Menu'
1694
+ name: 'showInMenu'
1695
+ widget: 'boolean'
1696
+ default: false
1697
+ hint: 'Ativar para mostrar este componente no menu de navegação'
1698
+ collapsed: true
1699
+ - label: 'Animations'
1700
+ name: 'animations'
1701
+ widget: 'boolean'
1702
+ default: true
1703
+ required: true
1704
+ hint: 'Enable/disable animations for this component'
1705
+ collapsed: true
1706
+ - label: 'Column Align'
1707
+ name: 'columnAlign'
1708
+ widget: 'select'
1709
+ options: ['left', 'right', 'center']
1710
+ default: 'left'
1711
+ required: true
1712
+ collapsed: true
1713
+ - label: 'Floating Text'
1714
+ name: 'floatingText'
1715
+ widget: 'boolean'
1716
+ required: false
1717
+ default: false
1718
+ collapsed: true
1719
+ - label: 'Text Color'
1720
+ name: 'txtColor'
1721
+ widget: 'select'
1722
+ options:
1723
+ - { label: 'Primary', value: 'Primary' }
1724
+ - { label: 'Secondary', value: 'Secondary' }
1725
+ - { label: 'Highlight', value: 'Highlight' }
1726
+ default: 'Primary'
1727
+ required: false
1728
+ collapsed: true
1729
+ - label: 'Background Color'
1730
+ name: 'bgColor'
1731
+ widget: 'select'
1732
+ options:
1733
+ - { label: 'Primary', value: 'Primary' }
1734
+ - { label: 'Secondary', value: 'Secondary' }
1735
+ - { label: 'Highlight', value: 'Highlight' }
1736
+ default: 'Secundary'
1737
+ required: false
1738
+ collapsed: true
1739
+ - label: 'Components'
1740
+ name: 'components'
1741
+ widget: 'list'
1742
+ required: false
1743
+ collapsed: true
1744
+ types:
1745
+ - *text
1746
+ - *spacer
1747
+ - *mapView
1748
+ - *imageBlock
1749
+ - *videoEmbed
1750
+ - *timeline
1751
+ - *button
1752
+ collections:
1753
+ - name: 'pages'
1754
+ label: 'Páginas'
1755
+ folder: 'src/content/pages'
1756
+ create: true
1757
+ editor:
1758
+ preview: false
1759
+ slug: '{{slug}}'
1760
+ fields:
1761
+ - { label: 'Título', name: 'title', widget: 'string', required: false }
1762
+ - { label: 'Slug', name: 'slug', widget: 'string', required: true }
1763
+ - *pageSettings
1764
+ - *pageTheme
1765
+ - *mapBox
1766
+ - label: 'Componentes'
1767
+ name: 'components'
1768
+ widget: 'list'
1769
+ required: false
1770
+ collapsed: true
1771
+ types:
1772
+ - *group
1773
+ - *cta
1774
+ - *map
1775
+ - *spacer