Projet

Général

Profil

0001-publik-famille-demo-create-theme-61994.patch

Corentin Séchet, 29 juillet 2022 11:27

Télécharger (55,5 ko)

Voir les différences:

Subject: [PATCH] publik-famille-demo: create theme (#61994)

 static/publik-famille-demo/_cells.scss        | 142 +++++++++++
 static/publik-famille-demo/_custom.scss       |  65 +++++
 .../publik-famille-demo/_custom_classes.scss  | 152 +++++++++++
 static/publik-famille-demo/_header.scss       | 240 ++++++++++++++++++
 static/publik-famille-demo/_vars.scss         | 114 +++++++++
 static/publik-famille-demo/config.json        |  17 ++
 static/publik-famille-demo/img/bubble.svg     |   1 +
 .../img/carrousel-banner.png                  | Bin 0 -> 16194 bytes
 static/publik-famille-demo/img/cloud.svg      |   1 +
 static/publik-famille-demo/img/icon_baby.svg  |   1 +
 .../publik-famille-demo/img/icon_backpack.svg |   1 +
 .../publik-famille-demo/img/icon_children.svg |   1 +
 .../publik-famille-demo/img/icon_family.svg   |   1 +
 static/publik-famille-demo/img/icon_forms.svg |   1 +
 static/publik-famille-demo/style.scss         |   9 +
 .../combo/cells/carrousel/menu-cell.html      |   8 +
 .../combo/link-list-cell.html                 |  55 ++++
 .../publik-famille-demo/combo/menu.html       |  23 ++
 .../combo/page_template.html                  |  18 ++
 .../combo/page_template_homepage.html         |  10 +
 .../publik-famille-demo/includes/nav.html     |   5 +
 21 files changed, 865 insertions(+)
 create mode 100644 static/publik-famille-demo/_cells.scss
 create mode 100644 static/publik-famille-demo/_custom.scss
 create mode 100644 static/publik-famille-demo/_custom_classes.scss
 create mode 100644 static/publik-famille-demo/_header.scss
 create mode 100644 static/publik-famille-demo/_vars.scss
 create mode 100644 static/publik-famille-demo/config.json
 create mode 100644 static/publik-famille-demo/img/bubble.svg
 create mode 100644 static/publik-famille-demo/img/carrousel-banner.png
 create mode 100644 static/publik-famille-demo/img/cloud.svg
 create mode 100644 static/publik-famille-demo/img/icon_baby.svg
 create mode 100644 static/publik-famille-demo/img/icon_backpack.svg
 create mode 100644 static/publik-famille-demo/img/icon_children.svg
 create mode 100644 static/publik-famille-demo/img/icon_family.svg
 create mode 100644 static/publik-famille-demo/img/icon_forms.svg
 create mode 100644 static/publik-famille-demo/style.scss
 create mode 100644 templates/variants/publik-famille-demo/combo/cells/carrousel/menu-cell.html
 create mode 100644 templates/variants/publik-famille-demo/combo/link-list-cell.html
 create mode 100644 templates/variants/publik-famille-demo/combo/menu.html
 create mode 100644 templates/variants/publik-famille-demo/combo/page_template.html
 create mode 100644 templates/variants/publik-famille-demo/combo/page_template_homepage.html
 create mode 100644 templates/variants/publik-famille-demo/includes/nav.html
static/publik-famille-demo/_cells.scss
1
.cell + .pf-page-header--default {
2
	display: none;
3
}
4

  
5
.page-template-homepage .gru-content div.cell {
6
	margin-top: 2rem;
7
	padding-bottom: 2rem;
8
	border-radius: 0;
9

  
10
	&:not(:last-child) {
11
		border-bottom: 3px solid $orange;
12
	}
13
}
14

  
15
// Links
16
%cell-links-list {
17
	& > li:not(.add-more-items) > a {
18
		font-size: $fz-3;
19
		padding: 0;
20
		margin: 0.5rem 0rem;
21
		display: flex;
22
		align-items: center;
23
	}
24
}
25

  
26
.add-more-items--button {
27
	font-size: $fz-2;
28
	color: $orange;
29
}
30

  
31
// Notifications
32
div.cell.notifications-cell {
33
	h2:first-child {
34
		color: $orange;
35
		font-size: $fz-3;
36
		&:before {
37
			content: '\f0f3';
38
			font-family: FontAwesome;
39
			margin-right: 2rem;
40
		}
41
	}
42

  
43
	.links-list {
44
		background: $orange;
45
		border-radius: $border-radius;
46

  
47
		ul {
48
			padding: 2rem 4rem;
49
			> li {
50
				border: none;
51
				padding: 0.3rem 0;
52

  
53
				&:not(:last-child) {
54
					border-bottom: 1px solid white;
55
				}
56

  
57
				> a {
58
					font-size: $font-size;
59
					text-decoration: underline;
60
					color: white;
61
				}
62

  
63
				> div.description {
64
					color: white;
65
				}
66
			}
67
		}
68
	}
69
}
70

  
71
// Tracking code
72
div.cell.tracking-code-input-cell {
73
	h2:first-child {
74
		font-size: $font-size;
75
		text-transform: uppercase;
76
		border-bottom: 1px solid $gray-dark;
77
		border-radius: 0;
78
	}
79
}
80

  
81
// Carrousel
82
div.carrousel-content {
83
	background: $green-light;
84
	overflow: visible;
85
	margin-top:150px;
86

  
87
	@media($min-desktop-viewport) {
88
		&::before {
89
			background-image: url('img/carrousel-banner.png');
90
			background-position:center;
91
			background-repeat: no-repeat;
92
			content: "";
93
			position: absolute;
94
			height: 150px;
95
			width: 100%;
96
			top:-110px;
97
		}
98
	}
99

  
100
	@media($max-mobile-viewport) {
101
		.carrousel-item-content {
102
			text-align: center;
103
			background: $green-light;
104
		}
105
	}
106

  
107
	input + div {
108
		padding: 3rem;
109
		div.carrousel-item {
110
			&:after {
111
				background-color: transparent;
112
			}
113
			color: black;
114
			background-repeat: no-repeat;
115
			background-size: 30%;
116
			background-position-x: 10%;
117
			padding: 1rem;
118
			text-align: left;
119

  
120
			.carrousel-item-content {
121
				@media($min-desktop-viewport) {
122
					margin-right: 2rem;
123
				}
124
			}
125
		}
126
	}
127
}
128

  
129
// Custom classes
130
.errornotice,
131
.warningnotice,
132
.successnotice,
133
.infonotice {
134
	border-radius: $border-radius;
135
	padding-top: 1rem;
136
	padding-bottom: 1rem;
137
	padding-right: 1rem;
138
	min-height: calc(#{$notification-icon-size} + 2rem);
139
	&::before {
140
		top: 1rem;
141
	}
142
}
static/publik-famille-demo/_custom.scss
1
:root {
2
	--pf-icon-content: "";
3
}
4

  
5
h1 {
6
	font-size: $fz-1;
7
	font-weight: 800;
8
}
9

  
10
h2 {
11
	font-size: $fz-2;
12
	font-weight: 700;
13
}
14

  
15
h3 {
16
	font-size: $fz-3;
17
	font-weight: 600;
18
}
19

  
20
div#main-content {
21
	margin-top: 6rem;
22
	@media($max-mobile-viewport) {
23
		margin-top: 1rem;
24
	}
25
}
26

  
27
%pf-field {
28
	padding: 0.5rem;
29
	font-size: $font-size;
30
	background-color: $gray-light;
31
	border-radius: $border-radius;
32
}
33

  
34
.wcs-step {
35
	&.current & {
36
		&--marker {
37
			background-size: contain;
38
			background-repeat: no-repeat;
39
		}
40
	}
41
}
42

  
43
.form-content {
44
	&--sidebox {
45
		background: $gray-light;
46
		padding: 1rem;
47
		border-radius: $border-radius;
48
	}
49
}
50

  
51
div.cell.wcs-cards-cell {
52
	h2:first-child {
53
		font-size: $fz-3;
54
	}
55

  
56
	div.list-of-cards {
57
		ul > li {
58
			border: none;
59
			padding: 0.3rem 0;
60
			> a {
61
				@extend %pf-field;
62
			}
63
		}
64
	}
65
}
static/publik-famille-demo/_custom_classes.scss
1
.pf-cloud {
2
	position: relative;
3
	&::before {
4
		background: url('img/cloud.svg');
5
		bottom: -120px;
6
		content: "";
7
		height: 264px;
8
		position: absolute;
9
		right: 50px;
10
		width: 342px;
11
		z-index: -1;
12
	}
13
}
14

  
15
.pf-gray-cell {
16
	.gru-content &.cell {
17
		background-color: $gray-light;
18
		padding-bottom: 1rem;
19
	}
20
}
21

  
22
.pf-green-cell {
23
	.gru-content &.cell {
24
		background-color: $green-light;
25
		padding-bottom: 1rem;
26
	}
27
}
28

  
29
%pf-icon {
30
	background: var(--pf-icon-picture) no-repeat bottom left;
31
	background-size: contain;
32
	content: var(--pf-icon-content);
33
	display: flex;
34
	align-items: start;
35
	color: $orange;
36
	font-family: 'FontAwesome';
37
}
38

  
39
div.pf-icon-list {
40
	ul > li:not(.add-more-items) > a {
41
		background: url(img/bubble.svg);
42
		background-position: bottom left;
43
		background-repeat: no-repeat;
44
		transition: background-position 0.2s ease-out;
45

  
46
		&::before {
47
			@extend %pf-icon;
48
			width: 35px;
49
			height: 35px;
50
			font-size: 35px;
51
			margin-right: 1rem;
52
		}
53

  
54
		&:hover {
55
			background-position-x: 10px;
56
			background-size: contain;
57
		}
58
	}
59
}
60

  
61
div.card.pf-card-detail {
62
	h2:first-child {
63
		border-bottom: 2px solid $gray;
64
		padding: 1rem 0;
65
		border-radius: 0;
66
	}
67
	.label {
68
		color: $gray-dark;
69
		font-size: $fz-3;
70
		font-weight: 700;
71
		margin-bottom: 0.3rem;
72
		margin-top: 0.3rem;
73
		text-align: right;
74
	}
75
	.value {
76
		@extend %pf-field;
77
		margin-bottom: 0.3rem;
78
		margin-top: 0.3rem;
79
	}
80
}
81

  
82
%icon-button {
83
	&:not(.pf-big-button) {
84
		div.links-list {
85
			ul > li > a {
86
				&::before {
87
					@extend %pf-icon;
88
					padding-right: 1rem;
89
				}
90
			}
91
		}
92
	}
93

  
94
	&.pf-big-button {
95
		div.links-list {
96
			ul > li > a {
97
				border: 2px solid $orange;
98
				padding: 0.3rem 1.5rem;
99
				width: max-content;
100
				color: $orange;
101
				&::after {
102
					@extend %pf-icon;
103
					margin-left: 1rem;
104
					font-size: 35px;
105
					width: 35px;
106
					height: 35px;
107
					margin-bottom: 3px;
108
				}
109
			}
110
		}
111
	}
112
}
113

  
114
.pf-icon-baby {
115
	@extend %icon-button;
116
	--pf-icon-picture: url('img/icon_baby.svg');
117
}
118

  
119
.pf-icon-backpack {
120
	@extend %icon-button;
121
	--pf-icon-picture: url('img/icon_backpack.svg');
122
}
123

  
124
.pf-icon-children {
125
	@extend %icon-button;
126
	--pf-icon-picture: url('img/icon_children.svg');
127
}
128

  
129
.pf-icon-family {
130
	@extend %icon-button;
131
	--pf-icon-picture: url('img/icon_family.svg');
132
}
133

  
134
.pf-icon-forms {
135
	@extend %icon-button;
136
	--pf-icon-picture: url('img/icon_forms.svg');
137
}
138

  
139
.pf-icon-add {
140
	@extend %icon-button;
141
	--pf-icon-content: '\f055';
142
}
143

  
144
.pf-icon-remove {
145
	@extend %icon-button;
146
	--pf-icon-content: '\f2ed';
147
}
148

  
149
.pf-icon-question {
150
	@extend %icon-button;
151
	--pf-icon-content: '\f059';
152
}
static/publik-famille-demo/_header.scss
1
div#header-wrapper {
2
	background: $gray-light;
3
	display: flex;
4
	@media($max-mobile-viewport) {
5
		height: 80px;
6
	}
7
}
8

  
9
body.has-header-background #header{
10
	background-size: contain;
