<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[657],{

/***/ 4785:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   b: () =&gt; (/* binding */ DataTable)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2115);
/* harmony import */ var primereact_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3477);
/* harmony import */ var primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7557);
/* harmony import */ var primereact_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9241);
/* harmony import */ var primereact_hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1933);
/* harmony import */ var primereact_icons_arrowdown__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(8729);
/* harmony import */ var primereact_icons_arrowup__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(2732);
/* harmony import */ var primereact_icons_spinner__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(1829);
/* harmony import */ var primereact_paginator__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(650);
/* harmony import */ var primereact_virtualscroller__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(3065);
/* harmony import */ var primereact_icons_bars__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3142);
/* harmony import */ var primereact_icons_check__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6968);
/* harmony import */ var primereact_icons_chevrondown__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3075);
/* harmony import */ var primereact_icons_chevronright__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4139);
/* harmony import */ var primereact_icons_pencil__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(7909);
/* harmony import */ var primereact_icons_times__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(9266);
/* harmony import */ var primereact_overlayservice__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6949);
/* harmony import */ var primereact_ripple__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(3539);
/* harmony import */ var primereact_tooltip__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6589);
/* harmony import */ var primereact_button__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(2099);
/* harmony import */ var primereact_csstransition__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(8633);
/* harmony import */ var primereact_dropdown__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(5487);
/* harmony import */ var primereact_icons_filter__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(5366);
/* harmony import */ var primereact_icons_filterslash__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(9163);
/* harmony import */ var primereact_icons_plus__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(8048);
/* harmony import */ var primereact_icons_trash__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(2446);
/* harmony import */ var primereact_inputtext__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(6533);
/* harmony import */ var primereact_portal__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(9243);
/* harmony import */ var primereact_icons_sortalt__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(1411);
/* harmony import */ var primereact_icons_sortamountdown__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(2348);
/* harmony import */ var primereact_icons_sortamountupalt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(7732);
/* __next_internal_client_entry_do_not_use__ DataTable auto */ 































