@leuffen/themejs1 5.0.5 → 5.0.8

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 (67) hide show
  1. package/_tpl/_root/docs/_data/defaults.yaml +3 -1
  2. package/_tpl/_root/docs/_includes/el/address.html +1 -1
  3. package/_tpl/_root/docs/_layouts/0_blanc.html +6 -6
  4. package/_variables.scss +0 -1
  5. package/dist/elements/e-form/e-form.js +10 -0
  6. package/dist/elements/elements.d.ts +1 -0
  7. package/dist/elements/elements.js +17 -0
  8. package/dist/embed.d.ts +1 -0
  9. package/dist/embed.js +4 -0
  10. package/dist/index.d.ts +5 -0
  11. package/dist/index.dev.d.ts +4 -0
  12. package/dist/index.dev.js +6 -0
  13. package/dist/index.js +21 -0
  14. package/dist/index.module.js +7 -0
  15. package/dist/sections/cta-base/cta-base.d.ts +1 -0
  16. package/dist/sections/cta-base/cta-base.js +13 -0
  17. package/dist/sections/cta-form/cta-form.d.ts +1 -0
  18. package/dist/sections/cta-form/cta-form.js +23 -0
  19. package/dist/sections/footer-base/footer-base.d.ts +1 -0
  20. package/dist/sections/footer-base/footer-base.js +18 -0
  21. package/dist/sections/hero-max/hero-max.d.ts +1 -0
  22. package/dist/sections/hero-max/hero-max.js +22 -0
  23. package/dist/sections/hero-ribbon/hero-ribbon.d.ts +1 -0
  24. package/dist/sections/hero-ribbon/hero-ribbon.js +21 -0
  25. package/dist/sections/hero-title-small/hero-title-small.d.ts +1 -0
  26. package/dist/sections/hero-title-small/hero-title-small.js +15 -0
  27. package/dist/sections/image-gallery1/image-gallery1.d.ts +1 -0
  28. package/dist/sections/image-gallery1/image-gallery1.js +20 -0
  29. package/dist/sections/navbar-blox/navbar-blox.d.ts +1 -0
  30. package/dist/sections/navbar-blox/navbar-blox.js +54 -0
  31. package/dist/sections/sec-card-2col/sec-card-2col.d.ts +1 -0
  32. package/dist/sections/sec-card-2col/sec-card-2col.js +23 -0
  33. package/dist/sections/sec-card-feature/sec-card-feature.d.ts +1 -0
  34. package/dist/sections/sec-card-feature/sec-card-feature.js +22 -0
  35. package/dist/sections/sec-legal-content/sec-legal-content.d.ts +1 -0
  36. package/dist/sections/sec-legal-content/sec-legal-content.js +21 -0
  37. package/dist/sections/sec-multi-card/sec-multi-card.d.ts +1 -0
  38. package/dist/sections/sec-multi-card/sec-multi-card.js +32 -0
  39. package/dist/sections/sec-testimonial-ribbon/sec-testimonial-ribbon.d.ts +1 -0
  40. package/dist/sections/sec-testimonial-ribbon/sec-testimonial-ribbon.js +26 -0
  41. package/dist/sections/sections.d.ts +13 -0
  42. package/dist/sections/sections.js +15 -0
  43. package/dist/themes/theme1/theme1.dev.d.ts +1 -0
  44. package/dist/themes/theme1/theme1.dev.js +120 -0
  45. package/dist/webpack.config.d.ts +55 -0
  46. package/dist/webpack.config.js +71 -0
  47. package/embed.scss +2 -1
  48. package/embed.ts +1 -1
  49. package/package.json +4 -3
  50. package/sections/_defaults.scss +2 -1
  51. package/sections/hero-max/hero-max.scss +5 -0
  52. package/sections/sec-multi-card/sec-multi-card.ts +4 -4
  53. package/themes/_mixins/default-element-format.scss +1 -1
  54. package/dist/core/templates.d.ts +0 -0
  55. package/dist/core/templates.js +0 -0
  56. package/dist/helper/loader.d.ts +0 -1
  57. package/dist/helper/loader.js +0 -25
  58. package/dist/helper/mouse-to-css.js +0 -20
  59. package/dist/hit-index.d.ts +0 -1
  60. package/dist/hit-index.js +0 -11
  61. package/src/core/templates.ts +0 -3
  62. package/src/default/loader.scss +0 -98
  63. package/src/helper/loader.ts +0 -27
  64. package/src/helper/mouse-to-css.ts +0 -11
  65. package/src/hit-index.ts +0 -8
  66. package/src/index.ts +0 -3
  67. /package/dist/{helper/mouse-to-css.d.ts → elements/e-form/e-form.d.ts} +0 -0
@@ -4,7 +4,9 @@ footer_leuffen_logo_url: https://leuffen.de/assets/leuffen-logo-white.svg
4
4
  footer_leuffen_logo_alt: "Webdesign & Websites für Ärzte und Arztpraxen von leuffen.de"
5
5
  footer_leuffen_logo_href: https://leuffen.de
6
6
 
