{% from "macro_restriction.html" import restriction with context %}
{%- macro tabbed_section(operator, current_node) -%}
{% include "tabbed_section.html" %}
{%- endmacro -%}
{%- macro content(schema, skip_headers=False) -%}
{% set keys = schema.keywords %}
{# Resolve type #}
{%- set type_name = schema.type_name -%}
{% if not skip_headers %}
{%- if config.show_breadcrumbs -%}
{%- include "breadcrumbs.html" -%}
{%- endif -%}
{# Display type #}
{%- if not schema is combining -%}
Type: {{ type_name }}
{%- endif -%}
{%- if schema.format -%}
Format: {{ schema.format }}
{%- endif -%}
{# Display default #}
{%- set default_value = schema.default_value -%}
{%- if default_value -%}
{{ " " }}Default: {{ default_value }}
{%- endif -%}
{%- set description = (schema | get_description) -%}
{%- include "section_description.html" -%}
{%- endif -%}
{%- if schema.should_be_a_link(config) -%}
Same definition as {{ schema.links_to.link_name }}
{%- elif schema.refers_to -%}
{{ content(schema.refers_to_merged, True) }}
{%- else -%}
{%- if schema.explicit_no_additional_properties -%}
{{ " " }}No Additional Properties
{%- endif -%}
{# Combining: allOf, anyOf, oneOf, not #}
{%- if schema.kw_all_of -%}
{{ schema.kw_const.raw | python_to_json }}
{%- endif -%}
{# Pattern (Regular Expression) #}
{%- if schema.kw_pattern -%}
Must match regular expression: {{ schema.kw_pattern.literal | escape }}
{%- endif -%}
{# Conditional subschema, or if-then-else section #}
{%- if schema.has_conditional -%}
{% include "section_conditional_subschema.html" %}
{%- endif -%}
{# Required properties that are not defined under "properties". They will only be listed #}
{% include "section_undocumented_required_properties.html" %}
{# Show the requested type(s) #}
{% include "badge_type.html" %}
{# Show array restrictions #}
{%- if type_name.startswith("array") -%}
{% include "section_array.html" %}
{%- endif -%}
{# Display examples #}
{%- set examples = schema.examples -%}
{%- if examples -%}
{% include "section_examples.html" %}
{%- endif -%}
{# Properties, pattern properties, additional properties #}
{%- for sub_property in schema.iterate_properties -%}
{% include "section_properties.html" %}
{%- endfor -%}
{%- endif -%}
{%- endmacro -%}