wagtail-enap-designsystem 1.2.1.158__py3-none-any.whl → 1.2.1.160__py3-none-any.whl

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 (32) hide show
  1. enap_designsystem/blocks/__init__.py +2 -0
  2. enap_designsystem/blocks/content_blocks.py +47 -1
  3. enap_designsystem/blocks/html_blocks.py +54 -17
  4. enap_designsystem/blocks/semana_blocks.py +157 -94
  5. enap_designsystem/migrations/0432_alter_areaaluno_body_alter_cursoeadpage_curso_and_more.py +72634 -0
  6. enap_designsystem/migrations/0433_alter_areaaluno_body_and_more.py +57331 -0
  7. enap_designsystem/migrations/0434_templateespecializacao_cards_one.py +599 -0
  8. enap_designsystem/migrations/0435_alter_templateespecializacao_team_carousel.py +220 -0
  9. enap_designsystem/migrations/0436_alter_areaaluno_body_alter_articlepage_body_and_more.py +80628 -0
  10. enap_designsystem/migrations/0437_alter_enapformacao_body_and_more.py +3728 -0
  11. enap_designsystem/models.py +61 -41
  12. enap_designsystem/static/enap_designsystem/blocks/btn.css +31 -0
  13. enap_designsystem/static/enap_designsystem/blocks/cards.css +13 -6
  14. enap_designsystem/static/enap_designsystem/blocks/carousel_images.css +2 -2
  15. enap_designsystem/static/enap_designsystem/blocks/feature_course.css +4 -0
  16. enap_designsystem/static/enap_designsystem/blocks/navbar/navbar.css +2 -2
  17. enap_designsystem/static/enap_designsystem/blocks/team_carousel.css +2 -1
  18. enap_designsystem/static/enap_designsystem/blocks/team_modern.css +2 -1
  19. enap_designsystem/templates/enap_designsystem/base.html +2 -11
  20. enap_designsystem/templates/enap_designsystem/blocks/card_block.html +40 -3
  21. enap_designsystem/templates/enap_designsystem/blocks/carousel_images.html +1 -1
  22. enap_designsystem/templates/enap_designsystem/blocks/feature_estrutura.html +6 -0
  23. enap_designsystem/templates/enap_designsystem/blocks/footer_block.html +1 -0
  24. enap_designsystem/templates/enap_designsystem/blocks/preview_courses.html +7 -1
  25. enap_designsystem/templates/enap_designsystem/blocks/richtext_block.html +61 -62
  26. enap_designsystem/templates/enap_designsystem/blocks/suap/apisuap_courses_block.html +38 -14
  27. enap_designsystem/templates/enap_designsystem/pages/template_mba.html +16 -5
  28. {wagtail_enap_designsystem-1.2.1.158.dist-info → wagtail_enap_designsystem-1.2.1.160.dist-info}/METADATA +1 -1
  29. {wagtail_enap_designsystem-1.2.1.158.dist-info → wagtail_enap_designsystem-1.2.1.160.dist-info}/RECORD +32 -26
  30. {wagtail_enap_designsystem-1.2.1.158.dist-info → wagtail_enap_designsystem-1.2.1.160.dist-info}/WHEEL +0 -0
  31. {wagtail_enap_designsystem-1.2.1.158.dist-info → wagtail_enap_designsystem-1.2.1.160.dist-info}/licenses/LICENSE +0 -0
  32. {wagtail_enap_designsystem-1.2.1.158.dist-info → wagtail_enap_designsystem-1.2.1.160.dist-info}/top_level.txt +0 -0
