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

@@ -0,0 +1,271 @@
1
+ <!-- templates/components/content_box.html -->
2
+ <section class="content-box-section"
3
+ style="background-color: {{ value.background_color }}; padding: {{ value.section_padding|default:'80px' }} 0;">
4
+
5
+ <div class="container">
6
+
7
+ <!-- Título centralizado -->
8
+ {% if value.titulo %}
9
+ <h2 class="content-box-title">{{ value.titulo }}</h2>
10
+ {% endif %}
11
+
12
+ <!-- Caixa de conteúdo -->
13
+ <div class="content-box-wrapper">
14
+ <div class="content-box-content"
15
+ style="background-color: {{ value.content_background_color }};">
16
+
17
+ <!-- Conteúdo rico -->
18
+ {% if value.content_text %}
19
+ <div class="content-box-text">
20
+ {{ value.content_text|safe }}
21
+ </div>
22
+ {% endif %}
23
+
24
+ </div>
25
+ </div>
26
+
27
+ <!-- Botão -->
28
+ {% if value.button_text and value.button_url %}
29
+ <div class="content-box-button-wrapper">
30
+ <a href="{{ value.button_url }}"
31
+ class="content-box-button"
32
+ style="background-color: {{ value.button_color }};">
33
+ {% if value.button_icon %}
34
+ <i class="{{ value.button_icon }}" aria-hidden="true"></i>
35
+ {% endif %}
36
+ {{ value.button_text }}
37
+ </a>
38
+ </div>
39
+ {% endif %}
40
+
41
+ </div>
42
+ </section>
43
+
44
+ <style>
45
+ /* CSS do componente Content Box */
46
+ .content-box-section {
47
+ width: 100%;
48
+ position: relative;
49
+ }
50
+
51
+ .content-box-section .container {
52
+ max-width: 1142px;
53
+ margin: 0 auto;
54
+ padding: 0 20px;
55
+ text-align: center;
56
+ }
57
+
58
+ /* Título centralizado */
59
+ .content-box-title {
60
+ font-size: 2.5rem;
61
+ font-weight: bold;
62
+ color: #333;
63
+ margin-bottom: 3rem;
64
+ line-height: 1.2;
65
+ text-align: center;
66
+ max-width: 800px;
67
+ margin: auto;
68
+ }
69
+
70
+ /* Wrapper da caixa de conteúdo */
71
+ .content-box-wrapper {
72
+ display: flex;
73
+ justify-content: center;
74
+ margin-bottom: 3rem;
75
+ }
76
+
77
+ /* Caixa de conteúdo */
78
+ .content-box-content {
79
+ width: 100%;
80
+ padding: 3rem 2.5rem;
81
+ border-radius: 12px;
82
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
83
+ text-align: left;
84
+ position: relative;
85
+ }
86
+
87
+ .content-box-text {
88
+ color: #555;
89
+ line-height: 1.7;
90
+ font-size: 1.1rem;
91
+ }
92
+
93
+ .content-box-text h2 {
94
+ color: #333;
95
+ font-size: 1.5rem;
96
+ font-weight: bold;
97
+ margin-bottom: 1rem;
98
+ margin-top: 2rem;
99
+ }
100
+
101
+ .content-box-text h2:first-child {
102
+ margin-top: 0;
103
+ }
104
+
105
+ .content-box-text h3 {
106
+ color: #444;
107
+ font-size: 1.3rem;
108
+ font-weight: 600;
109
+ margin-bottom: 0.8rem;
110
+ margin-top: 1.5rem;
111
+ }
112
+
113
+ .content-box-text h4 {
114
+ color: #555;
115
+ font-size: 1.1rem;
116
+ font-weight: 600;
117
+ margin-bottom: 0.5rem;
118
+ margin-top: 1rem;
119
+ }
120
+
121
+ .content-box-text p {
122
+ margin-bottom: 1.2rem;
123
+ }
124
+
125
+ .content-box-text strong {
126
+ font-weight: 600;
127
+ color: #333;
128
+ }
129
+
130
+ .content-box-text a {
131
+ color: #007D7A;
132
+ text-decoration: none;
133
+ font-weight: 500;
134
+ }
135
+
136
+ .content-box-text a:hover {
137
+ color: #024248;
138
+ text-decoration: underline;
139
+ }
140
+
141
+ .content-box-text ul,
142
+ .content-box-text ol {
143
+ margin-bottom: 1.2rem;
144
+ padding-left: 1.5rem;
145
+ }
146
+
147
+ .content-box-text li {
148
+ margin-bottom: 0.5rem;
149
+ }
150
+
151
+ .content-box-text hr {
152
+ border: none;
153
+ height: 1px;
154
+ background-color: #ddd;
155
+ margin: 2rem 0;
156
+ }
157
+
158
+ /* Wrapper do botão */
159
+ .content-box-button-wrapper {
160
+ display: flex;
161
+ justify-content: center;
162
+ }
163
+
164
+ /* Botão */
165
+ .content-box-button {
166
+ display: inline-flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ gap: 0.5rem;
170
+ padding: 1rem 2.5rem;
171
+ border-radius: 25px;
172
+ color: white;
173
+ text-decoration: none;
174
+ font-weight: 600;
175
+ font-size: 1rem;
176
+ text-transform: uppercase;
177
+ letter-spacing: 0.5px;
178
+ transition: all 0.3s ease;
179
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
180
+ position: relative;
181
+ overflow: hidden;
182
+ }
183
+
184
+ .content-box-button:hover {
185
+ transform: translateY(-2px);
186
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
187
+ color: white;
188
+ text-decoration: none;
189
+ filter: brightness(1.1);
190
+ }
191
+
192
+ .content-box-button:active {
193
+ transform: translateY(0);
194
+ }
195
+
196
+ .content-box-button i {
197
+ font-size: 0.9rem;
198
+ }
199
+
200
+ /* Adaptação de cores do texto baseado no background */
201
+ .content-box-section[style*="#000000"] .content-box-title,
202
+ .content-box-section[style*="#024248"] .content-box-title,
203
+ .content-box-section[style*="#007D7A"] .content-box-title,
204
+ .content-box-section[style*="#02333A"] .content-box-title {
205
+ color: white;
206
+ }
207
+
208
+ .content-box-content[style*="#000000"] .content-box-text,
209
+ .content-box-content[style*="#000000"] .content-box-text h2,
210
+ .content-box-content[style*="#000000"] .content-box-text h3,
211
+ .content-box-content[style*="#000000"] .content-box-text h4 {
212
+ color: white;
213
+ }
214
+
215
+ .content-box-content[style*="#024248"] .content-box-text,
216
+ .content-box-content[style*="#024248"] .content-box-text h2,
217
+ .content-box-content[style*="#024248"] .content-box-text h3,
218
+ .content-box-content[style*="#024248"] .content-box-text h4 {
219
+ color: white;
220
+ }
221
+
222
+ /* Responsividade */
223
+ @media (max-width: 768px) {
224
+ .content-box-title {
225
+ font-size: 2rem;
226
+ margin-bottom: 2rem;
227
+ }
228
+
229
+ .content-box-content {
230
+ padding: 2rem 1.5rem;
231
+ margin: 0 10px;
232
+ }
233
+
234
+ .content-box-text {
235
+ font-size: 1rem;
236
+ }
237
+
238
+ .content-box-text h2 {
239
+ font-size: 1.3rem;
240
+ }
241
+
242
+ .content-box-text h3 {
243
+ font-size: 1.2rem;
244
+ }
245
+
246
+ .content-box-button {
247
+ padding: 0.8rem 2rem;
248
+ font-size: 0.9rem;
249
+ }
250
+ }
251
+
252
+ @media (max-width: 480px) {
253
+ .content-box-section .container {
254
+ padding: 0 15px;
255
+ }
256
+
257
+ .content-box-title {
258
+ font-size: 1.8rem;
259
+ }
260
+
261
+ .content-box-content {
262
+ padding: 1.5rem 1rem;
263
+ margin: 0 5px;
264
+ }
265
+
266
+ .content-box-button {
267
+ padding: 0.7rem 1.5rem;
268
+ font-size: 0.8rem;
269
+ }
270
+ }
271
+ </style>
@@ -0,0 +1,263 @@
1
+ <!-- templates/components/video_hero_banner.html -->
2
+ {% load wagtailcore_tags %}
3
+ <section class="video-hero-banner"
4
+ style="background-image: url('{{ value.background_image.get_rendition.url }}'); height: {{ value.altura_banner }};">
5
+
6
+ <!-- Overlay para melhor legibilidade do texto -->
7
+ <div class="video-hero-overlay"></div>
8
+
9
+ <div class="container">
10
+ <!-- Vídeo em tela cheia -->
11
+ {% if value.video_file %}
12
+ <div class="video-hero-media">
13
+ <div class="video-frame">
14
+ <video class="video-player"
15
+ autoplay
16
+ muted
17
+ controls>
18
+ <source src="{{ value.video_file.url }}" type="video/mp4">
19
+ <p>Seu navegador não suporta o elemento de vídeo.</p>
20
+ </video>
21
+
22
+ <!-- Conteúdo sobreposto ao vídeo -->
23
+ <div class="video-content-overlay">
24
+ <div class="video-hero-content">
25
+
26
+ <!-- Título principal -->
27
+ {% if value.titulo %}
28
+ <h1 class="video-hero-title">{{ value.titulo }}</h1>
29
+ {% endif %}
30
+
31
+ <!-- Subtítulo -->
32
+ {% if value.subtitulo %}
33
+ <div class="video-hero-subtitle">
34
+ {{ value.subtitulo|richtext }}
35
+ </div>
36
+ {% endif %}
37
+
38
+ <!-- Logo -->
39
+ {% if value.logo %}
40
+ <div class="video-hero-logo">
41
+ <img src="{{ value.logo.get_rendition.url }}"
42
+ alt="Logo" class="logo-image">
43
+ </div>
44
+ {% endif %}
45
+
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ {% else %}
51
+ <!-- Fallback caso não tenha vídeo -->
52
+ <div class="video-hero-content-only">
53
+
54
+ <!-- Título principal -->
55
+ {% if value.titulo %}
56
+ <h1 class="video-hero-title">{{ value.titulo }}</h1>
57
+ {% endif %}
58
+
59
+ <!-- Subtítulo -->
60
+ {% if value.subtitulo %}
61
+ <div class="video-hero-subtitle">
62
+ {{ value.subtitulo|richtext }}
63
+ </div>
64
+ {% endif %}
65
+
66
+ <!-- Logo -->
67
+ {% if value.logo %}
68
+ <div class="video-hero-logo">
69
+ <img src="{{ value.logo.get_rendition.url }}"
70
+ alt="Logo" class="logo-image">
71
+ </div>
72
+ {% endif %}
73
+
74
+ </div>
75
+ {% endif %}
76
+ </div>
77
+ </section>
78
+
79
+ <style>
80
+ /* CSS do componente Video Hero Banner */
81
+ .video-hero-banner {
82
+ position: relative;
83
+ width: 100%;
84
+ display: flex;
85
+ align-items: center;
86
+ justify-content: center;
87
+ color: white;
88
+ overflow: hidden;
89
+ background-size: cover;
90
+ background-position: center;
91
+ background-repeat: no-repeat;
92
+ }
93
+
94
+ .video-hero-overlay {
95
+ position: absolute;
96
+ top: 0;
97
+ left: 0;
98
+ width: 100%;
99
+ height: 100%;
100
+ background: rgba(0, 0, 0, 0.4);
101
+ z-index: 1;
102
+ }
103
+
104
+ .video-hero-banner .container {
105
+ position: relative;
106
+ z-index: 2;
107
+ width: 100%;
108
+ max-width: 1200px;
109
+ margin: 0 auto;
110
+ padding: 2rem 20px;
111
+ }
112
+
113
+ /* Frame do vídeo (tela cheia) */
114
+ .video-hero-media {
115
+ width: 100%;
116
+ display: flex;
117
+ justify-content: center;
118
+ position: relative;
119
+ }
120
+
121
+ .video-frame {
122
+ width: 100%;
123
+ max-width: 900px;
124
+ border-radius: 12px;
125
+ overflow: hidden;
126
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
127
+ background: rgba(255, 255, 255, 0.1);
128
+ backdrop-filter: blur(10px);
129
+ border: 1px solid rgba(255, 255, 255, 0.2);
130
+ position: relative;
131
+ }
132
+
133
+ .video-player {
134
+ width: 100%;
135
+ height: auto;
136
+ display: block;
137
+ border-radius: 8px;
138
+ background: #000;
139
+ }
140
+
141
+ /* Conteúdo sobreposto ao vídeo */
142
+ .video-content-overlay {
143
+ position: absolute;
144
+ top: 0;
145
+ left: 0;
146
+ right: 0;
147
+ bottom: 0;
148
+ display: flex;
149
+ align-items: flex-start;
150
+ padding: 2rem;
151
+ background: linear-gradient(
152
+ 45deg,
153
+ rgba(0, 0, 0, 0.7) 0%,
154
+ rgba(0, 0, 0, 0.3) 50%,
155
+ rgba(0, 0, 0, 0.1) 100%
156
+ );
157
+ border-radius: 8px;
158
+ z-index: 10;
159
+ pointer-events: none;
160
+ }
161
+
162
+ .video-hero-content {
163
+ display: flex;
164
+ flex-direction: column;
165
+ justify-content: flex-start;
166
+ align-items: flex-start;
167
+ width: 60%;
168
+ max-width: 500px;
169
+ color: white;
170
+ pointer-events: auto;
171
+ }
172
+
173
+ .video-content-only {
174
+ display: flex;
175
+ flex-direction: column;
176
+ justify-content: center;
177
+ align-items: center;
178
+ text-align: center;
179
+ height: 100%;
180
+ min-height: 400px;
181
+ }
182
+
183
+ /* Responsividade */
184
+ @media (max-width: 1024px) {
185
+ .video-hero-title {
186
+ font-size: 3rem;
187
+ }
188
+
189
+ .video-hero-subtitle {
190
+ font-size: 1.3rem;
191
+ }
192
+
193
+ .video-content-overlay {
194
+ padding: 1.5rem;
195
+ }
196
+
197
+ .video-hero-content {
198
+ width: 70%;
199
+ }
200
+ }
201
+
202
+ @media (max-width: 768px) {
203
+ .video-content-overlay {
204
+ padding: 1rem;
205
+ background: linear-gradient(
206
+ 180deg,
207
+ rgba(0, 0, 0, 0.8) 0%,
208
+ rgba(0, 0, 0, 0.4) 50%,
209
+ rgba(0, 0, 0, 0.2) 100%
210
+ );
211
+ }
212
+
213
+ .video-hero-content {
214
+ width: 100%;
215
+ max-width: none;
216
+ }
217
+
218
+ .video-hero-title {
219
+ font-size: 2.5rem;
220
+ }
221
+
222
+ .video-hero-subtitle {
223
+ font-size: 1.2rem;
224
+ }
225
+
226
+ .video-hero-logo {
227
+ bottom: 1rem;
228
+ right: 1rem;
229
+ }
230
+
231
+ .video-hero-logo .logo-image {
232
+ max-height: 60px;
233
+ }
234
+
235
+ .video-frame {
236
+ border-radius: 8px;
237
+ }
238
+ }
239
+
240
+ @media (max-width: 480px) {
241
+ .video-content-overlay {
242
+ padding: 0.8rem;
243
+ }
244
+
245
+ .video-hero-title {
246
+ font-size: 2rem;
247
+ margin-bottom: 1rem;
248
+ }
249
+
250
+ .video-hero-subtitle {
251
+ font-size: 1rem;
252
+ margin-bottom: 1.5rem;
253
+ }
254
+
255
+ .video-hero-logo .logo-image {
256
+ max-height: 50px;
257
+ }
258
+
259
+ .video-frame {
260
+ border-radius: 6px;
261
+ }
262
+ }
263
+ </style>