@uptime.link/statuspage 1.3.1 → 1.4.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.
@@ -50509,6 +50509,20 @@ var UplStatuspageIncidents = class extends (_a5 = DeesElement, _currentIncidents
50509
50509
  __privateAdd(this, _subscribedIncidentIds, __runInitializers(_init5, 28, this, [])), __runInitializers(_init5, 31, this);
50510
50510
  __privateAdd(this, _expandedIncidents, __runInitializers(_init5, 32, this, /* @__PURE__ */ new Set())), __runInitializers(_init5, 35, this);
50511
50511
  __privateAdd(this, _subscribedIncidents, __runInitializers(_init5, 36, this, /* @__PURE__ */ new Set())), __runInitializers(_init5, 39, this);
50512
+ __publicField(this, "statusIcons", {
50513
+ investigating: "lucide:Search",
50514
+ identified: "lucide:Target",
50515
+ monitoring: "lucide:Eye",
50516
+ resolved: "lucide:CheckCircle",
50517
+ postmortem: "lucide:FileText"
50518
+ });
50519
+ __publicField(this, "statusLabels", {
50520
+ investigating: "Investigating",
50521
+ identified: "Identified",
50522
+ monitoring: "Monitoring",
50523
+ resolved: "Resolved",
50524
+ postmortem: "Postmortem"
50525
+ });
50512
50526
  }
