/*! * Bootstrap Native Carousel v5.1.10 (https://thednp.github.io/bootstrap.native/) * Copyright 2026 © thednp * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ "use strict"; import { Data, ObjectAssign, ObjectKeys, Timer, addClass, closest, createCustomEvent, dispatchEvent, dragstartEvent, emulateTransitionEnd, getAttribute, getDocument, getElementTransitionDuration, getElementsByClassName, getInstance, hasClass, isElement, isElementInScrollRange, isRTL, isString, keyArrowLeft, keyArrowRight, keydownEvent, matches, mouseclickEvent, mouseenterEvent, mouseleaveEvent, normalizeOptions, passiveHandler, pointerdownEvent, pointermoveEvent, pointerupEvent, querySelector, querySelectorAll, reflow, removeClass, touchstartEvent } from "@thednp/shorty"; import { addListener, removeListener } from "@thednp/event-listener"; //#region src/strings/activeClass.ts /** * Global namespace for most components active class. */ const activeClass = "active"; //#endregion //#region src/strings/dataBsTarget.ts /** * Global namespace for most components `target` option. */ const dataBsTarget = "data-bs-target"; //#endregion //#region src/strings/carouselString.ts /** @type {string} */ const carouselString = "carousel"; //#endregion //#region src/strings/carouselComponent.ts /** @type {string} */ const carouselComponent = "Carousel"; //#endregion //#region src/strings/dataBsParent.ts /** * Global namespace for most components `parent` option. */ const dataBsParent = "data-bs-parent"; //#endregion //#region src/strings/dataBsContainer.ts /** * Global namespace for most components `container` option. */ const dataBsContainer = "data-bs-container"; //#endregion //#region src/util/getTargetElement.ts /** * Returns the `Element` that THIS one targets * via `data-bs-target`, `href`, `data-bs-parent` or `data-bs-container`. * * @param element the target element * @returns the query result */ const getTargetElement = (element) => { const targetAttr = [ dataBsTarget, dataBsParent, dataBsContainer, "href" ]; const doc = getDocument(element); return targetAttr.map((att) => { const attValue = getAttribute(element, att); if (attValue) return att === "data-bs-parent" ? closest(element, attValue) : querySelector(attValue, doc); return null; }).filter((x) => x)[0]; }; //#endregion //#region src/util/isDisabled.ts /** * Check if interactive element is disabled. * @param target either a `