+
{{ props.title }}
+ {{
+ govieParagraph({
+ "content": props.description,
+ "className": "!gi-mb-0"
+ })
+ }}
+ {% if props.action %}
+
+ {{
+ govieLink({
+ "noColor": true,
+ "size": "md",
+ "href": props.action.href,
+ "label": props.action.label
+ })
+ }}
+
+ {% endif %}
+
+ {% if props.dismissible %}
+ {{
+ govieIconButton({
+ "className": "gi-toast-dismiss",
+ "size": "small",
+ "appearance": "dark",
+ "variant": "flat",
+ "icon": {
+ "icon": "close"
+ }
+ })
+ }}
+ {% endif %}
+
+{% endmacro %}
diff --git a/packages/html/ds/src/toast/helpers.html b/packages/html/ds/src/toast/helpers.html
new file mode 100644
index 000000000..32f119130
--- /dev/null
+++ b/packages/html/ds/src/toast/helpers.html
@@ -0,0 +1,31 @@
+{% macro getIcon(variant) %}
+ {% if variant == 'warning' %}
+ warning
+ {% elif variant == 'success' %}
+ check_circle
+ {% elif variant == 'danger' %}
+ error
+ {% else %}
+ info
+ {% endif %}
+{% endmacro %}
+
+{% macro getVariant(variant) %}
+ {% if variant == 'danger' %}
+ gi-toast-danger
+ {% elif variant == 'success' %}
+ gi-toast-success
+ {% elif variant == 'warning' %}
+ gi-toast-warning
+ {% else %}
+ gi-toast-info
+ {% endif %}
+{% endmacro %}
+
+{% macro getBaseToastClass(dismissible) %}
+ {% if dismissible %}
+ gi-toast-base-dismissible
+ {% else %}
+ gi-toast-base
+ {% endif %}
+{% endmacro %}
diff --git a/packages/html/ds/src/toast/toast.html b/packages/html/ds/src/toast/toast.html
new file mode 100644
index 000000000..1819d198a
--- /dev/null
+++ b/packages/html/ds/src/toast/toast.html
@@ -0,0 +1,22 @@
+{% from 'toast/ds-toast.html' import govieDsToast %}
+{% from 'button/button.html' import govieButton %}
+
+{% macro govieToast(props) %}
+ {% set duration = props.duration %}
+ {% set positionX = props.position.x if props.position %}
+ {% set positionY = props.position.y if props.position %}
+
+
+ {% if props.trigger %}
+ {{ govieButton(props.trigger) }}
+ {% endif %}
+
+