7
- footer_leuffen_text: Webdesign für Arztpraxen
7
+ footer_leuffen_text: Webdesign für Ärzte
8
8
  footer_leuffen_text_href: https://med.leuffen.de
9
9
 
10
10
 
11
+ logo256: /assets/logo256.jpg
12
+ logo256_type: image/jpeg
@@ -1,5 +1,5 @@
1
1
  {{ site.data.general.name}}<br>
2
- {% if site.data.general.name2 != null %}{{site.data.general.name2}}<br>{% endif %}
2
+ {%- if site.data.general.name2 != null -%}{{site.data.general.name2}}<br>{%- endif -%}
3
3
  {{ site.data.general.street }} <br>
4
4
  {{ site.data.general.zip }} {{ site.data.general.city }}<br><br>
5
5
  <span>{% include do/trans.html val="Telefon" %}:</span> <b><a href="tel:{{site.data.general.phone1}}" title="Telefon" class="text-decoration-none">{{site.data.general.phone1_text}}</a></b><br>
@@ -25,15 +25,15 @@ layout: null
25
25
  <meta property="og:title" content="{% if page.type != 'website' %}{{ page.title | strip_html | escape }}} - {%endif%}{{ site.data.general.title }}">
26
26
  <meta property="og:description" content="{{ page.description | strip_html | strip_newlines | escape | replace: " ", " " | replace: " ", " " | replace: " ", " " | lstrip }}">
27
27
 
28
- <meta property="og:image" itemprop="image" content="{{ site.data.style.logo256 }}">
29
- <meta property="og:image:type" content="image/png">
30
- <meta property="og:image:width" content="200">
31
- <meta property="og:image:height" content="200">
28
+ <meta property="og:image" itemprop="image" content="{{ site.data.defaults.logo256 }}">
29
+ <meta property="og:image:type" content="{{ site.data.defaults.logo256_type}}">
30
+ <meta property="og:image:width" content="256">
31
+ <meta property="og:image:height" content="256">
32
32
 
33
33
  <meta name="twitter:card" content="summary_large_image">
34
34
  <meta name="twitter:title" content="{{ page.title | strip_html }}">
35
35
  <meta name="twitter:description" content="{{ page.description | strip_html | strip_newlines | escape }}">
36
- <meta name="twitter:image" content="{{ site.data.style.logo256 }}">
36
+ <meta name="twitter:image" content="{{ site.data.defaults.logo256 }}">
37
37
 
38
38
  {% if page.type != 'website' %}
39
39
  <meta property="article:author" content="{{ site.data.general.title }}">
@@ -44,7 +44,7 @@ layout: null
44
44
  <link rel="dns-prefetch" href="https://cdn.leuffen.de">
45
45
  <link rel="preconnect" href="https://cdn.leuffen.de">
46
46
 
47
- <link rel="icon" href="/assets/logo.png" />
47
+ <link rel="icon" href="/assets/logo1x1.png" />
48
48
  <script>
49
49
  window.lang = '{{ page.lang }}';
50
50
  window.pid = '{{ page.pid }}'
package/_variables.scss CHANGED
@@ -43,4 +43,3 @@ $text-dark: #fff !default;
43
43
  $border-color: #999 !default;
44
44
 
45
45
  $header-text-transform: uppercase !default;
46
-
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("e-form",
5
+ // language=HTML
6
+ `
7
+ <form class="tjs__e-form" data-micx-formmail-preset="default" data-micx-formmail-sent-message="E-Mail erfolgreich gesendet!">
8
+ <slot></slot>
9
+ </form>
10
+ `);
@@ -0,0 +1 @@
1
+ export * from "./e-form/e-form";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./e-form/e-form"), exports);
@@ -0,0 +1 @@
1
+ export {};
package/dist/embed.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const liscom_loader_1 = require("@leuffen/liscom-loader");
4
+ (0, liscom_loader_1.initLoader)();
package/dist/index.d.ts CHANGED
@@ -1 +1,6 @@
1
+ export * from "./sections/sections";
2
+ export * from "./elements/elements";
3
+ export * from "@leuffen/isl-base";
1
4
  import "@leuffen/jodastyle";
5
+ import "@leuffen/liweco-base";
6
+ import "@leuffen/liscom";
@@ -0,0 +1,4 @@
1
+ import "./theme1.scss";
2
+ import "./src.dev/dev.scss";
3
+ import "./themes/theme1/theme1.dev";
4
+ import "@micx/lib-js";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("./theme1.scss");
4
+ require("./src.dev/dev.scss");
5
+ require("./themes/theme1/theme1.dev");
6
+ require("@micx/lib-js");
package/dist/index.js CHANGED
@@ -1,3 +1,24 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ const liscom_1 = require("@leuffen/liscom");
18
+ __exportStar(require("./sections/sections"), exports);
19
+ __exportStar(require("./elements/elements"), exports);
20
+ __exportStar(require("@leuffen/isl-base"), exports);
3
21
  require("@leuffen/jodastyle");
22
+ require("@leuffen/liweco-base");
23
+ require("@leuffen/liscom");
24
+ (0, liscom_1.liscom_enable)();
@@ -1 +1,8 @@
1
+ import { liscom_enable } from "@leuffen/liscom";
2
+ export * from "./sections/sections";
3
+ export * from "./elements/elements";
4
+ export * from "@leuffen/isl-base";
1
5
  import "@leuffen/jodastyle";
