{%- macro alert(content, style, compact, icon) -%} {%- set _icon_map = {"danger": "cancel", "warning": "error", "success": "check_circle", "info": "info"} -%} {%- if not icon -%} {%- set icon = _icon_map[style] -%} {%- endif %} {%- set _style_map = {"danger": "error"} -%} {%- set class = "nsw-in-page-alert" -%} {%- if style -%} {%- set class = class ~ " nsw-in-page-alert--" ~ _style_map.get(style, style) -%} {%- endif %} {%- if compact -%} {%- set class = class ~ " nsw-in-page-alert--compact" -%} {%- endif %}
{%- if icon -%} {%- endif %}
{{- content -}}
{%- endmacro %} {%- macro modal(content, title, footer, id, dismissible=true) -%} {%- set class = "nsw-dialog js-dialog" -%} {%- if dismissible -%} {%- set class = class ~ " js-dialog-dismiss" -%} {%- endif %}
{%- if title or dismissible -%}
{%- if title -%}

{{ title }}

{%- endif %}
{%- if dismissible -%}
{%- endif %}
{%- endif %}
{{ content }}
{%- if footer -%}
{{ footer }}
{%- endif %}
{%- endmacro %} {%- macro popover(content, title, id) -%}
{{ ui.heading(title, level=4) if title }} {{ content }}
{%- endmacro %} {%- macro tooltip(content, tooltip, toggle, theme="dark") -%} {{- content -}} {%- endmacro %} {%- macro spinner(content, style, size) -%}
{{ content or _("Loading") }}
{%- endmacro %} {%- macro progress(content, value=0, max=100) -%} {%- set pct = ((value / max) * 100) | round(1) if max > 0 else 0 -%} {%- set class = "nsw-progress-bar" ~ (" nsw-progress-bar--" ~ color if color else "")-%}
{%- if content is not none -%} {%- endif -%}
{%- endmacro %} {%- macro toast(content, title, style="info", dismissible=true, position="static", duration_ms=0) -%} {# postion: {top,bottom}-{left,center,right} #} {%- set _live = { "info": {"role": "status", "live": "polite"}, "success": {"role": "status", "live": "polite"}, "warning": {"role": "alert", "live": "assertive"}, "danger": {"role": "alert", "live": "assertive"} } -%} {%- set _icon = { "info": "info", "success": "check_circle", "warning": "warning", "danger": "cancel" } -%} {%- set aria = _live.get(style, _live["info"]) -%} {%- set icon_name = _icon.get(style, "info") -%} {%- set class = "js-toast nsw-toast nsw-toast--" ~ style -%} {%- set defaults = { "class": class, "role": aria.role, "aria-live": aria.live, "aria-atomic": "true", "data-toast-position": position, "data-toast-duration": duration_ms, "data-toast-dismissible": "true" if dismissible else "false", } -%}
{{ ui.icon(icon_name, _extra_class="nsw-toast__icon") }}
{%- if title %}

{{ title }}

{%- endif %}

{{ content }}

{%- if dismissible %} {%- endif %}
{%- endmacro %} {%- macro toast_stack(content, position="bottom-right") -%} {%- set class = "nsw-toast-stack" -%} {%- set vertical, horizontal = position.split("-") -%} {%- set class = class ~ " nsw-toast-stack--" ~ vertical -%} {%- set class = class ~ " nsw-toast-stack--" ~ horizontal -%}
{{ content }}
{%- endmacro %}