tecitheme 0.4.6 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Banner.svelte +1 -1
- package/dist/components/CTA.svelte +6 -1
- package/dist/components/CTABranded.svelte +6 -1
- package/dist/components/CTASplitImage.svelte +7 -2
- package/dist/components/Card.svelte +0 -1
- package/dist/components/ContentTwoColumns.svelte +7 -2
- package/dist/components/FeatureGrid.svelte +6 -1
- package/dist/components/Figure.svelte +17 -12
- package/dist/components/Header.svelte +1 -1
- package/dist/components/HeadingCentered.svelte +6 -1
- package/dist/components/Hero.svelte +6 -1
- package/dist/components/Icon.svelte +20 -14
- package/dist/components/MediaFeature.svelte +6 -1
- package/dist/components/NewsGrid.svelte +19 -2
- package/dist/components/PricingTable.svelte +8 -3
- package/dist/components/SidebarContent.svelte +15 -13
- package/dist/components/Stats.svelte +7 -2
- package/dist/components/Testimonial.svelte +6 -3
- package/dist/components/ThreeColumn.svelte +6 -5
- package/dist/components/Video.svelte +17 -10
- package/dist/site_config.json +2 -0
- package/package.json +15 -13
|
@@ -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" : (data.color == "ventus" ? "bg-ventus" : "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
|
-
<
|
|
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
|
-
</
|
|
32
|
+
</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
|
-
<
|
|
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
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>
|
|
@@ -44,4 +49,4 @@
|
|
|
44
49
|
{/if}
|
|
45
50
|
</div>
|
|
46
51
|
</div>
|
|
47
|
-
</
|
|
52
|
+
</section>
|
|
@@ -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>
|
|
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
|
|
@@ -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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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}
|
|
@@ -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">
|
|
@@ -2,10 +2,16 @@
|
|
|
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
17
|
src="https://teci-files.imgix.net/www/images/pyrosim_icon.svg"
|
|
@@ -14,7 +20,7 @@
|
|
|
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
26
|
src="https://teci-files.imgix.net/www/images/pyrosim-results_icon.svg"
|
|
@@ -23,7 +29,7 @@
|
|
|
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
35
|
src="https://teci-files.imgix.net/www/images/pyrosim_logo.svg"
|
|
@@ -32,7 +38,7 @@
|
|
|
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
44
|
src="https://teci-files.imgix.net/www/images/pathfinder_icon.svg"
|
|
@@ -41,7 +47,7 @@
|
|
|
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
53
|
src="https://teci-files.imgix.net/www/images/pathfinder-results_icon.svg"
|
|
@@ -50,7 +56,7 @@
|
|
|
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
62
|
src="https://teci-files.imgix.net/www/images/pathfinder_logo.svg"
|
|
@@ -59,7 +65,7 @@
|
|
|
59
65
|
/>
|
|
60
66
|
</span>
|
|
61
67
|
{:else if icon == "ventus"}
|
|
62
|
-
<span class="not-prose">
|
|
68
|
+
<span {id} class="not-prose">
|
|
63
69
|
<img
|
|
64
70
|
class={classes}
|
|
65
71
|
src="https://teci-files.imgix.net/www/images/ventus_icon.svg"
|
|
@@ -68,7 +74,7 @@
|
|
|
68
74
|
/>
|
|
69
75
|
</span>
|
|
70
76
|
{:else if icon == "ventus-logo"}
|
|
71
|
-
<span class="not-prose">
|
|
77
|
+
<span {id} class="not-prose">
|
|
72
78
|
<img
|
|
73
79
|
class={classes}
|
|
74
80
|
src="https://teci-files.imgix.net/www/images/ventus_logo.svg"
|
|
@@ -77,7 +83,7 @@
|
|
|
77
83
|
/>
|
|
78
84
|
</span>
|
|
79
85
|
{:else if icon == "petrasim"}
|
|
80
|
-
<span class="not-prose">
|
|
86
|
+
<span {id} class="not-prose">
|
|
81
87
|
<img
|
|
82
88
|
class={classes}
|
|
83
89
|
src="https://teci-files.imgix.net/www/images/petrasim_icon.svg"
|
|
@@ -86,7 +92,7 @@
|
|
|
86
92
|
/>
|
|
87
93
|
</span>
|
|
88
94
|
{:else if icon == "petrasim-logo"}
|
|
89
|
-
<span class="not-prose">
|
|
95
|
+
<span {id} class="not-prose">
|
|
90
96
|
<img
|
|
91
97
|
class={classes}
|
|
92
98
|
src="https://teci-files.imgix.net/www/images/petrasim_logo.svg"
|
|
@@ -95,7 +101,7 @@
|
|
|
95
101
|
/>
|
|
96
102
|
</span>
|
|
97
103
|
{:else if icon == "teci-logo"}
|
|
98
|
-
<span class="not-prose">
|
|
104
|
+
<span {id} class="not-prose">
|
|
99
105
|
<img
|
|
100
106
|
class={classes}
|
|
101
107
|
src="https://teci-files.imgix.net/www/images/teci_logo.svg"
|
|
@@ -104,7 +110,7 @@
|
|
|
104
110
|
/>
|
|
105
111
|
</span>
|
|
106
112
|
{:else if icon == "teci-icon"}
|
|
107
|
-
<span class="not-prose">
|
|
113
|
+
<span {id} class="not-prose">
|
|
108
114
|
<svg
|
|
109
115
|
class={classes}
|
|
110
116
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -128,9 +134,9 @@
|
|
|
128
134
|
</svg>
|
|
129
135
|
</span>
|
|
130
136
|
{:else if icon?.startsWith("icon-")}
|
|
131
|
-
<span class="material-icons-outlined {classes}">{icon?.slice(5)}</span>
|
|
137
|
+
<span {id} class="material-icons-outlined {classes}">{icon?.slice(5)}</span>
|
|
132
138
|
{:else}
|
|
133
|
-
<span class="not-prose">
|
|
139
|
+
<span {id} class="not-prose">
|
|
134
140
|
<svg
|
|
135
141
|
class={classes}
|
|
136
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
|
-
<
|
|
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
|
>
|
|
@@ -170,6 +175,18 @@
|
|
|
170
175
|
>
|
|
171
176
|
</div>
|
|
172
177
|
{/if}
|
|
178
|
+
{#if !postLimit}
|
|
179
|
+
<div class="sr-only">
|
|
180
|
+
<p>List of all News links for screen readers and bots.</p>
|
|
181
|
+
<ul>
|
|
182
|
+
{#each posts as post}
|
|
183
|
+
<li>
|
|
184
|
+
<a href={post.slug}>{post.title}</a>
|
|
185
|
+
</li>
|
|
186
|
+
{/each}
|
|
187
|
+
</ul>
|
|
188
|
+
</div>
|
|
189
|
+
{/if}
|
|
173
190
|
{:else}
|
|
174
191
|
<div class="prose">
|
|
175
192
|
<p class="pt-8">
|
|
@@ -179,4 +196,4 @@
|
|
|
179
196
|
</p>
|
|
180
197
|
</div>
|
|
181
198
|
{/if}
|
|
182
|
-
</
|
|
199
|
+
</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
|
-
|
|
6
|
-
|
|
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>
|
|
@@ -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
|
|
50
|
-
?
|
|
51
|
-
|
|
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
|
|
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
|
-
|
|
69
|
-
|
|
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>
|
|
@@ -26,7 +31,7 @@
|
|
|
26
31
|
</dl>
|
|
27
32
|
</div>
|
|
28
33
|
<figure>
|
|
29
|
-
<img class="w-full" alt="
|
|
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
|
|
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"
|
|
@@ -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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
61
|
+
videoID = data.v;
|
|
55
62
|
};
|
|
56
63
|
} else {
|
|
57
|
-
|
|
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 (
|
|
72
|
+
} else if (videoID) {
|
|
66
73
|
if (youtube) {
|
|
67
|
-
thumb = `https://i.ytimg.com/vi/${
|
|
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 {
|
|
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/${
|
|
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/${
|
|
101
|
+
href='https://www.youtube.com/embed/${videoID}?autoplay=1&start=0&mute=1'
|
|
95
102
|
class='youtubeembed'
|
|
96
103
|
>
|
|
97
104
|
<img
|
package/dist/site_config.json
CHANGED
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tecitheme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "vite dev",
|
|
7
7
|
"build": "vite build",
|
|
8
8
|
"package": "svelte-package",
|
|
9
|
+
"prepare": "svelte-kit sync",
|
|
9
10
|
"preview": "vite preview",
|
|
10
11
|
"check": "svelte-check --tsconfig ./tsconfig.json",
|
|
11
12
|
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
|
|
@@ -26,14 +27,14 @@
|
|
|
26
27
|
"dist"
|
|
27
28
|
],
|
|
28
29
|
"peerDependencies": {
|
|
29
|
-
"@sveltejs/kit": "^1.
|
|
30
|
-
"svelte": "^3.
|
|
30
|
+
"@sveltejs/kit": "^1.13.0",
|
|
31
|
+
"svelte": "^3.57.0"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|
|
33
34
|
"@fontsource/inter": "^4.5.15",
|
|
34
35
|
"@fontsource/material-icons-outlined": "^4.5.4",
|
|
35
36
|
"@sveltejs/adapter-static": "2.0.1",
|
|
36
|
-
"@sveltejs/kit": "^1.
|
|
37
|
+
"@sveltejs/kit": "^1.13.0",
|
|
37
38
|
"@sveltejs/package": "^2.0.2",
|
|
38
39
|
"@tailwindcss/forms": "^0.5.3",
|
|
39
40
|
"@tailwindcss/typography": "^0.5.9",
|
|
@@ -48,22 +49,23 @@
|
|
|
48
49
|
"markdown-yaml-metadata-parser": "^3.0.0",
|
|
49
50
|
"mdsvex": "^0.10.6",
|
|
50
51
|
"postcss": "^8.4.21",
|
|
51
|
-
"prettier": "^2.8.
|
|
52
|
-
"prettier-plugin-tailwindcss": "^0.2.
|
|
52
|
+
"prettier": "^2.8.6",
|
|
53
|
+
"prettier-plugin-tailwindcss": "^0.2.5",
|
|
53
54
|
"rehype-slug": "^5.1.0",
|
|
54
|
-
"svelte": "^3.
|
|
55
|
-
"svelte-check": "^3.
|
|
55
|
+
"svelte": "^3.57.0",
|
|
56
|
+
"svelte-check": "^3.1.4",
|
|
56
57
|
"svelte-paginate": "^0.1.0",
|
|
57
|
-
"svelte-preprocess": "^5.0.
|
|
58
|
-
"svelte2tsx": "^0.6.
|
|
59
|
-
"sveltekit-autoimport": "^1.
|
|
58
|
+
"svelte-preprocess": "^5.0.3",
|
|
59
|
+
"svelte2tsx": "^0.6.10",
|
|
60
|
+
"sveltekit-autoimport": "^1.7.0",
|
|
60
61
|
"tailwindcss": "^3.2.7",
|
|
61
62
|
"tslib": "^2.5.0",
|
|
62
63
|
"typescript": "^4.9.5",
|
|
63
|
-
"
|
|
64
|
+
"uuid-by-string": "^4.0.0",
|
|
65
|
+
"vite": "^4.2.1"
|
|
64
66
|
},
|
|
65
67
|
"dependencies": {
|
|
66
68
|
"katex": "^0.16.4",
|
|
67
|
-
"svelte": "^3.
|
|
69
|
+
"svelte": "^3.57.0"
|
|
68
70
|
}
|
|
69
71
|
}
|