@adartem/adlib-attributes 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/attributes.js +957 -1
  2. package/attributes.js.map +4 -4
  3. package/dist/chunk-IEGIKJKW.js +5776 -0
  4. package/dist/chunk-IEGIKJKW.js.map +7 -0
  5. package/dist/chunk-M2KO765Q.js +43 -0
  6. package/dist/chunk-M2KO765Q.js.map +7 -0
  7. package/dist/chunk-NS2GB4WB.js +63 -0
  8. package/dist/chunk-NS2GB4WB.js.map +7 -0
  9. package/dist/dist-46N2ZXQQ.js +80 -0
  10. package/dist/dist-46N2ZXQQ.js.map +7 -0
  11. package/dist/dist-4EIQOOMJ.js +331 -0
  12. package/dist/dist-4EIQOOMJ.js.map +7 -0
  13. package/dist/dist-6YSNCGWO.js +227 -0
  14. package/dist/dist-6YSNCGWO.js.map +7 -0
  15. package/dist/dist-7GSHUMRU.js +60 -0
  16. package/dist/dist-7GSHUMRU.js.map +7 -0
  17. package/dist/dist-ALT6N2V6.js +165 -0
  18. package/dist/dist-ALT6N2V6.js.map +7 -0
  19. package/dist/dist-BXD5YEF3.js +290 -0
  20. package/dist/dist-BXD5YEF3.js.map +7 -0
  21. package/dist/dist-D2J4YZM6.js +52 -0
  22. package/dist/dist-D2J4YZM6.js.map +7 -0
  23. package/dist/dist-D2X7FLMD.js +126 -0
  24. package/dist/dist-D2X7FLMD.js.map +7 -0
  25. package/dist/dist-DOOWCYTM.js +92 -0
  26. package/dist/dist-DOOWCYTM.js.map +7 -0
  27. package/dist/dist-GLBAV2CS.js +202 -0
  28. package/dist/dist-GLBAV2CS.js.map +7 -0
  29. package/dist/dist-GQHJZHTH.js +73 -0
  30. package/dist/dist-GQHJZHTH.js.map +7 -0
  31. package/dist/dist-H4ILPDRU.js +59 -0
  32. package/dist/dist-H4ILPDRU.js.map +7 -0
  33. package/dist/dist-IDJRFWAH.js +71 -0
  34. package/dist/dist-IDJRFWAH.js.map +7 -0
  35. package/dist/dist-KDCRSMGT.js +63 -0
  36. package/dist/dist-KDCRSMGT.js.map +7 -0
  37. package/dist/dist-KF5AKQ52.js +740 -0
  38. package/dist/dist-KF5AKQ52.js.map +7 -0
  39. package/dist/dist-KU26ZFEG.js +169 -0
  40. package/dist/dist-KU26ZFEG.js.map +7 -0
  41. package/dist/dist-M6QCD7TL.js +4281 -0
  42. package/dist/dist-M6QCD7TL.js.map +7 -0
  43. package/dist/dist-MBFKX56S.js +482 -0
  44. package/dist/dist-MBFKX56S.js.map +7 -0
  45. package/dist/dist-NOIPAOTU.js +131 -0
  46. package/dist/dist-NOIPAOTU.js.map +7 -0
  47. package/dist/dist-QPNIGMZA.js +33028 -0
  48. package/dist/dist-QPNIGMZA.js.map +7 -0
  49. package/dist/dist-RAOZ6VUA.js +14416 -0
  50. package/dist/dist-RAOZ6VUA.js.map +7 -0
  51. package/dist/dist-RQZGUXDL.js +102 -0
  52. package/dist/dist-RQZGUXDL.js.map +7 -0
  53. package/dist/dist-T4V65O5X.js +54 -0
  54. package/dist/dist-T4V65O5X.js.map +7 -0
  55. package/dist/dist-UFMW7V6T.js +317 -0
  56. package/dist/dist-UFMW7V6T.js.map +7 -0
  57. package/dist/dist-V7I3FQX7.js +1419 -0
  58. package/dist/dist-V7I3FQX7.js.map +7 -0
  59. package/dist/dist-XTGERRGU.js +160 -0
  60. package/dist/dist-XTGERRGU.js.map +7 -0
  61. package/dist/dist-YAVVMJ7W.js +72 -0
  62. package/dist/dist-YAVVMJ7W.js.map +7 -0
  63. package/dist/dist-YGJKGMK6.js +137 -0
  64. package/dist/dist-YGJKGMK6.js.map +7 -0
  65. package/package.json +11 -11
