@sqrzro/auth 4.0.0-alpha.10 → 4.0.0-alpha.12

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.
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @sqrzro/auth@4.0.0-alpha.9 build /Users/richard/Sites/@sqrzro/sqrzro/packages/auth
3
+ > @sqrzro/auth@4.0.0-alpha.11 build /Users/richard/Sites/@sqrzro/sqrzro/packages/auth
4
4
  > tsc
5
5
 
@@ -1,54 +1,12 @@
1
1
 
2
- > @sqrzro/auth@4.0.0-alpha.9 dev /Users/richard/Sites/@sqrzro/sqrzro/packages/auth
2
+ > @sqrzro/auth@4.0.0-alpha.11 dev /Users/richard/Sites/@sqrzro/sqrzro/packages/auth
3
3
  > tsc --watch
4
4
 
5
- [12:13:00 PM] Starting compilation in watch mode...
5
+ [9:00:49 AM] Starting compilation in watch mode...
6
6
 
7
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
8
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
7
+ [9:00:52 AM] Found 0 errors. Watching for file changes.
9
8
 
10
- 1 import { formatPlural } from '@sqrzro/utility';
11
-    ~~~~~~~~~~~~~~~~~
12
-
13
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
14
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
15
-
16
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
17
-    ~~~~~~~~~~~~~~~~~
18
-
19
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
20
-
21
- 13 return getEntries(complexity).map(([key, value]) => ({
22
-    ~~~
23
-
24
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
25
-
26
- 13 return getEntries(complexity).map(([key, value]) => ({
27
-    ~~~~~
28
-
29
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
30
-
31
- 15 value: complexities[key](value),
32
-    ~~~~~~~~~~~~~~~~~
33
-
34
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
35
-
36
- 29 return getEntries(complexity).map(([key, value]) => ({
37
-    ~~~
38
-
39
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
40
-
41
- 29 return getEntries(complexity).map(([key, value]) => ({
42
-    ~~~~~
43
-
44
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
45
-
46
- 31 value: complexities[key](value),
47
-    ~~~~~~~~~~~~~~~~~
48
-
49
- [12:13:03 PM] Found 8 errors. Watching for file changes.
50
-
51
- [12:13:06 PM] File change detected. Starting incremental compilation...
9
+ [9:00:55 AM] File change detected. Starting incremental compilation...
52
10
 
53
11
  src/components/LogoutButton/server.ts:3:31 - error TS7016: Could not find a declaration file for module '@sqrzro/server/auth'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/server/dist/auth/index.js' implicitly has an 'any' type.
54
12
  Try `npm i --save-dev @types/sqrzro__server` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/server/auth';`
@@ -128,558 +86,9 @@
128
86
  1 import { createMail } from '@sqrzro/server/mail';
129
87
     ~~~~~~~~~~~~~~~~~~~~~
130
88
 
131
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
132
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
133
-
134
- 1 import { formatPlural } from '@sqrzro/utility';
135
-    ~~~~~~~~~~~~~~~~~
136
-
137
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
138
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
139
-
140
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
141
-    ~~~~~~~~~~~~~~~~~
142
-
143
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
144
-
145
- 13 return getEntries(complexity).map(([key, value]) => ({
146
-    ~~~
147
-
148
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
149
-
150
- 13 return getEntries(complexity).map(([key, value]) => ({
151
-    ~~~~~
152
-
153
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
154
-
155
- 15 value: complexities[key](value),
156
-    ~~~~~~~~~~~~~~~~~
157
-
158
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
159
-
160
- 29 return getEntries(complexity).map(([key, value]) => ({
161
-    ~~~
162
-
163
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
164
-
165
- 29 return getEntries(complexity).map(([key, value]) => ({
166
-    ~~~~~
167
-
168
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
169
-
170
- 31 value: complexities[key](value),
171
-    ~~~~~~~~~~~~~~~~~
172
-
173
- [12:13:06 PM] Found 21 errors. Watching for file changes.
174
-
175
- [12:13:10 PM] File change detected. Starting incremental compilation...
176
-
177
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
178
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
179
-
180
- 1 import { formatPlural } from '@sqrzro/utility';
181
-    ~~~~~~~~~~~~~~~~~
182
-
183
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
184
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
185
-
186
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
187
-    ~~~~~~~~~~~~~~~~~
188
-
189
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
190
-
191
- 13 return getEntries(complexity).map(([key, value]) => ({
192
-    ~~~
193
-
194
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
195
-
196
- 13 return getEntries(complexity).map(([key, value]) => ({
197
-    ~~~~~
198
-
199
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
200
-
201
- 15 value: complexities[key](value),
202
-    ~~~~~~~~~~~~~~~~~
203
-
204
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
205
-
206
- 29 return getEntries(complexity).map(([key, value]) => ({
207
-    ~~~
208
-
209
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
210
-
211
- 29 return getEntries(complexity).map(([key, value]) => ({
212
-    ~~~~~
213
-
214
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
215
-
216
- 31 value: complexities[key](value),
217
-    ~~~~~~~~~~~~~~~~~
218
-
219
- [12:13:10 PM] Found 8 errors. Watching for file changes.
220
-
221
- [12:14:48 PM] File change detected. Starting incremental compilation...
222
-
223
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
224
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
225
-
226
- 1 import { formatPlural } from '@sqrzro/utility';
227
-    ~~~~~~~~~~~~~~~~~
228
-
229
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
230
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
231
-
232
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
233
-    ~~~~~~~~~~~~~~~~~
234
-
235
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
236
-
237
- 13 return getEntries(complexity).map(([key, value]) => ({
238
-    ~~~
239
-
240
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
241
-
242
- 13 return getEntries(complexity).map(([key, value]) => ({
243
-    ~~~~~
244
-
245
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
246
-
247
- 15 value: complexities[key](value),
248
-    ~~~~~~~~~~~~~~~~~
249
-
250
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
251
-
252
- 29 return getEntries(complexity).map(([key, value]) => ({
253
-    ~~~
254
-
255
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
256
-
257
- 29 return getEntries(complexity).map(([key, value]) => ({
258
-    ~~~~~
259
-
260
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
261
-
262
- 31 value: complexities[key](value),
263
-    ~~~~~~~~~~~~~~~~~
264
-
265
- [12:14:48 PM] Found 8 errors. Watching for file changes.
266
-
267
- [12:14:53 PM] File change detected. Starting incremental compilation...
268
-
269
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
270
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
271
-
272
- 1 import { formatPlural } from '@sqrzro/utility';
273
-    ~~~~~~~~~~~~~~~~~
274
-
275
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
276
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
277
-
278
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
279
-    ~~~~~~~~~~~~~~~~~
280
-
281
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
282
-
283
- 13 return getEntries(complexity).map(([key, value]) => ({
284
-    ~~~
285
-
286
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
287
-
288
- 13 return getEntries(complexity).map(([key, value]) => ({
289
-    ~~~~~
290
-
291
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
292
-
293
- 15 value: complexities[key](value),
294
-    ~~~~~~~~~~~~~~~~~
295
-
296
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
297
-
298
- 29 return getEntries(complexity).map(([key, value]) => ({
299
-    ~~~
300
-
301
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
302
-
303
- 29 return getEntries(complexity).map(([key, value]) => ({
304
-    ~~~~~
305
-
306
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
307
-
308
- 31 value: complexities[key](value),
309
-    ~~~~~~~~~~~~~~~~~
310
-
311
- [12:14:53 PM] Found 8 errors. Watching for file changes.
312
-
313
- [12:15:49 PM] File change detected. Starting incremental compilation...
314
-
315
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
316
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
317
-
318
- 1 import { formatPlural } from '@sqrzro/utility';
319
-    ~~~~~~~~~~~~~~~~~
320
-
321
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
322
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
323
-
324
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
325
-    ~~~~~~~~~~~~~~~~~
326
-
327
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
328
-
329
- 13 return getEntries(complexity).map(([key, value]) => ({
330
-    ~~~
331
-
332
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
333
-
334
- 13 return getEntries(complexity).map(([key, value]) => ({
335
-    ~~~~~
336
-
337
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
338
-
339
- 15 value: complexities[key](value),
340
-    ~~~~~~~~~~~~~~~~~
341
-
342
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
343
-
344
- 29 return getEntries(complexity).map(([key, value]) => ({
345
-    ~~~
346
-
347
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
348
-
349
- 29 return getEntries(complexity).map(([key, value]) => ({
350
-    ~~~~~
351
-
352
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
353
-
354
- 31 value: complexities[key](value),
355
-    ~~~~~~~~~~~~~~~~~
356
-
357
- [12:15:49 PM] Found 8 errors. Watching for file changes.
358
-
359
- [12:19:33 PM] File change detected. Starting incremental compilation...
360
-
361
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
362
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
363
-
364
- 1 import { formatPlural } from '@sqrzro/utility';
365
-    ~~~~~~~~~~~~~~~~~
366
-
367
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
368
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
369
-
370
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
371
-    ~~~~~~~~~~~~~~~~~
372
-
373
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
374
-
375
- 13 return getEntries(complexity).map(([key, value]) => ({
376
-    ~~~
377
-
378
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
379
-
380
- 13 return getEntries(complexity).map(([key, value]) => ({
381
-    ~~~~~
382
-
383
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
384
-
385
- 15 value: complexities[key](value),
386
-    ~~~~~~~~~~~~~~~~~
387
-
388
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
389
-
390
- 29 return getEntries(complexity).map(([key, value]) => ({
391
-    ~~~
392
-
393
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
394
-
395
- 29 return getEntries(complexity).map(([key, value]) => ({
396
-    ~~~~~
397
-
398
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
399
-
400
- 31 value: complexities[key](value),
401
-    ~~~~~~~~~~~~~~~~~
402
-
403
- [12:19:33 PM] Found 8 errors. Watching for file changes.
404
-
405
- [12:19:52 PM] File change detected. Starting incremental compilation...
406
-
407
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
408
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
409
-
410
- 1 import { formatPlural } from '@sqrzro/utility';
411
-    ~~~~~~~~~~~~~~~~~
412
-
413
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
414
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
415
-
416
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
417
-    ~~~~~~~~~~~~~~~~~
418
-
419
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
420
-
421
- 13 return getEntries(complexity).map(([key, value]) => ({
422
-    ~~~
423
-
424
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
425
-
426
- 13 return getEntries(complexity).map(([key, value]) => ({
427
-    ~~~~~
428
-
429
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
430
-
431
- 15 value: complexities[key](value),
432
-    ~~~~~~~~~~~~~~~~~
433
-
434
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
435
-
436
- 29 return getEntries(complexity).map(([key, value]) => ({
437
-    ~~~
438
-
439
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
440
-
441
- 29 return getEntries(complexity).map(([key, value]) => ({
442
-    ~~~~~
443
-
444
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
445
-
446
- 31 value: complexities[key](value),
447
-    ~~~~~~~~~~~~~~~~~
448
-
449
- [12:19:52 PM] Found 8 errors. Watching for file changes.
450
-
451
- [12:22:13 PM] File change detected. Starting incremental compilation...
452
-
453
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
454
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
455
-
456
- 1 import { formatPlural } from '@sqrzro/utility';
457
-    ~~~~~~~~~~~~~~~~~
458
-
459
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
460
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
461
-
462
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
463
-    ~~~~~~~~~~~~~~~~~
464
-
465
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
466
-
467
- 13 return getEntries(complexity).map(([key, value]) => ({
468
-    ~~~
469
-
470
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
471
-
472
- 13 return getEntries(complexity).map(([key, value]) => ({
473
-    ~~~~~
474
-
475
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
476
-
477
- 15 value: complexities[key](value),
478
-    ~~~~~~~~~~~~~~~~~
479
-
480
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
481
-
482
- 29 return getEntries(complexity).map(([key, value]) => ({
483
-    ~~~
484
-
485
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
486
-
487
- 29 return getEntries(complexity).map(([key, value]) => ({
488
-    ~~~~~
489
-
490
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
491
-
492
- 31 value: complexities[key](value),
493
-    ~~~~~~~~~~~~~~~~~
494
-
495
- [12:22:13 PM] Found 8 errors. Watching for file changes.
496
-
497
- [12:22:47 PM] File change detected. Starting incremental compilation...
498
-
499
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
500
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
501
-
502
- 1 import { formatPlural } from '@sqrzro/utility';
503
-    ~~~~~~~~~~~~~~~~~
504
-
505
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
506
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
507
-
508
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
509
-    ~~~~~~~~~~~~~~~~~
510
-
511
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
512
-
513
- 13 return getEntries(complexity).map(([key, value]) => ({
514
-    ~~~
515
-
516
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
517
-
518
- 13 return getEntries(complexity).map(([key, value]) => ({
519
-    ~~~~~
520
-
521
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
522
-
523
- 15 value: complexities[key](value),
524
-    ~~~~~~~~~~~~~~~~~
525
-
526
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
527
-
528
- 29 return getEntries(complexity).map(([key, value]) => ({
529
-    ~~~
530
-
531
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
532
-
533
- 29 return getEntries(complexity).map(([key, value]) => ({
534
-    ~~~~~
535
-
536
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
537
-
538
- 31 value: complexities[key](value),
539
-    ~~~~~~~~~~~~~~~~~
540
-
541
- [12:22:47 PM] Found 8 errors. Watching for file changes.
542
-
543
- [12:22:54 PM] File change detected. Starting incremental compilation...
544
-
545
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
546
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
547
-
548
- 1 import { formatPlural } from '@sqrzro/utility';
549
-    ~~~~~~~~~~~~~~~~~
550
-
551
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
552
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
553
-
554
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
555
-    ~~~~~~~~~~~~~~~~~
556
-
557
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
558
-
559
- 13 return getEntries(complexity).map(([key, value]) => ({
560
-    ~~~
561
-
562
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
563
-
564
- 13 return getEntries(complexity).map(([key, value]) => ({
565
-    ~~~~~
566
-
567
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
568
-
569
- 15 value: complexities[key](value),
570
-    ~~~~~~~~~~~~~~~~~
571
-
572
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
573
-
574
- 29 return getEntries(complexity).map(([key, value]) => ({
575
-    ~~~
576
-
577
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
578
-
579
- 29 return getEntries(complexity).map(([key, value]) => ({
580
-    ~~~~~
581
-
582
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
583
-
584
- 31 value: complexities[key](value),
585
-    ~~~~~~~~~~~~~~~~~
586
-
587
- [12:22:54 PM] Found 8 errors. Watching for file changes.
588
-
589
- [12:42:08 PM] File change detected. Starting incremental compilation...
590
-
591
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
592
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
593
-
594
- 1 import { formatPlural } from '@sqrzro/utility';
595
-    ~~~~~~~~~~~~~~~~~
596
-
597
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
598
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
599
-
600
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
601
-    ~~~~~~~~~~~~~~~~~
602
-
603
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
604
-
605
- 13 return getEntries(complexity).map(([key, value]) => ({
606
-    ~~~
607
-
608
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
609
-
610
- 13 return getEntries(complexity).map(([key, value]) => ({
611
-    ~~~~~
612
-
613
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
614
-
615
- 15 value: complexities[key](value),
616
-    ~~~~~~~~~~~~~~~~~
617
-
618
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
619
-
620
- 29 return getEntries(complexity).map(([key, value]) => ({
621
-    ~~~
622
-
623
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
624
-
625
- 29 return getEntries(complexity).map(([key, value]) => ({
626
-    ~~~~~
627
-
628
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
629
-
630
- 31 value: complexities[key](value),
631
-    ~~~~~~~~~~~~~~~~~
632
-
633
- [12:42:08 PM] Found 8 errors. Watching for file changes.
634
-
635
- [12:42:53 PM] File change detected. Starting incremental compilation...
636
-
637
- src/utility/lang.ts:1:30 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
638
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
639
-
640
- 1 import { formatPlural } from '@sqrzro/utility';
641
-    ~~~~~~~~~~~~~~~~~
642
-
643
- src/utility/validate-complexity.ts:1:37 - error TS7016: Could not find a declaration file for module '@sqrzro/utility'. '/Users/richard/Sites/@sqrzro/sqrzro/packages/utility/dist/index.js' implicitly has an 'any' type.
644
- Try `npm i --save-dev @types/sqrzro__utility` if it exists or add a new declaration (.d.ts) file containing `declare module '@sqrzro/utility';`
645
-
646
- 1 import { getEntries, getKeys } from '@sqrzro/utility';
647
-    ~~~~~~~~~~~~~~~~~
648
-
649
- src/utility/validate-complexity.ts:13:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
650
-
651
- 13 return getEntries(complexity).map(([key, value]) => ({
652
-    ~~~
653
-
654
- src/utility/validate-complexity.ts:13:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
655
-
656
- 13 return getEntries(complexity).map(([key, value]) => ({
657
-    ~~~~~
658
-
659
- src/utility/validate-complexity.ts:15:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
660
-
661
- 15 value: complexities[key](value),
662
-    ~~~~~~~~~~~~~~~~~
663
-
664
- src/utility/validate-complexity.ts:29:41 - error TS7031: Binding element 'key' implicitly has an 'any' type.
665
-
666
- 29 return getEntries(complexity).map(([key, value]) => ({
667
-    ~~~
668
-
669
- src/utility/validate-complexity.ts:29:46 - error TS7031: Binding element 'value' implicitly has an 'any' type.
670
-
671
- 29 return getEntries(complexity).map(([key, value]) => ({
672
-    ~~~~~
673
-
674
- src/utility/validate-complexity.ts:31:16 - error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Record<PasswordComplexityKey, (value?: number | undefined) => string>'.
675
-
676
- 31 value: complexities[key](value),
677
-    ~~~~~~~~~~~~~~~~~
678
-
679
- [12:42:53 PM] Found 8 errors. Watching for file changes.
89
+ [9:00:56 AM] Found 13 errors. Watching for file changes.
680
90
 
681
- [12:42:59 PM] File change detected. Starting incremental compilation...
91
+ [9:00:59 AM] File change detected. Starting incremental compilation...
682
92
 
683
- [12:42:59 PM] Found 0 errors. Watching for file changes.
93
+ [9:00:59 AM] Found 0 errors. Watching for file changes.
684
94
 
685
-  ELIFECYCLE  Command failed.
@@ -8,6 +8,6 @@ function LoginForm({ classNames }) {
8
8
  const { fieldProps, formData, formProps } = useForm({
9
9
  onSubmit: submit,
10
10
  });
11
- return (_jsxs(Fragment, { children: [_jsx("h1", { className: classNames?.title, children: "Sign in to continue" }), _jsxs(Form, { classNames: { root: classNames?.form }, ...formProps, children: [_jsx(TextFormField, { ...fieldProps('email'), hasAssistiveError: true }), _jsx(PasswordFormField, { ...fieldProps('password'), hasAssistiveError: true }), _jsx("div", { className: classNames?.actions, children: _jsx(FormSubmit, { isFullWidth: true, children: "Sign In" }) }), _jsx("footer", { className: classNames?.footer, children: _jsx(Link, { className: classNames?.link, href: `/auth/password${formData.email ? `?email=${formData.email}` : ''}`, children: "Forgot Password?" }) })] })] }));
11
+ return (_jsxs(Fragment, { children: [_jsx("h1", { className: classNames?.title, children: "Sign in to continue" }), _jsxs(Form, { classNames: { root: classNames?.form }, ...formProps, children: [_jsx("div", { className: classNames?.field, children: _jsx(TextFormField, { ...fieldProps('email'), hasAssistiveError: true }) }), _jsx("div", { className: classNames?.field, children: _jsx(PasswordFormField, { ...fieldProps('password'), hasAssistiveError: true }) }), _jsx("div", { className: classNames?.actions, children: _jsx(FormSubmit, { isFullWidth: true, children: "Sign In" }) }), _jsx("footer", { className: classNames?.footer, children: _jsx(Link, { className: classNames?.link, href: `/auth/password${formData.email ? `?email=${formData.email}` : ''}`, children: "Forgot Password?" }) })] })] }));
12
12
  }
13
13
  export default LoginForm;
@@ -22,6 +22,6 @@ function PasswordForm({ classNames, defaults }) {
22
22
  setFormData('email', '');
23
23
  setSentCount(0);
24
24
  }
25
- return (_jsxs(Fragment, { children: [_jsx("div", { style: { display: sentCount === 0 ? 'block' : 'none' }, children: _jsxs(Form, { ...formProps, children: [_jsx("h1", { className: classNames?.title, children: "Reset Your Password" }), _jsx("p", { className: "text-sm", children: "Enter the email address associated with your account and we'll send you a link to reset your password." }), _jsx(TextFormField, { ...fieldProps('email'), hasAssistiveError: true }), _jsx("div", { className: classNames?.actions, children: _jsx(FormSubmit, { isFullWidth: true, children: "Send Email" }) }), _jsx("footer", { className: classNames?.footer, children: _jsx(Link, { className: classNames?.link, href: "/auth/login", children: "Back" }) })] }) }), _jsx("div", { style: { display: sentCount === 0 ? 'none' : 'block' }, children: _jsxs("div", { className: classNames?.form, children: [_jsx("h1", { className: classNames?.title, children: "Check Your Email" }), sentCount === 1 ? (_jsxs(Fragment, { children: [_jsxs("p", { className: "text-sm", children: ["If ", _jsx("strong", { children: formData.email }), " matches an email we have on file, then we've sent you an email containing further instructions for resetting your password."] }), _jsxs("p", { className: "text-sm", children: ["If you haven't received an email in 5 minutes, check your spam,", ' ', _jsx(Link, { className: classNames?.link, onClick: handleResend, children: "resend" }), ", or", ' ', _jsx(Link, { className: classNames?.link, onClick: handleReset, children: "try a different email address" }), "."] })] })) : (_jsxs(Fragment, { children: [_jsxs("p", { className: "text-sm", children: ["We've resent password reset instructions to", ' ', _jsx("strong", { children: formData.email }), ", if it is an email we have on file."] }), _jsxs("p", { className: "text-sm", children: ["Please check again. If you still haven't received an email,", ' ', _jsx(Link, { className: classNames?.link, onClick: handleReset, children: "try a different email address" }), "."] })] }))] }) })] }));
25
+ return (_jsxs(Fragment, { children: [_jsx("div", { style: { display: sentCount === 0 ? 'block' : 'none' }, children: _jsxs(Form, { classNames: { root: classNames?.form }, ...formProps, children: [_jsx("h1", { className: classNames?.title, children: "Reset Your Password" }), _jsx("div", { className: classNames?.content, children: _jsx("p", { children: "Enter the email address associated with your account and we'll send you a link to reset your password." }) }), _jsx("div", { className: classNames?.field, children: _jsx(TextFormField, { ...fieldProps('email'), hasAssistiveError: true }) }), _jsx("div", { className: classNames?.actions, children: _jsx(FormSubmit, { isFullWidth: true, children: "Send Email" }) }), _jsx("footer", { className: classNames?.footer, children: _jsx(Link, { className: classNames?.link, href: "/auth/login", children: "Back" }) })] }) }), _jsx("div", { style: { display: sentCount === 0 ? 'none' : 'block' }, children: _jsxs("div", { className: classNames?.form, children: [_jsx("h1", { className: classNames?.title, children: "Check Your Email" }), sentCount === 1 ? (_jsxs("div", { className: classNames?.content, children: [_jsxs("p", { children: ["If ", _jsx("strong", { children: formData.email }), " matches an email we have on file, then we've sent you an email containing further instructions for resetting your password."] }), _jsxs("p", { children: ["If you haven't received an email in 5 minutes, check your spam,", ' ', _jsx(Link, { className: classNames?.link, onClick: handleResend, children: "resend" }), ", or", ' ', _jsx(Link, { className: classNames?.link, onClick: handleReset, children: "try a different email address" }), "."] })] })) : (_jsxs("div", { className: classNames?.content, children: [_jsxs("p", { children: ["We've resent password reset instructions to", ' ', _jsx("strong", { children: formData.email }), ", if it is an email we have on file."] }), _jsxs("p", { children: ["Please check again. If you still haven't received an email,", ' ', _jsx(Link, { className: classNames?.link, onClick: handleReset, children: "try a different email address" }), "."] })] }))] }) })] }));
26
26
  }
27
27
  export default PasswordForm;
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Fragment, useState } from 'react';
3
+ import { useState } from 'react';
4
4
  import { Form, FormSubmit, useForm } from '@sqrzro/ui/forms';
5
5
  import PasswordComplexityFormField from '../../components/PasswordComplexityFormField';
6
6
  import submit from './server';
@@ -10,6 +10,6 @@ function PasswordResetForm({ classNames, token, }) {
10
10
  defaults: { token },
11
11
  onSubmit: submit,
12
12
  });
13
- return (_jsx(Fragment, { children: _jsxs(Form, { ...formProps, children: [_jsx(PasswordComplexityFormField, { ...fieldProps('password'), onComplexity: (isValid) => setIsDisabled(!isValid) }), _jsx(FormSubmit, { isDisabled: isDisabled, children: "Reset Password" })] }) }));
13
+ return (_jsxs(Form, { classNames: { root: classNames?.form }, ...formProps, children: [_jsx("h1", { className: classNames?.title, children: "Reset Your Password" }), _jsx("div", { className: classNames?.field, children: _jsx(PasswordComplexityFormField, { ...fieldProps('password'), onComplexity: (isValid) => setIsDisabled(!isValid) }) }), _jsx("div", { className: classNames?.actions, children: _jsx(FormSubmit, { isDisabled: isDisabled, children: "Reset Password" }) })] }));
14
14
  }
15
15
  export default PasswordResetForm;
package/dist/index.d.ts CHANGED
@@ -2,4 +2,6 @@ export type { AuthClassNames, AuthConfigObject } from './interfaces';
2
2
  export type { AuthProps } from './components/Auth';
3
3
  export { default as Auth } from './components/Auth';
4
4
  export { default as LogoutButton } from './components/LogoutButton';
5
+ export { default as PasswordComplexityFormField } from './components/PasswordComplexityFormField';
6
+ export { default as getComplexityRule } from './rules/complexity';
5
7
  export { default as getAuthProxy } from './get-auth-proxy';
package/dist/index.js CHANGED
@@ -1,3 +1,5 @@
1
1
  export { default as Auth } from './components/Auth';
2
2
  export { default as LogoutButton } from './components/LogoutButton';
3
+ export { default as PasswordComplexityFormField } from './components/PasswordComplexityFormField';
4
+ export { default as getComplexityRule } from './rules/complexity';
3
5
  export { default as getAuthProxy } from './get-auth-proxy';
@@ -3,6 +3,8 @@ export interface AuthConfigObject {
3
3
  }
4
4
  export interface AuthClassNames {
5
5
  actions: string;
6
+ content: string;
7
+ field: string;
6
8
  footer: string;
7
9
  form: string;
8
10
  link: string;
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@sqrzro/auth",
3
3
  "type": "module",
4
- "version": "4.0.0-alpha.10",
4
+ "version": "4.0.0-alpha.12",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "dependencies": {
8
8
  "zod": "^4.3.6",
9
- "@sqrzro/server": "^4.0.0-alpha.20",
10
- "@sqrzro/ui": "^4.0.0-alpha.20",
11
- "@sqrzro/utility": "^4.0.0-alpha.7"
9
+ "@sqrzro/server": "^4.0.0-alpha.28",
10
+ "@sqrzro/utility": "^4.0.0-alpha.10",
11
+ "@sqrzro/ui": "^4.0.0-alpha.27"
12
12
  },
13
13
  "devDependencies": {
14
- "@types/react": "^19.2.7",
15
- "prettier": "^3.7.4",
14
+ "@types/react": "^19.2.14",
15
+ "prettier": "^3.8.1",
16
16
  "typescript": "^5.9.3",
17
- "@sqrzro/prettier-config": "^4.0.0-alpha.1"
17
+ "@sqrzro/prettier-config": "^4.0.0-alpha.2"
18
18
  },
19
19
  "peerDependencies": {
20
20
  "next": "^16.1.6",
@@ -18,8 +18,12 @@ function LoginForm({ classNames }: AuthClassNameProps): React.ReactElement | nul
18
18
  <Fragment>
19
19
  <h1 className={classNames?.title}>Sign in to continue</h1>
20
20
  <Form classNames={{ root: classNames?.form }} {...formProps}>
21
- <TextFormField {...fieldProps('email')} hasAssistiveError />
22
- <PasswordFormField {...fieldProps('password')} hasAssistiveError />
21
+ <div className={classNames?.field}>
22
+ <TextFormField {...fieldProps('email')} hasAssistiveError />
23
+ </div>
24
+ <div className={classNames?.field}>
25
+ <PasswordFormField {...fieldProps('password')} hasAssistiveError />
26
+ </div>
23
27
  <div className={classNames?.actions}>
24
28
  <FormSubmit isFullWidth>Sign In</FormSubmit>
25
29
  </div>
@@ -40,13 +40,17 @@ function PasswordForm({ classNames, defaults }: PasswordFormProps): React.ReactE
40
40
  return (
41
41
  <Fragment>
42
42
  <div style={{ display: sentCount === 0 ? 'block' : 'none' }}>
43
- <Form {...formProps}>
43
+ <Form classNames={{ root: classNames?.form }} {...formProps}>
44
44
  <h1 className={classNames?.title}>Reset Your Password</h1>
45
- <p className="text-sm">
46
- Enter the email address associated with your account and we&#39;ll send you
47
- a link to reset your password.
48
- </p>
49
- <TextFormField {...fieldProps('email')} hasAssistiveError />
45
+ <div className={classNames?.content}>
46
+ <p>
47
+ Enter the email address associated with your account and we&#39;ll send
48
+ you a link to reset your password.
49
+ </p>
50
+ </div>
51
+ <div className={classNames?.field}>
52
+ <TextFormField {...fieldProps('email')} hasAssistiveError />
53
+ </div>
50
54
  <div className={classNames?.actions}>
51
55
  <FormSubmit isFullWidth>Send Email</FormSubmit>
52
56
  </div>
@@ -61,13 +65,13 @@ function PasswordForm({ classNames, defaults }: PasswordFormProps): React.ReactE
61
65
  <div className={classNames?.form}>
62
66
  <h1 className={classNames?.title}>Check Your Email</h1>
63
67
  {sentCount === 1 ? (
64
- <Fragment>
65
- <p className="text-sm">
68
+ <div className={classNames?.content}>
69
+ <p>
66
70
  If <strong>{formData.email}</strong> matches an email we have on
67
71
  file, then we&#39;ve sent you an email containing further
68
72
  instructions for resetting your password.
69
73
  </p>
70
- <p className="text-sm">
74
+ <p>
71
75
  If you haven&#39;t received an email in 5 minutes, check your spam,{' '}
72
76
  <Link className={classNames?.link} onClick={handleResend}>
73
77
  resend
@@ -78,22 +82,22 @@ function PasswordForm({ classNames, defaults }: PasswordFormProps): React.ReactE
78
82
  </Link>
79
83
  .
80
84
  </p>
81
- </Fragment>
85
+ </div>
82
86
  ) : (
83
- <Fragment>
84
- <p className="text-sm">
87
+ <div className={classNames?.content}>
88
+ <p>
85
89
  We&#39;ve resent password reset instructions to{' '}
86
90
  <strong>{formData.email}</strong>, if it is an email we have on
87
91
  file.
88
92
  </p>
89
- <p className="text-sm">
93
+ <p>
90
94
  Please check again. If you still haven&#39;t received an email,{' '}
91
95
  <Link className={classNames?.link} onClick={handleReset}>
92
96
  try a different email address
93
97
  </Link>
94
98
  .
95
99
  </p>
96
- </Fragment>
100
+ </div>
97
101
  )}
98
102
  </div>
99
103
  </div>
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
 
3
- import { Fragment, useState } from 'react';
3
+ import { useState } from 'react';
4
4
 
5
5
  import { Form, FormSubmit, useForm } from '@sqrzro/ui/forms';
6
6
 
@@ -25,15 +25,18 @@ function PasswordResetForm({
25
25
  });
26
26
 
27
27
  return (
28
- <Fragment>
29
- <Form {...formProps}>
28
+ <Form classNames={{ root: classNames?.form }} {...formProps}>
29
+ <h1 className={classNames?.title}>Reset Your Password</h1>
30
+ <div className={classNames?.field}>
30
31
  <PasswordComplexityFormField
31
32
  {...fieldProps('password')}
32
33
  onComplexity={(isValid) => setIsDisabled(!isValid)}
33
34
  />
35
+ </div>
36
+ <div className={classNames?.actions}>
34
37
  <FormSubmit isDisabled={isDisabled}>Reset Password</FormSubmit>
35
- </Form>
36
- </Fragment>
38
+ </div>
39
+ </Form>
37
40
  );
38
41
  }
39
42
 
package/src/index.ts CHANGED
@@ -4,5 +4,8 @@ export type { AuthProps } from './components/Auth';
4
4
  export { default as Auth } from './components/Auth';
5
5
 
6
6
  export { default as LogoutButton } from './components/LogoutButton';
7
+ export { default as PasswordComplexityFormField } from './components/PasswordComplexityFormField';
8
+
9
+ export { default as getComplexityRule } from './rules/complexity';
7
10
 
8
11
  export { default as getAuthProxy } from './get-auth-proxy';
package/src/interfaces.ts CHANGED
@@ -4,6 +4,8 @@ export interface AuthConfigObject {
4
4
 
5
5
  export interface AuthClassNames {
6
6
  actions: string;
7
+ content: string;
8
+ field: string;
7
9
  footer: string;
8
10
  form: string;
9
11
  link: string;