a11y-password-strength-meter 1.0.0
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 +16 -0
- package/LICENSE +21 -0
- package/README.md +285 -0
- package/dist/docs.d.ts +88 -0
- package/dist/docs.d.ts.map +1 -0
- package/dist/docs.js +125 -0
- package/dist/docs.js.map +1 -0
- package/dist/index.d.ts +135 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +649 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +154 -0
- package/package.json +70 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
//#region src/lib/password-strength.d.ts
|
|
2
|
+
declare const DEFAULT_REQUIREMENT_IDS: readonly ["length", "uppercase", "lowercase", "number", "symbol"];
|
|
3
|
+
declare const PASSWORD_STRENGTH_LEVELS: Readonly<{
|
|
4
|
+
readonly notRated: "not-rated";
|
|
5
|
+
readonly tooWeak: "too-weak";
|
|
6
|
+
readonly weak: "weak";
|
|
7
|
+
readonly fair: "fair";
|
|
8
|
+
readonly strong: "strong";
|
|
9
|
+
readonly veryStrong: "very-strong";
|
|
10
|
+
}>;
|
|
11
|
+
type PasswordRequirementId = (typeof DEFAULT_REQUIREMENT_IDS)[number];
|
|
12
|
+
type PasswordStrengthLevel = (typeof PASSWORD_STRENGTH_LEVELS)[keyof typeof PASSWORD_STRENGTH_LEVELS];
|
|
13
|
+
interface PasswordRequirementInput {
|
|
14
|
+
id: PasswordRequirementId | string;
|
|
15
|
+
label?: string;
|
|
16
|
+
minLength?: number | string;
|
|
17
|
+
}
|
|
18
|
+
type PasswordRequirementConfig = string | PasswordRequirementInput;
|
|
19
|
+
interface PasswordRequirement {
|
|
20
|
+
id: PasswordRequirementId;
|
|
21
|
+
label: string;
|
|
22
|
+
minLength?: number;
|
|
23
|
+
met: boolean;
|
|
24
|
+
}
|
|
25
|
+
interface PasswordStrengthOptions {
|
|
26
|
+
minLength?: number | string;
|
|
27
|
+
requirements?: PasswordRequirementConfig[];
|
|
28
|
+
}
|
|
29
|
+
interface PasswordStrengthResult {
|
|
30
|
+
score: number;
|
|
31
|
+
maxScore: number;
|
|
32
|
+
level: PasswordStrengthLevel;
|
|
33
|
+
requirements: PasswordRequirement[];
|
|
34
|
+
}
|
|
35
|
+
declare function getPasswordStrength(password: string, options?: PasswordStrengthOptions): PasswordStrengthResult;
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/index.d.ts
|
|
38
|
+
type StrengthLabelKey = "notRated" | "tooWeak" | "weak" | "fair" | "strong" | "veryStrong";
|
|
39
|
+
type RequirementStatusKey = "met" | "needed";
|
|
40
|
+
type TemplateKey = "strength" | "requirementsSummary" | "live" | "progressValue";
|
|
41
|
+
type AriaMessageKey = "progressLabel" | "requirementsLabel";
|
|
42
|
+
type ErrorMessageKey = "inputUnconfigured" | "inputMissing";
|
|
43
|
+
interface PasswordStrengthMessages {
|
|
44
|
+
strengthLabels?: Partial<Record<StrengthLabelKey, string>>;
|
|
45
|
+
requirementStatus?: Partial<Record<RequirementStatusKey, string>>;
|
|
46
|
+
templates?: Partial<Record<TemplateKey, string>>;
|
|
47
|
+
aria?: Partial<Record<AriaMessageKey, string>>;
|
|
48
|
+
errors?: Partial<Record<ErrorMessageKey, string>>;
|
|
49
|
+
requirements?: Record<string, string>;
|
|
50
|
+
}
|
|
51
|
+
interface PasswordStrengthMeterOptions {
|
|
52
|
+
announce?: boolean | string;
|
|
53
|
+
feedbackId?: string;
|
|
54
|
+
inputId?: string;
|
|
55
|
+
messages?: PasswordStrengthMessages;
|
|
56
|
+
minLength?: number | string;
|
|
57
|
+
}
|
|
58
|
+
interface PasswordStrengthMeterInstance {
|
|
59
|
+
readonly element: HTMLElement;
|
|
60
|
+
readonly root: HTMLElement;
|
|
61
|
+
destroy(): void;
|
|
62
|
+
update(options?: PasswordStrengthMeterUpdateOptions): void;
|
|
63
|
+
}
|
|
64
|
+
interface PasswordStrengthMeterUpdateOptions {
|
|
65
|
+
announce?: boolean;
|
|
66
|
+
dispatchChange?: boolean;
|
|
67
|
+
}
|
|
68
|
+
interface PasswordStrengthMeterLifecycleDetail {
|
|
69
|
+
instance: A11yPasswordStrengthMeter;
|
|
70
|
+
}
|
|
71
|
+
interface PasswordStrengthMeterChangeDetail extends PasswordStrengthMeterLifecycleDetail {
|
|
72
|
+
label: string;
|
|
73
|
+
metCount: number;
|
|
74
|
+
result: PasswordStrengthResult;
|
|
75
|
+
}
|
|
76
|
+
declare const PASSWORD_STRENGTH_METER_EVENTS: Readonly<{
|
|
77
|
+
init: "a11y-password-strength-meter:init";
|
|
78
|
+
change: "a11y-password-strength-meter:change";
|
|
79
|
+
destroy: "a11y-password-strength-meter:destroy";
|
|
80
|
+
}>;
|
|
81
|
+
declare class A11yPasswordStrengthMeter implements PasswordStrengthMeterInstance {
|
|
82
|
+
private static readonly instances;
|
|
83
|
+
static getInstance(root: HTMLElement): A11yPasswordStrengthMeter | null;
|
|
84
|
+
readonly root: HTMLElement;
|
|
85
|
+
private input;
|
|
86
|
+
private meter;
|
|
87
|
+
private label;
|
|
88
|
+
private count;
|
|
89
|
+
private progress;
|
|
90
|
+
private requirementsList;
|
|
91
|
+
private liveRegion;
|
|
92
|
+
private options;
|
|
93
|
+
private lastAnnouncedLabel;
|
|
94
|
+
private customMessages;
|
|
95
|
+
private addedFeedbackDescriptionId;
|
|
96
|
+
private initialized;
|
|
97
|
+
private readonly boundHandleInput;
|
|
98
|
+
constructor(root: HTMLElement, options?: PasswordStrengthMeterOptions);
|
|
99
|
+
get element(): HTMLElement;
|
|
100
|
+
set messages(value: PasswordStrengthMessages);
|
|
101
|
+
get messages(): PasswordStrengthMessages;
|
|
102
|
+
configure(options?: PasswordStrengthMeterOptions): void;
|
|
103
|
+
update({
|
|
104
|
+
announce,
|
|
105
|
+
dispatchChange
|
|
106
|
+
}?: PasswordStrengthMeterUpdateOptions): void;
|
|
107
|
+
destroy(): void;
|
|
108
|
+
private initialize;
|
|
109
|
+
private teardown;
|
|
110
|
+
private get feedbackId();
|
|
111
|
+
private get inputId();
|
|
112
|
+
private get shouldAnnounce();
|
|
113
|
+
private get minLength();
|
|
114
|
+
private get resolvedMessages();
|
|
115
|
+
private render;
|
|
116
|
+
private connectInput;
|
|
117
|
+
private disconnectInput;
|
|
118
|
+
private ensureInputDescription;
|
|
119
|
+
private removeInputDescription;
|
|
120
|
+
private handleInput;
|
|
121
|
+
private renderRequirements;
|
|
122
|
+
private getAuthoredRequirements;
|
|
123
|
+
private announce;
|
|
124
|
+
private showUnavailableState;
|
|
125
|
+
private resetRequirements;
|
|
126
|
+
private refreshMessages;
|
|
127
|
+
private getUnavailableMessage;
|
|
128
|
+
private normalizeRequirementMarkup;
|
|
129
|
+
private dispatchLifecycleEvent;
|
|
130
|
+
}
|
|
131
|
+
declare function createPasswordStrengthMeter(root: HTMLElement, options?: PasswordStrengthMeterOptions): PasswordStrengthMeterInstance;
|
|
132
|
+
declare function initPasswordStrengthMeters(options?: PasswordStrengthMeterOptions): PasswordStrengthMeterInstance[];
|
|
133
|
+
//#endregion
|
|
134
|
+
export { A11yPasswordStrengthMeter, PASSWORD_STRENGTH_LEVELS, PASSWORD_STRENGTH_METER_EVENTS, type PasswordRequirement, type PasswordRequirementConfig, type PasswordRequirementId, type PasswordRequirementInput, type PasswordStrengthLevel, PasswordStrengthMessages, PasswordStrengthMeterChangeDetail, PasswordStrengthMeterInstance, PasswordStrengthMeterLifecycleDetail, PasswordStrengthMeterOptions, PasswordStrengthMeterUpdateOptions, type PasswordStrengthOptions, type PasswordStrengthResult, createPasswordStrengthMeter, getPasswordStrength, initPasswordStrengthMeters };
|
|
135
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/lib/password-strength.ts","../src/index.ts"],"mappings":"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"}
|