<div class="tree-node {{#if node.isSelected}}selected{{/if}}" data-type="{{node.type}}" data-sheet-uuid="{{node.uuid}}">
  <div class="tree-node-header {{#if node.hasChildren}}expandable{{/if}}">

    {{#if node.hasChildren}}
    <i class="fas {{#if node.isExpanded}}fa-chevron-down{{else}}fa-chevron-right{{/if}} expand-icon expand-toggle"
      data-action="expantToggle"></i>
    {{else}}
    <i class="tree-spacer"></i>
    {{/if}}

    <i class="{{node.displayIcon}} node-icon" alt="{{node.name}}">&nbsp;</i>
    <span class="tree-label clickable" data-type="{{node.type}}" data-sheet-uuid="{{node.uuid}}"
      data-action="selectSheet" data-name="{{node.name}}" draggable="true" data-drag="true" data-entry-id="{{node.id}}">
      {{node.name}}
      {{#if node.quests}}&nbsp;<i class="fas fa-scroll node-icon" style="font-size:10px">&nbsp;</i>{{/if}}
    </span>
    <div class="tree-actions">
      {{#if (and isGM node.canUnlink)}}
      <i class="fas fa-times btn-remove-member" data-uuid="{{node.uuid}}" data-action="removeNPC"
        title="{{ccLocalize 'context.removeLink'}}"></i>
      {{/if}}
    </div>
    <div class="tree-actions">
      <i class="fas fa-external-link-alt btn-open-sheet" data-action="open{{capitalize node.type}}"
        data-uuid="{{node.uuid}}" title="{{ccLocalize 'title.open.sheet'}}"></i>
    </div>
  </div>

  {{#if node.hasChildren}}
  <div class="tree-children" style="display: {{#if node.isExpanded}}block{{else}}none{{/if}};">
    {{#each node.children}}
    {{!-- This is the recursive call --}}
    {{> "modules/campaign-codex/templates/partials/group-tree-tag-node.hbs" node=this isGM=../isGM}}
    {{/each}}
  </div>
  {{/if}}
</div>
