@adartem/adlib-attributes 0.1.0 → 0.1.2

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 (60) hide show
  1. package/README.md +308 -121
  2. package/attributes.js +1 -2
  3. package/dist/chunk-3RLKXDIH.js +1 -0
  4. package/dist/chunk-66ZG3JSK.js +1 -0
  5. package/dist/chunk-72T5X4H3.js +1 -0
  6. package/dist/chunk-BOZXGWPD.js +1 -0
  7. package/dist/chunk-HNE3ICUK.js +1 -0
  8. package/dist/chunk-IIYDYA3Q.js +1 -0
  9. package/dist/chunk-JRWWKMUR.js +1 -0
  10. package/dist/chunk-JWECJO7V.js +1 -0
  11. package/dist/chunk-K35EQW4W.js +1 -0
  12. package/dist/chunk-K46K3RI5.js +1 -0
  13. package/dist/chunk-KPT4H6YU.js +1 -0
  14. package/dist/chunk-MMLPBDVV.js +1 -0
  15. package/dist/chunk-OZ2E2BFY.js +1 -0
  16. package/dist/chunk-QJLI7KE4.js +1 -0
  17. package/dist/chunk-RLOHWEJ3.js +1 -0
  18. package/dist/chunk-TG26EDOV.js +1 -0
  19. package/dist/chunk-TPZEZMFY.js +1 -0
  20. package/dist/chunk-ZBURRSNW.js +1 -0
  21. package/dist/src-5GWLN4YQ.js +1 -0
  22. package/dist/src-7BCHEP45.js +1 -0
  23. package/dist/src-AZP3XD5Q.js +1 -0
  24. package/dist/src-DCDZZFZM.js +18 -0
  25. package/dist/src-E3KCXCJC.js +1 -0
  26. package/dist/src-E64PHVA7.js +1 -0
  27. package/dist/src-EOPD2TDJ.js +1 -0
  28. package/dist/src-EXDPJ3CP.js +1 -0
  29. package/dist/src-F4B2SZH6.js +1 -0
  30. package/dist/src-G3VBO2KH.js +11 -0
  31. package/dist/src-H2VZ5JP3.js +1 -0
  32. package/dist/src-JALLKJA7.js +1 -0
  33. package/dist/src-KK3UR7QA.js +1 -0
  34. package/dist/src-NOSYNIIV.js +1 -0
  35. package/dist/src-OFKD6FDQ.js +1 -0
  36. package/dist/src-OVA7RJ7C.js +1 -0
  37. package/dist/src-P2ZKDMV4.js +1 -0
  38. package/dist/src-SPG3WRJF.js +40 -0
  39. package/dist/src-TG7PM6IF.js +1 -0
  40. package/dist/src-TWZQDHX3.js +1 -0
  41. package/dist/src-UAPHSYPQ.js +1 -0
  42. package/dist/src-UBPAS7FZ.js +13 -0
  43. package/dist/src-UKNI4NPN.js +1 -0
  44. package/dist/src-USQSVKEL.js +17 -0
  45. package/dist/src-UXEGAYWN.js +1 -0
  46. package/dist/src-X7CQ5RZL.js +1 -0
  47. package/dist/src-XAOHXA6J.js +1 -0
  48. package/dist/src-XPFKMGKD.js +206 -0
  49. package/package.json +61 -42
  50. package/attributes.js.map +0 -1
  51. package/dist/attributes.js +0 -2
  52. package/dist/attributes.js.map +0 -1
  53. package/dist/core/index.cjs +0 -201
  54. package/dist/core/index.cjs.map +0 -1
  55. package/dist/core/index.js +0 -195
  56. package/dist/core/index.js.map +0 -1
  57. package/dist/index.cjs +0 -446
  58. package/dist/index.cjs.map +0 -1
  59. package/dist/index.js +0 -439
  60. package/dist/index.js.map +0 -1
package/README.md CHANGED
@@ -1,208 +1,395 @@
1
1
  # @adartem/adlib-attributes
2
2
 
3
- `@adartem/adlib-attributes` est le **package central** de la plateforme **AdLib**.
4
- Il regroupe le **core unifié**, le **runtime global** et le **loader officiel**
5
- `attributes.js`.
3
+ `@adartem/adlib-attributes` est le **package central** de la plateforme **AdLib**.
6
4
 
7
- 👉 C’est le **seul point d’entrée requis** pour utiliser AdLib côté navigateur.
5
+ Il fournit un **point d’entrée unique côté navigateur**, combinant :
6
+
7
+ - le loader officiel `attributes.js` (ESM)
8
+ - le runtime global singleton (`window.AdLibAttributes`)
9
+ - le core unifié de gestion des modules et du DOM
10
+
11
+ 👉 **Aucun autre package n’est requis côté navigateur pour utiliser AdLib.**
12
+
13
+ ---
14
+
15
+ ## ✅ Loader officiel : 2 URLs équivalentes
16
+
17
+ AdLib expose **deux formes** de loader **strictement équivalentes** :
18
+
19
+ ### ✅ Loader court (recommandé — Webflow / copy-paste)
20
+
21
+ ```html
22
+ <script
23
+ type="module"
24
+ src="<https://cdn.jsdelivr.net/npm/@adartem/adlib-attributes@latest/attributes.js>"
25
+ ></script>
26
+ ```
27
+
28
+ ### 🔁 Loader long (équivalent — chemin dist)
29
+
30
+ ```html
31
+ <script
32
+ type="module"
33
+ src="https://cdn.jsdelivr.net/npm/@adartem/adlib-attributes@latest/dist/attributes.js"
34
+ ></script>
35
+ ```
36
+
37
+ 👉 Recommandation : utilise **le loader court** pour Webflow/live (DX + robustesse).
38
+
39
+ ---
40
+
41
+ ## ⚡ Quickstart — API Queue (copy / paste)
42
+
43
+ Le moyen **le plus simple et recommandé** pour exécuter du code
44
+
45
+ lorsqu’un module AdLib est prêt :
46
+
47
+ ```html
48
+ <script>
49
+ window.AdLibAttributes ||= [];
50
+ window.AdLibAttributes.push([
51
+ "ad-click",
52
+ (state) => {
53
+ if (state.status ==="ready") {
54
+ console.log("ad-click prêt");
55
+ }
56
+ },
57
+ ]);
58
+ </script>
59
+
60
+ <script
61
+ type="module"
62
+ src="https://cdn.jsdelivr.net/npm/@adartem/adlib-attributes@latest/attributes.js"
63
+ data-adlib-auto="true"
64
+ ad-click
65
+ ></script>
66
+ ```
67
+
68
+ ### Garanties
69
+
70
+ - si le module est déjà `ready` ou `error`, le callback est exécuté immédiatement
71
+ - sinon, il est attaché au chargement en cours
72
+ - un même callback ne s’exécute **jamais deux fois** pour un même `push`
73
+
74
+ ### Plusieurs modules
75
+
76
+ ```jsx
77
+ window.AdLibAttributes ||= [];
78
+ window.AdLibAttributes.push(
79
+ ["ad-click",(st) =>console.log("click", st.status)],
80
+ ["ad-modal",(st) =>console.log("modal", st.status)]
81
+ );
82
+ ```
83
+
84
+ ### Pattern de compatibilité
85
+
86
+ ```jsx
87
+ window.AdLibAttributesQueue = [
88
+ ["ad-click",(state) =>console.log(state.status)],
89
+ ];
90
+ ```
91
+
92
+ 👉 Les deux patterns sont automatiquement détectés et drainés au bootstrap.
93
+
94
+ ---
95
+
96
+ ## 🎯 Objectifs du package
97
+
98
+ - Loader ESM universel (`attributes.js` recommandé, `dist/attributes.js` équivalent)
99
+ - Runtime global singleton (`window.AdLibAttributes`)
100
+ - Core d’événements et de délégation DOM
101
+ - Chargement dynamique des modules `ad-*`
102
+ - Scan automatique (optionnel) du DOM
103
+ - API publique **stable**, **idempotente** et **observable**
8
104
 