11
	background-position-x: 30%;
12
}
13

  
14
body.has-header-background #header {
15
	display: flex;
16
	padding: 10px 0;
17
	@media($max-mobile-viewport) {
18
		background-image: none;
19
	}
20
}
21

  
22
div#top {
23
	display: flex;
24
	flex-grow: 1;
25
	align-items: start;
26
}
27

  
28
h1#logo.has-logo {
29
	flex-grow: 1;
30
	padding: 0;
31

  
32
	a {
33
		height: 60px;
34
	}
35

  
36
	@media($max-mobile-viewport) {
37
		display: none;
38
	}
39
}
40

  
41
#toplinks {
42
	border-bottom-right-radius: $border-radius;
43
	background: white;
44
	margin-top: 2px;
45

  
46
	@media($min-desktop-viewport) {
47
		position: static;
48
		margin-right: 8rem;
49
	}
50

  
51
	@media($max-mobile-viewport) {
52
		position: absolute;
53
		right: 80px;
54
		top: 11px;
55
	}
56

  
57
	.sep {
58
		display: none;
59
	}
60

  
61
	a {
62
		margin: 0 0.5em;
63
		color: $orange-dark;
64

  
65
		&:first-child {
66
			font-weight: bold;
67
		}
68
	}
69
}
70

  
71
.site-nav {
72
	position: fixed;
73
	width: 100%;
74
	z-index: 102;
75
}
76

  
77
.gru-nav-wrapper {
78
	width: 100%
79
}
80

  
81
div.gru-nav {
82
	position: relative;
83

  
84
	.gru-nav-button {
85
		position: absolute;
86
		top: 15px;
87
		right: 20px;
88
		left: auto;
89
		border-radius: 100%;
90

  
91
		.icon-bar {
92
			left: 25%;
93
			width: 50%;
94
		}
95

  
96
		+ ul {
97
			&::before {
98
				content: none;
99
			}
100

  
101
			display: flex;
102
			flex-wrap: wrap;
103
			left: auto;
104
			right: 0;
105
			transform: translateX(100%);
106
			min-width: calc((100% - #{$width}) / 2 + 420px);
107
			padding-top: 50px;
108
		}
109
	}
110
}
111

  
112
.pf-menu-item {
113
	&--image {
114
		width: 160px;
115
		height: 160px;
116
		background: white;
117
		border-radius: $border-radius;
118
		padding: 1rem;
119
	}
120

  
121
	&--title {
122
		text-align: center;
123
	}
124

  
125
	&:hover &--title {
126
		text-decoration: underline;
127
	}
128
}
129

  
130
.pf-page-header {
131
	&--default {
132
		display: flex;
133
		flex-wrap: wrap;
134
		align-items: end;
135

  
136
		&::before {
137
			background: url('img/cloud.svg');
138
			content: "";
139
			position: absolute;
140
			height: 264px;
141
			width: 342px;
142
			top: -10px;
143
			left: 50px;
144
			z-index: -1;
145

  
146
			@media($max-mobile-viewport) {
147
				top: 0;
148
				left: 10px;
149
			}
150
		}
151
	}
152

  
153
	&--title {
154
		margin: 0;
155
		@media($max-mobile-viewport) {
156
			font-size: $fz-3;
157
		}
158
	}
159

  
160
	&--picture {
161
		width: 100px;
162
		margin-right: 1rem;
163
		@media($max-mobile-viewport) {
164
			width: 35px;
165
		}
166
	}
167

  
168
	&--description {
169
		margin-top: 0.5rem;
170
		flex-basis: 100%;
171
	}
172
}
173

  
174
body.page-template-homepage {
175
	div#header-wrapper {
176
		background: transparent;
177
		@media($max-mobile-viewport) {
178
			height: auto;
179
		}
180
	}
181

  
182
	#header {
183
		background: var(--page-picture);
184
		background-repeat: no-repeat;
185
		background-position-y: 50px;
186

  
187
		@media($min-desktop-viewport) {
188
			height: 550px;
189
			margin-bottom: -180px;
190
		}
191

  
192
		@media($max-mobile-viewport) {
193
			background: none;
194
			flex-direction: column;
195
		}
196
	}
197

  
198
	h1#logo.has-logo {
199
		display: block;
200
		@media($max-mobile-viewport) {
201
			text-align: center;
202
			margin-top: 50px;
203
		}
204

  
205
		a {
206
			width: 260px;
207
			height: 150px;
208
			margin-top: 10px;
209
			@media($max-mobile-viewport) {
210
				width: 200px;
211
				height: 114px;
212
			}
213
		}
214
	}
