wagtail-enap-designsystem 1.2.1.145__py3-none-any.whl → 1.2.1.147__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.

Potentially problematic release.


This version of wagtail-enap-designsystem might be problematic. Click here for more details.

Files changed (32) hide show
  1. enap_designsystem/blocks/__init__.py +2 -0
  2. enap_designsystem/blocks/html_blocks.py +88 -0
  3. enap_designsystem/models.py +81 -13
  4. enap_designsystem/static/enap_designsystem/blocks/apresentacao_block.css +174 -0
  5. enap_designsystem/static/enap_designsystem/blocks/cards_section.css +112 -0
  6. enap_designsystem/static/enap_designsystem/blocks/cards_titles.css +229 -0
  7. enap_designsystem/static/enap_designsystem/blocks/carousel_images.css +323 -0
  8. enap_designsystem/static/enap_designsystem/blocks/carousel_responsive.css +522 -0
  9. enap_designsystem/static/enap_designsystem/blocks/carousel_responsivo_snippet.css +294 -0
  10. enap_designsystem/static/enap_designsystem/blocks/clientes_block.css +146 -0
  11. enap_designsystem/templates/enap_designsystem/base.html +8 -1
  12. enap_designsystem/templates/enap_designsystem/blocks/apresentacao_block.html +10 -8
  13. enap_designsystem/templates/enap_designsystem/blocks/apresentacao_simple_block.html +4 -3
  14. enap_designsystem/templates/enap_designsystem/blocks/banner.html +14 -1
  15. enap_designsystem/templates/enap_designsystem/blocks/banner_logo.html +15 -1
  16. enap_designsystem/templates/enap_designsystem/blocks/card_block.html +2 -2
  17. enap_designsystem/templates/enap_designsystem/blocks/cards_section.html +2 -109
  18. enap_designsystem/templates/enap_designsystem/blocks/cards_titles.html +11 -3
  19. enap_designsystem/templates/enap_designsystem/blocks/carousel.html +1 -187
  20. enap_designsystem/templates/enap_designsystem/blocks/carousel_images.html +17 -314
  21. enap_designsystem/templates/enap_designsystem/blocks/carousel_responsive.html +0 -328
  22. enap_designsystem/templates/enap_designsystem/blocks/carousel_responsivo_snippet.html +3 -197
  23. enap_designsystem/templates/enap_designsystem/blocks/clientes_block.html +9 -152
  24. enap_designsystem/templates/enap_designsystem/blocks/footer_block.html +122 -0
  25. enap_designsystem/templates/enap_designsystem/blocks/section_block.html +1 -1
  26. enap_designsystem/templates/enap_designsystem/blocks/video_hero_banner.html +1 -2
  27. enap_designsystem/templates/enap_designsystem/pages/showcase_components.html +501 -180
  28. {wagtail_enap_designsystem-1.2.1.145.dist-info → wagtail_enap_designsystem-1.2.1.147.dist-info}/METADATA +1 -1
  29. {wagtail_enap_designsystem-1.2.1.145.dist-info → wagtail_enap_designsystem-1.2.1.147.dist-info}/RECORD +32 -24
  30. {wagtail_enap_designsystem-1.2.1.145.dist-info → wagtail_enap_designsystem-1.2.1.147.dist-info}/WHEEL +0 -0
  31. {wagtail_enap_designsystem-1.2.1.145.dist-info → wagtail_enap_designsystem-1.2.1.147.dist-info}/licenses/LICENSE +0 -0
  32. {wagtail_enap_designsystem-1.2.1.145.dist-info → wagtail_enap_designsystem-1.2.1.147.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,9 @@
1
1
  <!-- templates/blocks/carousel_images.html -->
2
2
  {% load wagtailimages_tags %}
3
3
 
4
+ {% load wagtailcore_tags wagtailimages_tags %}
5
+ {% load static %}
6
+
4
7
  <section class="enap-carousel"
5
8
  data-autoplay="{{ value.autoplay|yesno:'true,false' }}"
6
9
  data-interval="{{ value.intervalo_autoplay }}000"
@@ -22,6 +25,10 @@
22
25
  <div class="slide-image desktop-image">
23
26
  <img src="{{ img_desktop.url }}" alt="{{ slide.titulo|default:'Slide' }}" />
24
27
  </div>
28
+ {% else %}
29
+ <div class="slide-image desktop-image">
30
+ <img src="{% static 'enap_designsystem/blocks/suap/default_1.png' %}" alt="Imagem padrão com logo da Enap e fundo verde" />
31
+ </div>
25
32
  {% endif %}
26
33
 
27
34
  <!-- Imagem Mobile -->
@@ -30,6 +37,10 @@
30
37
  <div class="slide-image mobile-image">
31
38
  <img src="{{ img_mobile.url }}" alt="{{ slide.titulo|default:'Slide' }}" />
32
39
  </div>
40
+ {% else %}
41
+ <div class="slide-image mobile-image">
42
+ <img src="{% static 'enap_designsystem/blocks/suap/default_1.png' %}" alt="Imagem padrão com logo da Enap e fundo verde" />
43
+ </div>
33
44
  {% endif %}
34
45
 
35
46
  <!-- Overlay -->
@@ -58,12 +69,12 @@
58
69
  <div class="slide-button-wrapper">
59
70
  {% if slide.link_botao %}
60
71
  <a href="{{ slide.link_botao }}"
61
- class="slide-button {{ slide.estilo_botao }}"
62
- {% if slide.estilo_botao == 'personalizado' %}
63
- style="background-color: {{ slide.cor_fundo_botao }}; color: {{ slide.cor_texto_botao }}; border-color: {{ slide.cor_borda_botao }};"
64
- {% elif slide.estilo_botao == 'outline' %}
65
- style="border-color: {{ slide.cor_borda_botao }}; color: {{ slide.cor_borda_botao }};"
66
- {% endif %}>
72
+ class="slide-button {{ slide.estilo_botao }}"
73
+ {% if slide.estilo_botao == 'personalizado' %}
74
+ style="background-color: {{ slide.cor_fundo_botao }}; color: {{ slide.cor_texto_botao }}; border-color: {{ slide.cor_borda_botao }};"
75
+ {% elif slide.estilo_botao == 'outline' %}
76
+ style="border-color: {{ slide.cor_borda_botao }}; color: {{ slide.cor_borda_botao }};"
77
+ {% endif %}>
67
78
  {{ slide.texto_botao }}
68
79
  </a>
69
80
  {% else %}
@@ -127,143 +138,10 @@
127
138
  margin-bottom: 60px;
128
139
  }
