import { mountMyBookingsInstance } from 'bookingpress-my-bookings-v3';
import 'bookingpress-ui';
(function initRegistry(){
if(typeof window==='undefined') return;
if(!window.BookingPressMyBookingsV3){
window.BookingPressMyBookingsV3={ instances: {}};}
if(!window.BookingPressMyBookingsV3.instances){
window.BookingPressMyBookingsV3.instances={};}
window.BookingPressMyBookingsV3.mountMyBookingsInstance=mountMyBookingsInstance;
if(!window.BookingPressMyBookingsV3.addons){
window.BookingPressMyBookingsV3.addons=new Map();
}
if(typeof window.BookingPressMyBookingsV3.registerAddon!=='function'){
window.BookingPressMyBookingsV3.registerAddon=function (name, factory){
if(!name||typeof factory!=='function') return;
window.BookingPressMyBookingsV3.addons.set(String(name), factory);
for (const handle of Object.values(window.BookingPressMyBookingsV3.instances)){
if(!handle||!handle.api) continue;
try { factory({ instanceId: handle.instanceId, api: handle.api, state: handle.config });} catch (_e){}}
};}})();
function readModuleData(){
if(typeof document==='undefined') return null;
const node=document.getElementById('wp-script-module-data-bookingpress-my-bookings-v3-loader');
if(!node) return null;
try {
return JSON.parse(node.textContent||'{}');
} catch (err){
console.warn('[bp-mb-v3] failed to parse module data island', err);
return null;
}}
const moduleData=readModuleData();
const instances=(moduleData&&moduleData.instances)||{};
const count=Object.keys(instances).length;
console.info(`[bp-mb-v3] loader ready (instances: ${count})`);
for (const [id, initialState] of Object.entries(instances)){
try {
const handle=mountMyBookingsInstance(id, initialState);
if(handle&&handle.api&&window.BookingPressMyBookingsV3.addons){
for (const [name, factory] of window.BookingPressMyBookingsV3.addons.entries()){
try { factory({ instanceId: id, api: handle.api, state: handle.config, name });} catch (_e){}}
}} catch (err){
console.error('[bp-mb-v3] failed to mount instance', id, err);
}}
export {};