@namiml/web-sdk
Version:
Subscription monetization infrastructure — drop-in SDK with no-code paywalls, onboarding flows, A/B testing for web
35 lines (34 loc) • 1.3 kB
TypeScript
import { type TTextInputComponent } from "@namiml/sdk-core";
import { NamiElement } from "../NamiElement";
import { type CSSResult } from "lit";
export declare class NamiTextInput extends NamiElement<TTextInputComponent> {
component: TTextInputComponent;
inFocusedState: boolean;
scaleFactor: number;
/** Live (non-reactive) buffer of the input value; mirrors PaywallState. */
private _value;
/** Whether the input currently holds DOM focus. */
private _focused;
constructor();
connectedCallback(): void;
private get isTelevision();
/** Map the wire `type` to the validator's `TTextInputType`. */
private validatorType;
private validator;
private get currentError();
private _handleInput;
private _handleFocus;
private _handleBlur;
protected styles(): CSSResult;
private resolvedSpacing;
private resolvedBorderWidth;
private applyLabelStyles;
/**
* 4-state styling: error > focused > filled > empty. Errors and focus override
* the resting border/fill/radius. Filled vs empty share the resting style; the
* distinction exists for parity with the native ports and future theming.
*/
private applyInputStyles;
private applyErrorStyles;
render(): import("lit-html").TemplateResult<1>;
}