/** * A custom element that binds input elements to a CSS variable. * It also syncs values between different inputs, like range and number. * * @element css-var-bind * * @attr {string} variable - **Required.** The CSS custom property name to bind to. * Must start with `--` (e.g., `--scale`, `--primary-color`). * * @attr {string} [unit=""] - Optional unit to append to the value when setting the CSS variable. * Common values: `px`, `%`, `em`, `rem`, `deg`, etc. * * @attr {string} [target] - CSS selector for the element on which to set the CSS variable. * How this selector is resolved depends on the `strategy` attribute. * * @attr {"closest"|"global"|"self"} [strategy="closest"] - How to resolve the target selector. * - `"closest"` — Uses `element.closest(target)` to find an ancestor (default). * - `"global"` — Uses `document.querySelector(target)` for global lookup. * - `"self"` — Ignores `target` and binds to the component itself. * * @example * ```html * * * * * * * *
* * * *
* * * * * * ``` */ declare class CssVarBind extends HTMLElement { bindToElement: HTMLElement | null; cssVariableName: string; inputs: NodeListOf | null; unit: string; private boundHandleInput; constructor(); connectedCallback(): void; disconnectedCallback(): void; private handleInput; handleSteppedInputs(target: HTMLInputElement): void; setValueIfCSSPropertyExists(): void; syncInputs(changedInput: HTMLInputElement): void; } export default CssVarBind;