(function attachImplementationQaRunForm(global) {
  function defaultCurrentHtml() {
    return '<title>Emergency Plumbing Rome | Example</title><meta name="description" content="Fast emergency plumbing in Rome"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Service"}</script><h1>Emergency Plumbing in Rome</h1><a href="/contact">Book service</a>';
  }
  function ImplementationQaRunForm(props) {
    var React = global.React;
    var useState = React.useState;
    var _a = useState('example.com'), domain = _a[0], setDomain = _a[1];
    var _b = useState('https://example.com/service'), url = _b[0], setUrl = _b[1];
    var _c = useState(''), baselineHtml = _c[0], setBaselineHtml = _c[1];
    var _d = useState(defaultCurrentHtml()), currentHtml = _d[0], setCurrentHtml = _d[1];
    var _e = useState('schema:Service\nmeta_title:Emergency Plumbing\ninternal_link:/contact'), expectations = _e[0], setExpectations = _e[1];
    var _f = useState(false), saving = _f[0], setSaving = _f[1];
    function parseExpectations(text) {
      return String(text || '').split(/\n+/).map(function (line, index) {
        var parts = line.split(':');
        var type = (parts.shift() || '').trim();
        var value = parts.join(':').trim();
        if (!type) return null;
        if (type === 'schema') return { id: 'exp_' + (index + 1), type: 'schema', schemaType: value, url: url, severity: 'high' };
        if (type === 'meta_title') return { id: 'exp_' + (index + 1), type: 'meta_title', contains: value, url: url, severity: 'high' };
        if (type === 'internal_link') return { id: 'exp_' + (index + 1), type: 'internal_link', hrefContains: value, url: url, severity: 'medium' };
        return { id: 'exp_' + (index + 1), type: type, contains: value, url: url, severity: 'medium' };
      }).filter(Boolean);
    }
    function submit(ev) {
      ev.preventDefault();
      setSaving(true);
      var payload = {
        targetDomain: domain,
        mode: 'manual_snapshot',
        packageType: 'generic',
        baselinePages: baselineHtml ? [{ pageId: 'page_1', url: url, html: baselineHtml }] : [],
        currentPages: [{ pageId: 'page_1', url: url, html: currentHtml }],
        expectedChanges: parseExpectations(expectations)
      };
      props.onCreate(payload).finally(function () { setSaving(false); });
    }
    return React.createElement('form', { className: 'free-seo-card', onSubmit: submit },
      React.createElement('h3', null, 'Run Implementation QA'),
      React.createElement('label', null, 'Target domain', React.createElement('input', { value: domain, onChange: function (e) { setDomain(e.target.value); }, required: true })),
      React.createElement('label', null, 'Page URL', React.createElement('input', { value: url, onChange: function (e) { setUrl(e.target.value); }, required: true })),
      React.createElement('label', null, 'Baseline HTML (optional)', React.createElement('textarea', { rows: 5, value: baselineHtml, onChange: function (e) { setBaselineHtml(e.target.value); }, placeholder: 'Paste before snapshot HTML' })),
      React.createElement('label', null, 'Current HTML', React.createElement('textarea', { rows: 7, value: currentHtml, onChange: function (e) { setCurrentHtml(e.target.value); }, required: true })),
      React.createElement('label', null, 'Expected changes, one per line', React.createElement('textarea', { rows: 4, value: expectations, onChange: function (e) { setExpectations(e.target.value); } })),
      React.createElement('button', { type: 'submit', disabled: saving }, saving ? 'Running...' : 'Run QA')
    );
  }
  global.ImplementationQaRunForm = ImplementationQaRunForm;
})(window);
