@activecollab/components 2.0.354 → 2.0.356

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/cjs/components/Icons/collection/Gear.js +49 -0
  2. package/dist/cjs/components/Icons/collection/Gear.js.map +1 -0
  3. package/dist/cjs/components/Icons/collection/GearFailed.js +85 -0
  4. package/dist/cjs/components/Icons/collection/GearFailed.js.map +1 -0
  5. package/dist/cjs/components/Icons/collection/index.js +14 -0
  6. package/dist/cjs/components/Icons/collection/index.js.map +1 -1
  7. package/dist/cjs/presentation/shared/SourceCodeSection.js +271 -75
  8. package/dist/cjs/presentation/shared/SourceCodeSection.js.map +1 -1
  9. package/dist/esm/components/Icons/collection/Gear.d.ts +15 -0
  10. package/dist/esm/components/Icons/collection/Gear.d.ts.map +1 -0
  11. package/dist/esm/components/Icons/collection/Gear.js +42 -0
  12. package/dist/esm/components/Icons/collection/Gear.js.map +1 -0
  13. package/dist/esm/components/Icons/collection/GearFailed.d.ts +17 -0
  14. package/dist/esm/components/Icons/collection/GearFailed.d.ts.map +1 -0
  15. package/dist/esm/components/Icons/collection/GearFailed.js +68 -0
  16. package/dist/esm/components/Icons/collection/GearFailed.js.map +1 -0
  17. package/dist/esm/components/Icons/collection/index.d.ts +2 -0
  18. package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
  19. package/dist/esm/components/Icons/collection/index.js +2 -0
  20. package/dist/esm/components/Icons/collection/index.js.map +1 -1
  21. package/dist/esm/presentation/shared/SourceCodeSection.d.ts +8 -1
  22. package/dist/esm/presentation/shared/SourceCodeSection.d.ts.map +1 -1
  23. package/dist/esm/presentation/shared/SourceCodeSection.js +271 -84
  24. package/dist/esm/presentation/shared/SourceCodeSection.js.map +1 -1
  25. package/dist/index.js +327 -220
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.min.js +1 -1
  28. package/dist/index.min.js.map +1 -1
  29. package/package.json +1 -1
@@ -26,6 +26,7 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
26
26
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
27
27
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
28
28
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
29
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
29
30
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30
31
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
31
32
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -42,6 +43,21 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
42
43
 
43
44
  var SANS = '-apple-system, BlinkMacSystemFont, "Roboto", "Helvetica Neue", Arial, sans-serif';
44
45
 
46
+ /* Icons in the collection colour either via `stroke` (outline glyphs whose root
47
+ is `fill="none"`) or via `fill`. To tint a history glyph by tone we must set
48
+ the right one — this set marks the stroke-based glyphs used in the stream. */
49
+ var STROKE_ICONS = new Set([_Icons.GitBranchIcon, _Icons.GitCommitIcon, _Icons.GitPullRequestIcon, _Icons.GitPullRequestDraftIcon, _Icons.GitPullRequestClosedIcon, _Icons.GitMergeIcon, _Icons.GearIcon, _Icons.GearFailedIcon, _Icons.CloudDeployIcon, _Icons.CloudDeployFailedIcon, _Icons.GitRepositoryIcon]);
50
+
51
+ /** Every event glyph renders in the standard muted gray; success / failure is
52
+ carried by a trailing check / cross after the title instead of the glyph. */
53
+ var iconColorProps = function iconColorProps(icon) {
54
+ return STROKE_ICONS.has(icon) ? {
55
+ stroke: "var(--color-theme-600)"
56
+ } : {
57
+ fill: "var(--color-theme-600)"
58
+ };
59
+ };
60
+
45
61
  /* ================================================================== */
46
62
  /* Issue markers (open / closed) — small inline glyphs so the */
47
63
  /* open-vs-closed state reads crisply; they inherit `currentColor`. */