129
140
 
130
- .carousel-container {
131
- position: relative;
132
- width: 100%;
133
- height: 100%;
134
- max-width: 1142px;
135
- margin: auto;
136
- border-radius: 25px;
137
- overflow: hidden;
138
- }
139
-
140
- .carousel-wrapper {
141
- position: relative;
142
- width: 100%;
143
- height: 100%;
144
- }
145
-
146
- .carousel-slides {
147
- position: relative;
148
- width: 100%;
149
- height: 100%;
150
- }
151
-
152
- .carousel-slide {
153
- position: absolute;
154
- top: 0;
155
- left: 0;
156
- width: 100%;
157
- height: 100%;
158
- opacity: 0;
159
- transition: opacity 0.6s ease-in-out;
160
- display: flex;
161
- align-items: center;
162
- justify-content: center;
163
- }
164
-
165
- .carousel-slide.active {
166
- opacity: 1;
167
- }
168
-
169
- .slide-image {
170
- position: absolute;
171
- top: 0;
172
- left: 0;
173
- width: 100%;
174
- height: 100%;
175
- z-index: 1;
176
- }
177
-
178
- .slide-image img {
179
- width: 100%;
180
- height: 100%;
181
- object-fit: cover;
182
- object-position: center;
183
- }
184
-
185
- /* Responsividade das Imagens */
186
- .mobile-image {
187
- display: none;
188
- }
189
-
190
- .desktop-image {
191
- display: block;
192
- }
193
-
194
141
  @media (max-width: 768px) {
195
142
  .enap-carousel {
196
143
  height: var(--altura-mobile);
197
144
  }
198
-
199
- .mobile-image {
200
- display: block;
201
- }
202
-
203
- .desktop-image {
204
- display: none;
205
- }
206
- }
207
-
208
-
209
- /* Conteúdo do Slide */
210
- .slide-content {
211
- position: absolute;
212
- z-index: 3;
213
- color: white;
214
- text-align: center;
215
- padding: 20px;
216
- }
217
-
218
- .slide-content.centro {
219
- top: 50%;
220
- left: 50%;
221
- transform: translate(-50%, -50%);
222
- }
223
-
224
- .slide-content.esquerda {
225
- top: 50%;
226
- transform: translateY(-50%);
227
- text-align: left;
228
- width: 100%;
229
- max-width: 1142px;
230
- margin: auto;
231
- }
232
-
233
- .slide-content.direita {
234
- top: 50%;
235
- right: 60px;
236
- transform: translateY(-50%);
237
- text-align: right;
238
- }
239
-
240
- .slide-content.inferior-esquerda {
241
- bottom: 60px;
242
- left: 60px;
243
- text-align: left;
244
- }
245
-
246
- .slide-content.inferior-centro {
247
- bottom: 60px;
248
- left: 50%;
249
- transform: translateX(-50%);
250
- }
251
-
252
- .slide-content.inferior-direita {
253
- bottom: 60px;
254
- right: 60px;
255
- text-align: right;
256
- }
257
-
258
- .content-wrapper {
259
- max-width: 600px;
260
- }
261
-
262
- .slide-title {
263
- font-size: 2.5rem;
264
- font-weight: 700;
265
- margin: 0 0 16px 0;
266
- line-height: 1.2;
267
145
  }