function _extends() {
    _extends = Object.assign ? Object.assign.bind() : function(target) {
        for(var i = 1; i &lt; arguments.length; i++){
            var source = arguments[i];
            for(var key in source){
                if (Object.prototype.hasOwnProperty.call(source, key)) {
                    target[key] = source[key];
                }
            }
        }
        return target;
    };
    return _extends.apply(this, arguments);
}
function _typeof(o) {
    "@babel/helpers - typeof";
    return _typeof = "function" == typeof Symbol &amp;&amp; "symbol" == typeof Symbol.iterator ? function(o) {
        return typeof o;
    } : function(o) {
        return o &amp;&amp; "function" == typeof Symbol &amp;&amp; o.constructor === Symbol &amp;&amp; o !== Symbol.prototype ? "symbol" : typeof o;
    }, _typeof(o);
}
function _toPrimitive(input, hint) {
    if (_typeof(input) !== "object" || input === null) return input;
    var prim = input[Symbol.toPrimitive];
    if (prim !== undefined) {
        var res = prim.call(input, hint || "default");
        if (_typeof(res) !== "object") return res;
        throw new TypeError("@@toPrimitive must return a primitive value.");
    }
    return (hint === "string" ? String : Number)(input);
}
function _toPropertyKey(arg) {
    var key = _toPrimitive(arg, "string");
    return _typeof(key) === "symbol" ? key : String(key);
}
function _defineProperty(obj, key, value) {
    key = _toPropertyKey(key);
    if (key in obj) {
        Object.defineProperty(obj, key, {
            value: value,
            enumerable: true,
            configurable: true,
            writable: true
        });
    } else {
        obj[key] = value;
    }
    return obj;
}
function _arrayLikeToArray$1(arr, len) {
    if (len == null || len &gt; arr.length) len = arr.length;
    for(var i = 0, arr2 = new Array(len); i &lt; len; i++)arr2[i] = arr[i];
    return arr2;
}
function _arrayWithoutHoles(arr) {
    if (Array.isArray(arr)) return _arrayLikeToArray$1(arr);
}
function _iterableToArray(iter) {
    if (typeof Symbol !== "undefined" &amp;&amp; iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _unsupportedIterableToArray$1(o, minLen) {
    if (!o) return;
    if (typeof o === "string") return _arrayLikeToArray$1(o, minLen);
    var n = Object.prototype.toString.call(o).slice(8, -1);
    if (n === "Object" &amp;&amp; o.constructor) n = o.constructor.name;
    if (n === "Map" || n === "Set") return Array.from(o);
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen);
}
function _nonIterableSpread() {
    throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _toConsumableArray(arr) {
    return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread();
}
function _arrayWithHoles(arr) {
    if (Array.isArray(arr)) return arr;
}
function _iterableToArrayLimit(r, l) {
    var t = null == r ? null : "undefined" != typeof Symbol &amp;&amp; r[Symbol.iterator] || r["@@iterator"];
    if (null != t) {
        var e, n, i, u, a = [], f = !0, o = !1;
        try {
            if (i = (t = t.call(r)).next, 0 === l) {
                if (Object(t) !== t) return;
                f = !1;
            } else for(; !(f = (e = i.call(t)).done) &amp;&amp; (a.push(e.value), a.length !== l); f = !0);
        } catch (r) {
            o = !0, n = r;
        } finally{
            try {
                if (!f &amp;&amp; null != t["return"] &amp;&amp; (u = t["return"](), Object(u) !== u)) return;
            } finally{
                if (o) throw n;
            }
        }
        return a;
    }
}
function _nonIterableRest() {
    throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _slicedToArray(arr, i) {
    return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
}
var getStorage = function getStorage(stateStorageProp) {
    switch(stateStorageProp){
        case 'local':
            return window.localStorage;
        case 'session':
            return window.sessionStorage;
        case 'custom':
            return null;
        default:
            throw new Error(stateStorageProp + ' is not a valid value for the state storage, supported values are "local", "session" and "custom".');
    }
};
var ColumnBase = primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__/* .ComponentBase */ .x.extend({
    defaultProps: {
        __TYPE: 'Column',
        align: null,
        alignFrozen: 'left',
        alignHeader: null,
        body: null,
        bodyClassName: null,
        bodyStyle: null,
        cellEditValidateOnClose: false,
        cellEditValidator: null,
        cellEditValidatorEvent: 'click',
        className: null,
        colSpan: null,
        columnKey: null,
        dataType: 'text',
        editor: null,
        excludeGlobalFilter: false,
        expander: false,
        exportField: null,
        exportable: true,
        field: null,
        filter: false,
        filterApply: null,
        filterClear: null,
        filterElement: null,
        filterField: null,
        filterFooter: null,
        filterFunction: null,
        filterHeader: null,
        filterHeaderClassName: null,
        filterHeaderStyle: null,
        filterMatchMode: null,
        filterMatchModeOptions: null,
        filterMaxLength: null,
        filterMenuClassName: null,
        filterMenuStyle: null,
        filterPlaceholder: null,
        filterType: 'text',
        footer: null,
        footerClassName: null,
        footerStyle: null,
        frozen: false,
        header: null,
        headerClassName: null,
        headerStyle: null,
        headerTooltip: null,
        headerTooltipOptions: null,
        hidden: false,
        maxConstraints: 2,
        onBeforeCellEditHide: null,
        onBeforeCellEditShow: null,
        onCellEditCancel: null,
        onCellEditComplete: null,
        onCellEditInit: null,
        onFilterApplyClick: null,
        onFilterClear: null,
        onFilterConstraintAdd: null,
        onFilterConstraintRemove: null,
        onFilterMatchModeChange: null,
        onFilterOperatorChange: null,
        reorderable: true,
        resizeable: true,
        rowEditor: false,
        rowReorder: false,
        rowReorderIcon: null,
        rowSpan: null,
        selectionMode: null,
        showAddButton: true,
        showApplyButton: true,
        showClearButton: true,
        showFilterMatchModes: true,
        showFilterMenu: true,
        showFilterMenuOptions: true,
        showFilterOperator: true,
        sortField: null,
        sortFunction: null,
        sortable: false,
        sortableDisabled: false,
        style: null,
        children: undefined
    },
    getCProp: function getCProp(column, name) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getComponentProp(column, name, ColumnBase.defaultProps);
    },
    getCProps: function getCProps(column) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getComponentProps(column, ColumnBase.defaultProps);
    },
    getCOtherProps: function getCOtherProps(column) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getComponentDiffProps(column, ColumnBase.defaultProps);
    }
});
function ownKeys$e(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$e(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$e(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var styles$1 = "\n@layer primereact {\n    .p-datatable {\n        position: relative;\n    }\n\n    .p-datatable &gt; .p-datatable-wrapper {\n        overflow: auto;\n    }\n\n    .p-datatable-table {\n        border-spacing: 0px;\n        width: 100%;\n    }\n\n    .p-datatable .p-sortable-disabled {\n        cursor: auto;\n    }\n\n    .p-datatable .p-sortable-column {\n        cursor: pointer;\n        user-select: none;\n    }\n\n    .p-datatable .p-sortable-column .p-column-title,\n    .p-datatable .p-sortable-column .p-sortable-column-icon,\n    .p-datatable .p-sortable-column .p-sortable-column-badge {\n        vertical-align: middle;\n    }\n\n    .p-datatable .p-sortable-column .p-sortable-column-badge {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n    }\n\n    .p-datatable-selectable .p-selectable-row,\n    .p-datatable-selectable-cell .p-selectable-cell {\n        cursor: pointer;\n    }\n\n    .p-datatable-drag-selection-helper {\n        position: absolute;\n        z-index: 99999999;\n    }\n\n    /* Scrollable */\n    .p-datatable-scrollable &gt; .p-datatable-wrapper {\n        position: relative;\n    }\n\n    .p-datatable-scrollable-table &gt; .p-datatable-thead {\n        position: sticky;\n        top: 0;\n        z-index: 2;\n    }\n\n    .p-datatable.p-datatable-gridlines .p-datatable-scrollable-table &gt; .p-datatable-thead {\n        top: -1px;\n    }\n\n    .p-datatable-scrollable-table &gt; .p-datatable-frozen-tbody {\n        position: sticky;\n        z-index: 1;\n    }\n\n    .p-datatable-scrollable-table &gt; .p-datatable-tfoot {\n        position: sticky;\n        bottom: 0;\n        z-index: 1;\n    }\n\n    .p-datatable-scrollable .p-frozen-column {\n        position: sticky;\n        background: inherit;\n    }\n\n    .p-datatable-scrollable th.p-frozen-column {\n        z-index: 1;\n    }\n\n    .p-datatable-flex-scrollable {\n        display: flex;\n        flex-direction: column;\n        height: 100%;\n    }\n\n    .p-datatable-flex-scrollable &gt; .p-datatable-wrapper {\n        display: flex;\n        flex-direction: column;\n        flex: 1;\n        height: 100%;\n    }\n\n    .p-datatable-scrollable-table &gt; .p-datatable-tbody &gt; .p-rowgroup-header {\n        position: sticky;\n        z-index: 1;\n    }\n\n    /* Resizable */\n    .p-datatable-resizable-table &gt; .p-datatable-thead &gt; tr &gt; th,\n    .p-datatable-resizable-table &gt; .p-datatable-tfoot &gt; tr &gt; td,\n    .p-datatable-resizable-table &gt; .p-datatable-tbody &gt; tr &gt; td {\n        overflow: hidden;\n        white-space: nowrap;\n    }\n\n    .p-datatable-resizable-table &gt; .p-datatable-thead &gt; tr &gt; th.p-resizable-column:not(.p-frozen-column) {\n        background-clip: padding-box;\n        position: relative;\n    }\n\n    .p-datatable-resizable-table-fit &gt; .p-datatable-thead &gt; tr &gt; th.p-resizable-column:last-child .p-column-resizer {\n        display: none;\n    }\n\n    .p-datatable .p-column-resizer {\n        display: block;\n        position: absolute;\n        top: 0;\n        right: 0;\n        margin: 0;\n        width: 0.5rem;\n        height: 100%;\n        padding: 0px;\n        cursor: col-resize;\n        border: 1px solid transparent;\n    }\n\n    .p-datatable .p-column-header-content {\n        display: flex;\n        align-items: center;\n    }\n\n    .p-datatable .p-column-resizer-helper {\n        width: 1px;\n        position: absolute;\n        z-index: 10;\n        display: none;\n    }\n\n    .p-datatable .p-row-editor-init,\n    .p-datatable .p-row-editor-save,\n    .p-datatable .p-row-editor-cancel {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        overflow: hidden;\n        position: relative;\n    }\n\n    /* Expand */\n    .p-datatable .p-row-toggler {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        overflow: hidden;\n        position: relative;\n    }\n\n    /* Reorder */\n    .p-datatable-reorder-indicator-up,\n    .p-datatable-reorder-indicator-down {\n        position: absolute;\n        display: none;\n    }\n\n    .p-reorderable-column,\n    .p-datatable-reorderablerow-handle {\n        cursor: move;\n    }\n\n    /* Loader */\n    .p-datatable .p-datatable-loading-overlay {\n        position: absolute;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        z-index: 2;\n    }\n\n    /* Filter */\n    .p-column-filter-row {\n        display: flex;\n        align-items: center;\n        width: 100%;\n    }\n\n    .p-column-filter-menu {\n        display: inline-flex;\n        margin-left: auto;\n    }\n\n    .p-column-filter-row .p-column-filter-element {\n        flex: 1 1 auto;\n        width: 1%;\n    }\n\n    .p-column-filter-menu-button,\n    .p-column-filter-clear-button {\n        display: inline-flex;\n        justify-content: center;\n        align-items: center;\n        cursor: pointer;\n        text-decoration: none;\n        overflow: hidden;\n        position: relative;\n    }\n\n    .p-column-filter-overlay {\n        position: absolute;\n        top: 0;\n        left: 0;\n    }\n\n    .p-column-filter-row-items {\n        margin: 0;\n        padding: 0;\n        list-style: none;\n    }\n\n    .p-column-filter-row-item {\n        cursor: pointer;\n    }\n\n    .p-column-filter-add-button,\n    .p-column-filter-remove-button {\n        justify-content: center;\n    }\n\n    .p-column-filter-add-button .p-button-label,\n    .p-column-filter-remove-button .p-button-label {\n        flex-grow: 0;\n    }\n\n    .p-column-filter-buttonbar {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n    }\n\n    .p-column-filter-buttonbar .p-button:not(.p-button-icon-only) {\n        width: auto;\n    }\n\n    /* Responsive */\n    .p-datatable .p-datatable-tbody &gt; tr &gt; td &gt; .p-column-title {\n        display: none;\n    }\n\n    /* VirtualScroller */\n    .p-datatable-virtualscroller-spacer {\n        display: flex;\n    }\n\n    .p-datatable .p-virtualscroller .p-virtualscroller-loading {\n        transform: none;\n        min-height: 0;\n        position: sticky;\n        top: 0;\n        left: 0;\n    }\n\n    /* Alignment */\n    .p-datatable .p-datatable-thead &gt; tr &gt; th.p-align-left &gt; .p-column-header-content,\n    .p-datatable .p-datatable-tbody &gt; tr &gt; td.p-align-left,\n    .p-datatable .p-datatable-tfoot &gt; tr &gt; td.p-align-left {\n        text-align: left;\n        justify-content: flex-start;\n    }\n\n    .p-datatable .p-datatable-thead &gt; tr &gt; th.p-align-right &gt; .p-column-header-content,\n    .p-datatable .p-datatable-tbody &gt; tr &gt; td.p-align-right,\n    .p-datatable .p-datatable-tfoot &gt; tr &gt; td.p-align-right {\n        text-align: right;\n        justify-content: flex-end;\n    }\n\n    .p-datatable .p-datatable-thead &gt; tr &gt; th.p-align-center &gt; .p-column-header-content,\n    .p-datatable .p-datatable-tbody &gt; tr &gt; td.p-align-center,\n    .p-datatable .p-datatable-tfoot &gt; tr &gt; td.p-align-center {\n        text-align: center;\n        justify-content: center;\n    }\n}\n";
var classes$2 = {
    root: function root(_ref) {
        var props = _ref.props, selectable = _ref.selectable;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-datatable p-component', {
            'p-datatable-hoverable-rows': props.rowHover,
            'p-datatable-selectable': selectable &amp;&amp; !props.cellSelection,
            'p-datatable-selectable-cell': selectable &amp;&amp; props.cellSelection,
            'p-datatable-resizable': props.resizableColumns,
            'p-datatable-resizable-fit': props.resizableColumns &amp;&amp; props.columnResizeMode === 'fit',
            'p-datatable-scrollable': props.scrollable,
            'p-datatable-flex-scrollable': props.scrollable &amp;&amp; props.scrollHeight === 'flex',
            'p-datatable-responsive-stack': props.responsiveLayout === 'stack',
            'p-datatable-responsive-scroll': props.responsiveLayout === 'scroll',
            'p-datatable-striped': props.stripedRows,
            'p-datatable-gridlines': props.showGridlines,
            'p-datatable-grouped-header': props.headerColumnGroup != null,
            'p-datatable-grouped-footer': props.footerColumnGroup != null,
            'p-datatable-sm': props.size === 'small',
            'p-datatable-lg': props.size === 'large'
        });
    },
    loadingIcon: 'p-datatable-loading-icon',
    loadingOverlay: 'p-datatable-loading-overlay p-component-overlay',
    header: 'p-datatable-header',
    wrapper: 'p-datatable-wrapper',
    table: function table(_ref2) {
        var props = _ref2.props;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-datatable-table', {
            'p-datatable-scrollable-table': props.scrollable,
            'p-datatable-resizable-table': props.resizableColumns,
            'p-datatable-resizable-table-fit': props.resizableColumns &amp;&amp; props.columnResizeMode === 'fit'
        });
    },
    thead: 'p-datatable-thead',
    tfoot: 'p-datatable-tfoot',
    footer: 'p-datatable-footer',
    checkIcon: 'p-checkbox-icon',
    resizeHelper: 'p-column-resizer-helper',
    reorderIndicatorUp: 'p-datatable-reorder-indicator-up',
    reorderIndicatorDown: 'p-datatable-reorder-indicator-down',
    paginator: function paginator(_ref3) {
        var position = _ref3.position;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-paginator-' + position);
    },
    bodyCell: function bodyCell(_ref4) {
        var selectionMode = _ref4.selectionMode, editor = _ref4.editor, editingState = _ref4.editingState, frozen = _ref4.frozen, cellSelected = _ref4.cellSelected, align = _ref4.align, props = _ref4.bodyProps, getCellParams = _ref4.getCellParams;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(_defineProperty({
            'p-selection-column': selectionMode !== null,
            'p-editable-column': editor,
            'p-cell-editing': editor &amp;&amp; editingState,
            'p-frozen-column': frozen,
            'p-selectable-cell': props.allowCellSelection &amp;&amp; props.isSelectable({
                data: getCellParams(),
                index: props.rowIndex
            }),
            'p-highlight': cellSelected
        }, "p-align-".concat(align), !!align));
    },
    columnTitle: 'p-column-title',
    bodyRow: function bodyRow(_ref5) {
        var props = _ref5.rowProps;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)({
            'p-highlight': !props.allowCellSelection &amp;&amp; props.selected || props.contextMenuSelected,
            'p-highlight-contextmenu': props.contextMenuSelected,
            'p-selectable-row': props.allowRowSelection &amp;&amp; props.isSelectable({
                data: props.rowData,
                index: props.rowIndex
            }),
            'p-row-odd': props.rowIndex % 2 !== 0
        });
    },
    rowGroupTogglerIcon: 'p-row-toggler-icon',
    rowGroupToggler: 'p-row-toggler p-link',
    rowGroupHeader: 'p-rowgroup-header',
    rowGroupHeaderName: 'p-rowgroup-header-name',
    rowGroupFooter: 'p-rowgroup-footer',
    rowReorderIcon: 'p-datatable-reorderablerow-handle',
    rowTogglerIcon: 'p-row-toggler-icon',
    rowToggler: 'p-row-toggler p-link',
    rowEditorSaveIcon: 'p-row-editor-save-icon',
    rowEditorSaveButton: 'p-row-editor-save p-link',
    rowEditorCancelIcon: 'p-row-editor-cancel-icon',
    rowEditorCancelButton: 'p-row-editor-cancel p-link',
    rowEditorInitIcon: 'p-row-editor-init-icon',
    rowEditorInitButton: 'p-row-editor-init p-link',
    rowExpansion: 'p-datatable-row-expansion',
    virtualScrollerSpacer: function virtualScrollerSpacer(_ref6) {
        var className = _ref6.className;
        return className;
    },
    tbody: function tbody(_ref7) {
        var className = _ref7.className;
        return className;
    },
    filterInput: 'p-fluid p-column-filter-element',
    filterMenuButton: function filterMenuButton(_ref8) {
        var overlayVisibleState = _ref8.overlayVisibleState, hasFilter = _ref8.hasFilter;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-column-filter-menu-button p-link', {
            'p-column-filter-menu-button-open': overlayVisibleState,
            'p-column-filter-menu-button-active': hasFilter()
        });
    },
    headerFilterClearButton: function headerFilterClearButton(_ref9) {
        var hasRowFilter = _ref9.hasRowFilter;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-column-filter-clear-button p-link', {
            'p-hidden-space': !hasRowFilter()
        });
    },
    filterSeparator: 'p-column-filter-separator',
    filterRowItem: function filterRowItem(_ref10) {
        var isRowMatchModeSelected = _ref10.isRowMatchModeSelected, isShowMatchModes = _ref10.isShowMatchModes, value = _ref10.value;
        return isShowMatchModes() ? (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-column-filter-row-item', {
            'p-highlight': value &amp;&amp; isRowMatchModeSelected(value)
        }) : undefined;
    },
    filterRowItems: 'p-column-filter-row-items',
    filterOperator: 'p-column-filter-operator',
    filterConstraints: 'p-column-filter-constraints',
    filterConstraint: 'p-column-filter-constraint',
    filterAddRule: 'p-column-filter-add-rule',
    filterButtonBar: 'p-column-filter-buttonbar',
    filterOverlay: function filterOverlay(_ref11) {
        var props = _ref11.columnFilterProps, context = _ref11.context, getColumnProp = _ref11.getColumnProp;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-column-filter-overlay p-component p-fluid', getColumnProp('filterMenuClassName'), {
            'p-column-filter-overlay-menu': props.display === 'menu',
            'p-input-filled': context &amp;&amp; context.inputStyle === 'filled' || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.inputStyle === 'filled',
            'p-ripple-disabled': context &amp;&amp; context.ripple === false || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.ripple === false
        });
    },
    columnFilter: function columnFilter(_ref12) {
        var props = _ref12.columnFilterProps;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-column-filter p-fluid', {
            'p-column-filter-row': props.display === 'row',
            'p-column-filter-menu': props.display === 'menu'
        });
    },
    columnResizer: 'p-column-resizer',
    emptyMessage: 'p-datatable-emptymessage',
    sortBadge: 'p-sortable-column-badge',
    sortIcon: 'p-sortable-column-icon',
    headerTitle: 'p-column-title',
    headerContent: 'p-column-header-content',
    headerCell: function headerCell(_ref13) {
        var props = _ref13.headerProps, frozen = _ref13.frozen, sortMeta = _ref13.sortMeta, align = _ref13.align, _isSortableDisabled = _ref13._isSortableDisabled, getColumnProp = _ref13.getColumnProp;
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isEmpty(props) ? (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-filter-column', {
            'p-frozen-column': frozen
        }) : (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(_defineProperty({
            'p-filter-column': !props.headerColumnGroup &amp;&amp; props.filterDisplay === 'row',
            'p-sortable-column': getColumnProp('sortable'),
            'p-resizable-column': props.resizableColumns &amp;&amp; getColumnProp('resizeable'),
            'p-highlight': sortMeta.sorted,
            'p-frozen-column': frozen,
            'p-selection-column': getColumnProp('selectionMode'),
            'p-sortable-disabled': getColumnProp('sortable') &amp;&amp; _isSortableDisabled,
            'p-reorderable-column': props.reorderableColumns &amp;&amp; getColumnProp('reorderable') &amp;&amp; !frozen
        }, "p-align-".concat(align), !!align));
    },
    footerCell: function footerCell(_ref14) {
        var getColumnProp = _ref14.getColumnProp, align = _ref14.align;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(_defineProperty({
            'p-frozen-column': getColumnProp('frozen')
        }, "p-align-".concat(align), !!align));
    },
    transition: 'p-connected-overlay'
};
var inlineStyles = {
    wrapper: {
        overflow: 'auto'
    },
    resizeHelper: {
        display: 'none'
    },
    reorderIndicatorUp: function reorderIndicatorUp(_ref15) {
        var style = _ref15.style;
        return _objectSpread$e({}, style);
    },
    reorderIndicatorDown: function reorderIndicatorDown(_ref16) {
        var style = _ref16.style;
        return _objectSpread$e({}, style);
    }
};
var DataTableBase = primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__/* .ComponentBase */ .x.extend({
    defaultProps: {
        __TYPE: 'DataTable',
        alwaysShowPaginator: true,
        breakpoint: '960px',
        cellClassName: null,
        cellSelection: false,
        checkIcon: null,
        className: null,
        collapsedRowIcon: null,
        columnResizeMode: 'fit',
        compareSelectionBy: 'deepEquals',
        contextMenuSelection: null,
        csvSeparator: ',',
        currentPageReportTemplate: '({currentPage} of {totalPages})',
        customRestoreState: null,
        customSaveState: null,
        dataKey: null,
        defaultSortOrder: 1,
        dragSelection: false,
        editMode: null,
        editingRows: null,
        emptyMessage: null,
        expandableRowGroups: false,
        expandedRowIcon: null,
        expandedRows: null,
        exportFilename: 'download',
        exportFunction: null,
        filterClearIcon: null,
        filterDelay: 300,
        filterDisplay: 'menu',
        filterIcon: null,
        filterLocale: undefined,
        filters: null,
        first: 0,
        footer: null,
        footerColumnGroup: null,
        frozenRow: false,
        frozenValue: null,
        frozenWidth: null,
        globalFilter: null,
        globalFilterFields: null,
        globalFilterMatchMode: primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterMatchMode */ .Rn.CONTAINS,
        groupRowsBy: null,
        header: null,
        headerColumnGroup: null,
        id: null,
        isDataSelectable: null,
        lazy: false,
        loading: false,
        loadingIcon: null,
        metaKeySelection: false,
        multiSortMeta: null,
        onAllRowsSelect: null,
        onAllRowsUnselect: null,
        onCellClick: null,
        onCellSelect: null,
        onCellUnselect: null,
        onColReorder: null,
        onColumnResizeEnd: null,
        onColumnResizerClick: null,
        onColumnResizerDoubleClick: null,
        onContextMenu: null,
        onContextMenuSelectionChange: null,
        onFilter: null,
        onPage: null,
        onRowClick: null,
        onRowCollapse: null,
        onRowDoubleClick: null,
        onRowEditCancel: null,
        onRowEditChange: null,
        onRowEditComplete: null,
        onRowEditInit: null,
        onRowEditSave: null,
        onRowExpand: null,
        onRowMouseEnter: null,
        onRowMouseLeave: null,
        onRowPointerDown: null,
        onRowPointerUp: null,
        onRowReorder: null,
        onRowSelect: null,
        onRowToggle: null,
        onRowUnselect: null,
        onSelectAllChange: null,
        onSelectionChange: null,
        onSort: null,
        onStateRestore: null,
        onStateSave: null,
        onValueChange: null,
        pageLinkSize: 5,
        paginator: false,
        paginatorClassName: null,
        paginatorDropdownAppendTo: null,
        paginatorLeft: null,
        paginatorPosition: 'bottom',
        paginatorRight: null,
        paginatorTemplate: 'FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown',
        removableSort: false,
        reorderIndicatorDownIcon: null,
        reorderIndicatorUpIcon: null,
        reorderableColumns: false,
        reorderableRows: false,
        resizableColumns: false,
        responsiveLayout: 'scroll',
        rowClassName: null,
        rowEditValidator: null,
        rowEditorCancelIcon: null,
        rowEditorInitIcon: null,
        rowEditorSaveIcon: null,
        rowExpansionTemplate: null,
        rowGroupFooterTemplate: null,
        rowGroupHeaderTemplate: null,
        rowGroupMode: null,
        rowHover: false,
        rows: null,
        rowsPerPageOptions: null,
        scrollHeight: null,
        scrollable: false,
        selectAll: false,
        selectOnEdit: true,
        selection: null,
        selectionAriaLabel: null,
        selectionAutoFocus: true,
        selectionMode: null,
        selectionPageOnly: false,
        showGridlines: false,
        showHeaders: true,
        showRowReorderElement: null,
        showSelectAll: true,
        showSelectionElement: null,
        size: 'normal',
        sortField: null,
        sortIcon: null,
        sortMode: 'single',
        sortOrder: null,
        stateKey: null,
        stateStorage: 'session',
        stripedRows: false,
        style: null,
        tabIndex: 0,
        tableClassName: null,
        tableStyle: null,
        totalRecords: null,
        value: null,
        virtualScrollerOptions: null,
        children: undefined
    },
    css: {
        styles: styles$1,
        classes: classes$2,
        inlineStyles: inlineStyles
    }
});
function _objectWithoutPropertiesLoose(source, excluded) {
    if (source == null) return {};
    var target = {};
    var sourceKeys = Object.keys(source);
    var key, i;
    for(i = 0; i &lt; sourceKeys.length; i++){
        key = sourceKeys[i];
        if (excluded.indexOf(key) &gt;= 0) continue;
        target[key] = source[key];
    }
    return target;
}
function _objectWithoutProperties(source, excluded) {
    if (source == null) return {};
    var target = _objectWithoutPropertiesLoose(source, excluded);
    var key, i;
    if (Object.getOwnPropertySymbols) {
        var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
        for(i = 0; i &lt; sourceSymbolKeys.length; i++){
            key = sourceSymbolKeys[i];
            if (excluded.indexOf(key) &gt;= 0) continue;
            if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
            target[key] = source[key];
        }
    }
    return target;
}
var classes$1 = {
    box: 'p-checkbox-box',
    input: 'p-checkbox-input',
    icon: 'p-checkbox-icon',
    root: function root(_ref) {
        var props = _ref.props, checked = _ref.checked, context = _ref.context;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-checkbox p-component', {
            'p-highlight': checked,
            'p-disabled': props.disabled,
            'p-invalid': props.invalid,
            'p-variant-filled': props.variant ? props.variant === 'filled' : context &amp;&amp; context.inputStyle === 'filled'
        });
    }
};
var CheckboxBase = primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__/* .ComponentBase */ .x.extend({
    defaultProps: {
        __TYPE: 'Checkbox',
        autoFocus: false,
        checked: false,
        className: null,
        disabled: false,
        falseValue: false,
        icon: null,
        id: null,
        inputId: null,
        inputRef: null,
        invalid: false,
        variant: null,
        name: null,
        onChange: null,
        onContextMenu: null,
        onMouseDown: null,
        readOnly: false,
        required: false,
        style: null,
        tabIndex: null,
        tooltip: null,
        tooltipOptions: null,
        trueValue: true,
        value: null,
        children: undefined
    },
    css: {
        classes: classes$1
    }
});
function ownKeys$d(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$d(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$d(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var Checkbox = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function(inProps, ref) {
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .PrimeReactContext */ .UM);
    var props = CheckboxBase.getProps(inProps, context);
    var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), _React$useState2 = _slicedToArray(_React$useState, 2), focusedState = _React$useState2[0], setFocusedState = _React$useState2[1];
    var _CheckboxBase$setMeta = CheckboxBase.setMetaData({
        props: props,
        state: {
            focused: focusedState
        },
        context: {
            checked: props.checked === props.trueValue,
            disabled: props.disabled
        }
    }), ptm = _CheckboxBase$setMeta.ptm, cx = _CheckboxBase$setMeta.cx, isUnstyled = _CheckboxBase$setMeta.isUnstyled;
    (0,primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__/* .useHandleStyle */ .j)(CheckboxBase.css.styles, isUnstyled, {
        name: 'checkbox'
    });
    var elementRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var inputRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(props.inputRef);
    var isChecked = function isChecked() {
        return props.checked === props.trueValue;
    };
    var _onChange = function onChange(event) {
        if (props.disabled || props.readonly) {
            return;
        }
        if (props.onChange) {
            var _props$onChange;
            var _checked = isChecked();
            var value = _checked ? props.falseValue : props.trueValue;
            var eventData = {
                originalEvent: event,
                value: props.value,
                checked: value,
                stopPropagation: function stopPropagation() {
                    event === null || event === void 0 || event.stopPropagation();
                },
                preventDefault: function preventDefault() {
                    event === null || event === void 0 || event.preventDefault();
                },
                target: {
                    type: 'checkbox',
                    name: props.name,
                    id: props.id,
                    value: props.value,
                    checked: value
                }
            };
            props === null || props === void 0 || (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, eventData);
            // do not continue if the user defined click wants to prevent
            if (event.defaultPrevented) {
                return;
            }
            primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.focus(inputRef.current);
        }
    };
    var _onFocus = function onFocus(event) {
        var _props$onFocus;
        setFocusedState(true);
        props === null || props === void 0 || (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props, event);
    };
    var _onBlur = function onBlur(event) {
        var _props$onBlur;
        setFocusedState(false);
        props === null || props === void 0 || (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, event);
    };
    react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(ref, function() {
        return {
            props: props,
            focus: function focus() {
                return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.focus(inputRef.current);
            },
            getElement: function getElement() {
                return elementRef.current;
            },
            getInput: function getInput() {
                return inputRef.current;
            }
        };
    });
    react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function() {
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.combinedRefs(inputRef, props.inputRef);
    }, [
        inputRef,
        props.inputRef
    ]);
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUpdateEffect */ .w5)(function() {
        inputRef.current.checked = isChecked();
    }, [
        props.checked,
        props.trueValue
    ]);
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMountEffect */ .uU)(function() {
        if (props.autoFocus) {
            primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.focus(inputRef.current, props.autoFocus);
        }
    });
    var checked = isChecked();
    var hasTooltip = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(props.tooltip);
    var otherProps = CheckboxBase.getOtherProps(props);
    var rootProps = mergeProps({
        id: props.id,
        className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(props.className, cx('root', {
            checked: checked,
            context: context
        })),
        style: props.style,
        'data-p-highlight': checked,
        'data-p-disabled': props.disabled,
        onContextMenu: props.onContextMenu,
        onMouseDown: props.onMouseDown
    }, otherProps, ptm('root'));
    var createInputElement = function createInputElement() {
        var ariaProps = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.reduceKeys(otherProps, primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.ARIA_PROPS);
        var inputProps = mergeProps(_objectSpread$d({
            id: props.inputId,
            type: 'checkbox',
            className: cx('input'),
            name: props.name,
            tabIndex: props.tabIndex,
            onFocus: function onFocus(e) {
                return _onFocus(e);
            },
            onBlur: function onBlur(e) {
                return _onBlur(e);
            },
            onChange: function onChange(e) {
                return _onChange(e);
            },
            disabled: props.disabled,
            readOnly: props.readOnly,
            required: props.required,
            'aria-invalid': props.invalid,
            checked: checked
        }, ariaProps), ptm('input'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("input", _extends({
            ref: inputRef
        }, inputProps));
    };
    var createBoxElement = function createBoxElement() {
        var iconProps = mergeProps({
            className: cx('icon')
        }, ptm('icon'));
        var boxProps = mergeProps({
            className: cx('box', {
                checked: checked
            }),
            'data-p-highlight': checked,
            'data-p-disabled': props.disabled
        }, ptm('box'));
        var icon = checked ? props.icon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_check__WEBPACK_IMPORTED_MODULE_5__/* .CheckIcon */ .S, iconProps) : null;
        var checkboxIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(icon, _objectSpread$d({}, iconProps), {
            props: props,
            checked: checked
        });
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", boxProps, checkboxIcon);
    };
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", _extends({
        ref: elementRef
    }, rootProps), createInputElement(), createBoxElement()), hasTooltip &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_tooltip__WEBPACK_IMPORTED_MODULE_6__/* .Tooltip */ .m, _extends({
        target: elementRef,
        content: props.tooltip,
        pt: ptm('tooltip')
    }, props.tooltipOptions)));
}));
Checkbox.displayName = 'Checkbox';
function ownKeys$c(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$c(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$c(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var RowCheckbox = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var getColumnProps = function getColumnProps() {
        return ColumnBase.getCProps(props.column);
    };
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo, cx = _props$ptCallbacks.cx;
    var getColumnPTOptions = function getColumnPTOptions(key) {
        var columnMetaData = {
            props: getColumnProps(),
            parent: props.metaData,
            hostName: props.hostName,
            state: {},
            context: {
                index: props.tabIndex,
                checked: props.checked,
                disabled: props.disabled
            }
        };
        return mergeProps(ptm("column.".concat(key), {
            column: columnMetaData
        }), ptm("column.".concat(key), columnMetaData), ptmo(getColumnProps(), key, columnMetaData));
    };
    var onChange = function onChange(event) {
        if (!props.disabled) {
            props.onChange(event);
        }
    };
    var checkboxIconProps = mergeProps({
        className: cx('checkIcon')
    }, getColumnPTOptions('rowCheckbox.icon'));
    var icon = props.checked ? props.checkIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_check__WEBPACK_IMPORTED_MODULE_5__/* .CheckIcon */ .S, checkboxIconProps) : null;
    var checkIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(icon, _objectSpread$c({}, checkboxIconProps), {
        props: props
    });
    var tabIndex = props.disabled ? null : '0';
    var checkboxProps = {
        role: 'checkbox',
        'aria-checked': props.checked,
        tabIndex: tabIndex,
        onChange: onChange,
        'aria-label': props.ariaLabel,
        checked: props.checked,
        icon: checkIcon,
        disabled: props.disabled,
        unstyled: props.unstyled,
        pt: getColumnPTOptions('rowCheckbox')
    };
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Checkbox, checkboxProps);
});
RowCheckbox.displayName = 'RowCheckbox';
var classes = {
    root: function root(_ref) {
        var props = _ref.props, context = _ref.context;
        return (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-radiobutton p-component', {
            'p-highlight': props.checked,
            'p-disabled': props.disabled,
            'p-invalid': props.invalid,
            'p-variant-filled': props.variant ? props.variant === 'filled' : context &amp;&amp; context.inputStyle === 'filled'
        });
    },
    box: 'p-radiobutton-box',
    input: 'p-radiobutton-input',
    icon: 'p-radiobutton-icon'
};
var RadioButtonBase = primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__/* .ComponentBase */ .x.extend({
    defaultProps: {
        __TYPE: 'RadioButton',
        autoFocus: false,
        checked: false,
        className: null,
        disabled: false,
        id: null,
        inputId: null,
        inputRef: null,
        invalid: false,
        variant: null,
        name: null,
        onChange: null,
        onClick: null,
        required: false,
        style: null,
        tabIndex: null,
        tooltip: null,
        tooltipOptions: null,
        value: null,
        children: undefined
    },
    css: {
        classes: classes
    }
});
function ownKeys$b(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$b(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$b(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var RadioButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function(inProps, ref) {
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .PrimeReactContext */ .UM);
    var props = RadioButtonBase.getProps(inProps, context);
    var elementRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var inputRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(props.inputRef);
    var _RadioButtonBase$setM = RadioButtonBase.setMetaData({
        props: props
    }), ptm = _RadioButtonBase$setM.ptm, cx = _RadioButtonBase$setM.cx, isUnstyled = _RadioButtonBase$setM.isUnstyled;
    (0,primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__/* .useHandleStyle */ .j)(RadioButtonBase.css.styles, isUnstyled, {
        name: 'radiobutton'
    });
    var select = function select(event) {
        onChange(event);
    };
    var onChange = function onChange(event) {
        if (props.disabled || props.readonly) {
            return;
        }
        if (props.onChange) {
            var checked = props.checked;
            var radioClicked = event.target instanceof HTMLDivElement;
            var inputClicked = event.target === inputRef.current;
            var isInputToggled = inputClicked &amp;&amp; event.target.checked !== checked;
            var isRadioToggled = radioClicked &amp;&amp; (primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.hasClass(elementRef.current, 'p-radiobutton-checked') === checked ? !checked : false);
            var value = !checked;
            var eventData = {
                originalEvent: event,
                value: props.value,
                checked: value,
                stopPropagation: function stopPropagation() {
                    event === null || event === void 0 || event.stopPropagation();
                },
                preventDefault: function preventDefault() {
                    event === null || event === void 0 || event.preventDefault();
                },
                target: {
                    type: 'radio',
                    name: props.name,
                    id: props.id,
                    value: props.value,
                    checked: value
                }
            };
            if (isInputToggled || isRadioToggled) {
                var _props$onChange;
                props === null || props === void 0 || (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, eventData);
                // do not continue if the user defined click wants to prevent
                if (event.defaultPrevented) {
                    return;
                }
                if (isRadioToggled) {
                    inputRef.current.checked = value;
                }
            }
            primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.focus(inputRef.current);
        }
    };
    var onFocus = function onFocus(event) {
        var _props$onFocus;
        props === null || props === void 0 || (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props, event);
    };
    var onBlur = function onBlur(event) {
        var _props$onBlur;
        props === null || props === void 0 || (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, event);
    };
    react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(ref, function() {
        return {
            props: props,
            select: select,
            focus: function focus() {
                return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.focus(inputRef.current);
            },
            getElement: function getElement() {
                return elementRef.current;
            },
            getInput: function getInput() {
                return inputRef.current;
            }
        };
    });
    react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function() {
        if (inputRef.current) {
            inputRef.current.checked = props.checked;
        }
    }, [
        props.checked
    ]);
    react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function() {
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.combinedRefs(inputRef, props.inputRef);
    }, [
        inputRef,
        props.inputRef
    ]);
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMountEffect */ .uU)(function() {
        if (props.autoFocus) {
            primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.focus(inputRef.current, props.autoFocus);
        }
    });
    var hasTooltip = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(props.tooltip);
    var otherProps = RadioButtonBase.getOtherProps(props);
    var rootProps = mergeProps({
        id: props.id,
        className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(props.className, cx('root', {
            context: context
        })),
        style: props.style,
        'data-p-checked': props.checked
    }, otherProps, ptm('root'));
    delete rootProps.input;
    delete rootProps.box;
    delete rootProps.icon;
    var createInputElement = function createInputElement() {
        var ariaProps = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.reduceKeys(otherProps, primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.ARIA_PROPS);
        var inputProps = mergeProps(_objectSpread$b({
            id: props.inputId,
            type: 'radio',
            name: props.name,
            defaultChecked: props.checked,
            onFocus: onFocus,
            onBlur: onBlur,
            onChange: onChange,
            disabled: props.disabled,
            readOnly: props.readonly,
            required: props.required,
            tabIndex: props.tabIndex,
            className: cx('input')
        }, ariaProps), inProps.input, ptm('input'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("input", _extends({
            ref: inputRef
        }, inputProps));
    };
    var createBoxElement = function createBoxElement() {
        var boxProps = mergeProps({
            className: cx('box')
        }, inProps.box, ptm('box'));
        var iconProps = mergeProps({
            className: cx('icon')
        }, inProps.icon, ptm('icon'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", boxProps, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", iconProps));
    };
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", _extends({
        ref: elementRef
    }, rootProps), createInputElement(), createBoxElement()), hasTooltip &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_tooltip__WEBPACK_IMPORTED_MODULE_6__/* .Tooltip */ .m, _extends({
        target: elementRef,
        content: props.tooltip,
        pt: ptm('tooltip')
    }, props.tooltipOptions)));
}));
RadioButton.displayName = 'RadioButton';
var RowRadioButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var getColumnProps = function getColumnProps() {
        return ColumnBase.getCProps(props.column);
    };
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo;
    var getColumnPTOptions = function getColumnPTOptions(key) {
        var columnMetaData = {
            props: getColumnProps(),
            parent: props.metaData,
            hostName: props.hostName,
            state: {},
            context: {
                index: props.tabIndex,
                checked: props.checked,
                disabled: props.disabled
            }
        };
        return mergeProps(ptm("column.".concat(key), {
            column: columnMetaData
        }), ptm("column.".concat(key), columnMetaData), ptmo(getColumnProps(), key, columnMetaData));
    };
    var onChange = function onChange(event) {
        if (!props.disabled) {
            props.onChange(event);
        }
    };
    var radioButtonProps = {
        role: 'radio',
        'aria-checked': props.checked,
        checked: props.checked,
        disabled: props.disabled,
        name: "".concat(props.tableSelector, "_dt_radio"),
        onChange: onChange,
        unstyled: props.unstyled,
        pt: getColumnPTOptions('rowRadioButton')
    };
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(RadioButton, radioButtonProps);
});
RowRadioButton.displayName = 'RowRadioButton';
function ownKeys$a(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$a(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$a(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var BodyCell = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(props.editing), _React$useState2 = _slicedToArray(_React$useState, 2), editingState = _React$useState2[0], setEditingState = _React$useState2[1];
    var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0__.useState(props.rowData), _React$useState4 = _slicedToArray(_React$useState3, 2), editingRowDataState = _React$useState4[0], setEditingRowDataState = _React$useState4[1];
    var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_0__.useState({}), _React$useState6 = _slicedToArray(_React$useState5, 2), styleObjectState = _React$useState6[0], setStyleObjectState = _React$useState6[1];
    var elementRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var keyHelperRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var overlayEventListener = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var selfClick = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);
    var focusTimeout = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var initFocusTimeout = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var editingRowDataStateRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo, cx = _props$ptCallbacks.cx;
    var getColumnProp = function getColumnProp(name) {
        return ColumnBase.getCProp(props.column, name);
    };
    var getColumnProps = function getColumnProps() {
        return ColumnBase.getCProps(props.column);
    };
    var getColumnPTOptions = function getColumnPTOptions(key) {
        var cProps = getColumnProps();
        var columnMetaData = {
            props: cProps,
            parent: props.metaData,
            hostName: props.hostName,
            state: {
                styleObject: styleObjectState,
                editing: editingState,
                editingRowData: editingRowDataState
            },
            context: {
                index: props.index,
                size: props.metaData.props.size,
                showGridlines: props.metaData.props.showGridlines
            }
        };
        return mergeProps(ptm("column.".concat(key), {
            column: columnMetaData
        }), ptm("column.".concat(key), columnMetaData), ptmo(cProps, key, columnMetaData));
    };
    var field = getColumnProp('field') || "field_".concat(props.index);
    var editingKey = props.dataKey ? props.rowData &amp;&amp; props.rowData[props.dataKey] || props.rowIndex : props.rowIndex;
    var isEditable = function isEditable() {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(props.editMode) &amp;&amp; getColumnProp('editor');
    };
    var cellEditValidateOnClose = function cellEditValidateOnClose() {
        return getColumnProp('cellEditValidateOnClose');
    };
    var _useEventListener = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useEventListener */ .ML)({
        type: 'click',
        listener: function listener(e) {
            setTimeout(function() {
                if (!selfClick.current &amp;&amp; isOutsideClicked(e.target)) {
                    // #2666 for overlay components and outside is clicked
                    switchCellToViewMode(e, true);
                }
            }, 0);
            selfClick.current = false;
        },
        options: true,
        when: isEditable()
    }), _useEventListener2 = _slicedToArray(_useEventListener, 2), bindDocumentClickListener = _useEventListener2[0], unbindDocumentClickListener = _useEventListener2[1];
    var isSelected = function isSelected() {
        return props.selection ? props.selection instanceof Array ? findIndex(props.selection) &gt; -1 : equals(props.selection) : false;
    };
    var equalsData = function equalsData(data) {
        return props.compareSelectionBy === 'equals' ? data === props.rowData : primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.equals(data, props.rowData, props.dataKey);
    };
    var equals = function equals(selectedCell) {
        return selectedCell &amp;&amp; (selectedCell.rowIndex === props.rowIndex || equalsData(selectedCell.rowData)) &amp;&amp; (selectedCell.field === field || selectedCell.cellIndex === props.index);
    };
    var isOutsideClicked = function isOutsideClicked(target) {
        return elementRef.current &amp;&amp; !(elementRef.current.isSameNode(target) || elementRef.current.contains(target));
    };
    var getVirtualScrollerOption = function getVirtualScrollerOption(option) {
        return props.virtualScrollerOptions ? props.virtualScrollerOptions[option] : null;
    };
    var getStyle = function getStyle() {
        var bodyStyle = getColumnProp('bodyStyle');
        var columnStyle = getColumnProp('style');
        return getColumnProp('frozen') ? Object.assign({}, columnStyle, bodyStyle, styleObjectState) : Object.assign({}, columnStyle, bodyStyle);
    };
    var getCellParams = function getCellParams() {
        return {
            value: resolveFieldData(),
            field: field,
            rowData: props.rowData,
            rowIndex: props.rowIndex,
            cellIndex: props.index,
            selected: isSelected(),
            column: props.column,
            props: props
        };
    };
    var getCellCallbackParams = function getCellCallbackParams(event) {
        var params = getCellParams();
        return _objectSpread$a({
            originalEvent: event
        }, params);
    };
    var resolveFieldData = function resolveFieldData(data) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(data || props.rowData, field);
    };
    var getEditingRowData = function getEditingRowData() {
        return props.editingMeta &amp;&amp; props.editingMeta[editingKey] ? props.editingMeta[editingKey].data : props.rowData;
    };
    var getTabIndex = function getTabIndex(cellSelected) {
        return props.allowCellSelection ? cellSelected ? 0 : props.rowIndex === 0 &amp;&amp; props.index === 0 ? props.tabIndex : -1 : null;
    };
    var findIndex = function findIndex(collection) {
        return (collection || []).findIndex(function(data) {
            return equals(data);
        });
    };
    var closeCell = function closeCell(event) {
        var params = getCellCallbackParams(event);
        var onBeforeCellEditHide = getColumnProp('onBeforeCellEditHide');
        if (onBeforeCellEditHide) {
            onBeforeCellEditHide(params);
        }
        /* When using the 'tab' key, the focus event of the next cell is not called in IE. */ setTimeout(function() {
            setEditingState(false);
            unbindDocumentClickListener();
            primereact_overlayservice__WEBPACK_IMPORTED_MODULE_7__/* .OverlayService */ .s.off('overlay-click', overlayEventListener.current);
            overlayEventListener.current = null;
            editingRowDataStateRef.current = null;
            selfClick.current = false;
        }, 1);
    };
    var switchCellToViewMode = function switchCellToViewMode(event, submit) {
        var callbackParams = getCellCallbackParams(event);
        var newRowData = _objectSpread$a({}, editingRowDataStateRef.current);
        var newValue = resolveFieldData(newRowData);
        var params = _objectSpread$a(_objectSpread$a({}, callbackParams), {}, {
            newRowData: newRowData,
            newValue: newValue
        });
        var onCellEditCancel = getColumnProp('onCellEditCancel');
        var cellEditValidator = getColumnProp('cellEditValidator');
        var onCellEditComplete = getColumnProp('onCellEditComplete');
        if (!submit &amp;&amp; onCellEditCancel) {
            onCellEditCancel(params);
        }
        var valid = true;
        if ((!submit || cellEditValidateOnClose()) &amp;&amp; cellEditValidator) {
            valid = cellEditValidator(params);
        }
        if (valid) {
            if (submit &amp;&amp; onCellEditComplete) {
                onCellEditComplete(params);
            }
            closeCell(event);
        } else {
            event.preventDefault();
        }
        setEditingRowDataState(newRowData);
    };
    var _findNextSelectableCell = function findNextSelectableCell(cell) {
        var nextCell = cell.nextElementSibling;
        return nextCell ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(nextCell, 'data-p-selectable-cell') ? nextCell : _findNextSelectableCell(nextCell) : null;
    };
    var _findPrevSelectableCell = function findPrevSelectableCell(cell) {
        var prevCell = cell.previousElementSibling;
        return prevCell ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(prevCell, 'data-p-selectable-cell') ? prevCell : _findPrevSelectableCell(prevCell) : null;
    };
    var _findDownSelectableCell = function findDownSelectableCell(cell) {
        var downRow = cell.parentElement.nextElementSibling;
        var downCell = downRow ? downRow.children[props.index] : null;
        return downRow &amp;&amp; downCell ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(downRow, 'data-p-selectable-row') &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(downCell, 'data-p-selectable-cell') ? downCell : _findDownSelectableCell(downCell) : null;
    };
    var _findUpSelectableCell = function findUpSelectableCell(cell) {
        var upRow = cell.parentElement.previousElementSibling;
        var upCell = upRow ? upRow.children[props.index] : null;
        return upRow &amp;&amp; upCell ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(upRow, 'data-p-selectable-row') &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(upCell, 'data-p-selectable-cell') ? upCell : _findUpSelectableCell(upCell) : null;
    };
    var changeTabIndex = function changeTabIndex(currentCell, nextCell) {
        if (currentCell &amp;&amp; nextCell) {
            currentCell.tabIndex = -1;
            nextCell.tabIndex = props.tabIndex;
        }
    };
    var focusOnElement = function focusOnElement() {
        clearTimeout(focusTimeout.current);
        focusTimeout.current = setTimeout(function() {
            if (editingState) {
                var focusableEl = props.editMode === 'cell' ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getFirstFocusableElement(elementRef.current, ':not([data-pc-section="editorkeyhelperlabel"])') : primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(elementRef.current, '[data-p-row-editor-save="true"]');
                focusableEl &amp;&amp; focusableEl.focus();
            }
            keyHelperRef.current &amp;&amp; (keyHelperRef.current.tabIndex = editingState ? -1 : 0);
        }, 1);
    };
    var focusOnInit = function focusOnInit() {
        clearTimeout(initFocusTimeout.current);
        initFocusTimeout.current = setTimeout(function() {
            var focusableEl = props.editMode === 'row' ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(elementRef.current, '[data-p-row-editor-init="true"]') : null;
            focusableEl &amp;&amp; focusableEl.focus();
        }, 1);
    };
    var updateStickyPosition = function updateStickyPosition() {
        if (getColumnProp('frozen')) {
            var styleObject = _objectSpread$a({}, styleObjectState);
            var align = getColumnProp('alignFrozen');
            if (align === 'right') {
                var right = 0;
                var next = elementRef.current &amp;&amp; elementRef.current.nextElementSibling;
                if (next &amp;&amp; next.classList.contains('p-frozen-column')) {
                    right = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterWidth(next) + parseFloat(next.style.right || 0);
                }
                styleObject.right = right + 'px';
            } else {
                var left = 0;
                var prev = elementRef.current &amp;&amp; elementRef.current.previousElementSibling;
                if (prev &amp;&amp; prev.classList.contains('p-frozen-column')) {
                    left = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
                }
                styleObject.left = left + 'px';
            }
            var isSameStyle = styleObjectState.left === styleObject.left &amp;&amp; styleObjectState.right === styleObject.right;
            !isSameStyle &amp;&amp; setStyleObjectState(styleObject);
        }
    };
    var editorCallback = function editorCallback(val) {
        var editingRowData = _objectSpread$a({}, editingRowDataState);
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.mutateFieldData(editingRowData, field, val);
        setEditingRowDataState(editingRowData);
        // update editing meta for complete methods on row mode
        var currentData = getEditingRowData();
        if (currentData) {
            primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.mutateFieldData(currentData, field, val);
        }
        editingRowDataStateRef.current = editingRowData;
    };
    var _onClick = function onClick(event) {
        var params = getCellCallbackParams(event);
        if (props.editMode !== 'row' &amp;&amp; isEditable() &amp;&amp; !editingState &amp;&amp; (props.selectOnEdit || !props.selectOnEdit &amp;&amp; props.selected)) {
            selfClick.current = true;
            var onBeforeCellEditShow = getColumnProp('onBeforeCellEditShow');
            var onCellEditInit = getColumnProp('onCellEditInit');
            var cellEditValidatorEvent = getColumnProp('cellEditValidatorEvent');
            if (onBeforeCellEditShow) {
                // if user returns false do not show the editor
                if (onBeforeCellEditShow(params) === false) {
                    return;
                }
                // if user prevents default stop the editor
                if (event &amp;&amp; event.defaultPrevented) {
                    return;
                }
            }
            // If the data is sorted using sort icon, it has been added to wait for the sort operation when any cell is wanted to be opened.
            setTimeout(function() {
                setEditingState(true);
                if (onCellEditInit) {
                    if (onCellEditInit(params) === false) {
                        return;
                    }
                    // if user prevents default stop the editor
                    if (event &amp;&amp; event.defaultPrevented) {
                        return;
                    }
                }
                if (cellEditValidatorEvent === 'click') {
                    bindDocumentClickListener();
                    overlayEventListener.current = function(e) {
                        if (!isOutsideClicked(e.target)) {
                            selfClick.current = true;
                        }
                    };
                    primereact_overlayservice__WEBPACK_IMPORTED_MODULE_7__/* .OverlayService */ .s.on('overlay-click', overlayEventListener.current);
                }
            }, 1);
        }
        if (props.allowCellSelection &amp;&amp; props.onClick) {
            props.onClick(params);
        }
    };
    var _onMouseDown = function onMouseDown(event) {
        var params = getCellCallbackParams(event);
        props.onMouseDown &amp;&amp; props.onMouseDown(params);
    };
    var _onMouseUp = function onMouseUp(event) {
        var params = getCellCallbackParams(event);
        props.onMouseUp &amp;&amp; props.onMouseUp(params);
    };
    var _onKeyDown = function onKeyDown(event) {
        if (props.editMode !== 'row') {
            if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Tab') {
                switchCellToViewMode(event, true);
            }
            if (event.code === 'Escape') {
                switchCellToViewMode(event, false);
            }
        }
        if (props.allowCellSelection) {
            var target = event.target, cell = event.currentTarget;
            switch(event.code){
                case 'ArrowLeft':
                    var prevCell = _findPrevSelectableCell(cell);
                    if (prevCell) {
                        changeTabIndex(cell, prevCell);
                        prevCell.focus();
                    }
                    event.preventDefault();
                    break;
                case 'ArrowRight':
                    var nextCell = _findNextSelectableCell(cell);
                    if (nextCell) {
                        changeTabIndex(cell, nextCell);
                        nextCell.focus();
                    }
                    event.preventDefault();
                    break;
                case 'ArrowUp':
                    var upCell = _findUpSelectableCell(cell);
                    if (upCell) {
                        changeTabIndex(cell, upCell);
                        upCell.focus();
                    }
                    event.preventDefault();
                    break;
                case 'ArrowDown':
                    var downCell = _findDownSelectableCell(cell);
                    if (downCell) {
                        changeTabIndex(cell, downCell);
                        downCell.focus();
                    }
                    event.preventDefault();
                    break;
                case 'Enter':
                case 'NumpadEnter':
                    if (event.shiftKey || event.ctrlKey) ;
                    else if (!primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.isClickable(target)) {
                        _onClick(event);
                        event.preventDefault();
                    }
                    break;
                case 'Space':
                    if (!primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.isClickable(target) &amp;&amp; !target.readOnly) {
                        _onClick(event);
                        event.preventDefault();
                    }
                    break;
            }
        }
    };
    var _onBlur = function onBlur(event) {
        selfClick.current = false;
        if (props.editMode !== 'row' &amp;&amp; editingState &amp;&amp; getColumnProp('cellEditValidatorEvent') === 'blur') {
            switchCellToViewMode(event, true);
        }
    };
    var onEditorFocus = function onEditorFocus(event) {
        _onClick(event);
    };
    var onRadioChange = function onRadioChange(event) {
        props.onRadioChange({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var onCheckboxChange = function onCheckboxChange(event) {
        props.onCheckboxChange({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var onRowToggle = function onRowToggle(event) {
        props.onRowToggle({
            originalEvent: event,
            data: props.rowData
        });
        event.preventDefault();
        event.stopPropagation();
    };
    var onRowEditInit = function onRowEditInit(event) {
        props.onRowEditInit({
            originalEvent: event,
            data: props.rowData,
            newData: getEditingRowData(),
            field: field,
            index: props.rowIndex
        });
    };
    var onRowEditSave = function onRowEditSave(event) {
        props.onRowEditSave({
            originalEvent: event,
            data: props.rowData,
            newData: getEditingRowData(),
            field: field,
            index: props.rowIndex
        });
        focusOnInit();
    };
    var onRowEditCancel = function onRowEditCancel(event) {
        props.onRowEditCancel({
            originalEvent: event,
            data: props.rowData,
            newData: getEditingRowData(),
            field: field,
            index: props.rowIndex
        });
        focusOnInit();
    };
    react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function() {
        if (getColumnProp('frozen')) {
            updateStickyPosition();
        }
    });
    react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function() {
        if (props.editMode === 'cell' || props.editMode === 'row') {
            focusOnElement();
        }
    }, [
        props.editMode,
        props.editing,
        editingState
    ]); // eslint-disable-line react-hooks/exhaustive-deps
    react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function() {
        if (props.editMode === 'row' &amp;&amp; props.editing !== editingState) {
            setEditingState(props.editing);
        }
    }, [
        props.editMode,
        props.editing,
        editingState
    ]);
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUpdateEffect */ .w5)(function() {
        if (props.editMode === 'cell' || props.editMode === 'row') {
            var editingRowData = getEditingRowData();
            setEditingRowDataState(editingRowData);
            editingRowDataStateRef.current = editingRowData;
        }
    }, [
        props.editingMeta
    ]);
    react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function() {
        if (props.editMode === 'cell' || props.editMode === 'row') {
            var callbackParams = getCellCallbackParams();
            var params = _objectSpread$a(_objectSpread$a({}, callbackParams), {}, {
                editing: editingState,
                editingKey: editingKey
            });
            props.onEditingMetaChange(params);
        }
    // eslint-disable-next-line react-hooks/exhaustive-deps
    }, [
        editingState
    ]);
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUnmountEffect */ .l0)(function() {
        if (overlayEventListener.current) {
            primereact_overlayservice__WEBPACK_IMPORTED_MODULE_7__/* .OverlayService */ .s.off('overlay-click', overlayEventListener.current);
            overlayEventListener.current = null;
        }
    });
    var createLoading = function createLoading() {
        var options = getVirtualScrollerOption('getLoaderOptions')(props.rowIndex, {
            cellIndex: props.index,
            cellFirst: props.index === 0,
            cellLast: props.index === getVirtualScrollerOption('columns').length - 1,
            cellEven: props.index % 2 === 0,
            cellOdd: props.index % 2 !== 0,
            column: props.column,
            field: field
        });
        var content = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(getVirtualScrollerOption('loadingTemplate'), options);
        var bodyCellProps = mergeProps(getColumnPTOptions('bodyCell'), {
            role: 'cell'
        });
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("td", bodyCellProps, content);
    };
    var createElement = function createElement() {
        var content;
        var editorKeyHelper;
        var cellSelected = props.allowCellSelection &amp;&amp; isSelected();
        var isRowEditor = props.editMode === 'row';
        var tabIndex = getTabIndex(cellSelected);
        var selectionMode = getColumnProp('selectionMode');
        var rowReorder = getColumnProp('rowReorder');
        var header = getColumnProp('header');
        var body = getColumnProp('body');
        var editor = getColumnProp('editor');
        var frozen = getColumnProp('frozen');
        var align = getColumnProp('align');
        var value = resolveFieldData();
        var columnBodyOptions = {
            column: props.column,
            field: field,
            rowIndex: props.rowIndex,
            frozenRow: props.frozenRow,
            props: props.tableProps
        };
        var rowEditor = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getPropValue(getColumnProp('rowEditor'), props.rowData, columnBodyOptions);
        var expander = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getPropValue(getColumnProp('expander'), props.rowData, columnBodyOptions);
        var cellClassName = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getPropValue(props.cellClassName, value, columnBodyOptions);
        var bodyClassName = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getPropValue(getColumnProp('bodyClassName'), props.rowData, columnBodyOptions);
        var style = getStyle();
        var columnTitleProps = mergeProps({
            className: cx('columnTitle')
        }, getColumnPTOptions('columnTitle'));
        var title = props.responsiveLayout === 'stack' &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", columnTitleProps, primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(header, {
            props: props.tableProps
        }));
        if (selectionMode) {
            var showSelection = props.showSelectionElement ? props.showSelectionElement(props.rowData, {
                rowIndex: props.rowIndex,
                props: props.tableProps
            }) : true;
            var label;
            if (showSelection) {
                var ariaLabelField = props.selectionAriaLabel || props.tableProps.dataKey;
                var ariaLabelText = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(props.rowData, ariaLabelField);
                label = "".concat(props.selected ? (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .ariaLabel */ .Y4)('unselectRow') : (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .ariaLabel */ .Y4)('selectRow'), " ").concat(ariaLabelText);
            }
            content = showSelection &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, selectionMode === 'single' &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(RowRadioButton, {
                hostName: props.hostName,
                column: props.column,
                checked: props.selected,
                disabled: !props.isSelectable({
                    data: props.rowData,
                    index: props.rowIndex
                }),
                onChange: onRadioChange,
                tabIndex: props.tabIndex,
                tableSelector: props.tableSelector,
                ariaLabel: label,
                ptCallbacks: props.ptCallbacks,
                metaData: props.metaData,
                unstyled: props.unstyled
            }), selectionMode === 'multiple' &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(RowCheckbox, {
                hostName: props.hostName,
                column: props.column,
                checked: props.selected,
                disabled: !props.isSelectable({
                    data: props.rowData,
                    index: props.rowIndex
                }),
                onChange: onCheckboxChange,
                tabIndex: props.tabIndex,
                ariaLabel: label,
                checkIcon: props.checkIcon,
                ptCallbacks: props.ptCallbacks,
                metaData: props.metaData,
                unstyled: props.unstyled
            }));
        } else if (rowReorder) {
            var showReorder = props.showRowReorderElement ? props.showRowReorderElement(props.rowData, {
                rowIndex: props.rowIndex,
                props: props.tableProps
            }) : true;
            var customIcon = getColumnProp('rowReorderIcon');
            var rowReorderIconProps = mergeProps({
                className: cx('rowReorderIcon')
            }, customIcon ? null : getColumnPTOptions('rowReorderIcon'));
            var rowReorderIcon = customIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_bars__WEBPACK_IMPORTED_MODULE_8__/* .BarsIcon */ .U, rowReorderIconProps);
            content = showReorder ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(rowReorderIcon, _objectSpread$a({}, rowReorderIconProps), {
                props: props
            }) : null;
        } else if (expander) {
            var rowTogglerIconProps = mergeProps({
                className: cx('rowTogglerIcon'),
                'aria-hidden': true
            }, getColumnPTOptions('rowTogglerIcon'));
            var icon = props.expanded ? props.expandedRowIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_chevrondown__WEBPACK_IMPORTED_MODULE_9__/* .ChevronDownIcon */ .D, rowTogglerIconProps) : props.collapsedRowIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_chevronright__WEBPACK_IMPORTED_MODULE_10__/* .ChevronRightIcon */ .v, rowTogglerIconProps);
            var togglerIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(icon, _objectSpread$a({}, rowTogglerIconProps), {
                props: props
            });
            var ariaControls = "".concat(props.tableSelector, "_content_").concat(props.rowIndex, "_expanded");
            var _ariaLabelField = props.selectionAriaLabel || props.tableProps.dataKey;
            var _ariaLabelText = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(props.rowData, _ariaLabelField);
            var _label = "".concat(props.expanded ? (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .ariaLabel */ .Y4)('collapseLabel') : (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .ariaLabel */ .Y4)('expandLabel'), " ").concat(_ariaLabelText);
            var expanderProps = {
                onClick: onRowToggle,
                className: cx('rowToggler')
            };
            var rowTogglerProps = mergeProps(_objectSpread$a(_objectSpread$a({}, expanderProps), {}, {
                type: 'button',
                'aria-expanded': props.expanded,
                'aria-controls': ariaControls,
                tabIndex: props.tabIndex,
                'aria-label': _label
            }), getColumnPTOptions('rowToggler'));
            content = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", rowTogglerProps, togglerIcon, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_ripple__WEBPACK_IMPORTED_MODULE_11__/* .Ripple */ .n, null));
            if (body) {
                expanderProps.element = content;
                content = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(body, props.rowData, {
                    column: props.column,
                    field: field,
                    rowIndex: props.rowIndex,
                    frozenRow: props.frozenRow,
                    props: props.tableProps,
                    expander: expanderProps
                });
            }
        } else if (isRowEditor &amp;&amp; rowEditor) {
            var rowEditorProps = {};
            var rowEditorSaveIconProps = mergeProps({
                className: cx('rowEditorSaveIcon')
            }, getColumnPTOptions('rowEditorSaveIcon'));
            var rowEditorCancelIconProps = mergeProps({
                className: cx('rowEditorCancelIcon')
            }, getColumnPTOptions('rowEditorCancelIcon'));
            var rowEditorInitIconProps = mergeProps({
                className: cx('rowEditorInitIcon')
            }, getColumnPTOptions('rowEditorInitIcon'));
            var rowEditorSaveIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(props.rowEditorSaveIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_check__WEBPACK_IMPORTED_MODULE_5__/* .CheckIcon */ .S, rowEditorSaveIconProps), _objectSpread$a({}, rowEditorSaveIconProps), {
                props: props
            });
            var rowEditorCancelIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(props.rowEditorCancelIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_times__WEBPACK_IMPORTED_MODULE_12__/* .TimesIcon */ .A, rowEditorCancelIconProps), _objectSpread$a({}, rowEditorCancelIconProps), {
                props: props
            });
            var rowEditorInitIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(props.rowEditorInitIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_pencil__WEBPACK_IMPORTED_MODULE_13__/* .PencilIcon */ .R, rowEditorInitIconProps), _objectSpread$a({}, rowEditorInitIconProps), {
                props: props
            });
            if (editingState) {
                rowEditorProps = {
                    editing: true,
                    onSaveClick: onRowEditSave,
                    saveClassName: cx('rowEditorSaveButton'),
                    onCancelClick: onRowEditCancel,
                    cancelClassName: cx('rowEditorCancelButton')
                };
                var rowEditorSaveButtonProps = mergeProps({
                    type: 'button',
                    name: 'row-save',
                    'aria-label': (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .ariaLabel */ .Y4)('saveEdit'),
                    onClick: rowEditorProps.onSaveClick,
                    className: rowEditorProps.saveClassName,
                    tabIndex: props.tabIndex,
                    'data-p-row-editor-save': true
                }, getColumnPTOptions('rowEditorSaveButton'));
                var rowEditorCancelButtonProps = mergeProps({
                    type: 'button',
                    name: 'row-cancel',
                    'aria-label': (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .ariaLabel */ .Y4)('cancelEdit'),
                    onClick: rowEditorProps.onCancelClick,
                    className: rowEditorProps.cancelClassName,
                    tabIndex: props.tabIndex
                }, getColumnPTOptions('rowEditorCancelButton'));
                content = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", rowEditorSaveButtonProps, rowEditorSaveIcon, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_ripple__WEBPACK_IMPORTED_MODULE_11__/* .Ripple */ .n, null)), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", rowEditorCancelButtonProps, rowEditorCancelIcon, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_ripple__WEBPACK_IMPORTED_MODULE_11__/* .Ripple */ .n, null)));
            } else {
                rowEditorProps = {
                    editing: false,
                    onInitClick: onRowEditInit,
                    initClassName: cx('rowEditorInitButton')
                };
                var rowEditorInitButtonProps = mergeProps({
                    type: 'button',
                    name: 'row-edit',
                    'aria-label': (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .ariaLabel */ .Y4)('editRow'),
                    onClick: rowEditorProps.onInitClick,
                    className: rowEditorProps.initClassName,
                    tabIndex: props.tabIndex,
                    'data-p-row-editor-init': true
                }, getColumnPTOptions('rowEditorInitButton'));
                content = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", rowEditorInitButtonProps, rowEditorInitIcon, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_ripple__WEBPACK_IMPORTED_MODULE_11__/* .Ripple */ .n, null));
            }
            if (body) {
                rowEditorProps.element = content;
                content = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(body, props.rowData, {
                    column: props.column,
                    field: field,
                    rowIndex: props.rowIndex,
                    frozenRow: props.frozenRow,
                    props: props.tableProps,
                    rowEditor: rowEditorProps
                });
            }
        } else if (body &amp;&amp; (!editingState || !editor)) {
            content = body ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(body, props.rowData, {
                column: props.column,
                field: field,
                rowIndex: props.rowIndex,
                frozenRow: props.frozenRow,
                props: props.tableProps
            }) : value;
        } else if (editor &amp;&amp; editingState) {
            content = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(editor, {
                rowData: editingRowDataState,
                value: resolveFieldData(editingRowDataState),
                column: props.column,
                field: field,
                rowIndex: props.rowIndex,
                frozenRow: props.frozenRow,
                props: props.tableProps,
                editorCallback: editorCallback
            });
        } else {
            content = value;
        }
        content = typeof content === 'boolean' ? content.toString() : content;
        if (!isRowEditor &amp;&amp; editor) {
            var editorKeyHelperProps = mergeProps({
                tabIndex: '0',
                className: 'p-cell-editor-key-helper p-hidden-accessible',
                onFocus: function onFocus(e) {
                    return onEditorFocus(e);
                }
            }, getColumnPTOptions('editorKeyHelperLabel'));
            var editorKeyHelperLabelProps = mergeProps(getColumnPTOptions('editorKeyHelper'));
            /* eslint-disable */ editorKeyHelper = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("a", _extends({
                ref: keyHelperRef
            }, editorKeyHelperProps), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", editorKeyHelperLabelProps));
        /* eslint-enable */ }
        var bodyCellProps = mergeProps({
            style: style,
            className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(bodyClassName, getColumnProp('className'), cellClassName, cx('bodyCell', {
                selectionMode: selectionMode,
                editor: editor,
                editingState: editingState,
                frozen: frozen,
                cellSelected: cellSelected,
                align: align,
                bodyProps: props,
                getCellParams: getCellParams
            })),
            rowSpan: props.rowSpan,
            tabIndex: tabIndex,
            role: 'cell',
            onClick: function onClick(e) {
                return _onClick(e);
            },
            onKeyDown: function onKeyDown(e) {
                return _onKeyDown(e);
            },
            onBlur: function onBlur(e) {
                return _onBlur(e);
            },
            onMouseDown: function onMouseDown(e) {
                return _onMouseDown(e);
            },
            onMouseUp: function onMouseUp(e) {
                return _onMouseUp(e);
            },
            'data-p-selectable-cell': props.allowCellSelection &amp;&amp; props.isSelectable({
                data: getCellParams(),
                index: props.rowIndex
            }),
            'data-p-selection-column': getColumnProp('selectionMode') != null,
            'data-p-editable-column': isEditable() != null,
            'data-p-cell-editing': editingState,
            'data-p-frozen-column': frozen
        }, getColumnPTOptions('root'), getColumnPTOptions('bodyCell'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("td", _extends({
            ref: elementRef
        }, bodyCellProps), editorKeyHelper, title, content);
    };
    return getVirtualScrollerOption('loading') ? createLoading() : createElement();
});
BodyCell.displayName = 'BodyCell';
function ownKeys$9(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$9(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$9(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var BodyRow = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), _React$useState2 = _slicedToArray(_React$useState, 2), editingState = _React$useState2[0], setEditingState = _React$useState2[1];
    var editing = props.onRowEditChange ? props.editing : editingState;
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, cx = _props$ptCallbacks.cx;
    var getBodyRowPTOptions = function getBodyRowPTOptions(key) {
        return ptm(key, {
            parent: props.metaData,
            hostName: props.hostName,
            state: {
                editing: editing
            },
            context: {
                index: props.index,
                selectable: props.allowRowSelection &amp;&amp; props.isSelectable({
                    data: props.rowData,
                    index: props.rowIndex
                }),
                selected: !props.allowCellSelection &amp;&amp; props.selected || props.contextMenuSelected,
                stripedRows: props.metaData.props.stripedRows
            }
        });
    };
    var getColumnProp = function getColumnProp(column, name) {
        return ColumnBase.getCProp(column, name);
    };
    var isFocusable = function isFocusable() {
        return props.selectionMode &amp;&amp; props.selectionModeInColumn !== 'single' &amp;&amp; props.selectionModeInColumn !== 'multiple';
    };
    var isGrouped = function isGrouped(column) {
        var columnField = getColumnProp(column, 'field');
        if (props.groupRowsBy &amp;&amp; columnField) {
            return Array.isArray(props.groupRowsBy) ? props.groupRowsBy.indexOf(columnField) &gt; -1 : props.groupRowsBy === columnField;
        }
        return false;
    };
    var equals = function equals(data1, data2) {
        return props.compareSelectionBy === 'equals' ? data1 === data2 : primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.equals(data1, data2, props.dataKey);
    };
    var getTabIndex = function getTabIndex() {
        return isFocusable() &amp;&amp; !props.allowCellSelection ? props.rowIndex === 0 ? props.tabIndex : -1 : null;
    };
    var findIndex = function findIndex(collection, rowData) {
        return (collection || []).findIndex(function(data) {
            return equals(rowData, data);
        });
    };
    var changeTabIndex = function changeTabIndex(currentRow, nextRow) {
        if (currentRow &amp;&amp; nextRow) {
            currentRow.tabIndex = -1;
            nextRow.tabIndex = props.tabIndex;
        }
    };
    var findFirstSelectableRow = function findFirstSelectableRow(row) {
        var firstRow = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(row.parentNode, 'tr[data-p-selectable-row]');
        return firstRow ? firstRow : null;
    };
    var _findNextSelectableRow = function findNextSelectableRow(row) {
        var nextRow = row.nextElementSibling;
        return nextRow ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(nextRow, 'data-p-selectable-row') === true ? nextRow : _findNextSelectableRow(nextRow) : null;
    };
    var _findPrevSelectableRow = function findPrevSelectableRow(row) {
        var prevRow = row.previousElementSibling;
        return prevRow ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(prevRow, 'data-p-selectable-row') === true ? prevRow : _findPrevSelectableRow(prevRow) : null;
    };
    var findLastSelectableRow = function findLastSelectableRow(row) {
        var lastRow = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(row.parentNode, 'tr[data-p-selectable-row]:last-child');
        return lastRow ? lastRow : null;
    };
    var shouldRenderBodyCell = function shouldRenderBodyCell(value, column, i) {
        if (getColumnProp(column, 'hidden')) {
            return false;
        } else if (props.rowGroupMode &amp;&amp; props.rowGroupMode === 'rowspan' &amp;&amp; isGrouped(column)) {
            var prevRowData = value[i - 1];
            if (prevRowData) {
                var currentRowFieldData = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(value[i], getColumnProp(column, 'field'));
                var previousRowFieldData = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(prevRowData, getColumnProp(column, 'field'));
                return currentRowFieldData !== previousRowFieldData;
            }
        }
        return true;
    };
    var calculateRowGroupSize = function calculateRowGroupSize(value, column, index) {
        if (isGrouped(column)) {
            var currentRowFieldData = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(value[index], getColumnProp(column, 'field'));
            var nextRowFieldData = currentRowFieldData;
            var groupRowSpan = 0;
            while(currentRowFieldData === nextRowFieldData){
                groupRowSpan++;
                var nextRowData = value[++index];
                if (nextRowData) {
                    nextRowFieldData = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(nextRowData, getColumnProp(column, 'field'));
                } else {
                    break;
                }
            }
            return groupRowSpan === 1 ? null : groupRowSpan;
        }
        return null;
    };
    var _onClick = function onClick(event) {
        props.onRowClick({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onDoubleClick = function onDoubleClick(event) {
        props.onRowDoubleClick({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onPointerDown = function onPointerDown(event) {
        props.onRowPointerDown({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onPointerUp = function onPointerUp(event) {
        props.onRowPointerUp({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var onRightClick = function onRightClick(event) {
        props.onRowRightClick({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onMouseEnter = function onMouseEnter(event) {
        props.onRowMouseEnter({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onMouseLeave = function onMouseLeave(event) {
        props.onRowMouseLeave({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onTouchEnd = function onTouchEnd(event) {
        props.onRowTouchEnd(event);
    };
    var _onKeyDown = function onKeyDown(event) {
        if (isFocusable() &amp;&amp; !props.allowCellSelection) {
            var target = event.target, row = event.currentTarget;
            switch(event.code){
                case 'ArrowDown':
                    onArrowDownKey(row, event);
                    break;
                case 'ArrowUp':
                    onArrowUpKey(row, event);
                    break;
                case 'Home':
                    onHomeKey(row, event);
                    break;
                case 'End':
                    onEndKey(row, event);
                    break;
                case 'Enter':
                case 'NumpadEnter':
                    onEnterKey(row, event, target);
                    break;
                case 'Space':
                    onSpaceKey(row, event, target);
                    break;
                case 'Tab':
                    onTabKey(row, event);
                    break;
            }
        }
    };
    var onArrowDownKey = function onArrowDownKey(row, event) {
        var nextRow = _findNextSelectableRow(row);
        if (nextRow) {
            changeTabIndex(row, nextRow);
            nextRow.focus();
        }
        event.preventDefault();
    };
    var onArrowUpKey = function onArrowUpKey(row, event) {
        var prevRow = _findPrevSelectableRow(row);
        if (prevRow) {
            changeTabIndex(row, prevRow);
            prevRow.focus();
        }
        event.preventDefault();
    };
    var onHomeKey = function onHomeKey(row, event) {
        var firstRow = findFirstSelectableRow(row);
        if (firstRow) {
            changeTabIndex(row, firstRow);
            firstRow.focus();
        }
        event.preventDefault();
    };
    var onEndKey = function onEndKey(row, event) {
        var lastRow = findLastSelectableRow(row);
        if (lastRow) {
            changeTabIndex(row, lastRow);
            lastRow.focus();
        }
        event.preventDefault();
    };
    var onEnterKey = function onEnterKey(row, event, target) {
        if (!primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.isClickable(target)) {
            _onClick(event);
            event.preventDefault();
        }
    };
    var onSpaceKey = function onSpaceKey(row, event, target) {
        if (!primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.isClickable(target) &amp;&amp; !target.readOnly) {
            _onClick(event);
            event.preventDefault();
        }
    };
    var onTabKey = function onTabKey(row, event) {
        var parent = row.parentNode;
        var rows = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.find(parent, 'tr[data-p-selectable-row="true"]');
        if (event.code === 'Tab' &amp;&amp; rows &amp;&amp; rows.length &gt; 0) {
            var firstSelectedRow = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(parent, 'tr[data-p-highlight="true"]');
            var focusedItem = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(parent, 'tr[data-p-selectable-row="true"][tabindex="0"]');
            if (firstSelectedRow) {
                firstSelectedRow.tabIndex = '0';
                focusedItem &amp;&amp; focusedItem !== firstSelectedRow &amp;&amp; (focusedItem.tabIndex = '-1');
            } else {
                rows[0].tabIndex = '0';
                focusedItem !== rows[0] &amp;&amp; (rows[props.rowIndex].tabIndex = '-1');
            }
        }
    };
    var _onMouseDown = function onMouseDown(event) {
        props.onRowMouseDown({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onMouseUp = function onMouseUp(event) {
        props.onRowMouseUp({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onDragStart = function onDragStart(event) {
        props.onRowDragStart({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onDragOver = function onDragOver(event) {
        props.onRowDragOver({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onDragLeave = function onDragLeave(event) {
        props.onRowDragLeave({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onDragEnd = function onDragEnd(event) {
        props.onRowDragEnd({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var _onDrop = function onDrop(event) {
        props.onRowDrop({
            originalEvent: event,
            data: props.rowData,
            index: props.rowIndex
        });
    };
    var onEditChange = function onEditChange(e, isEditing) {
        if (props.onRowEditChange) {
            var editingRows;
            var dataKey = props.dataKey;
            var originalEvent = e.originalEvent, data = e.data, index = e.index, newData = e.newData;
            if (dataKey) {
                var dataKeyValue = String(primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(data, dataKey));
                editingRows = props.editingRows ? _objectSpread$9({}, props.editingRows) : {};
                if (!isEditing) {
                    delete editingRows[dataKeyValue];
                    // if the key value was changed, stop editing for the new key value too
                    var newDataKeyValue = String(primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(newData, dataKey));
                    delete editingRows[newDataKeyValue];
                } else {
                    editingRows[dataKeyValue] = true;
                }
            } else {
                var editingRowIndex = findIndex(props.editingRows, data);
                editingRows = props.editingRows ? _toConsumableArray(props.editingRows) : [];
                if (editingRowIndex !== -1) {
                    editingRows = editingRows.filter(function(val, i) {
                        return i !== editingRowIndex;
                    });
                } else {
                    editingRows.push(data);
                }
            }
            props.onRowEditChange({
                originalEvent: originalEvent,
                data: editingRows,
                index: index
            });
        } else {
            setEditingState(isEditing);
        }
    };
    var onEditInit = function onEditInit(e) {
        var event = e.originalEvent;
        if (props.onRowEditInit) {
            props.onRowEditInit({
                originalEvent: event,
                data: props.rowData,
                index: props.rowIndex
            });
        }
        onEditChange(e, true);
        event.preventDefault();
    };
    var onEditSave = function onEditSave(e) {
        var event = e.originalEvent, newData = e.newData;
        var valid = props.rowEditValidator ? props.rowEditValidator(newData, {
            props: props.tableProps,
            rowIndex: props.rowIndex
        }) : true;
        if (props.onRowEditSave) {
            props.onRowEditSave({
                originalEvent: event,
                data: props.rowData,
                index: props.rowIndex,
                newData: newData,
                valid: valid
            });
        }
        if (valid) {
            if (props.onRowEditComplete) {
                props.onRowEditComplete(e);
            }
            onEditChange(e, false);
        }
        event.preventDefault();
    };
    var onEditCancel = function onEditCancel(e) {
        var event = e.originalEvent;
        if (props.onRowEditCancel) {
            props.onRowEditCancel({
                originalEvent: event,
                data: props.rowData,
                index: props.rowIndex
            });
        }
        onEditChange(e, false);
        event.preventDefault();
    };
    var createContent = function createContent() {
        return props.columns.map(function(col, i) {
            if (shouldRenderBodyCell(props.value, col, props.index)) {
                var key = "".concat(props.rowIndex, "_").concat(getColumnProp(col, 'columnKey') || getColumnProp(col, 'field'), "_").concat(i);
                var rowSpan = props.rowGroupMode === 'rowspan' ? calculateRowGroupSize(props.value, col, props.index) : null;
                return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(BodyCell, {
                    hostName: props.hostName,
                    key: key,
                    allowCellSelection: props.allowCellSelection,
                    cellClassName: props.cellClassName,
                    checkIcon: props.checkIcon,
                    collapsedRowIcon: props.collapsedRowIcon,
                    column: col,
                    compareSelectionBy: props.compareSelectionBy,
                    dataKey: props.dataKey,
                    editMode: props.editMode,
                    editing: editing,
                    editingMeta: props.editingMeta,
                    expanded: props.expanded,
                    expandedRowIcon: props.expandedRowIcon,
                    frozenRow: props.frozenRow,
                    index: i,
                    isSelectable: props.isSelectable,
                    onCheckboxChange: props.onCheckboxChange,
                    onClick: props.onCellClick,
                    onEditingMetaChange: props.onEditingMetaChange,
                    onMouseDown: props.onCellMouseDown,
                    onMouseUp: props.onCellMouseUp,
                    onRadioChange: props.onRadioChange,
                    onRowEditCancel: onEditCancel,
                    onRowEditInit: onEditInit,
                    onRowEditSave: onEditSave,
                    onRowToggle: props.onRowToggle,
                    responsiveLayout: props.responsiveLayout,
                    rowData: props.rowData,
                    rowEditorCancelIcon: props.rowEditorCancelIcon,
                    rowEditorInitIcon: props.rowEditorInitIcon,
                    rowEditorSaveIcon: props.rowEditorSaveIcon,
                    rowIndex: props.rowIndex,
                    rowSpan: rowSpan,
                    selectOnEdit: props.selectOnEdit,
                    selected: props.selected,
                    selection: props.selection,
                    selectionAriaLabel: props.tableProps.selectionAriaLabel,
                    showRowReorderElement: props.showRowReorderElement,
                    showSelectionElement: props.showSelectionElement,
                    tabIndex: props.tabIndex,
                    tableProps: props.tableProps,
                    tableSelector: props.tableSelector,
                    value: props.value,
                    virtualScrollerOptions: props.virtualScrollerOptions,
                    ptCallbacks: props.ptCallbacks,
                    metaData: props.metaData,
                    unstyled: props.unstyled
                });
            }
            return null;
        });
    };
    var rowClassName = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getPropValue(props.rowClassName, props.rowData, {
        props: props.tableProps
    });
    var style = {
        height: props.virtualScrollerOptions ? props.virtualScrollerOptions.itemSize : undefined
    };
    var content = createContent();
    var tabIndex = getTabIndex();
    var rowProps = mergeProps({
        role: 'row',
        tabIndex: tabIndex,
        className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(cx('bodyRow', {
            rowProps: props
        })),
        style: style,
        onMouseDown: function onMouseDown(e) {
            return _onMouseDown(e);
        },
        onMouseUp: function onMouseUp(e) {
            return _onMouseUp(e);
        },
        onMouseEnter: function onMouseEnter(e) {
            return _onMouseEnter(e);
        },
        onMouseLeave: function onMouseLeave(e) {
            return _onMouseLeave(e);
        },
        onClick: function onClick(e) {
            return _onClick(e);
        },
        onDoubleClick: function onDoubleClick(e) {
            return _onDoubleClick(e);
        },
        onPointerDown: function onPointerDown(e) {
            return _onPointerDown(e);
        },
        onPointerUp: function onPointerUp(e) {
            return _onPointerUp(e);
        },
        onContextMenu: function onContextMenu(e) {
            return onRightClick(e);
        },
        onTouchEnd: function onTouchEnd(e) {
            return _onTouchEnd(e);
        },
        onKeyDown: function onKeyDown(e) {
            return _onKeyDown(e);
        },
        onDragStart: function onDragStart(e) {
            return _onDragStart(e);
        },
        onDragOver: function onDragOver(e) {
            return _onDragOver(e);
        },
        onDragLeave: function onDragLeave(e) {
            return _onDragLeave(e);
        },
        onDragEnd: function onDragEnd(e) {
            return _onDragEnd(e);
        },
        onDrop: function onDrop(e) {
            return _onDrop(e);
        },
        'aria-selected': props !== null &amp;&amp; props !== void 0 &amp;&amp; props.selectionMode ? props.selected : null,
        'data-p-selectable-row': props.allowRowSelection &amp;&amp; props.isSelectable({
            data: props.rowData,
            index: props.rowIndex
        }),
        'data-p-highlight': props.selected,
        'data-p-highlight-contextmenu': props.contextMenuSelected
    }, getBodyRowPTOptions('bodyRow'), {
        className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(rowClassName) // #5983 must be last so all unstyled merging takes place first
    });
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", rowProps, content);
});
BodyRow.displayName = 'BodyRow';
function ownKeys$8(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$8(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$8(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var RowTogglerButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo, cx = _props$ptCallbacks.cx;
    _props$ptCallbacks.isUnstyled;
    var _onClick = function onClick(event) {
        props.onClick({
            originalEvent: event,
            data: props.rowData
        });
    };
    var getColumnProps = function getColumnProps() {
        return ColumnBase.getCProps(props.column);
    };
    var getColumnPTOptions = function getColumnPTOptions(key) {
        var cProps = getColumnProps();
        var columnMetaData = {
            props: getColumnProps(),
            parent: props.metaData,
            hostName: props.hostName
        };
        return mergeProps(ptm("column.".concat(key), {
            column: columnMetaData
        }), ptm("column.".concat(key), columnMetaData), ptmo(cProps, key, columnMetaData));
    };
    var rowGroupTogglerIconProps = mergeProps({
        className: cx('rowGroupTogglerIcon'),
        'aria-hidden': true
    }, ptm('rowGroupTogglerIcon'), getColumnPTOptions('rowGroupTogglerIcon'));
    var icon = props.expanded ? props.expandedRowIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_chevrondown__WEBPACK_IMPORTED_MODULE_9__/* .ChevronDownIcon */ .D, rowGroupTogglerIconProps) : props.collapsedRowIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_chevronright__WEBPACK_IMPORTED_MODULE_10__/* .ChevronRightIcon */ .v, rowGroupTogglerIconProps);
    var togglerIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(icon, _objectSpread$8({}, rowGroupTogglerIconProps), {
        props: props
    });
    var label = props.expanded ? (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .ariaLabel */ .Y4)('collapseLabel') : (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .ariaLabel */ .Y4)('expandLabel');
    var rowGroupTogglerProps = mergeProps({
        type: 'button',
        onClick: function onClick(e) {
            return _onClick(e);
        },
        className: cx('rowGroupToggler'),
        tabIndex: props.tabIndex,
        'aria-label': label
    }, ptm('rowGroupToggler'), getColumnPTOptions('rowGroupToggler'));
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", rowGroupTogglerProps, togglerIcon, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_ripple__WEBPACK_IMPORTED_MODULE_11__/* .Ripple */ .n, null));
});
RowTogglerButton.displayName = 'RowTogglerButton';
var _excluded = [
    "originalEvent"
];
function ownKeys$7(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$7(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$7(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var TableBody = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function(props, ref) {
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo, cx = _props$ptCallbacks.cx, isUnstyled = _props$ptCallbacks.isUnstyled;
    var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState({}), _React$useState2 = _slicedToArray(_React$useState, 2), rowGroupHeaderStyleObjectState = _React$useState2[0], setRowGroupHeaderStyleObjectState = _React$useState2[1];
    var getColumnProps = function getColumnProps(column) {
        return ColumnBase.getCProps(column);
    };
    var getColumnPTOptions = function getColumnPTOptions(key) {
        var cProps = getColumnProps(props.column);
        var columnMetaData = {
            props: cProps,
            parent: props.metaData,
            hostName: props.hostName,
            state: {
                rowGroupHeaderStyleObject: rowGroupHeaderStyleObjectState
            }
        };
        return mergeProps(ptm("column.".concat(key), {
            column: columnMetaData
        }), ptm("column.".concat(key), columnMetaData), ptmo(cProps, key, columnMetaData));
    };
    var elementRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var refCallback = react__WEBPACK_IMPORTED_MODULE_0__.useCallback(function(el) {
        elementRef.current = el;
        props.virtualScrollerContentRef &amp;&amp; props.virtualScrollerContentRef(el);
    }, [
        props
    ]);
    var dragSelectionHelper = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var initialDragPosition = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var anchorRowIndex = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var anchorCellIndex = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var rangeRowIndex = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var anchorRowFirst = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var rowTouched = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);
    var rowDragging = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);
    var draggedRowIndex = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var droppedRowIndex = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var isSubheaderGrouping = props.rowGroupMode &amp;&amp; props.rowGroupMode === 'subheader';
    var isRadioSelectionMode = props.selectionMode === 'radiobutton';
    var isCheckboxSelectionMode = props.selectionMode === 'checkbox';
    var isRadioSelectionModeInColumn = props.selectionModeInColumn === 'single';
    var isCheckboxSelectionModeInColumn = props.selectionModeInColumn === 'multiple';
    var equals = function equals(data1, data2) {
        if (allowCellSelection()) {
            return (data1.rowIndex === data2.rowIndex || data1.rowData === data2.rowData) &amp;&amp; (data1.field === data2.field || data1.cellIndex === data2.cellIndex);
        }
        return props.compareSelectionBy === 'equals' ? data1 === data2 : primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.equals(data1, data2, props.dataKey);
    };
    var isSelectionEnabled = function isSelectionEnabled() {
        return props.selectionMode || props.selectionModeInColumn !== null || props.columns &amp;&amp; props.columns.some(function(col) {
            return col &amp;&amp; !!getColumnProp(col, 'selectionMode');
        });
    };
    var isSingleSelection = function isSingleSelection() {
        return props.selectionMode === 'single' &amp;&amp; !isCheckboxSelectionModeInColumn || !isRadioSelectionMode &amp;&amp; isRadioSelectionModeInColumn;
    };
    var isMultipleSelection = function isMultipleSelection() {
        return props.selectionMode === 'multiple' &amp;&amp; !isRadioSelectionModeInColumn || isCheckboxSelectionModeInColumn;
    };
    var isRadioOnlySelection = function isRadioOnlySelection() {
        return isRadioSelectionMode &amp;&amp; isRadioSelectionModeInColumn;
    };
    var isCheckboxOnlySelection = function isCheckboxOnlySelection() {
        return isCheckboxSelectionMode &amp;&amp; isCheckboxSelectionModeInColumn;
    };
    var isSelected = function isSelected(rowData) {
        if (rowData &amp;&amp; props.selection) {
            return props.selection instanceof Array ? findIndex(props.selection, rowData) &gt; -1 : equals(rowData, props.selection);
        }
        return false;
    };
    var isContextMenuSelected = function isContextMenuSelected(rowData) {
        if (rowData &amp;&amp; props.contextMenuSelection) {
            return equals(rowData, props.contextMenuSelection);
        }
        return false;
    };
    var isSelectable = function isSelectable(options) {
        return props.isDataSelectable ? props.isDataSelectable(options) : true;
    };
    var isRowExpanded = function isRowExpanded(rowData) {
        if (rowData &amp;&amp; props.expandedRows) {
            if (isSubheaderGrouping &amp;&amp; props.expandableRowGroups) {
                return isRowGroupExpanded(rowData);
            }
            if (props.dataKey) {
                var rowId = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(rowData, props.dataKey);
                var expanded = false;
                if (props.expandedRows) {
                    if (Array.isArray(props.expandedRows)) {
                        expanded = props.expandedRows.some(function(row) {
                            return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(row, props.dataKey) === rowId;
                        });
                    } else {
                        expanded = props.expandedRows[rowId] !== undefined;
                    }
                }
                return expanded;
            }
            return findIndex(props.expandedRows, rowData) !== -1;
        }
        return false;
    };
    var isRowGroupExpanded = function isRowGroupExpanded(rowData) {
        if (props.dataKey === props.groupRowsBy) {
            return Object.keys(props.expandedRows).some(function(data) {
                return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.equals(data, primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(rowData, props.dataKey));
            });
        }
        return props.expandedRows.some(function(data) {
            return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.equals(data, rowData, props.groupRowsBy);
        });
    };
    var isRowEditing = function isRowEditing(rowData) {
        if (props.editMode === 'row' &amp;&amp; rowData &amp;&amp; props.editingRows) {
            if (props.dataKey) {
                return props.editingRows ? props.editingRows[primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(rowData, props.dataKey)] !== undefined : false;
            }
            return findIndex(props.editingRows, rowData) !== -1;
        }
        return false;
    };
    var allowDrag = function allowDrag(event) {
        return props.dragSelection &amp;&amp; isMultipleSelection() &amp;&amp; !event.originalEvent.shiftKey;
    };
    var allowRowDrag = function allowRowDrag(event) {
        return !allowCellSelection() &amp;&amp; allowDrag(event) || props.reorderableRows;
    };
    var allowCellDrag = function allowCellDrag(event) {
        return allowCellSelection() &amp;&amp; allowDrag(event);
    };
    var allowSelection = function allowSelection(event) {
        return !primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.isClickable(event.originalEvent.target);
    };
    var allowMetaKeySelection = function allowMetaKeySelection(event) {
        return !rowTouched.current &amp;&amp; (!props.metaKeySelection || props.metaKeySelection &amp;&amp; (event.originalEvent.metaKey || event.originalEvent.ctrlKey));
    };
    var allowRangeSelection = function allowRangeSelection(event) {
        return isMultipleSelection() &amp;&amp; event.originalEvent.shiftKey &amp;&amp; anchorRowIndex.current !== null;
    };
    var allowRowSelection = function allowRowSelection() {
        return (props.selectionMode || props.selectionModeInColumn) &amp;&amp; !isRadioOnlySelection() &amp;&amp; !isCheckboxOnlySelection();
    };
    var allowCellSelection = function allowCellSelection() {
        return props.cellSelection &amp;&amp; !isRadioSelectionModeInColumn &amp;&amp; !isCheckboxSelectionModeInColumn;
    };
    var getColumnsLength = function getColumnsLength() {
        return props.columns ? props.columns.length : 0;
    };
    var getColumnProp = function getColumnProp(column, name) {
        return ColumnBase.getCProp(column, name);
    };
    var getVirtualScrollerOption = function getVirtualScrollerOption(option, options) {
        options = options || props.virtualScrollerOptions;
        return options ? options[option] : null;
    };
    var findIndex = function findIndex(collection, rowData) {
        return (collection || []).findIndex(function(data) {
            return equals(rowData, data);
        });
    };
    var rowGroupHeaderStyle = function rowGroupHeaderStyle() {
        if (props.scrollable) {
            return {
                top: rowGroupHeaderStyleObjectState.top
            };
        }
        return null;
    };
    var getRowKey = function getRowKey(rowData, index) {
        return props.dataKey ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(rowData, props.dataKey) : index;
    };
    var shouldRenderRowGroupHeader = function shouldRenderRowGroupHeader(value, rowData, i) {
        var currentRowFieldData = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(rowData, props.groupRowsBy);
        var prevRowData = value[i - 1];
        if (prevRowData) {
            var previousRowFieldData = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(prevRowData, props.groupRowsBy);
            return !primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.deepEquals(currentRowFieldData, previousRowFieldData);
        }
        return true;
    };
    var shouldRenderRowGroupFooter = function shouldRenderRowGroupFooter(value, rowData, i, expanded) {
        if (props.expandableRowGroups &amp;&amp; !expanded) {
            return false;
        }
        var currentRowFieldData = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(rowData, props.groupRowsBy);
        var nextRowData = value[i + 1];
        if (nextRowData) {
            var nextRowFieldData = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(nextRowData, props.groupRowsBy);
            return !primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.deepEquals(currentRowFieldData, nextRowFieldData);
        }
        return true;
    };
    var updateFrozenRowStickyPosition = function updateFrozenRowStickyPosition() {
        elementRef.current.style.top = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterHeight(elementRef.current.previousElementSibling) + 'px';
    };
    var updateFrozenRowGroupHeaderStickyPosition = function updateFrozenRowGroupHeaderStickyPosition() {
        var tableHeaderHeight = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterHeight(elementRef.current.previousElementSibling);
        var top = tableHeaderHeight + 'px';
        if (rowGroupHeaderStyleObjectState.top !== top) {
            setRowGroupHeaderStyleObjectState({
                top: top
            });
        }
    };
    var onSingleSelection = function onSingleSelection(_ref) {
        var originalEvent = _ref.originalEvent, data = _ref.data, index = _ref.index, toggleable = _ref.toggleable, type = _ref.type;
        if (!isSelectable({
            data: data,
            index: index
        })) {
            return;
        }
        var selected = isSelected(data);
        var selection = props.selection;
        if (selected) {
            if (toggleable) {
                selection = null;
                onUnselect({
                    originalEvent: originalEvent,
                    data: data,
                    type: type
                });
            }
        } else {
            selection = data;
            onSelect({
                originalEvent: originalEvent,
                data: data,
                type: type
            });
        }
        focusOnElement(originalEvent, true);
        if (props.onSelectionChange &amp;&amp; selection !== props.selection) {
            props.onSelectionChange({
                originalEvent: originalEvent,
                value: selection,
                type: type
            });
        }
    };
    var onMultipleSelection = function onMultipleSelection(_ref2) {
        var originalEvent = _ref2.originalEvent, data = _ref2.data, index = _ref2.index, toggleable = _ref2.toggleable, type = _ref2.type;
        if (!isSelectable({
            data: data,
            index: index
        })) {
            return;
        }
        var selected = isSelected(data);
        var selection = props.selection || [];
        if (selected) {
            if (toggleable) {
                var selectionIndex = findIndex(selection, data);
                selection = props.selection.filter(function(val, i) {
                    return i !== selectionIndex;
                });
                onUnselect({
                    originalEvent: originalEvent,
                    data: data,
                    type: type
                });
            } else if (selection.length) {
                props.selection.forEach(function(d) {
                    return onUnselect({
                        originalEvent: originalEvent,
                        data: d,
                        type: type
                    });
                });
                selection = [
                    data
                ];
                onSelect({
                    originalEvent: originalEvent,
                    data: data,
                    type: type
                });
            }
        } else {
            selection = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isObject(selection) ? [
                selection
            ] : selection;
            selection = toggleable &amp;&amp; isMultipleSelection() ? [].concat(_toConsumableArray(selection), [
                data
            ]) : [
                data
            ];
            onSelect({
                originalEvent: originalEvent,
                data: data,
                type: type
            });
        }
        if (props.onSelectionChange &amp;&amp; selection !== props.selection) {
            props.onSelectionChange({
                originalEvent: originalEvent,
                value: selection,
                type: type
            });
        }
    };
    var onRangeSelection = function onRangeSelection(event, type) {
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.clearSelection();
        rangeRowIndex.current = allowCellSelection() ? event.rowIndex : event.index;
        var selection = selectRange(event);
        if (props.onSelectionChange &amp;&amp; selection !== props.selection) {
            props.onSelectionChange({
                originalEvent: event.originalEvent,
                value: selection,
                type: type
            });
        }
        anchorRowIndex.current = rangeRowIndex.current;
        anchorCellIndex.current = event.cellIndex;
    };
    var selectRange = function selectRange(event) {
        var rangeStart;
        var rangeEnd;
        var isAllowCellSelection = allowCellSelection();
        if (rangeRowIndex.current &gt; anchorRowIndex.current) {
            rangeStart = anchorRowIndex.current;
            rangeEnd = rangeRowIndex.current;
        } else if (rangeRowIndex.current &lt; anchorRowIndex.current) {
            rangeStart = rangeRowIndex.current;
            rangeEnd = anchorRowIndex.current;
        } else {
            rangeStart = rangeEnd = rangeRowIndex.current;
        }
        return isAllowCellSelection ? selectRangeOnCell(event, rangeStart, rangeEnd) : selectRangeOnRow(event, rangeStart, rangeEnd);
    };
    var selectRangeOnRow = function selectRangeOnRow(event, rowRangeStart, rowRangeEnd) {
        var selection = [];
        for(var i = rowRangeStart; i &lt;= rowRangeEnd; i++){
            var rangeRowData = props.processedData[i];
            if (!isSelectable({
                data: rangeRowData,
                index: i
            })) {
                continue;
            }
            selection.push(rangeRowData);
            onSelect({
                originalEvent: event.originalEvent,
                data: rangeRowData,
                type: 'row'
            });
        }
        return selection;
    };
    var selectRangeOnCell = function selectRangeOnCell(event, rowRangeStart, rowRangeEnd) {
        var cellRangeStart;
        var cellRangeEnd;
        var cellIndex = event.cellIndex;
        if (cellIndex &gt; anchorCellIndex.current) {
            cellRangeStart = anchorCellIndex.current;
            cellRangeEnd = cellIndex;
        } else if (cellIndex &lt; anchorCellIndex.current) {
            cellRangeStart = cellIndex;
            cellRangeEnd = anchorCellIndex.current;
        } else {
            cellRangeStart = cellRangeEnd = cellIndex;
        }
        var value = props.value;
        var selection = [];
        for(var i = rowRangeStart; i &lt;= rowRangeEnd; i++){
            var rowData = value[i];
            var columns = props.columns;
            var rowIndex = props.paginator ? i + props.first : i;
            for(var j = cellRangeStart; j &lt;= cellRangeEnd; j++){
                var field = getColumnProp(columns[j], 'field');
                var _value = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(rowData, field);
                var rangeRowData = {
                    value: _value,
                    field: field,
                    rowData: rowData,
                    rowIndex: rowIndex,
                    cellIndex: j,
                    selected: true
                };
                if (!isSelectable({
                    data: rangeRowData,
                    index: i
                })) {
                    continue;
                }
                selection.push(rangeRowData);
                onSelect({
                    originalEvent: event.originalEvent,
                    data: rangeRowData,
                    type: 'cell'
                });
            }
        }
        return selection;
    };
    var onSelect = function onSelect(event) {
        if (allowCellSelection()) {
            props.onCellSelect &amp;&amp; props.onCellSelect(_objectSpread$7(_objectSpread$7({
                originalEvent: event.originalEvent
            }, event.data), {}, {
                type: event.type
            }));
        } else {
            props.onRowSelect &amp;&amp; props.onRowSelect(event);
        }
    };
    var onUnselect = function onUnselect(event) {
        if (allowCellSelection()) {
            props.onCellUnselect &amp;&amp; props.onCellUnselect(_objectSpread$7(_objectSpread$7({
                originalEvent: event.originalEvent
            }, event.data), {}, {
                type: event.type
            }));
        } else {
            props.onRowUnselect &amp;&amp; props.onRowUnselect(event);
        }
    };
    var enableDragSelection = function enableDragSelection(event) {
        if (props.dragSelection &amp;&amp; !dragSelectionHelper.current) {
            dragSelectionHelper.current = document.createElement('div');
            dragSelectionHelper.current.setAttribute('p-datatable-drag-selection-helper', 'true');
            !isUnstyled() &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.addClass(dragSelectionHelper.current, 'p-datatable-drag-selection-helper');
            initialDragPosition.current = {
                x: event.clientX,
                y: event.clientY
            };
            dragSelectionHelper.current.style.top = "".concat(event.pageY, "px");
            dragSelectionHelper.current.style.left = "".concat(event.pageX, "px");
            bindDragSelectionEvents();
        }
    };
    var focusOnElement = function focusOnElement(event, isFocused) {
        var target = event.currentTarget;
        if (!allowCellSelection() &amp;&amp; props.selectionAutoFocus) {
            if (isCheckboxSelectionModeInColumn) {
                var checkbox = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(target, 'td[data-p-selection-column="true"] [data-pc-section="checkbox"]');
                checkbox &amp;&amp; checkbox.focus();
            } else if (isRadioSelectionModeInColumn) {
                var radio = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(target, 'td[data-p-selection-column="true"] input[type="radio"]');
                radio &amp;&amp; radio.focus();
            }
        }
        !isFocused &amp;&amp; target &amp;&amp; target.focus();
    };
    var changeTabIndex = function changeTabIndex(event, type) {
        var target = event.currentTarget;
        var isSelectable = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(target, type === 'cell' ? 'data-p-selectable-cell' : 'data-p-selectable-row') === true;
        if (isSelectable) {
            var selector = type === 'cell' ? 'tr &gt; td' : 'tr';
            var tabbableEl = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(elementRef.current, "".concat(selector, "[tabindex=\"").concat(props.tabIndex, "\"]"));
            if (tabbableEl &amp;&amp; target) {
                tabbableEl.tabIndex = -1;
                target.tabIndex = props.tabIndex;
            }
        }
    };
    var onRowClick = function onRowClick(event) {
        if (event.defaultPrevented || event.originalEvent &amp;&amp; event.originalEvent.defaultPrevented || allowCellSelection() || !allowSelection(event)) {
            return;
        }
        props.onRowClick &amp;&amp; props.onRowClick(event);
        if (allowRowSelection()) {
            if (allowRangeSelection(event)) {
                onRangeSelection(event, 'row');
            } else {
                var toggleable = isRadioSelectionModeInColumn || isCheckboxSelectionModeInColumn || allowMetaKeySelection(event);
                anchorRowIndex.current = event.index;
                rangeRowIndex.current = event.index;
                anchorRowFirst.current = props.first;
                if (isSingleSelection()) {
                    onSingleSelection(_objectSpread$7(_objectSpread$7({}, event), {}, {
                        toggleable: toggleable,
                        type: 'row'
                    }));
                } else {
                    onMultipleSelection(_objectSpread$7(_objectSpread$7({}, event), {}, {
                        toggleable: toggleable,
                        type: 'row'
                    }));
                }
            }
            changeTabIndex(event.originalEvent, 'row');
        } else {
            focusOnElement(event.originalEvent);
        }
        rowTouched.current = false;
    };
    var onRowDoubleClick = function onRowDoubleClick(e) {
        var event = e.originalEvent;
        if (primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.isClickable(event.target)) {
            return;
        }
        if (props.onRowDoubleClick) {
            props.onRowDoubleClick(e);
        }
    };
    var onRowPointerDown = function onRowPointerDown(e) {
        var event = e.originalEvent;
        if (primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.isClickable(event.target)) {
            return;
        }
        if (props.onRowPointerDown) {
            props.onRowPointerDown(e);
        }
    };
    var onRowPointerUp = function onRowPointerUp(e) {
        var event = e.originalEvent;
        if (primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.isClickable(event.target)) {
            return;
        }
        if (props.onRowPointerUp) {
            props.onRowPointerUp(e);
        }
    };
    var onRowRightClick = function onRowRightClick(event) {
        if (props.onContextMenu || props.onContextMenuSelectionChange) {
            var hasSelection = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(props.selection);
            var data = event.data;
            if (hasSelection) {
                primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.clearSelection();
            }
            if (props.onContextMenuSelectionChange) {
                props.onContextMenuSelectionChange({
                    originalEvent: event.originalEvent,
                    value: data,
                    index: event.index
                });
            }
            if (props.onContextMenu) {
                props.onContextMenu({
                    originalEvent: event.originalEvent,
                    data: data,
                    index: event.index
                });
            }
            event.originalEvent.preventDefault();
        }
    };
    var onRowMouseEnter = function onRowMouseEnter(event) {
        props.onRowMouseEnter &amp;&amp; props.onRowMouseEnter(event);
    };
    var onRowMouseLeave = function onRowMouseLeave(event) {
        props.onRowMouseLeave &amp;&amp; props.onRowMouseLeave(event);
    };
    var onRowTouchEnd = function onRowTouchEnd() {
        rowTouched.current = true;
    };
    var onRowMouseDown = function onRowMouseDown(e) {
        var event = e.originalEvent;
        var isDraggableHandle = isUnstyled() ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(event.target, 'data-pc-section') === 'rowreordericon' || event.target.closest('[data-pc-section="rowreordericon"]') : primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.hasClass(event.target, 'p-datatable-reorderablerow-handle') || event.target.closest('.p-datatable-reorderablerow-handle');
        event.currentTarget.draggable = isDraggableHandle;
        //event.target.draggable = isDraggableHandle;
        if (allowRowDrag(e)) {
            enableDragSelection(event);
            anchorRowIndex.current = e.index;
            rangeRowIndex.current = e.index;
            anchorRowFirst.current = props.first;
        }
    };
    var onRowMouseUp = function onRowMouseUp(event) {
        var isSameRow = event.index === anchorRowIndex.current;
        if (allowRowDrag(event) &amp;&amp; !isSameRow) {
            onRangeSelection(event, 'row');
        }
    };
    var onRowToggle = function onRowToggle(event) {
        var expandedRows;
        var dataKey = props.dataKey;
        var hasDataKey = props.groupRowsBy ? dataKey === props.groupRowsBy : !!dataKey;
        if (hasDataKey) {
            var dataKeyValue = String(primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(event.data, dataKey));
            expandedRows = props.expandedRows ? _objectSpread$7({}, props.expandedRows) : {};
            if (expandedRows[dataKeyValue] != null) {
                delete expandedRows[dataKeyValue];
                if (props.onRowCollapse) {
                    props.onRowCollapse({
                        originalEvent: event,
                        data: event.data
                    });
                }
            } else {
                expandedRows[dataKeyValue] = true;
                if (props.onRowExpand) {
                    props.onRowExpand({
                        originalEvent: event,
                        data: event.data
                    });
                }
            }
        } else {
            var expandedRowIndex = findIndex(props.expandedRows, event.data);
            expandedRows = props.expandedRows ? _toConsumableArray(props.expandedRows) : [];
            if (expandedRowIndex !== -1) {
                expandedRows = expandedRows.filter(function(_, i) {
                    return i !== expandedRowIndex;
                });
                if (props.onRowCollapse) {
                    props.onRowCollapse({
                        originalEvent: event,
                        data: event.data
                    });
                }
            } else {
                expandedRows.push(event.data);
                if (props.onRowExpand) {
                    props.onRowExpand({
                        originalEvent: event,
                        data: event.data
                    });
                }
            }
        }
        if (props.onRowToggle) {
            props.onRowToggle({
                data: expandedRows
            });
        }
    };
    var onRowDragStart = function onRowDragStart(e) {
        var event = e.originalEvent, index = e.index;
        if (allowRowDrag(e)) {
            rowDragging.current = true;
            draggedRowIndex.current = index;
            event.dataTransfer.setData('text', 'b'); // For firefox
        }
    };
    var onRowDragOver = function onRowDragOver(e) {
        var event = e.originalEvent, index = e.index;
        if (!rowDragging.current) {
            return;
        }
        if (draggedRowIndex.current !== index) {
            var rowElement = event.currentTarget;
            var rowY = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOffset(rowElement).top + primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getWindowScrollTop();
            var pageY = event.pageY + window.scrollY;
            var rowMidY = rowY + primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterHeight(rowElement) / 2;
            var prevRowElement = rowElement.previousElementSibling;
            if (pageY &lt; rowMidY) {
                rowElement.setAttribute('data-p-datatable-dragpoint-bottom', 'false');
                !isUnstyled() &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.removeClass(rowElement, 'p-datatable-dragpoint-bottom');
                droppedRowIndex.current = index;
                if (prevRowElement) {
                    prevRowElement.setAttribute('data-p-datatable-dragpoint-bottom', 'true');
                    !isUnstyled() &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.addClass(prevRowElement, 'p-datatable-dragpoint-bottom');
                } else {
                    rowElement.setAttribute('data-p-datatable-dragpoint-top', 'true');
                    !isUnstyled() &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.addClass(rowElement, 'p-datatable-dragpoint-top');
                }
            } else {
                if (prevRowElement) {
                    prevRowElement.setAttribute('data-p-datatable-dragpoint-bottom', 'false');
                    !isUnstyled() &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.removeClass(prevRowElement, 'p-datatable-dragpoint-bottom');
                } else {
                    rowElement.setAttribute('data-p-datatable-dragpoint-top', 'true');
                    !isUnstyled() &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.addClass(rowElement, 'p-datatable-dragpoint-top');
                }
                if (index + 1 !== draggedRowIndex.current) droppedRowIndex.current = index + 1;
                rowElement.setAttribute('data-p-datatable-dragpoint-bottom', 'true');
                !isUnstyled() &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.addClass(rowElement, 'p-datatable-dragpoint-bottom');
            }
        }
        event.preventDefault();
    };
    var onRowDragLeave = function onRowDragLeave(e) {
        var event = e.originalEvent;
        var rowElement = event.currentTarget;
        var prevRowElement = rowElement.previousElementSibling;
        if (prevRowElement) {
            prevRowElement.setAttribute('data-p-datatable-dragpoint-bottom', 'false');
            !isUnstyled() &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.removeClass(prevRowElement, 'p-datatable-dragpoint-bottom');
        }
        rowElement.setAttribute('data-p-datatable-dragpoint-bottom', 'false');
        !isUnstyled() &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.removeClass(rowElement, 'p-datatable-dragpoint-bottom');
        rowElement.setAttribute('data-p-datatable-dragpoint-top', 'false');
        !isUnstyled() &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.removeClass(rowElement, 'p-datatable-dragpoint-top');
    };
    var onRowDragEnd = function onRowDragEnd(e) {
        var event = e.originalEvent;
        rowDragging.current = false;
        draggedRowIndex.current = null;
        droppedRowIndex.current = null;
        event.currentTarget.draggable = false;
    };
    var onRowDrop = function onRowDrop(e) {
        var event = e.originalEvent;
        if (droppedRowIndex.current != null) {
            var dropIndex = draggedRowIndex.current &gt; droppedRowIndex.current ? droppedRowIndex.current : droppedRowIndex.current === 0 ? 0 : droppedRowIndex.current - 1;
            var val = _toConsumableArray(props.tableProps.value);
            primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.reorderArray(val, draggedRowIndex.current, dropIndex);
            if (props.onRowReorder) {
                props.onRowReorder({
                    originalEvent: event,
                    value: val,
                    dragIndex: draggedRowIndex.current,
                    dropIndex: dropIndex
                });
            }
        }
        //cleanup
        onRowDragLeave(e);
        onRowDragEnd(e);
        event.preventDefault();
    };
    var onRadioChange = function onRadioChange(event) {
        onSingleSelection(_objectSpread$7(_objectSpread$7({}, event), {}, {
            toggleable: true,
            type: 'radio'
        }));
    };
    var onCheckboxChange = function onCheckboxChange(event) {
        onMultipleSelection(_objectSpread$7(_objectSpread$7({}, event), {}, {
            toggleable: true,
            type: 'checkbox'
        }));
    };
    var onDragSelectionMouseMove = function onDragSelectionMouseMove(event) {
        var _initialDragPosition$ = initialDragPosition.current, x = _initialDragPosition$.x, y = _initialDragPosition$.y;
        var dx = event.clientX - x;
        var dy = event.clientY - y;
        if (dy &lt; 0) {
            dragSelectionHelper.current.style.top = "".concat(event.pageY + 5, "px");
        }
        if (dx &lt; 0) {
            dragSelectionHelper.current.style.left = "".concat(event.pageX + 5, "px");
        }
        dragSelectionHelper.current.style.height = "".concat(Math.abs(dy), "px");
        dragSelectionHelper.current.style.width = "".concat(Math.abs(dx), "px");
        event.preventDefault();
    };
    var _onDragSelectionMouseUp = function onDragSelectionMouseUp() {
        if (dragSelectionHelper.current) {
            dragSelectionHelper.current.remove();
            dragSelectionHelper.current = null;
        }
        document.removeEventListener('mousemove', onDragSelectionMouseMove);
        document.removeEventListener('mouseup', _onDragSelectionMouseUp);
    };
    var onCellClick = function onCellClick(event) {
        if (!allowSelection(event)) {
            return;
        }
        props.onCellClick &amp;&amp; props.onCellClick(event);
        if (allowCellSelection()) {
            if (allowRangeSelection(event)) {
                onRangeSelection(event, 'cell');
            } else {
                var toggleable = allowMetaKeySelection(event);
                var originalEvent = event.originalEvent, data = _objectWithoutProperties(event, _excluded);
                anchorRowIndex.current = event.rowIndex;
                rangeRowIndex.current = event.rowIndex;
                anchorRowFirst.current = props.first;
                anchorCellIndex.current = event.cellIndex;
                if (isSingleSelection()) {
                    onSingleSelection({
                        originalEvent: originalEvent,
                        data: data,
                        index: event.rowIndex,
                        toggleable: toggleable,
                        type: 'cell'
                    });
                } else {
                    onMultipleSelection({
                        originalEvent: originalEvent,
                        data: data,
                        index: event.rowIndex,
                        toggleable: toggleable,
                        type: 'cell'
                    });
                }
            }
            changeTabIndex(event.originalEvent, 'cell');
        }
        rowTouched.current = false;
    };
    var onCellMouseDown = function onCellMouseDown(event) {
        if (allowCellDrag(event)) {
            enableDragSelection(event.originalEvent);
            anchorRowIndex.current = event.rowIndex;
            rangeRowIndex.current = event.rowIndex;
            anchorRowFirst.current = props.first;
            anchorCellIndex.current = event.cellIndex;
        }
    };
    var onCellMouseUp = function onCellMouseUp(event) {
        var isSameCell = event.rowIndex === anchorRowIndex.current &amp;&amp; event.cellIndex === anchorCellIndex.current;
        if (allowCellDrag(event) &amp;&amp; !isSameCell) {
            onRangeSelection(event, 'cell');
        }
    };
    var bindDragSelectionEvents = function bindDragSelectionEvents() {
        document.addEventListener('mousemove', onDragSelectionMouseMove);
        document.addEventListener('mouseup', _onDragSelectionMouseUp);
        document.body.appendChild(dragSelectionHelper.current);
    };
    var unbindDragSelectionEvents = function unbindDragSelectionEvents() {
        _onDragSelectionMouseUp();
    };
    react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function() {
        if (props.frozenRow) {
            updateFrozenRowStickyPosition();
        }
        if (props.scrollable &amp;&amp; props.rowGroupMode === 'subheader') {
            updateFrozenRowGroupHeaderStickyPosition();
        }
    });
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUpdateEffect */ .w5)(function() {
        if (props.paginator &amp;&amp; isMultipleSelection()) {
            anchorRowIndex.current = null;
        }
    }, [
        props.first
    ]);
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUnmountEffect */ .l0)(function() {
        if (props.dragSelection) {
            unbindDragSelectionEvents();
        }
    });
    var createEmptyContent = function createEmptyContent() {
        if (!props.loading) {
            var colSpan = getColumnsLength();
            var _content = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(props.emptyMessage, {
                props: props.tableProps,
                frozen: props.frozenRow
            }) || (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .localeOption */ .WP)('emptyMessage');
            var emptyMessageProps = mergeProps({
                className: cx('emptyMessage'),
                role: 'row'
            }, getColumnPTOptions('emptyMessage'));
            var bodyCellProps = mergeProps({
                colSpan: colSpan,
                role: 'cell'
            }, getColumnPTOptions('root'), getColumnPTOptions('bodyCell'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", emptyMessageProps, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("td", bodyCellProps, _content));
        }
        return null;
    };
    var createGroupHeader = function createGroupHeader(rowData, rowIndex, expanded, colSpan) {
        if (isSubheaderGrouping &amp;&amp; shouldRenderRowGroupHeader(props.value, rowData, rowIndex - props.first)) {
            var style = rowGroupHeaderStyle();
            var toggler = props.expandableRowGroups &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(RowTogglerButton, {
                hostName: props.hostName,
                onClick: onRowToggle,
                rowData: rowData,
                expanded: expanded,
                expandedRowIcon: props.expandedRowIcon,
                collapsedRowIcon: props.collapsedRowIcon,
                ptCallbacks: props.ptCallbacks,
                metaData: props.metaData,
                unstyled: isUnstyled()
            });
            var options = {
                index: rowIndex,
                props: props.tableProps,
                customRendering: false
            };
            var _content2 = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(props.rowGroupHeaderTemplate, rowData, options);
            // check if the user wants complete control of the rendering
            if (!options.customRendering) {
                var bodyCellProps = mergeProps({
                    colSpan: colSpan
                }, getColumnPTOptions('root'), getColumnPTOptions('bodyCell'));
                var rowGroupHeaderNameProps = mergeProps({
                    className: cx('rowGroupHeaderName')
                }, getColumnPTOptions('rowGroupHeaderName'));
                _content2 = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("td", bodyCellProps, toggler, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", rowGroupHeaderNameProps, _content2));
            }
            var rowGroupHeaderProps = mergeProps({
                className: cx('rowGroupHeader'),
                style: style,
                role: 'row'
            }, getColumnPTOptions('rowGroupHeader'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", rowGroupHeaderProps, _content2);
        }
        return null;
    };
    var createRow = function createRow(rowData, rowIndex, index, expanded) {
        if (!props.expandableRowGroups || expanded) {
            var selected = isSelectionEnabled() ? isSelected(rowData) : false;
            var contextMenuSelected = isContextMenuSelected(rowData);
            var _allowRowSelection = allowRowSelection();
            var _allowCellSelection = allowCellSelection();
            var editing = isRowEditing(rowData);
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(BodyRow, {
                hostName: props.hostName,
                allowCellSelection: _allowCellSelection,
                allowRowSelection: _allowRowSelection,
                cellClassName: props.cellClassName,
                checkIcon: props.checkIcon,
                collapsedRowIcon: props.collapsedRowIcon,
                columns: props.columns,
                compareSelectionBy: props.compareSelectionBy,
                contextMenuSelected: contextMenuSelected,
                dataKey: props.dataKey,
                editMode: props.editMode,
                editing: editing,
                editingMeta: props.editingMeta,
                editingRows: props.editingRows,
                expanded: expanded,
                expandedRowIcon: props.expandedRowIcon,
                frozenRow: props.frozenRow,
                groupRowsBy: props.groupRowsBy,
                index: index,
                isSelectable: isSelectable,
                onCellClick: onCellClick,
                onCellMouseDown: onCellMouseDown,
                onCellMouseUp: onCellMouseUp,
                onCheckboxChange: onCheckboxChange,
                onEditingMetaChange: props.onEditingMetaChange,
                onRadioChange: onRadioChange,
                onRowClick: onRowClick,
                onRowDoubleClick: onRowDoubleClick,
                onRowPointerDown: onRowPointerDown,
                onRowPointerUp: onRowPointerUp,
                onRowDragEnd: onRowDragEnd,
                onRowDragLeave: onRowDragLeave,
                onRowDragOver: onRowDragOver,
                onRowDragStart: onRowDragStart,
                onRowDrop: onRowDrop,
                onRowEditCancel: props.onRowEditCancel,
                onRowEditChange: props.onRowEditChange,
                onRowEditComplete: props.onRowEditComplete,
                onRowEditInit: props.onRowEditInit,
                onRowEditSave: props.onRowEditSave,
                onRowMouseDown: onRowMouseDown,
                onRowMouseEnter: onRowMouseEnter,
                onRowMouseLeave: onRowMouseLeave,
                onRowMouseUp: onRowMouseUp,
                onRowRightClick: onRowRightClick,
                onRowToggle: onRowToggle,
                onRowTouchEnd: onRowTouchEnd,
                responsiveLayout: props.responsiveLayout,
                rowClassName: props.rowClassName,
                rowData: rowData,
                rowEditValidator: props.rowEditValidator,
                rowEditorCancelIcon: props.rowEditorCancelIcon,
                rowEditorInitIcon: props.rowEditorInitIcon,
                rowEditorSaveIcon: props.rowEditorSaveIcon,
                rowGroupMode: props.rowGroupMode,
                rowIndex: rowIndex,
                selectOnEdit: props.selectOnEdit,
                selected: selected,
                selection: props.selection,
                selectionMode: props.selectionMode,
                selectionModeInColumn: props.selectionModeInColumn,
                showRowReorderElement: props.showRowReorderElement,
                showSelectionElement: props.showSelectionElement,
                tabIndex: props.tabIndex,
                tableProps: props.tableProps,
                tableSelector: props.tableSelector,
                value: props.value,
                virtualScrollerOptions: props.virtualScrollerOptions,
                ptCallbacks: props.ptCallbacks,
                metaData: props.metaData,
                unstyled: isUnstyled()
            });
        }
    };
    var createExpansion = function createExpansion(rowData, rowIndex, expanded, colSpan) {
        if (expanded &amp;&amp; !(isSubheaderGrouping &amp;&amp; props.expandableRowGroups)) {
            var id = "".concat(props.tableSelector, "_content_").concat(rowIndex, "_expanded");
            var options = {
                index: rowIndex,
                customRendering: false
            };
            var _content3 = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(props.rowExpansionTemplate, rowData, options);
            // check if the user wants complete control of the rendering
            if (!options.customRendering) {
                var bodyCellProps = mergeProps({
                    colSpan: colSpan,
                    role: 'cell'
                }, getColumnPTOptions('root'), getColumnPTOptions('bodyCell'));
                _content3 = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("td", bodyCellProps, _content3);
            }
            var rowExpansionProps = mergeProps({
                id: id,
                className: cx('rowExpansion'),
                role: 'row'
            }, getColumnPTOptions('rowExpansion'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", rowExpansionProps, _content3);
        }
        return null;
    };
    var createGroupFooter = function createGroupFooter(rowData, rowIndex, expanded, colSpan) {
        if (isSubheaderGrouping &amp;&amp; shouldRenderRowGroupFooter(props.value, rowData, rowIndex - props.first, expanded)) {
            var _content4 = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(props.rowGroupFooterTemplate, rowData, {
                index: rowIndex,
                colSpan: colSpan,
                props: props.tableProps
            });
            var rowGroupFooterProps = mergeProps({
                className: cx('rowGroupFooter'),
                role: 'row'
            }, getColumnPTOptions('rowGroupFooter'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", rowGroupFooterProps, _content4);
        }
        return null;
    };
    var createContent = function createContent() {
        return props.value &amp;&amp; props.value.map(function(rowData, index) {
            var rowIndex = getVirtualScrollerOption('getItemOptions') ? getVirtualScrollerOption('getItemOptions')(index).index : props.first + index;
            var key = getRowKey(rowData, rowIndex);
            var expanded = isRowExpanded(rowData);
            var colSpan = getColumnsLength();
            var groupHeader = createGroupHeader(rowData, rowIndex, expanded, colSpan);
            var row = createRow(rowData, rowIndex, index, expanded);
            var expansion = createExpansion(rowData, rowIndex, expanded, colSpan);
            var groupFooter = createGroupFooter(rowData, rowIndex, expanded, colSpan);
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
                key: key
            }, groupHeader, row, expansion, groupFooter);
        });
    };
    var content = props.empty ? createEmptyContent() : createContent();
    var ptKey = props.className === 'p-datatable-virtualscroller-spacer' ? 'virtualScrollerSpacer' : 'tbody';
    var tbodyProps = mergeProps({
        style: props.style,
        className: cx(ptKey, {
            className: props.className
        }),
        role: ' rowgroup'
    }, ptm(ptKey, {
        hostName: props.hostName
    }));
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tbody", _extends({
        ref: refCallback
    }, tbodyProps), content);
}));
TableBody.displayName = 'TableBody';
var ColumnGroupBase = primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__/* .ComponentBase */ .x.extend({
    defaultProps: {
        __TYPE: 'ColumnGroup',
        children: undefined
    },
    getCProp: function getCProp(group, name) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getComponentProp(group, name, ColumnGroupBase.defaultProps);
    },
    getCProps: function getCProps(group) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getComponentProps(group, ColumnGroupBase.defaultProps);
    }
});
var RowBase = primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__/* .ComponentBase */ .x.extend({
    defaultProps: {
        __TYPE: 'Row',
        style: null,
        className: null,
        children: undefined
    },
    getCProp: function getCProp(row, name) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getComponentProp(row, name, RowBase.defaultProps);
    }
});
function ownKeys$6(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$6(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$6(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var FooterCell = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState({}), _React$useState2 = _slicedToArray(_React$useState, 2), styleObjectState = _React$useState2[0], setStyleObjectState = _React$useState2[1];
    var elementRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var getColumnProps = function getColumnProps() {
        return ColumnBase.getCProps(props.column);
    };
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo, cx = _props$ptCallbacks.cx;
    var getColumnPTOptions = function getColumnPTOptions(key) {
        var cProps = getColumnProps();
        var columnMetaData = {
            props: cProps,
            parent: props.metaData,
            hostName: props.hostName,
            state: {
                styleObject: styleObjectState
            },
            context: {
                index: props.index,
                size: props.metaData.props.size,
                showGridlines: props.metaData.props.showGridlines
            }
        };
        return mergeProps(ptm("column.".concat(key), {
            column: columnMetaData
        }), ptm("column.".concat(key), columnMetaData), ptmo(cProps, key, columnMetaData));
    };
    var getColumnProp = function getColumnProp(name) {
        return ColumnBase.getCProp(props.column, name);
    };
    var getStyle = function getStyle() {
        var footerStyle = getColumnProp('footerStyle');
        var columnStyle = getColumnProp('style');
        return getColumnProp('frozen') ? Object.assign({}, columnStyle, footerStyle, styleObjectState) : Object.assign({}, columnStyle, footerStyle);
    };
    var updateStickyPosition = function updateStickyPosition() {
        if (getColumnProp('frozen')) {
            var styleObject = _objectSpread$6({}, styleObjectState);
            var _align = getColumnProp('alignFrozen');
            if (_align === 'right') {
                var right = 0;
                var next = elementRef.current.nextElementSibling;
                if (next &amp;&amp; next.classList.contains('p-frozen-column')) {
                    right = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterWidth(next) + parseFloat(next.style.right || 0);
                }
                styleObject.right = right + 'px';
            } else {
                var left = 0;
                var prev = elementRef.current.previousElementSibling;
                if (prev &amp;&amp; prev.classList.contains('p-frozen-column')) {
                    left = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
                }
                styleObject.left = left + 'px';
            }
            var isSameStyle = styleObjectState.left === styleObject.left &amp;&amp; styleObjectState.right === styleObject.right;
            !isSameStyle &amp;&amp; setStyleObjectState(styleObject);
        }
    };
    react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function() {
        if (getColumnProp('frozen')) {
            updateStickyPosition();
        }
    });
    var style = getStyle();
    var align = getColumnProp('align');
    var colSpan = getColumnProp('colSpan');
    var rowSpan = getColumnProp('rowSpan');
    var content = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(getColumnProp('footer'), {
        props: props.tableProps
    });
    var footerCellProps = mergeProps({
        style: style,
        className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(getColumnProp('footerClassName'), getColumnProp('className'), cx('footerCell', {
            getColumnProp: getColumnProp,
            align: align
        })),
        role: 'cell',
        colSpan: colSpan,
        rowSpan: rowSpan
    }, getColumnPTOptions('root'), getColumnPTOptions('footerCell'));
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("td", _extends({
        ref: elementRef
    }, footerCellProps), content);
});
FooterCell.displayName = 'FooterCell';
var TableFooter = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo, cx = _props$ptCallbacks.cx;
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var getRowProps = function getRowProps(row) {
        return ColumnGroupBase.getCProps(row);
    };
    var context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .PrimeReactContext */ .UM);
    var getColumnGroupProps = function getColumnGroupProps() {
        return props.footerColumnGroup ? ColumnGroupBase.getCProps(props.footerColumnGroup) : undefined;
    };
    var getRowPTOptions = function getRowPTOptions(row, key) {
        var rProps = getRowProps(row);
        var rowMetaData = {
            props: rProps,
            parent: props.metaData,
            hostName: props.hostName
        };
        return mergeProps(ptm("row.".concat(key), {
            row: rowMetaData
        }), ptm("row.".concat(key), rowMetaData), ptmo(rProps, key, rowMetaData));
    };
    var getColumnGroupPTOptions = function getColumnGroupPTOptions(key) {
        var cGProps = getColumnGroupProps();
        var columnGroupMetaData = {
            props: getColumnGroupProps(),
            parent: props.metaData,
            hostName: props.hostName
        };
        return mergeProps(ptm("columnGroup.".concat(key), {
            columnGroup: columnGroupMetaData
        }), ptm("columnGroup.".concat(key), columnGroupMetaData), ptmo(cGProps, key, columnGroupMetaData));
    };
    var hasFooter = function hasFooter() {
        return props.footerColumnGroup ? true : props.columns ? props.columns.some(function(col) {
            return col &amp;&amp; getColumnProp(col, 'footer');
        }) : false;
    };
    var getColumnProp = function getColumnProp(column, name) {
        return ColumnBase.getCProp(column, name);
    };
    var createGroupFooterCells = function createGroupFooterCells(row) {
        var columns = react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(RowBase.getCProp(row, 'children'));
        return createFooterCells(columns);
    };
    var createFooterCells = function createFooterCells(columns) {
        return react__WEBPACK_IMPORTED_MODULE_0__.Children.map(columns, function(col, i) {
            var isVisible = col ? !getColumnProp(col, 'hidden') : true;
            var key = col ? getColumnProp(col, 'columnKey') || getColumnProp(col, 'field') || i : i;
            return isVisible &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(FooterCell, {
                hostName: props.hostName,
                key: key,
                tableProps: props.tableProps,
                column: col,
                ptCallbacks: props.ptCallbacks,
                metaData: props.metaData
            });
        });
    };
    var createContent = function createContent() {
        if (props.footerColumnGroup) {
            var rows = react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(ColumnGroupBase.getCProp(props.footerColumnGroup, 'children'));
            return rows.map(function(row, i) {
                var rootProps = mergeProps({
                    role: 'row'
                }, RowBase.getProps(row.props, context), getRowPTOptions(row, 'root'));
                return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", _extends({}, rootProps, {
                    key: i
                }), createGroupFooterCells(row));
            });
        }
        var footerRowProps = mergeProps({
            role: 'row'
        }, ptm('footerRow', {
            hostName: props.hostName
        }));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", footerRowProps, createFooterCells(props.columns));
    };
    if (hasFooter()) {
        var content = createContent();
        var tfootProps = mergeProps({
            className: cx('tfoot'),
            role: 'rowgroup'
        }, getColumnGroupPTOptions('root'), ptm('tfoot', {
            hostName: props.hostName
        }));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tfoot", tfootProps, content);
    }
    return null;
});
TableFooter.displayName = 'TableFooter';
function _defineProperties(target, props) {
    for(var i = 0; i &lt; props.length; i++){
        var descriptor = props[i];
        descriptor.enumerable = descriptor.enumerable || false;
        descriptor.configurable = true;
        if ("value" in descriptor) descriptor.writable = true;
        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
    }
}
function _createClass(Constructor, protoProps, staticProps) {
    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
    if (staticProps) _defineProperties(Constructor, staticProps);
    Object.defineProperty(Constructor, "prototype", {
        writable: false
    });
    return Constructor;
}
function _classCallCheck(instance, Constructor) {
    if (!(instance instanceof Constructor)) {
        throw new TypeError("Cannot call a class as a function");
    }
}
var FilterMatchMode = Object.freeze({
    STARTS_WITH: 'startsWith',
    CONTAINS: 'contains',
    NOT_CONTAINS: 'notContains',
    ENDS_WITH: 'endsWith',
    EQUALS: 'equals',
    NOT_EQUALS: 'notEquals',
    IN: 'in',
    LESS_THAN: 'lt',
    LESS_THAN_OR_EQUAL_TO: 'lte',
    GREATER_THAN: 'gt',
    GREATER_THAN_OR_EQUAL_TO: 'gte',
    BETWEEN: 'between',
    DATE_IS: 'dateIs',
    DATE_IS_NOT: 'dateIsNot',
    DATE_BEFORE: 'dateBefore',
    DATE_AFTER: 'dateAfter',
    CUSTOM: 'custom'
});
/**
 * @deprecated please use PrimeReactContext
 */ var PrimeReact = /*#__PURE__*/ _createClass(function PrimeReact() {
    _classCallCheck(this, PrimeReact);
});
_defineProperty(PrimeReact, "ripple", false);
_defineProperty(PrimeReact, "inputStyle", 'outlined');
_defineProperty(PrimeReact, "locale", 'en');
_defineProperty(PrimeReact, "appendTo", null);
_defineProperty(PrimeReact, "cssTransition", true);
_defineProperty(PrimeReact, "autoZIndex", true);
_defineProperty(PrimeReact, "hideOverlaysOnDocumentScrolling", false);
_defineProperty(PrimeReact, "nonce", null);
_defineProperty(PrimeReact, "nullSortOrder", 1);
_defineProperty(PrimeReact, "zIndex", {
    modal: 1100,
    overlay: 1000,
    menu: 1000,
    tooltip: 1100,
    toast: 1200
});
_defineProperty(PrimeReact, "pt", undefined);
_defineProperty(PrimeReact, "filterMatchModeOptions", {
    text: [
        FilterMatchMode.STARTS_WITH,
        FilterMatchMode.CONTAINS,
        FilterMatchMode.NOT_CONTAINS,
        FilterMatchMode.ENDS_WITH,
        FilterMatchMode.EQUALS,
        FilterMatchMode.NOT_EQUALS
    ],
    numeric: [
        FilterMatchMode.EQUALS,
        FilterMatchMode.NOT_EQUALS,
        FilterMatchMode.LESS_THAN,
        FilterMatchMode.LESS_THAN_OR_EQUAL_TO,
        FilterMatchMode.GREATER_THAN,
        FilterMatchMode.GREATER_THAN_OR_EQUAL_TO
    ],
    date: [
        FilterMatchMode.DATE_IS,
        FilterMatchMode.DATE_IS_NOT,
        FilterMatchMode.DATE_BEFORE,
        FilterMatchMode.DATE_AFTER
    ]
});
_defineProperty(PrimeReact, "changeTheme", function(currentTheme, newTheme, linkElementId, callback) {
    var _linkElement$parentNo;
    var linkElement = document.getElementById(linkElementId);
    if (!linkElement) {
        throw Error("Element with id ".concat(linkElementId, " not found."));
    }
    var newThemeUrl = linkElement.getAttribute('href').replace(currentTheme, newTheme);
    var newLinkElement = document.createElement('link');
    newLinkElement.setAttribute('rel', 'stylesheet');
    newLinkElement.setAttribute('id', linkElementId);
    newLinkElement.setAttribute('href', newThemeUrl);
    newLinkElement.addEventListener('load', function() {
        if (callback) {
            callback();
        }
    });
    (_linkElement$parentNo = linkElement.parentNode) === null || _linkElement$parentNo === void 0 || _linkElement$parentNo.replaceChild(newLinkElement, linkElement);
});
var locales = {
    en: {
        accept: 'Yes',
        addRule: 'Add Rule',
        am: 'AM',
        apply: 'Apply',
        cancel: 'Cancel',
        choose: 'Choose',
        chooseDate: 'Choose Date',
        chooseMonth: 'Choose Month',
        chooseYear: 'Choose Year',
        clear: 'Clear',
        completed: 'Completed',
        contains: 'Contains',
        custom: 'Custom',
        dateAfter: 'Date is after',
        dateBefore: 'Date is before',
        dateFormat: 'mm/dd/yy',
        dateIs: 'Date is',
        dateIsNot: 'Date is not',
        dayNames: [
            'Sunday',
            'Monday',
            'Tuesday',
            'Wednesday',
            'Thursday',
            'Friday',
            'Saturday'
        ],
        dayNamesMin: [
            'Su',
            'Mo',
            'Tu',
            'We',
            'Th',
            'Fr',
            'Sa'
        ],
        dayNamesShort: [
            'Sun',
            'Mon',
            'Tue',
            'Wed',
            'Thu',
            'Fri',
            'Sat'
        ],
        emptyFilterMessage: 'No results found',
        emptyMessage: 'No available options',
        emptySearchMessage: 'No results found',
        emptySelectionMessage: 'No selected item',
        endsWith: 'Ends with',
        equals: 'Equals',
        fileSizeTypes: [
            'B',
            'KB',
            'MB',
            'GB',
            'TB',
            'PB',
            'EB',
            'ZB',
            'YB'
        ],
        filter: 'Filter',
        firstDayOfWeek: 0,
        gt: 'Greater than',
        gte: 'Greater than or equal to',
        lt: 'Less than',
        lte: 'Less than or equal to',
        matchAll: 'Match All',
        matchAny: 'Match Any',
        medium: 'Medium',
        monthNames: [
            'January',
            'February',
            'March',
            'April',
            'May',
            'June',
            'July',
            'August',
            'September',
            'October',
            'November',
            'December'
        ],
        monthNamesShort: [
            'Jan',
            'Feb',
            'Mar',
            'Apr',
            'May',
            'Jun',
            'Jul',
            'Aug',
            'Sep',
            'Oct',
            'Nov',
            'Dec'
        ],
        nextDecade: 'Next Decade',
        nextHour: 'Next Hour',
        nextMinute: 'Next Minute',
        nextMonth: 'Next Month',
        nextSecond: 'Next Second',
        nextYear: 'Next Year',
        noFilter: 'No Filter',
        notContains: 'Not contains',
        notEquals: 'Not equals',
        now: 'Now',
        passwordPrompt: 'Enter a password',
        pending: 'Pending',
        pm: 'PM',
        prevDecade: 'Previous Decade',
        prevHour: 'Previous Hour',
        prevMinute: 'Previous Minute',
        prevMonth: 'Previous Month',
        prevSecond: 'Previous Second',
        prevYear: 'Previous Year',
        reject: 'No',
        removeRule: 'Remove Rule',
        searchMessage: '{0} results are available',
        selectionMessage: '{0} items selected',
        showMonthAfterYear: false,
        startsWith: 'Starts with',
        strong: 'Strong',
        today: 'Today',
        upload: 'Upload',
        weak: 'Weak',
        weekHeader: 'Wk',
        aria: {
            cancelEdit: 'Cancel Edit',
            close: 'Close',
            collapseRow: 'Row Collapsed',
            editRow: 'Edit Row',
            expandRow: 'Row Expanded',
            falseLabel: 'False',
            filterConstraint: 'Filter Constraint',
            filterOperator: 'Filter Operator',
            firstPageLabel: 'First Page',
            gridView: 'Grid View',
            hideFilterMenu: 'Hide Filter Menu',
            jumpToPageDropdownLabel: 'Jump to Page Dropdown',
            jumpToPageInputLabel: 'Jump to Page Input',
            lastPageLabel: 'Last Page',
            listView: 'List View',
            moveAllToSource: 'Move All to Source',
            moveAllToTarget: 'Move All to Target',
            moveBottom: 'Move Bottom',
            moveDown: 'Move Down',
            moveToSource: 'Move to Source',
            moveToTarget: 'Move to Target',
            moveTop: 'Move Top',
            moveUp: 'Move Up',
            navigation: 'Navigation',
            next: 'Next',
            nextPageLabel: 'Next Page',
            nullLabel: 'Not Selected',
            pageLabel: 'Page {page}',
            otpLabel: 'Please enter one time password character {0}',
            passwordHide: 'Hide Password',
            passwordShow: 'Show Password',
            previous: 'Previous',
            previousPageLabel: 'Previous Page',
            rotateLeft: 'Rotate Left',
            rotateRight: 'Rotate Right',
            rowsPerPageLabel: 'Rows per page',
            saveEdit: 'Save Edit',
            scrollTop: 'Scroll Top',
            selectAll: 'All items selected',
            selectRow: 'Row Selected',
            showFilterMenu: 'Show Filter Menu',
            slide: 'Slide',
            slideNumber: '{slideNumber}',
            star: '1 star',
            stars: '{star} stars',
            trueLabel: 'True',
            unselectAll: 'All items unselected',
            unselectRow: 'Row Unselected',
            zoomImage: 'Zoom Image',
            zoomIn: 'Zoom In',
            zoomOut: 'Zoom Out'
        }
    }
};
/**
 * Find an ARIA label in the locale by key.  If options are passed it will replace all options:
 * ```ts
 * const ariaValue = "Page {page}, User {user}, Role {role}";
 * const options = { page: 2, user: "John", role: "Admin" };
 * const result = ariaLabel('yourLabel', { page: 2, user: "John", role: "Admin" })
 * console.log(result); // Output: Page 2, User John, Role Admin
 * ```
 * @param {string} ariaKey key of the ARIA label to look up in locale.
 * @param {any} options JSON options like { page: 2, user: "John", role: "Admin" }
 * @returns the ARIA label with replaced values
 */ function ariaLabel(ariaKey, options) {
    if (ariaKey.includes('__proto__') || ariaKey.includes('prototype')) {
        throw new Error('Unsafe ariaKey detected');
    }
    var _locale = PrimeReact.locale;
    try {
        var _ariaLabel = localeOptions(_locale).aria[ariaKey];
        if (_ariaLabel) {
            for(var key in options){
                if (options.hasOwnProperty(key)) {
                    _ariaLabel = _ariaLabel.replace("{".concat(key, "}"), options[key]);
                }
            }
        }
        return _ariaLabel;
    } catch (error) {
        throw new Error("The ".concat(ariaKey, " option is not found in the current locale('").concat(_locale, "')."));
    }
}
function localeOptions(locale) {
    var _locale = locale || PrimeReact.locale;
    if (_locale.includes('__proto__') || _locale.includes('prototype')) {
        throw new Error('Unsafe locale detected');
    }
    return locales[_locale];
}
var styles = '';
var FocusTrapBase = primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__/* .ComponentBase */ .x.extend({
    defaultProps: {
        __TYPE: 'FocusTrap',
        children: undefined
    },
    css: {
        styles: styles
    },
    getProps: function getProps(props) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getMergedProps(props, FocusTrapBase.defaultProps);
    },
    getOtherProps: function getOtherProps(props) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getDiffProps(props, FocusTrapBase.defaultProps);
    }
});
function ownKeys$5(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$5(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$5(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var FocusTrap = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function(inProps, ref) {
    var targetRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var firstFocusableElementRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var lastFocusableElementRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .PrimeReactContext */ .UM);
    var props = FocusTrapBase.getProps(inProps, context);
    var metaData = {
        props: props
    };
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useStyle */ .X3)(FocusTrapBase.css.styles, {
        name: 'focustrap'
    });
    var _FocusTrapBase$setMet = FocusTrapBase.setMetaData(_objectSpread$5({}, metaData));
    _FocusTrapBase$setMet.ptm;
    react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(ref, function() {
        return {
            props: props,
            getInk: function getInk() {
                return firstFocusableElementRef.current;
            },
            getTarget: function getTarget() {
                return targetRef.current;
            }
        };
    });
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMountEffect */ .uU)(function() {
        if (!props.disabled) {
            targetRef.current = getTarget();
            setAutoFocus(targetRef.current);
        }
    });
    var getTarget = function getTarget() {
        return firstFocusableElementRef.current &amp;&amp; firstFocusableElementRef.current.parentElement;
    };
    /**
   * This method sets the auto focus on the first focusable element within the target element.
   * It first tries to find a focusable element using the autoFocusSelector. If no such element is found,
   * it then tries to find a focusable element using the firstFocusableSelector.
   * If the autoFocus prop is set to true and a focusable element is found, it sets the focus on that element.
   *
   * @param {HTMLElement} target - The target element within which to find a focusable element.
   */ var setAutoFocus = function setAutoFocus(target) {
        var _ref = props || {}, _ref$autoFocusSelecto = _ref.autoFocusSelector, autoFocusSelector = _ref$autoFocusSelecto === void 0 ? '' : _ref$autoFocusSelecto, _ref$firstFocusableSe = _ref.firstFocusableSelector, firstFocusableSelector = _ref$firstFocusableSe === void 0 ? '' : _ref$firstFocusableSe, _ref$autoFocus = _ref.autoFocus, autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus;
        var defaultAutoFocusSelector = "".concat(getComputedSelector(autoFocusSelector));
        var computedAutoFocusSelector = "[autofocus]".concat(defaultAutoFocusSelector, ", [data-pc-autofocus='true']").concat(defaultAutoFocusSelector);
        var focusableElement = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getFirstFocusableElement(target, computedAutoFocusSelector);
        autoFocus &amp;&amp; !focusableElement &amp;&amp; (focusableElement = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getFirstFocusableElement(target, getComputedSelector(firstFocusableSelector)));
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.focus(focusableElement);
    };
    var getComputedSelector = function getComputedSelector(selector) {
        return ":not(.p-hidden-focusable):not([data-p-hidden-focusable=\"true\"])".concat(selector !== null &amp;&amp; selector !== void 0 ? selector : '');
    };
    var onFirstHiddenElementFocus = function onFirstHiddenElementFocus(event) {
        var _targetRef$current;
        var currentTarget = event.currentTarget, relatedTarget = event.relatedTarget;
        var focusableElement = relatedTarget === currentTarget.$_pfocustrap_lasthiddenfocusableelement || !((_targetRef$current = targetRef.current) !== null &amp;&amp; _targetRef$current !== void 0 &amp;&amp; _targetRef$current.contains(relatedTarget)) ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getFirstFocusableElement(currentTarget.parentElement, getComputedSelector(currentTarget.$_pfocustrap_focusableselector)) : currentTarget.$_pfocustrap_lasthiddenfocusableelement;
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.focus(focusableElement);
    };
    var onLastHiddenElementFocus = function onLastHiddenElementFocus(event) {
        var _targetRef$current2;
        var currentTarget = event.currentTarget, relatedTarget = event.relatedTarget;
        var focusableElement = relatedTarget === currentTarget.$_pfocustrap_firsthiddenfocusableelement || !((_targetRef$current2 = targetRef.current) !== null &amp;&amp; _targetRef$current2 !== void 0 &amp;&amp; _targetRef$current2.contains(relatedTarget)) ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getLastFocusableElement(currentTarget.parentElement, getComputedSelector(currentTarget.$_pfocustrap_focusableselector)) : currentTarget.$_pfocustrap_firsthiddenfocusableelement;
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.focus(focusableElement);
    };
    var createHiddenFocusableElements = function createHiddenFocusableElements() {
        var _ref2 = props || {}, _ref2$tabIndex = _ref2.tabIndex, tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
        var createFocusableElement = function createFocusableElement(inRef, onFocus, section) {
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", {
                ref: inRef,
                className: 'p-hidden-accessible p-hidden-focusable',
                tabIndex: tabIndex,
                role: 'presentation',
                "aria-hidden": true,
                "data-p-hidden-accessible": true,
                "data-p-hidden-focusable": true,
                onFocus: onFocus,
                "data-pc-section": section
            });
        };
        var firstFocusableElement = createFocusableElement(firstFocusableElementRef, onFirstHiddenElementFocus, 'firstfocusableelement');
        var lastFocusableElement = createFocusableElement(lastFocusableElementRef, onLastHiddenElementFocus, 'lastfocusableelement');
        if (firstFocusableElementRef.current &amp;&amp; lastFocusableElementRef.current) {
            firstFocusableElementRef.current.$_pfocustrap_lasthiddenfocusableelement = lastFocusableElementRef.current;
            lastFocusableElementRef.current.$_pfocustrap_firsthiddenfocusableelement = firstFocusableElementRef.current;
        }
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, firstFocusableElement, props.children, lastFocusableElement);
    };
    return createHiddenFocusableElements();
}));
var FocusTrap$1 = FocusTrap;
function ownKeys$4(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$4(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$4(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var ColumnFilter = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), _React$useState2 = _slicedToArray(_React$useState, 2), overlayVisibleState = _React$useState2[0], setOverlayVisibleState = _React$useState2[1];
    var overlayRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var overlayId = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var iconRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var selfClick = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);
    var overlayEventListener = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var getColumnProp = function getColumnProp(name) {
        return ColumnBase.getCProp(props.column, name);
    };
    var getColumnProps = function getColumnProps() {
        return ColumnBase.getCProps(props.column);
    };
    var context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .PrimeReactContext */ .UM);
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo, cx = _props$ptCallbacks.cx;
    var getColumnPTOptions = function getColumnPTOptions(key, params) {
        var cProps = getColumnProps();
        var columnMetadata = _objectSpread$4({
            props: cProps,
            parent: props.metaData,
            hostName: props.hostName,
            state: {
                overlayVisible: overlayVisibleState
            }
        }, params);
        return mergeProps(ptm("column.".concat(key), {
            column: columnMetadata
        }), ptm("column.".concat(key), columnMetadata), ptmo(cProps, key, columnMetadata));
    };
    var field = getColumnProp('filterField') || getColumnProp('field');
    var filterModel = props.filters[field];
    var filterStoreModel = props.filtersStore &amp;&amp; props.filtersStore[field];
    var _useOverlayListener = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useOverlayListener */ .ct)({
        target: iconRef,
        overlay: overlayRef,
        listener: function listener(event, _ref) {
            var type = _ref.type, valid = _ref.valid;
            if (valid) {
                type === 'outside' ? !selfClick.current &amp;&amp; !isTargetClicked(event.target) &amp;&amp; hide() : hide();
            }
            selfClick.current = false;
        },
        when: overlayVisibleState
    }), _useOverlayListener2 = _slicedToArray(_useOverlayListener, 2), bindOverlayListener = _useOverlayListener2[0], unbindOverlayListener = _useOverlayListener2[1];
    var hasFilter = function hasFilter() {
        if (!filterStoreModel || !filterModel) {
            return false;
        }
        return filterStoreModel.operator ? !isFilterBlank(filterModel.constraints[0].value) : !isFilterBlank(filterModel.value);
    };
    var hasRowFilter = function hasRowFilter() {
        return filterModel &amp;&amp; !isFilterBlank(filterModel.value);
    };
    var isFilterBlank = function isFilterBlank(filter) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isEmpty(filter);
    };
    var isRowMatchModeSelected = function isRowMatchModeSelected(matchMode) {
        return filterModel &amp;&amp; filterModel.matchMode === matchMode;
    };
    var matchModes = function matchModes() {
        return getColumnProp('filterMatchModeOptions') || context &amp;&amp; context.filterMatchModeOptions[findDataType()].map(function(key) {
            return {
                label: (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .localeOption */ .WP)(key),
                value: key
            };
        }) || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.filterMatchModeOptions[findDataType()].map(function(key) {
            return {
                label: (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .localeOption */ .WP)(key),
                value: key
            };
        });
    };
    var isShowMenuButton = function isShowMenuButton() {
        return getColumnProp('showFilterMenu') &amp;&amp; (props.display === 'row' ? getColumnProp('dataType') !== 'boolean' : true);
    };
    var isShowClearButton = function isShowClearButton() {
        return getColumnProp('showClearButton') &amp;&amp; props.display === 'row';
    };
    var isShowMatchModes = function isShowMatchModes() {
        return getColumnProp('dataType') !== 'boolean' &amp;&amp; getColumnProp('showFilterMatchModes') &amp;&amp; matchModes() &amp;&amp; getColumnProp('showFilterMenuOptions');
    };
    var isShowOperator = function isShowOperator() {
        return getColumnProp('showFilterOperator') &amp;&amp; filterModel &amp;&amp; filterModel.operator &amp;&amp; getColumnProp('showFilterMenuOptions');
    };
    var showRemoveIcon = function showRemoveIcon() {
        return fieldConstraints().length &gt; 1;
    };
    var isShowAddConstraint = function isShowAddConstraint() {
        return getColumnProp('showAddButton') &amp;&amp; filterModel &amp;&amp; filterModel.operator &amp;&amp; fieldConstraints() &amp;&amp; fieldConstraints().length &lt; getColumnProp('maxConstraints') &amp;&amp; getColumnProp('showFilterMenuOptions');
    };
    var isOutsideClicked = function isOutsideClicked(target) {
        return !isTargetClicked(target) &amp;&amp; overlayRef.current &amp;&amp; !(overlayRef.current.isSameNode(target) || overlayRef.current.contains(target));
    };
    var isTargetClicked = function isTargetClicked(target) {
        return iconRef.current &amp;&amp; (iconRef.current.isSameNode(target) || iconRef.current.contains(target));
    };
    var getDefaultConstraint = function getDefaultConstraint() {
        if (filterStoreModel) {
            if (filterStoreModel.operator) {
                return {
                    matchMode: filterStoreModel.constraints[0].matchMode,
                    operator: filterStoreModel.operator
                };
            }
            return {
                matchMode: filterStoreModel.matchMode
            };
        }
    };
    var findDataType = function findDataType() {
        var dataType = getColumnProp('dataType');
        var matchMode = getColumnProp('filterMatchMode');
        var hasMatchMode = function hasMatchMode(key) {
            return context &amp;&amp; context.filterMatchModeOptions[key].some(function(mode) {
                return mode === matchMode;
            }) || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.filterMatchModeOptions[key].some(function(mode) {
                return mode === matchMode;
            });
        };
        if (matchMode === 'custom' &amp;&amp; !hasMatchMode(dataType)) {
            context &amp;&amp; context.filterMatchModeOptions[dataType].push(primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterMatchMode */ .Rn.CUSTOM) || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.filterMatchModeOptions[dataType].push(primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterMatchMode */ .Rn.CUSTOM);
            return dataType;
        } else if (matchMode) {
            return Object.keys(context &amp;&amp; context.filterMatchModeOptions || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.filterMatchModeOptions).find(function(key) {
                return hasMatchMode(key);
            }) || dataType;
        }
        return dataType;
    };
    var clearFilter = function clearFilter() {
        var filterClearCallback = getColumnProp('onFilterClear');
        var defaultConstraint = getDefaultConstraint();
        var filters = _objectSpread$4({}, props.filters);
        if (filters[field].operator) {
            filters[field].constraints.splice(1);
            filters[field].operator = defaultConstraint.operator;
            filters[field].constraints[0] = {
                value: null,
                matchMode: defaultConstraint.matchMode
            };
        } else {
            filters[field].value = null;
            filters[field].matchMode = defaultConstraint.matchMode;
        }
        filterClearCallback &amp;&amp; filterClearCallback();
        props.onFilterChange(filters);
        props.onFilterApply();
        hide();
    };
    var applyFilter = function applyFilter() {
        var filterApplyClickCallback = getColumnProp('onFilterApplyClick');
        filterApplyClickCallback &amp;&amp; filterApplyClickCallback({
            field: field,
            constraints: filterModel
        });
        props.onFilterApply();
        hide();
    };
    var toggleMenu = function toggleMenu() {
        setOverlayVisibleState(function(prevVisible) {
            return !prevVisible;
        });
    };
    var onToggleButtonKeyDown = function onToggleButtonKeyDown(event) {
        switch(event.key){
            case 'Escape':
            case 'Tab':
                hide();
                break;
            case 'ArrowDown':
                if (overlayVisibleState) {
                    var focusable = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getFirstFocusableElement(overlayRef.current);
                    focusable &amp;&amp; focusable.focus();
                    event.preventDefault();
                } else if (event.altKey) {
                    setOverlayVisibleState(true);
                    event.preventDefault();
                }
                break;
        }
    };
    var onContentKeyDown = function onContentKeyDown(event) {
        if (event.key === 'Escape') {
            hide();
            iconRef.current &amp;&amp; iconRef.current.focus();
        }
    };
    var onInputChange = function onInputChange(event, index) {
        var filters = _objectSpread$4({}, props.filters);
        var value = event.target.value;
        var filterField = filters[field];
        if (props.display === 'menu' &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(filterField.constraints)) {
            filterField.constraints[index].value = value;
        } else {
            filterField.value = value;
        }
        props.onFilterChange(filters);
        if (!getColumnProp('showApplyButton') || props.display === 'row') {
            props.onFilterApply();
        }
    };
    var onInputKeydown = function onInputKeydown(event, _index) {
        if (event.key === 'Enter') {
            if (!getColumnProp('showApplyButton') || props.display === 'menu') {
                applyFilter();
            }
        }
    };
    var onRowMatchModeChange = function onRowMatchModeChange(matchMode) {
        var filterMatchModeChangeCallback = getColumnProp('onFilterMatchModeChange');
        var filters = _objectSpread$4({}, props.filters);
        filters[field].matchMode = matchMode;
        filterMatchModeChangeCallback &amp;&amp; filterMatchModeChangeCallback({
            field: field,
            matchMode: matchMode
        });
        props.onFilterChange(filters);
        props.onFilterApply();
        hide();
    };
    var onRowMatchModeKeyDown = function onRowMatchModeKeyDown(event, matchMode, clear) {
        var item = event.target;
        switch(event.key){
            case 'ArrowDown':
                var nextItem = _findNextItem(item);
                if (nextItem) {
                    item.removeAttribute('tabindex');
                    nextItem.tabIndex = 0;
                    nextItem.focus();
                }
                event.preventDefault();
                break;
            case 'ArrowUp':
                var prevItem = _findPrevItem(item);
                if (prevItem) {
                    item.removeAttribute('tabindex');
                    prevItem.tabIndex = 0;
                    prevItem.focus();
                }
                event.preventDefault();
                break;
            case 'Enter':
                clear ? clearFilter() : onRowMatchModeChange(matchMode.value);
                event.preventDefault();
                break;
        }
    };
    var onOperatorChange = function onOperatorChange(e) {
        var filterOperationChangeCallback = getColumnProp('onFilterOperatorChange');
        var value = e.value;
        var filters = _objectSpread$4({}, props.filters);
        filters[field].operator = value;
        props.onFilterChange(filters);
        filterOperationChangeCallback &amp;&amp; filterOperationChangeCallback({
            field: field,
            operator: value
        });
        if (!getColumnProp('showApplyButton')) {
            props.onFilterApply();
        }
    };
    var onMenuMatchModeChange = function onMenuMatchModeChange(value, index) {
        var filterMatchModeChangeCallback = getColumnProp('onFilterMatchModeChange');
        var filters = _objectSpread$4({}, props.filters);
        var filterField = filters[field];
        if (props.display === 'menu' &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(filterField.constraints)) {
            filterField.constraints[index].matchMode = value;
        } else {
            filterField.matchMode = value;
        }
        props.onFilterChange(filters);
        filterMatchModeChangeCallback &amp;&amp; filterMatchModeChangeCallback({
            field: field,
            matchMode: value,
            index: index
        });
        if (!getColumnProp('showApplyButton')) {
            props.onFilterApply();
        }
    };
    var addConstraint = function addConstraint() {
        var filterConstraintAddCallback = getColumnProp('onFilterConstraintAdd');
        var defaultConstraint = getDefaultConstraint();
        var filters = _objectSpread$4({}, props.filters);
        var newConstraint = {
            value: null,
            matchMode: defaultConstraint.matchMode
        };
        filters[field].constraints.push(newConstraint);
        filterConstraintAddCallback &amp;&amp; filterConstraintAddCallback({
            field: field,
            constraint: newConstraint
        });
        props.onFilterChange(filters);
        if (!getColumnProp('showApplyButton')) {
            props.onFilterApply();
        }
    };
    var removeConstraint = function removeConstraint(index) {
        var filterConstraintRemoveCallback = getColumnProp('onFilterConstraintRemove');
        var filters = _objectSpread$4({}, props.filters);
        var removedConstraint = filters[field].constraints.splice(index, 1);
        filterConstraintRemoveCallback &amp;&amp; filterConstraintRemoveCallback({
            field: field,
            constraint: removedConstraint
        });
        props.onFilterChange(filters);
        if (!getColumnProp('showApplyButton')) {
            props.onFilterApply();
        }
    };
    var _findNextItem = function findNextItem(item) {
        var nextItem = item.nextElementSibling;
        return nextItem ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(nextItem, 'data-p-column-filter-separator') === true ? _findNextItem(nextItem) : nextItem : item.parentElement.firstElementChild;
    };
    var _findPrevItem = function findPrevItem(item) {
        var prevItem = item.previousElementSibling;
        return prevItem ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(prevItem, 'data-p-column-filter-separator') === true ? _findPrevItem(prevItem) : prevItem : item.parentElement.lastElementChild;
    };
    var hide = function hide() {
        setOverlayVisibleState(false);
    };
    var onContentClick = function onContentClick(event) {
        selfClick.current = true;
        primereact_overlayservice__WEBPACK_IMPORTED_MODULE_7__/* .OverlayService */ .s.emit('overlay-click', {
            originalEvent: event,
            target: overlayRef.current
        });
    };
    var onContentMouseDown = function onContentMouseDown() {
        selfClick.current = true;
    };
    var onOverlayEnter = function onOverlayEnter() {
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ZIndexUtils */ .Q$.set('overlay', overlayRef.current, context &amp;&amp; context.autoZIndex || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.autoZIndex, context &amp;&amp; context.zIndex.overlay || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.zIndex.overlay);
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.addStyles(overlayRef.current, {
            position: 'absolute',
            top: '0',
            left: '0'
        });
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.alignOverlay(overlayRef.current, iconRef.current, context &amp;&amp; context.appendTo || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.appendTo, false);
        overlayEventListener.current = function(e) {
            if (!isOutsideClicked(e.target)) {
                selfClick.current = true;
            }
        };
        primereact_overlayservice__WEBPACK_IMPORTED_MODULE_7__/* .OverlayService */ .s.on('overlay-click', overlayEventListener.current);
    };
    var onOverlayEntered = function onOverlayEntered() {
        bindOverlayListener();
    };
    var onOverlayExit = function onOverlayExit() {
        onOverlayHide();
    };
    var onOverlayExited = function onOverlayExited() {
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ZIndexUtils */ .Q$.clear(overlayRef.current);
    };
    var onOverlayHide = function onOverlayHide() {
        unbindOverlayListener();
        primereact_overlayservice__WEBPACK_IMPORTED_MODULE_7__/* .OverlayService */ .s.off('overlay-click', overlayEventListener.current);
        overlayEventListener.current = null;
        selfClick.current = false;
    };
    var fieldConstraints = function fieldConstraints() {
        return filterModel ? filterModel.constraints || [
            filterModel
        ] : [];
    };
    var operator = function operator() {
        return filterModel.operator;
    };
    var operatorOptions = function operatorOptions() {
        return [
            {
                label: (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .localeOption */ .WP)('matchAll'),
                value: primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterOperator */ .tl.AND
            },
            {
                label: (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .localeOption */ .WP)('matchAny'),
                value: primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterOperator */ .tl.OR
            }
        ];
    };
    var noFilterLabel = function noFilterLabel() {
        return (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .localeOption */ .WP)('noFilter');
    };
    var removeRuleButtonLabel = function removeRuleButtonLabel() {
        return (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .localeOption */ .WP)('removeRule');
    };
    var addRuleButtonLabel = function addRuleButtonLabel() {
        return (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .localeOption */ .WP)('addRule');
    };
    var clearButtonLabel = function clearButtonLabel() {
        return (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .localeOption */ .WP)('clear');
    };
    var applyButtonLabel = function applyButtonLabel() {
        return (0,primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .localeOption */ .WP)('apply');
    };
    var filterCallback = function filterCallback(value) {
        var index = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : 0;
        var filters = _objectSpread$4({}, props.filters);
        var meta = filters[field];
        props.display === 'menu' &amp;&amp; meta &amp;&amp; meta.operator ? filters[field].constraints[index].value = value : filters[field].value = value;
        props.onFilterChange(filters);
    };
    var filterApplyCallback = function filterApplyCallback() {
        for(var _len = arguments.length, args = new Array(_len), _key = 0; _key &lt; _len; _key++){
            args[_key] = arguments[_key];
        }
        args &amp;&amp; filterCallback(args[0], args[1]);
        props.onFilterApply();
    };
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUpdateEffect */ .w5)(function() {
        if (props.display === 'menu' &amp;&amp; overlayVisibleState) {
            primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.alignOverlay(overlayRef.current, iconRef.current, context &amp;&amp; context.appendTo || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.appendTo, false);
        }
    });
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMountEffect */ .uU)(function() {
        if (!overlayId.current) {
            overlayId.current = (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .UniqueComponentId */ ._Y)();
        }
    });
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUnmountEffect */ .l0)(function() {
        if (overlayEventListener.current) {
            primereact_overlayservice__WEBPACK_IMPORTED_MODULE_7__/* .OverlayService */ .s.off('overlay-click', overlayEventListener.current);
            overlayEventListener.current = null;
        }
        if (overlayRef.current) {
            primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ZIndexUtils */ .Q$.clear(overlayRef.current);
            onOverlayHide();
        }
    });
    var createFilterElement = function createFilterElement(model, index) {
        var value = model ? model.value : null;
        return getColumnProp('filterElement') ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(getColumnProp('filterElement'), {
            field: field,
            index: index,
            filterModel: model,
            value: value,
            filterApplyCallback: filterApplyCallback,
            filterCallback: filterCallback
        }) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_inputtext__WEBPACK_IMPORTED_MODULE_14__/* .InputText */ .S, {
            type: getColumnProp('filterType'),
            value: value || '',
            onChange: function onChange(e) {
                return onInputChange(e, index);
            },
            onKeyDown: function onKeyDown(e) {
                return onInputKeydown(e);
            },
            className: "p-column-filter",
            placeholder: getColumnProp('filterPlaceholder'),
            maxLength: getColumnProp('filterMaxLength'),
            "aria-label": getColumnProp('filterPlaceholder'),
            unstyled: props.unstyled,
            __parentMetadata: {
                parent: props.metaData
            }
        });
    };
    var createRowFilterElement = function createRowFilterElement() {
        if (props.display === 'row') {
            var content = createFilterElement(filterModel, 0);
            var filterInputProps = mergeProps({
                className: cx('filterInput')
            }, getColumnPTOptions('filterInput'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", filterInputProps, content);
        }
        return null;
    };
    var createMenuFilterElement = function createMenuFilterElement(fieldConstraint, index) {
        return props.display === 'menu' ? createFilterElement(fieldConstraint, index) : null;
    };
    var createMenuButton = function createMenuButton() {
        if (!isShowMenuButton()) {
            return null;
        }
        var filterIconProps = mergeProps({
            'aria-hidden': true
        }, getColumnPTOptions('filterIcon'));
        var icon = props.filterIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_filter__WEBPACK_IMPORTED_MODULE_15__/* .FilterIcon */ .Y, filterIconProps);
        var columnFilterIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(icon, _objectSpread$4({}, filterIconProps), {
            props: props
        });
        var label = overlayVisibleState ? ariaLabel('hideFilterMenu') : ariaLabel('showFilterMenu');
        var filterMenuButtonProps = mergeProps({
            type: 'button',
            className: cx('filterMenuButton', {
                overlayVisibleState: overlayVisibleState,
                hasFilter: hasFilter
            }),
            'aria-haspopup': true,
            'aria-expanded': overlayVisibleState,
            'aria-label': label,
            'aria-controls': overlayVisibleState ? overlayId.current : undefined,
            onClick: function onClick(e) {
                return toggleMenu();
            },
            onKeyDown: function onKeyDown(e) {
                return onToggleButtonKeyDown(e);
            }
        }, getColumnPTOptions('filterMenuButton', {
            context: {
                active: hasFilter()
            }
        }));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", _extends({
            ref: iconRef
        }, filterMenuButtonProps), columnFilterIcon, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_ripple__WEBPACK_IMPORTED_MODULE_11__/* .Ripple */ .n, null));
    };
    var createClearButton = function createClearButton() {
        if (!isShowClearButton()) {
            return null;
        }
        var filterClearIconProps = mergeProps({
            'aria-hidden': true
        }, getColumnPTOptions('filterClearIcon'));
        var icon = props.filterClearIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_filterslash__WEBPACK_IMPORTED_MODULE_16__/* .FilterSlashIcon */ .L, filterClearIconProps);
        var filterClearIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(icon, _objectSpread$4({}, filterClearIconProps), {
            props: props
        });
        var clearLabel = clearButtonLabel();
        var headerFilterClearButtonProps = mergeProps({
            className: cx('headerFilterClearButton', {
                hasRowFilter: hasRowFilter
            }),
            type: 'button',
            onClick: function onClick(e) {
                return clearFilter();
            },
            'aria-label': clearLabel
        }, getColumnPTOptions('headerFilterClearButton', {
            context: {
                hidden: hasRowFilter()
            }
        }));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("button", headerFilterClearButtonProps, filterClearIcon, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_ripple__WEBPACK_IMPORTED_MODULE_11__/* .Ripple */ .n, null));
    };
    var createRowItems = function createRowItems() {
        if (isShowMatchModes()) {
            var _matchModes = matchModes();
            var _noFilterLabel = noFilterLabel();
            var filterSeparatorProps = mergeProps({
                className: cx('filterSeparator'),
                'data-p-column-filter-separator': true
            }, getColumnPTOptions('filterSeparator'));
            var filterRowItemProps = mergeProps({
                className: cx('filterRowItem', {
                    isRowMatchModeSelected: isRowMatchModeSelected,
                    isShowMatchModes: isShowMatchModes
                }),
                onClick: function onClick(e) {
                    return clearFilter();
                },
                onKeyDown: function onKeyDown(e) {
                    return onRowMatchModeKeyDown(e, null, true);
                }
            }, getColumnPTOptions('filterRowItem'));
            var filterRowItemsProps = mergeProps({
                className: cx('filterRowItems')
            }, getColumnPTOptions('filterRowItems'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("ul", filterRowItemsProps, _matchModes.map(function(matchMode, i) {
                var value = matchMode.value, label = matchMode.label;
                var tabIndex = i === 0 ? 0 : null;
                var filterRowItemProps = mergeProps({
                    className: cx('filterRowItem', {
                        isRowMatchModeSelected: isRowMatchModeSelected,
                        isShowMatchModes: isShowMatchModes,
                        value: value
                    }),
                    onClick: function onClick() {
                        return onRowMatchModeChange(value);
                    },
                    onKeyDown: function onKeyDown(e) {
                        return onRowMatchModeKeyDown(e, matchMode);
                    },
                    tabIndex: tabIndex
                }, getColumnPTOptions('filterRowItem', {
                    context: {
                        highlighted: matchMode &amp;&amp; isRowMatchModeSelected(value)
                    }
                }));
                return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("li", _extends({}, filterRowItemProps, {
                    key: label
                }), label);
            }), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("li", filterSeparatorProps), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("li", filterRowItemProps, _noFilterLabel));
        }
        return null;
    };
    var createOperator = function createOperator() {
        if (isShowOperator()) {
            var options = operatorOptions();
            var value = operator();
            var filterOperatorProps = mergeProps({
                className: cx('filterOperator')
            }, getColumnPTOptions('filterOperator'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", filterOperatorProps, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_dropdown__WEBPACK_IMPORTED_MODULE_17__/* .Dropdown */ .m, {
                options: options,
                value: value,
                onChange: onOperatorChange,
                className: "p-column-filter-operator-dropdown",
                pt: getColumnPTOptions('filterOperatorDropdown'),
                unstyled: props.unstyled,
                __parentMetadata: {
                    parent: props.metaData
                },
                "aria-label": ariaLabel('filterOperator')
            }));
        }
        return null;
    };
    var createMatchModeDropdown = function createMatchModeDropdown(constraint, index) {
        if (isShowMatchModes()) {
            var options = matchModes();
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_dropdown__WEBPACK_IMPORTED_MODULE_17__/* .Dropdown */ .m, {
                options: options,
                value: constraint.matchMode,
                onChange: function onChange(e) {
                    return onMenuMatchModeChange(e.value, index);
                },
                className: "p-column-filter-matchmode-dropdown",
                pt: getColumnPTOptions('filterMatchModeDropdown'),
                unstyled: props.unstyled,
                __parentMetadata: {
                    parent: props.metaData
                },
                "aria-label": ariaLabel('filterConstraint')
            });
        }
        return null;
    };
    var createRemoveButton = function createRemoveButton(index) {
        if (showRemoveIcon()) {
            var removeRuleLabel = removeRuleButtonLabel();
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_button__WEBPACK_IMPORTED_MODULE_18__/* .Button */ .$, {
                type: "button",
                icon: props.filterRemoveIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_trash__WEBPACK_IMPORTED_MODULE_19__/* .TrashIcon */ .u, null),
                className: "p-column-filter-remove-button p-button-text p-button-danger p-button-sm",
                onClick: function onClick() {
                    return removeConstraint(index);
                },
                label: removeRuleLabel,
                pt: getColumnPTOptions('filterRemoveButton'),
                unstyled: props.unstyled,
                __parentMetadata: {
                    parent: props.metaData
                }
            });
        }
        return null;
    };
    var createConstraints = function createConstraints() {
        var _fieldConstraints = fieldConstraints();
        var filterConstraintsProps = mergeProps({
            className: cx('filterConstraints')
        }, getColumnPTOptions('filterConstraints'));
        var filterConstraintProps = mergeProps({
            className: cx('filterConstraint')
        }, getColumnPTOptions('filterConstraint'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", filterConstraintsProps, _fieldConstraints.map(function(fieldConstraint, i) {
            var matchModeDropdown = createMatchModeDropdown(fieldConstraint, i);
            var menuFilterElement = createMenuFilterElement(fieldConstraint, i);
            var removeButton = createRemoveButton(i);
            var filterRemoveProps = mergeProps(getColumnPTOptions('filterRemove'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", _extends({}, filterConstraintProps, {
                key: i
            }), matchModeDropdown, menuFilterElement, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", filterRemoveProps, removeButton));
        }));
    };
    var createAddRule = function createAddRule() {
        if (isShowAddConstraint()) {
            var addRuleLabel = addRuleButtonLabel();
            var filterAddRuleProps = mergeProps({
                className: cx('filterAddRule')
            }, getColumnPTOptions('filterAddRule'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", filterAddRuleProps, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_button__WEBPACK_IMPORTED_MODULE_18__/* .Button */ .$, {
                type: "button",
                label: addRuleLabel,
                icon: props.filterAddIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_plus__WEBPACK_IMPORTED_MODULE_20__/* .PlusIcon */ .c, null),
                className: "p-column-filter-add-button p-button-text p-button-sm",
                onClick: addConstraint,
                pt: getColumnPTOptions('filterAddRuleButton'),
                unstyled: props.unstyled,
                __parentMetadata: {
                    parent: props.metaData
                }
            }));
        }
        return null;
    };
    var createFilterClearButton = function createFilterClearButton() {
        if (getColumnProp('showClearButton')) {
            if (!getColumnProp('filterClear')) {
                var clearLabel = clearButtonLabel();
                return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_button__WEBPACK_IMPORTED_MODULE_18__/* .Button */ .$, {
                    type: "button",
                    outlined: true,
                    size: "small",
                    onClick: clearFilter,
                    label: clearLabel,
                    pt: getColumnPTOptions('filterClearButton'),
                    unstyled: props.unstyled,
                    __parentMetadata: {
                        parent: props.metaData
                    }
                });
            }
            return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(getColumnProp('filterClear'), {
                field: field,
                filterModel: filterModel,
                filterClearCallback: clearFilter
            });
        }
        return null;
    };
    var createFilterApplyButton = function createFilterApplyButton() {
        if (getColumnProp('showApplyButton')) {
            if (!getColumnProp('filterApply')) {
                var applyLabel = applyButtonLabel();
                return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_button__WEBPACK_IMPORTED_MODULE_18__/* .Button */ .$, {
                    type: "button",
                    size: "small",
                    onClick: applyFilter,
                    label: applyLabel,
                    pt: getColumnPTOptions('filterApplyButton'),
                    unstyled: props.unstyled,
                    __parentMetadata: {
                        parent: props.metaData
                    }
                });
            }
            return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(getColumnProp('filterApply'), {
                field: field,
                filterModel: filterModel,
                filterApplyCallback: applyFilter
            });
        }
        return null;
    };
    var createButtonBar = function createButtonBar() {
        var clearButton = createFilterClearButton();
        var applyButton = createFilterApplyButton();
        var filterButtonbarProps = mergeProps({
            className: cx('filterButtonBar')
        }, getColumnPTOptions('filterButtonBar'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", filterButtonbarProps, clearButton, applyButton);
    };
    var createItems = function createItems() {
        var operator = createOperator();
        var constraints = createConstraints();
        var addRule = createAddRule();
        var buttonBar = createButtonBar();
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, operator, constraints, addRule, buttonBar);
    };
    var createOverlay = function createOverlay() {
        var style = getColumnProp('filterMenuStyle');
        var filterHeader = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(getColumnProp('filterHeader'), {
            field: field,
            filterModel: filterModel,
            filterApplyCallback: filterApplyCallback
        });
        var filterFooter = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(getColumnProp('filterFooter'), {
            field: field,
            filterModel: filterModel,
            filterApplyCallback: filterApplyCallback
        });
        var items = props.display === 'row' ? createRowItems() : createItems();
        var filterOverlayProps = mergeProps({
            style: style,
            className: cx('filterOverlay', {
                columnFilterProps: props,
                context: context,
                getColumnProp: getColumnProp
            }),
            onKeyDown: function onKeyDown(e) {
                return onContentKeyDown(e);
            },
            onClick: function onClick(e) {
                return onContentClick(e);
            },
            onMouseDown: function onMouseDown(e) {
                return onContentMouseDown();
            },
            id: overlayId.current,
            'aria-modal': overlayVisibleState,
            role: 'dialog'
        }, getColumnPTOptions('filterOverlay'));
        var transitionProps = mergeProps({
            classNames: cx('transition'),
            "in": overlayVisibleState,
            timeout: {
                enter: 120,
                exit: 100
            },
            unmountOnExit: true,
            onEnter: onOverlayEnter,
            onEntered: onOverlayEntered,
            onExit: onOverlayExit,
            onExited: onOverlayExited
        }, getColumnPTOptions('transition'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_portal__WEBPACK_IMPORTED_MODULE_21__/* .Portal */ .Z, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_csstransition__WEBPACK_IMPORTED_MODULE_22__/* .CSSTransition */ .B, _extends({
            nodeRef: overlayRef
        }, transitionProps), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", _extends({
            ref: overlayRef
        }, filterOverlayProps), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(FocusTrap$1, {
            autoFocus: true
        }, filterHeader, items, filterFooter))));
    };
    var rowFilterElement = createRowFilterElement();
    var menuButton = createMenuButton();
    var clearButton = createClearButton();
    var overlay = createOverlay();
    var columnFilter = mergeProps({
        className: cx('columnFilter', {
            columnFilterProps: props
        })
    }, getColumnPTOptions('columnFilter'));
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", columnFilter, rowFilterElement, menuButton, clearButton, overlay);
});
ColumnFilter.displayName = 'ColumnFilter';
function ownKeys$3(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$3(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$3(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var HeaderCheckbox = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var getColumnProps = function getColumnProps() {
        return ColumnBase.getCProps(props.column);
    };
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo, cx = _props$ptCallbacks.cx;
    var getColumnPTOptions = function getColumnPTOptions(key) {
        var cProps = getColumnProps();
        var columnMetaData = {
            props: cProps,
            parent: props.metaData,
            hostName: props.hostName,
            state: {},
            context: {
                checked: props.checked,
                disabled: props.disabled
            }
        };
        return mergeProps(ptm("column.".concat(key), {
            column: columnMetaData
        }), ptm("column.".concat(key), columnMetaData), ptmo(cProps, key, columnMetaData));
    };
    var onChange = function onChange(event) {
        if (!props.disabled) {
            props.onChange({
                originalEvent: event,
                checked: !props.checked
            });
        }
    };
    var headerCheckboxIconProps = mergeProps({
        className: cx('checkIcon')
    }, getColumnPTOptions('headerCheckbox.icon'));
    var icon = props.checked ? props.checkIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_check__WEBPACK_IMPORTED_MODULE_5__/* .CheckIcon */ .S, headerCheckboxIconProps) : null;
    var checkIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(icon, _objectSpread$3({}, headerCheckboxIconProps), {
        props: props
    });
    var tabIndex = props.disabled ? null : 0;
    var headerCheckboxProps = {
        role: 'checkbox',
        'aria-checked': props.checked,
        'aria-label': props.checked ? ariaLabel('selectAll') : ariaLabel('unselectAll'),
        tabIndex: tabIndex,
        onChange: onChange,
        icon: checkIcon,
        checked: props.checked,
        disabled: props.disabled,
        unstyled: props.unstyled,
        pt: getColumnPTOptions('headerCheckbox')
    };
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Checkbox, headerCheckboxProps);
});
HeaderCheckbox.displayName = 'HeaderCheckbox';
function ownKeys$2(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$2(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$2(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var HeaderCell = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState({}), _React$useState2 = _slicedToArray(_React$useState, 2), styleObjectState = _React$useState2[0], setStyleObjectState = _React$useState2[1];
    var elementRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var prevColumn = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .usePrevious */ .ZC)(props.column);
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var parentMetaData = props.metaData, ptCallbacks = props.ptCallbacks, index = props.index;
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo, cx = _props$ptCallbacks.cx;
    var params = {
        index: index
    };
    var parentParams = _objectSpread$2(_objectSpread$2({}, parentMetaData), params);
    var getColumnProps = function getColumnProps() {
        return ColumnBase.getCProps(props.column);
    };
    var getColumnPTOptions = function getColumnPTOptions(key) {
        var cProps = getColumnProps();
        var columnMetaData = {
            props: cProps,
            parent: parentParams,
            hostName: props.hostName,
            state: {
                styleObject: styleObjectState
            },
            context: {
                index: props.index,
                sorted: getSortMeta().sorted,
                resizable: props.resizableColumns,
                size: props.metaData.props.size,
                showGridlines: props.metaData.props.showGridlines
            }
        };
        return mergeProps(ptm("column.".concat(key), {
            column: columnMetaData
        }), ptm("column.".concat(key), columnMetaData), ptmo(cProps, key, columnMetaData));
    };
    var isBadgeVisible = function isBadgeVisible() {
        return props.multiSortMeta &amp;&amp; props.multiSortMeta.length &gt; 1;
    };
    var isSortableDisabled = function isSortableDisabled() {
        return !getColumnProp('sortable') || getColumnProp('sortable') &amp;&amp; (props.allSortableDisabled || getColumnProp('sortableDisabled'));
    };
    var getColumnProp = function getColumnProp() {
        return props.column ? typeof (arguments.length &lt;= 0 ? undefined : arguments[0]) === 'string' ? ColumnBase.getCProp(props.column, arguments.length &lt;= 0 ? undefined : arguments[0]) : ColumnBase.getCProp((arguments.length &lt;= 0 ? undefined : arguments[0]) || props.column, arguments.length &lt;= 1 ? undefined : arguments[1]) : null;
    };
    var getStyle = function getStyle() {
        var headerStyle = getColumnProp('headerStyle');
        var columnStyle = getColumnProp('style');
        return getColumnProp('frozen') ? Object.assign({}, columnStyle, headerStyle, styleObjectState) : Object.assign({}, columnStyle, headerStyle);
    };
    var getMultiSortMetaIndex = function getMultiSortMetaIndex() {
        return props.multiSortMeta.findIndex(function(meta) {
            return meta.field === getColumnProp('field') || meta.field === getColumnProp('sortField');
        });
    };
    var getSortMeta = function getSortMeta() {
        var sorted = false;
        var sortOrder = 0;
        var metaIndex = -1;
        if (props.sortMode === 'single') {
            sorted = props.sortField &amp;&amp; (props.sortField === getColumnProp('field') || props.sortField === getColumnProp('sortField'));
            sortOrder = sorted ? props.sortOrder : 0;
        } else if (props.sortMode === 'multiple') {
            metaIndex = getMultiSortMetaIndex();
            if (metaIndex &gt; -1) {
                sorted = true;
                sortOrder = props.multiSortMeta[metaIndex].order;
            }
        }
        return {
            sorted: sorted,
            sortOrder: sortOrder,
            metaIndex: metaIndex
        };
    };
    var getAriaSort = function getAriaSort(_ref) {
        var sorted = _ref.sorted, sortOrder = _ref.sortOrder;
        if (getColumnProp('sortable')) {
            if (sorted &amp;&amp; sortOrder &lt; 0) {
                return 'descending';
            } else if (sorted &amp;&amp; sortOrder &gt; 0) {
                return 'ascending';
            }
            return 'none';
        }
        return null;
    };
    var updateStickyPosition = function updateStickyPosition() {
        if (getColumnProp('frozen')) {
            var styleObject = _objectSpread$2({}, styleObjectState);
            var align = getColumnProp('alignFrozen');
            if (align === 'right') {
                var right = 0;
                var next = elementRef.current.nextElementSibling;
                if (next &amp;&amp; next.classList.contains('p-frozen-column')) {
                    right = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterWidth(next) + parseFloat(next.style.right || 0);
                }
                styleObject.right = right + 'px';
            } else {
                var left = 0;
                var prev = elementRef.current.previousElementSibling;
                if (prev &amp;&amp; prev.classList.contains('p-frozen-column')) {
                    left = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
                }
                styleObject.left = left + 'px';
            }
            var filterRow = elementRef.current.parentElement.nextElementSibling;
            if (filterRow) {
                var _index = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.index(elementRef.current);
                filterRow.children[_index].style.left = styleObject.left;
                filterRow.children[_index].style.right = styleObject.right;
            }
            var isSameStyle = styleObjectState.left === styleObject.left &amp;&amp; styleObjectState.right === styleObject.right;
            !isSameStyle &amp;&amp; setStyleObjectState(styleObject);
        }
    };
    var updateSortableDisabled = function updateSortableDisabled(prevColumn) {
        if (getColumnProp(prevColumn, 'sortableDisabled') !== getColumnProp('sortableDisabled') || getColumnProp(prevColumn, 'sortable') !== getColumnProp('sortable')) {
            props.onSortableChange();
        }
    };
    var _onClick = function onClick(event) {
        if (!isSortableDisabled()) {
            var targetNode = event.target;
            if (primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(targetNode, 'data-p-sortable-column') === true || primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(targetNode, 'data-pc-section') === 'headertitle' || primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(targetNode, 'data-pc-section') === 'headercontent' || primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(targetNode, 'data-pc-section') === 'sortIcon' || primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(targetNode.parentElement, 'data-pc-section') === 'sortIcon' || targetNode.closest('[data-p-sortable-column="true"]') &amp;&amp; !targetNode.closest('[data-pc-section="filtermenubutton"]')) {
                primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.clearSelection();
                props.onSortChange({
                    originalEvent: event,
                    column: props.column,
                    sortableDisabledFields: props.sortableDisabledFields
                });
            }
        }
    };
    var _onMouseDown = function onMouseDown(event) {
        props.onColumnMouseDown({
            originalEvent: event,
            column: props.column
        });
    };
    var _onKeyDown = function onKeyDown(event) {
        if ((event.code == 'Enter' || event.code === 'NumpadEnter' || event.code == 'Space') &amp;&amp; event.target === elementRef.current &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(event.currentTarget, 'data-p-sortable-column') === true) {
            _onClick(event);
            event.preventDefault();
        }
    };
    var _onDragStart = function onDragStart(event) {
        props.onColumnDragStart({
            originalEvent: event,
            column: props.column
        });
    };
    var _onDragOver = function onDragOver(event) {
        props.onColumnDragOver({
            originalEvent: event,
            column: props.column
        });
    };
    var _onDragLeave = function onDragLeave(event) {
        props.onColumnDragLeave({
            originalEvent: event,
            column: props.column
        });
    };
    var _onDrop = function onDrop(event) {
        props.onColumnDrop({
            originalEvent: event,
            column: props.column
        });
    };
    var onResizeStart = function onResizeStart(event) {
        props.onColumnResizeStart({
            originalEvent: event,
            column: props.column
        });
    };
    var onResizerClick = function onResizerClick(event) {
        if (props.onColumnResizerClick) {
            props.onColumnResizerClick({
                originalEvent: event,
                element: event.currentTarget.parentElement,
                column: props.column
            });
            event.preventDefault();
        }
    };
    var onResizerDoubleClick = function onResizerDoubleClick(event) {
        if (props.onColumnResizerDoubleClick) {
            props.onColumnResizerDoubleClick({
                originalEvent: event,
                element: event.currentTarget.parentElement,
                column: props.column
            });
            event.preventDefault();
        }
    };
    react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function() {
        if (getColumnProp('frozen')) {
            updateStickyPosition();
        }
        updateSortableDisabled(prevColumn);
    });
    var createResizer = function createResizer() {
        if (props.resizableColumns &amp;&amp; !getColumnProp('frozen')) {
            var columnResizerProps = mergeProps({
                className: cx('columnResizer'),
                onMouseDown: function onMouseDown(e) {
                    return onResizeStart(e);
                },
                onTouchStart: function onTouchStart(e) {
                    return onResizeStart(e);
                },
                onClick: function onClick(e) {
                    return onResizerClick(e);
                },
                onDoubleClick: function onDoubleClick(e) {
                    return onResizerDoubleClick(e);
                }
            }, getColumnPTOptions('columnResizer'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", columnResizerProps);
        }
        return null;
    };
    var createTitle = function createTitle() {
        var title = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(getColumnProp('header'), {
            props: props.tableProps
        });
        var headerTitleProps = mergeProps({
            className: cx('headerTitle')
        }, getColumnPTOptions('headerTitle'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", headerTitleProps, title);
    };
    var createSortIcon = function createSortIcon(_ref2) {
        var sorted = _ref2.sorted, sortOrder = _ref2.sortOrder;
        if (getColumnProp('sortable')) {
            var sortIconProps = mergeProps({
                className: cx('sortIcon')
            }, getColumnPTOptions('sortIcon'));
            var sortProps = mergeProps(getColumnPTOptions('sort'));
            var icon = sorted ? sortOrder &lt; 0 ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_sortamountdown__WEBPACK_IMPORTED_MODULE_23__/* .SortAmountDownIcon */ .S, sortIconProps) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_sortamountupalt__WEBPACK_IMPORTED_MODULE_24__/* .SortAmountUpAltIcon */ .w, sortIconProps) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_sortalt__WEBPACK_IMPORTED_MODULE_25__/* .SortAltIcon */ .J, sortIconProps);
            var sortIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(props.sortIcon || icon, _objectSpread$2({}, sortIconProps), {
                props: props,
                sorted: sorted,
                sortOrder: sortOrder
            });
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", sortProps, sortIcon);
        }
        return null;
    };
    var createBadge = function createBadge(_ref3) {
        var metaIndex = _ref3.metaIndex;
        if (metaIndex !== -1 &amp;&amp; isBadgeVisible()) {
            var value = props.groupRowsBy &amp;&amp; props.groupRowsBy === props.groupRowSortField ? metaIndex : metaIndex + 1;
            var sortBadgeProps = mergeProps({
                className: cx('sortBadge')
            }, getColumnPTOptions('root'), getColumnPTOptions('sortBadge'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", sortBadgeProps, value);
        }
        return null;
    };
    var createCheckbox = function createCheckbox() {
        if (props.showSelectAll &amp;&amp; getColumnProp('selectionMode') === 'multiple' &amp;&amp; props.filterDisplay !== 'row') {
            var allRowsSelected = props.allRowsSelected(props.value);
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(HeaderCheckbox, {
                hostName: props.hostName,
                column: props.column,
                checked: allRowsSelected,
                onChange: props.onColumnCheckboxChange,
                disabled: props.empty,
                ptCallbacks: ptCallbacks,
                metaData: parentMetaData,
                unstyled: props.unstyled
            });
        }
        return null;
    };
    var createFilter = function createFilter() {
        if (props.filterDisplay === 'menu' &amp;&amp; getColumnProp('filter')) {
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ColumnFilter, {
                hostName: props.hostName,
                display: "menu",
                column: props.column,
                filters: props.filters,
                onFilterChange: props.onFilterChange,
                onFilterApply: props.onFilterApply,
                filtersStore: props.filtersStore,
                filterIcon: props.filterIcon,
                filterClearIcon: props.filterClearIcon,
                ptCallbacks: ptCallbacks,
                metaData: parentMetaData,
                unstyled: props.unstyled
            });
        }
        return null;
    };
    var createHeader = function createHeader(sortMeta) {
        var title = createTitle();
        var sortIcon = createSortIcon(sortMeta);
        var badge = createBadge(sortMeta);
        var checkbox = createCheckbox();
        var filter = createFilter();
        var headerContentProps = mergeProps({
            className: cx('headerContent')
        }, getColumnPTOptions('headerContent'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", headerContentProps, title, sortIcon, badge, checkbox, filter);
    };
    var createElement = function createElement() {
        var _isSortableDisabled = isSortableDisabled();
        var sortMeta = getSortMeta();
        var style = getStyle();
        var align = getColumnProp('alignHeader') || getColumnProp('align');
        var frozen = getColumnProp('frozen');
        var tabIndex = getColumnProp('sortable') &amp;&amp; !_isSortableDisabled ? props.tabIndex : null;
        var colSpan = getColumnProp('colSpan');
        var rowSpan = getColumnProp('rowSpan');
        var ariaSort = getAriaSort(sortMeta);
        var headerTooltip = getColumnProp('headerTooltip');
        var headerClassName = getColumnProp('headerClassName');
        var hasTooltip = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(headerTooltip);
        var headerTooltipOptions = getColumnProp('headerTooltipOptions');
        var resizer = createResizer();
        var header = createHeader(sortMeta);
        var headerCellProps = mergeProps({
            className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(headerClassName, cx('headerCell', {
                headerProps: props,
                frozen: frozen,
                sortMeta: sortMeta,
                align: align,
                _isSortableDisabled: _isSortableDisabled,
                getColumnProp: getColumnProp
            })),
            style: style,
            role: 'columnheader',
            onClick: function onClick(e) {
                return _onClick(e);
            },
            onKeyDown: function onKeyDown(e) {
                return _onKeyDown(e);
            },
            onMouseDown: function onMouseDown(e) {
                return _onMouseDown(e);
            },
            onDragStart: function onDragStart(e) {
                return _onDragStart(e);
            },
            onDragOver: function onDragOver(e) {
                return _onDragOver(e);
            },
            onDragLeave: function onDragLeave(e) {
                return _onDragLeave(e);
            },
            onDrop: function onDrop(e) {
                return _onDrop(e);
            },
            tabIndex: tabIndex,
            colSpan: colSpan,
            rowSpan: rowSpan,
            'aria-sort': ariaSort,
            'data-p-sortable-column': getColumnProp('sortable'),
            'data-p-resizable-column': props.resizableColumns,
            'data-p-highlight': sortMeta.sorted,
            'data-p-filter-column': !props.metaData.props.headerColumnGroup &amp;&amp; props.filterDisplay === 'row',
            'data-p-frozen-column': getColumnProp('frozen'),
            'data-p-reorderable-column': props.reorderableColumns
        }, getColumnPTOptions('root'), getColumnPTOptions('headerCell'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("th", _extends({
            ref: elementRef
        }, headerCellProps), resizer, header), hasTooltip &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_tooltip__WEBPACK_IMPORTED_MODULE_6__/* .Tooltip */ .m, _extends({
            target: elementRef,
            content: headerTooltip,
            pt: getColumnPTOptions('tooltip'),
            unstyled: props.unstyled
        }, headerTooltipOptions)));
    };
    var element = createElement();
    return element;
});
HeaderCell.displayName = 'HeaderCell';
function ownKeys$1(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread$1(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys$1(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var TableHeader = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.memo(function(props) {
    var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState([]), _React$useState2 = _slicedToArray(_React$useState, 2), sortableDisabledFieldsState = _React$useState2[0], setSortableDisabledFieldsState = _React$useState2[1];
    var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0__.useState(false), _React$useState4 = _slicedToArray(_React$useState3, 2), allSortableDisabledState = _React$useState4[0], setAllSortableDisabledState = _React$useState4[1];
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var isSingleSort = props.sortMode === 'single';
    var isMultipleSort = props.sortMode === 'multiple';
    var isAllSortableDisabled = isSingleSort &amp;&amp; allSortableDisabledState;
    var _props$ptCallbacks = props.ptCallbacks, ptm = _props$ptCallbacks.ptm, ptmo = _props$ptCallbacks.ptmo, cx = _props$ptCallbacks.cx;
    var context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .PrimeReactContext */ .UM);
    var getColumnProp = function getColumnProp(column, name) {
        return ColumnBase.getCProp(column, name);
    };
    var getColumnProps = function getColumnProps(column) {
        return ColumnBase.getCProps(column);
    };
    var getRowProps = function getRowProps(row) {
        return ColumnGroupBase.getCProps(row);
    };
    var getColumnGroupProps = function getColumnGroupProps() {
        return props.headerColumnGroup ? ptmo(ColumnGroupBase.getCProps(props.headerColumnGroup)) : undefined;
    };
    var getColumnGroupPTOptions = function getColumnGroupPTOptions(key) {
        var cGProps = getColumnGroupProps();
        var columnGroupMetaData = {
            props: cGProps,
            parent: props.metaData,
            hostName: props.hostName,
            state: {
                sortableDisabledFields: sortableDisabledFieldsState,
                allSortableDisabled: allSortableDisabledState
            }
        };
        return mergeProps(ptm("columnGroup.".concat(key), {
            columnGroup: columnGroupMetaData
        }), ptm("columnGroup.".concat(key), columnGroupMetaData), ptmo(cGProps, key, columnGroupMetaData));
    };
    var getColumnPTOptions = function getColumnPTOptions(column, key) {
        var cProps = getColumnProps(column);
        var columnMetaData = {
            props: cProps,
            parent: props.metaData,
            hostName: props.hostName,
            state: {
                sortableDisabledFields: sortableDisabledFieldsState,
                allSortableDisabled: allSortableDisabledState
            }
        };
        return mergeProps(ptm("column.".concat(key), {
            column: columnMetaData
        }), ptm("column.".concat(key), columnMetaData), ptmo(cProps, key, columnMetaData));
    };
    var getRowPTOptions = function getRowPTOptions(row, key) {
        var rProps = getRowProps(row);
        var rowMetaData = {
            props: rProps,
            parent: props.metaData,
            hostName: props.hostName
        };
        return mergeProps(ptm("row.".concat(key), {
            row: rowMetaData
        }), ptm("row.".concat(key), rowMetaData), ptmo(rProps, key, rowMetaData));
    };
    var isColumnSorted = function isColumnSorted(column) {
        return props.sortField !== null ? getColumnProp(column, 'field') === props.sortField || getColumnProp(column, 'sortField') === props.sortField : false;
    };
    var updateSortableDisabled = function updateSortableDisabled() {
        if (isSingleSort || isMultipleSort &amp;&amp; props.onSortChange) {
            var sortableDisabledFields = [];
            var allSortableDisabled = false;
            props.columns.forEach(function(column) {
                if (getColumnProp(column, 'sortableDisabled')) {
                    sortableDisabledFields.push(getColumnProp(column, 'sortField') || getColumnProp(column, 'field'));
                    if (!allSortableDisabled &amp;&amp; isColumnSorted(column)) {
                        allSortableDisabled = true;
                    }
                }
            });
            setSortableDisabledFieldsState(sortableDisabledFields);
            setAllSortableDisabledState(allSortableDisabled);
        }
    };
    var onSortableChange = function onSortableChange() {
        updateSortableDisabled();
    };
    var onCheckboxChange = function onCheckboxChange(e) {
        props.onColumnCheckboxChange(e, props.value);
    };
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMountEffect */ .uU)(function() {
        updateSortableDisabled();
    });
    var createGroupHeaderCells = function createGroupHeaderCells(row) {
        var columns = react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(RowBase.getCProp(row, 'children'));
        return createHeaderCells(columns);
    };
    var createHeaderCells = function createHeaderCells(columns) {
        return react__WEBPACK_IMPORTED_MODULE_0__.Children.map(columns, function(col, i) {
            var isVisible = col ? !getColumnProp(col, 'hidden') : true;
            var key = col ? getColumnProp(col, 'columnKey') || getColumnProp(col, 'field') || i : i;
            return isVisible &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(HeaderCell, {
                hostName: props.hostName,
                allRowsSelected: props.allRowsSelected,
                allSortableDisabled: isAllSortableDisabled,
                column: col,
                index: i,
                empty: props.empty,
                filterClearIcon: props.filterClearIcon,
                filterDisplay: props.filterDisplay,
                filterIcon: props.filterIcon,
                filters: props.filters,
                filtersStore: props.filtersStore,
                groupRowSortField: props.groupRowSortField,
                groupRowsBy: props.groupRowsBy,
                key: key,
                multiSortMeta: props.multiSortMeta,
                onColumnCheckboxChange: onCheckboxChange,
                onColumnDragLeave: props.onColumnDragLeave,
                onColumnDragOver: props.onColumnDragOver,
                onColumnDragStart: props.onColumnDragStart,
                onColumnDrop: props.onColumnDrop,
                onColumnMouseDown: props.onColumnMouseDown,
                onColumnResizeStart: props.onColumnResizeStart,
                onColumnResizerClick: props.onColumnResizerClick,
                onColumnResizerDoubleClick: props.onColumnResizerDoubleClick,
                onFilterApply: props.onFilterApply,
                onFilterChange: props.onFilterChange,
                onSortChange: props.onSortChange,
                onSortableChange: onSortableChange,
                reorderableColumns: props.reorderableColumns,
                resizableColumns: props.resizableColumns,
                showSelectAll: props.showSelectAll,
                sortField: props.sortField,
                sortIcon: props.sortIcon,
                sortMode: props.sortMode,
                sortOrder: props.sortOrder,
                sortableDisabledFields: sortableDisabledFieldsState,
                tabIndex: props.tabIndex,
                tableProps: props.tableProps,
                value: props.value,
                ptCallbacks: props.ptCallbacks,
                metaData: props.metaData,
                unstyled: props.unstyled
            });
        });
    };
    var createCheckbox = function createCheckbox(column, selectionMode) {
        if (props.showSelectAll &amp;&amp; selectionMode === 'multiple') {
            var allRowsSelected = props.allRowsSelected(props.value);
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(HeaderCheckbox, {
                hostName: props.hostName,
                column: column,
                checked: allRowsSelected,
                onChange: onCheckboxChange,
                disabled: props.empty,
                ptCallbacks: props.ptCallbacks,
                metaData: props.metaData,
                unstyled: props.unstyled
            });
        }
        return null;
    };
    var createFilter = function createFilter(column, filter) {
        if (filter) {
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(ColumnFilter, {
                hostName: props.hostName,
                display: "row",
                column: column,
                filterClearIcon: props.filterClearIcon,
                filterIcon: props.filterIcon,
                filters: props.filters,
                filtersStore: props.filtersStore,
                metaData: props.metaData,
                onFilterApply: props.onFilterApply,
                onFilterChange: props.onFilterChange,
                ptCallbacks: props.ptCallbacks,
                unstyled: props.unstyled
            });
        }
        return null;
    };
    var createFilterCells = function createFilterCells() {
        return react__WEBPACK_IMPORTED_MODULE_0__.Children.map(props.columns, function(col, i) {
            var isVisible = !getColumnProp(col, 'hidden');
            if (isVisible) {
                var _ColumnBase$getCProps = ColumnBase.getCProps(col), filterHeaderStyle = _ColumnBase$getCProps.filterHeaderStyle, style = _ColumnBase$getCProps.style, filterHeaderClassName = _ColumnBase$getCProps.filterHeaderClassName, className = _ColumnBase$getCProps.className, frozen = _ColumnBase$getCProps.frozen, columnKey = _ColumnBase$getCProps.columnKey, field = _ColumnBase$getCProps.field, selectionMode = _ColumnBase$getCProps.selectionMode, filter = _ColumnBase$getCProps.filter;
                var colStyle = _objectSpread$1(_objectSpread$1({}, filterHeaderStyle || {}), style || {});
                var colKey = columnKey || field || i;
                var checkbox = createCheckbox(col, selectionMode);
                var filterRow = createFilter(col, filter);
                var headerCellProps = mergeProps({
                    style: colStyle,
                    className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(filterHeaderClassName, className, cx('headerCell', {
                        frozen: frozen,
                        column: col
                    }))
                }, getColumnPTOptions(col, 'root'), getColumnPTOptions(col, 'headerCell'));
                return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("th", _extends({
                    key: colKey
                }, headerCellProps), checkbox, filterRow);
            }
            return null;
        });
    };
    var createContent = function createContent() {
        if (props.headerColumnGroup) {
            var rows = react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(ColumnGroupBase.getCProp(props.headerColumnGroup, 'children'));
            return rows.map(function(row, i) {
                var headerRowProps = mergeProps({
                    role: 'row'
                }, RowBase.getProps(row.props, context), getRowPTOptions(row, 'root'));
                return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", _extends({}, headerRowProps, {
                    key: i
                }), createGroupHeaderCells(row));
            });
        }
        var headerRowProps = mergeProps({
            role: 'row'
        }, ptm('headerRow', {
            hostName: props.hostName
        }));
        var headerRow = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", headerRowProps, createHeaderCells(props.columns));
        var filterRow = props.filterDisplay === 'row' &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("tr", headerRowProps, createFilterCells());
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, headerRow, filterRow);
    };
    var content = createContent();
    var theadProps = mergeProps({
        className: cx('thead'),
        role: 'rowgroup'
    }, getColumnGroupPTOptions('root'), ptm('thead', {
        hostName: props.hostName
    }));
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("thead", theadProps, content);
});
TableHeader.displayName = 'TableHeader';
function _createForOfIteratorHelper(o, allowArrayLike) {
    var it = typeof Symbol !== "undefined" &amp;&amp; o[Symbol.iterator] || o["@@iterator"];
    if (!it) {
        if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike &amp;&amp; o &amp;&amp; typeof o.length === "number") {
            if (it) o = it;
            var i = 0;
            var F = function F() {};
            return {
                s: F,
                n: function n() {
                    if (i &gt;= o.length) return {
                        done: true
                    };
                    return {
                        done: false,
                        value: o[i++]
                    };
                },
                e: function e(_e) {
                    throw _e;
                },
                f: F
            };
        }
        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    var normalCompletion = true, didErr = false, err;
    return {
        s: function s() {
            it = it.call(o);
        },
        n: function n() {
            var step = it.next();
            normalCompletion = step.done;
            return step;
        },
        e: function e(_e2) {
            didErr = true;
            err = _e2;
        },
        f: function f() {
            try {
                if (!normalCompletion &amp;&amp; it["return"] != null) it["return"]();
            } finally{
                if (didErr) throw err;
            }
        }
    };
}
function _unsupportedIterableToArray(o, minLen) {
    if (!o) return;
    if (typeof o === "string") return _arrayLikeToArray(o, minLen);
    var n = Object.prototype.toString.call(o).slice(8, -1);
    if (n === "Object" &amp;&amp; o.constructor) n = o.constructor.name;
    if (n === "Map" || n === "Set") return Array.from(o);
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len) {
    if (len == null || len &gt; arr.length) len = arr.length;
    for(var i = 0, arr2 = new Array(len); i &lt; len; i++)arr2[i] = arr[i];
    return arr2;
}
function ownKeys(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
        var o = Object.getOwnPropertySymbols(e);
        r &amp;&amp; (o = o.filter(function(r) {
            return Object.getOwnPropertyDescriptor(e, r).enumerable;
        })), t.push.apply(t, o);
    }
    return t;
}
function _objectSpread(e) {
    for(var r = 1; r &lt; arguments.length; r++){
        var t = null != arguments[r] ? arguments[r] : {};
        r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
            _defineProperty(e, r, t[r]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
            Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
        });
    }
    return e;
}
var DataTable = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(function(inProps, ref) {
    var context = react__WEBPACK_IMPORTED_MODULE_0__.useContext(primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .PrimeReactContext */ .UM);
    var mergeProps = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMergeProps */ .qV)();
    var props = DataTableBase.getProps(inProps, context);
    var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(props.first), _React$useState2 = _slicedToArray(_React$useState, 2), firstState = _React$useState2[0], setFirstState = _React$useState2[1];
    var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0__.useState(props.rows), _React$useState4 = _slicedToArray(_React$useState3, 2), rowsState = _React$useState4[0], setRowsState = _React$useState4[1];
    var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_0__.useState(props.sortField), _React$useState6 = _slicedToArray(_React$useState5, 2), sortFieldState = _React$useState6[0], setSortFieldState = _React$useState6[1];
    var _React$useState7 = react__WEBPACK_IMPORTED_MODULE_0__.useState(props.sortOrder), _React$useState8 = _slicedToArray(_React$useState7, 2), sortOrderState = _React$useState8[0], setSortOrderState = _React$useState8[1];
    var _React$useState9 = react__WEBPACK_IMPORTED_MODULE_0__.useState(props.multiSortMeta), _React$useState10 = _slicedToArray(_React$useState9, 2), multiSortMetaState = _React$useState10[0], setMultiSortMetaState = _React$useState10[1];
    var _React$useState11 = react__WEBPACK_IMPORTED_MODULE_0__.useState(props.filters), _React$useState12 = _slicedToArray(_React$useState11, 2), filtersState = _React$useState12[0], setFiltersState = _React$useState12[1];
    var _React$useState13 = react__WEBPACK_IMPORTED_MODULE_0__.useState([]), _React$useState14 = _slicedToArray(_React$useState13, 2), columnOrderState = _React$useState14[0], setColumnOrderState = _React$useState14[1];
    var _React$useState15 = react__WEBPACK_IMPORTED_MODULE_0__.useState(null), _React$useState16 = _slicedToArray(_React$useState15, 2), groupRowsSortMetaState = _React$useState16[0], setGroupRowsSortMetaState = _React$useState16[1];
    var _React$useState17 = react__WEBPACK_IMPORTED_MODULE_0__.useState({}), _React$useState18 = _slicedToArray(_React$useState17, 2), editingMetaState = _React$useState18[0], setEditingMetaState = _React$useState18[1];
    var _React$useState19 = react__WEBPACK_IMPORTED_MODULE_0__.useState(props.rows), _React$useState20 = _slicedToArray(_React$useState19, 2), d_rowsState = _React$useState20[0], setD_rowsState = _React$useState20[1];
    var _React$useState21 = react__WEBPACK_IMPORTED_MODULE_0__.useState({}), _React$useState22 = _slicedToArray(_React$useState21, 2), d_filtersState = _React$useState22[0], setD_filtersState = _React$useState22[1];
    var metaData = {
        props: props,
        state: {
            first: firstState,
            rows: rowsState,
            sortField: sortFieldState,
            sortOrder: sortOrderState,
            multiSortMeta: multiSortMetaState,
            filters: filtersState,
            columnOrder: columnOrderState,
            groupRowsSortMeta: groupRowsSortMetaState,
            editingMeta: editingMetaState,
            d_rows: d_rowsState,
            d_filters: d_filtersState
        },
        context: {
            scrollable: props.scrollable
        }
    };
    var ptCallbacks = DataTableBase.setMetaData(metaData);
    (0,primereact_componentbase__WEBPACK_IMPORTED_MODULE_1__/* .useHandleStyle */ .j)(DataTableBase.css.styles, ptCallbacks.isUnstyled, {
        name: 'datatable'
    });
    var attributeSelector = react__WEBPACK_IMPORTED_MODULE_0__.useRef('');
    var elementRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var tableRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var wrapperRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var bodyRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var frozenBodyRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var virtualScrollerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var reorderIndicatorUpRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var reorderIndicatorDownRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var colReorderIconWidth = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var colReorderIconHeight = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var resizeHelperRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var draggedColumnElement = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var draggedColumn = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var dropPosition = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var styleElement = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var responsiveStyleElement = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var beforeResizeStyleElement = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var columnWidthsState = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var tableWidthState = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var resizeColumn = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var resizeColumnElement = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var columnResizing = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);
    var lastResizeHelperX = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var columnSortable = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);
    var columnSortFunction = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var columnField = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    var filterTimeout = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
    if (props.rows !== d_rowsState &amp;&amp; !props.onPage) {
        setRowsState(props.rows);
        setD_rowsState(props.rows);
    }
    var columnResizeStartListener = function columnResizeStartListener(event) {
        return columnResizing.current &amp;&amp; onColumnResize(event);
    };
    var columnResizeEndListener = function columnResizeEndListener() {
        return columnResizing.current &amp;&amp; (columnResizing.current = false, onColumnResizeEnd());
    };
    var _useEventListener = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useEventListener */ .ML)({
        type: 'mousemove',
        listener: columnResizeStartListener
    }), _useEventListener2 = _slicedToArray(_useEventListener, 2), bindDocumentMouseMoveListener = _useEventListener2[0], unbindDocumentMouseMoveListener = _useEventListener2[1];
    var _useEventListener3 = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useEventListener */ .ML)({
        type: 'mouseup',
        listener: columnResizeEndListener
    }), _useEventListener4 = _slicedToArray(_useEventListener3, 2), bindDocumentMouseUpListener = _useEventListener4[0], unbindDocumentMouseUpListener = _useEventListener4[1];
    var _useEventListener5 = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useEventListener */ .ML)({
        type: 'touchmove',
        listener: columnResizeStartListener
    }), _useEventListener6 = _slicedToArray(_useEventListener5, 2), bindDocumentTouchMoveListener = _useEventListener6[0], unbindDocumentTouchMoveListener = _useEventListener6[1];
    var _useEventListener7 = (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useEventListener */ .ML)({
        type: 'touchend',
        listener: columnResizeEndListener
    }), _useEventListener8 = _slicedToArray(_useEventListener7, 2), bindDocumentTouchEndListener = _useEventListener8[0], unbindDocumentTouchEndListener = _useEventListener8[1];
    var isCustomStateStorage = function isCustomStateStorage() {
        return props.stateStorage === 'custom';
    };
    var isStateful = function isStateful() {
        return props.stateKey != null || isCustomStateStorage();
    };
    var isVirtualScrollerDisabled = function isVirtualScrollerDisabled() {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isEmpty(props.virtualScrollerOptions) || !props.scrollable;
    };
    var isEquals = function isEquals(data1, data2) {
        return props.compareSelectionBy === 'equals' ? data1 === data2 : primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.equals(data1, data2, props.dataKey);
    };
    var hasFilter = function hasFilter() {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(getFilters()) || props.globalFilter;
    };
    var getFirst = function getFirst() {
        return props.onPage ? props.first : firstState;
    };
    var getRows = function getRows() {
        return props.onPage ? props.rows : rowsState;
    };
    var getSortField = function getSortField() {
        return props.onSort ? props.sortField : sortFieldState;
    };
    var getSortOrder = function getSortOrder() {
        return props.onSort ? props.sortOrder : sortOrderState;
    };
    var getMultiSortMeta = function getMultiSortMeta() {
        return (props.onSort ? props.multiSortMeta : multiSortMetaState) || [];
    };
    var getFilters = function getFilters() {
        return props.onFilter ? props.filters : filtersState;
    };
    var getColumnProp = function getColumnProp(column, name) {
        return ColumnBase.getCProp(column, name);
    };
    var getColumns = function getColumns(ignoreReorderable) {
        var columns = react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(props.children);
        if (!columns) {
            return null;
        }
        if (!ignoreReorderable &amp;&amp; props.reorderableColumns &amp;&amp; columnOrderState) {
            var orderedColumns = columnOrderState.reduce(function(arr, columnKey) {
                var column = findColumnByKey(columns, columnKey);
                column &amp;&amp; arr.push(column);
                return arr;
            }, []);
            return [].concat(_toConsumableArray(orderedColumns), _toConsumableArray(columns.filter(function(col) {
                return orderedColumns.indexOf(col) &lt; 0;
            })));
        }
        return columns;
    };
    var saveState = function saveState() {
        var state = {};
        if (props.paginator) {
            state.first = getFirst();
            state.rows = getRows();
        }
        var sortField = getSortField();
        if (sortField) {
            state.sortField = sortField;
            state.sortOrder = getSortOrder();
        }
        var multiSortMeta = getMultiSortMeta();
        if (multiSortMeta) {
            state.multiSortMeta = multiSortMeta;
        }
        if (hasFilter()) {
            state.filters = getFilters();
        }
        if (props.resizableColumns) {
            saveColumnWidths(state);
        }
        if (props.reorderableColumns) {
            state.columnOrder = columnOrderState;
        }
        if (props.expandedRows) {
            state.expandedRows = props.expandedRows;
        }
        if (props.selection &amp;&amp; props.onSelectionChange) {
            state.selection = props.selection;
        }
        if (isCustomStateStorage()) {
            if (props.customSaveState) {
                props.customSaveState(state);
            }
        } else {
            var storage = getStorage(props.stateStorage);
            if (primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(state)) {
                storage.setItem(props.stateKey, JSON.stringify(state));
            }
        }
        if (props.onStateSave) {
            props.onStateSave(state);
        }
    };
    var clearState = function clearState() {
        var storage = getStorage(props.stateStorage);
        if (storage &amp;&amp; props.stateKey) {
            storage.removeItem(props.stateKey);
        }
    };
    var restoreState = function restoreState() {
        var restoredState = {};
        if (isCustomStateStorage()) {
            if (props.customRestoreState) {
                restoredState = props.customRestoreState();
            }
        } else {
            var storage = getStorage(props.stateStorage);
            var stateString = storage.getItem(props.stateKey);
            var dateFormat = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/;
            var reviver = function reviver(key, value) {
                return typeof value === 'string' &amp;&amp; dateFormat.test(value) ? new Date(value) : value;
            };
            if (stateString) {
                restoredState = JSON.parse(stateString, reviver);
            }
        }
        _restoreState(restoredState);
    };
    var restoreTableState = function restoreTableState(restoredState) {
        _restoreState(restoredState);
    };
    var _restoreState = function _restoreState() {
        var restoredState = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : {};
        if (primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(restoredState)) {
            if (props.paginator) {
                if (props.onPage) {
                    var getOnPageParams = function getOnPageParams(first, rows) {
                        var totalRecords = getTotalRecords(processedData());
                        var pageCount = Math.ceil(totalRecords / rows) || 1;
                        var page = Math.floor(first / rows);
                        return {
                            first: first,
                            rows: rows,
                            page: page,
                            pageCount: pageCount
                        };
                    };
                    props.onPage(createEvent(getOnPageParams(restoredState.first, restoredState.rows)));
                } else {
                    setFirstState(restoredState.first);
                    setRowsState(restoredState.rows);
                }
            }
            if (restoredState.sortField) {
                if (props.onSort) {
                    props.onSort(createEvent({
                        sortField: restoredState.sortField,
                        sortOrder: restoredState.sortOrder
                    }));
                } else {
                    setSortFieldState(restoredState.sortField);
                    setSortOrderState(restoredState.sortOrder);
                }
            }
            if (restoredState.multiSortMeta) {
                if (props.onSort) {
                    props.onSort(createEvent({
                        multiSortMeta: restoredState.multiSortMeta
                    }));
                } else {
                    setMultiSortMetaState(restoredState.multiSortMeta);
                }
            }
            if (restoredState.filters) {
                setD_filtersState(cloneFilters(restoredState.filters));
                if (props.onFilter) {
                    props.onFilter(createEvent({
                        filters: restoredState.filters
                    }));
                } else {
                    setFiltersState(cloneFilters(restoredState.filters));
                }
            }
            if (props.resizableColumns) {
                columnWidthsState.current = restoredState.columnWidths;
                tableWidthState.current = restoredState.tableWidth;
                restoreColumnWidths();
            }
            if (props.reorderableColumns) {
                setColumnOrderState(restoredState.columnOrder);
            }
            if (restoredState.expandedRows &amp;&amp; props.onRowToggle) {
                props.onRowToggle({
                    data: restoredState.expandedRows
                });
            }
            if (restoredState.selection &amp;&amp; props.onSelectionChange) {
                props.onSelectionChange({
                    value: restoredState.selection
                });
            }
            if (props.onStateRestore) {
                props.onStateRestore(restoredState);
            }
        }
    };
    var saveColumnWidths = function saveColumnWidths(state) {
        var widths = [];
        var headers = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.find(elementRef.current, '[data-pc-section="thead"] &gt; tr &gt; th');
        headers.forEach(function(header) {
            return widths.push(primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterWidth(header));
        });
        state.columnWidths = widths.join(',');
        if (props.columnResizeMode === 'expand') {
            state.tableWidth = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterWidth(tableRef.current) + 'px';
        }
    };
    var addColumnWidthStyles = function addColumnWidthStyles(widths) {
        createStyleElement();
        var innerHTML = '';
        var selector = "[data-pc-name=\"datatable\"][".concat(attributeSelector.current, "] &gt; [data-pc-section=\"wrapper\"] ").concat(isVirtualScrollerDisabled() ? '' : '&gt; [data-pc-name="virtualscroller"]', " &gt; [data-pc-section=\"table\"]");
        widths.forEach(function(width, index) {
            var style = "width: ".concat(width, "px !important; max-width: ").concat(width, "px !important");
            innerHTML = innerHTML + "\n                ".concat(selector, " &gt; [data-pc-section=\"thead\"] &gt; tr &gt; th:nth-child(").concat(index + 1, "),\n                ").concat(selector, " &gt; [data-pc-section=\"tbody\"] &gt; tr &gt; td:nth-child(").concat(index + 1, "),\n                ").concat(selector, " &gt; [data-pc-section=\"tfoot\"] &gt; tr &gt; td:nth-child(").concat(index + 1, ") {\n                    ").concat(style, "\n                }\n            ");
        });
        styleElement.current.innerHTML = innerHTML;
    };
    var restoreColumnWidths = function restoreColumnWidths() {
        if (columnWidthsState.current) {
            var widths = columnWidthsState.current.split(',');
            if (props.columnResizeMode === 'expand' &amp;&amp; tableWidthState.current) {
                tableRef.current.style.width = tableWidthState.current;
                tableRef.current.style.minWidth = tableWidthState.current;
            }
            if (primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(widths)) {
                addColumnWidthStyles(widths);
            }
        }
    };
    var findParentHeader = function findParentHeader(element) {
        if (element.nodeName === 'TH') {
            return element;
        }
        var parent = element.parentElement;
        while(parent.nodeName !== 'TH'){
            parent = parent.parentElement;
            if (!parent) {
                break;
            }
        }
        return parent;
    };
    var getGroupRowSortField = function getGroupRowSortField() {
        return props.sortMode === 'single' ? props.sortField : groupRowsSortMetaState ? groupRowsSortMetaState.field : null;
    };
    var getSelectableData = function getSelectableData(val) {
        if (props.showSelectionElement || props.isDataSelectable) {
            return val.filter(function(data, index) {
                var isSelectable = true;
                if (props.showSelectionElement) {
                    isSelectable = props.showSelectionElement({
                        rowIndex: index,
                        props: props
                    });
                }
                if (props.isDataSelectable &amp;&amp; isSelectable) {
                    isSelectable = props.isDataSelectable({
                        data: data,
                        index: index
                    });
                }
                return isSelectable;
            });
        }
        return val;
    };
    var allRowsSelected = function allRowsSelected(processedData) {
        if (props.onSelectAllChange) {
            return props.selectAll;
        }
        var data = props.selectionPageOnly ? dataToRender(processedData) : processedData;
        var val = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(props.frozenValue) ? [].concat(_toConsumableArray(props.frozenValue), _toConsumableArray(data)) : data;
        var selectableVal = getSelectableData(val);
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(selectableVal) &amp;&amp; props.selection &amp;&amp; selectableVal.every(function(sv) {
            return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isArray(props.selection) &amp;&amp; props.selection.some(function(s) {
                return isEquals(s, sv);
            });
        });
    };
    var getSelectionModeInColumn = function getSelectionModeInColumn(columns) {
        if (columns) {
            var col = columns.find(function(c) {
                return !!getColumnProp(c, 'selectionMode');
            });
            return col ? getColumnProp(col, 'selectionMode') : null;
        }
        return null;
    };
    var findColumnByKey = function findColumnByKey(columns, key) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(columns) ? columns.find(function(col) {
            return getColumnProp(col, 'columnKey') === key || getColumnProp(col, 'field') === key;
        }) : null;
    };
    var getTotalRecords = function getTotalRecords(data) {
        return props.lazy ? props.totalRecords : data ? data.length : 0;
    };
    var onEditingMetaChange = function onEditingMetaChange(e) {
        var rowData = e.rowData, field = e.field, editingKey = e.editingKey;
        e.rowIndex;
        var editing = e.editing;
        var editingMeta = _objectSpread({}, editingMetaState);
        var meta = editingMeta[editingKey];
        if (editing) {
            !meta &amp;&amp; (meta = editingMeta[editingKey] = {
                data: _objectSpread({}, rowData),
                fields: []
            });
            meta.fields.push(field);
        } else if (meta) {
            var fields = meta.fields.filter(function(f) {
                return f !== field;
            });
            !fields.length ? delete editingMeta[editingKey] : meta.fields = fields;
        }
        setEditingMetaState(editingMeta);
    };
    var clearEditingMetaData = function clearEditingMetaData() {
        if (props.editMode &amp;&amp; primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(editingMetaState)) {
            setEditingMetaState({});
        }
    };
    var onColumnResizeStart = function onColumnResizeStart(e) {
        createBeforeResizeStyleElement();
        var event = e.originalEvent, column = e.column;
        var containerLeft = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOffset(elementRef.current).left;
        resizeColumn.current = column;
        resizeColumnElement.current = event.currentTarget.parentElement;
        columnResizing.current = true;
        lastResizeHelperX.current = (event.type === 'touchstart' ? event.changedTouches[0].clientX : event.pageX) - containerLeft + elementRef.current.scrollLeft;
        bindColumnResizeEvents();
    };
    var onColumnResize = function onColumnResize(event) {
        var containerLeft = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOffset(elementRef.current).left;
        elementRef.current.setAttribute('data-p-unselectable-text', true);
        resizeHelperRef.current.style.height = elementRef.current.offsetHeight + 'px';
        resizeHelperRef.current.style.top = 0 + 'px';
        resizeHelperRef.current.style.left = (event.type === 'touchmove' ? event.changedTouches[0].clientX : event.pageX) - containerLeft + elementRef.current.scrollLeft + 'px';
        resizeHelperRef.current.style.display = 'block';
    };
    var onColumnResizeEnd = function onColumnResizeEnd() {
        var delta = resizeHelperRef.current.offsetLeft - lastResizeHelperX.current;
        var columnWidth = resizeColumnElement.current.offsetWidth;
        var newColumnWidth = columnWidth + delta;
        var minWidth = resizeColumnElement.current.style.minWidth || 15;
        if (columnWidth + delta &gt; parseInt(minWidth, 10)) {
            if (props.columnResizeMode === 'fit') {
                var nextColumn = resizeColumnElement.current.nextElementSibling;
                var nextColumnWidth = nextColumn.offsetWidth - delta;
                if (newColumnWidth &gt; 15 &amp;&amp; nextColumnWidth &gt; 15) {
                    resizeTableCells(newColumnWidth, nextColumnWidth);
                }
            } else if (props.columnResizeMode === 'expand') {
                var tableWidth = tableRef.current.offsetWidth + delta + 'px';
                var updateTableWidth = function updateTableWidth(el) {
                    !!el &amp;&amp; (el.style.width = el.style.minWidth = tableWidth);
                };
                // https://github.com/primefaces/primereact/issues/3970 Reasoning: resize table cells before updating the table width so that it can use existing computed cell widths and adjust only the one column.
                resizeTableCells(newColumnWidth);
                updateTableWidth(tableRef.current);
                if (!isVirtualScrollerDisabled()) {
                    updateTableWidth(bodyRef.current);
                    updateTableWidth(frozenBodyRef.current);
                    if (wrapperRef.current) {
                        updateTableWidth(primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(wrapperRef.current, '[data-pc-name="virtualscroller"] &gt; table &gt; tbody'));
                    }
                }
            }
            if (props.onColumnResizeEnd) {
                props.onColumnResizeEnd({
                    element: resizeColumnElement.current,
                    column: resizeColumn.current,
                    delta: delta
                });
            }
            if (isStateful()) {
                saveState();
            }
        }
        resizeHelperRef.current.style.display = 'none';
        resizeColumn.current = null;
        resizeColumnElement.current = null;
        elementRef.current.setAttribute('data-p-unselectable-text', 'true');
        destroyBeforeResizeStyleElement();
        unbindColumnResizeEvents();
    };
    var resizeTableCells = function resizeTableCells(newColumnWidth, nextColumnWidth) {
        var widths = [];
        var colIndex = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.index(resizeColumnElement.current);
        var headers = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.find(tableRef.current, '[data-pc-section="thead"] &gt; tr &gt; th');
        headers.forEach(function(header) {
            return widths.push(primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterWidth(header));
        });
        destroyStyleElement();
        createStyleElement();
        var innerHTML = '';
        var selector = "[data-pc-name=\"datatable\"][".concat(attributeSelector.current, "] &gt; [data-pc-section=\"wrapper\"] ").concat(isVirtualScrollerDisabled() ? '' : '&gt; [data-pc-name="virtualscroller"]', " &gt; [data-pc-section=\"table\"]");
        widths.forEach(function(width, index) {
            var colWidth = index === colIndex ? newColumnWidth : nextColumnWidth &amp;&amp; index === colIndex + 1 ? nextColumnWidth : width;
            var style = "width: ".concat(colWidth, "px !important; max-width: ").concat(colWidth, "px !important");
            innerHTML = innerHTML + "\n                 ".concat(selector, " &gt; [data-pc-section=\"thead\"] &gt; tr &gt; th:nth-child(").concat(index + 1, "),\n                ").concat(selector, " &gt; [data-pc-section=\"tbody\"] &gt; tr &gt; td:nth-child(").concat(index + 1, "),\n                ").concat(selector, " &gt; [data-pc-section=\"tfoot\"] &gt; tr &gt; td:nth-child(").concat(index + 1, ") {\n                    ").concat(style, "\n                }\n            ");
        });
        styleElement.current.innerHTML = innerHTML;
    };
    var bindColumnResizeEvents = function bindColumnResizeEvents() {
        bindDocumentMouseMoveListener();
        bindDocumentMouseUpListener();
        bindDocumentTouchMoveListener();
        bindDocumentTouchEndListener();
    };
    var unbindColumnResizeEvents = function unbindColumnResizeEvents() {
        unbindDocumentMouseMoveListener();
        unbindDocumentMouseUpListener();
        unbindDocumentTouchMoveListener();
        unbindDocumentTouchEndListener();
    };
    var onColumnHeaderMouseDown = function onColumnHeaderMouseDown(e) {
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.clearSelection();
        var event = e.originalEvent, column = e.column;
        if (props.reorderableColumns &amp;&amp; getColumnProp(column, 'reorderable') !== false &amp;&amp; !getColumnProp(column, 'frozen')) {
            if (event.target.nodeName === 'INPUT' || event.target.nodeName === 'TEXTAREA' || primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getAttribute(event.target, '[data-pc-section="columnresizer"]')) {
                event.currentTarget.draggable = false;
            } else {
                event.currentTarget.draggable = true;
            }
        }
    };
    var onColumnHeaderCheckboxChange = function onColumnHeaderCheckboxChange(e, processedData) {
        if (props.onSelectAllChange) {
            props.onSelectAllChange(e);
        } else {
            var originalEvent = e.originalEvent, checked = e.checked;
            var _data = props.selectionPageOnly ? dataToRender(processedData) : processedData;
            var selection = props.selectionPageOnly &amp;&amp; props.selection ? props.selection.filter(function(s) {
                return !_data.some(function(d) {
                    return isEquals(s, d);
                });
            }) : [];
            if (checked) {
                selection = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(props.frozenValue) ? [].concat(_toConsumableArray(selection), _toConsumableArray(props.frozenValue), _toConsumableArray(_data)) : [].concat(_toConsumableArray(selection), _toConsumableArray(_data));
                selection = getSelectableData(selection);
                props.onAllRowsSelect &amp;&amp; props.onAllRowsSelect({
                    originalEvent: originalEvent,
                    data: selection,
                    type: 'all'
                });
            } else {
                props.onAllRowsUnselect &amp;&amp; props.onAllRowsUnselect({
                    originalEvent: originalEvent,
                    data: selection,
                    type: 'all'
                });
            }
            if (props.onSelectionChange) {
                props.onSelectionChange({
                    originalEvent: originalEvent,
                    value: selection,
                    type: 'all'
                });
            }
        }
    };
    var onColumnHeaderDragStart = function onColumnHeaderDragStart(e) {
        var event = e.originalEvent, column = e.column;
        if (columnResizing.current) {
            event.preventDefault();
            return;
        }
        if (!props.reorderableColumns) {
            return;
        }
        colReorderIconWidth.current = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getHiddenElementOuterWidth(reorderIndicatorUpRef.current);
        colReorderIconHeight.current = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getHiddenElementOuterHeight(reorderIndicatorUpRef.current);
        draggedColumn.current = column;
        draggedColumnElement.current = findParentHeader(event.currentTarget);
        event.dataTransfer.setData('text', 'b'); // Firefox requires this to make dragging possible
    };
    var onColumnHeaderDragOver = function onColumnHeaderDragOver(e) {
        var event = e.originalEvent, column = e.column;
        var dropHeader = findParentHeader(event.currentTarget);
        if (props.reorderableColumns &amp;&amp; draggedColumnElement.current &amp;&amp; dropHeader &amp;&amp; !getColumnProp(column, 'frozen')) {
            event.preventDefault();
            if (draggedColumnElement.current !== dropHeader) {
                var containerOffset = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOffset(elementRef.current);
                var dropHeaderOffset = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOffset(dropHeader);
                var targetLeft = dropHeaderOffset.left - containerOffset.left;
                var columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2;
                var dragIndex = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.index(draggedColumnElement.current);
                var dropIndex = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.index(findParentHeader(event.currentTarget));
                reorderIndicatorUpRef.current.style.top = dropHeaderOffset.top - containerOffset.top - (colReorderIconHeight.current - 1) + 'px';
                reorderIndicatorDownRef.current.style.top = dropHeaderOffset.top - containerOffset.top + dropHeader.offsetHeight + 'px';
                if (event.pageX &gt; columnCenter &amp;&amp; dragIndex &lt; dropIndex) {
                    reorderIndicatorUpRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(colReorderIconWidth.current / 2) + 'px';
                    reorderIndicatorDownRef.current.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(colReorderIconWidth.current / 2) + 'px';
                    dropPosition.current = 1;
                } else if (dragIndex &gt; dropIndex) {
                    reorderIndicatorUpRef.current.style.left = targetLeft - Math.ceil(colReorderIconWidth.current / 2) + 'px';
                    reorderIndicatorDownRef.current.style.left = targetLeft - Math.ceil(colReorderIconWidth.current / 2) + 'px';
                    dropPosition.current = -1;
                }
                reorderIndicatorUpRef.current.style.display = 'block';
                reorderIndicatorDownRef.current.style.display = 'block';
            }
        }
    };
    var onColumnHeaderDragLeave = function onColumnHeaderDragLeave(e) {
        var event = e.originalEvent;
        if (props.reorderableColumns &amp;&amp; draggedColumnElement.current) {
            event.preventDefault();
            reorderIndicatorUpRef.current.style.display = 'none';
            reorderIndicatorDownRef.current.style.display = 'none';
        }
    };
    var onColumnHeaderDrop = function onColumnHeaderDrop(e) {
        var event = e.originalEvent, column = e.column;
        event.preventDefault();
        if (draggedColumnElement.current) {
            var dragIndex = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.index(draggedColumnElement.current);
            var dropIndex = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.index(findParentHeader(event.currentTarget));
            var allowDrop = dragIndex !== dropIndex;
            if (allowDrop &amp;&amp; (dropIndex - dragIndex === 1 &amp;&amp; dropPosition.current === -1 || dragIndex - dropIndex === 1 &amp;&amp; dropPosition.current === 1)) {
                allowDrop = false;
            }
            if (allowDrop) {
                var _columns = getColumns();
                var isSameColumn = function isSameColumn(col1, col2) {
                    return getColumnProp(col1, 'columnKey') || getColumnProp(col2, 'columnKey') ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.equals(col1.props, col2.props, 'columnKey') : primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.equals(col1.props, col2.props, 'field');
                };
                var dragColIndex = _columns.findIndex(function(child) {
                    return isSameColumn(child, draggedColumn.current);
                });
                var dropColIndex = _columns.findIndex(function(child) {
                    return isSameColumn(child, column);
                });
                var widths = [];
                var headers = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.find(tableRef.current, '[data-pc-section="thead"] &gt; tr &gt; th');
                headers.forEach(function(header) {
                    return widths.push(primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.getOuterWidth(header));
                });
                var movedItem = widths.find(function(items, index) {
                    return index === dragColIndex;
                });
                var remainingItems = widths.filter(function(items, index) {
                    return index !== dragColIndex;
                });
                var reorderedWidths = [].concat(_toConsumableArray(remainingItems.slice(0, dropColIndex)), [
                    movedItem
                ], _toConsumableArray(remainingItems.slice(dropColIndex)));
                addColumnWidthStyles(reorderedWidths);
                if (dropColIndex &lt; dragColIndex &amp;&amp; dropPosition.current === 1) {
                    dropColIndex++;
                }
                if (dropColIndex &gt; dragColIndex &amp;&amp; dropPosition.current === -1) {
                    dropColIndex--;
                }
                primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.reorderArray(_columns, dragColIndex, dropColIndex);
                var columnOrder = _columns.reduce(function(orders, col) {
                    orders.push(getColumnProp(col, 'columnKey') || getColumnProp(col, 'field'));
                    return orders;
                }, []);
                setColumnOrderState(columnOrder);
                if (props.onColReorder) {
                    props.onColReorder({
                        originalEvent: event,
                        dragIndex: dragColIndex,
                        dropIndex: dropColIndex,
                        columns: _columns
                    });
                }
            }
            reorderIndicatorUpRef.current.style.display = 'none';
            reorderIndicatorDownRef.current.style.display = 'none';
            draggedColumnElement.current.draggable = false;
            draggedColumnElement.current = null;
            draggedColumn.current = null;
            dropPosition.current = null;
        }
    };
    var createBeforeResizeStyleElement = function createBeforeResizeStyleElement() {
        beforeResizeStyleElement.current = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.createInlineStyle(context &amp;&amp; context.nonce || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.nonce, context &amp;&amp; context.styleContainer);
        var innerHTML = "\n[data-pc-name=\"datatable\"][".concat(attributeSelector.current, "] {\n    user-select:none;\n}\n        ");
        beforeResizeStyleElement.current.innerHTML = innerHTML;
    };
    var createStyleElement = function createStyleElement() {
        styleElement.current = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.createInlineStyle(context &amp;&amp; context.nonce || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.nonce, context &amp;&amp; context.styleContainer);
    };
    var createResponsiveStyle = function createResponsiveStyle() {
        if (!responsiveStyleElement.current) {
            responsiveStyleElement.current = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.createInlineStyle(context &amp;&amp; context.nonce || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.nonce, context &amp;&amp; context.styleContainer);
            var tableSelector = ".p-datatable-wrapper ".concat(isVirtualScrollerDisabled() ? '' : '&gt; .p-virtualscroller', " &gt; .p-datatable-table");
            var selector = ".p-datatable[".concat(attributeSelector.current, "] &gt; ").concat(tableSelector);
            var gridLinesSelector = ".p-datatable[".concat(attributeSelector.current, "].p-datatable-gridlines &gt; ").concat(tableSelector);
            var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n    ").concat(selector, " &gt; .p-datatable-thead &gt; tr &gt; th,\n    ").concat(selector, " &gt; .p-datatable-tfoot &gt; tr &gt; td {\n        display: none;\n    }\n\n    ").concat(selector, " &gt; .p-datatable-tbody &gt; tr &gt; td {\n        display: flex;\n        width: 100%;\n        align-items: center;\n        justify-content: space-between;\n    }\n\n    ").concat(selector, " &gt; .p-datatable-tbody &gt; tr &gt; td:not(:last-child) {\n        border: 0 none;\n    }\n\n    ").concat(gridLinesSelector, " &gt; .p-datatable-tbody &gt; tr &gt; td:last-child {\n        border-top: 0;\n        border-right: 0;\n        border-left: 0;\n    }\n\n    ").concat(selector, " &gt; .p-datatable-tbody &gt; tr &gt; td &gt; .p-column-title {\n        display: block;\n    }\n}\n");
            responsiveStyleElement.current.innerHTML = innerHTML;
        }
    };
    var destroyResponsiveStyle = function destroyResponsiveStyle() {
        responsiveStyleElement.current = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.removeInlineStyle(responsiveStyleElement.current);
    };
    var destroyStyleElement = function destroyStyleElement() {
        styleElement.current = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.removeInlineStyle(styleElement.current);
    };
    var destroyBeforeResizeStyleElement = function destroyBeforeResizeStyleElement() {
        beforeResizeStyleElement.current = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.removeInlineStyle(beforeResizeStyleElement.current);
    };
    var onPageChange = function onPageChange(e) {
        clearEditingMetaData();
        if (props.onPage) {
            props.onPage(createEvent(e));
        } else {
            setFirstState(e.first);
            setRowsState(e.rows);
        }
        if (props.onValueChange) {
            props.onValueChange(processedData());
        }
    };
    var onSortChange = function onSortChange(e) {
        clearEditingMetaData();
        var event = e.originalEvent, column = e.column, sortableDisabledFields = e.sortableDisabledFields;
        var sortField = getColumnProp(column, 'sortField') || getColumnProp(column, 'field');
        var sortOrder = props.defaultSortOrder;
        var multiSortMeta;
        var eventMeta;
        columnSortable.current = getColumnProp(column, 'sortable');
        columnSortFunction.current = getColumnProp(column, 'sortFunction');
        columnField.current = sortField;
        if (props.sortMode === 'multiple') {
            var metaKey = event.metaKey || event.ctrlKey;
            multiSortMeta = _toConsumableArray(getMultiSortMeta());
            var sortMeta = multiSortMeta.find(function(sortMeta) {
                return sortMeta.field === sortField;
            });
            sortOrder = sortMeta ? getCalculatedSortOrder(sortMeta.order) : sortOrder;
            var newMetaData = {
                field: sortField,
                order: sortOrder
            };
            if (sortOrder) {
                multiSortMeta = metaKey ? multiSortMeta : multiSortMeta.filter(function(meta) {
                    return sortableDisabledFields.some(function(field) {
                        return field === meta.field;
                    });
                });
                addSortMeta(newMetaData, multiSortMeta);
            } else if (props.removableSort) {
                removeSortMeta(newMetaData, multiSortMeta);
            }
            eventMeta = {
                multiSortMeta: multiSortMeta
            };
        } else {
            sortOrder = getSortField() === sortField ? getCalculatedSortOrder(getSortOrder()) : sortOrder;
            if (props.removableSort) {
                sortField = sortOrder ? sortField : null;
            }
            eventMeta = {
                sortField: sortField,
                sortOrder: sortOrder
            };
        }
        if (props.onSort) {
            props.onSort(createEvent(eventMeta));
        } else {
            setFirstState(0);
            setSortFieldState(eventMeta.sortField);
            setSortOrderState(eventMeta.sortOrder);
            setMultiSortMetaState(eventMeta.multiSortMeta);
        }
        if (props.onValueChange) {
            props.onValueChange(processedData({
                sortField: sortField,
                sortOrder: sortOrder,
                multiSortMeta: multiSortMeta
            }));
        }
    };
    var getCalculatedSortOrder = function getCalculatedSortOrder(currentOrder) {
        return props.removableSort ? props.defaultSortOrder === currentOrder ? currentOrder * -1 : 0 : currentOrder * -1;
    };
    var compareValuesOnSort = function compareValuesOnSort(value1, value2, comparator, order) {
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.sort(value1, value2, order, comparator, context &amp;&amp; context.nullSortOrder || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.nullSortOrder);
    };
    var addSortMeta = function addSortMeta(meta, multiSortMeta) {
        var index = multiSortMeta.findIndex(function(sortMeta) {
            return sortMeta.field === meta.field;
        });
        if (index &gt;= 0) {
            multiSortMeta[index] = meta;
        } else {
            multiSortMeta.push(meta);
        }
    };
    var removeSortMeta = function removeSortMeta(meta, multiSortMeta) {
        var index = multiSortMeta.findIndex(function(sortMeta) {
            return sortMeta.field === meta.field;
        });
        if (index &gt;= 0) {
            multiSortMeta.splice(index, 1);
        }
        multiSortMeta = multiSortMeta.length &gt; 0 ? multiSortMeta : null;
    };
    var sortSingle = function sortSingle(data, field, order) {
        if (props.groupRowsBy &amp;&amp; props.groupRowsBy === props.sortField) {
            var multiSortMeta = [
                {
                    field: props.sortField,
                    order: props.sortOrder || props.defaultSortOrder
                }
            ];
            props.sortField !== field &amp;&amp; multiSortMeta.push({
                field: field,
                order: order
            });
            return sortMultiple(data, multiSortMeta);
        }
        var value = _toConsumableArray(data);
        if (columnSortable.current &amp;&amp; columnSortFunction.current) {
            value = columnSortFunction.current({
                data: data,
                field: field,
                order: order
            });
        } else {
            // performance optimization to prevent resolving field data in each loop
            var lookupMap = new Map();
            var comparator = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.localeComparator(context &amp;&amp; context.locale || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"].locale */ .Ay.locale);
            var _iterator = _createForOfIteratorHelper(data), _step;
            try {
                for(_iterator.s(); !(_step = _iterator.n()).done;){
                    var item = _step.value;
                    lookupMap.set(item, primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(item, field));
                }
            } catch (err) {
                _iterator.e(err);
            } finally{
                _iterator.f();
            }
            value.sort(function(data1, data2) {
                var value1 = lookupMap.get(data1);
                var value2 = lookupMap.get(data2);
                return compareValuesOnSort(value1, value2, comparator, order);
            });
        }
        return value;
    };
    var sortMultiple = function sortMultiple(data) {
        var multiSortMeta = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : [];
        if (props.groupRowsBy &amp;&amp; (groupRowsSortMetaState || multiSortMeta.length &amp;&amp; props.groupRowsBy === multiSortMeta[0].field)) {
            var groupRowsSortMeta = groupRowsSortMetaState;
            var firstSortMeta = multiSortMeta[0];
            if (!groupRowsSortMeta) {
                groupRowsSortMeta = firstSortMeta;
                setGroupRowsSortMetaState(groupRowsSortMeta);
            }
            if (firstSortMeta.field !== groupRowsSortMeta.field) {
                multiSortMeta = [
                    groupRowsSortMeta
                ].concat(_toConsumableArray(multiSortMeta));
            }
        }
        var value = _toConsumableArray(data);
        if (columnSortable.current &amp;&amp; columnSortFunction.current) {
            var meta = multiSortMeta.find(function(meta) {
                return meta.field === columnField.current;
            });
            var field = columnField.current;
            var order = meta ? meta.order : props.defaultSortOrder;
            value = columnSortFunction.current({
                data: data,
                field: field,
                order: order,
                multiSortMeta: multiSortMeta
            });
        } else {
            var comparator = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.localeComparator(context &amp;&amp; context.locale || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"].locale */ .Ay.locale);
            value.sort(function(data1, data2) {
                return _multisortField(data1, data2, multiSortMeta, 0, comparator);
            });
        }
        return value;
    };
    var _multisortField = function multisortField(data1, data2, multiSortMeta, index, comparator) {
        if (!multiSortMeta || !multiSortMeta[index]) {
            return;
        }
        var value1 = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(data1, multiSortMeta[index].field);
        var value2 = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(data2, multiSortMeta[index].field);
        // check if they are equal handling dates and locales
        if (primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.compare(value1, value2, comparator) === 0) {
            return multiSortMeta.length - 1 &gt; index ? _multisortField(data1, data2, multiSortMeta, index + 1, comparator) : 0;
        }
        return compareValuesOnSort(value1, value2, comparator, multiSortMeta[index].order);
    };
    var onFilterChange = function onFilterChange(filters) {
        clearEditingMetaData();
        setD_filtersState(filters);
    };
    var onFilterApply = function onFilterApply(filtersToApply) {
        clearTimeout(filterTimeout.current);
        filterTimeout.current = setTimeout(function() {
            var filters = cloneFilters(filtersToApply || d_filtersState);
            if (props.onFilter) {
                props.onFilter(createEvent({
                    filters: filters
                }));
            } else {
                setFirstState(0);
                setFiltersState(filters);
            }
            if (props.onValueChange) {
                props.onValueChange(processedData({
                    filters: filters
                }));
            }
        }, props.filterDelay);
    };
    var getActiveFilters = function getActiveFilters(filters) {
        var removeEmptyFilters = function removeEmptyFilters(_ref) {
            var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1];
            if (value.constraints) {
                var filteredConstraints = value.constraints.filter(function(constraint) {
                    return constraint.value !== null;
                });
                if (filteredConstraints.length &gt; 0) {
                    return [
                        key,
                        _objectSpread(_objectSpread({}, value), {}, {
                            constraints: filteredConstraints
                        })
                    ];
                }
            } else if (value.value !== null) {
                return [
                    key,
                    value
                ];
            }
            return undefined;
        };
        var filterValidEntries = function filterValidEntries(entry) {
            return entry !== undefined;
        };
        var entries = Object.entries(filters).map(removeEmptyFilters).filter(filterValidEntries);
        return Object.fromEntries(entries);
    };
    var filterLocal = function filterLocal(data, filters) {
        if (!data) {
            return;
        }
        var activeFilters = filters ? getActiveFilters(filters) : {};
        var columns = getColumns();
        var filteredValue = [];
        var isGlobalFilter = activeFilters.global || props.globalFilter;
        var globalFilterFieldsArray;
        if (isGlobalFilter) {
            globalFilterFieldsArray = props.globalFilterFields || columns.filter(function(col) {
                return !getColumnProp(col, 'excludeGlobalFilter');
            }).map(function(col) {
                return getColumnProp(col, 'filterField') || getColumnProp(col, 'field');
            });
        }
        for(var i = 0; i &lt; data.length; i++){
            var localMatch = true;
            var globalMatch = false;
            var localFiltered = false;
            for(var prop in activeFilters){
                if (prop === 'null') {
                    continue;
                }
                if (Object.prototype.hasOwnProperty.call(activeFilters, prop) &amp;&amp; prop !== 'global') {
                    localFiltered = true;
                    var filterField = prop;
                    var filterMeta = activeFilters[filterField];
                    if (filterMeta.operator) {
                        for(var j = 0; j &lt; filterMeta.constraints.length; j++){
                            var filterConstraint = filterMeta.constraints[j];
                            localMatch = executeLocalFilter(filterField, data[i], filterConstraint, j);
                            if (filterMeta.operator === primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterOperator */ .tl.OR &amp;&amp; localMatch || filterMeta.operator === primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterOperator */ .tl.AND &amp;&amp; !localMatch) {
                                break;
                            }
                        }
                    } else {
                        localMatch = executeLocalFilter(filterField, data[i], filterMeta, 0);
                    }
                    if (!localMatch) {
                        break;
                    }
                }
            }
            if (localMatch &amp;&amp; isGlobalFilter &amp;&amp; !globalMatch &amp;&amp; globalFilterFieldsArray) {
                for(var _j = 0; _j &lt; globalFilterFieldsArray.length; _j++){
                    var globalFilterField = globalFilterFieldsArray[_j];
                    var matchMode = activeFilters.global ? activeFilters.global.matchMode : props.globalFilterMatchMode;
                    var value = activeFilters.global ? activeFilters.global.value : props.globalFilter;
                    globalMatch = primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterService */ .E.filters[matchMode](primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(data[i], globalFilterField), value, props.filterLocale);
                    if (globalMatch) {
                        break;
                    }
                }
            }
            var matches = void 0;
            if (isGlobalFilter) {
                matches = localFiltered ? localFiltered &amp;&amp; localMatch &amp;&amp; globalMatch : globalMatch;
            } else {
                matches = localFiltered &amp;&amp; localMatch;
            }
            if (matches) {
                filteredValue.push(data[i]);
            }
        }
        if (filteredValue.length === props.value.length || Object.keys(activeFilters).length === 0) {
            filteredValue = data;
        }
        return filteredValue;
    };
    var executeLocalFilter = function executeLocalFilter(field, rowData, filterMeta, index) {
        var filterValue = filterMeta.value;
        var filterMatchMode = filterMeta.matchMode === 'custom' ? "custom_".concat(field) : filterMeta.matchMode || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterMatchMode */ .Rn.STARTS_WITH;
        var dataFieldValue = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(rowData, field);
        var filterConstraint = primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterService */ .E.filters[filterMatchMode];
        return primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isFunction(filterConstraint) &amp;&amp; filterConstraint(dataFieldValue, filterValue, props.filterLocale, index);
    };
    var cloneFilters = function cloneFilters(filters) {
        filters = filters || props.filters;
        var cloned = {};
        if (filters) {
            Object.entries(filters).forEach(function(_ref3) {
                var _ref4 = _slicedToArray(_ref3, 2), prop = _ref4[0], value = _ref4[1];
                cloned[prop] = value.operator ? {
                    operator: value.operator,
                    constraints: value.constraints.map(function(constraint) {
                        return _objectSpread({}, constraint);
                    })
                } : _objectSpread({}, value);
            });
        } else {
            var _columns2 = getColumns();
            cloned = _columns2.reduce(function(filters, col) {
                var field = getColumnProp(col, 'filterField') || getColumnProp(col, 'field');
                var filterFunction = getColumnProp(col, 'filterFunction');
                var dataType = getColumnProp(col, 'dataType');
                var matchMode = getColumnProp(col, 'filterMatchMode') || (context &amp;&amp; context.filterMatchModeOptions[dataType] || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.filterMatchModeOptions[dataType] ? context &amp;&amp; context.filterMatchModeOptions[dataType][0] || primereact_api__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.filterMatchModeOptions[dataType][0] : primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterMatchMode */ .Rn.STARTS_WITH);
                var constraint = {
                    value: null,
                    matchMode: matchMode
                };
                if (filterFunction) {
                    primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterService */ .E.register("custom_".concat(field), function() {
                        for(var _len = arguments.length, args = new Array(_len), _key = 0; _key &lt; _len; _key++){
                            args[_key] = arguments[_key];
                        }
                        return filterFunction.apply(void 0, args.concat([
                            {
                                column: col
                            }
                        ]));
                    });
                }
                filters[field] = props.filterDisplay === 'menu' ? {
                    operator: primereact_api__WEBPACK_IMPORTED_MODULE_3__/* .FilterOperator */ .tl.AND,
                    constraints: [
                        constraint
                    ]
                } : constraint;
                return filters;
            }, {});
        }
        return cloned;
    };
    var filter = function filter(value, field, matchMode) {
        var index = arguments.length &gt; 3 &amp;&amp; arguments[3] !== undefined ? arguments[3] : 0;
        var filters = _objectSpread({}, d_filtersState);
        var meta = filters[field];
        var constraint = meta &amp;&amp; meta.operator ? meta.constraints[index] : meta;
        constraint = meta ? {
            value: value,
            matchMode: matchMode || constraint.matchMode
        } : {
            value: value,
            matchMode: matchMode
        };
        props.filterDisplay === 'menu' &amp;&amp; meta &amp;&amp; meta.operator ? filters[field].constraints[index] = constraint : filters[field] = constraint;
        setD_filtersState(filters);
        onFilterApply(filters);
    };
    var reset = function reset() {
        setD_rowsState(props.rows);
        setD_filtersState(cloneFilters(props.filters));
        setGroupRowsSortMetaState(null);
        setEditingMetaState({});
        if (!props.onPage) {
            setFirstState(props.first);
            setRowsState(props.rows);
        }
        if (!props.onSort) {
            setSortFieldState(props.sortField);
            setSortOrderState(props.sortOrder);
            setMultiSortMetaState(props.multiSortMeta);
        }
        if (!props.onFilter) {
            setFiltersState(props.filters);
        }
        resetColumnOrder();
    };
    var resetScroll = function resetScroll() {
        if (wrapperRef.current) {
            var scrollableContainer = !isVirtualScrollerDisabled() ? primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.findSingle(wrapperRef.current, '[data-pc-name="virtualscroller"]') : wrapperRef.current;
            scrollableContainer.scrollTo(0, 0);
        }
    };
    var resetResizeColumnsWidth = function resetResizeColumnsWidth() {
        destroyStyleElement();
    };
    var resetColumnOrder = function resetColumnOrder() {
        var columns = getColumns(true);
        var columnOrder = [];
        if (columns) {
            columnOrder = columns.reduce(function(orders, col) {
                orders.push(getColumnProp(col, 'columnKey') || getColumnProp(col, 'field'));
                return orders;
            }, []);
        }
        setColumnOrderState(columnOrder);
    };
    var exportCSV = function exportCSV(options) {
        var data;
        var csv = "\uFEFF";
        var columns = getColumns();
        if (options &amp;&amp; options.selectionOnly) {
            data = props.selection || [];
        } else {
            data = [].concat(_toConsumableArray(props.frozenValue || []), _toConsumableArray(processedData() || []));
        }
        //headers
        columns.forEach(function(column, i) {
            var _ref5 = [
                getColumnProp(column, 'field'),
                getColumnProp(column, 'header'),
                getColumnProp(column, 'exportHeader'),
                getColumnProp(column, 'exportable')
            ], field = _ref5[0], header = _ref5[1], exportHeader = _ref5[2], exportable = _ref5[3];
            if (exportable &amp;&amp; field) {
                var columnHeader = String(exportHeader || header || field).replace(/"/g, '""').replace(/\n/g, "\u2028");
                csv = csv + ('"' + columnHeader + '"');
                if (i &lt; columns.length - 1) {
                    csv = csv + props.csvSeparator;
                }
            }
        });
        //body
        data.forEach(function(record) {
            csv = csv + '\n';
            columns.forEach(function(column, i) {
                var _ref6 = [
                    getColumnProp(column, 'field'),
                    getColumnProp(column, 'exportField'),
                    getColumnProp(column, 'exportable')
                ], colField = _ref6[0], exportField = _ref6[1], exportable = _ref6[2];
                var field = exportField || colField;
                if (exportable &amp;&amp; field) {
                    var cellData = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.resolveFieldData(record, field);
                    if (cellData != null) {
                        if (props.exportFunction) {
                            cellData = props.exportFunction({
                                data: cellData,
                                field: field,
                                rowData: record,
                                column: column
                            });
                        } else {
                            cellData = String(cellData).replace(/"/g, '""').replace(/\n/g, "\u2028");
                        }
                    } else {
                        cellData = '';
                    }
                    csv = csv + ('"' + cellData + '"');
                    if (i &lt; columns.length - 1) {
                        csv = csv + props.csvSeparator;
                    }
                }
            });
        });
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.exportCSV(csv, props.exportFilename);
    };
    var closeEditingCell = function closeEditingCell() {
        if (props.editMode !== 'row') {
            document.body.click();
        }
    };
    var closeEditingRows = function closeEditingRows() {
        primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .DomHandler */ .DV.find(document.body, '[data-pc-section="roweditorcancelbuttonprops"]').forEach(function(button, index) {
            setTimeout(function() {
                button.click();
            }, index * 5);
        });
    };
    var createEvent = function createEvent(event) {
        return _objectSpread({
            first: getFirst(),
            rows: getRows(),
            sortField: getSortField(),
            sortOrder: getSortOrder(),
            multiSortMeta: getMultiSortMeta(),
            filters: getFilters()
        }, event);
    };
    var processedData = function processedData(localState) {
        var data = props.value || [];
        if (!props.lazy) {
            if (data &amp;&amp; data.length) {
                var filters = localState &amp;&amp; localState.filters || getFilters();
                var sortField = localState &amp;&amp; localState.sortField || getSortField();
                var sortOrder = localState &amp;&amp; localState.sortOrder || getSortOrder();
                var multiSortMeta = localState &amp;&amp; localState.multiSortMeta || getMultiSortMeta();
                var _columns3 = getColumns();
                var sortColumn = _columns3.find(function(col) {
                    return getColumnProp(col, 'field') === sortField;
                });
                if (sortColumn) {
                    columnSortable.current = getColumnProp(sortColumn, 'sortable');
                    columnSortFunction.current = getColumnProp(sortColumn, 'sortFunction');
                }
                if (primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(filters) || props.globalFilter) {
                    data = filterLocal(data, filters);
                }
                if (sortField || primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(multiSortMeta)) {
                    if (props.sortMode === 'single') {
                        data = sortSingle(data, sortField, sortOrder);
                    } else if (props.sortMode === 'multiple') {
                        data = sortMultiple(data, multiSortMeta);
                    }
                }
            }
        }
        return data;
    };
    var dataToRender = function dataToRender(data) {
        if (data &amp;&amp; props.paginator) {
            var first = props.lazy ? 0 : getFirst();
            return data.slice(first, first + getRows());
        }
        return data;
    };
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useMountEffect */ .uU)(function() {
        if (elementRef.current) {
            attributeSelector.current = (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .UniqueComponentId */ ._Y)();
            elementRef.current.setAttribute(attributeSelector.current, '');
        }
        //setFiltersState(cloneFilters(props.filters)); // Github #4248
        setD_filtersState(cloneFilters(props.filters));
        if (isStateful()) {
            restoreState();
            if (props.resizableColumns) {
                restoreColumnWidths();
            }
        }
    });
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUpdateEffect */ .w5)(function() {
        if (props.responsiveLayout === 'stack' &amp;&amp; !props.scrollable) {
            createResponsiveStyle();
        }
        return function() {
            destroyResponsiveStyle();
        };
    }, [
        props.breakpoint
    ]);
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUpdateEffect */ .w5)(function() {
        var filters = cloneFilters(props.filters);
        setFiltersState(filters);
        setD_filtersState(cloneFilters(props.filters));
        if (props.onValueChange) {
            props.onValueChange(processedData({
                filters: filters
            }));
        }
    }, [
        props.filters
    ]);
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUpdateEffect */ .w5)(function() {
        if (isStateful()) {
            saveState();
        }
    });
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUpdateEffect */ .w5)(function() {
        destroyResponsiveStyle();
        if (props.responsiveLayout === 'stack' &amp;&amp; !props.scrollable) {
            createResponsiveStyle();
        }
    }, [
        props.responsiveLayout,
        props.scrollable
    ]);
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUpdateEffect */ .w5)(function() {
        if (props.globalFilter) {
            filter(props.globalFilter, 'global', props.globalFilterMatchMode);
        } else {
            // #3819 was filtering but now reset filter state
            if (d_filtersState['global']) {
                var filters = _objectSpread({}, d_filtersState);
                delete filters['global'];
                setD_filtersState(filters);
                onFilterApply(filters);
            }
        }
    }, [
        props.globalFilter,
        props.globalFilterMatchMode
    ]);
    (0,primereact_hooks__WEBPACK_IMPORTED_MODULE_4__/* .useUnmountEffect */ .l0)(function() {
        unbindColumnResizeEvents();
        destroyStyleElement();
        destroyResponsiveStyle();
        destroyBeforeResizeStyleElement();
    });
    react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle(ref, function() {
        return {
            props: props,
            clearState: clearState,
            closeEditingCell: closeEditingCell,
            closeEditingRows: closeEditingRows,
            exportCSV: exportCSV,
            filter: filter,
            reset: reset,
            resetColumnOrder: resetColumnOrder,
            resetScroll: resetScroll,
            resetResizeColumnsWidth: resetResizeColumnsWidth,
            restoreColumnWidths: restoreColumnWidths,
            restoreState: restoreState,
            restoreTableState: restoreTableState,
            saveState: saveState,
            getFilterMeta: function getFilterMeta() {
                return filtersState;
            },
            setFilterMeta: function setFilterMeta(filters) {
                return setFiltersState(filters);
            },
            getSortMeta: function getSortMeta() {
                return multiSortMetaState;
            },
            setSortMeta: function setSortMeta(sorts) {
                return setMultiSortMetaState(sorts);
            },
            getElement: function getElement() {
                return elementRef.current;
            },
            getTable: function getTable() {
                return tableRef.current;
            },
            getVirtualScroller: function getVirtualScroller() {
                return virtualScrollerRef.current;
            }
        };
    });
    var createLoader = function createLoader() {
        if (props.loading) {
            var loadingIconProps = mergeProps({
                className: ptCallbacks.cx('loadingIcon')
            }, ptCallbacks.ptm('loadingIcon'));
            var icon = props.loadingIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_spinner__WEBPACK_IMPORTED_MODULE_26__/* .SpinnerIcon */ .N, _extends({}, loadingIconProps, {
                spin: true
            }));
            var loadingIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(icon, _objectSpread({}, loadingIconProps), {
                props: props
            });
            var loadingOverlayProps = mergeProps({
                className: ptCallbacks.cx('loadingOverlay')
            }, ptCallbacks.ptm('loadingOverlay'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", loadingOverlayProps, loadingIcon);
        }
        return null;
    };
    var createHeader = function createHeader() {
        if (props.header) {
            var _content = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(props.header, {
                props: props
            });
            var headerProps = mergeProps({
                className: ptCallbacks.cx('header')
            }, ptCallbacks.ptm('header'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", headerProps, _content);
        }
        return null;
    };
    var createTableHeader = function createTableHeader(options, empty, _isVirtualScrollerDisabled) {
        if (props.showHeaders === false) {
            return null;
        }
        var sortField = getSortField();
        var sortOrder = getSortOrder();
        var multiSortMeta = _toConsumableArray(getMultiSortMeta());
        var groupRowSortField = getGroupRowSortField();
        var filters = d_filtersState;
        var filtersStore = !props.onFilter &amp;&amp; props.filters || getFilters();
        var processedData = options.items, virtualScrollerProps = options.props, columns = options.columns;
        var data = _isVirtualScrollerDisabled || virtualScrollerProps.lazy ? processedData : virtualScrollerProps.items;
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(TableHeader, {
            hostName: "DataTable",
            value: data,
            tableProps: props,
            columns: columns,
            tabIndex: props.tabIndex,
            empty: empty,
            headerColumnGroup: props.headerColumnGroup,
            resizableColumns: props.resizableColumns,
            onColumnResizeStart: onColumnResizeStart,
            onColumnResizerClick: props.onColumnResizerClick,
            onColumnResizerDoubleClick: props.onColumnResizerDoubleClick,
            sortMode: props.sortMode,
            sortField: sortField,
            sortIcon: props.sortIcon,
            sortOrder: sortOrder,
            multiSortMeta: multiSortMeta,
            groupRowsBy: props.groupRowsBy,
            groupRowSortField: groupRowSortField,
            onSortChange: onSortChange,
            filterDisplay: props.filterDisplay,
            filters: filters,
            filtersStore: filtersStore,
            filterIcon: props.filterIcon,
            filterClearIcon: props.filterClearIcon,
            onFilterChange: onFilterChange,
            onFilterApply: onFilterApply,
            showSelectAll: props.showSelectAll,
            allRowsSelected: allRowsSelected,
            onColumnCheckboxChange: onColumnHeaderCheckboxChange,
            onColumnMouseDown: onColumnHeaderMouseDown,
            onColumnDragStart: onColumnHeaderDragStart,
            onColumnDragOver: onColumnHeaderDragOver,
            onColumnDragLeave: onColumnHeaderDragLeave,
            onColumnDrop: onColumnHeaderDrop,
            rowGroupMode: props.rowGroupMode,
            reorderableColumns: props.reorderableColumns,
            ptCallbacks: ptCallbacks,
            metaData: metaData,
            unstyled: props.unstyled
        });
    };
    var createTableBody = function createTableBody(options, selectionModeInColumn, empty, isVirtualScrollerDisabled, processedData) {
        var first = getFirst();
        var rows = options.rows, columns = options.columns, contentRef = options.contentRef, style = options.style, className = options.className, spacerStyle = options.spacerStyle, itemSize = options.itemSize;
        var frozenBody = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(props.frozenValue) &amp;&amp; /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(TableBody, {
            hostName: "DataTable",
            ref: frozenBodyRef,
            cellClassName: props.cellClassName,
            cellSelection: props.cellSelection,
            checkIcon: props.checkIcon,
            className: "p-datatable-tbody p-datatable-frozen-tbody",
            collapsedRowIcon: props.collapsedRowIcon,
            columns: columns,
            compareSelectionBy: props.compareSelectionBy,
            contextMenuSelection: props.contextMenuSelection,
            dataKey: props.dataKey,
            dragSelection: props.dragSelection,
            editMode: props.editMode,
            editingMeta: editingMetaState,
            editingRows: props.editingRows,
            emptyMessage: props.emptyMessage,
            expandableRowGroups: props.expandableRowGroups,
            expandedRowIcon: props.expandedRowIcon,
            expandedRows: props.expandedRows,
            first: first,
            frozenRow: true,
            groupRowsBy: props.groupRowsBy,
            isDataSelectable: props.isDataSelectable,
            isVirtualScrollerDisabled: true,
            lazy: props.lazy,
            loading: props.loading,
            metaKeySelection: props.metaKeySelection,
            onCellClick: props.onCellClick,
            onCellSelect: props.onCellSelect,
            onCellUnselect: props.onCellUnselect,
            onContextMenu: props.onContextMenu,
            onContextMenuSelectionChange: props.onContextMenuSelectionChange,
            onEditingMetaChange: onEditingMetaChange,
            onRowClick: props.onRowClick,
            onRowCollapse: props.onRowCollapse,
            onRowDoubleClick: props.onRowDoubleClick,
            onRowPointerDown: props.onRowPointerDown,
            onRowPointerUp: props.onRowPointerUp,
            onRowEditCancel: props.onRowEditCancel,
            onRowEditChange: props.onRowEditChange,
            onRowEditComplete: props.onRowEditComplete,
            onRowEditInit: props.onRowEditInit,
            onRowEditSave: props.onRowEditSave,
            onRowExpand: props.onRowExpand,
            onRowMouseEnter: props.onRowMouseEnter,
            onRowMouseLeave: props.onRowMouseLeave,
            onRowReorder: props.onRowReorder,
            onRowSelect: props.onRowSelect,
            onRowToggle: props.onRowToggle,
            onRowUnselect: props.onRowUnselect,
            onSelectionChange: props.onSelectionChange,
            paginator: props.paginator,
            processedData: processedData,
            reorderableRows: props.reorderableRows,
            responsiveLayout: props.responsiveLayout,
            rowClassName: props.rowClassName,
            rowEditValidator: props.rowEditValidator,
            rowEditorCancelIcon: props.rowEditorCancelIcon,
            rowEditorInitIcon: props.rowEditorInitIcon,
            rowEditorSaveIcon: props.rowEditorSaveIcon,
            rowExpansionTemplate: props.rowExpansionTemplate,
            rowGroupFooterTemplate: props.rowGroupFooterTemplate,
            rowGroupHeaderTemplate: props.rowGroupHeaderTemplate,
            rowGroupMode: props.rowGroupMode,
            scrollable: props.scrollable,
            selectOnEdit: props.selectOnEdit,
            selection: props.selection,
            selectionAutoFocus: props.selectionAutoFocus,
            selectionMode: props.selectionMode,
            selectionModeInColumn: selectionModeInColumn,
            showRowReorderElement: props.showRowReorderElement,
            showSelectionElement: props.showSelectionElement,
            tabIndex: props.tabIndex,
            tableProps: props,
            tableSelector: attributeSelector.current,
            value: props.frozenValue,
            virtualScrollerOptions: options,
            ptCallbacks: ptCallbacks,
            metaData: metaData,
            unstyled: props.unstyled
        });
        var body = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(TableBody, {
            hostName: "DataTable",
            ref: bodyRef,
            cellClassName: props.cellClassName,
            cellSelection: props.cellSelection,
            checkIcon: props.checkIcon,
            className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)('p-datatable-tbody', className),
            collapsedRowIcon: props.collapsedRowIcon,
            columns: columns,
            compareSelectionBy: props.compareSelectionBy,
            contextMenuSelection: props.contextMenuSelection,
            dataKey: props.dataKey,
            dragSelection: props.dragSelection,
            editMode: props.editMode,
            editingMeta: editingMetaState,
            editingRows: props.editingRows,
            empty: empty,
            emptyMessage: props.emptyMessage,
            expandableRowGroups: props.expandableRowGroups,
            expandedRowIcon: props.expandedRowIcon,
            expandedRows: props.expandedRows,
            first: first,
            frozenRow: false,
            groupRowsBy: props.groupRowsBy,
            isDataSelectable: props.isDataSelectable,
            isVirtualScrollerDisabled: isVirtualScrollerDisabled,
            lazy: props.lazy,
            loading: props.loading,
            metaKeySelection: props.metaKeySelection,
            onCellClick: props.onCellClick,
            onCellSelect: props.onCellSelect,
            onCellUnselect: props.onCellUnselect,
            onContextMenu: props.onContextMenu,
            onContextMenuSelectionChange: props.onContextMenuSelectionChange,
            onEditingMetaChange: onEditingMetaChange,
            onRowClick: props.onRowClick,
            onRowCollapse: props.onRowCollapse,
            onRowDoubleClick: props.onRowDoubleClick,
            onRowEditCancel: props.onRowEditCancel,
            onRowEditChange: props.onRowEditChange,
            onRowEditComplete: props.onRowEditComplete,
            onRowEditInit: props.onRowEditInit,
            onRowEditSave: props.onRowEditSave,
            onRowExpand: props.onRowExpand,
            onRowMouseEnter: props.onRowMouseEnter,
            onRowMouseLeave: props.onRowMouseLeave,
            onRowPointerDown: props.onRowPointerDown,
            onRowPointerUp: props.onRowPointerUp,
            onRowReorder: props.onRowReorder,
            onRowSelect: props.onRowSelect,
            onRowToggle: props.onRowToggle,
            onRowUnselect: props.onRowUnselect,
            onSelectionChange: props.onSelectionChange,
            paginator: props.paginator,
            processedData: processedData,
            reorderableRows: props.reorderableRows,
            responsiveLayout: props.responsiveLayout,
            rowClassName: props.rowClassName,
            rowEditValidator: props.rowEditValidator,
            rowEditorCancelIcon: props.rowEditorCancelIcon,
            rowEditorInitIcon: props.rowEditorInitIcon,
            rowEditorSaveIcon: props.rowEditorSaveIcon,
            rowExpansionTemplate: props.rowExpansionTemplate,
            rowGroupFooterTemplate: props.rowGroupFooterTemplate,
            rowGroupHeaderTemplate: props.rowGroupHeaderTemplate,
            rowGroupMode: props.rowGroupMode,
            scrollable: props.scrollable,
            selectOnEdit: props.selectOnEdit,
            selection: props.selection,
            selectionAutoFocus: props.selectionAutoFocus,
            selectionMode: props.selectionMode,
            selectionModeInColumn: selectionModeInColumn,
            showRowReorderElement: props.showRowReorderElement,
            showSelectionElement: props.showSelectionElement,
            style: style,
            tabIndex: props.tabIndex,
            tableProps: props,
            tableSelector: attributeSelector.current,
            value: dataToRender(rows),
            virtualScrollerContentRef: contentRef,
            virtualScrollerOptions: options,
            ptCallbacks: ptCallbacks,
            metaData: metaData,
            unstyled: props.unstyled
        });
        var spacerBody = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isNotEmpty(spacerStyle) ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(TableBody, {
            hostName: "DataTable",
            style: {
                height: "calc(".concat(spacerStyle.height, " - ").concat(rows.length * itemSize, "px)")
            },
            className: "p-datatable-virtualscroller-spacer",
            ptCallbacks: ptCallbacks,
            metaData: metaData,
            unstyled: props.unstyled
        }) : null;
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, frozenBody, body, spacerBody);
    };
    var createTableFooter = function createTableFooter(options) {
        var columns = options.columns;
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(TableFooter, {
            hostName: "DataTable",
            tableProps: props,
            columns: columns,
            footerColumnGroup: props.footerColumnGroup,
            ptCallbacks: ptCallbacks,
            metaData: metaData,
            unstyled: props.unstyled
        });
    };
    var createContent = function createContent(processedData, columns, selectionModeInColumn, empty) {
        if (!columns) {
            return;
        }
        var _isVirtualScrollerDisabled = isVirtualScrollerDisabled();
        var virtualScrollerOptions = props.virtualScrollerOptions || {};
        var wrapperProps = mergeProps({
            className: ptCallbacks.cx('wrapper'),
            style: _objectSpread(_objectSpread({}, ptCallbacks.sx('wrapper')), {}, {
                maxHeight: _isVirtualScrollerDisabled ? props.scrollHeight : null
            })
        }, ptCallbacks.ptm('wrapper'));
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", _extends({
            ref: wrapperRef
        }, wrapperProps), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_virtualscroller__WEBPACK_IMPORTED_MODULE_27__/* .VirtualScroller */ .w, _extends({
            ref: virtualScrollerRef
        }, virtualScrollerOptions, {
            items: processedData,
            columns: columns,
            style: _objectSpread(_objectSpread({}, virtualScrollerOptions.style), {
                height: props.scrollHeight !== 'flex' ? props.scrollHeight : undefined
            }),
            scrollHeight: props.scrollHeight !== 'flex' ? undefined : '100%',
            disabled: _isVirtualScrollerDisabled,
            loaderDisabled: true,
            inline: true,
            autoSize: true,
            pt: ptCallbacks.ptm('virtualScroller'),
            __parentMetadata: {
                parent: metaData
            },
            showSpacer: false,
            unstyled: props.unstyled,
            contentTemplate: function contentTemplate(options) {
                var ref = function ref(el) {
                    tableRef.current = el;
                    options.spacerRef &amp;&amp; options.spacerRef(el);
                };
                var tableHeader = createTableHeader(options, empty, _isVirtualScrollerDisabled);
                var tableBody = createTableBody(options, selectionModeInColumn, empty, _isVirtualScrollerDisabled, processedData);
                var tableFooter = createTableFooter(options);
                var tableProps = mergeProps({
                    className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(props.tableClassName, ptCallbacks.cx('table')),
                    style: props.tableStyle,
                    role: 'table'
                }, ptCallbacks.ptm('table'));
                return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("table", _extends({
                    ref: ref
                }, tableProps), tableHeader, tableBody, tableFooter);
            }
        })));
    };
    var createFooter = function createFooter() {
        if (props.footer) {
            var _content2 = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.getJSXElement(props.footer, {
                props: props
            });
            var footerProps = mergeProps({
                className: ptCallbacks.cx('footer')
            }, ptCallbacks.ptm('footer'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", footerProps, _content2);
        }
        return null;
    };
    var createPaginator = function createPaginator(position, totalRecords) {
        return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_paginator__WEBPACK_IMPORTED_MODULE_28__/* .Paginator */ .m, {
            first: getFirst(),
            rows: getRows(),
            pageLinkSize: props.pageLinkSize,
            className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(props.paginatorClassName, ptCallbacks.cx('paginator', {
                position: position
            })),
            onPageChange: onPageChange,
            template: props.paginatorTemplate,
            totalRecords: totalRecords,
            rowsPerPageOptions: props.rowsPerPageOptions,
            currentPageReportTemplate: props.currentPageReportTemplate,
            leftContent: props.paginatorLeft,
            rightContent: props.paginatorRight,
            alwaysShow: props.alwaysShowPaginator,
            dropdownAppendTo: props.paginatorDropdownAppendTo,
            pt: ptCallbacks.ptm('paginator'),
            unstyled: props.unstyled,
            __parentMetadata: {
                parent: metaData
            }
        });
    };
    var createPaginatorTop = function createPaginatorTop(totalRecords) {
        if (props.paginator &amp;&amp; props.paginatorPosition !== 'bottom') {
            return createPaginator('top', totalRecords);
        }
        return null;
    };
    var createPaginatorBottom = function createPaginatorBottom(totalRecords) {
        if (props.paginator &amp;&amp; props.paginatorPosition !== 'top') {
            return createPaginator('bottom', totalRecords);
        }
        return null;
    };
    var createResizeHelper = function createResizeHelper() {
        if (props.resizableColumns) {
            var resizeHelperProps = mergeProps({
                className: ptCallbacks.cx('resizeHelper'),
                style: ptCallbacks.sx('resizeHelper')
            }, ptCallbacks.ptm('resizeHelper'));
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", _extends({
                ref: resizeHelperRef
            }, resizeHelperProps));
        }
        return null;
    };
    var createReorderIndicators = function createReorderIndicators() {
        if (props.reorderableColumns) {
            var style = {
                position: 'absolute',
                display: 'none'
            };
            var reorderIndicatorUpProps = mergeProps({
                className: ptCallbacks.cx('reorderIndicatorUp'),
                style: ptCallbacks.sx('reorderIndicatorUp', {
                    style: style
                })
            }, ptCallbacks.ptm('reorderIndicatorUp'));
            var reorderIndicatorUpIconProps = mergeProps(ptCallbacks.ptm('reorderIndicatorUpIcon'));
            var reorderIndicatorUpIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(props.reorderIndicatorUpIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_arrowdown__WEBPACK_IMPORTED_MODULE_29__/* .ArrowDownIcon */ .Z, reorderIndicatorUpIconProps), _objectSpread({}, reorderIndicatorUpIconProps), {
                props: props
            });
            var reorderIndicatorDownProps = mergeProps({
                className: ptCallbacks.cx('reorderIndicatorDown'),
                style: ptCallbacks.sx('reorderIndicatorDown', {
                    style: style
                })
            }, ptCallbacks.ptm('reorderIndicatorDown'));
            var reorderIndicatorDownIconProps = mergeProps(ptCallbacks.ptm('reorderIndicatorDownIcon'));
            var reorderIndicatorDownIcon = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .IconUtils */ .Hj.getJSXIcon(props.reorderIndicatorDownIcon || /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(primereact_icons_arrowup__WEBPACK_IMPORTED_MODULE_30__/* .ArrowUpIcon */ .K, reorderIndicatorDownIconProps), _objectSpread({}, reorderIndicatorDownIconProps), {
                props: props
            });
            return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", _extends({
                ref: reorderIndicatorUpRef
            }, reorderIndicatorUpProps), reorderIndicatorUpIcon), /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", _extends({
                ref: reorderIndicatorDownRef
            }, reorderIndicatorDownProps), reorderIndicatorDownIcon));
        }
        return null;
    };
    var data = processedData();
    var columns = getColumns();
    var totalRecords = getTotalRecords(data);
    var empty = primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .ObjectUtils */ .BF.isEmpty(data);
    var selectionModeInColumn = getSelectionModeInColumn(columns);
    var selectable = props.selectionMode || selectionModeInColumn;
    var loader = createLoader();
    var header = createHeader();
    var paginatorTop = createPaginatorTop(totalRecords);
    var content = createContent(data, columns, selectionModeInColumn, empty);
    var paginatorBottom = createPaginatorBottom(totalRecords);
    var footer = createFooter();
    var resizeHelper = createResizeHelper();
    var reorderIndicators = createReorderIndicators();
    var rootProps = mergeProps({
        id: props.id,
        className: (0,primereact_utils__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .xW)(props.className, ptCallbacks.cx('root', {
            selectable: selectable
        })),
        style: props.style,
        'data-scrollselectors': '.p-datatable-wrapper',
        'data-showgridlines': props.showGridlines
    }, DataTableBase.getOtherProps(props), ptCallbacks.ptm('root'));
    return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", _extends({
        ref: elementRef
    }, rootProps), loader, header, paginatorTop, content, paginatorBottom, footer, resizeHelper, reorderIndicators);
});
DataTable.displayName = 'DataTable';



/***/ })

}]);
//# sourceMappingURL=131c4705-d8593300efa3cbce.js.map</pre></body></html>