"use strict";
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
var Content_1 = require("./Content");
var topojson = require("topojson");
var d3 = require("d3");
var default_1 = /** @class */ (function (_super) {
    __extends(default_1, _super);
    function default_1() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.ShadowLeft = 5;
        _this.ShadowTop = 5;
        return _this;
    }
    default_1.prototype.resize = function (group) {
        var path = d3.geoPath().projection(this.PROJECTION);
        group.selectAll('path')
            .attr('d', path);
    };
    default_1.prototype.setData = function (group, data) {
        var topology = topojson.topology({ map: data });
        var path = d3.geoPath().projection(this.PROJECTION);
        group.append("path")
            .datum(topojson.merge(topology, topology.objects.map.geometries))
            .attr('d', path)
            .style('transform', " translate(" + this.ShadowLeft + "px," + this.ShadowTop + "px)");
    };
    return default_1;
}(Content_1.default));
exports.default = default_1;