50513
50527
  async connectedCallback() {
50514
50528
  await super.connectedCallback();
@@ -50531,13 +50545,13 @@ var UplStatuspageIncidents = class extends (_a5 = DeesElement, _currentIncidents
50531
50545
  ` : this.currentIncidents.length ? x`
50532
50546
  ${this.currentIncidents.map((incident) => this.renderIncident(incident, true))}
50533
50547
  ` : x`<div class="noIncidentBox">No incidents ongoing.</div>`}
50534
-
50548
+
50535
50549
  <uplinternal-miniheading>Past Incidents</uplinternal-miniheading>
50536
50550
  ${this.loading ? x`
50537
50551
  <div class="loading-skeleton"></div>
50538
50552
  <div class="loading-skeleton"></div>
50539
50553
  ` : this.pastIncidents.length ? this.pastIncidents.slice(0, 5).map((incident) => this.renderIncident(incident, false)) : x`<div class="noIncidentBox">No past incidents in the last ${this.daysToShow} days.</div>`}
50540
-
50554
+
50541
50555
  ${this.pastIncidents.length > 5 && !this.loading ? x`
50542
50556
  <div class="show-more">
50543
50557
  <button class="show-more-button" @click=${this.handleShowMore}>
@@ -50552,73 +50566,53 @@ var UplStatuspageIncidents = class extends (_a5 = DeesElement, _currentIncidents
50552
50566
  const latestUpdate = incident.updates[incident.updates.length - 1];
50553
50567
  const duration = incident.endTime ? this.formatDuration(incident.endTime - incident.startTime) : this.formatDuration(Date.now() - incident.startTime);
50554
50568
  const isActive = isCurrent && latestUpdate?.status !== "resolved";
50569
+ const isExpanded = this.expandedIncidents.has(incident.id);
50555
50570
  return x`
50556
- <div class="incident-card ${this.expandedIncidents.has(incident.id) ? "expanded" : ""} ${isActive ? "active-incident" : ""}">
50557
- <div class="incident-header ${incident.severity}" @click=${() => this.toggleIncident(incident.id)}>
50558
- <div>
50559
- <h3 class="incident-title">${incident.title}</h3>
50560
- <div class="incident-meta">
50561
- <span>Started: ${this.formatDate(incident.startTime)}</span>
50562
- <span>Duration: ${duration}</span>
50563
- ${incident.endTime ? x`
50564
- <span>Ended: ${this.formatDate(incident.endTime)}</span>
50565
- ` : ""}
50566
- </div>
50567
- ${!this.expandedIncidents.has(incident.id) ? x`
50568
- <div style="
50569
- margin-top: ${r(spacing.sm)};
50570
- font-size: 13px;
50571
- color: ${colors.text.secondary};
50572
- display: flex;
50573
- align-items: center;
50574
- gap: ${r(spacing.md)};
50575
- ">
50576
- ${incident.impact ? x`
50577
- <span style="
50578
- overflow: hidden;
50579
- text-overflow: ellipsis;
50580
- white-space: nowrap;
50581
- max-width: 500px;
50582
- ">${incident.impact}</span>
50583
- ` : ""}
50584
- <span style="
50585
- font-size: 12px;
50586
- color: ${cssManager.bdTheme("#9ca3af", "#71717a")};
50587
- ">
50588
- ${incident.updates.length} update${incident.updates.length !== 1 ? "s" : ""}
50589
- </span>
50590
- </div>
50591
- ` : ""}
50592
- </div>
50593
- <div style="display: flex; align-items: center; gap: ${r(spacing.md)};">
50594
- <div class="incident-status ${latestUpdate.status}">
50595
- ${this.getStatusIcon(latestUpdate.status)}
50596
- ${latestUpdate.status.replace(/_/g, " ")}
50571
+ <div class="incident-card ${isExpanded ? "expanded" : ""} ${isActive ? "active-incident" : ""}">
50572
+ <div class="incident-header" @click=${() => this.toggleIncident(incident.id)}>
50573
+ <div class="incident-severity ${incident.severity}"></div>
50574
+
50575
+ <div class="incident-main">
50576
+ <div class="incident-title-row">
50577
+ <h3 class="incident-title">${incident.title}</h3>
50578
+ <span class="incident-status ${latestUpdate.status}">
50579
+ <dees-icon .icon=${this.statusIcons[latestUpdate.status]} .iconSize=${12}></dees-icon>
50580
+ ${this.statusLabels[latestUpdate.status] || latestUpdate.status}
50581
+ </span>
50597
50582
  </div>
50598
- <div class="expand-icon" style="
50599
- font-size: 10px;
50600
- color: ${cssManager.bdTheme("#6b7280", "#a1a1aa")};
50601
- transition: transform 0.2s ease;
50602
- display: flex;
50603
- align-items: center;
50604
- justify-content: center;
50605
- width: 24px;
50606
- height: 24px;
50607
- border-radius: 4px;
50608
- background: ${cssManager.bdTheme("#f3f4f6", "#27272a")};
50609
- ${this.expandedIncidents.has(incident.id) ? "transform: rotate(180deg);" : ""}
50610
- ">
50611
-
50583
+ <div class="incident-meta">
50584
+ <span class="incident-meta-item">
50585
+ <dees-icon .icon=${"lucide:Calendar"} .iconSize=${12}></dees-icon>
50586
+ ${this.formatDate(incident.startTime)}
50587
+ </span>
50588
+ <span class="incident-meta-item">
50589
+ <dees-icon .icon=${"lucide:Clock"} .iconSize=${12}></dees-icon>
50590
+ ${duration}
50591
+ </span>
50592
+ <span class="incident-meta-item">
50593
+ <dees-icon .icon=${"lucide:Server"} .iconSize=${12}></dees-icon>
50594
+ ${incident.affectedServices.length} service${incident.affectedServices.length !== 1 ? "s" : ""}
50595
+ </span>
50596
+ <span class="incident-meta-item">
50597
+ <dees-icon .icon=${"lucide:MessageSquare"} .iconSize=${12}></dees-icon>
50598
+ ${incident.updates.length} update${incident.updates.length !== 1 ? "s" : ""}
50599
+ </span>
50612
50600
  </div>
50613
50601
  </div>
50602
+
50603
+ <button class="incident-expand ${isExpanded ? "expanded" : ""}">
50604
+ <dees-icon .icon=${"lucide:ChevronDown"} .iconSize=${16}></dees-icon>
50605
+ </button>
50614
50606
  </div>
50615
-
50616
- ${this.expandedIncidents.has(incident.id) ? x`
50607
+
50608
+ ${isExpanded ? x`
50617
50609
  <div class="incident-body">
50618
- <div class="incident-impact">
50619
- <strong>Impact:</strong> ${incident.impact}
50620
- </div>
50621
-
50610
+ ${incident.impact ? x`
50611
+ <div class="incident-impact">
50612
+ <strong>Impact:</strong> ${incident.impact}
50613
+ </div>
50614
+ ` : ""}
50615
+
50622
50616
  ${incident.affectedServices.length > 0 ? x`
50623
50617
  <div class="affected-services">
50624
50618
  <div class="affected-services-title">Affected Services:</div>
@@ -50627,7 +50621,7 @@ var UplStatuspageIncidents = class extends (_a5 = DeesElement, _currentIncidents
50627
50621
  `)}
50628
50622
  </div>
50629
50623
  ` : ""}
50630
-
50624
+
50631
50625
  ${incident.updates.length > 0 ? x`
50632
50626
  <div class="incident-updates">
50633
50627
  <h4 class="updates-title">Updates</h4>
@@ -50636,21 +50630,21 @@ var UplStatuspageIncidents = class extends (_a5 = DeesElement, _currentIncidents
50636
50630
  </div>
50637
50631
  </div>
50638
50632
  ` : ""}
50639
-
50633
+
50640
50634
  ${incident.rootCause && isCurrent === false ? x`
50641
50635
  <div class="incident-impact" style="margin-top: 12px;">
50642
50636
  <strong>Root Cause:</strong> ${incident.rootCause}
50643
50637
  </div>
50644
50638
  ` : ""}
50645
-
50639
+
50646
50640
  ${incident.resolution && isCurrent === false ? x`
50647
50641
  <div class="incident-impact" style="margin-top: 12px;">
50648
50642
  <strong>Resolution:</strong> ${incident.resolution}
50649
50643
  </div>
50650
50644
  ` : ""}
50651
-
50645
+
50652
50646
  <div class="incident-actions">
50653
- <button
50647
+ <button
50654
50648
  class="subscribe-button ${this.isSubscribedToIncident(incident.id) ? "subscribed" : ""}"
50655
50649
  @click=${(e10) => {
50656
50650
  e10.stopPropagation();
@@ -50658,15 +50652,10 @@ var UplStatuspageIncidents = class extends (_a5 = DeesElement, _currentIncidents
50658
50652
  }}
50659
50653
  >
50660
50654
  ${this.isSubscribedToIncident(incident.id) ? x`
50661
- <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
50662
- <path d="M11.6667 3.5L5.25 9.91667L2.33334 7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
50663
- </svg>
50655
+ <dees-icon .icon=${"lucide:Check"} .iconSize=${14}></dees-icon>
50664
50656
  Subscribed to updates
50665
50657
  ` : x`
50666
- <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
50667
- <path d="M10.5 5.25V8.75C10.5 9.34674 10.2629 9.91903 9.84099 10.341C9.41903 10.7629 8.84674 11 8.25 11L3.75 11C3.15326 11 2.58097 10.7629 2.15901 10.341C1.73705 9.91903 1.5 9.34674 1.5 8.75V4.25C1.5 3.65326 1.73705 3.08097 2.15901 2.65901C2.58097 2.23705 3.15326 2 3.75 2H7.25" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
50668
- <path d="M9 1.5H12.5M12.5 1.5V5M12.5 1.5L6 8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
50669
- </svg>
50658
+ <dees-icon .icon=${"lucide:Bell"} .iconSize=${14}></dees-icon>
50670
50659
  Subscribe to updates
50671
50660
  `}
50672
50661
  </button>
@@ -50692,25 +50681,13 @@ var UplStatuspageIncidents = class extends (_a5 = DeesElement, _currentIncidents
50692
50681
  <div class="update-message">${update.message}</div>
50693
50682
  ${update.author ? x`
50694
50683
  <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>
50684
+ <dees-icon .icon=${"lucide:User"} .iconSize=${12}></dees-icon>
50699
50685
  ${update.author}
50700
50686
  </div>
50701
50687
  ` : ""}
50702
50688
  </div>
50703
50689
  `;
50704
50690
  }
50705
- getStatusIcon(status) {
50706
- return x`<span class="status-dot" style="
50707
- display: inline-block;
50708
- width: 6px;
50709
- height: 6px;
50710
- border-radius: 50%;
50711
- background: ${status === "resolved" ? colors.status.operational : status === "monitoring" ? colors.status.maintenance : status === "identified" ? colors.status.degraded : colors.status.partial};
50712
- "></span>`;
50713
- }
50714
50691
  formatDate(timestamp2) {
50715
50692
  const date = new Date(timestamp2);
50716
50693
  const now2 = Date.now();
@@ -50911,112 +50888,151 @@ __publicField(UplStatuspageIncidents, "styles", [
50911
50888
  }
50912
50889
  }
50913
50890
 
50891
+ /* New header layout matching admin catalog */
50914
50892
  .incident-header {
50915
- padding: ${r(spacing.lg)} ${r(spacing.xl)};
50916
- border-left: 4px solid;
50917
50893
  display: flex;
50918
- align-items: start;
50919
- justify-content: space-between;
50920
- gap: ${r(spacing.md)};
50894
+ align-items: flex-start;
50895
+ gap: 16px;
50896
+ padding: 16px;
50921
50897
  cursor: pointer;
50922
50898
  transition: background-color ${r(durations.fast)} ${r(easings.default)};
50923
- position: relative;
50924
50899
  }
50925
50900
 
50926
50901
  .incident-header:hover {
50927
50902
  background: ${cssManager.bdTheme("rgba(0, 0, 0, 0.02)", "rgba(255, 255, 255, 0.02)")};
50928
50903
  }
50929
50904
 
50930
- .incident-header.critical {
50931
- border-left-color: ${colors.status.major};
50905
+ /* Internal severity bar (replacing border-left) */
50906
+ .incident-severity {
50907
+ width: 4px;
50908
+ align-self: stretch;
50909
+ border-radius: 2px;
50910
+ flex-shrink: 0;
50932
50911
  }
50933
50912
 
50934
- .incident-header.major {
50935
- border-left-color: ${colors.status.partial};
50936
- }
50913
+ .incident-severity.critical { background: ${colors.status.major}; }
50914
+ .incident-severity.major { background: ${colors.status.partial}; }
50915
+ .incident-severity.minor { background: ${colors.status.degraded}; }
50916
+ .incident-severity.maintenance { background: ${colors.status.maintenance}; }
50937
50917
 
50938
- .incident-header.minor {
50939
- border-left-color: ${colors.status.degraded};
50918
+ .incident-main {
50919
+ flex: 1;
50920
+ min-width: 0;
50940
50921
  }
50941
50922
 
50942
- .incident-header.maintenance {
50943
- border-left-color: ${colors.status.maintenance};
50923
+ .incident-title-row {
50924
+ display: flex;
50925
+ align-items: center;
50926
+ gap: 8px;
50927
+ margin-bottom: 6px;
50928
+ flex-wrap: wrap;
50944
50929
  }
50945
50930
 
50946
50931
  .incident-title {
50947
- font-size: 17px;
50932
+ font-size: 15px;
50948
50933
  font-weight: 600;
50949
50934
  margin: 0;
50950
- line-height: 1.4;
50951
- letter-spacing: -0.01em;
50952
- }
50953
-
50954
- .incident-meta {
50955
- display: flex;
50956
- gap: ${r(spacing.lg)};
50957
- margin-top: ${r(spacing.sm)};
50958
- font-size: 13px;
50959
- color: ${colors.text.secondary};
50960
- flex-wrap: wrap;
50961
- }
50962
-
50963
- .incident-meta span {
50964
- display: flex;
50965
- align-items: center;
50966
- gap: 4px;
50935
+ color: ${colors.text.primary};
50967
50936
  }
50968
50937
 
50938
+ /* Status badge inline with title */
50969
50939
  .incident-status {
50970
50940
  display: inline-flex;
50971
50941
  align-items: center;
50972
50942
  gap: 6px;
50973
- padding: 6px 12px;
50974
- border-radius: ${r(borderRadius.full)};
50943
+ padding: 4px 10px;
50975
50944
  font-size: 11px;
50976
- font-weight: 600;
50945
+ font-weight: 500;
50946
+ border-radius: 9999px;
50977
50947
  text-transform: uppercase;
50978
- letter-spacing: 0.04em;
50979
50948
  flex-shrink: 0;
50980
- transition: all ${r(durations.fast)} ${r(easings.default)};
50949
+ }
50950
+
50951
+ .incident-status dees-icon {
50952
+ --icon-size: 12px;
50981
50953
  }
50982
50954
 
50983
50955
  .incident-status.investigating {
50984
- background: ${cssManager.bdTheme("#fef3c7", "#78350f")};
50985
- color: ${cssManager.bdTheme("#92400e", "#fbbf24")};
50956
+ background: ${cssManager.bdTheme("rgba(249, 115, 22, 0.1)", "rgba(249, 115, 22, 0.2)")};
50957
+ color: ${cssManager.bdTheme("#ea580c", "#fb923c")};
50958
+ --icon-color: ${cssManager.bdTheme("#ea580c", "#fb923c")};
50986
50959
  }
50987
50960
 
50988
50961
  .incident-status.identified {
50989
- background: ${cssManager.bdTheme("#e9d5ff", "#581c87")};
50990
- color: ${cssManager.bdTheme("#6b21a8", "#d8b4fe")};
50962
+ background: ${cssManager.bdTheme("rgba(234, 179, 8, 0.1)", "rgba(234, 179, 8, 0.2)")};
50963
+ color: ${cssManager.bdTheme("#ca8a04", "#facc15")};
50964
+ --icon-color: ${cssManager.bdTheme("#ca8a04", "#facc15")};
50991
50965
  }
50992
50966
 
50993
50967
  .incident-status.monitoring {
50994
- background: ${cssManager.bdTheme("#dbeafe", "#1e3a8a")};
50995
- color: ${cssManager.bdTheme("#1e40af", "#93c5fd")};
50968
+ background: ${cssManager.bdTheme("rgba(59, 130, 246, 0.1)", "rgba(59, 130, 246, 0.2)")};
50969
+ color: ${cssManager.bdTheme("#2563eb", "#60a5fa")};
50970
+ --icon-color: ${cssManager.bdTheme("#2563eb", "#60a5fa")};
50996
50971
  }
50997
50972
 
50998
50973
  .incident-status.resolved {
50999
- background: ${cssManager.bdTheme("#d1fae5", "#064e3b")};
51000
- color: ${cssManager.bdTheme("#047857", "#6ee7b7")};
50974
+ background: ${cssManager.bdTheme("rgba(34, 197, 94, 0.1)", "rgba(34, 197, 94, 0.2)")};
50975
+ color: ${cssManager.bdTheme("#16a34a", "#4ade80")};
50976
+ --icon-color: ${cssManager.bdTheme("#16a34a", "#4ade80")};
51001
50977
  }
51002
50978
 
51003
50979
  .incident-status.postmortem {
51004
- background: ${cssManager.bdTheme("#e5e7eb", "#374151")};
51005
- color: ${cssManager.bdTheme("#4b5563", "#d1d5db")};
50980
+ background: ${cssManager.bdTheme("rgba(168, 85, 247, 0.1)", "rgba(168, 85, 247, 0.2)")};
50981
+ color: ${cssManager.bdTheme("#9333ea", "#c084fc")};
50982
+ --icon-color: ${cssManager.bdTheme("#9333ea", "#c084fc")};
50983
+ }
50984
+
50985
+ .incident-meta {
50986
+ display: flex;
50987
+ align-items: center;
50988
+ gap: 16px;
50989
+ font-size: 12px;
50990
+ color: ${colors.text.secondary};
50991
+ flex-wrap: wrap;
51006
50992
  }
51007
50993
 
51008
- /* Pulse for investigating status */
51009
- .incident-status.investigating .status-dot {
51010
- animation: status-pulse 1.5s ease-in-out infinite;
50994
+ .incident-meta-item {
50995
+ display: flex;
50996
+ align-items: center;
50997
+ gap: 6px;
51011
50998
  }
51012
50999
 
51013
- @keyframes status-pulse {
51014
- 0%, 100% { opacity: 1; transform: scale(1); }
51015
- 50% { opacity: 0.6; transform: scale(1.2); }
51000
+ .incident-meta-item dees-icon {
51001
+ --icon-size: 12px;
51002
+ --icon-color: ${colors.text.muted};
51003
+ }
51004
+
51005
+ .incident-expand {
51006
+ width: 28px;
51007
+ height: 28px;
51008
+ display: flex;
51009
+ align-items: center;
51010
+ justify-content: center;
51011
+ background: transparent;
51012
+ border: none;
51013
+ border-radius: 4px;
51014
+ cursor: pointer;
51015
+ color: ${colors.text.muted};
51016
+ transition: all ${r(durations.fast)} ${r(easings.default)};
51017
+ flex-shrink: 0;
51018
+ }
51019
+
51020
+ .incident-expand:hover {
51021
+ background: ${colors.background.muted};
51022
+ color: ${colors.text.primary};
51023
+ }
51024
+
51025
+ .incident-expand dees-icon {
51026
+ --icon-size: 16px;
51027
+ transition: transform ${r(durations.fast)} ${r(easings.default)};
51028
+ }
51029
+
51030
+ .incident-expand.expanded dees-icon {
51031
+ transform: rotate(180deg);
51016
51032
  }
51017
51033
 
51018
51034
  .incident-body {
51019
- padding: 0 ${r(spacing.xl)} ${r(spacing.xl)} ${r(spacing.xl)};
51035
+ padding: 0 16px 16px 36px;
51020
51036
  animation: slideDown 0.3s ${r(easings.default)};
51021
51037
  }
51022
51038
 
@@ -51102,8 +51118,6 @@ __publicField(UplStatuspageIncidents, "styles", [
51102
51118
  padding-bottom: 0;
51103
51119
  }
51104
51120
 
51105
- /* Vertical connector line from each dot to the next */
51106
- /* Dot: left -22px, width 12px + border 2px*2 = 16px total, center at -14px */
51107
51121
  .update-item:not(:last-child)::after {
51108
51122
  content: '';
51109
51123
  position: absolute;
@@ -51114,7 +51128,6 @@ __publicField(UplStatuspageIncidents, "styles", [
51114
51128
  background: ${colors.border.default};
51115
51129
  }
51116
51130
 
51117
- /* Timeline dot */
51118
51131
  .update-item::before {
51119
51132
  content: '';
51120
51133
  position: absolute;
@@ -51268,39 +51281,23 @@ __publicField(UplStatuspageIncidents, "styles", [
51268
51281
  background: ${cssManager.bdTheme("#dcfce7", "#065f46")};
51269
51282
  }
51270
51283
 
51271
- .collapsed-hint {
51272
- font-size: 12px;
51273
- color: ${colors.text.secondary};
51274
- text-align: center;
51275
- margin-top: ${r(spacing.md)};
51276
- opacity: 0.8;
51277
- }
51278
-
51279
- /* Expand icon animation */
51280
- .expand-icon {
51281
- transition: transform ${r(durations.normal)} ${r(easings.default)};
51282
- }
51283
-
51284
- .expand-icon.rotated {
51285
- transform: rotate(180deg);
51286
- }
51287
-
51288
51284
  @media (max-width: 640px) {
51289
51285
  .container {
51290
51286
  padding: 0 ${r(spacing.md)} ${r(spacing.md)} ${r(spacing.md)};
51291
51287
  }
51292
51288
 
51293
51289
  .incident-header {
51294
- padding: ${r(spacing.md)};
51290
+ padding: 12px;
51295
51291
  }
51296
51292
 
51297
51293
  .incident-body {
51298
- padding: 0 ${r(spacing.md)} ${r(spacing.md)} ${r(spacing.md)};
51294
+ padding: 0 12px 12px 24px;
51299
51295
  }
51300
51296
 
51301
51297
  .incident-meta {
51302
51298
  flex-direction: column;
51303
- gap: ${r(spacing.xs)};
51299
+ align-items: flex-start;
51300
+ gap: 8px;
51304
51301
  }
51305
51302
 
51306
51303
  .timeline {
@@ -51313,7 +51310,6 @@ __publicField(UplStatuspageIncidents, "styles", [
51313
51310
  height: 10px;
51314
51311
  }
51315
51312
 
51316
- /* Mobile dot: left -18px, width 10px + border 2px*2 = 14px, center at -11px */
51317
51313
  .update-item:not(:last-child)::after {
51318
51314
  left: -12px;
51319
51315
  top: 16px;