@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
@@ -9,10 +9,10 @@ import { Button } from "../../components/Button";
9
9
  import { AddToListButton } from "../../components/Button/AddToListButton";
10
10
  import { Dialog } from "../../components/Dialog";
11
11
  import { IconButton } from "../../components/IconButton";
12
- import { CancelCrossIcon, CheckIcon, CloseIcon, GitBranchIcon, GitCommitIcon, GitPullRequestIcon, GitRepositoryIcon, MessageIcon, RocketIcon, TrashIcon, WarningTriangleSmallIcon } from "../../components/Icons";
12
+ import { ArrowRightIcon, CancelCrossIcon, CheckIcon, CloseIcon, CloudDeployFailedIcon, CloudDeployIcon, EyeIcon, GearFailedIcon, GearIcon, GitBranchIcon, GitCommitIcon, GitMergeIcon, GitPullRequestClosedIcon, GitPullRequestDraftIcon, GitPullRequestIcon, GitRepositoryIcon, InfoSmallIcon, MessageIcon, TrashIcon } from "../../components/Icons";
13
13
  import { Tooltip } from "../../components/Tooltip";
14
14
  import { Trigger } from "../../components/Trigger";
15
- import { Body1, Body2, Caption1, Header3 } from "../../components/Typography";
15
+ import { Body1, Caption1, Header3 } from "../../components/Typography";
16
16
 
17
17
  /**
18
18
  * Source Code section of a task — the shared subsystem behind the
@@ -25,6 +25,19 @@ import { Body1, Body2, Caption1, Header3 } from "../../components/Typography";
25
25
 
26
26
  const SANS = '-apple-system, BlinkMacSystemFont, "Roboto", "Helvetica Neue", Arial, sans-serif';
27
27
 
28
+ /* Icons in the collection colour either via `stroke` (outline glyphs whose root
29
+ is `fill="none"`) or via `fill`. To tint a history glyph by tone we must set
30
+ the right one — this set marks the stroke-based glyphs used in the stream. */
31
+ const STROKE_ICONS = new Set([GitBranchIcon, GitCommitIcon, GitPullRequestIcon, GitPullRequestDraftIcon, GitPullRequestClosedIcon, GitMergeIcon, GearIcon, GearFailedIcon, CloudDeployIcon, CloudDeployFailedIcon, GitRepositoryIcon]);
32
+
33
+ /** Every event glyph renders in the standard muted gray; success / failure is
34
+ carried by a trailing check / cross after the title instead of the glyph. */
35
+ const iconColorProps = icon => STROKE_ICONS.has(icon) ? {
36
+ stroke: "var(--color-theme-600)"
37
+ } : {
38
+ fill: "var(--color-theme-600)"
39
+ };
40
+
28
41
  /* ================================================================== */
29
42
  /* Issue markers (open / closed) — small inline glyphs so the */
30
43
  /* open-vs-closed state reads crisply; they inherit `currentColor`. */
