wagtail-enap-designsystem 1.2.1.105__py3-none-any.whl → 1.2.1.106__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.
- enap_designsystem/blocks/__init__.py +6 -1
- enap_designsystem/static/enap_designsystem/blocks/bundle.css +0 -14
- enap_designsystem/static/enap_designsystem/blocks/pages/template_homeI.css +0 -1
- enap_designsystem/static/enap_designsystem/blocks/pages/template_homeII.css +0 -1
- enap_designsystem/static/enap_designsystem/blocks/testimonials_carousel.css +19 -2
- enap_designsystem/templates/enap_designsystem/blocks/page/pagenoticias_block.html +137 -169
- enap_designsystem/templates/enap_designsystem/blocks/suap/suap_courses_block.html +40 -20
- enap_designsystem/templates/enap_designsystem/blocks/suap/suap_events_block.html +32 -36
- enap_designsystem/templates/enap_designsystem/blocks/testimonials_carousel.html +143 -66
- {wagtail_enap_designsystem-1.2.1.105.dist-info → wagtail_enap_designsystem-1.2.1.106.dist-info}/METADATA +1 -1
- {wagtail_enap_designsystem-1.2.1.105.dist-info → wagtail_enap_designsystem-1.2.1.106.dist-info}/RECORD +14 -14
- {wagtail_enap_designsystem-1.2.1.105.dist-info → wagtail_enap_designsystem-1.2.1.106.dist-info}/WHEEL +0 -0
- {wagtail_enap_designsystem-1.2.1.105.dist-info → wagtail_enap_designsystem-1.2.1.106.dist-info}/licenses/LICENSE +0 -0
- {wagtail_enap_designsystem-1.2.1.105.dist-info → wagtail_enap_designsystem-1.2.1.106.dist-info}/top_level.txt +0 -0
|
@@ -742,7 +742,12 @@ CARD_CARDS_STREAMBLOCKS = [
|
|
|
742
742
|
"enap_section", EnapSectionBlock([
|
|
743
743
|
("enap_cardgrid", EnapCardGridBlock([
|
|
744
744
|
("enap_card", EnapCardBlock()),
|
|
745
|
-
|
|
745
|
+
("richtext", RichTextBlock()),
|
|
746
|
+
("button", ButtonBlock()),
|
|
747
|
+
("image", ImageBlock()),
|
|
748
|
+
("quote", QuoteBlock()),
|
|
749
|
+
('buttoncenter', ButtonCenter()),
|
|
750
|
+
]))
|
|
746
751
|
])
|
|
747
752
|
)
|
|
748
753
|
]
|
|
@@ -1478,13 +1478,6 @@ nav li:hover > ul {
|
|
|
1478
1478
|
font-size: 32px;
|
|
1479
1479
|
}
|
|
1480
1480
|
|
|
1481
|
-
.img-fluid {
|
|
1482
|
-
width: 100%;
|
|
1483
|
-
height: auto;
|
|
1484
|
-
overflow: hidden;
|
|
1485
|
-
max-width: 300px;
|
|
1486
|
-
object-fit: cover;
|
|
1487
|
-
}
|
|
1488
1481
|
|
|
1489
1482
|
.img-cta {
|
|
1490
1483
|
width: 90%;
|
|
@@ -2162,13 +2155,6 @@ nav li:hover > ul {
|
|
|
2162
2155
|
font-size: 32px;
|
|
2163
2156
|
}
|
|
2164
2157
|
|
|
2165
|
-
.img-fluid {
|
|
2166
|
-
width: 100%;
|
|
2167
|
-
height: auto;
|
|
2168
|
-
overflow: hidden;
|
|
2169
|
-
max-width: 300px;
|
|
2170
|
-
object-fit: cover;
|
|
2171
|
-
}
|
|
2172
2158
|
|
|
2173
2159
|
.grid-two-hero{
|
|
2174
2160
|
display: grid;
|
|
@@ -56,7 +56,17 @@
|
|
|
56
56
|
transition: transform 0.3s ease-in-out;
|
|
57
57
|
gap: 25px;
|
|
58
58
|
cursor: grab;
|
|
59
|
-
padding-bottom: 10px;
|
|
59
|
+
padding-bottom: 10px;
|
|
60
|
+
|
|
61
|
+
/* CORREÇÃO SAFARI */
|
|
62
|
+
align-items: stretch;
|
|
63
|
+
-webkit-align-items: stretch;
|
|
64
|
+
|
|
65
|
+
/* Safari flexbox fixes */
|
|
66
|
+
min-height: 0;
|
|
67
|
+
-webkit-transform: translateZ(0);
|
|
68
|
+
transform: translateZ(0);
|
|
69
|
+
will-change: transform;
|
|
60
70
|
}
|
|
61
71
|
|
|
62
72
|
.testimonial-carousel-items:active {
|
|
@@ -65,8 +75,15 @@
|
|
|
65
75
|
|
|
66
76
|
.testimonial-item-wrapper {
|
|
67
77
|
flex: 0 0 auto;
|
|
68
|
-
|
|
78
|
+
-webkit-flex: 0 0 auto; /* Safari precisa do prefixo */
|
|
79
|
+
|
|
80
|
+
/* CORREÇÃO CRÍTICA - Safari não calcula calc() bem em flex */
|
|
81
|
+
width: 410px; /* Use valor fixo ao invés de calc(45% - 15px) */
|
|
69
82
|
min-width: 410px;
|
|
83
|
+
|
|
84
|
+
/* Garante altura consistente no Safari */
|
|
85
|
+
display: flex;
|
|
86
|
+
flex-direction: column;
|
|
70
87
|
}
|
|
71
88
|
|
|
72
89
|
.testimonial-container {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<h3 class="sub-title">Fique sabendo de tudo o que acontece na Enap</h3>
|
|
10
10
|
</div>
|
|
11
11
|
|
|
12
|
-
<!-- Desktop: Layout Original
|
|
12
|
+
<!-- Desktop: Layout Original -->
|
|
13
13
|
<div class="news-grid-container desktop-only">
|
|
14
14
|
{% for page in pages %}
|
|
15
15
|
{% if forloop.first %}
|
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
<div class="news-main-overlay">
|
|
36
36
|
<h3 class="news-main-title">{{ page.title }}</h3>
|
|
37
37
|
|
|
38
|
-
{# NOVO: Usa legenda_home com fallbacks inteligentes #}
|
|
39
38
|
{% if page.specific.legenda_home %}
|
|
40
39
|
<p class="news-main-text">{{ page.specific.legenda_home|truncatewords:25 }}</p>
|
|
41
40
|
{% elif page.specific.subtitulo %}
|
|
@@ -55,12 +54,10 @@
|
|
|
55
54
|
</a>
|
|
56
55
|
</div>
|
|
57
56
|
{% else %}
|
|
58
|
-
<!-- Primeira iteração das notícias secundárias -->
|
|
59
57
|
{% if forloop.counter == 2 %}
|
|
60
58
|
<div class="news-grid-secondary">
|
|
61
59
|
{% endif %}
|
|
62
60
|
|
|
63
|
-
<!-- Notícias Secundárias (pequenas) -->
|
|
64
61
|
<div class="news-secondary-item">
|
|
65
62
|
<div class="news-secondary-image">
|
|
66
63
|
{% if page.specific.imagem_externa %}
|
|
@@ -74,7 +71,7 @@
|
|
|
74
71
|
<img class="img-fluid" src="{{ sec_img.url }}" alt="{{ sec_img.title }}">
|
|
75
72
|
</a>
|
|
76
73
|
{% elif page.cover_image %}
|
|
77
|
-
{% image page.cover_image original format-webp
|
|
74
|
+
{% image page.cover_image original format-webp preserve-svg as sec_img %}
|
|
78
75
|
<a href="{% pageurl page %}" title="{{ page.title }}">
|
|
79
76
|
<img class="img-fluid" src="{{ sec_img.url }}" alt="{{ sec_img.title }}">
|
|
80
77
|
</a>
|
|
@@ -88,11 +85,8 @@
|
|
|
88
85
|
</div>
|
|
89
86
|
<a href="{% pageurl page %}">
|
|
90
87
|
<div class="news-secondary-content">
|
|
91
|
-
<h4 class="news-secondary-title">
|
|
92
|
-
{{ page.title }}
|
|
93
|
-
</h4>
|
|
88
|
+
<h4 class="news-secondary-title">{{ page.title }}</h4>
|
|
94
89
|
|
|
95
|
-
{# NOVO: Usa legenda_home com fallbacks inteligentes #}
|
|
96
90
|
{% if page.specific.legenda_home %}
|
|
97
91
|
<p class="news-secondary-text">{{ page.specific.legenda_home|truncatewords:15 }}</p>
|
|
98
92
|
{% elif page.specific.subtitulo %}
|
|
@@ -119,13 +113,12 @@
|
|
|
119
113
|
</div>
|
|
120
114
|
{% endfor %}
|
|
121
115
|
|
|
122
|
-
<!-- Fechar div das notícias secundárias se houver pelo menos 2 notícias -->
|
|
123
116
|
{% if pages|length > 1 %}
|
|
124
117
|
</div>
|
|
125
118
|
{% endif %}
|
|
126
119
|
</div>
|
|
127
120
|
|
|
128
|
-
<!-- Mobile: Carrossel
|
|
121
|
+
<!-- Mobile: Carrossel -->
|
|
129
122
|
<div class="news-carousel-container mobile-only">
|
|
130
123
|
<div class="news-carousel" id="newsCarousel">
|
|
131
124
|
<div class="news-carousel-track" id="carouselTrack">
|
|
@@ -155,7 +148,6 @@
|
|
|
155
148
|
</div>
|
|
156
149
|
<h3 class="news-carousel-title">{{ page.title }}</h3>
|
|
157
150
|
|
|
158
|
-
{# NOVO: Usa legenda_home com fallbacks inteligentes #}
|
|
159
151
|
{% if page.specific.legenda_home %}
|
|
160
152
|
<p class="news-carousel-text">{{ page.specific.legenda_home|truncatewords:20 }}</p>
|
|
161
153
|
{% elif page.specific.subtitulo %}
|
|
@@ -179,16 +171,6 @@
|
|
|
179
171
|
</div>
|
|
180
172
|
</div>
|
|
181
173
|
|
|
182
|
-
<!-- Controles do Carrossel -->
|
|
183
|
-
<div class="carousel-controls" style="display: none;">
|
|
184
|
-
<button class="carousel-btn carousel-prev" id="prevBtn" aria-label="Notícia anterior">
|
|
185
|
-
<i class="fa fa-chevron-left"></i>
|
|
186
|
-
</button>
|
|
187
|
-
<button class="carousel-btn carousel-next" id="nextBtn" aria-label="Próxima notícia">
|
|
188
|
-
<i class="fa fa-chevron-right"></i>
|
|
189
|
-
</button>
|
|
190
|
-
</div>
|
|
191
|
-
|
|
192
174
|
<!-- Indicadores -->
|
|
193
175
|
<div class="carousel-indicators" id="carouselIndicators">
|
|
194
176
|
{% for page in pages %}
|
|
@@ -204,9 +186,8 @@
|
|
|
204
186
|
</div>
|
|
205
187
|
</section>
|
|
206
188
|
|
|
207
|
-
|
|
208
189
|
<style>
|
|
209
|
-
/* === ESTILOS
|
|
190
|
+
/* === ESTILOS BÁSICOS === */
|
|
210
191
|
.btn-todos {
|
|
211
192
|
display: flex;
|
|
212
193
|
align-items: center;
|
|
@@ -221,24 +202,15 @@
|
|
|
221
202
|
font-weight: 600;
|
|
222
203
|
margin: 0 auto;
|
|
223
204
|
width: fit-content;
|
|
205
|
+
transition: all 0.3s ease;
|
|
224
206
|
}
|
|
225
207
|
|
|
226
|
-
.news-secondary-date{
|
|
227
|
-
font-size: 12px;
|
|
228
|
-
color: #525155;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
208
|
.btn-todos:hover {
|
|
232
209
|
color: white;
|
|
233
210
|
background-color: #006969;
|
|
234
211
|
border: 1px solid #006969;
|
|
235
212
|
}
|
|
236
213
|
|
|
237
|
-
.btn-todos:active {
|
|
238
|
-
color: #025257;
|
|
239
|
-
border: 1px solid #025257;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
214
|
.sub-title {
|
|
243
215
|
font-size: 20px;
|
|
244
216
|
font-weight: 400;
|
|
@@ -263,6 +235,7 @@
|
|
|
263
235
|
margin-bottom: 40px;
|
|
264
236
|
}
|
|
265
237
|
|
|
238
|
+
/* === DESKTOP GRID === */
|
|
266
239
|
.news-grid-container {
|
|
267
240
|
display: grid;
|
|
268
241
|
grid-template-columns: 1fr 1fr;
|
|
@@ -270,7 +243,6 @@
|
|
|
270
243
|
margin-bottom: 40px;
|
|
271
244
|
}
|
|
272
245
|
|
|
273
|
-
/* Notícia Principal */
|
|
274
246
|
.news-grid-main {
|
|
275
247
|
position: relative;
|
|
276
248
|
border-radius: 12px;
|
|
@@ -294,7 +266,7 @@
|
|
|
294
266
|
|
|
295
267
|
.news-main-image {
|
|
296
268
|
width: 100%;
|
|
297
|
-
height:
|
|
269
|
+
height: 400px; /* Altura fixa para Safari */
|
|
298
270
|
overflow: hidden;
|
|
299
271
|
position: relative;
|
|
300
272
|
}
|
|
@@ -304,7 +276,6 @@
|
|
|
304
276
|
height: 100%;
|
|
305
277
|
object-fit: cover;
|
|
306
278
|
transition: transform 0.3s ease;
|
|
307
|
-
min-width: 100%;
|
|
308
279
|
}
|
|
309
280
|
|
|
310
281
|
.news-grid-main:hover .news-main-image img {
|
|
@@ -332,10 +303,15 @@
|
|
|
332
303
|
.news-main-text {
|
|
333
304
|
color: rgba(255, 255, 255, 0.9);
|
|
334
305
|
line-height: 1.6;
|
|
335
|
-
margin: 0;
|
|
306
|
+
margin: 0 0 10px 0;
|
|
336
307
|
font-size: 16px;
|
|
337
308
|
}
|
|
338
309
|
|
|
310
|
+
.news-main-date {
|
|
311
|
+
font-size: 12px;
|
|
312
|
+
color: rgba(255, 255, 255, 0.8);
|
|
313
|
+
}
|
|
314
|
+
|
|
339
315
|
/* Notícias Secundárias */
|
|
340
316
|
.news-grid-secondary {
|
|
341
317
|
display: flex;
|
|
@@ -348,7 +324,7 @@
|
|
|
348
324
|
gap: 15px;
|
|
349
325
|
background: white;
|
|
350
326
|
border-radius: 8px;
|
|
351
|
-
transition: transform 0.3s ease
|
|
327
|
+
transition: transform 0.3s ease;
|
|
352
328
|
}
|
|
353
329
|
|
|
354
330
|
.news-secondary-item:hover {
|
|
@@ -361,8 +337,8 @@
|
|
|
361
337
|
}
|
|
362
338
|
|
|
363
339
|
.news-secondary-image {
|
|
364
|
-
width:150px;
|
|
365
|
-
height:
|
|
340
|
+
width: 150px;
|
|
341
|
+
height: 100px; /* Altura fixa */
|
|
366
342
|
border-radius: 6px;
|
|
367
343
|
overflow: hidden;
|
|
368
344
|
flex-shrink: 0;
|
|
@@ -372,7 +348,7 @@
|
|
|
372
348
|
width: 100%;
|
|
373
349
|
height: 100%;
|
|
374
350
|
object-fit: cover;
|
|
375
|
-
|
|
351
|
+
transition: transform 0.3s ease;
|
|
376
352
|
}
|
|
377
353
|
|
|
378
354
|
.news-secondary-content {
|
|
@@ -391,20 +367,6 @@
|
|
|
391
367
|
color: #007D7A;
|
|
392
368
|
}
|
|
393
369
|
|
|
394
|
-
.news-secondary-title a {
|
|
395
|
-
color: #007D7A;
|
|
396
|
-
text-decoration: none;
|
|
397
|
-
transition: color 0.3s ease;
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
.news-secondary-title p :hover {
|
|
401
|
-
color: #006969;
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
.news-secondary-title a p h4 a:hover {
|
|
405
|
-
color: #006969;
|
|
406
|
-
}
|
|
407
|
-
|
|
408
370
|
.news-secondary-text {
|
|
409
371
|
font-size: 14px;
|
|
410
372
|
color: #525155;
|
|
@@ -412,7 +374,13 @@
|
|
|
412
374
|
margin: 0;
|
|
413
375
|
}
|
|
414
376
|
|
|
415
|
-
|
|
377
|
+
.news-secondary-date {
|
|
378
|
+
font-size: 12px;
|
|
379
|
+
color: #525155;
|
|
380
|
+
margin-top: 5px;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/* Placeholders */
|
|
416
384
|
.no-image-placeholder {
|
|
417
385
|
display: flex;
|
|
418
386
|
flex-direction: column;
|
|
@@ -446,7 +414,7 @@
|
|
|
446
414
|
}
|
|
447
415
|
|
|
448
416
|
.secondary-placeholder {
|
|
449
|
-
height:
|
|
417
|
+
height: 100px;
|
|
450
418
|
font-size: 24px;
|
|
451
419
|
}
|
|
452
420
|
|
|
@@ -459,7 +427,7 @@
|
|
|
459
427
|
font-size: 18px;
|
|
460
428
|
}
|
|
461
429
|
|
|
462
|
-
/* ===
|
|
430
|
+
/* === CARROSSEL MOBILE === */
|
|
463
431
|
.news-carousel-container {
|
|
464
432
|
position: relative;
|
|
465
433
|
margin-bottom: 40px;
|
|
@@ -468,14 +436,14 @@
|
|
|
468
436
|
.news-carousel {
|
|
469
437
|
overflow: hidden;
|
|
470
438
|
margin-bottom: 20px;
|
|
471
|
-
padding: 0
|
|
472
|
-
height: 50vh;
|
|
439
|
+
padding: 0;
|
|
440
|
+
height: 50vh;
|
|
441
|
+
min-height: 300px;
|
|
473
442
|
}
|
|
474
443
|
|
|
475
444
|
.news-carousel-track {
|
|
476
445
|
display: flex;
|
|
477
446
|
transition: transform 0.3s ease;
|
|
478
|
-
will-change: transform;
|
|
479
447
|
height: 100%;
|
|
480
448
|
}
|
|
481
449
|
|
|
@@ -483,6 +451,7 @@
|
|
|
483
451
|
flex: 0 0 70vw;
|
|
484
452
|
position: relative;
|
|
485
453
|
margin-right: 15px;
|
|
454
|
+
height: 100%;
|
|
486
455
|
}
|
|
487
456
|
|
|
488
457
|
.news-carousel-link {
|
|
@@ -490,11 +459,12 @@
|
|
|
490
459
|
position: relative;
|
|
491
460
|
text-decoration: none;
|
|
492
461
|
color: inherit;
|
|
462
|
+
height: 100%;
|
|
493
463
|
}
|
|
494
464
|
|
|
495
465
|
.news-carousel-image {
|
|
496
466
|
width: 100%;
|
|
497
|
-
height:
|
|
467
|
+
height: 100%;
|
|
498
468
|
overflow: hidden;
|
|
499
469
|
position: relative;
|
|
500
470
|
border-radius: 12px;
|
|
@@ -532,8 +502,14 @@
|
|
|
532
502
|
font-size: 14px;
|
|
533
503
|
}
|
|
534
504
|
|
|
505
|
+
.news-carousel-date {
|
|
506
|
+
font-size: 12px;
|
|
507
|
+
color: rgba(255, 255, 255, 0.8);
|
|
508
|
+
margin-bottom: 10px;
|
|
509
|
+
}
|
|
510
|
+
|
|
535
511
|
.carousel-placeholder {
|
|
536
|
-
height:
|
|
512
|
+
height: 100%;
|
|
537
513
|
font-size: 32px;
|
|
538
514
|
background: linear-gradient(135deg, #f5f5f5, #e8e8e8);
|
|
539
515
|
}
|
|
@@ -543,48 +519,6 @@
|
|
|
543
519
|
margin-top: 8px;
|
|
544
520
|
}
|
|
545
521
|
|
|
546
|
-
/* Controles do Carrossel */
|
|
547
|
-
.carousel-controls {
|
|
548
|
-
display: flex;
|
|
549
|
-
justify-content: space-between;
|
|
550
|
-
position: absolute;
|
|
551
|
-
top: 50%;
|
|
552
|
-
left: 0;
|
|
553
|
-
right: 0;
|
|
554
|
-
transform: translateY(-50%);
|
|
555
|
-
padding: 0 15px;
|
|
556
|
-
pointer-events: none;
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
.carousel-btn {
|
|
560
|
-
width: 40px;
|
|
561
|
-
height: 40px;
|
|
562
|
-
border-radius: 50%;
|
|
563
|
-
background: rgba(255, 255, 255, 0.9);
|
|
564
|
-
border: none;
|
|
565
|
-
color: #007D7A;
|
|
566
|
-
font-size: 16px;
|
|
567
|
-
cursor: pointer;
|
|
568
|
-
pointer-events: all;
|
|
569
|
-
transition: all 0.3s ease;
|
|
570
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
571
|
-
display: flex;
|
|
572
|
-
align-items: center;
|
|
573
|
-
justify-content: center;
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
.carousel-btn:hover {
|
|
577
|
-
background: white;
|
|
578
|
-
transform: scale(1.1);
|
|
579
|
-
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
.carousel-btn:disabled {
|
|
583
|
-
opacity: 0.5;
|
|
584
|
-
cursor: not-allowed;
|
|
585
|
-
transform: none;
|
|
586
|
-
}
|
|
587
|
-
|
|
588
522
|
/* Indicadores */
|
|
589
523
|
.carousel-indicators {
|
|
590
524
|
display: flex;
|
|
@@ -610,36 +544,20 @@
|
|
|
610
544
|
|
|
611
545
|
/* === RESPONSIVIDADE === */
|
|
612
546
|
.mobile-only {
|
|
613
|
-
display: none
|
|
547
|
+
display: none;
|
|
614
548
|
}
|
|
615
549
|
|
|
616
550
|
.desktop-only {
|
|
617
551
|
display: grid;
|
|
618
552
|
}
|
|
619
553
|
|
|
620
|
-
/* Força esconder carrossel no desktop */
|
|
621
|
-
.news-carousel-container {
|
|
622
|
-
display: none !important;
|
|
623
|
-
}
|
|
624
|
-
|
|
625
554
|
@media (max-width: 768px) {
|
|
626
555
|
.mobile-only {
|
|
627
|
-
display: block
|
|
556
|
+
display: block;
|
|
628
557
|
}
|
|
629
558
|
|
|
630
559
|
.desktop-only {
|
|
631
|
-
display: none
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
/* Força mostrar carrossel no mobile */
|
|
635
|
-
.news-carousel-container.mobile-only {
|
|
636
|
-
display: block !important;
|
|
637
|
-
height: 55vh;
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
/* Força esconder grid no mobile */
|
|
641
|
-
.news-grid-container.desktop-only {
|
|
642
|
-
display: none !important;
|
|
560
|
+
display: none;
|
|
643
561
|
}
|
|
644
562
|
|
|
645
563
|
.news-section {
|
|
@@ -661,10 +579,19 @@
|
|
|
661
579
|
margin-top: 10px;
|
|
662
580
|
}
|
|
663
581
|
|
|
664
|
-
.news-carousel-
|
|
582
|
+
.news-carousel-container {
|
|
583
|
+
height: 55vh;
|
|
584
|
+
min-height: 320px;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
.news-carousel {
|
|
665
588
|
height: 100%;
|
|
666
589
|
}
|
|
667
590
|
|
|
591
|
+
.news-carousel-slide {
|
|
592
|
+
flex: 0 0 75vw;
|
|
593
|
+
}
|
|
594
|
+
|
|
668
595
|
.news-carousel-title {
|
|
669
596
|
font-size: 16px;
|
|
670
597
|
}
|
|
@@ -672,12 +599,6 @@
|
|
|
672
599
|
.news-carousel-text {
|
|
673
600
|
font-size: 13px;
|
|
674
601
|
}
|
|
675
|
-
|
|
676
|
-
.carousel-btn {
|
|
677
|
-
width: 35px;
|
|
678
|
-
height: 35px;
|
|
679
|
-
font-size: 14px;
|
|
680
|
-
}
|
|
681
602
|
}
|
|
682
603
|
|
|
683
604
|
@media (max-width: 480px) {
|
|
@@ -689,18 +610,58 @@
|
|
|
689
610
|
font-size: 28px;
|
|
690
611
|
}
|
|
691
612
|
|
|
692
|
-
.news-carousel-
|
|
693
|
-
|
|
613
|
+
.news-carousel-slide {
|
|
614
|
+
flex: 0 0 85vw;
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
.news-carousel-container {
|
|
618
|
+
height: 45vh;
|
|
619
|
+
min-height: 280px;
|
|
694
620
|
}
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
/* === CORREÇÕES ESPECÍFICAS PARA SAFARI === */
|
|
695
624
|
|
|
696
|
-
|
|
697
|
-
|
|
625
|
+
/* Safari iOS - altura do viewport */
|
|
626
|
+
@supports (-webkit-touch-callout: none) {
|
|
627
|
+
.news-carousel {
|
|
628
|
+
height: -webkit-fill-available;
|
|
698
629
|
}
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
/* Safari - prefixos essenciais */
|
|
633
|
+
.news-carousel-track {
|
|
634
|
+
-webkit-transform: translateX(0);
|
|
635
|
+
transform: translateX(0);
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
.btn-todos {
|
|
639
|
+
-webkit-appearance: none;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.carousel-indicator {
|
|
643
|
+
-webkit-appearance: none;
|
|
644
|
+
}
|
|
699
645
|
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
646
|
+
/* Safari - smooth scrolling */
|
|
647
|
+
.news-carousel {
|
|
648
|
+
-webkit-overflow-scrolling: touch;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
/* Fallback para Safari sem object-fit */
|
|
652
|
+
@supports not (object-fit: cover) {
|
|
653
|
+
.news-main-image,
|
|
654
|
+
.news-secondary-image,
|
|
655
|
+
.news-carousel-image {
|
|
656
|
+
background-size: cover;
|
|
657
|
+
background-position: center;
|
|
658
|
+
background-repeat: no-repeat;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
.news-main-image img,
|
|
662
|
+
.news-secondary-image img,
|
|
663
|
+
.news-carousel-image img {
|
|
664
|
+
opacity: 0;
|
|
704
665
|
}
|
|
705
666
|
}
|
|
706
667
|
</style>
|
|
@@ -709,8 +670,6 @@
|
|
|
709
670
|
document.addEventListener('DOMContentLoaded', function() {
|
|
710
671
|
const carousel = document.getElementById('newsCarousel');
|
|
711
672
|
const track = document.getElementById('carouselTrack');
|
|
712
|
-
const prevBtn = document.getElementById('prevBtn');
|
|
713
|
-
const nextBtn = document.getElementById('nextBtn');
|
|
714
673
|
const indicators = document.getElementById('carouselIndicators');
|
|
715
674
|
|
|
716
675
|
if (!carousel || !track) return;
|
|
@@ -728,9 +687,19 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
728
687
|
if (slideIndex >= totalSlides) slideIndex = totalSlides - 1;
|
|
729
688
|
|
|
730
689
|
currentSlide = slideIndex;
|
|
731
|
-
|
|
732
|
-
|
|
690
|
+
|
|
691
|
+
// Calcular largura do slide baseado no viewport
|
|
692
|
+
let slideWidth = 70; // padrão desktop
|
|
693
|
+
|
|
694
|
+
if (window.innerWidth <= 480) {
|
|
695
|
+
slideWidth = 85;
|
|
696
|
+
} else if (window.innerWidth <= 768) {
|
|
697
|
+
slideWidth = 75;
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
const spacing = 4; // espaçamento em vw
|
|
733
701
|
const translateX = -(slideIndex * (slideWidth + spacing));
|
|
702
|
+
|
|
734
703
|
track.style.transform = `translateX(${translateX}vw)`;
|
|
735
704
|
|
|
736
705
|
// Atualizar indicadores
|
|
@@ -740,19 +709,6 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
740
709
|
});
|
|
741
710
|
}
|
|
742
711
|
|
|
743
|
-
// Event listeners para botões
|
|
744
|
-
if (prevBtn) {
|
|
745
|
-
prevBtn.addEventListener('click', () => {
|
|
746
|
-
goToSlide(currentSlide - 1);
|
|
747
|
-
});
|
|
748
|
-
}
|
|
749
|
-
|
|
750
|
-
if (nextBtn) {
|
|
751
|
-
nextBtn.addEventListener('click', () => {
|
|
752
|
-
goToSlide(currentSlide + 1);
|
|
753
|
-
});
|
|
754
|
-
}
|
|
755
|
-
|
|
756
712
|
// Event listeners para indicadores
|
|
757
713
|
if (indicators) {
|
|
758
714
|
indicators.addEventListener('click', (e) => {
|
|
@@ -763,7 +719,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
763
719
|
});
|
|
764
720
|
}
|
|
765
721
|
|
|
766
|
-
// Touch/swipe
|
|
722
|
+
// Touch/swipe - SIMPLES E FUNCIONAL
|
|
767
723
|
track.addEventListener('touchstart', (e) => {
|
|
768
724
|
startX = e.touches[0].clientX;
|
|
769
725
|
isDragging = true;
|
|
@@ -775,10 +731,18 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
775
731
|
|
|
776
732
|
currentX = e.touches[0].clientX;
|
|
777
733
|
const diffX = currentX - startX;
|
|
778
|
-
|
|
779
|
-
|
|
734
|
+
|
|
735
|
+
// Converter para vw
|
|
736
|
+
const diffXInVw = (diffX / window.innerWidth) * 100;
|
|
737
|
+
|
|
738
|
+
// Calcular posição atual
|
|
739
|
+
let slideWidth = 70;
|
|
740
|
+
if (window.innerWidth <= 480) slideWidth = 85;
|
|
741
|
+
else if (window.innerWidth <= 768) slideWidth = 75;
|
|
742
|
+
|
|
743
|
+
const spacing = 4;
|
|
780
744
|
const currentTranslate = -(currentSlide * (slideWidth + spacing));
|
|
781
|
-
const newTranslate = currentTranslate +
|
|
745
|
+
const newTranslate = currentTranslate + diffXInVw;
|
|
782
746
|
|
|
783
747
|
track.style.transform = `translateX(${newTranslate}vw)`;
|
|
784
748
|
});
|
|
@@ -803,14 +767,6 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
803
767
|
}
|
|
804
768
|
});
|
|
805
769
|
|
|
806
|
-
// Auto-play (desabilitado para melhor UX com swipe)
|
|
807
|
-
// Usuário controla totalmente com swipe
|
|
808
|
-
|
|
809
|
-
// Inicializar
|
|
810
|
-
goToSlide(0);
|
|
811
|
-
|
|
812
|
-
// Remover autoplay - usuário controla com swipe
|
|
813
|
-
|
|
814
770
|
// Keyboard navigation
|
|
815
771
|
document.addEventListener('keydown', (e) => {
|
|
816
772
|
if (e.key === 'ArrowLeft') {
|
|
@@ -819,6 +775,18 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
819
775
|
goToSlide(currentSlide + 1);
|
|
820
776
|
}
|
|
821
777
|
});
|
|
778
|
+
|
|
779
|
+
// Resize handler
|
|
780
|
+
let resizeTimeout;
|
|
781
|
+
window.addEventListener('resize', () => {
|
|
782
|
+
clearTimeout(resizeTimeout);
|
|
783
|
+
resizeTimeout = setTimeout(() => {
|
|
784
|
+
goToSlide(currentSlide);
|
|
785
|
+
}, 100);
|
|
786
|
+
});
|
|
787
|
+
|
|
788
|
+
// Inicializar
|
|
789
|
+
goToSlide(0);
|
|
822
790
|
});
|
|
823
791
|
</script>
|
|
824
792
|
|
|
@@ -176,35 +176,55 @@
|
|
|
176
176
|
showSlide(currentIndex + moveBy);
|
|
177
177
|
});
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
|
|
180
180
|
carousel.addEventListener('wheel', function(e) {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
181
|
+
if (Math.abs(e.deltaX) > 0) {
|
|
182
|
+
e.preventDefault();
|
|
183
|
+
|
|
184
|
+
// Obter posição atual do transform
|
|
185
|
+
const currentTransform = carousel.style.transform;
|
|
186
|
+
const match = currentTransform.match(/translateX\((-?\d*\.?\d*)px\)/);
|
|
187
|
+
let currentOffset = match ? parseFloat(match[1]) : 0;
|
|
184
188
|
|
|
185
|
-
//
|
|
186
|
-
|
|
189
|
+
// Aplicar movimento proporcional (ajuste a velocidade aqui)
|
|
190
|
+
const scrollMultiplier = 1.2;
|
|
191
|
+
const newOffset = currentOffset - (e.deltaX * scrollMultiplier);
|
|
187
192
|
|
|
188
|
-
|
|
193
|
+
// Calcular limites
|
|
194
|
+
const maxOffset = 0;
|
|
195
|
+
const minOffset = -(maxIndex * (itemWidth + itemsGap));
|
|
189
196
|
|
|
190
|
-
//
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
+
// Aplicar limites com resistência
|
|
198
|
+
let finalOffset = newOffset;
|
|
199
|
+
|
|
200
|
+
if (newOffset > maxOffset) {
|
|
201
|
+
const overscroll = newOffset - maxOffset;
|
|
202
|
+
finalOffset = maxOffset + (overscroll * 0.3);
|
|
203
|
+
} else if (newOffset < minOffset) {
|
|
204
|
+
const overscroll = newOffset - minOffset;
|
|
205
|
+
finalOffset = minOffset + (overscroll * 0.3);
|
|
197
206
|
}
|
|
198
207
|
|
|
199
|
-
//
|
|
208
|
+
// Aplicar transform
|
|
209
|
+
carousel.style.transition = 'none';
|
|
210
|
+
carousel.style.transform = `translateX(${finalOffset}px)`;
|
|
211
|
+
|
|
212
|
+
// Atualizar currentIndex baseado na posição
|
|
213
|
+
const newIndex = Math.round(Math.abs(finalOffset) / (itemWidth + itemsGap));
|
|
214
|
+
currentIndex = Math.max(0, Math.min(newIndex, maxIndex));
|
|
215
|
+
|
|
216
|
+
// Atualizar botões
|
|
217
|
+
updateNavigationButtons();
|
|
218
|
+
|
|
219
|
+
// Snap suave quando parar
|
|
200
220
|
clearTimeout(scrollTimeout);
|
|
201
221
|
scrollTimeout = setTimeout(() => {
|
|
202
|
-
|
|
203
|
-
|
|
222
|
+
carousel.style.transition = 'transform 0.3s ease-out';
|
|
223
|
+
showSlide(currentIndex);
|
|
224
|
+
}, 150);
|
|
204
225
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
226
|
+
}, { passive: false });
|
|
227
|
+
|
|
208
228
|
// Touch events - sempre ativados (para dispositivos touch)
|
|
209
229
|
carousel.addEventListener('touchstart', handleStart, { passive: true });
|
|
210
230
|
carousel.addEventListener('touchmove', handleMove, { passive: true });
|
|
@@ -479,52 +479,48 @@
|
|
|
479
479
|
showSlide(currentIndex + moveBy);
|
|
480
480
|
});
|
|
481
481
|
|
|
482
|
-
// SCROLL FLUIDO com trackpad
|
|
482
|
+
// SCROLL FLUIDO dinâmico com trackpad
|
|
483
483
|
carousel.addEventListener('wheel', function(e) {
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
e.preventDefault(); // Prevenir scroll da página
|
|
484
|
+
if (Math.abs(e.deltaX) > 0) {
|
|
485
|
+
e.preventDefault();
|
|
487
486
|
|
|
488
|
-
//
|
|
489
|
-
|
|
487
|
+
// Obter posição atual
|
|
488
|
+
const currentTransform = carousel.style.transform;
|
|
489
|
+
const match = currentTransform.match(/translateX\((-?\d*\.?\d*)px\)/);
|
|
490
|
+
let currentOffset = match ? parseFloat(match[1]) : 0;
|
|
490
491
|
|
|
491
|
-
//
|
|
492
|
-
const
|
|
492
|
+
// Movimento proporcional ao deltaX
|
|
493
|
+
const scrollMultiplier = 1.5;
|
|
494
|
+
const newOffset = currentOffset - (e.deltaX * scrollMultiplier);
|
|
493
495
|
|
|
494
|
-
//
|
|
495
|
-
const
|
|
496
|
+
// Limites
|
|
497
|
+
const maxOffset = 0;
|
|
498
|
+
const minOffset = -(maxIndex * (itemWidth + itemsGap));
|
|
496
499
|
|
|
497
|
-
//
|
|
498
|
-
|
|
499
|
-
|
|
500
|
+
// Resistência nas bordas
|
|
501
|
+
let finalOffset = newOffset;
|
|
502
|
+
if (newOffset > maxOffset) {
|
|
503
|
+
finalOffset = maxOffset + ((newOffset - maxOffset) * 0.3);
|
|
504
|
+
} else if (newOffset < minOffset) {
|
|
505
|
+
finalOffset = minOffset + ((newOffset - minOffset) * 0.3);
|
|
500
506
|
}
|
|
501
507
|
|
|
502
|
-
//
|
|
503
|
-
|
|
508
|
+
// Aplicar posição
|
|
509
|
+
carousel.style.transition = 'none';
|
|
510
|
+
carousel.style.transform = `translateX(${finalOffset}px)`;
|
|
511
|
+
|
|
512
|
+
// Atualizar currentIndex
|
|
513
|
+
const newIndex = Math.round(Math.abs(finalOffset) / (itemWidth + itemsGap));
|
|
514
|
+
currentIndex = Math.max(0, Math.min(newIndex, maxIndex));
|
|
515
|
+
updateNavigationButtons();
|
|
516
|
+
|
|
517
|
+
// Snap quando parar
|
|
504
518
|
clearTimeout(scrollTimeout);
|
|
505
519
|
scrollTimeout = setTimeout(() => {
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
const targetIndex = Math.round(clampedPosition);
|
|
510
|
-
currentIndex = targetIndex;
|
|
511
|
-
|
|
512
|
-
// Animação suave para o snap
|
|
513
|
-
carousel.style.transition = 'transform 0.2s ease-out';
|
|
514
|
-
setCarouselPosition(currentIndex);
|
|
515
|
-
updateNavigationButtons();
|
|
516
|
-
|
|
517
|
-
// Remover transição após a animação
|
|
518
|
-
setTimeout(() => {
|
|
519
|
-
carousel.style.transition = 'none';
|
|
520
|
-
}, 200);
|
|
521
|
-
|
|
522
|
-
// Resetar acumulador
|
|
523
|
-
scrollAccumulator = 0;
|
|
524
|
-
}, 150); // Tempo de espera antes do snap
|
|
525
|
-
|
|
520
|
+
carousel.style.transition = 'transform 0.3s ease-out';
|
|
521
|
+
showSlide(currentIndex);
|
|
522
|
+
}, 150);
|
|
526
523
|
}
|
|
527
|
-
// Para scroll vertical, não fazer nada - deixar comportamento normal da página
|
|
528
524
|
}, { passive: false });
|
|
529
525
|
|
|
530
526
|
// Touch e arraste para mobile
|
|
@@ -62,6 +62,7 @@
|
|
|
62
62
|
let currentIndex = 0;
|
|
63
63
|
let startX, moveX, initialPosition;
|
|
64
64
|
let isDragging = false;
|
|
65
|
+
let isScrolling = false;
|
|
65
66
|
|
|
66
67
|
// Verifica se é dispositivo mobile
|
|
67
68
|
function isMobile() {
|
|
@@ -75,27 +76,61 @@
|
|
|
75
76
|
return 2;
|
|
76
77
|
}
|
|
77
78
|
|
|
78
|
-
// Verifica se
|
|
79
|
+
// NOVA FUNÇÃO: Verifica se há cards à esquerda
|
|
80
|
+
function hasCardsToLeft() {
|
|
81
|
+
return currentIndex > 0;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// NOVA FUNÇÃO: Verifica se há cards à direita
|
|
85
|
+
function hasCardsToRight() {
|
|
86
|
+
// Método mais simples e confiável
|
|
87
|
+
return currentIndex < getMaxIndex();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Verifica se deve mostrar as setas (MELHORADO)
|
|
79
91
|
function shouldShowArrows() {
|
|
80
|
-
if (isMobile()) return false;
|
|
81
|
-
return items.length > getVisibleItems();
|
|
92
|
+
if (isMobile()) return false;
|
|
93
|
+
return items.length > getVisibleItems();
|
|
82
94
|
}
|
|
83
95
|
|
|
84
|
-
// Esconde
|
|
85
|
-
function
|
|
96
|
+
// Esconde/mostra botões baseado na existência de cards (MELHORADO)
|
|
97
|
+
function updateArrowVisibility() {
|
|
86
98
|
if (!shouldShowArrows()) {
|
|
87
99
|
prevButton.style.setProperty('display', 'none', 'important');
|
|
88
100
|
nextButton.style.setProperty('display', 'none', 'important');
|
|
89
|
-
|
|
90
|
-
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Debug: mostra valores no console
|
|
105
|
+
console.log('Current Index:', currentIndex);
|
|
106
|
+
console.log('Max Index:', getMaxIndex());
|
|
107
|
+
console.log('Has Cards Left:', hasCardsToLeft());
|
|
108
|
+
console.log('Has Cards Right:', hasCardsToRight());
|
|
109
|
+
|
|
110
|
+
// Mostrar/esconder botão anterior baseado se há cards à esquerda
|
|
111
|
+
if (hasCardsToLeft()) {
|
|
91
112
|
prevButton.style.removeProperty('display');
|
|
113
|
+
prevButton.style.opacity = '1';
|
|
114
|
+
prevButton.style.pointerEvents = 'auto';
|
|
115
|
+
} else {
|
|
116
|
+
prevButton.style.opacity = '0';
|
|
117
|
+
prevButton.style.pointerEvents = 'none';
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Mostrar/esconder botão próximo baseado se há cards à direita
|
|
121
|
+
if (hasCardsToRight()) {
|
|
92
122
|
nextButton.style.removeProperty('display');
|
|
123
|
+
nextButton.style.setProperty('opacity', '1', 'important');
|
|
124
|
+
nextButton.style.setProperty('display', 'flex', 'important');
|
|
125
|
+
nextButton.style.setProperty('pointer-events', 'auto', 'important');
|
|
126
|
+
} else {
|
|
127
|
+
nextButton.style.setProperty('opacity', '0', 'important');
|
|
128
|
+
nextButton.style.setProperty('pointer-events', 'none', 'important');
|
|
93
129
|
}
|
|
94
130
|
}
|
|
95
131
|
|
|
96
132
|
// Obtém a largura de um item considerando a viewport
|
|
97
133
|
function getItemWidth() {
|
|
98
|
-
// Em telas muito pequenas, use a largura da viewport menos padding
|
|
99
134
|
if (window.innerWidth < 480) {
|
|
100
135
|
return Math.min(items[0].offsetWidth, window.innerWidth * 0.9);
|
|
101
136
|
}
|
|
@@ -103,18 +138,16 @@
|
|
|
103
138
|
}
|
|
104
139
|
|
|
105
140
|
function getItemGap() {
|
|
106
|
-
// Gap ajustável dependendo da tela
|
|
107
141
|
return window.innerWidth < 768 ? 15 : 25;
|
|
108
142
|
}
|
|
109
143
|
|
|
110
|
-
// Calcula o índice máximo com base nos itens visíveis
|
|
111
144
|
function getMaxIndex() {
|
|
112
|
-
|
|
145
|
+
const visibleItems = getVisibleItems();
|
|
146
|
+
return Math.max(0, items.length - visibleItems);
|
|
113
147
|
}
|
|
114
148
|
|
|
115
|
-
// Define quantos itens rolar por vez (1 no mobile, 1 no desktop)
|
|
116
149
|
function getScrollAmount() {
|
|
117
|
-
return 1;
|
|
150
|
+
return 1;
|
|
118
151
|
}
|
|
119
152
|
|
|
120
153
|
// Mostra os slides baseado no índice atual
|
|
@@ -125,47 +158,107 @@
|
|
|
125
158
|
const offset = currentIndex * (itemWidth + itemGap);
|
|
126
159
|
|
|
127
160
|
carousel.style.transform = `translateX(-${offset}px)`;
|
|
128
|
-
|
|
161
|
+
updateArrowVisibility(); // Atualizada para nova função
|
|
129
162
|
}
|
|
130
163
|
|
|
131
|
-
//
|
|
132
|
-
function
|
|
133
|
-
//
|
|
134
|
-
|
|
135
|
-
hideButtonsWhenNeeded();
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
164
|
+
// NOVA FUNCIONALIDADE: Scroll dinâmico com trackpad/mouse wheel
|
|
165
|
+
function handleWheel(e) {
|
|
166
|
+
// Debug: mostra valores do evento
|
|
167
|
+
console.log('Wheel event:', { deltaX: e.deltaX, deltaY: e.deltaY, shiftKey: e.shiftKey });
|
|
138
168
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
prevButton.style.opacity = '1';
|
|
145
|
-
prevButton.style.pointerEvents = 'auto';
|
|
169
|
+
let deltaX = e.deltaX;
|
|
170
|
+
|
|
171
|
+
// Para mouse wheel: usar Shift + wheel (deltaY vira deltaX)
|
|
172
|
+
if (e.shiftKey && Math.abs(e.deltaY) > Math.abs(e.deltaX)) {
|
|
173
|
+
deltaX = e.deltaY;
|
|
146
174
|
}
|
|
147
175
|
|
|
148
|
-
//
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
176
|
+
// Detectar qualquer scroll horizontal (sem threshold mínimo)
|
|
177
|
+
if (Math.abs(deltaX) > 0) {
|
|
178
|
+
e.preventDefault();
|
|
179
|
+
e.stopPropagation();
|
|
180
|
+
|
|
181
|
+
// Obter posição atual do transform
|
|
182
|
+
const currentTransform = carousel.style.transform;
|
|
183
|
+
const match = currentTransform.match(/translateX\((-?\d*\.?\d*)px\)/);
|
|
184
|
+
let currentOffset = match ? parseFloat(match[1]) : 0;
|
|
185
|
+
|
|
186
|
+
// Aplicar o movimento proporcional ao deltaX
|
|
187
|
+
// Multiplicador para controlar a velocidade (ajuste conforme necessário)
|
|
188
|
+
const scrollMultiplier = 1.5;
|
|
189
|
+
const newOffset = currentOffset - (deltaX * scrollMultiplier);
|
|
190
|
+
|
|
191
|
+
// Calcular limites
|
|
192
|
+
const maxOffset = 0; // Limite esquerdo
|
|
193
|
+
const itemWidth = getItemWidth();
|
|
194
|
+
const itemGap = getItemGap();
|
|
195
|
+
const totalItems = items.length;
|
|
196
|
+
const visibleItems = getVisibleItems();
|
|
197
|
+
const minOffset = -((totalItems - visibleItems) * (itemWidth + itemGap));
|
|
198
|
+
|
|
199
|
+
// Aplicar limites com efeito de "elastic" nas bordas
|
|
200
|
+
let finalOffset = newOffset;
|
|
201
|
+
|
|
202
|
+
if (newOffset > maxOffset) {
|
|
203
|
+
// Resistência ao puxar além do início
|
|
204
|
+
const overscroll = newOffset - maxOffset;
|
|
205
|
+
finalOffset = maxOffset + (overscroll * 0.3);
|
|
206
|
+
} else if (newOffset < minOffset) {
|
|
207
|
+
// Resistência ao puxar além do fim
|
|
208
|
+
const overscroll = newOffset - minOffset;
|
|
209
|
+
finalOffset = minOffset + (overscroll * 0.3);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Aplicar o transform
|
|
213
|
+
carousel.style.transition = 'none';
|
|
214
|
+
carousel.style.transform = `translateX(${finalOffset}px)`;
|
|
215
|
+
|
|
216
|
+
// Atualizar currentIndex baseado na posição
|
|
217
|
+
const newIndex = Math.round(Math.abs(finalOffset) / (itemWidth + itemGap));
|
|
218
|
+
currentIndex = Math.max(0, Math.min(newIndex, getMaxIndex()));
|
|
219
|
+
|
|
220
|
+
// Atualizar setas baseado na nova posição
|
|
221
|
+
updateArrowVisibility();
|
|
222
|
+
|
|
223
|
+
// Aplicar snap suave quando parar de rolar
|
|
224
|
+
clearTimeout(window.snapTimeout);
|
|
225
|
+
window.snapTimeout = setTimeout(() => {
|
|
226
|
+
carousel.style.transition = 'transform 0.3s ease-out';
|
|
227
|
+
showSlide(currentIndex);
|
|
228
|
+
}, 150);
|
|
229
|
+
|
|
230
|
+
console.log('Smooth scroll:', {
|
|
231
|
+
deltaX,
|
|
232
|
+
currentOffset,
|
|
233
|
+
newOffset: finalOffset,
|
|
234
|
+
currentIndex
|
|
235
|
+
});
|
|
156
236
|
}
|
|
157
237
|
}
|
|
158
238
|
|
|
159
|
-
// Eventos dos botões
|
|
239
|
+
// Eventos dos botões (mantidos)
|
|
160
240
|
prevButton.addEventListener('click', function() {
|
|
161
|
-
|
|
241
|
+
if (hasCardsToLeft()) {
|
|
242
|
+
showSlide(currentIndex - getScrollAmount());
|
|
243
|
+
}
|
|
162
244
|
});
|
|
163
245
|
|
|
164
246
|
nextButton.addEventListener('click', function() {
|
|
165
|
-
|
|
247
|
+
if (hasCardsToRight()) {
|
|
248
|
+
showSlide(currentIndex + getScrollAmount());
|
|
249
|
+
}
|
|
166
250
|
});
|
|
167
251
|
|
|
168
|
-
//
|
|
252
|
+
// NOVO: Adicionar evento de scroll do mouse/trackpad
|
|
253
|
+
carousel.addEventListener('wheel', handleWheel, { passive: false });
|
|
254
|
+
|
|
255
|
+
// Adicionar também no container para capturar melhor
|
|
256
|
+
const carouselContainer = carousel.parentElement;
|
|
257
|
+
if (carouselContainer) {
|
|
258
|
+
carouselContainer.addEventListener('wheel', handleWheel, { passive: false });
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
// Eventos de arrastar (mantidos com pequenos ajustes)
|
|
169
262
|
carousel.addEventListener('mousedown', handleStart);
|
|
170
263
|
carousel.addEventListener('touchstart', handleStart, { passive: true });
|
|
171
264
|
|
|
@@ -182,8 +275,6 @@
|
|
|
182
275
|
initialPosition = currentIndex * (getItemWidth() + getItemGap());
|
|
183
276
|
carousel.style.transition = 'none';
|
|
184
277
|
|
|
185
|
-
// Prevenir comportamento padrão para evitar scrolling da página
|
|
186
|
-
// mas apenas se for desktop
|
|
187
278
|
if (e.type !== 'touchstart') {
|
|
188
279
|
e.preventDefault();
|
|
189
280
|
}
|
|
@@ -192,26 +283,21 @@
|
|
|
192
283
|
function handleMove(e) {
|
|
193
284
|
if (!isDragging) return;
|
|
194
285
|
|
|
195
|
-
// Atualizar a posição atual do toque/mouse
|
|
196
286
|
moveX = e.type === 'touchmove' ? e.touches[0].clientX : e.clientX;
|
|
197
287
|
const diff = moveX - startX;
|
|
198
288
|
|
|
199
|
-
// Limitar o arrasto para evitar exceder os limites
|
|
200
289
|
const maxDrag = getItemWidth() * (items.length - getVisibleItems());
|
|
201
290
|
let newPosition = diff - initialPosition;
|
|
202
291
|
|
|
203
|
-
// Adicionar resistência ao arrastar além dos limites
|
|
204
292
|
if (newPosition > 0) {
|
|
205
|
-
newPosition = newPosition * 0.3;
|
|
293
|
+
newPosition = newPosition * 0.3;
|
|
206
294
|
} else if (newPosition < -maxDrag) {
|
|
207
295
|
const overDrag = newPosition + maxDrag;
|
|
208
|
-
newPosition = -maxDrag + (overDrag * 0.3);
|
|
296
|
+
newPosition = -maxDrag + (overDrag * 0.3);
|
|
209
297
|
}
|
|
210
298
|
|
|
211
299
|
carousel.style.transform = `translateX(${newPosition}px)`;
|
|
212
300
|
|
|
213
|
-
// Prevenir comportamento padrão para evitar scrolling da página
|
|
214
|
-
// mas apenas se for desktop
|
|
215
301
|
if (e.type !== 'touchmove') {
|
|
216
302
|
e.preventDefault();
|
|
217
303
|
}
|
|
@@ -224,17 +310,16 @@
|
|
|
224
310
|
carousel.style.transition = 'transform 0.3s ease-in-out';
|
|
225
311
|
|
|
226
312
|
if (!moveX) {
|
|
227
|
-
// Se não houve movimento, apenas restore
|
|
228
313
|
showSlide(currentIndex);
|
|
229
314
|
return;
|
|
230
315
|
}
|
|
231
316
|
|
|
232
317
|
const diff = moveX - startX;
|
|
233
|
-
const threshold = getItemWidth() / 3;
|
|
318
|
+
const threshold = getItemWidth() / 3;
|
|
234
319
|
|
|
235
|
-
if (diff > threshold) {
|
|
320
|
+
if (diff > threshold && hasCardsToLeft()) {
|
|
236
321
|
showSlide(currentIndex - getScrollAmount());
|
|
237
|
-
} else if (diff < -threshold) {
|
|
322
|
+
} else if (diff < -threshold && hasCardsToRight()) {
|
|
238
323
|
showSlide(currentIndex + getScrollAmount());
|
|
239
324
|
} else {
|
|
240
325
|
showSlide(currentIndex);
|
|
@@ -246,19 +331,15 @@
|
|
|
246
331
|
window.addEventListener('resize', function() {
|
|
247
332
|
clearTimeout(resizeTimeout);
|
|
248
333
|
resizeTimeout = setTimeout(function() {
|
|
249
|
-
//
|
|
250
|
-
hideButtonsWhenNeeded();
|
|
334
|
+
updateArrowVisibility(); // Usar nova função
|
|
251
335
|
|
|
252
|
-
// Verifica se o índice atual ainda é válido com o novo tamanho
|
|
253
336
|
if (currentIndex > getMaxIndex()) {
|
|
254
337
|
currentIndex = getMaxIndex();
|
|
255
338
|
}
|
|
256
339
|
|
|
257
|
-
|
|
258
|
-
carousel.style.transition = 'none'; // Desativa transição para reposicionamento imediato
|
|
340
|
+
carousel.style.transition = 'none';
|
|
259
341
|
showSlide(currentIndex);
|
|
260
342
|
|
|
261
|
-
// Restaura a transição após o reposicionamento
|
|
262
343
|
setTimeout(() => {
|
|
263
344
|
carousel.style.transition = 'transform 0.3s ease-in-out';
|
|
264
345
|
}, 50);
|
|
@@ -268,22 +349,18 @@
|
|
|
268
349
|
// Inicializar o carrossel
|
|
269
350
|
showSlide(0);
|
|
270
351
|
|
|
271
|
-
//
|
|
352
|
+
// Verificação adicional após carregamento
|
|
272
353
|
setTimeout(function() {
|
|
273
|
-
|
|
274
|
-
hideButtonsWhenNeeded();
|
|
354
|
+
updateArrowVisibility();
|
|
275
355
|
|
|
276
|
-
// Verificar se deve mostrar as setas e configurar adequadamente
|
|
277
356
|
if (shouldShowArrows()) {
|
|
278
|
-
|
|
357
|
+
updateArrowVisibility(); // Usar nova função
|
|
279
358
|
}
|
|
280
359
|
|
|
281
|
-
// Verificar novamente se os elementos têm tamanho correto
|
|
282
360
|
showSlide(currentIndex);
|
|
283
361
|
}, 500);
|
|
284
362
|
}
|
|
285
363
|
|
|
286
|
-
// Iniciar carrossel com um pequeno atraso para garantir que todos os elementos estejam carregados
|
|
287
364
|
setTimeout(initCarousel, 100);
|
|
288
365
|
});
|
|
289
366
|
</script>
|
|
@@ -7,7 +7,7 @@ enap_designsystem/signals.py,sha256=oaHpZms4Dkc97ql-55Q0QxU7-45jwg2Y1XoRDOJ45tc,
|
|
|
7
7
|
enap_designsystem/urls.py,sha256=zFtWwC98ajREPMNU_GzvFmMULj7DhD2LLNdEDhYnaxs,1846
|
|
8
8
|
enap_designsystem/views.py,sha256=VMVV7KXv3U2IUXBk7G4yXtmGzrwngOU1CqQEva78hNA,71355
|
|
9
9
|
enap_designsystem/wagtail_hooks.py,sha256=nEUdWC6oHzLDVDo76D-40aa_0Ex8gUmCEfzcsAQig8w,45979
|
|
10
|
-
enap_designsystem/blocks/__init__.py,sha256=
|
|
10
|
+
enap_designsystem/blocks/__init__.py,sha256=F9NHc5bD442qMfeYrmp9ql9mQuydMV4otrcZFzh625Y,37967
|
|
11
11
|
enap_designsystem/blocks/base_blocks.py,sha256=ZuqVWn4PEAvD3pKM1ST7wjo4lwv98ooen_rs15rRJbg,10866
|
|
12
12
|
enap_designsystem/blocks/chatbot_blocks.py,sha256=YeCznrXMbFa9MP9vjdTYl53ZhKsywkGOXvFK2bwcqW0,1133
|
|
13
13
|
enap_designsystem/blocks/content_blocks.py,sha256=4oWDtY0zmvC6k7v_WduCTAyGapJuQTsfJ9ij_vJZXxY,16549
|
|
@@ -433,7 +433,7 @@ enap_designsystem/static/enap_designsystem/blocks/banner_search_block.css,sha256
|
|
|
433
433
|
enap_designsystem/static/enap_designsystem/blocks/banner_topicos_block.css,sha256=wd_nJcMSfnDafVHgB4EHc0jgKOQW55Wu7Quc_YWkzaE,2347
|
|
434
434
|
enap_designsystem/static/enap_designsystem/blocks/breadcrumbs.css,sha256=PH8osEkecJTLGFzimzEs1h7oP2sE-p9tDY_Ynd_DLvY,867
|
|
435
435
|
enap_designsystem/static/enap_designsystem/blocks/btn.css,sha256=1XXt_izxKvC7JejS9XLy_D7crSPynZJLr4uXDJ0sx6Q,1435
|
|
436
|
-
enap_designsystem/static/enap_designsystem/blocks/bundle.css,sha256=
|
|
436
|
+
enap_designsystem/static/enap_designsystem/blocks/bundle.css,sha256=ffte6luGMbYd4ftkpPMq2-dE8OTT7iHJvNkNpT6TH_A,37443
|
|
437
437
|
enap_designsystem/static/enap_designsystem/blocks/buttongroup.css,sha256=ym2tVLIhAnLWfRbG1L9_LFMfk7laM9bd3oYCJwLPhrY,1200
|
|
438
438
|
enap_designsystem/static/enap_designsystem/blocks/card_courses.css,sha256=kk4NMA2BF-wvnmqlFBwAEdhaamGJNv65ei-Ceq2Y1WA,3244
|
|
439
439
|
enap_designsystem/static/enap_designsystem/blocks/card_curso_block.css,sha256=m_YFF4eBzBx8_QwWk5Qv8vagq5TawCxEmY1cWb9Bco4,1300
|
|
@@ -486,7 +486,7 @@ enap_designsystem/static/enap_designsystem/blocks/team_carousel.css,sha256=HdV1r
|
|
|
486
486
|
enap_designsystem/static/enap_designsystem/blocks/team_carousel.js,sha256=yf8pPuyRubbl5bMgXP-NZHM6JMjb0eF5EFyrXYESlS0,4993
|
|
487
487
|
enap_designsystem/static/enap_designsystem/blocks/team_modern.css,sha256=pDjuauDRSEUoXMXflHBqBAO71IGuWP8Y0HDny-Fjdqo,3301
|
|
488
488
|
enap_designsystem/static/enap_designsystem/blocks/template_holofote.css,sha256=WFQz4DorRDiNkXnVIHvAFchpbQQP7rYVFtO0LEZ4mH4,9143
|
|
489
|
-
enap_designsystem/static/enap_designsystem/blocks/testimonials_carousel.css,sha256=
|
|
489
|
+
enap_designsystem/static/enap_designsystem/blocks/testimonials_carousel.css,sha256=Fhx17vYUFhXRUqMQIcj5SPWHzZDMPDCI04BffxfpDew,5815
|
|
490
490
|
enap_designsystem/static/enap_designsystem/blocks/testimonials_carousel.js,sha256=HKPb7i77PSluF-163ObIHjvdSuAIopWIKCuEtUp3-PI,6120
|
|
491
491
|
enap_designsystem/static/enap_designsystem/blocks/texto_imagem.css,sha256=W6EYnaNnhPo891Fb1gS7vtZuJlcnoCrG498WdauHehY,2309
|
|
492
492
|
enap_designsystem/static/enap_designsystem/blocks/topic_links_block.css,sha256=ILNPc66FEbcrFKBdh0AkaZqFMzROAaTCkj-_BoLnOJQ,2416
|
|
@@ -497,8 +497,8 @@ enap_designsystem/static/enap_designsystem/blocks/pages/page_search.css,sha256=O
|
|
|
497
497
|
enap_designsystem/static/enap_designsystem/blocks/pages/page_search.js,sha256=Y8Glb6rYO0nYQS9ry9-7__XvvXF6fGHwUSEVS9VslTI,4717
|
|
498
498
|
enap_designsystem/static/enap_designsystem/blocks/pages/template_cursos.css,sha256=f7oyQwzbkCU_aNdSSEqJ62_irFNC1h82Y47p3DppDso,415
|
|
499
499
|
enap_designsystem/static/enap_designsystem/blocks/pages/template_especializacao.css,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
500
|
-
enap_designsystem/static/enap_designsystem/blocks/pages/template_homeI.css,sha256=
|
|
501
|
-
enap_designsystem/static/enap_designsystem/blocks/pages/template_homeII.css,sha256=
|
|
500
|
+
enap_designsystem/static/enap_designsystem/blocks/pages/template_homeI.css,sha256=YOkB8Ojb4TDxh53pFjctNcC5RCwspSzwG3Hb2DYhN3o,17108
|
|
501
|
+
enap_designsystem/static/enap_designsystem/blocks/pages/template_homeII.css,sha256=wuuq6VQxFlrpGoxaAmTLMN7Xs4QFjGJvQ0KYm5JMLgY,11697
|
|
502
502
|
enap_designsystem/static/enap_designsystem/blocks/suap/default_1.png,sha256=UvxSbSAH4-UParJRo6efIH2y3R6tW0fCjhSsnvSRl-Y,328474
|
|
503
503
|
enap_designsystem/static/enap_designsystem/blocks/suap/default_2.png,sha256=UvxSbSAH4-UParJRo6efIH2y3R6tW0fCjhSsnvSRl-Y,328474
|
|
504
504
|
enap_designsystem/static/enap_designsystem/blocks/suap/suap_courses_block.css,sha256=9QLL18brmhjv0dDLdAtXVPUgUQX_Vlut2MRNl9D-deo,4450
|
|
@@ -691,7 +691,7 @@ enap_designsystem/templates/enap_designsystem/blocks/suap_card_curso_block.html,
|
|
|
691
691
|
enap_designsystem/templates/enap_designsystem/blocks/tags.html,sha256=EWCFTP1CITV_zB0KFjGmlId5y8wTaCXVs8OPZZZuKdA,1491
|
|
692
692
|
enap_designsystem/templates/enap_designsystem/blocks/team_carousel.html,sha256=Kvk2M9npEUnw_iSmGpPLQIpQWhE9qzl56jS3kYh36MI,10126
|
|
693
693
|
enap_designsystem/templates/enap_designsystem/blocks/team_modern.html,sha256=1fhJQUpasI-WdMNBgCAA0D2JauoMITXyBnZUttk4ttc,6956
|
|
694
|
-
enap_designsystem/templates/enap_designsystem/blocks/testimonials_carousel.html,sha256=
|
|
694
|
+
enap_designsystem/templates/enap_designsystem/blocks/testimonials_carousel.html,sha256=aK7wI2MUAPO9SZkhrtoKSpDonFgd86lI8KZjHVTnY24,16151
|
|
695
695
|
enap_designsystem/templates/enap_designsystem/blocks/texto_imagem.html,sha256=BP4COUYHsVJ52tIwEGSNTFpAa7xmDUgpw_f5pCggWyI,2005
|
|
696
696
|
enap_designsystem/templates/enap_designsystem/blocks/timeline.html,sha256=YeL5eA4DyFC36RR-7gjiXW8ZDBckyJuCxaEiqdkzmDM,16573
|
|
697
697
|
enap_designsystem/templates/enap_designsystem/blocks/timeline_container.html,sha256=TQvH3H-gmKGi5qIOuncjcu2W05qsPkIB_fgVH8EfLRU,6559
|
|
@@ -705,12 +705,12 @@ enap_designsystem/templates/enap_designsystem/blocks/footer/footer_social_grid_b
|
|
|
705
705
|
enap_designsystem/templates/enap_designsystem/blocks/navbar/navbar_block.html,sha256=x_JbxCaARQB1CSz048F5miHssGeAEaWjUetzv41NT3U,40185
|
|
706
706
|
enap_designsystem/templates/enap_designsystem/blocks/page/lia.html,sha256=54swuKsR3U0AIbTNSNQlQ-HncYT0sGhW82wk9rITg78,27450
|
|
707
707
|
enap_designsystem/templates/enap_designsystem/blocks/page/pagelist_block.html,sha256=4zJgraGrAPBRTg3malKolNxvIrot67rpfFNn0uwlbSI,27785
|
|
708
|
-
enap_designsystem/templates/enap_designsystem/blocks/page/pagenoticias_block.html,sha256=
|
|
708
|
+
enap_designsystem/templates/enap_designsystem/blocks/page/pagenoticias_block.html,sha256=sFT8GCsWpPHUqE_scaN6Zx4j1M8hp51VCM-VLM7p_-0,24572
|
|
709
709
|
enap_designsystem/templates/enap_designsystem/blocks/rps/apirps_busca_block.html,sha256=V2mkc_duQuljxG-ASzDuesgy6BuHcYifIqFpiBtYkUU,7075
|
|
710
710
|
enap_designsystem/templates/enap_designsystem/blocks/rps/apirps_ultima_block.html,sha256=kfdhbe9-nxf8my4K2qKNX195d3Sumzm3Hrc3XaSRm_4,2960
|
|
711
711
|
enap_designsystem/templates/enap_designsystem/blocks/suap/apisuap_courses_block.html,sha256=bgDEbZKv-szE7k2rN6k9kFC8XMgJd7XfKfynEznRscI,23231
|
|
712
|
-
enap_designsystem/templates/enap_designsystem/blocks/suap/suap_courses_block.html,sha256=
|
|
713
|
-
enap_designsystem/templates/enap_designsystem/blocks/suap/suap_events_block.html,sha256
|
|
712
|
+
enap_designsystem/templates/enap_designsystem/blocks/suap/suap_courses_block.html,sha256=b-9XNIbUkQnvQnn1UsWVEFeQJkv7vyihtbeHX5a0Ghc,15809
|
|
713
|
+
enap_designsystem/templates/enap_designsystem/blocks/suap/suap_events_block.html,sha256=mL2DFQeAuDIx_GyCoEURKmME-Mmd-zQ_NZkO7YW9Z2k,20182
|
|
714
714
|
enap_designsystem/templates/enap_designsystem/form_templates/form_report.html,sha256=WXf4HgNQY0M6zZ-tERqf01mHbGflqWXT96RaJYjCxFA,16081
|
|
715
715
|
enap_designsystem/templates/enap_designsystem/form_templates/formulario_page.html,sha256=fWNpSB5IniMyiV3Y0G69zPXdlQtw71vetlgH-7OLAX4,63466
|
|
716
716
|
enap_designsystem/templates/enap_designsystem/form_templates/formulario_page_landing.html,sha256=YsxUFe2U7aQHY8Xb_WeCjwQZWJOpLVlhS8Q3HpCMNug,7670
|
|
@@ -807,8 +807,8 @@ enap_designsystem/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
|
807
807
|
enap_designsystem/utils/decorators.py,sha256=aq6SbLn0LcH2rfE3ZFit8jkD7pSx9fLVBUUwVB747hg,335
|
|
808
808
|
enap_designsystem/utils/services.py,sha256=6dG5jLSbwH49jpZV9ZNpWlaZqI49gTlwlr1vaerxdiU,5824
|
|
809
809
|
enap_designsystem/utils/sso.py,sha256=vjAuoYgoLeQAa_dkkyQ6-LmHvKMaVCxizNFpe5y3iUA,1145
|
|
810
|
-
wagtail_enap_designsystem-1.2.1.
|
|
811
|
-
wagtail_enap_designsystem-1.2.1.
|
|
812
|
-
wagtail_enap_designsystem-1.2.1.
|
|
813
|
-
wagtail_enap_designsystem-1.2.1.
|
|
814
|
-
wagtail_enap_designsystem-1.2.1.
|
|
810
|
+
wagtail_enap_designsystem-1.2.1.106.dist-info/licenses/LICENSE,sha256=Btzdu2kIoMbdSp6OyCLupB1aRgpTCJ_szMimgEnpkkE,1056
|
|
811
|
+
wagtail_enap_designsystem-1.2.1.106.dist-info/METADATA,sha256=cZBHZ3EUNWg4beZ97uBIv-JKFafkH_MoVocH8_Uhhto,3651
|
|
812
|
+
wagtail_enap_designsystem-1.2.1.106.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
813
|
+
wagtail_enap_designsystem-1.2.1.106.dist-info/top_level.txt,sha256=RSFgMASxoA-hVftm5i4Qd0rArlX4Dq08lLv5G4sYD-g,18
|
|
814
|
+
wagtail_enap_designsystem-1.2.1.106.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|