@uptime.link/statuspage 1.1.0 → 1.3.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 (29) hide show
  1. package/dist_bundle/bundle.js +1814 -917
  2. package/dist_bundle/bundle.js.map +3 -3
  3. package/dist_ts_web/00_commitinfo_data.js +1 -1
  4. package/dist_ts_web/elements/upl-statuspage-assetsselector.js +119 -45
  5. package/dist_ts_web/elements/upl-statuspage-footer.js +81 -27
  6. package/dist_ts_web/elements/upl-statuspage-header.js +79 -19
  7. package/dist_ts_web/elements/upl-statuspage-incidents.js +242 -55
  8. package/dist_ts_web/elements/upl-statuspage-statsgrid.d.ts +3 -0
  9. package/dist_ts_web/elements/upl-statuspage-statsgrid.js +239 -52
  10. package/dist_ts_web/elements/upl-statuspage-statusbar.js +58 -7
  11. package/dist_ts_web/elements/upl-statuspage-statusdetails.js +36 -11
  12. package/dist_ts_web/elements/upl-statuspage-statusmonth.d.ts +2 -0
  13. package/dist_ts_web/elements/upl-statuspage-statusmonth.js +415 -230
  14. package/dist_ts_web/styles/shared.styles.d.ts +22 -0
  15. package/dist_ts_web/styles/shared.styles.js +146 -3
  16. package/dist_watch/bundle.js +1425 -446
  17. package/dist_watch/bundle.js.map +3 -3
  18. package/dist_watch/index.html +1 -0
  19. package/package.json +1 -1
  20. package/ts_web/00_commitinfo_data.ts +1 -1
  21. package/ts_web/elements/upl-statuspage-assetsselector.ts +118 -44
  22. package/ts_web/elements/upl-statuspage-footer.ts +80 -26
  23. package/ts_web/elements/upl-statuspage-header.ts +87 -18
  24. package/ts_web/elements/upl-statuspage-incidents.ts +248 -56
  25. package/ts_web/elements/upl-statuspage-statsgrid.ts +235 -55
  26. package/ts_web/elements/upl-statuspage-statusbar.ts +57 -6
  27. package/ts_web/elements/upl-statuspage-statusdetails.ts +35 -10
  28. package/ts_web/elements/upl-statuspage-statusmonth.ts +436 -252
  29. package/ts_web/styles/shared.styles.ts +166 -2
@@ -84,15 +84,61 @@ export const easings = {
84
84
  default: 'cubic-bezier(0.4, 0, 0.2, 1)',
85
85
  smooth: 'cubic-bezier(0.4, 0, 0.6, 1)',
86
86
  bounce: 'cubic-bezier(0.68, -0.55, 0.265, 1.55)',
87
- snappy: 'cubic-bezier(0.2, 0, 0, 1)'
87
+ snappy: 'cubic-bezier(0.2, 0, 0, 1)',
88
+ spring: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)'
88
89
  };
89
90
 
90
91
  // Durations
91
92
  export const durations = {
93
+ instant: '50ms',
92
94
  fast: '100ms',
93
95
  normal: '200ms',
94
96
  slow: '300ms',
95
- slower: '500ms'
97
+ slower: '500ms',
98
+ slowest: '800ms'
99
+ };
100
+
101
+ // Status gradients for backgrounds
102
+ export const statusGradients = {
103
+ operational: cssManager.bdTheme(
104
+ 'linear-gradient(135deg, rgba(22, 163, 74, 0.08) 0%, rgba(22, 163, 74, 0.02) 100%)',
105
+ 'linear-gradient(135deg, rgba(34, 197, 94, 0.12) 0%, rgba(34, 197, 94, 0.03) 100%)'
106
+ ),
107
+ degraded: cssManager.bdTheme(
108
+ 'linear-gradient(135deg, rgba(217, 119, 6, 0.08) 0%, rgba(217, 119, 6, 0.02) 100%)',
109
+ 'linear-gradient(135deg, rgba(251, 191, 36, 0.12) 0%, rgba(251, 191, 36, 0.03) 100%)'
110
+ ),
111
+ partial: cssManager.bdTheme(
112
+ 'linear-gradient(135deg, rgba(220, 38, 38, 0.08) 0%, rgba(220, 38, 38, 0.02) 100%)',
113
+ 'linear-gradient(135deg, rgba(248, 113, 113, 0.12) 0%, rgba(248, 113, 113, 0.03) 100%)'
114
+ ),
115
+ major: cssManager.bdTheme(
116
+ 'linear-gradient(135deg, rgba(185, 28, 28, 0.10) 0%, rgba(185, 28, 28, 0.03) 100%)',
117
+ 'linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, rgba(239, 68, 68, 0.04) 100%)'
118
+ ),
119
+ maintenance: cssManager.bdTheme(
120
+ 'linear-gradient(135deg, rgba(37, 99, 235, 0.08) 0%, rgba(37, 99, 235, 0.02) 100%)',
121
+ 'linear-gradient(135deg, rgba(96, 165, 250, 0.12) 0%, rgba(96, 165, 250, 0.03) 100%)'
122
+ )
123
+ };
124
+
125
+ // Glassmorphism styles
126
+ export const glass = {
127
+ light: 'background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);',
128
+ dark: 'background: rgba(9, 9, 11, 0.8); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);',
129
+ subtle: cssManager.bdTheme(
130
+ 'background: rgba(255, 255, 255, 0.5); backdrop-filter: blur(8px);',
131
+ 'background: rgba(9, 9, 11, 0.6); backdrop-filter: blur(8px);'
132
+ )
133
+ };
134
+
135
+ // Status glow shadows
136
+ export const statusGlows = {
137
+ operational: '0 0 20px -5px rgba(34, 197, 94, 0.4)',
138
+ degraded: '0 0 20px -5px rgba(251, 191, 36, 0.4)',
139
+ partial: '0 0 20px -5px rgba(248, 113, 113, 0.4)',
140
+ major: '0 0 20px -5px rgba(239, 68, 68, 0.5)',
141
+ maintenance: '0 0 20px -5px rgba(96, 165, 250, 0.4)'
96
142
  };
