/** * @fileoverview `` — HTML web component for carousels. * @description Light-DOM custom element that wraps standard carousel markup * and owns the Embla lifecycle: it initializes on connect (via * `EmblaInit.initRoot`) and destroys its instances on disconnect, so * dynamically inserted or SPA-swapped carousels need no manual wiring. * * The element *is* the carousel root — CSS and `embla.js` target * `:is(ui-carousel, .ui-carousel)` directly, and `data-carousel-*` * configuration attributes are read off the element (see embla.js for the * full attribute reference). No shadow DOM; children are regular markup. * * Carousels inside a closed `` defer initialization until the dialog * first opens (a closed dialog is `display: none`, so Embla cannot measure * the viewport). * * Load order: the module graph resolves it — `index.js` imports embla.js * (which imports the Embla packages via the page's import map) before this file. * * @example * *
*
*
Slide 1
*
Slide 2
*
*
* * *
*/ import type { EmblaCarouselType } from "embla-carousel"; import { ZazzElement } from "../../base/zazz-element.ts"; declare class UiCarouselElement extends ZazzElement { protected setup(signal: AbortSignal): void; protected teardown(): void; /** * @description Initializes the carousel. Idempotent — already-initialized * roots and roots inside closed dialogs are skipped by `initRoot`. */ init(): void; /** * @returns The Embla API, or null before initialization. */ get api(): EmblaCarouselType | null; } export { UiCarouselElement }; //# sourceMappingURL=carousel.d.ts.map