@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.
Files changed (96) hide show
  1. package/dist_bundle/bundle.js +5019 -519
  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 +679 -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 +846 -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 +373 -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 +937 -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 +549 -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 +408 -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 +397 -62
  40. package/dist_ts_web/elements/upl-statuspage-statusmonth.d.ts +17 -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 +662 -103
  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 +102 -0
  57. package/dist_ts_web/styles/shared.styles.js +494 -0
  58. package/dist_watch/bundle.js +52265 -32033
  59. package/dist_watch/bundle.js.map +4 -4
  60. package/dist_watch/index.html +1 -0
  61. package/npmextra.json +9 -3
  62. package/package.json +19 -19
  63. package/readme.hints.md +292 -0
  64. package/readme.md +326 -149
  65. package/readme.plan.md +261 -0
  66. package/ts_web/00_commitinfo_data.ts +1 -1
  67. package/ts_web/elements/index.ts +6 -0
  68. package/ts_web/elements/internal/uplinternal-miniheading.ts +24 -17
  69. package/ts_web/elements/upl-statuspage-assetsselector.demo.ts +607 -0
  70. package/ts_web/elements/upl-statuspage-assetsselector.ts +600 -18
  71. package/ts_web/elements/upl-statuspage-footer.demo.ts +744 -0
  72. package/ts_web/elements/upl-statuspage-footer.ts +662 -30
  73. package/ts_web/elements/upl-statuspage-header.demo.ts +241 -0
  74. package/ts_web/elements/upl-statuspage-header.ts +289 -52
  75. package/ts_web/elements/upl-statuspage-incidents.demo.ts +1216 -0
  76. package/ts_web/elements/upl-statuspage-incidents.ts +840 -26
  77. package/ts_web/elements/upl-statuspage-pagetitle.demo.ts +25 -0
  78. package/ts_web/elements/upl-statuspage-pagetitle.ts +89 -0
  79. package/ts_web/elements/upl-statuspage-statsgrid.demo.ts +315 -0
  80. package/ts_web/elements/upl-statuspage-statsgrid.ts +478 -0
  81. package/ts_web/elements/upl-statuspage-statusbar.demo.ts +393 -0
  82. package/ts_web/elements/upl-statuspage-statusbar.ts +332 -20
  83. package/ts_web/elements/upl-statuspage-statusdetails.demo.ts +754 -0
  84. package/ts_web/elements/upl-statuspage-statusdetails.ts +321 -37
  85. package/ts_web/elements/upl-statuspage-statusmonth.demo.ts +876 -0
  86. package/ts_web/elements/upl-statuspage-statusmonth.ts +584 -79
  87. package/ts_web/interfaces/index.ts +95 -0
  88. package/ts_web/pages/index.ts +4 -1
  89. package/ts_web/pages/statuspage-allgreen.ts +412 -0
  90. package/ts_web/pages/statuspage-demo.ts +653 -0
  91. package/ts_web/pages/statuspage-maintenance.ts +570 -0
  92. package/ts_web/pages/statuspage-outage.ts +568 -0
  93. package/ts_web/styles/shared.styles.ts +531 -0
  94. package/dist_ts_web/pages/page1.d.ts +0 -1
  95. package/dist_ts_web/pages/page1.js +0 -11
  96. package/ts_web/pages/page1.ts +0 -11
@@ -1,109 +1,396 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
6
27
  };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
9
34
  };
10
- import { DeesElement, property, html, customElement, css, cssManager } from '@design.estate/dees-element';
35
+ import { DeesElement, property, html, customElement, css, cssManager, unsafeCSS } from '@design.estate/dees-element';
11
36
  import * as domtools from '@design.estate/dees-domtools';
