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

  function CrawlIssueTable(props) {
    var React = global.React;
    var issues = props && props.issues || [];
    var onSelect = props && props.onSelect || function noop() {};
    if (!issues.length) {
      return React.createElement('div', { className: 'free-seo-empty' }, 'No issues loaded. Run a crawl or change the filters.');
    }
    return React.createElement('div', { className: 'free-seo-table-wrap' }, React.createElement('table', { className: 'free-seo-issue-table' }, [
      React.createElement('thead', { key: 'head' }, React.createElement('tr', null, [
        React.createElement('th', { key: 'sev' }, 'Severity'),
        React.createElement('th', { key: 'cat' }, 'Category'),
        React.createElement('th', { key: 'code' }, 'Issue'),
        React.createElement('th', { key: 'page' }, 'Page'),
        React.createElement('th', { key: 'rec' }, 'Recommendation')
      ])),
      React.createElement('tbody', { key: 'body' }, issues.map(function mapIssue(issue, index) {
        return React.createElement('tr', { key: issue.pageUrl + ':' + issue.code + ':' + index, onClick: function handleClick() { onSelect(issue); } }, [
          React.createElement('td', { key: 'severity', className: 'severity-' + issue.severity }, issue.severity),
          React.createElement('td', { key: 'category' }, issue.category),
          React.createElement('td', { key: 'code' }, issue.code),
          React.createElement('td', { key: 'page' }, React.createElement('a', { href: issue.pageUrl, target: '_blank', rel: 'noreferrer' }, issue.pageUrl)),
          React.createElement('td', { key: 'recommendation' }, issue.recommendation)
        ]);
      }))
    ]));
  }

  global.FreeSeoCrawlIssueTable = CrawlIssueTable;
})(typeof window !== 'undefined' ? window : globalThis);
