@evercam/ui 0.0.55-beta.15 → 0.0.55-beta.17

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/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
- import _e from "vue";
1
+ import De from "vue";
2
2
  import * as I from "d3";
3
- import Ge from "moment-timezone";
4
- var Y = /* @__PURE__ */ ((s) => (s.dot = "dot", s.xs = "xs", s.sm = "sm", s.md = "base", s.base = "base", s.lg = "lg", s.xl = "xl", s["2xl"] = "2xl", s["3xl"] = "3xl", s["4xl"] = "4xl", s["5xl"] = "5xl", s["6xl"] = "6xl", s["7xl"] = "7xl", s["8xl"] = "8xl", s["9xl"] = "9xl", s))(Y || {}), ge = /* @__PURE__ */ ((s) => (s.warning = "warning", s.error = "error", s.info = "info", s.success = "success", s.primary = "primary", s.brand = "brand", s.default = "default", s))(ge || {}), kt = /* @__PURE__ */ ((s) => (s.overview = "overview", s.detailed = "detailed", s.detailedBackground = "detailedBackground", s))(kt || {}), He = /* @__PURE__ */ ((s) => (s.bars = "bars", s.dots = "dots", s.lineGraph = "lineGraph", s.barChart = "barGraph", s.milestones = "milestones", s))(He || {}), Pt = /* @__PURE__ */ ((s) => (s.zoom = "zoom", s.autoPan = "autoPan", s.initial = "initial", s))(Pt || {});
5
- const ga = _e.extend({
3
+ import He from "moment-timezone";
4
+ var Y = /* @__PURE__ */ ((s) => (s.dot = "dot", s.xs = "xs", s.sm = "sm", s.md = "base", s.base = "base", s.lg = "lg", s.xl = "xl", s["2xl"] = "2xl", s["3xl"] = "3xl", s["4xl"] = "4xl", s["5xl"] = "5xl", s["6xl"] = "6xl", s["7xl"] = "7xl", s["8xl"] = "8xl", s["9xl"] = "9xl", s))(Y || {}), ge = /* @__PURE__ */ ((s) => (s.warning = "warning", s.error = "error", s.info = "info", s.success = "success", s.primary = "primary", s.brand = "brand", s.default = "default", s))(ge || {}), kt = /* @__PURE__ */ ((s) => (s.overview = "overview", s.detailed = "detailed", s.detailedBackground = "detailedBackground", s))(kt || {}), Le = /* @__PURE__ */ ((s) => (s.bars = "bars", s.dots = "dots", s.lineGraph = "lineGraph", s.barChart = "barGraph", s.milestones = "milestones", s))(Le || {}), Pt = /* @__PURE__ */ ((s) => (s.zoom = "zoom", s.autoPan = "autoPan", s.initial = "initial", s))(Pt || {});
5
+ const ga = De.extend({
6
6
  name: "EBadge",
7
7
  props: {
8
8
  text: {
@@ -94,7 +94,7 @@ var pa = function() {
94
94
  null,
95
95
  null
96
96
  );
97
- const Mr = va.exports, xa = _e.extend({
97
+ const Mr = va.exports, xa = De.extend({
98
98
  name: "EAvatar",
99
99
  components: {
100
100
  Badge: Mr
@@ -3963,7 +3963,7 @@ const _a = {
3963
3963
  "canplay",
3964
3964
  "canplaythrough",
3965
3965
  "statechanged"
3966
- ], Oa = _e.extend({
3966
+ ], Oa = De.extend({
3967
3967
  name: "EIcon",
3968
3968
  props: {
3969
3969
  icon: {
@@ -4011,7 +4011,7 @@ var Fa = function() {
4011
4011
  null,
4012
4012
  null
4013
4013
  );
4014
- const Ba = Na.exports, $a = _e.extend({
4014
+ const Ba = Na.exports, $a = De.extend({
4015
4015
  name: "ESpinner",
4016
4016
  props: {
4017
4017
  dark: {
@@ -4089,7 +4089,7 @@ var Ua = function() {
4089
4089
  null,
4090
4090
  null
4091
4091
  );
4092
- const sn = Ha.exports, Va = _e.extend({
4092
+ const sn = Ha.exports, Va = De.extend({
4093
4093
  props: {
4094
4094
  align: {
4095
4095
  type: String,
@@ -4162,7 +4162,7 @@ var Ka = function() {
4162
4162
  null,
4163
4163
  null
4164
4164
  );
4165
- const Ya = za.exports, ja = _e.extend({
4165
+ const Ya = za.exports, ja = De.extend({
4166
4166
  props: {
4167
4167
  alignSelf: {
4168
4168
  type: String,
@@ -5238,17 +5238,17 @@ function ko(s) {
5238
5238
  case "dvh1":
5239
5239
  case "dvhe": {
5240
5240
  const a = X(t, ["dvcC"])[0], o = a[2] >> 1 & 127, l = a[2] << 5 & 32 | a[3] >> 3 & 31;
5241
- r += "." + De(o) + "." + De(l);
5241
+ r += "." + Ie(o) + "." + Ie(l);
5242
5242
  break;
5243
5243
  }
5244
5244
  case "vp09": {
5245
5245
  const a = X(t, ["vpcC"])[0], o = a[4], l = a[5], c = a[6] >> 4 & 15;
5246
- r += "." + De(o) + "." + De(l) + "." + De(c);
5246
+ r += "." + Ie(o) + "." + Ie(l) + "." + Ie(c);
5247
5247
  break;
5248
5248
  }
5249
5249
  case "av01": {
5250
5250
  const a = X(t, ["av1C"])[0], o = a[1] >>> 5, l = a[1] & 31, c = a[2] >>> 7 ? "H" : "M", u = (a[2] & 64) >> 6, h = (a[2] & 32) >> 5, d = o === 2 && u ? h ? 12 : 10 : u ? 10 : 8, f = (a[2] & 16) >> 4, m = (a[2] & 8) >> 3, g = (a[2] & 4) >> 2, y = a[2] & 3, v = 1, T = 1, x = 1, L = 0;
5251
- r += "." + o + "." + De(l) + c + "." + De(d) + "." + f + "." + m + g + y + "." + De(v) + "." + De(T) + "." + De(x) + "." + L;
5251
+ r += "." + o + "." + Ie(l) + c + "." + Ie(d) + "." + f + "." + m + g + y + "." + Ie(v) + "." + Ie(T) + "." + Ie(x) + "." + L;
5252
5252
  break;
5253
5253
  }
5254
5254
  }
@@ -5266,7 +5266,7 @@ function ui(s, e) {
5266
5266
  function St(s) {
5267
5267
  return ("0" + s.toString(16).toUpperCase()).slice(-2);
5268
5268
  }
5269
- function De(s) {
5269
+ function Ie(s) {
5270
5270
  return (s < 10 ? "0" : "") + s;
5271
5271
  }
5272
5272
  function Po(s, e) {
@@ -6746,7 +6746,7 @@ function Ot(s) {
6746
6746
  }
6747
6747
  return e;
6748
6748
  }
6749
- var Ce = {
6749
+ var _e = {
6750
6750
  audioId3: "org.id3",
6751
6751
  dateRange: "com.apple.quicktime.HLS",
6752
6752
  emsg: "https://aomedia.org/emsg/ID3"
@@ -6846,7 +6846,7 @@ class al {
6846
6846
  if (a)
6847
6847
  for (let o = 0; o < n.length; o++) {
6848
6848
  const l = n[o].type;
6849
- if (l === Ce.emsg && !i || !r)
6849
+ if (l === _e.emsg && !i || !r)
6850
6850
  continue;
6851
6851
  const c = hn(n[o].data);
6852
6852
  if (c) {
@@ -6892,7 +6892,7 @@ class al {
6892
6892
  } = a;
6893
6893
  if (n && (o || l)) {
6894
6894
  let c;
6895
- r === "audio" ? c = (u) => u.type === Ce.audioId3 && l : r === "video" ? c = (u) => u.type === Ce.emsg && o : c = (u) => u.type === Ce.audioId3 && l || u.type === Ce.emsg && o, Fi(n, t, i, c);
6895
+ r === "audio" ? c = (u) => u.type === _e.audioId3 && l : r === "video" ? c = (u) => u.type === _e.emsg && o : c = (u) => u.type === _e.audioId3 && l || u.type === _e.emsg && o, Fi(n, t, i, c);
6896
6896
  }
6897
6897
  }
6898
6898
  onLevelUpdated(e, {
@@ -6951,7 +6951,7 @@ class al {
6951
6951
  const B = $s(c, f, v, {
6952
6952
  key: E,
6953
6953
  data: R
6954
- }, Ce.dateRange);
6954
+ }, _e.dateRange);
6955
6955
  B && (B.id = h, this.id3Track.addCue(B), g[E] = B);
6956
6956
  }
6957
6957
  }
@@ -7466,7 +7466,7 @@ var me = {
7466
7466
  RemoveAlternatePermanently: 3,
7467
7467
  InsertDiscontinuity: 4,
7468
7468
  RetryRequest: 5
7469
- }, Le = {
7469
+ }, Re = {
7470
7470
  None: 0,
7471
7471
  MoveAllAlternatesMatchingHost: 1,
7472
7472
  MoveAllAlternatesMatchingHDCP: 2,
@@ -7517,7 +7517,7 @@ class El {
7517
7517
  if ((i = t.frag) != null && i.gap) {
7518
7518
  t.errorAction = {
7519
7519
  action: me.DoNothing,
7520
- flags: Le.None
7520
+ flags: Re.None
7521
7521
  };
7522
7522
  return;
7523
7523
  }
@@ -7545,7 +7545,7 @@ class El {
7545
7545
  if (a) {
7546
7546
  const c = n.levels[n.loadLevel];
7547
7547
  if (c && (a.type === J.AUDIO_TRACK && c.hasAudioGroup(a.groupId) || a.type === J.SUBTITLE_TRACK && c.hasSubtitleGroup(a.groupId))) {
7548
- t.errorAction = this.getPlaylistRetryOrSwitchAction(t, n.loadLevel), t.errorAction.action = me.SendAlternateToPenaltyBox, t.errorAction.flags = Le.MoveAllAlternatesMatchingHost;
7548
+ t.errorAction = this.getPlaylistRetryOrSwitchAction(t, n.loadLevel), t.errorAction.action = me.SendAlternateToPenaltyBox, t.errorAction.flags = Re.MoveAllAlternatesMatchingHost;
7549
7549
  return;
7550
7550
  }
7551
7551
  }
@@ -7555,7 +7555,7 @@ class El {
7555
7555
  const c = n.levels[n.loadLevel], u = c == null ? void 0 : c.attrs["HDCP-LEVEL"];
7556
7556
  u ? t.errorAction = {
7557
7557
  action: me.SendAlternateToPenaltyBox,
7558
- flags: Le.MoveAllAlternatesMatchingHDCP,
7558
+ flags: Re.MoveAllAlternatesMatchingHDCP,
7559
7559
  hdcpLevel: u
7560
7560
  } : this.keySystemError(t);
7561
7561
  }
@@ -7574,7 +7574,7 @@ class El {
7574
7574
  case D.BUFFER_NUDGE_ON_STALL:
7575
7575
  t.errorAction = {
7576
7576
  action: me.DoNothing,
7577
- flags: Le.None
7577
+ flags: Re.None
7578
7578
  };
7579
7579
  return;
7580
7580
  }
@@ -7589,7 +7589,7 @@ class El {
7589
7589
  if (Yt(r, n, zt(e), e.response))
7590
7590
  return {
7591
7591
  action: me.RetryRequest,
7592
- flags: Le.None,
7592
+ flags: Re.None,
7593
7593
  retryConfig: r,
7594
7594
  retryCount: n
7595
7595
  };
@@ -7604,7 +7604,7 @@ class El {
7604
7604
  if (r && (e.details !== D.FRAG_GAP && r.fragmentError++, Yt(o, l, zt(e), e.response)))
7605
7605
  return {
7606
7606
  action: me.RetryRequest,
7607
- flags: Le.None,
7607
+ flags: Re.None,
7608
7608
  retryConfig: o,
7609
7609
  retryCount: l
7610
7610
  };
@@ -7661,13 +7661,13 @@ class El {
7661
7661
  if (u > -1 && i.loadLevel !== u)
7662
7662
  return e.levelRetry = !0, this.playlistError = 0, {
7663
7663
  action: me.SendAlternateToPenaltyBox,
7664
- flags: Le.None,
7664
+ flags: Re.None,
7665
7665
  nextAutoLevel: u
7666
7666
  };
7667
7667
  }
7668
7668
  return {
7669
7669
  action: me.SendAlternateToPenaltyBox,
7670
- flags: Le.MoveAllAlternatesMatchingHost
7670
+ flags: Re.MoveAllAlternatesMatchingHost
7671
7671
  };
7672
7672
  }
7673
7673
  onErrorOut(e, t) {
@@ -7694,10 +7694,10 @@ class El {
7694
7694
  nextAutoLevel: a
7695
7695
  } = i;
7696
7696
  switch (r) {
7697
- case Le.None:
7697
+ case Re.None:
7698
7698
  this.switchLevel(e, a);
7699
7699
  break;
7700
- case Le.MoveAllAlternatesMatchingHDCP:
7700
+ case Re.MoveAllAlternatesMatchingHDCP:
7701
7701
  n && (t.maxHdcpLevel = Ni[Ni.indexOf(n) - 1], i.resolved = !0), this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);
7702
7702
  break;
7703
7703
  }
@@ -10129,7 +10129,7 @@ class cs {
10129
10129
  pts: this.lastPTS,
10130
10130
  dts: this.lastPTS,
10131
10131
  data: i,
10132
- type: Ce.audioId3,
10132
+ type: _e.audioId3,
10133
10133
  duration: Number.POSITIVE_INFINITY
10134
10134
  }); r < c; ) {
10135
10135
  if (this.canParse(e, r)) {
@@ -10140,7 +10140,7 @@ class cs {
10140
10140
  pts: this.lastPTS,
10141
10141
  dts: this.lastPTS,
10142
10142
  data: i,
10143
- type: Ce.audioId3,
10143
+ type: _e.audioId3,
10144
10144
  duration: Number.POSITIVE_INFINITY
10145
10145
  }), r += i.length, n = r) : r++;
10146
10146
  if (r === c && n !== c) {
@@ -10513,7 +10513,7 @@ class hc {
10513
10513
  len: c.byteLength,
10514
10514
  dts: o,
10515
10515
  pts: o,
10516
- type: Ce.emsg,
10516
+ type: _e.emsg,
10517
10517
  duration: l
10518
10518
  });
10519
10519
  }
@@ -11296,7 +11296,7 @@ class ze {
11296
11296
  return;
11297
11297
  }
11298
11298
  const i = oe({}, t, {
11299
- type: this._videoTrack ? Ce.emsg : Ce.audioId3,
11299
+ type: this._videoTrack ? _e.emsg : _e.audioId3,
11300
11300
  duration: Number.POSITIVE_INFINITY
11301
11301
  });
11302
11302
  e.samples.push(i);
@@ -15596,7 +15596,7 @@ const or = {
15596
15596
  }, jn = function(e) {
15597
15597
  let t = e;
15598
15598
  return or.hasOwnProperty(e) && (t = or[e]), String.fromCharCode(t);
15599
- }, Re = 15, Ue = 100, $c = {
15599
+ }, Ce = 15, Ue = 100, $c = {
15600
15600
  17: 1,
15601
15601
  18: 3,
15602
15602
  21: 5,
@@ -15781,19 +15781,19 @@ class zc {
15781
15781
  }
15782
15782
  class xi {
15783
15783
  constructor(e) {
15784
- this.rows = [], this.currRow = Re - 1, this.nrRollUpRows = null, this.lastOutputScreen = null, this.logger = void 0;
15785
- for (let t = 0; t < Re; t++)
15784
+ this.rows = [], this.currRow = Ce - 1, this.nrRollUpRows = null, this.lastOutputScreen = null, this.logger = void 0;
15785
+ for (let t = 0; t < Ce; t++)
15786
15786
  this.rows.push(new zc(e));
15787
15787
  this.logger = e;
15788
15788
  }
15789
15789
  reset() {
15790
- for (let e = 0; e < Re; e++)
15790
+ for (let e = 0; e < Ce; e++)
15791
15791
  this.rows[e].clear();
15792
- this.currRow = Re - 1;
15792
+ this.currRow = Ce - 1;
15793
15793
  }
15794
15794
  equals(e) {
15795
15795
  let t = !0;
15796
- for (let i = 0; i < Re; i++)
15796
+ for (let i = 0; i < Ce; i++)
15797
15797
  if (!this.rows[i].equals(e.rows[i])) {
15798
15798
  t = !1;
15799
15799
  break;
@@ -15801,12 +15801,12 @@ class xi {
15801
15801
  return t;
15802
15802
  }
15803
15803
  copy(e) {
15804
- for (let t = 0; t < Re; t++)
15804
+ for (let t = 0; t < Ce; t++)
15805
15805
  this.rows[t].copy(e.rows[t]);
15806
15806
  }
15807
15807
  isEmpty() {
15808
15808
  let e = !0;
15809
- for (let t = 0; t < Re; t++)
15809
+ for (let t = 0; t < Ce; t++)
15810
15810
  if (!this.rows[t].isEmpty()) {
15811
15811
  e = !1;
15812
15812
  break;
@@ -15838,7 +15838,7 @@ class xi {
15838
15838
  this.logger.log(2, () => "pacData = " + JSON.stringify(e));
15839
15839
  let t = e.row - 1;
15840
15840
  if (this.nrRollUpRows && t < this.nrRollUpRows - 1 && (t = this.nrRollUpRows - 1), this.nrRollUpRows && this.currRow !== t) {
15841
- for (let o = 0; o < Re; o++)
15841
+ for (let o = 0; o < Ce; o++)
15842
15842
  this.rows[o].clear();
15843
15843
  const n = this.currRow + 1 - this.nrRollUpRows, a = this.lastOutputScreen;
15844
15844
  if (a) {
@@ -15888,7 +15888,7 @@ class xi {
15888
15888
  e = e || !1;
15889
15889
  const t = [];
15890
15890
  let i = "", r = -1;
15891
- for (let n = 0; n < Re; n++) {
15891
+ for (let n = 0; n < Ce; n++) {
15892
15892
  const a = this.rows[n].getTextString();
15893
15893
  a && (r = n + 1, e ? t.push("Row " + r + ": '" + a + "'") : t.push(a.trim()));
15894
15894
  }
@@ -15901,10 +15901,10 @@ class xi {
15901
15901
  }
15902
15902
  class lr {
15903
15903
  constructor(e, t, i) {
15904
- this.chNr = void 0, this.outputFilter = void 0, this.mode = void 0, this.verbose = void 0, this.displayedMemory = void 0, this.nonDisplayedMemory = void 0, this.lastOutputScreen = void 0, this.currRollUpRow = void 0, this.writeScreen = void 0, this.cueStartTime = void 0, this.logger = void 0, this.chNr = e, this.outputFilter = t, this.mode = null, this.verbose = 0, this.displayedMemory = new xi(i), this.nonDisplayedMemory = new xi(i), this.lastOutputScreen = new xi(i), this.currRollUpRow = this.displayedMemory.rows[Re - 1], this.writeScreen = this.displayedMemory, this.mode = null, this.cueStartTime = null, this.logger = i;
15904
+ this.chNr = void 0, this.outputFilter = void 0, this.mode = void 0, this.verbose = void 0, this.displayedMemory = void 0, this.nonDisplayedMemory = void 0, this.lastOutputScreen = void 0, this.currRollUpRow = void 0, this.writeScreen = void 0, this.cueStartTime = void 0, this.logger = void 0, this.chNr = e, this.outputFilter = t, this.mode = null, this.verbose = 0, this.displayedMemory = new xi(i), this.nonDisplayedMemory = new xi(i), this.lastOutputScreen = new xi(i), this.currRollUpRow = this.displayedMemory.rows[Ce - 1], this.writeScreen = this.displayedMemory, this.mode = null, this.cueStartTime = null, this.logger = i;
15905
15905
  }
15906
15906
  reset() {
15907
- this.mode = null, this.displayedMemory.reset(), this.nonDisplayedMemory.reset(), this.lastOutputScreen.reset(), this.outputFilter.reset(), this.currRollUpRow = this.displayedMemory.rows[Re - 1], this.writeScreen = this.displayedMemory, this.mode = null, this.cueStartTime = null;
15907
+ this.mode = null, this.displayedMemory.reset(), this.nonDisplayedMemory.reset(), this.lastOutputScreen.reset(), this.outputFilter.reset(), this.currRollUpRow = this.displayedMemory.rows[Ce - 1], this.writeScreen = this.displayedMemory, this.mode = null, this.cueStartTime = null;
15908
15908
  }
15909
15909
  getHandler() {
15910
15910
  return this.outputFilter;
@@ -18363,7 +18363,7 @@ class zu {
18363
18363
  const {
18364
18364
  errorAction: i
18365
18365
  } = t;
18366
- if ((i == null ? void 0 : i.action) === me.SendAlternateToPenaltyBox && i.flags === Le.MoveAllAlternatesMatchingHost) {
18366
+ if ((i == null ? void 0 : i.action) === me.SendAlternateToPenaltyBox && i.flags === Re.MoveAllAlternatesMatchingHost) {
18367
18367
  const r = this.levels;
18368
18368
  let n = this.pathwayPriority, a = this.pathwayId;
18369
18369
  if (t.context) {
@@ -21165,7 +21165,7 @@ const Ci = new Intl.NumberFormat(void 0, {
21165
21165
  return i === 0 ? `${t}:${Ci.format(e)}` : `${i}:${Ci.format(
21166
21166
  t
21167
21167
  )}:${Ci.format(e)}`;
21168
- }, Th = _e.extend({
21168
+ }, Th = De.extend({
21169
21169
  name: "VideoPlayer",
21170
21170
  components: {
21171
21171
  ESpinner: sn
@@ -21580,7 +21580,7 @@ const Lh = {
21580
21580
  },
21581
21581
  {
21582
21582
  precision: K._2_year,
21583
- interval: I.utcYear.every(2),
21583
+ interval: I.utcYear.every(1),
21584
21584
  format: "%Y"
21585
21585
  },
21586
21586
  {
@@ -21708,7 +21708,7 @@ const Lh = {
21708
21708
  {
21709
21709
  precision: K._2_year,
21710
21710
  interval: I.utcMonth.every(6),
21711
- format: "%Y"
21711
+ format: "Q%q"
21712
21712
  },
21713
21713
  {
21714
21714
  precision: K._5_years,
@@ -21925,7 +21925,7 @@ const Lh = {
21925
21925
  milestoneDotLine: "e-tl-milestone-dot-line",
21926
21926
  milestoneDotDot: "e-tl-milestone-dot-dot",
21927
21927
  milestoneDotHovered: "e-tl-milestone-dot--hovered"
21928
- }, Ch = _e.extend({
21928
+ }, Ch = De.extend({
21929
21929
  name: "ETimeline",
21930
21930
  directives: {
21931
21931
  resizeObserver: vs
@@ -22156,12 +22156,12 @@ const wh = Ih.exports, G = {
22156
22156
  lineGraphDot: "line-graph-dot",
22157
22157
  curtain: "curtain",
22158
22158
  forbiddenInterval: "forbidden-interval"
22159
- }, Ie = {
22159
+ }, Ge = {
22160
22160
  transparencyGradient: "transparency-gradient",
22161
22161
  transparencyGradientLight: "transparency-gradient-light",
22162
22162
  loadingGradient: "loading-gradient",
22163
22163
  stripedPattern: "stripedPattern"
22164
- }, kh = _e.extend({
22164
+ }, kh = De.extend({
22165
22165
  name: "ETimeline",
22166
22166
  directives: {
22167
22167
  resizeObserver: vs
@@ -22238,6 +22238,10 @@ const wh = Ih.exports, G = {
22238
22238
  type: Number,
22239
22239
  default: 60
22240
22240
  },
22241
+ chartMinLabelHeight: {
22242
+ type: Number,
22243
+ default: 18
22244
+ },
22241
22245
  minZoom: {
22242
22246
  type: Number,
22243
22247
  default: 1e-4
@@ -22254,14 +22258,6 @@ const wh = Ih.exports, G = {
22254
22258
  type: String,
22255
22259
  default: void 0
22256
22260
  },
22257
- minVisibleDate: {
22258
- type: String,
22259
- default: void 0
22260
- },
22261
- maxVisibleDate: {
22262
- type: String,
22263
- default: void 0
22264
- },
22265
22261
  cursorTimestamp: {
22266
22262
  type: [String, void 0],
22267
22263
  default: void 0
@@ -22298,7 +22294,7 @@ const wh = Ih.exports, G = {
22298
22294
  type: Boolean,
22299
22295
  default: !1
22300
22296
  },
22301
- fitMarkersTransitionDuration: {
22297
+ zoomToIntervalTransitionDuration: {
22302
22298
  type: Number,
22303
22299
  default: 800
22304
22300
  },
@@ -22313,6 +22309,22 @@ const wh = Ih.exports, G = {
22313
22309
  milestonesFirst: {
22314
22310
  type: Boolean,
22315
22311
  default: !0
22312
+ },
22313
+ forbiddenIntervals: {
22314
+ type: Array,
22315
+ default: () => []
22316
+ },
22317
+ forbiddenIntervalColor: {
22318
+ type: String,
22319
+ default: "#ddd"
22320
+ },
22321
+ focusedInterval: {
22322
+ type: [Object, void 0],
22323
+ default: void 0
22324
+ },
22325
+ locked: {
22326
+ type: Boolean,
22327
+ default: !1
22316
22328
  }
22317
22329
  },
22318
22330
  data() {
@@ -22363,13 +22375,21 @@ const wh = Ih.exports, G = {
22363
22375
  initialMarkerDragMouseOffset: 0,
22364
22376
  selectedMilestoneId: null,
22365
22377
  isInitialized: !1,
22366
- lastValidTransform: I.zoomIdentity
22378
+ lastValidTransform: I.zoomIdentity,
22379
+ lastPanTransform: I.zoomIdentity,
22380
+ isZoomingInterval: !1
22367
22381
  };
22368
22382
  },
22369
22383
  computed: {
22370
22384
  combinedBarsHeight() {
22371
22385
  return Object.values(this.barGroups).reduce(
22372
- (s, e) => s + (e.height || this.barChartHeight),
22386
+ (s, e) => s + (this.getBarGroupHeight(e) || this.barChartHeight),
22387
+ 0
22388
+ );
22389
+ },
22390
+ combinedBottomBarsHeight() {
22391
+ return Object.values(this.barGroups).reduce(
22392
+ (s, e) => s + (e.bottom ? this.getBarGroupHeight(e) : 0),
22373
22393
  0
22374
22394
  );
22375
22395
  },
@@ -22380,7 +22400,7 @@ const wh = Ih.exports, G = {
22380
22400
  );
22381
22401
  },
22382
22402
  milestonesYOffset() {
22383
- return this.milestonesFirst ? 0 : this.combinedBarsHeight + (this.hasChart ? this.chartHeight : 0);
22403
+ return this.milestonesFirst ? 0 : this.combinedBarsHeight - this.combinedBottomBarsHeight + (this.hasChart ? this.chartHeight : 0);
22384
22404
  },
22385
22405
  chartsYOffset() {
22386
22406
  return this.hasMilestones && this.milestonesFirst ? this.combinedMilestonesHeight : 0;
@@ -22408,7 +22428,7 @@ const wh = Ih.exports, G = {
22408
22428
  },
22409
22429
  lineGraphGroups() {
22410
22430
  return Object.entries(this.filteredEventsGroups).reduce(
22411
- (s, [e, t]) => t.chartType === He.lineGraph ? { ...s, [e]: t } : s,
22431
+ (s, [e, t]) => t.chartType === Le.lineGraph ? { ...s, [e]: t } : s,
22412
22432
  {}
22413
22433
  );
22414
22434
  },
@@ -22420,7 +22440,7 @@ const wh = Ih.exports, G = {
22420
22440
  },
22421
22441
  barGroups() {
22422
22442
  return Object.entries(this.filteredEventsGroups).reduce(
22423
- (s, [e, t]) => !t.chartType || [He.bars, He.dots].includes(
22443
+ (s, [e, t]) => !t.chartType || [Le.bars, Le.dots].includes(
22424
22444
  t.chartType
22425
22445
  ) ? { ...s, [e]: t } : s,
22426
22446
  {}
@@ -22428,13 +22448,13 @@ const wh = Ih.exports, G = {
22428
22448
  },
22429
22449
  barChartGroups() {
22430
22450
  return Object.entries(this.filteredEventsGroups).reduce(
22431
- (s, [e, t]) => t.chartType === He.barChart ? { ...s, [e]: t } : s,
22451
+ (s, [e, t]) => t.chartType === Le.barChart ? { ...s, [e]: t } : s,
22432
22452
  {}
22433
22453
  );
22434
22454
  },
22435
22455
  milestonesGroups() {
22436
22456
  return Object.entries(this.filteredEventsGroups).reduce(
22437
- (s, [e, t]) => t.chartType === He.milestones ? { ...s, [e]: t } : s,
22457
+ (s, [e, t]) => t.chartType === Le.milestones ? { ...s, [e]: t } : s,
22438
22458
  {}
22439
22459
  );
22440
22460
  },
@@ -22454,10 +22474,7 @@ const wh = Ih.exports, G = {
22454
22474
  return this.axisHeight * s;
22455
22475
  },
22456
22476
  timelineHeight() {
22457
- const s = Object.values(
22458
- this.milestonesGroups
22459
- ).reduce((r, n) => r + (n.height || this.barChartHeight), 0), e = Object.keys(this.barGroups).length, t = this.barChartHeight * e, i = this.hasChart ? this.chartHeight : 0;
22460
- return this.combinedXAxesHeight + i + t + s;
22477
+ return (this.hasChart ? this.chartHeight : 0) + this.combinedXAxesHeight + this.combinedBarsHeight + this.combinedMilestonesHeight;
22461
22478
  },
22462
22479
  filteredEventsGroups() {
22463
22480
  const s = Object.entries(this.eventsGroups).filter(
@@ -22546,12 +22563,6 @@ const wh = Ih.exports, G = {
22546
22563
  startDate() {
22547
22564
  this.zoomToStartAndEndDates();
22548
22565
  },
22549
- minDate() {
22550
- this.updateForbiddenIntervals();
22551
- },
22552
- maxDate() {
22553
- this.updateForbiddenIntervals();
22554
- },
22555
22566
  endDate() {
22556
22567
  this.zoomToStartAndEndDates();
22557
22568
  },
@@ -22567,10 +22578,16 @@ const wh = Ih.exports, G = {
22567
22578
  this.isHoveringTimeline = !1;
22568
22579
  },
22569
22580
  selectedDate(s) {
22570
- s && this.panToTimestamp(s);
22581
+ s && !this.locked && this.panToTimestamp(s);
22571
22582
  },
22572
22583
  groupsVisibility() {
22573
22584
  this.updateAndRedrawTimeline();
22585
+ },
22586
+ forbiddenIntervals() {
22587
+ this.updateForbiddenIntervals(!0);
22588
+ },
22589
+ focusedInterval(s) {
22590
+ s && (s != null && s.startDate) && (s != null && s.endDate) && this.zoomToTargetInterval(s.startDate, s.endDate);
22574
22591
  }
22575
22592
  },
22576
22593
  created() {
@@ -22593,7 +22610,7 @@ const wh = Ih.exports, G = {
22593
22610
  );
22594
22611
  return;
22595
22612
  }
22596
- this.initOrUpdateSvg(), this.initDefs(), this.initUtcOffset(), this.initTimeScale(s, e), this.initXAxes(), this.initYScale(), this.initZoomBehavior(), this.initForbiddenIntervals(), this.drawEventsGroups(), this.curtains && (this.initCurtains(), this.emitCurtainChange()), this.initSelectedTimestampCursor(), this.updateMarkers(), this.registerEventsListeners(), this.emitVisibleInterval(Pt.initial), this.selectedDate && this.panOnDateClick && this.panToTimestamp(this.selectedDate), this.isInitialized = !0;
22613
+ this.initOrUpdateSvg(), this.initDefs(), this.initUtcOffset(), this.initTimeScale(s, e), this.initXAxes(), this.initYScale(), this.initZoomBehavior(), this.drawEventsGroups(), this.curtains && (this.initCurtains(), this.emitCurtainChange()), this.initSelectedTimestampCursor(), this.updateMarkers(), this.registerEventsListeners(), this.emitVisibleInterval(Pt.initial), this.selectedDate && this.panOnDateClick && this.panToTimestamp(this.selectedDate), this.isInitialized = !0;
22597
22614
  },
22598
22615
  initRefs() {
22599
22616
  this.tooltip = this.$refs.tooltip, this.cursor = this.$refs.cursor, this.timeline = this.$refs.timelineContainer, this.selectedTimestampCursor = this.$refs.selectedTimestamp, this.wrapperDiv = this.$refs.wrapperDiv;
@@ -22605,17 +22622,17 @@ const wh = Ih.exports, G = {
22605
22622
  const s = this.svg.append("defs");
22606
22623
  Object.entries(this.filteredEventsGroups).forEach(
22607
22624
  ([t, i]) => {
22608
- const { color: r, chartType: n } = i, a = s.append("linearGradient").attr("id", `${Ie.loadingGradient}-${t}`).attr("x1", "0%").attr("y1", "0%").attr("x2", "100%").attr("y2", "0%");
22609
- a.append("stop").attr("offset", "0%").attr("stop-color", r).attr("stop-opacity", "0"), a.append("stop").attr("offset", "50%").attr("stop-color", r).attr("stop-opacity", "0.6"), a.append("stop").attr("offset", "100%").attr("stop-color", r).attr("stop-opacity", "0"), [He.lineGraph, He.barChart].includes(
22625
+ const { color: r, chartType: n } = i, a = s.append("linearGradient").attr("id", `${Ge.loadingGradient}-${t}`).attr("x1", "0%").attr("y1", "0%").attr("x2", "100%").attr("y2", "0%");
22626
+ a.append("stop").attr("offset", "0%").attr("stop-color", r).attr("stop-opacity", "0"), a.append("stop").attr("offset", "50%").attr("stop-color", r).attr("stop-opacity", "0.6"), a.append("stop").attr("offset", "100%").attr("stop-color", r).attr("stop-opacity", "0"), [Le.lineGraph, Le.barChart].includes(
22610
22627
  n
22611
22628
  ) && [
22612
22629
  {
22613
- id: Ie.transparencyGradientLight,
22630
+ id: Ge.transparencyGradientLight,
22614
22631
  stop: 38,
22615
22632
  opacity: 0.3
22616
22633
  },
22617
22634
  {
22618
- id: Ie.transparencyGradient,
22635
+ id: Ge.transparencyGradient,
22619
22636
  stop: 130,
22620
22637
  opacity: 0.4
22621
22638
  }
@@ -22624,11 +22641,11 @@ const wh = Ih.exports, G = {
22624
22641
  h.append("stop").attr("offset", "0%").style("stop-color", r).style("stop-opacity", u), h.append("stop").attr("offset", `${c}%`).style("stop-color", r).style("stop-opacity", 0);
22625
22642
  });
22626
22643
  }
22627
- ), s.append("pattern").attr("id", Ie.stripedPattern).attr("width", 6).attr("height", 4).attr("patternUnits", "userSpaceOnUse").attr("patternTransform", "rotate(45)").append("rect").attr("width", 2).attr("height", 6).attr("transform", "translate(0,0)").attr("fill", "#ddd");
22644
+ ), s.append("pattern").attr("id", Ge.stripedPattern).attr("width", 5).attr("height", 3).attr("patternUnits", "userSpaceOnUse").attr("patternTransform", "rotate(45)").append("rect").attr("width", 1).attr("height", 4).attr("transform", "translate(0,0)").attr("fill", this.forbiddenIntervalColor);
22628
22645
  },
22629
22646
  initUtcOffset() {
22630
22647
  const s = this.startDate || this.oldestEvent.timestamp || this.oldestEvent.startDate;
22631
- this.utcOffset = Ge.parseZone(s).utcOffset();
22648
+ this.utcOffset = He.parseZone(s).utcOffset();
22632
22649
  },
22633
22650
  initTimeScale(s, e) {
22634
22651
  const t = s || this.startDate || this.oldestEvent.timestamp || this.oldestEvent.startDate, i = e || this.endDate || this.latestEvent.timestamp || this.latestEvent.endDate;
@@ -22666,27 +22683,33 @@ const wh = Ih.exports, G = {
22666
22683
  },
22667
22684
  zoomToFitMarkers() {
22668
22685
  const s = this.markers.map(
22669
- (u) => new Date(u.timestamp).getTime()
22686
+ (i) => new Date(i.timestamp).getTime()
22670
22687
  );
22671
22688
  if (s.length < 2)
22672
22689
  return;
22673
- const e = Math.min(...s), t = Math.max(...s), i = this.initialTimeScale.domain().map((u) => u.getTime()), r = i[1] - i[0], n = t - e, a = 0.1 * n, o = n + 2 * a;
22674
- let l = r / o;
22675
- const c = this.zoomBehavior.scaleExtent();
22676
- l = Math.min(
22677
- Math.max(l, c[0]),
22678
- c[1]
22679
- ), this.svg.transition().duration(this.fitMarkersTransitionDuration / 2).call(this.zoomBehavior.scaleTo, l).on(
22680
- "end",
22681
- () => this.translateMarkersIntoView(e, t, l)
22682
- );
22690
+ const e = Math.min(...s), t = Math.max(...s);
22691
+ this.zoomToTargetInterval(e, t);
22683
22692
  },
22684
- translateMarkersIntoView(s, e, t) {
22693
+ zoomToTargetInterval(s, e) {
22694
+ if (!s || !e)
22695
+ return;
22696
+ this.isZoomingInterval = !0;
22697
+ const t = new Date(s).getTime(), i = new Date(e).getTime(), r = this.initialTimeScale.domain().map((h) => h.getTime()), n = r[1] - r[0], a = i - t, o = 0.1 * a, l = a + 2 * o;
22698
+ let c = n / l;
22699
+ const u = this.zoomBehavior.scaleExtent();
22700
+ c = Math.min(
22701
+ Math.max(c, u[0]),
22702
+ u[1]
22703
+ ), this.svg.transition().duration(this.zoomToIntervalTransitionDuration / 2).call(this.zoomBehavior.scaleTo, c).on("end", () => this.translateIntervalIntoView(t, i, c));
22704
+ },
22705
+ translateIntervalIntoView(s, e, t) {
22685
22706
  const i = this.timeScale(new Date(s)), r = this.timeScale(new Date(e)), n = (i + r) / 2, o = this.svg.node().getBoundingClientRect().width / 2 - n, l = I.zoomTransform(this.svg.node());
22686
- this.svg.transition().duration(this.fitMarkersTransitionDuration / 2).call(
22707
+ this.svg.transition().duration(this.zoomToIntervalTransitionDuration / 2).call(
22687
22708
  this.zoomBehavior.transform,
22688
22709
  I.zoomIdentity.translate(l.x + o, l.y).scale(t)
22689
- );
22710
+ ).on("end", () => {
22711
+ this.isZoomingInterval = !1;
22712
+ });
22690
22713
  },
22691
22714
  initSelectedTimestampCursor() {
22692
22715
  this.svg.append("line").attr("class", G.selectedTimestampCursor).style("stroke", "red").style("stroke-width", "1px").style("opacity", 0).attr("x1", 0).attr("x2", 0).attr("y1", 0), this.repositionSelectedTimestampCursor();
@@ -22857,12 +22880,15 @@ const wh = Ih.exports, G = {
22857
22880
  );
22858
22881
  },
22859
22882
  isZoomAllowed(s) {
22860
- const e = this.initialTimeScale.copy(), t = s.transform.rescaleX(e).domain(), i = this.minVisibleDate ? this.tzStringToDate(this.minVisibleDate) : void 0, r = this.maxVisibleDate ? this.tzStringToDate(this.maxVisibleDate) : void 0;
22883
+ if (this.isZoomingInterval)
22884
+ return !0;
22885
+ const e = this.initialTimeScale.copy(), t = s.transform.rescaleX(e).domain(), i = this.minDate ? this.tzStringToDate(this.minDate) : void 0, r = this.maxDate ? this.tzStringToDate(this.maxDate) : void 0;
22861
22886
  return (!i || t[0] >= i) && (!r || t[1] <= r);
22862
22887
  },
22863
22888
  handleZoom(s) {
22889
+ var i;
22864
22890
  if (!this.isZoomAllowed(s)) {
22865
- s.sourceEvent.preventDefault(), this.svg.call(this.zoomBehavior.transform, this.lastValidTransform);
22891
+ (i = s == null ? void 0 : s.sourceEvent) == null || i.preventDefault(), this.svg.call(this.zoomBehavior.transform, this.lastValidTransform);
22866
22892
  return;
22867
22893
  }
22868
22894
  this.lastValidTransform = s.transform;
@@ -22873,16 +22899,27 @@ const wh = Ih.exports, G = {
22873
22899
  scale: t,
22874
22900
  translation: s.transform.x - this.lastTransform.x
22875
22901
  }, this.lastTransform = { ...s.transform };
22876
- for (const i in this.xAxes)
22877
- this.rescaleAxis(i, e), this.translateTicksText(i);
22902
+ for (const r in this.xAxes)
22903
+ this.rescaleAxis(r, e), this.translateTicksText(r);
22878
22904
  this.updateEventsBars(), this.updateLineGraphs(), this.updateBarChart(), this.updateLineGraphHoverZones(), this.updateMilestonesPositions(), this.repositionSelectedTimestampCursor(), this.updateForbiddenIntervals(), this.updateMarkers(), this.emitVisibleInterval(Pt.zoom), this.curtains && this.emitCurtainChange();
22879
22905
  },
22880
22906
  panToTimestamp(s) {
22881
- const e = this.tzStringToDate(s), t = this.timeScale(e), i = I.zoomTransform(this.svg.node()), r = i.x - t + this.timeline.offsetWidth / 2;
22882
- this.svg.transition().duration(this.panTransitionDuration).call(
22907
+ const e = this.tzStringToDate(s), t = this.timeScale(e), i = I.zoomTransform(this.svg.node()), r = i.x - t + this.timeline.offsetWidth / 2, n = this.timeScale.invert(
22908
+ -r / i.k
22909
+ ), a = this.timeScale.invert(
22910
+ (this.timeline.offsetWidth - r) / i.k
22911
+ ), o = this.minDate ? this.tzStringToDate(this.minDate) : void 0, l = this.maxDate ? this.tzStringToDate(this.maxDate) : void 0;
22912
+ if (o && n < o || l && a > l) {
22913
+ console.log("Pan operation would exceed bounds. Operation cancelled.");
22914
+ return;
22915
+ }
22916
+ const u = i.k / this.lastPanTransform.k < 10 ? this.panTransitionDuration : 0;
22917
+ this.lastPanTransform = { ...i }, this.svg.transition().duration(u).call(
22883
22918
  this.zoomBehavior.transform,
22884
22919
  I.zoomIdentity.translate(r, 0).scale(i.k)
22885
- ), this.emitVisibleInterval(Pt.autoPan);
22920
+ ).on("end", () => {
22921
+ this.emitVisibleInterval(Pt.autoPan);
22922
+ });
22886
22923
  },
22887
22924
  emitCurtainChange() {
22888
22925
  const { startDate: s, endDate: e } = this.calculateDateRangeFromCurtains();
@@ -23004,7 +23041,7 @@ const wh = Ih.exports, G = {
23004
23041
  return parseInt(e.left);
23005
23042
  },
23006
23043
  isTimestampAllowedForMarker(s, e) {
23007
- return (this.minDate ? s >= this.tzStringToDate(this.minDate) : !0) && (this.maxDate ? s <= this.tzStringToDate(this.maxDate) : !0) && (e.minDate ? s >= this.tzStringToDate(e.minDate) : !0) && (e.maxDate ? s <= this.tzStringToDate(e.maxDate) : !0);
23044
+ return (e.minDate ? s >= this.tzStringToDate(e.minDate) : !0) && (e.maxDate ? s <= this.tzStringToDate(e.maxDate) : !0);
23008
23045
  },
23009
23046
  handleMarkerDrag({
23010
23047
  marker: s,
@@ -23081,25 +23118,17 @@ const wh = Ih.exports, G = {
23081
23118
  s - this.rightCurtainWidth + this.curtainHandleWidth
23082
23119
  ).attr("y", -this.curtainHandleWidth).attr("width", this.rightCurtainWidth + this.curtainHandleWidth * 2).attr("height", e + this.curtainHandleWidth * 2);
23083
23120
  },
23084
- initForbiddenIntervals() {
23085
- this.minDate && this.svg.append("rect").attr(
23086
- "class",
23087
- `${G.forbiddenInterval} ${G.forbiddenInterval}--min`
23088
- ), this.maxDate && this.svg.append("rect").attr(
23089
- "class",
23090
- `${G.forbiddenInterval} ${G.forbiddenInterval}--max`
23091
- ), this.updateForbiddenIntervals();
23092
- },
23093
- updateForbiddenIntervals() {
23094
- const s = this.minDate ? this.tzStringToDate(this.minDate).getTime() : null, e = this.maxDate ? this.tzStringToDate(this.maxDate).getTime() : null;
23095
- if (s) {
23096
- const t = this.timeScale(s);
23097
- this.svg.select(`.${G.forbiddenInterval}--min`).attr("x", 0).attr("y", 0).attr("width", t > 0 ? t : 0).attr("height", this.timelineHeight).attr("fill", `url(#${Ie.stripedPattern})`);
23098
- }
23099
- if (e) {
23100
- const t = this.timeline.offsetWidth - this.timeScale(e), i = this.timeScale(e);
23101
- this.svg.select(`.${G.forbiddenInterval}--max`).attr("x", i > 0 ? i : 0).attr("y", 0).attr("width", t > 0 ? t : 0).attr("height", this.timelineHeight).attr("fill", `url(#${Ie.stripedPattern})`);
23102
- }
23121
+ updateForbiddenIntervals(s = !1) {
23122
+ s && this.svg.selectAll(`.${G.forbiddenInterval}`).remove();
23123
+ const e = this.timeScale.domain();
23124
+ this.forbiddenIntervals.forEach((t, i) => {
23125
+ const r = t.startDate === -1 / 0 ? e[0] : this.tzStringToDate(t.startDate), n = t.endDate === 1 / 0 ? e[1] : this.tzStringToDate(t.endDate), a = this.timeScale(r), o = this.timeScale(n), l = Math.max(o - a, 0);
23126
+ let c = this.svg.select(`.${G.forbiddenInterval}-${i}`);
23127
+ c.empty() && (c = this.svg.append("rect").attr(
23128
+ "class",
23129
+ `${G.forbiddenInterval} ${G.forbiddenInterval}-${i}`
23130
+ ).attr("fill", `url(#${Ge.stripedPattern})`)), c.attr("x", a).attr("y", 0).attr("width", l).attr("height", this.timelineHeight);
23131
+ });
23103
23132
  },
23104
23133
  drawEventsGroups() {
23105
23134
  this.svg.selectAll(`g.${G.eventGroup}`).remove(), this.svg.selectAll(`.${G.barChartGroup}`).remove(), this.svg.selectAll(`.${G.lineGraphGroup}`).remove(), this.svg.selectAll(`.${G.lineGraphGroupLabel}`).remove(), this.svg.selectAll(`.${G.loadingIndicator}`).remove(), this.drawLineGraphEventsGroups(), this.drawBarEventsGroups(), this.drawBarChartEventsGroups(), this.drawMilestonesPlaceholder();
@@ -23124,18 +23153,22 @@ const wh = Ih.exports, G = {
23124
23153
  });
23125
23154
  }), Object.entries(this.lineGraphGroups).forEach(
23126
23155
  ([t, i], r) => {
23127
- const { color: n, isLoading: a, label: o } = i, l = this.chartHeight - this.barChartHeight * (r + 1), c = s + this.chartHeight - this.barChartHeight, u = this.svg.append("g").classed(G.lineGraphGroupLabel, !0).attr("transform", `translate(0,${s})`).on("mouseover", () => this.handleLabelMouseOver(t)).on("mouseleave", () => this.handleLabelMouseLeave(t));
23156
+ const { color: n, isLoading: a, label: o } = i, l = Math.max(
23157
+ this.chartMinLabelHeight,
23158
+ this.barChartHeight
23159
+ ), c = this.chartHeight - l * (r + 1), u = s + this.chartHeight - l, h = this.svg.append("g").classed(G.lineGraphGroupLabel, !0).attr("transform", `translate(0,${s})`).on("mouseover", () => this.handleLabelMouseOver(t)).on("mouseleave", () => this.handleLabelMouseLeave(t));
23128
23160
  this.drawProgressIndicator({
23129
23161
  type: t,
23130
23162
  color: n,
23131
23163
  isLoading: a,
23132
- yPosition: c
23164
+ yPosition: u
23133
23165
  }), this.drawTextLabel({
23134
23166
  color: n,
23135
23167
  label: o,
23136
23168
  type: t,
23137
- yPosition: l,
23138
- gElement: u
23169
+ height: l,
23170
+ yPosition: c,
23171
+ gElement: h
23139
23172
  });
23140
23173
  }
23141
23174
  );
@@ -23147,7 +23180,7 @@ const wh = Ih.exports, G = {
23147
23180
  type: i
23148
23181
  }) {
23149
23182
  const r = I.area().x((a) => this.timeScale(this.tzStringToDate(a.timestamp))).y0(this.timelineHeight).y1((a) => this.yScale(a.count)).curve(I.curveMonotoneX), n = `clip-${i}`;
23150
- e.append("defs").append("clipPath").attr("id", n).append("rect").attr("width", this.timeline.offsetWidth).attr("height", this.chartHeight), e.append("path").datum(s).classed(`${G.lineGraphPath}-${i}`, !0).attr("fill", `url(#${Ie.transparencyGradientLight}-${i})`).attr("stroke", t).attr("stroke-linejoin", "round").attr("stroke-linecap", "round").attr("stroke-width", 1).attr("d", (a) => r(a)).attr("clip-path", `url(#${n})`);
23183
+ e.append("defs").append("clipPath").attr("id", n).append("rect").attr("width", this.timeline.offsetWidth).attr("height", this.chartHeight), e.append("path").datum(s).classed(`${G.lineGraphPath}-${i}`, !0).attr("fill", `url(#${Ge.transparencyGradientLight}-${i})`).attr("stroke", t).attr("stroke-linejoin", "round").attr("stroke-linecap", "round").attr("stroke-width", 1).attr("d", (a) => r(a)).attr("clip-path", `url(#${n})`);
23151
23184
  },
23152
23185
  drawLineGraphHoverZones({
23153
23186
  events: s,
@@ -23182,54 +23215,69 @@ const wh = Ih.exports, G = {
23182
23215
  drawSingleBarEventsGroup({
23183
23216
  type: s,
23184
23217
  eventsGroup: e,
23185
- index: t = 0,
23186
- milestone: i,
23187
- height: r,
23188
- dots: n,
23189
- dotsSize: a
23218
+ milestone: t,
23219
+ dots: i,
23220
+ dotsSize: r,
23221
+ bottom: n
23190
23222
  }) {
23191
- const { color: o, bgColor: l, label: c, events: u, isLoading: h } = e;
23192
- let d = t * this.barChartHeight + this.combinedXAxesHeight + this.barsYOffset;
23193
- i && (d = this.getMilestoneGroupYPosition(s)), this.drawProgressIndicator({
23194
- yPosition: d,
23223
+ const {
23224
+ color: a,
23225
+ bgColor: o,
23226
+ label: l,
23227
+ events: c,
23228
+ barBorderRadius: u,
23229
+ isLoading: h,
23230
+ height: d,
23231
+ chartType: f
23232
+ } = e;
23233
+ let m = this.getBarGroupYPosition(s, n);
23234
+ const y = [
23235
+ Le.bars,
23236
+ Le.dots,
23237
+ void 0
23238
+ ].includes(f) ? this.getBarGroupHeight(e) : d;
23239
+ t && (m = this.getMilestoneGroupYPosition(s)), this.drawProgressIndicator({
23240
+ yPosition: m,
23195
23241
  type: s,
23196
- color: o,
23242
+ color: a,
23197
23243
  isLoading: h
23198
23244
  });
23199
- const f = this.svg.append("g").attr("data-color", o).classed(G.eventGroup, !0).classed(`${G.eventGroup}-${s}`, !0);
23245
+ const v = this.svg.append("g").attr("data-color", a).classed(G.eventGroup, !0).classed(`${G.eventGroup}-${s}`, !0);
23200
23246
  if (this.drawBackground({
23201
- color: l || o,
23202
- gElement: f,
23203
- yPosition: d,
23204
- height: r
23205
- }), i || n) {
23206
- const m = n ? 0.5 : 2, g = d + this.barChartHeight / 2;
23207
- f.append("line").classed(je.milestoneLine, !0).attr("x1", 0).attr("x2", this.timeline.offsetWidth).attr("y1", g).attr("y2", g).style("stroke", o).style("stroke-width", m);
23247
+ color: o || a,
23248
+ gElement: v,
23249
+ yPosition: m,
23250
+ height: y
23251
+ }), t || i) {
23252
+ const T = i ? 1 : 2, x = m + y / 2;
23253
+ v.append("line").classed(je.milestoneLine, !0).attr("x1", 0).attr("x2", this.timeline.offsetWidth).attr("y1", x).attr("y2", x).style("stroke", a).style("stroke-width", T);
23208
23254
  }
23209
23255
  this.drawBars({
23210
- events: u,
23211
- color: o,
23212
- gElement: f,
23213
- yPosition: d,
23256
+ events: c,
23257
+ color: a,
23258
+ gElement: v,
23259
+ yPosition: m,
23214
23260
  type: s,
23215
- dots: n,
23216
- dotsSize: a
23217
- }), c && this.drawTextLabel({
23218
- color: o,
23219
- label: c,
23261
+ dots: i,
23262
+ dotsSize: r,
23263
+ height: d,
23264
+ barBorderRadius: u
23265
+ }), l && this.drawTextLabel({
23266
+ color: a,
23267
+ label: l,
23220
23268
  type: s,
23221
- gElement: f,
23222
- yPosition: d,
23223
- height: r
23269
+ gElement: v,
23270
+ yPosition: m,
23271
+ height: d
23224
23272
  });
23225
23273
  },
23226
23274
  drawBarEventsGroups() {
23227
23275
  Object.entries(this.barGroups).forEach(
23228
- ([s, e], t) => this.drawSingleBarEventsGroup({
23276
+ ([s, e]) => this.drawSingleBarEventsGroup({
23229
23277
  type: s,
23230
23278
  eventsGroup: e,
23231
- index: t,
23232
- dots: e.chartType === He.dots,
23279
+ bottom: e.bottom,
23280
+ dots: e.chartType === Le.dots,
23233
23281
  dotsSize: e.dotsSize || 3
23234
23282
  })
23235
23283
  );
@@ -23243,8 +23291,7 @@ const wh = Ih.exports, G = {
23243
23291
  events: [],
23244
23292
  isLoading: !1
23245
23293
  },
23246
- milestone: !0,
23247
- height: e.height
23294
+ milestone: !0
23248
23295
  })
23249
23296
  ), this.updateMilestonesPositions();
23250
23297
  },
@@ -23271,6 +23318,19 @@ const wh = Ih.exports, G = {
23271
23318
  }
23272
23319
  return this.combinedXAxesHeight + this.milestonesYOffset + e;
23273
23320
  },
23321
+ getBarGroupYPosition(s, e) {
23322
+ let t = this.combinedXAxesHeight;
23323
+ e ? t += (this.hasChart ? this.chartHeight : 0) + (this.hasMilestones ? this.combinedMilestonesHeight : 0) : t += this.barsYOffset;
23324
+ for (const [i, r] of Object.entries(this.barGroups)) {
23325
+ if (i === s)
23326
+ break;
23327
+ !e && r.bottom || (t += this.getBarGroupHeight(r));
23328
+ }
23329
+ return t;
23330
+ },
23331
+ getBarGroupHeight(s) {
23332
+ return s.height ? Math.max(s.height + this.barYPadding, 1) : this.barChartHeight;
23333
+ },
23274
23334
  updateMilestonesPositions() {
23275
23335
  Object.entries(this.milestonesGroups).forEach(([s, e]) => {
23276
23336
  const t = this.getMilestoneGroupYPosition(s), i = this.svg.select(
@@ -23315,7 +23375,7 @@ const wh = Ih.exports, G = {
23315
23375
  this.svg.append("rect").classed(
23316
23376
  `${G.loadingIndicator} ${G.loadingIndicator}-${e}`,
23317
23377
  !0
23318
- ).attr("x", 0).attr("y", s).attr("width", this.timeline.offsetWidth / 3).attr("height", this.barChartHeight).attr("fill", `url(#${Ie.loadingGradient}-${e})`).style("visibility", t ? "visible" : "hidden");
23378
+ ).attr("x", 0).attr("y", s).attr("width", this.timeline.offsetWidth / 3).attr("height", this.barChartHeight).attr("fill", `url(#${Ge.loadingGradient}-${e})`).style("visibility", t ? "visible" : "hidden");
23319
23379
  },
23320
23380
  drawBackground({
23321
23381
  color: s,
@@ -23332,22 +23392,25 @@ const wh = Ih.exports, G = {
23332
23392
  color: i,
23333
23393
  type: r,
23334
23394
  dots: n,
23335
- dotsSize: a
23395
+ dotsSize: a,
23396
+ height: o,
23397
+ barBorderRadius: l = 1.5
23336
23398
  }) {
23337
- const o = this, l = t + this.barYPadding / 2, c = n ? (this.barChartHeight - a) / 2 : 0;
23338
- e.selectAll(G.eventRect).data(s).enter().append("rect").attr(
23399
+ const c = this, u = t + this.barYPadding / 2, h = n ? ((o || this.barChartHeight) - a) / 2 : 0;
23400
+ let d = Math.max(
23401
+ (o != null ? o : this.barChartHeight) - this.barYPadding,
23402
+ 1
23403
+ );
23404
+ n && (d = a), e.selectAll(G.eventRect).data(s).enter().append("rect").attr(
23339
23405
  "class",
23340
- (u) => G.eventRect + (n ? ` ${G.eventRect}--dot` : "") + (u.className ? ` ${u.className}` : "")
23341
- ).attr("x", this.getEventRectX).attr("y", l + c).attr("ry", n ? a : 1.5).attr("rx", n ? a : 1.5).attr("width", n ? a : this.getEventRectWidth).attr(
23342
- "height",
23343
- n ? a : this.barChartHeight - this.barYPadding
23344
- ).attr("stroke-width", 5).attr("cursor", "pointer").attr("stroke", "#0000").style("fill", (u) => u.color || i).on("mouseover", function(u, h) {
23345
- I.select(this).classed(G.eventRectHovered, !0), o.handleBarMouseOver(u, h, r);
23406
+ (f) => G.eventRect + (n ? ` ${G.eventRect}--dot` : "") + (f.className ? ` ${f.className}` : "")
23407
+ ).attr("x", this.getEventRectX).attr("y", u + h).attr("ry", n ? a : l).attr("rx", n ? a : l).attr("width", n ? a : this.getEventRectWidth).attr("height", d).attr("stroke-width", n ? a / 10 : 5).attr("cursor", "pointer").attr("stroke", (f) => n ? I.color(f.color || i).brighter(1).toString() : "#0000").style("fill", (f) => f.color || i).on("mouseover", function(f, m) {
23408
+ I.select(this).classed(G.eventRectHovered, !0), c.handleBarMouseOver(f, m, r);
23346
23409
  }).on("mouseout", function() {
23347
- I.select(this).classed(G.eventRectHovered, !1), o.handleBarMouseOut();
23348
- }), e.selectAll(G.eventRectText).data(s.filter((u) => !!u.text)).enter().append("text").attr("class", G.eventRectText).attr("x", (u) => this.getEventRectX(u) + this.textPadding).attr("y", t + this.barChartHeight / 2).attr("dy", "0.35em").style("text-anchor", "start").style("font-size", "12px").style("font-weight", 600).style("stroke-linejoin", "round").style("paint-order", "stroke").style("pointer-events", "none").style(
23410
+ I.select(this).classed(G.eventRectHovered, !1), c.handleBarMouseOut();
23411
+ }), e.selectAll(G.eventRectText).data(s.filter((f) => !!f.text)).enter().append("text").attr("class", G.eventRectText).attr("x", (f) => this.getEventRectX(f) + this.textPadding).attr("y", t + this.barChartHeight / 2).attr("dy", "0.35em").style("text-anchor", "start").style("font-size", "12px").style("font-weight", 600).style("stroke-linejoin", "round").style("paint-order", "stroke").style("pointer-events", "none").style(
23349
23412
  "fill",
23350
- (u) => this.getTextFillColor(u.color || i, 0.75)
23413
+ (f) => this.getTextFillColor(f.color || i, 0.75)
23351
23414
  ).text(this.getEventText);
23352
23415
  },
23353
23416
  drawBarsChart({
@@ -23368,7 +23431,7 @@ const wh = Ih.exports, G = {
23368
23431
  ).attr("x", u).attr("y", -i).attr("width", l).attr("height", this.yScale.range()[0] + i).attr("fill", (f) => f.color || t).attr("fill-opacity", 0), d.append("rect").attr(
23369
23432
  "class",
23370
23433
  (f) => G.eventBar + (f.className ? ` ${f.className}` : "")
23371
- ).attr("x", u).attr("y", h).attr("width", l).attr("height", c).attr("stroke-width", 5).attr("cursor", "pointer").attr("stroke", "#0000").attr("fill", `url(#${Ie.transparencyGradient}-${r})`), d.append("rect").attr(
23434
+ ).attr("x", u).attr("y", h).attr("width", l).attr("height", c).attr("stroke-width", 5).attr("cursor", "pointer").attr("stroke", "#0000").attr("fill", `url(#${Ge.transparencyGradient}-${r})`), d.append("rect").attr(
23372
23435
  "class",
23373
23436
  (f) => G.eventBarCap + (f.className ? ` ${f.className}` : "")
23374
23437
  ).attr("x", u).attr("y", h).attr("width", l).attr("height", 2).attr("stroke-width", 0).style("fill", (f) => f.color || t), d.on("mouseover", function(f, m) {
@@ -23389,7 +23452,7 @@ const wh = Ih.exports, G = {
23389
23452
  onBarChartBarMouseOut(s, e) {
23390
23453
  s.classed(G.eventBarContainerHovered, !1), s.selectAll(`.${G.eventBarHoverZone}`).attr("fill-opacity", 0);
23391
23454
  const i = s.selectAll(`.${G.eventBar}`);
23392
- i.attr("fill", `url(#${Ie.transparencyGradient}-${e})`), i.attr("fill-opacity", 1);
23455
+ i.attr("fill", `url(#${Ge.transparencyGradient}-${e})`), i.attr("fill-opacity", 1);
23393
23456
  },
23394
23457
  drawTextLabel({
23395
23458
  gElement: s,
@@ -23472,18 +23535,18 @@ const wh = Ih.exports, G = {
23472
23535
  };
23473
23536
  },
23474
23537
  tzStringToDate(s) {
23475
- return Ge(s).add(this.utcOffset, "minutes").toDate();
23538
+ return He(s).add(this.utcOffset, "minutes").toDate();
23476
23539
  },
23477
23540
  dateToTzString(s) {
23478
23541
  const e = new Date(s).getTimezoneOffset();
23479
- return Ge(s).add(e, "minutes").utcOffset(this.utcOffset, !0).format();
23542
+ return He(s).add(e, "minutes").utcOffset(this.utcOffset, !0).format();
23480
23543
  },
23481
23544
  getCurrentTimeBounds() {
23482
23545
  const s = this.timeScale.domain();
23483
23546
  return { startDate: s[0], endDate: s[1] };
23484
23547
  },
23485
23548
  getFormattedTimestamp(s) {
23486
- return Ge.parseZone(s).format("YYYY-MM-DDTHH:mm:ss");
23549
+ return He.parseZone(s).format("YYYY-MM-DDTHH:mm:ss");
23487
23550
  },
23488
23551
  fillTimeGaps(s) {
23489
23552
  if (s.length <= 1)
@@ -23494,14 +23557,14 @@ const wh = Ih.exports, G = {
23494
23557
  const a = s[n];
23495
23558
  if (r.push(a), n === s.length - 1)
23496
23559
  break;
23497
- const o = s[n + 1], l = Ge(a.timestamp), c = Ge(o.timestamp);
23560
+ const o = s[n + 1], l = He(a.timestamp), c = He(o.timestamp);
23498
23561
  if (c.diff(l, e) > 1) {
23499
23562
  const u = t(l).toISOString(), h = i(c).toISOString();
23500
23563
  r.push({ timestamp: u, count: 0 }), u !== h && r.push({ timestamp: h, count: 0 });
23501
23564
  }
23502
23565
  }
23503
23566
  if (this.flattenLineGraphEnds) {
23504
- const n = Ge(s[0].timestamp), a = Ge(s[s.length - 1].timestamp), o = i(n).toISOString(), l = t(a).toISOString();
23567
+ const n = He(s[0].timestamp), a = He(s[s.length - 1].timestamp), o = i(n).toISOString(), l = t(a).toISOString();
23505
23568
  r = [
23506
23569
  { timestamp: o, count: 0 },
23507
23570
  ...r,
@@ -23638,7 +23701,7 @@ var Bh = function() {
23638
23701
  null,
23639
23702
  null
23640
23703
  );
23641
- const Gh = Uh.exports, Hh = _e.extend({
23704
+ const Gh = Uh.exports, Hh = De.extend({
23642
23705
  name: "EHeatmapBar",
23643
23706
  props: {
23644
23707
  items: {
@@ -23715,7 +23778,7 @@ var Vh = function() {
23715
23778
  null,
23716
23779
  null
23717
23780
  );
23718
- const ma = Wh.exports, zh = _e.extend({
23781
+ const ma = Wh.exports, zh = De.extend({
23719
23782
  name: "EHoursHeatmap",
23720
23783
  components: {
23721
23784
  EHeatmapBar: ma
@@ -23750,7 +23813,7 @@ const ma = Wh.exports, zh = _e.extend({
23750
23813
  itemsByHour() {
23751
23814
  return this.items.reduce((s, e) => ({
23752
23815
  ...s,
23753
- [Ge(e.timestamp).format("H")]: e
23816
+ [He(e.timestamp).format("H")]: e
23754
23817
  }), {});
23755
23818
  },
23756
23819
  heatmapBarItems() {
@@ -23831,7 +23894,7 @@ export {
23831
23894
  Y as Size,
23832
23895
  wa as TextSizes,
23833
23896
  kt as TimelineAxis,
23834
- He as TimelineChartType,
23897
+ Le as TimelineChartType,
23835
23898
  Pt as TimelineIntervalChangeTrigger,
23836
23899
  Cr as components,
23837
23900
  xh as debounce,