9
105
  ---
10
106
 
11
- ## 🎯 Rôle
107
+ ## 🧱 Architecture générale
108
+
109
+ ```
110
+ attributes.js (loader)
111
+
112
+ Runtime global (singleton)
113
+
114
+ Core (events, delegation, lifecycle)
115
+
116
+ Modules ad-* (chargés dynamiquement)
117
+ ```
118
+
119
+ Le runtime est conçu pour être :
12
120
 
13
- - Loader ESM universel (`dist/attributes.js`)
14
- - Runtime global unique
15
- - Core d’événements et de délégation
16
- - Chargement dynamique des modules `ad-*`
17
- - Auto-scan optionnel du DOM
18
- - API globale exposée via `window.AdLibAttributes`
121
+ - **idempotent** (re-import ESM, init safe)
122
+ - **déterministe**
123
+ - **observable** (événements + état)
124
+ - **robuste aux erreurs**
19
125
 
20
126
  ---
21
127
 
22
- ## 📦 Contenu du package
128
+ ## 📦 Contenu
129
+
130
+ ### Loader (`attributes.js`)
23
131
 
24
- ### Loader
25
- - Fichier distribué : `dist/attributes.js`
26
- - Conçu pour être chargé via CDN ou bundler
27
- - Initialise automatiquement le runtime dans le navigateur
132
+ - Fichiers distribués :
133
+ - `attributes.js` (entrée courte, recommandée)
134
+ - `dist/attributes.js` (entrée longue, équivalente)
135
+ - Chargement via CDN ou bundler
136
+ - Initialisation automatique du runtime navigateur
137
+ - Lecture de la configuration via `data-adlib-*`
138
+ - Détection des modules demandés via attributs `ad-*`
139
+ - Consommation automatique de la file d’attente globale (queue)
140
+
141
+ ---
28
142
 
29
143
  ### Runtime
30
- - Orchestration des modules `ad-*`
31
- - Gestion des états (`idle`, `loading`, `ready`, `error`)
32
- - Import dynamique ESM
33
- - API globale stable
144
+
145
+ - Orchestration complète du cycle de vie des modules `ad-*`
146
+ - États gérés : `idle`, `loading`, `ready`, `error`
147
+ - Import dynamique ESM
148
+ - API publique stable
149
+ - Dispatch d’événements globaux
150
+ - Gestion centralisée des erreurs
151
+ - Support de la queue `window.AdLibAttributes.push(...)`
152
+
153
+ 👉 Le **contrat runtime** est documenté ici : `docs/runtime-contract.md`
154
+
155
+ ---
34
156
 
35
157
  ### Core
36
- - Délégation d’événements
37
- - Émission d’événements personnalisés
38
- - Enregistrement et cycle de vie des modules
39
- - Support DOM statique et dynamique
158
+
159
+ - Délégation d’événements DOM
160
+ - Émission d’événements internes
161
+ - Gestion des instances de modules
162
+ - Support du DOM statique et dynamique
163
+ - Aucune dépendance à un framework
40
164
 
41
165
  ---
42
166
 
43
- ## 🌍 API globale
167
+ ## 📜 Contrat des modules (référence)
44
168
 
45
- Une fois le loader chargé, le runtime est exposé globalement :
169
+ Les modules `ad-*` doivent respecter un **contrat strict** :
46
170
 
47
- ```js
48
- window.AdLibAttributes
49
- ```
171
+ - `default export` : `{ key, init(core) }`
172
+ - `init()` retourne une instance : `{ key, destroy(), restart?() }`
173
+ - délégation DOM (pas de listeners par élément)
174
+ - parsing d’options stable
175
+ - guards réutilisables
176
+ - accessibilité sur triggers non interactifs
177
+ - cleanup complet et idempotent
50
178
 
51
- ### Interface principale
179
+ 👉 Spécification complète : `src/contracts/module-contract.md`
52
180
 
53
- ```ts
54
- interface AdLibRuntime {
55
- version: string;
56
- config: RuntimeConfig;
57
- core: Core;
58
- debug: boolean;
181
+ ---
59
182
 
60
- modules: Record<string, RuntimeModuleState>;
183
+ ## 🚀 Installation
61
184
 
62
- load(key: ModuleKey): Promise<RuntimeModuleState>;
63
- reload(key: ModuleKey): Promise<RuntimeModuleState>;
64
- push(
65
- key: ModuleKey,
66
- cb: (state: RuntimeModuleState) => void
67
- ): void;
185
+ ### Via CDN (recommandé)
68
186
 
69
- /**
70
- * Détruit le runtime et les modules chargés.
71
- * ⚠️ Ne détruit PAS le Core singleton partagé.
72
- */
73
- destroy(options?: { keepGlobal?: boolean }): void;
74
- }
187
+ ✅ Loader court :
188
+
189
+ ```html
190
+ <script
191
+ type="module"
192
+ src="https://cdn.jsdelivr.net/npm/@adartem/adlib-attributes@latest/attributes.js"
193
+ data-adlib-auto="true"
194
+ ad-click
195
+ ></script>
75
196
  ```
76
197
 
198
+ 🔁 Loader long (équivalent) :
199
+
200
+ ```html
201
+ <script
202
+ type="module"
203
+ src="https://cdn.jsdelivr.net/npm/@adartem/adlib-attributes@latest/dist/attributes.js"
204
+ data-adlib-auto="true"
205
+ ad-click
206
+ ></script>
207
+ ```
208
+
209
+ L’attribut `ad-click` sur le script loader indique au runtime de charger le module `ad-click`.
210
+
77
211
  ---
78
212
 
79
- ## 🧭 États des modules
213
+ ### Via bundler
214
+
215
+ ```tsx
216
+ import"@adartem/adlib-attributes/attributes.js";
217
+ ```
218
+
219
+ Le loader s’exécute automatiquement en environnement navigateur.
80
220
 
81
- Chaque module `ad-*` expose un état :
221
+ ---
82
222
 
83
- - `idle` non chargé
84
- - `loading` — import en cours
85
- - `ready` — initialisé
86
- - `error` — échec d’import ou d’initialisation
223
+ ## 🌍 API globale
87
224
 
88
- Accessible via :
225
+ Une fois le loader exécuté, le runtime est accessible globalement :
89
226
 
90
- ```js
91
- window.AdLibAttributes.modules['ad-click']
227
+ ```tsx
228
+ window.AdLibAttributes;
92
229
  ```