97
143
 
98
144
  export const commonStyles = css`
@@ -212,6 +258,28 @@ export const commonStyles = css`
212
258
  50% { opacity: 0.5; }
213
259
  }
214
260
 
261
+ /* Pulse ring animation for active status */
262
+ @keyframes pulse-ring {
263
+ 0% {
264
+ transform: scale(1);
265
+ opacity: 0.8;
266
+ }
267
+ 100% {
268
+ transform: scale(2.5);
269
+ opacity: 0;
270
+ }
271
+ }
272
+
273
+ /* Shimmer effect for loading states */
274
+ @keyframes shimmer {
275
+ 0% {
276
+ background-position: -200% 0;
277
+ }
278
+ 100% {
279
+ background-position: 200% 0;
280
+ }
281
+ }
282
+
215
283
  /* Fade in animation */
216
284
  @keyframes fadeIn {
217
285
  from { opacity: 0; transform: translateY(4px); }
@@ -222,6 +290,22 @@ export const commonStyles = css`
222
290
  animation: fadeIn ${unsafeCSS(durations.slow)} ${unsafeCSS(easings.default)} forwards;
223
291
  }
224
292
 
293
+ /* Fade in up animation */
294
+ @keyframes fadeInUp {
295
+ from {
296
+ opacity: 0;
297
+ transform: translateY(16px);
298
+ }
299
+ to {
300
+ opacity: 1;
301
+ transform: translateY(0);
302
+ }
303
+ }
304
+
305
+ .fade-in-up {
306
+ animation: fadeInUp ${unsafeCSS(durations.slower)} ${unsafeCSS(easings.default)} forwards;
307
+ }
308
+
225
309
  /* Scale in animation */
226
310
  @keyframes scaleIn {
227
311
  from { opacity: 0; transform: scale(0.95); }
@@ -232,6 +316,86 @@ export const commonStyles = css`
232
316
  animation: scaleIn ${unsafeCSS(durations.slow)} ${unsafeCSS(easings.bounce)} forwards;
233
317
  }
234
318
 
319
+ /* Slide down animation for expanding content */
320
+ @keyframes slideDown {
321
+ from {
322
+ opacity: 0;
323
+ transform: translateY(-8px);
324
+ }
325
+ to {
326
+ opacity: 1;
327
+ transform: translateY(0);
328
+ }
329
+ }
330
+
331
+ .slide-down {
332
+ animation: slideDown ${unsafeCSS(durations.slow)} ${unsafeCSS(easings.default)} forwards;
333
+ }
334
+
335
+ /* Stagger animation delay utilities */
336
+ .stagger-1 { animation-delay: 50ms; }
337
+ .stagger-2 { animation-delay: 100ms; }
338
+ .stagger-3 { animation-delay: 150ms; }
339
+ .stagger-4 { animation-delay: 200ms; }
340
+ .stagger-5 { animation-delay: 250ms; }
341
+
342
+ /* Status indicator with pulse ring */
343
+ .status-dot-animated {
344
+ position: relative;
345
+ width: 10px;
346
+ height: 10px;
347
+ border-radius: 50%;
348
+ }
349
+
350
+ .status-dot-animated::before {
351
+ content: '';
352
+ position: absolute;
353
+ inset: 0;
354
+ border-radius: 50%;
355
+ background: inherit;
356
+ animation: pulse-ring 2s ${unsafeCSS(easings.default)} infinite;
357
+ }
358
+
359
+ .status-dot-animated.operational::before {
360
+ background: ${colors.status.operational};
361
+ }
362
+
363
+ .status-dot-animated.degraded::before,
364
+ .status-dot-animated.partial_outage::before,
365
+ .status-dot-animated.major_outage::before {
366
+ animation: pulse-ring 1.5s ${unsafeCSS(easings.default)} infinite;
367
+ }
368
+
369
+ /* Hover lift effect */
370
+ .hover-lift {
371
+ transition: transform ${unsafeCSS(durations.normal)} ${unsafeCSS(easings.default)},
372
+ box-shadow ${unsafeCSS(durations.normal)} ${unsafeCSS(easings.default)};
373
+ }
374
+
375
+ .hover-lift:hover {
376
+ transform: translateY(-2px);
377
+ }
378
+
379
+ /* Icon animation */
380
+ .icon-spin {
381
+ animation: spin 1s linear infinite;
382
+ }
383
+
384
+ @keyframes spin {
385
+ from { transform: rotate(0deg); }
386
+ to { transform: rotate(360deg); }
387
+ }
388
+
389
+ /* Bounce animation for attention */
390
+ @keyframes bounce {
391
+ 0%, 100% { transform: translateY(0); }
392
+ 50% { transform: translateY(-4px); }
393
+ }
394
+
395
+ .bounce {
396
+ animation: bounce 1s ${unsafeCSS(easings.bounce)} infinite;
397
+ }
398
+
235
399
  /* Container styles */
236
400
  .container {
237
401
  max-width: 1200px;