@leuffen/themejs1 7.0.3 → 8.0.3
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.
- package/_tpl/_root/docs/_includes/el/openhours.html +1 -1
- package/_tpl/_root/docs/_layouts/3_1_navbar.html +12 -0
- package/_tpl/_root/src/style_custom.scss +8 -0
- package/_tpl/legal/datenschutz.de.md +3 -1
- package/_tpl/legal/impressum.de.md +2 -0
- package/_tpl/leistungen/hausarzt-uebersicht.de.md +1 -0
- package/_tpl/pages/hausarzt-index-singleleistung.de.md +2 -1
- package/_tpl/pages/hausarzt-index.de.md +1 -0
- package/_tpl/pages/index-theme-genne.de.md +158 -0
- package/_tpl/pages/kontakt-anfahrt.de.md +2 -0
- package/_tpl/pages/termin-redirect.de.md +1 -0
- package/_tpl/pages/ueber-uns.de.md +1 -0
- package/_tpl/sections.def.json +121 -0
- package/_tpl/service/info-privatpraxis.de.md +120 -0
- package/_variables.scss +49 -1
- package/dist/elements/hero-slide/hero-slide.js +1 -1
- package/dist/sections/cta-base/cta-base.js +1 -1
- package/dist/sections/cta-form/cta-form.js +1 -1
- package/dist/sections/hero-max/hero-max.js +5 -2
- package/dist/sections/hero-title-small/hero-title-small.js +2 -2
- package/dist/sections/sec-card-2col/sec-card-2col.js +2 -2
- package/dist/sections/sec-legal-content/sec-legal-content.js +1 -1
- package/dist/sections/sec-multi-card/sec-multi-card.js +1 -1
- package/dist/sections/sec-testimonial-ribbon/sec-testimonial-ribbon.js +8 -12
- package/dist/sections/sections.d.ts +1 -0
- package/dist/sections/sections.js +1 -0
- package/dist/sections/subheader/subheader.d.ts +1 -0
- package/dist/sections/subheader/subheader.js +15 -0
- package/elements/_background-color.scss +4 -0
- package/elements/_image-list.scss +39 -0
- package/elements/elements.scss +1 -0
- package/elements/hero-slide/hero-slide.scss +5 -1
- package/elements/hero-slide/hero-slide.ts +1 -1
- package/font/cinzel-opensans.scss +2 -2
- package/package.json +19 -17
- package/sections/_defaults.scss +7 -36
- package/sections/_pages/about.def.ts +137 -0
- package/sections/_pages/index.def.ts +152 -0
- package/sections/_pages/leistungen1.def.ts +87 -0
- package/sections/_pages/leistungen2.def.ts +189 -0
- package/sections/_typography.scss +72 -0
- package/sections/cta-base/cta-base.def.ts +20 -0
- package/sections/cta-base/cta-base.scss +4 -3
- package/sections/cta-base/cta-base.ts +1 -1
- package/sections/cta-form/cta-form.scss +8 -7
- package/sections/cta-form/cta-form.ts +1 -1
- package/sections/hero-max/hero-max.scss +36 -5
- package/sections/hero-max/hero-max.ts +5 -2
- package/sections/hero-title-small/hero-title-small.scss +12 -1
- package/sections/hero-title-small/hero-title-small.ts +2 -2
- package/sections/navbar-centerlogo/_burger-menu.scss +2 -2
- package/sections/navbar-centerlogo/navbar-centerlogo.scss +8 -4
- package/sections/sec-card-2col/sec-card-2col.def.ts +73 -0
- package/sections/sec-card-2col/sec-card-2col.scss +57 -10
- package/sections/sec-card-2col/sec-card-2col.ts +2 -2
- package/sections/sec-card-feature/sec-card-feature.def.ts +47 -0
- package/sections/sec-legal-content/sec-legal-content.scss +6 -1
- package/sections/sec-legal-content/sec-legal-content.ts +1 -1
- package/sections/sec-multi-card/sec-multi-card.def.ts +58 -0
- package/sections/sec-multi-card/sec-multi-card.ts +1 -1
- package/sections/sec-testimonial-ribbon/sec-testimonial-ribbon.def.ts +29 -0
- package/sections/sec-testimonial-ribbon/sec-testimonial-ribbon.scss +72 -34
- package/sections/sec-testimonial-ribbon/sec-testimonial-ribbon.ts +8 -12
- package/sections/sections-export.ts +24 -0
- package/sections/sections.def.ts +57 -0
- package/sections/sections.scss +3 -0
- package/sections/sections.ts +1 -0
- package/sections/subheader/subheader.scss +27 -0
- package/sections/subheader/subheader.ts +17 -0
- package/themes/_defaults/_headering-style-flex.scss +36 -0
- package/themes/_defaults/_headering-style-hero.scss +23 -0
- package/themes/_defaults/_sprechzeiten-table-highlight.scss +28 -0
- package/themes/genne/index.scss +91 -0
- package/themes/theme1/index.scss +3 -0
- package/tsconfig.json +28 -0
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
.
|
|
1
|
+
.tjs-hero-title-small {
|
|
2
|
+
|
|
3
|
+
--layout-margin-top: 0;
|
|
4
|
+
--layout-margin-top-mobile: 0;
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
margin-top: var(--layout-margin-top);
|
|
8
|
+
|
|
9
|
+
@media (max-width: $breakpoint-mobile) {
|
|
10
|
+
margin-top: var(--layout-margin-top-mobile);
|
|
11
|
+
}
|
|
12
|
+
|
|
2
13
|
width: 100%;
|
|
3
14
|
align-items: center;
|
|
4
15
|
position: relative;
|
|
@@ -5,11 +5,11 @@ Joda.registerTemplate("hero-title-small",
|
|
|
5
5
|
// language=HTML
|
|
6
6
|
`
|
|
7
7
|
|
|
8
|
-
<
|
|
8
|
+
<section class="tjs-hero-title-small">
|
|
9
9
|
<div class="imagewrapper">
|
|
10
10
|
<slot class="image-slot" data-select="img, .top"></slot>
|
|
11
11
|
</div>
|
|
12
12
|
|
|
13
13
|
<slot></slot>
|
|
14
|
-
</
|
|
14
|
+
</section>
|
|
15
15
|
`);
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
& > .burger-menu__text {
|
|
17
17
|
padding-right: 5px;
|
|
18
18
|
font-family: var(--t-font-family-header);
|
|
19
|
-
font-size: var(--t-font-size-
|
|
20
|
-
color: var(--t-
|
|
19
|
+
font-size: var(--t-font-size-h5);
|
|
20
|
+
color: var(--t-primary);
|
|
21
21
|
@media (width < 768px) {
|
|
22
22
|
display: none;
|
|
23
23
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
--layout-burger-color: var(--t-accent);
|
|
22
22
|
--layout-menu-color: var(--bs-primary);
|
|
23
23
|
--layout-image-height: 80px;
|
|
24
|
-
--layout-zoom-ratio:
|
|
24
|
+
--layout-zoom-ratio: 1.6;
|
|
25
25
|
--layout-zoom-ratio-mobile: 1.3;
|
|
26
26
|
--layout-backdrop-height: 20px;
|
|
27
27
|
|
|
@@ -31,15 +31,17 @@
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
--e-zoom-ratio: var(--layout-zoom-ratio);
|
|
34
|
-
|
|
34
|
+
--e-translatey: 70%;
|
|
35
|
+
@media (width < $breakpoint-mobile) {
|
|
35
36
|
--e-zoom-ratio: var(--layout-zoom-ratio-mobile);
|
|
37
|
+
--e-translatey: 50%;
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
|
|
39
41
|
|
|
40
42
|
|
|
41
43
|
&>.e--spacer {
|
|
42
|
-
@media (width <
|
|
44
|
+
@media (width < $breakpoint-mobile) {
|
|
43
45
|
height: var(--layout-spacer-height-mobile);
|
|
44
46
|
}
|
|
45
47
|
height: var(--layout-spacer-height);
|
|
@@ -114,7 +116,9 @@
|
|
|
114
116
|
img {
|
|
115
117
|
height: var(--layout-image-height);
|
|
116
118
|
transition: all 0.25s ease-in-out;
|
|
117
|
-
width: auto;
|
|
119
|
+
width: auto;
|
|
120
|
+
|
|
121
|
+
transform: translateY(var(--e-translatey)) scale(var(--e-zoom-ratio));
|
|
118
122
|
max-width: 70vw;
|
|
119
123
|
}
|
|
120
124
|
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import {defineSection, example, SectionLayoutGroup} from "../sections.def";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
defineSection('sec-card-2col', SectionLayoutGroup.Content)`
|
|
5
|
+
|
|
6
|
+
This section displays a card with two columns. A Main column with the text or main content and a side column.
|
|
7
|
+
|
|
8
|
+
The will be automatically pulled into the side-column. Additional side content can be specified by adding
|
|
9
|
+
a .aside class to the element.
|
|
10
|
+
|
|
11
|
+
This element can be used multiple times in the main content of a page. It should not be used more than 3 times
|
|
12
|
+
in a row without a different section in between (due to the visual similarity).
|
|
13
|
+
|
|
14
|
+
If a blockquote element is specified as first element, it will be used as a big callout header. Use this
|
|
15
|
+
to highlight important information but keep it short (text size is .h1).
|
|
16
|
+
|
|
17
|
+
`;
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
example("Section with image and Accordion below the text.")`
|
|
21
|
+
## Vorsorge
|
|
22
|
+
{: layout="use: #sec-card-2col"}
|
|
23
|
+
|
|
24
|
+
> Vorsorge ist die beste Medizin!
|
|
25
|
+
|
|
26
|
+

|
|
27
|
+
|
|
28
|
+
Schützen Sie sich und Ihre Lieben durch regelmäßige Untersuchungen, präventive Maßnahmen und individuelle Beratung. Wir stehen Ihnen zur Seite, um potenzielle Gesundheitsrisiken frühzeitig zu erkennen und maßgeschneiderte Präventionspläne zu entwickeln.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
{: layout="use: accordion()" class="mt-5"}
|
|
32
|
+
|
|
33
|
+
### Gesundheits-Check-Up
|
|
34
|
+
|
|
35
|
+
Der Gesundheits-Check-Up ist eine umfassende Untersuchung, die dazu dient, Krankheiten frühzeitig zu erkennen und zu behandeln. Dieser Check-Up ist für alle Patienten ab 35 Jahren alle drei Jahre und für HZV Patienten alle 2 Jahre empfohlen.
|
|
36
|
+
|
|
37
|
+
### Hautkrebs-Früherkennung
|
|
38
|
+
|
|
39
|
+
Die Hautkrebs-Früherkennung ist eine wichtige Maßnahme zur Früherkennung von Hautkrebs. Sie sollte ab dem 35. Lebensjahr regelmäßig durchgeführt werden. Dieser Check ist für alle Patienten alle zwei Jahre empfohlen.
|
|
40
|
+
|
|
41
|
+
### Impfungen
|
|
42
|
+
|
|
43
|
+
Impfungen sind eine wichtige Maßnahme zur Vorbeugung von Infektionskrankheiten. Wir beraten Sie gerne zu den empfohlenen Impfungen und führen diese in unserer Praxis durch. Für Impfungen ist kein Termin erforderlich. Kommen Sie einfach während der Sprechzeiten vorbei.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
`;
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
example("Example with Header, Image on one side and Header Text and form on the other side.")`
|
|
50
|
+
## Online Rezept
|
|
51
|
+
{: layout="use: #sec-card-2col"}
|
|
52
|
+
|
|
53
|
+
> Jetzt Wiederholungsrezept online anfragen
|
|
54
|
+
|
|
55
|
+

|
|
56
|
+
|
|
57
|
+
Mit unserem Online-Rezeptformular können Sie bequem von zu Hause aus ein neues Rezept für Ihre Dauermedikation oder Folgerezepte anfordern.
|
|
58
|
+
**Bestellungen vor 10:00 Uhr können am Folgetag abgeholt werden.**
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
{: layout="use: #e-form" .mt-5}
|
|
62
|
+
|
|
63
|
+
[input type="text" name="Name" required .mb-3]
|
|
64
|
+
[input type="date" name="Geburtsdatum" required .mb-3]
|
|
65
|
+
[input type="email" name="E-Mail" required .mb-3]
|
|
66
|
+
[input type="tel" name="Telefon" required .mb-3]
|
|
67
|
+
[textarea name="Medikament" required .mb-3]
|
|
68
|
+
[textarea name="Ihre Nachricht (optional)" .mb-3 style="height: 120px;"]
|
|
69
|
+
[input type="checkbox" name="Datenschutz" label="Ich akzeptiere die Datenschutzbestimmungen" required .mb-3]
|
|
70
|
+
[input type="submit" value="Absenden" .btn .btn-primary .btn-lg .mt-3]
|
|
71
|
+
|
|
72
|
+
`;
|
|
73
|
+
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
3
|
.tjs__sec-card-2col {
|
|
4
|
+
|
|
5
|
+
--layout-border: 1px solid var(--t-section-border-color);
|
|
6
|
+
--layout-border-radius: var(--t-section-border-radius);
|
|
7
|
+
--layout-section-background: var(--t-section-background);
|
|
8
|
+
--layout-container-background: var(--t-container-background, white);
|
|
9
|
+
--layout-title-aspect-ratio: 16 / 9;
|
|
10
|
+
|
|
11
|
+
--layout-padding: 40px;
|
|
12
|
+
--layout-padding-mobile: 10px;
|
|
13
|
+
|
|
4
14
|
padding: var(--t-section-padding);
|
|
5
|
-
background: var(--
|
|
15
|
+
background: var(--layout-section-background);
|
|
6
16
|
|
|
7
17
|
|
|
8
|
-
|
|
18
|
+
|
|
19
|
+
.row {
|
|
20
|
+
--bs-gutter-x: 0;
|
|
21
|
+
}
|
|
9
22
|
|
|
10
23
|
|
|
11
24
|
|
|
@@ -57,6 +70,9 @@
|
|
|
57
70
|
--joda-class: p-4 p-lg-5;
|
|
58
71
|
}
|
|
59
72
|
|
|
73
|
+
.aside-content {
|
|
74
|
+
}
|
|
75
|
+
|
|
60
76
|
|
|
61
77
|
&.mobile.text-first {
|
|
62
78
|
.row > .tjs__sec-card-2col--col-start {
|
|
@@ -66,6 +82,20 @@
|
|
|
66
82
|
|
|
67
83
|
.row > .tjs__sec-card-2col--col-start {
|
|
68
84
|
order: 99;
|
|
85
|
+
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&.reverse {
|
|
89
|
+
&.mobile.text-first {
|
|
90
|
+
.row > .tjs__sec-card-2col--col-start {
|
|
91
|
+
order: 99;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.row > .tjs__sec-card-2col--col-start {
|
|
96
|
+
order: 1;
|
|
97
|
+
|
|
98
|
+
}
|
|
69
99
|
}
|
|
70
100
|
|
|
71
101
|
|
|
@@ -92,18 +122,35 @@
|
|
|
92
122
|
}
|
|
93
123
|
|
|
94
124
|
|
|
125
|
+
|
|
126
|
+
|
|
95
127
|
.tjs__sec-card-2col--container {
|
|
96
|
-
border: 1px solid var(--t-section-border-color);
|
|
97
|
-
border-radius: var(--t-section-border-radius);
|
|
98
|
-
overflow: hidden;
|
|
99
|
-
background-color: white;
|
|
100
128
|
padding: 0;
|
|
129
|
+
border: var(--layout-border);
|
|
130
|
+
border-radius: var(--layout-border-radius);
|
|
131
|
+
overflow: hidden;
|
|
132
|
+
background-color: var(--layout-container-background);
|
|
101
133
|
}
|
|
102
134
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
135
|
+
// Padding
|
|
136
|
+
.tjs__sec-card-2col--col-end {
|
|
137
|
+
padding: var(--layout-padding);
|
|
138
|
+
&:has(> slot > img) {
|
|
139
|
+
padding: 0;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
&.mobile .tjs__sec-card-2col--col-end {
|
|
144
|
+
padding: var(--layout-padding-mobile);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
.tjs__sec-card-2col--col-start {
|
|
150
|
+
padding: var(--layout-padding);
|
|
151
|
+
}
|
|
152
|
+
&.mobile .tjs__sec-card-2col--col-start {
|
|
153
|
+
padding: var(--layout-padding-mobile);
|
|
107
154
|
}
|
|
108
155
|
|
|
109
156
|
}
|
|
@@ -12,12 +12,12 @@ Joda.registerTemplate(
|
|
|
12
12
|
<div class="tjs__sec-card-2col--container [[layout.container]]">
|
|
13
13
|
<slot class="title" data-select="img.title || .title > img"></slot>
|
|
14
14
|
<div class="row [[layout.order === 'reverse' ? 'flex-column-reverse': '']] [[layout.mobile_reverse === 'yes' ? ':: flex-column-reverse :lg:': '']]">
|
|
15
|
-
<div class="tjs__sec-card-2col--col-start
|
|
15
|
+
<div class="tjs__sec-card-2col--col-start heading-style-flex :: col-12 :lg: col-[[layout.cols]]">
|
|
16
16
|
<slot></slot>
|
|
17
17
|
</div>
|
|
18
18
|
<div class="tjs__sec-card-2col--col-end image-side :: col-12 :lg: col-[[12 - layout.cols]] ">
|
|
19
19
|
|
|
20
|
-
<slot class="[[layout.slideshow === true ? 'slideshow' : '']]" data-select=".aside || img, .children > .section-hr.aside" [[layout.slideshow !== true ? 'data-limit="1"' : '' ]]></slot>
|
|
20
|
+
<slot class="[[layout.slideshow === true ? 'slideshow' : '']]" data-select=".aside || .aside-content || img, .children > .section-hr.aside" [[layout.slideshow !== true ? 'data-limit="1"' : '' ]]></slot>
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
23
23
|
</div>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {defineSection, example, SectionLayoutGroup} from "../sections.def";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
defineSection('sec-card-feature', SectionLayoutGroup.Content)`
|
|
5
|
+
|
|
6
|
+
A Feature Card Section with a large image on top and to columens of Text below. Should be used only
|
|
7
|
+
once within a pages content. Best places at after 2-3 sec-card-2col elements.
|
|
8
|
+
|
|
9
|
+
If a Blockquote is used as first element, it will be used as a big callout header. The h2 element will be
|
|
10
|
+
smaller abouve the callout.
|
|
11
|
+
|
|
12
|
+
`;
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
example("Section with image image on top, header, callout and text on left and accordion on right.")`
|
|
16
|
+
## Vorsorge für die ganze Familie
|
|
17
|
+
{: layout="use: #sec-card-feature"}
|
|
18
|
+
|
|
19
|
+
> Gesundheit für alle Altersgruppen
|
|
20
|
+
|
|
21
|
+
Vorsorge ist für alle Altersgruppen wichtig. Ob Kinder, Jugendliche, Erwachsene oder Senioren - wir bieten für jede Altersgruppe passende Vorsorgeuntersuchungen an.
|
|
22
|
+
|
|
23
|
+
Uns ist eine umfassende Aufklärung über die Möglichkeiten der Vorsorge und eine individuelle Beratung wichtig. Wir arbeiten eng mit Ihnen zusammen, um die bestmögliche Vorsorge für Ihre individuellen Bedürfnisse zu gewährleisten.
|
|
24
|
+
|
|
25
|
+
[Jetzt Termin vereinbaren](/kontakt){: .btn .fw-bold .btn-secondary .mt-4}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+

|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
{: layout="use: accordion()"}
|
|
32
|
+
|
|
33
|
+
### Akutversorgung von Kindern ab 6 Monaten
|
|
34
|
+
|
|
35
|
+
Unsere Praxis legt besonderen Wert auf die Versorgung Ihrer jüngsten Familienmitglieder. Bei akuten Beschwerden und Krankheitsbildern steht das Wohl Ihres Kindes immer an erster Stelle. Kinder ab dem Alter von 6 Monaten benötigen eine spezielle Herangehensweise, die sowohl medizinisches Know-how als auch eine kindgerechte Behandlung beinhaltet. Unsere erfahrenen Fachkräfte nehmen sich ausreichend Zeit für Ihren Nachwuchs und sorgen dafür, dass er sich in unserer Praxis sicher und geborgen fühlt.
|
|
36
|
+
|
|
37
|
+
### Jugendschutzuntersuchung
|
|
38
|
+
|
|
39
|
+
Jeder Jugendliche steht im Laufe seiner Entwicklung vor neuen Herausforderungen und Veränderungen. Die Jugendschutzuntersuchung ist ein wichtiger Baustein, um sicherzustellen, dass junge Menschen gesund und wohlbehalten ins Berufsleben starten können. In unserer Praxis bieten wir diese Untersuchung an, die dazu dient, mögliche gesundheitliche Risiken frühzeitig zu erkennen und vorbeugende Maßnahmen zu treffen. Es ist unser Ziel, die körperliche und geistige Gesundheit Ihres Teenagers zu fördern und zu schützen.
|
|
40
|
+
|
|
41
|
+
### Altersmedizinische Vorsorgeuntersuchungen
|
|
42
|
+
|
|
43
|
+
Mit fortschreitendem Alter ändern sich die Bedürfnisse und Anforderungen an unsere Gesundheit. Unsere Praxis ist darauf spezialisiert, Sie bestmöglich durch diese Lebensphase zu begleiten. Mithilfe altersmedizinischer Vorsorgeuntersuchungen (geriatrisches Basisassessment) können wir frühzeitig Veränderungen und potenzielle Risikofaktoren erkennen. So sind wir in der Lage, Ihnen individuell angepasste Empfehlungen und Therapien anzubieten. Ihr Wohlbefinden und Ihre Lebensqualität stehen für uns immer im Vordergrund. Vertrauen Sie auf unsere Expertise und lassen Sie uns gemeinsam für Ihre Gesundheit sorgen.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
`;
|
|
47
|
+
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
.
|
|
3
|
+
.tjs-legal-content {
|
|
4
|
+
--layout-margin-top: 0;
|
|
5
|
+
|
|
6
|
+
margin-top: var(--layout-margin-top);
|
|
7
|
+
|
|
4
8
|
background: var(--t-section-background);
|
|
5
9
|
padding: var(--t-section-padding);
|
|
6
10
|
|
|
11
|
+
|
|
7
12
|
.inner-wrapper {
|
|
8
13
|
|
|
9
14
|
border: 1px solid var(--t-section-border-color);
|
|
@@ -5,7 +5,7 @@ Joda.registerTemplate("sec-legal-content",
|
|
|
5
5
|
// language=HTML
|
|
6
6
|
`
|
|
7
7
|
|
|
8
|
-
<section class="
|
|
8
|
+
<section class="tjs-legal-content :: mobile :lg:">
|
|
9
9
|
<div class="out-wrapper">
|
|
10
10
|
<div class="container p-0">
|
|
11
11
|
<div class="inner-wrapper :: p-4 :lg: p-5">
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import {defineSection, example, SectionLayoutGroup} from "../sections.def";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
defineSection('sec-multi-card', SectionLayoutGroup.Content)`
|
|
5
|
+
|
|
6
|
+
A Header with callout and text followed by a card elements per h3 row with image on top.
|
|
7
|
+
|
|
8
|
+
`;
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
example("Leistungsübersicht auf Startseite mit Überschift, darunter 3 Columns mit Bild und Text. Danach eine Zeile mit einem Button zu den Leistungen")`
|
|
12
|
+
## Unsere Leistungen
|
|
13
|
+
{: layout="use: #sec-multi-card; cols:3"}
|
|
14
|
+
|
|
15
|
+
### Vorsorge
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
Wir bieten eine umfassende Vorsorgeuntersuchung an, um Krankheiten frühzeitig zu erkennen und zu behandeln.
|
|
20
|
+
|
|
21
|
+
### Diagnostik
|
|
22
|
+
|
|
23
|
+

|
|
24
|
+
|
|
25
|
+
Unsere Praxis ist mit modernsten Diagnosegeräten ausgestattet, um eine genaue und schnelle Diagnose zu gewährleisten.
|
|
26
|
+
|
|
27
|
+
### Therapie
|
|
28
|
+
|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
Wir bieten eine breite Palette von Therapien an, um eine effektive Behandlung zu gewährleisten.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
{: .section-h2}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
[Unsere Leistungen](/leistungen){: .btn .btn-primary .btn-lg .mb-3}
|
|
38
|
+
{: .text-center}
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
`;
|
|
42
|
+
|
|
43
|
+
example("Mitarbeiter mit jeweils 3 Cards nebeneinander. (kann beliebig lang werden). Hier ist der Header mittels .d-none ausgeblendet (falls vorher bereits ein Cards Element steht).")`
|
|
44
|
+
## Unsere Mitarbeiter
|
|
45
|
+
{: layout="use: #sec-multi-card; cols:3" .d-none}
|
|
46
|
+
|
|
47
|
+
### Nicoleta Avrinte
|
|
48
|
+
|
|
49
|
+

|
|
50
|
+
|
|
51
|
+
### Anika Engel
|
|
52
|
+
|
|
53
|
+

|
|
54
|
+
|
|
55
|
+
### Anika Meier
|
|
56
|
+
|
|
57
|
+

|
|
58
|
+
`;
|
|
@@ -22,7 +22,7 @@ Joda.registerTemplate("sec-multi-card",
|
|
|
22
22
|
`
|
|
23
23
|
|
|
24
24
|
<section class="tjs__sec-multi-card">
|
|
25
|
-
<div class="container header" style="--joda-on-empty-class: d-none;">
|
|
25
|
+
<div class="container header heading-style-default" style="--joda-on-empty-class: d-none;">
|
|
26
26
|
<slot class="tjs__section-text" data-select=":scope > .content"></slot>
|
|
27
27
|
</div>
|
|
28
28
|
<div class="container">
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {defineSection, example, SectionLayoutGroup} from "../sections.def";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
defineSection('sec-testimonial-ribbon', SectionLayoutGroup.Content)`
|
|
5
|
+
|
|
6
|
+
A section filling the screens full width with a round image of a person and a quote of this person.
|
|
7
|
+
|
|
8
|
+
Only use maximum once per page. Do not use as last nor as first element on a page.
|
|
9
|
+
|
|
10
|
+
The text of the header will not be shown.
|
|
11
|
+
|
|
12
|
+
`;
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
example("Statement of the doctor himself.")`
|
|
16
|
+
|
|
17
|
+
## Testimonial
|
|
18
|
+
{: layout="use: #sec-testimonial-ribbon"}
|
|
19
|
+
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
„In unserer Praxis legen wir großen Wert auf eine individuelle und professionelle psychiatrische und psychotherapeutische Versorgung. Wir nutzen modernste Diagnoseverfahren und Behandlungsmethoden, um unseren Patienten die bestmögliche Unterstützung zu bieten. Unser Ziel ist es, dass sich jeder Patient bei uns gut aufgehoben und verstanden fühlt.“
|
|
23
|
+
|
|
24
|
+
— Yigit Sinan, Facharzt für XXX
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
`;
|
|
29
|
+
|
|
@@ -1,55 +1,93 @@
|
|
|
1
|
-
.
|
|
1
|
+
.tjs-testimonial-ribbon {
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
--layout-
|
|
3
|
+
|
|
4
|
+
--layout-section-background: var(--t-background-primary);
|
|
5
|
+
--layout-image-size: 200px;
|
|
6
|
+
--layout-image-size-mobile: 120px;
|
|
7
|
+
--layout-section-padding: var(--layout-section-padding);
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
--layout-content-padding: 40px;
|
|
11
|
+
|
|
12
|
+
--layout-font-size: 1.3rem;
|
|
5
13
|
|
|
6
14
|
padding: var(--t-section-padding);
|
|
7
15
|
background-color: var(--layout-bg);
|
|
8
16
|
|
|
9
|
-
&.mobile {
|
|
10
|
-
padding-top: 40px;
|
|
11
|
-
}
|
|
12
17
|
|
|
13
|
-
&.mobile > .tjs__sec-testimonial-ribbon--wrapper {
|
|
14
|
-
margin-top: 75px;
|
|
15
18
|
|
|
16
|
-
.image-round {
|
|
17
|
-
width: 150px;
|
|
18
|
-
height: 150px;
|
|
19
|
-
position: relative;
|
|
20
|
-
top: -150px;
|
|
21
|
-
margin-bottom: -150px;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
19
|
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
|
|
21
|
+
.x--wrapper {
|
|
22
|
+
background-color: var(--layout-section-background);
|
|
23
|
+
|
|
24
|
+
padding-top: var(--layout-section-padding);
|
|
25
|
+
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
&.mobile .x--wrapper {
|
|
29
|
+
margin-top: calc(var(--layout-image-size-mobile) / 2);
|
|
30
|
+
}
|
|
31
|
+
.x--row {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-direction: row;
|
|
34
|
+
align-items: center;
|
|
35
|
+
}
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
&.mobile {
|
|
38
|
+
.x--row {
|
|
39
|
+
flex-direction: column;
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
|
|
43
|
+
&.mobile div.x--image > slot{
|
|
44
|
+
margin-top: -50%;
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
&.mobile div.x--image {
|
|
48
|
+
padding: 0;
|
|
49
|
+
}
|
|
50
|
+
&.mobile div.x--image > slot {
|
|
51
|
+
border: 4px solid var(--layout-section-background);
|
|
52
|
+
}
|
|
53
|
+
div.x--image {
|
|
54
|
+
|
|
55
|
+
position: relative;
|
|
56
|
+
padding: var(--layout-content-padding);
|
|
57
|
+
&>slot {
|
|
42
58
|
|
|
43
|
-
|
|
59
|
+
display: block;
|
|
60
|
+
width: var(--layout-image-size);
|
|
61
|
+
height: var(--layout-image-size);
|
|
62
|
+
border: 1px solid white;
|
|
63
|
+
border-radius: 100%;
|
|
64
|
+
&>img {
|
|
65
|
+
width: 100%;
|
|
66
|
+
height: 100%;
|
|
67
|
+
object-fit: cover;
|
|
68
|
+
border-radius: 100%;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
44
71
|
|
|
45
72
|
}
|
|
73
|
+
slot.x--text {
|
|
74
|
+
padding: var(--layout-content-padding);
|
|
75
|
+
display: block;
|
|
76
|
+
h2,h3 {
|
|
77
|
+
display: none;
|
|
78
|
+
}
|
|
46
79
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
80
|
+
|
|
81
|
+
p {
|
|
82
|
+
font-size: var(--layout-font-size);
|
|
83
|
+
line-height: 1.5;
|
|
84
|
+
font-weight: lighter;
|
|
85
|
+
font-style: italic;
|
|
86
|
+
}
|
|
87
|
+
p:last-child {
|
|
88
|
+
margin-bottom: 0;
|
|
89
|
+
font-weight: normal;
|
|
90
|
+
}
|
|
53
91
|
}
|
|
54
92
|
}
|
|
55
93
|
|
|
@@ -5,21 +5,17 @@ Joda.registerTemplate("sec-testimonial-ribbon",
|
|
|
5
5
|
// language=HTML
|
|
6
6
|
`
|
|
7
7
|
|
|
8
|
-
<div class="
|
|
9
|
-
<div class="
|
|
10
|
-
<div class="
|
|
11
|
-
<div class="row">
|
|
12
|
-
<div class="col-lg-3 image-round mx-auto :: :xl: my-auto">
|
|
13
|
-
<div class="ratio ratio-1x1">
|
|
14
|
-
<slot data-select="img" data-replace=""></slot>
|
|
15
|
-
</div>
|
|
8
|
+
<div class="tjs-testimonial-ribbon :: mobile :lg:">
|
|
9
|
+
<div class="x--wrapper">
|
|
10
|
+
<div class="x--container [[layout.container]] :: :xl:">
|
|
16
11
|
|
|
12
|
+
<div class="x--row">
|
|
13
|
+
<div class="x--image">
|
|
14
|
+
<slot class="" data-select="img"></slot>
|
|
17
15
|
</div>
|
|
18
|
-
<div class="col-lg-9 text-format :: :lg: my-auto">
|
|
19
|
-
<slot></slot>
|
|
20
|
-
</div>
|
|
21
16
|
|
|
22
|
-
|
|
17
|
+
<slot class="x--text"></slot>
|
|
18
|
+
|
|
23
19
|
</div>
|
|
24
20
|
</div>
|
|
25
21
|
</div>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
|
|
3
|
+
import "./_pages/index.def";
|
|
4
|
+
import "./_pages/about.def";
|
|
5
|
+
import "./_pages/leistungen1.def";
|
|
6
|
+
import "./_pages/leistungen2.def";
|
|
7
|
+
import "./sec-card-2col/sec-card-2col.def";
|
|
8
|
+
import "./sec-card-feature/sec-card-feature.def";
|
|
9
|
+
import "./sec-multi-card/sec-multi-card.def";
|
|
10
|
+
import "./sec-testimonial-ribbon/sec-testimonial-ribbon.def";
|
|
11
|
+
import "./cta-base/cta-base.def";
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
import {SECTIONS} from "./sections.def";
|
|
16
|
+
|
|
17
|
+
fs.writeFile(__dirname + "/../_tpl/sections.def.json", JSON.stringify(SECTIONS, null, 2), (err) => {
|
|
18
|
+
if (err) {
|
|
19
|
+
console.error(err);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
console.log("File has been created");
|
|
23
|
+
});
|
|
24
|
+
|