/** Shopify CDN: Minification failed

Line 16:0 Unexpected "{"
Line 16:1 Expected identifier but found "%"
Line 17:64 Unexpected "2026"
Line 22:83 Unterminated string token
Line 34:1 Expected identifier but found "%"
Line 35:0 Unexpected "{"
Line 35:1 Unexpected "{"
Line 35:3 Expected identifier but found "'mj-xref.css'"
Line 36:0 Unexpected "{"
Line 36:1 Unexpected "{"
... and 258 more hidden warnings

**/
{% comment %}
  RJ45 cross-reference — brand page · TeleWire Technology · 2026-10-04 (v2: one template for every brand)
  Used by page.mj-xref-brand.json on /pages/<brand>-rj45-cross-reference. Nothing here is brand-specific:
    brand name   ← the page title, up to " RJ45"   ("Bel Fuse RJ45 Jack Cross-Reference: …" → "Bel Fuse")
    table filter ← the page handle without "-rj45-cross-reference"   (bel-fuse)
    numbers      ← computed by assets/mj-xref.js from xref-data.json for that brand (count up on first view);
                   the crawlable numbers are in the page content's answer paragraph
    part lists   ← page.content, generated per brand by modular-jack/crossref/build_xref_pages.py
  Every text setting and FAQ block may use [brand].
  1. Hero: breadcrumb (hub › cross-reference › brand), H1, intro, "[brand] → TeleWire Technology" strip,
     stats + coverage bar
  2. Brand-locked search table (snippets/mj-xref-grid.liquid)
  3. page.content: answer paragraph, series list, in-catalogue table, request list, checklist, disclaimer
  4. FAQ (blocks) → FAQPage JSON-LD. Do NOT also add the theme FAQ section to this template.
  5. Lead band   6. Other brand pages (automatic, published pages only) + back to the tool and the hub
  JSON-LD: Dataset + FAQPage, linked to b2b-schema's #webpage and the theme's #organization. No Brand or
  Product node for the other manufacturer (nominative use only).
  Look: assets/mj-xref-brand.css (own design, deliberately different from the tool page) on top of mj-xref.css.
{% endcomment %}
{{ 'mj-xref.css' | asset_url | stylesheet_tag }}
{{ 'mj-xref-brand.css' | asset_url | stylesheet_tag }}

{%- assign s = section.settings -%}
{%- assign brand = page.title | split: ' RJ45' | first | strip -%}
{%- if s.brand_override.size > 0 -%}{%- assign brand = s.brand_override -%}{%- endif -%}
{%- assign slug = page.handle | remove: '-rj45-cross-reference' -%}
{%- assign src = 'mj-xref-' | append: slug -%}
{%- capture ctx -%}{{ s.rfq_context }} — {{ brand }}{%- endcapture -%}

