@alfadocs/ui-kit-debug 0.7.3 → 0.8.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfadocs/ui-kit-debug",
3
- "version": "0.7.3",
3
+ "version": "0.8.1",
4
4
  "type": "module",
5
5
  "description": "AlfaDocs shared design system — tokens, components, patterns, and translations for platform, booking, and alfascribe. (debug build — identical runtime to @alfadocs/ui-kit, ships source maps for symbolication).",
6
6
  "license": "BUSL-1.1",
@@ -502,8 +502,8 @@
502
502
  "@fullcalendar/resource-timeline": "^6.1.20",
503
503
  "@fullcalendar/timegrid": "^6.1.20",
504
504
  "@fullcalendar/timeline": "^6.1.20",
505
- "@stripe/react-stripe-js": "^6.2.0",
506
- "@stripe/stripe-js": "^9.2.0",
505
+ "@stripe/react-stripe-js": "^1.16.0 || ^2 || ^3 || ^6",
506
+ "@stripe/stripe-js": "^1.41.0 || ^2 || ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9",
507
507
  "@tiptap/extension-image": "^3.22.3",
508
508
  "@tiptap/extension-link": "^3.22.3",
509
509
  "@tiptap/extension-table": "^3.22.3",
@@ -1,301 +0,0 @@
1
- import { jsxs as p, jsx as a } from "react/jsx-runtime";
2
- import { forwardRef as $, useRef as q, useState as L, useCallback as r, useMemo as B } from "react";
3
- import { c as y } from "./index-D2ZczOXr.js";
4
- import { useTranslation as G } from "react-i18next";
5
- import { T as J } from "./text-input-DZwt9L8H.js";
6
- import { u as Q } from "./form-field-context-B3APVHKx.js";
7
- import { c as X } from "./compose-refs-C0k0tdqF.js";
8
- import { u as Y } from "./registry-C9nwlNyL.js";
9
- import { E as Z } from "./eye-off-xEXDAh5z.js";
10
- import { c as D } from "./createLucideIcon-CrFbzy84.js";
11
- import { T as U } from "./triangle-alert-CBPUIzQo.js";
12
- /**
13
- * @license lucide-react v1.8.0 - ISC
14
- *
15
- * This source code is licensed under the ISC license.
16
- * See the LICENSE file in the root directory of this source tree.
17
- */
18
- const ss = [
19
- [
20
- "path",
21
- {
22
- d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
23
- key: "1nclc0"
24
- }
25
- ],
26
- ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
27
- ], es = D("eye", ss), ts = {
28
- id: "password-input",
29
- capabilities: ["edit_inline"],
30
- state: {
31
- value: {
32
- type: "string",
33
- descriptionKey: "ui.agent.passwordInput.state.value",
34
- description: "Current password value. Never log or persist this off-device.",
35
- read: (e) => e.getValue()
36
- },
37
- isEmpty: {
38
- type: "boolean",
39
- descriptionKey: "ui.agent.passwordInput.state.isEmpty",
40
- description: "Whether the input has no value.",
41
- read: (e) => e.getValue() === ""
42
- },
43
- isRevealed: {
44
- type: "boolean",
45
- descriptionKey: "ui.agent.passwordInput.state.isRevealed",
46
- description: "Whether the password is currently shown in plain text.",
47
- read: (e) => e.isRevealed()
48
- }
49
- },
50
- actions: {
51
- set_value: {
52
- safety: "write",
53
- argsType: "{ value: string }",
54
- descriptionKey: "ui.agent.passwordInput.actions.setValue",
55
- description: "Replace the password value.",
56
- invoke: (e, f) => {
57
- e.setValue(f.value);
58
- }
59
- },
60
- clear: {
61
- safety: "destructive",
62
- descriptionKey: "ui.agent.passwordInput.actions.clear",
63
- description: "Empty the input. Loses any typed value.",
64
- invoke: (e) => {
65
- e.clear();
66
- }
67
- },
68
- focus: {
69
- safety: "read",
70
- descriptionKey: "ui.agent.passwordInput.actions.focus",
71
- description: "Move keyboard focus to the input.",
72
- invoke: (e) => {
73
- e.focus();
74
- }
75
- },
76
- toggle_visibility: {
77
- safety: "read",
78
- descriptionKey: "ui.agent.passwordInput.actions.toggleVisibility",
79
- description: "Toggle between masked and plain-text display.",
80
- invoke: (e) => {
81
- e.toggleVisibility();
82
- }
83
- }
84
- },
85
- domHooks: {
86
- root: {
87
- attr: "data-component",
88
- value: "password-input",
89
- description: "Marks the PasswordInput wrapper."
90
- },
91
- instanceId: {
92
- attr: "data-component-id",
93
- sourceProp: "id",
94
- description: "Sourced from the id prop."
95
- }
96
- }
97
- }, as = {
98
- sm: "ds:size-4",
99
- md: "ds:size-[18px]",
100
- lg: "ds:size-5"
101
- }, is = y(
102
- [
103
- "ds:absolute ds:inset-y-0 ds:end-0 ds:ps-2 ds:pe-3",
104
- "ds:inline-flex ds:items-center ds:justify-center",
105
- "ds:text-muted-foreground ds:hover:text-foreground",
106
- "ds:bg-transparent ds:border-0 ds:cursor-pointer",
107
- "ds:rounded-[var(--radius-sm)]",
108
- "ds:min-w-[var(--min-target-size)]",
109
- "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
110
- "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
111
- "ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
112
- "ds:forced-colors:focus-visible:outline-[CanvasText]",
113
- "ds:disabled:cursor-not-allowed ds:disabled:opacity-50"
114
- ].join(" ")
115
- ), rs = y(
116
- "ds:h-1 ds:w-full ds:overflow-hidden ds:rounded-[var(--radius-full)] ds:bg-muted"
117
- ), os = y(
118
- [
119
- "ds:h-full ds:rounded-[var(--radius-full)]",
120
- "ds:transition-all ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none"
121
- ].join(" "),
122
- {
123
- variants: {
124
- level: {
125
- 0: "ds:w-1/4 ds:bg-destructive",
126
- 1: "ds:w-1/2 ds:bg-warning",
127
- 2: "ds:w-3/4 ds:bg-success",
128
- 3: "ds:w-full ds:bg-success"
129
- }
130
- },
131
- defaultVariants: { level: 0 }
132
- }
133
- ), ds = {
134
- 0: "weak",
135
- 1: "fair",
136
- 2: "good",
137
- 3: "strong"
138
- }, ns = $(
139
- ({
140
- onRevealChange: e,
141
- showStrength: f = !1,
142
- strength: m = 0,
143
- autoComplete: z,
144
- size: h = "md",
145
- disabled: E,
146
- name: S,
147
- id: g,
148
- onKeyDown: o,
149
- onKeyUp: d,
150
- onBlur: n,
151
- className: P,
152
- ...j
153
- }, M) => {
154
- const { t: c } = G(), x = Q().disabled || E, l = q(null), A = X(M, l), [i, k] = L(!1), [O, I] = L(!1), v = r((s) => {
155
- var T;
156
- const t = l.current;
157
- if (!t) return;
158
- const R = Object.getPrototypeOf(t), b = (T = Object.getOwnPropertyDescriptor(R, "value")) == null ? void 0 : T.set;
159
- b == null || b.call(t, s), t.dispatchEvent(new Event("input", { bubbles: !0 })), t.dispatchEvent(new Event("change", { bubbles: !0 }));
160
- }, []), _ = r(() => {
161
- k((s) => {
162
- const t = !s;
163
- return e == null || e(t), t;
164
- });
165
- }, [e]), u = r((s) => {
166
- typeof s.getModifierState == "function" && I(s.getModifierState("CapsLock"));
167
- }, []), C = r(
168
- (s) => {
169
- u(s), o == null || o(s);
170
- },
171
- [u, o]
172
- ), H = r(
173
- (s) => {
174
- u(s), d == null || d(s);
175
- },
176
- [u, d]
177
- ), F = r(
178
- (s) => {
179
- I(!1), n == null || n(s);
180
- },
181
- [n]
182
- ), K = B(
183
- () => ({
184
- getValue: () => {
185
- var s;
186
- return ((s = l.current) == null ? void 0 : s.value) ?? "";
187
- },
188
- setValue: (s) => v(s),
189
- clear: () => v(""),
190
- focus: () => {
191
- var s;
192
- return (s = l.current) == null ? void 0 : s.focus();
193
- },
194
- isRevealed: () => i,
195
- toggleVisibility: () => {
196
- k((s) => {
197
- const t = !s;
198
- return e == null || e(t), t;
199
- });
200
- }
201
- }),
202
- [e, i, v]
203
- );
204
- Y(ts, K, g);
205
- const N = as[h], W = c(
206
- i ? "ui.inputs.password.toggleHide" : "ui.inputs.password.toggleShow",
207
- i ? "Hide password" : "Show password"
208
- ), w = ds[m], V = c(
209
- `ui.inputs.password.strength.${w}`,
210
- w.charAt(0).toUpperCase() + w.slice(1)
211
- );
212
- return /* @__PURE__ */ p(
213
- "div",
214
- {
215
- "data-component": "password-input",
216
- "data-component-id": g,
217
- className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]",
218
- children: [
219
- /* @__PURE__ */ p("div", { className: "ds:relative", children: [
220
- /* @__PURE__ */ a(
221
- J,
222
- {
223
- ref: A,
224
- id: g,
225
- type: i ? "text" : "password",
226
- autoComplete: z ?? "current-password",
227
- name: S ?? "password",
228
- spellCheck: !1,
229
- autoCapitalize: "none",
230
- autoCorrect: "off",
231
- size: h,
232
- disabled: x,
233
- onKeyDown: C,
234
- onKeyUp: H,
235
- onBlur: F,
236
- endAdornment: /* @__PURE__ */ a("span", { "aria-hidden": "true", className: "ds:block ds:size-4" }),
237
- className: P,
238
- ...j
239
- }
240
- ),
241
- /* @__PURE__ */ a(
242
- "button",
243
- {
244
- type: "button",
245
- "aria-pressed": i,
246
- "aria-label": W,
247
- disabled: x,
248
- onClick: _,
249
- className: is(),
250
- children: i ? /* @__PURE__ */ a(Z, { "aria-hidden": "true", className: N }) : /* @__PURE__ */ a(es, { "aria-hidden": "true", className: N })
251
- }
252
- )
253
- ] }),
254
- O ? /* @__PURE__ */ p(
255
- "span",
256
- {
257
- role: "status",
258
- "aria-live": "polite",
259
- className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)] type-meta ds:text-warning",
260
- children: [
261
- /* @__PURE__ */ a(U, { "aria-hidden": "true", className: "ds:size-3.5" }),
262
- c("ui.inputs.password.capsLock", "Caps Lock is on")
263
- ]
264
- }
265
- ) : null,
266
- f ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
267
- /* @__PURE__ */ a(
268
- "div",
269
- {
270
- role: "progressbar",
271
- "aria-valuenow": m,
272
- "aria-valuemin": 0,
273
- "aria-valuemax": 3,
274
- "aria-label": c(
275
- "ui.inputs.password.strengthLabel",
276
- "Password strength"
277
- ),
278
- "aria-valuetext": V,
279
- className: rs(),
280
- children: /* @__PURE__ */ a("div", { className: os({ level: m }) })
281
- }
282
- ),
283
- /* @__PURE__ */ a(
284
- "span",
285
- {
286
- "aria-hidden": "true",
287
- className: "type-meta ds:text-muted-foreground",
288
- children: V
289
- }
290
- )
291
- ] }) : null
292
- ]
293
- }
294
- );
295
- }
296
- );
297
- ns.displayName = "PasswordInput";
298
- export {
299
- ns as P
300
- };
301
- //# sourceMappingURL=password-input-C4LmjIH1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"password-input-C4LmjIH1.js","sources":["../../node_modules/lucide-react/dist/esm/icons/eye.js","../../src/components/password-input/password-input.agent.ts","../../src/components/password-input/password-input.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0\",\n key: \"1nclc0\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }]\n];\nconst Eye = createLucideIcon(\"eye\", __iconNode);\n\nexport { __iconNode, Eye as default };\n//# sourceMappingURL=eye.js.map\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — PasswordInput. */\n/* */\n/* See `src/docs/26-agent-readiness.mdx` for the contract. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { PasswordInputHandle } from './password-input';\n\nexport const passwordInputAgent: AgentAdapter<PasswordInputHandle> = {\n id: 'password-input',\n capabilities: ['edit_inline'],\n state: {\n value: {\n type: 'string',\n descriptionKey: 'ui.agent.passwordInput.state.value',\n description:\n 'Current password value. Never log or persist this off-device.',\n read: (handle) => handle.getValue(),\n },\n isEmpty: {\n type: 'boolean',\n descriptionKey: 'ui.agent.passwordInput.state.isEmpty',\n description: 'Whether the input has no value.',\n read: (handle) => handle.getValue() === '',\n },\n isRevealed: {\n type: 'boolean',\n descriptionKey: 'ui.agent.passwordInput.state.isRevealed',\n description: 'Whether the password is currently shown in plain text.',\n read: (handle) => handle.isRevealed(),\n },\n },\n actions: {\n set_value: {\n safety: 'write',\n argsType: '{ value: string }',\n descriptionKey: 'ui.agent.passwordInput.actions.setValue',\n description: 'Replace the password value.',\n invoke: (handle, args: { value: string }) => {\n handle.setValue(args.value);\n },\n },\n clear: {\n safety: 'destructive',\n descriptionKey: 'ui.agent.passwordInput.actions.clear',\n description: 'Empty the input. Loses any typed value.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n focus: {\n safety: 'read',\n descriptionKey: 'ui.agent.passwordInput.actions.focus',\n description: 'Move keyboard focus to the input.',\n invoke: (handle) => {\n handle.focus();\n },\n },\n toggle_visibility: {\n safety: 'read',\n descriptionKey: 'ui.agent.passwordInput.actions.toggleVisibility',\n description: 'Toggle between masked and plain-text display.',\n invoke: (handle) => {\n handle.toggleVisibility();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'password-input',\n description: 'Marks the PasswordInput wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useMemo,\n useRef,\n useState,\n type FocusEvent,\n type KeyboardEvent,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { AlertTriangle, Eye, EyeOff } from 'lucide-react';\nimport { TextInput, type TextInputProps } from '../text-input';\nimport { useFormField } from '../form-field/form-field-context';\nimport { composeRefs } from '../_shared/compose-refs';\nimport { useAgentRegistration } from '../../agent';\nimport { passwordInputAgent } from './password-input.agent';\n\n/** Agent-readiness curated handle for PasswordInput. */\nexport interface PasswordInputHandle {\n getValue: () => string;\n setValue: (value: string) => void;\n clear: () => void;\n focus: () => void;\n isRevealed: () => boolean;\n toggleVisibility: () => void;\n}\n\ntype Strength = 0 | 1 | 2 | 3;\n\ntype SizeKey = NonNullable<TextInputProps['size']>;\n\nconst iconSizeClassBySize: Record<SizeKey, string> = {\n sm: 'ds:size-4',\n md: 'ds:size-[18px]',\n lg: 'ds:size-5',\n};\n\nconst toggleVariants = cva(\n [\n 'ds:absolute ds:inset-y-0 ds:end-0 ds:ps-2 ds:pe-3',\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:text-muted-foreground ds:hover:text-foreground',\n 'ds:bg-transparent ds:border-0 ds:cursor-pointer',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:min-w-[var(--min-target-size)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n ].join(' '),\n);\n\nconst strengthTrackVariants = cva(\n 'ds:h-1 ds:w-full ds:overflow-hidden ds:rounded-[var(--radius-full)] ds:bg-muted',\n);\n\nconst strengthBarVariants = cva(\n [\n 'ds:h-full ds:rounded-[var(--radius-full)]',\n 'ds:transition-all ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n ].join(' '),\n {\n variants: {\n level: {\n 0: 'ds:w-1/4 ds:bg-destructive',\n 1: 'ds:w-1/2 ds:bg-warning',\n 2: 'ds:w-3/4 ds:bg-success',\n 3: 'ds:w-full ds:bg-success',\n },\n },\n defaultVariants: { level: 0 },\n },\n);\n\nconst strengthLabelByLevel: Record<\n Strength,\n 'weak' | 'fair' | 'good' | 'strong'\n> = {\n 0: 'weak',\n 1: 'fair',\n 2: 'good',\n 3: 'strong',\n};\n\nexport interface PasswordInputProps\n extends\n Omit<TextInputProps, 'type' | 'endAdornment' | 'startAdornment'>,\n VariantProps<typeof strengthBarVariants> {\n /** Callback when reveal state changes (for analytics). */\n onRevealChange?: (revealed: boolean) => void;\n /** Show the strength meter below the input. */\n showStrength?: boolean;\n /** Strength score: 0 = weak, 1 = fair, 2 = good, 3 = strong. */\n strength?: Strength;\n /**\n * Autocomplete hint. Defaults to 'current-password'.\n * Use 'new-password' for registration/change-password forms.\n */\n autoComplete?: 'current-password' | 'new-password' | (string & {});\n}\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (\n {\n onRevealChange,\n showStrength = false,\n strength = 0,\n autoComplete,\n size = 'md',\n disabled,\n name,\n id,\n onKeyDown,\n onKeyUp,\n onBlur,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const ctx = useFormField();\n const effectiveDisabled = ctx.disabled || disabled;\n\n const innerInputRef = useRef<HTMLInputElement | null>(null);\n const composedRef = composeRefs(ref, innerInputRef);\n\n const [revealed, setRevealed] = useState(false);\n const [capsLock, setCapsLock] = useState(false);\n\n const writeValueToInput = useCallback((next: string) => {\n const node = innerInputRef.current;\n if (!node) return;\n const prototype = Object.getPrototypeOf(node) as HTMLInputElement;\n const setter = Object.getOwnPropertyDescriptor(prototype, 'value')?.set;\n setter?.call(node, next);\n node.dispatchEvent(new Event('input', { bubbles: true }));\n node.dispatchEvent(new Event('change', { bubbles: true }));\n }, []);\n\n const handleToggle = useCallback(() => {\n setRevealed((prev) => {\n const next = !prev;\n onRevealChange?.(next);\n return next;\n });\n }, [onRevealChange]);\n\n const detectCaps = useCallback((event: KeyboardEvent<HTMLInputElement>) => {\n if (typeof event.getModifierState === 'function') {\n setCapsLock(event.getModifierState('CapsLock'));\n }\n }, []);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n detectCaps(event);\n onKeyDown?.(event);\n },\n [detectCaps, onKeyDown],\n );\n\n const handleKeyUp = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n detectCaps(event);\n onKeyUp?.(event);\n },\n [detectCaps, onKeyUp],\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setCapsLock(false);\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const agentHandle = useMemo<PasswordInputHandle>(\n () => ({\n getValue: () => innerInputRef.current?.value ?? '',\n setValue: (next) => writeValueToInput(next),\n clear: () => writeValueToInput(''),\n focus: () => innerInputRef.current?.focus(),\n isRevealed: () => revealed,\n toggleVisibility: () => {\n setRevealed((prev) => {\n const next = !prev;\n onRevealChange?.(next);\n return next;\n });\n },\n }),\n [onRevealChange, revealed, writeValueToInput],\n );\n useAgentRegistration(passwordInputAgent, agentHandle, id);\n\n const iconSizeClass = iconSizeClassBySize[size];\n const toggleLabel = t(\n revealed\n ? 'ui.inputs.password.toggleHide'\n : 'ui.inputs.password.toggleShow',\n revealed ? 'Hide password' : 'Show password',\n );\n\n const strengthKey = strengthLabelByLevel[strength];\n const strengthText = t(\n `ui.inputs.password.strength.${strengthKey}`,\n strengthKey.charAt(0).toUpperCase() + strengthKey.slice(1),\n );\n\n return (\n <div\n data-component=\"password-input\"\n data-component-id={id}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\"\n >\n <div className=\"ds:relative\">\n <TextInput\n ref={composedRef}\n id={id}\n type={revealed ? 'text' : 'password'}\n autoComplete={autoComplete ?? 'current-password'}\n name={name ?? 'password'}\n spellCheck={false}\n autoCapitalize=\"none\"\n autoCorrect=\"off\"\n size={size}\n disabled={effectiveDisabled}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n onBlur={handleBlur}\n endAdornment={\n <span aria-hidden=\"true\" className=\"ds:block ds:size-4\" />\n }\n className={className}\n {...rest}\n />\n <button\n type=\"button\"\n aria-pressed={revealed}\n aria-label={toggleLabel}\n disabled={effectiveDisabled}\n onClick={handleToggle}\n className={toggleVariants()}\n >\n {revealed ? (\n <EyeOff aria-hidden=\"true\" className={iconSizeClass} />\n ) : (\n <Eye aria-hidden=\"true\" className={iconSizeClass} />\n )}\n </button>\n </div>\n\n {capsLock ? (\n <span\n role=\"status\"\n aria-live=\"polite\"\n className=\"ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)] type-meta ds:text-warning\"\n >\n <AlertTriangle aria-hidden=\"true\" className=\"ds:size-3.5\" />\n {t('ui.inputs.password.capsLock', 'Caps Lock is on')}\n </span>\n ) : null}\n\n {showStrength ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <div\n role=\"progressbar\"\n aria-valuenow={strength}\n aria-valuemin={0}\n aria-valuemax={3}\n aria-label={t(\n 'ui.inputs.password.strengthLabel',\n 'Password strength',\n )}\n aria-valuetext={strengthText}\n className={strengthTrackVariants()}\n >\n <div className={strengthBarVariants({ level: strength })} />\n </div>\n <span\n aria-hidden=\"true\"\n className=\"type-meta ds:text-muted-foreground\"\n >\n {strengthText}\n </span>\n </div>\n ) : null}\n </div>\n );\n },\n);\n\nPasswordInput.displayName = 'PasswordInput';\n"],"names":["__iconNode","Eye","createLucideIcon","passwordInputAgent","handle","args","iconSizeClassBySize","toggleVariants","cva","strengthTrackVariants","strengthBarVariants","strengthLabelByLevel","PasswordInput","forwardRef","onRevealChange","showStrength","strength","autoComplete","size","disabled","name","id","onKeyDown","onKeyUp","onBlur","className","rest","ref","t","useTranslation","effectiveDisabled","useFormField","innerInputRef","useRef","composedRef","composeRefs","revealed","setRevealed","useState","capsLock","setCapsLock","writeValueToInput","useCallback","next","node","prototype","setter","_a","handleToggle","prev","detectCaps","event","handleKeyDown","handleKeyUp","handleBlur","agentHandle","useMemo","useAgentRegistration","iconSizeClass","toggleLabel","strengthKey","strengthText","jsxs","jsx","TextInput","EyeOff","AlertTriangle"],"mappings":"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","x_google_ignoreList":[0]}