6
+ import "@leuffen/liweco-base";
7
+ import "@leuffen/liscom";
8
+ liscom_enable();
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("cta-base",
5
+ // language=HTML
6
+ `
7
+
8
+ <section class="tjs__cta-base">
9
+ <div class="[[layout.container]]">
10
+ <slot></slot>
11
+ </div>
12
+ </section>
13
+ `);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("cta-form",
5
+ // language=HTML
6
+ `
7
+ <section class="tjs__cta-form">
8
+ <form data-micx-formmail-preset="default" data-micx-formmail-sent-message="E-Mail erfolgreich gesendet!">
9
+ <div class="container">
10
+ <slot data-select=":scope h2"></slot>
11
+ </div>
12
+ <div class="wrapper">
13
+ <div class="container">
14
+ <div class="row g-3">
15
+ <slot data-select=".section-hr" data-replace=""></slot>
16
+
17
+ </div>
18
+ </div>
19
+ </div>
20
+
21
+ </form>
22
+ </section>
23
+ `);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("footer-base",
5
+ // language=HTML
6
+ `
7
+
8
+ <footer class="tjs__footer-base [[layout.class]]">
9
+ <div class="[[layout.container]] h-100">
10
+ <div class="row">
11
+ <slot data-select=".section-h3 > .content" data-child-class=":: col-12 :xl: col"></slot>
12
+ </div>
13
+ </div>
14
+ <div class="subfooter">
15
+ <slot data-select="#minifooter"></slot>
16
+ </div>
17
+ </footer>
18
+ `);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("hero-max",
5
+ // language=HTML
6
+ `
7
+
8
+ <section class="tjs__hero-max [[layout.class]] [[layout.autoheight === false ? '' : 'tjs__hero-max--autoheight' ]] :: mobile :lg: desktop">
9
+ <slot data-select="img.background, :scope>.content>p.background>img" class="slideshow"></slot>
10
+ <div class="tjs__hero-max--out-wrapper ">
11
+ <div class="tjs__hero-max--container [[layout.container]]">
12
+ <div class="tjs__hero-max--inner-wrapper">
13
+ <div class="tjs__hero-max--section-text">
14
+ <slot></slot>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ </div>
20
+ </section>
21
+
22
+ `);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("hero-ribbon",
5
+ // language=HTML
6
+ `
7
+
8
+ <div class="tjs__hero-ribbon">
9
+ <slot data-select="h2" class="d-none"></slot>
10
+ <div class="tjs__hero-ribbon--wrapper">
11
+ <div class="tjs__hero-ribbon--container [[layout.container]]">
12
+ <div class="row ">
13
+
14
+ <slot data-select=".section-h3 > .content"></slot>
15
+
16
+ </div>
17
+ </div>
18
+ </div>
19
+
20
+ </div>
21
+ `);
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("hero-title-small",
5
+ // language=HTML
6
+ `
7
+
8
+ <div class="tjs__hero-title-small">
9
+ <div class="imagewrapper">
10
+ <slot data-select="img, .top"></slot>
11
+ </div>
12
+
13
+ <slot></slot>
14
+ </div>
15
+ `);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("image-gallery1__images-image",
5
+ // language=HTML
6
+ `
7
+
8
+ <slot class="tjs-image-gallery1__images-image" data-select="img"></slot>
9
+
10
+ `);
11
+ jodastyle_1.Joda.registerTemplate("image-gallery1",
12
+ // language=HTML
13
+ `
14
+
15
+ <section class="tjs-image-gallery1 container :: mobile :lg: desktop">
16
+ <slot class="tjs-image-gallery1__header"></slot>
17
+ <slot class="tjs-image-gallery1__images" data-select="ul > li" data-child-layout="use: #image-gallery1__images-image"></slot>
18
+ </section>
19
+
20
+ `);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("navbar-blox",
5
+ // language=HTML
6
+ `
7
+
8
+ <div class="tjs__navbar-blox">
9
+ <div class="wrapper">
10
+ <div class="firstline">
11
+ <div class="tjs__content [[ layout.container ]]">
12
+ <slot data-select=".brand" data-copy data-replace></slot>
13
+ </div>
14
+ </div>
15
+
16
+ <div class="secondline" style="box-shadow: 0px 1px 2px #00000029;background: white">
17
+ <div class="tjs__main-container [[ layout.container ]]">
18
+ <div class="tjs__row1">
19
+
20
+
21
+ <div class="tjs__logo :: mobile :md: " href="/" aria-label="Home">
22
+ <slot data-select=".brand" data-replace></slot>
23
+ </div>
24
+
25
+
26
+
27
+ <div class="tjs__row2">
28
+ <div class="tjs__nav-main" >
29
+
30
+ <slot data-select=".nav-bar-main" data-replace></slot>
31
+
32
+ </div>
33
+
34
+
35
+ <div class="tjs__hamburger">
36
+ <div class="use-hamburger :: justify-content-center :lg: text-start"
37
+ style="display: flex; padding-right:20px; align-items: center; justify-content: right; height:100%;width:100%"></div>
38
+ </div>
39
+ </div>
40
+
41
+
42
+ </div>
43
+ <div class="sidenav-positioner">
44
+ <div class="sidenav">
45
+ <slot data-select=".nav-menu"></slot>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+
51
+ </div>
52
+
53
+ </div>
54
+ `);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("sec-card-2col",
5
+ // language=HTML
6
+ `
7
+
8
+ <section class="tjs__sec-card-2col :: mobile :lg: desktop">
9
+ <div class="tjs__sec-card-2col--container [[layout.container]]">
10
+ <div class="row [[layout.order === 'reverse' ? 'flex-row-reverse': '']] [[layout.mobile_reverse === 'yes' ? ':: flex-row-reverse :lg:': '']]">
11
+ <div class="tjs__sec-card-2col--col-start tjs__section-text p-4 p-lg-5 :: col-12 :lg: col-[[layout.cols]]">
12
+ <slot></slot>
13
+ </div>
14
+ <div class="tjs__sec-card-2col--col-end image-side :: col-12 :lg: col-[[12 - layout.cols]] ">
15
+
16
+ <slot class="[[layout.slideshow === true ? 'slideshow' : '']]" data-select="img, .children > .section-hr.aside, .aside" [[layout.slideshow !== true ? 'data-limit="1"' : '' ]]></slot>
17
+ </div>
18
+ </div>
19
+ </div>
20
+ </section>
21
+ `, {
22
+ cols: 6,
23
+ });
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("sec-card-feature",
5
+ // language=HTML
6
+ `
7
+ <div class="tjs__sec-card-feature [[layout.class]]">
8
+ <div class="container">
9
+ <div class="header_image">
10
+ <slot data-select=":scope > .content img, map" data-replace data-limit="1"></slot>
11
+ </div>
12
+ <div class="row">
13
+ <div class="col-12 col-lg-6 text-format p-4 p-lg-5 tjs__section-text">
14
+ <slot></slot>
15
+ </div>
16
+ <div class="col-12 col-lg-6 text-format p-4 p-lg-5">
17
+ <slot data-select=":scope > .children"></slot>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ `);
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("sec-legal-content",
5
+ // language=HTML
6
+ `
7
+
8
+ <section class="tjs__sec-legal-content :: mobile :lg:">
9
+ <div class="out-wrapper">
10
+ <div class="container p-0">
11
+ <div class="inner-wrapper :: p-4 :lg: p-5">
12
+ <div class="tjs__section-text">
13
+ <slot></slot>
14
+ </div>
15
+ </div>
16
+ </div>
17
+ </div>
18
+
19
+ </div>
20
+ </section>
21
+ `);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("sec-multi-card__item",
5
+ // language=HTML
6
+ `
7
+ <div class="col tjs__sec-multi-card__item">
8
+ <div class="wrapper">
9
+
10
+ <slot class="tjs__sec-multi-card__item-img" data-select="img"></slot>
11
+
12
+
13
+ <div class="tjs__sec-multi-card__item__body text-format">
14
+ <slot></slot>
15
+ </div>
16
+ </div>
17
+
18
+ </div>
19
+ `);
20
+ jodastyle_1.Joda.registerTemplate("sec-multi-card",
21
+ // language=HTML
22
+ `
23
+
24
+ <section class="tjs__sec-multi-card">
25
+ <div class="container header" style="--joda-on-empty-class: d-none;">
26
+ <slot class="tjs__section-text" data-select=":scope > .content"></slot>
27
+ </div>
28
+ <div class="container">
29
+ <slot class="row g-3 row-cols-1 row-cols-lg-[[ layout.cols ?? 3 ]]" data-select=":scope > .children > *" data-child-layout="use: #sec-multi-card__item"></slot>
30
+ </div>
31
+ </section>
32
+ `);
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ jodastyle_1.Joda.registerTemplate("sec-testimonial-ribbon",
5
+ // language=HTML
6
+ `
7
+
8
+ <div class="tjs__sec-testimonial-ribbon :: mobile :lg:">
9
+ <div class="tjs__sec-testimonial-ribbon--wrapper">
10
+ <div class="tjs__sec-testimonial-ribbon--container [[layout.container]] :: :xl: mt-0">
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>
16
+
17
+ </div>
18
+ <div class="col-lg-9 text-format :: :lg: my-auto">
19
+ <slot></slot>
20
+ </div>
21
+
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ `);
@@ -0,0 +1,13 @@
1
+ import "./navbar-blox/navbar-blox";
2
+ import "./sec-legal-content/sec-legal-content";
3
+ import "./sec-testimonial-ribbon/sec-testimonial-ribbon";
4
+ import "./sec-card-2col/sec-card-2col";
5
+ import "./hero-max/hero-max";
6
+ import "./hero-ribbon/hero-ribbon";
7
+ import "./footer-base/footer-base";
8
+ import "./cta-base/cta-base";
9
+ import "./sec-multi-card/sec-multi-card";
10
+ import "./sec-card-feature/sec-card-feature";
11
+ import "./hero-title-small/hero-title-small";
12
+ import "./cta-form/cta-form";
13
+ import "./image-gallery1/image-gallery1";
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("./navbar-blox/navbar-blox");
4
+ require("./sec-legal-content/sec-legal-content");
5
+ require("./sec-testimonial-ribbon/sec-testimonial-ribbon");
6
+ require("./sec-card-2col/sec-card-2col");
7
+ require("./hero-max/hero-max");
8
+ require("./hero-ribbon/hero-ribbon");
9
+ require("./footer-base/footer-base");
10
+ require("./cta-base/cta-base");
11
+ require("./sec-multi-card/sec-multi-card");
12
+ require("./sec-card-feature/sec-card-feature");
13
+ require("./hero-title-small/hero-title-small");
14
+ require("./cta-form/cta-form");
15
+ require("./image-gallery1/image-gallery1");
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jodastyle_1 = require("@leuffen/jodastyle");
4
+ let html = `
5
+
6
+ <nav layout="use: #navbar-blox">
7
+ <div class="brand">Logo</div>
8
+ <ul class="nav-bar-main">
9
+ <li><a href="#home">Hello World</a></li>
10
+ </ul>
11
+ <ul class="nav-menu">
12
+ <li><a href="#home">Home</a></li>
13
+ </ul>
14
+ </ul>
15
+ </nav>
16
+
17
+ # Willkommen bei <br>Dr. med. XXX XXX
18
+ {: layout="use: #hero-max"}
19
+
20
+
21
+ ![Neuronen Hintergrundbild](https://cdn.leuffen.de//leu-stock/v2/7/121-46_gfedcba/AdobeStock_354842358.webp)
22
+
23
+ Facharzt für Neurologie <br> Facharzt für Psychiatrie
24
+
25
+
26
+ ## Hero Section
27
+ {: layout="use: #hero-ribbon"}
28
+
29
+
30
+
31
+
32
+ ### Notfall?
33
+
34
+ Sie erreichen den ärztlichen Notdienst unter der Telefon-Nr: [116 117](tel:+49116117)
35
+
36
+ ### Termine & Rezeptabholung
37
+
38
+ Wir sind eine **Terminpraxis**. Für Terminvergaben, Anfragen und Rezeptabholungen beachten Sie bitte
39
+ die Öffnungszeiten des Empfangs.
40
+
41
+ ### Öffnungszeiten Empfang
42
+
43
+ {% include el/openhours.html %}
44
+
45
+
46
+ ## Über mich
47
+ {: layout="use: #sec-card-2col"}
48
+
49
+ > Dr. med. X. Kelloggs
50
+
51
+ ![Bild Dr. med. XXX Kelloggs](https://cdn.leuffen.de//leu-stock/v2/26/c_gfedcba/AdobeStock_172186647.webp){: style="padding: 4rem"}
52
+
53
+ ### Werdegang
54
+
55
+ Berufstätigkeit in der Neurologie, Psychiatrie, Inneren Medizin und Orthopädie.
56
+
57
+ Zuletzt klinisch tätig als Oberarzt einer neurologischen Rehaklinik. Seit 2001 tätig als niedergelassener Neurologe
58
+ und Psychiater.
59
+
60
+ Focus Empfehlung: 2017, 2018, 2019
61
+
62
+
63
+
64
+ ## Medizinischer Schwerpunkt
65
+ {: layout="use: #sec-multi-card; cols:2"}
66
+
67
+ ### Neurologie
68
+
69
+ Interessengebiete:
70
+
71
+ - Schlaganfall und Arteriosklerose
72
+ - Parkinsonerkrankung
73
+ - Gedächtnisstörung
74
+ - Prävention und Ernährungsmedizin bei neurologischen Erkrankungen
75
+
76
+ *Bitte beachten: Bei speziellen Medikamenten für Multiple Sklerose und Myasthenie wenden Sie sich bitte an ein
77
+ spezialisiertes neurologisches Zentrum.*
78
+
79
+ Apparative Untersuchungen:
80
+
81
+ - Farbduplexsonographie der hirnversorgenden Halsgefäße
82
+ - Messung der Nervenleitgeschwindigkeit bei Verdacht auf Karpaltunnelsyndrom, Polyneuropathie und Ulnaris-Neuropathie
83
+
84
+ Beispiele für häufigere Beschwerden: Schwäche und Lähmung. Taubheit und Missempfindungen. Schwindel,
85
+ Gleichgewichtsstörungen und Gangstörungen. Bewusstseinsstörung. Zittern. Kopfschmerzen und sonstige Schmerzen. Änderung des
86
+ Denkvermögens und der Sprache.
87
+
88
+
89
+ ### Psychiatrie
90
+
91
+ - Psychiatrische Diagnostik und Behandlung
92
+ - Interessengebiet: Prävention und Ernährungsmedizin bei psychischen Erkrankungen
93
+
94
+ Beispiele für häufigere Beschwerden: Anspannung, Unruhe, Reizbarkeit, aufdrängende Gedanken, Grübeln,
95
+ Vermeidung, Ängste, Panikanfälle. Vegetative Beschwerden wie Herzklopfen, Atembeschwerden, Schwitzen, Schwindel, usw. Schlafstörungen.
96
+ Änderung der Stimmung, des Antriebs, des Denkvermögens, der Wahrnehmung und des Verhaltens.
97
+
98
+ ---
99
+ {: .hr}
100
+
101
+ Bei Vorliegen einer Notlage und akuter Beschwerden: wenden Sie sich bitte direkt an die Aufnahme einer
102
+ Klinik. Empfehlung für weitere Informationen: [www.neurologen-und-psychiater-im-netz.org](https://www.neurologen-und-psychiater-im-netz.org)
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ ## Kontakt aufnehmen
112
+ {: layout="use: #cta-base"}
113
+
114
+ [Kontakt](/kontakt)
115
+
116
+
117
+ `;
118
+ jodastyle_1.JodaDescriptionManager.addClass("page", "theme1", "theme1", html, [], {
119
+ bodyClasses: ["theme1"]
120
+ });
@@ -0,0 +1,55 @@
1
+ import MiniCssExtractPlugin = require("mini-css-extract-plugin");
2
+ export let entry: {
3
+ 'assets/dist/style': string;
4
+ 'assets/dist/index': string;
5
+ };
6
+ export let cache: boolean;
7
+ export namespace module {
8
+ let rules: ({
9
+ test: RegExp;
10
+ use: {
11
+ loader: string;
12
+ options: {
13
+ loader: string;
14
+ };
15
+ }[];
16
+ include: string[];
17
+ enforce?: undefined;
18
+ loader?: undefined;
19
+ } | {
20
+ enforce: string;
21
+ test: RegExp;
22
+ loader: string;
23
+ use?: undefined;
24
+ include?: undefined;
25
+ } | {
26
+ test: RegExp;
27
+ use: (string | {
28
+ loader: string;
29
+ options: {
30
+ url: boolean;
31
+ };
32
+ })[];
33
+ include: string;
34
+ enforce?: undefined;
35
+ loader?: undefined;
36
+ })[];
37
+ }
38
+ export namespace resolve {
39
+ let extensions: string[];
40
+ }
41
+ export let devtool: string;
42
+ export let mode: string;
43
+ export namespace devServer {
44
+ export namespace _static {
45
+ let directory: string;
46
+ }
47
+ export { _static as static };
48
+ export let compress: boolean;
49
+ export let port: number;
50
+ }
51
+ export let plugins: MiniCssExtractPlugin[];
52
+ export namespace output {
53
+ let filename: string;
54
+ let path: string;
55
+ }
@@ -0,0 +1,71 @@
1
+ const path = require('path');
2
+ const MiniCssExtractPlugin = require("mini-css-extract-plugin");
3
+ module.exports = {
4
+ entry: {
5
+ 'assets/dist/style': './demo_styles.scss',
6
+ 'assets/dist/index': './src.dev/index-dev.ts'
7
+ },
8
+ cache: true,
9
+ module: {
10
+ rules: [
11
+ {
12
+ test: /\.tsx?$/,
13
+ use: [
14
+ {
15
+ loader: 'esbuild-loader',
16
+ options: {
17
+ loader: "ts",
18
+ }
19
+ }
20
+ ],
21
+ include: [
22
+ path.resolve(__dirname, "src"),
23
+ path.resolve(__dirname, "workspaces"),
24
+ path.resolve(__dirname, "theme")
25
+ ]
26
+ },
27
+ {
28
+ enforce: 'pre',
29
+ test: /\.html$/,
30
+ loader: 'raw-loader',
31
+ },
32
+ {
33
+ test: /\.(scss|css)$/,
34
+ use: [
35
+ MiniCssExtractPlugin.loader,
36
+ {
37
+ loader: 'css-loader',
38
+ options: {
39
+ url: false // don't complain about url() in css
40
+ }
41
+ }, 'sass-loader'
42
+ ],
43
+ include: path.resolve(__dirname, "")
44
+ },
45
+ ],
46
+ },
47
+ resolve: {
48
+ extensions: ['.tsx', '.ts', '.js'],
49
+ },
50
+ devtool: 'source-map',
51
+ mode: "development",
52
+ devServer: {
53
+ static: {
54
+ directory: path.join(__dirname, 'docs'),
55
+ },
56
+ compress: true,
57
+ port: 4000,
58
+ },
59
+ plugins: [
60
+ new MiniCssExtractPlugin({
61
+ // Options similar to the same options in webpackOptions.output
62
+ // both options are optional
63
+ filename: "[name].css",
64
+ chunkFilename: "[id].css",
65
+ }),
66
+ ],
67
+ output: {
68
+ filename: '[name].js',
69
+ path: path.resolve(__dirname, 'docs/'),
70
+ },
71
+ };
package/embed.scss CHANGED
@@ -1,2 +1,3 @@
1
- @import "src/default/loader";
1
+
2
+ @import "@leuffen/liscom-loader";
2
3
 
