tecitheme 0.4.5 → 0.4.7

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.
@@ -15,7 +15,7 @@
15
15
 
16
16
  {#if bannerOpen}
17
17
  <!-- This example requires Tailwind CSS v2.0+ -->
18
- <div class="bg-teci-blue-light">
18
+ <div id="top-banner" class="bg-teci-blue-light">
19
19
  <div class="mx-auto max-w-7xl py-3 px-3 sm:px-6 lg:px-8">
20
20
  <div class="flex flex-wrap justify-between">
21
21
  <div class="order-1 flex h-10 w-0 flex-1 items-center">
@@ -1,9 +1,14 @@
1
1
  <script>
2
2
  export let data;
3
+ let id
4
+
5
+ if (data.name) {
6
+ id = encodeURIComponent(data.name).toLowerCase()
7
+ }
3
8
  </script>
4
9
 
5
10
  <!-- This example requires Tailwind CSS v2.0+ -->
6
- <section class="mx-auto mb-12 px-4 text-center sm:px-6 lg:px-8">
11
+ <section {id} class="mx-auto mb-12 px-4 text-center sm:px-6 lg:px-8">
7
12
  {#if data.title}
8
13
  <h2
9
14
  class="{data.subtitle
@@ -1,8 +1,13 @@
1
1
  <script>
2
2
  export let data
3
+ let id
4
+
5
+ if (data.name) {
6
+ id = encodeURIComponent(data.name).toLowerCase()
7
+ }
3
8
  </script>
4
9
 
5
- <section class="{(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : "bg-teci-blue-dark"))}">
10
+ <section {id} class="{(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : (data.color == "ventus" ? "bg-ventus" : "bg-teci-blue-dark")))}">
6
11
  <div class="mx-auto max-w-4xl py-10 px-6 text-center sm:py-10 lg:px-8">
7
12
  <h2 class="text-3xl font-bold tracking-tight text-white sm:text-4xl">
8
13
  <span class="block">{@html data.heading}</span>
@@ -1,8 +1,13 @@
1
1
  <script>
2
2
  export let data
3
+ let id
4
+
5
+ if (data.name) {
6
+ id = encodeURIComponent(data.name).toLowerCase()
7
+ }
3
8
  </script>
4
9
 
5
- <div class="relative {(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : "bg-teci-blue-dark"))}">
10
+ <section {id} class="relative {(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : (data.color == "ventus" ? "bg-ventus" : "bg-teci-blue-dark")))}">
6
11
  <div class="h-56 sm:h-72 md:absolute md:left-0 md:h-full md:w-1/2">
7
12
  <img class="h-full w-full object-cover" src="https://teci-files.imgix.net/www/images/{data.image}?w=608&fit=clip&auto=compress&auto=format" alt="Image for {data.preheading}">
8
13
  </div>
@@ -24,4 +29,4 @@
24
29
  </div>
25
30
  </div>
26
31
  </div>
27
- </div>
32
+ </section>
@@ -1,7 +1,6 @@
1
1
  <script>
2
2
  //Allows icons from https://fonts.google.com/icons?selected=Material+Icons by name in the format 'icon-XXXX'.
3
3
  import Icon from "./Icon.svelte";
4
- import Wrap from "./Wrap.svelte";
5
4
  export let data;
6
5
  export let halfHeight;
7
6
 
@@ -1,11 +1,16 @@
1
1
  <script>
2
2
  export let data
3
+ let id
4
+
5
+ if (data.name) {
6
+ id = encodeURIComponent(data.name).toLowerCase()
7
+ }
3
8
  </script>
4
9
 
5
- <div class="overflow-hidden mx-auto max-w-max lg:max-w-7xl">
10
+ <section {id} class="overflow-hidden mx-auto max-w-max lg:max-w-7xl">
6
11
  <div class="relative z-10 mb-8 md:mb-2">
7
12
  <div class="max-w-prose text-base lg:max-w-none">
8
- <h2 class="font-semibold leading-6 {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : "text-teci-blue-dark"))}">{data.preheading}</h2>
13
+ <h2 class="font-semibold leading-6 {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : (data.color == "ventus" ? "text-ventus" : "text-teci-blue-dark")))}">{data.preheading}</h2>
9
14
  <p class="mt-2 text-3xl font-bold leading-8 tracking-tight text-gray-900 sm:text-4xl">{data.heading}</p>
10
15
  </div>
11
16
  </div>
@@ -34,7 +39,7 @@
34
39
  <div class="mt-8 flex gap-x-4 float-right py-1">
35
40
  {#each data.ctas as cta}
36
41
  <a href={cta.url} class="inline-block px-4 py-1.5 text-base font-semibold leading-7 shadow-sm ring-1 ring-gray-900/10 hover:ring-gray-900/20 hover:bg-teci-blue-dark
37
- {(cta.color == "pyrosim" ? "bg-pyrosim text-white" : (cta.color == "pathfinder" ? "bg-pathfinder text-white" : (cta.color == "white" ? "bg-white text-gray-600 hover:text-white" : "bg-teci-blue-dark text-white")))}
42
+ {(cta.color == "pyrosim" ? "bg-pyrosim text-white" : (cta.color == "pathfinder" ? "bg-pathfinder text-white" : (cta.color == "ventus" ? "bg-ventus text-white" : (cta.color == "white" ? "bg-white text-gray-600 hover:text-white" : "bg-teci-blue-dark text-white"))))}
38
43
  ">
39
44
  {cta.text}
40
45
  <span class="hidden sm:inline {(cta.color == "white" ? "text-gray-600" : "text-white")}" aria-hidden="true">&rarr;</span>
@@ -44,4 +49,4 @@
44
49
  {/if}
45
50
  </div>
46
51
  </div>
47
- </div>
52
+ </section>
@@ -2,13 +2,18 @@
2
2
  import Icon from './Icon.svelte'
3
3
 
4
4
  export let data
5
+ let id
6
+
7
+ if (data.name) {
8
+ id = encodeURIComponent(data.name).toLowerCase()
9
+ }
5
10
  </script>
6
11
 
7
- <section>
12
+ <section {id} class="overflow-hidden mx-auto max-w-max lg:max-w-7xl">
8
13
  <div class="sm:text-center">
9
14
  {#if data.preheading}
10
15
  <p class="mb-2 text-lg font-semibold leading-8
11
- {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : "text-teci-blue-dark"))}
16
+ {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : (data.color == "ventus" ? "text-ventus" : "text-teci-blue-dark")))}
12
17
  ">
