diff --git a/docs/sources/developers/kinds/composable/table/panelcfg/schema-reference.md b/docs/sources/developers/kinds/composable/table/panelcfg/schema-reference.md
index 1dfa68a3022..6ec9c79f28b 100644
--- a/docs/sources/developers/kinds/composable/table/panelcfg/schema-reference.md
+++ b/docs/sources/developers/kinds/composable/table/panelcfg/schema-reference.md
@@ -18,9 +18,287 @@ title: TablePanelCfg kind
-| Property | Type | Required | Default | Description |
-|-----------|--------------------|----------|---------|-------------|
-| `Options` | [object](#options) | **Yes** | | |
+| Property | Type | Required | Default | Description |
+|---------------|------------------------|----------|---------|-------------|
+| `FieldConfig` | [object](#fieldconfig) | **Yes** | | |
+| `Options` | [object](#options) | **Yes** | | |
+
+### FieldConfig
+
+| Property | Type | Required | Default | Description |
+|---------------|---------------------------------------|----------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `align` | string | **Yes** | | TODO -- should not be table specific!
TODO docs
Possible values are: `auto`, `left`, `right`, `center`. |
+| `cellOptions` | [TableCellOptions](#tablecelloptions) | **Yes** | | Table cell options. Each cell has a display mode
and other potential options for that display. |
+| `inspect` | boolean | **Yes** | `false` | |
+| `displayMode` | string | No | | Internally, this is the "type" of cell that's being displayed
in the table such as colored text, JSON, gauge, etc.
The color-background-solid, gradient-gauge, and lcd-gauge
modes are deprecated in favor of new cell subOptions
Possible values are: `auto`, `color-text`, `color-background`, `color-background-solid`, `gradient-gauge`, `lcd-gauge`, `json-view`, `basic`, `image`, `gauge`, `sparkline`, `custom`. |
+| `filterable` | boolean | No | | |
+| `hidden` | boolean | No | | |
+| `hideHeader` | boolean | No | | Hides any header for a column, useful for columns that show some static content or buttons. |
+| `minWidth` | number | No | | |
+| `width` | number | No | | |
+
+### TableCellOptions
+
+Table cell options. Each cell has a display mode
+and other potential options for that display.
+
+| Property | Type | Required | Default | Description |
+|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------|-------------|
+| `object` | Possible types are: [TableAutoCellOptions](#tableautocelloptions), [TableSparklineCellOptions](#tablesparklinecelloptions), [TableBarGaugeCellOptions](#tablebargaugecelloptions), [TableColoredBackgroundCellOptions](#tablecoloredbackgroundcelloptions), [TableColorTextCellOptions](#tablecolortextcelloptions), [TableImageCellOptions](#tableimagecelloptions), [TableJsonViewCellOptions](#tablejsonviewcelloptions). | | |
+
+### GraphThresholdsStyleConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|----------|--------|----------|---------|-----------------------------------------------------------------------------------------------------------|
+| `mode` | string | **Yes** | | TODO docs
Possible values are: `off`, `line`, `dashed`, `area`, `line+area`, `dashed+area`, `series`. |
+
+### HideSeriesConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|-----------|---------|----------|---------|-------------|
+| `legend` | boolean | **Yes** | | |
+| `tooltip` | boolean | **Yes** | | |
+| `viz` | boolean | **Yes** | | |
+
+### LineStyle
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|----------|----------|----------|---------|--------------------------------------------------------|
+| `dash` | number[] | No | | |
+| `fill` | string | No | | Possible values are: `solid`, `dash`, `dot`, `square`. |
+
+### ScaleDistributionConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|-------------------|--------|----------|---------|--------------------------------------------------------------------------|
+| `type` | string | **Yes** | | TODO docs
Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
+| `linearThreshold` | number | No | | |
+| `log` | number | No | | |
+
+### StackingConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|----------|--------|----------|---------|-----------------------------------------------------------------|
+| `group` | string | No | | |
+| `mode` | string | No | | TODO docs
Possible values are: `none`, `normal`, `percent`. |
+
+### TableAutoCellOptions
+
+Auto mode table cell options
+
+| Property | Type | Required | Default | Description |
+|----------|--------|----------|---------|-------------|
+| `type` | string | **Yes** | | |
+
+### TableBarGaugeCellOptions
+
+Gauge cell options
+
+| Property | Type | Required | Default | Description |
+|--------------------|--------|----------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------|
+| `type` | string | **Yes** | | |
+| `mode` | string | No | | Enum expressing the possible display modes
for the bar gauge component of Grafana UI
Possible values are: `basic`, `lcd`, `gradient`. |
+| `valueDisplayMode` | string | No | | Allows for the table cell gauge display type to set the gauge mode.
Possible values are: `color`, `text`, `hidden`. |
+
+### TableColorTextCellOptions
+
+Colored text cell options
+
+| Property | Type | Required | Default | Description |
+|----------|--------|----------|---------|-------------|
+| `type` | string | **Yes** | | |
+
+### TableColoredBackgroundCellOptions
+
+Colored background cell options
+
+| Property | Type | Required | Default | Description |
+|----------|--------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `type` | string | **Yes** | | |
+| `mode` | string | No | | Display mode to the "Colored Background" display
mode for table cells. Either displays a solid color (basic mode)
or a gradient.
Possible values are: `basic`, `gradient`. |
+
+### TableImageCellOptions
+
+Json view cell options
+
+| Property | Type | Required | Default | Description |
+|----------|--------|----------|---------|-------------|
+| `type` | string | **Yes** | | |
+
+### TableJsonViewCellOptions
+
+Json view cell options
+
+| Property | Type | Required | Default | Description |
+|----------|--------|----------|---------|-------------|
+| `type` | string | **Yes** | | |
+
+### TableSparklineCellOptions
+
+Sparkline cell options
+
+It extends [GraphFieldConfig](#graphfieldconfig).
+
+| Property | Type | Required | Default | Description |
+|---------------------|-----------------------------------------------------------|----------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `type` | string | **Yes** | | |
+| `axisBorderShow` | boolean | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `axisCenteredZero` | boolean | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `axisColorMode` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `text`, `series`. |
+| `axisGridShow` | boolean | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `axisLabel` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `axisPlacement` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. |
+| `axisSoftMax` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `axisSoftMin` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `axisWidth` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `barAlignment` | integer | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `-1`, `0`, `1`. |
+| `barMaxWidth` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `barWidthFactor` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `drawStyle` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `line`, `bars`, `points`. |
+| `fillBelowTo` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `fillColor` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `fillOpacity` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `gradientMode` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `none`, `opacity`, `hue`, `scheme`. |
+| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs |
+| `lineColor` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `lineInterpolation` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `linear`, `smooth`, `stepBefore`, `stepAfter`. |
+| `lineStyle` | [LineStyle](#linestyle) | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs |
+| `lineWidth` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `pointColor` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `pointSize` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `pointSymbol` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* |
+| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs |
+| `showPoints` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `auto`, `never`, `always`. |
+| `spanNulls` | | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
Indicate if null values should be treated as gaps or connected.
When the value is a number, it represents the maximum delta in the
X axis that should be considered connected. For timeseries, this is milliseconds |
+| `stacking` | [StackingConfig](#stackingconfig) | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs |
+| `thresholdsStyle` | [GraphThresholdsStyleConfig](#graphthresholdsstyleconfig) | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs |
+| `transform` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `constant`, `negative-Y`. |
+
+### GraphFieldConfig
+
+TODO docs
+
+It extends [LineConfig](#lineconfig) and [FillConfig](#fillconfig) and [PointsConfig](#pointsconfig) and [AxisConfig](#axisconfig) and [BarConfig](#barconfig) and [StackableFieldConfig](#stackablefieldconfig) and [HideableFieldConfig](#hideablefieldconfig).
+
+| Property | Type | Required | Default | Description |
+|---------------------|-----------------------------------------------------------|----------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `axisBorderShow` | boolean | No | | *(Inherited from [AxisConfig](#axisconfig))* |
+| `axisCenteredZero` | boolean | No | | *(Inherited from [AxisConfig](#axisconfig))* |
+| `axisColorMode` | string | No | | *(Inherited from [AxisConfig](#axisconfig))*
TODO docs
Possible values are: `text`, `series`. |
+| `axisGridShow` | boolean | No | | *(Inherited from [AxisConfig](#axisconfig))* |
+| `axisLabel` | string | No | | *(Inherited from [AxisConfig](#axisconfig))* |
+| `axisPlacement` | string | No | | *(Inherited from [AxisConfig](#axisconfig))*
TODO docs
Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. |
+| `axisSoftMax` | number | No | | *(Inherited from [AxisConfig](#axisconfig))* |
+| `axisSoftMin` | number | No | | *(Inherited from [AxisConfig](#axisconfig))* |
+| `axisWidth` | number | No | | *(Inherited from [AxisConfig](#axisconfig))* |
+| `barAlignment` | integer | No | | *(Inherited from [BarConfig](#barconfig))*
TODO docs
Possible values are: `-1`, `0`, `1`. |
+| `barMaxWidth` | number | No | | *(Inherited from [BarConfig](#barconfig))* |
+| `barWidthFactor` | number | No | | *(Inherited from [BarConfig](#barconfig))* |
+| `drawStyle` | string | No | | TODO docs
Possible values are: `line`, `bars`, `points`. |
+| `fillBelowTo` | string | No | | *(Inherited from [FillConfig](#fillconfig))* |
+| `fillColor` | string | No | | *(Inherited from [FillConfig](#fillconfig))* |
+| `fillOpacity` | number | No | | *(Inherited from [FillConfig](#fillconfig))* |
+| `gradientMode` | string | No | | TODO docs
Possible values are: `none`, `opacity`, `hue`, `scheme`. |
+| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | | *(Inherited from [HideableFieldConfig](#hideablefieldconfig))*
TODO docs |
+| `lineColor` | string | No | | *(Inherited from [LineConfig](#lineconfig))* |
+| `lineInterpolation` | string | No | | *(Inherited from [LineConfig](#lineconfig))*
TODO docs
Possible values are: `linear`, `smooth`, `stepBefore`, `stepAfter`. |
+| `lineStyle` | [LineStyle](#linestyle) | No | | *(Inherited from [LineConfig](#lineconfig))*
TODO docs |
+| `lineWidth` | number | No | | *(Inherited from [LineConfig](#lineconfig))* |
+| `pointColor` | string | No | | *(Inherited from [PointsConfig](#pointsconfig))* |
+| `pointSize` | number | No | | *(Inherited from [PointsConfig](#pointsconfig))* |
+| `pointSymbol` | string | No | | *(Inherited from [PointsConfig](#pointsconfig))* |
+| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | | *(Inherited from [AxisConfig](#axisconfig))*
TODO docs |
+| `showPoints` | string | No | | *(Inherited from [PointsConfig](#pointsconfig))*
TODO docs
Possible values are: `auto`, `never`, `always`. |
+| `spanNulls` | | No | | *(Inherited from [LineConfig](#lineconfig))*
Indicate if null values should be treated as gaps or connected.
When the value is a number, it represents the maximum delta in the
X axis that should be considered connected. For timeseries, this is milliseconds |
+| `stacking` | [StackingConfig](#stackingconfig) | No | | *(Inherited from [StackableFieldConfig](#stackablefieldconfig))*
TODO docs |
+| `thresholdsStyle` | [GraphThresholdsStyleConfig](#graphthresholdsstyleconfig) | No | | TODO docs |
+| `transform` | string | No | | TODO docs
Possible values are: `constant`, `negative-Y`. |
+
+### AxisConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|---------------------|-----------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------|
+| `axisBorderShow` | boolean | No | | |
+| `axisCenteredZero` | boolean | No | | |
+| `axisColorMode` | string | No | | TODO docs
Possible values are: `text`, `series`. |
+| `axisGridShow` | boolean | No | | |
+| `axisLabel` | string | No | | |
+| `axisPlacement` | string | No | | TODO docs
Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. |
+| `axisSoftMax` | number | No | | |
+| `axisSoftMin` | number | No | | |
+| `axisWidth` | number | No | | |
+| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | | TODO docs |
+
+### BarConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|------------------|---------|----------|---------|----------------------------------------------------|
+| `barAlignment` | integer | No | | TODO docs
Possible values are: `-1`, `0`, `1`. |
+| `barMaxWidth` | number | No | | |
+| `barWidthFactor` | number | No | | |
+
+### FillConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|---------------|--------|----------|---------|-------------|
+| `fillBelowTo` | string | No | | |
+| `fillColor` | string | No | | |
+| `fillOpacity` | number | No | | |
+
+### HideableFieldConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|------------|---------------------------------------|----------|---------|-------------|
+| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | | TODO docs |
+
+### LineConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|---------------------|-------------------------|----------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `lineColor` | string | No | | |
+| `lineInterpolation` | string | No | | TODO docs
Possible values are: `linear`, `smooth`, `stepBefore`, `stepAfter`. |
+| `lineStyle` | [LineStyle](#linestyle) | No | | TODO docs |
+| `lineWidth` | number | No | | |
+| `spanNulls` | | No | | Indicate if null values should be treated as gaps or connected.
When the value is a number, it represents the maximum delta in the
X axis that should be considered connected. For timeseries, this is milliseconds |
+
+### PointsConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|---------------|--------|----------|---------|---------------------------------------------------------------|
+| `pointColor` | string | No | | |
+| `pointSize` | number | No | | |
+| `pointSymbol` | string | No | | |
+| `showPoints` | string | No | | TODO docs
Possible values are: `auto`, `never`, `always`. |
+
+### StackableFieldConfig
+
+TODO docs
+
+| Property | Type | Required | Default | Description |
+|------------|-----------------------------------|----------|---------|-------------|
+| `stacking` | [StackingConfig](#stackingconfig) | No | | TODO docs |
### Options
diff --git a/packages/grafana-schema/src/common/common.gen.ts b/packages/grafana-schema/src/common/common.gen.ts
index 4545daca2b7..983236ae510 100644
--- a/packages/grafana-schema/src/common/common.gen.ts
+++ b/packages/grafana-schema/src/common/common.gen.ts
@@ -886,7 +886,7 @@ export interface TableFieldOptions {
filterable?: boolean;
hidden?: boolean; // ?? default is missing or false ??
/**
- * Hides any header for a column, usefull for columns that show some static content or buttons.
+ * Hides any header for a column, useful for columns that show some static content or buttons.
*/
hideHeader?: boolean;
inspect: boolean;
diff --git a/packages/grafana-schema/src/common/table.cue b/packages/grafana-schema/src/common/table.cue
index a5e06ee9113..8f703604a73 100644
--- a/packages/grafana-schema/src/common/table.cue
+++ b/packages/grafana-schema/src/common/table.cue
@@ -86,7 +86,7 @@ TableFieldOptions: {
hidden?: bool // ?? default is missing or false ??
inspect: bool | *false
filterable?: bool
- // Hides any header for a column, usefull for columns that show some static content or buttons.
+ // Hides any header for a column, useful for columns that show some static content or buttons.
hideHeader?: bool
} @cuetsy(kind="interface")
diff --git a/packages/grafana-schema/src/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.ts b/packages/grafana-schema/src/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.ts
index ce898f47111..37ce8b9cd10 100644
--- a/packages/grafana-schema/src/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.ts
+++ b/packages/grafana-schema/src/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.ts
@@ -61,3 +61,5 @@ export const defaultOptions: Partial = {
showTypeIcons: false,
sortBy: [],
};
+
+export interface FieldConfig extends ui.TableFieldOptions {}
diff --git a/public/app/plugins/panel/table/module.tsx b/public/app/plugins/panel/table/module.tsx
index e55d1411a43..17f62aff423 100644
--- a/public/app/plugins/panel/table/module.tsx
+++ b/public/app/plugins/panel/table/module.tsx
@@ -7,25 +7,19 @@ import {
standardEditorsRegistry,
identityOverrideProcessor,
} from '@grafana/data';
-import {
- TableFieldOptions,
- TableCellOptions,
- TableCellDisplayMode,
- defaultTableFieldOptions,
- TableCellHeight,
-} from '@grafana/schema';
+import { TableCellOptions, TableCellDisplayMode, defaultTableFieldOptions, TableCellHeight } from '@grafana/schema';
import { PaginationEditor } from './PaginationEditor';
import { TableCellOptionEditor } from './TableCellOptionEditor';
import { TablePanel } from './TablePanel';
import { tableMigrationHandler, tablePanelChangedHandler } from './migrations';
-import { Options, defaultOptions } from './panelcfg.gen';
+import { Options, defaultOptions, FieldConfig } from './panelcfg.gen';
import { TableSuggestionsSupplier } from './suggestions';
const footerCategory = 'Table footer';
const cellCategory = ['Cell options'];
-export const plugin = new PanelPlugin(TablePanel)
+export const plugin = new PanelPlugin(TablePanel)
.setPanelChangeHandler(tablePanelChangedHandler)
.setMigrationHandler(tableMigrationHandler)
.useFieldConfig({
diff --git a/public/app/plugins/panel/table/panelcfg.cue b/public/app/plugins/panel/table/panelcfg.cue
index 7e9f19c4491..214e854f4a4 100644
--- a/public/app/plugins/panel/table/panelcfg.cue
+++ b/public/app/plugins/panel/table/panelcfg.cue
@@ -45,6 +45,9 @@ composableKinds: PanelCfg: {
// Controls the height of the rows
cellHeight?: ui.TableCellHeight & (*"sm" | _)
} @cuetsy(kind="interface")
+ FieldConfig: {
+ ui.TableFieldOptions
+ } @cuetsy(kind="interface")
}
}]
lenses: []
diff --git a/public/app/plugins/panel/table/panelcfg.gen.ts b/public/app/plugins/panel/table/panelcfg.gen.ts
index aed2e330def..fa44e7f982e 100644
--- a/public/app/plugins/panel/table/panelcfg.gen.ts
+++ b/public/app/plugins/panel/table/panelcfg.gen.ts
@@ -58,3 +58,5 @@ export const defaultOptions: Partial = {
showTypeIcons: false,
sortBy: [],
};
+
+export interface FieldConfig extends ui.TableFieldOptions {}