@uptime.link/statuspage 1.0.74 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist_bundle/bundle.js +4096 -504
  2. package/dist_bundle/bundle.js.map +4 -4
  3. package/dist_ts_web/00_commitinfo_data.js +2 -2
  4. package/dist_ts_web/elements/index.d.ts +3 -0
  5. package/dist_ts_web/elements/index.js +6 -1
  6. package/dist_ts_web/elements/internal/uplinternal-miniheading.d.ts +1 -0
  7. package/dist_ts_web/elements/internal/uplinternal-miniheading.js +78 -28
  8. package/dist_ts_web/elements/upl-statuspage-assetsselector.d.ts +14 -0
  9. package/dist_ts_web/elements/upl-statuspage-assetsselector.demo.d.ts +1 -0
  10. package/dist_ts_web/elements/upl-statuspage-assetsselector.demo.js +575 -0
  11. package/dist_ts_web/elements/upl-statuspage-assetsselector.js +605 -43
  12. package/dist_ts_web/elements/upl-statuspage-footer.d.ts +46 -2
  13. package/dist_ts_web/elements/upl-statuspage-footer.demo.d.ts +1 -0
  14. package/dist_ts_web/elements/upl-statuspage-footer.demo.js +679 -0
  15. package/dist_ts_web/elements/upl-statuspage-footer.js +792 -61
  16. package/dist_ts_web/elements/upl-statuspage-header.d.ts +5 -1
  17. package/dist_ts_web/elements/upl-statuspage-header.demo.d.ts +1 -0
  18. package/dist_ts_web/elements/upl-statuspage-header.demo.js +220 -0
  19. package/dist_ts_web/elements/upl-statuspage-header.js +313 -86
  20. package/dist_ts_web/elements/upl-statuspage-incidents.d.ts +22 -4
  21. package/dist_ts_web/elements/upl-statuspage-incidents.demo.d.ts +1 -0
  22. package/dist_ts_web/elements/upl-statuspage-incidents.demo.js +1147 -0
  23. package/dist_ts_web/elements/upl-statuspage-incidents.js +750 -74
  24. package/dist_ts_web/elements/upl-statuspage-pagetitle.d.ts +15 -0
  25. package/dist_ts_web/elements/upl-statuspage-pagetitle.demo.d.ts +1 -0
  26. package/dist_ts_web/elements/upl-statuspage-pagetitle.demo.js +25 -0
  27. package/dist_ts_web/elements/upl-statuspage-pagetitle.js +148 -0
  28. package/dist_ts_web/elements/upl-statuspage-statsgrid.d.ts +23 -0
  29. package/dist_ts_web/elements/upl-statuspage-statsgrid.demo.d.ts +1 -0
  30. package/dist_ts_web/elements/upl-statuspage-statsgrid.demo.js +295 -0
  31. package/dist_ts_web/elements/upl-statuspage-statsgrid.js +374 -0
  32. package/dist_ts_web/elements/upl-statuspage-statusbar.d.ts +4 -0
  33. package/dist_ts_web/elements/upl-statuspage-statusbar.demo.d.ts +1 -0
  34. package/dist_ts_web/elements/upl-statuspage-statusbar.demo.js +365 -0
  35. package/dist_ts_web/elements/upl-statuspage-statusbar.js +357 -44
  36. package/dist_ts_web/elements/upl-statuspage-statusdetails.d.ts +14 -0
  37. package/dist_ts_web/elements/upl-statuspage-statusdetails.demo.d.ts +1 -0
  38. package/dist_ts_web/elements/upl-statuspage-statusdetails.demo.js +706 -0
  39. package/dist_ts_web/elements/upl-statuspage-statusdetails.js +373 -63
  40. package/dist_ts_web/elements/upl-statuspage-statusmonth.d.ts +15 -0
  41. package/dist_ts_web/elements/upl-statuspage-statusmonth.demo.d.ts +1 -0
  42. package/dist_ts_web/elements/upl-statuspage-statusmonth.demo.js +798 -0
  43. package/dist_ts_web/elements/upl-statuspage-statusmonth.js +474 -100
  44. package/dist_ts_web/interfaces/index.d.ts +84 -0
  45. package/dist_ts_web/interfaces/index.js +4 -0
  46. package/dist_ts_web/pages/index.d.ts +4 -1
  47. package/dist_ts_web/pages/index.js +5 -2
  48. package/dist_ts_web/pages/statuspage-allgreen.d.ts +1 -0
  49. package/dist_ts_web/pages/statuspage-allgreen.js +386 -0
  50. package/dist_ts_web/pages/statuspage-demo.d.ts +1 -0
  51. package/dist_ts_web/pages/statuspage-demo.js +616 -0
  52. package/dist_ts_web/pages/statuspage-maintenance.d.ts +1 -0
  53. package/dist_ts_web/pages/statuspage-maintenance.js +544 -0
  54. package/dist_ts_web/pages/statuspage-outage.d.ts +1 -0
  55. package/dist_ts_web/pages/statuspage-outage.js +543 -0
  56. package/dist_ts_web/styles/shared.styles.d.ts +80 -0
  57. package/dist_ts_web/styles/shared.styles.js +351 -0
  58. package/dist_watch/bundle.js +51691 -32432
  59. package/dist_watch/bundle.js.map +4 -4
  60. package/npmextra.json +9 -3
  61. package/package.json +19 -19
  62. package/readme.hints.md +292 -0
  63. package/readme.md +326 -149
  64. package/readme.plan.md +261 -0
  65. package/ts_web/00_commitinfo_data.ts +1 -1
  66. package/ts_web/elements/index.ts +6 -0
  67. package/ts_web/elements/internal/uplinternal-miniheading.ts +24 -17
  68. package/ts_web/elements/upl-statuspage-assetsselector.demo.ts +607 -0
  69. package/ts_web/elements/upl-statuspage-assetsselector.ts +526 -18
  70. package/ts_web/elements/upl-statuspage-footer.demo.ts +744 -0
  71. package/ts_web/elements/upl-statuspage-footer.ts +608 -30
  72. package/ts_web/elements/upl-statuspage-header.demo.ts +241 -0
  73. package/ts_web/elements/upl-statuspage-header.ts +220 -52
  74. package/ts_web/elements/upl-statuspage-incidents.demo.ts +1216 -0
  75. package/ts_web/elements/upl-statuspage-incidents.ts +649 -26
  76. package/ts_web/elements/upl-statuspage-pagetitle.demo.ts +25 -0
  77. package/ts_web/elements/upl-statuspage-pagetitle.ts +89 -0
  78. package/ts_web/elements/upl-statuspage-statsgrid.demo.ts +315 -0
  79. package/ts_web/elements/upl-statuspage-statsgrid.ts +306 -0
  80. package/ts_web/elements/upl-statuspage-statusbar.demo.ts +393 -0
  81. package/ts_web/elements/upl-statuspage-statusbar.ts +281 -20
  82. package/ts_web/elements/upl-statuspage-statusdetails.demo.ts +754 -0
  83. package/ts_web/elements/upl-statuspage-statusdetails.ts +297 -38
  84. package/ts_web/elements/upl-statuspage-statusmonth.demo.ts +876 -0
  85. package/ts_web/elements/upl-statuspage-statusmonth.ts +397 -76
  86. package/ts_web/interfaces/index.ts +95 -0
  87. package/ts_web/pages/index.ts +4 -1
  88. package/ts_web/pages/statuspage-allgreen.ts +412 -0
  89. package/ts_web/pages/statuspage-demo.ts +653 -0
  90. package/ts_web/pages/statuspage-maintenance.ts +570 -0
  91. package/ts_web/pages/statuspage-outage.ts +568 -0
  92. package/ts_web/styles/shared.styles.ts +367 -0
  93. package/dist_ts_web/pages/page1.d.ts +0 -1
  94. package/dist_ts_web/pages/page1.js +0 -11
  95. package/ts_web/pages/page1.ts +0 -11
