var __assign = (this && this.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};
var __rest = (this && this.__rest) || function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
};
import { Check, Error } from '@procore/core-icons/dist';
import React from 'react';
import { StyledToast, StyledToastLabel } from './Toast.styles';
/**

 We use toasts to temporarily display information to a user. For example,
 as a confirmation that an action was successfully or unsuccessfully completed.

 Toasts do not present the user with an action. If an action needs to be
 performed because of the particular message, use a banner.

 @since 10.19.0

 @see [Storybook](https://procore.github.io/core/latest/?path=/story/demos-toast--demo)

 @see [Design Guidelines](https://design.procore.com/toast)

 */
export var Toast = React.forwardRef(function Toast(_a, ref) {
    var children = _a.children, variant = _a.variant, props = __rest(_a, ["children", "variant"]);
    return (React.createElement(StyledToast, __assign({}, props, { "$variant": variant, ref: ref }),
        variant === 'success' ? React.createElement(Check, { size: "lg" }) : React.createElement(Error, { size: "lg" }),
        React.createElement(StyledToastLabel, null, children)));
});
Toast.displayName = 'Toast';
export default Toast;
//# sourceMappingURL=Toast.js.map