@@ -83,6 +96,38 @@ const IssueClosedIcon = _ref2 => {
83
96
  /* ================================================================== */
84
97
 
85
98
  const STAGE_NAMES = ["Branch", "Commits", "Pull request", "CI / Build", "Deploy"];
99
+ const MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
100
+ const pad = n => String(n).padStart(2, "0");
101
+
102
+ /**
103
+ * Reproduces ActiveCollab's standard `Ago` component (`Angie.functions.ago()`)
104
+ * for the mock: "Just now", "N minutes ago", "Today HH:mm", "Yesterday HH:mm",
105
+ * "MMM D. HH:mm", else "MMM D. YYYY HH:mm". Production must use the real one,
106
+ * which also carries the absolute timestamp in a tooltip and auto-refreshes.
107
+ */
108
+ const formatAgo = minutesAgo => {
109
+ const now = new Date();
110
+ const then = new Date(now.getTime() - minutesAgo * 60000);
111
+ if (minutesAgo < 2) {
112
+ return "Just now";
113
+ }
114
+ if (minutesAgo < 60) {
115
+ return Math.floor(minutesAgo) + " minutes ago";
116
+ }
117
+ const time = pad(then.getHours()) + ":" + pad(then.getMinutes());
118
+ if (then.toDateString() === now.toDateString()) {
119
+ return "Today " + time;
120
+ }
121
+ const yesterday = new Date(now.getTime() - 24 * 60 * 60000);
122
+ if (then.toDateString() === yesterday.toDateString()) {
123
+ return "Yesterday " + time;
124
+ }
125
+ const monthDay = MONTHS[then.getMonth()] + " " + then.getDate() + ".";
126
+ if (then.getFullYear() === now.getFullYear()) {
127
+ return monthDay + " " + time;
128
+ }
129
+ return monthDay + " " + then.getFullYear() + " " + time;
130
+ };
86
131
 
87
132
  /** A VCS issue. Weakly referenced by any number of branches / PRs. */
88
133
 
@@ -174,13 +219,13 @@ const CODE_ENTRIES = [{
174
219
  history: [{
175
220
  icon: GitBranchIcon,
176
221
  title: "Branch created",
177
- detail: "spike/rank-cache",
178
- meta: "Ilija Studen · today, 12:40"
222
+ detail: "spike/rank-cache by Ilija Studen",
223
+ minutesAgo: 120
179
224
  }, {
180
225
  icon: GitCommitIcon,
181
- title: "Pushed 1 commit",
182
- detail: "Prototype rank cache",
183
- meta: "Ilija Studen · 30m ago"
226
+ title: "One commit pushed",
227
+ detail: "Ilija Studen: “Prototype rank cache",
228
+ minutesAgo: 30
184
229
  }]
185
230
  }, {
186
231
  kind: "branch",
@@ -226,13 +271,13 @@ const CODE_ENTRIES = [{
226
271
  history: [{
227
272
  icon: GitBranchIcon,
228
273
  title: "Branch created",
229
- detail: "feature/retainers-ui-34",
230
- meta: "Dragana A. · today, 08:02"
274
+ detail: "feature/retainers-ui-34 by Dragana A.",
275
+ minutesAgo: 480
231
276
  }, {
232
277
  icon: GitCommitIcon,
233
- title: "Pushed 6 commits",
234
- detail: "Retainer settings screen",
235
- meta: "Dragana A. · 1h ago"
278
+ title: "6 commits pushed",
279
+ detail: "Last by Dragana A.: “Retainer settings screen",
280
+ minutesAgo: 60
236
281
  }]
237
282
  }, {
238
283
  kind: "pr",
@@ -241,6 +286,8 @@ const CODE_ENTRIES = [{
241
286
  repo: "frontend",
242
287
  repoFull: "activecollab/frontend",
243
288
  status: "merged",
289
+ sourceBranch: "feature/contracts-ui-34",
290
+ targetBranch: "main",
244
291
  contributors: [{
245
292
  initials: "MK",
246
293
  bg: AVATAR_COLORS.blue
@@ -281,26 +328,108 @@ const CODE_ENTRIES = [{
281
328
  history: [{
282
329
  icon: GitBranchIcon,
283
330
  title: "Branch created",
284
- detail: "feature/contracts-ui-34",
285
- meta: "Marko K. · today, 07:10"
331
+ detail: "feature/contracts-ui-34 by Marko K.",
332
+ minutesAgo: 11520
286
333
  }, {
287
- icon: GitPullRequestIcon,
288
- title: "Pull request merged",
289
- detail: "into main",
290
- meta: "Marko K. · today, 10:12",
291
- tone: "success"
334
+ icon: GitCommitIcon,
335
+ title: "6 commits pushed",
336
+ detail: "Last by Marko K.: “Wire rank controls to contracts API”",
337
+ minutesAgo: 10080
338
+ }, {
339
+ icon: GitPullRequestDraftIcon,
340
+ title: "Draft pull request opened",
341
+ detail: "Target: main by Marko K.",
342
+ minutesAgo: 8640
292
343
  }, {
293
- icon: RocketIcon,
344
+ icon: GearIcon,
294
345
  title: "Build started",
295
- detail: "CI pipeline #482",
296
- meta: "today, 10:13",
346
+ detail: "CI pipeline #479",
347
+ minutesAgo: 8639,
297
348
  tone: "progress"
298
349
  }, {
299
- icon: WarningTriangleSmallIcon,
350
+ icon: GearFailedIcon,
300
351
  title: "Build failed",
301
352
  detail: "3 of 12 checks failed",
302
- meta: "today, 10:18",
353
+ minutesAgo: 8635,
303
354
  tone: "danger"
355
+ }, {
356
+ icon: GitCommitIcon,
357
+ title: "2 commits pushed",
358
+ detail: "Last by Marko K.: “Fix failing snapshot tests”",
359
+ minutesAgo: 7200
360
+ }, {
361
+ icon: GearIcon,
362
+ title: "Build passed",
363
+ detail: "All 12 checks passed · CI pipeline #482",
364
+ minutesAgo: 7195,
365
+ tone: "success"
366
+ }, {
367
+ icon: GitPullRequestIcon,
368
+ title: "Marked ready for review",
369
+ author: "Marko K.",
370
+ minutesAgo: 5760,
371
+ tone: "progress"
372
+ }, {
373
+ icon: EyeIcon,
374
+ title: "Review requested",
375
+ detail: "Requested by Ana P., Ilija S. and 2 more",
376
+ minutesAgo: 5755
377
+ }, {
378
+ icon: MessageIcon,
379
+ title: "Changes requested",
380
+ detail: "Request on 4 files by Ana P.",
381
+ minutesAgo: 4320
382
+ }, {
383
+ icon: GitCommitIcon,
384
+ title: "One commit pushed",
385
+ detail: "Marko K.: “Address review feedback”",
386
+ minutesAgo: 4000
387
+ }, {
388
+ icon: GitPullRequestClosedIcon,
389
+ title: "Pull request closed",
390
+ detail: "Closed without merging by Marko K.",
391
+ minutesAgo: 2880
392
+ }, {
393
+ icon: GitPullRequestIcon,
394
+ title: "Pull request reopened",
395
+ detail: "Target: main by Marko K.",
396
+ minutesAgo: 1680,
397
+ tone: "progress"
398
+ }, {
399
+ icon: GitCommitIcon,
400
+ title: "4 commits pushed",
401
+ detail: "Last by Marko K.: “Rebuild rank controls with a new segmented layout, keyboard navigation, and analytics events”",
402
+ minutesAgo: 1560
403
+ }, {
404
+ icon: CloudDeployIcon,
405
+ title: "Deployed to staging",
406
+ detail: "Release ci-4821",
407
+ minutesAgo: 300,
408
+ tone: "success"
409
+ }, {
410
+ icon: CheckIcon,
411
+ title: "Approved",
412
+ detail: "2 approvals · Ana P., Ilija S.",
413
+ minutesAgo: 180,
414
+ tone: "success"
415
+ }, {
416
+ icon: GitMergeIcon,
417
+ title: "Pull request merged",
418
+ detail: "Target: main by Marko K.",
419
+ minutesAgo: 38,
420
+ tone: "success"
421
+ }, {
422
+ icon: CloudDeployFailedIcon,
423
+ title: "Deploy failed",
424
+ detail: "Target: production by Marko K.",
425
+ minutesAgo: 24,
426
+ tone: "danger"
427
+ }, {
428
+ icon: CloudDeployIcon,
429
+ title: "Deployed to production",
430
+ detail: "Release v2026.7.3",
431
+ minutesAgo: 1,
432
+ tone: "success"
304
433
  }]
305
434
  }, {
306
435
  kind: "branch",
@@ -339,18 +468,18 @@ const CODE_ENTRIES = [{
339
468
  history: [{
340
469
  icon: GitBranchIcon,
341
470
  title: "Branch created",
342
- detail: "feature/retainers-34",
343
- meta: "Ilija Studen · 1 Mar, 09:12"
471
+ detail: "feature/retainers-34 by Ilija Studen",
472
+ minutesAgo: 4320
344
473
  }, {
345
474
  icon: GitCommitIcon,
346
- title: "Pushed 14 commits",
347
- detail: "Rank model + datastore updates",
348
- meta: "Ilija Studen · 2 Mar, 16:05"
475
+ title: "14 commits pushed",
476
+ detail: "Last by Ilija Studen: “Rank model + datastore updates",
477
+ minutesAgo: 3000
349
478
  }, {
350
- icon: GitBranchIcon,
479
+ icon: GitMergeIcon,
351
480
  title: "Branch merged",
352
- detail: "via #119909 into main",
353
- meta: "Ilija Studen · 2 Mar, 18:20",
481
+ detail: "Target: main by Ilija Studen",
482
+ minutesAgo: 2880,
354
483
  tone: "success"
355
484
  }]
356
485
  }, {
@@ -360,6 +489,8 @@ const CODE_ENTRIES = [{
360
489
  repo: "backend",
361
490
  repoFull: "activecollab/backend",
362
491
  status: "merged",
492
+ sourceBranch: "feature/retainers-34",
493
+ targetBranch: "main",
363
494
  contributors: [{
364
495
  initials: "IS",
365
496
  bg: AVATAR_COLORS.purple
@@ -397,20 +528,20 @@ const CODE_ENTRIES = [{
397
528
  history: [{
398
529
  icon: GitPullRequestIcon,
399
530
  title: "Pull request opened",
400
- detail: "#119909 · base: main",
401
- meta: "Ilija Studen · 2 Mar, 16:30",
531
+ detail: "Target: main by Ilija Studen",
532
+ minutesAgo: 3000,
402
533
  tone: "progress"
403
534
  }, {
404
535
  icon: CheckIcon,
405
- title: "Approved by 2 reviewers",
406
- detail: "Marko K., Janko S.",
407
- meta: "2 Mar, 18:02",
536
+ title: "Approved",
537
+ detail: "2 approvals · Marko K., Janko S.",
538
+ minutesAgo: 2905,
408
539
  tone: "success"
409
540
  }, {
410
- icon: GitPullRequestIcon,
541
+ icon: GitMergeIcon,
411
542
  title: "Pull request merged",
412
- detail: "into main",
413
- meta: "Ilija Studen · 2 Mar, 18:20",
543
+ detail: "Target: main by Ilija Studen",
544
+ minutesAgo: 2880,
414
545
  tone: "success"
415
546
  }]
416
547
  }, {
@@ -450,19 +581,18 @@ const CODE_ENTRIES = [{
450
581
  history: [{
451
582
  icon: GitBranchIcon,
452
583
  title: "Branch created",
453
- detail: "hotfix/rank-typo",
454
- meta: "Marko K. · 6d ago"
584
+ detail: "hotfix/rank-typo by Marko K.",
585
+ minutesAgo: 8640
455
586
  }, {
456
587
  icon: GitCommitIcon,
457
- title: "Pushed 2 commits",
458
- detail: "Fix rank label typo",
459
- meta: "Marko K. · 6d ago"
588
+ title: "2 commits pushed",
589
+ detail: "Last by Marko K.: “Fix rank label typo",
590
+ minutesAgo: 8600
460
591
  }, {
461
592
  icon: TrashIcon,
462
593
  title: "Branch deleted",
463
- detail: "soft delete history preserved",
464
- meta: "Marko K. · 5d ago",
465
- tone: "danger"
594
+ detail: "Soft deleted by Marko K.",
595
+ minutesAgo: 7000
466
596
  }]
467
597
  }, {
468
598
  kind: "pr",
@@ -471,6 +601,8 @@ const CODE_ENTRIES = [{
471
601
  repo: "backend",
472
602
  repoFull: "activecollab/backend",
473
603
  status: "merged",
604
+ sourceBranch: "fix/rank-clamp-33",
605
+ targetBranch: "main",
474
606
  contributors: [{
475
607
  initials: "MK",
476
608
  bg: AVATAR_COLORS.blue
@@ -501,13 +633,19 @@ const CODE_ENTRIES = [{
501
633
  history: [{
502
634
  icon: GitBranchIcon,
503
635
  title: "Branch created",
504
- detail: "fix/rank-clamp-33",
505
- meta: "Marko K. · 6d ago"
636
+ detail: "fix/rank-clamp-33 by Marko K.",
637
+ minutesAgo: 8640
506
638
  }, {
507
639
  icon: GitPullRequestIcon,
640
+ title: "Pull request opened",
641
+ detail: "Target: main by Marko K.",
642
+ minutesAgo: 8600,
643
+ tone: "progress"
644
+ }, {
645
+ icon: GitMergeIcon,
508
646
  title: "Pull request merged",
509
- detail: "into main",
510
- meta: "Marko K. · 5d ago",
647
+ detail: "Target: main by Marko K.",
648
+ minutesAgo: 7200,
511
649
  tone: "success"
512
650
  }]
513
651
  }, {
@@ -517,6 +655,8 @@ const CODE_ENTRIES = [{
517
655
  repo: "backend",
518
656
  repoFull: "activecollab/backend",
519
657
  status: "closed",
658
+ sourceBranch: "feature/rank-datastore-cache",
659
+ targetBranch: "main",
520
660
  contributors: [{
521
661
  initials: "IS",
522
662
  bg: AVATAR_COLORS.purple
@@ -551,14 +691,14 @@ const CODE_ENTRIES = [{
551
691
  history: [{
552
692
  icon: GitPullRequestIcon,
553
693
  title: "Pull request opened",
554
- detail: "#119888 · base: main",
555
- meta: "Ilija Studen · 4d ago",
694
+ detail: "Target: main by Ilija Studen",
695
+ minutesAgo: 5760,
556
696
  tone: "progress"
557
697
  }, {
558
- icon: CancelCrossIcon,
698
+ icon: GitPullRequestClosedIcon,
559
699
  title: "Pull request closed",
560
- detail: "closed without merging",
561
- meta: "Ilija Studen · 3d ago"
700
+ detail: "Closed without merging by Ilija Studen",
701
+ minutesAgo: 4320
562
702
  }]
563
703
  }];
564
704
 
@@ -624,10 +764,13 @@ const Spine = _ref4 => {
624
764
  className: items[i + 1].state !== "todo" ? "connector on" : "connector"
625
765
  })))));
626
766
  };
767
+
768
+ /* The whole content scrolls together (header + stream + note) once the stream
769
+ is long — the dialog title bar stays fixed, everything below scrolls. */
627
770
  const StyledHistory = styled.div.withConfig({
628
771
  displayName: "SourceCodeSection__StyledHistory",
629
772
  componentId: "sc-rvqbh5-2"
630
- })(["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);
773
+ })(["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);
631
774
  const HistoryDialog = _ref5 => {
632
775
  let entry = _ref5.entry,
633
776
  onClose = _ref5.onClose;
@@ -644,38 +787,82 @@ const HistoryDialog = _ref5 => {
644
787
  justifyContent: "space-between",
645
788
  gap: 12
646
789
  }
647
- }, /*#__PURE__*/React.createElement(Header3, null, "Source Code History"), /*#__PURE__*/React.createElement(IconButton, {
790
+ }, /*#__PURE__*/React.createElement(Header3, null, (entry == null ? void 0 : entry.kind) === "branch" ? "Branch History" : "Pull Request History"), /*#__PURE__*/React.createElement(IconButton, {
648
791
  type: "button",
649
792
  variant: "text gray",
650
793
  onClick: onClose
651
794
  }, /*#__PURE__*/React.createElement(CancelCrossIcon, null)))), /*#__PURE__*/React.createElement(Dialog.ContentDivider, null), /*#__PURE__*/React.createElement(Dialog.Content, null, entry && /*#__PURE__*/React.createElement(StyledHistory, null, /*#__PURE__*/React.createElement("div", {
652
- className: "hist-sub"
653
- }, /*#__PURE__*/React.createElement(Body2, {
795
+ className: "hist-header"
796
+ }, /*#__PURE__*/React.createElement("div", {
797
+ className: "hist-name"
798
+ }, /*#__PURE__*/React.createElement(Body1, {
654
799
  weight: "medium"
655
- }, entry.title), /*#__PURE__*/React.createElement(Caption1, {
656
- color: "secondary"
657
- }, entry.repoFull)), entry.history.map((ev, i) => {
658
- var _ev$tone;
659
- return /*#__PURE__*/React.createElement("div", {
660
- className: "hist-event",
661
- key: ev.title + "-" + i
662
- }, /*#__PURE__*/React.createElement("span", {
663
- className: "hist-icon " + ((_ev$tone = ev.tone) != null ? _ev$tone : "neutral")
664
- }, /*#__PURE__*/React.createElement(ev.icon, {
665
- width: 14,
666
- height: 14
667
- })), /*#__PURE__*/React.createElement("div", {
668
- className: "hist-body"
669
- }, /*#__PURE__*/React.createElement(Body2, {
670
- weight: "medium"
671
- }, ev.title), ev.detail && /*#__PURE__*/React.createElement(Caption1, {
672
- color: "secondary"
673
- }, ev.detail), /*#__PURE__*/React.createElement(Caption1, {
674
- color: "tertiary"
675
- }, ev.meta)));
676
- }), !entry.pipelineSupported && /*#__PURE__*/React.createElement("div", {
800
+ }, entry.status === "deleted" ? entry.title : /*#__PURE__*/React.createElement(TitleLink, {
801
+ href: codeUrl(entry),
802
+ target: "_blank",
803
+ rel: "noopener noreferrer"
804
+ }, entry.title)), /*#__PURE__*/React.createElement(CodeStatusChip, {
805
+ entry: entry
806
+ })), entry.kind === "pr" && entry.sourceBranch && entry.targetBranch && /*#__PURE__*/React.createElement("div", {
807
+ className: "hist-branches"
808
+ }, /*#__PURE__*/React.createElement("span", {
809
+ className: "hist-branch"
810
+ }, /*#__PURE__*/React.createElement(GitBranchIcon, {
811
+ width: 14,
812
+ height: 14
813
+ }), entry.sourceBranch), /*#__PURE__*/React.createElement(ArrowRightIcon, {
814
+ width: 14,
815
+ height: 14
816
+ }), /*#__PURE__*/React.createElement("span", {
817
+ className: "hist-branch"
818
+ }, /*#__PURE__*/React.createElement(GitBranchIcon, {
819
+ width: 14,
820
+ height: 14
821
+ }), entry.targetBranch)), /*#__PURE__*/React.createElement("span", {
822
+ className: "hist-repo"
823
+ }, /*#__PURE__*/React.createElement(GitRepositoryIcon, {
824
+ width: 14,
825
+ height: 14
826
+ }), entry.repoFull)), [...entry.history].sort((a, b) => a.minutesAgo - b.minutesAgo).map((ev, i) => /*#__PURE__*/React.createElement("div", {
827
+ className: "hist-event",
828
+ key: ev.title + "-" + i
829
+ }, /*#__PURE__*/React.createElement("span", {
830
+ className: "hist-icon"
831
+ }, /*#__PURE__*/React.createElement(ev.icon, _extends({
832
+ width: 22,
833
+ height: 22
834
+ }, iconColorProps(ev.icon)))), /*#__PURE__*/React.createElement("div", {
835
+ className: "hist-body"
836
+ }, /*#__PURE__*/React.createElement("div", {
837
+ className: "hist-title"
838
+ }, /*#__PURE__*/React.createElement(Body1, {
839
+ weight: "medium"
840
+ }, ev.title), ev.tone === "success" && /*#__PURE__*/React.createElement("span", {
841
+ className: "hist-status"
842
+ }, /*#__PURE__*/React.createElement(CheckIcon, {
843
+ width: 16,
844
+ height: 16,
845
+ fill: "var(--color-sucess-green)"
846
+ })), ev.tone === "danger" && /*#__PURE__*/React.createElement("span", {
847
+ className: "sc-chip fail"
848
+ }, /*#__PURE__*/React.createElement(CloseIcon, {
849
+ width: 12,
850
+ height: 12,
851
+ fill: "var(--red-alert)"
852
+ }), "Failed")), ev.detail && /*#__PURE__*/React.createElement("span", {
853
+ className: "hist-line"
854
+ }, ev.detail), ev.author && /*#__PURE__*/React.createElement("span", {
855
+ className: "hist-line"
856
+ }, ev.author)), /*#__PURE__*/React.createElement("div", {
857
+ className: "hist-meta"
858
+ }, /*#__PURE__*/React.createElement("span", {
859
+ className: "hist-line"
860
+ }, formatAgo(ev.minutesAgo))))), !entry.pipelineSupported && /*#__PURE__*/React.createElement("div", {
677
861
  className: "hist-note"
678
- }, /*#__PURE__*/React.createElement(Caption1, {
862
+ }, /*#__PURE__*/React.createElement(InfoSmallIcon, {
863
+ width: 15,
864
+ height: 15
865
+ }), /*#__PURE__*/React.createElement(Caption1, {
679
866
  color: "secondary"
680
867
  }, "No CI or deployment pipeline is configured for this repository.")))));
681
868
  };