"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
function _export(target, all) {
    for(var name in all)Object.defineProperty(target, name, {
        enumerable: true,
        get: Object.getOwnPropertyDescriptor(all, name).get
    });
}
_export(exports, {
    get RENDERER_TYPE () {
        return RENDERER_TYPE;
    },
    get dateRenderer () {
        return dateRenderer;
    }
});
const _autocompleteRenderer = require("../autocompleteRenderer");
const _console = require("../../helpers/console");
const RENDERER_TYPE = 'date';
const deprecatedMessageShown = new WeakSet();
function dateRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
    if (!deprecatedMessageShown.has(cellProperties.instance) && typeof cellProperties.dateFormat === 'string') {
        deprecatedMessageShown.add(cellProperties.instance);
        (0, _console.deprecatedWarn)('The `date` cell type with string-based `dateFormat` (moment.js) is deprecated. ' + 'In the next major release, `date` will accept only Intl.DateTimeFormat options (object). ' + 'To start migrating, use the `intl-date` cell type now; it will become the `date` cell type ' + 'after the next major release (the `intl-date` will become an alias for `date`).\n\n' + 'Migration guide: https://handsontable.com/docs/migration-from-16.2-to-17.0/\n' + '`date` cell type: https://handsontable.com/docs/date-cell-type/');
    }
    _autocompleteRenderer.autocompleteRenderer.apply(this, [
        hotInstance,
        TD,
        row,
        col,
        prop,
        value,
        cellProperties
    ]);
}
dateRenderer.RENDERER_TYPE = RENDERER_TYPE;