@@ -767,6 +767,8 @@ CARD_CARDS_STREAMBLOCKS = [
767
767
  (
768
768
  "enap_section", EnapSectionBlock([
769
769
  ("accordion", EnapAccordionBlock()),
770
+ ("texto_imagem", TextoImagemBlock()),
771
+ ("texto", RichTextBlock()),
770
772
  ("enap_cardgrid", EnapCardGridBlock([
771
773
  ("enap_card", EnapCardBlock()),
772
774
  ("richtext", RichTextBlock()),
@@ -6,7 +6,7 @@ from wagtail.snippets.blocks import SnippetChooserBlock
6
6
  from wagtail.blocks import StructBlock, BooleanBlock, CharBlock
7
7
  from wagtail.admin.panels import FieldPanel
8
8
  from django.db import models
9
- from .html_blocks import ButtonBlock
9
+ from .html_blocks import ButtonBlock, FONTAWESOME_ICON_CHOICES
10
10
  from .base_blocks import BaseBlock
11
11
 
12
12
 
@@ -171,6 +171,13 @@ class EnapCardBlock(blocks.StructBlock):
171
171
  label=_("Image"),
172
172
  )
173
173
 
174
+ icone = blocks.ChoiceBlock(
175
+ choices=FONTAWESOME_ICON_CHOICES,
176
+ required=False,
177
+ default='fa-solid fa-lightbulb',
178
+ help_text="Ícone do card (Caso não use imagem)"
179
+ )
180
+
174
181
  title = blocks.CharBlock(
175
182
  required=False,
176
183
  max_length=255,
@@ -183,6 +190,45 @@ class EnapCardBlock(blocks.StructBlock):
183
190
  label=_("Body"),
184
191
  )
185
192
 
193
+ text_align = blocks.ChoiceBlock(
194
+ choices=[
195
+ ('left', 'Esquerda'),
196
+ ('center', 'Centro'),
197
+ ('right', 'Direita'),
198
+ ],
199
+ default='left',
200
+ help_text="Escolha a direção para alinhar o texto da seção",
201
+ label="Alinhamento do texto",
202
+ required=False
203
+ )
204
+
205
+ cor_texto = blocks.ChoiceBlock(
206
+ choices=[
207
+ ('#02333A', 'Verde ENAP 100 (#02333A)'),
208
+ ('#024248', 'Verde ENAP 90 (#024248)'),
209
+ ('#025257', 'Verde ENAP 80 (#025257)'),
210
+ ('#006969', 'Verde ENAP 70 (#006969)'),
211
+ ('#10A39E', 'Verde ENAP 50 (#10A39E)'),
212
+ ('#30BFBC', 'Verde ENAP 40 (#30BFBC)'),
213
+ ('#70E0DF', 'Verde ENAP 30 (#70E0DF)'),
214
+ ('#AFF0ED', 'Verde ENAP 20 (#AFF0ED)'),
215
+ ('#D6F9F8', 'Verde ENAP 10 (#D6F9F8)'),
216
+ ('#FFFFFF', 'Fundo branco (#FFFFFF)'),
217
+ ('#F8F9FA', 'Cinza Claro (#F8F9FA)'),
218
+ ('#E9ECEF', 'Cinza Médio (#E9ECEF)'),
219
+ ('#000000', 'Fundo preto (#000000)'),
220
+ ],
221
+ default='#FFFFFF',
222
+ help_text="Escolha a cor do texto para a seção",
223
+ label="Cor do texto",
224
+ required=False
225
+ )
226
+
227
+ cor_texto_hex = blocks.CharBlock(
228
+ help_text="Escolha a cor do texto para a seção em hex",
229
+ label="Cor do texto em hex code caso prefira",
230
+ required=False
231
+ )
186
232
 
187
233
  links = blocks.StreamBlock(
188
234
  [
@@ -140,6 +140,9 @@ FONTAWESOME_ICON_CHOICES = [
140
140
  ('fa-solid fa-clock', 'Relógio'),
141
141
  ('fa-solid fa-users', 'Usuários'),
142
142
  ('fa-solid fa-user', 'Usuário'),
143
+ ('fa-solid fa-chalkboard-user', 'Usuário em frente a um quadro'),
144
+ ('fa-solid fa-circle-user', 'Usuário rodeado por um circulo'),
145
+ ('fa-solid fa-people-group', 'Grupo de pessoas'),
143
146
  ('fa-solid fa-cog', 'Configuração'),
144
147
  ('fa-solid fa-chart-bar', 'Gráfico'),
145
148
  ('fa-solid fa-briefcase', 'Maleta'),
@@ -312,6 +315,13 @@ class PreviewCoursesBlock(BaseBlock):
312
315
  Renders a preview of a specific page.
313
316
  """
314
317
 
318
+ title = blocks.CharBlock(
319
+ required=False,
320
+ max_length=255,
321
+ label=_("Título da Seção"),
322
+ help_text=_("Título opcional para exibir acima do preview. Se não preenchido, usa o título da página."),
323
+ )
324
+
315
325
  page = blocks.PageChooserBlock(
316
326
  required=False,
317
327
  label=_("Pagina de Formações"),
@@ -447,10 +457,10 @@ class JobVacancyFilteredBlock(BaseBlock):
447
457
  else:
448
458
  pages = indexer.get_children().live()
449
459
 
450
- # ✅ CORREÇÃO: Primeiro filtrar apenas JobVacancyPage usando o content_type
460
+ # ✅ Primeiro filtrar apenas JobVacancyPage usando o content_type
451
461
  pages = pages.filter(content_type__model='jobvacancypage')
452
462
 
453
- # ✅ CORREÇÃO: Converter para QuerySet específico do JobVacancyPage
463
+ # ✅ Converter para QuerySet específico do JobVacancyPage
454
464
  try:
455
465
  # Tentar obter o modelo JobVacancyPage
456
466
  JobVacancyPage = apps.get_model('enap_designsystem', 'JobVacancyPage')
@@ -549,7 +559,7 @@ class NewsCarouselBlock(BaseBlock):
549
559
  return context
550
560
 
551
561
 
552
- all_children = indexer.get_children().live().select_related('content_type')[:20]
562
+ all_children = indexer.get_children().live().select_related('content_type').order_by('-first_published_at')[:20]
553
563
  enap_noticias = []
554
564
  outras_pages = []
555
565
  noticias_ids = set() # Usar set para busca O(1)
@@ -569,14 +579,15 @@ class NewsCarouselBlock(BaseBlock):
569
579
 
570
580
  todas_noticias_ordenadas = sorted(enap_noticias, key=get_page_date, reverse=True)
571
581
 
572
- # Pegar a notícia em destaque (se estiver entre as filhas) COM PROTEÇÃO
582
+ # Pegar a notícia em destaque
573
583
  destaque = None
574
584
  try:
575
585
  destaque_temp = ENAPNoticia.get_noticia_destaque()
576
- if destaque_temp and destaque_temp.id in noticias_ids:
586
+ # Verificar se o destaque está entre as 20 filhas carregadas
587
+ if destaque_temp and destaque_temp.id in noticias_ids and destaque_temp.live:
577
588
  destaque = destaque_temp
578
589
  except Exception:
579
- destaque = None
590
+ pass
580
591
 
581
592
  if destaque:
582
593
  # Remove o destaque da lista ordenada
@@ -759,7 +770,20 @@ class SuapCourseBlock(StructBlock):
759
770
 
760
771
  class APISuapCourseBlock(StructBlock):
761
772
  title = CharBlock(required=False, label="Título")
773
+ cor_title = CharBlock(required=False, label="Cor do Título em HEX (opcional)")
774
+ posicao_title = blocks.ChoiceBlock(
775
+ choices=[
776
+ ('center', 'Centro'),
777
+ ('flex-start', 'Esquerda'),
778
+ ('flex-end', 'Direita'),
779
+ ],
780
+ default='center',
781
+ help_text="Escolha a posição do Título",
782
+ label="Posição do Título",
783
+ required=False
784
+ )
762
785
  description = CharBlock(required=False, label="Descrição")
786
+ cor_description = CharBlock(required=False, label="Cor da Descrição em HEX (opcional)")
763
787
  button = CharBlock(required=False, label="Titulo do Botão")
764
788
  url_button = URLBlock(required=False, label="Link do Botão")
765
789
  api_url = blocks.URLBlock(
@@ -780,10 +804,10 @@ class APISuapCourseBlock(StructBlock):
780
804
  })
781
805
  return context
782
806
 
783
- def get_destaques(self, api_url, limit=None):
807
+ def get_destaques(self, api_url, limit=50):
784
808
 
785
809
  try:
786
- resp = requests.get(api_url, timeout=5)
810
+ resp = requests.get(api_url, timeout=500)
787
811
  resp.raise_for_status()
788
812
  data = resp.json()
789
813
  data = data.get('results', [])
@@ -796,16 +820,22 @@ class APISuapCourseBlock(StructBlock):
796
820
  processed_data = []
797
821
  for item in data:
798
822
  # Converter data_inicio de string para datetime se existir
799
- try:
800
- # Assumindo formato YYYY-MM-DD
801
- item['data_inicio'] = datetime.strptime(item['data_inicio'], '%Y-%m-%d').date()
802
- item['data_inicio_aula'] = datetime.strptime(item['data_inicio_aula'], '%Y-%m-%d').date()
803
- except (ValueError, TypeError):
804
- # Se não conseguir converter, mantém como string
805
- pass
823
+ if 'data_inicio' in item and item['data_inicio']:
824
+ try:
825
+ item['data_inicio'] = datetime.strptime(item['data_inicio'], '%Y-%m-%d').date()
826
+ except (ValueError, TypeError):
827
+ pass
828
+
829
+ # Converter data_inicio_aula de string para datetime se existir
830
+ if 'data_inicio_aula' in item and item['data_inicio_aula']:
831
+ try:
832
+ item['data_inicio_aula'] = datetime.strptime(item['data_inicio_aula'], '%Y-%m-%d').date()
833
+ except (ValueError, TypeError):
834
+ pass
806
835
 
807
836
  processed_data.append(SimpleNamespace(**item))
808
837
 
838
+ print(processed_data)
809
839
  return processed_data
810
840
  except Exception as e:
811
841
  # Log do erro para debug (opcional)
@@ -1217,6 +1247,13 @@ class CourseFeatureBlock(blocks.StructBlock):
1217
1247
  class CourseModulesBlock(blocks.StructBlock):
1218
1248
  """Bloco de estrutura do curso com múltiplos dropdowns."""
1219
1249
  title = blocks.CharBlock(required=True, default="Estrutura do curso", help_text="Título da seção")
1250
+
1251
+ description = blocks.RichTextBlock(
1252
+ required=False,
1253
+ help_text="Descrição da seção (aparece abaixo do título)",
1254
+ features=['bold', 'italic', 'link', 'ul', 'ol'],
1255
+ default="Descrição da seção"
1256
+ )
1220
1257
 
1221
1258
  modules = blocks.ListBlock(
1222
1259
  blocks.StructBlock([
@@ -5989,7 +6026,7 @@ class CarouselSlideBlock(blocks.StructBlock):
5989
6026
  label="Subtítulo",
5990
6027
  required=False,
5991
6028
  help_text="Texto com formatação: **bold**, *itálico*, listas, etc.",
5992
- features=['bold', 'italic', 'ul', 'ol', 'link']
6029
+ features=['bold', 'italic', 'ul', 'ol', 'link', 'h1', 'h2', 'h3', 'h4']
5993
6030
  )
5994
6031
 
5995
6032
  cor_subtitulo = blocks.ChoiceBlock(
@@ -7667,7 +7704,7 @@ class FormularioDinamicoBlock(blocks.StructBlock):
7667
7704
  ('flex-start', 'Esquerda'),
7668
7705
  ('flex-end', 'Direita'),
7669
7706
  ],
7670
- default='bg-white',
7707
+ default='center',
7671
7708
  help_text="Escolha a posição do botão",
7672
7709
  label="Posição do botão"
7673
7710
  )
@@ -12,64 +12,107 @@ from .form import BASE_FORM_FIELD_BLOCKS
12
12
  # Cores principais da paleta
13
13
  # Cores principais para inovação - sem duplicatas e com valores hexadecimais válidos
14
14
  BRAND_INOVACAO_CHOICES = [
15
+ # Cores Institucionais ENAP
16
+ ('#024248', 'Verde ENAP #024248'),
17
+ ('#007D7A', 'Verde Link ENAP #007D7A'),
15
18
  ('#024248', 'Verde ENAP'),
16
- ('#FFF0D9', 'Creme Suave'), # Corrigido de 'bg-white', '#fbebd8'
17
19
  ('#007D7A', 'Verde Link ENAP'),
18
- ('#AD6BFC', 'Roxo Gnova'),
19
- ('#B396FC', 'Roxo Claro Gnova'),
20
- ('#2F134F', 'Roxo Escuro LIIA'),
21
- ('blue', 'Azul'),
22
- ('green', 'Verde'),
23
- ('red', 'Vermelho'),
24
- ('orange', 'Laranja'),
25
- ('purple', 'Roxo'),
26
- ('indigo', 'Índigo'),
27
- ('emerald', 'Esmeralda'),
28
- ('#FFFFFF', 'Branco (#FFFFFF)'),
29
- ('#525258', 'Cinza Escuro (#525258)'),
30
- ('#132929', 'Verde Musgo Escuro'),
31
- ('#3A8A9C', 'Azul Petróleo'),
32
- ('#25552A', 'Verde Floresta Escuro'),
33
- ('#818C27', 'Verde Oliva'),
34
- ('#FF7A1B', 'Laranja Vibrante'),
35
- ('#FFEB31', 'Amarelo Canário'),
36
- ('#FFF0D9', 'Creme Suave'),
37
- ('#DB8C3F', 'Dourado Queimado'),
38
- ('#990005', 'Vermelho Bordô'),
39
- ('#EA1821', 'Vermelho Cereja'),
40
- ('#BAC946', 'Verdinho'),
20
+ ('#007D7A', 'Verde ENAP 60'),
21
+ ('#024248', 'Verde ENAP 90'),
22
+ ('#F5F7FA', 'ENAP Cinza'),
23
+ ('#FFFFFF', 'Branco'),
24
+
25
+ # Cores Gnova
26
+ ('#AD6BFC', 'Roxo Gnova #AD6BFC'),
27
+ ('#B396FC', 'Roxo Claro Gnova #B396FC'),
28
+
29
+ # Cores LIIA
30
+ ('#2F134F', 'Roxo Escuro LIIA #2F134F'),
31
+
32
+ # Cores Genéricas (Tailwind/CSS)
33
+ ('blue', 'Azul (blue)'),
34
+ ('green', 'Verde (green)'),
35
+ ('red', 'Vermelho (red)'),
36
+ ('orange', 'Laranja (orange)'),
37
+ ('purple', 'Roxo (purple)'),
38
+ ('indigo', 'Índigo (indigo)'),
39
+ ('emerald', 'Esmeralda (emerald)'),
40
+
41
+ # Paleta Expandida - Neutros
42
+ ('#FFFFFF', 'Branco #FFFFFF'),
43
+ ('#525258', 'Cinza Escuro #525258'),
44
+ ('#FFF0D9', 'Creme Suave #FFF0D9'),
45
+
46
+ # Paleta Expandida - Verdes
47
+ ('#132929', 'Verde Musgo Escuro #132929'),
48
+ ('#25552A', 'Verde Floresta Escuro #25552A'),
49
+ ('#818C27', 'Verde Oliva #818C27'),
50
+ ('#BAC946', 'Verdinho #BAC946'),
51
+
52
+ # Paleta Expandida - Azuis
53
+ ('#3A8A9C', 'Azul Petróleo #3A8A9C'),
54
+
55
+ # Paleta Expandida - Quentes
56
+ ('#FF7A1B', 'Laranja Vibrante #FF7A1B'),
57
+ ('#FFEB31', 'Amarelo Canário #FFEB31'),
58
+ ('#DB8C3F', 'Dourado Queimado #DB8C3F'),
59
+
60
+ # Paleta Expandida - Vermelhos
61
+ ('#990005', 'Vermelho Bordô #990005'),
62
+ ('#EA1821', 'Vermelho Cereja #EA1821'),
41
63
  ]
42
64
 
43
65
  # Cores para textos - removendo duplicatas e corrigindo valores
44
66
  BRAND_TEXTS_CHOICES = [
67
+ # Cores Institucionais ENAP
68
+ ('#024248', 'Verde ENAP #024248'),
69
+ ('#007D7A', 'Verde Link ENAP #007D7A'),
70
+ ('#00777D', 'Enap #00777D'),
71
+ ('#58606E', 'Enap Cinza #58606E'),
72
+ ('#AFF0ED', 'Enap Azul #AFF0ED'),
73
+ ('#383674', 'Roxo ENAP #383674'),
45
74
  ('#024248', 'Verde ENAP'),
46
- ('#FFF0D9', 'Creme Suave'), # Corrigido de 'bg-white', '#fbebd8'
47
75
  ('#007D7A', 'Verde Link ENAP'),
48
- ('#AD6BFC', 'Roxo Gnova'),
49
- ('#B396FC', 'Roxo Claro Gnova'),
50
- ('#2F134F', 'Roxo Escuro LIIA'),
51
- ('blue', 'Azul'),
52
- ('green', 'Verde'),
53
- ('red', 'Vermelho'),
54
- ('orange', 'Laranja'),
55
- ('purple', 'Roxo'),
56
- ('indigo', 'Índigo'),
57
- ('emerald', 'Esmeralda'),
58
- ('#FFFFFF', 'Branco (#FFFFFF)'),
59
- ('#525258', 'Cinza Escuro (#525258)'),
60
- ('#132929', 'Verde Musgo Escuro'),
61
- ('#00777D', 'Enap'),
62
- ('#58606E', 'Enap Cinza'),
63
- ('#AFF0ED', 'Enap Azul'),
64
- ('#25552A', 'Verde Floresta Escuro'),
65
- ('#818C27', 'Verde Oliva'),
66
- ('#DB8C3F', 'Dourado Queimado'),
67
- ('#990005', 'Vermelho Bordô'),
68
- ('#000000', 'Preto'),
69
- ('#2F2F2F', 'Cinza Escuro'),
70
- ('#4A4A4A', 'Cinza Médio'),
71
- ('#383674', 'Roxo ENAP'),
72
- ('#BAC946', 'Verdinho'),
76
+ ('#007D7A', 'Verde ENAP 60'),
77
+ ('#024248', 'Verde ENAP 90'),
78
+ ('#F5F7FA', 'ENAP Cinza'),
79
+ ('#FFFFFF', 'Branco'),
80
+
81
+ # Cores Gnova
82
+ ('#AD6BFC', 'Roxo Gnova #AD6BFC'),
83
+ ('#B396FC', 'Roxo Claro Gnova #B396FC'),
84
+
85
+ # Cores LIIA
86
+ ('#2F134F', 'Roxo Escuro LIIA #2F134F'),
87
+
88
+ # Cores Genéricas (Tailwind/CSS)
89
+ ('blue', 'Azul (blue)'),
90
+ ('green', 'Verde (green)'),
91
+ ('red', 'Vermelho (red)'),
92
+ ('orange', 'Laranja (orange)'),
93
+ ('purple', 'Roxo (purple)'),
94
+ ('indigo', 'Índigo (indigo)'),
95
+ ('emerald', 'Esmeralda (emerald)'),
96
+
97
+ # Neutros e Cinzas
98
+ ('#FFFFFF', 'Branco #FFFFFF'),
99
+ ('#FFF0D9', 'Creme Suave #FFF0D9'),
100
+ ('#000000', 'Preto #000000'),
101
+ ('#2F2F2F', 'Cinza Escuro #2F2F2F'),
102
+ ('#4A4A4A', 'Cinza Médio #4A4A4A'),
103
+ ('#525258', 'Cinza Escuro #525258'),
104
+
105
+ # Verdes
106
+ ('#132929', 'Verde Musgo Escuro #132929'),
107
+ ('#25552A', 'Verde Floresta Escuro #25552A'),
108
+ ('#818C27', 'Verde Oliva #818C27'),
109
+ ('#BAC946', 'Verdinho #BAC946'),
110
+
111
+ # Quentes
112
+ ('#DB8C3F', 'Dourado Queimado #DB8C3F'),
113
+
114
+ # Vermelhos
115
+ ('#990005', 'Vermelho Bordô #990005'),
73
116
  ]
74
117
 
75
118
  # Cores para backgrounds - removendo duplicatas
@@ -112,55 +155,75 @@ BRAND_BG_CHOICES = [
112
155
 
113
156
  # Cores para botões e elementos interativos
114
157
  BRAND_BUTTON_CHOICES = [
158
+ # Especial
115
159
  ('transparent', 'Transparente'),
116
- ('#024248', 'Verde ENAP'),
117
- ('#007D7A', 'Verde Link ENAP'),
118
- ('#AD6BFC', 'Roxo Gnova'),
119
- ('#B396FC', 'Roxo Claro Gnova'),
120
- ('#2F134F', 'Roxo Escuro LIIA'),
121
- ('blue', 'Azul'),
122
- ('green', 'Verde'),
123
- ('red', 'Vermelho'),
124
- ('orange', 'Laranja'),
125
- ('purple', 'Roxo'),
126
- ('indigo', 'Índigo'),
127
- ('emerald', 'Esmeralda'),
128
- ('#FFFFFF', 'Branco (#FFFFFF)'),
129
- ('#525258', 'Cinza Escuro (#525258)'),
130
- ('#FF7A1B', 'Laranja Vibrante'),
131
- ('#FFEB31', 'Amarelo Canário'),
132
- ('#3A8A9C', 'Azul Petróleo'),
133
- ('#818C27', 'Verde Oliva'),
134
- ('#DB8C3F', 'Dourado Queimado'),
135
- ('#EA1821', 'Vermelho Cereja'),
136
- ('#25552A', 'Verde Floresta Escuro'),
137
- ('#BAC946', 'Verdinho'),
160
+
161
+ # Cores Institucionais ENAP
162
+ ('#024248', 'Verde ENAP #024248'),
163
+ ('#007D7A', 'Verde Link ENAP #007D7A'),
164
+
165
+ # Cores Gnova
166
+ ('#AD6BFC', 'Roxo Gnova #AD6BFC'),
167
+ ('#B396FC', 'Roxo Claro Gnova #B396FC'),
168
+
169
+ # Cores LIIA
170
+ ('#2F134F', 'Roxo Escuro LIIA #2F134F'),
171
+
172
+ # Neutros
173
+ ('#FFFFFF', 'Branco #FFFFFF'),
174
+ ('#525258', 'Cinza Escuro #525258'),
175
+
176
+ # Verdes
177
+ ('#25552A', 'Verde Floresta Escuro #25552A'),
178
+ ('#818C27', 'Verde Oliva #818C27'),
179
+ ('#BAC946', 'Verdinho #BAC946'),
180
+
181
+ # Azuis
182
+ ('#3A8A9C', 'Azul Petróleo #3A8A9C'),
183
+
184
+ # Quentes
185
+ ('#FF7A1B', 'Laranja Vibrante #FF7A1B'),
186
+ ('#FFEB31', 'Amarelo Canário #FFEB31'),
187
+ ('#DB8C3F', 'Dourado Queimado #DB8C3F'),
188
+
189
+ # Vermelhos
190
+ ('#EA1821', 'Vermelho Cereja #EA1821'),
138
191
  ]
139
192
 
193
+
140
194
  # Cores para hover dos botões
141
195
  BRAND_HOVER_CHOICES = [
142
- ('#024248', 'Verde ENAP'),
143
- ('#007D7A', 'Verde Link ENAP'),
144
- ('#AD6BFC', 'Roxo Gnova'),
145
- ('#B396FC', 'Roxo Claro Gnova'),
146
- ('#2F134F', 'Roxo Escuro LIIA'),
147
- ('blue', 'Azul'),
148
- ('green', 'Verde'),
149
- ('red', 'Vermelho'),
150
- ('orange', 'Laranja'),
151
- ('purple', 'Roxo'),
152
- ('indigo', 'Índigo'),
153
- ('emerald', 'Esmeralda'),
154
- ('#FFFFFF', 'Branco (#FFFFFF)'),
155
- ('#525258', 'Cinza Escuro (#525258)'),
156
- ('#E6690F', 'Laranja Escuro'),
157
- ('#E6D220', 'Amarelo Escuro'),
158
- ('#2E7A8A', 'Azul Petróleo Escuro'),
159
- ('#6F7B22', 'Verde Oliva Escuro'),
160
- ('#C27B35', 'Dourado Escuro'),
161
- ('#D1141B', 'Vermelho Cereja Escuro'),
162
- ('#1E4420', 'Verde Floresta Muito Escuro'),
163
- ('#BAC946', 'Verdinho'),
196
+ # Cores Institucionais ENAP
197
+ ('#024248', 'Verde ENAP #024248'),
198
+ ('#007D7A', 'Verde Link ENAP #007D7A'),
199
+
200
+ # Cores Gnova
201
+ ('#AD6BFC', 'Roxo Gnova #AD6BFC'),
202
+ ('#B396FC', 'Roxo Claro Gnova #B396FC'),
203
+
204
+ # Cores LIIA
205
+ ('#2F134F', 'Roxo Escuro LIIA #2F134F'),
206
+
207
+
208
+ # Neutros
209
+ ('#FFFFFF', 'Branco #FFFFFF'),
210
+ ('#525258', 'Cinza Escuro #525258'),
211
+
212
+ # Verdes - Variações Escuras
213
+ ('#1E4420', 'Verde Floresta #1E4420'),
214
+ ('#6F7B22', 'Verde Oliva Escuro #6F7B22'),
215
+ ('#BAC946', 'Verdinho #BAC946'),
216
+
217
+ # Azuis - Variações Escuras
218
+ ('#2E7A8A', 'Azul Petróleo #2E7A8A'),
219
+
220
+ # Quentes - Variações Escuras
221
+ ('#E6690F', 'Laranja #E6690F'),
222
+ ('#E6D220', 'Amarelo #E6D220'),
223
+ ('#C27B35', 'Dourado #C27B35'),
224
+
225
+ # Vermelhos - Variações Escuras
226
+ ('#D1141B', 'Vermelho #D1141B'),
164
227
  ]
165
228
 
166
229