@leuffen/themejs1 7.0.2 → 8.0.2

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.
Files changed (84) hide show
  1. package/_tpl/_root/.kick.yml +5 -0
  2. package/_tpl/_root/.schiller-context.txt +12 -0
  3. package/_tpl/_root/docs/_includes/el/lang-chooser-list.html +24 -0
  4. package/_tpl/_root/docs/_includes/el/openhours.html +1 -1
  5. package/_tpl/_root/docs/_includes/footer.md +2 -2
  6. package/_tpl/_root/docs/_layouts/0_blanc.html +9 -5
  7. package/_tpl/_root/docs/_layouts/3_1_navbar.html +13 -1
  8. package/_tpl/_root/src/style_custom.scss +8 -0
  9. package/_tpl/legal/datenschutz.de.md +1 -0
  10. package/_tpl/legal/impressum.de.md +2 -0
  11. package/_tpl/leistungen/hausarzt-uebersicht.de.md +1 -0
  12. package/_tpl/pages/hausarzt-index-singleleistung.de.md +3 -2
  13. package/_tpl/pages/hausarzt-index.de.md +1 -0
  14. package/_tpl/pages/index-theme-genne.de.md +158 -0
  15. package/_tpl/pages/kontakt-anfahrt.de.md +2 -0
  16. package/_tpl/pages/termin-redirect.de.md +1 -0
  17. package/_tpl/pages/ueber-uns.de.md +1 -0
  18. package/_tpl/sections.def.json +121 -0
  19. package/_tpl/service/info-privatpraxis.de.md +120 -0
  20. package/_variables.scss +49 -1
  21. package/dist/elements/hero-slide/hero-slide.js +1 -1
  22. package/dist/sections/cta-base/cta-base.js +1 -1
  23. package/dist/sections/cta-form/cta-form.js +1 -1
  24. package/dist/sections/hero-max/hero-max.js +5 -2
  25. package/dist/sections/hero-title-small/hero-title-small.js +2 -2
  26. package/dist/sections/navbar-switch2/navbar-switch2.d.ts +1 -0
  27. package/dist/sections/navbar-switch2/navbar-switch2.js +44 -0
  28. package/dist/sections/sec-card-2col/sec-card-2col.js +2 -2
  29. package/dist/sections/sec-legal-content/sec-legal-content.js +1 -1
  30. package/dist/sections/sec-multi-card/sec-multi-card.js +1 -1
  31. package/dist/sections/sec-testimonial-ribbon/sec-testimonial-ribbon.js +8 -12
  32. package/dist/sections/sections.d.ts +2 -0
  33. package/dist/sections/sections.js +2 -0
  34. package/dist/sections/subheader/subheader.d.ts +1 -0
  35. package/dist/sections/subheader/subheader.js +15 -0
  36. package/elements/_background-color.scss +4 -0
  37. package/elements/_image-list.scss +39 -0
  38. package/elements/elements.scss +1 -0
  39. package/elements/hero-slide/hero-slide.scss +5 -1
  40. package/elements/hero-slide/hero-slide.ts +1 -1
  41. package/font/cinzel-opensans.scss +2 -2
  42. package/package.json +21 -19
  43. package/sections/_defaults.scss +7 -36
  44. package/sections/_pages/about.def.ts +137 -0
  45. package/sections/_pages/index.def.ts +152 -0
  46. package/sections/_pages/leistungen1.def.ts +87 -0
  47. package/sections/_pages/leistungen2.def.ts +189 -0
  48. package/sections/_typography.scss +72 -0
  49. package/sections/cta-base/cta-base.def.ts +20 -0
  50. package/sections/cta-base/cta-base.scss +4 -3
  51. package/sections/cta-base/cta-base.ts +1 -1
  52. package/sections/cta-form/cta-form.scss +8 -7
  53. package/sections/cta-form/cta-form.ts +1 -1
  54. package/sections/hero-max/hero-max.scss +36 -5
  55. package/sections/hero-max/hero-max.ts +5 -2
  56. package/sections/hero-title-small/hero-title-small.scss +12 -1
  57. package/sections/hero-title-small/hero-title-small.ts +2 -2
  58. package/sections/navbar-centerlogo/_burger-menu.scss +2 -2
  59. package/sections/navbar-centerlogo/navbar-centerlogo.scss +8 -4
  60. package/sections/navbar-switch2/navbar-switch2.scss +274 -0
  61. package/sections/navbar-switch2/navbar-switch2.ts +47 -0
  62. package/sections/sec-card-2col/sec-card-2col.def.ts +73 -0
  63. package/sections/sec-card-2col/sec-card-2col.scss +57 -10
  64. package/sections/sec-card-2col/sec-card-2col.ts +2 -2
  65. package/sections/sec-card-feature/sec-card-feature.def.ts +47 -0
  66. package/sections/sec-legal-content/sec-legal-content.scss +6 -1
  67. package/sections/sec-legal-content/sec-legal-content.ts +1 -1
  68. package/sections/sec-multi-card/sec-multi-card.def.ts +58 -0
  69. package/sections/sec-multi-card/sec-multi-card.ts +1 -1
  70. package/sections/sec-testimonial-ribbon/sec-testimonial-ribbon.def.ts +29 -0
  71. package/sections/sec-testimonial-ribbon/sec-testimonial-ribbon.scss +72 -34
  72. package/sections/sec-testimonial-ribbon/sec-testimonial-ribbon.ts +8 -12
  73. package/sections/sections-export.ts +24 -0
  74. package/sections/sections.def.ts +57 -0
  75. package/sections/sections.scss +4 -0
  76. package/sections/sections.ts +2 -0
  77. package/sections/subheader/subheader.scss +27 -0
  78. package/sections/subheader/subheader.ts +17 -0
  79. package/themes/_defaults/_headering-style-flex.scss +36 -0
  80. package/themes/_defaults/_headering-style-hero.scss +23 -0
  81. package/themes/_defaults/_sprechzeiten-table-highlight.scss +28 -0
  82. package/themes/genne/index.scss +91 -0
  83. package/themes/theme1/index.scss +3 -0
  84. package/tsconfig.json +28 -0
