/**
 * Slide animation preset
 */
export var slide = {
    hide: function (notification) {
        // Prepare variables
        var config = notification.component.getConfig();
        var shift = notification.component.getShift();
        var from;
        var to;
        // Configure variables, depending on configuration and component
        switch (config.position.horizontal.position) {
            case 'left':
                from = {
                    transform: "translate3d( 0, " + shift + "px, 0 )"
                };
                to = {
                    transform: "translate3d( calc( -100% - " + config.position.horizontal.distance + "px - 10px ), " + shift + "px, 0 )"
                };
                break;
            case 'middle':
                var horizontalPosition = void 0;
                switch (config.position.vertical.position) {
                    case 'top':
                        horizontalPosition = "calc( -100% - " + config.position.horizontal.distance + "px - 10px )";
                        break;
                    case 'bottom':
                        horizontalPosition = "calc( 100% + " + config.position.horizontal.distance + "px + 10px )";
                        break;
                    default:
                        throw new Error("Notifier Error: \"" + config.position.vertical.position + "\" is not a valid vertical position.");
                }
                from = {
                    transform: "translate3d( -50%, " + shift + "px, 0 )"
                };
                to = {
                    transform: "translate3d( -50%, " + horizontalPosition + ", 0 )"
                };
                break;
            case 'right':
                from = {
                    transform: "translate3d( 0, " + shift + "px, 0 )"
                };
                to = {
                    transform: "translate3d( calc( 100% + " + config.position.horizontal.distance + "px + 10px ), " + shift + "px, 0 )"
                };
                break;
            default:
                throw new Error("Notifier Error: \"" + config.position.horizontal.position + "\" is not a valid horizontal position.");
        }
        // Done
        return {
            from: from,
            to: to
        };
    },
    show: function (notification) {
        // Prepare variables
        var config = notification.component.getConfig();
        var from;
        var to;
        // Configure variables, depending on configuration and component
        switch (config.position.horizontal.position) {
            case 'left':
                from = {
                    transform: "translate3d( calc( -100% - " + config.position.horizontal.distance + "px - 10px ), 0, 0 )"
                };
                to = {
                    transform: 'translate3d( 0, 0, 0 )'
                };
                break;
            case 'middle':
                var horizontalPosition = void 0;
                switch (config.position.vertical.position) {
                    case 'top':
                        horizontalPosition = "calc( -100% - " + config.position.horizontal.distance + "px - 10px )";
                        break;
                    case 'bottom':
                        horizontalPosition = "calc( 100% + " + config.position.horizontal.distance + "px + 10px )";
                        break;
                    default:
                        throw new Error("Notifier Error: \"" + config.position.vertical.position + "\" is not a valid vertical position.");
                }
                from = {
                    transform: "translate3d( -50%, " + horizontalPosition + ", 0 )"
                };
                to = {
                    transform: 'translate3d( -50%, 0, 0 )'
                };
                break;
            case 'right':
                from = {
                    transform: "translate3d( calc( 100% + " + config.position.horizontal.distance + "px + 10px ), 0, 0 )"
                };
                to = {
                    transform: 'translate3d( 0, 0, 0 )'
                };
                break;
            default:
                throw new Error("Notifier Error: \"" + config.position.horizontal.position + "\" is not a valid horizontal position.");
        }
        // Done
        return {
            from: from,
            to: to
        };
    }
};
//# sourceMappingURL=slide.animation-preset.js.map