<div class="mjx mjx--brand" data-mjx data-url="{{ 'xref-data.json' | asset_url }}" data-src="{{ src }}" data-brand-lock="{{ slug }}"
  data-per="{{ s.per_page }}" data-rfq-context="{{ ctx | escape }}" data-rfq-placeholder="{{ s.rfq_placeholder | escape }}" style="--mjx-w:{{ s.max_w }}px;">
  <noscript><style>.mjx-console,.mjx-gridsec,.mjx-bstats{display:none!important}</style></noscript>

  {%- comment -%} 1. Hero {%- endcomment -%}
  {%- assign hero_bg = s.hero_bg | default: '#121416' -%}
  {%- assign hero_lum = hero_bg | color_brightness -%}
  <header class="mjx-bhero mjx-sec{% if hero_lum < 128 %} mjx-bhero--dark{% endif %}" style="--pt:{{ s.head_pt }}px;--pb:{{ s.head_pb }}px;--mjx-hero-bg:{{ hero_bg }};">
    <div class="mjx-wrap">
      <nav class="mjx-crumb" aria-label="Breadcrumb">
        <a href="{{ s.hub_url }}">{{ s.hub_label }}</a><span aria-hidden="true">›</span>
        <a href="{{ s.tool_url }}">{{ s.tool_label }}</a><span aria-hidden="true">›</span>
        <span aria-current="page">{{ brand }}</span>
      </nav>
      <div class="mjx-bhero__grid">
        <div class="mjx-bhero__copy">
          <h1>{{ page.title }}</h1>
          {%- if s.intro != blank -%}<div class="mjx-head__intro">{{ s.intro | replace: '[brand]', brand }}</div>{%- endif -%}
          <div class="mjx-btns">
            <a class="mjx-btn mjx-btn--arrow" href="#xref">{{ s.btn_search | replace: '[brand]', brand }}</a>
            <a class="mjx-btn mjx-btn--line" href="/pages/contact?topic=crossref&amp;src={{ src }}-hero"
               data-rfq-open data-rfq-context="{{ ctx | append: ' — ' | append: s.btn_rfq | escape }}" data-rfq-placeholder="{{ s.rfq_placeholder | escape }}">{{ s.btn_rfq }}</a>
          </div>
        </div>
        <div class="mjx-vs" aria-label="{{ brand }} part numbers cross-referenced to TeleWire Technology">
          <div class="mjx-vs__box">
            <span class="mjx-label">{{ s.vs_left_label }}</span>
            <strong>{{ brand }}</strong>
            <small>{{ s.vs_left_note | replace: '[brand]', brand }}</small>
          </div>
          <div class="mjx-vs__arrow" aria-hidden="true"><svg width="40" height="16" viewBox="0 0 40 16"><path d="M0 8h36M30 2l7 6-7 6" fill="none" stroke="currentColor" stroke-width="2"/></svg></div>
          <div class="mjx-vs__box mjx-vs__box--tw">
            <span class="mjx-label">{{ s.vs_right_label }}</span>
            <strong>TeleWire Technology</strong>
            <small>{{ s.vs_right_note }}</small>
          </div>
        </div>
      </div>
      <dl class="mjx-bstats">
        <div><dt>{{ brand }} part numbers</dt><dd data-mjx-stat="total">0</dd></div>
        <div><dt>In catalogue, linked</dt><dd data-mjx-stat="catalogue">0</dd></div>
        <div><dt>Drawing on request</dt><dd data-mjx-stat="request">0</dd></div>
        <div class="mjx-bstats__cov">
          <svg class="mjx-ring" viewBox="0 0 64 64" aria-hidden="true"><circle class="mjx-ring__bg" cx="32" cy="32" r="28"/><circle class="mjx-ring__fg" cx="32" cy="32" r="28" data-mjx-ring/></svg>
          <dt>Catalogue coverage</dt>
          <dd><span data-mjx-stat="coverage">0</span>%</dd>
        </div>
      </dl>
    </div>
  </header>

  {%- comment -%} 2. Brand-locked search table {%- endcomment -%}
  {%- render 'mj-xref-grid', s: s, lock: slug, src: src -%}

  {%- comment -%} 3. Crawlable reference content {%- endcomment -%}
  {%- if page.content != blank -%}
  <section class="mjx-ref mjx-sec" style="--pt:{{ s.ref_pt }}px;--pb:{{ s.ref_pb }}px;">
    <div class="mjx-wrap"><div class="mjx-static">{{ page.content }}</div></div>
  </section>
  {%- endif -%}

  {%- comment -%} 4. FAQ {%- endcomment -%}
  {%- assign faqs = section.blocks | where: 'type', 'faq' -%}
  {%- if faqs.size > 0 -%}
  <section class="mjx-faq mjx-sec" style="--pt:{{ s.faq_pt }}px;--pb:{{ s.faq_pb }}px;">
    <div class="mjx-wrap">
      <span class="mjx-label">{{ s.faq_label }}</span>
      <h2 class="mjx-h2">{{ s.faq_heading | replace: '[brand]', brand }}</h2>
      <div class="mjx-faq__list">
        {%- for block in faqs -%}
          <details class="mjx-faq__item" {{ block.shopify_attributes }}{% if forloop.first %} open{% endif %}>
            <summary>{{ block.settings.question | replace: '[brand]', brand }}</summary>
            <div class="mjx-faq__a">{{ block.settings.answer | replace: '[brand]', brand }}</div>
          </details>
        {%- endfor -%}
      </div>
    </div>
  </section>
  {%- endif -%}

  {%- comment -%} 5. Lead band {%- endcomment -%}
  {%- if s.cta_heading != blank -%}
  <section class="mjx-cta mjx-sec" style="--pt:{{ s.cta_pt }}px;--pb:{{ s.cta_pb }}px;">
    <div class="mjx-wrap">
      <h2 class="mjx-h2">{{ s.cta_heading | replace: '[brand]', brand }}</h2>
      {%- if s.cta_text != blank -%}<p class="mjx-lede">{{ s.cta_text | replace: '[brand]', brand }}</p>{%- endif -%}
      <div class="mjx-cta__grid">
        <div class="mjx-cta__card">
          <span class="mjx-label">{{ s.eng_label }}</span>
          <h3>{{ s.eng_title | replace: '[brand]', brand }}</h3>
          <p>{{ s.eng_text | replace: '[brand]', brand }}</p>
          <a class="mjx-btn mjx-btn--arrow" href="/pages/contact?topic=crossref&amp;src={{ src }}-eng"
             data-rfq-open data-rfq-context="{{ ctx | append: ' — ' | append: s.eng_btn | escape }}" data-rfq-placeholder="{{ s.rfq_placeholder | escape }}">{{ s.eng_btn }}</a>
        </div>
        <div class="mjx-cta__card">
          <span class="mjx-label">{{ s.src_label }}</span>
          <h3>{{ s.src_title | replace: '[brand]', brand }}</h3>
          <p>{{ s.src_text | replace: '[brand]', brand }}</p>
          <a class="mjx-btn mjx-btn--arrow" href="/pages/contact?topic=crossref&amp;src={{ src }}-bom"
             data-rfq-open data-rfq-context="{{ ctx | append: ' — ' | append: s.src_btn | escape }}" data-rfq-placeholder="{{ s.rfq_placeholder | escape }}">{{ s.src_btn }}</a>
        </div>
      </div>
    </div>
  </section>
  {%- endif -%}

  {%- comment -%} 6. Other brand pages (only published ones) + tool + hub {%- endcomment -%}
  <section class="mjx-others mjx-sec" style="--pt:{{ s.others_pt }}px;--pb:{{ s.others_pb }}px;">
    <div class="mjx-wrap">
      <span class="mjx-label">{{ s.others_label }}</span>
      <ul class="mjx-others__list">
        {%- assign others = s.brand_slugs | split: ',' -%}
        {%- for o in others -%}
          {%- assign o_slug = o | strip -%}
          {%- if o_slug == slug or o_slug.size == 0 -%}{%- continue -%}{%- endif -%}
          {%- assign o_handle = o_slug | append: '-rj45-cross-reference' -%}
          {%- assign o_page = pages[o_handle] -%}
          {%- if o_page.url.size > 0 -%}
            <li><a href="{{ o_page.url }}">{{ o_page.title | split: ' RJ45' | first | strip }}</a></li>
          {%- endif -%}
        {%- endfor -%}
        <li class="mjx-others__all"><a href="{{ s.tool_url }}">{{ s.others_all }}</a></li>
        <li class="mjx-others__all"><a href="{{ s.hub_url }}">{{ s.others_hub }}</a></li>
      </ul>
    </div>
  </section>
