wagtail-enap-designsystem 1.2.1.185__py3-none-any.whl → 1.2.1.187__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 (23) hide show
  1. enap_designsystem/blocks/__init__.py +3 -1
  2. enap_designsystem/blocks/html_blocks.py +16 -2
  3. enap_designsystem/migrations/0458_alter_areaaluno_body_alter_enapcomponentes_body_and_more.py +63230 -0
  4. enap_designsystem/migrations/0459_alter_capsulapage_metodo_verificacao_cards.py +579 -0
  5. enap_designsystem/migrations/0460_capsulapage_por_que_importante_detalhado_imagem.py +31 -0
  6. enap_designsystem/migrations/0461_alter_areaaluno_body_alter_articlepage_body_and_more.py +87305 -0
  7. enap_designsystem/models.py +15 -1
  8. enap_designsystem/static/enap_designsystem/blocks/accordions.css +9 -3
  9. enap_designsystem/static/enap_designsystem/blocks/banner_topicos_block.css +1 -1
  10. enap_designsystem/static/enap_designsystem/blocks/btn.css +20 -17
  11. enap_designsystem/static/enap_designsystem/blocks/capsulas.css +242 -5
  12. enap_designsystem/static/enap_designsystem/blocks/cta_destaque_formacao_block.css +1 -1
  13. enap_designsystem/static/enap_designsystem/blocks/tags.css +0 -1
  14. enap_designsystem/templates/enap_designsystem/blocks/button_block.html +10 -12
  15. enap_designsystem/templates/enap_designsystem/blocks/localizacao_block.html +1 -0
  16. enap_designsystem/templates/enap_designsystem/blocks/richtext_block_title.html +48 -0
  17. enap_designsystem/templates/enap_designsystem/blocks/texto_imagem.html +28 -0
  18. enap_designsystem/templates/enap_designsystem/pages/capsula_page.html +477 -468
  19. {wagtail_enap_designsystem-1.2.1.185.dist-info → wagtail_enap_designsystem-1.2.1.187.dist-info}/METADATA +1 -1
  20. {wagtail_enap_designsystem-1.2.1.185.dist-info → wagtail_enap_designsystem-1.2.1.187.dist-info}/RECORD +23 -18
  21. {wagtail_enap_designsystem-1.2.1.185.dist-info → wagtail_enap_designsystem-1.2.1.187.dist-info}/WHEEL +0 -0
  22. {wagtail_enap_designsystem-1.2.1.185.dist-info → wagtail_enap_designsystem-1.2.1.187.dist-info}/licenses/LICENSE +0 -0
  23. {wagtail_enap_designsystem-1.2.1.185.dist-info → wagtail_enap_designsystem-1.2.1.187.dist-info}/top_level.txt +0 -0
@@ -6412,6 +6412,8 @@ class CapsulaPage(Page):
6412
6412
  help_text="Texto completo - aparece ao clicar em 'Leia mais'",
6413
6413
  features=['h3', 'h4', 'bold', 'italic', 'link', 'ol', 'ul']
6414
6414
  )
6415
+
6416
+
6415
6417
 
6416
6418
  # 2. Por que é importante?
6417
6419
  por_que_importante_resumo = RichTextField(
@@ -6426,6 +6428,17 @@ class CapsulaPage(Page):
6426
6428
  help_text="Texto completo - aparece ao clicar em 'Leia mais'",
6427
6429
  features=['h3', 'h4', 'bold', 'italic', 'link', 'ol', 'ul']
6428
6430
  )
6431
+
6432
+ por_que_importante_detalhado_imagem = StreamField(
6433
+ [
6434
+ ('image', ImageChooserBlock(required=False, label="Imagem principal"))
6435
+ ],
6436
+ blank=True,
6437
+ use_json_field=True,
6438
+ max_num=1,
6439
+ verbose_name="Imagem",
6440
+ help_text="Imagem ilustrativa da seção"
6441
+ )
6429
6442
 
6430
6443
  # ==========================================
6431
6444
  # 3. QUANDO UTILIZAR? - STREAMFIELD DE CARDS
