UNPKG

@lithium-framework/core

Version:
764 lines (664 loc) 30 kB
var $8zHUo$microsoftfastelement = require("@microsoft/fast-element"); var $8zHUo$lithiumframeworkstate = require("@lithium-framework/state"); var $8zHUo$lithiumframeworkcontext = require("@lithium-framework/context"); var $8zHUo$lithiumframeworkhuid = require("@lithium-framework/huid"); function $parcel$exportWildcard(dest, source) { Object.keys(source).forEach(function(key) { if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) { return; } Object.defineProperty(dest, key, { enumerable: true, get: function get() { return source[key]; } }); }); return dest; } function $parcel$export(e, n, v, s) { Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true}); } $parcel$export(module.exports, "Effects", () => $6b22b6b12ada86dd$export$af73ab700e00763e); // export * from './dom'; var $0fe2052b2c651410$exports = {}; var $6b1d12931f09e2bd$exports = {}; $parcel$export($6b1d12931f09e2bd$exports, "attrState", () => $6b1d12931f09e2bd$export$683a0e8baad8b9c3); $parcel$export($6b1d12931f09e2bd$exports, "attr", () => $8zHUo$microsoftfastelement.attr); var $25b99ce497008ca4$exports = {}; $parcel$export($25b99ce497008ca4$exports, "state", () => $25b99ce497008ca4$export$ca000e230c0caa3e); function $25b99ce497008ca4$export$ca000e230c0caa3e(options) { options = Object.assign({ lazy: false }, options || {}); return function(target, propertyName, value, y) { let privateName = `_${propertyName}`; if (!target[propertyName]) Object.defineProperty(target, propertyName, { get () { // Retourne la valeur de l'état depuis l'objet 'states' pour CETTE instance if (!this.states) this.states = {}; // Si l'objet 'states' n'existe pas encore, on le crée pour chaque instance (0, $8zHUo$microsoftfastelement.Observable).track(this, propertyName); return this.states[privateName]; }, set (newValue) { // Si l'objet 'states' n'existe pas encore, le créer pour CETTE instance if (!this.states) this.states = {}; const oldValue = this.states[privateName]; if (oldValue != newValue) { this.states[privateName] = newValue; if (!options.lazy) (0, $8zHUo$microsoftfastelement.Observable).notify(this, propertyName); // Si l'état a changé, déclenche une action pour CETTE instance if (oldValue !== newValue) this.handleStateChange(propertyName, oldValue, newValue); } }, enumerable: true, configurable: true }); if (value && target[propertyName] == null) target[propertyName] = value; }; } function $6b1d12931f09e2bd$export$683a0e8baad8b9c3(options = {}) { return (target, propertyKey)=>{ (0, $8zHUo$microsoftfastelement.attr)(options)(target, propertyKey); (0, $25b99ce497008ca4$export$ca000e230c0caa3e)()(target, propertyKey); }; } var $524aec7c3c6d48fc$exports = {}; $parcel$export($524aec7c3c6d48fc$exports, "effect", () => $524aec7c3c6d48fc$export$dc573d8a6576cdb3); function $6b22b6b12ada86dd$export$af73ab700e00763e(effects) { const effects_register = new Map(); if (effects) Object.values(effects).forEach((effect)=>{ this.set(effect.name, effect); }); effects_register.execute = function(dependency) { let effects_without_depedencies = [ ...this.values() ].filter((effect)=>!effect.dependencies || effect.dependencies.length == 0 ? effect : null); let effects_with_depedencies = [ ...this.values() ].filter((effect)=>effect.dependencies && effect.dependencies.length > 0 ? effect : null); effects_with_depedencies.forEach((effect)=>{ let { dependencies: dependencies, callback: useEffect, name: name } = effect; if (dependency && dependencies.includes(dependency)) { console.log(`Math effect ${dependency}`); useEffect(); } }); if (!dependency) effects_without_depedencies.forEach((effect)=>{ let { callback: useEffect } = effect; try { useEffect(); } catch (error) { console.error(error); } }); }; return effects_register; } // export class Effects extends Map< string , IEffect >{ // execute( dependency?:string ){ // let effects_without_depedencies = [...this.values()].filter(( effect ) => !effect.dependencies || effect.dependencies.length == 0 ? effect : null); // let effects_with_depedencies = [...this.values()].filter(( effect ) => effect.dependencies && effect.dependencies.length > 0 ? effect : null); // effects_with_depedencies.forEach(( effect ) => { // let { dependencies , callback:useEffect , name } = effect; // if(dependency && dependencies.includes( dependency )){ // useEffect(); // } // }) // if( !dependency )effects_without_depedencies.forEach(( effect ) => { // let { callback:useEffect } = effect; // try{ // useEffect(); // } // catch(error){ // console.error(error); // } // }) // } // constructor( effects?:Record< string , IEffect > ){ // super(); // if(effects)Object.values(effects).forEach((effect) => { // this.set( effect.name , effect ) // }); // } // } function $524aec7c3c6d48fc$export$dc573d8a6576cdb3(dependencies) { return (target, propertyName, value = null)=>{ if (!target[propertyName]) Object.defineProperty(target, propertyName, { get () { // Retourne la valeur de l'état depuis l'objet 'states' pour CETTE instance if (!this.effects) this.effects = (0, $6b22b6b12ada86dd$export$af73ab700e00763e)(); // Si l'objet 'states' n'existe pas encore, on le crée pour chaque instance return this.effects.get(propertyName); }, set (newValue) { // Si l'objet 'states' n'existe pas encore, le créer pour CETTE instance if (!this.effects) this.effects = (0, $6b22b6b12ada86dd$export$af73ab700e00763e)(); this.effects.set(propertyName, { name: propertyName, dependencies: dependencies, callback: newValue }); }, enumerable: true, configurable: true }); if (value && target[propertyName] == null) target[propertyName] = value; }; } $parcel$exportWildcard($0fe2052b2c651410$exports, $6b1d12931f09e2bd$exports); $parcel$exportWildcard($0fe2052b2c651410$exports, $25b99ce497008ca4$exports); $parcel$exportWildcard($0fe2052b2c651410$exports, $524aec7c3c6d48fc$exports); var $3f98161bb563abdf$exports = {}; $parcel$export($3f98161bb563abdf$exports, "when", () => $3f98161bb563abdf$re_export$when); $parcel$export($3f98161bb563abdf$exports, "repeat", () => $3f98161bb563abdf$re_export$repeat); $parcel$export($3f98161bb563abdf$exports, "children", () => $3f98161bb563abdf$re_export$children); $parcel$export($3f98161bb563abdf$exports, "elements", () => $3f98161bb563abdf$re_export$elements); $parcel$export($3f98161bb563abdf$exports, "slotted", () => $3f98161bb563abdf$re_export$slotted); var $b0f7f46e6c94897e$exports = {}; $parcel$export($b0f7f46e6c94897e$exports, "AsyncAppendBindig", () => $b0f7f46e6c94897e$export$ca3487b83ec6860a); $parcel$export($b0f7f46e6c94897e$exports, "AsyncAppendDirective", () => $b0f7f46e6c94897e$export$5761d9f85430a54b); $parcel$export($b0f7f46e6c94897e$exports, "asyncAppend", () => $b0f7f46e6c94897e$export$eaa89ade56b7c0c1); class $b0f7f46e6c94897e$export$ca3487b83ec6860a extends (0, $8zHUo$microsoftfastelement.Binding) { createObserver(subscriber, directive) { console.log({ subscriber: subscriber, directive: directive }); return { bind (controller) { console.log({ controller: controller }); } }; } } class $b0f7f46e6c94897e$export$5761d9f85430a54b extends (0, $8zHUo$microsoftfastelement.HTMLBindingDirective) { constructor(fn, callback){ super(new $b0f7f46e6c94897e$export$ca3487b83ec6860a((x)=>null)); this.fn = null; this.callback = null; Object.assign(this, { fn: fn, callback: callback }); } createBehavior() { let { targetNodeId: targetNodeId } = this; return { bind: (source)=>{ let target = source.targets[targetNodeId]; this.fn.then((result)=>{ this.callback(result).render(source, target instanceof HTMLElement ? target : target.parentElement); }).catch((error)=>{ console.error(error); (0, $8zHUo$microsoftfastelement.html)`<span>Error: ${error}</span>`.render(source, target instanceof HTMLElement ? target : target.parentElement); }); }, unbind: ()=>{ // Nettoyage si nécessaire } }; } static use(fn, callback) { return new $b0f7f46e6c94897e$export$5761d9f85430a54b(fn, callback); } } (0, $8zHUo$microsoftfastelement.HTMLDirective).define($b0f7f46e6c94897e$export$5761d9f85430a54b); const $b0f7f46e6c94897e$export$eaa89ade56b7c0c1 = (fn, callback)=>$b0f7f46e6c94897e$export$5761d9f85430a54b.use(fn, callback); var $6ac08f3136e84148$exports = {}; $parcel$export($6ac08f3136e84148$exports, "createRef", () => $6ac08f3136e84148$export$7d1e3a5e95ceca43); $parcel$export($6ac08f3136e84148$exports, "RefDirective", () => $6ac08f3136e84148$export$1ef8aea9a6de98d); $parcel$export($6ac08f3136e84148$exports, "ref", () => $6ac08f3136e84148$export$eff4d24c3ff7876e); function $6ac08f3136e84148$export$7d1e3a5e95ceca43() { return { value: null }; } class $6ac08f3136e84148$export$1ef8aea9a6de98d extends (0, $8zHUo$microsoftfastelement.StatelessAttachedAttributeDirective) { constructor(options){ super(options); this.options = null; Object.assign(this, { options: options }); } bind(controller) { let { lastChild: target } = controller; this.options.value = target; } static use(options) { return new $6ac08f3136e84148$export$1ef8aea9a6de98d(options); } } (0, $8zHUo$microsoftfastelement.HTMLDirective).define($6ac08f3136e84148$export$1ef8aea9a6de98d); const $6ac08f3136e84148$export$eff4d24c3ff7876e = (options)=>$6ac08f3136e84148$export$1ef8aea9a6de98d.use(options); var $3cd2fa06c53f9aef$exports = {}; $parcel$export($3cd2fa06c53f9aef$exports, "StateBindig", () => $3cd2fa06c53f9aef$export$28205fa712822499); $parcel$export($3cd2fa06c53f9aef$exports, "StateDirective", () => $3cd2fa06c53f9aef$export$792c882b75ca2192); $parcel$export($3cd2fa06c53f9aef$exports, "useState", () => $3cd2fa06c53f9aef$export$60241385465d0a34); // import { ViewTemplate, HTMLBindingDirective, ExecutionContext } from '@microsoft/fast-element'; class $3cd2fa06c53f9aef$export$28205fa712822499 extends (0, $8zHUo$microsoftfastelement.Binding) { createObserver(subscriber, directive) { console.log({ subscriber: subscriber, directive: directive }); return { bind (controller) { console.log({ controller: controller }); } }; } } class $3cd2fa06c53f9aef$export$792c882b75ca2192 extends (0, $8zHUo$microsoftfastelement.HTMLBindingDirective) { get state() { return this._state.mutator[0]; } set state(value) { this._state.mutator[1](value); } constructor(state, callback){ super(new $3cd2fa06c53f9aef$export$28205fa712822499((x)=>null)); this._state = null; this._callback = null; this._state = state; this._callback = callback; } createBehavior() { let { targetNodeId: targetNodeId } = this; let view = null; return { bind: (source)=>{ let target = source.targets[targetNodeId]; if (this._callback) { this._state.subscribe(()=>{ view.dispose(); view = this._callback(this.state).render(source, target.parentElement); }); view = this._callback(this.state).render(source, target.parentElement); } else { this._state.subscribe(()=>{ if ("textContent" in target) target.textContent = `${this.state}`; }); if ("textContent" in target) target.textContent = `${this.state}`; } }, unbind: ()=>{ // Nettoyage si nécessaire } }; } static use(state, callback) { return new $3cd2fa06c53f9aef$export$792c882b75ca2192(state, callback); } } (0, $8zHUo$microsoftfastelement.HTMLDirective).define($3cd2fa06c53f9aef$export$792c882b75ca2192); const $3cd2fa06c53f9aef$export$60241385465d0a34 = (state, callback)=>$3cd2fa06c53f9aef$export$792c882b75ca2192.use(state, callback); var $4cdc3aa994dab691$exports = {}; $parcel$export($4cdc3aa994dab691$exports, "StyleBindig", () => $4cdc3aa994dab691$export$81053cd05d55c9d8); $parcel$export($4cdc3aa994dab691$exports, "StyleDirective", () => $4cdc3aa994dab691$export$18211b6e76035cfa); $parcel$export($4cdc3aa994dab691$exports, "style", () => $4cdc3aa994dab691$export$1d567c320f4763bc); class $4cdc3aa994dab691$export$81053cd05d55c9d8 extends (0, $8zHUo$microsoftfastelement.Binding) { createObserver(subscriber, directive) { console.log({ subscriber: subscriber, directive: directive }); return { bind (controller) { console.log({ controller: controller }); } }; } } class $4cdc3aa994dab691$export$18211b6e76035cfa extends (0, $8zHUo$microsoftfastelement.HTMLBindingDirective) { constructor(css){ super(new $4cdc3aa994dab691$export$81053cd05d55c9d8((x)=>null)); this.css = null; Object.assign(this, { css: css }); } createBehavior() { let { targetNodeId: targetNodeId } = this; let view = null; return { bind: (source)=>{ let target = source.targets[targetNodeId]; if (target instanceof HTMLElement) Object.assign(target.style, this.css); }, unbind: ()=>{ // Nettoyage si nécessaire } }; } static use(css) { return new $4cdc3aa994dab691$export$18211b6e76035cfa(css); } } (0, $8zHUo$microsoftfastelement.HTMLDirective).define($4cdc3aa994dab691$export$18211b6e76035cfa); const $4cdc3aa994dab691$export$1d567c320f4763bc = (css)=>$4cdc3aa994dab691$export$18211b6e76035cfa.use(css); var $76501f7f02d11920$exports = {}; $parcel$export($76501f7f02d11920$exports, "UntilBindig", () => $76501f7f02d11920$export$f36d8f10294685f8); $parcel$export($76501f7f02d11920$exports, "UntilDirective", () => $76501f7f02d11920$export$51c6edf8ee19b71a); $parcel$export($76501f7f02d11920$exports, "until", () => $76501f7f02d11920$export$a40009bd2c363351); class $76501f7f02d11920$export$f36d8f10294685f8 extends (0, $8zHUo$microsoftfastelement.Binding) { createObserver(subscriber, directive) { console.log({ subscriber: subscriber, directive: directive }); return { bind (controller) { console.log({ controller: controller }); } }; } } class $76501f7f02d11920$export$51c6edf8ee19b71a extends (0, $8zHUo$microsoftfastelement.HTMLBindingDirective) { constructor(fn, template){ super(new $76501f7f02d11920$export$f36d8f10294685f8((x)=>null)); this.fn = null; this.template = null; Object.assign(this, { fn: fn, template: template }); } createBehavior() { let { targetNodeId: targetNodeId } = this; return { bind: (source)=>{ let target = source.targets[targetNodeId]; let loading = this.template.render(source, target instanceof HTMLElement ? target : target.parentElement); this.fn.then((result)=>{ loading.dispose(); result.render(source, target instanceof HTMLElement ? target : target.parentElement); }).catch((error)=>{ console.error(error); loading.dispose(); (0, $8zHUo$microsoftfastelement.html)`<span>Error: ${error}</span>`.render(source, target instanceof HTMLElement ? target : target.parentElement); }); }, unbind: ()=>{ // Nettoyage si nécessaire } }; } static use(fn, template) { return new $76501f7f02d11920$export$51c6edf8ee19b71a(fn, template); } } (0, $8zHUo$microsoftfastelement.HTMLDirective).define($76501f7f02d11920$export$51c6edf8ee19b71a); const $76501f7f02d11920$export$a40009bd2c363351 = (fn, template)=>$76501f7f02d11920$export$51c6edf8ee19b71a.use(fn, template); $parcel$exportWildcard($3f98161bb563abdf$exports, $b0f7f46e6c94897e$exports); $parcel$exportWildcard($3f98161bb563abdf$exports, $6ac08f3136e84148$exports); $parcel$exportWildcard($3f98161bb563abdf$exports, $3cd2fa06c53f9aef$exports); $parcel$exportWildcard($3f98161bb563abdf$exports, $4cdc3aa994dab691$exports); $parcel$exportWildcard($3f98161bb563abdf$exports, $76501f7f02d11920$exports); var $d7167569386d0d4c$exports = {}; $parcel$export($d7167569386d0d4c$exports, "createObservableObject", () => $529142902ff67758$export$dcc5cf24d8fb3b41); $parcel$export($d7167569386d0d4c$exports, "ObservableArray", () => $32e43a82b8e36c73$export$2b76b04f92326cd); $parcel$export($d7167569386d0d4c$exports, "ObservableObject", () => $7ce92075f2794ab1$export$b176171395436676); $parcel$export($d7167569386d0d4c$exports, "State", () => $d7167569386d0d4c$re_export$State); $parcel$export($d7167569386d0d4c$exports, "createState", () => $d7167569386d0d4c$re_export$createState); $parcel$export($d7167569386d0d4c$exports, "createStorage", () => $d7167569386d0d4c$re_export$createStorage); $parcel$export($d7167569386d0d4c$exports, "uuid", () => $d7167569386d0d4c$re_export$uuid); class $7ce92075f2794ab1$export$b176171395436676 extends Object { static init(initialObject) { let observabe = new $7ce92075f2794ab1$export$b176171395436676(initialObject); return observabe.createProxy.bind(observabe)(); } constructor(initialObject){ super(); this.$data = {}; this.observers = {}; // Enregistre un observateur pour une propriété spécifique this.subscribe = (propKey, callback)=>{ if (!this.observers[propKey]) this.observers[propKey] = new Set(); this.observers[propKey].add(callback); }; // Supprime un observateur pour une propriété spécifique this.unsubscribe = (propKey, callback)=>{ if (this.observers[propKey]) this.observers[propKey].delete(callback); }; this.set = (key, value)=>{ const oldValue = this.$data[`_${key}`]; this.$data[`_${key}`] = value; (0, $8zHUo$microsoftfastelement.Observable).defineProperty(this.$data, key); this.notify(key, value, oldValue); return this.$data[key]; }; Object.assign(this.$data, initialObject); } // Méthode appelée pour notifier les observateurs d'un changement de valeur notify(propKey, newValue, oldValue) { if (this.observers[propKey]) this.observers[propKey].forEach((callback)=>callback(newValue, oldValue)); } createProxy() { return new Proxy(this.$data, { get: (store, propKey)=>{ let result = undefined; if (propKey == "subscribe") return this.subscribe; else if (propKey == "unsubscribe") return this.unsubscribe; else if (propKey == "keys") return ()=>Object.keys(this.$data); else if (propKey == "values") return ()=>Object.values(this.$data); try { result = store[propKey]; } catch (error) { console.error(error); } finally{ return result; } }, set: (store, propKey, value)=>{ const oldValue = store[propKey]; if (store[propKey]) store[propKey] = value; else { store[`_${propKey}`] = value; (0, $8zHUo$microsoftfastelement.Observable).defineProperty(store, propKey); } this.notify(propKey, value, oldValue); return true; } }); } } function $529142902ff67758$export$dcc5cf24d8fb3b41(initialObject) { return (0, $7ce92075f2794ab1$export$b176171395436676).init(initialObject); } function $32e43a82b8e36c73$export$2b76b04f92326cd(init = []) { const observers = new Set(); const notifyObservers = (operation, args, result)=>{ observers.forEach((callback)=>callback(operation, args, result)); }; const arrayMethods = [ "push", "pop", "splice", "shift", "unshift", "sort", "reverse" ]; return new Proxy(init, { get (target, property, receiver) { // Si on accède à une méthode de tableau, la redéfinir pour inclure la notification if (arrayMethods.includes(property)) return (...args)=>{ const result = Array.prototype[property].apply(target, args); // Notifier les observateurs du changement notifyObservers(property, args, result); return result; }; return Reflect.get(target, property, receiver); }, set (target, property, value, receiver) { const oldValue = target[property]; const result = Reflect.set(target, property, value, receiver); if (oldValue !== value) notifyObservers("set", { index: property, value: value }, result); return result; } }); } $32e43a82b8e36c73$export$2b76b04f92326cd.prototype.subscribe = function(callback) { this.observers.add(callback); }; $32e43a82b8e36c73$export$2b76b04f92326cd.prototype.unsubscribe = function(callback) { this.observers.delete(callback); }; var $5e6879fad66e268c$exports = {}; $parcel$export($5e6879fad66e268c$exports, "html", () => $5e6879fad66e268c$export$c0bb0b647f701bb5); $parcel$export($5e6879fad66e268c$exports, "customElement", () => $5e6879fad66e268c$re_export$customElement); $parcel$export($5e6879fad66e268c$exports, "css", () => $5e6879fad66e268c$re_export$css); $parcel$export($5e6879fad66e268c$exports, "ViewTemplate", () => $5e6879fad66e268c$re_export$ViewTemplate); $parcel$export($5e6879fad66e268c$exports, "HTMLView", () => $5e6879fad66e268c$re_export$HTMLView); $parcel$export($5e6879fad66e268c$exports, "volatile", () => $5e6879fad66e268c$re_export$volatile); $parcel$export($5e6879fad66e268c$exports, "WebComponent", () => $55a177ca025730f0$export$7f8b9f308979d41d); function $ad561189c3a675d2$export$855330f8a2a9f2e8(effect_name, callback, dependencies) { (0, $524aec7c3c6d48fc$export$dc573d8a6576cdb3)(dependencies)(this, effect_name, callback); } function $e1c24cd94ecea2f8$export$ad300186e7a01246(key, value) { function useState(key) { return [ this[key], (newValue)=>{ this[key] = newValue; } ]; } (0, $25b99ce497008ca4$export$ca000e230c0caa3e)()(this, key, value); return useState.bind(this)(key); } function $5121559b99f023e4$export$366cf43304d85757(key, value) { (0, $25b99ce497008ca4$export$ca000e230c0caa3e)()(this, key, value, false); } class $55a177ca025730f0$export$7f8b9f308979d41d extends (0, $8zHUo$microsoftfastelement.FASTElement) { constructor(){ super(); // onStateChange?: (name: string, oldValue: any, newValue: any) => void = null; this.stateChangeCallbacks = new Set(); } get bindState() { return (0, $e1c24cd94ecea2f8$export$ad300186e7a01246).bind(this); } get bindConsumable() { return (0, $5121559b99f023e4$export$366cf43304d85757).bind(this); } get bindEffect() { return (0, $ad561189c3a675d2$export$855330f8a2a9f2e8).bind(this); } get onStateChange() { return (function(callback) { if (!this.stateChangeCallbacks.has(callback)) this.stateChangeCallbacks.add(callback); }).bind(this); } handleStateChange(propertyName, oldValue, newValue) { (this.stateChangeCallbacks || []).forEach((callback)=>{ callback(propertyName, oldValue, newValue); }); this[propertyName] = newValue; this.effects?.execute(propertyName); } connectedCallback() { this.effects?.execute(); super.connectedCallback(); } } $55a177ca025730f0$export$7f8b9f308979d41d.define = (0, $8zHUo$microsoftfastelement.FASTElement).define; const $5e6879fad66e268c$export$c0bb0b647f701bb5 = (0, $8zHUo$microsoftfastelement.html); var $67a1dbfdad6a62d9$exports = {}; var $5221daf215a19ea7$exports = {}; $parcel$export($5221daf215a19ea7$exports, "ViewExecutionContext", () => $5221daf215a19ea7$export$1053a9be1bcefef9); class $5221daf215a19ea7$export$1053a9be1bcefef9 extends Object { constructor(data){ super(); this.states = {}; this.effects = (0, $6b22b6b12ada86dd$export$af73ab700e00763e)(); this.stateChangeCallbacks = new Set(); this.handleStateChange = (propertyName, oldValue, newValue)=>{ (this.stateChangeCallbacks || []).forEach((callback)=>{ callback(propertyName, oldValue, newValue); }); this[propertyName] = newValue; this["effects"].execute(propertyName); }; Object.assign(this, data); } get bindState() { return (0, $e1c24cd94ecea2f8$export$ad300186e7a01246).bind(this); } get bindConsumable() { return (0, $5121559b99f023e4$export$366cf43304d85757).bind(this); } get bindEffect() { return (0, $ad561189c3a675d2$export$855330f8a2a9f2e8).bind(this); } get onStateChange() { return (function(callback) { if (!this.stateChangeCallbacks.has(callback)) this.stateChangeCallbacks.add(callback); }).bind(this); } static init(data) { return new $5221daf215a19ea7$export$1053a9be1bcefef9(data); } } var $bf7368973063149f$exports = {}; var $8e473c7aec91a0a4$exports = {}; $parcel$exportWildcard($67a1dbfdad6a62d9$exports, $5221daf215a19ea7$exports); $parcel$exportWildcard($67a1dbfdad6a62d9$exports, $bf7368973063149f$exports); $parcel$exportWildcard($67a1dbfdad6a62d9$exports, $8e473c7aec91a0a4$exports); var $a995219139975453$exports = {}; var $0cc15574a08971b7$exports = {}; $parcel$export($0cc15574a08971b7$exports, "render", () => $0cc15574a08971b7$export$b3890eb0ae9dca99); // Fonction pour observer les enfants ajoutés const $0cc15574a08971b7$var$observeChilds = (container, config, callback)=>{ // Crée un MutationObserver const observer = new MutationObserver((mutationsList, observer)=>{ // Parcourt toutes les mutations détectées mutationsList.forEach((mutation)=>{ if (mutation.type === "childList") // Vérifie si des nœuds ont été ajoutés mutation.addedNodes.forEach((node)=>{ if (node.nodeType === Node.ELEMENT_NODE) { console.log("Nouvel \xe9l\xe9ment ajout\xe9 :", node); callback(node); // Exécute le callback avec le nœud ajouté } }); }); }); // Démarre l'observation observer.observe(container, config); // Retourne l'observer pour pouvoir le déconnecter si besoin return observer; }; function $0cc15574a08971b7$export$b3890eb0ae9dca99(template, container = document.body, data = {}) { let context = (0, $5221daf215a19ea7$export$1053a9be1bcefef9).init(data); let observer = $0cc15574a08971b7$var$observeChilds(container, { childList: true, // Observe les ajouts et suppressions d'enfants subtree: false // Si true, observe tous les descendants du parent }, (node)=>{ if (node instanceof (0, $55a177ca025730f0$export$7f8b9f308979d41d) == false) { if (context["effects"]) context["effects"].execute(); } observer.disconnect(); }); let element = template.render(context, container); return element; } $parcel$exportWildcard($a995219139975453$exports, $0cc15574a08971b7$exports); $parcel$exportWildcard(module.exports, $0fe2052b2c651410$exports); $parcel$exportWildcard(module.exports, $3f98161bb563abdf$exports); $parcel$exportWildcard(module.exports, $d7167569386d0d4c$exports); $parcel$exportWildcard(module.exports, $5e6879fad66e268c$exports); $parcel$exportWildcard(module.exports, $67a1dbfdad6a62d9$exports); $parcel$exportWildcard(module.exports, $a995219139975453$exports); //# sourceMappingURL=index.js.map