tecitheme 0.0.2 → 0.0.6

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 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 the hosted site in this project for documentation and component details.
7
+ See https://tecitheme.netlify.app/ for demo, documentation and component details.
File without changes
File without changes
@@ -1,10 +1,12 @@
1
1
  <script>
2
2
  import { createEventDispatcher } from 'svelte';
3
- import Modal from "../Modal/index.svelte";
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
@@ -0,0 +1,12 @@
1
+ <script>
2
+ export let image;
3
+ export let title;
4
+ export let caption;
5
+ </script>
6
+
7
+ <figure class="not-prose shadow-lg border border-slate-100 p-2">
8
+ <img src={image} alt={title} title={title}>
9
+ {#if caption}
10
+ <figcaption class="text-center p-2">{@html caption}</figcaption>
11
+ {/if}
12
+ </figure>
@@ -0,0 +1,27 @@
1
+ /** @typedef {typeof __propDef.props} FigureProps */
2
+ /** @typedef {typeof __propDef.events} FigureEvents */
3
+ /** @typedef {typeof __propDef.slots} FigureSlots */
4
+ export default class Figure extends SvelteComponentTyped<{
5
+ image: any;
6
+ title: any;
7
+ caption: any;
8
+ }, {
9
+ [evt: string]: CustomEvent<any>;
10
+ }, {}> {
11
+ }
12
+ export type FigureProps = typeof __propDef.props;
13
+ export type FigureEvents = typeof __propDef.events;
14
+ export type FigureSlots = typeof __propDef.slots;
15
+ import { SvelteComponentTyped } from "svelte";
16
+ declare const __propDef: {
17
+ props: {
18
+ image: any;
19
+ title: any;
20
+ caption: any;
21
+ };
22
+ events: {
23
+ [evt: string]: CustomEvent<any>;
24
+ };
25
+ slots: {};
26
+ };
27
+ export {};
@@ -1,5 +1,5 @@
1
1
  <script>
2
- import IconTE from "../Logos/TECi_icon_250.svelte";
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 IconTE Linked to WWW Homepage -->
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
- <IconTE classes="h-10 w-auto"/>
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
- <img class="h-12 w-auto" src="https://files.thunderheadeng.com/www/images/pyrosim_icon.svg" alt="PyroSim" />
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
- <img class="h-12 w-auto" src="https://files.thunderheadeng.com/www/images/pathfinder_icon.svg" alt="Pathfinder" />
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
- <img class="h-12 w-auto" src="https://files.thunderheadeng.com/www/images/petrasim_icon.svg" alt="PetraSim" />
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,19 @@
1
+ <script>
2
+ // Based on: https://svelte.dev/repl/49ff6c089825418888cf804d9dde77bc?version=3.46.4
3
+ import katex from "katex";
4
+ export let math;
5
+ export let displayMode = false;
6
+
7
+ const options = {
8
+ displayMode: displayMode,
9
+ throwOnError: false
10
+ }
11
+
12
+ $: katexString = katex.renderToString(math, options);
13
+ </script>
14
+
15
+ <svelte:head>
16
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.12.0/dist/katex.min.css" integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous">
17
+ </svelte:head>
18
+
19
+ {@html katexString}
@@ -0,0 +1,25 @@
1
+ /** @typedef {typeof __propDef.props} MathProps */
2
+ /** @typedef {typeof __propDef.events} MathEvents */
3
+ /** @typedef {typeof __propDef.slots} MathSlots */
4
+ export default class Math extends SvelteComponentTyped<{
5
+ math: any;
6
+ displayMode?: boolean;
7
+ }, {
8
+ [evt: string]: CustomEvent<any>;
9
+ }, {}> {
10
+ }
11
+ export type MathProps = typeof __propDef.props;
12
+ export type MathEvents = typeof __propDef.events;
13
+ export type MathSlots = typeof __propDef.slots;
14
+ import { SvelteComponentTyped } from "svelte";
15
+ declare const __propDef: {
16
+ props: {
17
+ math: any;
18
+ displayMode?: boolean;
19
+ };
20
+ events: {
21
+ [evt: string]: CustomEvent<any>;
22
+ };
23
+ slots: {};
24
+ };
25
+ export {};
@@ -0,0 +1,67 @@
1
+ <script>
2
+ export let data;
3
+ export let posts;
4
+ </script>
5
+
6
+ <div class="relative pb-12 w-full mx-auto divide-y-2 divide-gray-200">
7
+ <div>
8
+ <h2 class="text-3xl tracking-tight font-extrabold text-gray-900 sm:text-4xl">
9
+ {data.title}
10
+ </h2>
11
+ <div
12
+ class="mt-3 sm:mt-4 lg:grid lg:grid-cols-2 lg:gap-5 lg:items-center"
13
+ >
14
+ <p class="text-xl text-gray-500">{data.subtitle}</p>
15
+ <form class="mt-6 flex flex-col sm:flex-row lg:mt-0 lg:justify-end">
16
+ <div>
17
+ <label for="email-address" class="sr-only"
18
+ >Email address</label
19
+ >
20
+ <input
21
+ id="email-address"
22
+ name="email-address"
23
+ type="email"
24
+ autocomplete="email"
25
+ required
26
+ class="appearance-none w-full px-4 py-2 border border-gray-300 text-base rounded-md text-gray-900 bg-white placeholder-gray-500 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 lg:max-w-xs"
27
+ placeholder="Enter your email"
28
+ />
29
+ </div>
30
+ <div
31
+ class="mt-2 flex-shrink-0 w-full flex rounded-md shadow-sm sm:mt-0 sm:ml-3 sm:w-auto sm:inline-flex"
32
+ >
33
+ <button
34
+ type="button"
35
+ class="w-full bg-indigo-600 px-4 py-2 border border-transparent rounded-md flex items-center justify-center text-base font-medium text-white hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:w-auto sm:inline-flex"
36
+ >Notify me</button
37
+ >
38
+ </div>
39
+ </form>
40
+ </div>
41
+ </div>
42
+ <div class="mt-6 pt-10 grid gap-16 lg:grid-cols-2 lg:gap-x-5 lg:gap-y-12">
43
+ {#each posts as post}
44
+ <div>
45
+ <p class="text-sm text-gray-500">
46
+ <time datetime="{post.meta.date}">{post.meta.date}</time>
47
+ </p>
48
+ <a href={post.path} class="mt-2 block">
49
+ <p class="text-xl font-semibold text-gray-900">
50
+ {post.meta.title}
51
+ </p>
52
+ <p class="mt-3 text-base text-gray-500">
53
+ {post.meta.summary}
54
+ </p>
55
+ </a>
56
+ <div class="mt-3">
57
+ <a
58
+ href="{post.path}"
59
+ class="text-base font-semibold text-indigo-600 hover:text-indigo-500"
60
+ >
61
+ Read full story
62
+ </a>
63
+ </div>
64
+ </div>
65
+ {/each}
66
+ </div>
67
+ </div>
@@ -0,0 +1,25 @@
1
+ /** @typedef {typeof __propDef.props} NewsGridProps */
2
+ /** @typedef {typeof __propDef.events} NewsGridEvents */
3
+ /** @typedef {typeof __propDef.slots} NewsGridSlots */
4
+ export default class NewsGrid extends SvelteComponentTyped<{
5
+ data: any;
6
+ posts: any;
7
+ }, {
8
+ [evt: string]: CustomEvent<any>;
9
+ }, {}> {
10
+ }
11
+ export type NewsGridProps = typeof __propDef.props;
12
+ export type NewsGridEvents = typeof __propDef.events;
13
+ export type NewsGridSlots = typeof __propDef.slots;
14
+ import { SvelteComponentTyped } from "svelte";
15
+ declare const __propDef: {
16
+ props: {
17
+ data: any;
18
+ posts: 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 pb-12">
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="pb-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 {};