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

@@ -139,6 +139,13 @@
139
139
  gap: 16px;
140
140
  color: #434A54;
141
141
  }
142
+
143
+
144
+ .card-primary p{
145
+
146
+ color: #434A54;
147
+ }
148
+
142
149
 
143
150
  .card-secondary{
144
151
  background-color: #007D7A;
@@ -557,4 +564,7 @@
557
564
  /* Classe utilitária para texto branco em fundos escuros específicos */
558
565
  .dark-bg-text {
559
566
  color: white !important;
560
- }
567
+ }
568
+
569
+
570
+
@@ -27,7 +27,7 @@
27
27
  {% for link_block in navbar.links %}
28
28
  {% if link_block.block_type == 'navbar_link' %}
29
29
  <!-- Link normal -->
30
- <a href="{{ link_block.value.url }}" class="nav-link-nav" target="_blank">
30
+ <a href="{{ link_block.value.url }}" class="nav-link-nav">
31
31
  {{ link_block.value.label }}
32
32
  </a>
33
33
  {% elif link_block.block_type == 'chooserpage' %}
@@ -266,7 +266,7 @@
266
266
 
267
267
  .news-main-image {
268
268
  width: 100%;
269
- height: 400px; /* Altura fixa para Safari */
269
+ height: 100%; /* Altura fixa para Safari */
270
270
  overflow: hidden;
271
271
  position: relative;
272
272
  }
@@ -338,7 +338,7 @@
338
338
 
339
339
  .news-secondary-image {
340
340
  width: 150px;
341
- height: 100px; /* Altura fixa */
341
+ height: 100%; /* Altura fixa */
342
342
  border-radius: 6px;
343
343
  overflow: hidden;
344
344
  flex-shrink: 0;
@@ -414,7 +414,7 @@
414
414
  }
415
415
 
416
416
  .secondary-placeholder {
417
- height: 100px;
417
+ height: 100%;
418
418
  font-size: 24px;
419
419
  }
420
420
 
@@ -124,6 +124,50 @@
124
124
  // Reposiciona o carousel na posição atual
125
125
  showSlide(currentIndex);
126
126
  }
127
+
128
+ // SCROLL FLUIDO com trackpad/mouse wheel
129
+ sliderContainer.addEventListener('wheel', function(e) {
130
+ if (Math.abs(e.deltaX) > 0) {
131
+ e.preventDefault();
132
+
133
+ // Obter posição atual do transform
134
+ const currentTransform = sliderTrack.style.transform;
135
+ const match = currentTransform.match(/translateX\((-?\d*\.?\d*)px\)/);
136
+ let currentOffset = match ? parseFloat(match[1]) : 0;
137
+
138
+ // Movimento proporcional
139
+ const scrollMultiplier = 1.5;
140
+ const newOffset = currentOffset - (e.deltaX * scrollMultiplier);
141
+
142
+ // Limites
143
+ const maxOffset = 0;
144
+ const minOffset = -(maxIndex * (slideWidth + slideMargin));
145
+
146
+ // Resistência nas bordas
147
+ let finalOffset = newOffset;
148
+ if (newOffset > maxOffset) {
149
+ finalOffset = maxOffset + ((newOffset - maxOffset) * 0.3);
150
+ } else if (newOffset < minOffset) {
151
+ finalOffset = minOffset + ((newOffset - minOffset) * 0.3);
152
+ }
153
+
154
+ // Aplicar posição
155
+ sliderTrack.style.transition = 'none';
156
+ sliderTrack.style.transform = `translateX(${finalOffset}px)`;
157
+
158
+ // Atualizar currentIndex baseado na posição
159
+ const newIndex = Math.round(Math.abs(finalOffset) / (slideWidth + slideMargin));
160
+ currentIndex = Math.max(0, Math.min(newIndex, maxIndex));
161
+ updateNavigationButtons();
162
+
163
+ // Snap quando parar de rolar
164
+ clearTimeout(window.snapTimeout);
165
+ window.snapTimeout = setTimeout(() => {
166
+ sliderTrack.style.transition = 'transform 0.5s ease-in-out';
167
+ showSlide(currentIndex);
168
+ }, 150);
169
+ }
170
+ }, { passive: false });
127
171
 
128
172
  // Função para atualizar a visibilidade dos botões de navegação
129
173
  function updateNavigationButtons() {
@@ -228,6 +272,9 @@
228
272
  // Inicialização
229
273
  updateSlideWidth();
230
274
  });
275
+
276
+
277
+
231
278
  </script>
232
279
  {% endblock content %}
233
280
  {% endblock block_render %}
@@ -7,7 +7,7 @@
7
7
  <div class="team-container">
8
8
  <div class="team-header">
9
9
  <h2 class="team-title">{{ value.title }}</h2>
10
- <h4 class="team-subtitle">{{ value.description }}</h4>
10
+ <h3 class="team-subtitle">{{ value.description }}</h3>
11
11
  </div>
12
12
 
13
13
  <div class="team-carousel-wrapper">
@@ -73,6 +73,7 @@
73
73
  let currentIndex = 0;
74
74
  let startX, moveX, initialPosition;
