@uptime.link/statuspage 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +1823 -915
- 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.js +225 -50
- 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 +1417 -444
- 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 +247 -56
- package/ts_web/elements/upl-statuspage-statsgrid.ts +224 -52
- 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,164 @@ __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: 5px;
|
|
51099
|
+
top: 8px;
|
|
51100
|
+
bottom: 8px;
|
|
51101
|
+
width: 2px;
|
|
51102
|
+
background: ${cssManager.bdTheme(
|
|
51103
|
+
"linear-gradient(to bottom, #e5e7eb 0%, #d1d5db 50%, #e5e7eb 100%)",
|
|
51104
|
+
"linear-gradient(to bottom, #27272a 0%, #3f3f46 50%, #27272a 100%)"
|
|
51105
|
+
)};
|
|
51106
|
+
border-radius: 1px;
|
|
51107
|
+
}
|
|
51108
|
+
|
|
50631
51109
|
.update-item {
|
|
50632
51110
|
position: relative;
|
|
50633
51111
|
padding-left: ${r(spacing.lg)};
|
|
50634
|
-
|
|
51112
|
+
padding-bottom: ${r(spacing.lg)};
|
|
51113
|
+
animation: fadeInUp 0.3s ${r(easings.default)} both;
|
|
51114
|
+
}
|
|
51115
|
+
|
|
51116
|
+
.update-item:last-child {
|
|
51117
|
+
padding-bottom: 0;
|
|
50635
51118
|
}
|
|
50636
51119
|
|
|
51120
|
+
/* Timeline dot */
|
|
50637
51121
|
.update-item::before {
|
|
50638
51122
|
content: '';
|
|
50639
51123
|
position: absolute;
|
|
50640
|
-
left:
|
|
50641
|
-
top:
|
|
50642
|
-
width:
|
|
50643
|
-
height:
|
|
50644
|
-
border-radius:
|
|
50645
|
-
background: ${colors.
|
|
51124
|
+
left: -22px;
|
|
51125
|
+
top: 4px;
|
|
51126
|
+
width: 12px;
|
|
51127
|
+
height: 12px;
|
|
51128
|
+
border-radius: 50%;
|
|
51129
|
+
background: ${colors.background.card};
|
|
51130
|
+
border: 2px solid ${colors.border.muted};
|
|
51131
|
+
z-index: 1;
|
|
51132
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
51133
|
+
}
|
|
51134
|
+
|
|
51135
|
+
.update-item:first-child::before {
|
|
51136
|
+
border-color: ${colors.status.operational};
|
|
51137
|
+
background: ${colors.status.operational};
|
|
51138
|
+
box-shadow: 0 0 0 3px ${cssManager.bdTheme("rgba(22, 163, 74, 0.15)", "rgba(34, 197, 94, 0.2)")};
|
|
51139
|
+
}
|
|
51140
|
+
|
|
51141
|
+
.update-item:hover::before {
|
|
51142
|
+
transform: scale(1.2);
|
|
51143
|
+
border-color: ${colors.text.secondary};
|
|
50646
51144
|
}
|
|
50647
51145
|
|
|
50648
51146
|
.update-time {
|
|
50649
|
-
font-size:
|
|
50650
|
-
color: ${colors.text.
|
|
50651
|
-
margin-bottom:
|
|
51147
|
+
font-size: 11px;
|
|
51148
|
+
color: ${colors.text.muted};
|
|
51149
|
+
margin-bottom: 4px;
|
|
50652
51150
|
font-family: ${r(fonts.mono)};
|
|
51151
|
+
display: flex;
|
|
51152
|
+
align-items: center;
|
|
51153
|
+
gap: 8px;
|
|
51154
|
+
}
|
|
51155
|
+
|
|
51156
|
+
.update-status-badge {
|
|
51157
|
+
display: inline-flex;
|
|
51158
|
+
padding: 2px 6px;
|
|
51159
|
+
border-radius: 4px;
|
|
51160
|
+
font-size: 10px;
|
|
51161
|
+
font-weight: 600;
|
|
51162
|
+
text-transform: uppercase;
|
|
51163
|
+
letter-spacing: 0.02em;
|
|
51164
|
+
background: ${colors.background.muted};
|
|
51165
|
+
color: ${colors.text.secondary};
|
|
50653
51166
|
}
|
|
50654
51167
|
|
|
50655
51168
|
.update-message {
|
|
@@ -50660,9 +51173,11 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50660
51173
|
|
|
50661
51174
|
.update-author {
|
|
50662
51175
|
font-size: 12px;
|
|
50663
|
-
color: ${colors.text.
|
|
50664
|
-
margin-top:
|
|
50665
|
-
|
|
51176
|
+
color: ${colors.text.muted};
|
|
51177
|
+
margin-top: 4px;
|
|
51178
|
+
display: flex;
|
|
51179
|
+
align-items: center;
|
|
51180
|
+
gap: 4px;
|
|
50666
51181
|
}
|
|
50667
51182
|
|
|
50668
51183
|
.loading-skeleton {
|
|
@@ -50672,33 +51187,34 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50672
51187
|
"linear-gradient(90deg, #1f1f1f 25%, #262626 50%, #1f1f1f 75%)"
|
|
50673
51188
|
)};
|
|
50674
51189
|
background-size: 200% 100%;
|
|
50675
|
-
animation:
|
|
50676
|
-
border-radius: ${r(borderRadius.
|
|
51190
|
+
animation: shimmer 1.5s infinite;
|
|
51191
|
+
border-radius: ${r(borderRadius.lg)};
|
|
50677
51192
|
margin-bottom: ${r(spacing.lg)};
|
|
50678
51193
|
}
|
|
50679
51194
|
|
|
50680
|
-
@keyframes
|
|
51195
|
+
@keyframes shimmer {
|
|
50681
51196
|
0% { background-position: 200% 0; }
|
|
50682
51197
|
100% { background-position: -200% 0; }
|
|
50683
51198
|
}
|
|
50684
51199
|
|
|
50685
51200
|
.show-more {
|
|
50686
51201
|
text-align: center;
|
|
50687
|
-
margin-top: ${r(spacing.
|
|
51202
|
+
margin-top: ${r(spacing.xl)};
|
|
50688
51203
|
}
|
|
50689
51204
|
|
|
50690
51205
|
.show-more-button {
|
|
50691
51206
|
display: inline-flex;
|
|
50692
51207
|
align-items: center;
|
|
50693
51208
|
justify-content: center;
|
|
50694
|
-
|
|
51209
|
+
gap: 8px;
|
|
51210
|
+
padding: 10px 20px;
|
|
50695
51211
|
background: transparent;
|
|
50696
51212
|
border: 1px solid ${colors.border.default};
|
|
50697
51213
|
border-radius: ${r(borderRadius.base)};
|
|
50698
51214
|
cursor: pointer;
|
|
50699
51215
|
font-size: 14px;
|
|
50700
51216
|
font-weight: 500;
|
|
50701
|
-
transition: all
|
|
51217
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
50702
51218
|
color: ${colors.text.primary};
|
|
50703
51219
|
font-family: ${r(fonts.base)};
|
|
50704
51220
|
}
|
|
@@ -50706,7 +51222,8 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50706
51222
|
.show-more-button:hover {
|
|
50707
51223
|
background: ${colors.background.secondary};
|
|
50708
51224
|
border-color: ${colors.border.muted};
|
|
50709
|
-
transform: translateY(-
|
|
51225
|
+
transform: translateY(-2px);
|
|
51226
|
+
box-shadow: ${r(shadows.sm)};
|
|
50710
51227
|
}
|
|
50711
51228
|
|
|
50712
51229
|
.show-more-button:active {
|
|
@@ -50725,15 +51242,15 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50725
51242
|
.subscribe-button {
|
|
50726
51243
|
display: inline-flex;
|
|
50727
51244
|
align-items: center;
|
|
50728
|
-
gap:
|
|
50729
|
-
padding:
|
|
51245
|
+
gap: 6px;
|
|
51246
|
+
padding: 8px 14px;
|
|
50730
51247
|
background: transparent;
|
|
50731
51248
|
border: 1px solid ${colors.border.default};
|
|
50732
51249
|
border-radius: ${r(borderRadius.base)};
|
|
50733
51250
|
cursor: pointer;
|
|
50734
51251
|
font-size: 13px;
|
|
50735
|
-
font-weight:
|
|
50736
|
-
transition: all
|
|
51252
|
+
font-weight: 500;
|
|
51253
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
50737
51254
|
color: ${colors.text.primary};
|
|
50738
51255
|
font-family: ${r(fonts.base)};
|
|
50739
51256
|
}
|
|
@@ -50741,14 +51258,15 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50741
51258
|
.subscribe-button:hover {
|
|
50742
51259
|
background: ${colors.background.secondary};
|
|
50743
51260
|
border-color: ${colors.border.muted};
|
|
51261
|
+
transform: translateY(-1px);
|
|
50744
51262
|
}
|
|
50745
|
-
|
|
51263
|
+
|
|
50746
51264
|
.subscribe-button.subscribed {
|
|
50747
51265
|
background: ${cssManager.bdTheme("#f0fdf4", "#064e3b")};
|
|
50748
51266
|
border-color: ${cssManager.bdTheme("#86efac", "#047857")};
|
|
50749
51267
|
color: ${cssManager.bdTheme("#047857", "#86efac")};
|
|
50750
51268
|
}
|
|
50751
|
-
|
|
51269
|
+
|
|
50752
51270
|
.subscribe-button.subscribed:hover {
|
|
50753
51271
|
background: ${cssManager.bdTheme("#dcfce7", "#065f46")};
|
|
50754
51272
|
}
|
|
@@ -50761,6 +51279,15 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50761
51279
|
opacity: 0.8;
|
|
50762
51280
|
}
|
|
50763
51281
|
|
|
51282
|
+
/* Expand icon animation */
|
|
51283
|
+
.expand-icon {
|
|
51284
|
+
transition: transform ${r(durations.normal)} ${r(easings.default)};
|
|
51285
|
+
}
|
|
51286
|
+
|
|
51287
|
+
.expand-icon.rotated {
|
|
51288
|
+
transform: rotate(180deg);
|
|
51289
|
+
}
|
|
51290
|
+
|
|
50764
51291
|
@media (max-width: 640px) {
|
|
50765
51292
|
.container {
|
|
50766
51293
|
padding: 0 ${r(spacing.md)} ${r(spacing.md)} ${r(spacing.md)};
|
|
@@ -50770,10 +51297,28 @@ __publicField(UplStatuspageIncidents, "styles", [
|
|
|
50770
51297
|
padding: ${r(spacing.md)};
|
|
50771
51298
|
}
|
|
50772
51299
|
|
|
51300
|
+
.incident-body {
|
|
51301
|
+
padding: 0 ${r(spacing.md)} ${r(spacing.md)} ${r(spacing.md)};
|
|
51302
|
+
}
|
|
51303
|
+
|
|
50773
51304
|
.incident-meta {
|
|
50774
51305
|
flex-direction: column;
|
|
50775
51306
|
gap: ${r(spacing.xs)};
|
|
50776
51307
|
}
|
|
51308
|
+
|
|
51309
|
+
.timeline {
|
|
51310
|
+
padding-left: 20px;
|
|
51311
|
+
}
|
|
51312
|
+
|
|
51313
|
+
.timeline::before {
|
|
51314
|
+
left: 4px;
|
|
51315
|
+
}
|
|
51316
|
+
|
|
51317
|
+
.update-item::before {
|
|
51318
|
+
left: -18px;
|
|
51319
|
+
width: 10px;
|
|
51320
|
+
height: 10px;
|
|
51321
|
+
}
|
|
50777
51322
|
}
|
|
50778
51323
|
`
|
|
50779
51324
|
]);
|
|
@@ -51323,22 +51868,32 @@ __publicField(UplStatuspageStatusbar, "styles", [
|
|
|
51323
51868
|
display: flex;
|
|
51324
51869
|
align-items: center;
|
|
51325
51870
|
justify-content: space-between;
|
|
51326
|
-
min-height:
|
|
51327
|
-
padding: ${r(spacing.
|
|
51328
|
-
border-radius: ${r(borderRadius.
|
|
51871
|
+
min-height: 72px;
|
|
51872
|
+
padding: ${r(spacing.lg)} ${r(spacing.xl)};
|
|
51873
|
+
border-radius: ${r(borderRadius.xl)};
|
|
51329
51874
|
cursor: default;
|
|
51330
|
-
transition: all ${r(durations.
|
|
51875
|
+
transition: all ${r(durations.slow)} ${r(easings.default)};
|
|
51331
51876
|
position: relative;
|
|
51332
51877
|
overflow: hidden;
|
|
51333
51878
|
font-weight: 500;
|
|
51334
51879
|
font-size: 15px;
|
|
51335
51880
|
letter-spacing: -0.01em;
|
|
51336
|
-
background: ${colors.background.card};
|
|
51337
51881
|
border: 1px solid ${colors.border.default};
|
|
51338
51882
|
box-shadow: ${r(shadows.sm)};
|
|
51339
51883
|
}
|
|
51340
51884
|
|
|
51885
|
+
/* Gradient background overlay */
|
|
51341
51886
|
.statusbar-inner::before {
|
|
51887
|
+
content: '';
|
|
51888
|
+
position: absolute;
|
|
51889
|
+
inset: 0;
|
|
51890
|
+
opacity: 1;
|
|
51891
|
+
transition: opacity ${r(durations.slow)} ${r(easings.default)};
|
|
51892
|
+
z-index: 0;
|
|
51893
|
+
}
|
|
51894
|
+
|
|
51895
|
+
/* Left accent border */
|
|
51896
|
+
.statusbar-inner::after {
|
|
51342
51897
|
content: '';
|
|
51343
51898
|
position: absolute;
|
|
51344
51899
|
left: 0;
|
|
@@ -51346,31 +51901,72 @@ __publicField(UplStatuspageStatusbar, "styles", [
|
|
|
51346
51901
|
bottom: 0;
|
|
51347
51902
|
width: 4px;
|
|
51348
51903
|
transition: background ${r(durations.normal)} ${r(easings.default)};
|
|
51904
|
+
z-index: 1;
|
|
51349
51905
|
}
|
|
51350
51906
|
|
|
51907
|
+
/* Operational - green gradient */
|
|
51908
|
+
.statusbar-inner.operational {
|
|
51909
|
+
background: ${colors.background.card};
|
|
51910
|
+
}
|
|
51351
51911
|
.statusbar-inner.operational::before {
|
|
51912
|
+
background: ${statusGradients.operational};
|
|
51913
|
+
}
|
|
51914
|
+
.statusbar-inner.operational::after {
|
|
51352
51915
|
background: ${colors.status.operational};
|
|
51353
51916
|
}
|
|
51354
51917
|
|
|
51918
|
+
/* Degraded - yellow/amber gradient */
|
|
51919
|
+
.statusbar-inner.degraded {
|
|
51920
|
+
background: ${colors.background.card};
|
|
51921
|
+
}
|
|
51355
51922
|
.statusbar-inner.degraded::before {
|
|
51923
|
+
background: ${statusGradients.degraded};
|
|
51924
|
+
}
|
|
51925
|
+
.statusbar-inner.degraded::after {
|
|
51356
51926
|
background: ${colors.status.degraded};
|
|
51357
51927
|
}
|
|
51358
51928
|
|
|
51929
|
+
/* Partial outage - orange/red gradient */
|
|
51930
|
+
.statusbar-inner.partial_outage {
|
|
51931
|
+
background: ${colors.background.card};
|
|
51932
|
+
}
|
|
51359
51933
|
.statusbar-inner.partial_outage::before {
|
|
51934
|
+
background: ${statusGradients.partial};
|
|
51935
|
+
}
|
|
51936
|
+
.statusbar-inner.partial_outage::after {
|
|
51360
51937
|
background: ${colors.status.partial};
|
|
51361
51938
|
}
|
|
51362
51939
|
|
|
51940
|
+
/* Major outage - red gradient */
|
|
51941
|
+
.statusbar-inner.major_outage {
|
|
51942
|
+
background: ${colors.background.card};
|
|
51943
|
+
}
|
|
51363
51944
|
.statusbar-inner.major_outage::before {
|
|
51945
|
+
background: ${statusGradients.major};
|
|
51946
|
+
}
|
|
51947
|
+
.statusbar-inner.major_outage::after {
|
|
51364
51948
|
background: ${colors.status.major};
|
|
51365
51949
|
}
|
|
51366
51950
|
|
|
51951
|
+
/* Maintenance - blue gradient */
|
|
51952
|
+
.statusbar-inner.maintenance {
|
|
51953
|
+
background: ${colors.background.card};
|
|
51954
|
+
}
|
|
51367
51955
|
.statusbar-inner.maintenance::before {
|
|
51956
|
+
background: ${statusGradients.maintenance};
|
|
51957
|
+
}
|
|
51958
|
+
.statusbar-inner.maintenance::after {
|
|
51368
51959
|
background: ${colors.status.maintenance};
|
|
51369
51960
|
}
|
|
51370
51961
|
|
|
51371
51962
|
.statusbar-inner:hover {
|
|
51372
51963
|
border-color: ${colors.border.muted};
|
|
51373
|
-
box-shadow: ${r(shadows.
|
|
51964
|
+
box-shadow: ${r(shadows.md)};
|
|
51965
|
+
transform: translateY(-1px);
|
|
51966
|
+
}
|
|
51967
|
+
|
|
51968
|
+
.statusbar-inner:hover::before {
|
|
51969
|
+
opacity: 1.2;
|
|
51374
51970
|
}
|
|
51375
51971
|
|
|
51376
51972
|
.status-indicator {
|
|
@@ -52255,8 +52851,9 @@ var UplStatuspageStatusdetails = class extends (_a8 = DeesElement, _historyData_
|
|
|
52255
52851
|
const status = dataPoint?.status || "no-data";
|
|
52256
52852
|
const responseTime = dataPoint?.responseTime || 0;
|
|
52257
52853
|
bars.push(x`
|
|
52258
|
-
<div
|
|
52854
|
+
<div
|
|
52259
52855
|
class="bar ${status}"
|
|
52856
|
+
style="--bar-index: ${i9}"
|
|
52260
52857
|
@mouseenter=${(e10) => this.showTooltip(e10, timestamp2, status, responseTime)}
|
|
52261
52858
|
@click=${() => this.handleBarClick(timestamp2, status, responseTime)}
|
|
52262
52859
|
></div>
|
|
@@ -52357,6 +52954,12 @@ __publicField(UplStatuspageStatusdetails, "styles", [
|
|
|
52357
52954
|
|
|
52358
52955
|
.graph-container {
|
|
52359
52956
|
position: relative;
|
|
52957
|
+
animation: fadeIn 0.3s ${r(easings.default)};
|
|
52958
|
+
}
|
|
52959
|
+
|
|
52960
|
+
@keyframes fadeIn {
|
|
52961
|
+
from { opacity: 0; }
|
|
52962
|
+
to { opacity: 1; }
|
|
52360
52963
|
}
|
|
52361
52964
|
|
|
52362
52965
|
.mainbox {
|
|
@@ -52382,14 +52985,29 @@ __publicField(UplStatuspageStatusdetails, "styles", [
|
|
|
52382
52985
|
flex: 1;
|
|
52383
52986
|
height: 100%;
|
|
52384
52987
|
cursor: pointer;
|
|
52385
|
-
transition: all
|
|
52988
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
52386
52989
|
position: relative;
|
|
52387
|
-
border-radius:
|
|
52990
|
+
border-radius: 3px;
|
|
52991
|
+
animation: barGrow 0.4s ${r(easings.default)} both;
|
|
52992
|
+
animation-delay: calc(var(--bar-index, 0) * 8ms);
|
|
52993
|
+
transform-origin: bottom;
|
|
52994
|
+
}
|
|
52995
|
+
|
|
52996
|
+
@keyframes barGrow {
|
|
52997
|
+
from {
|
|
52998
|
+
transform: scaleY(0);
|
|
52999
|
+
opacity: 0;
|
|
53000
|
+
}
|
|
53001
|
+
to {
|
|
53002
|
+
transform: scaleY(1);
|
|
53003
|
+
opacity: 1;
|
|
53004
|
+
}
|
|
52388
53005
|
}
|
|
52389
53006
|
|
|
52390
53007
|
.mainbox .barContainer .bar:hover {
|
|
52391
|
-
transform: scaleY(1.
|
|
52392
|
-
box-shadow: 0 2px
|
|
53008
|
+
transform: scaleY(1.15);
|
|
53009
|
+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
53010
|
+
z-index: 1;
|
|
52393
53011
|
}
|
|
52394
53012
|
|
|
52395
53013
|
.mainbox .barContainer .bar.operational {
|
|
@@ -52433,20 +53051,23 @@ __publicField(UplStatuspageStatusdetails, "styles", [
|
|
|
52433
53051
|
position: absolute;
|
|
52434
53052
|
background: ${cssManager.bdTheme("#0a0a0a", "#fafafa")};
|
|
52435
53053
|
color: ${cssManager.bdTheme("#fafafa", "#0a0a0a")};
|
|
52436
|
-
padding:
|
|
52437
|
-
border-radius:
|
|
53054
|
+
padding: 8px 12px;
|
|
53055
|
+
border-radius: ${r(borderRadius.base)};
|
|
52438
53056
|
font-size: 11px;
|
|
52439
53057
|
pointer-events: none;
|
|
52440
53058
|
opacity: 0;
|
|
52441
|
-
transition: opacity
|
|
53059
|
+
transition: opacity ${r(durations.fast)} ${r(easings.default)},
|
|
53060
|
+
transform ${r(durations.fast)} ${r(easings.default)};
|
|
52442
53061
|
z-index: 50;
|
|
52443
53062
|
white-space: nowrap;
|
|
52444
|
-
box-shadow:
|
|
52445
|
-
line-height: 1.
|
|
53063
|
+
box-shadow: ${r(shadows.lg)};
|
|
53064
|
+
line-height: 1.5;
|
|
53065
|
+
transform: translateY(4px);
|
|
52446
53066
|
}
|
|
52447
53067
|
|
|
52448
53068
|
.tooltip.visible {
|
|
52449
53069
|
opacity: 1;
|
|
53070
|
+
transform: translateY(0);
|
|
52450
53071
|
}
|
|
52451
53072
|
|
|
52452
53073
|
.tooltip-time {
|
|
@@ -53306,21 +53927,30 @@ var UplStatuspageStatusmonth = class extends (_a9 = DeesElement, _monthlyData_de
|
|
|
53306
53927
|
const monthDate = /* @__PURE__ */ new Date(monthData.month + "-01");
|
|
53307
53928
|
const monthName = monthDate.toLocaleDateString("en-US", { month: "short", year: "numeric" });
|
|
53308
53929
|
const firstDayOfWeek = new Date(monthDate.getFullYear(), monthDate.getMonth(), 1).getDay();
|
|
53930
|
+
const now2 = /* @__PURE__ */ new Date();
|
|
53931
|
+
const isCurrentMonth = monthDate.getMonth() === now2.getMonth() && monthDate.getFullYear() === now2.getFullYear();
|
|
53932
|
+
const uptimeClass = this.getUptimeClass(monthData.overallUptime);
|
|
53309
53933
|
return x`
|
|
53310
53934
|
<div class="statusMonth" @mouseleave=${this.hideTooltip}>
|
|
53311
|
-
<div class="month-header"
|
|
53935
|
+
<div class="month-header">
|
|
53936
|
+
${monthName}
|
|
53937
|
+
${isCurrentMonth ? x`<span class="current-badge">Current</span>` : ""}
|
|
53938
|
+
</div>
|
|
53312
53939
|
<div class="days-container">
|
|
53313
53940
|
<div class="days-grid">
|
|
53314
53941
|
${this.renderWeekdayLabels()}
|
|
53315
53942
|
${this.renderEmptyDays(firstDayOfWeek)}
|
|
53316
|
-
${monthData.days.map((day) => this.renderDay(day))}
|
|
53943
|
+
${monthData.days.map((day, index2) => this.renderDay(day, index2))}
|
|
53317
53944
|
${this.renderTrailingEmptyDays(firstDayOfWeek + monthData.days.length)}
|
|
53318
53945
|
</div>
|
|
53319
53946
|
</div>
|
|
53320
53947
|
<div class="overall-uptime">
|
|
53321
53948
|
<div class="uptime-stat">
|
|
53322
53949
|
<span>Uptime</span>
|
|
53323
|
-
<span class="uptime-value">${monthData.overallUptime.toFixed(2)}%</span>
|
|
53950
|
+
<span class="uptime-value ${uptimeClass}">${monthData.overallUptime.toFixed(2)}%</span>
|
|
53951
|
+
</div>
|
|
53952
|
+
<div class="uptime-bar">
|
|
53953
|
+
<div class="uptime-bar-fill ${uptimeClass}" style="width: ${monthData.overallUptime}%"></div>
|
|
53324
53954
|
</div>
|
|
53325
53955
|
${monthData.totalIncidents > 0 ? x`
|
|
53326
53956
|
<div class="uptime-stat">
|
|
@@ -53332,6 +53962,11 @@ var UplStatuspageStatusmonth = class extends (_a9 = DeesElement, _monthlyData_de
|
|
|
53332
53962
|
</div>
|
|
53333
53963
|
`;
|
|
53334
53964
|
}
|
|
53965
|
+
getUptimeClass(uptime) {
|
|
53966
|
+
if (uptime >= 99.9) return "good";
|
|
53967
|
+
if (uptime >= 99) return "warning";
|
|
53968
|
+
return "bad";
|
|
53969
|
+
}
|
|
53335
53970
|
renderWeekdayLabels() {
|
|
53336
53971
|
const weekdays = ["S", "M", "T", "W", "T", "F", "S"];
|
|
53337
53972
|
return weekdays.map((day) => x`<div class="weekday-label">${day}</div>`);
|
|
@@ -53344,54 +53979,60 @@ var UplStatuspageStatusmonth = class extends (_a9 = DeesElement, _monthlyData_de
|
|
|
53344
53979
|
const trailingCount = remainder === 0 ? 0 : 7 - remainder;
|
|
53345
53980
|
return Array(trailingCount).fill(0).map(() => x`<div class="statusDay empty"></div>`);
|
|
53346
53981
|
}
|
|
53347
|
-
renderDay(day) {
|
|
53982
|
+
renderDay(day, index2 = 0) {
|
|
53348
53983
|
const status = day.status || "no-data";
|
|
53349
53984
|
const date = new Date(day.date);
|
|
53350
|
-
const
|
|
53985
|
+
const now2 = /* @__PURE__ */ new Date();
|
|
53986
|
+
const isToday3 = date.toDateString() === now2.toDateString();
|
|
53987
|
+
const uptimeIntensity = this.getUptimeIntensity(day.uptime);
|
|
53351
53988
|
return x`
|
|
53352
|
-
<div
|
|
53353
|
-
class="statusDay ${status}"
|
|
53989
|
+
<div
|
|
53990
|
+
class="statusDay ${status} ${isToday3 ? "today" : ""} ${status === "operational" ? uptimeIntensity : ""}"
|
|
53991
|
+
style="--day-index: ${index2}"
|
|
53354
53992
|
@mouseenter=${(e10) => this.showTooltip && this.showDayTooltip(e10, day)}
|
|
53355
53993
|
@click=${() => this.handleDayClick(day)}
|
|
53356
53994
|
>
|
|
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>
|
|
53995
|
+
${(status === "major_outage" || status === "partial_outage") && day.incidents > 0 ? x`
|
|
53996
|
+
<span class="incident-count">${day.incidents}</span>
|
|
53367
53997
|
` : ""}
|
|
53368
53998
|
</div>
|
|
53369
53999
|
`;
|
|
53370
54000
|
}
|
|
54001
|
+
getUptimeIntensity(uptime) {
|
|
54002
|
+
if (uptime >= 99.9) return "uptime-high";
|
|
54003
|
+
if (uptime >= 99) return "uptime-mid";
|
|
54004
|
+
return "";
|
|
54005
|
+
}
|
|
53371
54006
|
showDayTooltip(event, day) {
|
|
53372
54007
|
const tooltip = this.shadowRoot?.getElementById("tooltip");
|
|
53373
54008
|
if (!tooltip) return;
|
|
53374
54009
|
const date = new Date(day.date);
|
|
53375
54010
|
const dateStr = date.toLocaleDateString("en-US", {
|
|
53376
|
-
weekday: "
|
|
53377
|
-
|
|
53378
|
-
month: "long",
|
|
54011
|
+
weekday: "short",
|
|
54012
|
+
month: "short",
|
|
53379
54013
|
day: "numeric"
|
|
53380
54014
|
});
|
|
53381
54015
|
let statusText = day.status.replace(/_/g, " ");
|
|
53382
54016
|
statusText = statusText.charAt(0).toUpperCase() + statusText.slice(1);
|
|
54017
|
+
const uptimeColor = day.uptime >= 99.9 ? "#22c55e" : day.uptime >= 99 ? "#fbbf24" : "#f87171";
|
|
53383
54018
|
tooltip.innerHTML = `
|
|
53384
54019
|
<div class="tooltip-date">${dateStr}</div>
|
|
53385
|
-
<div class="tooltip-stat">
|
|
53386
|
-
|
|
53387
|
-
|
|
53388
|
-
|
|
54020
|
+
<div class="tooltip-stat">
|
|
54021
|
+
<span style="display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: ${uptimeColor};"></span>
|
|
54022
|
+
${statusText}
|
|
54023
|
+
</div>
|
|
54024
|
+
<div class="tooltip-stat">Uptime: <strong>${day.uptime.toFixed(2)}%</strong></div>
|
|
54025
|
+
${day.incidents > 0 ? `<div class="tooltip-stat">Incidents: <strong>${day.incidents}</strong></div>` : ""}
|
|
54026
|
+
${day.totalDowntime > 0 ? `<div class="tooltip-stat">Downtime: <strong>${day.totalDowntime}m</strong></div>` : ""}
|
|
54027
|
+
<div class="tooltip-uptime-bar">
|
|
54028
|
+
<div class="tooltip-uptime-fill" style="width: ${day.uptime}%; background: ${uptimeColor};"></div>
|
|
54029
|
+
</div>
|
|
53389
54030
|
`;
|
|
53390
54031
|
const rect = event.target.getBoundingClientRect();
|
|
53391
54032
|
const containerRect = this.getBoundingClientRect();
|
|
53392
54033
|
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%)";
|
|
54034
|
+
tooltip.style.top = `${rect.top - containerRect.top - 10}px`;
|
|
54035
|
+
tooltip.style.transform = "translateX(-50%) translateY(-100%)";
|
|
53395
54036
|
tooltip.classList.add("visible");
|
|
53396
54037
|
}
|
|
53397
54038
|
hideTooltip() {
|
|
@@ -53434,242 +54075,402 @@ __publicField(UplStatuspageStatusmonth, "styles", [
|
|
|
53434
54075
|
commonStyles,
|
|
53435
54076
|
i`
|
|
53436
54077
|
: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
|
-
}
|
|
54078
|
+
position: relative;
|
|
54079
|
+
display: block;
|
|
54080
|
+
background: transparent;
|
|
54081
|
+
font-family: ${r(fonts.base)};
|
|
54082
|
+
color: ${colors.text.primary};
|
|
54083
|
+
}
|
|
53449
54084
|
|
|
53450
|
-
|
|
53451
|
-
|
|
53452
|
-
|
|
53453
|
-
|
|
53454
|
-
|
|
54085
|
+
.container {
|
|
54086
|
+
max-width: 1200px;
|
|
54087
|
+
margin: 0 auto;
|
|
54088
|
+
padding: 0 ${r(spacing.lg)} ${r(spacing.lg)} ${r(spacing.lg)};
|
|
54089
|
+
}
|
|
53455
54090
|
|
|
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
|
-
}
|
|
54091
|
+
.mainbox {
|
|
54092
|
+
display: grid;
|
|
54093
|
+
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
|
54094
|
+
gap: ${r(spacing.lg)};
|
|
54095
|
+
}
|
|
53468
54096
|
|
|
53469
|
-
|
|
53470
|
-
|
|
53471
|
-
|
|
53472
|
-
}
|
|
54097
|
+
/* Month card with entrance animation */
|
|
54098
|
+
.statusMonth {
|
|
54099
|
+
background: ${colors.background.card};
|
|
54100
|
+
padding: ${r(spacing.lg)};
|
|
54101
|
+
border-radius: ${r(borderRadius.lg)};
|
|
54102
|
+
border: 1px solid ${colors.border.default};
|
|
54103
|
+
position: relative;
|
|
54104
|
+
transition: all ${r(durations.normal)} ${r(easings.default)};
|
|
54105
|
+
display: flex;
|
|
54106
|
+
flex-direction: column;
|
|
54107
|
+
min-height: 280px;
|
|
54108
|
+
box-shadow: ${r(shadows.sm)};
|
|
54109
|
+
animation: fadeInUp 0.5s ${r(easings.default)} both;
|
|
54110
|
+
}
|
|
53473
54111
|
|
|
53474
|
-
|
|
53475
|
-
|
|
53476
|
-
|
|
53477
|
-
|
|
53478
|
-
|
|
53479
|
-
letter-spacing: 0.02em;
|
|
53480
|
-
text-transform: uppercase;
|
|
53481
|
-
}
|
|
54112
|
+
.statusMonth:nth-child(1) { animation-delay: 0ms; }
|
|
54113
|
+
.statusMonth:nth-child(2) { animation-delay: 100ms; }
|
|
54114
|
+
.statusMonth:nth-child(3) { animation-delay: 200ms; }
|
|
54115
|
+
.statusMonth:nth-child(4) { animation-delay: 300ms; }
|
|
54116
|
+
.statusMonth:nth-child(5) { animation-delay: 400ms; }
|
|
53482
54117
|
|
|
53483
|
-
|
|
53484
|
-
|
|
53485
|
-
|
|
53486
|
-
|
|
53487
|
-
margin-bottom: ${r(spacing.lg)};
|
|
54118
|
+
@keyframes fadeInUp {
|
|
54119
|
+
from {
|
|
54120
|
+
opacity: 0;
|
|
54121
|
+
transform: translateY(16px);
|
|
53488
54122
|
}
|
|
53489
|
-
|
|
53490
|
-
|
|
53491
|
-
|
|
53492
|
-
grid-template-columns: repeat(7, 1fr);
|
|
53493
|
-
gap: 3px;
|
|
53494
|
-
width: 100%;
|
|
54123
|
+
to {
|
|
54124
|
+
opacity: 1;
|
|
54125
|
+
transform: translateY(0);
|
|
53495
54126
|
}
|
|
54127
|
+
}
|
|
53496
54128
|
|
|
53497
|
-
|
|
53498
|
-
|
|
53499
|
-
|
|
53500
|
-
|
|
53501
|
-
|
|
53502
|
-
height: 20px;
|
|
53503
|
-
line-height: 20px;
|
|
53504
|
-
margin-bottom: ${r(spacing.sm)};
|
|
53505
|
-
text-transform: uppercase;
|
|
53506
|
-
}
|
|
54129
|
+
.statusMonth:hover {
|
|
54130
|
+
border-color: ${colors.border.muted};
|
|
54131
|
+
box-shadow: ${r(shadows.md)};
|
|
54132
|
+
transform: translateY(-2px);
|
|
54133
|
+
}
|
|
53507
54134
|
|
|
53508
|
-
|
|
53509
|
-
|
|
53510
|
-
|
|
53511
|
-
|
|
53512
|
-
|
|
53513
|
-
|
|
53514
|
-
|
|
54135
|
+
.month-header {
|
|
54136
|
+
font-size: 12px;
|
|
54137
|
+
font-weight: 600;
|
|
54138
|
+
margin-bottom: ${r(spacing.md)};
|
|
54139
|
+
color: ${colors.text.primary};
|
|
54140
|
+
letter-spacing: 0.04em;
|
|
54141
|
+
text-transform: uppercase;
|
|
54142
|
+
display: flex;
|
|
54143
|
+
align-items: center;
|
|
54144
|
+
gap: 8px;
|
|
54145
|
+
}
|
|
53515
54146
|
|
|
53516
|
-
|
|
53517
|
-
|
|
53518
|
-
|
|
53519
|
-
|
|
53520
|
-
|
|
54147
|
+
.month-header .current-badge {
|
|
54148
|
+
font-size: 9px;
|
|
54149
|
+
padding: 2px 6px;
|
|
54150
|
+
background: ${colors.status.operational};
|
|
54151
|
+
color: white;
|
|
54152
|
+
border-radius: ${r(borderRadius.full)};
|
|
54153
|
+
font-weight: 500;
|
|
54154
|
+
letter-spacing: 0.02em;
|
|
54155
|
+
}
|
|
53521
54156
|
|
|
53522
|
-
|
|
53523
|
-
|
|
53524
|
-
|
|
54157
|
+
.days-container {
|
|
54158
|
+
flex: 1;
|
|
54159
|
+
display: flex;
|
|
54160
|
+
flex-direction: column;
|
|
54161
|
+
margin-bottom: ${r(spacing.lg)};
|
|
54162
|
+
}
|
|
53525
54163
|
|
|
53526
|
-
|
|
53527
|
-
|
|
53528
|
-
|
|
54164
|
+
.days-grid {
|
|
54165
|
+
display: grid;
|
|
54166
|
+
grid-template-columns: repeat(7, 1fr);
|
|
54167
|
+
gap: 4px;
|
|
54168
|
+
width: 100%;
|
|
54169
|
+
}
|
|
53529
54170
|
|
|
53530
|
-
|
|
53531
|
-
|
|
53532
|
-
|
|
54171
|
+
.weekday-label {
|
|
54172
|
+
font-size: 9px;
|
|
54173
|
+
text-align: center;
|
|
54174
|
+
color: ${colors.text.muted};
|
|
54175
|
+
font-weight: 600;
|
|
54176
|
+
height: 20px;
|
|
54177
|
+
line-height: 20px;
|
|
54178
|
+
margin-bottom: ${r(spacing.xs)};
|
|
54179
|
+
text-transform: uppercase;
|
|
54180
|
+
letter-spacing: 0.02em;
|
|
54181
|
+
}
|
|
54182
|
+
|
|
54183
|
+
/* Calendar day cell */
|
|
54184
|
+
.statusDay {
|
|
54185
|
+
aspect-ratio: 1;
|
|
54186
|
+
border-radius: 4px;
|
|
54187
|
+
cursor: pointer;
|
|
54188
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
54189
|
+
position: relative;
|
|
54190
|
+
animation: dayFadeIn 0.3s ${r(easings.default)} both;
|
|
54191
|
+
animation-delay: calc(var(--day-index, 0) * 15ms);
|
|
54192
|
+
}
|
|
53533
54193
|
|
|
53534
|
-
|
|
53535
|
-
|
|
54194
|
+
@keyframes dayFadeIn {
|
|
54195
|
+
from {
|
|
54196
|
+
opacity: 0;
|
|
54197
|
+
transform: scale(0.8);
|
|
53536
54198
|
}
|
|
53537
|
-
|
|
53538
|
-
|
|
53539
|
-
|
|
54199
|
+
to {
|
|
54200
|
+
opacity: 1;
|
|
54201
|
+
transform: scale(1);
|
|
53540
54202
|
}
|
|
54203
|
+
}
|
|
53541
54204
|
|
|
53542
|
-
|
|
53543
|
-
|
|
53544
|
-
|
|
53545
|
-
|
|
54205
|
+
.statusDay:hover:not(.empty) {
|
|
54206
|
+
transform: scale(1.2);
|
|
54207
|
+
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
|
54208
|
+
z-index: 2;
|
|
54209
|
+
}
|
|
53546
54210
|
|
|
53547
|
-
|
|
53548
|
-
|
|
53549
|
-
|
|
53550
|
-
|
|
53551
|
-
|
|
54211
|
+
/* Current day highlight */
|
|
54212
|
+
.statusDay.today {
|
|
54213
|
+
box-shadow: 0 0 0 2px ${colors.text.primary};
|
|
54214
|
+
z-index: 1;
|
|
54215
|
+
}
|
|
53552
54216
|
|
|
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
|
-
}
|
|
54217
|
+
.statusDay.today:hover {
|
|
54218
|
+
box-shadow: 0 0 0 2px ${colors.text.primary}, 0 4px 8px rgba(0, 0, 0, 0.15);
|
|
54219
|
+
}
|
|
53563
54220
|
|
|
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
|
-
}
|
|
54221
|
+
/* Status colors with intensity variations based on uptime */
|
|
54222
|
+
.statusDay.operational {
|
|
54223
|
+
background: ${colors.status.operational};
|
|
54224
|
+
}
|
|
53576
54225
|
|
|
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
|
-
}
|
|
54226
|
+
.statusDay.operational.uptime-high {
|
|
54227
|
+
background: ${cssManager.bdTheme("#22c55e", "#22c55e")};
|
|
54228
|
+
}
|
|
53610
54229
|
|
|
53611
|
-
|
|
53612
|
-
|
|
53613
|
-
|
|
53614
|
-
}
|
|
54230
|
+
.statusDay.operational.uptime-mid {
|
|
54231
|
+
background: ${cssManager.bdTheme("#4ade80", "#4ade80")};
|
|
54232
|
+
}
|
|
53615
54233
|
|
|
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
|
-
}
|
|
54234
|
+
.statusDay.degraded {
|
|
54235
|
+
background: ${colors.status.degraded};
|
|
54236
|
+
}
|
|
53631
54237
|
|
|
53632
|
-
|
|
53633
|
-
|
|
53634
|
-
|
|
53635
|
-
|
|
53636
|
-
|
|
53637
|
-
|
|
53638
|
-
|
|
53639
|
-
|
|
53640
|
-
|
|
53641
|
-
|
|
53642
|
-
|
|
53643
|
-
|
|
54238
|
+
.statusDay.partial_outage {
|
|
54239
|
+
background: ${colors.status.partial};
|
|
54240
|
+
}
|
|
54241
|
+
|
|
54242
|
+
.statusDay.major_outage {
|
|
54243
|
+
background: ${colors.status.major};
|
|
54244
|
+
animation: dayFadeIn 0.3s ${r(easings.default)} both,
|
|
54245
|
+
majorOutagePulse 2s ease-in-out infinite;
|
|
54246
|
+
}
|
|
54247
|
+
|
|
54248
|
+
@keyframes majorOutagePulse {
|
|
54249
|
+
0%, 100% { opacity: 1; }
|
|
54250
|
+
50% { opacity: 0.8; }
|
|
54251
|
+
}
|
|
54252
|
+
|
|
54253
|
+
.statusDay.maintenance {
|
|
54254
|
+
background: ${colors.status.maintenance};
|
|
54255
|
+
}
|
|
54256
|
+
|
|
54257
|
+
.statusDay.no-data {
|
|
54258
|
+
background: ${colors.background.muted};
|
|
54259
|
+
opacity: 0.5;
|
|
54260
|
+
}
|
|
54261
|
+
|
|
54262
|
+
.statusDay.empty {
|
|
54263
|
+
background: transparent;
|
|
54264
|
+
cursor: default;
|
|
54265
|
+
pointer-events: none;
|
|
54266
|
+
animation: none;
|
|
54267
|
+
}
|
|
54268
|
+
|
|
54269
|
+
/* Incident count indicator */
|
|
54270
|
+
.incident-count {
|
|
54271
|
+
position: absolute;
|
|
54272
|
+
top: 50%;
|
|
54273
|
+
left: 50%;
|
|
54274
|
+
transform: translate(-50%, -50%);
|
|
54275
|
+
font-size: 8px;
|
|
54276
|
+
font-weight: 700;
|
|
54277
|
+
color: white;
|
|
54278
|
+
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
54279
|
+
line-height: 1;
|
|
54280
|
+
}
|
|
54281
|
+
|
|
54282
|
+
/* Overall uptime footer */
|
|
54283
|
+
.overall-uptime {
|
|
54284
|
+
font-size: 12px;
|
|
54285
|
+
margin-top: auto;
|
|
54286
|
+
padding-top: ${r(spacing.md)};
|
|
54287
|
+
color: ${colors.text.secondary};
|
|
54288
|
+
display: flex;
|
|
54289
|
+
flex-direction: column;
|
|
54290
|
+
gap: 8px;
|
|
54291
|
+
border-top: 1px solid ${colors.border.default};
|
|
54292
|
+
}
|
|
54293
|
+
|
|
54294
|
+
.uptime-stat {
|
|
54295
|
+
display: flex;
|
|
54296
|
+
justify-content: space-between;
|
|
54297
|
+
align-items: center;
|
|
54298
|
+
}
|
|
54299
|
+
|
|
54300
|
+
.uptime-value {
|
|
54301
|
+
font-weight: 600;
|
|
54302
|
+
color: ${colors.text.primary};
|
|
54303
|
+
font-variant-numeric: tabular-nums;
|
|
54304
|
+
font-size: 13px;
|
|
54305
|
+
}
|
|
54306
|
+
|
|
54307
|
+
.uptime-value.good {
|
|
54308
|
+
color: ${colors.status.operational};
|
|
54309
|
+
}
|
|
54310
|
+
|
|
54311
|
+
.uptime-value.warning {
|
|
54312
|
+
color: ${colors.status.degraded};
|
|
54313
|
+
}
|
|
54314
|
+
|
|
54315
|
+
.uptime-value.bad {
|
|
54316
|
+
color: ${colors.status.partial};
|
|
54317
|
+
}
|
|
54318
|
+
|
|
54319
|
+
/* Uptime bar visualization */
|
|
54320
|
+
.uptime-bar {
|
|
54321
|
+
height: 4px;
|
|
54322
|
+
background: ${colors.background.muted};
|
|
54323
|
+
border-radius: 2px;
|
|
54324
|
+
overflow: hidden;
|
|
54325
|
+
margin-top: 4px;
|
|
54326
|
+
}
|
|
54327
|
+
|
|
54328
|
+
.uptime-bar-fill {
|
|
54329
|
+
height: 100%;
|
|
54330
|
+
border-radius: 2px;
|
|
54331
|
+
transition: width ${r(durations.slow)} ${r(easings.default)};
|
|
54332
|
+
}
|
|
54333
|
+
|
|
54334
|
+
.uptime-bar-fill.good {
|
|
54335
|
+
background: ${colors.status.operational};
|
|
54336
|
+
}
|
|
54337
|
+
|
|
54338
|
+
.uptime-bar-fill.warning {
|
|
54339
|
+
background: ${colors.status.degraded};
|
|
54340
|
+
}
|
|
54341
|
+
|
|
54342
|
+
.uptime-bar-fill.bad {
|
|
54343
|
+
background: ${colors.status.partial};
|
|
54344
|
+
}
|
|
54345
|
+
|
|
54346
|
+
/* Loading skeleton */
|
|
54347
|
+
.loading-skeleton {
|
|
54348
|
+
display: flex;
|
|
54349
|
+
flex-direction: column;
|
|
54350
|
+
gap: ${r(spacing.sm)};
|
|
54351
|
+
height: 100%;
|
|
54352
|
+
}
|
|
54353
|
+
|
|
54354
|
+
.skeleton-header {
|
|
54355
|
+
height: 20px;
|
|
54356
|
+
width: 80px;
|
|
54357
|
+
background: ${colors.background.muted};
|
|
54358
|
+
border-radius: 4px;
|
|
54359
|
+
animation: shimmer 1.5s infinite;
|
|
54360
|
+
}
|
|
54361
|
+
|
|
54362
|
+
.skeleton-grid {
|
|
54363
|
+
flex: 1;
|
|
54364
|
+
display: grid;
|
|
54365
|
+
grid-template-columns: repeat(7, 1fr);
|
|
54366
|
+
gap: 3px;
|
|
54367
|
+
}
|
|
54368
|
+
|
|
54369
|
+
.skeleton-day {
|
|
54370
|
+
background: ${colors.background.muted};
|
|
54371
|
+
border-radius: 3px;
|
|
54372
|
+
animation: shimmer 1.5s infinite;
|
|
54373
|
+
animation-delay: calc(var(--index) * 30ms);
|
|
54374
|
+
}
|
|
54375
|
+
|
|
54376
|
+
@keyframes shimmer {
|
|
54377
|
+
0% { opacity: 0.5; }
|
|
54378
|
+
50% { opacity: 1; }
|
|
54379
|
+
100% { opacity: 0.5; }
|
|
54380
|
+
}
|
|
54381
|
+
|
|
54382
|
+
/* Tooltip */
|
|
54383
|
+
.tooltip {
|
|
54384
|
+
position: absolute;
|
|
54385
|
+
background: ${cssManager.bdTheme("#0a0a0a", "#fafafa")};
|
|
54386
|
+
color: ${cssManager.bdTheme("#fafafa", "#0a0a0a")};
|
|
54387
|
+
padding: 10px 14px;
|
|
54388
|
+
border-radius: ${r(borderRadius.base)};
|
|
54389
|
+
font-size: 12px;
|
|
54390
|
+
pointer-events: none;
|
|
54391
|
+
opacity: 0;
|
|
54392
|
+
transition: opacity ${r(durations.fast)} ${r(easings.default)},
|
|
54393
|
+
transform ${r(durations.fast)} ${r(easings.default)};
|
|
54394
|
+
z-index: 50;
|
|
54395
|
+
white-space: nowrap;
|
|
54396
|
+
box-shadow: ${r(shadows.lg)};
|
|
54397
|
+
line-height: 1.5;
|
|
54398
|
+
transform: translateX(-50%) translateY(4px);
|
|
54399
|
+
}
|
|
54400
|
+
|
|
54401
|
+
.tooltip.visible {
|
|
54402
|
+
opacity: 1;
|
|
54403
|
+
transform: translateX(-50%) translateY(0);
|
|
54404
|
+
}
|
|
54405
|
+
|
|
54406
|
+
.tooltip-date {
|
|
54407
|
+
font-weight: 600;
|
|
54408
|
+
margin-bottom: 6px;
|
|
54409
|
+
font-size: 13px;
|
|
54410
|
+
}
|
|
54411
|
+
|
|
54412
|
+
.tooltip-stat {
|
|
54413
|
+
font-size: 11px;
|
|
54414
|
+
opacity: 0.85;
|
|
54415
|
+
display: flex;
|
|
54416
|
+
align-items: center;
|
|
54417
|
+
gap: 6px;
|
|
54418
|
+
}
|
|
54419
|
+
|
|
54420
|
+
.tooltip-stat + .tooltip-stat {
|
|
54421
|
+
margin-top: 2px;
|
|
54422
|
+
}
|
|
54423
|
+
|
|
54424
|
+
.tooltip-uptime-bar {
|
|
54425
|
+
height: 3px;
|
|
54426
|
+
width: 60px;
|
|
54427
|
+
background: rgba(128, 128, 128, 0.3);
|
|
54428
|
+
border-radius: 2px;
|
|
54429
|
+
overflow: hidden;
|
|
54430
|
+
margin-top: 8px;
|
|
54431
|
+
}
|
|
54432
|
+
|
|
54433
|
+
.tooltip-uptime-fill {
|
|
54434
|
+
height: 100%;
|
|
54435
|
+
border-radius: 2px;
|
|
54436
|
+
}
|
|
54437
|
+
|
|
54438
|
+
.no-data-message {
|
|
54439
|
+
grid-column: 1 / -1;
|
|
54440
|
+
text-align: center;
|
|
54441
|
+
padding: ${r(spacing["2xl"])};
|
|
54442
|
+
color: ${colors.text.secondary};
|
|
54443
|
+
animation: fadeInUp 0.4s ${r(easings.default)} both;
|
|
54444
|
+
}
|
|
54445
|
+
|
|
54446
|
+
@media (max-width: 640px) {
|
|
54447
|
+
.container {
|
|
54448
|
+
padding: 0 ${r(spacing.md)} ${r(spacing.md)} ${r(spacing.md)};
|
|
53644
54449
|
}
|
|
53645
54450
|
|
|
53646
|
-
.
|
|
53647
|
-
grid-
|
|
53648
|
-
|
|
53649
|
-
padding: ${r(spacing["2xl"])};
|
|
53650
|
-
color: ${colors.text.secondary};
|
|
54451
|
+
.mainbox {
|
|
54452
|
+
grid-template-columns: 1fr;
|
|
54453
|
+
gap: ${r(spacing.md)};
|
|
53651
54454
|
}
|
|
53652
54455
|
|
|
53653
|
-
|
|
53654
|
-
|
|
53655
|
-
|
|
53656
|
-
|
|
54456
|
+
.statusMonth {
|
|
54457
|
+
padding: ${r(spacing.md)};
|
|
54458
|
+
min-height: 260px;
|
|
54459
|
+
}
|
|
53657
54460
|
|
|
53658
|
-
|
|
53659
|
-
|
|
53660
|
-
|
|
53661
|
-
}
|
|
54461
|
+
.days-grid {
|
|
54462
|
+
gap: 3px;
|
|
54463
|
+
}
|
|
53662
54464
|
|
|
53663
|
-
|
|
53664
|
-
|
|
53665
|
-
|
|
53666
|
-
}
|
|
54465
|
+
.statusDay:hover:not(.empty) {
|
|
54466
|
+
transform: scale(1.1);
|
|
54467
|
+
}
|
|
53667
54468
|
|
|
53668
|
-
|
|
53669
|
-
|
|
53670
|
-
|
|
53671
|
-
}
|
|
54469
|
+
.loading-skeleton {
|
|
54470
|
+
height: 180px;
|
|
54471
|
+
padding: ${r(spacing.md)};
|
|
53672
54472
|
}
|
|
54473
|
+
}
|
|
53673
54474
|
`
|
|
53674
54475
|
]);
|
|
53675
54476
|
__runInitializers(_init9, 1, UplStatuspageStatusmonth);
|
|
@@ -53982,18 +54783,23 @@ var UplStatuspageStatsgrid = class extends (_a10 = DeesElement, _uptime_dec = [n
|
|
|
53982
54783
|
</div>
|
|
53983
54784
|
` : x`
|
|
53984
54785
|
<div class="stats-grid">
|
|
53985
|
-
<div class="stat-card">
|
|
54786
|
+
<div class="stat-card status-card ${this.currentStatus}">
|
|
53986
54787
|
<div class="stat-label">
|
|
53987
54788
|
<span class="status-indicator ${this.currentStatus}"></span>
|
|
53988
54789
|
Current Status
|
|
53989
54790
|
</div>
|
|
53990
|
-
<div class="stat-value">
|
|
54791
|
+
<div class="stat-value ${this.currentStatus}">
|
|
53991
54792
|
${this.formatStatus(this.currentStatus)}
|
|
53992
54793
|
</div>
|
|
53993
54794
|
</div>
|
|
53994
54795
|
|
|
53995
|
-
<div class="stat-card">
|
|
53996
|
-
<div class="stat-label">
|
|
54796
|
+
<div class="stat-card uptime-card">
|
|
54797
|
+
<div class="stat-label">
|
|
54798
|
+
<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">
|
|
54799
|
+
<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline>
|
|
54800
|
+
</svg>
|
|
54801
|
+
Uptime
|
|
54802
|
+
</div>
|
|
53997
54803
|
<div class="stat-value">
|
|
53998
54804
|
${this.uptime.toFixed(2)}<span class="stat-unit">%</span>
|
|
53999
54805
|
</div>
|
|
@@ -54002,16 +54808,29 @@ var UplStatuspageStatsgrid = class extends (_a10 = DeesElement, _uptime_dec = [n
|
|
|
54002
54808
|
</div>
|
|
54003
54809
|
</div>
|
|
54004
54810
|
|
|
54005
|
-
<div class="stat-card">
|
|
54006
|
-
<div class="stat-label">
|
|
54811
|
+
<div class="stat-card response-card">
|
|
54812
|
+
<div class="stat-label">
|
|
54813
|
+
<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">
|
|
54814
|
+
<circle cx="12" cy="12" r="10"></circle>
|
|
54815
|
+
<polyline points="12 6 12 12 16 14"></polyline>
|
|
54816
|
+
</svg>
|
|
54817
|
+
Avg Response
|
|
54818
|
+
</div>
|
|
54007
54819
|
<div class="stat-value">
|
|
54008
54820
|
${this.avgResponseTime}<span class="stat-unit">ms</span>
|
|
54009
54821
|
</div>
|
|
54010
54822
|
${this.renderResponseChange()}
|
|
54011
54823
|
</div>
|
|
54012
54824
|
|
|
54013
|
-
<div class="stat-card">
|
|
54014
|
-
<div class="stat-label">
|
|
54825
|
+
<div class="stat-card incident-card">
|
|
54826
|
+
<div class="stat-label">
|
|
54827
|
+
<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">
|
|
54828
|
+
<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>
|
|
54829
|
+
<line x1="12" y1="9" x2="12" y2="13"></line>
|
|
54830
|
+
<line x1="12" y1="17" x2="12.01" y2="17"></line>
|
|
54831
|
+
</svg>
|
|
54832
|
+
Incidents
|
|
54833
|
+
</div>
|
|
54015
54834
|
<div class="stat-value">
|
|
54016
54835
|
${this.totalIncidents}
|
|
54017
54836
|
</div>
|
|
@@ -54088,66 +54907,170 @@ __publicField(UplStatuspageStatsgrid, "styles", [
|
|
|
54088
54907
|
}
|
|
54089
54908
|
|
|
54090
54909
|
.stat-card {
|
|
54091
|
-
background: ${
|
|
54092
|
-
border: 1px solid ${
|
|
54093
|
-
border-radius: ${r(borderRadius.
|
|
54910
|
+
background: ${colors.background.card};
|
|
54911
|
+
border: 1px solid ${colors.border.default};
|
|
54912
|
+
border-radius: ${r(borderRadius.lg)};
|
|
54094
54913
|
padding: ${r(spacing.lg)};
|
|
54095
|
-
transition: all
|
|
54914
|
+
transition: all ${r(durations.normal)} ${r(easings.default)};
|
|
54915
|
+
position: relative;
|
|
54916
|
+
overflow: hidden;
|
|
54917
|
+
animation: fadeInUp 0.4s ${r(easings.default)} both;
|
|
54918
|
+
}
|
|
54919
|
+
|
|
54920
|
+
.stat-card:nth-child(1) { animation-delay: 0ms; }
|
|
54921
|
+
.stat-card:nth-child(2) { animation-delay: 50ms; }
|
|
54922
|
+
.stat-card:nth-child(3) { animation-delay: 100ms; }
|
|
54923
|
+
.stat-card:nth-child(4) { animation-delay: 150ms; }
|
|
54924
|
+
|
|
54925
|
+
@keyframes fadeInUp {
|
|
54926
|
+
from {
|
|
54927
|
+
opacity: 0;
|
|
54928
|
+
transform: translateY(12px);
|
|
54929
|
+
}
|
|
54930
|
+
to {
|
|
54931
|
+
opacity: 1;
|
|
54932
|
+
transform: translateY(0);
|
|
54933
|
+
}
|
|
54934
|
+
}
|
|
54935
|
+
|
|
54936
|
+
/* Status-colored top accent */
|
|
54937
|
+
.stat-card::before {
|
|
54938
|
+
content: '';
|
|
54939
|
+
position: absolute;
|
|
54940
|
+
top: 0;
|
|
54941
|
+
left: 0;
|
|
54942
|
+
right: 0;
|
|
54943
|
+
height: 3px;
|
|
54944
|
+
background: ${colors.border.muted};
|
|
54945
|
+
transition: all ${r(durations.fast)} ${r(easings.default)};
|
|
54946
|
+
}
|
|
54947
|
+
|
|
54948
|
+
.stat-card.status-card::before {
|
|
54949
|
+
background: ${colors.status.operational};
|
|
54950
|
+
}
|
|
54951
|
+
|
|
54952
|
+
.stat-card.status-card.degraded::before {
|
|
54953
|
+
background: ${colors.status.degraded};
|
|
54954
|
+
}
|
|
54955
|
+
|
|
54956
|
+
.stat-card.status-card.partial_outage::before {
|
|
54957
|
+
background: ${colors.status.partial};
|
|
54958
|
+
}
|
|
54959
|
+
|
|
54960
|
+
.stat-card.status-card.major_outage::before {
|
|
54961
|
+
background: ${colors.status.major};
|
|
54962
|
+
}
|
|
54963
|
+
|
|
54964
|
+
.stat-card.status-card.maintenance::before {
|
|
54965
|
+
background: ${colors.status.maintenance};
|
|
54966
|
+
}
|
|
54967
|
+
|
|
54968
|
+
.stat-card.uptime-card::before {
|
|
54969
|
+
background: ${colors.status.operational};
|
|
54970
|
+
}
|
|
54971
|
+
|
|
54972
|
+
.stat-card.response-card::before {
|
|
54973
|
+
background: ${colors.status.maintenance};
|
|
54974
|
+
}
|
|
54975
|
+
|
|
54976
|
+
.stat-card.incident-card::before {
|
|
54977
|
+
background: ${colors.status.partial};
|
|
54096
54978
|
}
|
|
54097
54979
|
|
|
54098
54980
|
.stat-card:hover {
|
|
54099
|
-
border-color: ${
|
|
54100
|
-
box-shadow: ${
|
|
54101
|
-
|
|
54102
|
-
|
|
54103
|
-
|
|
54981
|
+
border-color: ${colors.border.muted};
|
|
54982
|
+
box-shadow: ${r(shadows.md)};
|
|
54983
|
+
transform: translateY(-3px);
|
|
54984
|
+
}
|
|
54985
|
+
|
|
54986
|
+
.stat-card:hover::before {
|
|
54987
|
+
height: 4px;
|
|
54104
54988
|
}
|
|
54105
54989
|
|
|
54106
54990
|
.stat-label {
|
|
54107
|
-
font-size:
|
|
54108
|
-
color: ${
|
|
54991
|
+
font-size: 11px;
|
|
54992
|
+
color: ${colors.text.muted};
|
|
54109
54993
|
text-transform: uppercase;
|
|
54110
|
-
letter-spacing: 0.
|
|
54111
|
-
font-weight:
|
|
54994
|
+
letter-spacing: 0.06em;
|
|
54995
|
+
font-weight: 600;
|
|
54112
54996
|
margin-bottom: ${r(spacing.sm)};
|
|
54113
54997
|
display: flex;
|
|
54114
54998
|
align-items: center;
|
|
54115
|
-
gap:
|
|
54999
|
+
gap: 6px;
|
|
55000
|
+
}
|
|
55001
|
+
|
|
55002
|
+
.stat-label svg {
|
|
55003
|
+
width: 14px;
|
|
55004
|
+
height: 14px;
|
|
55005
|
+
opacity: 0.7;
|
|
54116
55006
|
}
|
|
54117
55007
|
|
|
54118
55008
|
.stat-value {
|
|
54119
|
-
font-size:
|
|
54120
|
-
font-weight:
|
|
54121
|
-
color: ${
|
|
55009
|
+
font-size: 28px;
|
|
55010
|
+
font-weight: 700;
|
|
55011
|
+
color: ${colors.text.primary};
|
|
54122
55012
|
font-variant-numeric: tabular-nums;
|
|
54123
55013
|
line-height: 1.2;
|
|
55014
|
+
letter-spacing: -0.02em;
|
|
55015
|
+
transition: transform ${r(durations.fast)} ${r(easings.default)};
|
|
55016
|
+
}
|
|
55017
|
+
|
|
55018
|
+
.stat-card:hover .stat-value {
|
|
55019
|
+
transform: scale(1.02);
|
|
54124
55020
|
}
|
|
54125
55021
|
|
|
54126
55022
|
.stat-unit {
|
|
54127
|
-
font-size:
|
|
54128
|
-
font-weight:
|
|
54129
|
-
color: ${
|
|
54130
|
-
margin-left:
|
|
55023
|
+
font-size: 16px;
|
|
55024
|
+
font-weight: 500;
|
|
55025
|
+
color: ${colors.text.secondary};
|
|
55026
|
+
margin-left: 2px;
|
|
54131
55027
|
}
|
|
54132
55028
|
|
|
54133
55029
|
.stat-change {
|
|
54134
55030
|
font-size: 12px;
|
|
54135
|
-
margin-top: ${r(spacing.
|
|
55031
|
+
margin-top: ${r(spacing.sm)};
|
|
54136
55032
|
display: flex;
|
|
54137
55033
|
align-items: center;
|
|
54138
55034
|
gap: 4px;
|
|
55035
|
+
padding: 4px 8px;
|
|
55036
|
+
border-radius: ${r(borderRadius.sm)};
|
|
55037
|
+
width: fit-content;
|
|
54139
55038
|
}
|
|
54140
55039
|
|
|
54141
55040
|
.stat-change.positive {
|
|
54142
|
-
color: ${
|
|
55041
|
+
color: ${colors.status.operational};
|
|
55042
|
+
background: ${cssManager.bdTheme("rgba(22, 163, 74, 0.08)", "rgba(34, 197, 94, 0.12)")};
|
|
54143
55043
|
}
|
|
54144
55044
|
|
|
54145
55045
|
.stat-change.negative {
|
|
54146
|
-
color: ${
|
|
55046
|
+
color: ${colors.status.partial};
|
|
55047
|
+
background: ${cssManager.bdTheme("rgba(239, 68, 68, 0.08)", "rgba(248, 113, 113, 0.12)")};
|
|
54147
55048
|
}
|
|
54148
55049
|
|
|
54149
55050
|
.stat-change.neutral {
|
|
54150
|
-
color: ${
|
|
55051
|
+
color: ${colors.text.muted};
|
|
55052
|
+
background: ${colors.background.muted};
|
|
55053
|
+
}
|
|
55054
|
+
|
|
55055
|
+
/* Status text color variations */
|
|
55056
|
+
.stat-value.operational {
|
|
55057
|
+
color: ${colors.status.operational};
|
|
55058
|
+
}
|
|
55059
|
+
|
|
55060
|
+
.stat-value.degraded {
|
|
55061
|
+
color: ${colors.status.degraded};
|
|
55062
|
+
}
|
|
55063
|
+
|
|
55064
|
+
.stat-value.partial_outage {
|
|
55065
|
+
color: ${colors.status.partial};
|
|
55066
|
+
}
|
|
55067
|
+
|
|
55068
|
+
.stat-value.major_outage {
|
|
55069
|
+
color: ${colors.status.major};
|
|
55070
|
+
}
|
|
55071
|
+
|
|
55072
|
+
.stat-value.maintenance {
|
|
55073
|
+
color: ${colors.status.maintenance};
|
|
54151
55074
|
}
|
|
54152
55075
|
|
|
54153
55076
|
.loading-skeleton {
|
|
@@ -54157,61 +55080,102 @@ __publicField(UplStatuspageStatsgrid, "styles", [
|
|
|
54157
55080
|
}
|
|
54158
55081
|
|
|
54159
55082
|
.skeleton-card {
|
|
54160
|
-
background: ${
|
|
54161
|
-
border: 1px solid ${
|
|
54162
|
-
border-radius: ${r(borderRadius.
|
|
55083
|
+
background: ${colors.background.card};
|
|
55084
|
+
border: 1px solid ${colors.border.default};
|
|
55085
|
+
border-radius: ${r(borderRadius.lg)};
|
|
54163
55086
|
padding: ${r(spacing.lg)};
|
|
54164
|
-
height:
|
|
55087
|
+
height: 110px;
|
|
55088
|
+
position: relative;
|
|
55089
|
+
overflow: hidden;
|
|
55090
|
+
}
|
|
55091
|
+
|
|
55092
|
+
.skeleton-card::before {
|
|
55093
|
+
content: '';
|
|
55094
|
+
position: absolute;
|
|
55095
|
+
top: 0;
|
|
55096
|
+
left: 0;
|
|
55097
|
+
right: 0;
|
|
55098
|
+
height: 3px;
|
|
55099
|
+
background: ${colors.background.muted};
|
|
54165
55100
|
}
|
|
54166
55101
|
|
|
54167
55102
|
.skeleton-label {
|
|
54168
|
-
height:
|
|
55103
|
+
height: 12px;
|
|
54169
55104
|
width: 80px;
|
|
54170
|
-
background: ${
|
|
55105
|
+
background: ${colors.background.muted};
|
|
54171
55106
|
border-radius: 4px;
|
|
54172
55107
|
margin-bottom: ${r(spacing.sm)};
|
|
54173
|
-
animation:
|
|
55108
|
+
animation: shimmer 1.5s infinite;
|
|
54174
55109
|
}
|
|
54175
55110
|
|
|
54176
55111
|
.skeleton-value {
|
|
54177
|
-
height:
|
|
54178
|
-
width:
|
|
54179
|
-
background: ${
|
|
54180
|
-
border-radius:
|
|
54181
|
-
animation:
|
|
55112
|
+
height: 32px;
|
|
55113
|
+
width: 100px;
|
|
55114
|
+
background: ${colors.background.muted};
|
|
55115
|
+
border-radius: 6px;
|
|
55116
|
+
animation: shimmer 1.5s infinite;
|
|
54182
55117
|
animation-delay: 0.1s;
|
|
54183
55118
|
}
|
|
54184
55119
|
|
|
54185
|
-
|
|
54186
|
-
|
|
54187
|
-
|
|
55120
|
+
.skeleton-change {
|
|
55121
|
+
height: 20px;
|
|
55122
|
+
width: 70px;
|
|
55123
|
+
background: ${colors.background.muted};
|
|
55124
|
+
border-radius: 4px;
|
|
55125
|
+
margin-top: ${r(spacing.sm)};
|
|
55126
|
+
animation: shimmer 1.5s infinite;
|
|
55127
|
+
animation-delay: 0.2s;
|
|
55128
|
+
}
|
|
55129
|
+
|
|
55130
|
+
@keyframes shimmer {
|
|
55131
|
+
0% { opacity: 0.5; }
|
|
55132
|
+
50% { opacity: 1; }
|
|
55133
|
+
100% { opacity: 0.5; }
|
|
54188
55134
|
}
|
|
54189
55135
|
|
|
54190
55136
|
.status-indicator {
|
|
54191
55137
|
display: inline-block;
|
|
54192
|
-
width:
|
|
54193
|
-
height:
|
|
55138
|
+
width: 8px;
|
|
55139
|
+
height: 8px;
|
|
54194
55140
|
border-radius: 50%;
|
|
55141
|
+
flex-shrink: 0;
|
|
54195
55142
|
}
|
|
54196
55143
|
|
|
54197
55144
|
.status-indicator.operational {
|
|
54198
55145
|
background: ${colors.status.operational};
|
|
55146
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(22, 163, 74, 0.2)", "rgba(34, 197, 94, 0.25)")};
|
|
55147
|
+
animation: statusPulse 2s ease-in-out infinite;
|
|
55148
|
+
}
|
|
55149
|
+
|
|
55150
|
+
@keyframes statusPulse {
|
|
55151
|
+
0%, 100% { box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(22, 163, 74, 0.2)", "rgba(34, 197, 94, 0.25)")}; }
|
|
55152
|
+
50% { box-shadow: 0 0 0 4px ${cssManager.bdTheme("rgba(22, 163, 74, 0.1)", "rgba(34, 197, 94, 0.15)")}; }
|
|
54199
55153
|
}
|
|
54200
55154
|
|
|
54201
55155
|
.status-indicator.degraded {
|
|
54202
55156
|
background: ${colors.status.degraded};
|
|
55157
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(217, 119, 6, 0.2)", "rgba(251, 191, 36, 0.25)")};
|
|
54203
55158
|
}
|
|
54204
55159
|
|
|
54205
55160
|
.status-indicator.partial_outage {
|
|
54206
55161
|
background: ${colors.status.partial};
|
|
55162
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(239, 68, 68, 0.2)", "rgba(248, 113, 113, 0.25)")};
|
|
54207
55163
|
}
|
|
54208
55164
|
|
|
54209
55165
|
.status-indicator.major_outage {
|
|
54210
55166
|
background: ${colors.status.major};
|
|
55167
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(185, 28, 28, 0.2)", "rgba(239, 68, 68, 0.25)")};
|
|
55168
|
+
animation: majorPulse 1s ease-in-out infinite;
|
|
55169
|
+
}
|
|
55170
|
+
|
|
55171
|
+
@keyframes majorPulse {
|
|
55172
|
+
0%, 100% { opacity: 1; }
|
|
55173
|
+
50% { opacity: 0.6; }
|
|
54211
55174
|
}
|
|
54212
55175
|
|
|
54213
55176
|
.status-indicator.maintenance {
|
|
54214
55177
|
background: ${colors.status.maintenance};
|
|
55178
|
+
box-shadow: 0 0 0 2px ${cssManager.bdTheme("rgba(37, 99, 235, 0.2)", "rgba(96, 165, 250, 0.25)")};
|
|
54215
55179
|
}
|
|
54216
55180
|
|
|
54217
55181
|
@media (max-width: 640px) {
|
|
@@ -54220,7 +55184,7 @@ __publicField(UplStatuspageStatsgrid, "styles", [
|
|
|
54220
55184
|
}
|
|
54221
55185
|
|
|
54222
55186
|
.stats-grid {
|
|
54223
|
-
grid-template-columns: 1fr;
|
|
55187
|
+
grid-template-columns: repeat(2, 1fr);
|
|
54224
55188
|
gap: ${r(spacing.sm)};
|
|
54225
55189
|
}
|
|
54226
55190
|
|
|
@@ -54229,7 +55193,16 @@ __publicField(UplStatuspageStatsgrid, "styles", [
|
|
|
54229
55193
|
}
|
|
54230
55194
|
|
|
54231
55195
|
.stat-value {
|
|
54232
|
-
font-size:
|
|
55196
|
+
font-size: 22px;
|
|
55197
|
+
}
|
|
55198
|
+
|
|
55199
|
+
.stat-label {
|
|
55200
|
+
font-size: 10px;
|
|
55201
|
+
}
|
|
55202
|
+
|
|
55203
|
+
.stat-label svg {
|
|
55204
|
+
width: 12px;
|
|
55205
|
+
height: 12px;
|
|
54233
55206
|
}
|
|
54234
55207
|
}
|
|
54235
55208
|
`
|