define("icyWildsComponentsAnimationPort", ["componentmodelComponentApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, clientkernelEventbusApi) {
        "use strict";

        function $iterator(o) {
            if (o instanceof Array) return function() {
                return {
                    cur: 0,
                    arr: o,
                    hasNext: function() {
                        return this.cur < this.arr.length;
                    },
                    next: function() {
                        return this.arr[this.cur++];
                    }
                };
            };
            return typeof(o.iterator) == 'function' ? $bind(o, o.iterator) : o.iterator;
        };;
        var $fid = 0;

        function $bind(o, m) {
            if (m == null) return null;
            if (m.__id__ == null) m.__id__ = $fid++;
            var f;
            if (o.hx__closures__ == null) o.hx__closures__ = {};
            else f = o.hx__closures__[m.__id__];
            if (f == null) {
                f = function() {
                    return f.method.apply(f.scope, arguments);
                };
                f.scope = o;
                f.method = m;
                o.hx__closures__[m.__id__] = f;
            }
            return f;
        };
        var $_;
        var $estr = function() {
            return _hcmn_.js_Boot.__string_rec(this, '');
        };
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

        haxe.IMap = function() {}
        haxe.IMap.prototype = {

        };
        if (typeof icyWildsComponentsAnimationPort == 'undefined') {
            var icyWildsComponentsAnimationPort = {};
        };

        icyWildsComponentsAnimationPort.IAnimationPort = function() {}
        icyWildsComponentsAnimationPort.IAnimationPort.prototype = {

            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getCount: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getCountFinished: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShown: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getTriggered: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        icyWildsComponentsAnimationPort.IAnimationImplementationPort = function() {}
        icyWildsComponentsAnimationPort.IAnimationImplementationPort.prototype = {

            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getCount: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getCountFinished: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShown: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getTriggered: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        icyWildsComponentsAnimationPort.AnimationPort = function(instance, bus) {
            this.show = instance.createTopic("animation:show");
            this.hide = instance.createTopic("animation:hide");
            this.shown = instance.createTopic("animation:shown");
            this.triggered = instance.createTopic("animation:triggered");
            this.count = instance.createTopic("animation:count");
            this.countFinished = instance.createTopic("animation:countFinished");
            this.show.connect(bus);
            this.hide.connect(bus);
            this.shown.connect(bus);
            this.triggered.connect(bus);
            this.count.connect(bus);
            this.countFinished.connect(bus);
        };
        icyWildsComponentsAnimationPort.AnimationPort = ck_implements(icyWildsComponentsAnimationPort.AnimationPort, icyWildsComponentsAnimationPort.IAnimationPort);
        icyWildsComponentsAnimationPort.AnimationPort = ck_implements(icyWildsComponentsAnimationPort.AnimationPort, icyWildsComponentsAnimationPort.IAnimationImplementationPort);
        icyWildsComponentsAnimationPort.AnimationPort.__interfaces__ = [icyWildsComponentsAnimationPort.IAnimationPort, icyWildsComponentsAnimationPort.IAnimationImplementationPort];
        icyWildsComponentsAnimationPort.AnimationPort.__name__ = ["icyWildsComponentsAnimationPort", "AnimationPort"];
        icyWildsComponentsAnimationPort.AnimationPort.prototype.show = null;
        icyWildsComponentsAnimationPort.AnimationPort.prototype.hide = null;
        icyWildsComponentsAnimationPort.AnimationPort.prototype.shown = null;
        icyWildsComponentsAnimationPort.AnimationPort.prototype.triggered = null;
        icyWildsComponentsAnimationPort.AnimationPort.prototype.count = null;
        icyWildsComponentsAnimationPort.AnimationPort.prototype.countFinished = null;
        icyWildsComponentsAnimationPort.AnimationPort.prototype.getShow = function() {
            return this.show;
        };
        icyWildsComponentsAnimationPort.AnimationPort.prototype.getHide = function() {
            return this.hide;
        };
        icyWildsComponentsAnimationPort.AnimationPort.prototype.getShown = function() {
            return this.shown;
        };
        icyWildsComponentsAnimationPort.AnimationPort.prototype.getTriggered = function() {
            return this.triggered;
        };
        icyWildsComponentsAnimationPort.AnimationPort.prototype.getCount = function() {
            return this.count;
        };
        icyWildsComponentsAnimationPort.AnimationPort.prototype.getCountFinished = function() {
            return this.countFinished;
        };
        icyWildsComponentsAnimationPort.AnimationPort.prototype.__class__ = icyWildsComponentsAnimationPort.AnimationPort;
        icyWildsComponentsAnimationPort.AnimationPortFactory = function() {};
        icyWildsComponentsAnimationPort.AnimationPortFactory = ck_implements(icyWildsComponentsAnimationPort.AnimationPortFactory, componentmodelComponentApi.IComponentPortFactory);
        icyWildsComponentsAnimationPort.AnimationPortFactory.__interfaces__ = [componentmodelComponentApi.IComponentPortFactory];
        icyWildsComponentsAnimationPort.AnimationPortFactory.__name__ = ["icyWildsComponentsAnimationPort", "AnimationPortFactory"];
        icyWildsComponentsAnimationPort.AnimationPortFactory.prototype.provide = function(instance, channel) {
            return new icyWildsComponentsAnimationPort.AnimationPort(instance, channel);
        };
        icyWildsComponentsAnimationPort.AnimationPortFactory.prototype["use"] = function(instance, channel) {
            return new icyWildsComponentsAnimationPort.AnimationPort(instance, channel);
        };
        icyWildsComponentsAnimationPort.AnimationPortFactory.prototype.__class__ = icyWildsComponentsAnimationPort.AnimationPortFactory;
        icyWildsComponentsAnimationPort.CounterPayload = function(animationId, startValue, endValue, duration, numOfSteps, stepFunction, finishFunction, data) {
            this.animationId = animationId;
            this.startValue = startValue;
            this.endValue = endValue;
            this.duration = duration;
            this.numOfSteps = numOfSteps;
            this.stepFunction = stepFunction;
            this.finishFunction = finishFunction;
            if (data != null) this.data = data;
        };
        icyWildsComponentsAnimationPort.CounterPayload.__name__ = ["icyWildsComponentsAnimationPort", "CounterPayload"];
        icyWildsComponentsAnimationPort.CounterPayload.prototype.animationId = null;
        icyWildsComponentsAnimationPort.CounterPayload.prototype.startValue = null;
        icyWildsComponentsAnimationPort.CounterPayload.prototype.endValue = null;
        icyWildsComponentsAnimationPort.CounterPayload.prototype.duration = null;
        icyWildsComponentsAnimationPort.CounterPayload.prototype.numOfSteps = null;
        icyWildsComponentsAnimationPort.CounterPayload.prototype.stepFunction = null;
        icyWildsComponentsAnimationPort.CounterPayload.prototype.finishFunction = null;
        icyWildsComponentsAnimationPort.CounterPayload.prototype.data = null;
        icyWildsComponentsAnimationPort.CounterPayload.prototype.__class__ = icyWildsComponentsAnimationPort.CounterPayload;
        icyWildsComponentsAnimationPort.ShowAnimationPayload = function(animationId, action, data, triggers) {
            this.animationId = animationId;
            this.action = action;
            this.data = data;
            this.triggers = triggers;
        };
        icyWildsComponentsAnimationPort.ShowAnimationPayload.__name__ = ["icyWildsComponentsAnimationPort", "ShowAnimationPayload"];
        icyWildsComponentsAnimationPort.ShowAnimationPayload.prototype.animationId = null;
        icyWildsComponentsAnimationPort.ShowAnimationPayload.prototype.action = null;
        icyWildsComponentsAnimationPort.ShowAnimationPayload.prototype.triggers = null;
        icyWildsComponentsAnimationPort.ShowAnimationPayload.prototype.data = null;
        icyWildsComponentsAnimationPort.ShowAnimationPayload.prototype.__class__ = icyWildsComponentsAnimationPort.ShowAnimationPayload;
        return {
            exports: icyWildsComponentsAnimationPort
        };
    });
//# sourceURL=icyWildsAnimationPort.js