tecitheme 0.3.4 → 0.4.1
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 +0 -1
- package/dist/components/CountrySelector.svelte +2 -2
- package/dist/index.d.ts +31 -0
- package/dist/index.js +31 -0
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +2 -1
- package/dist/variables.d.ts +3 -3
- package/dist/variables.js +3 -1
- package/package.json +28 -27
- package/.eslintrc.cjs +0 -24
- package/.frontmatter/content/mediaDb.json +0 -1
- package/.frontmatter/templates/article.md +0 -11
- package/.gitpod.yml +0 -19
- package/.vscode/ltex.dictionary.en-US.txt +0 -3
- package/.vscode/settings.json +0 -7
- package/frontmatter.json +0 -17
- package/mdsvex.config.js +0 -19
- package/netlify.toml +0 -7
- package/postcss.config.cjs +0 -13
- package/src/app.css +0 -49
- package/src/app.html +0 -22
- package/src/global.d.ts +0 -5
- package/src/lib/assets/TECi_logo.svelte +0 -177
- package/src/lib/assets/js/store.js +0 -4
- package/src/lib/components/Banner.svelte +0 -91
- package/src/lib/components/Button.svelte +0 -12
- package/src/lib/components/CTA.svelte +0 -36
- package/src/lib/components/CTABranded.svelte +0 -15
- package/src/lib/components/CTASplitImage.svelte +0 -27
- package/src/lib/components/Card.svelte +0 -93
- package/src/lib/components/ContentTwoColumns.svelte +0 -47
- package/src/lib/components/CountrySelector.svelte +0 -167
- package/src/lib/components/FeatureGrid.svelte +0 -40
- package/src/lib/components/Figure.svelte +0 -37
- package/src/lib/components/Footer.svelte +0 -270
- package/src/lib/components/Header.svelte +0 -1230
- package/src/lib/components/HeadingCentered.svelte +0 -33
- package/src/lib/components/Hero.svelte +0 -72
- package/src/lib/components/Icon.svelte +0 -138
- package/src/lib/components/LogoCloud.svelte +0 -25
- package/src/lib/components/Math.svelte +0 -24
- package/src/lib/components/MediaFeature.svelte +0 -66
- package/src/lib/components/Modal.svelte +0 -68
- package/src/lib/components/NewsGrid.svelte +0 -182
- package/src/lib/components/PricingTable.svelte +0 -92
- package/src/lib/components/SidebarContent.svelte +0 -122
- package/src/lib/components/Stats.svelte +0 -34
- package/src/lib/components/Subscribe.svelte +0 -24
- package/src/lib/components/Testimonial.svelte +0 -169
- package/src/lib/components/ThreeColumn.svelte +0 -19
- package/src/lib/components/TrialForm.svelte +0 -302
- package/src/lib/components/Video.svelte +0 -118
- package/src/lib/components/Wrap.svelte +0 -12
- package/src/lib/get-content.js +0 -98
- package/src/lib/layouts/blocks.svelte +0 -93
- package/src/lib/req_utils.js +0 -63
- package/src/lib/site_config.json +0 -11
- package/src/lib/utils.js +0 -92
- package/src/lib/variables.ts +0 -3
- package/src/routes/+layout.server.js +0 -20
- package/src/routes/+layout.svelte +0 -24
- package/src/routes/+page.md +0 -61
- package/src/routes/features/+page.md +0 -78
- package/src/routes/news/+page.md +0 -21
- package/src/routes/news/[slug]/+page.svelte +0 -33
- package/src/routes/news/[slug]/+page.ts +0 -16
- package/src/routes/news/filter/[tag]/+page.svelte +0 -36
- package/src/routes/news/filter/[tag]/+page.ts +0 -14
- package/src/routes/news/post1.md +0 -45
- package/src/routes/news/post2.md +0 -46
- package/src/routes/pathfinder/+page.md +0 -240
- package/src/routes/pathfinder/news/+page.md +0 -20
- package/src/routes/posts.json/+server.js +0 -9
- package/src/routes/product/+page.md +0 -240
- package/src/routes/product/news/+page.md +0 -20
- package/src/routes/product/trial/+page.svelte +0 -7
- package/src/routes/sidebar/+page.md +0 -357
- package/static/favicon.ico +0 -0
- package/static/uploads/company_pathfinder.png +0 -0
- package/static/uploads/company_petrasim.png +0 -0
- package/static/uploads/company_pyrosim.jpg +0 -0
- package/static/uploads/fire.jpg +0 -0
- package/static/uploads/pyrosim_libraries_386x395.png +0 -0
- package/static/uploads/rocks.jpg +0 -0
- package/static/uploads/water.jpg +0 -0
- package/svelte.config.js +0 -32
- package/tailwind.config.cjs +0 -26
- package/tsconfig.json +0 -32
- package/vite.config.js +0 -20
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export let showCTA;
|
|
3
|
-
export let shortText;
|
|
4
|
-
export let longText;
|
|
5
|
-
export let ctaText;
|
|
6
|
-
export let ctaLink;
|
|
7
|
-
export let allowClose;
|
|
8
|
-
|
|
9
|
-
let bannerOpen = true;
|
|
10
|
-
|
|
11
|
-
let toggleBanner = () => {
|
|
12
|
-
bannerOpen = !bannerOpen;
|
|
13
|
-
};
|
|
14
|
-
</script>
|
|
15
|
-
|
|
16
|
-
{#if bannerOpen}
|
|
17
|
-
<!-- This example requires Tailwind CSS v2.0+ -->
|
|
18
|
-
<div class="bg-teci-blue-light">
|
|
19
|
-
<div class="mx-auto max-w-7xl py-3 px-3 sm:px-6 lg:px-8">
|
|
20
|
-
<div class="flex flex-wrap justify-between">
|
|
21
|
-
<div class="order-1 flex h-10 w-0 flex-1 items-center">
|
|
22
|
-
<span class="flex p-1">
|
|
23
|
-
<!-- Heroicon name: outline/speakerphone -->
|
|
24
|
-
<svg
|
|
25
|
-
class="h-6 w-6 text-white"
|
|
26
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
27
|
-
fill="none"
|
|
28
|
-
viewBox="0 0 24 24"
|
|
29
|
-
stroke-width="2"
|
|
30
|
-
stroke="currentColor"
|
|
31
|
-
aria-hidden="true"
|
|
32
|
-
>
|
|
33
|
-
<path
|
|
34
|
-
stroke-linecap="round"
|
|
35
|
-
stroke-linejoin="round"
|
|
36
|
-
d="M11 5.882V19.24a1.76 1.76 0 01-3.417.592l-2.147-6.15M18 13a3 3 0 100-6M5.436 13.683A4.001 4.001 0 017 6h1.832c4.1 0 7.625-1.234 9.168-3v14c-1.543-1.766-5.067-3-9.168-3H7a3.988 3.988 0 01-1.564-.317z"
|
|
37
|
-
/>
|
|
38
|
-
</svg>
|
|
39
|
-
</span>
|
|
40
|
-
<p class="ml-3 truncate font-medium text-white">
|
|
41
|
-
<span class="inline md:hidden">{shortText}</span>
|
|
42
|
-
<span class="hidden md:inline">{longText}</span>
|
|
43
|
-
</p>
|
|
44
|
-
</div>
|
|
45
|
-
{#if showCTA}
|
|
46
|
-
<div
|
|
47
|
-
class="order-3 mt-2 w-full flex-shrink-0 sm:order-2 sm:mt-0 sm:ml-3 sm:w-auto"
|
|
48
|
-
>
|
|
49
|
-
<a
|
|
50
|
-
href={ctaLink}
|
|
51
|
-
class="flex items-center justify-center border border-transparent bg-white px-4 py-2 text-sm font-medium text-teci-blue-light shadow-sm hover:bg-teci-blue-dark hover:text-white"
|
|
52
|
-
>
|
|
53
|
-
{ctaText}
|
|
54
|
-
</a>
|
|
55
|
-
</div>
|
|
56
|
-
{/if}
|
|
57
|
-
{#if allowClose}
|
|
58
|
-
<div class="order-2 flex-shrink-0 sm:order-3 sm:ml-3">
|
|
59
|
-
<button
|
|
60
|
-
type="button"
|
|
61
|
-
on:click={toggleBanner}
|
|
62
|
-
class="-mr-1 flex p-2 hover:bg-teci-blue-dark focus:outline-none focus:ring-2 focus:ring-white sm:-mr-2"
|
|
63
|
-
>
|
|
64
|
-
<span class="sr-only">Dismiss</span>
|
|
65
|
-
<!-- Heroicon name: outline/x -->
|
|
66
|
-
<svg
|
|
67
|
-
class="h-6 w-6 text-white"
|
|
68
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
69
|
-
fill="none"
|
|
70
|
-
viewBox="0 0 24 24"
|
|
71
|
-
stroke-width="2"
|
|
72
|
-
stroke="currentColor"
|
|
73
|
-
aria-hidden="true"
|
|
74
|
-
>
|
|
75
|
-
<path
|
|
76
|
-
stroke-linecap="round"
|
|
77
|
-
stroke-linejoin="round"
|
|
78
|
-
d="M6 18L18 6M6 6l12 12"
|
|
79
|
-
/>
|
|
80
|
-
</svg>
|
|
81
|
-
</button>
|
|
82
|
-
</div>
|
|
83
|
-
{:else}
|
|
84
|
-
<div class="order-2 flex-shrink-0">
|
|
85
|
-
<span> </span>
|
|
86
|
-
</div>
|
|
87
|
-
{/if}
|
|
88
|
-
</div>
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
{/if}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export let data;
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<!-- This example requires Tailwind CSS v2.0+ -->
|
|
6
|
-
<section class="mx-auto mb-12 px-4 text-center sm:px-6 lg:px-8">
|
|
7
|
-
{#if data.title}
|
|
8
|
-
<h2
|
|
9
|
-
class="{data.subtitle
|
|
10
|
-
? 'mb-4'
|
|
11
|
-
: 'mb-8'} text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl"
|
|
12
|
-
>
|
|
13
|
-
<span class="block">{data.title}</span>
|
|
14
|
-
</h2>
|
|
15
|
-
{/if}
|
|
16
|
-
{#if data.subtitle}
|
|
17
|
-
<h3 class="mb-8 text-xl font-bold tracking-tight text-teci-blue-dark">
|
|
18
|
-
<span class="block">{data.subtitle}</span>
|
|
19
|
-
</h3>
|
|
20
|
-
{/if}
|
|
21
|
-
{#if data.links}
|
|
22
|
-
<div
|
|
23
|
-
class="flex flex-col items-center justify-center space-x-0 space-y-8 md:flex-row md:justify-around md:space-x-8 md:space-y-0"
|
|
24
|
-
>
|
|
25
|
-
{#each data.links as link}
|
|
26
|
-
<div class="inline-flex w-full max-w-xs shadow-sm">
|
|
27
|
-
<a
|
|
28
|
-
href={link.linkURL}
|
|
29
|
-
class="btn inline-flex w-full items-center px-5 py-3 text-base"
|
|
30
|
-
>{link.linkText}</a
|
|
31
|
-
>
|
|
32
|
-
</div>
|
|
33
|
-
{/each}
|
|
34
|
-
</div>
|
|
35
|
-
{/if}
|
|
36
|
-
</section>
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export let data
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<section class="{(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : "bg-teci-blue-dark"))}">
|
|
6
|
-
<div class="mx-auto max-w-4xl py-10 px-6 text-center sm:py-10 lg:px-8">
|
|
7
|
-
<h2 class="text-3xl font-bold tracking-tight text-white sm:text-4xl">
|
|
8
|
-
<span class="block">{@html data.heading}</span>
|
|
9
|
-
</h2>
|
|
10
|
-
<p class="mt-4 text-lg leading-6 text-gray-200">{@html data.body}</p>
|
|
11
|
-
<a href={data.cta_url} class="mt-8 inline-flex w-full items-center justify-center border border-transparent bg-white px-5 py-3 text-base font-medium text-gray-900 hover:bg-indigo-50 sm:w-auto">
|
|
12
|
-
{data.cta}
|
|
13
|
-
</a>
|
|
14
|
-
</div>
|
|
15
|
-
</section>
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export let data
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<div class="relative {(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : "bg-teci-blue-dark"))}">
|
|
6
|
-
<div class="h-56 sm:h-72 md:absolute md:left-0 md:h-full md:w-1/2">
|
|
7
|
-
<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
|
-
</div>
|
|
9
|
-
<div class="relative mx-auto max-w-7xl py-12 px-6 lg:px-8 lg:py-16">
|
|
10
|
-
<div class="md:ml-auto md:w-1/2 md:pl-10">
|
|
11
|
-
<h2 class="text-lg font-semibold text-gray-300">{data.preheading}</h2>
|
|
12
|
-
<p class="mt-2 text-3xl font-bold tracking-tight text-white sm:text-4xl">{data.heading}</p>
|
|
13
|
-
<ol class="mt-3 text-lg text-gray-300 list-decimal pl-6">
|
|
14
|
-
{#each data.items as item}
|
|
15
|
-
<li>{item.text}</li>
|
|
16
|
-
{/each}
|
|
17
|
-
</ol>
|
|
18
|
-
<div class="mt-8">
|
|
19
|
-
<div class="inline-flex shadow">
|
|
20
|
-
<a href={data.cta_url} class="inline-flex items-center justify-center border border-transparent bg-white px-5 py-3 text-base font-medium text-gray-900 hover:bg-gray-50">
|
|
21
|
-
{data.cta}
|
|
22
|
-
</a>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
//Allows icons from https://fonts.google.com/icons?selected=Material+Icons by name in the format 'icon-XXXX'.
|
|
3
|
-
import Icon from "$lib/components/Icon.svelte";
|
|
4
|
-
import Wrap from "$lib/components/Wrap.svelte";
|
|
5
|
-
export let data;
|
|
6
|
-
export let halfHeight;
|
|
7
|
-
|
|
8
|
-
let backgroundImage;
|
|
9
|
-
|
|
10
|
-
if (data.image) {
|
|
11
|
-
if (data.image.includes("gif")) {
|
|
12
|
-
backgroundImage = "https://teci-files.imgix.net/www/images/" + data.image;
|
|
13
|
-
} else {
|
|
14
|
-
backgroundImage =
|
|
15
|
-
"https://teci-files.imgix.net/www/images/" +
|
|
16
|
-
data.image +
|
|
17
|
-
"?w=1200&h=627&fit=crop&auto=compress&auto=format";
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
</script>
|
|
21
|
-
|
|
22
|
-
<div
|
|
23
|
-
class="group flex flex-col items-stretch space-y-2 border border-gray-100 p-2 hover:border-gray-200 hover:shadow-md"
|
|
24
|
-
>
|
|
25
|
-
{#if data.image}
|
|
26
|
-
<div
|
|
27
|
-
style="background-image: url({backgroundImage});"
|
|
28
|
-
class="w-full shrink-0 {halfHeight
|
|
29
|
-
? 'aspect-video'
|
|
30
|
-
: 'aspect-square'} flex items-center justify-center border border-gray-200 bg-cover bg-no-repeat"
|
|
31
|
-
>
|
|
32
|
-
<div
|
|
33
|
-
class="{halfHeight
|
|
34
|
-
? 'space-y-4'
|
|
35
|
-
: 'space-y-8'} flex h-full w-full flex-col items-center justify-center"
|
|
36
|
-
>
|
|
37
|
-
{#if data.links}
|
|
38
|
-
{#each data.links as link}
|
|
39
|
-
<a
|
|
40
|
-
href={link.linkURL}
|
|
41
|
-
class="btn w-3/4 whitespace-nowrap text-center text-sm"
|
|
42
|
-
>
|
|
43
|
-
{link.linkText}
|
|
44
|
-
</a>
|
|
45
|
-
{/each}
|
|
46
|
-
{:else}
|
|
47
|
-
<a href={data.cardURL} class="h-full w-full">
|
|
48
|
-
<span>​</span>
|
|
49
|
-
</a>
|
|
50
|
-
{/if}
|
|
51
|
-
</div>
|
|
52
|
-
</div>
|
|
53
|
-
{/if}
|
|
54
|
-
<a href={data.cardURL}>
|
|
55
|
-
<div class="flex flex-row items-start space-x-2">
|
|
56
|
-
{#if data.icon}
|
|
57
|
-
<div class="grid place-items-center">
|
|
58
|
-
<Icon classes={data.classes} icon={data.icon} />
|
|
59
|
-
</div>
|
|
60
|
-
{/if}
|
|
61
|
-
{#if data.heading || data.subheading}
|
|
62
|
-
<div class="flex flex-col font-medium leading-none">
|
|
63
|
-
{#if data.heading}
|
|
64
|
-
<h3 class="text-2xl leading-none">{data.heading}</h3>
|
|
65
|
-
{/if}
|
|
66
|
-
{#if data.subheading}
|
|
67
|
-
<p class="leading-6 text-teci-blue-dark">{data.subheading}</p>
|
|
68
|
-
{/if}
|
|
69
|
-
</div>
|
|
70
|
-
{/if}
|
|
71
|
-
</div>
|
|
72
|
-
</a>
|
|
73
|
-
{#if data.text}
|
|
74
|
-
<div class="flex w-full flex-1 flex-col">
|
|
75
|
-
{@html data.text}
|
|
76
|
-
{#if data.cardActionStyle == "link"}
|
|
77
|
-
<a
|
|
78
|
-
class="mt-2 inline-block text-sm font-medium text-teci-blue-light"
|
|
79
|
-
href={data.cardURL}
|
|
80
|
-
>
|
|
81
|
-
{data.cardLinkText}<span aria-hidden="true"> →</span>
|
|
82
|
-
</a>
|
|
83
|
-
{/if}
|
|
84
|
-
</div>
|
|
85
|
-
{/if}
|
|
86
|
-
{#if data.cardActionStyle == "button"}
|
|
87
|
-
<a class="block shrink-0" href={data.cardURL}>
|
|
88
|
-
<div class="flex w-full flex-col items-end">
|
|
89
|
-
<span class="btn text-sm">{data.cardLinkText}</span>
|
|
90
|
-
</div>
|
|
91
|
-
</a>
|
|
92
|
-
{/if}
|
|
93
|
-
</div>
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export let data
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<div class="overflow-hidden mx-auto max-w-max lg:max-w-7xl">
|
|
6
|
-
<div class="relative z-10 mb-8 md:mb-2">
|
|
7
|
-
<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>
|
|
9
|
-
<p class="mt-2 text-3xl font-bold leading-8 tracking-tight text-gray-900 sm:text-4xl">{data.heading}</p>
|
|
10
|
-
</div>
|
|
11
|
-
</div>
|
|
12
|
-
<div class="relative">
|
|
13
|
-
<svg class="absolute top-0 right-0 -mt-20 -mr-20 hidden md:block md:[overflow-anchor:none]" width="404" height="384" fill="none" viewBox="0 0 404 384" aria-hidden="true">
|
|
14
|
-
<defs>
|
|
15
|
-
<pattern id="95e8f2de-6d30-4b7e-8159-f791729db21b" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
|
|
16
|
-
<rect x="0" y="0" width="4" height="4" class="text-gray-200" fill="currentColor" />
|
|
17
|
-
</pattern>
|
|
18
|
-
</defs>
|
|
19
|
-
<rect width="404" height="384" fill="url(#95e8f2de-6d30-4b7e-8159-f791729db21b)" />
|
|
20
|
-
</svg>
|
|
21
|
-
<svg class="absolute bottom-0 left-0 -mb-20 -ml-20 hidden md:block md:[overflow-anchor:none]" width="404" height="384" fill="none" viewBox="0 0 404 384" aria-hidden="true">
|
|
22
|
-
<defs>
|
|
23
|
-
<pattern id="7a00fe67-0343-4a3c-8e81-c145097a3ce0" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
|
|
24
|
-
<rect x="0" y="0" width="4" height="4" class="text-gray-200" fill="currentColor" />
|
|
25
|
-
</pattern>
|
|
26
|
-
</defs>
|
|
27
|
-
<rect width="404" height="384" fill="url(#7a00fe67-0343-4a3c-8e81-c145097a3ce0)" />
|
|
28
|
-
</svg>
|
|
29
|
-
<div class="relative md:m-4 p-2 bg-white">
|
|
30
|
-
<div class="prose prose-lg columns-1 text-gray-600 lg:columns-2 lg:max-w-none">
|
|
31
|
-
{@html data.body}
|
|
32
|
-
</div>
|
|
33
|
-
{#if data.ctas}
|
|
34
|
-
<div class="mt-8 flex gap-x-4 float-right py-1">
|
|
35
|
-
{#each data.ctas as cta}
|
|
36
|
-
<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")))}
|
|
38
|
-
">
|
|
39
|
-
{cta.text}
|
|
40
|
-
<span class="hidden sm:inline {(cta.color == "white" ? "text-gray-600" : "text-white")}" aria-hidden="true">→</span>
|
|
41
|
-
</a>
|
|
42
|
-
{/each}
|
|
43
|
-
</div>
|
|
44
|
-
{/if}
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import Modal from '$lib/components/Modal.svelte';
|
|
3
|
-
|
|
4
|
-
export let resellerModal = true;
|
|
5
|
-
export let selection = 'sel';
|
|
6
|
-
export let allowContinue = false;
|
|
7
|
-
|
|
8
|
-
let modal;
|
|
9
|
-
let modalData;
|
|
10
|
-
let resellerIndex = -1;
|
|
11
|
-
|
|
12
|
-
let resellerArray = [
|
|
13
|
-
['BE', 'NL', 'LU'],
|
|
14
|
-
['CN', 'HK'],
|
|
15
|
-
['CZ', 'SK'],
|
|
16
|
-
['EG', 'JO', 'LB', 'OM', 'QA', 'SA', 'AE'],
|
|
17
|
-
['FR'],
|
|
18
|
-
['DE', 'CH', 'AT', 'LI'],
|
|
19
|
-
['GR','CY'],
|
|
20
|
-
['IN', 'BD', 'LK', 'CM', 'BT', 'MM'],
|
|
21
|
-
['IT', 'HU'],
|
|
22
|
-
['JP'],
|
|
23
|
-
['KR'],
|
|
24
|
-
['PL', 'UA'],
|
|
25
|
-
['RU', 'AM', 'AZ', 'BY', 'GE', 'KZ', 'KG', 'MD', 'TJ', 'TM', 'UZ'],
|
|
26
|
-
['RO'],
|
|
27
|
-
['SG', 'MY', 'ID', 'VN'],
|
|
28
|
-
['ES'],
|
|
29
|
-
];
|
|
30
|
-
|
|
31
|
-
let resellerLinks = [
|
|
32
|
-
'belgium-netherlands-and-luxembourg',
|
|
33
|
-
'china-and-hong-kong',
|
|
34
|
-
'czech-republic-and-slovak-republic',
|
|
35
|
-
'egypt-jordan-lebanon-oman-qatar-saudi-arabia-united-arab-emirates',
|
|
36
|
-
'france-and-french-language-customers-in-other-regions',
|
|
37
|
-
'germany-switzerland-austria-and-liechtenstein',
|
|
38
|
-
'greece-cyprus',
|
|
39
|
-
'india-bangladesh-sri-lanka-nepal-bhutan-myanmar',
|
|
40
|
-
'italy-hungary',
|
|
41
|
-
'japan',
|
|
42
|
-
'korea',
|
|
43
|
-
'poland-ukraine',
|
|
44
|
-
'russia-and-cis',
|
|
45
|
-
'romania',
|
|
46
|
-
'singapore-malaysia-indonesia-and-vietnam',
|
|
47
|
-
'spain',
|
|
48
|
-
];
|
|
49
|
-
|
|
50
|
-
function isReseller() {
|
|
51
|
-
resellerIndex = resellerArray.findIndex((arr) => arr.includes(selection));
|
|
52
|
-
return resellerIndex > -1;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function handleSelection() {
|
|
56
|
-
if (resellerModal) {
|
|
57
|
-
if (selection != 'sel' && !isReseller()) {
|
|
58
|
-
allowContinue = true;
|
|
59
|
-
} else if (selection != 'sel' && isReseller()) {
|
|
60
|
-
modal.show();
|
|
61
|
-
allowContinue = false;
|
|
62
|
-
} else {
|
|
63
|
-
allowContinue = false;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
$:modalData = {
|
|
69
|
-
modalContent: `<h2 class="text-lg leading-6 font-medium text-gray-900">Reseller Required</h2><div class="mt-2 px-7 py-3"><p class="text-sm text-gray-500">Thunderhead cannot sell to you directly, you must use the authorized reseller for your region.</p></div><div class="items-center px-4 py-3"><a href="https://www.thunderheadeng.com/partners#${resellerLinks[resellerIndex]}" id="ok-btn" class="px-4 py-2 bg-teci-blue-light text-white text-base font-medium w-full shadow-sm hover:bg-teci-blue-dark focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500">Reseller Contact Information</a></div>`,
|
|
70
|
-
};
|
|
71
|
-
</script>
|
|
72
|
-
|
|
73
|
-
<select
|
|
74
|
-
name="card_country"
|
|
75
|
-
bind:value="{selection}"
|
|
76
|
-
on:change="{handleSelection}"
|
|
77
|
-
>
|
|
78
|
-
<option value="sel">Select Your Country</option>
|
|
79
|
-
<option value="AI">Anguilla</option>
|
|
80
|
-
<option value="AR">Argentina</option>
|
|
81
|
-
<option value="AM">Armenia</option>
|
|
82
|
-
<option value="AU">Australia</option>
|
|
83
|
-
<option value="AT">Austria</option>
|
|
84
|
-
<option value="AZ">Azerbaijan</option>
|
|
85
|
-
<option value="BD">Bangladesh</option>
|
|
86
|
-
<option value="BY">Belarus</option>
|
|
87
|
-
<option value="BE">Belgium</option>
|
|
88
|
-
<option value="BR">Brazil</option>
|
|
89
|
-
<option value="CA">Canada</option>
|
|
90
|
-
<option value="CL">Chile</option>
|
|
91
|
-
<option value="HR">Croatia</option>
|
|
92
|
-
<option value="CN">China</option>
|
|
93
|
-
<option value="CR">Costa Rica</option>
|
|
94
|
-
<option value="CY">Cyprus</option>
|
|
95
|
-
<option value="CZ">Czech Republic</option>
|
|
96
|
-
<option value="DK">Denmark</option>
|
|
97
|
-
<option value="DO">Dominican Republic</option>
|
|
98
|
-
<option value="EC">Ecuador</option>
|
|
99
|
-
<option value="EG">Egypt</option>
|
|
100
|
-
<option value="EE">Estonia</option>
|
|
101
|
-
<option value="FO">Faroe Islands</option>
|
|
102
|
-
<option value="FI">Finland</option>
|
|
103
|
-
<option value="FR">France</option>
|
|
104
|
-
<option value="GE">Georgia</option>
|
|
105
|
-
<option value="DE">Germany</option>
|
|
106
|
-
<option value="GR">Greece</option>
|
|
107
|
-
<option value="HK">Hong Kong</option>
|
|
108
|
-
<option value="HU">Hungary</option>
|
|
109
|
-
<option value="IS">Iceland</option>
|
|
110
|
-
<option value="IN">India</option>
|
|
111
|
-
<option value="ID">Indonesia</option>
|
|
112
|
-
<option value="IE">Ireland</option>
|
|
113
|
-
<option value="IL">Israel</option>
|
|
114
|
-
<option value="IT">Italy</option>
|
|
115
|
-
<option value="JM">Jamaica</option>
|
|
116
|
-
<option value="JP">Japan</option>
|
|
117
|
-
<option value="JO">Jordan</option>
|
|
118
|
-
<option value="KZ">Kazakhstan</option>
|
|
119
|
-
<option value="KW">Kuwait</option>
|
|
120
|
-
<option value="KG">Kyrgyzstan</option>
|
|
121
|
-
<option value="LV">Latvia</option>
|
|
122
|
-
<option value="LB">Lebanon</option>
|
|
123
|
-
<option value="LT">Lithuania</option>
|
|
124
|
-
<option value="LU">Luxembourg</option>
|
|
125
|
-
<option value="MY">Malaysia</option>
|
|
126
|
-
<option value="MT">Malta</option>
|
|
127
|
-
<option value="MX">Mexico</option>
|
|
128
|
-
<option value="MD">Moldova</option>
|
|
129
|
-
<option value="MM">Myanmar</option>
|
|
130
|
-
<option value="CM">Nepal</option>
|
|
131
|
-
<option value="NL">Netherlands</option>
|
|
132
|
-
<option value="NZ">New Zealand</option>
|
|
133
|
-
<option value="NO">Norway</option>
|
|
134
|
-
<option value="OM">Oman</option>
|
|
135
|
-
<option value="PE">Peru</option>
|
|
136
|
-
<option value="PH">Philippines</option>
|
|
137
|
-
<option value="PL">Poland</option>
|
|
138
|
-
<option value="PT">Portugal</option>
|
|
139
|
-
<option value="QA">Qatar</option>
|
|
140
|
-
<option value="RO">Romania</option>
|
|
141
|
-
<option value="RU">Russia</option>
|
|
142
|
-
<option value="SA">Saudi Arabia</option>
|
|
143
|
-
<option value="SG">Singapore</option>
|
|
144
|
-
<option value="SK">Slovakia</option>
|
|
145
|
-
<option value="SI">Slovenia</option>
|
|
146
|
-
<option value="ZA">South Africa</option>
|
|
147
|
-
<option value="KR">South Korea</option>
|
|
148
|
-
<option value="ES">Spain</option>
|
|
149
|
-
<option value="LK">Sri Lanka</option>
|
|
150
|
-
<option value="SE">Sweden</option>
|
|
151
|
-
<option value="CH">Switzerland</option>
|
|
152
|
-
<option value="TW">Taiwan</option>
|
|
153
|
-
<option value="TJ">Tajikistan</option>
|
|
154
|
-
<option value="TH">Thailand</option>
|
|
155
|
-
<option value="TR">Turkey</option>
|
|
156
|
-
<option value="TM">Turkmenistan</option>
|
|
157
|
-
<option value="UA">Ukraine</option>
|
|
158
|
-
<option value="AE">United Arab Emirates</option>
|
|
159
|
-
<option value="GB">United Kingdom</option>
|
|
160
|
-
<option value="US">United States</option>
|
|
161
|
-
<option value="UY">Uruguay</option>
|
|
162
|
-
<option value="UZ">Uzbekistan</option>
|
|
163
|
-
<option value="VE">Venezuela</option>
|
|
164
|
-
<option value="VN">Viet Nam</option>
|
|
165
|
-
</select>
|
|
166
|
-
|
|
167
|
-
<Modal bind:this="{modal}" bind:data="{modalData}" />
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export let data
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<section>
|
|
6
|
-
<div class="sm:text-center">
|
|
7
|
-
{#if data.preheading}
|
|
8
|
-
<p class="mb-2 text-lg font-semibold leading-8
|
|
9
|
-
{(data.color == "pyrosim" ? "text-pyrosim" : (data.color == "pathfinder" ? "text-pathfinder" : "text-teci-blue-dark"))}
|
|
10
|
-
">
|
|
11
|
-
{data.preheading}
|
|
12
|
-
</p>
|
|
13
|
-
{/if}
|
|
14
|
-
<h2 class="text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl">
|
|
15
|
-
{data.heading}
|
|
16
|
-
</h2>
|
|
17
|
-
{#if data.subheading}
|
|
18
|
-
<p class="mx-auto mt-6 max-w-2xl text-lg leading-8 text-gray-600">
|
|
19
|
-
{data.subheading}
|
|
20
|
-
</p>
|
|
21
|
-
{/if}
|
|
22
|
-
</div>
|
|
23
|
-
<div class="mt-12 max-w-lg sm:mx-auto md:max-w-none">
|
|
24
|
-
<div class="grid grid-cols-1 gap-y-8 md:grid-cols-2 md:gap-x-12">
|
|
25
|
-
{#each data.blocks as block}
|
|
26
|
-
<div class="relative flex flex-row gap-6">
|
|
27
|
-
<div class="hidden sm:flex h-12 w-12 items-center justify-center text-white sm:shrink-0 flex-shrink-0
|
|
28
|
-
{(data.color == "pyrosim" ? "bg-pyrosim" : (data.color == "pathfinder" ? "bg-pathfinder" : "bg-teci-blue-dark"))}
|
|
29
|
-
">
|
|
30
|
-
<Icon classes="w-auto" icon={block.icon} />
|
|
31
|
-
</div>
|
|
32
|
-
<div class="sm:min-w-0 sm:flex-1">
|
|
33
|
-
<p class="text-lg font-semibold leading-8 text-gray-900">{block.heading}</p>
|
|
34
|
-
<p class="mt-2 text-base leading-7 text-gray-600">{block.body}</p>
|
|
35
|
-
</div>
|
|
36
|
-
</div>
|
|
37
|
-
{/each}
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
40
|
-
</section>
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export let image;
|
|
3
|
-
export let title;
|
|
4
|
-
export let caption;
|
|
5
|
-
export let link;
|
|
6
|
-
|
|
7
|
-
let figureImage;
|
|
8
|
-
let figureLink;
|
|
9
|
-
|
|
10
|
-
if (image.startsWith("http")) {
|
|
11
|
-
figureImage = image;
|
|
12
|
-
figureLink = link ? link : image;
|
|
13
|
-
} else if (image.includes("gif")) {
|
|
14
|
-
figureImage = "https://teci-files.imgix.net/www/images/" + image;
|
|
15
|
-
figureLink = link ? link : "https://teci-files.imgix.net/www/images/" + image;
|
|
16
|
-
} else {
|
|
17
|
-
figureImage = "https://teci-files.imgix.net/www/images/" +
|
|
18
|
-
image +
|
|
19
|
-
"?auto=compress&auto=format";
|
|
20
|
-
figureLink = link ? link : "https://teci-files.imgix.net/www/images/" + image;
|
|
21
|
-
}
|
|
22
|
-
</script>
|
|
23
|
-
|
|
24
|
-
{#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>
|
|
37
|
-
{/if}
|