@nymphjs/tilmeld-components 1.0.0-beta.93 → 1.0.0-beta.95

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 CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.0.0-beta.95](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.94...v1.0.0-beta.95) (2025-08-30)
7
+
8
+ **Note:** Version bump only for package @nymphjs/tilmeld-components
9
+
10
+ # [1.0.0-beta.94](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.93...v1.0.0-beta.94) (2025-08-25)
11
+
12
+ **Note:** Version bump only for package @nymphjs/tilmeld-components
13
+
6
14
  # [1.0.0-beta.93](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.92...v1.0.0-beta.93) (2025-08-16)
7
15
 
8
16
  **Note:** Version bump only for package @nymphjs/tilmeld-components
@@ -0,0 +1,387 @@
1
+ {#if clientConfig != null && user != null}
2
+ <Dialog
3
+ use={usePass}
4
+ bind:open
5
+ aria-labelledby="tilmeld-account-title"
6
+ aria-describedby="tilmeld-account-content"
7
+ surface$class="tilmeld-account-dialog-surface"
8
+ {...exclude($$restProps, [
9
+ 'username$',
10
+ 'email$',
11
+ 'nameFirst$',
12
+ 'nameMiddle$',
13
+ 'nameLast$',
14
+ 'phone$',
15
+ 'changePasswordLink$',
16
+ 'revokeSessionsLink$',
17
+ 'closeButton$',
18
+ 'saveButton$',
19
+ 'changePassword$',
20
+ 'revokeSessions$',
21
+ 'twoFactor$',
22
+ 'progress$',
23
+ ])}
24
+ >
25
+ <!-- Title cannot contain leading whitespace due to mdc-typography-baseline-top() -->
26
+ <Title id="tilmeld-account-title">{title}</Title>
27
+ <Content id="tilmeld-account-content">
28
+ {#if !clientConfig.emailUsernames && clientConfig.allowUsernameChange}
29
+ <div>
30
+ <Textfield
31
+ bind:value={user.username}
32
+ label="Username"
33
+ type="text"
34
+ style="width: 100%;"
35
+ helperLine$style="width: 100%;"
36
+ invalid={usernameVerified === false}
37
+ input$autocomplete="username"
38
+ input$autocapitalize="off"
39
+ input$spellcheck="false"
40
+ input$emptyValueUndefined
41
+ {...prefixFilter($$restProps, 'username$')}
42
+ >
43
+ <HelperText persistent slot="helper">
44
+ {usernameVerifiedMessage || ''}
45
+ </HelperText>
46
+ </Textfield>
47
+ </div>
48
+ {/if}
49
+
50
+ {#if clientConfig.emailUsernames || clientConfig.userFields.includes('email')}
51
+ <div>
52
+ <Textfield
53
+ bind:value={user.email}
54
+ label="Email"
55
+ type="email"
56
+ style="width: 100%;"
57
+ helperLine$style="width: 100%;"
58
+ invalid={emailVerified === false}
59
+ input$autocomplete="email"
60
+ input$autocapitalize="off"
61
+ input$spellcheck="false"
62
+ input$emptyValueUndefined
63
+ {...prefixFilter($$restProps, 'email$')}
64
+ >
65
+ <HelperText persistent slot="helper">
66
+ {emailVerifiedMessage || ''}
67
+ </HelperText>
68
+ </Textfield>
69
+ </div>
70
+ {/if}
71
+
72
+ {#if clientConfig.userFields.includes('name')}
73
+ <div>
74
+ <Textfield
75
+ bind:value={user.nameFirst}
76
+ label="First Name"
77
+ type="text"
78
+ style="width: 100%;"
79
+ input$autocomplete="given-name"
80
+ input$emptyValueUndefined
81
+ {...prefixFilter($$restProps, 'nameFirst$')}
82
+ />
83
+ </div>
84
+
85
+ <div>
86
+ <Textfield
87
+ bind:value={user.nameMiddle}
88
+ label="Middle Name"
89
+ type="text"
90
+ style="width: 100%;"
91
+ input$autocomplete="additional-name"
92
+ input$emptyValueUndefined
93
+ {...prefixFilter($$restProps, 'nameMiddle$')}
94
+ />
95
+ </div>
96
+
97
+ <div>
98
+ <Textfield
99
+ bind:value={user.nameLast}
100
+ label="Last Name"
101
+ type="text"
102
+ style="width: 100%;"
103
+ input$autocomplete="family-name"
104
+ input$emptyValueUndefined
105
+ {...prefixFilter($$restProps, 'nameLast$')}
106
+ />
107
+ </div>
108
+ {/if}
109
+
110
+ {#if clientConfig.userFields.includes('phone')}
111
+ <div>
112
+ <Textfield
113
+ bind:value={user.phone}
114
+ label="Phone Number"
115
+ type="tel"
116
+ style="width: 100%;"
117
+ input$autocomplete="tel"
118
+ input$name="phone"
119
+ input$emptyValueUndefined
120
+ {...prefixFilter($$restProps, 'phone$')}
121
+ />
122
+ </div>
123
+ {/if}
124
+
125
+ <slot name="additional" />
126
+
127
+ <div class="tilmeld-account-action">
128
+ <a
129
+ href={'javascript:void(0);'}
130
+ on:click={() => {
131
+ open = false;
132
+ changePasswordOpen = true;
133
+ }}
134
+ {...prefixFilter($$restProps, 'changePasswordLink$')}
135
+ >
136
+ Change your password.
137
+ </a>
138
+ </div>
139
+
140
+ <div class="tilmeld-account-action">
141
+ <a
142
+ href={'javascript:void(0);'}
143
+ on:click={() => {
144
+ open = false;
145
+ revokeTokensOpen = true;
146
+ }}
147
+ {...prefixFilter($$restProps, 'revokeTokensLink$')}
148
+ >
149
+ Log out of other sessions.
150
+ </a>
151
+
152
+ <div class="tilmeld-account-action">
153
+ <a
154
+ href={'javascript:void(0);'}
155
+ on:click={() => {
156
+ open = false;
157
+ twoFactorOpen = true;
158
+ }}
159
+ {...prefixFilter($$restProps, 'twoFactor$')}
160
+ >
161
+ {#if hasTOTPSecret === false}
162
+ Enable two factor authentication (2FA).
163
+ {:else}
164
+ Manage two factor authentication (2FA).
165
+ {/if}
166
+ </a>
167
+ </div>
168
+
169
+ {#if failureMessage}
170
+ <div class="tilmeld-account-failure">
171
+ {failureMessage}
172
+ </div>
173
+ {/if}
174
+
175
+ {#if loading}
176
+ <div class="tilmeld-account-loading">
177
+ <CircularProgress
178
+ style="height: 24px; width: 24px;"
179
+ indeterminate
180
+ {...prefixFilter($$restProps, 'progress$')}
181
+ />
182
+ </div>
183
+ {/if}
184
+ </div>
185
+ </Content>
186
+ <Actions>
187
+ <Button disabled={loading} {...prefixFilter($$restProps, 'closeButton$')}>
188
+ <Label>Close</Label>
189
+ </Button>
190
+ <Button
191
+ on:click$preventDefault$stopPropagation={save}
192
+ disabled={loading}
193
+ {...prefixFilter($$restProps, 'saveButton$')}
194
+ >
195
+ <Label>Save Changes</Label>
196
+ </Button>
197
+ </Actions>
198
+ </Dialog>
199
+
200
+ <ChangePassword
201
+ {User}
202
+ bind:open={changePasswordOpen}
203
+ bind:user
204
+ {...prefixFilter($$restProps, 'changePassword$')}
205
+ />
206
+
207
+ <RevokeTokens
208
+ {User}
209
+ bind:open={revokeTokensOpen}
210
+ bind:user
211
+ {...prefixFilter($$restProps, 'revokeTokens$')}
212
+ />
213
+
214
+ <TwoFactor
215
+ {User}
216
+ bind:open={twoFactorOpen}
217
+ bind:user
218
+ bind:hasTOTPSecret
219
+ {...prefixFilter($$restProps, 'twoFactor$')}
220
+ />
221
+ {/if}
222
+
223
+ <script>import { onMount, onDestroy } from 'svelte';
224
+ import { get_current_component } from 'svelte/internal';
225
+ import CircularProgress from '@smui/circular-progress';
226
+ import Dialog, { Title, Content, Actions } from '@smui/dialog';
227
+ import Textfield from '@smui/textfield';
228
+ import HelperText from '@smui/textfield/helper-text';
229
+ import Button, { Label } from '@smui/button';
230
+ import { forwardEventsBuilder, exclude, prefixFilter, } from '@smui/common/internal';
231
+ import ChangePassword from './ChangePassword.svelte';
232
+ import RevokeTokens from './RevokeTokens.svelte';
233
+ import TwoFactor from './TwoFactor.svelte';
234
+ const forwardEvents = forwardEventsBuilder(get_current_component());
235
+ export let use = [];
236
+ $: usePass = [forwardEvents, ...use];
237
+ export let open = false;
238
+ export let title = 'Your Account';
239
+ export let clientConfig = undefined;
240
+ export let User;
241
+ export let user = undefined;
242
+ let loading = false;
243
+ let originalUsername = undefined;
244
+ let originalEmail = undefined;
245
+ let failureMessage = undefined;
246
+ let usernameTimer = undefined;
247
+ let usernameVerified = undefined;
248
+ let usernameVerifiedMessage = undefined;
249
+ let emailTimer = undefined;
250
+ let emailVerified = undefined;
251
+ let emailVerifiedMessage = undefined;
252
+ let hasTOTPSecret = null;
253
+ let changePasswordOpen = false;
254
+ let revokeTokensOpen = false;
255
+ let twoFactorOpen = false;
256
+ const onLogin = (currentUser) => {
257
+ user = currentUser;
258
+ originalUsername = user?.username;
259
+ originalEmail = user?.email;
260
+ };
261
+ const onLogout = () => {
262
+ user = undefined;
263
+ originalUsername = undefined;
264
+ originalEmail = undefined;
265
+ };
266
+ $: if (user && user.username !== originalUsername) {
267
+ checkUsername();
268
+ }
269
+ else {
270
+ if (usernameTimer) {
271
+ clearTimeout(usernameTimer);
272
+ }
273
+ usernameVerified = true;
274
+ usernameVerifiedMessage = undefined;
275
+ }
276
+ $: if (user && user.email !== originalEmail) {
277
+ checkEmail();
278
+ }
279
+ else {
280
+ if (emailTimer) {
281
+ clearTimeout(emailTimer);
282
+ }
283
+ emailVerified = true;
284
+ emailVerifiedMessage = undefined;
285
+ }
286
+ onMount(async () => {
287
+ User.on('login', onLogin);
288
+ User.on('logout', onLogout);
289
+ if (user === undefined) {
290
+ user = (await User.current()) ?? undefined;
291
+ }
292
+ originalUsername = user?.username;
293
+ originalEmail = user?.email;
294
+ });
295
+ onMount(async () => {
296
+ if (clientConfig === undefined) {
297
+ clientConfig = await User.getClientConfig();
298
+ }
299
+ });
300
+ onDestroy(() => {
301
+ User.off('login', onLogin);
302
+ User.off('logout', onLogout);
303
+ });
304
+ async function save() {
305
+ if (user == null) {
306
+ return;
307
+ }
308
+ failureMessage = undefined;
309
+ loading = true;
310
+ if (clientConfig?.emailUsernames) {
311
+ user.username = user.email;
312
+ }
313
+ try {
314
+ if (await user.$save()) {
315
+ originalEmail = user.email;
316
+ open = false;
317
+ usernameVerifiedMessage = undefined;
318
+ emailVerifiedMessage = undefined;
319
+ }
320
+ else {
321
+ failureMessage = 'Error saving account changes.';
322
+ }
323
+ }
324
+ catch (e) {
325
+ failureMessage = e?.message;
326
+ }
327
+ loading = false;
328
+ }
329
+ function checkUsername() {
330
+ usernameVerified = undefined;
331
+ usernameVerifiedMessage = undefined;
332
+ if (usernameTimer) {
333
+ clearTimeout(usernameTimer);
334
+ usernameTimer = undefined;
335
+ }
336
+ usernameTimer = setTimeout(async () => {
337
+ try {
338
+ const data = await user?.$checkUsername();
339
+ usernameVerified = data?.result ?? false;
340
+ usernameVerifiedMessage =
341
+ data?.message ?? 'Error getting verification.';
342
+ }
343
+ catch (e) {
344
+ usernameVerified = false;
345
+ usernameVerifiedMessage = e?.message;
346
+ }
347
+ }, 400);
348
+ }
349
+ function checkEmail() {
350
+ emailVerified = undefined;
351
+ emailVerifiedMessage = undefined;
352
+ if (emailTimer) {
353
+ clearTimeout(emailTimer);
354
+ emailTimer = undefined;
355
+ }
356
+ emailTimer = setTimeout(async () => {
357
+ try {
358
+ const data = await user?.$checkEmail();
359
+ emailVerified = data?.result ?? false;
360
+ emailVerifiedMessage = data?.message ?? 'Error getting verification.';
361
+ }
362
+ catch (e) {
363
+ emailVerified = false;
364
+ emailVerifiedMessage = e?.message;
365
+ }
366
+ }, 400);
367
+ }
368
+ </script>
369
+
370
+ <style>
371
+ :global(.mdc-dialog .mdc-dialog__surface.tilmeld-account-dialog-surface) {
372
+ width: 360px;
373
+ max-width: calc(100vw - 32px);
374
+ }
375
+ .tilmeld-account-failure {
376
+ margin-top: 1em;
377
+ color: var(--mdc-theme-error, #f00);
378
+ }
379
+ .tilmeld-account-action {
380
+ margin-top: 1em;
381
+ }
382
+ .tilmeld-account-loading {
383
+ display: flex;
384
+ justify-content: center;
385
+ align-items: center;
386
+ }
387
+ </style>
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":[],"sources":["Account.svelte"]}
@@ -0,0 +1,212 @@
1
+ {#if user != null}
2
+ <Dialog
3
+ use={usePass}
4
+ bind:open
5
+ aria-labelledby="tilmeld-password-title"
6
+ aria-describedby="tilmeld-password-content"
7
+ surface$class="tilmeld-password-dialog-surface"
8
+ {...exclude($$restProps, [
9
+ 'password$',
10
+ 'newPassword$',
11
+ 'newPassword2$',
12
+ 'revokeTokens$',
13
+ 'closeButton$',
14
+ 'saveButton$',
15
+ 'progress$',
16
+ ])}
17
+ >
18
+ <!-- Title cannot contain leading whitespace due to mdc-typography-baseline-top() -->
19
+ <Title id="tilmeld-password-title">{title}</Title>
20
+ <Content id="tilmeld-password-content">
21
+ <div>
22
+ <Textfield
23
+ bind:value={currentPassword}
24
+ label="Current Password"
25
+ type="password"
26
+ style="width: 100%;"
27
+ input$autocomplete="current-password"
28
+ {...prefixFilter($$restProps, 'password$')}
29
+ />
30
+ </div>
31
+
32
+ <div>
33
+ <Textfield
34
+ bind:value={newPassword}
35
+ label="New Password"
36
+ type="password"
37
+ style="width: 100%;"
38
+ input$autocomplete="new-password"
39
+ {...prefixFilter($$restProps, 'newPassword$')}
40
+ />
41
+ </div>
42
+
43
+ <div>
44
+ <Textfield
45
+ bind:value={newPassword2}
46
+ label="Re-enter New Password"
47
+ type="password"
48
+ style="width: 100%;"
49
+ input$autocomplete="new-password"
50
+ {...prefixFilter($$restProps, 'newPassword2$')}
51
+ />
52
+ </div>
53
+
54
+ <div style="margin: 1em 0;">
55
+ <FormField>
56
+ <Checkbox
57
+ bind:checked={revokeCurrentTokens}
58
+ {...prefixFilter($$restProps, 'revokeTokens$')}
59
+ />
60
+ <span slot="label">
61
+ Log out of all other sessions.
62
+ <span
63
+ style="display: block; font-size: 0.7em; height: 0; overflow: visible;"
64
+ >
65
+ Use this if you think you've been hacked.
66
+ </span>
67
+ </span>
68
+ </FormField>
69
+ </div>
70
+
71
+ <slot name="additional" />
72
+
73
+ {#if failureMessage}
74
+ <div class="tilmeld-password-failure">
75
+ {failureMessage}
76
+ </div>
77
+ {/if}
78
+
79
+ {#if loading}
80
+ <div class="tilmeld-password-loading">
81
+ <CircularProgress
82
+ style="height: 24px; width: 24px;"
83
+ indeterminate
84
+ {...prefixFilter($$restProps, 'progress$')}
85
+ />
86
+ </div>
87
+ {/if}
88
+ </Content>
89
+ <Actions>
90
+ <Button disabled={loading} {...prefixFilter($$restProps, 'closeButton$')}>
91
+ <Label>Close</Label>
92
+ </Button>
93
+ <Button
94
+ on:click$preventDefault$stopPropagation={changePassword}
95
+ disabled={loading}
96
+ {...prefixFilter($$restProps, 'saveButton$')}
97
+ >
98
+ <Label>Change Password</Label>
99
+ </Button>
100
+ </Actions>
101
+ </Dialog>
102
+ {/if}
103
+
104
+ <script>import { onMount, onDestroy } from 'svelte';
105
+ import { get_current_component } from 'svelte/internal';
106
+ import CircularProgress from '@smui/circular-progress';
107
+ import Dialog, { Title, Content, Actions } from '@smui/dialog';
108
+ import Textfield from '@smui/textfield';
109
+ import Checkbox from '@smui/checkbox';
110
+ import FormField from '@smui/form-field';
111
+ import Button, { Label } from '@smui/button';
112
+ import { forwardEventsBuilder, exclude, prefixFilter, } from '@smui/common/internal';
113
+ const forwardEvents = forwardEventsBuilder(get_current_component());
114
+ export let use = [];
115
+ $: usePass = [forwardEvents, ...use];
116
+ export let open = false;
117
+ export let title = 'Change Your Password';
118
+ export let User;
119
+ export let user = undefined;
120
+ let loading = false;
121
+ let failureMessage = undefined;
122
+ /** User provided. You can bind to it if you need to. */
123
+ export let currentPassword = '';
124
+ /** User provided. You can bind to it if you need to. */
125
+ export let newPassword = '';
126
+ /** User provided. You can bind to it if you need to. */
127
+ export let newPassword2 = '';
128
+ /** User provided. You can bind to it if you need to. */
129
+ export let revokeCurrentTokens = false;
130
+ $: if (!open) {
131
+ loading = false;
132
+ failureMessage = undefined;
133
+ currentPassword = '';
134
+ newPassword = '';
135
+ newPassword2 = '';
136
+ revokeCurrentTokens = false;
137
+ }
138
+ const onLogin = (currentUser) => {
139
+ user = currentUser;
140
+ };
141
+ const onLogout = () => {
142
+ user = undefined;
143
+ };
144
+ onMount(async () => {
145
+ User.on('login', onLogin);
146
+ User.on('logout', onLogout);
147
+ if (user === undefined) {
148
+ user = (await User.current()) ?? undefined;
149
+ }
150
+ });
151
+ onDestroy(() => {
152
+ User.off('login', onLogin);
153
+ User.off('logout', onLogout);
154
+ });
155
+ async function changePassword() {
156
+ if (currentPassword === '') {
157
+ failureMessage = 'You need to enter your current password';
158
+ return;
159
+ }
160
+ if (newPassword !== newPassword2) {
161
+ failureMessage = 'Your passwords do not match.';
162
+ return;
163
+ }
164
+ if (newPassword === '') {
165
+ failureMessage = 'You need to enter a new password';
166
+ return;
167
+ }
168
+ failureMessage = undefined;
169
+ loading = true;
170
+ // Get the current user again, in case their data has changed.
171
+ user = (await User.current()) ?? undefined;
172
+ if (user == null) {
173
+ failureMessage = 'You must be logged in.';
174
+ loading = false;
175
+ return;
176
+ }
177
+ try {
178
+ // Change the user's password.
179
+ const data = await user.$changePassword({
180
+ currentPassword,
181
+ newPassword,
182
+ revokeCurrentTokens,
183
+ });
184
+ if (!data.result) {
185
+ failureMessage = data.message;
186
+ }
187
+ else {
188
+ open = false;
189
+ }
190
+ }
191
+ catch (e) {
192
+ failureMessage = e?.message;
193
+ }
194
+ loading = false;
195
+ }
196
+ </script>
197
+
198
+ <style>
199
+ :global(.mdc-dialog .mdc-dialog__surface.tilmeld-password-dialog-surface) {
200
+ width: 360px;
201
+ max-width: calc(100vw - 32px);
202
+ }
203
+ .tilmeld-password-failure {
204
+ margin-top: 1em;
205
+ color: var(--mdc-theme-error, #f00);
206
+ }
207
+ .tilmeld-password-loading {
208
+ display: flex;
209
+ justify-content: center;
210
+ align-items: center;
211
+ }
212
+ </style>
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":[],"sources":["ChangePassword.svelte"]}