268
146
 
269
147
  .slide-subtitle {
@@ -274,181 +152,6 @@
274
152
  line-height: 1.4;
275
153
  }
276
154
 
277
- .slide-subtitle p{
278
- color: white;
279
- }
280
-
281
- .slide-button-wrapper {
282
- margin-top: 20px;
283
- }
284
-
285
- .slide-button {
286
- display: inline-block;
287
- padding: 12px 32px;
288
- border-radius: 32px;
289
- font-weight: 600;
290
- text-decoration: none;
291
- border: 2px solid transparent;
292
- transition: all 0.3s ease;
293
- cursor: pointer;
294
- font-size: 1rem;
295
- text-transform: uppercase;
296
- letter-spacing: 0.5px;
297
- }
298
-
299
- .slide-button.primario {
300
- background: #007D7A;
301
- color: white;
302
- }
303
-
304
- .slide-button.primario:hover {
305
- background: #006969;
306
- transform: translateY(-2px);
307
- }
308
-
309
- .slide-button.secundario {
310
- background: white;
311
- color: #007D7A;
312
- border-color: white;
313
- }
314
-
315
- .slide-button.secundario:hover {
316
- background: #f8f9fa;
317
- transform: translateY(-2px);
318
- }
319
-
320
- .slide-button.outline {
321
- background: transparent;
322
- color: white;
323
- border-color: white;
324
- }
325
-
326
- .slide-button.outline:hover {
327
- background: white;
328
- color: #006969;
329
- transform: translateY(-2px);
330
- }
331
-
332
- /* Setas de Navegação */
333
- .carousel-arrow {
334
- position: absolute;
335
- top: 50%;
336
- transform: translateY(-50%);
337
- background: #007D7A;
338
- border: 2px white solid;
339
- border-radius: 50%;
340
- width: 30px;
341
- height: 30px;
342
- display: flex;
343
- align-items: center;
344
- justify-content: center;
345
- cursor: pointer;
346
- transition: all 0.3s ease;
347
- z-index: 4;
348
- color: white;
349
- }
350
-
351
- .carousel-arrow:hover {
352
- background: #006969;
353
- transform: translateY(-50%) scale(1.1);
354
- }
355
-
356
- .carousel-arrow.prev {
357
- left: 20px;
358
- }
359
-
360
- .carousel-arrow.next {
361
- right: 20px;
362
- }
363
-
364
- /* Indicadores */
365
- .carousel-indicators {
366
- position: absolute;
367
- bottom: 20px;
368
- left: 50%;
369
- transform: translateX(-50%);
370
- display: flex;
371
- gap: 12px;
372
- z-index: 4;
373
- }
374
-
375
- .indicator {
376
- width: 12px;
377
- height: 12px;
378
- border-radius: 50%;
379
- border: 2px solid white;
380
- background: transparent;
381
- cursor: pointer;
382
- transition: all 0.3s ease;
383
- }
384
-
385
- .indicator.active {
386
- background: white;
387
- }
388
-
389
- .indicator:hover {
390
- transform: scale(1.2);
391
- }
392
-
393
- /* Responsividade */
394
- @media (max-width: 768px) {
395
- .slide-content {
396
- padding: 15px;
397
- }
398
-
399
- .slide-content.esquerda,
400
- .slide-content.direita,
401
- .slide-content.inferior-esquerda,
402
- .slide-content.inferior-direita {
403
- left: 20px;
404
- right: 20px;
405
- text-align: center;
406
- transform: none;
407
- height: 100%;
408
- }
409
-
410
- .slide-content.inferior-esquerda,
411
- .slide-content.inferior-centro,
412
- .slide-content.inferior-direita {
413
- bottom: 40px;
414
- }
415
-
416
- .slide-title {
417
- font-size: 1.8rem;
418
- }
419
-
420
- .slide-subtitle {
421
- font-size: 1rem;
422
- }
423
-
424
- .carousel-arrow {
425
- width: 40px;
426
- height: 40px;
427
- }
428
-
429
- .carousel-arrow.prev {
430
- left: 15px;
431
- }
432
-
433
- .carousel-arrow.next {
434
- right: 15px;
435
- }
436
- }
437
-
438
- @media (max-width: 480px) {
439
- .slide-title {
440
- font-size: 1.5rem;
441
- }
442
-
443
- .slide-subtitle {
444
- font-size: 0.9rem;
445
- }
446
-
447
- .slide-button {
448
- padding: 10px 24px;
449
- font-size: 0.9rem;
450
- }
451
- }
452
155
  </style>