package/embed.ts CHANGED
@@ -1,3 +1,3 @@
1
- import {initLoader} from "./src/helper/loader";
1
+ import {initLoader} from "@leuffen/liscom-loader";
2
2
 
3
3
  initLoader()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leuffen/themejs1",
3
- "version": "5.0.5",
3
+ "version": "5.0.8",
4
4
 
5
5
  "description": "",
6
6
  "license": "proprietary",
@@ -27,10 +27,11 @@
27
27
  ],
28
28
  "author": "",
29
29
  "dependencies": {
30
- "@leuffen/jodastyle": "^3.0.3",
30
+ "@leuffen/jodastyle": "^3.0.4",
31
31
  "@kasimirjs/embed": "^1.0.8",
32
32
  "@leuffen/isl-base": "^2.0.2",
33
- "@leuffen/liscom": "^2.0.4",
33
+ "@leuffen/liscom": "^2.0.8",
34
+ "@leuffen/liscom-loader": "^1.0.1",
34
35
  "@leuffen/liweco-base": "^2.0.2",
35
36
  "bootstrap": "^5.3.0"
36
37
  },
@@ -13,7 +13,7 @@
13
13
  --t-text-background-light: var(--t-background);
14
14
  --t-text-color-accent: var(--bs-gray-900);
