/** * Single source of truth for the "idle" presentation of tour elements — the * out-of-flow, invisible layout each element must have before a tour ever * runs (or before an adapter's runtime has bound to the DOM at all). * * `initializeProps()` on {@link OverlayElement}, {@link PointerElement} and * {@link PopoverElement} applies these same constants imperatively once an * adapter binds an element. Framework adapters render them directly into * their markup (server and client alike) so the idle state holds even * before hydration/binding runs, with no dependency on `@glowhop/styles-tour` * or any other optional theme. * * Deliberately excluded: the overlay's `viewBox`, which depends on the live * viewport and can only be computed once the element exists in a real DOM. */ /** A CSS declaration block keyed by kebab-case property names. */ export type CssStyleRecord = Readonly>; /** Idle inline style for the overlay `` element. */ export declare const OVERLAY_IDLE_STYLE: CssStyleRecord; /** * Idle attributes for the overlay `` element. * * `preserveAspectRatio` is the load-bearing one: the default (`xMidYMid meet`) * letterboxes the backdrop the moment the `viewBox` and the element's own box * disagree, which is exactly what a mobile URL bar causes as it retracts — * undimmed bands above and below the overlay. `slice` overdraws instead, so a * `viewBox` that is momentarily stale costs a few scaled pixels rather than a * hole in the backdrop, and `xMinYMin` anchors that overdraw at the origin the * cutout coordinates are measured from. */ export declare const OVERLAY_IDLE_ATTRIBUTES: { readonly "aria-hidden": "true"; readonly "data-glow-tour-allow-interaction": "false"; readonly inert: "true"; readonly preserveAspectRatio: "xMinYMin slice"; }; /** * Idle attributes for the overlay's cutout ``. Genuinely load-bearing, * not dead code: the parent `` is `pointer-events: none` and * `setInteractionAllowed` toggles it, so `pointer-events: auto` here is what * makes only the drawn region clickable — what `behavior.overlayClick` * depends on. */ export declare const OVERLAY_PATH_IDLE_ATTRIBUTES: { readonly cursor: "auto"; readonly opacity: "0"; readonly "pointer-events": "auto"; }; /** Idle inline style for the pointer/indicator element. */ export declare const POINTER_IDLE_STYLE: CssStyleRecord; /** Idle attributes for the pointer/indicator element. */ export declare const POINTER_IDLE_ATTRIBUTES: { readonly "aria-hidden": "true"; }; /** Idle inline style for the popover element. */ export declare const POPOVER_IDLE_STYLE: CssStyleRecord; /** Idle attributes for the popover element. */ export declare const POPOVER_IDLE_ATTRIBUTES: { readonly "aria-hidden": "true"; readonly inert: "true"; readonly tabindex: "-1"; }; /** * Serializes a style record to CSS text, e.g. for a static `style="..."` * attribute (Vanilla, Angular). */ export declare function styleRecordToCssText(style: CssStyleRecord): string; /** * Converts a kebab-case style record to a camelCase object, as required by * React's `style` prop. Vue and Solid accept kebab-case property names * directly and can use the canonical record as-is. */ export declare function styleRecordToCamelCase(style: CssStyleRecord): Readonly>;