453
156
 
454
157
  <script>
@@ -146,335 +146,7 @@
146
146
 
147
147
  </div>
148
148
 
149
- <!-- CSS - MANTÉM TODAS AS REGRAS EXISTENTES -->
150
- <style>
151
- /* Carrossel Responsivo - Snippet */
152
- .carousel-responsivo {
153
- position: relative;
154
- width: 100%;
155
- margin-bottom: 2rem;
156
- }
157
149
 
158
- .carousel-responsivo__title {
159
- text-align: center;
160
- margin-bottom: 2rem;
161
- font-size: 2rem;
162
- font-weight: 700;
163
- color: var(--enap-primary-color, #1976d2);
164
- }
165
-
166
- .carousel-responsivo__container {
167
- position: relative;
168
- width: 100%;
169
- height: var(--carousel-height-mobile);
170
- overflow: hidden;
171
- border-radius: 0.5rem;
172
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
173
- }
174
-
175
- @media (min-width: 768px) {
176
- .carousel-responsivo__container {
177
- height: var(--carousel-height-desktop);
178
- }
179
- }
180
-
181
- .carousel-responsivo__slides {
182
- position: relative;
183
- width: 100%;
184
- height: 100%;
185
- }
186
-
187
- .carousel-responsivo__slide {
188
- position: absolute;
189
- top: 0;
190
- left: 0;
191
- width: 100%;
192
- height: 100%;
193
- opacity: 0;
194
- transition: opacity 0.6s ease-in-out;
195
- display: flex;
196
- align-items: center;
197
- }
198
-
199
- .carousel-responsivo__slide[data-active="true"] {
200
- opacity: 1;
201
- }
202
-
203
- .carousel-responsivo__picture {
204
- position: absolute;
205
- top: 0;
206
- left: 0;
207
- width: 100%;
208
- height: 100%;
209
- z-index: 1;
210
- }
211
-
212
- .carousel-responsivo__image {
213
- width: 100%;
214
- height: 100%;
215
- object-fit: cover;
216
- object-position: center;
217
- }
218
-
219
- .carousel-responsivo__overlay {
220
- position: absolute;
221
- top: 0;
222
- left: 0;
223
- width: 100%;
224
- height: 100%;
225
- background: linear-gradient(
226
- 135deg,
227
- rgba(0, 0, 0, 0.6) 0%,
228
- rgba(0, 0, 0, 0.3) 50%,
229
- rgba(0, 0, 0, 0.1) 100%
230
- );
231
- z-index: 2;
232
- }
233
-
234
- .carousel-responsivo__content {
235
- position: relative;
236
- z-index: 3;
237
- width: 100%;
238
- padding: 2rem 0;
239
- }
240
-
241
- .carousel-responsivo__text-wrapper {
242
- max-width: 600px;
243
- color: white;
244
- }
245
-
246
- .carousel-responsivo__slide--left .carousel-responsivo__text-wrapper {
247
- margin-left: 0;
248
- text-align: left;
249
- }
250
-
251
- .carousel-responsivo__slide--center .carousel-responsivo__text-wrapper {
252
- margin: 0 auto;
253
- text-align: center;
254
- }
255
-
256
- .carousel-responsivo__slide--right .carousel-responsivo__text-wrapper {
257
- margin-left: auto;
258
- text-align: right;
259
- }
260
-
261
- .carousel-responsivo__slide-title {
262
- font-size: 1.5rem;
263
- font-weight: 700;
264
- margin-bottom: 1rem;
265
- line-height: 1.2;
266
- }
267
-
268
- @media (min-width: 768px) {
269
- .carousel-responsivo__slide-title {
270
- font-size: 2.5rem;
271
- }
272
- }
273
-
274
- .carousel-responsivo__slide-subtitle {
275
- font-size: 1rem;
276
- margin-bottom: 1rem;
277
- opacity: 0.95;
278
- line-height: 1.4;
279
- }
280
-
281
- @media (min-width: 768px) {
282
- .carousel-responsivo__slide-subtitle {
283
- font-size: 1.25rem;
284
- }
285
- }
286
-
287
- .carousel-responsivo__slide-text {
288
- font-size: 0.875rem;
289
- margin-bottom: 1.5rem;
290
- opacity: 0.9;
291
- }
292
-
293
- @media (min-width: 768px) {
294
- .carousel-responsivo__slide-text {
295
- font-size: 1rem;
296
- }
297
- }
298
-
299
- .carousel-responsivo__slide-button {
300
- display: inline-flex;
301
- align-items: center;
302
- gap: 0.5rem;
303
- padding: 0.75rem 1.5rem;
304
- background: rgba(255, 255, 255, 0.9);
305
- color: var(--enap-primary-color, #1976d2);
306
- text-decoration: none;
307
- border-radius: 0.375rem;
308
- font-weight: 600;
309
- transition: all 0.3s ease;
310
- backdrop-filter: blur(10px);
311
- }
312
-
313
- .carousel-responsivo__slide-button:hover {
314
- background: white;
315
- transform: translateY(-2px);
316
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
317
- }
318
-
319
- .carousel-responsivo__slide-button-icon {
320
- transition: transform 0.3s ease;
321
- }
322
-
323
- .carousel-responsivo__slide-button:hover .carousel-responsivo__slide-button-icon {
324
- transform: translateX(4px);
325
- }
326
-
327
- /* Navegação */
328
- .carousel-responsivo__nav {
329
- position: absolute;
330
- top: 50%;
331
- transform: translateY(-50%);
332
- width: 48px;
333
- height: 48px;
334
- background: rgba(255, 255, 255, 0.9);
335
- border: none;
336
- border-radius: 50%;
337
- color: var(--enap-primary-color, #1976d2);
338
- font-size: 24px;
339
- font-weight: bold;
340
- cursor: pointer;
341
- transition: all 0.3s ease;
342
- z-index: 4;
343
- display: flex;
344
- align-items: center;
345
- justify-content: center;
346
- backdrop-filter: blur(10px);
347
- }
348
-
349
- .carousel-responsivo__nav:hover,
350
- .carousel-responsivo__nav:focus {
351
- background: white;
352
- transform: translateY(-50%) scale(1.1);
353
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
354
- outline: 2px solid var(--enap-primary-color, #1976d2);
355
- outline-offset: 2px;
356
- }
357
-
358
- .carousel-responsivo__nav--prev {
359
- left: 1rem;
360
- }
361
-
362
- .carousel-responsivo__nav--next {
363
- right: 1rem;
364
- }
365
-
366
- /* Indicadores */
367
- .carousel-responsivo__indicators {
368
- position: absolute;
369
- bottom: 1rem;
370
- left: 50%;
371
- transform: translateX(-50%);
372
- display: flex;
373
- gap: 0.5rem;
374
- z-index: 4;
375
- }
376
-
377
- .carousel-responsivo__indicator {
378
- width: 12px;
379
- height: 12px;
380
- border-radius: 50%;
381
- border: 2px solid rgba(255, 255, 255, 0.5);
382
- background: transparent;
383
- cursor: pointer;
384
- transition: all 0.3s ease;
385
- }
386
-
387
- .carousel-responsivo__indicator[aria-selected="true"] {
388
- background: white;
389
- border-color: white;
390
- }
391
-
392
- .carousel-responsivo__indicator:hover,
393
- .carousel-responsivo__indicator:focus {
394
- border-color: white;
395
- transform: scale(1.2);
396
- outline: 2px solid rgba(255, 255, 255, 0.8);
397
- outline-offset: 2px;
398
- }
399
-
400
- /* Wrapper Styles - MANTÉM TODAS */
401
- .carousel-wrapper {
402
- width: 100%;
403
- }
404
-
405
- .carousel-wrapper--margin-top-none {
406
- margin-top: 0;
407
- }
408
-
409
- .carousel-wrapper--margin-top-small {
410
- margin-top: 1rem;
411
- }
412
-
413
- .carousel-wrapper--margin-top-medium {
414
- margin-top: 2rem;
415
- }
416
-
417
- .carousel-wrapper--margin-top-large {
418
- margin-top: 4rem;
419
- }
420
-
421
- .carousel-wrapper--margin-bottom-none {
422
- margin-bottom: 0;
423
- }
424
-
425
- .carousel-wrapper--margin-bottom-small {
426
- margin-bottom: 1rem;
427
- }
428
-
429
- .carousel-wrapper--margin-bottom-medium {
430
- margin-bottom: 2rem;
431
- }
432
-
433
- .carousel-wrapper--margin-bottom-large {
434
- margin-bottom: 4rem;
435
- }
436
-
437
- .carousel-wrapper--max-width {
438
- max-width: 1200px;
439
- margin-left: auto;
440
- margin-right: auto;
441
- padding: 0 1rem;
442
- }
443
-
444
- @media (min-width: 768px) {
445
- .carousel-wrapper--max-width {
446
- padding: 0 2rem;
447
- }
448
- }
449
-
450
- .carousel-wrapper--max-width .carousel-responsivo__container {
451
- border-radius: 0.75rem;
452
- }
453
-
454
- /* Utilitários */
455
- .sr-only {
456
- position: absolute;
457
- width: 1px;
458
- height: 1px;
459
- padding: 0;
460
- margin: -1px;
461
- overflow: hidden;
462
- clip: rect(0, 0, 0, 0);
463
- border: 0;
464
- }
465
-
466
- .container {
467
- max-width: 1200px;
468
- margin: 0 auto;
469
- padding: 0 1rem;
470
- }
471
-
472
- @media (min-width: 768px) {
473
- .container {
474
- padding: 0 2rem;
475
- }
476
- }
477
- </style>
478
150
 
479
151
  <!-- CORREÇÃO #7: JavaScript atualizado para trabalhar com IDs únicos -->
480
152
  <script>