@@ -100,6 +116,40 @@ var IssueClosedIcon = function IssueClosedIcon(_ref2) {
100
116
  /* ================================================================== */
101
117
 
102
118
  var STAGE_NAMES = ["Branch", "Commits", "Pull request", "CI / Build", "Deploy"];
119
+ var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
120
+ var pad = function pad(n) {
121
+ return String(n).padStart(2, "0");
122
+ };
123
+
124
+ /**
125
+ * Reproduces ActiveCollab's standard `Ago` component (`Angie.functions.ago()`)
126
+ * for the mock: "Just now", "N minutes ago", "Today HH:mm", "Yesterday HH:mm",
127
+ * "MMM D. HH:mm", else "MMM D. YYYY HH:mm". Production must use the real one,
128
+ * which also carries the absolute timestamp in a tooltip and auto-refreshes.
129
+ */
130
+ var formatAgo = function formatAgo(minutesAgo) {
131
+ var now = new Date();
132
+ var then = new Date(now.getTime() - minutesAgo * 60000);
133
+ if (minutesAgo < 2) {
134
+ return "Just now";
135
+ }
136
+ if (minutesAgo < 60) {
137
+ return "".concat(Math.floor(minutesAgo), " minutes ago");
138
+ }
139
+ var time = "".concat(pad(then.getHours()), ":").concat(pad(then.getMinutes()));
140
+ if (then.toDateString() === now.toDateString()) {
141
+ return "Today ".concat(time);
142
+ }
143
+ var yesterday = new Date(now.getTime() - 24 * 60 * 60000);
144
+ if (then.toDateString() === yesterday.toDateString()) {
145
+ return "Yesterday ".concat(time);
146
+ }
147
+ var monthDay = "".concat(MONTHS[then.getMonth()], " ").concat(then.getDate(), ".");
148
+ if (then.getFullYear() === now.getFullYear()) {
149
+ return "".concat(monthDay, " ").concat(time);
150
+ }
151
+ return "".concat(monthDay, " ").concat(then.getFullYear(), " ").concat(time);
152
+ };
103
153
 
104
154
  /** A VCS issue. Weakly referenced by any number of branches / PRs. */
105
155
 
@@ -203,13 +253,13 @@ var CODE_ENTRIES = [{
203
253
  history: [{
204
254
  icon: _Icons.GitBranchIcon,
205
255
  title: "Branch created",
206
- detail: "spike/rank-cache",
207
- meta: "Ilija Studen · today, 12:40"
256
+ detail: "spike/rank-cache by Ilija Studen",
257
+ minutesAgo: 120
208
258
  }, {
209
259
  icon: _Icons.GitCommitIcon,
210
- title: "Pushed 1 commit",
211
- detail: "Prototype rank cache",
212
- meta: "Ilija Studen · 30m ago"
260
+ title: "One commit pushed",
261
+ detail: "Ilija Studen: “Prototype rank cache",
262
+ minutesAgo: 30
213
263
  }]
214
264
  }, {
215
265
  kind: "branch",
@@ -255,13 +305,13 @@ var CODE_ENTRIES = [{
255
305
  history: [{
256
306
  icon: _Icons.GitBranchIcon,
257
307
  title: "Branch created",
258
- detail: "feature/retainers-ui-34",
259
- meta: "Dragana A. · today, 08:02"
308
+ detail: "feature/retainers-ui-34 by Dragana A.",
309
+ minutesAgo: 480
260
310
  }, {
261
311
  icon: _Icons.GitCommitIcon,
262
- title: "Pushed 6 commits",
263
- detail: "Retainer settings screen",
264
- meta: "Dragana A. · 1h ago"
312
+ title: "6 commits pushed",
313
+ detail: "Last by Dragana A.: “Retainer settings screen",
314
+ minutesAgo: 60
265
315
  }]
266
316
  }, {
267
317
  kind: "pr",
@@ -270,6 +320,8 @@ var CODE_ENTRIES = [{
270
320
  repo: "frontend",
271
321
  repoFull: "activecollab/frontend",
272
322
  status: "merged",
323
+ sourceBranch: "feature/contracts-ui-34",
324
+ targetBranch: "main",
273
325
  contributors: [{
274
326
  initials: "MK",
275
327
  bg: _tokens.AVATAR_COLORS.blue
@@ -310,26 +362,108 @@ var CODE_ENTRIES = [{
310
362
  history: [{
311
363
  icon: _Icons.GitBranchIcon,
312
364
  title: "Branch created",
313
- detail: "feature/contracts-ui-34",
314
- meta: "Marko K. · today, 07:10"
365
+ detail: "feature/contracts-ui-34 by Marko K.",
366
+ minutesAgo: 11520
315
367
  }, {
316
- icon: _Icons.GitPullRequestIcon,
317
- title: "Pull request merged",
318
- detail: "into main",
319
- meta: "Marko K. · today, 10:12",
320
- tone: "success"
368
+ icon: _Icons.GitCommitIcon,
369
+ title: "6 commits pushed",
370
+ detail: "Last by Marko K.: “Wire rank controls to contracts API”",
371
+ minutesAgo: 10080
372
+ }, {
373
+ icon: _Icons.GitPullRequestDraftIcon,
374
+ title: "Draft pull request opened",
375
+ detail: "Target: main by Marko K.",
376
+ minutesAgo: 8640
321
377
  }, {
322
- icon: _Icons.RocketIcon,
378
+ icon: _Icons.GearIcon,
323
379
  title: "Build started",
324
- detail: "CI pipeline #482",
325
- meta: "today, 10:13",
380
+ detail: "CI pipeline #479",
381
+ minutesAgo: 8639,
326
382
  tone: "progress"
327
383
  }, {
328
- icon: _Icons.WarningTriangleSmallIcon,
384
+ icon: _Icons.GearFailedIcon,
329
385
  title: "Build failed",
330
386
  detail: "3 of 12 checks failed",
331
- meta: "today, 10:18",
387
+ minutesAgo: 8635,
332
388
  tone: "danger"
389
+ }, {
390
+ icon: _Icons.GitCommitIcon,
391
+ title: "2 commits pushed",
392
+ detail: "Last by Marko K.: “Fix failing snapshot tests”",
393
+ minutesAgo: 7200
394
+ }, {
395
+ icon: _Icons.GearIcon,
396
+ title: "Build passed",
397
+ detail: "All 12 checks passed · CI pipeline #482",
398
+ minutesAgo: 7195,
399
+ tone: "success"
400
+ }, {
401
+ icon: _Icons.GitPullRequestIcon,
402
+ title: "Marked ready for review",
403
+ author: "Marko K.",
404
+ minutesAgo: 5760,
405
+ tone: "progress"
406
+ }, {
407
+ icon: _Icons.EyeIcon,
408
+ title: "Review requested",
409
+ detail: "Requested by Ana P., Ilija S. and 2 more",
410
+ minutesAgo: 5755
411
+ }, {
412
+ icon: _Icons.MessageIcon,
413
+ title: "Changes requested",
414
+ detail: "Request on 4 files by Ana P.",
415
+ minutesAgo: 4320
416
+ }, {
417
+ icon: _Icons.GitCommitIcon,
418
+ title: "One commit pushed",
419
+ detail: "Marko K.: “Address review feedback”",
420
+ minutesAgo: 4000
421
+ }, {
422
+ icon: _Icons.GitPullRequestClosedIcon,
423
+ title: "Pull request closed",
424
+ detail: "Closed without merging by Marko K.",
425
+ minutesAgo: 2880
426
+ }, {
427
+ icon: _Icons.GitPullRequestIcon,
428
+ title: "Pull request reopened",
429
+ detail: "Target: main by Marko K.",
430
+ minutesAgo: 1680,
431
+ tone: "progress"
432
+ }, {
433
+ icon: _Icons.GitCommitIcon,
434
+ title: "4 commits pushed",
435
+ detail: "Last by Marko K.: “Rebuild rank controls with a new segmented layout, keyboard navigation, and analytics events”",
436
+ minutesAgo: 1560
437
+ }, {
438
+ icon: _Icons.CloudDeployIcon,
439
+ title: "Deployed to staging",
440
+ detail: "Release ci-4821",
441
+ minutesAgo: 300,
442
+ tone: "success"
443
+ }, {
444
+ icon: _Icons.CheckIcon,
445
+ title: "Approved",
446
+ detail: "2 approvals · Ana P., Ilija S.",
447
+ minutesAgo: 180,
448
+ tone: "success"
449
+ }, {
450
+ icon: _Icons.GitMergeIcon,
451
+ title: "Pull request merged",
452
+ detail: "Target: main by Marko K.",
453
+ minutesAgo: 38,
454
+ tone: "success"
455
+ }, {
456
+ icon: _Icons.CloudDeployFailedIcon,
457
+ title: "Deploy failed",
458
+ detail: "Target: production by Marko K.",
459
+ minutesAgo: 24,
460
+ tone: "danger"
461
+ }, {
462
+ icon: _Icons.CloudDeployIcon,
463
+ title: "Deployed to production",
464
+ detail: "Release v2026.7.3",
465
+ minutesAgo: 1,
466
+ tone: "success"
333
467
  }]
334
468
  }, {
335
469
  kind: "branch",
@@ -368,18 +502,18 @@ var CODE_ENTRIES = [{
368
502
  history: [{
369
503
  icon: _Icons.GitBranchIcon,
370
504
  title: "Branch created",
371
- detail: "feature/retainers-34",
372
- meta: "Ilija Studen · 1 Mar, 09:12"
505
+ detail: "feature/retainers-34 by Ilija Studen",
506
+ minutesAgo: 4320
373
507
  }, {
374
508
  icon: _Icons.GitCommitIcon,
375
- title: "Pushed 14 commits",
376
- detail: "Rank model + datastore updates",
377
- meta: "Ilija Studen · 2 Mar, 16:05"
509
+ title: "14 commits pushed",
510
+ detail: "Last by Ilija Studen: “Rank model + datastore updates",
511
+ minutesAgo: 3000
378
512
  }, {
379
- icon: _Icons.GitBranchIcon,
513
+ icon: _Icons.GitMergeIcon,
380
514
  title: "Branch merged",
381
- detail: "via #119909 into main",
382
- meta: "Ilija Studen · 2 Mar, 18:20",
515
+ detail: "Target: main by Ilija Studen",
516
+ minutesAgo: 2880,
383
517
  tone: "success"
384
518
  }]
385
519
  }, {
@@ -389,6 +523,8 @@ var CODE_ENTRIES = [{
389
523
  repo: "backend",
390
524
  repoFull: "activecollab/backend",
391
525
  status: "merged",
526
+ sourceBranch: "feature/retainers-34",
527
+ targetBranch: "main",
392
528
  contributors: [{
393
529
  initials: "IS",
394
530
  bg: _tokens.AVATAR_COLORS.purple
@@ -426,20 +562,20 @@ var CODE_ENTRIES = [{
426
562
  history: [{
427
563
  icon: _Icons.GitPullRequestIcon,
428
564
  title: "Pull request opened",
429
- detail: "#119909 · base: main",
430
- meta: "Ilija Studen · 2 Mar, 16:30",
565
+ detail: "Target: main by Ilija Studen",
566
+ minutesAgo: 3000,
431
567
  tone: "progress"
432
568
  }, {
433
569
  icon: _Icons.CheckIcon,
434
- title: "Approved by 2 reviewers",
435
- detail: "Marko K., Janko S.",
436
- meta: "2 Mar, 18:02",
570
+ title: "Approved",
571
+ detail: "2 approvals · Marko K., Janko S.",
572
+ minutesAgo: 2905,
437
573
  tone: "success"
438
574
  }, {
439
- icon: _Icons.GitPullRequestIcon,
575
+ icon: _Icons.GitMergeIcon,
440
576
  title: "Pull request merged",
441
- detail: "into main",
442
- meta: "Ilija Studen · 2 Mar, 18:20",
577
+ detail: "Target: main by Ilija Studen",
578
+ minutesAgo: 2880,
443
579
  tone: "success"
444
580
  }]
445
581
  }, {
@@ -479,19 +615,18 @@ var CODE_ENTRIES = [{
479
615
  history: [{
480
616
  icon: _Icons.GitBranchIcon,
481
617
  title: "Branch created",
482
- detail: "hotfix/rank-typo",
483
- meta: "Marko K. · 6d ago"
618
+ detail: "hotfix/rank-typo by Marko K.",
619
+ minutesAgo: 8640
484
620
  }, {
485
621
  icon: _Icons.GitCommitIcon,
486
- title: "Pushed 2 commits",
487
- detail: "Fix rank label typo",
488
- meta: "Marko K. · 6d ago"
622
+ title: "2 commits pushed",
623
+ detail: "Last by Marko K.: “Fix rank label typo",
624
+ minutesAgo: 8600
489
625
  }, {
490
626
  icon: _Icons.TrashIcon,
491
627
  title: "Branch deleted",
492
- detail: "soft delete history preserved",
493
- meta: "Marko K. · 5d ago",
494
- tone: "danger"
628
+ detail: "Soft deleted by Marko K.",
629
+ minutesAgo: 7000
495
630
  }]
496
631
  }, {
497
632
  kind: "pr",
@@ -500,6 +635,8 @@ var CODE_ENTRIES = [{
500
635
  repo: "backend",
501
636
  repoFull: "activecollab/backend",
502
637
  status: "merged",
638
+ sourceBranch: "fix/rank-clamp-33",
639
+ targetBranch: "main",
503
640
  contributors: [{
504
641
  initials: "MK",
505
642
  bg: _tokens.AVATAR_COLORS.blue
@@ -530,13 +667,19 @@ var CODE_ENTRIES = [{
530
667
  history: [{
531
668
  icon: _Icons.GitBranchIcon,
532
669
  title: "Branch created",
533
- detail: "fix/rank-clamp-33",
534
- meta: "Marko K. · 6d ago"
670
+ detail: "fix/rank-clamp-33 by Marko K.",
671
+ minutesAgo: 8640
535
672
  }, {
536
673
  icon: _Icons.GitPullRequestIcon,
674
+ title: "Pull request opened",
675
+ detail: "Target: main by Marko K.",
676
+ minutesAgo: 8600,
677
+ tone: "progress"
678
+ }, {
679
+ icon: _Icons.GitMergeIcon,
537
680
  title: "Pull request merged",
538
- detail: "into main",
539
- meta: "Marko K. · 5d ago",
681
+ detail: "Target: main by Marko K.",
682
+ minutesAgo: 7200,
540
683
  tone: "success"
541
684
  }]
542
685
  }, {
@@ -546,6 +689,8 @@ var CODE_ENTRIES = [{
546
689
  repo: "backend",
547
690
  repoFull: "activecollab/backend",
548
691
  status: "closed",
692
+ sourceBranch: "feature/rank-datastore-cache",
693
+ targetBranch: "main",
549
694
  contributors: [{
550
695
  initials: "IS",
551
696
  bg: _tokens.AVATAR_COLORS.purple
@@ -580,14 +725,14 @@ var CODE_ENTRIES = [{
580
725
  history: [{
581
726
  icon: _Icons.GitPullRequestIcon,
582
727
  title: "Pull request opened",
583
- detail: "#119888 · base: main",
584
- meta: "Ilija Studen · 4d ago",
728
+ detail: "Target: main by Ilija Studen",
729
+ minutesAgo: 5760,
585
730
  tone: "progress"
586
731
  }, {
587
- icon: _Icons.CancelCrossIcon,
732
+ icon: _Icons.GitPullRequestClosedIcon,
588
733
  title: "Pull request closed",
589
- detail: "closed without merging",
590
- meta: "Ilija Studen · 3d ago"
734
+ detail: "Closed without merging by Ilija Studen",
735
+ minutesAgo: 4320
591
736
  }]
592
737
  }];
593
738
 
@@ -657,10 +802,13 @@ var Spine = exports.Spine = function Spine(_ref4) {
657
802
  }));
658
803
  })));
659
804
  };
805
+
806
+ /* The whole content scrolls together (header + stream + note) once the stream
807
+ is long — the dialog title bar stays fixed, everything below scrolls. */
660
808
  var StyledHistory = _styledComponents.default.div.withConfig({
661
809
  displayName: "SourceCodeSection__StyledHistory",
662
810
  componentId: "sc-rvqbh5-2"
663
- })(["font-family:", ";.hist-sub{margin-bottom:18px;}.hist-event{position:relative;display:flex;gap:12px;padding-bottom:18px;}.hist-event:last-child{padding-bottom:0;}.hist-event:not(:last-child)::before{content:\"\";position:absolute;left:11px;top:24px;bottom:0;width:2px;background:var(--border-primary);}.hist-icon{z-index:1;flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-theme-200);}.hist-icon.success{background:color-mix(in srgb,var(--color-sucess-green) 18%,transparent);}.hist-icon.danger{background:color-mix(in srgb,var(--red-alert) 18%,transparent);}.hist-icon.progress{background:color-mix(in srgb,var(--color-primary) 18%,transparent);}.hist-body{min-width:0;padding-top:1px;}.hist-note{margin-top:4px;padding:10px 12px;border-radius:6px;background:var(--color-theme-200);}"], SANS);
811
+ })(["font-family:", ";max-height:60vh;overflow-y:auto;padding-right:4px;.hist-header{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border-primary);}.hist-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}.hist-branches{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--color-theme-600);}.hist-branch{display:inline-flex;align-items:center;gap:4px;}.hist-repo{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:13px;color:var(--color-theme-600);}.sc-chip{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:0.02em;flex-shrink:0;}.sc-chip.done{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 15%,transparent);}.sc-chip.gone{color:var(--color-theme-900);background:var(--color-theme-200);border:1px solid var(--border-primary);}.sc-chip.fail{color:var(--red-alert);background:color-mix(in srgb,var(--red-alert) 15%,transparent);}.hist-event{display:flex;align-items:center;gap:12px;padding-bottom:20px;}.hist-event:last-child{padding-bottom:0;}.hist-icon{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;}.hist-body{flex:1 1 auto;min-width:0;}.hist-title{display:flex;align-items:center;gap:6px;min-width:0;}.hist-title > *:first-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.hist-status{flex-shrink:0;display:inline-flex;}.hist-line{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.5;color:var(--color-theme-600);}.hist-meta{flex-shrink:0;align-self:flex-start;text-align:right;white-space:nowrap;}.hist-note{display:flex;align-items:center;gap:6px;margin-top:16px;color:var(--color-theme-500);}.hist-note svg{flex-shrink:0;}"], SANS);
664
812
  var HistoryDialog = exports.HistoryDialog = function HistoryDialog(_ref5) {
665
813
  var entry = _ref5.entry,
666
814
  onClose = _ref5.onClose;
@@ -677,38 +825,86 @@ var HistoryDialog = exports.HistoryDialog = function HistoryDialog(_ref5) {
677
825
  justifyContent: "space-between",
678
826
  gap: 12
679
827
  }
680
- }, /*#__PURE__*/_react.default.createElement(_Typography.Header3, null, "Source Code History"), /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
828
+ }, /*#__PURE__*/_react.default.createElement(_Typography.Header3, null, (entry === null || entry === void 0 ? void 0 : entry.kind) === "branch" ? "Branch History" : "Pull Request History"), /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
681
829
  type: "button",
682
830
  variant: "text gray",
683
831
  onClick: onClose
684
832
  }, /*#__PURE__*/_react.default.createElement(_Icons.CancelCrossIcon, null)))), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.ContentDivider, null), /*#__PURE__*/_react.default.createElement(_Dialog.Dialog.Content, null, entry && /*#__PURE__*/_react.default.createElement(StyledHistory, null, /*#__PURE__*/_react.default.createElement("div", {
685
- className: "hist-sub"
686
- }, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
833
+ className: "hist-header"
834
+ }, /*#__PURE__*/_react.default.createElement("div", {
835
+ className: "hist-name"
836
+ }, /*#__PURE__*/_react.default.createElement(_Typography.Body1, {
687
837
  weight: "medium"
688
- }, entry.title), /*#__PURE__*/_react.default.createElement(_Typography.Caption1, {
689
- color: "secondary"
690
- }, entry.repoFull)), entry.history.map(function (ev, i) {
691
- var _ev$tone;
838
+ }, entry.status === "deleted" ? entry.title : /*#__PURE__*/_react.default.createElement(TitleLink, {
839
+ href: codeUrl(entry),
840
+ target: "_blank",
841
+ rel: "noopener noreferrer"
842
+ }, entry.title)), /*#__PURE__*/_react.default.createElement(CodeStatusChip, {
843
+ entry: entry
844
+ })), entry.kind === "pr" && entry.sourceBranch && entry.targetBranch && /*#__PURE__*/_react.default.createElement("div", {
845
+ className: "hist-branches"
846
+ }, /*#__PURE__*/_react.default.createElement("span", {
847
+ className: "hist-branch"
848
+ }, /*#__PURE__*/_react.default.createElement(_Icons.GitBranchIcon, {
849
+ width: 14,
850
+ height: 14
851
+ }), entry.sourceBranch), /*#__PURE__*/_react.default.createElement(_Icons.ArrowRightIcon, {
852
+ width: 14,
853
+ height: 14
854
+ }), /*#__PURE__*/_react.default.createElement("span", {
855
+ className: "hist-branch"
856
+ }, /*#__PURE__*/_react.default.createElement(_Icons.GitBranchIcon, {
857
+ width: 14,
858
+ height: 14
859
+ }), entry.targetBranch)), /*#__PURE__*/_react.default.createElement("span", {
860
+ className: "hist-repo"
861
+ }, /*#__PURE__*/_react.default.createElement(_Icons.GitRepositoryIcon, {
862
+ width: 14,
863
+ height: 14
864
+ }), entry.repoFull)), [...entry.history].sort(function (a, b) {
865
+ return a.minutesAgo - b.minutesAgo;
866
+ }).map(function (ev, i) {
692
867
  return /*#__PURE__*/_react.default.createElement("div", {
693
868
  className: "hist-event",
694
869
  key: "".concat(ev.title, "-").concat(i)
695
870
  }, /*#__PURE__*/_react.default.createElement("span", {
696
- className: "hist-icon ".concat((_ev$tone = ev.tone) !== null && _ev$tone !== void 0 ? _ev$tone : "neutral")
697
- }, /*#__PURE__*/_react.default.createElement(ev.icon, {
698
- width: 14,
699
- height: 14
700
- })), /*#__PURE__*/_react.default.createElement("div", {
871
+ className: "hist-icon"
872
+ }, /*#__PURE__*/_react.default.createElement(ev.icon, _extends({
873
+ width: 22,
874
+ height: 22
875
+ }, iconColorProps(ev.icon)))), /*#__PURE__*/_react.default.createElement("div", {
701
876
  className: "hist-body"
702
- }, /*#__PURE__*/_react.default.createElement(_Typography.Body2, {
877
+ }, /*#__PURE__*/_react.default.createElement("div", {
878
+ className: "hist-title"
879
+ }, /*#__PURE__*/_react.default.createElement(_Typography.Body1, {
703
880
  weight: "medium"
704
- }, ev.title), ev.detail && /*#__PURE__*/_react.default.createElement(_Typography.Caption1, {
705
- color: "secondary"
706
- }, ev.detail), /*#__PURE__*/_react.default.createElement(_Typography.Caption1, {
707
- color: "tertiary"
708
- }, ev.meta)));
881
+ }, ev.title), ev.tone === "success" && /*#__PURE__*/_react.default.createElement("span", {
882
+ className: "hist-status"
883
+ }, /*#__PURE__*/_react.default.createElement(_Icons.CheckIcon, {
884
+ width: 16,
885
+ height: 16,
886
+ fill: "var(--color-sucess-green)"
887
+ })), ev.tone === "danger" && /*#__PURE__*/_react.default.createElement("span", {
888
+ className: "sc-chip fail"
889
+ }, /*#__PURE__*/_react.default.createElement(_Icons.CloseIcon, {
890
+ width: 12,
891
+ height: 12,
892
+ fill: "var(--red-alert)"
893
+ }), "Failed")), ev.detail && /*#__PURE__*/_react.default.createElement("span", {
894
+ className: "hist-line"
895
+ }, ev.detail), ev.author && /*#__PURE__*/_react.default.createElement("span", {
896
+ className: "hist-line"
897
+ }, ev.author)), /*#__PURE__*/_react.default.createElement("div", {
898
+ className: "hist-meta"
899
+ }, /*#__PURE__*/_react.default.createElement("span", {
900
+ className: "hist-line"
901
+ }, formatAgo(ev.minutesAgo))));
709
902
  }), !entry.pipelineSupported && /*#__PURE__*/_react.default.createElement("div", {
710
903
  className: "hist-note"
711
- }, /*#__PURE__*/_react.default.createElement(_Typography.Caption1, {
904
+ }, /*#__PURE__*/_react.default.createElement(_Icons.InfoSmallIcon, {
905
+ width: 15,
906
+ height: 15
907
+ }), /*#__PURE__*/_react.default.createElement(_Typography.Caption1, {
712
908
  color: "secondary"
713
909
  }, "No CI or deployment pipeline is configured for this repository.")))));
714
910
  };