93
230
 
94
231
  ---
95
232
 
96
- ## File d’attente globale (queue)
233
+ ## 🧩 Interface publique du runtime
97
234
 
98
- Avant le chargement effectif du runtime, il est possible de déclarer des callbacks
99
- dans une file globale :
235
+ > Ce bloc est une représentation de l’API publique (pour lecture rapide).
236
+ >
100
237
 
101
- ```js
102
- window.AdLibAttributesQueue = [
103
- ['ad-click', (state) => {
104
- if (state.status === 'ready') {
105
- console.log('ad-click prêt');
106
- }
107
- }]
108
- ];
238
+ ```tsx
239
+ interfaceAdLibRuntime {
240
+ version:string;
241
+ config:RuntimeConfig;
242
+
243
+ core:Core;
244
+ debug:boolean;
245
+
246
+ auto:boolean;
247
+ observeAttributes:boolean;
248
+
249
+ modules:Partial<Record<ModuleKey,RuntimeModuleState>>;
250
+ scripts:HTMLScriptElement[];
251
+
252
+ load(key:ModuleKey):Promise<RuntimeModuleState>;
253
+
254
+ reload(
255
+ key:ModuleKey,
256
+ options?: {rescan?:boolean }
257
+ ):Promise<RuntimeModuleState>;
258
+
259
+ push(
260
+ ...items: (
261
+ | [ModuleKey,(state:RuntimeModuleState) =>void]
262
+ | {key:ModuleKey;cb:(state:RuntimeModuleState) =>void }
263
+ )[]
264
+ ):void;
265
+
266
+ initFromScripts(source:InitSource):void;
267
+
268
+ destroy(options?: {keepGlobal?:boolean }):void;
269
+ }
109
270
  ```
110
271
 
111
- 👉 Le runtime consomme automatiquement cette queue à l’initialisation.
272
+ 👉 **Seules ces méthodes constituent l’API publique stable.**
112
273
 
113
274
  ---
114
275
 
115
- ## 🔍 Scan du DOM & conventions
276
+ ## 🧭 États des modules (runtime)
116
277
 
117
- ### Attributs reconnus
118
- - `ad-*`
119
- - `data-ad-*`
278
+ Chaque module `ad-*` possède un état runtime explicite :
120
279
 
121
- Exemples équivalents :
280
+ - `idle` — module connu mais non chargé
281
+ - `loading` — import ou initialisation en cours
282
+ - `ready` — module initialisé et actif
283
+ - `error` — échec d’import ou d’initialisation
122
284
 
123
- ```html
124
- <button ad-click></button>
125
- <button data-ad-click></button>
126
- ```
285
+ Exemple :
286
+
287
+ ```jsx
288
+ const state =window.AdLibAttributes.modules["ad-click"];
127
289
 
128
- ### Auto-scan
290
+ if (state?.status ==="ready") {
291
+ // state.instance disponible
292
+ }
293
+ ```
129
294
 
130
- Lorsque l’option `auto` est activée :
131
- - Scan initial du DOM
132
- - Observation des ajouts dynamiques (`MutationObserver`)
133
- - Chargement automatique des modules requis
295
+ 👉 Les invariants complets sont documentés ici : `docs/runtime-contract.md`
134
296
 
135
297
  ---
136
298
 
137
- ## 🔗 Résolution dynamique des modules
299
+ ## 📣 Événements runtime globaux
138
300
 
139
- Chaque module `ad-*` est résolu via une map interne au runtime.
301
+ Émis sur `window` :
140
302
 
141
- Logique de résolution (simplifiée) :
303
+ - `ad:module:before`
304
+ - `ad:module:after`
305
+ - `ad:module:error`
142
306
 
143
- ```text
144
- {registry|base}/@adartem/ad-click@{version}/dist/index.js
307
+ ```jsx
308
+ window.addEventListener("ad:module:after",(e) => {
309
+ const { key, state } = e.detail;
310
+ console.log(`${key} prêt`, state.status);
311
+ });
145
312
  ```
146
313
 
147
- Les paramètres de résolution sont configurables via les attributs
148
- `data-adlib-*` du loader.
314
+ 👉 L’état transmis est un **snapshot immuable**.
149
315
 
150
316
  ---
151
317
 
152
- ## 🚀 Snippets recommandés
318
+ ## 🔍 Scan du DOM & conventions
319
+
320
+ ### Attributs reconnus
153
321
 
154
- ### Intégration standard (head ou footer)
322
+ - `ad-*`
323
+ - `data-ad-*`
324
+
325
+ ```html
326
+ <button ad-click></button>
327
+ <button data-ad-click></button>
328
+ ```
329
+
330
+ ### Auto-scan (recommandé)
331
+
332
+ Active le scan initial + observation DOM :
155
333
 
156
334
  ```html
157
335
  <script
158
- type="module"
159
- src="https://cdn.jsdelivr.net/npm/@adartem/adlib-attributes@latest/dist/attributes.js"
160
- data-adlib-auto="true"
161
- ad-click
336
+ type="module"
337
+ src="https://cdn.jsdelivr.net/npm/@adartem/adlib-attributes@latest/attributes.js"
338
+ data-adlib-auto="true"
339
+ ad-click
162
340
  ></script>
163
341
  ```
164
342
 
165
- ### Paramètres disponibles
343
+ ### Observation des mutations d’attributs (opt-in)
344
+
345
+ ```html
346
+ <script
347
+ type="module"
348
+ src="https://cdn.jsdelivr.net/npm/@adartem/adlib-attributes@latest/attributes.js"
349
+ data-adlib-observe-attributes="true"
350
+ ad-click
351
+ ></script>
166
352
 
167
- | Attribut | Description |
168
- |--------|-------------|
169
- | `ad-*` | Modules à charger |
170
- | `data-adlib-auto` | Active l’auto-scan |
171
- | `data-adlib-registry` | Registry CDN |
172
- | `data-adlib-base` | Base URL personnalisée |
173
- | `data-adlib-version` | Version des modules |
174
- | `data-adlib-debug` | Logs debug |
353
+ ```
175
354
 
176
- 👉 Tous les paramètres sont optionnels.
355
+ Désactivé par défaut pour des raisons de performance.
177
356
 
178
357
  ---
179
358
 
180
- ## 🧩 Utilisation avec bundler
359
+ ## ⚙️ Configuration loader (`data-adlib-*`)
181
360
 
