prototype(GesagtGetan.Basic:MenuLink) < prototype(Neos.Fusion:Tag) {
    @context {
        targetSchema = Neos.Fusion:Case {
            isShortcutWithTargetNode {
                condition = ${q(node).is('[instanceof Neos.Neos:Shortcut]') && q(node).property('targetMode') == 'selectedTarget'}
                renderer = Neos.Fusion:Value {
                    scheme = ${Neos.Link.getScheme(q(node).property('target'))}
                    value = ${this.scheme ? this.scheme : 'external'}
                }
            }
            default {
                condition = true
                renderer = 'node'
            }
        }
        href = Neos.Neos:NodeUri {
            node = ${node}
        }
    }
    tagName = 'a'
    attributes {
        rel = ${targetSchema == 'node' ? false : 'noopener'}
        target = ${targetSchema == 'node' || String.startsWith(href, 'mailto:') ? false : '_blank'}
        class = Neos.Fusion:RawArray {
            link = 'nav-link'
            level = GesagtGetan.Basic:MenuLevel
            targetSchema = ${'-' + targetSchema}
        }
        href = ${href}
    }
    content = ${(wrapAnchorWithSpan ? '<span>' : '') + q(node).property('title') + (wrapAnchorWithSpan ? '</span>' : '')}
}
