{"version":3,"names":["dynamic","createMemo","omit","createChangeEventDetails","createGenericEventDetails","REASONS","composeRefs","userRef","useCompositeListItem","fieldStateAttrs","mergeRootProps","resolveClassStyle","ariaInvalid","seedAriaInvalid","ariaLabelledBy","seedAriaLabelledBy","getOTPFieldInputState","useOTPFieldRootContext","normalizeOTPValue","removeOTPCharacter","replaceOTPValue","stripOTPWhitespace","OTPFieldInput","props","root","ref","listItemRef","index","slotValue","value","inputState","state","externalAriaLabel","undefined","externalAriaLabelledBy","inheritedLabel","inputAriaLabelledBy","ariaLabel","userStyling","userProps","internalSlot","id","getInputId","type","mask","inputmode","inputMode","autocomplete","autoComplete","autocorrect","spellcheck","enterkeyhint","length","maxlength","tabindex","activeIndex","disabled","form","pattern","readonly","readOnly","required","aria-label","data-complete","complete","data-disabled","data-readonly","data-required","data-active","focused","onMouseDown","event","defaultPrevented","preventDefault","focusInput","onFocus","handleInputFocus","onBlur","handleInputBlur","onInput","rawValue","currentTarget","nextDigits","validationType","sanitizeValue","didSanitize","reportValueInvalid","inputChange","currentSlotValue","currentValue","slotIndex","setValue","inputClear","select","nextValue","committedValue","nextInput","Math","min","queueFocusInput","onKeyDown","key","stopPropagation","max","committed","keyboard","inputValue","fullSelection","selectionStart","selectionEnd","deleteIndex","targetIndex","onPaste","clipboardData","getData","inputPaste","styledUserProps","merged","invalid","Tag","as"],"sources":["otp-field-input.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { createMemo, omit } from \"solid-js\";\nimport {\n\tcreateChangeEventDetails,\n\tcreateGenericEventDetails,\n\tREASONS,\n} from \"../../internals/change-event-details\";\nimport { composeRefs, userRef } from \"../../internals/compose-refs\";\nimport { useCompositeListItem } from \"../../internals/composite/composite-list.tsx\";\nimport { fieldStateAttrs } from \"../../internals/field-state-attrs\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport {\n\tariaInvalid as seedAriaInvalid,\n\tariaLabelledBy as seedAriaLabelledBy,\n} from \"../../internals/seed-aria-attr\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport {\n\tgetOTPFieldInputState,\n\tuseOTPFieldRootContext,\n} from \"../root/otp-field-root-context.ts\";\nimport type {\n\tOTPFieldInputState,\n\tOTPFieldRootChangeEventReason,\n} from \"../root/otp-field-root-types.ts\";\nimport {\n\tnormalizeOTPValue,\n\tremoveOTPCharacter,\n\treplaceOTPValue,\n\tstripOTPWhitespace,\n} from \"../utils/otp.ts\";\n\nexport type { OTPFieldInputState };\n\nexport interface OTPFieldInputProps\n\textends Omit<BaseUIComponentProps<\"input\", OTPFieldInputState>, \"value\"> {\n\t/**\n\t * Tag/component to render. Defaults to `\"input\"`. Replaces the\n\t * pre-spike `render` prop (axis G).\n\t */\n\tas?: ValidComponent;\n}\n\n/**\n * A single OTP slot. Renders an `<input>` (or `as` override).\n *\n * §1 wave 2: replaces `renderElement` with `dynamic(() => props.as ?? \"input\")`.\n * Field-validity attrs flow through `fieldStateAttrs(inputState)`; OTP-specific\n * presence attrs (`data-complete`, `data-disabled`, `data-readonly`,\n * `data-required`) are emitted as inline reactive getters on the internal slot\n * bag.\n */\nexport function OTPFieldInput(props: OTPFieldInputProps): JSX.Element {\n\tconst root = useOTPFieldRootContext();\n\tconst { ref: listItemRef, index } = useCompositeListItem<null>();\n\n\tconst slotValue = createMemo((): string => root.value()[index()] ?? \"\");\n\n\tconst inputState = createMemo(\n\t\t(): OTPFieldInputState =>\n\t\t\tgetOTPFieldInputState(root.state(), slotValue(), index()),\n\t);\n\n\tconst externalAriaLabel = (): string | undefined =>\n\t\ttypeof props[\"aria-label\"] === \"string\" ? props[\"aria-label\"] : undefined;\n\tconst externalAriaLabelledBy = (): string | undefined =>\n\t\ttypeof props[\"aria-labelledby\"] === \"string\"\n\t\t\t? props[\"aria-labelledby\"]\n\t\t\t: undefined;\n\tconst inheritedLabel = (): string | undefined =>\n\t\texternalAriaLabelledBy() ?? root.inputAriaLabelledBy();\n\tconst ariaLabel = (): string | undefined =>\n\t\tindex() === 0 ? undefined : externalAriaLabel();\n\n\tconst userStyling = resolveClassStyle(props, () => inputState());\n\n\tconst userProps = omit(\n\t\tprops,\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\t\t\"as\",\n\t\t\"aria-label\",\n\t\t\"aria-labelledby\",\n\t);\n\n\tconst internalSlot = {\n\t\tget id(): string | undefined {\n\t\t\treturn root.getInputId(index());\n\t\t},\n\t\tget value(): string {\n\t\t\treturn slotValue();\n\t\t},\n\t\tget type(): \"password\" | \"text\" {\n\t\t\treturn root.mask() ? \"password\" : \"text\";\n\t\t},\n\t\tget inputmode(): JSX.InputHTMLAttributes<HTMLInputElement>[\"inputmode\"] {\n\t\t\treturn root.inputMode();\n\t\t},\n\t\tget autocomplete(): string | undefined {\n\t\t\treturn index() === 0 ? root.autoComplete() : \"off\";\n\t\t},\n\t\tautocorrect: \"off\" as const,\n\t\tspellcheck: false,\n\t\tget enterkeyhint(): \"done\" | \"next\" {\n\t\t\treturn index() === root.length() - 1 ? \"done\" : \"next\";\n\t\t},\n\t\tget maxlength(): number {\n\t\t\treturn index() === 0 ? root.length() : 1;\n\t\t},\n\t\tget tabindex(): 0 | -1 {\n\t\t\treturn root.activeIndex() === index() ? 0 : -1;\n\t\t},\n\t\tget disabled(): true | undefined {\n\t\t\treturn root.disabled() || undefined;\n\t\t},\n\t\tget form(): string | undefined {\n\t\t\treturn root.form();\n\t\t},\n\t\tget pattern(): string | undefined {\n\t\t\treturn root.pattern();\n\t\t},\n\t\tget readonly(): true | undefined {\n\t\t\treturn root.readOnly() || undefined;\n\t\t},\n\t\tget required(): true | undefined {\n\t\t\treturn root.required() || undefined;\n\t\t},\n\t\tget \"aria-label\"(): string | undefined {\n\t\t\treturn ariaLabel();\n\t\t},\n\t\tget \"data-complete\"(): \"\" | undefined {\n\t\t\treturn root.state().complete ? \"\" : undefined;\n\t\t},\n\t\tget \"data-disabled\"(): \"\" | undefined {\n\t\t\treturn root.disabled() ? \"\" : undefined;\n\t\t},\n\t\tget \"data-readonly\"(): \"\" | undefined {\n\t\t\treturn root.readOnly() ? \"\" : undefined;\n\t\t},\n\t\tget \"data-required\"(): \"\" | undefined {\n\t\t\treturn root.required() ? \"\" : undefined;\n\t\t},\n\t\t// `data-active=\"true\"` on the focused slot at the cursor position (and\n\t\t// `\"false\"` otherwise), mirroring the `input-otp` library's per-slot\n\t\t// active marker. Consumers key the active-cell ring/border off\n\t\t// `data-[active=true]:…`; the field-wide `data-focused` covers every\n\t\t// slot, so it can't drive a single-cell highlight. Gated on `focused()`\n\t\t// so no cell lights up while the field is blurred.\n\t\tget \"data-active\"(): \"true\" | \"false\" {\n\t\t\treturn root.state().focused && root.activeIndex() === index()\n\t\t\t\t? \"true\"\n\t\t\t\t: \"false\";\n\t\t},\n\t\tonMouseDown(event: MouseEvent): void {\n\t\t\tif (event.defaultPrevented || root.disabled()) return;\n\t\t\tevent.preventDefault();\n\t\t\troot.focusInput(index());\n\t\t},\n\t\tonFocus(event: FocusEvent & { currentTarget: HTMLInputElement }): void {\n\t\t\tif (event.defaultPrevented || root.disabled()) return;\n\t\t\troot.handleInputFocus(index(), event);\n\t\t},\n\t\tonBlur(event: FocusEvent & { currentTarget: HTMLInputElement }): void {\n\t\t\tif (event.defaultPrevented) return;\n\t\t\troot.handleInputBlur(event);\n\t\t},\n\t\tonInput(event: InputEvent & { currentTarget: HTMLInputElement }): void {\n\t\t\tif (event.defaultPrevented || root.disabled() || root.readOnly()) return;\n\n\t\t\tconst rawValue = event.currentTarget.value;\n\t\t\tconst nextDigits = normalizeOTPValue(\n\t\t\t\trawValue,\n\t\t\t\troot.length(),\n\t\t\t\troot.validationType(),\n\t\t\t\troot.sanitizeValue(),\n\t\t\t);\n\t\t\tconst didSanitize =\n\t\t\t\tstripOTPWhitespace(rawValue).length > nextDigits.length;\n\n\t\t\tif (didSanitize) {\n\t\t\t\troot.reportValueInvalid(\n\t\t\t\t\trawValue,\n\t\t\t\t\tcreateGenericEventDetails(REASONS.inputChange, event),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst currentSlotValue = slotValue();\n\t\t\tconst currentValue = root.value();\n\t\t\tconst slotIndex = index();\n\n\t\t\tif (nextDigits === \"\") {\n\t\t\t\tif (rawValue === \"\") {\n\t\t\t\t\troot.setValue(\n\t\t\t\t\t\tremoveOTPCharacter(currentValue, slotIndex),\n\t\t\t\t\t\tcreateChangeEventDetails<OTPFieldRootChangeEventReason>(\n\t\t\t\t\t\t\tREASONS.inputClear,\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t// The typed text sanitized away entirely (e.g. a letter in a\n\t\t\t\t\t// numeric field). Restore the slot's committed digit so the\n\t\t\t\t\t// rejected character doesn't linger in the DOM input — slot 0's\n\t\t\t\t\t// `maxlength` would otherwise let invalid chars pile up. When the\n\t\t\t\t\t// slot is empty this clears the input back to \"\".\n\t\t\t\t\tevent.currentTarget.value = currentSlotValue;\n\t\t\t\t\tif (currentSlotValue !== \"\") event.currentTarget.select();\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextValue = replaceOTPValue(\n\t\t\t\tcurrentValue,\n\t\t\t\tslotIndex,\n\t\t\t\tnextDigits,\n\t\t\t\troot.length(),\n\t\t\t\troot.validationType(),\n\t\t\t\troot.sanitizeValue(),\n\t\t\t);\n\n\t\t\tconst committedValue = root.setValue(\n\t\t\t\tnextValue,\n\t\t\t\tcreateChangeEventDetails<OTPFieldRootChangeEventReason>(\n\t\t\t\t\tREASONS.inputChange,\n\t\t\t\t\tevent,\n\t\t\t\t),\n\t\t\t);\n\n\t\t\tif (committedValue == null) {\n\t\t\t\t// The change was canceled, so the signal still holds the old\n\t\t\t\t// value. Restore the slot's committed digit ourselves rather\n\t\t\t\t// than leaving the rejected character for the `value` binding\n\t\t\t\t// to overwrite on its next run.\n\t\t\t\tevent.currentTarget.value = currentSlotValue;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst nextInput = Math.min(\n\t\t\t\tslotIndex + nextDigits.length,\n\t\t\t\troot.length() - 1,\n\t\t\t);\n\t\t\troot.queueFocusInput(nextInput, committedValue);\n\t\t},\n\t\tonKeyDown(\n\t\t\tevent: KeyboardEvent & { currentTarget: HTMLInputElement },\n\t\t): void {\n\t\t\tif (event.defaultPrevented || root.disabled()) return;\n\n\t\t\tconst slotIndex = index();\n\t\t\tconst currentValue = root.value();\n\t\t\tconst currentSlotValue = slotValue();\n\n\t\t\tif (event.key === \"ArrowLeft\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\troot.focusInput(Math.max(0, slotIndex - 1));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (event.key === \"ArrowRight\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\troot.focusInput(Math.min(root.length() - 1, slotIndex + 1));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (event.key === \"Home\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\troot.focusInput(0);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (event.key === \"End\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\troot.focusInput(Math.max(currentValue.length - 1, 0));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (root.readOnly()) return;\n\n\t\t\tif (event.key === \"Delete\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tconst committed = root.setValue(\n\t\t\t\t\tremoveOTPCharacter(currentValue, slotIndex),\n\t\t\t\t\tcreateChangeEventDetails<OTPFieldRootChangeEventReason>(\n\t\t\t\t\t\tREASONS.keyboard,\n\t\t\t\t\t\tevent,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tif (committed != null) {\n\t\t\t\t\troot.queueFocusInput(slotIndex, committed);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputValue = event.currentTarget.value;\n\t\t\tconst fullSelection =\n\t\t\t\tevent.currentTarget.selectionStart === 0 &&\n\t\t\t\tevent.currentTarget.selectionEnd === inputValue.length;\n\n\t\t\tif (\n\t\t\t\tevent.key.length === 1 &&\n\t\t\t\tfullSelection &&\n\t\t\t\tcurrentSlotValue === event.key\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\troot.focusInput(Math.min(root.length() - 1, slotIndex + 1));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.key === \"Backspace\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tconst deleteIndex =\n\t\t\t\t\tcurrentSlotValue === \"\" ? Math.max(0, slotIndex - 1) : slotIndex;\n\t\t\t\tconst targetIndex = Math.max(0, slotIndex - 1);\n\t\t\t\tconst committed = root.setValue(\n\t\t\t\t\tremoveOTPCharacter(currentValue, deleteIndex),\n\t\t\t\t\tcreateChangeEventDetails<OTPFieldRootChangeEventReason>(\n\t\t\t\t\t\tREASONS.keyboard,\n\t\t\t\t\t\tevent,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tif (committed != null) {\n\t\t\t\t\troot.queueFocusInput(targetIndex, committed);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonPaste(event: ClipboardEvent): void {\n\t\t\tif (event.defaultPrevented || root.disabled() || root.readOnly()) return;\n\n\t\t\tlet rawValue = \"\";\n\t\t\ttry {\n\t\t\t\trawValue = event.clipboardData?.getData(\"text/plain\") ?? \"\";\n\t\t\t} catch {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tconst nextDigits = normalizeOTPValue(\n\t\t\t\trawValue,\n\t\t\t\troot.length(),\n\t\t\t\troot.validationType(),\n\t\t\t\troot.sanitizeValue(),\n\t\t\t);\n\t\t\tconst didSanitize =\n\t\t\t\tstripOTPWhitespace(rawValue).length > nextDigits.length;\n\n\t\t\tif (didSanitize) {\n\t\t\t\troot.reportValueInvalid(\n\t\t\t\t\trawValue,\n\t\t\t\t\tcreateGenericEventDetails(REASONS.inputPaste, event),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (nextDigits === \"\") return;\n\n\t\t\tconst slotIndex = index();\n\t\t\tconst committedValue = root.setValue(\n\t\t\t\treplaceOTPValue(\n\t\t\t\t\troot.value(),\n\t\t\t\t\tslotIndex,\n\t\t\t\t\tnextDigits,\n\t\t\t\t\troot.length(),\n\t\t\t\t\troot.validationType(),\n\t\t\t\t\troot.sanitizeValue(),\n\t\t\t\t),\n\t\t\t\tcreateChangeEventDetails<OTPFieldRootChangeEventReason>(\n\t\t\t\t\tREASONS.inputPaste,\n\t\t\t\t\tevent,\n\t\t\t\t),\n\t\t\t);\n\n\t\t\tif (committedValue != null) {\n\t\t\t\tconst nextInput = Math.min(\n\t\t\t\t\tslotIndex + nextDigits.length,\n\t\t\t\t\troot.length() - 1,\n\t\t\t\t);\n\t\t\t\troot.queueFocusInput(nextInput, committedValue);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst styledUserProps = mergeRootProps(userStyling, userProps);\n\n\tlet merged: Record<string, unknown> = mergeRootProps(\n\t\tinternalSlot,\n\t\tseedAriaLabelledBy(() => (ariaLabel() != null ? \"\" : inheritedLabel())) ??\n\t\t\t{},\n\t);\n\tmerged = mergeRootProps(merged, seedAriaInvalid(() => root.invalid()) ?? {});\n\tmerged = mergeRootProps(merged, fieldStateAttrs(inputState));\n\tmerged = mergeRootProps(merged, styledUserProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"input\");\n\treturn <Tag {...merged} ref={composeRefs(listItemRef, userRef(props))} />;\n}\n"],"mappings":"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","ignoreList":[]}