import React from "react"; import { getInjectionToken } from "@ogre-tools/injectable"; import type { KubeObject } from "@k8slens/kube-object/src/kube-object"; import type { BaseKubeObjectListLayoutColumn, GeneralKubeObjectListLayoutColumn, SpecificKubeListLayoutColumn, } from "@k8slens/list-layout/src/kube-list-layout-column"; export interface TableDataContextValue { columns?: ( | BaseKubeObjectListLayoutColumn | SpecificKubeListLayoutColumn | GeneralKubeObjectListLayoutColumn )[]; } export const TableDataContext = React.createContext({ columns: [], }); export type CreateTableState = (context: TableDataContextValue, props: Props) => any; export const createTableStateInjectionToken = getInjectionToken>({ id: "create-table-state-injection-token", }); export const tableComponentInjectionToken = getInjectionToken>({ id: "table-component-injection-token", });