@uptime.link/statuspage 1.0.74 → 1.2.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.
- package/dist_bundle/bundle.js +5019 -519
- package/dist_bundle/bundle.js.map +4 -4
- package/dist_ts_web/00_commitinfo_data.js +2 -2
- package/dist_ts_web/elements/index.d.ts +3 -0
- package/dist_ts_web/elements/index.js +6 -1
- package/dist_ts_web/elements/internal/uplinternal-miniheading.d.ts +1 -0
- package/dist_ts_web/elements/internal/uplinternal-miniheading.js +78 -28
- package/dist_ts_web/elements/upl-statuspage-assetsselector.d.ts +14 -0
- package/dist_ts_web/elements/upl-statuspage-assetsselector.demo.d.ts +1 -0
- package/dist_ts_web/elements/upl-statuspage-assetsselector.demo.js +575 -0
- package/dist_ts_web/elements/upl-statuspage-assetsselector.js +679 -43
- package/dist_ts_web/elements/upl-statuspage-footer.d.ts +46 -2
- package/dist_ts_web/elements/upl-statuspage-footer.demo.d.ts +1 -0
- package/dist_ts_web/elements/upl-statuspage-footer.demo.js +679 -0
- package/dist_ts_web/elements/upl-statuspage-footer.js +846 -61
- package/dist_ts_web/elements/upl-statuspage-header.d.ts +5 -1
- package/dist_ts_web/elements/upl-statuspage-header.demo.d.ts +1 -0
- package/dist_ts_web/elements/upl-statuspage-header.demo.js +220 -0
- package/dist_ts_web/elements/upl-statuspage-header.js +373 -86
- package/dist_ts_web/elements/upl-statuspage-incidents.d.ts +22 -4
- package/dist_ts_web/elements/upl-statuspage-incidents.demo.d.ts +1 -0
- package/dist_ts_web/elements/upl-statuspage-incidents.demo.js +1147 -0
- package/dist_ts_web/elements/upl-statuspage-incidents.js +937 -74
- package/dist_ts_web/elements/upl-statuspage-pagetitle.d.ts +15 -0
- package/dist_ts_web/elements/upl-statuspage-pagetitle.demo.d.ts +1 -0
- package/dist_ts_web/elements/upl-statuspage-pagetitle.demo.js +25 -0
- package/dist_ts_web/elements/upl-statuspage-pagetitle.js +148 -0
- package/dist_ts_web/elements/upl-statuspage-statsgrid.d.ts +23 -0
- package/dist_ts_web/elements/upl-statuspage-statsgrid.demo.d.ts +1 -0
- package/dist_ts_web/elements/upl-statuspage-statsgrid.demo.js +295 -0
- package/dist_ts_web/elements/upl-statuspage-statsgrid.js +549 -0
- package/dist_ts_web/elements/upl-statuspage-statusbar.d.ts +4 -0
- package/dist_ts_web/elements/upl-statuspage-statusbar.demo.d.ts +1 -0
- package/dist_ts_web/elements/upl-statuspage-statusbar.demo.js +365 -0
- package/dist_ts_web/elements/upl-statuspage-statusbar.js +408 -44
- package/dist_ts_web/elements/upl-statuspage-statusdetails.d.ts +14 -0
- package/dist_ts_web/elements/upl-statuspage-statusdetails.demo.d.ts +1 -0
- package/dist_ts_web/elements/upl-statuspage-statusdetails.demo.js +706 -0
- package/dist_ts_web/elements/upl-statuspage-statusdetails.js +397 -62
- package/dist_ts_web/elements/upl-statuspage-statusmonth.d.ts +17 -0
- package/dist_ts_web/elements/upl-statuspage-statusmonth.demo.d.ts +1 -0
- package/dist_ts_web/elements/upl-statuspage-statusmonth.demo.js +798 -0
- package/dist_ts_web/elements/upl-statuspage-statusmonth.js +662 -103
- package/dist_ts_web/interfaces/index.d.ts +84 -0
- package/dist_ts_web/interfaces/index.js +4 -0
- package/dist_ts_web/pages/index.d.ts +4 -1
- package/dist_ts_web/pages/index.js +5 -2
- package/dist_ts_web/pages/statuspage-allgreen.d.ts +1 -0
- package/dist_ts_web/pages/statuspage-allgreen.js +386 -0
- package/dist_ts_web/pages/statuspage-demo.d.ts +1 -0
- package/dist_ts_web/pages/statuspage-demo.js +616 -0
- package/dist_ts_web/pages/statuspage-maintenance.d.ts +1 -0
- package/dist_ts_web/pages/statuspage-maintenance.js +544 -0
- package/dist_ts_web/pages/statuspage-outage.d.ts +1 -0
- package/dist_ts_web/pages/statuspage-outage.js +543 -0
- package/dist_ts_web/styles/shared.styles.d.ts +102 -0
- package/dist_ts_web/styles/shared.styles.js +494 -0
- package/dist_watch/bundle.js +52265 -32033
- package/dist_watch/bundle.js.map +4 -4
- package/dist_watch/index.html +1 -0
- package/npmextra.json +9 -3
- package/package.json +19 -19
- package/readme.hints.md +292 -0
- package/readme.md +326 -149
- package/readme.plan.md +261 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/index.ts +6 -0
- package/ts_web/elements/internal/uplinternal-miniheading.ts +24 -17
- package/ts_web/elements/upl-statuspage-assetsselector.demo.ts +607 -0
- package/ts_web/elements/upl-statuspage-assetsselector.ts +600 -18
- package/ts_web/elements/upl-statuspage-footer.demo.ts +744 -0
- package/ts_web/elements/upl-statuspage-footer.ts +662 -30
- package/ts_web/elements/upl-statuspage-header.demo.ts +241 -0
- package/ts_web/elements/upl-statuspage-header.ts +289 -52
- package/ts_web/elements/upl-statuspage-incidents.demo.ts +1216 -0
- package/ts_web/elements/upl-statuspage-incidents.ts +840 -26
- package/ts_web/elements/upl-statuspage-pagetitle.demo.ts +25 -0
- package/ts_web/elements/upl-statuspage-pagetitle.ts +89 -0
- package/ts_web/elements/upl-statuspage-statsgrid.demo.ts +315 -0
- package/ts_web/elements/upl-statuspage-statsgrid.ts +478 -0
- package/ts_web/elements/upl-statuspage-statusbar.demo.ts +393 -0
- package/ts_web/elements/upl-statuspage-statusbar.ts +332 -20
- package/ts_web/elements/upl-statuspage-statusdetails.demo.ts +754 -0
- package/ts_web/elements/upl-statuspage-statusdetails.ts +321 -37
- package/ts_web/elements/upl-statuspage-statusmonth.demo.ts +876 -0
- package/ts_web/elements/upl-statuspage-statusmonth.ts +584 -79
- package/ts_web/interfaces/index.ts +95 -0
- package/ts_web/pages/index.ts +4 -1
- package/ts_web/pages/statuspage-allgreen.ts +412 -0
- package/ts_web/pages/statuspage-demo.ts +653 -0
- package/ts_web/pages/statuspage-maintenance.ts +570 -0
- package/ts_web/pages/statuspage-outage.ts +568 -0
- package/ts_web/styles/shared.styles.ts +531 -0
- package/dist_ts_web/pages/page1.d.ts +0 -1
- package/dist_ts_web/pages/page1.js +0 -11
- package/ts_web/pages/page1.ts +0 -11
|
@@ -6,7 +6,11 @@ declare global {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class UplStatuspageHeader extends DeesElement {
|
|
8
8
|
static demo: () => TemplateResult<1>;
|
|
9
|
-
pageTitle: string;
|
|
9
|
+
accessor pageTitle: string;
|
|
10
|
+
accessor showReportButton: boolean;
|
|
11
|
+
accessor showSubscribeButton: boolean;
|
|
12
|
+
accessor logoUrl: string;
|
|
13
|
+
accessor loading: boolean;
|
|
10
14
|
constructor();
|
|
11
15
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
12
16
|
render(): TemplateResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const demoFunc: () => import("@design.estate/dees-element").TemplateResult<1>;
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { html } from '@design.estate/dees-element';
|
|
2
|
+
export const demoFunc = () => html `
|
|
3
|
+
<style>
|
|
4
|
+
.demo-container {
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
gap: 20px;
|
|
8
|
+
}
|
|
9
|
+
.demo-section {
|
|
10
|
+
border: 1px solid #ddd;
|
|
11
|
+
border-radius: 8px;
|
|
12
|
+
padding: 20px;
|
|
13
|
+
background: #f5f5f5;
|
|
14
|
+
}
|
|
15
|
+
.demo-title {
|
|
16
|
+
font-size: 14px;
|
|
17
|
+
font-weight: 600;
|
|
18
|
+
margin-bottom: 16px;
|
|
19
|
+
color: #333;
|
|
20
|
+
}
|
|
21
|
+
.demo-controls {
|
|
22
|
+
display: flex;
|
|
23
|
+
gap: 10px;
|
|
24
|
+
margin-top: 16px;
|
|
25
|
+
flex-wrap: wrap;
|
|
26
|
+
}
|
|
27
|
+
.demo-button {
|
|
28
|
+
padding: 6px 12px;
|
|
29
|
+
border: 1px solid #ddd;
|
|
30
|
+
background: white;
|
|
31
|
+
border-radius: 4px;
|
|
32
|
+
cursor: pointer;
|
|
33
|
+
font-size: 13px;
|
|
34
|
+
}
|
|
35
|
+
.demo-button:hover {
|
|
36
|
+
background: #f0f0f0;
|
|
37
|
+
}
|
|
38
|
+
</style>
|
|
39
|
+
|
|
40
|
+
<div class="demo-container">
|
|
41
|
+
<!-- Basic Header -->
|
|
42
|
+
<div class="demo-section">
|
|
43
|
+
<div class="demo-title">Basic Header with Dynamic Title</div>
|
|
44
|
+
<dees-demowrapper
|
|
45
|
+
.runAfterRender=${async (wrapperElement) => {
|
|
46
|
+
const header = wrapperElement.querySelector('upl-statuspage-header');
|
|
47
|
+
// Demo different titles
|
|
48
|
+
const titles = [
|
|
49
|
+
'MyService Status Page',
|
|
50
|
+
'Production Environment Status',
|
|
51
|
+
'API Health Dashboard',
|
|
52
|
+
'Global Infrastructure Status',
|
|
53
|
+
'🚀 Rocket Systems Monitor',
|
|
54
|
+
'Multi-Region Service Status'
|
|
55
|
+
];
|
|
56
|
+
let titleIndex = 0;
|
|
57
|
+
header.pageTitle = titles[titleIndex];
|
|
58
|
+
// Add event listeners
|
|
59
|
+
header.addEventListener('reportNewIncident', (event) => {
|
|
60
|
+
console.log('Report incident clicked');
|
|
61
|
+
alert('Report Incident form would open here');
|
|
62
|
+
});
|
|
63
|
+
header.addEventListener('statusSubscribe', (event) => {
|
|
64
|
+
console.log('Subscribe clicked');
|
|
65
|
+
alert('Subscribe modal would open here');
|
|
66
|
+
});
|
|
67
|
+
// Cycle through titles
|
|
68
|
+
setInterval(() => {
|
|
69
|
+
titleIndex = (titleIndex + 1) % titles.length;
|
|
70
|
+
header.pageTitle = titles[titleIndex];
|
|
71
|
+
}, 2000);
|
|
72
|
+
}}
|
|
73
|
+
>
|
|
74
|
+
<upl-statuspage-header></upl-statuspage-header>
|
|
75
|
+
</dees-demowrapper>
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<!-- Header with Hidden Buttons -->
|
|
79
|
+
<div class="demo-section">
|
|
80
|
+
<div class="demo-title">Header with Configurable Buttons</div>
|
|
81
|
+
<dees-demowrapper
|
|
82
|
+
.runAfterRender=${async (wrapperElement) => {
|
|
83
|
+
const header = wrapperElement.querySelector('upl-statuspage-header');
|
|
84
|
+
header.pageTitle = 'Configurable Button States';
|
|
85
|
+
// Add properties to control button visibility
|
|
86
|
+
header.showReportButton = true;
|
|
87
|
+
header.showSubscribeButton = true;
|
|
88
|
+
const controls = document.createElement('div');
|
|
89
|
+
controls.className = 'demo-controls';
|
|
90
|
+
controls.innerHTML = `
|
|
91
|
+
<button class="demo-button" id="toggleReport">Toggle Report Button</button>
|
|
92
|
+
<button class="demo-button" id="toggleSubscribe">Toggle Subscribe Button</button>
|
|
93
|
+
<button class="demo-button" id="toggleBoth">Hide Both</button>
|
|
94
|
+
<button class="demo-button" id="showBoth">Show Both</button>
|
|
95
|
+
`;
|
|
96
|
+
wrapperElement.appendChild(controls);
|
|
97
|
+
controls.querySelector('#toggleReport')?.addEventListener('click', () => {
|
|
98
|
+
header.showReportButton = !header.showReportButton;
|
|
99
|
+
});
|
|
100
|
+
controls.querySelector('#toggleSubscribe')?.addEventListener('click', () => {
|
|
101
|
+
header.showSubscribeButton = !header.showSubscribeButton;
|
|
102
|
+
});
|
|
103
|
+
controls.querySelector('#toggleBoth')?.addEventListener('click', () => {
|
|
104
|
+
header.showReportButton = false;
|
|
105
|
+
header.showSubscribeButton = false;
|
|
106
|
+
});
|
|
107
|
+
controls.querySelector('#showBoth')?.addEventListener('click', () => {
|
|
108
|
+
header.showReportButton = true;
|
|
109
|
+
header.showSubscribeButton = true;
|
|
110
|
+
});
|
|
111
|
+
}}
|
|
112
|
+
>
|
|
113
|
+
<upl-statuspage-header></upl-statuspage-header>
|
|
114
|
+
</dees-demowrapper>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<!-- Header with Custom Styling -->
|
|
118
|
+
<div class="demo-section">
|
|
119
|
+
<div class="demo-title">Header with Custom Branding</div>
|
|
120
|
+
<dees-demowrapper
|
|
121
|
+
.runAfterRender=${async (wrapperElement) => {
|
|
122
|
+
const header = wrapperElement.querySelector('upl-statuspage-header');
|
|
123
|
+
header.pageTitle = 'Enterprise Cloud Platform';
|
|
124
|
+
// Custom branding properties
|
|
125
|
+
header.brandColor = '#1976D2';
|
|
126
|
+
header.logoUrl = 'https://via.placeholder.com/120x40/1976D2/ffffff?text=LOGO';
|
|
127
|
+
header.customStyles = true;
|
|
128
|
+
// Simulate different brand states
|
|
129
|
+
const brands = [
|
|
130
|
+
{ title: 'Enterprise Cloud Platform', color: '#1976D2', logo: 'ENTERPRISE' },
|
|
131
|
+
{ title: 'StartUp SaaS Monitor', color: '#00BCD4', logo: 'STARTUP' },
|
|
132
|
+
{ title: 'Government Services Status', color: '#4CAF50', logo: 'GOV' },
|
|
133
|
+
{ title: 'Financial Systems Health', color: '#673AB7', logo: 'FINTECH' }
|
|
134
|
+
];
|
|
135
|
+
let brandIndex = 0;
|
|
136
|
+
setInterval(() => {
|
|
137
|
+
brandIndex = (brandIndex + 1) % brands.length;
|
|
138
|
+
const brand = brands[brandIndex];
|
|
139
|
+
header.pageTitle = brand.title;
|
|
140
|
+
header.brandColor = brand.color;
|
|
141
|
+
header.logoUrl = `https://via.placeholder.com/120x40/${brand.color.slice(1)}/ffffff?text=${brand.logo}`;
|
|
142
|
+
}, 3000);
|
|
143
|
+
}}
|
|
144
|
+
>
|
|
145
|
+
<upl-statuspage-header></upl-statuspage-header>
|
|
146
|
+
</dees-demowrapper>
|
|
147
|
+
</div>
|
|
148
|
+
|
|
149
|
+
<!-- Header with Loading State -->
|
|
150
|
+
<div class="demo-section">
|
|
151
|
+
<div class="demo-title">Header with Loading States</div>
|
|
152
|
+
<dees-demowrapper
|
|
153
|
+
.runAfterRender=${async (wrapperElement) => {
|
|
154
|
+
const header = wrapperElement.querySelector('upl-statuspage-header');
|
|
155
|
+
header.pageTitle = 'Loading State Demo';
|
|
156
|
+
header.loading = true;
|
|
157
|
+
// Simulate loading completion
|
|
158
|
+
setTimeout(() => {
|
|
159
|
+
header.loading = false;
|
|
160
|
+
header.pageTitle = 'Status Page Loaded';
|
|
161
|
+
}, 2000);
|
|
162
|
+
// Add loading toggle
|
|
163
|
+
const controls = document.createElement('div');
|
|
164
|
+
controls.className = 'demo-controls';
|
|
165
|
+
controls.innerHTML = `
|
|
166
|
+
<button class="demo-button" id="toggleLoading">Toggle Loading State</button>
|
|
167
|
+
`;
|
|
168
|
+
wrapperElement.appendChild(controls);
|
|
169
|
+
controls.querySelector('#toggleLoading')?.addEventListener('click', () => {
|
|
170
|
+
header.loading = !header.loading;
|
|
171
|
+
if (header.loading) {
|
|
172
|
+
header.pageTitle = 'Loading...';
|
|
173
|
+
setTimeout(() => {
|
|
174
|
+
header.loading = false;
|
|
175
|
+
header.pageTitle = 'Status Page Ready';
|
|
176
|
+
}, 2000);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}}
|
|
180
|
+
>
|
|
181
|
+
<upl-statuspage-header></upl-statuspage-header>
|
|
182
|
+
</dees-demowrapper>
|
|
183
|
+
</div>
|
|
184
|
+
|
|
185
|
+
<!-- Header with Event Counter -->
|
|
186
|
+
<div class="demo-section">
|
|
187
|
+
<div class="demo-title">Header with Event Tracking</div>
|
|
188
|
+
<dees-demowrapper
|
|
189
|
+
.runAfterRender=${async (wrapperElement) => {
|
|
190
|
+
const header = wrapperElement.querySelector('upl-statuspage-header');
|
|
191
|
+
header.pageTitle = 'Event Tracking Demo';
|
|
192
|
+
let reportCount = 0;
|
|
193
|
+
let subscribeCount = 0;
|
|
194
|
+
// Create counter display
|
|
195
|
+
const counterDisplay = document.createElement('div');
|
|
196
|
+
counterDisplay.style.marginTop = '16px';
|
|
197
|
+
counterDisplay.style.fontSize = '14px';
|
|
198
|
+
counterDisplay.innerHTML = `
|
|
199
|
+
<div>Report Clicks: <strong id="reportCount">0</strong></div>
|
|
200
|
+
<div>Subscribe Clicks: <strong id="subscribeCount">0</strong></div>
|
|
201
|
+
`;
|
|
202
|
+
wrapperElement.appendChild(counterDisplay);
|
|
203
|
+
header.addEventListener('reportNewIncident', () => {
|
|
204
|
+
reportCount++;
|
|
205
|
+
counterDisplay.querySelector('#reportCount').textContent = reportCount.toString();
|
|
206
|
+
console.log(`Report incident clicked ${reportCount} times`);
|
|
207
|
+
});
|
|
208
|
+
header.addEventListener('statusSubscribe', () => {
|
|
209
|
+
subscribeCount++;
|
|
210
|
+
counterDisplay.querySelector('#subscribeCount').textContent = subscribeCount.toString();
|
|
211
|
+
console.log(`Subscribe clicked ${subscribeCount} times`);
|
|
212
|
+
});
|
|
213
|
+
}}
|
|
214
|
+
>
|
|
215
|
+
<upl-statuspage-header></upl-statuspage-header>
|
|
216
|
+
</dees-demowrapper>
|
|
217
|
+
</div>
|
|
218
|
+
</div>
|
|
219
|
+
`;
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsLXN0YXR1c3BhZ2UtaGVhZGVyLmRlbW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvdXBsLXN0YXR1c3BhZ2UtaGVhZGVyLmRlbW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBMkNSLEtBQUssRUFBRSxjQUFtQixFQUFFLEVBQUU7SUFDOUMsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBUSxDQUFDO0lBRTVFLHdCQUF3QjtJQUN4QixNQUFNLE1BQU0sR0FBRztRQUNiLHVCQUF1QjtRQUN2QiwrQkFBK0I7UUFDL0Isc0JBQXNCO1FBQ3RCLDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0IsNkJBQTZCO0tBQzlCLENBQUM7SUFFRixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDbkIsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFdEMsc0JBQXNCO0lBQ3RCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQWtCLEVBQUUsRUFBRTtRQUNsRSxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDdkMsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFrQixFQUFFLEVBQUU7UUFDaEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2pDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lB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
|