</div>

<script src="{{ 'mj-xref.js' | asset_url }}" defer></script>

{%- assign mjx_page = shop.url | append: page.url -%}
{%- if s.emit_schema -%}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "@id": {{ mjx_page | append: '#dataset' | json }},
  "name": {{ s.dataset_name | replace: '[brand]', brand | json }},
  "description": {{ s.dataset_description | replace: '[brand]', brand | json }},
  "url": {{ mjx_page | json }},
  "isPartOf": { "@id": {{ mjx_page | append: '#webpage' | json }} },
  "creator": { "@id": {{ shop.url | append: '#organization' | json }} },
  "publisher": { "@id": {{ shop.url | append: '#organization' | json }} },
  "dateModified": {{ s.updated_iso | json }},
  "isAccessibleForFree": true,
  "keywords": {{ s.dataset_keywords | replace: '[brand]', brand | split: ',' | json }},
  "variableMeasured": ["Manufacturer part number", "TeleWire Technology equivalent part number", "Port configuration", "Ethernet speed", "PoE class", "Mounting and orientation", "Shielding"]
}
</script>
{%- endif -%}
{%- if s.emit_faq_schema and faqs.size > 0 -%}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "@id": {{ mjx_page | append: '#faq' | json }},
  "mainEntity": [
    {%- for block in faqs -%}
    {
      "@type": "Question",
      "name": {{ block.settings.question | replace: '[brand]', brand | strip_html | json }},
      "acceptedAnswer": { "@type": "Answer", "text": {{ block.settings.answer | replace: '[brand]', brand | strip_html | strip_newlines | strip | json }} }
    }{%- unless forloop.last -%},{%- endunless -%}
    {%- endfor -%}
  ]
}
</script>
{%- endif -%}