@@ -0,0 +1,120 @@
1
+ ---
2
+ _schiller_instructions: |-
3
+ Erstelle eine H2 Section für jeden Gliederungspunkt. Wähle
4
+ passende Bilder aus. Nutze H3 Elemente als Accordion für zusätzliche Texte. Behalte
5
+ die Struktur von H2 und H3 Elementen bei. Jede Section hat einen Titel (H2) und einen Kicker (Blockquote per >), der kurz den Titel beschreibt. The Title will be generated by CMS - do
6
+ not add a Title headline! Always and with a cta element! Orientiere dich bei der Texterstellung für alle Elemente an der Vorlage.
7
+ _schiller_template: leistungen/hausarzt-vorsorge
8
+ description: "Schützen Sie Ihre Gesundheit mit unseren Vorsorgeuntersuchungen \U0001FA7A.
9
+ Früherkennung ist der Schlüssel zur Prävention. Jetzt Termin vereinbaren! \U0001F4C5"
10
+ image: ~
11
+ keywords: ~
12
+ lang: de
13
+ layout: article
14
+ order: 90
15
+ permalink: /info-privatpraxis
16
+ pid: service/info-privatpraxis
17
+ ptags:
18
+ - nav
19
+ published: true
20
+ skipHead: false
21
+ body_class: ~
22
+ title: Ablauf & Kosten
23
+ type: article
24
+ availLangs:
25
+ - de
26
+ ---
27
+ ## PATIENT WERDEN
28
+ {: layout="use: #sec-card-2col"}
29
+
30
+ > Ihr Weg zur Behandlung
31
+
32
+ Wir sind eine Privatpraxis. Auf dieser Seite finden Sie alle Informationen zum Ablauf und den Kosten der Behandlung.
33
+
34
+ ![](https://cdn.leuffen.de//leu-stock/v2/182/3-1_gfedcba/AdobeStock_208031909.webp)
35
+
36
+
37
+
38
+ ---
39
+ {: layout="use: accordion()" class="mt-5"}
40
+
41
+ ### Schritt 1: Terminvereinbarung
42
+
43
+ Wir sind eine reine Terminpraxis. Bitte kontaktieren Sie uns zuerst zur Terminvergabe vorzugsweise über unsere Online-Terminvereinbarung.
44
+
45
+ [Zur Online Terminvereinbarung](/online-termin){: .btn .btn-primary .btn-lg .my-3}
46
+
47
+ ### Schritt 2: Erstgespräch
48
+
49
+ Es findet ein kostenloses, unverbindliches Erstgespräch statt (ca. 10 min, nicht länger).
50
+ In manchen Fällen reicht auch ein telefonisches Vorabgespräch.
51
+
52
+ ### Schritt 3: Bestätigung
53
+
54
+ Wir entscheiden uns für eine Zusammenarbeit, vereinbaren einen Termin, ggf. gleich mehrere
55
+ Termine. Dabei klären wir all Ihre Anliegen und legen gemeinsam einen Therapieplan fest.
56
+
57
+ ### Schritt 4: Behandlungsbeginn
58
+
59
+ Bitte bringen Sie zur ausführlichen Erstanamnese all Ihre Unterlagen zu Ihrer Geschichte
60
+ (Vorbefunde, Blutuntersuchungen, Bildgebung wie Röntgen, CT, MRT etc.)
61
+ und den ausgefüllten Anamnesebogen mit.
62
+
63
+ ## Kosten
64
+ {: layout="use: #sec-card-2col;mobile_reverse: yes"}
65
+
66
+ > Die Kosten der Behandlung
67
+
68
+ Alle Patienten erhalten nach erfolgter Behandlung eine Rechnung.
69
+
70
+ Die Kosten der Rechnung basieren auf der Gebührenordnung für Ärzte (GoÄ).
71
+
72
+ Die Zusammenstellung der Rechnung erfolgt dementsprechend nach den für Ärzte geltenden, gesetzlichen Vorgaben.
73
+ Sinn des Gesetzgebers ist es, Ihre Gesundheit zu schützen. Deutschlandweit gelten einheitliche Honorare, Arzt und Patient müssen nicht miteinander verhandeln.
74
+
75
+
76
+
77
+ ---
78
+ {: layout="use: accordion()" class="aside-content"}
79
+
80
+ ### 01 Gesetzlich Versicherte
81
+ Für gesetzlich Versicherte (AOK, TK, Barmer-GEK, BKK, DAK o. a.) übernimmt die jeweilige Krankenkasse die meisten Kosten der Behandlung nicht. Die Kosten tragen Sie selbst, wie beispielsweise IGeL bei Ihrem Hausarzt, bei einem Osteopathen oder einer medizinischen Massagebehandlung.
82
+
83
+ ### 02 Privat Versicherte
84
+ Privatversicherte können wie gewohnt die Rechnungen der Behandlungen einreichen. Informieren Sie sich bitte im Vorfeld, ob alle Kosten übernommen werden.
85
+
86
+ ### 03 Zusatzversicherung
87
+ Patienten, die eine private Zusatzversicherung für Naturheilverfahren haben, erhalten ebenfalls eine Rechnung und können diese entsprechend einreichen. Viele unserer Therapien finden sich im Hufeland-Verzeichnis, nach welchem die Versicherungen abrechnen. Eine Zusatzversicherung können Sie jederzeit abschließen.
88
+
89
+
90
+ ## Kostenbeispiele
91
+ {: layout="use: #sec-card-2col;mobile_reverse: yes"}
92
+
93
+ Die Gesamtkosten setzen sich aus einzelnen Bausteinen zusammen, hier einige Beispiele:
94
+
95
+ - Ausführliches Aufnahmegespräch, nach Aufwand: ab 75€
96
+ - Kurze Beratung, persönlich oder telefonisch, nach Aufwand: ab 10€
97
+ - Ausführliche Beratung, therapiebegleitend, nach Aufwand: ab 35€
98
+ - Ermittlung Ganzkörperstatus: ca. 35€
99
+ - Blutentnahme: ca. 5 €
100
+ - Laboranalysen: ab 50€, je nach gemessenen Werten
101
+ - IHHT, Sauerstofftherapie, 40 min: ab 60€
102
+ - Akupunktur, nach Aufwand, pro Sitzung: ab 35€
103
+ - Ernährungsberatung inkl. Material bis 115€
104
+ - Infusionstherapie ab 10€ zzgl. Material
105
+ - Gesprächstherapie, psychotherapeutisch, 50 min ab 45€
106
+
107
+ ---
108
+ {: layout="use: accordion()" class=" aside-content"}
109
+
110
+ ### Beispiel 1: Sie haben akute oder chronische Schmerzen
111
+ Wir beginnen mit einem ausführlichen Erstgespräch (nach Aufwand, 75-170€) und körperlichen Untersuchung (ca. 20€). Meistens empfehlen wir Ihnen erweiterte Laboranalysen (ab ca. 50€) daran schließen sich alle therapeutische Maßnahmen wie beispielsweise die Neuraltherapie oder Akupunktur (ab 35€ pro Sitzung), Infusionen (ab 10€ zzgl. Material) an.
112
+
113
+ ### Beispiel 2: Sie leiden an Ängsten oder Depressionen oder anderen psychischen Erkrankungen?
114
+ Wir beginnen mit einem ausführlichen Erstgespräch (nach Aufwand, 75-170€) und ggf. körperlichen Untersuchung (ca. 20€), daran schließen sich meistens weitere therapeutische Gespräche (50 min, ab 45€). Meistens führen wir Diagnostiken durch wie Blutanalysen (ab ca. 50€) oder Analysen der Herzfrequenzvariabilität (ab 30€).
115
+
116
+
117
+ ## Erfahren Sie mehr über uns
118
+ {: layout="use: #cta-base"}
119
+
120
+ [Unsere Untersuchungen](/leistungen/untersuchungen.de.html) [Über Uns](/ueber-uns) [Kontakt](/kontakt)
package/_variables.scss CHANGED
@@ -4,10 +4,14 @@
4
4
  /* always add !default to variables */
5
5
 
6
6
 
7
+
7
8
  //$font-family-base: Ubuntu-R,sans-serif;
8
9
  $font-family-base: sans-serif !default;
9
10
  $font-family-header: $font-family-base !default;
10
11
 
12
+ $line-height-base: 1.5 !default;
13
+ $line-height-header: 1.2 !default;
14
+
11
15
  //$enable-dark-mode: false !default;
12
16
 
13
17
  $accent: #f19045 !default;
@@ -17,6 +21,8 @@ $danger: #bf1c0a !default;
17
21
  $warning: #bf760a !default;
18
22
  $dark: #006837 !default;
19
23
 
24
+ $breakpoint-mobile: 992px !default;
25
+
20
26
  $soft-accent: lighten($accent, 40%) !default;
21
27
  $soft-primary: lighten($primary, 40%) !default;
22
28
  $soft-success: lighten($success, 40%) !default;
@@ -31,10 +37,13 @@ $background-accent: #ddd !default;
31
37
  $content-offset-top: 100px !default;
32
38
  $content-height-adjustment: 200px !default;
33
39
 
40
+ $font-size-root: 16px !default;
34
41
  $font-size-base: 0.9rem !default;
35
- $font-size-header: 1.8rem !default;
42
+ $font-size-header: 2.8rem !default;
43
+ $font-color-base: #444 !default;
36
44
 
37
45
  $line-height-base: 1.2 !default;
46
+ $line-height-header: 1.2 !default;
38
47
  $paragraph-margin-bottom: 1.5rem !default;
39
48
 
40
49
  $minibar-text-color: black !default;
@@ -59,3 +68,42 @@ $header-text-transform: uppercase !default;
59
68
  $hero-fullsize-modifier: 200px !default;
60
69
 
61
70
 
71
+ :root {
72
+ --t-soft-primary: #{$soft-primary};
73
+ --t-accent: #{$accent};
74
+ --t-primary: #{$primary};
75
+
76
+ --t-background: #{$background};
77
+ --t-background-primary: #{$background-primary};
78
+ --t-background-accent: #{$background-accent};
79
+
80
+ --t-font-family-base: #{$font-family-base};
81
+ --t-font-family-header: #{$font-family-header};
82
+
83
+ --t-font-color-base: #{$font-color-base};
84
+ --t-font-size-root: #{$font-size-root};
85
+ --t-font-size-base: #{$font-size-base};
86
+ --t-font-size-header: #{$font-size-header};
87
+ --t-font-size-h1: var(--t-font-size-header);
88
+ --t-font-size-h2: calc(var(--t-font-size-header) * 0.7);
89
+ --t-font-size-h3: calc(var(--t-font-size-header) * 0.6);
90
+ --t-font-size-h4: calc(var(--t-font-size-header) * 0.5);
91
+ --t-font-size-h5: calc(var(--t-font-size-header) * 0.4);
92
+
93
+ --t-paragraf-margin-bottom: #{$paragraph-margin-bottom};
94
+
95
+ --t-line-height-base: #{$line-height-base};
96
+ --t-line-height-header: #{$line-height-header};
97
+
98
+ // The Space between sections
99
+ --t-section-padding: 40px 0;
100
+ --t-section-inner-padding: 3rem;
101
+
102
+ --t-section-border-color: #{$section-border-color};
103
+ --t-section-border-radius: #{$section-border-radius};
104
+
105
+
106
+
107
+ --t-border-color: #{$border-color};
108
+
109
+ }
@@ -3,7 +3,7 @@ Joda.registerTemplate("hero-slide",
3
3
  // language=HTML
4
4
  `
5
5
 
6
- <article class="hero-slide :: mobile :xl: desktop">
6
+ <article class="hero-slide :: mobile :lg: desktop">
7
7
  <slot></slot>
8
8
  </article>
9
9
 
@@ -5,7 +5,7 @@ Joda.registerTemplate("cta-base",
5
5
 
6
6
  <section class="tjs__cta-base">
7
7
  <div class="[[layout.container]]">
8
- <slot></slot>
8
+ <slot class="heading-style-default"></slot>
9
9
  </div>
10
10
  </section>
11
11
  `);
@@ -5,7 +5,7 @@ Joda.registerTemplate("cta-form",
5
5
  <section class="tjs__cta-form">
6
6
  <form data-micx-formmail-preset="default" data-micx-formmail-sent-message="E-Mail erfolgreich gesendet!">
7
7
  <div class="container">
8
- <slot data-select=":scope h2"></slot>
8
+ <slot class="heading-style-default" data-select=":scope h2, :scope blockquote"></slot>
9
9
  </div>
10
10
  <div class="wrapper">
11
11
  <div class="container">
@@ -3,11 +3,14 @@ Joda.registerTemplate("hero-max",
3
3
  // language=HTML
4
4
  `
5
5
 
6
- <section class="tjs__hero-max [[layout.class]] [[layout.autoheight === false ? '' : 'tjs__hero-max--autoheight' ]] :: mobile :xxl: desktop">
6
+ <section class="tjs__hero-max [[layout.class]] [[layout.autoheight === false ? '' : 'tjs__hero-max--autoheight' ]] :: mobile :lg: desktop">
7
7
  <slot data-select="img.background, :scope>.content>p.background>img" class="slideshow"></slot>
8
+ <div class="x-overlay x-overlay1"></div>
9
+ <div class="x-overlay x-overlay2"></div>
10
+ <div class="x-overlay x-overlay3"></div>
8
11
  <div class="tjs__hero-max--out-wrapper ">
9
12
  <div class="tjs__hero-max--container [[layout.container]] ">
10
- <slot class="content" data-select=".slide || :scope > * "></slot>
13
+ <slot class="content heading-style-hero" data-select=".slide || :scope > * "></slot>
11
14
  </div>
12
15
  </div>
13
16
  </section>
@@ -3,11 +3,11 @@ Joda.registerTemplate("hero-title-small",
3
3
  // language=HTML
4
4
  `
5
5
 
6
- <div class="tjs__hero-title-small">
6
+ <section class="tjs-hero-title-small">
7
7
  <div class="imagewrapper">
8
8
  <slot class="image-slot" data-select="img, .top"></slot>
9
9
  </div>
10
10
 
11
11
  <slot></slot>
12
- </div>
12
+ </section>
13
13
  `);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ // language=HTML
2
+ import { Joda } from "@leuffen/jodastyle";
3
+ const html = `
4
+
5
+ <nav class="isl-navbar-switch2 :: mobile :xl:">
6
+
7
+ <div class="isl-navbar-switch2__top-bar container-xxl">
8
+ <slot data-select="ul.navbar-top"></slot>
9
+ </div>
10
+ <div class="isl-navbar-switch2__nav">
11
+ <div class="container-xl">
12
+ <div class="isl-navbar-switch2__nav--inner">
13
+ <div class="isl-navbar-switch2__nav--logo">
14
+ <slot data-select=".brand"></slot>
15
+ </div>
16
+ <div class="isl-navbar-switch2__nav--items :: d-none :xl: d-block">
17
+ <slot data-select="ul.navbar-main" data-child-class="isl-navbar-switch2__nav--items-item"></slot>
18
+ </div>
19
+ <div class="isl-navbar-switch2__nav--mobile-menu :: :xl: d-none" >
20
+ <div class="isl-navbar-switch2__nav--mobile-menu-selector" onclick="this.closest('nav').classList.toggle('sidebar')">
21
+ <div></div>
22
+ <div></div>
23
+ <div></div>
24
+ </div>
25
+
26
+ </div>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ <aside>
31
+ <div class="backdrop" onclick="this.closest('nav').classList.remove('sidebar')"></div>
32
+ <div class="menu">
33
+ <div class="menu-header">
34
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x-lg" viewBox="0 0 16 16" onclick="this.closest('nav').classList.remove('sidebar')">
35
+ <path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z"/>
36
+ </svg>
37
+ </div>
38
+ <slot data-select="ul.navbar-main" data-copy="1" data-child-class="isl-navbar-switch2__nav--items-item"></slot>
39
+ </div>
40
+ </aside>
41
+ </nav>
42
+
43
+ `;
44
+ Joda.registerTemplate("navbar-switch2", html);
@@ -7,12 +7,12 @@ Joda.registerTemplate("sec-card-2col",
7
7
  <div class="tjs__sec-card-2col--container [[layout.container]]">
8
8
  <slot class="title" data-select="img.title || .title > img"></slot>
9
9
  <div class="row [[layout.order === 'reverse' ? 'flex-column-reverse': '']] [[layout.mobile_reverse === 'yes' ? ':: flex-column-reverse :lg:': '']]">
10
- <div class="tjs__sec-card-2col--col-start tjs__section-text p-4 p-lg-5 :: col-12 :lg: col-[[layout.cols]]">
10
+ <div class="tjs__sec-card-2col--col-start heading-style-flex :: col-12 :lg: col-[[layout.cols]]">
11
11
  <slot></slot>
12
12
  </div>
13
13
  <div class="tjs__sec-card-2col--col-end image-side :: col-12 :lg: col-[[12 - layout.cols]] ">
14
14
 
15
- <slot class="[[layout.slideshow === true ? 'slideshow' : '']]" data-select=".aside || img, .children > .section-hr.aside" [[layout.slideshow !== true ? 'data-limit="1"' : '' ]]></slot>
15
+ <slot class="[[layout.slideshow === true ? 'slideshow' : '']]" data-select=".aside || .aside-content || img, .children > .section-hr.aside" [[layout.slideshow !== true ? 'data-limit="1"' : '' ]]></slot>
16
16
  </div>
17
17
  </div>
18
18
  </div>
@@ -3,7 +3,7 @@ Joda.registerTemplate("sec-legal-content",
3
3
  // language=HTML
4
4
  `
5
5
 
6
- <section class="tjs__sec-legal-content :: mobile :lg:">
6
+ <section class="tjs-legal-content :: mobile :lg:">
7
7
  <div class="out-wrapper">
8
8
  <div class="container p-0">
9
9
  <div class="inner-wrapper :: p-4 :lg: p-5">
@@ -20,7 +20,7 @@ Joda.registerTemplate("sec-multi-card",
20
20
  `
21
21
 
22
22
  <section class="tjs__sec-multi-card">
23
- <div class="container header" style="--joda-on-empty-class: d-none;">
23
+ <div class="container header heading-style-default" style="--joda-on-empty-class: d-none;">
24
24
  <slot class="tjs__section-text" data-select=":scope > .content"></slot>
25
25
  </div>
26
26
  <div class="container">
@@ -3,21 +3,17 @@ Joda.registerTemplate("sec-testimonial-ribbon",
3
3
  // language=HTML
4
4
  `
5
5
 
6
- <div class="tjs__sec-testimonial-ribbon :: mobile :lg:">
7
- <div class="tjs__sec-testimonial-ribbon--wrapper">
8
- <div class="tjs__sec-testimonial-ribbon--container [[layout.container]] :: :xl: mt-0">
9
- <div class="row">
10
- <div class="col-lg-3 image-round mx-auto :: :xl: my-auto">
11
- <div class="ratio ratio-1x1">
12
- <slot data-select="img" data-replace=""></slot>
13
- </div>
6
+ <div class="tjs-testimonial-ribbon :: mobile :lg:">
7
+ <div class="x--wrapper">
8
+ <div class="x--container [[layout.container]] :: :xl:">
14
9
 
10
+ <div class="x--row">
11
+ <div class="x--image">
12
+ <slot class="" data-select="img"></slot>
15
13
  </div>
16
- <div class="col-lg-9 text-format :: :lg: my-auto">
17
- <slot></slot>
18
- </div>
19
14
 
20
- </div>
15
+ <slot class="x--text"></slot>
16
+
21
17
  </div>
22
18
  </div>
23
19
  </div>
@@ -1,5 +1,6 @@
1
1
  import "./navbar-blox/navbar-blox";
2
2
  import "./navbar-centerlogo/navbar-centerlogo";
3
+ import "./navbar-switch2/navbar-switch2";
3
4
  import "./sec-legal-content/sec-legal-content";
4
5
  import "./sec-testimonial-ribbon/sec-testimonial-ribbon";
5
6
  import "./sec-card-2col/sec-card-2col";
@@ -13,3 +14,4 @@ import "./hero-title-small/hero-title-small";
13
14
  import "./cta-form/cta-form";
14
15
  import "./image-gallery1/image-gallery1";
15
16
  import "./infobox/infobox";
17
+ import "./subheader/subheader";
@@ -1,5 +1,6 @@
1
1
  import "./navbar-blox/navbar-blox";
2
2
  import "./navbar-centerlogo/navbar-centerlogo";
3
+ import "./navbar-switch2/navbar-switch2";
3
4
  import "./sec-legal-content/sec-legal-content";
4
5
  import "./sec-testimonial-ribbon/sec-testimonial-ribbon";
5
6
  import "./sec-card-2col/sec-card-2col";
@@ -13,3 +14,4 @@ import "./hero-title-small/hero-title-small";
13
14
  import "./cta-form/cta-form";
14
15
  import "./image-gallery1/image-gallery1";
15
16
  import "./infobox/infobox";
17
+ import "./subheader/subheader";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import { Joda } from "@leuffen/jodastyle";
2
+ Joda.registerTemplate("subheader",
3
+ // language=HTML
4
+ `
5
+
6
+ <div class="tjs-subheader">
7
+ <div class="x-wrapper [[layout.container]]">
8
+ <div class="x-inner">
9
+ <slot></slot>
10
+ </div>
11
+ </div>
12
+ </div>
13
+ `, {
14
+ container: "container"
15
+ });
@@ -15,3 +15,7 @@
15
15
  .bg-soft-dark {
16
16
  background-color: $soft-dark !important;
17
17
  }
18
+
19
+ .bg-accent {
20
+ background-color: $accent !important;
21
+ }
@@ -0,0 +1,39 @@
1
+
2
+
3
+ ul.image-list {
4
+ --layout-columns: 3;
5
+ --layout-image-height: 64px;
6
+ --layout-min-width: 200px;
7
+
8
+ display: flex;
9
+ flex-direction: row;
10
+
11
+ flex-wrap: wrap;
12
+ padding-left: 0;
13
+
14
+ list-style: none;
15
+ &>li {
16
+ padding: 10px;
17
+ min-width: var(--layout-min-width);
18
+
19
+ flex: 1 1 calc(100% / var(--layout-columns));
20
+
21
+ // Center text vertically
22
+ display: flex;
23
+ align-items: center;
24
+ img {
25
+ height: var(--layout-image-height);
26
+ width: var(--layout-image-height);
27
+ border-radius: 100%;
28
+ padding: 4px;
29
+ border: 1px solid #ccc;
30
+ background-color: white;
31
+ object-fit: cover;
32
+ float: left;
33
+ margin-right: 10px;
34
+ }
35
+
36
+ }
37
+
38
+
39
+ }
@@ -5,3 +5,4 @@
5
5
  @import "hero-slide/hero-slide";
6
6
  @import "button-group/button-group";
7
7
  @import "text-format";
8
+ @import "image-list";
@@ -6,7 +6,7 @@
6
6
  --layout-text-shadow: 0 0 2px rgba(255, 255, 255, 1);
7
7
  --layout-align-self: center;
8
8
  --layout-justify-self: center;
9
- --layout-cols: 6;
9
+ --layout-cols: 12;
10
10
 
11
11
  --layout-y-adjust: 25%;
12
12
  --layout-x-adjust: 25%;
@@ -35,6 +35,10 @@
35
35
  }
36
36
  &.mobile {
37
37
  width: 100%;
38
+
39
+ .btn {
40
+ width: 100%;
41
+ }
38
42
  }
39
43
 
40
44
 
@@ -4,7 +4,7 @@ Joda.registerTemplate("hero-slide",
4
4
  // language=HTML
5
5
  `
6
6
 
7
- <article class="hero-slide :: mobile :xl: desktop">
7
+ <article class="hero-slide :: mobile :lg: desktop">
8
8
  <slot></slot>
9
9
  </article>
10
10
 
@@ -3,7 +3,7 @@
3
3
  @import "../themes/_vendor/font-cinzel";
4
4
 
5
5
  $font-family-base: 'Open Sans', sans-serif;
6
- $font-size-base: 1rem !default;
6
+ //$font-size-base: 1rem !default;
7
7
 
8
8
  $font-family-header: 'Cinzel', serif !default;
9
- $font-size-header: 1.8rem !default;
9
+ //$font-size-header: 1.8rem !default;
package/package.json CHANGED
@@ -1,15 +1,14 @@
1
1
  {
2
2
  "name": "@leuffen/themejs1",
3
- "version": "7.0.2",
4
-
3
+ "version": "8.0.2",
5
4
  "description": "",
6
5
  "license": "proprietary",
7
6
  "main": "./dist/index.js",
8
7
  "module": "./dist/index.js",
9
8
  "exports": {
10
- ".": [
9
+ ".": [
11
10
  "./dist/index.js",
12
- "./index.ts",
11
+ "./index.ts",
13
12
  "./index.scss"
14
13
  ],
15
14
  "./index": [
@@ -18,9 +17,9 @@
18
17
  "./index.scss"
19
18
  ],
20
19
  "./embed": [
21
- "./dist/embed.js",
22
- "./embed.ts",
23
- "./embed.scss"
20
+ "./dist/embed.js",
21
+ "./embed.ts",
22
+ "./embed.scss"
24
23
  ],
25
24
  "./index.dev": [
26
25
  "./dist/index.dev.js"
@@ -31,6 +30,7 @@
31
30
  "./theme1": [
32
31
  "./theme1.scss"
33
32
  ],
33
+ "./themes/": "./themes/",
34
34
  "./font/": "./font/"
35
35
  },
36
36
  "directories": {
@@ -47,32 +47,29 @@
47
47
  "/elements",
48
48
  "/sections",
49
49
  "/_tpl",
50
- "*.scss"
50
+ "*.scss",
51
+ "*.json"
51
52
  ],
52
53
  "workspaces": [
53
54
  "workspaces/*"
54
55
  ],
55
56
  "author": "",
56
57
  "dependencies": {
57
- "@leuffen/jodastyle": "^3.1.2",
58
58
  "@kasimirjs/embed": "^1.0.23",
59
+ "@kasimirjs/kit-bootstrap": "^1.0.4",
59
60
  "@leuffen/isl-base": "^3.0.7",
61
+ "@leuffen/jodastyle": "^3.1.2",
60
62
  "@leuffen/liscom": "^2.0.10",
61
- "@leuffen/liscom-loader": "^1.0.9",
63
+ "@leuffen/liscom-loader": "^1.1.10",
62
64
  "@leuffen/liweco-base": "^2.0.3",
63
65
  "@micx/lib-js": "^1.0.22",
64
- "bootstrap": "^5.3.0"
65
-
66
-
67
-
68
- },
69
- "devDependencies": {
70
- "@kasimirjs/kit-bootstrap": "^1.0.4",
71
- "markdown-it": "^13.0.1",
72
- "markdown-it-attrs": "^4.1.6",
66
+ "@types/node": "^20.12.12",
67
+ "bootstrap": "^5.3.0",
73
68
  "css-loader": "^6.7.1",
74
69
  "dart-sass": "^1.25.0",
75
70
  "esbuild-loader": "^2.20.0",
71
+ "markdown-it": "^13.0.1",
72
+ "markdown-it-attrs": "^4.1.6",
76
73
  "mini-css-extract-plugin": "^2.6.1",
77
74
  "raw-loader": "^4.0.2",
78
75
  "sass": "^1.56.1",
@@ -86,5 +83,10 @@
86
83
  "make.mjs": "tsc -d",
87
84
  "build": "npm run make.mjs",
88
85
  "test": "echo \"Error: no test specified\" && exit 1"
86
+ },
87
+ "devDependencies": {
88
+ "ts-node": "^10.9.2",
89
+ "tsx": "^4.10.3",
90
+ "typescript": "^5.4.5"
89
91
  }
90
92
  }
@@ -1,41 +1,12 @@
1
- :root {
2
- --t-background: #{$background};
3
- --t-background-footer: #{$background-footer};
4
- --t-section-background: transparent;
5
- --t-section-background-accent: #{$background-accent};
6
- --t-section-background-primary: #{$soft-primary};
7
1
 
8
2
 
9
- --t-font-family-base: #{$font-family-base};
10
- --t-font-family-header: #{$font-family-header};
11
3
 
4
+ section:last-child {
5
+ padding-bottom: 0;
6
+ }
12
7
 
13
-
14
- --t-section-border-color: #{$section-border-color};
15
- --t-section-border-radius: #{$section-border-radius};
16
-
17
- --t-text-background: #fff;
18
- --t-text-color: #707070;
19
- --t-text-background-light: var(--t-background);
20
- --t-text-color-accent: var(--bs-gray-900);
21
- --t-text-color-primary: var(--bs-primary);
22
- --t-header-text-transform: #{$header-text-transform};
23
-
24
- --t-border-color: #{$border-color};
25
- --t-navbar-height: 88px;
26
-
27
- /* What to substract from 100vh to start the next elemment after fullsize header */
28
- --t-fullsize-modifier: #{$hero-fullsize-modifier};
29
-
30
- --t-header-margin: 0 0 20px 0;
31
- --t-paragraf-margin: 0 0 20px 0;
32
-
33
- --t-section-padding: 40px 0;
34
- --t-section-inner-padding: 3rem;
35
-
36
- --t-accent: #{$accent};
37
- --t-primary: #{$primary};
38
- --t-soft-primary: #{$soft-primary};
39
- --t-soft-accent: #{$soft-accent};
40
-
8
+ div.content {
9
+ &>p:last-child {
10
+ margin-bottom: 0;
11
+ }
41
12
  }