@workflow/web-shared 5.0.0-beta.26 → 5.0.0-beta.28

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 (94) hide show
  1. package/dist/components/new-trace-viewer/components/detail-panel-width.d.ts +34 -0
  2. package/dist/components/new-trace-viewer/components/detail-panel-width.d.ts.map +1 -0
  3. package/dist/components/new-trace-viewer/components/detail-panel-width.js +67 -0
  4. package/dist/components/new-trace-viewer/components/detail-panel.d.ts +14 -0
  5. package/dist/components/new-trace-viewer/components/detail-panel.d.ts.map +1 -0
  6. package/dist/components/new-trace-viewer/components/detail-panel.js +122 -0
  7. package/dist/components/new-trace-viewer/components/draggable-border.d.ts +31 -0
  8. package/dist/components/new-trace-viewer/components/draggable-border.d.ts.map +1 -0
  9. package/dist/components/new-trace-viewer/components/draggable-border.js +140 -0
  10. package/dist/components/new-trace-viewer/components/event-list.d.ts +1 -1
  11. package/dist/components/new-trace-viewer/components/event-list.d.ts.map +1 -1
  12. package/dist/components/new-trace-viewer/components/event-list.js +3 -5
  13. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.d.ts +1 -1
  14. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.d.ts.map +1 -1
  15. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.js +2 -2
  16. package/dist/components/new-trace-viewer/components/minimap.d.ts +14 -0
  17. package/dist/components/new-trace-viewer/components/minimap.d.ts.map +1 -0
  18. package/dist/components/new-trace-viewer/components/minimap.js +337 -0
  19. package/dist/components/new-trace-viewer/components/pane-constants.d.ts +14 -0
  20. package/dist/components/new-trace-viewer/components/pane-constants.d.ts.map +1 -0
  21. package/dist/components/new-trace-viewer/components/pane-constants.js +16 -0
  22. package/dist/components/new-trace-viewer/components/split-pane.d.ts +1 -4
  23. package/dist/components/new-trace-viewer/components/split-pane.d.ts.map +1 -1
  24. package/dist/components/new-trace-viewer/components/split-pane.js +18 -16
  25. package/dist/components/new-trace-viewer/components/timeline.d.ts +2 -2
  26. package/dist/components/new-trace-viewer/components/timeline.d.ts.map +1 -1
  27. package/dist/components/new-trace-viewer/components/timeline.js +5 -7
  28. package/dist/components/new-trace-viewer/components/trace-viewer-skeleton.d.ts.map +1 -1
  29. package/dist/components/new-trace-viewer/components/trace-viewer-skeleton.js +10 -3
  30. package/dist/components/new-trace-viewer/components/use-element-width.d.ts +8 -0
  31. package/dist/components/new-trace-viewer/components/use-element-width.d.ts.map +1 -0
  32. package/dist/components/new-trace-viewer/components/use-element-width.js +25 -0
  33. package/dist/components/new-trace-viewer/context.d.ts +2 -0
  34. package/dist/components/new-trace-viewer/context.d.ts.map +1 -1
  35. package/dist/components/new-trace-viewer/context.js +3 -2
  36. package/dist/components/new-trace-viewer/trace-viewer.d.ts.map +1 -1
  37. package/dist/components/new-trace-viewer/trace-viewer.js +53 -181
  38. package/dist/components/new-trace-viewer/utils.d.ts +21 -0
  39. package/dist/components/new-trace-viewer/utils.d.ts.map +1 -1
  40. package/dist/components/new-trace-viewer/utils.js +44 -3
  41. package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
  42. package/dist/components/sidebar/attribute-panel.js +38 -35
  43. package/dist/components/sidebar/attributes-block.d.ts +18 -7
  44. package/dist/components/sidebar/attributes-block.d.ts.map +1 -1
  45. package/dist/components/sidebar/attributes-block.js +76 -18
  46. package/dist/components/sidebar/events-list.d.ts +1 -1
  47. package/dist/components/sidebar/events-list.d.ts.map +1 -1
  48. package/dist/components/sidebar/events-list.js +9 -10
  49. package/dist/components/trace-viewer/components/map.d.ts +2 -2
  50. package/dist/components/trace-viewer/components/map.d.ts.map +1 -1
  51. package/dist/components/trace-viewer/components/node.d.ts +7 -7
  52. package/dist/components/trace-viewer/components/node.d.ts.map +1 -1
  53. package/dist/components/ui/collapsible.d.ts +46 -0
  54. package/dist/components/ui/collapsible.d.ts.map +1 -0
  55. package/dist/components/ui/collapsible.js +66 -0
  56. package/dist/components/ui/data-inspector.js +2 -7
  57. package/dist/index.d.ts +2 -2
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +3 -3
  60. package/dist/lib/hydration.d.ts +12 -2
  61. package/dist/lib/hydration.d.ts.map +1 -1
  62. package/dist/lib/hydration.js +41 -18
  63. package/dist/lib/utils.d.ts +8 -5
  64. package/dist/lib/utils.d.ts.map +1 -1
  65. package/dist/lib/utils.js +13 -16
  66. package/package.json +6 -6
  67. package/src/components/new-trace-viewer/components/detail-panel-width.test.ts +123 -0
  68. package/src/components/new-trace-viewer/components/detail-panel-width.ts +76 -0
  69. package/src/components/new-trace-viewer/components/detail-panel.tsx +272 -0
  70. package/src/components/new-trace-viewer/components/draggable-border.tsx +216 -0
  71. package/src/components/new-trace-viewer/components/event-list.tsx +3 -5
  72. package/src/components/new-trace-viewer/components/middle-truncate/truncate.ts +1 -1
  73. package/src/components/new-trace-viewer/components/minimap.tsx +559 -0
  74. package/src/components/new-trace-viewer/components/pane-constants.ts +19 -0
  75. package/src/components/new-trace-viewer/components/split-pane.tsx +44 -55
  76. package/src/components/new-trace-viewer/components/timeline.tsx +3 -5
  77. package/src/components/new-trace-viewer/components/trace-viewer-skeleton.tsx +21 -1
  78. package/src/components/new-trace-viewer/components/use-element-width.ts +29 -0
  79. package/src/components/new-trace-viewer/context.tsx +4 -1
  80. package/src/components/new-trace-viewer/trace-viewer.tsx +93 -312
  81. package/src/components/new-trace-viewer/utils.test.ts +65 -0
  82. package/src/components/new-trace-viewer/utils.ts +76 -2
  83. package/src/components/sidebar/attribute-panel.tsx +106 -105
  84. package/src/components/sidebar/attributes-block.tsx +170 -50
  85. package/src/components/sidebar/events-list.tsx +107 -92
  86. package/src/components/ui/collapsible.tsx +219 -0
  87. package/src/index.ts +8 -7
  88. package/src/lib/hydration.ts +48 -25
  89. package/src/lib/utils.test.ts +33 -0
  90. package/src/lib/utils.ts +12 -16
  91. package/dist/components/sidebar/detail-card.d.ts +0 -13
  92. package/dist/components/sidebar/detail-card.d.ts.map +0 -1
  93. package/dist/components/sidebar/detail-card.js +0 -36
  94. package/src/components/sidebar/detail-card.tsx +0 -143
