{# Defines macros for reusable templates. #} {% macro method(method) -%} {% include 'method.template.html' %} {% endmacro %} {% macro property(property) -%} {%
include 'property.template.html' %} {% endmacro %} {% macro methodList(methodList) -%} {% include 'method-list.template.html' %} {% endmacro %} {% macro
propertyList(propertyList) -%} {% include 'property-list.template.html' %} {% endmacro %} {% macro class(class) -%} {% include 'class.template.html' %} {%
endmacro %} {% macro interface(interface) -%} {% include 'interface.template.html' %} {% endmacro %} {% macro typeAlias(alias) -%} {% include
'type-alias.template.html' %} {% endmacro %}

<div class="docs-api">
    <p class="docs-api-module-import">
        <code>
            <span class="docs-api-module-import__import-span">import</span>
            { {$ doc.ngModule.name $} }
            <span class="docs-api-module-import__from-span">from</span>
            <span class="docs-api-module-import__path-span">'{$ doc.moduleImportPath $}'</span>;
        </code>
    </p>

    {%- if doc.services.length -%}
    <h3 id="services" class="docs-header-link docs-api-h3">
        <span header-link="services"></span>
        Services
    </h3>
    {% for service in doc.services %} {$ class(service) $} {% endfor %} {%- endif -%} {%- if doc.components.length -%}
    <h3 id="components" class="docs-header-link docs-api-h3">
        <span header-link="components"></span>
        Components
    </h3>
    {% for component in doc.components %} {$ class(component) $} {% endfor %} {%- endif -%}{%- if doc.directives.length -%}
    <h3 id="directives" class="docs-header-link docs-api-h3">
        <span header-link="directives"></span>
        Directives
    </h3>
    {% for directive in doc.directives %} {$ class(directive) $} {% endfor %} {%- endif -%} {%- if doc.additionalClasses.length -%}
    <h3 id="additional_classes" class="docs-header-link docs-api-h3">
        <span header-link="additional_classes"></span>
        Additional classes
    </h3>
    {% for other in doc.additionalClasses %} {$ class(other) $} {% endfor %} {%- endif -%} {%- if doc.additionalInterfaces.length -%}
    <h3 id="additional_interfaces" class="docs-header-link docs-api-h3">
        <span header-link="additional_interfaces"></span>
        Additional interfaces
    </h3>
    {% for item in doc.additionalInterfaces %} {$ interface(item) $} {% endfor %} {%- endif -%} {%- if doc.additionalFunctions.length -%}
    <h3 id="additional_functions" class="docs-header-link docs-api-h3">
        <span header-link="additional_functions"></span>
        Additional functions
    </h3>
    {% for item in doc.additionalFunctions %} {# Since the function docs have a similar structure as method docs, we use the method template. #} {$ method(item)
    $} {% endfor %} {%- endif -%} {%- if doc.additionalTypeAliases.length -%}
    <h3 id="additional_type_aliases" class="docs-header-link docs-api-h3">
        <span header-link="additional_type_aliases"></span>
        Additional type aliases
    </h3>
    {% for item in doc.additionalTypeAliases %} {$ typeAlias(item) $} {% endfor %} {%- endif -%}
</div>