13
18
  {data.preheading}
14
19
  </p>
@@ -27,7 +32,7 @@ import Icon from './Icon.svelte'
27
32
  {#each data.blocks as block}
28
33
  <div class="relative flex flex-row gap-6">
29
34
  <div class="hidden sm:flex h-12 w-12 items-center justify-center text-white sm:shrink-0 flex-shrink-0
30
- {(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : "bg-teci-blue-dark"))}
35
+ {(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : (data.color == "ventus" ? "bg-ventus" : "bg-teci-blue-dark")))}
31
36
  ">
32
37
  <Icon classes="w-auto" icon={block.icon} />
33
38
  </div>
@@ -6,6 +6,11 @@
6
6
 
7
7
  let figureImage;
8
8
  let figureLink;
9
+ let id
10
+
11
+ if (title) {
12
+ id = encodeURIComponent(title).toLowerCase()
13
+ }
9
14
 
10
15
  if (image.startsWith("http")) {
11
16
  figureImage = image;
@@ -22,16 +27,16 @@
22
27
  </script>
23
28
 
24
29
  {#if image}
25
- <section class="not-prose mb-8 flex justify-center">
26
- <figure
27
- class="mx-auto w-auto border border-slate-100 bg-white p-2 shadow-lg"
28
- >
29
- <a class="inline-block w-full bg-slate-200 p-1" href={figureLink}>
30
- <img class="mx-auto w-auto" src={figureImage} alt={title} {title} />
31
- </a>
32
- {#if caption}
33
- <figcaption class="p-2 text-center">{@html caption}</figcaption>
34
- {/if}
35
- </figure>
36
- </section>
30
+ <section {id} class="not-prose mb-8 flex justify-center">
31
+ <figure
32
+ class="mx-auto w-auto border border-slate-100 bg-white p-2 shadow-lg"
33
+ >
34
+ <a class="inline-block w-full bg-slate-200 p-1" href={figureLink}>
35
+ <img class="mx-auto w-auto" src={figureImage} alt={title} {title} />
36
+ </a>
37
+ {#if caption}
38
+ <figcaption class="p-2 text-center">{@html caption}</figcaption>
39
+ {/if}
40
+ </figure>
41
+ </section>
37
42
  {/if}
@@ -31,7 +31,7 @@
31
31
 
32
32
  <svelte:window on:keyup={handleEscape} />
33
33
 
34
- <header class="relative bg-white">
34
+ <header id="menu" class="relative bg-white">
35
35
  <div
36
36
  aria-hidden="true"
37
37
  class="pointer-events-none absolute inset-0 z-30 shadow"
@@ -2,10 +2,15 @@
2
2
  //Based on: https://tailwindui.com/components/marketing/sections/header#component-2c3b25e7b9e4490edd7b6950692c0a11
3
3
  import Icon from "./Icon.svelte";
4
4
  export let data;
5
+ let id
6
+
7
+ if (data.name) {
8
+ id = encodeURIComponent(data.name).toLowerCase()
9
+ }
5
10
  </script>
6
11
 
7
12
  <!-- This example requires Tailwind CSS v2.0+ -->
8
- <section class="w-full text-center">
13
+ <section {id} class="w-full text-center">
9
14
  {#if data.toptext}
10
15
  <p class="text-base font-semibold uppercase text-teci-blue-dark">
11
16
  {data.toptext}
@@ -2,9 +2,14 @@
2
2
  import Icon from './Icon.svelte'
3
3
 
4
4
  export let data
5
+ let id
6
+
7
+ if (data.name) {
8
+ id = encodeURIComponent(data.name).toLowerCase()
9
+ }
5
10
  </script>
6
11
 
7
- <section class="relative bg-white">
12
+ <section {id} class="relative bg-white">
8
13
  <div class="mx-auto max-w-7xl md:grid md:grid-cols-12 md:gap-x-8 md:px-0">
9
14
  <div class="pt-0 pb-0 md:col-span-8 lg:col-span-7 xl:col-span-6">
10
15
  <div class="mx-auto">
@@ -19,11 +24,11 @@ import Icon from './Icon.svelte'
19
24
  {#if data.banner_text}
20
25
  <div class="mt-6 sm:mt-8 lg:mt-4">
21
26
  <a href={data.banner_link_url} class="inline-flex space-x-6">
22
- <span class="rounded-full bg-gray-300/10 px-3 py-1 text-sm font-semibold leading-6 {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : "text-teci-blue-dark"))} ring-1 ring-inset {(data.color == "pyrosim" ? "ring-pyrosim/20" : (data.color == "pathfinder" ? "ring-pathfinder/20" : "ring-teci-blue-dark/20"))}">{data.banner_text}</span>
27
+ <span class="rounded-full bg-gray-300/10 px-3 py-1 text-sm font-semibold leading-6 {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : (data.color == "ventus" ? "text-ventus" : "text-teci-blue-dark")))} ring-1 ring-inset {(data.color == "pyrosim" ? "ring-pyrosim/20" : (data.color == "pathfinder" ? "ring-pathfinder/20" : (data.color == "ventus" ? "ring-ventus/20" : "ring-teci-blue-dark/20")))}">{data.banner_text}</span>
23
28
  <span class="inline-flex items-center space-x-1 text-sm font-medium leading-6 text-gray-400">
24
29
  <span>{data.banner_link_text}</span>
25
30
  <!-- Heroicon name: mini/chevron-right -->
26
- <svg class="h-5 w-5 {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : "text-teci-blue-dark"))}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
31
+ <svg class="h-5 w-5 {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : (data.color == "ventus" ? "text-ventus" : "text-teci-blue-dark")))}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
27
32
  <path fill-rule="evenodd" d="M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z" clip-rule="evenodd" />
28
33
  </svg>
29
34
  </span>
@@ -36,7 +41,7 @@ import Icon from './Icon.svelte'
36
41
  <div class="mt-10 flex gap-x-8 sm:justify-left">
37
42
  {#each data.ctas as cta}
38
43
  <a href={cta.url} class="inline-block px-4 py-1.5 text-base font-semibold leading-7 shadow-sm ring-1 ring-gray-900/10 hover:ring-gray-900/20 hover:bg-teci-blue-dark
39
- {(cta.color == "pyrosim" ? "bg-pyrosim text-white" : (cta.color == "pathfinder" ? "bg-pathfinder text-white" : (cta.color == "white" ? "bg-white text-gray-600 hover:text-white" : "bg-teci-blue-dark text-white")))}
44
+ {(cta.color == "pyrosim" ? "bg-pyrosim text-white" : (cta.color == "pathfinder" ? "bg-pathfinder text-white" : (cta.color == "ventus" ? "bg-ventus text-white" : (cta.color == "white" ? "bg-white text-gray-600 hover:text-white" : "bg-teci-blue-dark text-white"))))}
40
45
  ">
41
46
  {cta.text}
42
47
  <span class="hidden sm:inline {(cta.color == "white" ? "text-gray-600" : "text-white")}" aria-hidden="true">&rarr;</span>
@@ -45,7 +50,7 @@ import Icon from './Icon.svelte'
45
50
  </div>
46
51
  {/if}
47
52
  <div class="mt-16">
48
- <section class="{(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : "bg-teci-blue-dark"))}">
53
+ <section class="{(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : (data.color == "ventus" ? "bg-ventus" : "bg-teci-blue-dark")))}">
49
54
  <div class="text-center mx-auto max-w-4xl py-10 px-6 sm:py-10 lg:px-8">
50
55
  <h2 class="text-3xl font-bold tracking-tight text-white sm:text-2xl">
51
56
  <span class="block">{@html data.heading}</span>
@@ -2,91 +2,115 @@
2
2
  // Allows icons from https://fonts.google.com/icons?selected=Material+Icons by name in the format 'icon-XXXX'.
3
3
  export let icon;
4
4
  export let classes;
5
+
6
+ let id
7
+
8
+ if (icon) {
9
+ id = encodeURIComponent(icon).toLowerCase()
10
+ }
5
11
  </script>
6
12
 
7
13
  {#if icon == "pyrosim"}
8
- <span class="not-prose">
14
+ <span {id} class="not-prose">
9
15
  <img
10
16
  class={classes}
11
- src="https://files.thunderheadeng.com/www/images/pyrosim_icon.svg"
17
+ src="https://teci-files.imgix.net/www/images/pyrosim_icon.svg"
12
18
  alt="PyroSim"
13
19
  title="PyroSim Icon"
14
20
  />
15
21
  </span>
16
22
  {:else if icon == "pyrosim-results"}
17
- <span class="not-prose">
23
+ <span {id} class="not-prose">
18
24
  <img
19
25
  class={classes}
20
- src="https://files.thunderheadeng.com/www/images/pyrosim-results_icon.svg"
26
+ src="https://teci-files.imgix.net/www/images/pyrosim-results_icon.svg"
21
27
  alt="PyroSim Results"
22
28
  title="PyroSim Results Icon"
23
29
  />
24
30
  </span>
25
31
  {:else if icon == "pyrosim-logo"}
26
- <span class="not-prose">
32
+ <span {id} class="not-prose">
27
33
  <img
28
34
  class={classes}
29
- src="https://files.thunderheadeng.com/www/images/pyrosim_logo.svg"
35
+ src="https://teci-files.imgix.net/www/images/pyrosim_logo.svg"
30
36
  alt="PyroSim Logo"
31
37
  title="PyroSim Logo"
32
38
  />
33
39
  </span>
34
40
  {:else if icon == "pathfinder"}
35
- <span class="not-prose">
41
+ <span {id} class="not-prose">
36
42
  <img
37
43
  class={classes}
38
- src="https://files.thunderheadeng.com/www/images/pathfinder_icon.svg"
44
+ src="https://teci-files.imgix.net/www/images/pathfinder_icon.svg"
39
45
  alt="Pathfinder"
40
46
  title="Pathfinder Icon"
41
47
  />
42
48
  </span>
43
49
  {:else if icon == "pathfinder-results"}
44
- <span class="not-prose">
50
+ <span {id} class="not-prose">
45
51
  <img
46
52
  class={classes}
47
- src="https://files.thunderheadeng.com/www/images/pathfinder-results_icon.svg"
53
+ src="https://teci-files.imgix.net/www/images/pathfinder-results_icon.svg"
48
54
  alt="Pathfinder Results"
49
55
  title="Pathfinder Results Icon"
50
56
  />
51
57
  </span>
52
58
  {:else if icon == "pathfinder-logo"}
53
- <span class="not-prose">
59
+ <span {id} class="not-prose">
54
60
  <img
55
61
  class={classes}
56
- src="https://files.thunderheadeng.com/www/images/pathfinder_logo.svg"
62
+ src="https://teci-files.imgix.net/www/images/pathfinder_logo.svg"
57
63
  alt="Pathfinder Logo"
58
64
  title="Pathfinder Logo"
59
65
  />
60
66
  </span>
67
+ {:else if icon == "ventus"}
68
+ <span {id} class="not-prose">
69
+ <img
70
+ class={classes}
71
+ src="https://teci-files.imgix.net/www/images/ventus_icon.svg"
72
+ alt="Ventus"
73
+ title="Ventus Icon"
74
+ />
75
+ </span>
76
+ {:else if icon == "ventus-logo"}
77
+ <span {id} class="not-prose">
78
+ <img
79
+ class={classes}
80
+ src="https://teci-files.imgix.net/www/images/ventus_logo.svg"
81
+ alt="Ventus Logo"
82
+ title="Ventus Logo"
83
+ />
84
+ </span>
61
85
  {:else if icon == "petrasim"}
62
- <span class="not-prose">
86
+ <span {id} class="not-prose">
63
87
  <img
64
88
  class={classes}
65
- src="https://files.thunderheadeng.com/www/images/petrasim_icon.svg"
89
+ src="https://teci-files.imgix.net/www/images/petrasim_icon.svg"
66
90
  alt="PetraSim"
67
91
  title="PetraSim Icon"
68
92
  />
69
93
  </span>
70
94
  {:else if icon == "petrasim-logo"}
71
- <span class="not-prose">
95
+ <span {id} class="not-prose">
72
96
  <img
73
97
  class={classes}
74
- src="https://files.thunderheadeng.com/www/images/petrasim_logo.svg"
98
+ src="https://teci-files.imgix.net/www/images/petrasim_logo.svg"
75
99
  alt="PetraSim Logo"
76
100
  title="PetraSim Logo"
77
101
  />
78
102
  </span>
79
103
  {:else if icon == "teci-logo"}
80
- <span class="not-prose">
104
+ <span {id} class="not-prose">
81
105
  <img
82
106
  class={classes}
83
- src="https://files.thunderheadeng.com/www/images/teci_logo.svg"
107
+ src="https://teci-files.imgix.net/www/images/teci_logo.svg"
84
108
  alt="Thunderhead Logo"
85
109
  title="Thunderhead Logo"
86
110
  />
87
111
  </span>
88
112
  {:else if icon == "teci-icon"}
89
- <span class="not-prose">
113
+ <span {id} class="not-prose">
90
114
  <svg
91
115
  class={classes}
92
116
  xmlns="http://www.w3.org/2000/svg"
@@ -110,9 +134,9 @@
110
134
  </svg>
111
135
  </span>
112
136
  {:else if icon?.startsWith("icon-")}
113
- <span class="material-icons-outlined {classes}">{icon?.slice(5)}</span>
137
+ <span {id} class="material-icons-outlined {classes}">{icon?.slice(5)}</span>
114
138
  {:else}
115
- <span class="not-prose">
139
+ <span {id} class="not-prose">
116
140
  <svg
117
141
  class={classes}
118
142
  xmlns="http://www.w3.org/2000/svg"
@@ -5,6 +5,11 @@ import Video from './Video.svelte'
5
5
 
6
6
  let figureImage;
7
7
  let figureLink;
8
+ let id
9
+
10
+ if (data.name) {
11
+ id = encodeURIComponent(data.name).toLowerCase()
12
+ }
8
13
 
9
14
  if (data.image) {
10
15
  if (data.image.startsWith("http")) {
@@ -27,7 +32,7 @@ import Video from './Video.svelte'
27
32
  }
28
33
  </script>
29
34
 
30
- <section
35
+ <section {id}
31
36
  class="mx-auto flex w-full flex-col items-center justify-center md:flex-row md:items-start"
32
37
  >
33
38
  {#if data.v}
@@ -12,6 +12,11 @@
12
12
  let pageSize = data.pageSize;
13
13
  let postLimit = data.limit;
14
14
  let showPagination = true;
15
+ let id
16
+
17
+ if (data.name) {
18
+ id = encodeURIComponent(data.name).toLowerCase()
19
+ }
15
20
 
16
21
  if (postLimit > 0) {
17
22
  posts = posts.slice(0, postLimit);
@@ -48,7 +53,7 @@
48
53
  $: paginatedItems = paginate({ items, pageSize, currentPage });
49
54
  </script>
50
55
 
51
- <div class="relative mx-auto w-full">
56
+ <section {id} class="relative mx-auto w-full">
52
57
  <div
53
58
  class="flex flex-col justify-between space-y-4 border-b-2 border-gray-200 pb-4 sm:flex-row sm:items-end sm:space-y-0"
54
59
  >
@@ -179,4 +184,4 @@
179
184
  </p>
180
185
  </div>
181
186
  {/if}
182
- </div>
187
+ </section>
@@ -1,13 +1,18 @@
1
1
  <script>
2
2
  export let data
3
3
  let toggleID = data.groups[0].id
4
+ let id
4
5
 
5
- function toggleSelection(id) {
6
- toggleID = id
6
+ if (data.name) {
7
+ id = encodeURIComponent(data.name).toLowerCase()
8
+ }
9
+
10
+ function toggleSelection(group_id) {
11
+ toggleID = group_id
7
12
  }
8
13
  </script>
9
14
 
10
- <section class="overflow-hidden">
15
+ <section {id} class="overflow-hidden">
11
16
  <div class="sm:align-center sm:flex sm:flex-col">
12
17
  <h1 class="text-5xl font-bold tracking-tight text-gray-900 sm:text-center">{data.heading}</h1>
13
18
  <p class="mt-5 text-xl text-gray-500 sm:text-center">{data.subheading}</p>
@@ -42,7 +47,7 @@
42
47
  <span class="text-base font-medium text-gray-500">{option.divisor}</span>
43
48
  {/if}
44
49
  </p>
45
- <a href={option.cta_url} class="mt-8 block w-full border {(option.cta_color == "pyrosim" ? "border-pyrosim bg-pyrosim" : (data.color == "pathfinder" ? "border-pathfinder bg-pathfinder" : "border-teci-blue-dark bg-teci-blue-dark"))} py-2 text-center text-sm font-semibold text-white hover:bg-teci-blue-dark">{option.cta_label}</a>
50
+ <a href={option.cta_url} class="mt-8 block w-full border {(option.cta_color == "pyrosim" ? "border-pyrosim bg-pyrosim" : (data.color == "pathfinder" ? "border-pathfinder bg-pathfinder" : (data.color == "ventus" ? "border-ventus bg-ventus" : "border-teci-blue-dark bg-teci-blue-dark")))} py-2 text-center text-sm font-semibold text-white hover:bg-teci-blue-dark">{option.cta_label}</a>
46
51
  </div>
47
52
  <div class="px-6 pt-6 pb-8">
48
53
  <h3 class="text-sm font-medium text-gray-900">{option.features_text}</h3>
@@ -79,7 +84,7 @@
79
84
  <div class="flex gap-x-8 py-2 sm:justify-center">
80
85
  {#each data.footer.ctas as cta}
81
86
  <a href={cta.url} class="inline-block whitespace-nowrap px-4 py-1.5 text-base font-semibold leading-7 shadow-sm ring-1 ring-gray-900/10 hover:ring-gray-900/20 hover:bg-teci-blue-dark
82
- {(cta.color == "pyrosim" ? "bg-pyrosim text-white" : (cta.color == "pathfinder" ? "bg-pathfinder text-white" : (cta.color == "white" ? "bg-white text-gray-600 hover:text-white" : "bg-teci-blue-dark text-white")))}
87
+ {(cta.color == "pyrosim" ? "bg-pyrosim text-white" : (cta.color == "pathfinder" ? "bg-pathfinder text-white" : (cta.color == "ventus" ? "bg-ventus text-white" : (cta.color == "white" ? "bg-white text-gray-600 hover:text-white" : "bg-teci-blue-dark text-white"))))}
83
88
  ">
84
89
  {cta.text}
85
90
  <span class="hidden sm:inline {(cta.color == "white" ? "text-gray-600" : "text-white")}" aria-hidden="true">&rarr;</span>
@@ -6,6 +6,11 @@
6
6
  export let title;
7
7
  export let date;
8
8
  export let lastmod;
9
+ let id
10
+
11
+ if (data.name) {
12
+ id = encodeURIComponent(data.name).toLowerCase()
13
+ }
9
14
 
10
15
  let formattedDate =
11
16
  date != undefined
@@ -44,15 +49,16 @@
44
49
  });
45
50
  </script>
46
51
 
47
- <section
52
+ <section {id}
48
53
  bind:clientWidth={w}
49
- class="relative flex flex-row {data.fullWidth
50
- ? 'mx-0'
51
- : 'mx-auto'} {data.toc || data.rightRail ? 'md:space-x-8' : 'space-x-0'}"
54
+ class="relative flex flex-row
55
+ {data.fullWidth?'mx-0':'mx-auto'}
56
+ {(data.toc || data.rightRail)?'md:space-x-8':'space-x-0'}
57
+ "
52
58
  >
53
59
  <div
54
60
  id="content"
55
- class="prose w-full {data.fullWidth ? 'max-w-none' : 'max-w-prose'}"
61
+ class="prose w-full {data.fullWidth?'max-w-none':'max-w-prose'}"
56
62
  >
57
63
  {#if !data.hideTitle}
58
64
  <h1>{title}</h1>
@@ -65,9 +71,8 @@
65
71
  </p>
66
72
  {/if}
67
73
  </div>
68
- <aside
69
- class="relative w-0 {data.toc || data.rightRail ? 'md:w-60' : 'hidden'}"
70
- >
74
+ {#if (data.toc || data.rightRail)}
75
+ <aside class="relative w-0 md:w-60">
71
76
  {#if data.toc}
72
77
  <div class="sticky top-8 flex shrink-0 flex-col">
73
78
  <button
@@ -110,13 +115,10 @@
110
115
  </div>
111
116
  {/if}
112
117
  {#if data.rightRail}
113
- <div
114
- class="hidden bg-gray-200 p-2 md:block {data.toc || data.rightRail
115
- ? 'md:w-60'
116
- : 'w-0'}"
117
- >
118
+ <div class="hidden bg-gray-200 p-2 md:block md:w-60">
118
119
  Dynamic Stuff
119
120
  </div>
120
121
  {/if}
121
122
  </aside>
123
+ {/if}
122
124
  </section>
@@ -1,8 +1,13 @@
1
1
  <script>
2
2
  export let data
3
+ let id
4
+
5
+ if (data.name) {
6
+ id = encodeURIComponent(data.name).toLowerCase()
7
+ }
3
8
  </script>
4
9
 
5
- <section class="bg-gray-50">
10
+ <section {id} class="bg-gray-50">
6
11
  <div class="mx-auto max-w-7xl p-6 lg:p-8">
7
12
  <div class="mx-auto max-w-4xl text-center">
8
13
  <h2 class="text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl">{data.heading}</h2>
@@ -20,13 +25,13 @@
20
25
  {#each data.stats as stat, i}
21
26
  <div id="stat-{i}" class="flex flex-col border-b border-gray-100 p-6 text-center sm:border-0 sm:border-r sm:border-l">
22
27
  <dt class="order-2 mt-2 text-lg font-medium leading-6 text-gray-500">{stat.label}</dt>
23
- <dd class="order-1 text-5xl font-bold tracking-tight {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : "text-teci-blue-dark"))}">{stat.value}</dd>
28
+ <dd class="order-1 text-5xl font-bold tracking-tight {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : (data.color == "ventus" ? "text-ventus" : "text-teci-blue-dark")))}">{stat.value}</dd>
24
29
  </div>
25
30
  {/each}
26
31
  </dl>
27
32
  </div>
28
33
  <figure>
29
- <img class="w-full" alt="World map with colored countries for Thunderhead software customers." src="https://teci-files.imgix.net/www/images/{data.image}?auto=compress&auto=format">
34
+ <img class="w-full" alt="{(data.imageAltText?data.imageAltText:data.heading)}" src="https://teci-files.imgix.net/www/images/{data.image}?w=1152&fit=crop&auto=compress&auto=format">
30
35
  </figure>
31
36
  </div>
32
37
  </div>
@@ -6,14 +6,17 @@ import Icon from './Icon.svelte'
6
6
 
7
7
  export let data;
8
8
 
9
- let anchor;
10
9
  let index = 0;
11
10
  let interval = 12000;
12
11
  let auto = true;
13
12
  let slideInterval;
13
+ let id
14
+
15
+ if (data.name) {
16
+ id = encodeURIComponent(data.name).toLowerCase()
17
+ }
14
18
 
15
19
  onMount(() => {
16
- anchor = document.getElementById('slider');
17
20
  setSlideAutomation();
18
21
  })
19
22
 
@@ -51,7 +54,7 @@ import Icon from './Icon.svelte'
51
54
  }
52
55
  </script>
53
56
 
54
- <section id="slider" class="overflow-hidden">
57
+ <section {id} class="overflow-hidden">
55
58
  <div class="relative mx-auto max-w-4xl lg:max-w-none mt-10 lg:px-4 lg:py-8 lg:mt-0">
56
59
  <svg
57
60
  class="absolute right-full top-1/2 hidden translate-x-1/2 -translate-y-1/2 transform lg:block"
@@ -143,11 +146,7 @@ import Icon from './Icon.svelte'
143
146
  {quote.fullname}
144
147
  </div>
145
148
  <div
146
- class="text-base font-medium {data.color == 'pyrosim'
147
- ? 'text-pyrosim'
148
- : data.color == 'pathfinder'
149
- ? 'text-pathfinder'
150
- : 'text-teci-blue-dark'}"
149
+ class="text-base font-medium {(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : (data.color == "ventus" ? "text-ventus" : "text-teci-blue-dark")))}"
151
150
  >
152
151
  {quote.fulltitle}
153
152
  </div>
@@ -1,13 +1,14 @@
1
1
  <script>
2
- //Based on:
3
- //https://tailwindui.com/components/marketing/sections/feature-sections#component-c683653471044e6ffc32739e199dfbf2
4
- //https://tailwindui.com/components/marketing/sections/team-sections#component-0efa5ebc92e2aa72bc2332fcf5578869
5
2
  import Card from "./Card.svelte";
6
3
  export let data;
4
+ let id
5
+
6
+ if (data.name) {
7
+ id = encodeURIComponent(data.name).toLowerCase()
8
+ }
7
9
  </script>
8
10
 
9
- <!-- This example requires Tailwind CSS v2.0+ -->
10
- <section class="mx-auto w-full">
11
+ <section {id} class="mx-auto w-full">
11
12
  {#if data.title}
12
13
  <h2 class="sr-only">{data.title}</h2>
13
14
  {/if}
@@ -5,10 +5,17 @@
5
5
  export let v="";
6
6
  export let thumbnail="";
7
7
 
8
- let id="";
8
+ let videoID="";
9
9
  let thumb="";
10
10
  let youtube=false;
11
11
  let videoURL="";
12
+ let id
13
+
14
+ if (data.v) {
15
+ id = `video-${encodeURIComponent(data.v).toLowerCase()}`
16
+ } else if (v) {
17
+ id = `video-${encodeURIComponent(v).toLowerCase()}`
18
+ }
12
19
 
13
20
  onMount(() => {
14
21
  var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy"));
@@ -43,7 +50,7 @@
43
50
  videoURL = `https://teci-files.imgix.net/www/videos/${v}`;
44
51
  } else {
45
52
  youtube = true;
46
- id = v;
53
+ videoID = v;
47
54
  };
48
55
  } else if (data.v) {
49
56
  if (data.v.includes("mp4")) {
@@ -51,10 +58,10 @@
51
58
  videoURL = `https://teci-files.imgix.net/www/videos/${data.v}`;
52
59
  } else {
53
60
  youtube = true;
54
- id = data.v;
61
+ videoID = data.v;
55
62
  };
56
63
  } else {
57
- id = "";
64
+ videoID = "";
58
65
  videoURL = "";
59
66
  };
60
67
 
@@ -62,22 +69,22 @@
62
69
  thumb = `https://teci-files.imgix.net/www/images/${thumbnail}?w=1214&fit=clip&auto=compress&auto=format`;
63
70
  } else if (data.thumbnail) {
64
71
  thumb = `https://teci-files.imgix.net/www/images/${data.thumbnail}?w=1214&fit=clip&auto=compress&auto=format`;
65
- } else if (id) {
72
+ } else if (videoID) {
66
73
  if (youtube) {
67
- thumb = `https://i.ytimg.com/vi/${id}/maxresdefault.jpg`;
74
+ thumb = `https://i.ytimg.com/vi/${videoID}/maxresdefault.jpg`;
68
75
  }
69
76
  }
70
77
  </script>
71
78
 
72
- <section class="aspect-video not-prose w-full border border-gray-200 bg-black shadow-md">
79
+ <section {id} class="aspect-video not-prose w-full border border-gray-200 bg-black shadow-md">
73
80
  {#if youtube}
74
81
  <iframe
75
- title="YouTube Video ID {id}"
82
+ title="YouTube Video ID {videoID}"
76
83
  class="aspect-video w-full"
77
84
  frameborder="0"
78
85
  allow="autoplay; encrypted-media"
79
86
  allowfullscreen
80
- src="https://www.youtube.com/embed/${id}?autoplay=1&start=0&mute=1"
87
+ src="https://www.youtube.com/embed/${videoID}?autoplay=1&start=0&mute=1"
81
88
  srcdoc="{`
82
89
  <style>
83
90
  body, .youtubeembed {
@@ -91,7 +98,7 @@
91
98
  }
92
99
  </style>
93
100
  <a
94
- href='https://www.youtube.com/embed/${id}?autoplay=1&start=0&mute=1'
101
+ href='https://www.youtube.com/embed/${videoID}?autoplay=1&start=0&mute=1'
95
102
  class='youtubeembed'
96
103
  >
97
104
  <img
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tecitheme",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "dev": "vite dev",