75
75
  let isDragging = false;
76
+ let snapTimeout; // Para o timeout do snap do trackpad
76
77
 
77
78
  // Verifica se é dispositivo mobile
78
79
  function isMobile() {
@@ -209,6 +210,62 @@
209
210
  }
210
211
  }
211
212
 
213
+ // FUNCIONALIDADE DE SCROLL COM TRACKPAD (APENAS HORIZONTAL)
214
+ carousel.addEventListener('wheel', function(e) {
215
+ // Verifica se há movimento horizontal (trackpad)
216
+ const hasHorizontalScroll = Math.abs(e.deltaX) > 0;
217
+
218
+ // No mobile, não intercepta o scroll para permitir scroll da página
219
+ if (isMobile()) return;
220
+
221
+ // Apenas intercepta se há movimento horizontal
222
+ if (hasHorizontalScroll) {
223
+ e.preventDefault();
224
+
225
+ // Usa apenas deltaX (movimento horizontal)
226
+ const deltaValue = e.deltaX;
227
+
228
+ // Obter posição atual do transform
229
+ const currentTransform = carousel.style.transform;
230
+ const match = currentTransform.match(/translateX\((-?\d*\.?\d*)px\)/);
231
+ let currentOffset = match ? parseFloat(match[1]) : 0;
232
+
233
+ // Movimento proporcional
234
+ const scrollMultiplier = 1.5;
235
+ const newOffset = currentOffset - (deltaValue * scrollMultiplier);
236
+
237
+ // Calcula os limites baseado nas funções existentes
238
+ const maxOffset = 0;
239
+ const itemWidth = getItemWidth();
240
+ const itemGap = getItemGap();
241
+ const minOffset = -(getMaxIndex() * (itemWidth + itemGap));
242
+
243
+ // Resistência nas bordas
244
+ let finalOffset = newOffset;
245
+ if (newOffset > maxOffset) {
246
+ finalOffset = maxOffset + ((newOffset - maxOffset) * 0.3);
247
+ } else if (newOffset < minOffset) {
248
+ finalOffset = minOffset + ((newOffset - minOffset) * 0.3);
249
+ }
250
+
251
+ // Aplicar posição
252
+ carousel.style.transition = 'none';
253
+ carousel.style.transform = `translateX(${finalOffset}px)`;
254
+
255
+ // Atualizar currentIndex baseado na posição
256
+ const newIndex = Math.round(Math.abs(finalOffset) / (itemWidth + itemGap));
257
+ currentIndex = Math.max(0, Math.min(newIndex, getMaxIndex()));
258
+ updateNavigationButtons();
259
+
260
+ // Snap quando parar de rolar
261
+ clearTimeout(snapTimeout);
262
+ snapTimeout = setTimeout(() => {
263
+ carousel.style.transition = 'transform 0.5s ease-in-out';
264
+ showSlide(currentIndex);
265
+ }, 150);
266
+ }
267
+ }, { passive: false });
268
+
212
269
  // Ajuste quando a tela é redimensionada
213
270
  let resizeTimeout;
