(() => {
  const result = document.createElement('pre');
  result.id = 'boba-native-desktop-result';
  result.hidden = true;
  document.body.append(result);
  const failures = [];
  const report = value => { result.textContent = JSON.stringify(value); };
  window.addEventListener('error', event => {
    failures.push(event.message);
    report({ready:false, failures});
  });
  fetch(document.documentElement.dataset.bobaMenuInput || '/native-menu/input.json', {cache:'no-store'}).then(response => response.json()).then(data => {
    const input = data.desktopMenu;
    const original = window['rb_wixui.thunderbolt_menu'].components.StylableHorizontalMenu_WrapFlyout;
    function OriginalDesktopMenu() {
      const mapped = original.controller.useComponentProps(input.props, {currentUrl:input.currentUrl}, {});
      return React.createElement(original.component, {...mapped, id:input.id});
    }
    ReactDOM.render(React.createElement(OriginalDesktopMenu), document.getElementById('boba-native-desktop-host'));
    report({ready:true, failures, originalComponent:true});
  }).catch(error => report({ready:false, failures:[String(error.stack || error)]}));
})();