182
- Le package peut aussi être importé directement (side-effect import) :
183
-
184
- ```js
185
- import '@adartem/adlib-attributes/attributes.js';
361
+ ```html
362
+ <script
363
+ type="module"
364
+ src="https://cdn.jsdelivr.net/npm/@adartem/adlib-attributes@latest/attributes.js"
365
+ ad-click
366
+ data-adlib-auto="true"
367
+ data-adlib-debug="true"
368
+ data-adlib-registry="https://cdn.jsdelivr.net/npm"
369
+ data-adlib-base="@adartem"
370
+ data-adlib-version="latest"
371
+ data-adlib-observe-attributes="false"
372
+ ></script>
186
373
  ```
187
374
 
188
- 👉 Le loader s’exécute automatiquement en environnement navigateur.
189
-
190
375
  ---
191
376
 
192
- ## 📦 Exports & distribution
377
+ ## ⚠️ Règles importantes (actuelles)
193
378
 
194
- - Bundle **ESM**
195
- - Compatible CDN (jsDelivr, unpkg, etc.)
196
- - Fichiers générés dans `dist/`
197
- - Sourcemaps incluses
379
+ - **Un seul loader par page**
380
+ - Ne pas charger `attributes.js` plusieurs fois
381
+
382
+ *(une évolution “multi-loader idempotent” est prévue)*
383
+
198
384
 
199
385
  ---
200
386
 
201
387
  ## 🧪 Développement
202
388
 
203
389
  ```bash
