tecitheme 0.0.4 → 0.0.5
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/README.md +1 -1
- package/{Logos → assets}/TECi_logo.svelte +0 -0
- package/{Logos → assets}/TECi_logo.svelte.d.ts +0 -0
- package/components/CountrySelector.svelte +3 -3
- package/components/Header.svelte +6 -6
- package/components/Icon.svelte +45 -0
- package/components/Icon.svelte.d.ts +25 -0
- package/components/SectionHeaderCentered.svelte +24 -0
- package/components/SectionHeaderCentered.svelte.d.ts +31 -0
- package/components/ThreeColumn.svelte +67 -0
- package/components/ThreeColumn.svelte.d.ts +41 -0
- package/components/TrialForm.svelte +174 -148
- package/package.json +15 -12
- package/Logos/TECi_icon_250.svelte +0 -21
- package/Logos/TECi_icon_250.svelte.d.ts +0 -23
package/README.md
CHANGED
|
@@ -4,4 +4,4 @@ SvelteKit Design System for Thunderhead web properties.
|
|
|
4
4
|
|
|
5
5
|
NPM package available at: https://www.npmjs.com/package/tecitheme
|
|
6
6
|
|
|
7
|
-
See
|
|
7
|
+
See https://tecitheme.netlify.app/ for demo, documentation and component details.
|
|
File without changes
|
|
File without changes
|
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
import Modal from "./Modal.svelte";
|
|
4
4
|
|
|
5
5
|
export let resellerModal = true;
|
|
6
|
-
let modal;
|
|
7
6
|
export let selection = 'sel';
|
|
7
|
+
export let allowContinue = false;
|
|
8
|
+
|
|
9
|
+
let modal;
|
|
8
10
|
let resellerIndex = -1;
|
|
9
11
|
let resellerArray = [
|
|
10
12
|
["BE", "NL", "LU"],
|
|
@@ -24,8 +26,6 @@
|
|
|
24
26
|
["ES"]
|
|
25
27
|
]
|
|
26
28
|
|
|
27
|
-
export let allowContinue = false;
|
|
28
|
-
|
|
29
29
|
function isReseller() {
|
|
30
30
|
resellerIndex = resellerArray.findIndex(arr => arr.includes(selection))
|
|
31
31
|
return resellerIndex > -1
|
package/components/Header.svelte
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
import
|
|
2
|
+
import Icon from "./Icon.svelte";
|
|
3
3
|
</script>
|
|
4
4
|
|
|
5
5
|
<header>
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
<div class="absolute inset-0 shadow z-30 pointer-events-none" aria-hidden="true"></div>
|
|
8
8
|
<div class="relative">
|
|
9
9
|
<div class="max-w-7xl mx-auto flex justify-between items-center px-4 py-5 md:space-x-6 sm:px-6 sm:py-4 lg:px-8 md:justify-start lg:space-x-10">
|
|
10
|
-
<!-- Nav
|
|
10
|
+
<!-- Nav Icon Linked to WWW Homepage -->
|
|
11
11
|
<div class="flex-shrink-0">
|
|
12
12
|
<a href="https://www.thunderheadeng.com" class="flex">
|
|
13
13
|
<span class="sr-only">Thunderhead Engineering</span>
|
|
14
|
-
<
|
|
14
|
+
<Icon classes="h-10 w-auto" />
|
|
15
15
|
</a>
|
|
16
16
|
</div>
|
|
17
17
|
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
<a href="https://www.thunderheadeng.com/pyrosim/" class="-m-3 p-3 flex flex-col justify-between rounded-lg hover:bg-gray-50">
|
|
51
51
|
<div class="flex md:h-full lg:flex-col">
|
|
52
52
|
<div class="flex-shrink-0">
|
|
53
|
-
<
|
|
53
|
+
<Icon classes="h-12 w-auto" icon="pyrosim" />
|
|
54
54
|
</div>
|
|
55
55
|
<div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between lg:ml-0 lg:mt-4">
|
|
56
56
|
<div>
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<a href="https://www.thunderheadeng.com/pathfinder/" class="-m-3 p-3 flex flex-col justify-between rounded-lg hover:bg-gray-50">
|
|
72
72
|
<div class="flex md:h-full lg:flex-col">
|
|
73
73
|
<div class="flex-shrink-0">
|
|
74
|
-
<
|
|
74
|
+
<Icon classes="h-12 w-auto" icon="pathfinder" />
|
|
75
75
|
</div>
|
|
76
76
|
<div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between lg:ml-0 lg:mt-4">
|
|
77
77
|
<div>
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
<a href="https://www.thunderheadeng.com/petrasim/" class="-m-3 p-3 flex flex-col justify-between rounded-lg hover:bg-gray-50">
|
|
93
93
|
<div class="flex md:h-full lg:flex-col">
|
|
94
94
|
<div class="flex-shrink-0">
|
|
95
|
-
<
|
|
95
|
+
<Icon classes="h-12 w-auto" icon='petrasim' />
|
|
96
96
|
</div>
|
|
97
97
|
<div class="ml-4 md:flex-1 md:flex md:flex-col md:justify-between lg:ml-0 lg:mt-4">
|
|
98
98
|
<div>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
export let icon;
|
|
3
|
+
export let classes;
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
{#if icon == 'pyrosim'}
|
|
7
|
+
<img
|
|
8
|
+
class={classes}
|
|
9
|
+
src="https://files.thunderheadeng.com/www/images/pyrosim_icon.svg"
|
|
10
|
+
alt="PyroSim"
|
|
11
|
+
title="PyroSim Icon"
|
|
12
|
+
/>
|
|
13
|
+
{:else if icon == 'pathfinder'}
|
|
14
|
+
<img
|
|
15
|
+
class={classes}
|
|
16
|
+
src="https://files.thunderheadeng.com/www/images/pathfinder_icon.svg"
|
|
17
|
+
alt="Pathfinder"
|
|
18
|
+
title="Pathfinder Icon"
|
|
19
|
+
/>
|
|
20
|
+
{:else if icon == 'petrasim'}
|
|
21
|
+
<img
|
|
22
|
+
class={classes}
|
|
23
|
+
src="https://files.thunderheadeng.com/www/images/petrasim_icon.svg"
|
|
24
|
+
alt="PetraSim"
|
|
25
|
+
title="PetraSim Icon"
|
|
26
|
+
/>
|
|
27
|
+
{:else}
|
|
28
|
+
<svg class={classes} xmlns="http://www.w3.org/2000/svg" viewBox="0 0 250 250">
|
|
29
|
+
<path
|
|
30
|
+
style="fill:#0c3879;fill-rule:evenodd;stroke:none"
|
|
31
|
+
d="M88.113 220.536h97.672v97.672H88.113z"
|
|
32
|
+
transform="matrix(2.5596 0 0 2.5596 -225.533 -564.483)"
|
|
33
|
+
/>
|
|
34
|
+
<path
|
|
35
|
+
style="fill:#fff;fill-rule:evenodd;stroke:none"
|
|
36
|
+
d="M145.864 260.176h22.042c2.792 0 4.883.835 6.559 2.651 1.532 1.673 2.232 3.764 2.232 6.278 0 2.37-.7 4.464-2.232 6.277-1.676 1.675-3.767 2.651-6.559 2.651h-22.042v-17.857m0 23.159h22.042c2.792 0 4.883.838 6.559 2.65 1.532 1.674 2.232 3.768 2.232 6.278 0 2.373-.7 4.464-2.232 6.278-1.676 1.675-3.767 2.65-6.559 2.65h-22.042v-17.856"
|
|
37
|
+
transform="matrix(2.5596 0 0 2.5596 -225.533 -564.483)"
|
|
38
|
+
/>
|
|
39
|
+
<path
|
|
40
|
+
style="fill:#fff;fill-rule:evenodd;stroke:none"
|
|
41
|
+
d="M132.471 301.192c-5.861 0-8.79-3.07-8.79-8.929l-.138-37.389-20.648-.14c-7.116-1.254-10.185-9.626-5.165-15.206 1.535-1.535 3.63-2.373 6.14-2.651h26.926l1.675.14h35.435c2.792 0 4.883.836 6.559 2.649 1.532 1.675 2.232 3.767 2.232 6.28 0 2.37-.7 4.464-2.232 6.277-1.676 1.673-3.767 2.651-6.559 2.651H141.26V301.192h-8.788"
|
|
42
|
+
transform="matrix(2.5596 0 0 2.5596 -225.533 -564.483)"
|
|
43
|
+
/>
|
|
44
|
+
</svg>
|
|
45
|
+
{/if}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} IconProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} IconEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} IconSlots */
|
|
4
|
+
export default class Icon extends SvelteComponentTyped<{
|
|
5
|
+
icon: any;
|
|
6
|
+
classes: any;
|
|
7
|
+
}, {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
}, {}> {
|
|
10
|
+
}
|
|
11
|
+
export type IconProps = typeof __propDef.props;
|
|
12
|
+
export type IconEvents = typeof __propDef.events;
|
|
13
|
+
export type IconSlots = typeof __propDef.slots;
|
|
14
|
+
import { SvelteComponentTyped } from "svelte";
|
|
15
|
+
declare const __propDef: {
|
|
16
|
+
props: {
|
|
17
|
+
icon: any;
|
|
18
|
+
classes: any;
|
|
19
|
+
};
|
|
20
|
+
events: {
|
|
21
|
+
[evt: string]: CustomEvent<any>;
|
|
22
|
+
};
|
|
23
|
+
slots: {};
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
//Based on: https://tailwindui.com/components/marketing/sections/header#component-2c3b25e7b9e4490edd7b6950692c0a11
|
|
3
|
+
|
|
4
|
+
export let data = {
|
|
5
|
+
toptext: 'Small Top Text ',
|
|
6
|
+
title: 'Big Title Text',
|
|
7
|
+
subtitle: 'Subtitle Text'
|
|
8
|
+
};
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<!-- This example requires Tailwind CSS v2.0+ -->
|
|
12
|
+
<div class="text-center">
|
|
13
|
+
{#if data.toptext}
|
|
14
|
+
<h2 class="text-base font-semibold text-indigo-600 tracking-wide uppercase">
|
|
15
|
+
{data.toptext}
|
|
16
|
+
</h2>
|
|
17
|
+
{/if}
|
|
18
|
+
<p class="mt-1 text-4xl font-extrabold text-gray-900 sm:text-5xl sm:tracking-tight lg:text-6xl">
|
|
19
|
+
{data.title}
|
|
20
|
+
</p>
|
|
21
|
+
<p class="max-w-xl mt-5 mx-auto text-xl text-gray-500">
|
|
22
|
+
{data.subtitle}
|
|
23
|
+
</p>
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} SectionHeaderCenteredProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} SectionHeaderCenteredEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} SectionHeaderCenteredSlots */
|
|
4
|
+
export default class SectionHeaderCentered extends SvelteComponentTyped<{
|
|
5
|
+
data?: {
|
|
6
|
+
toptext: string;
|
|
7
|
+
title: string;
|
|
8
|
+
subtitle: string;
|
|
9
|
+
};
|
|
10
|
+
}, {
|
|
11
|
+
[evt: string]: CustomEvent<any>;
|
|
12
|
+
}, {}> {
|
|
13
|
+
}
|
|
14
|
+
export type SectionHeaderCenteredProps = typeof __propDef.props;
|
|
15
|
+
export type SectionHeaderCenteredEvents = typeof __propDef.events;
|
|
16
|
+
export type SectionHeaderCenteredSlots = typeof __propDef.slots;
|
|
17
|
+
import { SvelteComponentTyped } from "svelte";
|
|
18
|
+
declare const __propDef: {
|
|
19
|
+
props: {
|
|
20
|
+
data?: {
|
|
21
|
+
toptext: string;
|
|
22
|
+
title: string;
|
|
23
|
+
subtitle: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
events: {
|
|
27
|
+
[evt: string]: CustomEvent<any>;
|
|
28
|
+
};
|
|
29
|
+
slots: {};
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
|
|
6
|
+
import Icon from './Icon.svelte';
|
|
7
|
+
|
|
8
|
+
export let title = 'A better way to send money.';
|
|
9
|
+
|
|
10
|
+
export let data = [
|
|
11
|
+
{
|
|
12
|
+
icon: 'pyrosim',
|
|
13
|
+
image: 'https://www.thunderheadeng.com/wp-content/uploads/2013/09/company_pyrosim.jpg',
|
|
14
|
+
heading: 'PyroSim',
|
|
15
|
+
subheading: 'Fire & Smoke',
|
|
16
|
+
text: 'Analyze fire control and smoke dissipation in various structures for fire protection and safety or investigation.',
|
|
17
|
+
linkText: 'Learn More »',
|
|
18
|
+
linkURL: '/pyrosim'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
icon: 'pathfinder',
|
|
22
|
+
image: 'https://www.thunderheadeng.com/wp-content/uploads/2013/08/company_pathfinder.png',
|
|
23
|
+
heading: 'Pathfinder',
|
|
24
|
+
subheading: 'Evacuation',
|
|
25
|
+
text: 'Understand pedestrian egress and congestion hazards for fire protection and safety or urban planning.',
|
|
26
|
+
linkText: 'Learn More »',
|
|
27
|
+
linkURL: '/pathfinder'
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
icon: 'petrasim',
|
|
31
|
+
image: 'https://www.thunderheadeng.com/wp-content/uploads/2013/08/company_petrasim.png',
|
|
32
|
+
heading: 'PetraSim',
|
|
33
|
+
subheading: 'Subsurface Flow',
|
|
34
|
+
text: 'Model nonisothermal multiphase flow and transport in fractured and porous media for environmental engineering.',
|
|
35
|
+
linkText: 'Learn More »',
|
|
36
|
+
linkURL: '/petrasim'
|
|
37
|
+
}
|
|
38
|
+
];
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<!-- This example requires Tailwind CSS v2.0+ -->
|
|
42
|
+
<div class="py-12 bg-white mx-auto">
|
|
43
|
+
<h2 class="sr-only">{title}</h2>
|
|
44
|
+
<dl class="space-y-10 sm:grid sm:grid-cols-2 sm:gap-8 sm:space-y-0 lg:grid-cols-3">
|
|
45
|
+
{#each data as col}
|
|
46
|
+
<div>
|
|
47
|
+
<a href={col.linkURL}>
|
|
48
|
+
<div class="space-y-4">
|
|
49
|
+
<div class="aspect-w-3 aspect-h-2">
|
|
50
|
+
<img class="object-cover shadow-lg rounded-lg" src={col.image} alt="" />
|
|
51
|
+
</div>
|
|
52
|
+
<div class="flex flex-row items-center space-x-4">
|
|
53
|
+
<Icon classes="h-12 w-auto" icon={col.icon} />
|
|
54
|
+
<div class="leading-6 font-medium">
|
|
55
|
+
<h3 class="text-2xl">{col.heading}</h3>
|
|
56
|
+
<p class="text-teci-blue-dark">{col.subheading}</p>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="text-lg">
|
|
60
|
+
<p class="text-gray-500">{col.text}</p>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
</a>
|
|
64
|
+
</div>
|
|
65
|
+
{/each}
|
|
66
|
+
</dl>
|
|
67
|
+
</div>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} ThreeColumnProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} ThreeColumnEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} ThreeColumnSlots */
|
|
4
|
+
export default class ThreeColumn extends SvelteComponentTyped<{
|
|
5
|
+
data?: {
|
|
6
|
+
icon: string;
|
|
7
|
+
image: string;
|
|
8
|
+
heading: string;
|
|
9
|
+
subheading: string;
|
|
10
|
+
text: string;
|
|
11
|
+
linkText: string;
|
|
12
|
+
linkURL: string;
|
|
13
|
+
}[];
|
|
14
|
+
title?: string;
|
|
15
|
+
}, {
|
|
16
|
+
[evt: string]: CustomEvent<any>;
|
|
17
|
+
}, {}> {
|
|
18
|
+
}
|
|
19
|
+
export type ThreeColumnProps = typeof __propDef.props;
|
|
20
|
+
export type ThreeColumnEvents = typeof __propDef.events;
|
|
21
|
+
export type ThreeColumnSlots = typeof __propDef.slots;
|
|
22
|
+
import { SvelteComponentTyped } from "svelte";
|
|
23
|
+
declare const __propDef: {
|
|
24
|
+
props: {
|
|
25
|
+
data?: {
|
|
26
|
+
icon: string;
|
|
27
|
+
image: string;
|
|
28
|
+
heading: string;
|
|
29
|
+
subheading: string;
|
|
30
|
+
text: string;
|
|
31
|
+
linkText: string;
|
|
32
|
+
linkURL: string;
|
|
33
|
+
}[];
|
|
34
|
+
title?: string;
|
|
35
|
+
};
|
|
36
|
+
events: {
|
|
37
|
+
[evt: string]: CustomEvent<any>;
|
|
38
|
+
};
|
|
39
|
+
slots: {};
|
|
40
|
+
};
|
|
41
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script >import CountrySelector from './CountrySelector.svelte';
|
|
2
|
-
import
|
|
2
|
+
import Icon from './Icon.svelte';
|
|
3
3
|
import { onMount } from 'svelte';
|
|
4
4
|
import { scrollTo, validateEmail } from '../utils.js';
|
|
5
5
|
import { variables } from '../variables';
|
|
@@ -59,164 +59,190 @@ const submitForm = async () => {
|
|
|
59
59
|
};
|
|
60
60
|
</script>
|
|
61
61
|
|
|
62
|
-
<
|
|
63
|
-
<
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
<div class="prose">
|
|
63
|
+
<h2>30-day Trial Request</h2>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="mt-10 sm:mt-0">
|
|
66
|
+
<div class="md:grid md:grid-cols-3 md:gap-6 mt-8">
|
|
67
|
+
<div class="md:col-span-1">
|
|
68
|
+
<div class=" prose px-4 sm:px-0">
|
|
66
69
|
<p>
|
|
67
|
-
|
|
68
|
-
and Pathfinder{/if}!<br />
|
|
69
|
-
You will receive an email to <strong>{message.email}</strong> with your activation key{#if message.product == 3}s{/if}
|
|
70
|
-
in a few moments.
|
|
70
|
+
Please complete the form and click "Send Request". <b>All fields are required.</b>
|
|
71
71
|
</p>
|
|
72
|
-
|
|
73
|
-
<h3>PyroSim</h3>
|
|
74
|
-
<p>
|
|
75
|
-
To download the most recent version visit the <a
|
|
76
|
-
href="https://support.thunderheadeng.com/pyrosim/">PyroSim Support</a
|
|
77
|
-
> page.
|
|
78
|
-
</p>
|
|
79
|
-
{:else if message.product == 2}
|
|
80
|
-
<h3>Pathfinder</h3>
|
|
81
|
-
<p>
|
|
82
|
-
To download the most recent version visit the <a
|
|
83
|
-
href="https://support.thunderheadeng.com/pathfinder/">Pathfinder Support</a
|
|
84
|
-
> page.
|
|
85
|
-
</p>
|
|
86
|
-
{:else if message.product == 3}
|
|
87
|
-
<h3>PyroSim</h3>
|
|
88
|
-
<p>
|
|
89
|
-
To download the most recent version visit the <a
|
|
90
|
-
href="https://support.thunderheadeng.com/pyrosim/">PyroSim Support</a
|
|
91
|
-
> page.
|
|
92
|
-
</p>
|
|
93
|
-
<h3>Pathfinder</h3>
|
|
94
|
-
<p>
|
|
95
|
-
To download the most recent version visit the <a
|
|
96
|
-
href="https://support.thunderheadeng.com/pathfinder/">Pathfinder Support</a
|
|
97
|
-
> page.
|
|
98
|
-
</p>
|
|
99
|
-
{/if}
|
|
100
|
-
<h3>Need Help?</h3>
|
|
72
|
+
<p>Within a few minutes, you will receive an email message containing a download link.</p>
|
|
101
73
|
<p>
|
|
102
|
-
|
|
103
|
-
you have any questions.
|
|
74
|
+
If you need assistance, please send an email to <a href="mailto:sales@thunderheadeng.com">sales</a>.
|
|
104
75
|
</p>
|
|
105
76
|
</div>
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
<input
|
|
154
|
-
id="pyrosim"
|
|
155
|
-
name="product"
|
|
156
|
-
type="radio"
|
|
157
|
-
value={1}
|
|
158
|
-
bind:group={product}
|
|
159
|
-
class="focus:ring-teci-blue-dark h-4 w-4 text-blue-600 border-gray-300"
|
|
160
|
-
/>
|
|
161
|
-
<label for="pyrosim" class="ml-3 block text-sm font-medium text-gray-700">
|
|
162
|
-
PyroSim
|
|
163
|
-
</label>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="mt-5 md:mt-0 md:col-span-2">
|
|
79
|
+
<form id="trial-request" on:submit|preventDefault={submitForm}>
|
|
80
|
+
<div class="border shadow overflow-hidden">
|
|
81
|
+
{#if message}
|
|
82
|
+
<div class="px-4 py-5 bg-white sm:p-6 prose">
|
|
83
|
+
<p>
|
|
84
|
+
Thank you <strong>{message.name}</strong> for requesting a trial of {#if message.product == 1}PyroSim{:else if message.product == 2}Pathfinder{:else if message.product == 3}PyroSim
|
|
85
|
+
and Pathfinder{/if}!<br />
|
|
86
|
+
You will receive an email to <strong>{message.email}</strong> with your activation
|
|
87
|
+
key{#if message.product == 3}s{/if}
|
|
88
|
+
in a few moments.
|
|
89
|
+
</p>
|
|
90
|
+
{#if message.product == 1}
|
|
91
|
+
<h3>PyroSim</h3>
|
|
92
|
+
<p>
|
|
93
|
+
To download the most recent version visit the <a
|
|
94
|
+
href="https://support.thunderheadeng.com/pyrosim/">PyroSim Support</a
|
|
95
|
+
> page.
|
|
96
|
+
</p>
|
|
97
|
+
{:else if message.product == 2}
|
|
98
|
+
<h3>Pathfinder</h3>
|
|
99
|
+
<p>
|
|
100
|
+
To download the most recent version visit the <a
|
|
101
|
+
href="https://support.thunderheadeng.com/pathfinder/">Pathfinder Support</a
|
|
102
|
+
> page.
|
|
103
|
+
</p>
|
|
104
|
+
{:else if message.product == 3}
|
|
105
|
+
<h3>PyroSim</h3>
|
|
106
|
+
<p>
|
|
107
|
+
To download the most recent version visit the <a
|
|
108
|
+
href="https://support.thunderheadeng.com/pyrosim/">PyroSim Support</a
|
|
109
|
+
> page.
|
|
110
|
+
</p>
|
|
111
|
+
<h3>Pathfinder</h3>
|
|
112
|
+
<p>
|
|
113
|
+
To download the most recent version visit the <a
|
|
114
|
+
href="https://support.thunderheadeng.com/pathfinder/">Pathfinder Support</a
|
|
115
|
+
> page.
|
|
116
|
+
</p>
|
|
117
|
+
{/if}
|
|
118
|
+
<h3>Need Help?</h3>
|
|
119
|
+
<p>
|
|
120
|
+
Please email <a href="mailto:support@thunderheadeng.com"
|
|
121
|
+
>support@thunderheadeng.com</a
|
|
122
|
+
> if you have any questions.
|
|
123
|
+
</p>
|
|
164
124
|
</div>
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
bind:group={product}
|
|
172
|
-
class="focus:ring-teci-blue-dark h-4 w-4 text-blue-600 border-gray-300"
|
|
173
|
-
/>
|
|
174
|
-
<label for="pathfinder" class="ml-3 block text-sm font-medium text-gray-700">
|
|
175
|
-
Pathfinder
|
|
176
|
-
</label>
|
|
125
|
+
{:else if error}
|
|
126
|
+
<p>There was an error: {error}</p>
|
|
127
|
+
{:else if waiting}
|
|
128
|
+
<div id="waiting" class="p-12 mx-auto">
|
|
129
|
+
<p class="text-center pb-8 font-bold">Waiting for Trial Approval...</p>
|
|
130
|
+
<Icon classes="h-24 w-24 mx-auto animate-pulse" />
|
|
177
131
|
</div>
|
|
178
|
-
|
|
132
|
+
{:else}
|
|
133
|
+
<div class="px-4 py-5 bg-white space-y-6 sm:p-6">
|
|
134
|
+
<fieldset>
|
|
135
|
+
<div>
|
|
136
|
+
<legend class="text-lg font-bold text-gray-900"> Personal Information </legend>
|
|
137
|
+
</div>
|
|
138
|
+
<div class="flex flex-row align-middle items-center pt-4">
|
|
139
|
+
<label for="name" class="whitespace-nowrap pr-2 block font-medium text-gray-700">
|
|
140
|
+
Full Name:
|
|
141
|
+
</label>
|
|
142
|
+
<input
|
|
143
|
+
id="name"
|
|
144
|
+
type="text"
|
|
145
|
+
name="name"
|
|
146
|
+
bind:value={name}
|
|
147
|
+
class="w-full p-1 border-0 border-b-2 border-gray-500"
|
|
148
|
+
/>
|
|
149
|
+
</div>
|
|
150
|
+
<div class="flex flex-row align-middle items-center pt-4">
|
|
151
|
+
<label for="email" class="pr-2 block font-medium text-gray-700"> Email: </label>
|
|
152
|
+
<input
|
|
153
|
+
id="email"
|
|
154
|
+
type="text"
|
|
155
|
+
name="email"
|
|
156
|
+
bind:value={email}
|
|
157
|
+
class="w-full p-1 border-0 border-b-2 border-gray-500"
|
|
158
|
+
/>
|
|
159
|
+
</div>
|
|
160
|
+
<div class="flex flex-row align-middle items-center pt-4">
|
|
161
|
+
<label for="country" class="pr-2 block font-medium text-gray-700">
|
|
162
|
+
Country:
|
|
163
|
+
</label>
|
|
164
|
+
<input id="country" type="hidden" name="country" value={country} />
|
|
165
|
+
<CountrySelector bind:selection={country} bind:resellerModal />
|
|
166
|
+
</div>
|
|
167
|
+
</fieldset>
|
|
168
|
+
<fieldset>
|
|
169
|
+
<div>
|
|
170
|
+
<legend class="text-lg font-bold text-gray-900">
|
|
171
|
+
What would you like to try?
|
|
172
|
+
</legend>
|
|
173
|
+
</div>
|
|
174
|
+
<div class="mt-4 space-y-4">
|
|
175
|
+
<div class="flex items-center">
|
|
176
|
+
<input
|
|
177
|
+
id="pyrosim"
|
|
178
|
+
name="product"
|
|
179
|
+
type="radio"
|
|
180
|
+
value={1}
|
|
181
|
+
bind:group={product}
|
|
182
|
+
class="focus:ring-teci-blue-dark h-4 w-4 text-blue-600 border-gray-300"
|
|
183
|
+
/>
|
|
184
|
+
<label for="pyrosim" class="ml-3 block text-sm font-medium text-gray-700">
|
|
185
|
+
PyroSim
|
|
186
|
+
</label>
|
|
187
|
+
</div>
|
|
188
|
+
<div class="flex items-center">
|
|
189
|
+
<input
|
|
190
|
+
id="pathfinder"
|
|
191
|
+
name="product"
|
|
192
|
+
type="radio"
|
|
193
|
+
value={2}
|
|
194
|
+
bind:group={product}
|
|
195
|
+
class="focus:ring-teci-blue-dark h-4 w-4 text-blue-600 border-gray-300"
|
|
196
|
+
/>
|
|
197
|
+
<label for="pathfinder" class="ml-3 block text-sm font-medium text-gray-700">
|
|
198
|
+
Pathfinder
|
|
199
|
+
</label>
|
|
200
|
+
</div>
|
|
201
|
+
<div class="flex items-center">
|
|
202
|
+
<input
|
|
203
|
+
id="pyropath"
|
|
204
|
+
name="product"
|
|
205
|
+
type="radio"
|
|
206
|
+
value={3}
|
|
207
|
+
bind:group={product}
|
|
208
|
+
class="focus:ring-teci-blue-dark h-4 w-4 text-blue-600 border-gray-300"
|
|
209
|
+
/>
|
|
210
|
+
<label for="pyropath" class="ml-3 block text-sm font-medium text-gray-700">
|
|
211
|
+
PyroSim and Pathfinder
|
|
212
|
+
</label>
|
|
213
|
+
</div>
|
|
214
|
+
</div>
|
|
215
|
+
</fieldset>
|
|
179
216
|
<input
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
type="
|
|
183
|
-
|
|
184
|
-
bind:
|
|
185
|
-
|
|
217
|
+
class="confident"
|
|
218
|
+
id="answer"
|
|
219
|
+
type="text"
|
|
220
|
+
name="answer"
|
|
221
|
+
bind:value={answer}
|
|
222
|
+
placeholder="Correct answers only..."
|
|
186
223
|
/>
|
|
187
|
-
<label for="pyropath" class="ml-3 block text-sm font-medium text-gray-700">
|
|
188
|
-
PyroSim and Pathfinder
|
|
189
|
-
</label>
|
|
190
224
|
</div>
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
>
|
|
211
|
-
Send Request
|
|
212
|
-
</button>
|
|
213
|
-
{#if answer}
|
|
214
|
-
<p>Something is wrong with the form, please email support@thunderheadeng.com.</p>
|
|
215
|
-
{/if}
|
|
216
|
-
</div>
|
|
217
|
-
{/if}
|
|
225
|
+
<div class="px-4 py-3 text-right sm:px-6">
|
|
226
|
+
<button
|
|
227
|
+
type="submit"
|
|
228
|
+
disabled={!valid}
|
|
229
|
+
class="inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium text-white {valid ===
|
|
230
|
+
true
|
|
231
|
+
? 'bg-teci-blue-light hover:bg-teci-blue-dark focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500'
|
|
232
|
+
: 'bg-gray-300 cursor-not-allowed'}"
|
|
233
|
+
>
|
|
234
|
+
Send Request
|
|
235
|
+
</button>
|
|
236
|
+
{#if answer}
|
|
237
|
+
<p>Something is wrong with the form, please email support@thunderheadeng.com.</p>
|
|
238
|
+
{/if}
|
|
239
|
+
</div>
|
|
240
|
+
{/if}
|
|
241
|
+
</div>
|
|
242
|
+
</form>
|
|
243
|
+
</div>
|
|
218
244
|
</div>
|
|
219
|
-
</
|
|
245
|
+
</div>
|
|
220
246
|
|
|
221
247
|
<style >
|
|
222
248
|
.confident {
|
package/package.json
CHANGED
|
@@ -1,33 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tecitheme",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"svelte": true,
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@sveltejs/adapter-auto": "next",
|
|
7
|
+
"@sveltejs/adapter-netlify": "^1.0.0-next.44",
|
|
7
8
|
"@sveltejs/kit": "next",
|
|
8
9
|
"@tailwindcss/forms": "^0.4.0",
|
|
9
|
-
"@tailwindcss/typography": "^0.5.
|
|
10
|
+
"@tailwindcss/typography": "^0.5.1",
|
|
10
11
|
"@types/cookie": "^0.4.1",
|
|
11
12
|
"@typescript-eslint/eslint-plugin": "^4.31.1",
|
|
12
13
|
"@typescript-eslint/parser": "^4.31.1",
|
|
13
14
|
"autoprefixer": "^10.4.2",
|
|
14
|
-
"dotenv": "^
|
|
15
|
+
"dotenv": "^16.0.0",
|
|
15
16
|
"encoding": "^0.1.13",
|
|
16
17
|
"eslint": "^7.32.0",
|
|
17
18
|
"eslint-config-prettier": "^8.3.0",
|
|
18
19
|
"eslint-plugin-svelte3": "^3.4.0",
|
|
19
|
-
"mdsvex": "^0.
|
|
20
|
-
"postcss": "^8.4.
|
|
20
|
+
"mdsvex": "^0.10.5",
|
|
21
|
+
"postcss": "^8.4.6",
|
|
21
22
|
"prettier": "^2.5.1",
|
|
22
23
|
"prettier-plugin-svelte": "^2.6.0",
|
|
23
24
|
"stream": "^0.0.2",
|
|
24
|
-
"svelte": "^3.46.
|
|
25
|
-
"svelte-check": "^2.
|
|
25
|
+
"svelte": "^3.46.3",
|
|
26
|
+
"svelte-check": "^2.4.2",
|
|
26
27
|
"svelte-cubed": "^0.2.1",
|
|
27
28
|
"svelte-preprocess": "^4.10.2",
|
|
28
|
-
"svelte2tsx": "^0.
|
|
29
|
-
"tailwindcss": "^3.0.
|
|
30
|
-
"three": "^0.
|
|
29
|
+
"svelte2tsx": "^0.5.2",
|
|
30
|
+
"tailwindcss": "^3.0.18",
|
|
31
|
+
"three": "^0.137.5",
|
|
31
32
|
"tslib": "^2.3.1",
|
|
32
33
|
"typescript": "^4.5.5",
|
|
33
34
|
"vite": "^2.7.13"
|
|
@@ -40,13 +41,15 @@
|
|
|
40
41
|
},
|
|
41
42
|
"exports": {
|
|
42
43
|
"./package.json": "./package.json",
|
|
43
|
-
"./
|
|
44
|
-
"./Logos/TECi_logo.svelte": "./Logos/TECi_logo.svelte",
|
|
44
|
+
"./assets/TECi_logo.svelte": "./assets/TECi_logo.svelte",
|
|
45
45
|
"./components/Banner.svelte": "./components/Banner.svelte",
|
|
46
46
|
"./components/CountrySelector.svelte": "./components/CountrySelector.svelte",
|
|
47
47
|
"./components/Footer.svelte": "./components/Footer.svelte",
|
|
48
48
|
"./components/Header.svelte": "./components/Header.svelte",
|
|
49
|
+
"./components/Icon.svelte": "./components/Icon.svelte",
|
|
49
50
|
"./components/Modal.svelte": "./components/Modal.svelte",
|
|
51
|
+
"./components/SectionHeaderCentered.svelte": "./components/SectionHeaderCentered.svelte",
|
|
52
|
+
"./components/ThreeColumn.svelte": "./components/ThreeColumn.svelte",
|
|
50
53
|
"./components/TrialForm.svelte": "./components/TrialForm.svelte",
|
|
51
54
|
"./demodata": "./demodata.js",
|
|
52
55
|
"./req_utils": "./req_utils.js",
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export let classes = ""
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 250 250" class={classes}>
|
|
6
|
-
<path
|
|
7
|
-
style="fill:#0c3879;fill-rule:evenodd;stroke:none"
|
|
8
|
-
d="M88.113 220.536h97.672v97.672H88.113z"
|
|
9
|
-
transform="matrix(2.5596 0 0 2.5596 -225.533 -564.483)">
|
|
10
|
-
</path>
|
|
11
|
-
<path
|
|
12
|
-
style="fill:#fff;fill-rule:evenodd;stroke:none"
|
|
13
|
-
d="M145.864 260.176h22.042c2.792 0 4.883.835 6.559 2.651 1.532 1.673 2.232 3.764 2.232 6.278 0 2.37-.7 4.464-2.232 6.277-1.676 1.675-3.767 2.651-6.559 2.651h-22.042v-17.857m0 23.159h22.042c2.792 0 4.883.838 6.559 2.65 1.532 1.674 2.232 3.768 2.232 6.278 0 2.373-.7 4.464-2.232 6.278-1.676 1.675-3.767 2.65-6.559 2.65h-22.042v-17.856"
|
|
14
|
-
transform="matrix(2.5596 0 0 2.5596 -225.533 -564.483)">
|
|
15
|
-
</path>
|
|
16
|
-
<path
|
|
17
|
-
style="fill:#fff;fill-rule:evenodd;stroke:none"
|
|
18
|
-
d="M132.471 301.192c-5.861 0-8.79-3.07-8.79-8.929l-.138-37.389-20.648-.14c-7.116-1.254-10.185-9.626-5.165-15.206 1.535-1.535 3.63-2.373 6.14-2.651h26.926l1.675.14h35.435c2.792 0 4.883.836 6.559 2.649 1.532 1.675 2.232 3.767 2.232 6.28 0 2.37-.7 4.464-2.232 6.277-1.676 1.673-3.767 2.651-6.559 2.651H141.26V301.192h-8.788"
|
|
19
|
-
transform="matrix(2.5596 0 0 2.5596 -225.533 -564.483)">
|
|
20
|
-
</path>
|
|
21
|
-
</svg>
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/** @typedef {typeof __propDef.props} TeCiIcon_250Props */
|
|
2
|
-
/** @typedef {typeof __propDef.events} TeCiIcon_250Events */
|
|
3
|
-
/** @typedef {typeof __propDef.slots} TeCiIcon_250Slots */
|
|
4
|
-
export default class TeCiIcon_250 extends SvelteComponentTyped<{
|
|
5
|
-
classes?: string;
|
|
6
|
-
}, {
|
|
7
|
-
[evt: string]: CustomEvent<any>;
|
|
8
|
-
}, {}> {
|
|
9
|
-
}
|
|
10
|
-
export type TeCiIcon_250Props = typeof __propDef.props;
|
|
11
|
-
export type TeCiIcon_250Events = typeof __propDef.events;
|
|
12
|
-
export type TeCiIcon_250Slots = typeof __propDef.slots;
|
|
13
|
-
import { SvelteComponentTyped } from "svelte";
|
|
14
|
-
declare const __propDef: {
|
|
15
|
-
props: {
|
|
16
|
-
classes?: string;
|
|
17
|
-
};
|
|
18
|
-
events: {
|
|
19
|
-
[evt: string]: CustomEvent<any>;
|
|
20
|
-
};
|
|
21
|
-
slots: {};
|
|
22
|
-
};
|
|
23
|
-
export {};
|