@schemavaults/ui 0.21.0 → 0.22.1

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.
@@ -16,6 +16,8 @@ export * from "./input";
16
16
  export type * from "./input";
17
17
  export * from "./password-input";
18
18
  export type * from "./password-input";
19
+ export * from "./otp-input";
20
+ export type * from "./otp-input";
19
21
  export * from "./secure-password-creation-input";
20
22
  export type * from "./secure-password-creation-input";
21
23
  export * from "./file-input";
@@ -7,6 +7,7 @@ export * from "./themed-page-background";
7
7
  export * from "./button";
8
8
  export * from "./input";
9
9
  export * from "./password-input";
10
+ export * from "./otp-input";
10
11
  export * from "./secure-password-creation-input";
11
12
  export * from "./file-input";
12
13
  export * from "./label";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAGxB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kCAAkC,CAAC;AAGjD,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,2BAA2B,CAAC;AAG1C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,OAAO,CAAC;AAGtB,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAGxB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,kCAAkC,CAAC;AAGjD,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,2BAA2B,CAAC;AAG1C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,OAAO,CAAC;AAGtB,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./otp-input";
2
+ export type * from "./otp-input";
3
+ export { OTPInput as default } from "./otp-input";
@@ -0,0 +1,3 @@
1
+ export * from "./otp-input";
2
+ export { OTPInput as default } from "./otp-input";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/otp-input/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { type ReactElement, type Ref } from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const otpSlotVariants: (props?: ({
4
+ variant?: "default" | "outline" | "underline" | "filled" | null | undefined;
5
+ size?: "sm" | "lg" | "md" | null | undefined;
6
+ invalid?: boolean | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ type OTPInputMode = "numeric" | "alphanumeric";
9
+ export interface OTPInputHandle {
10
+ focus: () => void;
11
+ clear: () => void;
12
+ }
13
+ export interface OTPInputProps extends VariantProps<typeof otpSlotVariants> {
14
+ /** Number of slots rendered. Defaults to 6. */
15
+ length?: number;
16
+ /** Controlled value. Extra characters beyond `length` are ignored. */
17
+ value?: string;
18
+ /** Uncontrolled default value. */
19
+ defaultValue?: string;
20
+ /** Called with the current concatenated string on every keystroke. */
21
+ onChange?: (value: string) => void;
22
+ /** Called once the user fills every slot. */
23
+ onComplete?: (value: string) => void;
24
+ /** Restrict input to digits ("numeric") or letters+digits ("alphanumeric"). */
25
+ mode?: OTPInputMode;
26
+ /** Mask characters as dots (useful for sensitive one-time passwords). */
27
+ mask?: boolean;
28
+ /** Render a visual separator between groups of this many slots. */
29
+ groupSize?: number;
30
+ /** Focus the first slot on mount. */
31
+ focusOnMount?: boolean;
32
+ disabled?: boolean;
33
+ invalid?: boolean;
34
+ /** Optional name used when emitting a hidden input for form submissions. */
35
+ name?: string;
36
+ /** Placeholder character shown in empty slots. */
37
+ placeholder?: string;
38
+ /** Accessible label for the group of inputs. */
39
+ "aria-label"?: string;
40
+ className?: string;
41
+ slotClassName?: string;
42
+ separatorClassName?: string;
43
+ /** Imperative handle exposing focus()/clear(). */
44
+ ref?: Ref<OTPInputHandle>;
45
+ }
46
+ declare const OTPInput: {
47
+ ({ length, value: controlledValue, defaultValue, onChange, onComplete, mode, mask, groupSize, focusOnMount, disabled, invalid, name, placeholder, variant, size, className, slotClassName, separatorClassName, "aria-label": ariaLabel, ref, }: OTPInputProps): ReactElement;
48
+ displayName: string;
49
+ };
50
+ export { OTPInput, otpSlotVariants };
51
+ export default OTPInput;
@@ -0,0 +1,186 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useImperativeHandle, useRef, useState, } from "react";
4
+ import { cva } from "class-variance-authority";
5
+ import { cn } from "../../../lib/utils";
6
+ const otpSlotVariants = cva("relative flex items-center justify-center text-center font-medium tabular-nums bg-background text-foreground ring-offset-background transition-[color,box-shadow,border-color,background-color] outline-none focus-visible:z-10 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", {
7
+ variants: {
8
+ variant: {
9
+ default: "border border-input",
10
+ outline: "border-2 border-input",
11
+ underline: "border-0 border-b-2 border-input rounded-none bg-transparent",
12
+ filled: "border border-transparent bg-muted text-foreground focus-visible:bg-background focus-visible:border-input",
13
+ },
14
+ size: {
15
+ sm: "h-9 w-8 text-sm",
16
+ md: "h-11 w-10 text-base",
17
+ lg: "h-14 w-12 text-xl",
18
+ },
19
+ invalid: {
20
+ true: "border-destructive text-destructive focus-visible:ring-destructive",
21
+ false: "",
22
+ },
23
+ },
24
+ compoundVariants: [
25
+ {
26
+ variant: "default",
27
+ invalid: false,
28
+ class: "focus-visible:border-ring",
29
+ },
30
+ {
31
+ variant: "outline",
32
+ invalid: false,
33
+ class: "focus-visible:border-ring",
34
+ },
35
+ {
36
+ variant: "filled",
37
+ invalid: false,
38
+ class: "focus-visible:border-ring",
39
+ },
40
+ ],
41
+ defaultVariants: {
42
+ variant: "default",
43
+ size: "md",
44
+ invalid: false,
45
+ },
46
+ });
47
+ const sanitize = (raw, mode) => {
48
+ const pattern = mode === "numeric" ? /[^0-9]/g : /[^a-zA-Z0-9]/g;
49
+ return raw.replace(pattern, "");
50
+ };
51
+ const OTPInput = ({ length = 6, value: controlledValue, defaultValue = "", onChange, onComplete, mode = "numeric", mask = false, groupSize, focusOnMount = false, disabled = false, invalid = false, name, placeholder = "", variant, size, className, slotClassName, separatorClassName, "aria-label": ariaLabel = "One-time passcode", ref, }) => {
52
+ const isControlled = controlledValue !== undefined;
53
+ const [internalValue, setInternalValue] = useState(() => sanitize(defaultValue, mode).slice(0, length));
54
+ const currentValue = sanitize(isControlled ? (controlledValue ?? "") : internalValue, mode).slice(0, length);
55
+ const slotRefs = useRef([]);
56
+ const hasFiredCompleteRef = useRef(false);
57
+ useImperativeHandle(ref, () => ({
58
+ focus: () => {
59
+ const target = slotRefs.current[currentValue.length] ?? slotRefs.current[0];
60
+ target?.focus();
61
+ },
62
+ clear: () => {
63
+ if (!isControlled)
64
+ setInternalValue("");
65
+ onChange?.("");
66
+ slotRefs.current[0]?.focus();
67
+ },
68
+ }), [currentValue.length, isControlled, onChange]);
69
+ useEffect(() => {
70
+ if (!focusOnMount)
71
+ return;
72
+ slotRefs.current[0]?.focus();
73
+ }, [focusOnMount]);
74
+ const commit = useCallback((next) => {
75
+ const clean = sanitize(next, mode).slice(0, length);
76
+ if (!isControlled)
77
+ setInternalValue(clean);
78
+ onChange?.(clean);
79
+ if (clean.length === length) {
80
+ if (!hasFiredCompleteRef.current) {
81
+ hasFiredCompleteRef.current = true;
82
+ onComplete?.(clean);
83
+ }
84
+ }
85
+ else {
86
+ hasFiredCompleteRef.current = false;
87
+ }
88
+ }, [isControlled, length, mode, onChange, onComplete]);
89
+ const focusSlot = (index) => {
90
+ const clamped = Math.max(0, Math.min(length - 1, index));
91
+ const target = slotRefs.current[clamped];
92
+ if (!target)
93
+ return;
94
+ target.focus();
95
+ target.select();
96
+ };
97
+ const handleChangeAt = (index, rawValue) => {
98
+ const cleaned = sanitize(rawValue, mode);
99
+ if (cleaned.length === 0)
100
+ return;
101
+ const chars = currentValue.split("");
102
+ if (cleaned.length === 1) {
103
+ chars[index] = cleaned;
104
+ const next = chars.join("").slice(0, length);
105
+ commit(next);
106
+ if (index < length - 1)
107
+ focusSlot(index + 1);
108
+ return;
109
+ }
110
+ // Multi-character input (e.g. browser autofill of the full code).
111
+ const merged = currentValue.slice(0, index) + cleaned + currentValue.slice(index);
112
+ const next = merged.slice(0, length);
113
+ commit(next);
114
+ focusSlot(Math.min(length - 1, next.length));
115
+ };
116
+ const handleKeyDown = (index, event) => {
117
+ const chars = currentValue.split("");
118
+ if (event.key === "Backspace") {
119
+ event.preventDefault();
120
+ if (chars[index]) {
121
+ chars[index] = "";
122
+ commit(chars.join(""));
123
+ return;
124
+ }
125
+ if (index > 0) {
126
+ chars[index - 1] = "";
127
+ commit(chars.join(""));
128
+ focusSlot(index - 1);
129
+ }
130
+ return;
131
+ }
132
+ if (event.key === "Delete") {
133
+ event.preventDefault();
134
+ chars[index] = "";
135
+ commit(chars.join(""));
136
+ return;
137
+ }
138
+ if (event.key === "ArrowLeft") {
139
+ event.preventDefault();
140
+ focusSlot(index - 1);
141
+ return;
142
+ }
143
+ if (event.key === "ArrowRight") {
144
+ event.preventDefault();
145
+ focusSlot(index + 1);
146
+ return;
147
+ }
148
+ if (event.key === "Home") {
149
+ event.preventDefault();
150
+ focusSlot(0);
151
+ return;
152
+ }
153
+ if (event.key === "End") {
154
+ event.preventDefault();
155
+ focusSlot(length - 1);
156
+ }
157
+ };
158
+ const handlePaste = (index, event) => {
159
+ event.preventDefault();
160
+ const pasted = sanitize(event.clipboardData.getData("text"), mode);
161
+ if (!pasted)
162
+ return;
163
+ const merged = currentValue.slice(0, index) + pasted + currentValue.slice(index);
164
+ const next = merged.slice(0, length);
165
+ commit(next);
166
+ focusSlot(Math.min(length - 1, next.length));
167
+ };
168
+ const handleFocus = (event) => {
169
+ event.target.select();
170
+ };
171
+ return (_jsxs("div", { role: "group", "aria-label": ariaLabel, "data-slot": "otp-input", className: cn("inline-flex items-center", className), children: [Array.from({ length }, (_unused, index) => {
172
+ const char = currentValue[index] ?? "";
173
+ const displayChar = char ? (mask ? "•" : char) : "";
174
+ const showSeparator = groupSize && index > 0 && index % groupSize === 0;
175
+ return (_jsxs("span", { className: "inline-flex items-center", children: [showSeparator ? (_jsx("span", { "aria-hidden": "true", className: cn("select-none text-muted-foreground mx-1 text-lg", separatorClassName), children: "\u2013" })) : null, _jsx("input", { ref: (el) => {
176
+ slotRefs.current[index] = el;
177
+ }, type: "text", inputMode: mode === "numeric" ? "numeric" : "text", pattern: mode === "numeric" ? "[0-9]*" : "[a-zA-Z0-9]*", autoComplete: index === 0 ? "one-time-code" : "off", autoCorrect: "off", spellCheck: false, maxLength: 1, disabled: disabled, "aria-invalid": invalid || undefined, "aria-label": `${ariaLabel} digit ${index + 1}`, placeholder: placeholder, value: displayChar, onFocus: handleFocus, onChange: (e) => handleChangeAt(index, e.target.value), onKeyDown: (e) => handleKeyDown(index, e), onPaste: (e) => handlePaste(index, e), className: cn(otpSlotVariants({ variant, size, invalid }), variant !== "underline" &&
178
+ "first:rounded-l-md last:rounded-r-md", variant === "underline" && "rounded-none", variant !== "underline" &&
179
+ !groupSize &&
180
+ "[&+span>input]:-ml-px", slotClassName) })] }, index));
181
+ }), name ? (_jsx("input", { type: "hidden", name: name, value: currentValue, readOnly: true })) : null] }));
182
+ };
183
+ OTPInput.displayName = "OTPInput";
184
+ export { OTPInput, otpSlotVariants };
185
+ export default OTPInput;
186
+ //# sourceMappingURL=otp-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp-input.js","sourceRoot":"","sources":["../../../../src/components/ui/otp-input/otp-input.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schemavaults/ui",
3
- "version": "0.21.0",
3
+ "version": "0.22.1",
4
4
  "private": false,
5
5
  "license": "UNLICENSED",
6
6
  "description": "React.js UI components for SchemaVaults frontend applications",