@@ -1,143 +0,0 @@
1
- import { ChevronDown, ChevronRight } from 'lucide-react';
2
- import { type ReactNode, useState } from 'react';
3
- import { cn } from '../../lib/cn';
4
-
5
- export function DetailCard({
6
- summary,
7
- children,
8
- onToggle,
9
- disabled = false,
10
- defaultOpen = false,
11
- variant = 'section',
12
- trailing,
13
- summaryClassName,
14
- contentClassName,
15
- }: {
16
- summary: ReactNode;
17
- children?: ReactNode;
18
- onToggle?: (open: boolean) => void;
19
- disabled?: boolean;
20
- defaultOpen?: boolean;
21
- variant?: 'section' | 'card';
22
- trailing?: ReactNode;
23
- summaryClassName?: string;
24
- contentClassName?: string;
25
- }) {
26
- const [open, setOpen] = useState(defaultOpen);
27
-
28
- const handleToggle = (e: React.SyntheticEvent<HTMLDetailsElement>) => {
29
- // React surfaces `toggle` as a bubbling synthetic event even though the
30
- // native event doesn't bubble. Without this guard, a nested <details>
31
- // (e.g. an event card inside the Events section) collapsing would flip
32
- // the outer DetailCard's state. Only react to direct toggles.
33
- if (e.target !== e.currentTarget) return;
34
- const next = e.currentTarget.open;
35
- setOpen(next);
36
- onToggle?.(next);
37
- };
38
-
39
- if (variant === 'card') {
40
- if (disabled) {
41
- return (
42
- <div
43
- className={cn(
44
- 'list-none px-3 py-4 bg-background-200 [&::-webkit-details-marker]:hidden',
45
- summaryClassName
46
- )}
47
- style={{ cursor: 'not-allowed', opacity: 0.8 }}
48
- >
49
- {summary}
50
- </div>
51
- );
52
- }
53
- return (
54
- <details
55
- className="group/card last:border-b border-gray-alpha-400"
56
- open={open}
57
- onToggle={handleToggle}
58
- >
59
- <summary
60
- className={cn(
61
- 'list-none cursor-pointer px-3 py-4 border-t border-gray-alpha-400 bg-background-200 hover:bg-gray-100 [&::-webkit-details-marker]:hidden',
62
- summaryClassName
63
- )}
64
- >
65
- <span className="flex items-center gap-1.5">
66
- <ChevronRight
67
- size={14}
68
- className={cn(
69
- 'shrink-0 text-gray-700 group-hover/card:text-gray-1000',
70
- open && 'rotate-90'
71
- )}
72
- />
73
- {summary}
74
- </span>
75
- </summary>
76
- <div className={contentClassName}>{children}</div>
77
- </details>
78
- );
79
- }
80
-
81
- // Shared height with the expandable summary row. Keeps the trailing /
82
- // disabled / chevron variants visually identical in height regardless of
83
- // what's in the trailing slot.
84
- const rowClasses =
85
- 'flex h-9 items-center gap-2 px-2 -mx-2 text-heading-14 font-medium my-2';
86
-
87
- if (trailing) {
88
- return (
89
- <section className="-mx-4 border-t px-4 border-gray-alpha-400">
90
- <div className={cn(rowClasses, summaryClassName)}>
91
- <div className="isolate relative shrink-0 w-3.5 h-3.5 text-gray-700">
92
- <ChevronRight
93
- size={14}
94
- className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"
95
- />
96
- </div>
97
- <span className="min-w-0 flex-1">{summary}</span>
98
- <div className="shrink-0 pr-1">{trailing}</div>
99
- </div>
100
- </section>
101
- );
102
- }
103
-
104
- if (disabled) {
105
- return (
106
- <section className="-mx-4 border-t px-4 border-gray-alpha-400">
107
- <div
108
- className={cn(rowClasses, summaryClassName)}
109
- style={{ color: 'var(--ds-gray-700)', cursor: 'not-allowed' }}
110
- >
111
- <span className="min-w-0 flex-1">{summary}</span>
112
- </div>
113
- </section>
114
- );
115
- }
116
-
117
- return (
118
- <section className="-mx-4 border-t px-4 border-gray-alpha-400">
119
- <details className="group" open={open} onToggle={handleToggle}>
120
- <summary
121
- className={cn(
122
- 'group/trigger list-none cursor-pointer rounded hover:bg-gray-alpha-100 [&::-webkit-details-marker]:hidden',
123
- rowClasses,
124
- summaryClassName
125
- )}
126
- >
127
- <div className="isolate relative shrink-0 text-gray-700 group-hover/trigger:text-gray-1000 w-3.5 h-3.5">
128
- <ChevronRight
129
- size={14}
130
- className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 opacity-100 group-open:opacity-0"
131
- />
132
- <ChevronDown
133
- size={14}
134
- className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 opacity-0 group-open:opacity-100"
135
- />
136
- </div>
137
- <span className="min-w-0 flex-1">{summary}</span>
138
- </summary>
139
- <div className={cn('mb-3', contentClassName)}>{children}</div>
140
- </details>
141
- </section>
142
- );
143
- }