(function registerPageLabEvidenceDrawer(global) {
  'use strict';

  function PageLabEvidenceDrawer(props) {
    var React = global.React;
    var page = props && props.page;
    var onClose = props && props.onClose;
    var ScoreGrid = global.FreeSeoLighthouseScoreGrid;
    var ViolationList = global.FreeSeoAxeViolationList;
    if (!page) return null;
    return React.createElement('aside', { className: 'free-seo-evidence-drawer', role: 'dialog', 'aria-label': 'Page Lab evidence' }, [
      React.createElement('header', { key: 'header' }, [
        React.createElement('div', { key: 'copy' }, [
          React.createElement('p', { key: 'eyebrow', className: 'eyebrow' }, page.status || 'completed'),
          React.createElement('h2', { key: 'title' }, page.url)
        ]),
        onClose ? React.createElement('button', { key: 'close', type: 'button', onClick: onClose, 'aria-label': 'Close evidence drawer' }, 'x') : null
      ]),
      ScoreGrid ? React.createElement(ScoreGrid, { key: 'scores', scores: page.scores || {} }) : null,
      React.createElement('section', { key: 'recommendations' }, [
        React.createElement('h3', { key: 'title' }, 'Recommendations'),
        page.recommendations && page.recommendations.length ? React.createElement('ol', { key: 'list', className: 'free-seo-recommendation-list' }, page.recommendations.slice(0, 20).map(function mapRec(rec) {
          return React.createElement('li', { key: rec.id, className: 'severity-' + rec.severity }, [
            React.createElement('strong', { key: 'title' }, rec.title),
            React.createElement('span', { key: 'meta' }, rec.severity + ' / ' + rec.category),
            React.createElement('p', { key: 'impl' }, rec.implementation || rec.description)
          ]);
        })) : React.createElement('p', { key: 'empty', className: 'free-seo-empty' }, 'No recommendations generated.')
      ]),
      React.createElement('section', { key: 'violations' }, [
        React.createElement('h3', { key: 'title' }, 'Accessibility violations'),
        ViolationList ? React.createElement(ViolationList, { key: 'list', violations: page.accessibilityViolations || [] }) : null
      ]),
      React.createElement('section', { key: 'audits' }, [
        React.createElement('h3', { key: 'title' }, 'Failed audits'),
        page.failedAudits && page.failedAudits.length ? React.createElement('ul', { key: 'list', className: 'free-seo-audit-list' }, page.failedAudits.slice(0, 20).map(function mapAudit(audit, index) {
          return React.createElement('li', { key: (audit.id || 'audit') + index }, [
            React.createElement('strong', { key: 'title' }, audit.title || audit.id),
            React.createElement('p', { key: 'description' }, audit.description || '')
          ]);
        })) : React.createElement('p', { key: 'empty', className: 'free-seo-empty' }, 'No failed audits found.')
      ])
    ]);
  }

  global.FreeSeoPageLabEvidenceDrawer = PageLabEvidenceDrawer;
})(typeof window !== 'undefined' ? window : globalThis);