{% schema %}
{
  "name": "MJ xref: Brand page",
  "tag": "div",
  "settings": [
    { "type": "paragraph", "content": "One template for every brand page. The brand name comes from the page title (text before \" RJ45\"), the table filter from the page handle. Text may use [brand]." },
    { "type": "range", "id": "max_w", "min": 1000, "max": 1600, "step": 20, "unit": "px", "label": "Content max width", "default": 1280 },
    { "type": "text", "id": "brand_override", "label": "Brand name override (leave blank)" },
    { "type": "header", "content": "Hero" },
    { "type": "color", "id": "hero_bg", "label": "Hero background colour (dark colours switch the text to light)", "default": "#121416" },
    { "type": "text", "id": "hub_label", "label": "Breadcrumb: hub label", "default": "RJ45 Modular Jacks" },
    { "type": "text", "id": "hub_url", "label": "Breadcrumb: hub URL", "default": "/pages/rj45-modular-jack-manufacturer" },
    { "type": "text", "id": "tool_label", "label": "Breadcrumb: tool label", "default": "Cross-reference" },
    { "type": "text", "id": "tool_url", "label": "Breadcrumb: tool URL", "default": "/pages/rj45-cross-reference" },
    { "type": "richtext", "id": "intro", "label": "Intro ([brand] allowed)" },
    { "type": "text", "id": "btn_search", "label": "Search button", "default": "Search [brand] part numbers" },
    { "type": "text", "id": "btn_rfq", "label": "RFQ button", "default": "Share your part number or drawing" },
    { "type": "text", "id": "vs_left_label", "label": "Comparison: left label", "default": "Original part" },
    { "type": "text", "id": "vs_left_note", "label": "Comparison: left note", "default": "RJ45 jacks and MagJacks" },
    { "type": "text", "id": "vs_right_label", "label": "Comparison: right label", "default": "Drop-in replacement" },
    { "type": "text", "id": "vs_right_note", "label": "Comparison: right note", "default": "Made in Taiwan · samples and drawings on request" },
    { "type": "header", "content": "Search and table" },
    { "type": "text", "id": "placeholder", "label": "Search placeholder", "default": "Part number" },
    { "type": "text", "id": "examples", "label": "Example searches (blank = none)" },
    { "type": "text", "id": "multi_hint", "label": "Multi-part hint", "default": "Several parts? Paste them separated by commas or one per line." },
    { "type": "select", "id": "per_page", "label": "Rows per page", "default": "25",
      "options": [ { "value": "25", "label": "25" }, { "value": "50", "label": "50" }, { "value": "100", "label": "100" } ] },
    { "type": "text", "id": "table_caption", "label": "Table caption (screen readers)", "default": "RJ45 jack cross-reference to TeleWire Technology part numbers" },
    { "type": "text", "id": "empty_heading", "label": "No-match heading", "default": "Not in our list yet:" },
    { "type": "textarea", "id": "empty_text", "label": "No-match text" },
    { "type": "text", "id": "empty_btn", "label": "No-match button", "default": "Share your part number or drawing" },
    { "type": "text", "id": "tray_btn", "label": "Request list button", "default": "Request samples" },
    { "type": "header", "content": "FAQ" },
    { "type": "text", "id": "faq_label", "label": "Label", "default": "FAQ" },
    { "type": "text", "id": "faq_heading", "label": "Heading ([brand] allowed)", "default": "[brand] RJ45 cross-reference: questions" },
    { "type": "checkbox", "id": "emit_faq_schema", "label": "Output FAQPage schema", "default": true },
    { "type": "header", "content": "Lead band" },
    { "type": "text", "id": "cta_heading", "label": "Heading" },
    { "type": "text", "id": "cta_text", "label": "Text" },
    { "type": "text", "id": "eng_label", "label": "Card 1 label", "default": "Design engineers" },
    { "type": "text", "id": "eng_title", "label": "Card 1 title" },
    { "type": "textarea", "id": "eng_text", "label": "Card 1 text" },
    { "type": "text", "id": "eng_btn", "label": "Card 1 button", "default": "Request a sample & drawing" },
    { "type": "text", "id": "src_label", "label": "Card 2 label", "default": "Sourcing teams" },
    { "type": "text", "id": "src_title", "label": "Card 2 title" },
    { "type": "textarea", "id": "src_text", "label": "Card 2 text" },
    { "type": "text", "id": "src_btn", "label": "Card 2 button", "default": "Share your part number or drawing" },
    { "type": "header", "content": "Other brand pages" },
    { "type": "text", "id": "others_label", "label": "Label", "default": "Cross-references for other manufacturers" },
    { "type": "text", "id": "brand_slugs", "label": "Brand page slugs (comma-separated)", "default": "bel-fuse,halo,pulse,te-connectivity,wurth-elektronik,ude", "info": "Each shows only once /pages/<slug>-rj45-cross-reference is published." },
    { "type": "text", "id": "others_all", "label": "Link to the tool", "default": "All 32 manufacturers →" },
    { "type": "text", "id": "others_hub", "label": "Link to the hub", "default": "RJ45 modular jack manufacturer →" },
    { "type": "header", "content": "RFQ pop-up" },
    { "type": "text", "id": "rfq_context", "label": "RFQ context", "default": "RJ45 cross-reference" },
    { "type": "text", "id": "rfq_placeholder", "label": "Project details hint text" },
    { "type": "header", "content": "Structured data (Dataset)" },
    { "type": "checkbox", "id": "emit_schema", "label": "Output Dataset schema", "default": true },
    { "type": "text", "id": "dataset_name", "label": "Dataset name ([brand] allowed)", "default": "[brand] RJ45 jack cross-reference to TeleWire Technology" },
    { "type": "textarea", "id": "dataset_description", "label": "Dataset description ([brand] allowed)" },
    { "type": "text", "id": "dataset_keywords", "label": "Keywords (comma-separated, [brand] allowed)" },
    { "type": "text", "id": "updated_iso", "label": "Data updated (YYYY-MM-DD)" },
    { "type": "header", "content": "Section padding" },
    { "type": "range", "id": "head_pt", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Hero top", "default": 40 },
    { "type": "range", "id": "head_pb", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Hero bottom", "default": 44 },
    { "type": "range", "id": "console_pt", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Search console top", "default": 28 },
    { "type": "range", "id": "console_pb", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Search console bottom", "default": 24 },
    { "type": "range", "id": "grid_pt", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Table top", "default": 28 },
    { "type": "range", "id": "grid_pb", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Table bottom", "default": 48 },
    { "type": "range", "id": "ref_pt", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Reference content top", "default": 48 },
    { "type": "range", "id": "ref_pb", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Reference content bottom", "default": 56 },
    { "type": "range", "id": "faq_pt", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "FAQ top", "default": 56 },
    { "type": "range", "id": "faq_pb", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "FAQ bottom", "default": 56 },
    { "type": "range", "id": "cta_pt", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Lead band top", "default": 64 },
    { "type": "range", "id": "cta_pb", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Lead band bottom", "default": 64 },
    { "type": "range", "id": "others_pt", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Other brands top", "default": 36 },
    { "type": "range", "id": "others_pb", "min": 0, "max": 160, "step": 4, "unit": "px", "label": "Other brands bottom", "default": 40 }
  ],
  "blocks": [
    {
      "type": "faq",
      "name": "FAQ",
      "settings": [
        { "type": "text", "id": "question", "label": "Question ([brand] allowed)" },
        { "type": "richtext", "id": "answer", "label": "Answer ([brand] allowed)" }
      ]
    }
  ],
  "max_blocks": 12,
  "presets": [ { "name": "MJ xref: Brand page" } ]
}
{% endschema %}