@@ -0,0 +1,84 @@
1
+ export interface IServiceStatus {
2
+ id: string;
3
+ name: string;
4
+ displayName: string;
5
+ description?: string;
6
+ currentStatus: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
7
+ lastChecked: number;
8
+ uptime30d: number;
9
+ uptime90d: number;
10
+ responseTime: number;
11
+ category?: string;
12
+ dependencies?: string[];
13
+ selected?: boolean;
14
+ }
15
+ export interface IStatusHistoryPoint {
16
+ timestamp: number;
17
+ status: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
18
+ responseTime?: number;
19
+ errorRate?: number;
20
+ }
21
+ export interface IIncidentUpdate {
22
+ id: string;
23
+ timestamp: number;
24
+ status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem';
25
+ message: string;
26
+ author?: string;
27
+ }
28
+ export interface IIncidentDetails {
29
+ id: string;
30
+ title: string;
31
+ status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem';
32
+ severity: 'critical' | 'major' | 'minor' | 'maintenance';
33
+ affectedServices: string[];
34
+ startTime: number;
35
+ endTime?: number;
36
+ updates: IIncidentUpdate[];
37
+ impact: string;
38
+ rootCause?: string;
39
+ resolution?: string;
40
+ }
41
+ export interface IUptimeDay {
42
+ date: string;
43
+ uptime: number;
44
+ incidents: number;
45
+ totalDowntime: number;
46
+ status: 'operational' | 'degraded' | 'partial_outage' | 'major_outage';
47
+ }
48
+ export interface IMonthlyUptime {
49
+ month: string;
50
+ days: IUptimeDay[];
51
+ overallUptime: number;
52
+ totalIncidents: number;
53
+ }
54
+ export interface IOverallStatus {
55
+ status: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
56
+ message: string;
57
+ lastUpdated: number;
58
+ affectedServices: number;
59
+ totalServices: number;
60
+ }
61
+ export interface IStatusPageConfig {
62
+ apiEndpoint?: string;
63
+ refreshInterval?: number;
64
+ timeZone?: string;
65
+ dateFormat?: string;
66
+ enableWebSocket?: boolean;
67
+ enableNotifications?: boolean;
68
+ theme?: 'light' | 'dark' | 'auto';
69
+ language?: string;
70
+ showHistoricalDays?: number;
71
+ whitelabel?: boolean;
72
+ companyName?: string;
73
+ companyLogo?: string;
74
+ supportEmail?: string;
75
+ statusPageUrl?: string;
76
+ legalUrl?: string;
77
+ }
78
+ export interface ISubscription {
79
+ email?: string;
80
+ phone?: string;
81
+ webhook?: string;
82
+ services: string[];
83
+ severityFilter: ('critical' | 'major' | 'minor' | 'maintenance')[];
84
+ }
@@ -0,0 +1,4 @@
1
+ export {};
2
+ // Re-export the incident interface from @uptime.link/interfaces if needed
3
+ // Note: The IIncident interface is imported in the incidents component directly from plugins
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBNkZBLDBFQUEwRTtBQUMxRSw2RkFBNkYifQ==
@@ -1 +1,4 @@
1
- export * from './page1.js';
1
+ export * from './statuspage-demo.js';
2
+ export * from './statuspage-allgreen.js';
3
+ export * from './statuspage-outage.js';
4
+ export * from './statuspage-maintenance.js';
@@ -1,2 +1,5 @@
1
- export * from './page1.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvcGFnZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUMifQ==
1
+ export * from './statuspage-demo.js';
2
+ export * from './statuspage-allgreen.js';
3
+ export * from './statuspage-outage.js';
4
+ export * from './statuspage-maintenance.js';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvcGFnZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw2QkFBNkIsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ export declare const statuspageAllgreen: () => import("@design.estate/dees-element").TemplateResult<1>;
@@ -0,0 +1,386 @@
1
+ import { html, cssManager } from "@design.estate/dees-element";
2
+ export const statuspageAllgreen = () => html `
3
+ <style>
4
+ .demo-page-wrapper {
5
+ min-height: 100vh;
6
+ background: ${cssManager.bdTheme('#fafafa', '#0a0a0a')};
7
+ }
8
+ .demo-page-wrapper > dees-demowrapper {
9
+ display: flex;
10
+ flex-direction: column;
11
+ gap: 24px;
12
+ }
13
+ </style>
14
+
15
+ <div class="demo-page-wrapper">
16
+
17
+ <dees-demowrapper
18
+ .runAfterRender=${async (wrapperElement) => {
19
+ const header = wrapperElement.querySelector('upl-statuspage-header');
20
+ const statusBar = wrapperElement.querySelector('upl-statuspage-statusbar');
21
+ const statsGrid = wrapperElement.querySelector('upl-statuspage-statsgrid');
22
+ const assetsSelector = wrapperElement.querySelector('upl-statuspage-assetsselector');
23
+ const statusDetails = wrapperElement.querySelector('upl-statuspage-statusdetails');
24
+ const statusMonth = wrapperElement.querySelector('upl-statuspage-statusmonth');
25
+ const incidents = wrapperElement.querySelector('upl-statuspage-incidents');
26
+ const footer = wrapperElement.querySelector('upl-statuspage-footer');
27
+ // Configure Header
28
+ header.pageTitle = 'TechVault';
29
+ header.showReportButton = true;
30
+ header.showSubscribeButton = true;
31
+ header.logoUrl = 'https://via.placeholder.com/150x50/4CAF50/ffffff?text=TV';
32
+ // Configure Overall Status - All Green
33
+ statusBar.overallStatus = {
34
+ status: 'operational',
35
+ message: 'All Systems Operational',
36
+ lastUpdated: Date.now(),
37
+ affectedServices: 0,
38
+ totalServices: 12
39
+ };
40
+ // Configure Services - All Operational
41
+ const services = [
42
+ {
43
+ id: 'web-app',
44
+ name: 'web-app',
45
+ displayName: 'Web Application',
46
+ description: 'Main customer-facing application',
47
+ currentStatus: 'operational',
48
+ lastChecked: Date.now(),
49
+ uptime30d: 99.99,
50
+ uptime90d: 99.98,
51
+ responseTime: 32,
52
+ category: 'Frontend',
53
+ selected: true
54
+ },
55
+ {
56
+ id: 'mobile-app',
57
+ name: 'mobile-app',
58
+ displayName: 'Mobile Applications',
59
+ description: 'iOS and Android apps',
60
+ currentStatus: 'operational',
61
+ lastChecked: Date.now(),
62
+ uptime30d: 100,
63
+ uptime90d: 99.99,
64
+ responseTime: 45,
65
+ category: 'Frontend',
66
+ selected: true
67
+ },
68
+ {
69
+ id: 'api',
70
+ name: 'api',
71
+ displayName: 'API Services',
72
+ description: 'RESTful and GraphQL APIs',
73
+ currentStatus: 'operational',
74
+ lastChecked: Date.now(),
75
+ uptime30d: 99.97,
76
+ uptime90d: 99.96,
77
+ responseTime: 28,
78
+ category: 'Backend',
79
+ selected: true
80
+ },
81
+ {
82
+ id: 'auth',
83
+ name: 'auth',
84
+ displayName: 'Authentication',
85
+ description: 'OAuth and SSO services',
86
+ currentStatus: 'operational',
87
+ lastChecked: Date.now(),
88
+ uptime30d: 100,
89
+ uptime90d: 99.99,
90
+ responseTime: 22,
91
+ category: 'Backend',
92
+ selected: true
93
+ },
94
+ {
95
+ id: 'database',
96
+ name: 'database',
97
+ displayName: 'Database Cluster',
98
+ description: 'Primary data storage',
99
+ currentStatus: 'operational',
100
+ lastChecked: Date.now(),
101
+ uptime30d: 100,
102
+ uptime90d: 99.99,
103
+ responseTime: 15,
104
+ category: 'Infrastructure',
105
+ selected: true
106
+ },
107
+ {
108
+ id: 'cache',
109
+ name: 'cache',
110
+ displayName: 'Cache Layer',
111
+ description: 'Redis cache clusters',
112
+ currentStatus: 'operational',
113
+ lastChecked: Date.now(),
114
+ uptime30d: 100,
115
+ uptime90d: 100,
116
+ responseTime: 3,
117
+ category: 'Infrastructure',
118
+ selected: false
119
+ },
120
+ {
121
+ id: 'search',
122
+ name: 'search',
123
+ displayName: 'Search Service',
124
+ description: 'Elasticsearch clusters',
125
+ currentStatus: 'operational',
126
+ lastChecked: Date.now(),
127
+ uptime30d: 99.98,
128
+ uptime90d: 99.97,
129
+ responseTime: 42,
130
+ category: 'Infrastructure',
131
+ selected: true
132
+ },
133
+ {
134
+ id: 'cdn',
135
+ name: 'cdn',
136
+ displayName: 'CDN',
137
+ description: 'Global content delivery',
138
+ currentStatus: 'operational',
139
+ lastChecked: Date.now(),
140
+ uptime30d: 100,
141
+ uptime90d: 100,
142
+ responseTime: 8,
143
+ category: 'Network',
144
+ selected: true
145
+ },
146
+ {
147
+ id: 'email',
148
+ name: 'email',
149
+ displayName: 'Email Service',
150
+ description: 'Transactional emails',
151
+ currentStatus: 'operational',
152
+ lastChecked: Date.now(),
153
+ uptime30d: 99.95,
154
+ uptime90d: 99.94,
155
+ responseTime: 125,
156
+ category: 'Communication',
157
+ selected: false
158
+ },
159
+ {
160
+ id: 'sms',
161
+ name: 'sms',
162
+ displayName: 'SMS Service',
163
+ description: 'SMS notifications',
164
+ currentStatus: 'operational',
165
+ lastChecked: Date.now(),
166
+ uptime30d: 99.92,
167
+ uptime90d: 99.90,
168
+ responseTime: 180,
169
+ category: 'Communication',
170
+ selected: false
171
+ },
172
+ {
173
+ id: 'payments',
174
+ name: 'payments',
175
+ displayName: 'Payment Processing',
176
+ description: 'Payment gateway integration',
177
+ currentStatus: 'operational',
178
+ lastChecked: Date.now(),
179
+ uptime30d: 100,
180
+ uptime90d: 99.99,
181
+ responseTime: 95,
182
+ category: 'Services',
183
+ selected: true
184
+ },
185
+ {
186
+ id: 'analytics',
187
+ name: 'analytics',
188
+ displayName: 'Analytics Engine',
189
+ description: 'Real-time analytics',
190
+ currentStatus: 'operational',
191
+ lastChecked: Date.now(),
192
+ uptime30d: 99.96,
193
+ uptime90d: 99.95,
194
+ responseTime: 55,
195
+ category: 'Services',
196
+ selected: true
197
+ }
198
+ ];
199
+ assetsSelector.services = services;
200
+ // Configure Stats Grid - All green metrics
201
+ statsGrid.currentStatus = 'operational';
202
+ statsGrid.uptime = 99.98;
203
+ statsGrid.avgResponseTime = Math.round(services.reduce((sum, s) => sum + (s.responseTime || 0), 0) / services.length);
204
+ statsGrid.totalIncidents = 0;
205
+ statsGrid.affectedServices = 0;
206
+ statsGrid.totalServices = services.length;
207
+ statsGrid.timePeriod = '30 days';
208
+ // Configure Status Details - All operational for 48 hours
209
+ const generateStatusDetails = () => {
210
+ const details = [];
211
+ const now = new Date();
212
+ for (let i = 47; i >= 0; i--) {
213
+ const date = new Date(now);
214
+ date.setMinutes(0, 0, 0);
215
+ date.setHours(date.getHours() - i);
216
+ details.push({
217
+ timestamp: date.getTime(),
218
+ status: 'operational',
219
+ responseTime: 20 + Math.random() * 10 // Very consistent response times
220
+ });
221
+ }
222
+ return details;
223
+ };
224
+ statusDetails.dataPoints = generateStatusDetails();
225
+ statusDetails.serviceId = 'api';
226
+ statusDetails.serviceName = 'API Services';
227
+ // Configure Monthly Status - Near perfect uptime
228
+ const generateMonthlyData = () => {
229
+ const months = [];
230
+ const now = new Date();
231
+ for (let m = 4; m >= 0; m--) {
232
+ const monthDate = new Date(now.getFullYear(), now.getMonth() - m, 1);
233
+ const daysInMonth = new Date(monthDate.getFullYear(), monthDate.getMonth() + 1, 0).getDate();
234
+ const monthKey = monthDate.toISOString().slice(0, 7);
235
+ const days = [];
236
+ let totalUptime = 0;
237
+ let incidents = 0;
238
+ for (let d = 1; d <= daysInMonth; d++) {
239
+ const dayDate = new Date(monthDate.getFullYear(), monthDate.getMonth(), d);
240
+ const isFuture = dayDate > now;
241
+ if (isFuture)
242
+ continue;
243
+ // Almost all days are perfect
244
+ let status = 'operational';
245
+ let uptime = 100;
246
+ let dayIncidents = 0;
247
+ // Very rare minor issues
248
+ if (Math.random() > 0.98) {
249
+ status = 'degraded';
250
+ uptime = 99.5 + Math.random() * 0.5;
251
+ dayIncidents = 1;
252
+ }
253
+ days.push({
254
+ date: dayDate.toISOString().slice(0, 10),
255
+ status,
256
+ uptime,
257
+ incidents: dayIncidents,
258
+ totalDowntime: Math.round((100 - uptime) * 14.4)
259
+ });
260
+ totalUptime += uptime;
261
+ incidents += dayIncidents;
262
+ }
263
+ months.push({
264
+ month: monthKey,
265
+ days,
266
+ overallUptime: totalUptime / days.length,
267
+ totalIncidents: incidents
268
+ });
269
+ }
270
+ return months;
271
+ };
272
+ statusMonth.monthlyData = generateMonthlyData();
273
+ statusMonth.serviceId = 'all-services';
274
+ statusMonth.serviceName = 'All Services';
275
+ // Configure Incidents - None current, few past
276
+ const currentIncidents = [];
277
+ const pastIncidents = [
278
+ {
279
+ id: 'inc-2024-001',
280
+ title: 'Brief API Response Time Increase',
281
+ impact: 'API responses were slightly slower than usual',
282
+ severity: 'minor',
283
+ status: 'resolved',
284
+ startTime: Date.now() - 45 * 24 * 60 * 60 * 1000,
285
+ endTime: Date.now() - 45 * 24 * 60 * 60 * 1000 + 15 * 60 * 1000,
286
+ affectedServices: ['API Services'],
287
+ rootCause: 'Temporary increase in traffic due to a viral marketing campaign.',
288
+ resolution: 'Auto-scaling handled the load increase. No manual intervention required.',
289
+ updates: [
290
+ {
291
+ id: 'update-1',
292
+ timestamp: Date.now() - 45 * 24 * 60 * 60 * 1000,
293
+ status: 'investigating',
294
+ message: 'Monitoring increased API response times.',
295
+ author: 'Automated Monitoring'
296
+ },
297
+ {
298
+ id: 'update-2',
299
+ timestamp: Date.now() - 45 * 24 * 60 * 60 * 1000 + 5 * 60 * 1000,
300
+ status: 'identified',
301
+ message: 'Traffic spike identified. Auto-scaling in progress.',
302
+ author: 'DevOps Team'
303
+ },
304
+ {
305
+ id: 'update-3',
306
+ timestamp: Date.now() - 45 * 24 * 60 * 60 * 1000 + 15 * 60 * 1000,
307
+ status: 'resolved',
308
+ message: 'Response times back to normal. Incident resolved.',
309
+ author: 'Automated Monitoring'
310
+ }
311
+ ]
312
+ },
313
+ {
314
+ id: 'inc-2023-089',
315
+ title: 'Scheduled Database Maintenance',
316
+ impact: 'Database was in read-only mode for 30 minutes',
317
+ severity: 'minor',
318
+ status: 'resolved',
319
+ startTime: Date.now() - 90 * 24 * 60 * 60 * 1000,
320
+ endTime: Date.now() - 90 * 24 * 60 * 60 * 1000 + 30 * 60 * 1000,
321
+ affectedServices: ['Database Cluster'],
322
+ rootCause: 'Scheduled maintenance for security patches.',
323
+ resolution: 'Maintenance completed successfully as planned.',
324
+ updates: [
325
+ {
326
+ id: 'update-4',
327
+ timestamp: Date.now() - 97 * 24 * 60 * 60 * 1000,
328
+ status: 'investigating',
329
+ message: 'Scheduled maintenance announced.',
330
+ author: 'Database Team'
331
+ },
332
+ {
333
+ id: 'update-5',
334
+ timestamp: Date.now() - 90 * 24 * 60 * 60 * 1000,
335
+ status: 'monitoring',
336
+ message: 'Maintenance started. Database in read-only mode.',
337
+ author: 'Database Team'
338
+ },
339
+ {
340
+ id: 'update-6',
341
+ timestamp: Date.now() - 90 * 24 * 60 * 60 * 1000 + 30 * 60 * 1000,
342
+ status: 'resolved',
343
+ message: 'Maintenance completed. All systems operational.',
344
+ author: 'Database Team'
345
+ }
346
+ ]
347
+ }
348
+ ];
349
+ incidents.currentIncidents = currentIncidents;
350
+ incidents.pastIncidents = pastIncidents;
351
+ // Configure Footer
352
+ footer.companyName = 'TechVault Services';
353
+ footer.legalUrl = 'https://techvault.example.com/legal';
354
+ footer.supportEmail = 'support@techvault.example.com';
355
+ footer.statusPageUrl = 'https://status.techvault.example.com';
356
+ footer.lastUpdated = Date.now();
357
+ footer.currentYear = new Date().getFullYear();
358
+ footer.socialLinks = [
359
+ { platform: 'twitter', url: 'https://twitter.com/techvault' },
360
+ { platform: 'github', url: 'https://github.com/techvault' },
361
+ { platform: 'linkedin', url: 'https://linkedin.com/company/techvault' },
362
+ { platform: 'youtube', url: 'https://youtube.com/techvault' }
363
+ ];
364
+ footer.rssFeedUrl = 'https://status.techvault.example.com/rss';
365
+ footer.apiStatusUrl = 'https://api.techvault.example.com/v1/status';
366
+ footer.enableSubscribe = true;
367
+ footer.subscriberCount = 5421;
368
+ footer.additionalLinks = [
369
+ { label: 'API Documentation', url: 'https://docs.techvault.example.com' },
370
+ { label: 'System Architecture', url: 'https://techvault.example.com/architecture' },
371
+ { label: 'Security', url: 'https://techvault.example.com/security' }
372
+ ];
373
+ }}
374
+ >
375
+ <upl-statuspage-header></upl-statuspage-header>
376
+ <upl-statuspage-statusbar></upl-statuspage-statusbar>
377
+ <upl-statuspage-statsgrid></upl-statuspage-statsgrid>
378
+ <upl-statuspage-assetsselector></upl-statuspage-assetsselector>
379
+ <upl-statuspage-statusdetails></upl-statuspage-statusdetails>
380
+ <upl-statuspage-statusmonth></upl-statuspage-statusmonth>
381
+ <upl-statuspage-incidents></upl-statuspage-incidents>
382
+ <upl-statuspage-footer></upl-statuspage-footer>
383
+ </dees-demowrapper>
384
+ </div>
385
+ `;
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzcGFnZS1hbGxncmVlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9wYWdlcy9zdGF0dXNwYWdlLWFsbGdyZWVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHL0QsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7O29CQUl4QixVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7OztzQkFZdEMsS0FBSyxFQUFFLGNBQW1CLEVBQUUsRUFBRTtJQUM5QyxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFRLENBQUM7SUFDNUUsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBUSxDQUFDO0lBQ2xGLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQVEsQ0FBQztJQUNsRixNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLCtCQUErQixDQUFRLENBQUM7SUFDNUYsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyw4QkFBOEIsQ0FBUSxDQUFDO0lBQzFGLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQVEsQ0FBQztJQUN0RixNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFRLENBQUM7SUFDbEYsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBUSxDQUFDO0lBRTVFLG1CQUFtQjtJQUNuQixNQUFNLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztJQUMvQixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQy9C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
@@ -0,0 +1 @@
1
+ export declare const statuspageDemo: () => import("@design.estate/dees-element").TemplateResult<1>;