@@ -6490,7 +6503,7 @@ class CapsulaPage(Page):
6490
6503
  metodo_verificacao_cards = StreamField(
6491
6504
  [
6492
6505
  ("enap_cardgrid", EnapCardGridBlock([
6493
- ("card", CardBlock()),
6506
+ ("card", EnapCardInfo()),
6494
6507
  ]))
6495
6508
  ],
6496
6509
  blank=True,
@@ -6580,6 +6593,7 @@ class CapsulaPage(Page):
6580
6593
  MultiFieldPanel([
6581
6594
  FieldPanel('por_que_importante_resumo'),
6582
6595
  FieldPanel('por_que_importante_detalhado'),
6596
+ FieldPanel('por_que_importante_detalhado_imagem'),
6583
6597
  ], heading="2️⃣ Por que é importante?", classname="collapsible collapsed"),
6584
6598
 
6585
6599
  MultiFieldPanel([
@@ -33,7 +33,7 @@ body {
33
33
 
34
34
  .h2-accordion{
35
35
  color: #58606E;
36
- font-size: 18px;
36
+ font-size: 20px;
37
37
  text-align: left;
38
38
  margin: 0;
39
39
  }
@@ -53,7 +53,7 @@ body {
53
53
 
54
54
  .h2-accordion-faq{
55
55
  color: #58606E;
56
- font-size: 20px;
56
+ font-size: 25px;
57
57
  text-align: left;
58
58
  margin: 0;
59
59
  margin-bottom: 10px;
@@ -65,7 +65,13 @@ body {
65
65
 
66
66
  .p-accordion{
67
67
  color: #58606E;
68
- font-size: 16px;
68
+ font-size: 18px;
69
+ margin: 0;
70
+ }
71
+
72
+ .panel p{
73
+ color: #58606E;
74
+ font-size: 18px;
69
75
  margin: 0;
70
76
  }
71
77
 
@@ -82,7 +82,7 @@
82
82
  padding: 12px 0;
83
83
  text-decoration: none;
84
84
  color: inherit;
85
- border-bottom: 1px solid #f0f0f0;
85
+ border-bottom: 1px solid #8E99AB;
86
86
  }
87
87
 
88
88
  .menu-link:hover {
@@ -4,6 +4,7 @@ a{
4
4
  }
5
5
 
6
6
  .btn{
7
+ margin: 10px 0;
7
8
  padding: 0;
8
9
  border: none;
9
10
  border-radius: 32px;
@@ -12,34 +13,21 @@ a{
12
13
  justify-content: center;
13
14
  gap: 8px;
14
15
  text-decoration: none;
15
- margin: 20px 0;
16
16
  }
17
17
 
18
18
  .content-richtext a {
19
19
  display: inline-flex;
20
20
  align-items: center;
21
- padding: 8px 14px;
22
- background-color: #007D7A;
21
+ padding: 0px 10px;
22
+ background-color: transparent;
23
23
  border: none;
24
- color: white;
24
+ color: #007D7A;
25
25
  gap: 8px;
26
26
  width: auto;
27
27
  text-decoration: none;
28
28
  border-radius: 32px;
29
29
  }
30
30
 
31
- .content-richtext a::after {
32
- content: "\f138";
33
- font-family: "Font Awesome 6 Free";
34
- font-weight: 900;
35
- font-size: 0.9em;
36
- }
37
-
38
- .content-richtext a:hover {
39
- background-color: #006562;
40
- color: white;
41
- }
42
-
43
31
  .small{
44
32
  height: 32px !important;
45
33
  border-radius: 32px;
@@ -48,16 +36,22 @@ a{
48
36
  .medium{
49
37
  height: 40px !important;
50
38
  border-radius: 32px;
39
+ font-size: 16px;
40
+ font-weight: 600;
51
41
  }
52
42
 
53
43
  .large{
54
44
  height: 48px !important;
55
45
  border-radius: 32px;
46
+ font-size: 18px;
47
+ font-weight: 600;
56
48
  }
57
49
 
58
50
  .extra-large{
59
51
  height: 60px !important;
60
52
  border-radius: 32px;
53
+ font-size: 20px;
54
+ font-weight: 600;
61
55
  }
62
56
 
63
57
  .small:disabled, .medium:disabled, .large:disabled, .extra-large:disabled{
@@ -94,6 +88,15 @@ a{
94
88
  color: white;
95
89
  }
96
90
 
91
+ .btn.primary.extra-large {
92
+ margin-top: 0px;
93
+ margin-bottom: 0px;
94
+ }
95
+
96
+ .card-buttons{
97
+ margin: 0;
98
+ }
99
+
97
100
  .secondary{
98
101
  padding: 12px 16px;
99
102
  border: 1px solid #007D7A;
@@ -115,7 +118,7 @@ a{
115
118
  border: none;
116
119
  background: transparent;
117
120
  color: #007D7A;
118
- padding: 12px 16px;
121
+ padding: 0;
119
122
  }
120
123
 
121
124
  .terciary:hover {
@@ -1,3 +1,244 @@
1
+ <artifact id="styles_for_icons_continued" type="application/vnd.ant.code" language="css">
2
+ .capsulas-icon-blob {
3
+ width: 120px;
4
+ height: 120px;
5
+ }
6
+
7
+ .capsulas-section-icon {
8
+ font-size: 3.5rem;
9
+ }
10
+ }
11
+
12
+ /* Estilos de ênfase para elementos principais */
13
+ .capsulas-hero__title {
14
+ font-size: 2.5rem;
15
+ font-weight: 700;
16
+ margin-bottom: 1.5rem;
17
+ color: var(--primary, #00a39c);
18
+ line-height: 1.2;
19
+ }
20
+
21
+ .capsulas-hero__tag {
22
+ display: inline-block;
23
+ padding: 0.5rem 1.5rem;
24
+ background: #fff;
25
+ color: var(--primary, #00a39c);
26
+ font-weight: 600;
27
+ border-radius: 30px;
28
+ margin-bottom: 1.5rem;
29
+ box-shadow: 0 4px 10px rgba(0,0,0,0.1);
30
+ }
31
+
32
+ .capsulas-hero__description {
33
+ font-size: 1.2rem;
34
+ margin-bottom: 2rem;
35
+ line-height: 1.6;
36
+ }
37
+
38
+ .capsulas-hero__cta {
39
+ display: inline-flex;
40
+ align-items: center;
41
+ padding: 0.8rem 2rem;
42
+ background: var(--primary, #00a39c);
43
+ color: white;
44
+ text-decoration: none;
45
+ font-weight: 600;
46
+ border-radius: 30px;
47
+ transition: all 0.3s ease;
48
+ box-shadow: 0 5px 15px rgba(0,0,0,0.1);
49
+ }
50
+
51
+ .capsulas-hero__cta:hover {
52
+ background: #008b84;
53
+ transform: translateY(-3px);
54
+ box-shadow: 0 8px 20px rgba(0,0,0,0.15);
55
+ }
56
+
57
+ /* Estilo para os títulos de seção */
58
+ .capsulas-section-title-caps {
59
+ font-size: 2rem;
60
+ font-weight: 700;
61
+ color: var(--primary, #00a39c);
62
+ margin-bottom: 1.5rem;
63
+ position: relative;
64
+ display: inline-block;
65
+ }
66
+
67
+ .capsulas-illustration-card img{
68
+ max-width: 100%;
69
+ height: auto;
70
+ }
71
+
72
+
73
+
74
+ .capsulas-section-description {
75
+ font-size: 1.1rem;
76
+ color: #666;
77
+ margin-bottom: 2rem;
78
+ }
79
+
80
+ /* Ajustes para o layout de duas colunas */
81
+ .capsulas-two-column {
82
+ display: flex;
83
+ gap: 3rem;
84
+ align-items: center;
85
+ margin: 3rem 0;
86
+ }
87
+
88
+ .capsulas-two-column > div {
89
+ flex: 1;
90
+ }
91
+
92
+ /* Estilos para os acordeões */
93
+ .capsulas-accordion {
94
+ margin-top: 2rem;
95
+ border-radius: 12px;
96
+ overflow: hidden;
97
+ box-shadow: 0 5px 15px rgba(0,0,0,0.05);
98
+ transition: all 0.3s ease;
99
+ max-height: 60px;
100
+ }
101
+
102
+ .capsulas-accordion.active {
103
+ max-height: 2000px;
104
+ }
105
+
106
+ .capsulas-accordion__header {
107
+ display: flex;
108
+ justify-content: space-between;
109
+ align-items: center;
110
+ padding: 1.2rem 1.5rem;
111
+ background: white;
112
+ cursor: pointer;
113
+ transition: all 0.3s ease;
114
+ }
115
+
116
+ .capsulas-accordion__title {
117
+ display: flex;
118
+ align-items: center;
119
+ font-size: 1.2rem;
120
+ font-weight: 600;
121
+ color: var(--primary, #00a39c);
122
+ margin: 0;
123
+ }
124
+
125
+ .capsulas-accordion__icon {
126
+ display: flex;
127
+ justify-content: center;
128
+ align-items: center;
129
+ width: 40px;
130
+ height: 40px;
131
+ background: var(--primary-light, #e6f7f5);
132
+ border-radius: 50%;
133
+ margin-right: 1rem;
134
+ }
135
+
136
+ .capsulas-accordion__icon i {
137
+ font-size: 1.2rem;
138
+ color: var(--primary, #00a39c);
139
+ }
140
+
141
+ .capsulas-accordion__toggle i {
142
+ font-size: 1.2rem;
143
+ color: var(--primary, #00a39c);
144
+ transition: all 0.3s ease;
145
+ }
146
+
147
+ .capsulas-accordion.active .capsulas-accordion__toggle i {
148
+ transform: rotate(180deg);
149
+ }
150
+
151
+ .capsulas-accordion__body {
152
+ padding: 0 1.5rem;
153
+ max-height: 0;
154
+ overflow: hidden;
155
+ background: white;
156
+ transition: all 0.3s ease;
157
+ }
158
+
159
+ .capsulas-accordion.active .capsulas-accordion__body {
160
+ padding: 1.5rem;
161
+ max-height: 2000px;
162
+ }
163
+
164
+ /* Fixar o menu de navegação por tabs quando rolar a página */
165
+ .capsulas-tab-navigation {
166
+ background: white;
167
+ width: 100%;
168
+ z-index: 1000;
169
+ transition: all 0.3s ease;
170
+ }
171
+
172
+ .capsulas-tab-navigation.fixed {
173
+ position: sticky;
174
+ top: 0;
175
+ box-shadow: 0 5px 15px rgba(0,0,0,0.1);
176
+ }
177
+
178
+ .fa-ban:before, .fa-cancel:before {
179
+ width: 100%;
180
+ }
181
+
182
+ /* Botões estilizados */
183
+ .capsulas-btn {
184
+ display: inline-flex;
185
+ align-items: center;
186
+ padding: 0.8rem 1.5rem;
187
+ border: none;
188
+ border-radius: 30px;
189
+ font-weight: 600;
190
+ cursor: pointer;
191
+ text-decoration: none;
192
+ }
193
+
194
+ .capsulas-btn--primary {
195
+ background: var(--primary, #00a39c);
196
+ color: white;
197
+ }
198
+
199
+ .capsulas-btn--primary:hover {
200
+ background: #008b84;
201
+ transform: translateY(-3px);
202
+ box-shadow: 0 5px 15px rgba(0,0,0,0.1);
203
+ }
204
+
205
+ .capsulas-btn i {
206
+ margin-left: 0.5rem;
207
+ }
208
+
209
+ /* Estilo para cartões de conteúdo */
210
+ .capsulas-content-card {
211
+ background: white;
212
+ border-radius: 12px;
213
+ overflow: hidden;
214
+ box-shadow: 0 5px 15px rgba(0,0,0,0.05);
215
+ transition: all 0.3s ease;
216
+ }
217
+
218
+ .capsulas-content-card:hover {
219
+ transform: translateY(-5px);
220
+ box-shadow: 0 10px 20px rgba(0,0,0,0.1);
221
+ }
222
+
223
+ .capsulas-card__body {
224
+ padding: 1.5rem;
225
+ }
226
+
227
+ .capsulas-card__title {
228
+ font-size: 1.3rem;
229
+ font-weight: 600;
230
+ margin-bottom: 1rem;
231
+ }
232
+
233
+ .capsulas-card__text {
234
+ color: #666;
235
+ margin-bottom: 1.5rem;
236
+ }
237
+ </artifact>
238
+
239
+
240
+
241
+
1
242
  /* ============================================ */
2
243
  /* Capsulas index */
3
244
  /* ============================================ */
@@ -457,7 +698,7 @@
457
698
  .recurso-card-icone {
458
699
  width: 56px;
459
700
  height: 56px;
460
- background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
701
+ background: #025257;
461
702
  border-radius: var(--radius-lg);
462
703
  display: flex;
463
704
  align-items: center;
@@ -949,10 +1190,6 @@ nav a:hover {
949
1190
  margin-left: 0.5rem;
950
1191
  }
951
1192
 
952
- /* Main Content */
953
- .capsulas-main-content {
954
- padding: 3rem 0 5rem;
955
- }
956
1193
 
957
1194
  /* Content Sections */
958
1195
  .capsulas-content-section {
@@ -25,7 +25,7 @@
25
25
 
26
26
  .icone-container{
27
27
  display: flex;
28
- justify-content: center;
28
+ justify-content: space-between;
29
29
  align-items: center;
30
30
  flex-direction: column;
31
31
  gap: 10px;
@@ -31,7 +31,6 @@
31
31
  }
32
32
 
33
33
  .terciary{
34
- background-color: white;
35
34
  color: #007D7A;
36
35
  cursor: pointer;
37
36
  }
@@ -4,16 +4,14 @@
4
4
 
5
5
  <script src="https://kit.fontawesome.com/2e8803d931.js" crossorigin="anonymous"></script>
6
6
 
7
- <a href="{{self.url}}">
8
- <button class="btn {{self.type_class}} {{self.size_class}}" style="width: auto;" href="{{self.url}}">
9
- {% if self.icone_bool and self.icone_posicao == 'antes' %}
10
- <i class="fa-solid fa-circle-chevron-right"></i>
11
- {% endif %}
12
-
13
- {{self.get_title}}
14
-
15
- {% if self.icone_bool and self.icone_posicao == 'depois' %}
16
- <i class="fa-solid fa-circle-chevron-right"></i>
17
- {% endif %}
18
- </button>
7
+ <a href="{{self.url}}" class="btn {{self.type_class}} {{self.size_class}}" {% if self.target_blank %}target="_blank" rel="noopener noreferrer"{% endif %}>
8
+ {% if self.icone_bool and self.icone_posicao == 'antes' %}
9
+ <i class="fa-solid fa-circle-chevron-right"></i>
10
+ {% endif %}
11
+
12
+ {{self.get_title}}
13
+
14
+ {% if self.icone_bool and self.icone_posicao == 'depois' %}
15
+ <i class="fa-solid fa-circle-chevron-right"></i>
16
+ {% endif %}
19
17
  </a>
@@ -58,6 +58,7 @@
58
58
  /* Painel de informações sobreposto */
59
59
  .painel-informacoes {
60
60
  display: flex;
61
+ padding-top: 60px;
61
62
  }
62
63
 
63
64
  /* Header do painel com linha vertical */
@@ -0,0 +1,48 @@
1
+ {% load wagtailcore_tags %}
2
+
3
+ <style>
4
+ /* Definição da cor global para todos os elementos do content-richtext-title */
5
+ .content-richtext-title * {
6
+ color: #024248;
7
+ margin: 20px 0 40px 0;
8
+ }
9
+
10
+ .content-richtext-title {
11
+ color: #024248;
12
+ margin: 20px 0 20px 0;
13
+ }
14
+
15
+ /* Estilização específica para h1 */
16
+ .content-richtext-title h1 {
17
+ font-size: 40px;
18
+ font-weight: 600;
19
+ }
20
+
21
+ .content-richtext-title h2 {
22
+ font-size: 40px;
23
+ margin: 15px 0;
24
+ color: #024248;
25
+ }
26
+
27
+ .content-richtext-title ul,
28
+ .content-richtext-title ol {
29
+ margin-left: 1.5em;
30
+ margin-bottom: 1em;
31
+ }
32
+
33
+ .content-richtext-title blockquote {
34
+ border-left: 3px solid #007D7A;
35
+ padding-left: 1em;
36
+ margin-left: 0;
37
+ }
38
+
39
+ .content-richtext-title img {
40
+ max-width: 100%;
41
+ height: auto;
42
+ margin: 1em 0;
43
+ }
44
+ </style>
45
+
46
+ <div class="content-richtext-title">
47
+ {% block block_render %}{{ self|richtext }}{% endblock %}
48
+ </div>
@@ -24,6 +24,34 @@
24
24
  </a>
25
25
  </div>
26
26
  {% endif %}
27
+
28
+ <!-- Links/Botões adicionais (até 3) -->
29
+ {% if value.links %}
30
+ <div class="texto-imagem-block__links-container">
31
+ {% for link in value.links %}
32
+ {% if link.block_type == 'button' %}
33
+ <a href="{{ link.value.url }}"
34
+ class="btn {{ link.value.type_class }} {{ link.value.size_class }}"
35
+ {% if link.value.target_blank %}target="_blank" rel="noopener noreferrer"{% endif %}>
36
+
37
+ {% if link.value.icone_bool and link.value.icone_posicao == 'antes' %}
38
+ <i class="fa-solid fa-circle-chevron-right"></i>
39
+ {% endif %}
40
+
41
+ {{ link.value.get_title }}
42
+
43
+ {% if link.value.icone_bool and link.value.icone_posicao == 'depois' %}
44
+ <i class="fa-solid fa-circle-chevron-right"></i>
45
+ {% endif %}
46
+
47
+ {% if link.value.target_blank %}
48
+ <span class="sr-only">(abre em nova aba)</span>
49
+ {% endif %}
50
+ </a>
51
+ {% endif %}
52
+ {% endfor %}
53
+ </div>
54
+ {% endif %}
27
55
  </div>
28
56
 
29
57
  <!-- Coluna de imagem -->