15
15
  --t-text-color-primary: var(--bs-primary);
16
- --t-header-text-transform: var(--header-text-transform);
16
+ --t-header-text-transform: #{$header-text-transform};
17
17
 
18
18
  --t-border-color: #{$border-color};
19
19
  --t-navbar-height: 88px;
@@ -27,4 +27,5 @@
27
27
  --t-section-padding: 40px 0;
28
28
  --t-section-inner-padding: 3rem;
29
29
 
30
+
30
31
  }
@@ -92,6 +92,11 @@
92
92
  }
93
93
 
94
94
 
95
+ .tjs-_hero-max--inner-wrapper {
96
+ position: relative;
97
+ width: 100%;
98
+ height: 100%;
99
+ }
95
100
 
96
101
 
97
102
  .tjs__hero-max--section-text {
@@ -21,12 +21,12 @@ Joda.registerTemplate("sec-multi-card",
21
21
  // language=HTML
22
22
  `
23
23
 
24
- <div class="tjs__sec-multi-card">
25
- <div class="container header">
26
- <slot data-select=":scope > .content"></slot>
24
+ <section class="tjs__sec-multi-card">
25
+ <div class="container header" style="--joda-on-empty-class: d-none;">
26
+ <slot class="tjs__section-text" data-select=":scope > .content"></slot>
27
27
  </div>
28
28
  <div class="container">
29
29
  <slot class="row g-3 row-cols-1 row-cols-lg-[[ layout.cols ?? 3 ]]" data-select=":scope > .children > *" data-child-layout="use: #sec-multi-card__item"></slot>
30
30
  </div>
31
- </div>
31
+ </section>
32
32
  `);
@@ -1,6 +1,6 @@
1
1
  @mixin default-element-format() {
2
2
  section h2 {
3
- text-transform: uppercase;
3
+ text-transform: var(--t-header-text-transform, none);
4
4
  // font-weight: bold;
5
5
 
6
6
  margin: var(--t-paragraf-margin);
File without changes
File without changes
@@ -1 +0,0 @@
1
- export declare function initLoader(): void;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initLoader = void 0;
4
- const hit_index_1 = require("../hit-index");
5
- console.time("loader");
6
- function initLoader() {
7
- let interval = setInterval(() => {
8
- // Detect if body is loaded
9
- if (document.querySelector("body")) {
10
- // Cancel interval
11
- clearInterval(interval);
12
- let img = document.querySelector("img").cloneNode(true);
13
- let loader = document.createElement("div");
14
- loader.classList.add("loader");
15
- loader.appendChild(img);
16
- img.setAttribute("class", "");
17
- img.setAttribute("loading", "eager");
18
- let loaderBar = document.createElement("div");
19
- loaderBar.classList.add("loader-bar");
20
- loader.appendChild(loaderBar);
21
- document.querySelector("body").appendChild(loader);
22
- }
23
- }, hit_index_1.hitIndex === 1 ? 10 : 350); // Wait 350 on subsequent requests to prevent flickering
24
- }
25
- exports.initLoader = initLoader;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const embed_1 = require("@kasimirjs/embed");
13
- let d = new embed_1.Debouncer(10);
14
- window.addEventListener("mousemove", (e) => __awaiter(void 0, void 0, void 0, function* () {
15
- yield d.debounce();
16
- document.body.style.setProperty("--mouse-x", (e.clientX / window.innerWidth) * 100 + "");
17
- document.body.style.setProperty("--mouse-y", (e.clientY / window.innerHeight) * 100 + "");
18
- }));
19
- document.body.style.setProperty("--mouse-x", 1 + "");
20
- document.body.style.setProperty("--mouse-y", 1 + "");
@@ -1 +0,0 @@
1
- export declare const hitIndex: number;
package/dist/hit-index.js DELETED
@@ -1,11 +0,0 @@
1
- "use strict";
2
- var _a, _b;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.hitIndex = void 0;
5
- const indexName = "themejs_hit_index";
6
- let state = sessionStorage.getItem(indexName);
7
- if (state === null) {
8
- sessionStorage.setItem(indexName, "0");
9
- }
10
- sessionStorage.setItem(indexName, "" + (parseInt((_a = sessionStorage.getItem(indexName)) !== null && _a !== void 0 ? _a : "0") + 1));
11
- exports.hitIndex = parseInt((_b = sessionStorage.getItem(indexName)) !== null && _b !== void 0 ? _b : "0");
@@ -1,3 +0,0 @@
1
-
2
-
3
-
@@ -1,98 +0,0 @@
1
- body > .loader > .loader-bar {
2
- position: relative;
3
- display: block;
4
- background-color: lightgrey;
5
- height: 3px;
6
- width: 70vw;
7
- max-width: 500px;
8
- top: 0;
9
- z-index: 1;
10
- margin-top: 25vh;
11
- &::before {
12
- content: "";
13
- font-family: sans-serif;
14
- font-size: 12px;
15
- line-height: 10px;
16
- position: relative;
17
- text-align: center;
18
- color: white;
19
-
20
- z-index: 2;
21
- -webkit-animation: leu--site-loader 60s ease-out;
22
- animation: leu--site-loader 30s ease-out;
23
- display: block;
24
- background-color: indianred;
25
- height: 100%;
26
- width: 35%;
27
- top: 0;
28
- }
29
- }
30
-
31
-
32
- @keyframes leu--site-loader {
33
- 3% {
34
- width: 75%;
35
-
36
- }
37
- 5% {
38
- width: 90%;
39
- }
40
- 10% {
41
- width: 95%;
42
- }
43
- 100% {
44
- width: 100%;
45
- }
46
- }
47
-
48
-
49
- body {
50
- min-height: 5000vh; // 3000vh is enough to make sure the page scrolls to correct position on reload
51
- }
52
-
53
- body.loaded {
54
- min-height: unset;
55
- }
56
-
57
- body > joda-content {
58
- opacity: 0;
59
- transition: opacity 0.10s;
60
- }
61
- body.loaded > joda-content {
62
- opacity: 1;
63
- }
64
-
65
-
66
- body > .loader {
67
- position: fixed;
68
- z-index: -99;
69
- top: 0;
70
- left: 0;
71
- width: 100%;
72
- height: 100%;
73
- background: #fff;
74
- transition: opacity 0.15s;
75
- display: flex !important;
76
-
77
- align-items: center;
78
- align-content: center;
79
- justify-content: center;
80
- opacity: 1;
81
- flex-wrap: wrap;
82
- flex-direction: column;
83
-
84
- & > img {
85
- flex-direction: column;
86
- display: block !important;
87
- height: auto !important;
88
- width: 70vw !important;
89
- max-width: 500px;
90
-
91
- }
92
- }
93
-
94
- body.loaded > .loader {
95
- opacity: 0;
96
- //display: none !important;
97
- z-index: -99;
98
- }
@@ -1,27 +0,0 @@
1
- import {hitIndex} from "../hit-index";
2
-
3
- console.time("loader");
4
- export function initLoader() {
5
- let interval = setInterval(() => {
6
- // Detect if body is loaded
7
- if (document.querySelector("body")) {
8
- // Cancel interval
9
- clearInterval(interval);
10
-
11
- let img = document.querySelector("img").cloneNode(true) as HTMLImageElement;
12
- let loader = document.createElement("div");
13
- loader.classList.add("loader");
14
- loader.appendChild(img);
15
- img.setAttribute("class", "");
16
- img.setAttribute("loading", "eager");
17
-
18
- let loaderBar = document.createElement("div");
19
- loaderBar.classList.add("loader-bar");
20
- loader.appendChild(loaderBar);
21
-
22
- document.querySelector("body").appendChild(loader);
23
- }
24
- }, hitIndex === 1 ? 10 : 350); // Wait 350 on subsequent requests to prevent flickering
25
- }
26
-
27
-
@@ -1,11 +0,0 @@
1
- import {Debouncer} from "@kasimirjs/embed";
2
-
3
- let d = new Debouncer(10);
4
- window.addEventListener("mousemove", async (e) => {
5
- await d.debounce()
6
- document.body.style.setProperty("--mouse-x", (e.clientX / window.innerWidth) * 100 + "");
7
- document.body.style.setProperty("--mouse-y", (e.clientY / window.innerHeight) * 100 + "");
8
- });
9
- document.body.style.setProperty("--mouse-x", 1 + "");
10
- document.body.style.setProperty("--mouse-y", 1 + "");
11
-
package/src/hit-index.ts DELETED
@@ -1,8 +0,0 @@
1
- const indexName = "themejs_hit_index";
2
- let state = sessionStorage.getItem(indexName);
3
- if (state === null) {
4
- sessionStorage.setItem(indexName, "0");
5
- }
6
- sessionStorage.setItem(indexName, "" + (parseInt(sessionStorage.getItem(indexName) ?? "0") + 1));
7
-
8
- export const hitIndex = parseInt(sessionStorage.getItem(indexName) ?? "0");
package/src/index.ts DELETED
@@ -1,3 +0,0 @@
1
-
2
-
3
- import "@leuffen/jodastyle";