export var propsTableData = [
    {
        propName: "columns",
        type: "ColumnDef<T>[]",
        description: "An array of column definitions for the table.",
        isRequired: true,
    },
    {
        propName: "data",
        type: "TableOption<T>[]",
        description: "An array of data rows to display in the table.",
        isRequired: true,
    },
    {
        propName: "tableName",
        type: "string",
        description: "A unique name for the table.",
        isRequired: true,
    },
    {
        propName: "disableCrud",
        type: "boolean",
        defaultValue: "false",
        description: "Disable CRUD (Create, Read, Update, Delete) operations on the table. Explicitly add this to disable CRUD operations",
    },
    {
        propName: "crudOptions",
        type: "CrudOptions<T>",
        description: "Props related to CRUD operations on the table. (Please refer to below snippet for more details of its types.)",
    },
    {
        propName: "disablePagination",
        type: "boolean",
        defaultValue: "false",
        description: "Disables pagination for the table.",
    },
    {
        propName: "setTableConfig",
        type: "(values: TableConfigData<T>) => void",
        description: "A function to set table configuration values. You have to pass this to table if you have to do manual pagination",
    },
    {
        propName: "totalRecords",
        type: "number",
        description: "The total number of records in the table. (manualPagination is enabled)",
    },
    {
        propName: "renderDetailPanel",
        type: "(row: T) => ReactNode",
        description: "A function to render a detail panel for a row in the table.",
    },
    {
        propName: "rowActionsPosition",
        type: '"start" | "end"',
        defaultValue: '"end"',
        description: "Position of row actions in the table (start or end).",
    },
    {
        propName: "rowActionMenuItems",
        type: "RowActionMenuItem<T>[]",
        description: "Renders given menu items in row action menu. Items are rendered above CRUD menu items. Pass an array of action items consisting of action name, icon and onClick callback",
    },
    {
        propName: "onDoubleClickRow",
        type: "(row: T) => void",
        description: "Function to trigger some event on double click of row",
    },
    {
        propName: "hideOuterBorder",
        type: "boolean",
        defaultValue: "false",
        description: "Flag to Hide the outer border of the table.",
    },
    {
        propName: "tableOptions",
        type: "Partial<TableOptions<T>>",
        description: "Additional options for configuring the table appearance and behavior.",
    },
    {
        propName: "isLoading",
        type: "boolean",
        defaultValue: "false",
        description: "Indicates whether the table is in a loading state.",
    },
    {
        propName: "reloadFn",
        type: "() => void",
        description: "A function to reload or refresh the table data.",
    },
    {
        propName: "EmptyStateComponent",
        type: "ReactNode",
        description: "A custom component to display when the table is empty.",
    },
    {
        propName: "debugRows",
        type: "boolean",
        defaultValue: "false",
        description: "Enable debugging mode for table rows. It will print the table data to console.",
    },
];
