@hyvor/design 2.1.22-beta.1 → 2.1.22-beta.3
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/Base/Base.svelte +62 -9
- package/dist/components/Base/Base.svelte.d.ts +1 -0
- package/dist/components/Base/fonts.css +261 -221
- package/dist/components/Table/TableCell.svelte +2 -2
- package/dist/components/Table/TableCell.svelte.d.ts +1 -1
- package/dist/marketing/Affiliate/Affiliate.svelte +32 -26
- package/dist/marketing/Footer/Footer.svelte +26 -3
- package/package.json +1 -1
|
@@ -1,21 +1,60 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import ConfirmModalProvider from './../Modal/ConfirmModalProvider.svelte';
|
|
3
|
-
import DarkProvider from './../Dark/DarkProvider.svelte';
|
|
4
|
-
import ToastProvider from '../Toast/ToastProvider.svelte';
|
|
5
|
-
import FileUploaderProvider from '../FileUploader/FileUploaderProvider.svelte';
|
|
6
2
|
import fontsCss from './fonts.css?inline';
|
|
3
|
+
import DarkProvider from './../Dark/DarkProvider.svelte';
|
|
4
|
+
import { toastStore } from '../Toast/toast.js';
|
|
5
|
+
import { confirmStore } from '../Modal/confirm.js';
|
|
6
|
+
import { fileUploaderConfig } from '../FileUploader/file-uploader.js';
|
|
7
7
|
|
|
8
8
|
interface Props {
|
|
9
9
|
dark?: boolean;
|
|
10
10
|
children?: import('svelte').Snippet;
|
|
11
|
+
marketing?: boolean;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
let { dark = false, children }: Props = $props();
|
|
14
|
+
let { dark = false, children, marketing = false }: Props = $props();
|
|
15
|
+
|
|
16
|
+
let needsToast = $state(false);
|
|
17
|
+
let needsConfirm = $state(false);
|
|
18
|
+
let needsFileUploader = $state(false);
|
|
19
|
+
|
|
20
|
+
$effect(() => {
|
|
21
|
+
if ($toastStore.length > 0) needsToast = true;
|
|
22
|
+
});
|
|
23
|
+
$effect(() => {
|
|
24
|
+
if ($confirmStore !== null) needsConfirm = true;
|
|
25
|
+
});
|
|
26
|
+
$effect(() => {
|
|
27
|
+
if ($fileUploaderConfig !== null) needsFileUploader = true;
|
|
28
|
+
});
|
|
14
29
|
</script>
|
|
15
30
|
|
|
16
31
|
<svelte:head>
|
|
17
32
|
<link rel="preconnect" href="https://media.hyvor.com" />
|
|
33
|
+
<link rel="preconnect" href="https://media.hyvor.com" crossorigin="" />
|
|
34
|
+
|
|
18
35
|
{@html '<style>' + fontsCss + '</style>'}
|
|
36
|
+
|
|
37
|
+
{#if marketing}
|
|
38
|
+
<link
|
|
39
|
+
rel="preload"
|
|
40
|
+
href="https://media.hyvor.com/fonts/source-serif-4-latin-600-normal.DouSKlru.woff2"
|
|
41
|
+
as="font"
|
|
42
|
+
type="font/woff2"
|
|
43
|
+
crossorigin=""
|
|
44
|
+
/>
|
|
45
|
+
<link
|
|
46
|
+
rel="preload"
|
|
47
|
+
href="https://media.hyvor.com/fonts/source-serif-4-latin-400-normal.DJ5YJwmz.woff2"
|
|
48
|
+
as="font"
|
|
49
|
+
type="font/woff2"
|
|
50
|
+
crossorigin=""
|
|
51
|
+
/>
|
|
52
|
+
<style>
|
|
53
|
+
:root {
|
|
54
|
+
font-family: var(--font-serif) !important;
|
|
55
|
+
}
|
|
56
|
+
</style>
|
|
57
|
+
{/if}
|
|
19
58
|
</svelte:head>
|
|
20
59
|
|
|
21
60
|
<div id="hds-base">
|
|
@@ -26,9 +65,23 @@
|
|
|
26
65
|
<DarkProvider />
|
|
27
66
|
{/if}
|
|
28
67
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<
|
|
68
|
+
{#if needsToast}
|
|
69
|
+
{#await import('../Toast/ToastProvider.svelte') then m}
|
|
70
|
+
<m.default />
|
|
71
|
+
{/await}
|
|
72
|
+
{/if}
|
|
73
|
+
|
|
74
|
+
{#if needsConfirm}
|
|
75
|
+
{#await import('../Modal/ConfirmModalProvider.svelte') then m}
|
|
76
|
+
<m.default />
|
|
77
|
+
{/await}
|
|
78
|
+
{/if}
|
|
79
|
+
|
|
80
|
+
{#if needsFileUploader}
|
|
81
|
+
{#await import('../FileUploader/FileUploaderProvider.svelte') then m}
|
|
82
|
+
<m.default />
|
|
83
|
+
{/await}
|
|
84
|
+
{/if}
|
|
32
85
|
|
|
33
86
|
<style>
|
|
34
87
|
:global(:root) {
|
|
@@ -46,7 +99,7 @@
|
|
|
46
99
|
--border: #e1e1e1;
|
|
47
100
|
|
|
48
101
|
--text: #000;
|
|
49
|
-
--text-light: #
|
|
102
|
+
--text-light: #545454;
|
|
50
103
|
--text-white: #fff;
|
|
51
104
|
|
|
52
105
|
/*
|
|
@@ -1,222 +1,262 @@
|
|
|
1
1
|
@font-face {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
@font-face {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}
|
|
160
|
-
@font-face {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
2
|
+
font-family: Readex Pro;
|
|
3
|
+
font-style: normal;
|
|
4
|
+
font-display: swap;
|
|
5
|
+
font-weight: 400;
|
|
6
|
+
src:
|
|
7
|
+
url(https://media.hyvor.com/fonts/readex-pro-arabic-400-normal.BzB5iZVu.woff2) format('woff2'),
|
|
8
|
+
url(https://media.hyvor.com/fonts/readex-pro-arabic-400-normal.CRluTl2A.woff) format('woff');
|
|
9
|
+
unicode-range:
|
|
10
|
+
U+6??, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C-200E, U+2010-2011, U+204F,
|
|
11
|
+
U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4,
|
|
12
|
+
U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32,
|
|
13
|
+
U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F,
|
|
14
|
+
U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64,
|
|
15
|
+
U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89,
|
|
16
|
+
U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
|
|
17
|
+
}
|
|
18
|
+
@font-face {
|
|
19
|
+
font-family: Readex Pro;
|
|
20
|
+
font-style: normal;
|
|
21
|
+
font-display: swap;
|
|
22
|
+
font-weight: 400;
|
|
23
|
+
src:
|
|
24
|
+
url(https://media.hyvor.com/fonts/readex-pro-vietnamese-400-normal.DAQS1QRE.woff2)
|
|
25
|
+
format('woff2'),
|
|
26
|
+
url(https://media.hyvor.com/fonts/readex-pro-vietnamese-400-normal.DRTbt2AX.woff) format('woff');
|
|
27
|
+
unicode-range:
|
|
28
|
+
U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304,
|
|
29
|
+
U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
|
|
30
|
+
}
|
|
31
|
+
@font-face {
|
|
32
|
+
font-family: Readex Pro;
|
|
33
|
+
font-style: normal;
|
|
34
|
+
font-display: swap;
|
|
35
|
+
font-weight: 400;
|
|
36
|
+
src:
|
|
37
|
+
url(https://media.hyvor.com/fonts/readex-pro-latin-ext-400-normal.CDeDBhe3.woff2)
|
|
38
|
+
format('woff2'),
|
|
39
|
+
url(https://media.hyvor.com/fonts/readex-pro-latin-ext-400-normal.DzeKRH4q.woff) format('woff');
|
|
40
|
+
unicode-range:
|
|
41
|
+
U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF,
|
|
42
|
+
U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
43
|
+
}
|
|
44
|
+
@font-face {
|
|
45
|
+
font-family: Readex Pro;
|
|
46
|
+
font-style: normal;
|
|
47
|
+
font-display: swap;
|
|
48
|
+
font-weight: 400;
|
|
49
|
+
src:
|
|
50
|
+
url(https://media.hyvor.com/fonts/readex-pro-latin-400-normal.BZtYQVaG.woff2) format('woff2'),
|
|
51
|
+
url(https://media.hyvor.com/fonts/readex-pro-latin-400-normal.SP_jEUAw.woff) format('woff');
|
|
52
|
+
unicode-range:
|
|
53
|
+
U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F,
|
|
54
|
+
U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
55
|
+
}
|
|
56
|
+
@font-face {
|
|
57
|
+
font-family: Readex Pro;
|
|
58
|
+
font-style: normal;
|
|
59
|
+
font-display: swap;
|
|
60
|
+
font-weight: 600;
|
|
61
|
+
src:
|
|
62
|
+
url(https://media.hyvor.com/fonts/readex-pro-arabic-600-normal.BHxn1TEo.woff2) format('woff2'),
|
|
63
|
+
url(https://media.hyvor.com/fonts/readex-pro-arabic-600-normal.9mhVJBMn.woff) format('woff');
|
|
64
|
+
unicode-range:
|
|
65
|
+
U+6??, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C-200E, U+2010-2011, U+204F,
|
|
66
|
+
U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4,
|
|
67
|
+
U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32,
|
|
68
|
+
U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F,
|
|
69
|
+
U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64,
|
|
70
|
+
U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89,
|
|
71
|
+
U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
|
|
72
|
+
}
|
|
73
|
+
@font-face {
|
|
74
|
+
font-family: Readex Pro;
|
|
75
|
+
font-style: normal;
|
|
76
|
+
font-display: swap;
|
|
77
|
+
font-weight: 600;
|
|
78
|
+
src:
|
|
79
|
+
url(https://media.hyvor.com/fonts/readex-pro-vietnamese-600-normal.CvqEbH36.woff2)
|
|
80
|
+
format('woff2'),
|
|
81
|
+
url(https://media.hyvor.com/fonts/readex-pro-vietnamese-600-normal.BT-w1HBH.woff) format('woff');
|
|
82
|
+
unicode-range:
|
|
83
|
+
U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304,
|
|
84
|
+
U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
|
|
85
|
+
}
|
|
86
|
+
@font-face {
|
|
87
|
+
font-family: Readex Pro;
|
|
88
|
+
font-style: normal;
|
|
89
|
+
font-display: swap;
|
|
90
|
+
font-weight: 600;
|
|
91
|
+
src:
|
|
92
|
+
url(https://media.hyvor.com/fonts/readex-pro-latin-ext-600-normal.DvstIQFU.woff2)
|
|
93
|
+
format('woff2'),
|
|
94
|
+
url(https://media.hyvor.com/fonts/readex-pro-latin-ext-600-normal.DRKkFP2q.woff) format('woff');
|
|
95
|
+
unicode-range:
|
|
96
|
+
U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF,
|
|
97
|
+
U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
98
|
+
}
|
|
99
|
+
@font-face {
|
|
100
|
+
font-family: Readex Pro;
|
|
101
|
+
font-style: normal;
|
|
102
|
+
font-display: swap;
|
|
103
|
+
font-weight: 600;
|
|
104
|
+
src:
|
|
105
|
+
url(https://media.hyvor.com/fonts/readex-pro-latin-600-normal.C3IhmgOg.woff2) format('woff2'),
|
|
106
|
+
url(https://media.hyvor.com/fonts/readex-pro-latin-600-normal.CeYg1m9V.woff) format('woff');
|
|
107
|
+
unicode-range:
|
|
108
|
+
U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F,
|
|
109
|
+
U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
110
|
+
}
|
|
111
|
+
@font-face {
|
|
112
|
+
font-family: 'Source Serif 4';
|
|
113
|
+
font-style: normal;
|
|
114
|
+
font-display: swap;
|
|
115
|
+
font-weight: 400;
|
|
116
|
+
src:
|
|
117
|
+
url(https://media.hyvor.com/fonts/source-serif-4-cyrillic-ext-400-normal.CWV284fw.woff2)
|
|
118
|
+
format('woff2'),
|
|
119
|
+
url(https://media.hyvor.com/fonts/source-serif-4-cyrillic-ext-400-normal.DLkyKLvH.woff)
|
|
120
|
+
format('woff');
|
|
121
|
+
unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
|
122
|
+
}
|
|
123
|
+
@font-face {
|
|
124
|
+
font-family: 'Source Serif 4';
|
|
125
|
+
font-style: normal;
|
|
126
|
+
font-display: swap;
|
|
127
|
+
font-weight: 400;
|
|
128
|
+
src:
|
|
129
|
+
url(https://media.hyvor.com/fonts/source-serif-4-cyrillic-400-normal.C44pakCn.woff2)
|
|
130
|
+
format('woff2'),
|
|
131
|
+
url(https://media.hyvor.com/fonts/source-serif-4-cyrillic-400-normal.B8Z6Jvzv.woff)
|
|
132
|
+
format('woff');
|
|
133
|
+
unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
|
|
134
|
+
}
|
|
135
|
+
@font-face {
|
|
136
|
+
font-family: 'Source Serif 4';
|
|
137
|
+
font-style: normal;
|
|
138
|
+
font-display: swap;
|
|
139
|
+
font-weight: 400;
|
|
140
|
+
src:
|
|
141
|
+
url(https://media.hyvor.com/fonts/source-serif-4-greek-400-normal.Cw5-AHNN.woff2)
|
|
142
|
+
format('woff2'),
|
|
143
|
+
url(https://media.hyvor.com/fonts/source-serif-4-greek-400-normal.BccYJ-vZ.woff) format('woff');
|
|
144
|
+
unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
|
|
145
|
+
}
|
|
146
|
+
@font-face {
|
|
147
|
+
font-family: 'Source Serif 4';
|
|
148
|
+
font-style: normal;
|
|
149
|
+
font-display: swap;
|
|
150
|
+
font-weight: 400;
|
|
151
|
+
src:
|
|
152
|
+
url(https://media.hyvor.com/fonts/source-serif-4-vietnamese-400-normal.BbG3LG1A.woff2)
|
|
153
|
+
format('woff2'),
|
|
154
|
+
url(https://media.hyvor.com/fonts/source-serif-4-vietnamese-400-normal.DR1UuFon.woff)
|
|
155
|
+
format('woff');
|
|
156
|
+
unicode-range:
|
|
157
|
+
U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304,
|
|
158
|
+
U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
|
|
159
|
+
}
|
|
160
|
+
@font-face {
|
|
161
|
+
font-family: 'Source Serif 4';
|
|
162
|
+
font-style: normal;
|
|
163
|
+
font-display: swap;
|
|
164
|
+
font-weight: 400;
|
|
165
|
+
src:
|
|
166
|
+
url(https://media.hyvor.com/fonts/source-serif-4-latin-ext-400-normal.Cp7z-ARB.woff2)
|
|
167
|
+
format('woff2'),
|
|
168
|
+
url(https://media.hyvor.com/fonts/source-serif-4-latin-ext-400-normal.CEpydyUl.woff)
|
|
169
|
+
format('woff');
|
|
170
|
+
unicode-range:
|
|
171
|
+
U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF,
|
|
172
|
+
U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
173
|
+
}
|
|
174
|
+
@font-face {
|
|
175
|
+
font-family: 'Source Serif 4';
|
|
176
|
+
font-style: normal;
|
|
177
|
+
font-display: swap;
|
|
178
|
+
font-weight: 400;
|
|
179
|
+
src:
|
|
180
|
+
url(https://media.hyvor.com/fonts/source-serif-4-latin-400-normal.DJ5YJwmz.woff2)
|
|
181
|
+
format('woff2'),
|
|
182
|
+
url(https://media.hyvor.com/fonts/source-serif-4-latin-400-normal.Dn3IlU-Z.woff) format('woff');
|
|
183
|
+
unicode-range:
|
|
184
|
+
U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F,
|
|
185
|
+
U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
186
|
+
}
|
|
187
|
+
@font-face {
|
|
188
|
+
font-family: 'Source Serif 4';
|
|
189
|
+
font-style: normal;
|
|
190
|
+
font-display: swap;
|
|
191
|
+
font-weight: 600;
|
|
192
|
+
src:
|
|
193
|
+
url(https://media.hyvor.com/fonts/source-serif-4-cyrillic-ext-600-normal.D_E8FDgP.woff2)
|
|
194
|
+
format('woff2'),
|
|
195
|
+
url(https://media.hyvor.com/fonts/source-serif-4-cyrillic-ext-600-normal.DiT2IGQm.woff)
|
|
196
|
+
format('woff');
|
|
197
|
+
unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
|
198
|
+
}
|
|
199
|
+
@font-face {
|
|
200
|
+
font-family: 'Source Serif 4';
|
|
201
|
+
font-style: normal;
|
|
202
|
+
font-display: swap;
|
|
203
|
+
font-weight: 600;
|
|
204
|
+
src:
|
|
205
|
+
url(https://media.hyvor.com/fonts/source-serif-4-cyrillic-600-normal.BDP5YDHD.woff2)
|
|
206
|
+
format('woff2'),
|
|
207
|
+
url(https://media.hyvor.com/fonts/source-serif-4-cyrillic-600-normal.DFnC3vAY.woff)
|
|
208
|
+
format('woff');
|
|
209
|
+
unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
|
|
210
|
+
}
|
|
211
|
+
@font-face {
|
|
212
|
+
font-family: 'Source Serif 4';
|
|
213
|
+
font-style: normal;
|
|
214
|
+
font-display: swap;
|
|
215
|
+
font-weight: 600;
|
|
216
|
+
src:
|
|
217
|
+
url(https://media.hyvor.com/fonts/source-serif-4-greek-600-normal.DdRkKr-1.woff2)
|
|
218
|
+
format('woff2'),
|
|
219
|
+
url(https://media.hyvor.com/fonts/source-serif-4-greek-600-normal.DhXQw1Kl.woff) format('woff');
|
|
220
|
+
unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
|
|
221
|
+
}
|
|
222
|
+
@font-face {
|
|
223
|
+
font-family: 'Source Serif 4';
|
|
224
|
+
font-style: normal;
|
|
225
|
+
font-display: swap;
|
|
226
|
+
font-weight: 600;
|
|
227
|
+
src:
|
|
228
|
+
url(https://media.hyvor.com/fonts/source-serif-4-vietnamese-600-normal.CznyfUKR.woff2)
|
|
229
|
+
format('woff2'),
|
|
230
|
+
url(https://media.hyvor.com/fonts/source-serif-4-vietnamese-600-normal.B0WJbuqT.woff)
|
|
231
|
+
format('woff');
|
|
232
|
+
unicode-range:
|
|
233
|
+
U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304,
|
|
234
|
+
U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
|
|
235
|
+
}
|
|
236
|
+
@font-face {
|
|
237
|
+
font-family: 'Source Serif 4';
|
|
238
|
+
font-style: normal;
|
|
239
|
+
font-display: swap;
|
|
240
|
+
font-weight: 600;
|
|
241
|
+
src:
|
|
242
|
+
url(https://media.hyvor.com/fonts/source-serif-4-latin-ext-600-normal.0sIUyHMO.woff2)
|
|
243
|
+
format('woff2'),
|
|
244
|
+
url(https://media.hyvor.com/fonts/source-serif-4-latin-ext-600-normal.C6NNqpJh.woff)
|
|
245
|
+
format('woff');
|
|
246
|
+
unicode-range:
|
|
247
|
+
U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF,
|
|
248
|
+
U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
249
|
+
}
|
|
250
|
+
@font-face {
|
|
251
|
+
font-family: 'Source Serif 4';
|
|
252
|
+
font-style: normal;
|
|
253
|
+
font-display: swap;
|
|
254
|
+
font-weight: 600;
|
|
255
|
+
src:
|
|
256
|
+
url(https://media.hyvor.com/fonts/source-serif-4-latin-600-normal.DouSKlru.woff2)
|
|
257
|
+
format('woff2'),
|
|
258
|
+
url(https://media.hyvor.com/fonts/source-serif-4-latin-600-normal.DMD1h6_f.woff) format('woff');
|
|
259
|
+
unicode-range:
|
|
260
|
+
U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F,
|
|
261
|
+
U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
262
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import type { HTMLAttributes } from 'svelte/elements';
|
|
4
4
|
|
|
5
5
|
interface ComponentProps {
|
|
6
|
-
children
|
|
6
|
+
children?: Snippet;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
type Props = ComponentProps & HTMLAttributes<HTMLDivElement>;
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
</script>
|
|
15
15
|
|
|
16
16
|
<div role={head ? 'columnheader' : 'cell'} {...rest}>
|
|
17
|
-
{@render children()}
|
|
17
|
+
{@render children?.()}
|
|
18
18
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Snippet } from 'svelte';
|
|
2
2
|
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
3
|
interface ComponentProps {
|
|
4
|
-
children
|
|
4
|
+
children?: Snippet;
|
|
5
5
|
}
|
|
6
6
|
type Props = ComponentProps & HTMLAttributes<HTMLDivElement>;
|
|
7
7
|
declare const TableCell: import("svelte").Component<Props, {}, "">;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import Link from '../../components/Link/Link.svelte';
|
|
3
|
-
import Modal from '../../components/Modal/Modal.svelte';
|
|
4
3
|
import { replaceState } from '$app/navigation';
|
|
5
4
|
import { onMount } from 'svelte';
|
|
6
5
|
|
|
7
6
|
let partner: string | null = $state(null);
|
|
8
7
|
let showModal = $state(false);
|
|
8
|
+
// Modal (and its Loader dependency) is only loaded once we actually need to show it
|
|
9
|
+
let modalNeeded = $state(false);
|
|
9
10
|
|
|
10
11
|
onMount(() => {
|
|
11
12
|
const params = new URLSearchParams(window.location.search);
|
|
@@ -13,6 +14,7 @@
|
|
|
13
14
|
|
|
14
15
|
if (partner) {
|
|
15
16
|
showModal = true;
|
|
17
|
+
modalNeeded = true;
|
|
16
18
|
}
|
|
17
19
|
});
|
|
18
20
|
|
|
@@ -44,31 +46,35 @@
|
|
|
44
46
|
}
|
|
45
47
|
</script>
|
|
46
48
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
>
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
49
|
+
{#if modalNeeded}
|
|
50
|
+
{#await import('../../components/Modal/Modal.svelte') then m}
|
|
51
|
+
<m.default
|
|
52
|
+
title="Referred by {partner}"
|
|
53
|
+
bind:show={showModal}
|
|
54
|
+
closeOnOutsideClick={false}
|
|
55
|
+
footer={{
|
|
56
|
+
cancel: {
|
|
57
|
+
text: 'Do not track'
|
|
58
|
+
},
|
|
59
|
+
confirm: {
|
|
60
|
+
text: 'Ok, Visit Site'
|
|
61
|
+
}
|
|
62
|
+
}}
|
|
63
|
+
on:confirm={handleConsent}
|
|
64
|
+
>
|
|
65
|
+
<div class="notice">
|
|
66
|
+
You visited our site through our affiliate partner <strong>{partner}</strong>. To track
|
|
67
|
+
this referral, we will place a small cookie in your browser. This cookie helps us identify
|
|
68
|
+
which affiliate partner referred you if you sign up. It does not collect any personal data.
|
|
69
|
+
</div>
|
|
70
|
+
<p>
|
|
71
|
+
You can read more in our <Link href="https://hyvor.com/privacy" target="_blank"
|
|
72
|
+
>Privacy Policy</Link
|
|
73
|
+
>.
|
|
74
|
+
</p>
|
|
75
|
+
</m.default>
|
|
76
|
+
{/await}
|
|
77
|
+
{/if}
|
|
72
78
|
|
|
73
79
|
<style>
|
|
74
80
|
.notice {
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
import IconBluesky from '@hyvor/icons/IconBluesky';
|
|
12
12
|
import IconLockFill from '@hyvor/icons/IconLockFill';
|
|
13
13
|
import IconButton from '../../components/IconButton/IconButton.svelte';
|
|
14
|
-
import Tooltip from '../../components/Tooltip/Tooltip.svelte';
|
|
15
14
|
import LanguageToggle from '../../components/Internationalization/LanguageToggle.svelte';
|
|
16
15
|
import { SOCIAL_LINKS, type Socials } from '../social.js';
|
|
17
16
|
import Affiliate from '../Affiliate/Affiliate.svelte';
|
|
18
17
|
import RecordVisit from './RecordVisit.svelte';
|
|
18
|
+
import { onMount } from 'svelte';
|
|
19
19
|
|
|
20
20
|
const year = new Date().getFullYear();
|
|
21
21
|
|
|
@@ -66,6 +66,14 @@
|
|
|
66
66
|
gdprText = 'GDPR Compliant',
|
|
67
67
|
fromFranceText = 'From France'
|
|
68
68
|
}: Props = $props();
|
|
69
|
+
|
|
70
|
+
// Tooltip is loaded lazily so its code isn't part of the initial bundle;
|
|
71
|
+
// the plain icon button still renders on the server / before hydration
|
|
72
|
+
let tooltipReady = $state(false);
|
|
73
|
+
onMount(() => {
|
|
74
|
+
tooltipReady = true;
|
|
75
|
+
});
|
|
76
|
+
|
|
69
77
|
const mascotLogo = $derived(
|
|
70
78
|
logo || (product ? `${instance}/api/public/logo/${product}.svg` : undefined)
|
|
71
79
|
);
|
|
@@ -159,17 +167,32 @@
|
|
|
159
167
|
<IconEnvelope size={14} />
|
|
160
168
|
{email}
|
|
161
169
|
</a>
|
|
162
|
-
|
|
170
|
+
{#if tooltipReady}
|
|
171
|
+
{#await import('../../components/Tooltip/Tooltip.svelte') then m}
|
|
172
|
+
<m.default text={emailCopied ? copiedLabel : copyEmailLabel} position="top">
|
|
173
|
+
<IconButton
|
|
174
|
+
size="small"
|
|
175
|
+
variant="invisible"
|
|
176
|
+
color="input"
|
|
177
|
+
onclick={handleCopyEmail}
|
|
178
|
+
onmouseleave={() => (emailCopied = false)}
|
|
179
|
+
>
|
|
180
|
+
<IconCopy size={12} />
|
|
181
|
+
</IconButton>
|
|
182
|
+
</m.default>
|
|
183
|
+
{/await}
|
|
184
|
+
{:else}
|
|
163
185
|
<IconButton
|
|
164
186
|
size="small"
|
|
165
187
|
variant="invisible"
|
|
166
188
|
color="input"
|
|
189
|
+
aria-label={emailCopied ? copiedLabel : copyEmailLabel}
|
|
167
190
|
onclick={handleCopyEmail}
|
|
168
191
|
onmouseleave={() => (emailCopied = false)}
|
|
169
192
|
>
|
|
170
193
|
<IconCopy size={12} />
|
|
171
194
|
</IconButton>
|
|
172
|
-
|
|
195
|
+
{/if}
|
|
173
196
|
</div>
|
|
174
197
|
{/if}
|
|
175
198
|
|