import { __decorate, __metadata } from "tslib";
import { Directive } from '@angular/core';
import { DebugData, DynamicOutput } from '@anglr/dynamic/relations';
import { nameof } from '@jscrpt/common';
import * as i0 from "@angular/core";
/**
 * List block scoped relations component
 */
let ListBlockRelations = class ListBlockRelations {
    constructor() {
        //######################### public properties - outputs #########################
        /**
         * Instance of datum assigned to this item in list
         */
        this.datum = null;
        /**
         * Index of assigned datum to this item in list
         */
        this.index = 0;
        /**
         * Indication whether is this first item in list
         */
        this.first = false;
        /**
         * Indication whether is this last item in list
         */
        this.last = false;
    }
    /**
     * @inheritdoc
     */
    invalidateVisuals() {
    }
};
ListBlockRelations.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ListBlockRelations, deps: [], target: i0.ɵɵFactoryTarget.Directive });
ListBlockRelations.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: ListBlockRelations, ngImport: i0 });
__decorate([
    DynamicOutput(),
    __metadata("design:type", Object)
], ListBlockRelations.prototype, "datum", void 0);
__decorate([
    DynamicOutput(),
    __metadata("design:type", Number)
], ListBlockRelations.prototype, "index", void 0);
__decorate([
    DynamicOutput(),
    __metadata("design:type", Boolean)
], ListBlockRelations.prototype, "first", void 0);
__decorate([
    DynamicOutput(),
    __metadata("design:type", Boolean)
], ListBlockRelations.prototype, "last", void 0);
ListBlockRelations = __decorate([
    DebugData({
        outputs: [
            nameof('datum'),
            nameof('index'),
            nameof('first'),
            nameof('last'),
        ],
    })
], ListBlockRelations);
export { ListBlockRelations };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ListBlockRelations, decorators: [{
            type: Directive
        }], propDecorators: { datum: [], index: [], first: [], last: [] } });
//# sourceMappingURL=listBlock.relations.js.map