214
271
  window.addEventListener('resize', function() {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wagtail-enap-designsystem
3
- Version: 1.2.1.106
3
+ Version: 1.2.1.107
4
4
  Summary: Módulo de componentes utilizado nos portais ENAP, desenvolvido com Wagtail + CodeRedCMS
5
5
  Author: Renan Campos
6
6
  Author-email: renan.oliveira@enap.gov.br
@@ -437,7 +437,7 @@ enap_designsystem/static/enap_designsystem/blocks/bundle.css,sha256=ffte6luGMbYd
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
440
- enap_designsystem/static/enap_designsystem/blocks/cards.css,sha256=gwGw2sDGgZdgJE6MTID840D2Y98-Ua-tqTMo_D96NZc,12500
440
+ enap_designsystem/static/enap_designsystem/blocks/cards.css,sha256=tBHirMOJn_WNzALlvD7Pu-c3cs9txMmES3esbJ3YVOc,12574
441
441
  enap_designsystem/static/enap_designsystem/blocks/carousel.css,sha256=POZx1jeppReDfqejVRNxnzCXiZ_5J9setJ827T5aPCk,2755
442
442
  enap_designsystem/static/enap_designsystem/blocks/carousel_bggreen.css,sha256=EW3Xf9yvNAa6_wkkwFIQMCP3UX3w7bJA5thhkrfZVt4,13014
443
443
  enap_designsystem/static/enap_designsystem/blocks/cartao_destacado.css,sha256=tXCoiijxoYdFbE2b988MqnFiJBKmPhzt7ZFJ42l3eIw,2362
@@ -669,7 +669,7 @@ enap_designsystem/templates/enap_designsystem/blocks/navbar_component.html,sha25
669
669
  enap_designsystem/templates/enap_designsystem/blocks/navbarv3.html,sha256=nagcfcz0hB_V1NT2IOczFcmgjd1OvQ9fnpITWwXhSA8,5501
670
670
  enap_designsystem/templates/enap_designsystem/blocks/ouvidoria_block.html,sha256=ivehDQbJd1VAdyTHdHU1wkjkWMCQ2SnoOrZRWScfH9w,3634
671
671
  enap_designsystem/templates/enap_designsystem/blocks/pagination.html,sha256=ngRTn0fxMYuDOw0MD6VHAmu0VqQMx_A8oDUCdqBRanI,3308
672
- enap_designsystem/templates/enap_designsystem/blocks/preview_courses.html,sha256=3aOb3T0yMgvIwt9zZ-hlzd3CBD_jabYr1ouBjup9mGc,11614
672
+ enap_designsystem/templates/enap_designsystem/blocks/preview_courses.html,sha256=TV6GH_CCEpQUmdEJMqCzVyKS2KSWpEP8mnosYoJsp4Y,13344
673
673
  enap_designsystem/templates/enap_designsystem/blocks/programa_card.html,sha256=nK4hMkEd6FZaEtWOz7QWOTA0iq9_3g4kXXvOcYIZKBo,1034
674
674
  enap_designsystem/templates/enap_designsystem/blocks/programa_cards.html,sha256=pWiTQuE6H4Zewdi72aMHq48Uz0-KDURQKbv4pEt1k7w,9543
675
675
  enap_designsystem/templates/enap_designsystem/blocks/quote_block.html,sha256=x_hWs1npc987dSAx_lP30oJNaMRqTixy7M74_F6XMpg,347
@@ -689,7 +689,7 @@ enap_designsystem/templates/enap_designsystem/blocks/statistic_card.html,sha256=
689
689
  enap_designsystem/templates/enap_designsystem/blocks/statistics_section.html,sha256=IsQKrhtoivna09-YLg-4dUA7wGFwJROlbB8hbLXEpSA,4220
690
690
  enap_designsystem/templates/enap_designsystem/blocks/suap_card_curso_block.html,sha256=6wd7xwAimASB7XO3V0woYsv-1Mtq_rxrGiHU4izxIUs,20480
691
691
  enap_designsystem/templates/enap_designsystem/blocks/tags.html,sha256=EWCFTP1CITV_zB0KFjGmlId5y8wTaCXVs8OPZZZuKdA,1491
692
- enap_designsystem/templates/enap_designsystem/blocks/team_carousel.html,sha256=Kvk2M9npEUnw_iSmGpPLQIpQWhE9qzl56jS3kYh36MI,10126
692
+ enap_designsystem/templates/enap_designsystem/blocks/team_carousel.html,sha256=1kTP0_aRGWdRSjL_Pudvji-bT0E0nJYgdKVtt0pQ6nE,12836
693
693
  enap_designsystem/templates/enap_designsystem/blocks/team_modern.html,sha256=1fhJQUpasI-WdMNBgCAA0D2JauoMITXyBnZUttk4ttc,6956
694
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
@@ -702,10 +702,10 @@ enap_designsystem/templates/enap_designsystem/blocks/why_choose.html,sha256=g6Ah
702
702
  enap_designsystem/templates/enap_designsystem/blocks/wizard.html,sha256=9flhjtnYFeyuxKk0OKFU4fBtAt_pPHQuLkLSJHfjrqU,2498
703
703
  enap_designsystem/templates/enap_designsystem/blocks/footer/footer_social_block.html,sha256=xa112srdhgJk0_0T5VM9j9tYDkjBtB1Jn9QZKXD7kOY,1132
704
704
  enap_designsystem/templates/enap_designsystem/blocks/footer/footer_social_grid_block.html,sha256=lrECa_DFeFI7gJc5wnJkNEct9r9Nj7eIl5vgLO_1_Uc,787
705
- enap_designsystem/templates/enap_designsystem/blocks/navbar/navbar_block.html,sha256=x_JbxCaARQB1CSz048F5miHssGeAEaWjUetzv41NT3U,40185
705
+ enap_designsystem/templates/enap_designsystem/blocks/navbar/navbar_block.html,sha256=ODb6r0pAV1LS_byt0Kqmf4TocAPDdBEkSVleQFxjnY4,40169
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=sFT8GCsWpPHUqE_scaN6Zx4j1M8hp51VCM-VLM7p_-0,24572
708
+ enap_designsystem/templates/enap_designsystem/blocks/page/pagenoticias_block.html,sha256=XqBQOjaL8SJ4ILobgBJOmLINGu6SG5zCToJcKTv7dQ8,24569
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
@@ -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.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,,
810
+ wagtail_enap_designsystem-1.2.1.107.dist-info/licenses/LICENSE,sha256=Btzdu2kIoMbdSp6OyCLupB1aRgpTCJ_szMimgEnpkkE,1056
811
+ wagtail_enap_designsystem-1.2.1.107.dist-info/METADATA,sha256=fZVpVr8IgEzRQpFlLhOP9dSOTBBMPfHSN27L--EVRR4,3651
812
+ wagtail_enap_designsystem-1.2.1.107.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
813
+ wagtail_enap_designsystem-1.2.1.107.dist-info/top_level.txt,sha256=RSFgMASxoA-hVftm5i4Qd0rArlX4Dq08lLv5G4sYD-g,18
814
+ wagtail_enap_designsystem-1.2.1.107.dist-info/RECORD,,