@@ -0,0 +1,131 @@
1
+ import {
2
+ A,
3
+ Cn,
4
+ Dt,
5
+ F,
6
+ Ft,
7
+ Jo,
8
+ Mn,
9
+ Nt,
10
+ Wn,
11
+ Xt,
12
+ _n,
13
+ init_live_reload,
14
+ or,
15
+ rr,
16
+ tn,
17
+ ue,
18
+ vn,
19
+ vt,
20
+ wn,
21
+ zo
22
+ } from "./chunk-IEGIKJKW.js";
23
+
24
+ // ../sliderdots/dist/index.js
25
+ init_live_reload();
26
+ var b = (o, s) => {
27
+ let t = s.find(({ customDot: i }) => i === o);
28
+ t && A(t.dot, "click");
29
+ };
30
+ var m = ({ dot: o, customDot: s }, t) => {
31
+ let i = o.classList.contains(Ft.activeSliderDot);
32
+ s.classList[i ? "add" : "remove"](t);
33
+ for (let n of [Cn, Wn, Mn, vn]) {
34
+ let l = o.getAttribute(n);
35
+ l ? s.setAttribute(n, l) : s.removeAttribute(n);
36
+ }
37
+ };
38
+ var D = (o, s, t) => {
39
+ let i = (a) => {
40
+ for (let { target: e } of a) {
41
+ if (!ue(e)) continue;
42
+ let r = s.find(({ dot: d }) => d === e);
43
+ r && m(r, t);
44
+ }
45
+ }, n = { subtree: true, attributes: true, attributeFilter: ["class"] }, l = new MutationObserver(i);
46
+ return l.observe(o, n), l;
47
+ };
48
+ var p = "ad-sliderdots";
49
+ var f = ["slider", "content", "slider-nav"];
50
+ var S = { a11y: { key: "a11y", values: ["false"] } };
51
+ var E = { active: { type: "string", default: "is-sliderdots-active" }, remove: { type: "boolean", default: false }, disabled: { type: "boolean", default: false }, a11y: { type: "boolean", default: true } };
52
+ var { getInstance: v, getPresenceSelector: mt, getElementSelector: A2, getSettingSelector: ut, queryElement: u, queryAllElements: g, getAttribute: ft, hasAttributeValue: St } = Jo(p, f, S);
53
+ var { slide: P, sliderDot: Y } = Ft;
54
+ var L = (o, s, t) => {
55
+ let i = [], n = o.querySelectorAll(`.${P}`), l = o.querySelectorAll(`.${Y}`);
56
+ return n.forEach((a, e) => {
57
+ let r = l[e];
58
+ if (!r) return;
59
+ r.style.display = "none";
60
+ let d = u("content", { scope: a });
61
+ if (!d) return;
62
+ let c = t ? d : F(d);
63
+ s.appendChild(c), i.push({ dot: r, customDot: c });
64
+ }), i;
65
+ };
66
+ var h = (o) => new Promise((s) => {
67
+ let t = (n) => {
68
+ for (let { addedNodes: l } of n) for (let a of l) if (tn(a) && a.closest(`.${Ft.sliderDot}`)) {
69
+ s(void 0), i.disconnect();
70
+ return;
71
+ }
72
+ }, i = new MutationObserver(t);
73
+ i.observe(o, { childList: true });
74
+ });
75
+ var C = async (o, s) => {
76
+ let t = v(o), i = o.querySelector(`.${Ft.sliderNav}`), n = u("slider-nav", { instance: t }) || i;
77
+ if (!i || !n) return;
78
+ window.AdLibAttributes.process.has("list") && await Promise.all([or("list"), h(i)]);
79
+ let a = s.active ?? "is-sliderdots-active", e = s.remove ?? false;
80
+ e && (n.innerHTML = "");
81
+ let r = L(o, n, e);
82
+ for (let c of r) m(c, a);
83
+ if (s.a11y !== false) for (let { customDot: c } of r) Dt(c);
84
+ let d = D(i, r, a);
85
+ return { dotsRelationship: r, destroy: () => {
86
+ d.disconnect();
87
+ } };
88
+ };
89
+ var y = async () => {
90
+ await rr();
91
+ let o = Nt(), s = g("slider").filter((e) => e.classList.contains(Ft.slider)), t = { activeCount: 0, disabledCount: 0, guardFailedCount: 0 }, i = [], n = [], l = /* @__PURE__ */ new Map();
92
+ for (let e of s) {
93
+ let r = await Xt({ el: e, moduleKey: p, includeGlobal: false, guardsRegistry: {}, readOptions: () => zo(e, p, E, { includeGlobal: false }), action: async (d) => {
94
+ let c = await C(e, d);
95
+ if (c) {
96
+ o.add(c.destroy), n.push(...c.dotsRelationship);
97
+ for (let { customDot: R } of c.dotsRelationship) l.set(R, d.a11y !== false);
98
+ i.push(e);
99
+ }
100
+ } });
101
+ r.ok ? t.activeCount++ : r.reason === "disabled" ? (t.disabledCount++, t.lastNonActivationReason = "disabled") : r.reason === "guard-failed" && (t.guardFailedCount++, t.lastNonActivationReason = "guard-failed");
102
+ }
103
+ let a = _n(A2("content"), { click: ({ el: e }) => {
104
+ b(e, n);
105
+ }, keydown: ({ event: e, el: r }) => {
106
+ l.get(r) && vt(e) && ((e.key === " " || e.key === "Spacebar") && e.preventDefault(), r.click());
107
+ } });
108
+ return o.add(a), { result: { sliders: i, diagnostics: t }, destroy() {
109
+ o.run();
110
+ } };
111
+ };
112
+ var Q = "0.1.0";
113
+ var qt = wn({ key: p, init: async (o) => {
114
+ let s = Nt(), t = await y();
115
+ return t && typeof t.destroy == "function" && s.add(() => {
116
+ try {
117
+ t.destroy();
118
+ } catch {
119
+ }
120
+ }), { key: p, destroy: () => s.run() };
121
+ } });
122
+ export {
123
+ f as ELEMENTS,
124
+ p as MODULE_KEY,
125
+ E as OPTIONS,
126
+ S as SETTINGS,
127
+ qt as default,
128
+ y as init,
129
+ Q as version
130
+ };
131
+ //# sourceMappingURL=dist-NOIPAOTU.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../sliderdots/src/actions/events.ts", "../../sliderdots/src/actions/sync.ts", "../../sliderdots/src/actions/observe.ts", "../../sliderdots/src/utils/constants.ts", "../../sliderdots/src/utils/selectors.ts", "../../sliderdots/src/actions/populate.ts", "../../sliderdots/src/actions/wait.ts", "../../sliderdots/src/factory.ts", "../../sliderdots/src/init.ts", "../../sliderdots/package.json", "../../sliderdots/src/index.ts"],
4
+ "sourcesContent": ["import { simulateEvent } from '@adartem/adlib-utils';\n\nimport type { DotsRelationship } from '../utils/types';\n\n/**\n * Handles a click on a custom slider dot by simulating a click on the original dot.\n * @param el The matched custom dot element.\n * @param dotsRelationship A {@link DotsRelationship} array.\n */\nexport const handleDotClick = (el: Element, dotsRelationship: DotsRelationship) => {\n const data = dotsRelationship.find(({ customDot }) => customDot === el);\n if (data) simulateEvent(data.dot, 'click');\n};\n", "import {\n ARIA_LABEL_KEY,\n ARIA_PRESSED_KEY,\n ARIA_ROLE_KEY,\n SLIDER_CSS_CLASSES,\n TABINDEX_KEY,\n} from '@adartem/adlib-utils';\n\nimport type { DotsRelationship } from '../utils/types';\n\n/**\n * Syncronizes the properties from the original `Slider Dot` with the `Custom Slider Dot`.\n * @param dot The original `Slider Dot`.\n * @param customDot The `Custom Slider Dot`.\n * @param activeCSSClass The CSS class used for the `active` state.\n */\nexport const syncDotsProperties = (\n { dot, customDot }: DotsRelationship[number],\n activeCSSClass: string,\n) => {\n const isActive = dot.classList.contains(SLIDER_CSS_CLASSES.activeSliderDot);\n\n customDot.classList[isActive ? 'add' : 'remove'](activeCSSClass);\n\n for (const attributeKey of [ARIA_LABEL_KEY, ARIA_PRESSED_KEY, ARIA_ROLE_KEY, TABINDEX_KEY]) {\n const value = dot.getAttribute(attributeKey);\n\n if (value) customDot.setAttribute(attributeKey, value);\n else customDot.removeAttribute(attributeKey);\n }\n};\n", "import { isHTMLElement, type SliderNavElement } from '@adartem/adlib-utils';\n\nimport type { DotsRelationship } from '../utils/types';\nimport { syncDotsProperties } from './sync';\n\n/**\n * Replicates all actions between the original `Slider Dots` and the `Custom Slider Dots`.\n * @param sliderNav The original `Slider Nav`.\n * @param dotsRelationship A {@link DotsRelationship} array.\n * @param activeCSSClass The CSS class used for the `active` state.\n *\n * @returns The MutationObserver.\n */\nexport const observeSliderNav = (\n sliderNav: SliderNavElement,\n dotsRelationship: DotsRelationship,\n activeCSSClass: string,\n) => {\n const callback: MutationCallback = (mutations) => {\n for (const { target } of mutations) {\n if (!isHTMLElement(target)) continue;\n\n const relationshipData = dotsRelationship.find(({ dot }) => dot === target);\n if (!relationshipData) continue;\n\n syncDotsProperties(relationshipData, activeCSSClass);\n }\n };\n\n const options: MutationObserverInit = {\n subtree: true,\n attributes: true,\n attributeFilter: ['class'],\n };\n\n const observer = new MutationObserver(callback);\n observer.observe(sliderNav, options);\n\n return observer;\n};\n", "import {\n type AttributeElements,\n type AttributeSettings,\n type OptionsSchema,\n} from '@adartem/adlib-utils';\n\nexport const MODULE_KEY = 'ad-sliderdots' as const;\n\nexport const ELEMENTS = [\n /**\n * Defines a slider to instantiate.\n */\n 'slider',\n\n /**\n * Defines the content to be added to the slider dot.\n */\n 'content',\n\n /**\n * Defines a custom Slide Nav.\n */\n 'slider-nav',\n] as const satisfies AttributeElements;\n\nexport const SETTINGS = {\n /**\n * Enable or disable accessibility features (keyboard interaction, ARIA attributes).\n * Enabled by default, can be disabled by setting to \"false\".\n */\n a11y: { key: 'a11y', values: ['false'] },\n} as const satisfies AttributeSettings;\n\nexport const OPTIONS = {\n /**\n * Defines the `active` CSS class.\n */\n active: { type: 'string', default: 'is-sliderdots-active' },\n\n /**\n * Defines if the content should be removed or just duplicated.\n */\n remove: { type: 'boolean', default: false },\n\n /**\n * Disables this slider dots instance.\n */\n disabled: { type: 'boolean', default: false },\n\n a11y: { type: 'boolean', default: true },\n} as const satisfies OptionsSchema;\n", "import { generateSelectors } from '@adartem/adlib-utils';\n\nimport { ELEMENTS, MODULE_KEY, SETTINGS } from './constants';\n\nexport const {\n getInstance,\n getPresenceSelector,\n getElementSelector,\n getSettingSelector,\n queryElement,\n queryAllElements,\n getAttribute,\n hasAttributeValue,\n} = generateSelectors(MODULE_KEY, ELEMENTS, SETTINGS);\n", "import {\n cloneNode,\n type SlideElement,\n SLIDER_CSS_CLASSES,\n type SliderDotElement,\n type SliderElement,\n} from '@adartem/adlib-utils';\n\nimport { queryElement } from '../utils/selectors';\nimport type { DotsRelationship } from '../utils/types';\n\nconst { slide: slideCSSClass, sliderDot: sliderDotCSSClass } = SLIDER_CSS_CLASSES;\n\n/**\n * Populates all the custom slider dots.\n * @param slider The `SliderElement`.\n * @param customSliderNav The custom Slider nav element.\n * @param removeContent Defines if the source content should be moved instead of cloned.\n *\n * @returns A {@link DotsRelationship} array.\n */\nexport const populateSliderDots = (\n slider: SliderElement,\n customSliderNav: HTMLElement,\n removeContent: boolean,\n): DotsRelationship => {\n const dotsRelationship: DotsRelationship = [];\n\n const slides = slider.querySelectorAll<SlideElement>(`.${slideCSSClass}`);\n const dots = slider.querySelectorAll<SliderDotElement>(`.${sliderDotCSSClass}`);\n\n slides.forEach((slide, index) => {\n const dot = dots[index];\n if (!dot) return;\n\n dot.style.display = 'none';\n\n const customDotElement = queryElement<HTMLElement>('content', { scope: slide });\n if (!customDotElement) return;\n\n const customDot = removeContent ? customDotElement : cloneNode(customDotElement);\n\n customSliderNav.appendChild(customDot);\n\n dotsRelationship.push({ dot, customDot });\n });\n\n return dotsRelationship;\n};\n", "import { isElement, SLIDER_CSS_CLASSES, type SliderNavElement } from '@adartem/adlib-utils';\n\n/**\n * Returns a Promise that resolves when all slider dots have been initially populated.\n * Helpful when waiting for `cmsslider` to be ready before initing `sliderdots`.\n * It has a maximum timeout of 500ms.\n *\n * @param sliderNav The original `Slider Nav`.\n */\nexport const waitSliderReady = (sliderNav: SliderNavElement) => {\n return new Promise((resolve) => {\n const callback: MutationCallback = (mutations) => {\n for (const { addedNodes } of mutations) {\n for (const addedNode of addedNodes) {\n const isSliderDot =\n isElement(addedNode) && addedNode.closest(`.${SLIDER_CSS_CLASSES.sliderDot}`);\n if (!isSliderDot) continue;\n\n resolve(undefined);\n observer.disconnect();\n return;\n }\n }\n };\n\n const observer = new MutationObserver(callback);\n observer.observe(sliderNav, { childList: true });\n });\n};\n", "import {\n ensureButtonLike,\n SLIDER_CSS_CLASSES,\n type SliderElement,\n type SliderNavElement,\n waitAttributeLoaded,\n} from '@adartem/adlib-utils';\n\nimport { observeSliderNav } from './actions/observe';\nimport { populateSliderDots } from './actions/populate';\nimport { syncDotsProperties } from './actions/sync';\nimport { waitSliderReady } from './actions/wait';\nimport { getInstance, queryElement } from './utils/selectors';\nimport type { DotsRelationship } from './utils/types';\n\n/**\n * Generates the custom slider dots and inits syncing.\n * @param slider The `SliderElement`.\n * @param options The parsed options.\n *\n * @returns An object with dotsRelationship data and a destroy callback, or undefined.\n */\nexport const createSliderDots = async (\n slider: SliderElement,\n options: { active?: string; remove?: boolean; a11y?: boolean },\n): Promise<{ dotsRelationship: DotsRelationship; destroy: () => void } | undefined> => {\n // Get slider elements\n const instance = getInstance(slider);\n\n const sliderNav = slider.querySelector<SliderNavElement>(`.${SLIDER_CSS_CLASSES.sliderNav}`);\n const customSliderNav = queryElement<HTMLElement>('slider-nav', { instance }) || sliderNav;\n\n if (!sliderNav || !customSliderNav) return;\n\n // Make sure CMSSlider has finished (if existing on the page)\n const listSliderAttribute = window.AdLibAttributes.process.has('list');\n if (listSliderAttribute) {\n await Promise.all([waitAttributeLoaded('list'), waitSliderReady(sliderNav)]);\n }\n\n // Get props\n const activeCustomDotCSSClass = options.active ?? 'is-sliderdots-active';\n\n // Clear the custom slider nav content\n const clearCustomSliderContent = options.remove ?? false;\n if (clearCustomSliderContent) customSliderNav.innerHTML = '';\n\n // Populate the dots\n const dotsRelationship = populateSliderDots(slider, customSliderNav, clearCustomSliderContent);\n\n // Init sync\n for (const relationshipData of dotsRelationship) {\n syncDotsProperties(relationshipData, activeCustomDotCSSClass);\n }\n\n // A11y: make custom dots keyboard accessible\n if (options.a11y !== false) {\n for (const { customDot } of dotsRelationship) {\n ensureButtonLike(customDot);\n }\n }\n\n const observer = observeSliderNav(sliderNav, dotsRelationship, activeCustomDotCSSClass);\n\n return {\n dotsRelationship,\n destroy: () => {\n observer.disconnect();\n },\n };\n};\n", "import {\n type AdLibAttributeInit,\n createCleanupBag,\n createDelegation,\n isActivationKey,\n readOptionsFromAttributes,\n runActivationPipeline,\n SLIDER_CSS_CLASSES,\n type SliderElement,\n waitWebflowReady,\n} from '@adartem/adlib-utils';\n\nimport { handleDotClick } from './actions/events';\nimport { createSliderDots } from './factory';\nimport { MODULE_KEY, OPTIONS } from './utils/constants';\nimport { getElementSelector, queryAllElements } from './utils/selectors';\nimport type { DotsRelationship } from './utils/types';\n\ninterface ModuleDiagnostics {\n activeCount: number;\n disabledCount: number;\n guardFailedCount: number;\n lastNonActivationReason?: 'disabled' | 'guard-failed';\n}\n\n/**\n * Inits the custom slider dots.\n */\nexport const init: AdLibAttributeInit = async () => {\n await waitWebflowReady();\n\n const bag = createCleanupBag();\n const sliders = queryAllElements<SliderElement>('slider').filter((slider) =>\n slider.classList.contains(SLIDER_CSS_CLASSES.slider),\n );\n\n const diagnostics: ModuleDiagnostics = {\n activeCount: 0,\n disabledCount: 0,\n guardFailedCount: 0,\n };\n\n const activeSliders: SliderElement[] = [];\n const allDotsRelationships: DotsRelationship = [];\n const dotA11yMap = new Map<HTMLElement, boolean>();\n\n for (const slider of sliders) {\n const result = await runActivationPipeline({\n el: slider,\n moduleKey: MODULE_KEY,\n includeGlobal: false,\n guardsRegistry: {},\n readOptions: () =>\n readOptionsFromAttributes(slider, MODULE_KEY, OPTIONS, {\n includeGlobal: false,\n }),\n action: async (options) => {\n const factoryResult = await createSliderDots(slider, options);\n if (factoryResult) {\n bag.add(factoryResult.destroy);\n allDotsRelationships.push(...factoryResult.dotsRelationship);\n\n for (const { customDot } of factoryResult.dotsRelationship) {\n dotA11yMap.set(customDot, options.a11y !== false);\n }\n\n activeSliders.push(slider);\n }\n },\n });\n\n if (result.ok) {\n diagnostics.activeCount++;\n } else if (result.reason === 'disabled') {\n diagnostics.disabledCount++;\n diagnostics.lastNonActivationReason = 'disabled';\n } else if (result.reason === 'guard-failed') {\n diagnostics.guardFailedCount++;\n diagnostics.lastNonActivationReason = 'guard-failed';\n }\n }\n\n // Delegation: custom dot click + keydown\n const destroyDotsDelegation = createDelegation(getElementSelector('content'), {\n click: ({ el }) => {\n handleDotClick(el, allDotsRelationships);\n },\n keydown: ({ event, el }) => {\n const a11yEnabled = dotA11yMap.get(el as HTMLElement);\n if (!a11yEnabled) return;\n if (!isActivationKey(event)) return;\n if (event.key === ' ' || event.key === 'Spacebar') event.preventDefault();\n (el as HTMLElement).click();\n },\n });\n bag.add(destroyDotsDelegation);\n\n return {\n result: { sliders: activeSliders, diagnostics },\n destroy() {\n bag.run();\n },\n };\n};\n", "{\n \"name\": \"@adartem/ad-sliderdots\",\n \"version\": \"0.1.0\",\n \"description\": \"Create custom Slider Dots for a Slider.\",\n \"private\": false,\n \"type\": \"module\",\n \"types\": \"./dist/index.d.ts\",\n \"scripts\": {\n \"lint\": \"eslint ./src && prettier --check ./src\",\n \"lint:fix\": \"eslint ./src --fix && prettier --write ./src\",\n \"typecheck\": \"tsc --noEmit\",\n \"build\": \"tsup --config tsup.config.ts\",\n \"test\": \"vitest run -c ../../vitest.config.ts\",\n \"dev\": \"tsup --config tsup.config.ts --watch\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\"\n }\n },\n \"dependencies\": {\n \"@adartem/adlib-utils\": \"workspace:*\"\n },\n \"files\": [\n \"dist\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"sideEffects\": false,\n \"publishConfig\": {\n \"access\": \"public\"\n }\n}\n", "import { createCleanupBag, defineModule } from '@adartem/adlib-utils';\n\nimport { init as legacyInit } from './init';\nimport { MODULE_KEY } from './utils/constants';\n\nexport default defineModule({\n key: MODULE_KEY,\n init: async (core) => {\n void core;\n\n const bag = createCleanupBag();\n const res = await legacyInit();\n\n if (res && typeof (res as { destroy?: unknown }).destroy === 'function') {\n bag.add(() => {\n try {\n (res as { destroy: () => void }).destroy();\n } catch {\n // best-effort\n }\n });\n }\n\n return {\n key: MODULE_KEY,\n destroy: () => bag.run(),\n };\n },\n});\n\nexport { version } from '../package.json';\nexport { init } from './init';\nexport { ELEMENTS, MODULE_KEY, OPTIONS, SETTINGS } from './utils/constants';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AASO,IAAMA,IAAiB,CAACC,GAAaC,MAAuC;AACjF,MAAMC,IAAOD,EAAiB,KAAK,CAAC,EAAE,WAAAE,EAAU,MAAMA,MAAcH,CAAE;AAClEE,OAAME,EAAcF,EAAK,KAAK,OAAO;AAC3C;ACIO,IAAMG,IAAqB,CAChC,EAAE,KAAAC,GAAK,WAAAH,EAAU,GACjBI,MACG;AACH,MAAMC,IAAWF,EAAI,UAAU,SAASG,GAAmB,eAAe;AAE1EN,IAAU,UAAUK,IAAW,QAAQ,QAAQ,EAAED,CAAc;AAE/D,WAAWG,KAAgB,CAACC,IAAgBC,IAAkBC,IAAeC,EAAY,GAAG;AAC1F,QAAMC,IAAQT,EAAI,aAAaI,CAAY;AAEvCK,QAAOZ,EAAU,aAAaO,GAAcK,CAAK,IAChDZ,EAAU,gBAAgBO,CAAY;EAC7C;AACF;ACjBO,IAAMM,IAAmB,CAC9BC,GACAhB,GACAM,MACG;AACH,MAAMW,IAA8BC,OAAc;AAChD,aAAW,EAAE,QAAAC,EAAO,KAAKD,GAAW;AAClC,UAAI,CAACE,GAAcD,CAAM,EAAG;AAE5B,UAAME,IAAmBrB,EAAiB,KAAK,CAAC,EAAE,KAAAK,EAAI,MAAMA,MAAQc,CAAM;AACrEE,WAELjB,EAAmBiB,GAAkBf,CAAc;IACrD;EACF,GAEMgB,IAAgC,EACpC,SAAS,MACT,YAAY,MACZ,iBAAiB,CAAC,OAAO,EAC3B,GAEMC,IAAW,IAAI,iBAAiBN,CAAQ;AAC9C,SAAAM,EAAS,QAAQP,GAAWM,CAAO,GAE5BC;AACT;ACjCO,IAAMC,IAAa;AAAnB,IAEMC,IAAW,CAItB,UAKA,WAKA,YACF;AAjBO,IAmBMC,IAAW,EAKtB,MAAM,EAAE,KAAK,QAAQ,QAAQ,CAAC,OAAO,EAAE,EACzC;AAzBO,IA2BMC,IAAU,EAIrB,QAAQ,EAAE,MAAM,UAAU,SAAS,uBAAuB,GAK1D,QAAQ,EAAE,MAAM,WAAW,SAAS,MAAM,GAK1C,UAAU,EAAE,MAAM,WAAW,SAAS,MAAM,GAE5C,MAAM,EAAE,MAAM,WAAW,SAAS,KAAK,EACzC;AC9CO,IAAM,EACX,aAAAC,GACA,qBAAAC,IACA,oBAAAC,IACA,oBAAAC,IACA,cAAAC,GACA,kBAAAC,GACA,cAAAC,IACA,mBAAAC,GACF,IAAIC,GAAkBZ,GAAYC,GAAUC,CAAQ;ACFpD,IAAM,EAAE,OAAOW,GAAe,WAAWC,EAAkB,IAAI9B;AAA/D,IAUa+B,IAAqB,CAChCC,GACAC,GACAC,MACqB;AACrB,MAAM1C,IAAqC,CAAA,GAErC2C,IAASH,EAAO,iBAA+B,IAAIH,CAAa,EAAE,GAClEO,IAAOJ,EAAO,iBAAmC,IAAIF,CAAiB,EAAE;AAE9E,SAAAK,EAAO,QAAQ,CAACE,GAAOC,MAAU;AAC/B,QAAMzC,IAAMuC,EAAKE,CAAK;AACtB,QAAI,CAACzC,EAAK;AAEVA,MAAI,MAAM,UAAU;AAEpB,QAAM0C,IAAmBf,EAA0B,WAAW,EAAE,OAAOa,EAAM,CAAC;AAC9E,QAAI,CAACE,EAAkB;AAEvB,QAAM7C,IAAYwC,IAAgBK,IAAmBC,EAAUD,CAAgB;AAE/EN,MAAgB,YAAYvC,CAAS,GAErCF,EAAiB,KAAK,EAAE,KAAAK,GAAK,WAAAH,EAAU,CAAC;EAC1C,CAAC,GAEMF;AACT;ACvCO,IAAMiD,IAAmBjC,OACvB,IAAI,QAASkC,OAAY;AAC9B,MAAMjC,IAA8BC,OAAc;AAChD,aAAW,EAAE,YAAAiC,EAAW,KAAKjC,EAC3B,UAAWkC,KAAaD,EAGtB,KADEE,GAAUD,CAAS,KAAKA,EAAU,QAAQ,IAAI5C,GAAmB,SAAS,EAAE,GAG9E;AAAA0C,QAAQ,MAAS,GACjB3B,EAAS,WAAA;AACT;IAAA;EAGN,GAEMA,IAAW,IAAI,iBAAiBN,CAAQ;AAC9CM,IAAS,QAAQP,GAAW,EAAE,WAAW,KAAK,CAAC;AACjD,CAAC;ACLI,IAAMsC,IAAmB,OAC9Bd,GACAlB,MACqF;AAErF,MAAMiC,IAAW3B,EAAYY,CAAM,GAE7BxB,IAAYwB,EAAO,cAAgC,IAAIhC,GAAmB,SAAS,EAAE,GACrFiC,IAAkBT,EAA0B,cAAc,EAAE,UAAAuB,EAAS,CAAC,KAAKvC;AAEjF,MAAI,CAACA,KAAa,CAACyB,EAAiB;AAGR,SAAO,gBAAgB,QAAQ,IAAI,MAAM,KAEnE,MAAM,QAAQ,IAAI,CAACe,GAAoB,MAAM,GAAGP,EAAgBjC,CAAS,CAAC,CAAC;AAI7E,MAAMyC,IAA0BnC,EAAQ,UAAU,wBAG5CoC,IAA2BpC,EAAQ,UAAU;AAC/CoC,QAA0BjB,EAAgB,YAAY;AAG1D,MAAMzC,IAAmBuC,EAAmBC,GAAQC,GAAiBiB,CAAwB;AAG7F,WAAWrC,KAAoBrB,EAC7BI,GAAmBiB,GAAkBoC,CAAuB;AAI9D,MAAInC,EAAQ,SAAS,MACnB,UAAW,EAAE,WAAApB,EAAU,KAAKF,EAC1B2D,IAAiBzD,CAAS;AAI9B,MAAMqB,IAAWR,EAAiBC,GAAWhB,GAAkByD,CAAuB;AAEtF,SAAO,EACL,kBAAAzD,GACA,SAAS,MAAM;AACbuB,MAAS,WAAA;EACX,EACF;AACF;AC1CO,IAAMqC,IAA2B,YAAY;AAClD,QAAMC,GAAAA;AAEN,MAAMC,IAAMC,GAAAA,GACNC,IAAU/B,EAAgC,QAAQ,EAAE,OAAQO,OAChEA,EAAO,UAAU,SAAShC,GAAmB,MAAM,CACrD,GAEMyD,IAAiC,EACrC,aAAa,GACb,eAAe,GACf,kBAAkB,EACpB,GAEMC,IAAiC,CAAA,GACjCC,IAAyC,CAAA,GACzCC,IAAa,oBAAI;AAEvB,WAAW5B,KAAUwB,GAAS;AAC5B,QAAMK,IAAS,MAAMC,GAAsB,EACzC,IAAI9B,GACJ,WAAWhB,GACX,eAAe,OACf,gBAAgB,CAAA,GAChB,aAAa,MACX+C,GAA0B/B,GAAQhB,GAAYG,GAAS,EACrD,eAAe,MACjB,CAAC,GACH,QAAQ,OAAOL,MAAY;AACzB,UAAMkD,IAAgB,MAAMlB,EAAiBd,GAAQlB,CAAO;AAC5D,UAAIkD,GAAe;AACjBV,UAAI,IAAIU,EAAc,OAAO,GAC7BL,EAAqB,KAAK,GAAGK,EAAc,gBAAgB;AAE3D,iBAAW,EAAE,WAAAtE,EAAU,KAAKsE,EAAc,iBACxCJ,GAAW,IAAIlE,GAAWoB,EAAQ,SAAS,KAAK;AAGlD4C,UAAc,KAAK1B,CAAM;MAC3B;IACF,EACF,CAAC;AAEG6B,MAAO,KACTJ,EAAY,gBACHI,EAAO,WAAW,cAC3BJ,EAAY,iBACZA,EAAY,0BAA0B,cAC7BI,EAAO,WAAW,mBAC3BJ,EAAY,oBACZA,EAAY,0BAA0B;EAE1C;AAGA,MAAMQ,IAAwBC,GAAiB5C,GAAmB,SAAS,GAAG,EAC5E,OAAO,CAAC,EAAE,IAAA/B,EAAG,MAAM;AACjBD,MAAeC,GAAIoE,CAAoB;EACzC,GACA,SAAS,CAAC,EAAE,OAAAQ,GAAO,IAAA5E,EAAG,MAAM;AACNqE,MAAW,IAAIrE,CAAiB,KAE/C6E,GAAgBD,CAAK,OACtBA,EAAM,QAAQ,OAAOA,EAAM,QAAQ,eAAYA,EAAM,eAAA,GACxD5E,EAAmB,MAAA;EACtB,EACF,CAAC;AACD,SAAA+D,EAAI,IAAIW,CAAqB,GAEtB,EACL,QAAQ,EAAE,SAASP,GAAe,aAAAD,EAAY,GAC9C,UAAU;AACRH,MAAI,IAAA;EACN,EACF;AACF;ACrGE,IAAAe,IAAW;ACGb,IAAOC,KAAQC,GAAa,EAC1B,KAAKvD,GACL,MAAM,OAAOwD,MAAS;AAGpB,MAAMlB,IAAMC,GAAAA,GACNkB,IAAM,MAAMrB,EAAAA;AAElB,SAAIqB,KAAO,OAAQA,EAA8B,WAAY,cAC3DnB,EAAI,IAAI,MAAM;AACZ,QAAI;AACDmB,QAAgC,QAAA;IACnC,QAAQ;IAER;EACF,CAAC,GAGI,EACL,KAAKzD,GACL,SAAS,MAAMsC,EAAI,IAAA,EACrB;AACF,EACF,CAAC;",
6
+ "names": ["handleDotClick", "el", "dotsRelationship", "data", "customDot", "simulateEvent", "syncDotsProperties", "dot", "activeCSSClass", "isActive", "SLIDER_CSS_CLASSES", "attributeKey", "ARIA_LABEL_KEY", "ARIA_PRESSED_KEY", "ARIA_ROLE_KEY", "TABINDEX_KEY", "value", "observeSliderNav", "sliderNav", "callback", "mutations", "target", "isHTMLElement", "relationshipData", "options", "observer", "MODULE_KEY", "ELEMENTS", "SETTINGS", "OPTIONS", "getInstance", "getPresenceSelector", "getElementSelector", "getSettingSelector", "queryElement", "queryAllElements", "getAttribute", "hasAttributeValue", "generateSelectors", "slideCSSClass", "sliderDotCSSClass", "populateSliderDots", "slider", "customSliderNav", "removeContent", "slides", "dots", "slide", "index", "customDotElement", "cloneNode", "waitSliderReady", "resolve", "addedNodes", "addedNode", "isElement", "createSliderDots", "instance", "waitAttributeLoaded", "activeCustomDotCSSClass", "clearCustomSliderContent", "ensureButtonLike", "init", "waitWebflowReady", "bag", "createCleanupBag", "sliders", "diagnostics", "activeSliders", "allDotsRelationships", "dotA11yMap", "result", "runActivationPipeline", "readOptionsFromAttributes", "factoryResult", "destroyDotsDelegation", "createDelegation", "event", "isActivationKey", "version", "index_default", "defineModule", "core", "res"]
7
+ }