215

  
216
	#toplinks {
217
		background: $gray-light;
218
		@media($max-mobile-viewport) {
219
			top: 15px;
220
		}
221
	}
222

  
223
	.pf-header-description {
224
		font-weight: bold;
225
		text-align: center;
226
		font-size: $fz-1;
227

  
228
		@media($max-mobile-viewport) {
229
			padding: 1rem;
230
			font-size: $fz-3;
231
		}
232

  
233
		@media($min-desktop-viewport) {
234
			position: absolute;
235
			top: 70px;
236
			right: 8rem;
237
			width: 50%;
238
		}
239
	}
240
}
static/publik-famille-demo/_vars.scss
1
// colors
2
$gray: #BFBFBF;
3
$gray-dark: #575757;
4
$gray-light: #F1F1F1;
5
$orange: #EC671F;
6
$orange-dark: #df5a13;
7
$orange-gray: #A88B7D;
8
$green: #6BD3AA;
9
$green-dark: #31a679;
10
$green-light: #A6E5CC;
11
$blue: #91D5FF;
12
$blue-dark: #183c88;
13
$red: #df1313;
14

  
15
// typo
16
$base-font: 16;
17
$font-ratio: 1.333;
18
$fz-3: 1em * $font-ratio;
19
$fz-2: $fz-3 * $font-ratio;
20
$fz-1: $fz-2 * $font-ratio;
21
$fz-small: 1em / $font-ratio;
22

  
23
// Core vars
24
$width: 1280em / $base-font;
25
$mobile-limit: 64em;
26
$very-small-limit: 35em;
27
$columns-gutter: 2rem;
28

  
29
$font-size: 100% / ( 16 / $base-font );
30
$font-color: $gray-dark;
31
$font-family: "source sans pro", sans-serif;
32

  
33
$primary-color: $orange-dark;
34
$border-radius: 1rem;
35
$link-color: $primary-color;
36

  
37
$header-full-width-background: false;
38
$header-background: $gray;
39
$header-height: 500px;
40

  
41
$toplinks-style: none;
42
$toplinks-padding: .75em 0.5em;
43
$toplinks-background: $gray-light;
44
$toplinks-border-radius: $border-radius;
45

  
46
$nav-after-image: false;
47
$nav-mobile-limit: 20000px;
48
$pwa-nav-limit: 960px;
49
$nav-background: $orange;
50
$nav-color: white;
51
$nav-border-radius: 0;
52
$nav-active-color: white;
53

  
54
$nav-button-background: $orange;
55
$nav-button-color: white;
56

  
57
$nav-mobile-menu-background: $orange;
58
$nav-border-radius: 100%;
59
$nav-mobile-menu-item-color: white;
60
$nav-mobile-menu-item-hover-background: $orange;
61
$nav-mobile-menu-item-hover-color: white;
62

  
63
$responsive-menu: left-to-right;
64

  
65
$title-background: transparent;
66
$title-color: $font-color;
67
$title-font-size: $fz-2;
68
$title-weight: 900;
69
$title-padding: 0 0 0.5rem 0;
70

  
71
$cell-background: transparent;
72
$cell-border: none;
73
$cell-title-cover-border: false;
74
$cell-entry-border: 2px solid $gray;
75
$cell-entry-hover-color: $orange;
76
$cell-entry-hover-background: $cell-background;
77

  
78
$cell-entry-color: $gray-dark;
79
$cell-entry-font-weight: 600;
80

  
81
$carrousel-height: 40rem;
82
$carrousel-text-position: middle right;
83
$carrousel-navigation-color: black;
84
$carrousel-navigation-bullet-border: black;
85

  
86
$button-background: $orange-dark;
87
$button-color: white;
88
$button-hover-background: $orange;
89
$cancel-button-style: "%inverted-button";
90

  
91
$error-color: $red;
92
$widget-unique-checkbox-position: left;
93

  
94
$widget-background: $gray-light;
95
$widget-border: 1px solid $gray-light;
96
$widget-border-radius: $border-radius;
97
$widget-focus-border: 1px solid $orange;
98
$widget-padding: 0.625rem 1rem !default;
99
$widget-focus-box-shadow: none !default;
100

  
101
$notification_error_color: $red;
102
$notification_warning_color: $orange_dark;
103
$notification_success_color: $green-light;
104
$notification_info_color: $gray-light;
105

  
106
$wcs-step-color: $gray-dark;
107
$wcs-step-background: transparent !default;
108
$wcs-step-current-marker-background: url(img/bubble.svg);
109
$wcs-step-border-bottom: none;
110
$wcs-step-current-border-bottom: none;
111

  
112
$footer-background: $gray-light;
113
$footer-full-width-background: false;
114
$footer-color: gray-dark;
static/publik-famille-demo/config.json
1
{
2
  "label": "Publik Famille demo",
3
  "variables": {
4
    "pwa_display": "standalone",
5
    "theme_color": "#EC671F",
6
    "email_header_asset": "emails:logo"
7
  },
8
  "settings": {
9
    "combo": {
10
      "COMBO_ASSET_SLOTS.update": {
11
        "header:logo": { "label": "Têtière : logo" },
12
        "header:background": { "label": "Têtière : fond" },
13
        "emails:logo": {"label": "Emails : logo"}
14
      }
15
    }
16
  }
17
}
static/publik-famille-demo/img/bubble.svg
1
<svg xmlns="http://www.w3.org/2000/svg" width="29" height="28" viewBox="0 0 29 28"><defs><style>.a{fill:#d9f1ff;}</style></defs><ellipse class="a" cx="14.5" cy="14" rx="14.5" ry="14"/></svg>
static/publik-famille-demo/img/cloud.svg
1
<svg xmlns="http://www.w3.org/2000/svg" width="342.068" height="264.118" viewBox="0 0 342.068 264.118"><defs><style>.a{fill:#91d5ff;opacity:0.34;}</style></defs><path class="a" d="M1182.574,262.261c-3.436,4.7-8.6,6.818-13.549,8.658a238.914,238.914,0,0,1-32.165,9.838c-.095.024-.192.044-.29.065a126.025,126.025,0,0,1-24.334,3,92.313,92.313,0,0,1-22.782-2.347h0c-.314-.074-.624-.148-.935-.227a76.656,76.656,0,0,1-31.369-15.775c-.858-.728-1.717-1.48-2.589-2.2q-.088-.069-.168-.137a16.341,16.341,0,0,0-5.4-3.176c-5.41-1.638-10.839,1.833-15.918,4.6-31.386,17.117-71.208,7.961-95.431-21.945-2.966-3.659-5.786-7.661-9.495-10.114-5.514-3.642-12.135-3.337-18.24-5.057-18.209-5.133-30.286-31.4-24.345-52.947,3.29-11.94,10.926-21.363,19.216-28.881,20.451-18.548,46.4-27.906,71.894-25.922l.765.063c11.892,1.022,23.95,4.214,35.545.949,10.054-2.831,18.732-10.251,27.945-15.9q2.58-1.582,5.226-2.981c.169-.093.342-.183.512-.27a88.23,88.23,0,0,1,34.921-9.955c9.618-.645,21.393,1.2,28.645,9.791,7.47,8.852,7.756,24.48,17.991,30.3,8.474,4.817,19.13,3.389,27.972,8.8,8.642,5.286,16.152,14.6,17.982,26.159,1.777,11.229-1.922,22.8-.763,34.148a50.346,50.346,0,0,0,2.33,10.516q.3.932.629,1.857c2.147,6.075,4.975,11.919,7.142,18C1187.1,241.246,1188.545,254.086,1182.574,262.261Z" transform="matrix(-0.966, -0.259, 0.259, -0.966, 1122.521, 581.285)"/></svg>
static/publik-famille-demo/img/icon_baby.svg
1
<svg xmlns="http://www.w3.org/2000/svg" width="20.609" height="17.362" viewBox="0 0 20.609 17.362"><defs><style>.a{fill:#ec671f;fill-rule:evenodd;}</style></defs><g transform="translate(-0.905 -0.113)"><g transform="translate(0.905 0.113)"><path class="a" d="M22.117,8a3.165,3.165,0,1,0,3.165,3.165A3.169,3.169,0,0,0,22.117,8" transform="translate(-11.812 -4.88)"/><path class="a" d="M20.182,13.222l-.723-.375.152.8c.013.072.025.145.032.221a2.251,2.251,0,0,1,.011.226,2.355,2.355,0,0,1-.017.269l-.006.04a2.385,2.385,0,0,1-.045.243,2.24,2.24,0,0,1-.069.233,2.175,2.175,0,0,1-.1.232l-.144.3.274.192a3.956,3.956,0,1,1-4.542,0l.274-.192-.144-.3a2.305,2.305,0,0,1-.1-.241c-.025-.073-.047-.148-.073-.255-.016-.07-.028-.141-.037-.21l-.008-.049a2.367,2.367,0,0,1-.015-.261c0-.076,0-.152.011-.227s.019-.148.032-.22l.152-.8-.723.375a6.33,6.33,0,1,0,5.8,0" transform="translate(-6.977 -7.809)"/><path class="a" d="M21.508,4.62c0-.1-.009-.169-.013-.2A4.124,4.124,0,0,0,19.5.86,4.861,4.861,0,0,0,14.345.844a5.638,5.638,0,0,1-3.094.826l-.042,0-.04,0a5.622,5.622,0,0,1-3.1-.825A4.861,4.861,0,0,0,2.919.86a4.125,4.125,0,0,0-2,3.558c0,.032-.008.1-.013.2a6.291,6.291,0,0,0,3.227,5.734A7.093,7.093,0,0,1,7.473,5.11a3.95,3.95,0,0,1,7.472,0,7.093,7.093,0,0,1,3.335,5.245A6.29,6.29,0,0,0,21.508,4.62" transform="translate(-0.905 -0.113)"/></g></g></svg>
static/publik-famille-demo/img/icon_backpack.svg
1
<svg xmlns="http://www.w3.org/2000/svg" width="20.539" height="20.539" viewBox="0 0 20.539 20.539"><defs><style>.a{fill:#ec671f;}</style></defs><g transform="translate(-3 -3)"><path class="a" d="M21.959,19.133h-.79V15.87a14.551,14.551,0,0,1-1.77.1h-2.97v.79a.79.79,0,1,1-1.58,0v-.79H11.69v.79a.79.79,0,1,1-1.58,0v-.79H7.139a14.551,14.551,0,0,1-1.77-.1v3.263H4.58A1.579,1.579,0,0,0,3,20.712v3.16a1.579,1.579,0,0,0,1.58,1.58h.79a.79.79,0,0,0,.79.79H20.379a.79.79,0,0,0,.79-.79h.79a1.579,1.579,0,0,0,1.58-1.58v-3.16A1.579,1.579,0,0,0,21.959,19.133ZM4.58,23.872v-3.16h.79v3.16Zm12.639-.79a.79.79,0,0,1-.79.79H10.11a.79.79,0,0,1-.79-.79v-3.16a.79.79,0,0,1,.79-.79h6.32a.79.79,0,0,1,.79.79Zm4.74.79h-.79v-3.16h.79Z" transform="translate(0 -2.703)"/><path class="a" d="M10.74,11.69V10.9a.79.79,0,0,1,1.58,0v.79h3.16V10.9a.79.79,0,0,1,1.58,0v.79h2.97a12.748,12.748,0,0,0,1.77-.118V10.9a5.53,5.53,0,0,0-5.53-5.53h0a2.37,2.37,0,1,0-4.74,0h0A5.53,5.53,0,0,0,6,10.9v.656a12.878,12.878,0,0,0,1.77.134ZM13.9,4.58a.79.79,0,0,1,.79.79H13.11A.79.79,0,0,1,13.9,4.58Z" transform="translate(-0.63)"/></g></svg>
static/publik-famille-demo/img/icon_children.svg
1
<svg xmlns="http://www.w3.org/2000/svg" width="21.571" height="21.702" viewBox="0 0 21.571 21.702"><defs><style>.a{fill:#ec671f;}</style></defs><g transform="translate(0 0)"><path class="a" d="M623.556,350.341l-2.161-8.5a3.67,3.67,0,0,0-.668-1.388h0c-1.429-1.782-3.69-.606-3.956,2.057h0c-.391,3.926,1.424,7.617,4.169,8.477l1.849.579C623.3,351.727,623.732,351.033,623.556,350.341Z" transform="translate(-616.718 -338.547)"/><path class="a" d="M641.293,349.861l.369-9.108a3.848,3.848,0,0,1,.375-1.553h0c1.053-2.112,3.562-1.38,4.389,1.279h0c1.219,3.921.182,8.057-2.382,9.5l-1.726.972C641.844,351.22,641.263,350.6,641.293,349.861Z" transform="translate(-625.365 -337.972)"/><path class="a" d="M635.074,356.214h-7.6a2.7,2.7,0,0,0-2.059,4.449l3.8,4.477a2.7,2.7,0,0,0,4.118,0l3.8-4.477A2.7,2.7,0,0,0,635.074,356.214Zm-5.735,6.037a.739.739,0,1,1,.738-.739A.738.738,0,0,1,629.34,362.251Zm3.867,0a.739.739,0,1,1,.738-.739A.738.738,0,0,1,633.207,362.251Z" transform="translate(-619.55 -344.391)"/></g></svg>
static/publik-famille-demo/img/icon_family.svg
1
<svg xmlns="http://www.w3.org/2000/svg" width="25.531" height="27.705" viewBox="0 0 25.531 27.705"><defs><style>.a{fill:#ec671f;}.b{fill:#fff;}</style></defs><g transform="translate(0 0)"><path class="a" d="M3847.376-287.878l1.379-5.422a2.338,2.338,0,0,1,.426-.886h0c.912-1.137,2.355-.387,2.525,1.313h0c.25,2.505-.909,4.86-2.661,5.409l-1.179.369C3847.541-286.993,3847.264-287.436,3847.376-287.878Z" transform="translate(-3828.315 295.404)"/><path class="a" d="M3895-290.069l-.236-5.812a2.456,2.456,0,0,0-.239-.991h0c-.672-1.347-2.273-.881-2.8.816h0c-.778,2.5-.116,5.142,1.52,6.063l1.1.62C3894.652-289.2,3895.022-289.6,3895-290.069Z" transform="translate(-3881.743 297.656)"/><path class="a" d="M3863.5-264.955h4.851a1.724,1.724,0,0,1,1.314,2.839l-2.425,2.857a1.724,1.724,0,0,1-2.628,0l-2.425-2.857A1.724,1.724,0,0,1,3863.5-264.955Zm3.659,3.852a.471.471,0,0,0,.471-.471.471.471,0,0,0-.471-.471.471.471,0,0,0-.471.471A.471.471,0,0,0,3867.164-261.1Zm-2.468,0a.471.471,0,0,0,.471-.471.471.471,0,0,0-.471-.471.471.471,0,0,0-.471.471A.471.471,0,0,0,3864.7-261.1Z" transform="translate(-3849.987 272.499)"/><path class="a" d="M3872.09-229.692a.244.244,0,0,0,.242-.263,3.964,3.964,0,0,0-3.955-3.7,3.964,3.964,0,0,0-3.955,3.7.245.245,0,0,0,.242.263Z" transform="translate(-3852.847 248.422)"/><path class="a" d="M3857.941-214.717h1.162a.191.191,0,0,1,.177.119.632.632,0,0,0,.585.394.632.632,0,0,0,.585-.394.191.191,0,0,1,.177-.119h3.9a.19.19,0,0,1,.177.119.633.633,0,0,0,.585.394.632.632,0,0,0,.585-.394.191.191,0,0,1,.177-.119h1.432a.864.864,0,0,1,.851,1.015,5.712,5.712,0,0,1-5.621,4.7,5.713,5.713,0,0,1-5.621-4.7A.864.864,0,0,1,3857.941-214.717Z" transform="translate(-3847.165 233.852)"/><path class="a" d="M3860.185-233.671a.174.174,0,0,0-.171.205.977.977,0,0,0,.953.779.978.978,0,0,0,.954-.779.174.174,0,0,0-.172-.205Z" transform="translate(-3841.42 248.433)"/><path class="a" d="M3895-233.671a.174.174,0,0,0-.171.205.977.977,0,0,0,.953.779.978.978,0,0,0,.954-.779.174.174,0,0,0-.171-.205Z" transform="translate(-3884.272 248.433)"/><path class="a" d="M3893.483-184.19a.346.346,0,0,0,.342-.409,1.947,1.947,0,0,0-1.9-1.552,1.948,1.948,0,0,0-1.9,1.552.346.346,0,0,0,.342.409Z" transform="translate(-3880.252 211.877)"/><path class="a" d="M3864.115-184.19a.346.346,0,0,0,.342-.409,1.947,1.947,0,0,0-1.9-1.552,1.947,1.947,0,0,0-1.9,1.552.346.346,0,0,0,.342.409Z" transform="translate(-3844.109 211.877)"/><path class="a" d="M3838.22-215.22h4.958a4.826,4.826,0,0,0,4.825-4.825v-2.211a.537.537,0,0,0-1.049-.163l-.658,2.061a3.09,3.09,0,0,1-2.944,2.151h-4.924Z" transform="translate(-3822.473 240.066)"/><path class="a" d="M3936.83-242.664l-.836-3.289a1.417,1.417,0,0,0-.258-.537h0c-.553-.69-1.428-.235-1.531.8h0c-.152,1.519.551,2.948,1.614,3.281l.715.224C3936.73-242.127,3936.9-242.4,3936.83-242.664Z" transform="translate(-3933.456 258.548)"/><path class="a" d="M3909.536-243.993l.143-3.525a1.483,1.483,0,0,1,.145-.6h0c.407-.817,1.378-.534,1.7.495h0c.472,1.517.07,3.119-.922,3.678l-.668.376C3909.749-243.466,3909.524-243.705,3909.536-243.993Z" transform="translate(-3902.643 259.913)"/><path class="a" d="M3919.926-227.039l-1.471,1.732a1.045,1.045,0,0,1-1.594,0l-1.471-1.732a1.045,1.045,0,0,1,.8-1.722h2.942A1.046,1.046,0,0,1,3919.926-227.039Zm-2.73.328a.286.286,0,0,0-.286-.286.286.286,0,0,0-.286.286.286.286,0,0,0,.286.286A.286.286,0,0,0,3917.2-226.71Zm1.5,0a.286.286,0,0,0-.286-.286.286.286,0,0,0-.286.286.286.286,0,0,0,.286.286A.285.285,0,0,0,3918.692-226.71Z" transform="translate(-3912.392 244.656)"/><path class="a" d="M3918.011-197.57a.354.354,0,0,1,.352.4,3.02,3.02,0,0,1-2.993,2.621,3.02,3.02,0,0,1-2.993-2.621.354.354,0,0,1,.352-.4Z" transform="translate(-3909.944 220.661)"/><path class="a" d="M3914.41-207.341a2.436,2.436,0,0,1,2.436-2.436,2.436,2.436,0,0,1,2.436,2.436Z" transform="translate(-3911.33 230.052)"/><path class="a" d="M3934.067-209.787a.105.105,0,0,1,.1.125.593.593,0,0,1-.578.472.593.593,0,0,1-.578-.472.105.105,0,0,1,.1-.125Z" transform="translate(-3930.512 230.06)"/><path class="a" d="M3912.949-209.787a.105.105,0,0,1,.1.125.592.592,0,0,1-.578.472.592.592,0,0,1-.578-.472.105.105,0,0,1,.1-.125Z" transform="translate(-3904.522 230.06)"/><path class="a" d="M3912.328-181.537a.21.21,0,0,1-.207-.248,1.182,1.182,0,0,1,1.153-.941,1.181,1.181,0,0,1,1.152.941.21.21,0,0,1-.207.248Z" transform="translate(-3905.949 209.242)"/><path class="a" d="M3930.14-181.537a.21.21,0,0,1-.207-.248,1.181,1.181,0,0,1,1.152-.941,1.181,1.181,0,0,1,1.153.941.21.21,0,0,1-.207.248Z" transform="translate(-3927.87 209.242)"/><path class="a" d="M3931.63-197.836h-2.622a2.551,2.551,0,0,1-2.551-2.551v-1.169a.284.284,0,0,1,.554-.086l.348,1.089a1.634,1.634,0,0,0,1.557,1.137h2.6Z" transform="translate(-3926.457 223.947)"/><path class="b" d="M3867.444-229.241l.625-2.457a1.061,1.061,0,0,1,.193-.4h0c.413-.515,1.067-.175,1.144.595h0a2.269,2.269,0,0,1-1.205,2.451l-.534.167C3867.519-228.84,3867.393-229.041,3867.444-229.241Z" transform="translate(-3850.63 247.413)"/><path class="b" d="M3889.022-230.233l-.107-2.633a1.115,1.115,0,0,0-.108-.449h0c-.3-.61-1.03-.4-1.269.37h0a2.374,2.374,0,0,0,.689,2.747l.5.281C3888.863-229.841,3889.031-230.019,3889.022-230.233Z" transform="translate(-3874.836 248.433)"/><path class="b" d="M3874.751-218.855h2.2a.781.781,0,0,1,.6,1.286l-1.1,1.294a.781.781,0,0,1-1.19,0l-1.1-1.294A.781.781,0,0,1,3874.751-218.855Zm1.658,1.745a.213.213,0,0,0,.213-.213.214.214,0,0,0-.213-.214.214.214,0,0,0-.214.214A.214.214,0,0,0,3876.409-217.11Zm-1.118,0a.213.213,0,0,0,.214-.213.214.214,0,0,0-.214-.214.213.213,0,0,0-.213.214A.213.213,0,0,0,3875.291-217.11Z" transform="translate(-3860.449 237.035)"/></g></svg>
static/publik-famille-demo/img/icon_forms.svg
1
<svg xmlns="http://www.w3.org/2000/svg" width="20.247" height="18.155" viewBox="0 0 20.247 18.155"><defs><style>.a{fill:#ec671f;}</style></defs><path class="a" d="M3880,308.909a9.087,9.087,0,0,0-17.966-2.742,8.947,8.947,0,0,0,1.481,6.454l-3.659,2.421,9.821,1.467A9.032,9.032,0,0,0,3880,308.909Z" transform="translate(-3859.854 -298.467)"/></svg>
static/publik-famille-demo/style.scss
1
@charset "UTF-8";
2
@import '../includes/fonts/source-sans-pro';
3

  
4
@import 'vars';
5
@import '../includes/publik';
6
@import 'cells';
7
@import 'custom';
8
@import 'custom_classes';
9
@import 'header';
templates/variants/publik-famille-demo/combo/cells/carrousel/menu-cell.html
1
{% extends "combo/cells/carrousel/menu-cell.html" %}
2

  
3
{% block carrousel-item-content %}
4
{% for cell in menuitem.page.get_cells %}
5
{{cell.text|safe}}
6
{% endfor %}
7
{% endblock %}
8

  
templates/variants/publik-famille-demo/combo/link-list-cell.html
1
{% load i18n %}
2
{% block cell-content %}
3
{% load assets %}
4
{% spaceless %}
5
  {% block cell-header %}
6
  {% if title %}<h2>{{ title }}</h2>{% endif %}
7
  {% include "combo/asset_picture_fragment.html" %}
8
  {% endblock cell-header %}
9
  <div class="links-list">
10
    {% block cell-top-content %}{% endblock cell-top-content %}
11
    <ul>
12
      {% for link in links %}
13
        <li class="{{ link.css_classes|default:""|join:" " }}{% if link.cell.extra_css_class %} {{ link.cell.extra_css_class }}{% endif %}"
14
            {% if link.cell.link_page.picture %}
15
              style="--pf-icon-picture: url({{ link.cell.link_page.picture.url }})"
16
            {% endif %}
17
          >
18
          <a href="{{ link.url }}">
19
            {{ link.title }}
20
          </a>
21
        </li>
22
      {% endfor %}
23
      {% if more_links %}
24
        <li class="add-more-items">
25
          <a role="button"
26
             tabindex="0"
27
             aria-expanded="false"
28
             aria-controls="more-items-{{ cell.get_reference }}"
29
             aria-label="{% trans 'More items' %}"
30
             id="btn-more-items-{{ cell.get_reference }}"
31
             class="add-more-items--button">
32
            {% block cell-more-items-btn-label %}+{% endblock %}
33
          </a>
34
        </li>
35
      {% endif %}
36
    </ul>
37

  
38
    {% if more_links %}
39
      <ul style="display: none" class="more-items" id="more-items-{{ cell.get_reference }}" aria-labelledby="btn-more-items-{{ cell.get_reference }}">
40
      {% for link in more_links %}
41
        <li class="{{ link.css_classes|default:""|join:" " }}{% if link.cell.extra_css_class %} {{ link.cell.extra_css_class }}{% endif %}"
42
            {% if link.cell.link_page.picture %}
43
              style="--pf-icon-picture: url({{ link.cell.link_page.picture.url }})"
44
            {% endif %}
45
          >
46
          <a href="{{ link.url }}">
47
            {{ link.title }}
48
          </a>
49
        </li>
50
      {% endfor %}
51
    {% endif %}
52
    </ul>
53
  </div>
54
  {% endspaceless %}
55
{% endblock %}
templates/variants/publik-famille-demo/combo/menu.html
1
{% load i18n %}
2
{% load assets %}
3

  
4
{% if menuitems %}
5
  <ul class="pf-menu--items">
6
    {% spaceless %}
7
      {% for item in menuitems %}
8
        <li data-menu-page-id="{{ item.page.id }}" class="menu-{{ item.page.slug }} {% if item.selected %}selected{% endif %}">
9
          <a {% if item.selected %}title="{{ item.page.title }} - {% trans "active page" %}"{% endif %} href="{% page_absolute_url item.page %}">
10
            <span class="pf-menu-item">
11
              {% if item.page.picture %}
12
                  <img class="pf-menu-item--image" src="{{item.page.picture.url}}"></img>
13
              {% endif %}
14
              <div class="pf-menu-item--title">
15
                {{ item.page.title }}
16
              </div>
17
            </span>
18
          </a>
19
        </li>
20
      {% endfor %}
21
    {% endspaceless %}
22
  </ul>
23
{% endif %}
templates/variants/publik-famille-demo/combo/page_template.html
1
{% extends "combo/page_template.html" %}
2

  
3
{% block content-pre %}
4
	<header class="pf-page-header">
5
		<div class="pf-page-header--content">
6
			{% placeholder "page-header" name="Entête de la page"%}
7
			{% if page.title %}
8
			<div class="pf-page-header--default">
9
				{% if page.picture %}
10
					<img src="{{site_base}}{{page.picture.url}}" alt="" class="pf-page-header--picture"></img>
11
				{% endif %}
12
				<h1 class="pf-page-header--title">{{ page.title }}</h1>
13
				<div class="pf-page-header--description">{{ page.description }}</div>
14
			</div>
15
			{% endif %}
16
		</div>
17
	</header>
18
{% endblock %}
templates/variants/publik-famille-demo/combo/page_template_homepage.html
1
{% extends "combo/page_template_2cols.html" %}
2
{% load combo i18n %}
3

  
4
{% block content-pre %}
5
{% endblock %}
6

  
7
{% block header-bottom %}
8
  <div class="pf-header-description">{{ page.description }}</div>
9
{% endblock %}
10

  
templates/variants/publik-famille-demo/includes/nav.html
1
{% extends "includes/nav.html" %}
2

  
3
{% block menu %}
4
  {% show_menu depth=1 ignore_visibility=True %}
5
{% endblock %}
0
-