12
- let UplStatuspageHeader = class UplStatuspageHeader extends DeesElement {
13
- // STATIC
14
- static { this.demo = () => html `
15
- <upl-statuspage-header></upl-statuspage-header>
16
- `; }
17
- constructor() {
18
- super();
37
+ import * as sharedStyles from '../styles/shared.styles.js';
38
+ import { demoFunc } from './upl-statuspage-header.demo.js';
39
+ let UplStatuspageHeader = (() => {
40
+ let _classDecorators = [customElement('upl-statuspage-header')];
41
+ let _classDescriptor;
42
+ let _classExtraInitializers = [];
43
+ let _classThis;
44
+ let _classSuper = DeesElement;
45
+ let _pageTitle_decorators;
46
+ let _pageTitle_initializers = [];
47
+ let _pageTitle_extraInitializers = [];
48
+ let _showReportButton_decorators;
49
+ let _showReportButton_initializers = [];
50
+ let _showReportButton_extraInitializers = [];
51
+ let _showSubscribeButton_decorators;
52
+ let _showSubscribeButton_initializers = [];
53
+ let _showSubscribeButton_extraInitializers = [];
54
+ let _logoUrl_decorators;
55
+ let _logoUrl_initializers = [];
56
+ let _logoUrl_extraInitializers = [];
57
+ let _loading_decorators;
58
+ let _loading_initializers = [];
59
+ let _loading_extraInitializers = [];
60
+ var UplStatuspageHeader = class extends _classSuper {
61
+ static { _classThis = this; }
62
+ static {
63
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
64
+ _pageTitle_decorators = [property({ type: String })];
65
+ _showReportButton_decorators = [property({ type: Boolean })];
66
+ _showSubscribeButton_decorators = [property({ type: Boolean })];
67
+ _logoUrl_decorators = [property({ type: String })];
68
+ _loading_decorators = [property({ type: Boolean })];
69
+ __esDecorate(this, null, _pageTitle_decorators, { kind: "accessor", name: "pageTitle", static: false, private: false, access: { has: obj => "pageTitle" in obj, get: obj => obj.pageTitle, set: (obj, value) => { obj.pageTitle = value; } }, metadata: _metadata }, _pageTitle_initializers, _pageTitle_extraInitializers);
70
+ __esDecorate(this, null, _showReportButton_decorators, { kind: "accessor", name: "showReportButton", static: false, private: false, access: { has: obj => "showReportButton" in obj, get: obj => obj.showReportButton, set: (obj, value) => { obj.showReportButton = value; } }, metadata: _metadata }, _showReportButton_initializers, _showReportButton_extraInitializers);
71
+ __esDecorate(this, null, _showSubscribeButton_decorators, { kind: "accessor", name: "showSubscribeButton", static: false, private: false, access: { has: obj => "showSubscribeButton" in obj, get: obj => obj.showSubscribeButton, set: (obj, value) => { obj.showSubscribeButton = value; } }, metadata: _metadata }, _showSubscribeButton_initializers, _showSubscribeButton_extraInitializers);
72
+ __esDecorate(this, null, _logoUrl_decorators, { kind: "accessor", name: "logoUrl", static: false, private: false, access: { has: obj => "logoUrl" in obj, get: obj => obj.logoUrl, set: (obj, value) => { obj.logoUrl = value; } }, metadata: _metadata }, _logoUrl_initializers, _logoUrl_extraInitializers);
73
+ __esDecorate(this, null, _loading_decorators, { kind: "accessor", name: "loading", static: false, private: false, access: { has: obj => "loading" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);
74
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
75
+ UplStatuspageHeader = _classThis = _classDescriptor.value;
76
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
77
+ }
78
+ // STATIC
79
+ static demo = demoFunc;
80
+ #pageTitle_accessor_storage = __runInitializers(this, _pageTitle_initializers, "Statuspage Title");
19
81
  // INSTANCE
20
- this.pageTitle = "Statuspage Title";
21
- }
22
- static { this.styles = [
23
- domtools.elementBasic.staticStyles,
24
- css `
82
+ get pageTitle() { return this.#pageTitle_accessor_storage; }
83
+ set pageTitle(value) { this.#pageTitle_accessor_storage = value; }
84
+ #showReportButton_accessor_storage = (__runInitializers(this, _pageTitle_extraInitializers), __runInitializers(this, _showReportButton_initializers, true));
85
+ get showReportButton() { return this.#showReportButton_accessor_storage; }
86
+ set showReportButton(value) { this.#showReportButton_accessor_storage = value; }
87
+ #showSubscribeButton_accessor_storage = (__runInitializers(this, _showReportButton_extraInitializers), __runInitializers(this, _showSubscribeButton_initializers, true));
88
+ get showSubscribeButton() { return this.#showSubscribeButton_accessor_storage; }
89
+ set showSubscribeButton(value) { this.#showSubscribeButton_accessor_storage = value; }
90
+ #logoUrl_accessor_storage = (__runInitializers(this, _showSubscribeButton_extraInitializers), __runInitializers(this, _logoUrl_initializers, ''));
91
+ get logoUrl() { return this.#logoUrl_accessor_storage; }
92
+ set logoUrl(value) { this.#logoUrl_accessor_storage = value; }
93
+ #loading_accessor_storage = (__runInitializers(this, _logoUrl_extraInitializers), __runInitializers(this, _loading_initializers, false));
94
+ get loading() { return this.#loading_accessor_storage; }
95
+ set loading(value) { this.#loading_accessor_storage = value; }
96
+ constructor() {
97
+ super();
98
+ __runInitializers(this, _loading_extraInitializers);
99
+ }
100
+ static styles = [
101
+ domtools.elementBasic.staticStyles,
102
+ css `
25
103
  :host {
26
- display: block;
27
- background: ${cssManager.bdTheme('#eeeeeb', '#222222')};
28
- font-family: Inter;
29
- color: ${cssManager.bdTheme('#333333', '#ffffff')};
104
+ display: block;
105
+ background: ${cssManager.bdTheme('rgba(255, 255, 255, 0.85)', 'rgba(9, 9, 11, 0.85)')};
106
+ font-family: ${unsafeCSS(sharedStyles.fonts.base)};
107
+ color: ${sharedStyles.colors.text.primary};
108
+ border-bottom: 1px solid ${cssManager.bdTheme('rgba(0, 0, 0, 0.06)', 'rgba(255, 255, 255, 0.06)')};
109
+ position: sticky;
110
+ top: 0;
111
+ z-index: 40;
112
+ backdrop-filter: blur(16px) saturate(180%);
113
+ -webkit-backdrop-filter: blur(16px) saturate(180%);
114
+ }
115
+
116
+ .header-container {
117
+ max-width: 1200px;
118
+ margin: 0 auto;
119
+ padding: 0 ${unsafeCSS(sharedStyles.spacing.lg)};
120
+ }
121
+
122
+ .header-nav {
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: space-between;
126
+ height: 64px;
127
+ }
128
+
129
+ .header-left {
130
+ display: flex;
131
+ align-items: center;
132
+ gap: ${unsafeCSS(sharedStyles.spacing.md)};
133
+ }
134
+
135
+ .header-actions {
136
+ display: flex;
137
+ align-items: center;
138
+ gap: ${unsafeCSS(sharedStyles.spacing.sm)};
139
+ }
140
+
141
+ .actionButton {
142
+ font-family: ${unsafeCSS(sharedStyles.fonts.base)};
143
+ font-size: 13px;
144
+ font-weight: 500;
145
+ padding: 0 14px;
146
+ border-radius: ${unsafeCSS(sharedStyles.borderRadius.base)};
147
+ cursor: pointer;
148
+ user-select: none;
149
+ transition: all ${unsafeCSS(sharedStyles.durations.fast)} ${unsafeCSS(sharedStyles.easings.default)};
150
+ display: inline-flex;
151
+ align-items: center;
152
+ justify-content: center;
153
+ gap: 6px;
154
+ height: 36px;
155
+ background: transparent;
156
+ border: 1px solid ${sharedStyles.colors.border.default};
157
+ color: ${sharedStyles.colors.text.primary};
158
+ letter-spacing: -0.01em;
159
+ position: relative;
160
+ overflow: hidden;
161
+ }
162
+
163
+ .actionButton::before {
164
+ content: '';
165
+ position: absolute;
166
+ inset: 0;
167
+ background: ${cssManager.bdTheme('linear-gradient(135deg, rgba(0, 0, 0, 0.02) 0%, transparent 100%)', 'linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, transparent 100%)')};
168
+ opacity: 0;
169
+ transition: opacity ${unsafeCSS(sharedStyles.durations.fast)} ${unsafeCSS(sharedStyles.easings.default)};
170
+ }
171
+
172
+ .actionButton:hover {
173
+ background: ${sharedStyles.colors.background.secondary};
174
+ border-color: ${sharedStyles.colors.border.muted};
175
+ box-shadow: ${unsafeCSS(sharedStyles.shadows.sm)};
176
+ transform: translateY(-1px);
177
+ }
178
+
179
+ .actionButton:hover::before {
180
+ opacity: 1;
181
+ }
182
+
183
+ .actionButton:active {
184
+ transform: translateY(0) scale(0.98);
185
+ transition-duration: ${unsafeCSS(sharedStyles.durations.fast)};
186
+ box-shadow: none;
187
+ }
188
+
189
+ .actionButton:focus-visible {
190
+ outline: 2px solid ${sharedStyles.colors.accent.focus};
191
+ outline-offset: 2px;
192
+ }
193
+
194
+ /* Button icon styles */
195
+ .actionButton svg {
196
+ width: 14px;
197
+ height: 14px;
198
+ flex-shrink: 0;
199
+ transition: transform ${unsafeCSS(sharedStyles.durations.fast)} ${unsafeCSS(sharedStyles.easings.default)};
200
+ }
201
+
202
+ .actionButton:hover svg {
203
+ transform: scale(1.1);
204
+ }
205
+
206
+ .site-title {
207
+ font-size: 17px;
208
+ font-weight: 600;
209
+ letter-spacing: -0.02em;
210
+ color: ${sharedStyles.colors.text.primary};
211
+ transition: color ${unsafeCSS(sharedStyles.durations.fast)} ${unsafeCSS(sharedStyles.easings.default)};
212
+ }
213
+
214
+ .site-title:hover {
215
+ color: ${sharedStyles.colors.text.secondary};
216
+ }
217
+
218
+ .logo {
219
+ height: 28px;
220
+ width: auto;
221
+ filter: ${cssManager.bdTheme('none', 'brightness(0) invert(1)')};
222
+ transition: all ${unsafeCSS(sharedStyles.durations.normal)} ${unsafeCSS(sharedStyles.easings.default)};
223
+ }
224
+
225
+ .logo:hover {
226
+ opacity: 0.8;
227
+ transform: scale(1.02);
228
+ }
229
+
230
+ .page-info {
231
+ padding: ${unsafeCSS(sharedStyles.spacing.lg)} 0 ${unsafeCSS(sharedStyles.spacing.xl)} 0;
232
+ }
233
+
234
+ .page-title {
235
+ font-size: 48px;
236
+ font-weight: 700;
237
+ letter-spacing: -0.03em;
238
+ line-height: 1.1;
239
+ color: ${sharedStyles.colors.text.primary};
240
+ margin: 0 0 16px 0;
241
+ }
242
+
243
+ .page-subtitle {
244
+ font-size: 18px;
245
+ color: ${sharedStyles.colors.text.secondary};
246
+ margin: 0;
247
+ line-height: 1.5;
248
+ }
249
+
250
+ /* Primary button variant */
251
+ .actionButton.primary {
252
+ background: ${sharedStyles.colors.accent.primary};
253
+ color: ${sharedStyles.colors.background.primary};
254
+ border-color: transparent;
255
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
256
+ }
257
+
258
+ .actionButton.primary::before {
259
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, transparent 100%);
260
+ }
261
+
262
+ .actionButton.primary:hover {
263
+ background: ${sharedStyles.colors.accent.hover};
264
+ box-shadow: ${unsafeCSS(sharedStyles.shadows.md)};
265
+ }
266
+
267
+ .loading-skeleton {
268
+ height: 64px;
269
+ background: ${sharedStyles.colors.background.secondary};
270
+ border-bottom: 1px solid ${sharedStyles.colors.border.default};
271
+ position: relative;
272
+ overflow: hidden;
273
+ }
274
+
275
+ .loading-skeleton::after {
276
+ content: '';
277
+ position: absolute;
278
+ inset: 0;
279
+ background: ${cssManager.bdTheme('linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.04) 50%, transparent 100%)', 'linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.04) 50%, transparent 100%)')};
280
+ animation: shimmer 1.5s ${unsafeCSS(sharedStyles.easings.default)} infinite;
281
+ }
282
+
283
+ @keyframes shimmer {
284
+ 0% { transform: translateX(-100%); }
285
+ 100% { transform: translateX(200%); }
286
+ }
287
+
288
+ @media (max-width: 768px) {
289
+ .header-container {
290
+ padding: 0 ${unsafeCSS(sharedStyles.spacing.md)};
291
+ }
292
+
293
+ .header-nav {
294
+ height: 56px;
295
+ }
296
+
297
+ .header-left {
298
+ gap: ${unsafeCSS(sharedStyles.spacing.sm)};
30
299
  }
31
300
 
32
- .mainbox {
33
- margin: auto;
34
- max-width: 900px;
301
+ .site-title {
302
+ font-size: 15px;
35
303
  }
36
304
 
37
- .mainbox .actions {
38
- display: flex;
39
- justify-content: flex-end;
40
- padding: 20px 0px 40px 0px;
305
+ .logo {
306
+ height: 24px;
41
307
  }
308
+ }
42
309
 
43
- .mainbox .actions .actionButton {
44
- background: ${cssManager.bdTheme('#00000000', '#ffffff00')};
45
-
310
+ @media (max-width: 640px) {
311
+ .actionButton {
46
312
  font-size: 12px;
47
- border: 1px solid ${cssManager.bdTheme('#333', '#CCC')};
48
- padding: 6px 10px 7px 10px;
49
- margin-left: 10px;
50
- border-radius: 3px;
51
- cursor: pointer;
52
- user-select: none;
313
+ padding: 0 10px;
314
+ height: 32px;
315
+ gap: 4px;
53
316
  }
54
317
 
55
- .mainbox .actions .actionButton:hover {
56
- background: ${cssManager.bdTheme('#333333', '#efefef')};
57
- border: 1px solid ${cssManager.bdTheme('#333333', '#efefef')};
58
- color: ${cssManager.bdTheme('#fff', '#333333')};
318
+ .actionButton svg {
319
+ width: 12px;
320
+ height: 12px;
59
321
  }
60
322
 
61
- h1 {
62
- margin: 0px;
63
- text-align: center;
64
- font-weight: 600;
65
- font-size: 35px;
323
+ .actionButton .button-text {
324
+ display: none;
66
325
  }
67
326
 
68
- h2 {
69
- margin: 0px;
70
- margin-top: 10px;
71
- text-align: center;
72
- font-weight: 600;
73
- font-size: 18px;
327
+ .page-title {
328
+ font-size: 32px;
74
329
  }
330
+
331
+ .page-subtitle {
332
+ font-size: 16px;
333
+ }
334
+
335
+ .header-actions {
336
+ gap: 6px;
337
+ }
338
+ }
75
339
  `
76
- ]; }
77
- render() {
78
- return html `
79
- ${domtools.elementBasic.styles}
80
- <style>
81
-
82
- </style>
83
- <div class="mainbox">
84
- <div class="actions">
85
- <div class="actionButton" @click=${this.dispatchReportNewIncident}>report new incident</div>
86
- <div class="actionButton" @click=${this.dispatchStatusSubscribe}>subscribe</div>
340
+ ];
341
+ render() {
342
+ if (this.loading) {
343
+ return html `
344
+ <div class="loading-skeleton"></div>
345
+ `;
346
+ }
347
+ return html `
348
+ <header>
349
+ <div class="header-container">
350
+ <nav class="header-nav">
351
+ <div class="header-left">
352
+ ${this.logoUrl ? html `
353
+ <img src="${this.logoUrl}" alt="${this.pageTitle}" class="logo">
354
+ ` : ''}
355
+ <h1 class="site-title">${this.pageTitle}</h1>
356
+ </div>
357
+ <div class="header-actions">
358
+ ${this.showReportButton ? html `
359
+ <button class="actionButton" @click=${this.dispatchReportNewIncident}>
360
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
361
+ <path d="M7.86 2h8.28L22 7.86v8.28L16.14 22H7.86L2 16.14V7.86L7.86 2z"></path>
362
+ <line x1="12" y1="8" x2="12" y2="12"></line>
363
+ <line x1="12" y1="16" x2="12.01" y2="16"></line>
364
+ </svg>
365
+ <span class="button-text">Report Issue</span>
366
+ </button>
367
+ ` : ''}
368
+ ${this.showSubscribeButton ? html `
369
+ <button class="actionButton primary" @click=${this.dispatchStatusSubscribe}>
370
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
371
+ <path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"></path>
372
+ <path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"></path>
373
+ </svg>
374
+ <span class="button-text">Subscribe</span>
375
+ </button>
376
+ ` : ''}
377
+ </div>
378
+ </nav>
87
379
  </div>
88
- <h1>${this.pageTitle}</h1>
89
- <h2>STATUS BOARD</h2>
90
- </div>
380
+ </header>
91
381
  `;
92
- }
93
- dispatchReportNewIncident() {
94
- this.dispatchEvent(new CustomEvent('reportNewIncident', {}));
95
- }
96
- dispatchStatusSubscribe() {
97
- this.dispatchEvent(new CustomEvent('statusSubscribe', {}));
98
- }
99
- };
100
- __decorate([
101
- property(),
102
- __metadata("design:type", String)
103
- ], UplStatuspageHeader.prototype, "pageTitle", void 0);
104
- UplStatuspageHeader = __decorate([
105
- customElement('upl-statuspage-header'),
106
- __metadata("design:paramtypes", [])
107
- ], UplStatuspageHeader);
382
+ }
383
+ dispatchReportNewIncident() {
384
+ this.dispatchEvent(new CustomEvent('reportNewIncident', {}));
385
+ }
386
+ dispatchStatusSubscribe() {
387
+ this.dispatchEvent(new CustomEvent('statusSubscribe', {}));
388
+ }
389
+ static {
390
+ __runInitializers(_classThis, _classExtraInitializers);
391
+ }
392
+ };
393
+ return UplStatuspageHeader = _classThis;
394
+ })();
108
395
  export { UplStatuspageHeader };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsLXN0YXR1c3BhZ2UtaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3VwbC1zdGF0dXNwYWdlLWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUF1QixHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0gsT0FBTyxLQUFLLFFBQVEsTUFBTSw4QkFBOEIsQ0FBQztBQVNsRCxJQUFNLG1CQUFtQixHQUF6QixNQUFNLG1CQUFvQixTQUFRLFdBQVc7SUFDbEQsU0FBUzthQUNLLFNBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7O0dBRTlCLEFBRmlCLENBRWhCO0lBT0Y7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQU5WLFdBQVc7UUFFSixjQUFTLEdBQVcsa0JBQWtCLENBQUM7SUFLOUMsQ0FBQzthQUVhLFdBQU0sR0FBRztRQUNyQixRQUFRLENBQUMsWUFBWSxDQUFDLFlBQVk7UUFDbEMsR0FBRyxDQUFBOzs7d0JBR2lCLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7bUJBRTdDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O3dCQWVuQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7Ozs4QkFHdEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDOzs7Ozs7Ozs7d0JBU3hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs4QkFDbEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO21CQUNuRCxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUJuRDtLQUNGLEFBdERtQixDQXNEbkI7SUFFTSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUE7UUFDUCxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU07Ozs7Ozs2Q0FNUyxJQUFJLENBQUMseUJBQXlCOzZDQUM5QixJQUFJLENBQUMsdUJBQXVCOztjQUUzRCxJQUFJLENBQUMsU0FBUzs7O0tBR3ZCLENBQUM7SUFDSixDQUFDO0lBRU0seUJBQXlCO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsbUJBQW1CLEVBQUUsRUFFdkQsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsaUJBQWlCLEVBQUUsRUFFckQsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDOztBQTFGTTtJQUROLFFBQVEsRUFBRTs7c0RBQ21DO0FBUm5DLG1CQUFtQjtJQUQvQixhQUFhLENBQUMsdUJBQXVCLENBQUM7O0dBQzFCLG1CQUFtQixDQW1HL0IifQ==
396
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsLXN0YXR1c3BhZ2UtaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3VwbC1zdGF0dXNwYWdlLWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBdUIsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxSSxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxZQUFZLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0lBUzlDLG1CQUFtQjs0QkFEL0IsYUFBYSxDQUFDLHVCQUF1QixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7bUNBQW5CLFNBQVEsV0FBVzs7OztxQ0FLakQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDOzRDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7K0NBRzNCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzttQ0FHM0IsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO21DQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFYNUIsZ0xBQVMsU0FBUyw2QkFBVCxTQUFTLDZGQUE4QjtZQUdoRCxxTUFBUyxnQkFBZ0IsNkJBQWhCLGdCQUFnQiwyR0FBaUI7WUFHMUMsOE1BQVMsbUJBQW1CLDZCQUFuQixtQkFBbUIsaUhBQWlCO1lBRzdDLDBLQUFTLE9BQU8sNkJBQVAsT0FBTyx5RkFBYztZQUc5QiwwS0FBUyxPQUFPLDZCQUFQ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
@@ -1,5 +1,6 @@
1
- import * as plugins from '../plugins.js';
2
1
  import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import type { IIncidentDetails } from '../interfaces/index.js';
3
+ import './internal/uplinternal-miniheading.js';
3
4
  declare global {
4
5
  interface HTMLElementTagNameMap {
5
6
  'upl-statuspage-incidents': UplStatuspageIncidents;
@@ -7,12 +8,29 @@ declare global {
7
8
  }
8
9
  export declare class UplStatuspageIncidents extends DeesElement {
9
10
  static demo: () => TemplateResult<1>;
10
- currentIncidences: plugins.uplInterfaces.data.IIncident[];
11
- pastIncidences: plugins.uplInterfaces.data.IIncident[];
12
- whitelabel: boolean;
11
+ accessor currentIncidents: IIncidentDetails[];
12
+ accessor pastIncidents: IIncidentDetails[];
13
+ accessor whitelabel: boolean;
14
+ accessor loading: boolean;
15
+ accessor daysToShow: number;
16
+ accessor subscribedIncidentIds: string[];
17
+ private accessor expandedIncidents;
18
+ private accessor subscribedIncidents;
13
19
  constructor();
20
+ connectedCallback(): Promise<void>;
21
+ updated(changedProperties: Map<string, any>): void;
14
22
  static styles: import("@design.estate/dees-element").CSSResult[];
15
23
  render(): TemplateResult;
24
+ private renderIncident;
25
+ private renderUpdate;
26
+ private getStatusIcon;
27
+ private formatDate;
28
+ private formatDuration;
29
+ private toggleIncident;
30
+ private handleIncidentClick;
31
+ private handleShowMore;
32
+ private isSubscribedToIncident;
33
+ private handleIncidentSubscribe;
16
34
  dispatchReportNewIncident(): void;
17
35
  dispatchStatusSubscribe(): void;
18
36
  }
@@ -0,0 +1 @@
1
+ export declare const demoFunc: () => import("@design.estate/dees-element").TemplateResult<1>;