diff --git a/docs/sources/developers/kinds/core/dashboard/schema-reference.md b/docs/sources/developers/kinds/core/dashboard/schema-reference.md
index 5d91eef9451..5b4ba009ad0 100644
--- a/docs/sources/developers/kinds/core/dashboard/schema-reference.md
+++ b/docs/sources/developers/kinds/core/dashboard/schema-reference.md
@@ -34,7 +34,7 @@ title: Dashboard kind
| `templating` | [object](#templating) | No | TODO docs |
| `time` | [object](#time) | No | Time range for dashboard, e.g. last 6 hours, last 7 days, etc |
| `timepicker` | [object](#timepicker) | No | TODO docs
TODO this appears to be spread all over in the frontend. Concepts will likely need tidying in tandem with schema changes |
-| `timezone` | string | No | Timezone of dashboard, Possible values are: `browser`, `utc`, ``. Default: `browser`. |
+| `timezone` | string | No | Timezone of dashboard. Accepts IANA TZDB zone ID or "browser" or "utc". Default: ``. |
| `title` | string | No | Title of dashboard. |
| `uid` | string | No | Unique dashboard identifier that can be generated by anyone. string (8-40) |
| `version` | integer | No | Version of the dashboard, incremented each time the dashboard is updated. |
diff --git a/kinds/dashboard/dashboard_kind.cue b/kinds/dashboard/dashboard_kind.cue
index 8498d08b175..db1402c7476 100644
--- a/kinds/dashboard/dashboard_kind.cue
+++ b/kinds/dashboard/dashboard_kind.cue
@@ -30,8 +30,8 @@ lineage: seqs: [
tags?: [...string] @grafanamaturity(NeedsExpertReview)
// Theme of dashboard.
style: "light" | *"dark" @grafanamaturity(NeedsExpertReview)
- // Timezone of dashboard,
- timezone?: *"browser" | "utc" | "" @grafanamaturity(NeedsExpertReview)
+ // Timezone of dashboard. Accepts IANA TZDB zone ID or "browser" or "utc".
+ timezone?: string | *""
// Whether a dashboard is editable or not.
editable: bool | *true
// Configuration of dashboard cursor sync behavior.
diff --git a/packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts b/packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts
index bbaaee013f0..ec61957cea2 100644
--- a/packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts
+++ b/packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts
@@ -777,9 +777,9 @@ export interface Dashboard {
time_options: Array;
};
/**
- * Timezone of dashboard,
+ * Timezone of dashboard. Accepts IANA TZDB zone ID or "browser" or "utc".
*/
- timezone?: ('browser' | 'utc' | '');
+ timezone?: string;
/**
* Title of dashboard.
*/
@@ -808,5 +808,5 @@ export const defaultDashboard: Partial = {
schemaVersion: 36,
style: 'dark',
tags: [],
- timezone: 'browser',
+ timezone: '',
};
diff --git a/pkg/kinds/dashboard/dashboard_types_gen.go b/pkg/kinds/dashboard/dashboard_types_gen.go
index 6a34f274e31..7ed218331cc 100644
--- a/pkg/kinds/dashboard/dashboard_types_gen.go
+++ b/pkg/kinds/dashboard/dashboard_types_gen.go
@@ -17,15 +17,6 @@ const (
StyleLight Style = "light"
)
-// Defines values for Timezone.
-const (
- TimezoneBrowser Timezone = "browser"
-
- TimezoneEmpty Timezone = ""
-
- TimezoneUtc Timezone = "utc"
-)
-
// Defines values for CursorSync.
const (
CursorSyncN0 CursorSync = 0
@@ -290,8 +281,8 @@ type Dashboard struct {
TimeOptions []string `json:"time_options"`
} `json:"timepicker,omitempty"`
- // Timezone of dashboard,
- Timezone *Timezone `json:"timezone,omitempty"`
+ // Timezone of dashboard. Accepts IANA TZDB zone ID or "browser" or "utc".
+ Timezone *string `json:"timezone,omitempty"`
// Title of dashboard.
Title *string `json:"title,omitempty"`
@@ -309,9 +300,6 @@ type Dashboard struct {
// Theme of dashboard.
type Style string
-// Timezone of dashboard,
-type Timezone string
-
// 0 for no shared crosshair or tooltip (default).
// 1 for shared crosshair.
// 2 for shared crosshair AND shared tooltip.
diff --git a/pkg/kindsys/report.json b/pkg/kindsys/report.json
index d9fd1cf56d6..d6f4b88460e 100644
--- a/pkg/kindsys/report.json
+++ b/pkg/kindsys/report.json
@@ -283,7 +283,7 @@
0,
0
],
- "grafanaMaturityCount": 140,
+ "grafanaMaturityCount": 139,
"lineageIsGroup": false,
"links": {
"docs": "https://grafana.com/docs/grafana/next/developers/kinds/core/dashboard/schema-reference",
diff --git a/public/app/features/dashboard/containers/PublicDashboardPage.test.tsx b/public/app/features/dashboard/containers/PublicDashboardPage.test.tsx
index d517a64c403..f012e8886af 100644
--- a/public/app/features/dashboard/containers/PublicDashboardPage.test.tsx
+++ b/public/app/features/dashboard/containers/PublicDashboardPage.test.tsx
@@ -93,6 +93,7 @@ const getTestDashboard = (overrides?: Partial, metaOverrides?: Partia
schemaVersion: 1,
style: 'dark',
timepicker: { hidden: true },
+ timezone: '',
panels: [
{
id: 1,
diff --git a/public/app/features/dashboard/state/__fixtures__/dashboardFixtures.ts b/public/app/features/dashboard/state/__fixtures__/dashboardFixtures.ts
index 147f51aa03d..20cc4af46e1 100644
--- a/public/app/features/dashboard/state/__fixtures__/dashboardFixtures.ts
+++ b/public/app/features/dashboard/state/__fixtures__/dashboardFixtures.ts
@@ -24,6 +24,7 @@ export function createDashboardModelFixture(
schemaVersion: 1,
revision: 1,
style: 'dark',
+ timezone: '',
...dashboardInput,
};