@nymphjs/tilmeld-components 1.0.0-beta.13 → 1.0.0-beta.130
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/CHANGELOG.md +490 -0
- package/README.md +6 -4
- package/dist/Account.svelte +516 -0
- package/dist/ChangePassword.svelte +309 -0
- package/dist/Login.svelte +603 -0
- package/dist/Recover.svelte +463 -0
- package/dist/RevokeTokens.svelte +236 -0
- package/dist/TwoFactor.svelte +544 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +8 -0
- package/{lib → dist}/index.js.map +1 -1
- package/jest.config.js +32 -0
- package/package.json +54 -43
- package/src/Account.svelte +280 -113
- package/src/ChangePassword.svelte +147 -51
- package/src/Login.svelte +328 -115
- package/src/Recover.svelte +180 -78
- package/src/RevokeTokens.svelte +236 -0
- package/src/TwoFactor.svelte +544 -0
- package/src/index.d.ts +3 -1
- package/src/index.ts +3 -1
- package/tsconfig.json +8 -4
- package/typedoc.json +4 -0
- package/dist/index.cjs +0 -3
- package/dist/index.cjs.LICENSE.txt +0 -45
- package/dist/index.cjs.map +0 -1
- package/jest.config.cjs +0 -6
- package/lib/Account.svelte +0 -333
- package/lib/Account.svelte.map +0 -1
- package/lib/ChangePassword.svelte +0 -188
- package/lib/ChangePassword.svelte.map +0 -1
- package/lib/Login.svelte +0 -353
- package/lib/Login.svelte.map +0 -1
- package/lib/Recover.svelte +0 -339
- package/lib/Recover.svelte.map +0 -1
- package/lib/index.d.ts +0 -5
- package/lib/index.js +0 -6
- package/webpack.config.cjs +0 -35
package/lib/Login.svelte
DELETED
|
@@ -1,353 +0,0 @@
|
|
|
1
|
-
<div
|
|
2
|
-
style="width: {width}; {style}"
|
|
3
|
-
use:useActions={use}
|
|
4
|
-
use:forwardEvents
|
|
5
|
-
{...exclude($$restProps, [
|
|
6
|
-
'successRegisteredMessage$',
|
|
7
|
-
'successLoginMessage$',
|
|
8
|
-
'username$',
|
|
9
|
-
'password$',
|
|
10
|
-
'password2$',
|
|
11
|
-
'name$',
|
|
12
|
-
'email$',
|
|
13
|
-
'phone$',
|
|
14
|
-
'loginButton$',
|
|
15
|
-
'registerButton$',
|
|
16
|
-
'registerLink$',
|
|
17
|
-
'loginLink$',
|
|
18
|
-
'recoverLink$',
|
|
19
|
-
'recover$',
|
|
20
|
-
'progress$',
|
|
21
|
-
])}
|
|
22
|
-
>
|
|
23
|
-
{#if clientConfig == null || registering || loggingIn}
|
|
24
|
-
<div style="display: flex; justify-content: center; align-items: center;">
|
|
25
|
-
<CircularProgress
|
|
26
|
-
style="height: 32px; width: 32px;"
|
|
27
|
-
indeterminate
|
|
28
|
-
{...prefixFilter($$restProps, 'progress$')}
|
|
29
|
-
/>
|
|
30
|
-
</div>
|
|
31
|
-
{:else if successRegisteredMessage}
|
|
32
|
-
<div {...prefixFilter($$restProps, 'successRegisteredMessage$')}>
|
|
33
|
-
{successRegisteredMessage}
|
|
34
|
-
</div>
|
|
35
|
-
{:else if successLoginMessage}
|
|
36
|
-
<div {...prefixFilter($$restProps, 'successLoginMessage$')}>
|
|
37
|
-
{successLoginMessage}
|
|
38
|
-
</div>
|
|
39
|
-
{:else}
|
|
40
|
-
<form on:submit|preventDefault>
|
|
41
|
-
<div>
|
|
42
|
-
<Textfield
|
|
43
|
-
bind:value={username}
|
|
44
|
-
bind:this={usernameElem}
|
|
45
|
-
label={clientConfig.emailUsernames ? 'Email' : 'Username'}
|
|
46
|
-
type={clientConfig.emailUsernames ? 'email' : 'text'}
|
|
47
|
-
style="width: 100%;"
|
|
48
|
-
helperLine$style="width: 100%;"
|
|
49
|
-
invalid={usernameVerified === false}
|
|
50
|
-
input$autocomplete={clientConfig.emailUsernames
|
|
51
|
-
? 'email'
|
|
52
|
-
: 'username'}
|
|
53
|
-
input$name={clientConfig.emailUsernames ? 'email' : 'username'}
|
|
54
|
-
input$autocapitalize="off"
|
|
55
|
-
input$spellcheck="false"
|
|
56
|
-
{...prefixFilter($$restProps, 'username$')}
|
|
57
|
-
>
|
|
58
|
-
<HelperText persistent slot="helper">
|
|
59
|
-
{#if mode !== 'login'}
|
|
60
|
-
{usernameVerifiedMessage || ''}
|
|
61
|
-
{/if}
|
|
62
|
-
</HelperText>
|
|
63
|
-
</Textfield>
|
|
64
|
-
</div>
|
|
65
|
-
|
|
66
|
-
<div>
|
|
67
|
-
<Textfield
|
|
68
|
-
bind:value={password}
|
|
69
|
-
label="Password"
|
|
70
|
-
type="password"
|
|
71
|
-
style="width: 100%;"
|
|
72
|
-
input$autocomplete="{clientConfig.allowRegistration &&
|
|
73
|
-
mode !== 'login'
|
|
74
|
-
? 'new'
|
|
75
|
-
: 'current'}-password"
|
|
76
|
-
input$name="password"
|
|
77
|
-
{...prefixFilter($$restProps, 'password$')}
|
|
78
|
-
/>
|
|
79
|
-
</div>
|
|
80
|
-
|
|
81
|
-
{#if clientConfig.allowRegistration && mode !== 'login'}
|
|
82
|
-
<div>
|
|
83
|
-
<Textfield
|
|
84
|
-
bind:value={password2}
|
|
85
|
-
label="Re-enter Password"
|
|
86
|
-
type="password"
|
|
87
|
-
style="width: 100%;"
|
|
88
|
-
input$autocomplete="new-password"
|
|
89
|
-
input$name="password2"
|
|
90
|
-
{...prefixFilter($$restProps, 'password2$')}
|
|
91
|
-
/>
|
|
92
|
-
</div>
|
|
93
|
-
|
|
94
|
-
{#if clientConfig.regFields.indexOf('name') !== -1}
|
|
95
|
-
<div>
|
|
96
|
-
<Textfield
|
|
97
|
-
bind:value={name}
|
|
98
|
-
label="Name"
|
|
99
|
-
type="text"
|
|
100
|
-
style="width: 100%;"
|
|
101
|
-
input$autocomplete="name"
|
|
102
|
-
input$name="name"
|
|
103
|
-
{...prefixFilter($$restProps, 'name$')}
|
|
104
|
-
/>
|
|
105
|
-
</div>
|
|
106
|
-
{/if}
|
|
107
|
-
|
|
108
|
-
{#if !clientConfig.emailUsernames && clientConfig.regFields.indexOf('email') !== -1}
|
|
109
|
-
<div>
|
|
110
|
-
<Textfield
|
|
111
|
-
bind:value={email}
|
|
112
|
-
label="Email"
|
|
113
|
-
type="email"
|
|
114
|
-
style="width: 100%;"
|
|
115
|
-
input$autocomplete="email"
|
|
116
|
-
input$name="email"
|
|
117
|
-
input$autocapitalize="off"
|
|
118
|
-
input$spellcheck="false"
|
|
119
|
-
{...prefixFilter($$restProps, 'email$')}
|
|
120
|
-
/>
|
|
121
|
-
</div>
|
|
122
|
-
{/if}
|
|
123
|
-
|
|
124
|
-
{#if clientConfig.regFields.indexOf('phone') !== -1}
|
|
125
|
-
<div>
|
|
126
|
-
<Textfield
|
|
127
|
-
bind:value={phone}
|
|
128
|
-
label="Phone Number"
|
|
129
|
-
type="tel"
|
|
130
|
-
style="width: 100%;"
|
|
131
|
-
input$autocomplete="tel"
|
|
132
|
-
input$name="phone"
|
|
133
|
-
{...prefixFilter($$restProps, 'phone$')}
|
|
134
|
-
/>
|
|
135
|
-
</div>
|
|
136
|
-
{/if}
|
|
137
|
-
{/if}
|
|
138
|
-
|
|
139
|
-
<slot name="additional" />
|
|
140
|
-
|
|
141
|
-
{#if failureMessage}
|
|
142
|
-
<div class="tilmeld-login-failure">
|
|
143
|
-
{failureMessage}
|
|
144
|
-
</div>
|
|
145
|
-
{/if}
|
|
146
|
-
|
|
147
|
-
<div class="tilmeld-login-buttons">
|
|
148
|
-
{#if mode === 'login'}
|
|
149
|
-
<Button
|
|
150
|
-
variant="raised"
|
|
151
|
-
type="submit"
|
|
152
|
-
on:click={login}
|
|
153
|
-
{...prefixFilter($$restProps, 'loginButton$')}
|
|
154
|
-
>
|
|
155
|
-
<Label>Log In</Label>
|
|
156
|
-
</Button>
|
|
157
|
-
{:else}
|
|
158
|
-
<Button
|
|
159
|
-
variant="raised"
|
|
160
|
-
type="submit"
|
|
161
|
-
on:click={register}
|
|
162
|
-
{...prefixFilter($$restProps, 'registerButton$')}
|
|
163
|
-
>
|
|
164
|
-
<Label>Create Account</Label>
|
|
165
|
-
</Button>
|
|
166
|
-
{/if}
|
|
167
|
-
</div>
|
|
168
|
-
|
|
169
|
-
{#if clientConfig.allowRegistration && showExistingUserToggle}
|
|
170
|
-
<div class="tilmeld-login-action">
|
|
171
|
-
{#if mode === 'login'}
|
|
172
|
-
<a
|
|
173
|
-
href="javascript:void(0);"
|
|
174
|
-
on:click={() => (mode = 'register')}
|
|
175
|
-
{...prefixFilter($$restProps, 'registerLink$')}
|
|
176
|
-
>
|
|
177
|
-
Create an account.
|
|
178
|
-
</a>
|
|
179
|
-
{:else}
|
|
180
|
-
<a
|
|
181
|
-
href="javascript:void(0);"
|
|
182
|
-
on:click={() => (mode = 'login')}
|
|
183
|
-
{...prefixFilter($$restProps, 'loginLink$')}
|
|
184
|
-
>
|
|
185
|
-
Log in to your account.
|
|
186
|
-
</a>
|
|
187
|
-
{/if}
|
|
188
|
-
</div>
|
|
189
|
-
{/if}
|
|
190
|
-
|
|
191
|
-
{#if !hideRecovery && clientConfig.pwRecovery && mode === 'login'}
|
|
192
|
-
<div class="tilmeld-login-action">
|
|
193
|
-
<a
|
|
194
|
-
href="javascript:void(0);"
|
|
195
|
-
on:click={() => (recoverOpen = true)}
|
|
196
|
-
{...prefixFilter($$restProps, 'recoverLink$')}
|
|
197
|
-
>
|
|
198
|
-
I can't access my account.
|
|
199
|
-
</a>
|
|
200
|
-
</div>
|
|
201
|
-
<Recover
|
|
202
|
-
{User}
|
|
203
|
-
bind:open={recoverOpen}
|
|
204
|
-
bind:clientConfig
|
|
205
|
-
{...prefixFilter($$restProps, 'recover$')}
|
|
206
|
-
/>
|
|
207
|
-
{/if}
|
|
208
|
-
</form>
|
|
209
|
-
{/if}
|
|
210
|
-
</div>
|
|
211
|
-
|
|
212
|
-
<script>import { onMount, createEventDispatcher } from 'svelte';
|
|
213
|
-
import { get_current_component } from 'svelte/internal';
|
|
214
|
-
import CircularProgress from '@smui/circular-progress';
|
|
215
|
-
import Button, { Label } from '@smui/button';
|
|
216
|
-
import Textfield from '@smui/textfield';
|
|
217
|
-
import HelperText from '@smui/textfield/helper-text';
|
|
218
|
-
import { forwardEventsBuilder, exclude, prefixFilter, useActions, } from '@smui/common/internal';
|
|
219
|
-
import { login as loginAction, register as registerAction, checkUsername as checkUsernameAction, } from '@nymphjs/tilmeld-client';
|
|
220
|
-
import Recover from './Recover.svelte';
|
|
221
|
-
const forwardEvents = forwardEventsBuilder(get_current_component());
|
|
222
|
-
const dispatch = createEventDispatcher();
|
|
223
|
-
export let use = [];
|
|
224
|
-
export let style = '';
|
|
225
|
-
export let clientConfig = undefined;
|
|
226
|
-
export let User;
|
|
227
|
-
export let hideRecovery = false;
|
|
228
|
-
export let autofocus = true;
|
|
229
|
-
export let mode = 'login';
|
|
230
|
-
export let showExistingUserToggle = true;
|
|
231
|
-
export let width = '220px';
|
|
232
|
-
export let username = '';
|
|
233
|
-
export let password = '';
|
|
234
|
-
export let password2 = '';
|
|
235
|
-
export let name = '';
|
|
236
|
-
export let email = '';
|
|
237
|
-
export let phone = '';
|
|
238
|
-
export let additionalData = undefined;
|
|
239
|
-
let usernameElem;
|
|
240
|
-
let successLoginMessage = undefined;
|
|
241
|
-
let successRegisteredMessage = undefined;
|
|
242
|
-
let failureMessage = undefined;
|
|
243
|
-
let usernameTimer = undefined;
|
|
244
|
-
let usernameVerified = undefined;
|
|
245
|
-
let usernameVerifiedMessage = undefined;
|
|
246
|
-
let registering = false;
|
|
247
|
-
let loggingIn = false;
|
|
248
|
-
let recoverOpen = false;
|
|
249
|
-
$: nameFirst = name?.match(/^(.*?)(?: ([^ ]+))?$/)?.[1] ?? '';
|
|
250
|
-
$: nameLast = name?.match(/^(.*?)(?: ([^ ]+))?$/)?.[2] ?? '';
|
|
251
|
-
let _previousMode = mode;
|
|
252
|
-
$: if (mode !== _previousMode) {
|
|
253
|
-
failureMessage = '';
|
|
254
|
-
checkUsername(username);
|
|
255
|
-
_previousMode = mode;
|
|
256
|
-
}
|
|
257
|
-
$: {
|
|
258
|
-
checkUsername(username);
|
|
259
|
-
}
|
|
260
|
-
onMount(async () => {
|
|
261
|
-
if (clientConfig === undefined) {
|
|
262
|
-
clientConfig = await User.getClientConfig();
|
|
263
|
-
}
|
|
264
|
-
if (!clientConfig.allowRegistration) {
|
|
265
|
-
mode = 'login';
|
|
266
|
-
}
|
|
267
|
-
if (autofocus && usernameElem) {
|
|
268
|
-
usernameElem.focus();
|
|
269
|
-
}
|
|
270
|
-
});
|
|
271
|
-
async function login() {
|
|
272
|
-
successLoginMessage = undefined;
|
|
273
|
-
failureMessage = undefined;
|
|
274
|
-
loggingIn = true;
|
|
275
|
-
try {
|
|
276
|
-
const data = await loginAction(User, username, password, additionalData);
|
|
277
|
-
successLoginMessage = data.message;
|
|
278
|
-
dispatch('login', { user: data.user });
|
|
279
|
-
}
|
|
280
|
-
catch (e) {
|
|
281
|
-
failureMessage = e?.message;
|
|
282
|
-
}
|
|
283
|
-
loggingIn = false;
|
|
284
|
-
}
|
|
285
|
-
async function register() {
|
|
286
|
-
successRegisteredMessage = undefined;
|
|
287
|
-
successLoginMessage = undefined;
|
|
288
|
-
failureMessage = undefined;
|
|
289
|
-
registering = true;
|
|
290
|
-
try {
|
|
291
|
-
const data = await registerAction(User, {
|
|
292
|
-
username,
|
|
293
|
-
usernameVerified: !!usernameVerified,
|
|
294
|
-
password,
|
|
295
|
-
password2,
|
|
296
|
-
email,
|
|
297
|
-
nameFirst,
|
|
298
|
-
nameLast,
|
|
299
|
-
phone,
|
|
300
|
-
...(additionalData ? { additionalData } : {}),
|
|
301
|
-
});
|
|
302
|
-
successRegisteredMessage = data.message;
|
|
303
|
-
dispatch('register', { user: data.user });
|
|
304
|
-
if (data.loggedin) {
|
|
305
|
-
successLoginMessage = data.message;
|
|
306
|
-
dispatch('login', { user: data.user });
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
catch (e) {
|
|
310
|
-
failureMessage = e?.message;
|
|
311
|
-
}
|
|
312
|
-
registering = false;
|
|
313
|
-
}
|
|
314
|
-
function checkUsername(newValue) {
|
|
315
|
-
usernameVerified = undefined;
|
|
316
|
-
usernameVerifiedMessage = undefined;
|
|
317
|
-
if (usernameTimer) {
|
|
318
|
-
clearTimeout(usernameTimer);
|
|
319
|
-
usernameTimer = undefined;
|
|
320
|
-
}
|
|
321
|
-
if (newValue === '' || mode === 'login') {
|
|
322
|
-
return;
|
|
323
|
-
}
|
|
324
|
-
usernameTimer = setTimeout(async () => {
|
|
325
|
-
try {
|
|
326
|
-
const data = await checkUsernameAction(User, newValue);
|
|
327
|
-
usernameVerified = true;
|
|
328
|
-
usernameVerifiedMessage = data.message;
|
|
329
|
-
}
|
|
330
|
-
catch (e) {
|
|
331
|
-
usernameVerified = false;
|
|
332
|
-
usernameVerifiedMessage = e?.message;
|
|
333
|
-
}
|
|
334
|
-
}, 400);
|
|
335
|
-
}
|
|
336
|
-
</script>
|
|
337
|
-
|
|
338
|
-
<style>
|
|
339
|
-
.tilmeld-login-buttons {
|
|
340
|
-
display: flex;
|
|
341
|
-
flex-direction: row;
|
|
342
|
-
justify-content: start;
|
|
343
|
-
align-items: center;
|
|
344
|
-
margin-top: 1em;
|
|
345
|
-
}
|
|
346
|
-
.tilmeld-login-action {
|
|
347
|
-
margin-top: 1em;
|
|
348
|
-
}
|
|
349
|
-
.tilmeld-login-failure {
|
|
350
|
-
margin-top: 1em;
|
|
351
|
-
color: var(--mdc-theme-error, #f00);
|
|
352
|
-
}
|
|
353
|
-
</style>
|
package/lib/Login.svelte.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"mappings":"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","names":[],"sources":["Login.svelte"]}
|