@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.
- package/dist_bundle/bundle.js +1814 -917
- package/dist_bundle/bundle.js.map +3 -3
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/upl-statuspage-assetsselector.js +119 -45
- package/dist_ts_web/elements/upl-statuspage-footer.js +81 -27
- package/dist_ts_web/elements/upl-statuspage-header.js +79 -19
- package/dist_ts_web/elements/upl-statuspage-incidents.js +242 -55
- package/dist_ts_web/elements/upl-statuspage-statsgrid.d.ts +3 -0
- package/dist_ts_web/elements/upl-statuspage-statsgrid.js +239 -52
- package/dist_ts_web/elements/upl-statuspage-statusbar.js +58 -7
- package/dist_ts_web/elements/upl-statuspage-statusdetails.js +36 -11
- package/dist_ts_web/elements/upl-statuspage-statusmonth.d.ts +2 -0
- package/dist_ts_web/elements/upl-statuspage-statusmonth.js +415 -230
- package/dist_ts_web/styles/shared.styles.d.ts +22 -0
- package/dist_ts_web/styles/shared.styles.js +146 -3
- package/dist_watch/bundle.js +1425 -446
- package/dist_watch/bundle.js.map +3 -3
- package/dist_watch/index.html +1 -0
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/upl-statuspage-assetsselector.ts +118 -44
- package/ts_web/elements/upl-statuspage-footer.ts +80 -26
- package/ts_web/elements/upl-statuspage-header.ts +87 -18
- package/ts_web/elements/upl-statuspage-incidents.ts +248 -56
- package/ts_web/elements/upl-statuspage-statsgrid.ts +235 -55
- package/ts_web/elements/upl-statuspage-statusbar.ts +57 -6
- package/ts_web/elements/upl-statuspage-statusdetails.ts +35 -10
- package/ts_web/elements/upl-statuspage-statusmonth.ts +436 -252
- package/ts_web/styles/shared.styles.ts +166 -2
package/dist_watch/bundle.js
CHANGED
|
@@ -45752,13 +45752,53 @@ var easings = {
|
|
|
45752
45752
|
default: "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
45753
45753
|
smooth: "cubic-bezier(0.4, 0, 0.6, 1)",
|
|
45754
45754
|
bounce: "cubic-bezier(0.68, -0.55, 0.265, 1.55)",
|
|
45755
|
-
snappy: "cubic-bezier(0.2, 0, 0, 1)"
|
|
45755
|
+
snappy: "cubic-bezier(0.2, 0, 0, 1)",
|
|
45756
|
+
spring: "cubic-bezier(0.175, 0.885, 0.32, 1.275)"
|
|
45756
45757
|
};
|
|
45757
45758
|
var durations = {
|
|
45759
|
+
instant: "50ms",
|
|
45758
45760
|
fast: "100ms",
|
|
45759
45761
|
normal: "200ms",
|
|
45760
45762
|
slow: "300ms",
|
|
45761
|
-
slower: "500ms"
|
|
45763
|
+
slower: "500ms",
|
|
45764
|
+
slowest: "800ms"
|
|
45765
|
+
};
|
|
45766
|
+
var statusGradients = {
|
|
45767
|
+
operational: cssManager.bdTheme(
|
|
45768
|
+
"linear-gradient(135deg, rgba(22, 163, 74, 0.08) 0%, rgba(22, 163, 74, 0.02) 100%)",
|
|
45769
|
+
"linear-gradient(135deg, rgba(34, 197, 94, 0.12) 0%, rgba(34, 197, 94, 0.03) 100%)"
|
|
45770
|
+
),
|
|
45771
|
+
degraded: cssManager.bdTheme(
|
|
45772
|
+
"linear-gradient(135deg, rgba(217, 119, 6, 0.08) 0%, rgba(217, 119, 6, 0.02) 100%)",
|
|
45773
|
+
"linear-gradient(135deg, rgba(251, 191, 36, 0.12) 0%, rgba(251, 191, 36, 0.03) 100%)"
|
|
45774
|
+
),
|
|
45775
|
+
partial: cssManager.bdTheme(
|
|
45776
|
+
"linear-gradient(135deg, rgba(220, 38, 38, 0.08) 0%, rgba(220, 38, 38, 0.02) 100%)",
|
|
45777
|
+
"linear-gradient(135deg, rgba(248, 113, 113, 0.12) 0%, rgba(248, 113, 113, 0.03) 100%)"
|
|
45778
|
+
),
|
|
45779
|
+
major: cssManager.bdTheme(
|
|
45780
|
+
"linear-gradient(135deg, rgba(185, 28, 28, 0.10) 0%, rgba(185, 28, 28, 0.03) 100%)",
|
|
45781
|
+
"linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, rgba(239, 68, 68, 0.04) 100%)"
|
|
45782
|
+
),
|
|
45783
|
+
maintenance: cssManager.bdTheme(
|
|
45784
|
+
"linear-gradient(135deg, rgba(37, 99, 235, 0.08) 0%, rgba(37, 99, 235, 0.02) 100%)",
|
|
45785
|
+
"linear-gradient(135deg, rgba(96, 165, 250, 0.12) 0%, rgba(96, 165, 250, 0.03) 100%)"
|
|
45786
|
+
)
|
|
45787
|
+
};
|
|
45788
|
+
var glass = {
|
|
45789
|
+
light: "background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);",
|
|
45790
|
+
dark: "background: rgba(9, 9, 11, 0.8); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);",
|
|
45791
|
+
subtle: cssManager.bdTheme(
|
|
45792
|
+
"background: rgba(255, 255, 255, 0.5); backdrop-filter: blur(8px);",
|
|
45793
|
+
"background: rgba(9, 9, 11, 0.6); backdrop-filter: blur(8px);"
|
|
45794
|
+
)
|
|
45795
|
+
};
|
|
45796
|
+
var statusGlows = {
|
|
45797
|
+
operational: "0 0 20px -5px rgba(34, 197, 94, 0.4)",
|
|
45798
|
+
degraded: "0 0 20px -5px rgba(251, 191, 36, 0.4)",
|
|
45799
|
+
partial: "0 0 20px -5px rgba(248, 113, 113, 0.4)",
|
|
45800
|
+
major: "0 0 20px -5px rgba(239, 68, 68, 0.5)",
|
|
45801
|
+
maintenance: "0 0 20px -5px rgba(96, 165, 250, 0.4)"
|
|
45762
45802
|
};
|
|
45763
45803
|
var commonStyles = i`
|
|
45764
45804
|
/* Button styles */
|
|
@@ -45877,6 +45917,28 @@ var commonStyles = i`
|
|
|
45877
45917
|
50% { opacity: 0.5; }
|
|
45878
45918
|
}
|
|
45879
45919
|
|
|
45920
|
+
/* Pulse ring animation for active status */
|
|
45921
|
+
@keyframes pulse-ring {
|
|
45922
|
+
0% {
|
|
45923
|
+
transform: scale(1);
|
|
45924
|
+
opacity: 0.8;
|
|
45925
|
+
}
|
|
45926
|
+
100% {
|
|
45927
|
+
transform: scale(2.5);
|
|
45928
|
+
opacity: 0;
|
|
45929
|
+
}
|
|
45930
|
+
}
|
|
45931
|
+
|
|
45932
|
+
/* Shimmer effect for loading states */
|
|
45933
|
+
@keyframes shimmer {
|
|
45934
|
+
0% {
|
|
45935
|
+
background-position: -200% 0;
|
|
45936
|
+
}
|
|
45937
|
+
100% {
|
|
45938
|
+
background-position: 200% 0;
|
|
45939
|
+
}
|
|
45940
|
+
}
|
|
45941
|
+
|
|
45880
45942
|
/* Fade in animation */
|
|
45881
45943
|
@keyframes fadeIn {
|
|
45882
45944
|
from { opacity: 0; transform: translateY(4px); }
|
|
@@ -45887,6 +45949,22 @@ var commonStyles = i`
|
|
|
45887
45949
|
animation: fadeIn ${r(durations.slow)} ${r(easings.default)} forwards;
|
|
45888
45950
|
}
|
|
45889
45951
|
|
|
45952
|
+
/* Fade in up animation */
|
|
45953
|
+
@keyframes fadeInUp {
|
|
45954
|
+
from {
|
|
45955
|
+
opacity: 0;
|
|
45956
|
+
transform: translateY(16px);
|
|
45957
|
+
}
|
|
45958
|
+
to {
|
|
45959
|
+
opacity: 1;
|
|
45960
|
+
transform: translateY(0);
|
|
45961
|
+
}
|
|
45962
|
+
}
|
|
45963
|
+
|
|
45964
|
+
.fade-in-up {
|
|
45965
|
+
animation: fadeInUp ${r(durations.slower)} ${r(easings.default)} forwards;
|
|
45966
|
+
}
|
|
45967
|
+
|
|
45890
45968
|
/* Scale in animation */
|
|
45891
45969
|
@keyframes scaleIn {
|
|
45892
45970
|
from { opacity: 0; transform: scale(0.95); }
|
|
@@ -45897,6 +45975,86 @@ var commonStyles = i`
|
|
|
45897
45975
|
animation: scaleIn ${r(durations.slow)} ${r(easings.bounce)} forwards;
|
|
45898
45976
|
}
|
|
45899
45977
|
|
|
45978
|
+
/* Slide down animation for expanding content */
|
|
45979
|
+
@keyframes slideDown {
|
|
45980
|
+
from {
|
|
45981
|
+
opacity: 0;
|
|
45982
|
+
transform: translateY(-8px);
|
|
45983
|
+
}
|
|
45984
|
+
to {
|
|
45985
|
+
opacity: 1;
|
|
45986
|
+
transform: translateY(0);
|
|
45987
|
+
}
|
|
45988
|
+
}
|
|
45989
|
+
|
|
45990
|
+
.slide-down {
|
|
45991
|
+
animation: slideDown ${r(durations.slow)} ${r(easings.default)} forwards;
|
|
45992
|
+
}
|
|
45993
|
+
|
|
45994
|
+
/* Stagger animation delay utilities */
|
|
45995
|
+
.stagger-1 { animation-delay: 50ms; }
|
|
45996
|
+
.stagger-2 { animation-delay: 100ms; }
|
|
45997
|
+
.stagger-3 { animation-delay: 150ms; }
|
|
45998
|
+
.stagger-4 { animation-delay: 200ms; }
|
|
45999
|
+
.stagger-5 { animation-delay: 250ms; }
|
|
46000
|
+
|
|
46001
|
+
/* Status indicator with pulse ring */
|
|
46002
|
+
.status-dot-animated {
|
|
46003
|
+
position: relative;
|
|
46004
|
+
width: 10px;
|
|
46005
|
+
height: 10px;
|
|
46006
|
+
border-radius: 50%;
|
|
46007
|
+
}
|
|
46008
|
+
|
|
46009
|
+
.status-dot-animated::before {
|
|
46010
|
+
content: '';
|
|
46011
|
+
position: absolute;
|
|
46012
|
+
inset: 0;
|
|
46013
|
+
border-radius: 50%;
|
|
46014
|
+
background: inherit;
|
|
46015
|
+
animation: pulse-ring 2s ${r(easings.default)} infinite;
|
|
46016
|
+
}
|
|
46017
|
+
|
|
46018
|
+
.status-dot-animated.operational::before {
|
|
46019
|
+
background: ${colors.status.operational};
|
|
46020
|
+
}
|
|
46021
|
+
|
|
46022
|
+
.status-dot-animated.degraded::before,
|
|
46023
|
+
.status-dot-animated.partial_outage::before,
|
|
46024
|
+
.status-dot-animated.major_outage::before {
|
|
46025
|
+
animation: pulse-ring 1.5s ${r(easings.default)} infinite;
|
|
46026
|
+
}
|
|
46027
|
+
|
|
46028
|
+
/* Hover lift effect */
|
|
46029
|
+
.hover-lift {
|
|
46030
|
+
transition: transform ${r(durations.normal)} ${r(easings.default)},
|
|
46031
|
+
box-shadow ${r(durations.normal)} ${r(easings.default)};
|
|
46032
|
+
}
|
|
46033
|
+
|
|
46034
|
+
.hover-lift:hover {
|
|
46035
|
+
transform: translateY(-2px);
|
|
46036
|
+
}
|
|
46037
|
+
|
|
46038
|
+
/* Icon animation */
|
|
46039
|
+
.icon-spin {
|
|
46040
|
+
animation: spin 1s linear infinite;
|
|
46041
|
+
}
|
|
46042
|
+
|
|
46043
|
+
@keyframes spin {
|
|
46044
|
+
from { transform: rotate(0deg); }
|
|
46045
|
+
to { transform: rotate(360deg); }
|
|
46046
|
+
}
|
|
46047
|
+
|
|
46048
|
+
/* Bounce animation for attention */
|
|
46049
|
+
@keyframes bounce {
|
|
46050
|
+
0%, 100% { transform: translateY(0); }
|
|
46051
|
+
50% { transform: translateY(-4px); }
|
|
46052
|
+
}
|
|
46053
|
+
|
|
46054
|
+
.bounce {
|
|
46055
|
+
animation: bounce 1s ${r(easings.bounce)} infinite;
|
|
46056
|
+
}
|
|
46057
|
+
|
|
45900
46058
|
/* Container styles */
|
|
45901
46059
|
.container {
|
|
45902
46060
|
max-width: 1200px;
|
|
@@ -46911,23 +47069,24 @@ __publicField(UplStatuspageAssetsselector, "styles", [
|
|
|
46911
47069
|
flex: 1;
|
|
46912
47070
|
min-width: 200px;
|
|
46913
47071
|
padding: ${r(spacing.xs)} ${r(spacing.sm)};
|
|
46914
|
-
border: 1px solid ${
|
|
47072
|
+
border: 1px solid ${colors.border.default};
|
|
46915
47073
|
border-radius: ${r(borderRadius.base)};
|
|
46916
|
-
background: ${
|
|
46917
|
-
color: ${
|
|
47074
|
+
background: ${colors.background.card};
|
|
47075
|
+
color: ${colors.text.primary};
|
|
46918
47076
|
font-size: 13px;
|
|
46919
47077
|
font-family: ${r(fonts.base)};
|
|
46920
|
-
transition: all
|
|
47078
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
46921
47079
|
height: 32px;
|
|
46922
47080
|
}
|
|
46923
47081
|
|
|
46924
47082
|
.search-input:focus {
|
|
46925
47083
|
outline: none;
|
|
46926
|
-
border-color: ${
|
|
47084
|
+
border-color: ${colors.text.primary};
|
|
47085
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(0, 0, 0, 0.05)", "rgba(255, 255, 255, 0.05)")};
|
|
46927
47086
|
}
|
|
46928
47087
|
|
|
46929
47088
|
.search-input::placeholder {
|
|
46930
|
-
color: ${
|
|
47089
|
+
color: ${colors.text.muted};
|
|
46931
47090
|
}
|
|
46932
47091
|
|
|
46933
47092
|
.filter-button {
|
|
@@ -46935,27 +47094,28 @@ __publicField(UplStatuspageAssetsselector, "styles", [
|
|
|
46935
47094
|
align-items: center;
|
|
46936
47095
|
justify-content: center;
|
|
46937
47096
|
padding: ${r(spacing.xs)} ${r(spacing.sm)};
|
|
46938
|
-
border: 1px solid ${
|
|
47097
|
+
border: 1px solid ${colors.border.default};
|
|
46939
47098
|
border-radius: ${r(borderRadius.base)};
|
|
46940
|
-
background:
|
|
46941
|
-
color: ${
|
|
47099
|
+
background: ${colors.background.card};
|
|
47100
|
+
color: ${colors.text.secondary};
|
|
46942
47101
|
cursor: pointer;
|
|
46943
47102
|
font-size: 13px;
|
|
46944
|
-
font-weight:
|
|
47103
|
+
font-weight: 500;
|
|
46945
47104
|
font-family: ${r(fonts.base)};
|
|
46946
|
-
transition: all
|
|
47105
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
46947
47106
|
height: 32px;
|
|
46948
47107
|
}
|
|
46949
47108
|
|
|
46950
47109
|
.filter-button:hover {
|
|
46951
|
-
border-color: ${
|
|
46952
|
-
color: ${
|
|
47110
|
+
border-color: ${colors.border.muted};
|
|
47111
|
+
color: ${colors.text.primary};
|
|
47112
|
+
box-shadow: ${r(shadows.sm)};
|
|
46953
47113
|
}
|
|
46954
47114
|
|
|
46955
47115
|
.filter-button.active {
|
|
46956
|
-
background: ${
|
|
46957
|
-
color: ${
|
|
46958
|
-
border-color: ${
|
|
47116
|
+
background: ${colors.text.primary};
|
|
47117
|
+
color: ${colors.background.primary};
|
|
47118
|
+
border-color: ${colors.text.primary};
|
|
46959
47119
|
}
|
|
46960
47120
|
|
|
46961
47121
|
.selected-services {
|
|
@@ -46969,56 +47129,99 @@ __publicField(UplStatuspageAssetsselector, "styles", [
|
|
|
46969
47129
|
display: inline-flex;
|
|
46970
47130
|
align-items: center;
|
|
46971
47131
|
gap: ${r(spacing.xs)};
|
|
46972
|
-
padding:
|
|
46973
|
-
background: ${
|
|
46974
|
-
border: 1px solid ${
|
|
47132
|
+
padding: 6px ${r(spacing.md)};
|
|
47133
|
+
background: ${colors.background.card};
|
|
47134
|
+
border: 1px solid ${colors.border.default};
|
|
46975
47135
|
border-radius: ${r(borderRadius.full)};
|
|
46976
47136
|
font-size: 13px;
|
|
46977
|
-
|
|
47137
|
+
font-weight: 500;
|
|
47138
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
47139
|
+
animation: pillFadeIn 0.3s ${r(easings.default)} both;
|
|
47140
|
+
}
|
|
47141
|
+
|
|
47142
|
+
.service-pill:nth-child(1) { animation-delay: 0ms; }
|
|
47143
|
+
.service-pill:nth-child(2) { animation-delay: 30ms; }
|
|
47144
|
+
.service-pill:nth-child(3) { animation-delay: 60ms; }
|
|
47145
|
+
.service-pill:nth-child(4) { animation-delay: 90ms; }
|
|
47146
|
+
.service-pill:nth-child(5) { animation-delay: 120ms; }
|
|
47147
|
+
|
|
47148
|
+
@keyframes pillFadeIn {
|
|
47149
|
+
from {
|
|
47150
|
+
opacity: 0;
|
|
47151
|
+
transform: scale(0.9);
|
|
47152
|
+
}
|
|
47153
|
+
to {
|
|
47154
|
+
opacity: 1;
|
|
47155
|
+
transform: scale(1);
|
|
47156
|
+
}
|
|
46978
47157
|
}
|
|
46979
47158
|
|
|
46980
47159
|
.service-pill:hover {
|
|
46981
|
-
border-color: ${
|
|
47160
|
+
border-color: ${colors.border.muted};
|
|
47161
|
+
box-shadow: ${r(shadows.sm)};
|
|
47162
|
+
transform: translateY(-1px);
|
|
46982
47163
|
}
|
|
46983
47164
|
|
|
46984
47165
|
.service-pill .status-dot {
|
|
46985
47166
|
width: 6px;
|
|
46986
47167
|
height: 6px;
|
|
46987
47168
|
border-radius: 50%;
|
|
47169
|
+
flex-shrink: 0;
|
|
47170
|
+
}
|
|
47171
|
+
|
|
47172
|
+
.service-pill .status-dot.operational {
|
|
47173
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(34, 197, 94, 0.2)", "rgba(34, 197, 94, 0.3)")};
|
|
46988
47174
|
}
|
|
46989
47175
|
|
|
46990
47176
|
.manage-button {
|
|
46991
47177
|
display: inline-flex;
|
|
46992
47178
|
align-items: center;
|
|
46993
47179
|
gap: ${r(spacing.xs)};
|
|
46994
|
-
padding:
|
|
46995
|
-
background:
|
|
46996
|
-
border: 1px solid ${
|
|
47180
|
+
padding: 6px ${r(spacing.md)};
|
|
47181
|
+
background: ${colors.background.card};
|
|
47182
|
+
border: 1px solid ${colors.border.default};
|
|
46997
47183
|
border-radius: ${r(borderRadius.base)};
|
|
46998
47184
|
font-size: 13px;
|
|
46999
47185
|
font-weight: 500;
|
|
47000
47186
|
cursor: pointer;
|
|
47001
|
-
transition: all
|
|
47002
|
-
color: ${
|
|
47187
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
47188
|
+
color: ${colors.text.secondary};
|
|
47003
47189
|
font-family: ${r(fonts.base)};
|
|
47004
47190
|
}
|
|
47005
47191
|
|
|
47006
47192
|
.manage-button:hover {
|
|
47007
|
-
border-color: ${
|
|
47008
|
-
color: ${
|
|
47193
|
+
border-color: ${colors.border.muted};
|
|
47194
|
+
color: ${colors.text.primary};
|
|
47195
|
+
box-shadow: ${r(shadows.sm)};
|
|
47196
|
+
transform: translateY(-1px);
|
|
47197
|
+
}
|
|
47198
|
+
|
|
47199
|
+
.manage-button:active {
|
|
47200
|
+
transform: translateY(0);
|
|
47009
47201
|
}
|
|
47010
47202
|
|
|
47011
47203
|
.expandable-section {
|
|
47012
47204
|
margin-top: ${r(spacing.lg)};
|
|
47013
47205
|
overflow: hidden;
|
|
47014
|
-
|
|
47206
|
+
animation: expandIn 0.3s ${r(easings.default)};
|
|
47207
|
+
}
|
|
47208
|
+
|
|
47209
|
+
@keyframes expandIn {
|
|
47210
|
+
from {
|
|
47211
|
+
opacity: 0;
|
|
47212
|
+
transform: translateY(-8px);
|
|
47213
|
+
}
|
|
47214
|
+
to {
|
|
47215
|
+
opacity: 1;
|
|
47216
|
+
transform: translateY(0);
|
|
47217
|
+
}
|
|
47015
47218
|
}
|
|
47016
47219
|
|
|
47017
47220
|
.expandable-content {
|
|
47018
47221
|
padding: ${r(spacing.lg)};
|
|
47019
|
-
background: ${
|
|
47020
|
-
border: 1px solid ${
|
|
47021
|
-
border-radius: ${r(borderRadius.
|
|
47222
|
+
background: ${colors.background.secondary};
|
|
47223
|
+
border: 1px solid ${colors.border.default};
|
|
47224
|
+
border-radius: ${r(borderRadius.lg)};
|
|
47022
47225
|
}
|
|
47023
47226
|
|
|
47024
47227
|
.assets-grid {
|
|
@@ -47031,22 +47234,40 @@ __publicField(UplStatuspageAssetsselector, "styles", [
|
|
|
47031
47234
|
.asset-card {
|
|
47032
47235
|
display: flex;
|
|
47033
47236
|
align-items: center;
|
|
47034
|
-
padding: ${r(spacing.
|
|
47035
|
-
background: ${
|
|
47237
|
+
padding: ${r(spacing.md)};
|
|
47238
|
+
background: ${colors.background.card};
|
|
47036
47239
|
border-radius: ${r(borderRadius.base)};
|
|
47037
47240
|
cursor: pointer;
|
|
47038
|
-
transition: all
|
|
47039
|
-
border: 1px solid ${
|
|
47241
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
47242
|
+
border: 1px solid ${colors.border.default};
|
|
47040
47243
|
gap: ${r(spacing.sm)};
|
|
47244
|
+
animation: cardFadeIn 0.3s ${r(easings.default)} both;
|
|
47245
|
+
}
|
|
47246
|
+
|
|
47247
|
+
@keyframes cardFadeIn {
|
|
47248
|
+
from {
|
|
47249
|
+
opacity: 0;
|
|
47250
|
+
transform: translateY(8px);
|
|
47251
|
+
}
|
|
47252
|
+
to {
|
|
47253
|
+
opacity: 1;
|
|
47254
|
+
transform: translateY(0);
|
|
47255
|
+
}
|
|
47041
47256
|
}
|
|
47042
47257
|
|
|
47043
47258
|
.asset-card:hover {
|
|
47044
|
-
border-color: ${
|
|
47259
|
+
border-color: ${colors.border.muted};
|
|
47260
|
+
box-shadow: ${r(shadows.sm)};
|
|
47261
|
+
transform: translateY(-2px);
|
|
47045
47262
|
}
|
|
47046
47263
|
|
|
47047
47264
|
.asset-card.selected {
|
|
47048
|
-
border-color: ${
|
|
47049
|
-
background: ${
|
|
47265
|
+
border-color: ${colors.text.primary};
|
|
47266
|
+
background: ${colors.background.secondary};
|
|
47267
|
+
}
|
|
47268
|
+
|
|
47269
|
+
.asset-card.selected:hover {
|
|
47270
|
+
box-shadow: ${r(shadows.md)};
|
|
47050
47271
|
}
|
|
47051
47272
|
|
|
47052
47273
|
.asset-checkbox {
|
|
@@ -47090,13 +47311,24 @@ __publicField(UplStatuspageAssetsselector, "styles", [
|
|
|
47090
47311
|
width: 8px;
|
|
47091
47312
|
height: 8px;
|
|
47092
47313
|
border-radius: ${r(borderRadius.full)};
|
|
47314
|
+
flex-shrink: 0;
|
|
47093
47315
|
}
|
|
47094
47316
|
|
|
47095
|
-
.status-indicator.operational, .status-dot.operational {
|
|
47096
|
-
|
|
47097
|
-
|
|
47098
|
-
.status-indicator.
|
|
47099
|
-
|
|
47317
|
+
.status-indicator.operational, .status-dot.operational {
|
|
47318
|
+
background: ${colors.status.operational};
|
|
47319
|
+
}
|
|
47320
|
+
.status-indicator.degraded, .status-dot.degraded {
|
|
47321
|
+
background: ${colors.status.degraded};
|
|
47322
|
+
}
|
|
47323
|
+
.status-indicator.partial_outage, .status-dot.partial_outage {
|
|
47324
|
+
background: ${colors.status.partial};
|
|
47325
|
+
}
|
|
47326
|
+
.status-indicator.major_outage, .status-dot.major_outage {
|
|
47327
|
+
background: ${colors.status.major};
|
|
47328
|
+
}
|
|
47329
|
+
.status-indicator.maintenance, .status-dot.maintenance {
|
|
47330
|
+
background: ${colors.status.maintenance};
|
|
47331
|
+
}
|
|
47100
47332
|
|
|
47101
47333
|
.status-text {
|
|
47102
47334
|
font-size: 12px;
|
|
@@ -48184,17 +48416,33 @@ __publicField(UplStatuspageFooter, "styles", [
|
|
|
48184
48416
|
}
|
|
48185
48417
|
|
|
48186
48418
|
.footer-link {
|
|
48187
|
-
color: ${
|
|
48419
|
+
color: ${colors.text.secondary};
|
|
48188
48420
|
text-decoration: none;
|
|
48189
|
-
transition:
|
|
48421
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
48190
48422
|
font-size: 13px;
|
|
48191
48423
|
font-weight: 400;
|
|
48424
|
+
position: relative;
|
|
48192
48425
|
}
|
|
48193
|
-
|
|
48426
|
+
|
|
48427
|
+
.footer-link::after {
|
|
48428
|
+
content: '';
|
|
48429
|
+
position: absolute;
|
|
48430
|
+
bottom: -2px;
|
|
48431
|
+
left: 0;
|
|
48432
|
+
width: 0;
|
|
48433
|
+
height: 1px;
|
|
48434
|
+
background: ${colors.text.primary};
|
|
48435
|
+
transition: width ${r(durations.fast)} ${r(easings.default)};
|
|
48436
|
+
}
|
|
48437
|
+
|
|
48194
48438
|
.footer-link:hover {
|
|
48195
48439
|
color: ${colors.text.primary};
|
|
48196
48440
|
}
|
|
48197
48441
|
|
|
48442
|
+
.footer-link:hover::after {
|
|
48443
|
+
width: 100%;
|
|
48444
|
+
}
|
|
48445
|
+
|
|
48198
48446
|
.footer-actions {
|
|
48199
48447
|
display: flex;
|
|
48200
48448
|
flex-direction: column;
|
|
@@ -48204,25 +48452,33 @@ __publicField(UplStatuspageFooter, "styles", [
|
|
|
48204
48452
|
.action-button {
|
|
48205
48453
|
padding: 8px 16px;
|
|
48206
48454
|
height: 36px;
|
|
48207
|
-
border: 1px solid ${
|
|
48208
|
-
background: ${
|
|
48209
|
-
border-radius:
|
|
48455
|
+
border: 1px solid ${colors.border.default};
|
|
48456
|
+
background: ${colors.background.card};
|
|
48457
|
+
border-radius: ${r(borderRadius.base)};
|
|
48210
48458
|
cursor: pointer;
|
|
48211
48459
|
text-align: center;
|
|
48212
|
-
transition: all
|
|
48460
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
48213
48461
|
white-space: nowrap;
|
|
48214
48462
|
font-size: 13px;
|
|
48215
|
-
font-weight:
|
|
48463
|
+
font-weight: 500;
|
|
48216
48464
|
color: ${colors.text.primary};
|
|
48217
48465
|
font-family: ${r(fonts.base)};
|
|
48218
48466
|
display: inline-flex;
|
|
48219
48467
|
align-items: center;
|
|
48220
48468
|
justify-content: center;
|
|
48469
|
+
gap: 6px;
|
|
48221
48470
|
}
|
|
48222
|
-
|
|
48471
|
+
|
|
48223
48472
|
.action-button:hover {
|
|
48224
|
-
background: ${
|
|
48225
|
-
border-color: ${
|
|
48473
|
+
background: ${colors.background.secondary};
|
|
48474
|
+
border-color: ${colors.border.muted};
|
|
48475
|
+
transform: translateY(-1px);
|
|
48476
|
+
box-shadow: ${r(shadows.sm)};
|
|
48477
|
+
}
|
|
48478
|
+
|
|
48479
|
+
.action-button:active {
|
|
48480
|
+
transform: translateY(0);
|
|
48481
|
+
box-shadow: none;
|
|
48226
48482
|
}
|
|
48227
48483
|
|
|
48228
48484
|
.footer-bottom {
|
|
@@ -48243,30 +48499,43 @@ __publicField(UplStatuspageFooter, "styles", [
|
|
|
48243
48499
|
|
|
48244
48500
|
.social-links {
|
|
48245
48501
|
display: flex;
|
|
48246
|
-
gap: ${r(spacing.
|
|
48502
|
+
gap: ${r(spacing.sm)};
|
|
48247
48503
|
align-items: center;
|
|
48248
48504
|
}
|
|
48249
|
-
|
|
48505
|
+
|
|
48250
48506
|
.social-link {
|
|
48251
48507
|
display: inline-flex;
|
|
48252
48508
|
align-items: center;
|
|
48253
48509
|
justify-content: center;
|
|
48254
|
-
width:
|
|
48255
|
-
height:
|
|
48256
|
-
border-radius:
|
|
48257
|
-
transition: all
|
|
48258
|
-
color: ${
|
|
48510
|
+
width: 34px;
|
|
48511
|
+
height: 34px;
|
|
48512
|
+
border-radius: ${r(borderRadius.base)};
|
|
48513
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
48514
|
+
color: ${colors.text.muted};
|
|
48515
|
+
border: 1px solid transparent;
|
|
48259
48516
|
}
|
|
48260
|
-
|
|
48517
|
+
|
|
48261
48518
|
.social-link:hover {
|
|
48262
48519
|
color: ${colors.text.primary};
|
|
48263
|
-
background: ${
|
|
48520
|
+
background: ${colors.background.secondary};
|
|
48521
|
+
border-color: ${colors.border.default};
|
|
48522
|
+
transform: translateY(-2px);
|
|
48523
|
+
box-shadow: ${r(shadows.sm)};
|
|
48264
48524
|
}
|
|
48265
|
-
|
|
48525
|
+
|
|
48526
|
+
.social-link:active {
|
|
48527
|
+
transform: translateY(0);
|
|
48528
|
+
}
|
|
48529
|
+
|
|
48266
48530
|
.social-link svg {
|
|
48267
48531
|
width: 16px;
|
|
48268
48532
|
height: 16px;
|
|
48269
48533
|
fill: currentColor;
|
|
48534
|
+
transition: transform ${r(durations.fast)} ${r(easings.default)};
|
|
48535
|
+
}
|
|
48536
|
+
|
|
48537
|
+
.social-link:hover svg {
|
|
48538
|
+
transform: scale(1.1);
|
|
48270
48539
|
}
|
|
48271
48540
|
|
|
48272
48541
|
.copyright {
|
|
@@ -48281,20 +48550,37 @@ __publicField(UplStatuspageFooter, "styles", [
|
|
|
48281
48550
|
|
|
48282
48551
|
.powered-by {
|
|
48283
48552
|
font-size: 12px;
|
|
48284
|
-
color: ${
|
|
48553
|
+
color: ${colors.text.muted};
|
|
48285
48554
|
text-align: right;
|
|
48286
48555
|
}
|
|
48287
|
-
|
|
48556
|
+
|
|
48288
48557
|
.powered-by a {
|
|
48289
|
-
color: ${
|
|
48558
|
+
color: ${colors.text.secondary};
|
|
48290
48559
|
text-decoration: none;
|
|
48291
|
-
transition:
|
|
48560
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
48561
|
+
font-weight: 500;
|
|
48562
|
+
position: relative;
|
|
48292
48563
|
}
|
|
48293
|
-
|
|
48564
|
+
|
|
48565
|
+
.powered-by a::after {
|
|
48566
|
+
content: '';
|
|
48567
|
+
position: absolute;
|
|
48568
|
+
bottom: -1px;
|
|
48569
|
+
left: 0;
|
|
48570
|
+
width: 0;
|
|
48571
|
+
height: 1px;
|
|
48572
|
+
background: ${colors.text.primary};
|
|
48573
|
+
transition: width ${r(durations.fast)} ${r(easings.default)};
|
|
48574
|
+
}
|
|
48575
|
+
|
|
48294
48576
|
.powered-by a:hover {
|
|
48295
48577
|
color: ${colors.text.primary};
|
|
48296
48578
|
}
|
|
48297
48579
|
|
|
48580
|
+
.powered-by a:hover::after {
|
|
48581
|
+
width: 100%;
|
|
48582
|
+
}
|
|
48583
|
+
|
|
48298
48584
|
.status-update {
|
|
48299
48585
|
padding: 12px 16px;
|
|
48300
48586
|
background: ${cssManager.bdTheme("#f9fafb", "#18181b")};
|
|
@@ -48683,12 +48969,21 @@ var UplStatuspageHeader = class extends (_a4 = DeesElement, _pageTitle_dec = [n5
|
|
|
48683
48969
|
<div class="header-actions">
|
|
48684
48970
|
${this.showReportButton ? x`
|
|
48685
48971
|
<button class="actionButton" @click=${this.dispatchReportNewIncident}>
|
|
48686
|
-
|
|
48972
|
+
<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">
|
|
48973
|
+
<path d="M7.86 2h8.28L22 7.86v8.28L16.14 22H7.86L2 16.14V7.86L7.86 2z"></path>
|
|
48974
|
+
<line x1="12" y1="8" x2="12" y2="12"></line>
|
|
48975
|
+
<line x1="12" y1="16" x2="12.01" y2="16"></line>
|
|
48976
|
+
</svg>
|
|
48977
|
+
<span class="button-text">Report Issue</span>
|
|
48687
48978
|
</button>
|
|
48688
48979
|
` : ""}
|
|
48689
48980
|
${this.showSubscribeButton ? x`
|
|
48690
48981
|
<button class="actionButton primary" @click=${this.dispatchStatusSubscribe}>
|
|
48691
|
-
|
|
48982
|
+
<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">
|
|
48983
|
+
<path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"></path>
|
|
48984
|
+
<path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"></path>
|
|
48985
|
+
</svg>
|
|
48986
|
+
<span class="button-text">Subscribe</span>
|
|
48692
48987
|
</button>
|
|
48693
48988
|
` : ""}
|
|
48694
48989
|
</div>
|
|
@@ -48723,15 +49018,21 @@ __publicField(UplStatuspageHeader, "styles", [
|
|
|
48723
49018
|
i`
|
|
48724
49019
|
:host {
|
|
48725
49020
|
display: block;
|
|
48726
|
-
background: ${
|
|
49021
|
+
background: ${cssManager.bdTheme(
|
|
49022
|
+
"rgba(255, 255, 255, 0.85)",
|
|
49023
|
+
"rgba(9, 9, 11, 0.85)"
|
|
49024
|
+
)};
|
|
48727
49025
|
font-family: ${r(fonts.base)};
|
|
48728
49026
|
color: ${colors.text.primary};
|
|
48729
|
-
border-bottom: 1px solid ${
|
|
49027
|
+
border-bottom: 1px solid ${cssManager.bdTheme(
|
|
49028
|
+
"rgba(0, 0, 0, 0.06)",
|
|
49029
|
+
"rgba(255, 255, 255, 0.06)"
|
|
49030
|
+
)};
|
|
48730
49031
|
position: sticky;
|
|
48731
49032
|
top: 0;
|
|
48732
49033
|
z-index: 40;
|
|
48733
|
-
backdrop-filter: blur(
|
|
48734
|
-
-webkit-backdrop-filter: blur(
|
|
49034
|
+
backdrop-filter: blur(16px) saturate(180%);
|
|
49035
|
+
-webkit-backdrop-filter: blur(16px) saturate(180%);
|
|
48735
49036
|
}
|
|
48736
49037
|
|
|
48737
49038
|
.header-container {
|
|
@@ -48750,7 +49051,7 @@ __publicField(UplStatuspageHeader, "styles", [
|
|
|
48750
49051
|
.header-left {
|
|
48751
49052
|
display: flex;
|
|
48752
49053
|
align-items: center;
|
|
48753
|
-
gap: ${r(spacing.
|
|
49054
|
+
gap: ${r(spacing.md)};
|
|
48754
49055
|
}
|
|
48755
49056
|
|
|
48756
49057
|
.header-actions {
|
|
@@ -48767,26 +49068,47 @@ __publicField(UplStatuspageHeader, "styles", [
|
|
|
48767
49068
|
border-radius: ${r(borderRadius.base)};
|
|
48768
49069
|
cursor: pointer;
|
|
48769
49070
|
user-select: none;
|
|
48770
|
-
transition: all ${r(durations.
|
|
49071
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
48771
49072
|
display: inline-flex;
|
|
48772
49073
|
align-items: center;
|
|
48773
49074
|
justify-content: center;
|
|
49075
|
+
gap: 6px;
|
|
48774
49076
|
height: 36px;
|
|
48775
49077
|
background: transparent;
|
|
48776
49078
|
border: 1px solid ${colors.border.default};
|
|
48777
49079
|
color: ${colors.text.primary};
|
|
48778
49080
|
letter-spacing: -0.01em;
|
|
49081
|
+
position: relative;
|
|
49082
|
+
overflow: hidden;
|
|
49083
|
+
}
|
|
49084
|
+
|
|
49085
|
+
.actionButton::before {
|
|
49086
|
+
content: '';
|
|
49087
|
+
position: absolute;
|
|
49088
|
+
inset: 0;
|
|
49089
|
+
background: ${cssManager.bdTheme(
|
|
49090
|
+
"linear-gradient(135deg, rgba(0, 0, 0, 0.02) 0%, transparent 100%)",
|
|
49091
|
+
"linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, transparent 100%)"
|
|
49092
|
+
)};
|
|
49093
|
+
opacity: 0;
|
|
49094
|
+
transition: opacity ${r(durations.fast)} ${r(easings.default)};
|
|
48779
49095
|
}
|
|
48780
49096
|
|
|
48781
49097
|
.actionButton:hover {
|
|
48782
49098
|
background: ${colors.background.secondary};
|
|
48783
49099
|
border-color: ${colors.border.muted};
|
|
48784
|
-
box-shadow: ${r(shadows.
|
|
49100
|
+
box-shadow: ${r(shadows.sm)};
|
|
49101
|
+
transform: translateY(-1px);
|
|
49102
|
+
}
|
|
49103
|
+
|
|
49104
|
+
.actionButton:hover::before {
|
|
49105
|
+
opacity: 1;
|
|
48785
49106
|
}
|
|
48786
49107
|
|
|
48787
49108
|
.actionButton:active {
|
|
48788
|
-
transform: scale(0.98);
|
|
49109
|
+
transform: translateY(0) scale(0.98);
|
|
48789
49110
|
transition-duration: ${r(durations.fast)};
|
|
49111
|
+
box-shadow: none;
|
|
48790
49112
|
}
|
|
48791
49113
|
|
|
48792
49114
|
.actionButton:focus-visible {
|
|
@@ -48794,22 +49116,40 @@ __publicField(UplStatuspageHeader, "styles", [
|
|
|
48794
49116
|
outline-offset: 2px;
|
|
48795
49117
|
}
|
|
48796
49118
|
|
|
49119
|
+
/* Button icon styles */
|
|
49120
|
+
.actionButton svg {
|
|
49121
|
+
width: 14px;
|
|
49122
|
+
height: 14px;
|
|
49123
|
+
flex-shrink: 0;
|
|
49124
|
+
transition: transform ${r(durations.fast)} ${r(easings.default)};
|
|
49125
|
+
}
|
|
49126
|
+
|
|
49127
|
+
.actionButton:hover svg {
|
|
49128
|
+
transform: scale(1.1);
|
|
49129
|
+
}
|
|
49130
|
+
|
|
48797
49131
|
.site-title {
|
|
48798
|
-
font-size:
|
|
49132
|
+
font-size: 17px;
|
|
48799
49133
|
font-weight: 600;
|
|
48800
49134
|
letter-spacing: -0.02em;
|
|
48801
49135
|
color: ${colors.text.primary};
|
|
49136
|
+
transition: color ${r(durations.fast)} ${r(easings.default)};
|
|
49137
|
+
}
|
|
49138
|
+
|
|
49139
|
+
.site-title:hover {
|
|
49140
|
+
color: ${colors.text.secondary};
|
|
48802
49141
|
}
|
|
48803
49142
|
|
|
48804
49143
|
.logo {
|
|
48805
49144
|
height: 28px;
|
|
48806
49145
|
width: auto;
|
|
48807
49146
|
filter: ${cssManager.bdTheme("none", "brightness(0) invert(1)")};
|
|
48808
|
-
transition:
|
|
49147
|
+
transition: all ${r(durations.normal)} ${r(easings.default)};
|
|
48809
49148
|
}
|
|
48810
49149
|
|
|
48811
49150
|
.logo:hover {
|
|
48812
49151
|
opacity: 0.8;
|
|
49152
|
+
transform: scale(1.02);
|
|
48813
49153
|
}
|
|
48814
49154
|
|
|
48815
49155
|
.page-info {
|
|
@@ -48837,11 +49177,16 @@ __publicField(UplStatuspageHeader, "styles", [
|
|
|
48837
49177
|
background: ${colors.accent.primary};
|
|
48838
49178
|
color: ${colors.background.primary};
|
|
48839
49179
|
border-color: transparent;
|
|
49180
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
49181
|
+
}
|
|
49182
|
+
|
|
49183
|
+
.actionButton.primary::before {
|
|
49184
|
+
background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, transparent 100%);
|
|
48840
49185
|
}
|
|
48841
49186
|
|
|
48842
49187
|
.actionButton.primary:hover {
|
|
48843
49188
|
background: ${colors.accent.hover};
|
|
48844
|
-
box-shadow: ${r(shadows.
|
|
49189
|
+
box-shadow: ${r(shadows.md)};
|
|
48845
49190
|
}
|
|
48846
49191
|
|
|
48847
49192
|
.loading-skeleton {
|
|
@@ -48860,10 +49205,10 @@ __publicField(UplStatuspageHeader, "styles", [
|
|
|
48860
49205
|
"linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.04) 50%, transparent 100%)",
|
|
48861
49206
|
"linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.04) 50%, transparent 100%)"
|
|
48862
49207
|
)};
|
|
48863
|
-
animation:
|
|
49208
|
+
animation: shimmer 1.5s ${r(easings.default)} infinite;
|
|
48864
49209
|
}
|
|
48865
49210
|
|
|
48866
|
-
@keyframes
|
|
49211
|
+
@keyframes shimmer {
|
|
48867
49212
|
0% { transform: translateX(-100%); }
|
|
48868
49213
|
100% { transform: translateX(200%); }
|
|
48869
49214
|
}
|
|
@@ -48878,11 +49223,11 @@ __publicField(UplStatuspageHeader, "styles", [
|
|
|
48878
49223
|
}
|
|
48879
49224
|
|
|
48880
49225
|
.header-left {
|
|
48881
|
-
gap: ${r(spacing.
|
|
49226
|
+
gap: ${r(spacing.sm)};
|
|
48882
49227
|
}
|
|
48883
49228
|
|
|
48884
49229
|
.site-title {
|
|
48885
|
-
font-size:
|
|
49230
|
+
font-size: 15px;
|
|
48886
49231
|
}
|
|
48887
49232
|
|
|
48888
49233
|
.logo {
|
|
@@ -48893,8 +49238,18 @@ __publicField(UplStatuspageHeader, "styles", [
|
|
|
48893
49238
|
@media (max-width: 640px) {
|
|
48894
49239
|
.actionButton {
|
|
48895
49240
|
font-size: 12px;
|
|
48896
|
-
padding: 0
|
|
49241
|
+
padding: 0 10px;
|
|
48897
49242
|
height: 32px;
|
|
49243
|
+
gap: 4px;
|
|
49244
|
+
}
|
|
49245
|
+
|
|
49246
|
+
.actionButton svg {
|
|
49247
|
+
width: 12px;
|
|
49248
|
+
height: 12px;
|
|
49249
|
+
}
|
|
49250
|
+
|
|
49251
|
+
.actionButton .button-text {
|
|
49252
|
+
display: none;
|
|
48898
49253
|
}
|
|
48899
49254
|
|
|
48900
49255
|
.page-title {
|
|
@@ -50196,8 +50551,9 @@ var UplStatuspageIncidents = class extends (_a5 = DeesElement, _currentIncidents
|
|
|
50196
50551
|
renderIncident(incident, isCurrent) {
|
|
50197
50552
|
const latestUpdate = incident.updates[incident.updates.length - 1];
|
|
50198
50553
|
const duration = incident.endTime ? this.formatDuration(incident.endTime - incident.startTime) : this.formatDuration(Date.now() - incident.startTime);
|
|
50554
|
+
const isActive = isCurrent && latestUpdate?.status !== "resolved";
|
|
50199
50555
|
return x`
|
|
50200
|
-
<div class="incident-card ${this.expandedIncidents.has(incident.id) ? "expanded" : ""}">
|
|
50556
|
+
<div class="incident-card ${this.expandedIncidents.has(incident.id) ? "expanded" : ""} ${isActive ? "active-incident" : ""}">
|
|
50201
50557
|
<div class="incident-header ${incident.severity}" @click=${() => this.toggleIncident(incident.id)}>
|
|
50202
50558
|
<div>
|
|
50203
50559
|
<h3 class="incident-title">${incident.title}</h3>
|
|
@@ -50274,8 +50630,10 @@ var UplStatuspageIncidents = class extends (_a5 = DeesElement, _currentIncidents
|
|
|
50274
50630
|
|
|
50275
50631
|
${incident.updates.length > 0 ? x`
|
|
50276
50632
|
<div class="incident-updates">
|
|
50277
|
-
<h4
|
|
50278
|
-
|
|
50633
|
+
<h4 class="updates-title">Updates</h4>
|
|
50634
|
+
<div class="timeline">
|
|
50635
|
+
${incident.updates.slice(-3).reverse().map((update, index2) => this.renderUpdate(update, index2))}
|
|
50636
|
+
</div>
|
|
50279
50637
|
</div>
|
|
50280
50638
|
` : ""}
|
|
50281
50639
|
|
|
@@ -50324,24 +50682,32 @@ var UplStatuspageIncidents = class extends (_a5 = DeesElement, _currentIncidents
|
|
|
50324
50682
|
</div>
|
|
50325
50683
|
`;
|
|
50326
50684
|
}
|
|
50327
|
-
renderUpdate(update) {
|
|
50685
|
+
renderUpdate(update, index2 = 0) {
|
|
50328
50686
|
return x`
|
|
50329
|
-
<div class="update-item">
|
|
50330
|
-
<div class="update-time"
|
|
50687
|
+
<div class="update-item" style="animation-delay: ${index2 * 50}ms">
|
|
50688
|
+
<div class="update-time">
|
|
50689
|
+
${this.formatDate(update.timestamp)}
|
|
50690
|
+
${update.status ? x`<span class="update-status-badge">${update.status}</span>` : ""}
|
|
50691
|
+
</div>
|
|
50331
50692
|
<div class="update-message">${update.message}</div>
|
|
50332
50693
|
${update.author ? x`
|
|
50333
|
-
<div class="update-author"
|
|
50694
|
+
<div class="update-author">
|
|
50695
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
50696
|
+
<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path>
|
|
50697
|
+
<circle cx="12" cy="7" r="4"></circle>
|
|
50698
|
+
</svg>
|
|
50699
|
+
${update.author}
|
|
50700
|
+
</div>
|
|
50334
50701
|
` : ""}
|
|
50335
50702
|
</div>
|
|
50336
50703
|
`;
|
|
50337
50704
|
}
|
|
50338
50705
|
getStatusIcon(status) {
|
|
50339
|
-
return x`<span style="
|
|
50706
|
+
return x`<span class="status-dot" style="
|
|
50340
50707
|
display: inline-block;
|
|
50341
50708
|
width: 6px;
|
|
50342
50709
|
height: 6px;
|
|
50343
50710
|
border-radius: 50%;
|
|
50344
|
-
margin-right: 4px;
|
|
50345
50711
|
background: ${status === "resolved" ? colors.status.operational : status === "monitoring" ? colors.status.maintenance : status === "identified" ? colors.status.degraded : colors.status.partial};
|
|
50346
50712
|
"></span>`;
|
|
50347
50713
|
}
|
|
@@ -50482,36 +50848,79 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50482
50848
|
background: ${colors.background.card};
|
|
50483
50849
|
padding: ${r(spacing.xl)};
|
|
50484
50850
|
margin-bottom: ${r(spacing.lg)};
|
|
50485
|
-
border-radius: ${r(borderRadius.
|
|
50851
|
+
border-radius: ${r(borderRadius.lg)};
|
|
50486
50852
|
border: 1px solid ${colors.border.default};
|
|
50487
50853
|
text-align: center;
|
|
50488
50854
|
color: ${colors.text.secondary};
|
|
50489
50855
|
box-shadow: ${r(shadows.sm)};
|
|
50856
|
+
animation: fadeInUp 0.4s ${r(easings.default)} both;
|
|
50490
50857
|
}
|
|
50491
50858
|
|
|
50859
|
+
/* Staggered entrance animations */
|
|
50492
50860
|
.incident-card {
|
|
50493
50861
|
background: ${colors.background.card};
|
|
50494
|
-
border-radius: ${r(borderRadius.
|
|
50862
|
+
border-radius: ${r(borderRadius.lg)};
|
|
50495
50863
|
margin-bottom: ${r(spacing.lg)};
|
|
50496
50864
|
overflow: hidden;
|
|
50497
50865
|
box-shadow: ${r(shadows.sm)};
|
|
50498
50866
|
border: 1px solid ${colors.border.default};
|
|
50499
|
-
transition: all
|
|
50867
|
+
transition: all ${r(durations.normal)} ${r(easings.default)};
|
|
50868
|
+
animation: fadeInUp 0.4s ${r(easings.default)} both;
|
|
50500
50869
|
}
|
|
50501
50870
|
|
|
50502
|
-
.incident-card
|
|
50871
|
+
.incident-card:nth-child(1) { animation-delay: 0ms; }
|
|
50872
|
+
.incident-card:nth-child(2) { animation-delay: 50ms; }
|
|
50873
|
+
.incident-card:nth-child(3) { animation-delay: 100ms; }
|
|
50874
|
+
.incident-card:nth-child(4) { animation-delay: 150ms; }
|
|
50875
|
+
.incident-card:nth-child(5) { animation-delay: 200ms; }
|
|
50876
|
+
|
|
50877
|
+
.incident-card:hover {
|
|
50878
|
+
transform: translateY(-2px);
|
|
50503
50879
|
box-shadow: ${r(shadows.md)};
|
|
50880
|
+
border-color: ${colors.border.muted};
|
|
50881
|
+
}
|
|
50882
|
+
|
|
50883
|
+
.incident-card.expanded {
|
|
50884
|
+
box-shadow: ${r(shadows.lg)};
|
|
50885
|
+
}
|
|
50886
|
+
|
|
50887
|
+
/* Active incident pulse effect */
|
|
50888
|
+
.incident-card.active-incident {
|
|
50889
|
+
animation: fadeInUp 0.4s ${r(easings.default)} both,
|
|
50890
|
+
incident-pulse 3s ease-in-out infinite;
|
|
50891
|
+
}
|
|
50892
|
+
|
|
50893
|
+
@keyframes fadeInUp {
|
|
50894
|
+
from {
|
|
50895
|
+
opacity: 0;
|
|
50896
|
+
transform: translateY(16px);
|
|
50897
|
+
}
|
|
50898
|
+
to {
|
|
50899
|
+
opacity: 1;
|
|
50900
|
+
transform: translateY(0);
|
|
50901
|
+
}
|
|
50902
|
+
}
|
|
50903
|
+
|
|
50904
|
+
@keyframes incident-pulse {
|
|
50905
|
+
0%, 100% {
|
|
50906
|
+
box-shadow: ${r(shadows.sm)};
|
|
50907
|
+
}
|
|
50908
|
+
50% {
|
|
50909
|
+
box-shadow: ${r(shadows.md)},
|
|
50910
|
+
0 0 0 2px ${cssManager.bdTheme("rgba(239, 68, 68, 0.15)", "rgba(248, 113, 113, 0.2)")};
|
|
50911
|
+
}
|
|
50504
50912
|
}
|
|
50505
50913
|
|
|
50506
50914
|
.incident-header {
|
|
50507
|
-
padding: ${r(spacing.lg)} ${r(spacing.
|
|
50915
|
+
padding: ${r(spacing.lg)} ${r(spacing.xl)};
|
|
50508
50916
|
border-left: 4px solid;
|
|
50509
50917
|
display: flex;
|
|
50510
50918
|
align-items: start;
|
|
50511
50919
|
justify-content: space-between;
|
|
50512
50920
|
gap: ${r(spacing.md)};
|
|
50513
50921
|
cursor: pointer;
|
|
50514
|
-
transition: background-color
|
|
50922
|
+
transition: background-color ${r(durations.fast)} ${r(easings.default)};
|
|
50923
|
+
position: relative;
|
|
50515
50924
|
}
|
|
50516
50925
|
|
|
50517
50926
|
.incident-header:hover {
|
|
@@ -50535,10 +50944,11 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50535
50944
|
}
|
|
50536
50945
|
|
|
50537
50946
|
.incident-title {
|
|
50538
|
-
font-size:
|
|
50947
|
+
font-size: 17px;
|
|
50539
50948
|
font-weight: 600;
|
|
50540
50949
|
margin: 0;
|
|
50541
|
-
line-height: 1.
|
|
50950
|
+
line-height: 1.4;
|
|
50951
|
+
letter-spacing: -0.01em;
|
|
50542
50952
|
}
|
|
50543
50953
|
|
|
50544
50954
|
.incident-meta {
|
|
@@ -50550,17 +50960,24 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50550
50960
|
flex-wrap: wrap;
|
|
50551
50961
|
}
|
|
50552
50962
|
|
|
50553
|
-
.incident-
|
|
50554
|
-
display:
|
|
50963
|
+
.incident-meta span {
|
|
50964
|
+
display: flex;
|
|
50555
50965
|
align-items: center;
|
|
50556
|
-
gap:
|
|
50557
|
-
|
|
50966
|
+
gap: 4px;
|
|
50967
|
+
}
|
|
50968
|
+
|
|
50969
|
+
.incident-status {
|
|
50970
|
+
display: inline-flex;
|
|
50971
|
+
align-items: center;
|
|
50972
|
+
gap: 6px;
|
|
50973
|
+
padding: 6px 12px;
|
|
50558
50974
|
border-radius: ${r(borderRadius.full)};
|
|
50559
|
-
font-size:
|
|
50975
|
+
font-size: 11px;
|
|
50560
50976
|
font-weight: 600;
|
|
50561
50977
|
text-transform: uppercase;
|
|
50562
|
-
letter-spacing: 0.
|
|
50978
|
+
letter-spacing: 0.04em;
|
|
50563
50979
|
flex-shrink: 0;
|
|
50980
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
50564
50981
|
}
|
|
50565
50982
|
|
|
50566
50983
|
.incident-status.investigating {
|
|
@@ -50588,68 +51005,165 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50588
51005
|
color: ${cssManager.bdTheme("#4b5563", "#d1d5db")};
|
|
50589
51006
|
}
|
|
50590
51007
|
|
|
51008
|
+
/* Pulse for investigating status */
|
|
51009
|
+
.incident-status.investigating .status-dot {
|
|
51010
|
+
animation: status-pulse 1.5s ease-in-out infinite;
|
|
51011
|
+
}
|
|
51012
|
+
|
|
51013
|
+
@keyframes status-pulse {
|
|
51014
|
+
0%, 100% { opacity: 1; transform: scale(1); }
|
|
51015
|
+
50% { opacity: 0.6; transform: scale(1.2); }
|
|
51016
|
+
}
|
|
51017
|
+
|
|
50591
51018
|
.incident-body {
|
|
50592
|
-
padding: 0 ${r(spacing.
|
|
51019
|
+
padding: 0 ${r(spacing.xl)} ${r(spacing.xl)} ${r(spacing.xl)};
|
|
51020
|
+
animation: slideDown 0.3s ${r(easings.default)};
|
|
51021
|
+
}
|
|
51022
|
+
|
|
51023
|
+
@keyframes slideDown {
|
|
51024
|
+
from {
|
|
51025
|
+
opacity: 0;
|
|
51026
|
+
transform: translateY(-8px);
|
|
51027
|
+
}
|
|
51028
|
+
to {
|
|
51029
|
+
opacity: 1;
|
|
51030
|
+
transform: translateY(0);
|
|
51031
|
+
}
|
|
50593
51032
|
}
|
|
50594
51033
|
|
|
50595
51034
|
.incident-impact {
|
|
50596
51035
|
margin: ${r(spacing.md)} 0;
|
|
50597
|
-
padding: ${r(spacing.md)};
|
|
51036
|
+
padding: ${r(spacing.md)} ${r(spacing.lg)};
|
|
50598
51037
|
background: ${colors.background.secondary};
|
|
50599
51038
|
border-radius: ${r(borderRadius.base)};
|
|
50600
51039
|
font-size: 14px;
|
|
50601
51040
|
line-height: 1.6;
|
|
51041
|
+
border-left: 3px solid ${colors.border.muted};
|
|
50602
51042
|
}
|
|
50603
51043
|
|
|
50604
51044
|
.affected-services {
|
|
50605
|
-
margin-top: ${r(spacing.
|
|
51045
|
+
margin-top: ${r(spacing.lg)};
|
|
50606
51046
|
}
|
|
50607
51047
|
|
|
50608
51048
|
.affected-services-title {
|
|
50609
|
-
font-size:
|
|
51049
|
+
font-size: 12px;
|
|
50610
51050
|
font-weight: 600;
|
|
50611
51051
|
margin-bottom: ${r(spacing.sm)};
|
|
50612
|
-
color: ${colors.text.
|
|
51052
|
+
color: ${colors.text.secondary};
|
|
51053
|
+
text-transform: uppercase;
|
|
51054
|
+
letter-spacing: 0.04em;
|
|
50613
51055
|
}
|
|
50614
51056
|
|
|
50615
51057
|
.service-tag {
|
|
50616
51058
|
display: inline-block;
|
|
50617
|
-
padding:
|
|
51059
|
+
padding: 4px 10px;
|
|
50618
51060
|
margin: 2px;
|
|
50619
51061
|
background: ${colors.background.muted};
|
|
50620
51062
|
border-radius: ${r(borderRadius.sm)};
|
|
50621
51063
|
font-size: 12px;
|
|
50622
51064
|
color: ${colors.text.secondary};
|
|
51065
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
51066
|
+
}
|
|
51067
|
+
|
|
51068
|
+
.service-tag:hover {
|
|
51069
|
+
background: ${colors.background.secondary};
|
|
51070
|
+
color: ${colors.text.primary};
|
|
50623
51071
|
}
|
|
50624
51072
|
|
|
51073
|
+
/* Timeline visualization for updates */
|
|
50625
51074
|
.incident-updates {
|
|
50626
|
-
margin-top: ${r(spacing.
|
|
51075
|
+
margin-top: ${r(spacing.xl)};
|
|
50627
51076
|
border-top: 1px solid ${colors.border.default};
|
|
50628
51077
|
padding-top: ${r(spacing.lg)};
|
|
50629
51078
|
}
|
|
50630
51079
|
|
|
51080
|
+
.updates-title {
|
|
51081
|
+
font-size: 12px;
|
|
51082
|
+
font-weight: 600;
|
|
51083
|
+
text-transform: uppercase;
|
|
51084
|
+
letter-spacing: 0.04em;
|
|
51085
|
+
margin: 0 0 ${r(spacing.lg)} 0;
|
|
51086
|
+
color: ${colors.text.secondary};
|
|
51087
|
+
}
|
|
51088
|
+
|
|
51089
|
+
.timeline {
|
|
51090
|
+
position: relative;
|
|
51091
|
+
padding-left: 24px;
|
|
51092
|
+
}
|
|
51093
|
+
|
|
51094
|
+
/* Vertical connector line */
|
|
51095
|
+
.timeline::before {
|
|
51096
|
+
content: '';
|
|
51097
|
+
position: absolute;
|
|
51098
|
+
left: 7px;
|
|
51099
|
+
top: 10px;
|
|
51100
|
+
bottom: calc(100% - 10px);
|
|
51101
|
+
height: auto;
|
|
51102
|
+
width: 2px;
|
|
51103
|
+
background: ${cssManager.bdTheme(
|
|
51104
|
+
"linear-gradient(to bottom, #e5e7eb 0%, #d1d5db 50%, #e5e7eb 100%)",
|
|
51105
|
+
"linear-gradient(to bottom, #27272a 0%, #3f3f46 50%, #27272a 100%)"
|
|
51106
|
+
)};
|
|
51107
|
+
border-radius: 1px;
|
|
51108
|
+
}
|
|
51109
|
+
|
|
50631
51110
|
.update-item {
|
|
50632
51111
|
position: relative;
|
|
50633
51112
|
padding-left: ${r(spacing.lg)};
|
|
50634
|
-
|
|
51113
|
+
padding-bottom: ${r(spacing.lg)};
|
|
51114
|
+
animation: fadeInUp 0.3s ${r(easings.default)} both;
|
|
51115
|
+
}
|
|
51116
|
+
|
|
51117
|
+
.update-item:last-child {
|
|
51118
|
+
padding-bottom: 0;
|
|
50635
51119
|
}
|
|
50636
51120
|
|
|
51121
|
+
/* Timeline dot */
|
|
50637
51122
|
.update-item::before {
|
|
50638
51123
|
content: '';
|
|
50639
51124
|
position: absolute;
|
|
50640
|
-
left:
|
|
50641
|
-
top:
|
|
50642
|
-
width:
|
|
50643
|
-
height:
|
|
50644
|
-
border-radius:
|
|
50645
|
-
background: ${colors.
|
|
51125
|
+
left: -22px;
|
|
51126
|
+
top: 4px;
|
|
51127
|
+
width: 12px;
|
|
51128
|
+
height: 12px;
|
|
51129
|
+
border-radius: 50%;
|
|
51130
|
+
background: ${colors.background.card};
|
|
51131
|
+
border: 2px solid ${colors.border.muted};
|
|
51132
|
+
z-index: 1;
|
|
51133
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
51134
|
+
}
|
|
51135
|
+
|
|
51136
|
+
.update-item:first-child::before {
|
|
51137
|
+
border-color: ${colors.status.operational};
|
|
51138
|
+
background: ${colors.status.operational};
|
|
51139
|
+
box-shadow: 0 0 0 3px ${cssManager.bdTheme("rgba(22, 163, 74, 0.15)", "rgba(34, 197, 94, 0.2)")};
|
|
51140
|
+
}
|
|
51141
|
+
|
|
51142
|
+
.update-item:hover::before {
|
|
51143
|
+
transform: scale(1.2);
|
|
51144
|
+
border-color: ${colors.text.secondary};
|
|
50646
51145
|
}
|
|
50647
51146
|
|
|
50648
51147
|
.update-time {
|
|
50649
|
-
font-size:
|
|
50650
|
-
color: ${colors.text.
|
|
50651
|
-
margin-bottom:
|
|
51148
|
+
font-size: 11px;
|
|
51149
|
+
color: ${colors.text.muted};
|
|
51150
|
+
margin-bottom: 4px;
|
|
50652
51151
|
font-family: ${r(fonts.mono)};
|
|
51152
|
+
display: flex;
|
|
51153
|
+
align-items: center;
|
|
51154
|
+
gap: 8px;
|
|
51155
|
+
}
|
|
51156
|
+
|
|
51157
|
+
.update-status-badge {
|
|
51158
|
+
display: inline-flex;
|
|
51159
|
+
padding: 2px 6px;
|
|
51160
|
+
border-radius: 4px;
|
|
51161
|
+
font-size: 10px;
|
|
51162
|
+
font-weight: 600;
|
|
51163
|
+
text-transform: uppercase;
|
|
51164
|
+
letter-spacing: 0.02em;
|
|
51165
|
+
background: ${colors.background.muted};
|
|
51166
|
+
color: ${colors.text.secondary};
|
|
50653
51167
|
}
|
|
50654
51168
|
|
|
50655
51169
|
.update-message {
|
|
@@ -50660,9 +51174,11 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50660
51174
|
|
|
50661
51175
|
.update-author {
|
|
50662
51176
|
font-size: 12px;
|
|
50663
|
-
color: ${colors.text.
|
|
50664
|
-
margin-top:
|
|
50665
|
-
|
|
51177
|
+
color: ${colors.text.muted};
|
|
51178
|
+
margin-top: 4px;
|
|
51179
|
+
display: flex;
|
|
51180
|
+
align-items: center;
|
|
51181
|
+
gap: 4px;
|
|
50666
51182
|
}
|
|
50667
51183
|
|
|
50668
51184
|
.loading-skeleton {
|
|
@@ -50672,33 +51188,34 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50672
51188
|
"linear-gradient(90deg, #1f1f1f 25%, #262626 50%, #1f1f1f 75%)"
|
|
50673
51189
|
)};
|
|
50674
51190
|
background-size: 200% 100%;
|
|
50675
|
-
animation:
|
|
50676
|
-
border-radius: ${r(borderRadius.
|
|
51191
|
+
animation: shimmer 1.5s infinite;
|
|
51192
|
+
border-radius: ${r(borderRadius.lg)};
|
|
50677
51193
|
margin-bottom: ${r(spacing.lg)};
|
|
50678
51194
|
}
|
|
50679
51195
|
|
|
50680
|
-
@keyframes
|
|
51196
|
+
@keyframes shimmer {
|
|
50681
51197
|
0% { background-position: 200% 0; }
|
|
50682
51198
|
100% { background-position: -200% 0; }
|
|
50683
51199
|
}
|
|
50684
51200
|
|
|
50685
51201
|
.show-more {
|
|
50686
51202
|
text-align: center;
|
|
50687
|
-
margin-top: ${r(spacing.
|
|
51203
|
+
margin-top: ${r(spacing.xl)};
|
|
50688
51204
|
}
|
|
50689
51205
|
|
|
50690
51206
|
.show-more-button {
|
|
50691
51207
|
display: inline-flex;
|
|
50692
51208
|
align-items: center;
|
|
50693
51209
|
justify-content: center;
|
|
50694
|
-
|
|
51210
|
+
gap: 8px;
|
|
51211
|
+
padding: 10px 20px;
|
|
50695
51212
|
background: transparent;
|
|
50696
51213
|
border: 1px solid ${colors.border.default};
|
|
50697
51214
|
border-radius: ${r(borderRadius.base)};
|
|
50698
51215
|
cursor: pointer;
|
|
50699
51216
|
font-size: 14px;
|
|
50700
51217
|
font-weight: 500;
|
|
50701
|
-
transition: all
|
|
51218
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
50702
51219
|
color: ${colors.text.primary};
|
|
50703
51220
|
font-family: ${r(fonts.base)};
|
|
50704
51221
|
}
|
|
@@ -50706,7 +51223,8 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50706
51223
|
.show-more-button:hover {
|
|
50707
51224
|
background: ${colors.background.secondary};
|
|
50708
51225
|
border-color: ${colors.border.muted};
|
|
50709
|
-
transform: translateY(-
|
|
51226
|
+
transform: translateY(-2px);
|
|
51227
|
+
box-shadow: ${r(shadows.sm)};
|
|
50710
51228
|
}
|
|
50711
51229
|
|
|
50712
51230
|
.show-more-button:active {
|
|
@@ -50725,15 +51243,15 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50725
51243
|
.subscribe-button {
|
|
50726
51244
|
display: inline-flex;
|
|
50727
51245
|
align-items: center;
|
|
50728
|
-
gap:
|
|
50729
|
-
padding:
|
|
51246
|
+
gap: 6px;
|
|
51247
|
+
padding: 8px 14px;
|
|
50730
51248
|
background: transparent;
|
|
50731
51249
|
border: 1px solid ${colors.border.default};
|
|
50732
51250
|
border-radius: ${r(borderRadius.base)};
|
|
50733
51251
|
cursor: pointer;
|
|
50734
51252
|
font-size: 13px;
|
|
50735
|
-
font-weight:
|
|
50736
|
-
transition: all
|
|
51253
|
+
font-weight: 500;
|
|
51254
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
50737
51255
|
color: ${colors.text.primary};
|
|
50738
51256
|
font-family: ${r(fonts.base)};
|
|
50739
51257
|
}
|
|
@@ -50741,14 +51259,15 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50741
51259
|
.subscribe-button:hover {
|
|
50742
51260
|
background: ${colors.background.secondary};
|
|
50743
51261
|
border-color: ${colors.border.muted};
|
|
51262
|
+
transform: translateY(-1px);
|
|
50744
51263
|
}
|
|
50745
|
-
|
|
51264
|
+
|
|
50746
51265
|
.subscribe-button.subscribed {
|
|
50747
51266
|
background: ${cssManager.bdTheme("#f0fdf4", "#064e3b")};
|
|
50748
51267
|
border-color: ${cssManager.bdTheme("#86efac", "#047857")};
|
|
50749
51268
|
color: ${cssManager.bdTheme("#047857", "#86efac")};
|
|
50750
51269
|
}
|
|
50751
|
-
|
|
51270
|
+
|
|
50752
51271
|
.subscribe-button.subscribed:hover {
|
|
50753
51272
|
background: ${cssManager.bdTheme("#dcfce7", "#065f46")};
|
|
50754
51273
|
}
|
|
@@ -50761,6 +51280,15 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50761
51280
|
opacity: 0.8;
|
|
50762
51281
|
}
|
|
50763
51282
|
|
|
51283
|
+
/* Expand icon animation */
|
|
51284
|
+
.expand-icon {
|
|
51285
|
+
transition: transform ${r(durations.normal)} ${r(easings.default)};
|
|
51286
|
+
}
|
|
51287
|
+
|
|
51288
|
+
.expand-icon.rotated {
|
|
51289
|
+
transform: rotate(180deg);
|
|
51290
|
+
}
|
|
51291
|
+
|
|
50764
51292
|
@media (max-width: 640px) {
|
|
50765
51293
|
.container {
|
|
50766
51294
|
padding: 0 ${r(spacing.md)} ${r(spacing.md)} ${r(spacing.md)};
|
|
@@ -50770,10 +51298,28 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50770
51298
|
padding: ${r(spacing.md)};
|
|
50771
51299
|
}
|
|
50772
51300
|
|
|
51301
|
+
.incident-body {
|
|
51302
|
+
padding: 0 ${r(spacing.md)} ${r(spacing.md)} ${r(spacing.md)};
|
|
51303
|
+
}
|
|
51304
|
+
|
|
50773
51305
|
.incident-meta {
|
|
50774
51306
|
flex-direction: column;
|
|
50775
51307
|
gap: ${r(spacing.xs)};
|
|
50776
51308
|
}
|
|
51309
|
+
|
|
51310
|
+
.timeline {
|
|
51311
|
+
padding-left: 20px;
|
|
51312
|
+
}
|
|
51313
|
+
|
|
51314
|
+
.timeline::before {
|
|
51315
|
+
left: 4px;
|
|
51316
|
+
}
|
|
51317
|
+
|
|
51318
|
+
.update-item::before {
|
|
51319
|
+
left: -18px;
|
|
51320
|
+
width: 10px;
|
|
51321
|
+
height: 10px;
|
|
51322
|
+
}
|
|
50777
51323
|
}
|
|
50778
51324
|
`
|
|
50779
51325
|
]);
|
|
@@ -51323,22 +51869,32 @@ __publicField(UplStatuspageStatusbar, "styles", [
|
|
|
51323
51869
|
display: flex;
|
|
51324
51870
|
align-items: center;
|
|
51325
51871
|
justify-content: space-between;
|
|
51326
|
-
min-height:
|
|
51327
|
-
padding: ${r(spacing.
|
|
51328
|
-
border-radius: ${r(borderRadius.
|
|
51872
|
+
min-height: 72px;
|
|
51873
|
+
padding: ${r(spacing.lg)} ${r(spacing.xl)};
|
|
51874
|
+
border-radius: ${r(borderRadius.xl)};
|
|
51329
51875
|
cursor: default;
|
|
51330
|
-
transition: all ${r(durations.
|
|
51876
|
+
transition: all ${r(durations.slow)} ${r(easings.default)};
|
|
51331
51877
|
position: relative;
|
|
51332
51878
|
overflow: hidden;
|
|
51333
51879
|
font-weight: 500;
|
|
51334
51880
|
font-size: 15px;
|
|
51335
51881
|
letter-spacing: -0.01em;
|
|
51336
|
-
background: ${colors.background.card};
|
|
51337
51882
|
border: 1px solid ${colors.border.default};
|
|
51338
51883
|
box-shadow: ${r(shadows.sm)};
|
|
51339
51884
|
}
|
|
51340
51885
|
|
|
51886
|
+
/* Gradient background overlay */
|
|
51341
51887
|
.statusbar-inner::before {
|
|
51888
|
+
content: '';
|
|
51889
|
+
position: absolute;
|
|
51890
|
+
inset: 0;
|
|
51891
|
+
opacity: 1;
|
|
51892
|
+
transition: opacity ${r(durations.slow)} ${r(easings.default)};
|
|
51893
|
+
z-index: 0;
|
|
51894
|
+
}
|
|
51895
|
+
|
|
51896
|
+
/* Left accent border */
|
|
51897
|
+
.statusbar-inner::after {
|
|
51342
51898
|
content: '';
|
|
51343
51899
|
position: absolute;
|
|
51344
51900
|
left: 0;
|
|
@@ -51346,31 +51902,72 @@ __publicField(UplStatuspageStatusbar, "styles", [
|
|
|
51346
51902
|
bottom: 0;
|
|
51347
51903
|
width: 4px;
|
|
51348
51904
|
transition: background ${r(durations.normal)} ${r(easings.default)};
|
|
51905
|
+
z-index: 1;
|
|
51349
51906
|
}
|
|
51350
51907
|
|
|
51908
|
+
/* Operational - green gradient */
|
|
51909
|
+
.statusbar-inner.operational {
|
|
51910
|
+
background: ${colors.background.card};
|
|
51911
|
+
}
|
|
51351
51912
|
.statusbar-inner.operational::before {
|
|
51913
|
+
background: ${statusGradients.operational};
|
|
51914
|
+
}
|
|
51915
|
+
.statusbar-inner.operational::after {
|
|
51352
51916
|
background: ${colors.status.operational};
|
|
51353
51917
|
}
|
|
51354
51918
|
|
|
51919
|
+
/* Degraded - yellow/amber gradient */
|
|
51920
|
+
.statusbar-inner.degraded {
|
|
51921
|
+
background: ${colors.background.card};
|
|
51922
|
+
}
|
|
51355
51923
|
.statusbar-inner.degraded::before {
|
|
51924
|
+
background: ${statusGradients.degraded};
|
|
51925
|
+
}
|
|
51926
|
+
.statusbar-inner.degraded::after {
|
|
51356
51927
|
background: ${colors.status.degraded};
|
|
51357
51928
|
}
|
|
51358
51929
|
|
|
51930
|
+
/* Partial outage - orange/red gradient */
|
|
51931
|
+
.statusbar-inner.partial_outage {
|
|
51932
|
+
background: ${colors.background.card};
|
|
51933
|
+
}
|
|
51359
51934
|
.statusbar-inner.partial_outage::before {
|
|
51935
|
+
background: ${statusGradients.partial};
|
|
51936
|
+
}
|
|
51937
|
+
.statusbar-inner.partial_outage::after {
|
|
51360
51938
|
background: ${colors.status.partial};
|
|
51361
51939
|
}
|
|
51362
51940
|
|
|
51941
|
+
/* Major outage - red gradient */
|
|
51942
|
+
.statusbar-inner.major_outage {
|
|
51943
|
+
background: ${colors.background.card};
|
|
51944
|
+
}
|
|
51363
51945
|
.statusbar-inner.major_outage::before {
|
|
51946
|
+
background: ${statusGradients.major};
|
|
51947
|
+
}
|
|
51948
|
+
.statusbar-inner.major_outage::after {
|
|
51364
51949
|
background: ${colors.status.major};
|
|
51365
51950
|
}
|
|
51366
51951
|
|
|
51952
|
+
/* Maintenance - blue gradient */
|
|
51953
|
+
.statusbar-inner.maintenance {
|
|
51954
|
+
background: ${colors.background.card};
|
|
51955
|
+
}
|
|
51367
51956
|
.statusbar-inner.maintenance::before {
|
|
51957
|
+
background: ${statusGradients.maintenance};
|
|
51958
|
+
}
|
|
51959
|
+
.statusbar-inner.maintenance::after {
|
|
51368
51960
|
background: ${colors.status.maintenance};
|
|
51369
51961
|
}
|
|
51370
51962
|
|
|
51371
51963
|
.statusbar-inner:hover {
|
|
51372
51964
|
border-color: ${colors.border.muted};
|
|
51373
|
-
box-shadow: ${r(shadows.
|
|
51965
|
+
box-shadow: ${r(shadows.md)};
|
|
51966
|
+
transform: translateY(-1px);
|
|
51967
|
+
}
|
|
51968
|
+
|
|
51969
|
+
.statusbar-inner:hover::before {
|
|
51970
|
+
opacity: 1.2;
|
|
51374
51971
|
}
|
|
51375
51972
|
|
|
51376
51973
|
.status-indicator {
|
|
@@ -52255,8 +52852,9 @@ var UplStatuspageStatusdetails = class extends (_a8 = DeesElement, _historyData_
|
|
|
52255
52852
|
const status = dataPoint?.status || "no-data";
|
|
52256
52853
|
const responseTime = dataPoint?.responseTime || 0;
|
|
52257
52854
|
bars.push(x`
|
|
52258
|
-
<div
|
|
52855
|
+
<div
|
|
52259
52856
|
class="bar ${status}"
|
|
52857
|
+
style="--bar-index: ${i9}"
|
|
52260
52858
|
@mouseenter=${(e10) => this.showTooltip(e10, timestamp2, status, responseTime)}
|
|
52261
52859
|
@click=${() => this.handleBarClick(timestamp2, status, responseTime)}
|
|
52262
52860
|
></div>
|
|
@@ -52357,6 +52955,12 @@ __publicField(UplStatuspageStatusdetails, "styles", [
|
|
|
52357
52955
|
|
|
52358
52956
|
.graph-container {
|
|
52359
52957
|
position: relative;
|
|
52958
|
+
animation: fadeIn 0.3s ${r(easings.default)};
|
|
52959
|
+
}
|
|
52960
|
+
|
|
52961
|
+
@keyframes fadeIn {
|
|
52962
|
+
from { opacity: 0; }
|
|
52963
|
+
to { opacity: 1; }
|
|
52360
52964
|
}
|
|
52361
52965
|
|
|
52362
52966
|
.mainbox {
|
|
@@ -52382,14 +52986,29 @@ __publicField(UplStatuspageStatusdetails, "styles", [
|
|
|
52382
52986
|
flex: 1;
|
|
52383
52987
|
height: 100%;
|
|
52384
52988
|
cursor: pointer;
|
|
52385
|
-
transition: all
|
|
52989
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
52386
52990
|
position: relative;
|
|
52387
|
-
border-radius:
|
|
52991
|
+
border-radius: 3px;
|
|
52992
|
+
animation: barGrow 0.4s ${r(easings.default)} both;
|
|
52993
|
+
animation-delay: calc(var(--bar-index, 0) * 8ms);
|
|
52994
|
+
transform-origin: bottom;
|
|
52995
|
+
}
|
|
52996
|
+
|
|
52997
|
+
@keyframes barGrow {
|
|
52998
|
+
from {
|
|
52999
|
+
transform: scaleY(0);
|
|
53000
|
+
opacity: 0;
|
|
53001
|
+
}
|
|
53002
|
+
to {
|
|
53003
|
+
transform: scaleY(1);
|
|
53004
|
+
opacity: 1;
|
|
53005
|
+
}
|
|
52388
53006
|
}
|
|
52389
53007
|
|
|
52390
53008
|
.mainbox .barContainer .bar:hover {
|
|
52391
|
-
transform: scaleY(1.
|
|
52392
|
-
box-shadow: 0 2px
|
|
53009
|
+
transform: scaleY(1.15);
|
|
53010
|
+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
53011
|
+
z-index: 1;
|
|
52393
53012
|
}
|
|
52394
53013
|
|
|
52395
53014
|
.mainbox .barContainer .bar.operational {
|
|
@@ -52433,20 +53052,23 @@ __publicField(UplStatuspageStatusdetails, "styles", [
|
|
|
52433
53052
|
position: absolute;
|
|
52434
53053
|
background: ${cssManager.bdTheme("#0a0a0a", "#fafafa")};
|
|
52435
53054
|
color: ${cssManager.bdTheme("#fafafa", "#0a0a0a")};
|
|
52436
|
-
padding:
|
|
52437
|
-
border-radius:
|
|
53055
|
+
padding: 8px 12px;
|
|
53056
|
+
border-radius: ${r(borderRadius.base)};
|
|
52438
53057
|
font-size: 11px;
|
|
52439
53058
|
pointer-events: none;
|
|
52440
53059
|
opacity: 0;
|
|
52441
|
-
transition: opacity
|
|
53060
|
+
transition: opacity ${r(durations.fast)} ${r(easings.default)},
|
|
53061
|
+
transform ${r(durations.fast)} ${r(easings.default)};
|
|
52442
53062
|
z-index: 50;
|
|
52443
53063
|
white-space: nowrap;
|
|
52444
|
-
box-shadow:
|
|
52445
|
-
line-height: 1.
|
|
53064
|
+
box-shadow: ${r(shadows.lg)};
|
|
53065
|
+
line-height: 1.5;
|
|
53066
|
+
transform: translateY(4px);
|
|
52446
53067
|
}
|
|
52447
53068
|
|
|
52448
53069
|
.tooltip.visible {
|
|
52449
53070
|
opacity: 1;
|
|
53071
|
+
transform: translateY(0);
|
|
52450
53072
|
}
|
|
52451
53073
|
|
|
52452
53074
|
.tooltip-time {
|
|
@@ -53306,21 +53928,30 @@ var UplStatuspageStatusmonth = class extends (_a9 = DeesElement, _monthlyData_de
|
|
|
53306
53928
|
const monthDate = /* @__PURE__ */ new Date(monthData.month + "-01");
|
|
53307
53929
|
const monthName = monthDate.toLocaleDateString("en-US", { month: "short", year: "numeric" });
|
|
53308
53930
|
const firstDayOfWeek = new Date(monthDate.getFullYear(), monthDate.getMonth(), 1).getDay();
|
|
53931
|
+
const now2 = /* @__PURE__ */ new Date();
|
|
53932
|
+
const isCurrentMonth = monthDate.getMonth() === now2.getMonth() && monthDate.getFullYear() === now2.getFullYear();
|
|
53933
|
+
const uptimeClass = this.getUptimeClass(monthData.overallUptime);
|
|
53309
53934
|
return x`
|
|
53310
53935
|
<div class="statusMonth" @mouseleave=${this.hideTooltip}>
|
|
53311
|
-
<div class="month-header"
|
|
53936
|
+
<div class="month-header">
|
|
53937
|
+
${monthName}
|
|
53938
|
+
${isCurrentMonth ? x`<span class="current-badge">Current</span>` : ""}
|
|
53939
|
+
</div>
|
|
53312
53940
|
<div class="days-container">
|
|
53313
53941
|
<div class="days-grid">
|
|
53314
53942
|
${this.renderWeekdayLabels()}
|
|
53315
53943
|
${this.renderEmptyDays(firstDayOfWeek)}
|
|
53316
|
-
${monthData.days.map((day) => this.renderDay(day))}
|
|
53944
|
+
${monthData.days.map((day, index2) => this.renderDay(day, index2))}
|
|
53317
53945
|
${this.renderTrailingEmptyDays(firstDayOfWeek + monthData.days.length)}
|
|
53318
53946
|
</div>
|
|
53319
53947
|
</div>
|
|
53320
53948
|
<div class="overall-uptime">
|
|
53321
53949
|
<div class="uptime-stat">
|
|
53322
53950
|
<span>Uptime</span>
|
|
53323
|
-
<span class="uptime-value">${monthData.overallUptime.toFixed(2)}%</span>
|
|
53951
|
+
<span class="uptime-value ${uptimeClass}">${monthData.overallUptime.toFixed(2)}%</span>
|
|
53952
|
+
</div>
|
|
53953
|
+
<div class="uptime-bar">
|
|
53954
|
+
<div class="uptime-bar-fill ${uptimeClass}" style="width: ${monthData.overallUptime}%"></div>
|
|
53324
53955
|
</div>
|
|
53325
53956
|
${monthData.totalIncidents > 0 ? x`
|
|
53326
53957
|
<div class="uptime-stat">
|
|
@@ -53332,6 +53963,11 @@ var UplStatuspageStatusmonth = class extends (_a9 = DeesElement, _monthlyData_de
|
|
|
53332
53963
|
</div>
|
|
53333
53964
|
`;
|
|
53334
53965
|
}
|
|
53966
|
+
getUptimeClass(uptime) {
|
|
53967
|
+
if (uptime >= 99.9) return "good";
|
|
53968
|
+
if (uptime >= 99) return "warning";
|
|
53969
|
+
return "bad";
|
|
53970
|
+
}
|
|
53335
53971
|
renderWeekdayLabels() {
|
|
53336
53972
|
const weekdays = ["S", "M", "T", "W", "T", "F", "S"];
|
|
53337
53973
|
return weekdays.map((day) => x`<div class="weekday-label">${day}</div>`);
|
|
@@ -53344,54 +53980,60 @@ var UplStatuspageStatusmonth = class extends (_a9 = DeesElement, _monthlyData_de
|
|
|
53344
53980
|
const trailingCount = remainder === 0 ? 0 : 7 - remainder;
|
|
53345
53981
|
return Array(trailingCount).fill(0).map(() => x`<div class="statusDay empty"></div>`);
|
|
53346
53982
|
}
|
|
53347
|
-
renderDay(day) {
|
|
53983
|
+
renderDay(day, index2 = 0) {
|
|
53348
53984
|
const status = day.status || "no-data";
|
|
53349
53985
|
const date = new Date(day.date);
|
|
53350
|
-
const
|
|
53986
|
+
const now2 = /* @__PURE__ */ new Date();
|
|
53987
|
+
const isToday3 = date.toDateString() === now2.toDateString();
|
|
53988
|
+
const uptimeIntensity = this.getUptimeIntensity(day.uptime);
|
|
53351
53989
|
return x`
|
|
53352
|
-
<div
|
|
53353
|
-
class="statusDay ${status}"
|
|
53990
|
+
<div
|
|
53991
|
+
class="statusDay ${status} ${isToday3 ? "today" : ""} ${status === "operational" ? uptimeIntensity : ""}"
|
|
53992
|
+
style="--day-index: ${index2}"
|
|
53354
53993
|
@mouseenter=${(e10) => this.showTooltip && this.showDayTooltip(e10, day)}
|
|
53355
53994
|
@click=${() => this.handleDayClick(day)}
|
|
53356
53995
|
>
|
|
53357
|
-
${status === "major_outage" || status === "partial_outage" ? x`
|
|
53358
|
-
<
|
|
53359
|
-
position: absolute;
|
|
53360
|
-
top: 50%;
|
|
53361
|
-
left: 50%;
|
|
53362
|
-
transform: translate(-50%, -50%);
|
|
53363
|
-
font-size: 8px;
|
|
53364
|
-
font-weight: bold;
|
|
53365
|
-
color: white;
|
|
53366
|
-
">${day.incidents}</div>
|
|
53996
|
+
${(status === "major_outage" || status === "partial_outage") && day.incidents > 0 ? x`
|
|
53997
|
+
<span class="incident-count">${day.incidents}</span>
|
|
53367
53998
|
` : ""}
|
|
53368
53999
|
</div>
|
|
53369
54000
|
`;
|
|
53370
54001
|
}
|
|
54002
|
+
getUptimeIntensity(uptime) {
|
|
54003
|
+
if (uptime >= 99.9) return "uptime-high";
|
|
54004
|
+
if (uptime >= 99) return "uptime-mid";
|
|
54005
|
+
return "";
|
|
54006
|
+
}
|
|
53371
54007
|
showDayTooltip(event, day) {
|
|
53372
54008
|
const tooltip = this.shadowRoot?.getElementById("tooltip");
|
|
53373
54009
|
if (!tooltip) return;
|
|
53374
54010
|
const date = new Date(day.date);
|
|
53375
54011
|
const dateStr = date.toLocaleDateString("en-US", {
|
|
53376
|
-
weekday: "
|
|
53377
|
-
|
|
53378
|
-
month: "long",
|
|
54012
|
+
weekday: "short",
|
|
54013
|
+
month: "short",
|
|
53379
54014
|
day: "numeric"
|
|
53380
54015
|
});
|
|
53381
54016
|
let statusText = day.status.replace(/_/g, " ");
|
|
53382
54017
|
statusText = statusText.charAt(0).toUpperCase() + statusText.slice(1);
|
|
54018
|
+
const uptimeColor = day.uptime >= 99.9 ? "#22c55e" : day.uptime >= 99 ? "#fbbf24" : "#f87171";
|
|
53383
54019
|
tooltip.innerHTML = `
|
|
53384
54020
|
<div class="tooltip-date">${dateStr}</div>
|
|
53385
|
-
<div class="tooltip-stat">
|
|
53386
|
-
|
|
53387
|
-
|
|
53388
|
-
|
|
54021
|
+
<div class="tooltip-stat">
|
|
54022
|
+
<span style="display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: ${uptimeColor};"></span>
|
|
54023
|
+
${statusText}
|
|
54024
|
+
</div>
|
|
54025
|
+
<div class="tooltip-stat">Uptime: <strong>${day.uptime.toFixed(2)}%</strong></div>
|
|
54026
|
+
${day.incidents > 0 ? `<div class="tooltip-stat">Incidents: <strong>${day.incidents}</strong></div>` : ""}
|
|
54027
|
+
${day.totalDowntime > 0 ? `<div class="tooltip-stat">Downtime: <strong>${day.totalDowntime}m</strong></div>` : ""}
|
|
54028
|
+
<div class="tooltip-uptime-bar">
|
|
54029
|
+
<div class="tooltip-uptime-fill" style="width: ${day.uptime}%; background: ${uptimeColor};"></div>
|
|
54030
|
+
</div>
|
|
53389
54031
|
`;
|
|
53390
54032
|
const rect = event.target.getBoundingClientRect();
|
|
53391
54033
|
const containerRect = this.getBoundingClientRect();
|
|
53392
54034
|
tooltip.style.left = `${rect.left - containerRect.left + rect.width / 2}px`;
|
|
53393
|
-
tooltip.style.top = `${rect.top - containerRect.top -
|
|
53394
|
-
tooltip.style.transform = "translateX(-50%)";
|
|
54035
|
+
tooltip.style.top = `${rect.top - containerRect.top - 10}px`;
|
|
54036
|
+
tooltip.style.transform = "translateX(-50%) translateY(-100%)";
|
|
53395
54037
|
tooltip.classList.add("visible");
|
|
53396
54038
|
}
|
|
53397
54039
|
hideTooltip() {
|
|
@@ -53434,242 +54076,402 @@ __publicField(UplStatuspageStatusmonth, "styles", [
|
|
|
53434
54076
|
commonStyles,
|
|
53435
54077
|
i`
|
|
53436
54078
|
:host {
|
|
53437
|
-
|
|
53438
|
-
|
|
53439
|
-
|
|
53440
|
-
|
|
53441
|
-
|
|
53442
|
-
|
|
53443
|
-
|
|
53444
|
-
.container {
|
|
53445
|
-
max-width: 1200px;
|
|
53446
|
-
margin: 0 auto;
|
|
53447
|
-
padding: 0 ${r(spacing.lg)} ${r(spacing.lg)} ${r(spacing.lg)};
|
|
53448
|
-
}
|
|
54079
|
+
position: relative;
|
|
54080
|
+
display: block;
|
|
54081
|
+
background: transparent;
|
|
54082
|
+
font-family: ${r(fonts.base)};
|
|
54083
|
+
color: ${colors.text.primary};
|
|
54084
|
+
}
|
|
53449
54085
|
|
|
53450
|
-
|
|
53451
|
-
|
|
53452
|
-
|
|
53453
|
-
|
|
53454
|
-
|
|
54086
|
+
.container {
|
|
54087
|
+
max-width: 1200px;
|
|
54088
|
+
margin: 0 auto;
|
|
54089
|
+
padding: 0 ${r(spacing.lg)} ${r(spacing.lg)} ${r(spacing.lg)};
|
|
54090
|
+
}
|
|
53455
54091
|
|
|
53456
|
-
|
|
53457
|
-
|
|
53458
|
-
|
|
53459
|
-
|
|
53460
|
-
|
|
53461
|
-
position: relative;
|
|
53462
|
-
transition: all 0.2s ease;
|
|
53463
|
-
display: flex;
|
|
53464
|
-
flex-direction: column;
|
|
53465
|
-
min-height: 280px;
|
|
53466
|
-
box-shadow: ${cssManager.bdTheme("0 1px 2px 0 rgba(0, 0, 0, 0.05)", "none")};
|
|
53467
|
-
}
|
|
54092
|
+
.mainbox {
|
|
54093
|
+
display: grid;
|
|
54094
|
+
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
|
54095
|
+
gap: ${r(spacing.lg)};
|
|
54096
|
+
}
|
|
53468
54097
|
|
|
53469
|
-
|
|
53470
|
-
|
|
53471
|
-
|
|
53472
|
-
}
|
|
54098
|
+
/* Month card with entrance animation */
|
|
54099
|
+
.statusMonth {
|
|
54100
|
+
background: ${colors.background.card};
|
|
54101
|
+
padding: ${r(spacing.lg)};
|
|
54102
|
+
border-radius: ${r(borderRadius.lg)};
|
|
54103
|
+
border: 1px solid ${colors.border.default};
|
|
54104
|
+
position: relative;
|
|
54105
|
+
transition: all ${r(durations.normal)} ${r(easings.default)};
|
|
54106
|
+
display: flex;
|
|
54107
|
+
flex-direction: column;
|
|
54108
|
+
min-height: 280px;
|
|
54109
|
+
box-shadow: ${r(shadows.sm)};
|
|
54110
|
+
animation: fadeInUp 0.5s ${r(easings.default)} both;
|
|
54111
|
+
}
|
|
53473
54112
|
|
|
53474
|
-
|
|
53475
|
-
|
|
53476
|
-
|
|
53477
|
-
|
|
53478
|
-
|
|
53479
|
-
letter-spacing: 0.02em;
|
|
53480
|
-
text-transform: uppercase;
|
|
53481
|
-
}
|
|
54113
|
+
.statusMonth:nth-child(1) { animation-delay: 0ms; }
|
|
54114
|
+
.statusMonth:nth-child(2) { animation-delay: 100ms; }
|
|
54115
|
+
.statusMonth:nth-child(3) { animation-delay: 200ms; }
|
|
54116
|
+
.statusMonth:nth-child(4) { animation-delay: 300ms; }
|
|
54117
|
+
.statusMonth:nth-child(5) { animation-delay: 400ms; }
|
|
53482
54118
|
|
|
53483
|
-
|
|
53484
|
-
|
|
53485
|
-
|
|
53486
|
-
|
|
53487
|
-
margin-bottom: ${r(spacing.lg)};
|
|
54119
|
+
@keyframes fadeInUp {
|
|
54120
|
+
from {
|
|
54121
|
+
opacity: 0;
|
|
54122
|
+
transform: translateY(16px);
|
|
53488
54123
|
}
|
|
53489
|
-
|
|
53490
|
-
|
|
53491
|
-
|
|
53492
|
-
grid-template-columns: repeat(7, 1fr);
|
|
53493
|
-
gap: 3px;
|
|
53494
|
-
width: 100%;
|
|
54124
|
+
to {
|
|
54125
|
+
opacity: 1;
|
|
54126
|
+
transform: translateY(0);
|
|
53495
54127
|
}
|
|
54128
|
+
}
|
|
53496
54129
|
|
|
53497
|
-
|
|
53498
|
-
|
|
53499
|
-
|
|
53500
|
-
|
|
53501
|
-
|
|
53502
|
-
height: 20px;
|
|
53503
|
-
line-height: 20px;
|
|
53504
|
-
margin-bottom: ${r(spacing.sm)};
|
|
53505
|
-
text-transform: uppercase;
|
|
53506
|
-
}
|
|
54130
|
+
.statusMonth:hover {
|
|
54131
|
+
border-color: ${colors.border.muted};
|
|
54132
|
+
box-shadow: ${r(shadows.md)};
|
|
54133
|
+
transform: translateY(-2px);
|
|
54134
|
+
}
|
|
53507
54135
|
|
|
53508
|
-
|
|
53509
|
-
|
|
53510
|
-
|
|
53511
|
-
|
|
53512
|
-
|
|
53513
|
-
|
|
53514
|
-
|
|
54136
|
+
.month-header {
|
|
54137
|
+
font-size: 12px;
|
|
54138
|
+
font-weight: 600;
|
|
54139
|
+
margin-bottom: ${r(spacing.md)};
|
|
54140
|
+
color: ${colors.text.primary};
|
|
54141
|
+
letter-spacing: 0.04em;
|
|
54142
|
+
text-transform: uppercase;
|
|
54143
|
+
display: flex;
|
|
54144
|
+
align-items: center;
|
|
54145
|
+
gap: 8px;
|
|
54146
|
+
}
|
|
53515
54147
|
|
|
53516
|
-
|
|
53517
|
-
|
|
53518
|
-
|
|
53519
|
-
|
|
53520
|
-
|
|
54148
|
+
.month-header .current-badge {
|
|
54149
|
+
font-size: 9px;
|
|
54150
|
+
padding: 2px 6px;
|
|
54151
|
+
background: ${colors.status.operational};
|
|
54152
|
+
color: white;
|
|
54153
|
+
border-radius: ${r(borderRadius.full)};
|
|
54154
|
+
font-weight: 500;
|
|
54155
|
+
letter-spacing: 0.02em;
|
|
54156
|
+
}
|
|
53521
54157
|
|
|
53522
|
-
|
|
53523
|
-
|
|
53524
|
-
|
|
54158
|
+
.days-container {
|
|
54159
|
+
flex: 1;
|
|
54160
|
+
display: flex;
|
|
54161
|
+
flex-direction: column;
|
|
54162
|
+
margin-bottom: ${r(spacing.lg)};
|
|
54163
|
+
}
|
|
53525
54164
|
|
|
53526
|
-
|
|
53527
|
-
|
|
53528
|
-
|
|
54165
|
+
.days-grid {
|
|
54166
|
+
display: grid;
|
|
54167
|
+
grid-template-columns: repeat(7, 1fr);
|
|
54168
|
+
gap: 4px;
|
|
54169
|
+
width: 100%;
|
|
54170
|
+
}
|
|
53529
54171
|
|
|
53530
|
-
|
|
53531
|
-
|
|
53532
|
-
|
|
54172
|
+
.weekday-label {
|
|
54173
|
+
font-size: 9px;
|
|
54174
|
+
text-align: center;
|
|
54175
|
+
color: ${colors.text.muted};
|
|
54176
|
+
font-weight: 600;
|
|
54177
|
+
height: 20px;
|
|
54178
|
+
line-height: 20px;
|
|
54179
|
+
margin-bottom: ${r(spacing.xs)};
|
|
54180
|
+
text-transform: uppercase;
|
|
54181
|
+
letter-spacing: 0.02em;
|
|
54182
|
+
}
|
|
54183
|
+
|
|
54184
|
+
/* Calendar day cell */
|
|
54185
|
+
.statusDay {
|
|
54186
|
+
aspect-ratio: 1;
|
|
54187
|
+
border-radius: 4px;
|
|
54188
|
+
cursor: pointer;
|
|
54189
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
54190
|
+
position: relative;
|
|
54191
|
+
animation: dayFadeIn 0.3s ${r(easings.default)} both;
|
|
54192
|
+
animation-delay: calc(var(--day-index, 0) * 15ms);
|
|
54193
|
+
}
|
|
53533
54194
|
|
|
53534
|
-
|
|
53535
|
-
|
|
54195
|
+
@keyframes dayFadeIn {
|
|
54196
|
+
from {
|
|
54197
|
+
opacity: 0;
|
|
54198
|
+
transform: scale(0.8);
|
|
53536
54199
|
}
|
|
53537
|
-
|
|
53538
|
-
|
|
53539
|
-
|
|
54200
|
+
to {
|
|
54201
|
+
opacity: 1;
|
|
54202
|
+
transform: scale(1);
|
|
53540
54203
|
}
|
|
54204
|
+
}
|
|
53541
54205
|
|
|
53542
|
-
|
|
53543
|
-
|
|
53544
|
-
|
|
53545
|
-
|
|
54206
|
+
.statusDay:hover:not(.empty) {
|
|
54207
|
+
transform: scale(1.2);
|
|
54208
|
+
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
|
54209
|
+
z-index: 2;
|
|
54210
|
+
}
|
|
53546
54211
|
|
|
53547
|
-
|
|
53548
|
-
|
|
53549
|
-
|
|
53550
|
-
|
|
53551
|
-
|
|
54212
|
+
/* Current day highlight */
|
|
54213
|
+
.statusDay.today {
|
|
54214
|
+
box-shadow: 0 0 0 2px ${colors.text.primary};
|
|
54215
|
+
z-index: 1;
|
|
54216
|
+
}
|
|
53552
54217
|
|
|
53553
|
-
|
|
53554
|
-
|
|
53555
|
-
|
|
53556
|
-
padding-top: ${r(spacing.md)};
|
|
53557
|
-
color: ${cssManager.bdTheme("#6b7280", "#a1a1aa")};
|
|
53558
|
-
display: flex;
|
|
53559
|
-
flex-direction: column;
|
|
53560
|
-
gap: 6px;
|
|
53561
|
-
border-top: 1px solid ${cssManager.bdTheme("#f3f4f6", "#1f1f1f")};
|
|
53562
|
-
}
|
|
54218
|
+
.statusDay.today:hover {
|
|
54219
|
+
box-shadow: 0 0 0 2px ${colors.text.primary}, 0 4px 8px rgba(0, 0, 0, 0.15);
|
|
54220
|
+
}
|
|
53563
54221
|
|
|
53564
|
-
|
|
53565
|
-
|
|
53566
|
-
|
|
53567
|
-
|
|
53568
|
-
}
|
|
53569
|
-
|
|
53570
|
-
.uptime-value {
|
|
53571
|
-
font-weight: 600;
|
|
53572
|
-
color: ${cssManager.bdTheme("#0a0a0a", "#fafafa")};
|
|
53573
|
-
font-variant-numeric: tabular-nums;
|
|
53574
|
-
font-size: 13px;
|
|
53575
|
-
}
|
|
54222
|
+
/* Status colors with intensity variations based on uptime */
|
|
54223
|
+
.statusDay.operational {
|
|
54224
|
+
background: ${colors.status.operational};
|
|
54225
|
+
}
|
|
53576
54226
|
|
|
53577
|
-
|
|
53578
|
-
|
|
53579
|
-
|
|
53580
|
-
gap: ${r(spacing.sm)};
|
|
53581
|
-
height: 100%;
|
|
53582
|
-
}
|
|
53583
|
-
|
|
53584
|
-
.skeleton-header {
|
|
53585
|
-
height: 20px;
|
|
53586
|
-
width: 80px;
|
|
53587
|
-
background: ${cssManager.bdTheme("#f3f4f6", "#27272a")};
|
|
53588
|
-
border-radius: 4px;
|
|
53589
|
-
animation: pulse 2s infinite;
|
|
53590
|
-
}
|
|
53591
|
-
|
|
53592
|
-
.skeleton-grid {
|
|
53593
|
-
flex: 1;
|
|
53594
|
-
display: grid;
|
|
53595
|
-
grid-template-columns: repeat(7, 1fr);
|
|
53596
|
-
gap: 2px;
|
|
53597
|
-
}
|
|
53598
|
-
|
|
53599
|
-
.skeleton-day {
|
|
53600
|
-
background: ${cssManager.bdTheme("#f3f4f6", "#27272a")};
|
|
53601
|
-
border-radius: 2px;
|
|
53602
|
-
animation: pulse 2s infinite;
|
|
53603
|
-
animation-delay: calc(var(--index) * 0.05s);
|
|
53604
|
-
}
|
|
53605
|
-
|
|
53606
|
-
@keyframes pulse {
|
|
53607
|
-
0%, 100% { opacity: 1; }
|
|
53608
|
-
50% { opacity: 0.5; }
|
|
53609
|
-
}
|
|
54227
|
+
.statusDay.operational.uptime-high {
|
|
54228
|
+
background: ${cssManager.bdTheme("#22c55e", "#22c55e")};
|
|
54229
|
+
}
|
|
53610
54230
|
|
|
53611
|
-
|
|
53612
|
-
|
|
53613
|
-
|
|
53614
|
-
}
|
|
54231
|
+
.statusDay.operational.uptime-mid {
|
|
54232
|
+
background: ${cssManager.bdTheme("#4ade80", "#4ade80")};
|
|
54233
|
+
}
|
|
53615
54234
|
|
|
53616
|
-
|
|
53617
|
-
|
|
53618
|
-
|
|
53619
|
-
color: ${cssManager.bdTheme("#fafafa", "#0a0a0a")};
|
|
53620
|
-
padding: 8px 12px;
|
|
53621
|
-
border-radius: 4px;
|
|
53622
|
-
font-size: 12px;
|
|
53623
|
-
pointer-events: none;
|
|
53624
|
-
opacity: 0;
|
|
53625
|
-
transition: opacity 0.15s;
|
|
53626
|
-
z-index: 50;
|
|
53627
|
-
white-space: nowrap;
|
|
53628
|
-
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
53629
|
-
line-height: 1.5;
|
|
53630
|
-
}
|
|
54235
|
+
.statusDay.degraded {
|
|
54236
|
+
background: ${colors.status.degraded};
|
|
54237
|
+
}
|
|
53631
54238
|
|
|
53632
|
-
|
|
53633
|
-
|
|
53634
|
-
|
|
53635
|
-
|
|
53636
|
-
|
|
53637
|
-
|
|
53638
|
-
|
|
53639
|
-
|
|
53640
|
-
|
|
53641
|
-
|
|
53642
|
-
|
|
53643
|
-
|
|
54239
|
+
.statusDay.partial_outage {
|
|
54240
|
+
background: ${colors.status.partial};
|
|
54241
|
+
}
|
|
54242
|
+
|
|
54243
|
+
.statusDay.major_outage {
|
|
54244
|
+
background: ${colors.status.major};
|
|
54245
|
+
animation: dayFadeIn 0.3s ${r(easings.default)} both,
|
|
54246
|
+
majorOutagePulse 2s ease-in-out infinite;
|
|
54247
|
+
}
|
|
54248
|
+
|
|
54249
|
+
@keyframes majorOutagePulse {
|
|
54250
|
+
0%, 100% { opacity: 1; }
|
|
54251
|
+
50% { opacity: 0.8; }
|
|
54252
|
+
}
|
|
54253
|
+
|
|
54254
|
+
.statusDay.maintenance {
|
|
54255
|
+
background: ${colors.status.maintenance};
|
|
54256
|
+
}
|
|
54257
|
+
|
|
54258
|
+
.statusDay.no-data {
|
|
54259
|
+
background: ${colors.background.muted};
|
|
54260
|
+
opacity: 0.5;
|
|
54261
|
+
}
|
|
54262
|
+
|
|
54263
|
+
.statusDay.empty {
|
|
54264
|
+
background: transparent;
|
|
54265
|
+
cursor: default;
|
|
54266
|
+
pointer-events: none;
|
|
54267
|
+
animation: none;
|
|
54268
|
+
}
|
|
54269
|
+
|
|
54270
|
+
/* Incident count indicator */
|
|
54271
|
+
.incident-count {
|
|
54272
|
+
position: absolute;
|
|
54273
|
+
top: 50%;
|
|
54274
|
+
left: 50%;
|
|
54275
|
+
transform: translate(-50%, -50%);
|
|
54276
|
+
font-size: 8px;
|
|
54277
|
+
font-weight: 700;
|
|
54278
|
+
color: white;
|
|
54279
|
+
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
54280
|
+
line-height: 1;
|
|
54281
|
+
}
|
|
54282
|
+
|
|
54283
|
+
/* Overall uptime footer */
|
|
54284
|
+
.overall-uptime {
|
|
54285
|
+
font-size: 12px;
|
|
54286
|
+
margin-top: auto;
|
|
54287
|
+
padding-top: ${r(spacing.md)};
|
|
54288
|
+
color: ${colors.text.secondary};
|
|
54289
|
+
display: flex;
|
|
54290
|
+
flex-direction: column;
|
|
54291
|
+
gap: 8px;
|
|
54292
|
+
border-top: 1px solid ${colors.border.default};
|
|
54293
|
+
}
|
|
54294
|
+
|
|
54295
|
+
.uptime-stat {
|
|
54296
|
+
display: flex;
|
|
54297
|
+
justify-content: space-between;
|
|
54298
|
+
align-items: center;
|
|
54299
|
+
}
|
|
54300
|
+
|
|
54301
|
+
.uptime-value {
|
|
54302
|
+
font-weight: 600;
|
|
54303
|
+
color: ${colors.text.primary};
|
|
54304
|
+
font-variant-numeric: tabular-nums;
|
|
54305
|
+
font-size: 13px;
|
|
54306
|
+
}
|
|
54307
|
+
|
|
54308
|
+
.uptime-value.good {
|
|
54309
|
+
color: ${colors.status.operational};
|
|
54310
|
+
}
|
|
54311
|
+
|
|
54312
|
+
.uptime-value.warning {
|
|
54313
|
+
color: ${colors.status.degraded};
|
|
54314
|
+
}
|
|
54315
|
+
|
|
54316
|
+
.uptime-value.bad {
|
|
54317
|
+
color: ${colors.status.partial};
|
|
54318
|
+
}
|
|
54319
|
+
|
|
54320
|
+
/* Uptime bar visualization */
|
|
54321
|
+
.uptime-bar {
|
|
54322
|
+
height: 4px;
|
|
54323
|
+
background: ${colors.background.muted};
|
|
54324
|
+
border-radius: 2px;
|
|
54325
|
+
overflow: hidden;
|
|
54326
|
+
margin-top: 4px;
|
|
54327
|
+
}
|
|
54328
|
+
|
|
54329
|
+
.uptime-bar-fill {
|
|
54330
|
+
height: 100%;
|
|
54331
|
+
border-radius: 2px;
|
|
54332
|
+
transition: width ${r(durations.slow)} ${r(easings.default)};
|
|
54333
|
+
}
|
|
54334
|
+
|
|
54335
|
+
.uptime-bar-fill.good {
|
|
54336
|
+
background: ${colors.status.operational};
|
|
54337
|
+
}
|
|
54338
|
+
|
|
54339
|
+
.uptime-bar-fill.warning {
|
|
54340
|
+
background: ${colors.status.degraded};
|
|
54341
|
+
}
|
|
54342
|
+
|
|
54343
|
+
.uptime-bar-fill.bad {
|
|
54344
|
+
background: ${colors.status.partial};
|
|
54345
|
+
}
|
|
54346
|
+
|
|
54347
|
+
/* Loading skeleton */
|
|
54348
|
+
.loading-skeleton {
|
|
54349
|
+
display: flex;
|
|
54350
|
+
flex-direction: column;
|
|
54351
|
+
gap: ${r(spacing.sm)};
|
|
54352
|
+
height: 100%;
|
|
54353
|
+
}
|
|
54354
|
+
|
|
54355
|
+
.skeleton-header {
|
|
54356
|
+
height: 20px;
|
|
54357
|
+
width: 80px;
|
|
54358
|
+
background: ${colors.background.muted};
|
|
54359
|
+
border-radius: 4px;
|
|
54360
|
+
animation: shimmer 1.5s infinite;
|
|
54361
|
+
}
|
|
54362
|
+
|
|
54363
|
+
.skeleton-grid {
|
|
54364
|
+
flex: 1;
|
|
54365
|
+
display: grid;
|
|
54366
|
+
grid-template-columns: repeat(7, 1fr);
|
|
54367
|
+
gap: 3px;
|
|
54368
|
+
}
|
|
54369
|
+
|
|
54370
|
+
.skeleton-day {
|
|
54371
|
+
background: ${colors.background.muted};
|
|
54372
|
+
border-radius: 3px;
|
|
54373
|
+
animation: shimmer 1.5s infinite;
|
|
54374
|
+
animation-delay: calc(var(--index) * 30ms);
|
|
54375
|
+
}
|
|
54376
|
+
|
|
54377
|
+
@keyframes shimmer {
|
|
54378
|
+
0% { opacity: 0.5; }
|
|
54379
|
+
50% { opacity: 1; }
|
|
54380
|
+
100% { opacity: 0.5; }
|
|
54381
|
+
}
|
|
54382
|
+
|
|
54383
|
+
/* Tooltip */
|
|
54384
|
+
.tooltip {
|
|
54385
|
+
position: absolute;
|
|
54386
|
+
background: ${cssManager.bdTheme("#0a0a0a", "#fafafa")};
|
|
54387
|
+
color: ${cssManager.bdTheme("#fafafa", "#0a0a0a")};
|
|
54388
|
+
padding: 10px 14px;
|
|
54389
|
+
border-radius: ${r(borderRadius.base)};
|
|
54390
|
+
font-size: 12px;
|
|
54391
|
+
pointer-events: none;
|
|
54392
|
+
opacity: 0;
|
|
54393
|
+
transition: opacity ${r(durations.fast)} ${r(easings.default)},
|
|
54394
|
+
transform ${r(durations.fast)} ${r(easings.default)};
|
|
54395
|
+
z-index: 50;
|
|
54396
|
+
white-space: nowrap;
|
|
54397
|
+
box-shadow: ${r(shadows.lg)};
|
|
54398
|
+
line-height: 1.5;
|
|
54399
|
+
transform: translateX(-50%) translateY(4px);
|
|
54400
|
+
}
|
|
54401
|
+
|
|
54402
|
+
.tooltip.visible {
|
|
54403
|
+
opacity: 1;
|
|
54404
|
+
transform: translateX(-50%) translateY(0);
|
|
54405
|
+
}
|
|
54406
|
+
|
|
54407
|
+
.tooltip-date {
|
|
54408
|
+
font-weight: 600;
|
|
54409
|
+
margin-bottom: 6px;
|
|
54410
|
+
font-size: 13px;
|
|
54411
|
+
}
|
|
54412
|
+
|
|
54413
|
+
.tooltip-stat {
|
|
54414
|
+
font-size: 11px;
|
|
54415
|
+
opacity: 0.85;
|
|
54416
|
+
display: flex;
|
|
54417
|
+
align-items: center;
|
|
54418
|
+
gap: 6px;
|
|
54419
|
+
}
|
|
54420
|
+
|
|
54421
|
+
.tooltip-stat + .tooltip-stat {
|
|
54422
|
+
margin-top: 2px;
|
|
54423
|
+
}
|
|
54424
|
+
|
|
54425
|
+
.tooltip-uptime-bar {
|
|
54426
|
+
height: 3px;
|
|
54427
|
+
width: 60px;
|
|
54428
|
+
background: rgba(128, 128, 128, 0.3);
|
|
54429
|
+
border-radius: 2px;
|
|
54430
|
+
overflow: hidden;
|
|
54431
|
+
margin-top: 8px;
|
|
54432
|
+
}
|
|
54433
|
+
|
|
54434
|
+
.tooltip-uptime-fill {
|
|
54435
|
+
height: 100%;
|
|
54436
|
+
border-radius: 2px;
|
|
54437
|
+
}
|
|
54438
|
+
|
|
54439
|
+
.no-data-message {
|
|
54440
|
+
grid-column: 1 / -1;
|
|
54441
|
+
text-align: center;
|
|
54442
|
+
padding: ${r(spacing["2xl"])};
|
|
54443
|
+
color: ${colors.text.secondary};
|
|
54444
|
+
animation: fadeInUp 0.4s ${r(easings.default)} both;
|
|
54445
|
+
}
|
|
54446
|
+
|
|
54447
|
+
@media (max-width: 640px) {
|
|
54448
|
+
.container {
|
|
54449
|
+
padding: 0 ${r(spacing.md)} ${r(spacing.md)} ${r(spacing.md)};
|
|
53644
54450
|
}
|
|
53645
54451
|
|
|
53646
|
-
.
|
|
53647
|
-
grid-
|
|
53648
|
-
|
|
53649
|
-
padding: ${r(spacing["2xl"])};
|
|
53650
|
-
color: ${colors.text.secondary};
|
|
54452
|
+
.mainbox {
|
|
54453
|
+
grid-template-columns: 1fr;
|
|
54454
|
+
gap: ${r(spacing.md)};
|
|
53651
54455
|
}
|
|
53652
54456
|
|
|
53653
|
-
|
|
53654
|
-
|
|
53655
|
-
|
|
53656
|
-
|
|
54457
|
+
.statusMonth {
|
|
54458
|
+
padding: ${r(spacing.md)};
|
|
54459
|
+
min-height: 260px;
|
|
54460
|
+
}
|
|
53657
54461
|
|
|
53658
|
-
|
|
53659
|
-
|
|
53660
|
-
|
|
53661
|
-
}
|
|
54462
|
+
.days-grid {
|
|
54463
|
+
gap: 3px;
|
|
54464
|
+
}
|
|
53662
54465
|
|
|
53663
|
-
|
|
53664
|
-
|
|
53665
|
-
|
|
53666
|
-
}
|
|
54466
|
+
.statusDay:hover:not(.empty) {
|
|
54467
|
+
transform: scale(1.1);
|
|
54468
|
+
}
|
|
53667
54469
|
|
|
53668
|
-
|
|
53669
|
-
|
|
53670
|
-
|
|
53671
|
-
}
|
|
54470
|
+
.loading-skeleton {
|
|
54471
|
+
height: 180px;
|
|
54472
|
+
padding: ${r(spacing.md)};
|
|
53672
54473
|
}
|
|
54474
|
+
}
|
|
53673
54475
|
`
|
|
53674
54476
|
]);
|
|
53675
54477
|
__runInitializers(_init9, 1, UplStatuspageStatusmonth);
|
|
@@ -53982,18 +54784,23 @@ var UplStatuspageStatsgrid = class extends (_a10 = DeesElement, _uptime_dec = [n
|
|
|
53982
54784
|
</div>
|
|
53983
54785
|
` : x`
|
|
53984
54786
|
<div class="stats-grid">
|
|
53985
|
-
<div class="stat-card">
|
|
54787
|
+
<div class="stat-card ${this.currentStatus}">
|
|
53986
54788
|
<div class="stat-label">
|
|
53987
54789
|
<span class="status-indicator ${this.currentStatus}"></span>
|
|
53988
54790
|
Current Status
|
|
53989
54791
|
</div>
|
|
53990
|
-
<div class="stat-value">
|
|
54792
|
+
<div class="stat-value ${this.currentStatus}">
|
|
53991
54793
|
${this.formatStatus(this.currentStatus)}
|
|
53992
54794
|
</div>
|
|
53993
54795
|
</div>
|
|
53994
54796
|
|
|
53995
|
-
<div class="stat-card">
|
|
53996
|
-
<div class="stat-label">
|
|
54797
|
+
<div class="stat-card ${this.getUptimeCardStatus()}">
|
|
54798
|
+
<div class="stat-label">
|
|
54799
|
+
<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">
|
|
54800
|
+
<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline>
|
|
54801
|
+
</svg>
|
|
54802
|
+
Uptime
|
|
54803
|
+
</div>
|
|
53997
54804
|
<div class="stat-value">
|
|
53998
54805
|
${this.uptime.toFixed(2)}<span class="stat-unit">%</span>
|
|
53999
54806
|
</div>
|
|
@@ -54002,21 +54809,34 @@ var UplStatuspageStatsgrid = class extends (_a10 = DeesElement, _uptime_dec = [n
|
|
|
54002
54809
|
</div>
|
|
54003
54810
|
</div>
|
|
54004
54811
|
|
|
54005
|
-
<div class="stat-card">
|
|
54006
|
-
<div class="stat-label">
|
|
54812
|
+
<div class="stat-card ${this.getResponseCardStatus()}">
|
|
54813
|
+
<div class="stat-label">
|
|
54814
|
+
<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">
|
|
54815
|
+
<circle cx="12" cy="12" r="10"></circle>
|
|
54816
|
+
<polyline points="12 6 12 12 16 14"></polyline>
|
|
54817
|
+
</svg>
|
|
54818
|
+
Avg Response
|
|
54819
|
+
</div>
|
|
54007
54820
|
<div class="stat-value">
|
|
54008
54821
|
${this.avgResponseTime}<span class="stat-unit">ms</span>
|
|
54009
54822
|
</div>
|
|
54010
54823
|
${this.renderResponseChange()}
|
|
54011
54824
|
</div>
|
|
54012
54825
|
|
|
54013
|
-
<div class="stat-card">
|
|
54014
|
-
<div class="stat-label">
|
|
54826
|
+
<div class="stat-card ${this.getIncidentCardStatus()}">
|
|
54827
|
+
<div class="stat-label">
|
|
54828
|
+
<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">
|
|
54829
|
+
<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
|
|
54830
|
+
<line x1="12" y1="9" x2="12" y2="13"></line>
|
|
54831
|
+
<line x1="12" y1="17" x2="12.01" y2="17"></line>
|
|
54832
|
+
</svg>
|
|
54833
|
+
Incidents
|
|
54834
|
+
</div>
|
|
54015
54835
|
<div class="stat-value">
|
|
54016
54836
|
${this.totalIncidents}
|
|
54017
54837
|
</div>
|
|
54018
|
-
<div class="stat-change
|
|
54019
|
-
${this.affectedServices} of ${this.totalServices} services
|
|
54838
|
+
<div class="stat-change ${this.affectedServices === 0 ? "positive" : "negative"}">
|
|
54839
|
+
${this.affectedServices === 0 ? "All services ok." : `${this.affectedServices} of ${this.totalServices} services affected`}
|
|
54020
54840
|
</div>
|
|
54021
54841
|
</div>
|
|
54022
54842
|
</div>
|
|
@@ -54044,6 +54864,22 @@ var UplStatuspageStatsgrid = class extends (_a10 = DeesElement, _uptime_dec = [n
|
|
|
54044
54864
|
</div>
|
|
54045
54865
|
`;
|
|
54046
54866
|
}
|
|
54867
|
+
getUptimeCardStatus() {
|
|
54868
|
+
if (this.uptime >= 99.9) return "operational";
|
|
54869
|
+
if (this.uptime >= 99) return "degraded";
|
|
54870
|
+
return "partial_outage";
|
|
54871
|
+
}
|
|
54872
|
+
getResponseCardStatus() {
|
|
54873
|
+
if (this.avgResponseTime < 200) return "operational";
|
|
54874
|
+
if (this.avgResponseTime < 500) return "degraded";
|
|
54875
|
+
return "partial_outage";
|
|
54876
|
+
}
|
|
54877
|
+
getIncidentCardStatus() {
|
|
54878
|
+
if (this.affectedServices === 0) return "operational";
|
|
54879
|
+
if (this.currentStatus === "major_outage") return "major_outage";
|
|
54880
|
+
if (this.currentStatus === "partial_outage") return "partial_outage";
|
|
54881
|
+
return "degraded";
|
|
54882
|
+
}
|
|
54047
54883
|
};
|
|
54048
54884
|
_init10 = __decoratorStart(_a10);
|
|
54049
54885
|
_uptime = new WeakMap();
|
|
@@ -54088,66 +54924,159 @@ __publicField(UplStatuspageStatsgrid, "styles", [
|
|
|
54088
54924
|
}
|
|
54089
54925
|
|
|
54090
54926
|
.stat-card {
|
|
54091
|
-
background: ${
|
|
54092
|
-
border: 1px solid ${
|
|
54093
|
-
border-radius: ${r(borderRadius.
|
|
54927
|
+
background: ${colors.background.card};
|
|
54928
|
+
border: 1px solid ${colors.border.default};
|
|
54929
|
+
border-radius: ${r(borderRadius.lg)};
|
|
54094
54930
|
padding: ${r(spacing.lg)};
|
|
54095
|
-
transition: all
|
|
54931
|
+
transition: all ${r(durations.normal)} ${r(easings.default)};
|
|
54932
|
+
position: relative;
|
|
54933
|
+
overflow: hidden;
|
|
54934
|
+
animation: fadeInUp 0.4s ${r(easings.default)} both;
|
|
54935
|
+
}
|
|
54936
|
+
|
|
54937
|
+
.stat-card:nth-child(1) { animation-delay: 0ms; }
|
|
54938
|
+
.stat-card:nth-child(2) { animation-delay: 50ms; }
|
|
54939
|
+
.stat-card:nth-child(3) { animation-delay: 100ms; }
|
|
54940
|
+
.stat-card:nth-child(4) { animation-delay: 150ms; }
|
|
54941
|
+
|
|
54942
|
+
@keyframes fadeInUp {
|
|
54943
|
+
from {
|
|
54944
|
+
opacity: 0;
|
|
54945
|
+
transform: translateY(12px);
|
|
54946
|
+
}
|
|
54947
|
+
to {
|
|
54948
|
+
opacity: 1;
|
|
54949
|
+
transform: translateY(0);
|
|
54950
|
+
}
|
|
54951
|
+
}
|
|
54952
|
+
|
|
54953
|
+
/* Status-colored top accent */
|
|
54954
|
+
.stat-card::before {
|
|
54955
|
+
content: '';
|
|
54956
|
+
position: absolute;
|
|
54957
|
+
top: 0;
|
|
54958
|
+
left: 0;
|
|
54959
|
+
right: 0;
|
|
54960
|
+
height: 3px;
|
|
54961
|
+
background: ${colors.border.muted};
|
|
54962
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
54963
|
+
}
|
|
54964
|
+
|
|
54965
|
+
/* Dynamic status-based accent colors for all stat cards */
|
|
54966
|
+
.stat-card.operational::before {
|
|
54967
|
+
background: ${colors.status.operational};
|
|
54968
|
+
}
|
|
54969
|
+
|
|
54970
|
+
.stat-card.degraded::before {
|
|
54971
|
+
background: ${colors.status.degraded};
|
|
54972
|
+
}
|
|
54973
|
+
|
|
54974
|
+
.stat-card.partial_outage::before {
|
|
54975
|
+
background: ${colors.status.partial};
|
|
54976
|
+
}
|
|
54977
|
+
|
|
54978
|
+
.stat-card.major_outage::before {
|
|
54979
|
+
background: ${colors.status.major};
|
|
54980
|
+
}
|
|
54981
|
+
|
|
54982
|
+
.stat-card.maintenance::before {
|
|
54983
|
+
background: ${colors.status.maintenance};
|
|
54096
54984
|
}
|
|
54097
54985
|
|
|
54098
54986
|
.stat-card:hover {
|
|
54099
|
-
border-color: ${
|
|
54100
|
-
box-shadow: ${
|
|
54101
|
-
|
|
54102
|
-
|
|
54103
|
-
|
|
54987
|
+
border-color: ${colors.border.muted};
|
|
54988
|
+
box-shadow: ${r(shadows.md)};
|
|
54989
|
+
transform: translateY(-3px);
|
|
54990
|
+
}
|
|
54991
|
+
|
|
54992
|
+
.stat-card:hover::before {
|
|
54993
|
+
height: 4px;
|
|
54104
54994
|
}
|
|
54105
54995
|
|
|
54106
54996
|
.stat-label {
|
|
54107
|
-
font-size:
|
|
54108
|
-
color: ${
|
|
54997
|
+
font-size: 11px;
|
|
54998
|
+
color: ${colors.text.muted};
|
|
54109
54999
|
text-transform: uppercase;
|
|
54110
|
-
letter-spacing: 0.
|
|
54111
|
-
font-weight:
|
|
55000
|
+
letter-spacing: 0.06em;
|
|
55001
|
+
font-weight: 600;
|
|
54112
55002
|
margin-bottom: ${r(spacing.sm)};
|
|
54113
55003
|
display: flex;
|
|
54114
55004
|
align-items: center;
|
|
54115
|
-
gap:
|
|
55005
|
+
gap: 6px;
|
|
55006
|
+
}
|
|
55007
|
+
|
|
55008
|
+
.stat-label svg {
|
|
55009
|
+
width: 14px;
|
|
55010
|
+
height: 14px;
|
|
55011
|
+
opacity: 0.7;
|
|
54116
55012
|
}
|
|
54117
55013
|
|
|
54118
55014
|
.stat-value {
|
|
54119
|
-
font-size:
|
|
54120
|
-
font-weight:
|
|
54121
|
-
color: ${
|
|
55015
|
+
font-size: 28px;
|
|
55016
|
+
font-weight: 700;
|
|
55017
|
+
color: ${colors.text.primary};
|
|
54122
55018
|
font-variant-numeric: tabular-nums;
|
|
54123
55019
|
line-height: 1.2;
|
|
55020
|
+
letter-spacing: -0.02em;
|
|
55021
|
+
transition: transform ${r(durations.fast)} ${r(easings.default)};
|
|
55022
|
+
}
|
|
55023
|
+
|
|
55024
|
+
.stat-card:hover .stat-value {
|
|
55025
|
+
transform: scale(1.02);
|
|
54124
55026
|
}
|
|
54125
55027
|
|
|
54126
55028
|
.stat-unit {
|
|
54127
|
-
font-size:
|
|
54128
|
-
font-weight:
|
|
54129
|
-
color: ${
|
|
54130
|
-
margin-left:
|
|
55029
|
+
font-size: 16px;
|
|
55030
|
+
font-weight: 500;
|
|
55031
|
+
color: ${colors.text.secondary};
|
|
55032
|
+
margin-left: 2px;
|
|
54131
55033
|
}
|
|
54132
55034
|
|
|
54133
55035
|
.stat-change {
|
|
54134
55036
|
font-size: 12px;
|
|
54135
|
-
margin-top: ${r(spacing.
|
|
55037
|
+
margin-top: ${r(spacing.sm)};
|
|
54136
55038
|
display: flex;
|
|
54137
55039
|
align-items: center;
|
|
54138
55040
|
gap: 4px;
|
|
55041
|
+
padding: 4px 8px;
|
|
55042
|
+
border-radius: ${r(borderRadius.sm)};
|
|
55043
|
+
width: fit-content;
|
|
54139
55044
|
}
|
|
54140
55045
|
|
|
54141
55046
|
.stat-change.positive {
|
|
54142
|
-
color: ${
|
|
55047
|
+
color: ${colors.status.operational};
|
|
55048
|
+
background: ${cssManager.bdTheme("rgba(22, 163, 74, 0.08)", "rgba(34, 197, 94, 0.12)")};
|
|
54143
55049
|
}
|
|
54144
55050
|
|
|
54145
55051
|
.stat-change.negative {
|
|
54146
|
-
color: ${
|
|
55052
|
+
color: ${colors.status.partial};
|
|
55053
|
+
background: ${cssManager.bdTheme("rgba(239, 68, 68, 0.08)", "rgba(248, 113, 113, 0.12)")};
|
|
54147
55054
|
}
|
|
54148
55055
|
|
|
54149
55056
|
.stat-change.neutral {
|
|
54150
|
-
color: ${
|
|
55057
|
+
color: ${colors.text.muted};
|
|
55058
|
+
background: ${colors.background.muted};
|
|
55059
|
+
}
|
|
55060
|
+
|
|
55061
|
+
/* Status text color variations */
|
|
55062
|
+
.stat-value.operational {
|
|
55063
|
+
color: ${colors.status.operational};
|
|
55064
|
+
}
|
|
55065
|
+
|
|
55066
|
+
.stat-value.degraded {
|
|
55067
|
+
color: ${colors.status.degraded};
|
|
55068
|
+
}
|
|
55069
|
+
|
|
55070
|
+
.stat-value.partial_outage {
|
|
55071
|
+
color: ${colors.status.partial};
|
|
55072
|
+
}
|
|
55073
|
+
|
|
55074
|
+
.stat-value.major_outage {
|
|
55075
|
+
color: ${colors.status.major};
|
|
55076
|
+
}
|
|
55077
|
+
|
|
55078
|
+
.stat-value.maintenance {
|
|
55079
|
+
color: ${colors.status.maintenance};
|
|
54151
55080
|
}
|
|
54152
55081
|
|
|
54153
55082
|
.loading-skeleton {
|
|
@@ -54157,61 +55086,102 @@ __publicField(UplStatuspageStatsgrid, "styles", [
|
|
|
54157
55086
|
}
|
|
54158
55087
|
|
|
54159
55088
|
.skeleton-card {
|
|
54160
|
-
background: ${
|
|
54161
|
-
border: 1px solid ${
|
|
54162
|
-
border-radius: ${r(borderRadius.
|
|
55089
|
+
background: ${colors.background.card};
|
|
55090
|
+
border: 1px solid ${colors.border.default};
|
|
55091
|
+
border-radius: ${r(borderRadius.lg)};
|
|
54163
55092
|
padding: ${r(spacing.lg)};
|
|
54164
|
-
height:
|
|
55093
|
+
height: 110px;
|
|
55094
|
+
position: relative;
|
|
55095
|
+
overflow: hidden;
|
|
55096
|
+
}
|
|
55097
|
+
|
|
55098
|
+
.skeleton-card::before {
|
|
55099
|
+
content: '';
|
|
55100
|
+
position: absolute;
|
|
55101
|
+
top: 0;
|
|
55102
|
+
left: 0;
|
|
55103
|
+
right: 0;
|
|
55104
|
+
height: 3px;
|
|
55105
|
+
background: ${colors.background.muted};
|
|
54165
55106
|
}
|
|
54166
55107
|
|
|
54167
55108
|
.skeleton-label {
|
|
54168
|
-
height:
|
|
55109
|
+
height: 12px;
|
|
54169
55110
|
width: 80px;
|
|
54170
|
-
background: ${
|
|
55111
|
+
background: ${colors.background.muted};
|
|
54171
55112
|
border-radius: 4px;
|
|
54172
55113
|
margin-bottom: ${r(spacing.sm)};
|
|
54173
|
-
animation:
|
|
55114
|
+
animation: shimmer 1.5s infinite;
|
|
54174
55115
|
}
|
|
54175
55116
|
|
|
54176
55117
|
.skeleton-value {
|
|
54177
|
-
height:
|
|
54178
|
-
width:
|
|
54179
|
-
background: ${
|
|
54180
|
-
border-radius:
|
|
54181
|
-
animation:
|
|
55118
|
+
height: 32px;
|
|
55119
|
+
width: 100px;
|
|
55120
|
+
background: ${colors.background.muted};
|
|
55121
|
+
border-radius: 6px;
|
|
55122
|
+
animation: shimmer 1.5s infinite;
|
|
54182
55123
|
animation-delay: 0.1s;
|
|
54183
55124
|
}
|
|
54184
55125
|
|
|
54185
|
-
|
|
54186
|
-
|
|
54187
|
-
|
|
55126
|
+
.skeleton-change {
|
|
55127
|
+
height: 20px;
|
|
55128
|
+
width: 70px;
|
|
55129
|
+
background: ${colors.background.muted};
|
|
55130
|
+
border-radius: 4px;
|
|
55131
|
+
margin-top: ${r(spacing.sm)};
|
|
55132
|
+
animation: shimmer 1.5s infinite;
|
|
55133
|
+
animation-delay: 0.2s;
|
|
55134
|
+
}
|
|
55135
|
+
|
|
55136
|
+
@keyframes shimmer {
|
|
55137
|
+
0% { opacity: 0.5; }
|
|
55138
|
+
50% { opacity: 1; }
|
|
55139
|
+
100% { opacity: 0.5; }
|
|
54188
55140
|
}
|
|
54189
55141
|
|
|
54190
55142
|
.status-indicator {
|
|
54191
55143
|
display: inline-block;
|
|
54192
|
-
width:
|
|
54193
|
-
height:
|
|
55144
|
+
width: 8px;
|
|
55145
|
+
height: 8px;
|
|
54194
55146
|
border-radius: 50%;
|
|
55147
|
+
flex-shrink: 0;
|
|
54195
55148
|
}
|
|
54196
55149
|
|
|
54197
55150
|
.status-indicator.operational {
|
|
54198
55151
|
background: ${colors.status.operational};
|
|
55152
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(22, 163, 74, 0.2)", "rgba(34, 197, 94, 0.25)")};
|
|
55153
|
+
animation: statusPulse 2s ease-in-out infinite;
|
|
55154
|
+
}
|
|
55155
|
+
|
|
55156
|
+
@keyframes statusPulse {
|
|
55157
|
+
0%, 100% { box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(22, 163, 74, 0.2)", "rgba(34, 197, 94, 0.25)")}; }
|
|
55158
|
+
50% { box-shadow: 0 0 0 4px ${cssManager.bdTheme("rgba(22, 163, 74, 0.1)", "rgba(34, 197, 94, 0.15)")}; }
|
|
54199
55159
|
}
|
|
54200
55160
|
|
|
54201
55161
|
.status-indicator.degraded {
|
|
54202
55162
|
background: ${colors.status.degraded};
|
|
55163
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(217, 119, 6, 0.2)", "rgba(251, 191, 36, 0.25)")};
|
|
54203
55164
|
}
|
|
54204
55165
|
|
|
54205
55166
|
.status-indicator.partial_outage {
|
|
54206
55167
|
background: ${colors.status.partial};
|
|
55168
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(239, 68, 68, 0.2)", "rgba(248, 113, 113, 0.25)")};
|
|
54207
55169
|
}
|
|
54208
55170
|
|
|
54209
55171
|
.status-indicator.major_outage {
|
|
54210
55172
|
background: ${colors.status.major};
|
|
55173
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(185, 28, 28, 0.2)", "rgba(239, 68, 68, 0.25)")};
|
|
55174
|
+
animation: majorPulse 1s ease-in-out infinite;
|
|
55175
|
+
}
|
|
55176
|
+
|
|
55177
|
+
@keyframes majorPulse {
|
|
55178
|
+
0%, 100% { opacity: 1; }
|
|
55179
|
+
50% { opacity: 0.6; }
|
|
54211
55180
|
}
|
|
54212
55181
|
|
|
54213
55182
|
.status-indicator.maintenance {
|
|
54214
55183
|
background: ${colors.status.maintenance};
|
|
55184
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(37, 99, 235, 0.2)", "rgba(96, 165, 250, 0.25)")};
|
|
54215
55185
|
}
|
|
54216
55186
|
|
|
54217
55187
|
@media (max-width: 640px) {
|
|
@@ -54220,7 +55190,7 @@ __publicField(UplStatuspageStatsgrid, "styles", [
|
|
|
54220
55190
|
}
|
|
54221
55191
|
|
|
54222
55192
|
.stats-grid {
|
|
54223
|
-
grid-template-columns: 1fr;
|
|
55193
|
+
grid-template-columns: repeat(2, 1fr);
|
|
54224
55194
|
gap: ${r(spacing.sm)};
|
|
54225
55195
|
}
|
|
54226
55196
|
|
|
@@ -54229,7 +55199,16 @@ __publicField(UplStatuspageStatsgrid, "styles", [
|
|
|
54229
55199
|
}
|
|
54230
55200
|
|
|
54231
55201
|
.stat-value {
|
|
54232
|
-
font-size:
|
|
55202
|
+
font-size: 22px;
|
|
55203
|
+
}
|
|
55204
|
+
|
|
55205
|
+
.stat-label {
|
|
55206
|
+
font-size: 10px;
|
|
55207
|
+
}
|
|
55208
|
+
|
|
55209
|
+
.stat-label svg {
|
|
55210
|
+
width: 12px;
|
|
55211
|
+
height: 12px;
|
|
54233
55212
|
}
|
|
54234
55213
|
}
|
|
54235
55214
|
`
|