204
- pnpm -r --filter @adartem/adlib-attributes build
205
- pnpm -r test
390
+ pnpm -r --filter @adartem/adlib-attributes lint
391
+ pnpm -r --filter @adartem/adlib-attributes typecheck
392
+ pnpm -r --filter @adartem/adlib-attributes test
206
393
  ```
207
394
 
208
395
  ---
package/attributes.js CHANGED
@@ -1,2 +1 @@
1
- function N(e){return e.startsWith("ad-")&&e.length>3}function I(e){return e.startsWith("data-")?e.slice(5):e}function V(e){return typeof e!="object"||e===null?!1:typeof e.querySelectorAll=="function"}function j(e=document){if(!V(e))return[];let t=new Set,r=e.querySelectorAll("*");for(let i of Array.from(r))for(let s of Array.from(i.attributes)){let a=I(s.name);N(a)&&t.add(a)}return Array.from(t)}function k(){return typeof window<"u"&&typeof document<"u"}function z(e=!1){return{debug:(...t)=>{e&&console.warn("[debug]",...t)},warn:(...t)=>{console.warn("[warn]",...t)},error:(...t)=>{console.error("[error]",...t)}}}function B(e){return typeof Element<"u"&&e instanceof Element}function U(e,t){try{return e.matches(t)}catch{return!1}}function Y(e,t){let r=e;for(;r;){if(B(r)&&U(r,t))return r;r=B(r)?r.parentElement:null}return null}function W(e){return t=>{let r=e.entries.slice();for(let i of r){let s=Y(t.target,i.selector);if(s&&(i.handler(t,s),i.once)){let a=e.entries.indexOf(i);a>=0&&e.entries.splice(a,1)}}}}function J(e){return e instanceof Document?e.documentElement??e:e}function x(e={}){let t=e.root??document,r=z(!!e.debug),i=new Map,s=new Map,a=new Map;function g(u,l,o,n={}){let c=!!n.capture,f=!!n.passive,m=a.get(u);if(m)return m.entries.push({selector:l,handler:o,once:!!n.once}),()=>{let v=m.entries.findIndex(S=>S.selector===l&&S.handler===o);v>=0&&m.entries.splice(v,1),m.entries.length===0&&(t.removeEventListener(u,m.listener,{capture:m.capture}),a.delete(u))};let w={capture:c,passive:f,entries:[{selector:l,handler:o,once:!!n.once}],listener:()=>{}},_=W(w);return w.listener=_,a.set(u,w),t.addEventListener(u,_,{capture:c,passive:f}),()=>{let v=a.get(u);if(!v)return;let S=v.entries.findIndex(q=>q.selector===l&&q.handler===o);S>=0&&v.entries.splice(S,1),v.entries.length===0&&(t.removeEventListener(u,v.listener,{capture:v.capture}),a.delete(u))}}function d(u,l,o){let n=new CustomEvent(l,{detail:o,bubbles:!0});u.dispatchEvent(n)}function y(u){i.set(u.key,u)}function p(u){i.delete(u)}function M(u,l){let o=i.get(u);if(!o||s.has(u))return;let n=o.init(O);s.set(u,n)}function A(u){let l=s.get(u);l&&(l.destroy(),s.delete(u))}function h(u){for(let l of i.keys())M(l)}function R(){for(let u of s.keys())A(u)}let b=null;function D(u=t){return b?()=>{}:(b=new MutationObserver(l=>{}),b.observe(J(u),{subtree:!0,childList:!0,attributes:!1}),()=>E())}function E(){b&&(b.disconnect(),b=null)}function C(){E(),R();for(let[u,l]of a.entries())t.removeEventListener(u,l.listener,{capture:l.capture});a.clear(),i.clear(),s.clear()}function K(){return r}let O={on:g,emit:d,register:y,unregister:p,mount:M,unmount:A,mountAll:h,unmountAll:R,observe:D,stopObserving:E,destroy:C,getLogger:K};return O}var L=null;function $(e={}){return L||(L=x({autoMount:!0,...e}),(e.autoMount??!0)&&typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{L?.mountAll()},{once:!0}):L.mountAll()),L)}function X(e){return e.trim().replace(/\/+$/,"")}function Z(e){return X(e.base??e.registry)}function ee(e){return(e.version??"").trim()||"latest"}function te(e,t,r){return`${e}/@adartem/${t}@${r}/dist/index.js`}var ne={"ad-click":"ad-click"};function T(e,t){let r=Z(t),i=ee(t),s=ne[e];return s?te(r,s,i):null}var re="https://cdn.jsdelivr.net/npm";function oe(e,t){return e[t]??(e[t]={key:t,status:"idle"})}function ie(e){return e.status==="ready"||e.status==="error"}function se(e){return e instanceof Error?e:new Error(String(e))}function H(e){let t=(e??"").trim();if(t)return t.replace(/\/+$/,"")}function ue(e){let t=H(e.config?.registry)??re,r=(e.config?.version??e.version).trim()||e.version,i={registry:t,version:r},s=H(e.config?.base);return s&&(i.base=s),i}function ce(e,t){let r=e&&typeof e=="object"?e.default??e:e;if(!r||typeof r!="object")throw new Error(`Invalid module definition for ${t}`);let i=r;if(typeof i.key!="string"||typeof i.init!="function")throw new Error(`Invalid module definition for ${t}`);if(i.key!==t)throw new Error(`Module key mismatch: expected "${t}", got "${i.key}"`);return i}function Q(e){let t=e.debug??!1,r=e.auto??!1,i=e.core==null,s=e.core??x({debug:t,autoMount:!1}),a=s.getLogger(),g=ue(e),d={},y=[],p=null;function M(...o){t&&a.debug("[AdLib Runtime]",...o)}function A(...o){a.error("[AdLib Runtime]",...o)}function h(o,n){for(let c=y.length-1;c>=0;c--){let f=y[c];if(f&&f.key===o){y.splice(c,1);try{f.cb(n)}catch(m){A("push callback failed",o,m)}}}}function R(o){let n=d[o];if(n){try{n.instance?.destroy?.()}catch(c){A("destroyModule failed",o,c)}delete n.instance,delete n.def,delete n.error,delete n.promise,n.status="idle"}}async function b(o){let n=oe(d,o);if(n.status==="ready"||n.status==="error")return n;if(n.status==="loading"&&n.promise)return n.promise;let c=T(o,g);if(!c)return n.status="error",n.error=new Error(`Unknown module key: ${o}`),h(o,n),n;n.status="loading",M("load()",o,"->",c);let f=(async()=>{try{let m=await import(c),w=ce(m,o);return n.def=w,n.instance||(n.instance=w.init(s)),n.status="ready",delete n.error,delete n.promise,h(o,n),n}catch(m){return n.status="error",n.error=se(m),delete n.promise,h(o,n),n}})();return n.promise=f,f}async function D(o){return M("reload()",o),R(o),b(o)}function E(o,n){let c=d[o];if(c&&ie(c)){try{n(c)}catch(f){A("push callback failed",o,f)}return}y.push({key:o,cb:n})}function C(o=document){let n=j(o);for(let c of n)b(c)}function K(){k()&&(p||(p=new MutationObserver(o=>{for(let n of o)for(let c of Array.from(n.addedNodes))c instanceof HTMLElement&&C(c)}),p.observe(document.documentElement,{childList:!0,subtree:!0})))}function O(){p?.disconnect(),p=null}function u(o){M("destroy()"),O();for(let n of Object.values(d))try{n.instance?.destroy?.()}catch(c){A("destroy module failed",n.key,c)}if(i)try{s.destroy()}catch(n){A("core.destroy failed",n)}for(let n of Object.keys(d))delete d[n];y.length=0,!o?.keepGlobal&&typeof window<"u"&&delete window.AdLibAttributes}let l={version:e.version,config:g,core:s,debug:t,modules:d,load:b,push:E,reload:D,destroy:u};if(typeof window<"u"){let o=window.AdLibAttributesQueue;if(Array.isArray(o)&&o.length>0){let n=o.splice(0,o.length);for(let[c,f]of n)l.push(c,f)}}return r&&k()&&(C(document.body??document),K()),l}function ae(e){return typeof e=="object"&&e!==null&&typeof e.getAttributeNames=="function"}function le(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function de(e){if(typeof e!="object"||e===null)return!1;let t=e.attributes;if(typeof t!="object"||t===null)return!1;let r=t;return typeof r.length=="number"&&typeof r.item=="function"}function fe(e){return typeof e!="object"||e===null?!1:typeof e.querySelectorAll=="function"}function me(e){if(ae(e)){let t=e.getAttributeNames();if(le(t))return t}if(de(e)){let t=[];for(let r=0;r<e.attributes.length;r++){let i=e.attributes.item(r);i&&typeof i.name=="string"&&i.name&&t.push(i.name)}return t}return[]}function ge(e){let t=(e.getAttribute("type")??"").trim();if(t&&t!=="module")return!1;let r=(e.getAttribute("src")??"").trim();return r?r.includes("attributes.js"):!1}function P(e){if(typeof e!="string")return;let t=e.trim();return t||void 0}function G(e,t){if(typeof e!="string")return t;let r=e.trim().toLowerCase();return r===""||r==="true"||r==="1"||r==="yes"||r==="on"?!0:r==="false"||r==="0"||r==="no"||r==="off"?!1:t}function pe(e){let t=e.dataset??{},r=G(t.adlibDebug,!1),i=G(t.adlibAuto,!0),s=P(t.adlibRegistry),a=P(t.adlibVersion),g=P(t.adlibBase),d={};return s&&(d.registry=s),a&&(d.version=a),g&&(d.base=g),{debug:r,auto:i,config:d}}function F(e=document){if(!fe(e))return[];let t=Array.from(e.querySelectorAll("script")),r=[];for(let i of t){if(!(i instanceof HTMLScriptElement)||!ge(i))continue;let s=new Set;for(let a of me(i)){let g=I(a);N(g)&&s.add(g)}r.push({el:i,requestedKeys:Array.from(s),loaderConfig:pe(i)})}return r}var ye="0.1.0";(function(){if(!k()||window.AdLibAttributes)return;let t=F(document),r=t[0],i=r?.loaderConfig.debug??!1,s=r?.loaderConfig.auto??!0,a=r?.loaderConfig.config??{},g=$({root:document,debug:i}),d=Q({version:ye,core:g,debug:i,auto:s,config:a});window.AdLibAttributes=d;let y=new Set;for(let p of t)for(let M of p.requestedKeys)y.add(M);for(let p of y)d.load(p).catch(()=>{})})();
2
- //# sourceMappingURL=attributes.js.map
1
+ import{a as c}from"./dist/chunk-RLOHWEJ3.js";import{a as u}from"./dist/chunk-ZBURRSNW.js";import"./dist/chunk-TPZEZMFY.js";import"./dist/chunk-JWECJO7V.js";import"./dist/chunk-66ZG3JSK.js";import"./dist/chunk-JRWWKMUR.js";import"./dist/chunk-OZ2E2BFY.js";import"./dist/chunk-HNE3ICUK.js";import"./dist/chunk-IIYDYA3Q.js";import{A as n}from"./dist/chunk-KPT4H6YU.js";import{d as m}from"./dist/chunk-TG26EDOV.js";import"./dist/chunk-K46K3RI5.js";var p="0.1.2";var l=async t=>{switch(t){case"accordion":return import("./dist/src-TG7PM6IF.js");case"autovideo":return import("./dist/src-TWZQDHX3.js");case"codehighlight":return import("./dist/src-XPFKMGKD.js");case"combobox":return import("./dist/src-JALLKJA7.js");case"copyclip":return import("./dist/src-G3VBO2KH.js");case"displayvalues":return import("./dist/src-XAOHXA6J.js");case"favcustom":return import("./dist/src-5GWLN4YQ.js");case"formsubmit":return import("./dist/src-7BCHEP45.js");case"inject":return import("./dist/src-E64PHVA7.js");case"inputactive":return import("./dist/src-E3KCXCJC.js");case"inputcounter":return import("./dist/src-UBPAS7FZ.js");case"list":return import("./dist/src-DCDZZFZM.js");case"mirrorclick":return import("./dist/src-UKNI4NPN.js");case"mirrorinput":return import("./dist/src-X7CQ5RZL.js");case"modal":return import("./dist/src-USQSVKEL.js");case"numbercount":return import("./dist/src-KK3UR7QA.js");case"queryparam":return import("./dist/src-H2VZ5JP3.js");case"rangeslider":return import("./dist/src-UXEGAYWN.js");case"readtime":return import("./dist/src-AZP3XD5Q.js");case"removequery":return import("./dist/src-EXDPJ3CP.js");case"scrolldisable":return import("./dist/src-P2ZKDMV4.js");case"selectcustom":return import("./dist/src-OVA7RJ7C.js");case"sliderdots":return import("./dist/src-NOSYNIIV.js");case"smartlightbox":return import("./dist/src-F4B2SZH6.js");case"socialshare":return import("./dist/src-UAPHSYPQ.js");case"starrating":return import("./dist/src-EOPD2TDJ.js");case"toc":return import("./dist/src-OFKD6FDQ.js");case"videohls":return import("./dist/src-SPG3WRJF.js");default:throw`Adartem Attribute "${t}" is not supported.`}};var h="ad-attributes",b=new Set(Object.values(n)),y=()=>{let{AdLibAttributes:t}=window;if(t&&!Array.isArray(t)){w();return}let e=Array.isArray(t)?t:[],r=[...document.querySelectorAll(`script[type="module"][src="${import.meta.url}"]`)];window.AdLibAttributes={version:p,scripts:r,modules:{},process:new Set,utils:{fetchPage:u,attachExternalStylesheets:c},load:d,push(...a){for(let[s,i]of a)this.modules[s]?.loading?.then(i)},destroy(){for(let a in this.modules)this.modules[a]?.destroy?.()}},w(),window.AdLibAttributes.push(...e)},w=()=>{let t=!1;for(let e of window.AdLibAttributes.scripts){t||=e.getAttribute(`${h}-auto`)==="true";for(let r of b)e.hasAttribute(`ad-${r}`)&&d(r)}t&&m().then(()=>{let e=new Set,r=document.querySelectorAll("*");for(let a of r)for(let s of a.getAttributeNames()){let o=s.match(/^ad-([^-]+)/)?.[1];o&&b.has(o)&&e.add(o)}for(let a of e)d(a)})},d=async t=>{if(window.AdLibAttributes.process.has(t))return;window.AdLibAttributes.process.add(t);let e=window.AdLibAttributes.modules[t]||={};e.loading=new Promise(r=>{e.resolve=a=>{r(a),delete e.resolve}});try{let{init:r,version:a}=await l(t),{result:s,destroy:i}=await r()||{};return e.version=a,e.destroy=()=>{i?.(),window.AdLibAttributes.process.delete(t)},e.restart=()=>(e.destroy?.(),window.AdLibAttributes.load(t)),e.resolve?.(s),s}catch(r){console.error(r)}};y();
@@ -0,0 +1 @@
1
+ var u=(t,n=!0)=>t?t.split(",").reduce((e,s)=>{let r=s.trim();return(!n||r)&&e.push(r),e},[]):[];export{u as a};
@@ -0,0 +1 @@
1
+ var o="Enter",r="Escape";var t="click",e="Backspace",E="ArrowUp",p="ArrowDown",c="ArrowRight",x="ArrowLeft";export{o as a,r as b,t as c,e as d,E as e,p as f,c as g,x as h};
@@ -0,0 +1 @@
1
+ var v=(o,x,S)=>{let m=`ad-${o}-element`,l=`ad-${o}-instance`,a=t=>{let{key:e}=S[t];return`ad-${o}-${e}`},f=(t,e)=>{let n=a(t);return e?`[${n}="${e}" i]`:`[${n}]`},u=(t,{instance:e}={})=>{if(!t)return`[${m}]`;let n=`[${m}="${t}" i]`;if(e===void 0)return n;if(e===null)return`${n}:not([${l}], [${l}] ${n})`;let i=E(e);return`${n}${i}, ${i} ${n}`},E=t=>`[${l}="${t}"]`,A=(t,{instance:e,scope:n}={})=>{let i=u(t,{instance:e});return(n||document).querySelector(i)},N=(t,{instance:e,scope:n}={})=>{let i=u(t,{instance:e});return[...(n||document).querySelectorAll(i)]},$=t=>{let e=t.closest(`[${l}]`);return e?e.getAttribute(l):null},y=(t,e,{instance:n}={})=>{let i=u(e,{instance:n});return t.closest(i)},d=(t,e,{filterInvalid:n}={})=>{let i=a(e),c=f(e),s=t?.closest(c)?.getAttribute(i);if(!s){let r=window.AdLibAttributes?.scripts??[];for(let V of r)if(s=V.getAttribute(i),s)break}let{values:b=[],defaultValue:g,isNumeric:D}=S[e];if(s??=g,!s)return;if(D){let r=Number(s);if(isNaN(r)&&g&&(r=Number(g)),!isNaN(r))return r}return n&&b.length&&!b.includes(s)?void 0:s};return{getClosestElement:y,getElementSelector:u,getSettingSelector:f,getInstanceSelector:E,getSettingAttributeName:a,queryElement:A,queryAllElements:N,getInstance:$,getAttribute:d,hasAttributeValue:(t,e,n)=>d(t,e)===n}};export{v as a};
@@ -0,0 +1 @@
1
+ var s=g;function g(f,c,n){var r=null,a=null,t=n&&n.leading,e=n&&n.trailing;t==null&&(t=!0),e==null&&(e=!t),t==!0&&(e=!1);var i=function(){r&&(clearTimeout(r),r=null)},v=function(){var l=a;i(),l&&l()},u=function(){var l=t&&!r,o=this,h=arguments;if(a=function(){return f.apply(o,h)},r||(r=setTimeout(function(){if(r=null,e)return a()},c)),l)return l=!1,a()};return u.cancel=i,u.flush=v,u}export{s as a};
@@ -0,0 +1 @@
1
+ import{e as s}from"./chunk-IIYDYA3Q.js";function v(e,n,r,t){if(!e)return s;let a=Array.isArray(e)?e:e instanceof Set?[...e]:[e];return a.forEach(o=>o.addEventListener(n,r,t)),()=>a.forEach(o=>o.removeEventListener(n,r,t))}var i=(e,n)=>(Array.isArray(n)||(n=[n]),n.map(t=>e.dispatchEvent(new Event(t,{bubbles:!0}))).every(t=>t));export{v as a,i as b};
@@ -0,0 +1 @@
1
+ var i=e=>typeof e=="string",r=e=>typeof e=="number",l=e=>typeof e=="boolean";var c=e=>e instanceof Date,m=()=>{},T=e=>e!=null,a=(e,n)=>!!e&&n.includes(e);var u=e=>e instanceof Element,E=e=>e instanceof HTMLElement,p=e=>e instanceof HTMLVideoElement,t=e=>e instanceof HTMLInputElement,o=e=>e instanceof HTMLSelectElement,s=e=>e instanceof HTMLTextAreaElement,H=e=>t(e)||o(e)||s(e),L=e=>e instanceof HTMLFormElement,M=e=>e instanceof HTMLAnchorElement,x=e=>e instanceof HTMLOptionElement,f=e=>e instanceof HTMLImageElement;export{i as a,r as b,l as c,c as d,m as e,T as f,a as g,u as h,E as i,p as j,t as k,o as l,s as m,H as n,L as o,M as p,x as q,f as r};
@@ -0,0 +1 @@
1
+ var t="https://cdn.prod.website-files.com",o="w--current",e="w-richtext";var a={slider:"w-slider",slide:"w-slide",sliderMask:"w-slider-mask",sliderNav:"w-slider-nav",sliderDot:"w-slider-dot",activeSliderDot:"w-active"},n={tabs:"w-tabs",tabsContent:"w-tab-content",tabPane:"w-tab-pane",tabsMenu:"w-tab-menu",tabLink:"w-tab-link",activeTab:"w--tab-active"},r={navMenu:"w-nav-menu"},i={wrapper:"w-dyn-list",list:"w-dyn-items",item:"w-dyn-item",paginationWrapper:"w-pagination-wrapper",paginationNext:"w-pagination-next",paginationPrevious:"w-pagination-previous",pageCount:"w-page-count",emptyState:"w-dyn-empty"},s={formBlock:"w-form",checkboxField:"w-checkbox",checkboxInput:"w-checkbox-input",radioField:"w-radio",radioInput:"w-radio-input",checkboxOrRadioLabel:"w-form-label",checkboxOrRadioFocus:"w--redirected-focus",checkboxOrRadioChecked:"w--redirected-checked",successMessage:"w-form-done",errorMessage:"w-form-fail"},S={dropdown:"w-dropdown",dropdownToggle:"w-dropdown-toggle",dropdownList:"w-dropdown-list"};var c=new Map([["tiny","(max-width: 479px)"],["small","(max-width: 767px)"],["medium","(max-width: 991px)"],["main","(min-width: 992px)"]]);export{t as a,o as b,e as c,a as d,n as e,r as f,i as g,s as h,S as i,c as j};
@@ -0,0 +1 @@
1
+ import{i as d}from"./chunk-IIYDYA3Q.js";var c=e=>{if(!e.id||document.getElementById(e.id)!==e){let t=crypto.randomUUID();return e.id=t,t}return e.id},r=e=>!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length),l=(e,t=!0)=>e.cloneNode(t),i=e=>{let t;for(let o of e.childNodes)if(d(o)&&o.childNodes.length?t=i(o):o.nodeType===Node.TEXT_NODE&&o.textContent?.trim()&&(t=o),t)break;return t},f=e=>{if(r(e))return;let t=e,o=({parentElement:n})=>{n&&(r(n)||(t=n,o(n)))};return o(e),t},u=e=>{let{overflow:t}=getComputedStyle(e);return t==="auto"||t==="scroll"};export{c as a,r as b,l as c,i as d,f as e,u as f};
@@ -0,0 +1 @@
1
+ import{b as o,d as m}from"./chunk-IIYDYA3Q.js";var f=r=>{if(o(r))return r;if(m(r))return r.getTime();if(r)return parseFloat(r.replace(/[^0-9.-]+/g,""))};function a(r,n){if(!r)return n??null;let e=Number(r);return isNaN(e)?n||null:e}var s=r=>{if(!isFinite(r))return 0;let n=1,e=0;for(;Math.round(r*n)/n!==r;)n*=10,e+=1;return e},l=(r,n)=>{let e=Math.pow(10,n);return Math.round(r*e)/e},p=(r,n,e,t=0)=>{e??=s(n);let b=t>1?t%n:0,u=r%n,i=b+r-u;return u>n/2?l(i+n,e):l(i,e)};export{f as a,a as b,s as c,p as d};
@@ -0,0 +1 @@
1
+ var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>()=>(a||b((a={exports:{}}).exports,a),a.exports),n=(b,a)=>{for(var c in a)e(b,c,{get:a[c],enumerable:!0})},l=(b,a,c,f)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of i(a))!k.call(b,d)&&d!==c&&e(b,d,{get:()=>a[d],enumerable:!(f=h(a,d))||f.enumerable});return b};var o=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?e(c,"default",{value:b,enumerable:!0}):c,b));export{m as a,n as b,o as c};
@@ -0,0 +1 @@
1
+ import{b as T}from"./chunk-K46K3RI5.js";var P={};T(P,{ACCORDION_ATTRIBUTE:()=>o,AUTO_VIDEO_ATTRIBUTE:()=>t,CODE_HIGHLIGHT_ATTRIBUTE:()=>I,COMBO_BOX_ATTRIBUTE:()=>r,COPY_CLIP_ATTRIBUTE:()=>_,DISPLAY_VALUES_ATTRIBUTE:()=>e,DOCS_ATTRIBUTE:()=>E,FAV_CUSTOM_ATTRIBUTE:()=>c,FORM_SUBMIT_ATTRIBUTE:()=>s,INJECT_ATTRIBUTE:()=>R,INPUT_ACTIVE_ATTRIBUTE:()=>A,INPUT_COUNTER_ATTRIBUTE:()=>U,LIST_ATTRIBUTE:()=>O,MIRROR_CLICK_ATTRIBUTE:()=>n,MIRROR_INPUT_ATTRIBUTE:()=>p,MODAL_ATTRIBUTE:()=>B,NUMBER_COUNT_ATTRIBUTE:()=>x,QUERY_PARAM_ATTRIBUTE:()=>i,RANGE_SLIDER_ATTRIBUTE:()=>C,READ_TIME_ATTRIBUTE:()=>d,REMOVE_QUERY_ATTRIBUTE:()=>D,SCROLL_DISABLE_ATTRIBUTE:()=>S,SELECT_CUSTOM_ATTRIBUTE:()=>a,SLIDER_DOTS_ATTRIBUTE:()=>l,SMART_LIGHTBOX_ATTRIBUTE:()=>L,SOCIAL_SHARE_ATTRIBUTE:()=>m,STAR_RATING_ATTRIBUTE:()=>u,TOC_ATTRIBUTE:()=>M,VIDEO_HLS_ATTRIBUTE:()=>N});var o="accordion",t="autovideo",I="codehighlight",r="combobox",R="inject",_="copyclip",e="displayvalues",E="docs",c="favcustom",s="formsubmit",A="inputactive",U="inputcounter",n="mirrorclick",p="mirrorinput",B="modal",x="numbercount",O="list",i="queryparam",C="rangeslider",S="scrolldisable",a="selectcustom",l="sliderdots",L="smartlightbox",m="socialshare",u="starrating",M="toc",d="readtime",D="removequery",N="videohls";export{o as a,I as b,r as c,R as d,_ as e,e as f,c as g,s as h,A as i,U as j,n as k,p as l,B as m,x as n,O as o,i as p,C as q,S as r,a as s,l as t,L as u,m as v,u as w,M as x,d as y,N as z,P as A};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-K46K3RI5.js";var f=a((v,c)=>{c.exports=p;function p(n,o,i,l){var e,r,t;return function(){if(t=this,r=Array.prototype.slice.call(arguments),e&&(i||l))return;if(!i)return u(),e=setTimeout(s,o),e;e=setTimeout(u,o),n.apply(t,r);function s(){u(),n.apply(t,r)}function u(){clearTimeout(e),e=null}}}});export{f as a};
@@ -0,0 +1 @@
1
+ var o="role",t={slider:"slider",listbox:"listbox",option:"option",columnheader:"columnheader",link:"link",marquee:"marquee",button:"button",radiogroup:"radiogroup",dialog:"dialog"},e="tabindex",r="aria-label",A="aria-labelledby",E="aria-valuenow",a="aria-valuemin",n="aria-valuemax",_="aria-selected",s="aria-haspopup",i="aria-multiselectable",c="aria-expanded",p="aria-current",I="aria-activedescendant",R="aria-pressed",x="aria-controls",Y="aria-owns",l="aria-roledescription",K="aria-description",d="aria-hidden",L="autocomplete";var T="aria-autocomplete",O="role",u="required",S="name",D="aria-setsize",N="aria-posinset",U="id",C="aria-modal",m={true:"true"},P="aria-sort",b={ascending:"ascending",descending:"descending"};export{o as a,t as b,e as c,r as d,A as e,E as f,a as g,n as h,_ as i,s as j,i as k,c as l,p as m,I as n,R as o,x as p,Y as q,l as r,K as s,d as t,L as u,T as v,O as w,u as x,S as y,D as z,N as A,U as B,C,m as D,P as E,b as F};
@@ -0,0 +1 @@
1
+ import{h as i}from"./chunk-JRWWKMUR.js";import{b as p}from"./chunk-HNE3ICUK.js";import{c as k,f as h,k as u,l as g}from"./chunk-IIYDYA3Q.js";var f=(e,n)=>{let r=e.type,o;switch(r){case"checkbox":{let c=y(e.name,e.form,n);if(c?.length){o=[];for(let a of c){let s=n?a.getAttribute(n)??a.value:a.value;!s||!a.checked||o.push(s)}break}let{checked:t}=e;o=t?"true":"";break}case"radio":{let c=e.form?.querySelector(`input[name="${e.name}"][type="radio"]:checked`);o=c?n?c.getAttribute(n)??c.value:c.value:"";break}case"select-multiple":{o=[...e.selectedOptions].map(c=>c.value).filter(Boolean);break}case"date":case"month":case"week":case"time":{let{valueAsDate:c,value:t}=e;o=c?c.toISOString():t;break}default:o=e.value}return o},E=(e,n,r)=>{switch(e.type){case"checkbox":{if(!u(e))break;if(!Array.isArray(n)){let t=k(n)?n:n==="true";t!==e.checked&&(e.checked=t,p(e,["click","input","change"]));break}let c=y(e.name,e.form,r);if(!c?.length)break;for(let t of c){let a=r?t.getAttribute(r)??t.value:t.value,s=n.includes(a);s!==t.checked&&(t.checked=s,p(t,["click","input","change"]))}break}case"radio":{if(Array.isArray(n))break;let c=b(e);for(let t of c){let s=(r?t.getAttribute(r)??t.value:t.value)===n;if(s!==t.checked){if(t.checked=s,p(t,["click","input","change"]),s)continue;let l=t.parentElement?.querySelector(`.${i.radioInput}`);if(!l)continue;l.classList.remove(i.checkboxOrRadioFocus,i.checkboxOrRadioChecked)}}break}case"select-multiple":{if(!Array.isArray(n)||!g(e))break;for(let c of e.options){let t=n.includes(c.value);t!==c.selected&&(c.selected=t,p(c,["input","change"]))}break}default:{if(Array.isArray(n))break;e.value!==n&&(e.value=n.toString(),p(e,["input","change"]))}}},b=e=>e.form?[...e.form.querySelectorAll(`input[name="${e.name}"][type="${e.type}"]`)]:[],y=(e,n,r)=>{let o=[`input[name="${e}"][type="checkbox"][value]`,r&&`input[name="${e}"][type="checkbox"][${r}]`].filter(h).join(",");return n?.querySelectorAll(o)},S=e=>e.closest(`.${i.checkboxField}, .${i.radioField}, label`)||e;export{f as a,E as b,b as c,y as d,S as e};
@@ -0,0 +1 @@
1
+ import{c as u}from"./chunk-JWECJO7V.js";import{a as c}from"./chunk-JRWWKMUR.js";var e,a=new Set,h=()=>{if(e)return e;let s=document.querySelectorAll('link[rel="stylesheet"]');e=new Set;for(let o of s){let{href:t}=o;try{let{origin:n}=new URL(t);if(n!==c)continue;e.add(t)}catch{continue}}return e},S=s=>{let o=h(),t=[...s.documentElement.querySelectorAll('link[rel="stylesheet"]')];return Promise.all(t.map(n=>{let{href:r}=n;try{let{origin:d}=new URL(r);return d!==c||o.has(r)||a.has(r)?void 0:(a.add(r),new Promise(l=>{let i=u(n);i.addEventListener("load",()=>l(void 0),{once:!0}),document.head.append(i),window.setTimeout(()=>l(void 0),1e4)}))}catch{return}}))};export{S as a};
@@ -0,0 +1 @@
1
+ var o=e=>new Promise(t=>setTimeout(t,e)),n=e=>window.AdLibAttributes.modules[e]?.loading,i=async()=>new Promise(e=>{window.Webflow||=[],window.Webflow.push(e)}),d=async()=>new Promise(e=>{document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):e(void 0)});export{o as a,n as b,i as c,d};
@@ -0,0 +1 @@
1
+ import{j as n}from"./chunk-JRWWKMUR.js";import{b as o}from"./chunk-HNE3ICUK.js";var f=(e=document)=>e.documentElement.getAttribute("data-wf-site"),p=(e=document)=>{let t="Last Published:";for(let i of e.childNodes)if(i.nodeType===Node.COMMENT_NODE&&i.textContent?.includes(t)){let r=i.textContent.trim().split(t)[1];if(r)return new Date(r)}},w=async e=>{let{Webflow:t}=window;if(!(!t||!("destroy"in t)||!("ready"in t)||!("require"in t))&&!(e&&!e.length)){if(e||(t.destroy(),t.ready()),!e||e.includes("ix2")){let i=t.require("ix2");if(i){let{store:r,actions:s}=i,{eventState:c}=r.getState().ixSession,a=Object.entries(c);e||i.destroy(),i.init(),await Promise.all(a.map(d=>r.dispatch(s.eventStateChanged(...d))))}}if(!e||e.includes("commerce")){let i=t.require("commerce"),r=f();i&&r&&(i.destroy(),i.init({siteId:r,apiUrl:"https://render.webflow.com"}))}if(e?.includes("lightbox")&&t.require("lightbox")?.ready(),e?.includes("slider")){let i=t.require("slider");i&&(i.redraw(),i.ready())}return e?.includes("tabs")&&t.require("tabs")?.redraw(),new Promise(i=>t.push(()=>i(void 0)))}},b=()=>{for(let[e,t]of n)if(window.matchMedia(t).matches)return e;return"main"},m=(e,t=!0)=>{t&&e.focus(),o(e,"w-close")};export{f as a,p as b,w as c,b as d,m as e};