@workflow/web-shared 4.1.0-beta.63 → 4.1.0-beta.65

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 (52) hide show
  1. package/README.md +4 -0
  2. package/dist/components/event-list-view.d.ts +12 -1
  3. package/dist/components/event-list-view.d.ts.map +1 -1
  4. package/dist/components/event-list-view.js +233 -91
  5. package/dist/components/event-list-view.js.map +1 -1
  6. package/dist/components/index.d.ts +4 -0
  7. package/dist/components/index.d.ts.map +1 -1
  8. package/dist/components/index.js +4 -0
  9. package/dist/components/index.js.map +1 -1
  10. package/dist/components/sidebar/entity-detail-panel.d.ts +3 -1
  11. package/dist/components/sidebar/entity-detail-panel.d.ts.map +1 -1
  12. package/dist/components/sidebar/entity-detail-panel.js +4 -14
  13. package/dist/components/sidebar/entity-detail-panel.js.map +1 -1
  14. package/dist/components/stream-viewer.d.ts +3 -1
  15. package/dist/components/stream-viewer.d.ts.map +1 -1
  16. package/dist/components/stream-viewer.js +23 -28
  17. package/dist/components/stream-viewer.js.map +1 -1
  18. package/dist/components/ui/decrypt-button.d.ts +15 -0
  19. package/dist/components/ui/decrypt-button.d.ts.map +1 -0
  20. package/dist/components/ui/decrypt-button.js +12 -0
  21. package/dist/components/ui/decrypt-button.js.map +1 -0
  22. package/dist/components/ui/error-stack-block.d.ts +3 -4
  23. package/dist/components/ui/error-stack-block.d.ts.map +1 -1
  24. package/dist/components/ui/error-stack-block.js +18 -9
  25. package/dist/components/ui/error-stack-block.js.map +1 -1
  26. package/dist/components/ui/load-more-button.d.ts +13 -0
  27. package/dist/components/ui/load-more-button.d.ts.map +1 -0
  28. package/dist/components/ui/load-more-button.js +12 -0
  29. package/dist/components/ui/load-more-button.js.map +1 -0
  30. package/dist/components/ui/menu-dropdown.d.ts +16 -0
  31. package/dist/components/ui/menu-dropdown.d.ts.map +1 -0
  32. package/dist/components/ui/menu-dropdown.js +46 -0
  33. package/dist/components/ui/menu-dropdown.js.map +1 -0
  34. package/dist/components/ui/spinner.d.ts +9 -0
  35. package/dist/components/ui/spinner.d.ts.map +1 -0
  36. package/dist/components/ui/spinner.js +57 -0
  37. package/dist/components/ui/spinner.js.map +1 -0
  38. package/dist/components/workflow-trace-view.d.ts +3 -1
  39. package/dist/components/workflow-trace-view.d.ts.map +1 -1
  40. package/dist/components/workflow-trace-view.js +7 -6
  41. package/dist/components/workflow-trace-view.js.map +1 -1
  42. package/package.json +3 -3
  43. package/src/components/event-list-view.tsx +398 -141
  44. package/src/components/index.ts +4 -0
  45. package/src/components/sidebar/entity-detail-panel.tsx +9 -25
  46. package/src/components/stream-viewer.tsx +52 -63
  47. package/src/components/ui/decrypt-button.tsx +69 -0
  48. package/src/components/ui/error-stack-block.tsx +26 -16
  49. package/src/components/ui/load-more-button.tsx +38 -0
  50. package/src/components/ui/menu-dropdown.tsx +111 -0
  51. package/src/components/ui/spinner.tsx +76 -0
  52. package/src/components/workflow-trace-view.tsx +15 -22
@@ -31,6 +31,7 @@ import {
31
31
  } from './trace-viewer';
32
32
  import type { Span } from './trace-viewer/types';
33
33
  import { Skeleton } from './ui/skeleton';
34
+ import { Spinner } from './ui/spinner';
34
35
  import {
35
36
  getCustomSpanClassName,
36
37
  getCustomSpanEventClassName,
@@ -706,36 +707,20 @@ function PanelResizeHandle({
706
707
  function TraceViewerFooter({
707
708
  hasMore,
708
709
  isLive,
710
+ isInitialLoading,
709
711
  }: {
710
712
  hasMore: boolean;
711
713
  isLive: boolean;
714
+ isInitialLoading: boolean;
712
715
  }): ReactNode {
713
716
  const style = { color: 'var(--ds-gray-900)' };
714
- if (hasMore) {
717
+ if (hasMore || isInitialLoading) {
715
718
  return (
716
719
  <div
717
720
  className="flex items-center justify-center gap-2 py-3 text-xs"
718
721
  style={style}
719
722
  >
720
- <svg
721
- className="h-3.5 w-3.5 animate-spin"
722
- viewBox="0 0 24 24"
723
- fill="none"
724
- >
725
- <circle
726
- className="opacity-25"
727
- cx="12"
728
- cy="12"
729
- r="10"
730
- stroke="currentColor"
731
- strokeWidth="4"
732
- />
733
- <path
734
- className="opacity-75"
735
- fill="currentColor"
736
- d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
737
- />
738
- </svg>
723
+ <Spinner size={14} />
739
724
  Loading more events…
740
725
  </div>
741
726
  );
@@ -783,6 +768,7 @@ export const WorkflowTraceViewer = ({
783
768
  isLoadingMoreSpans = false,
784
769
  encryptionKey,
785
770
  onDecrypt,
771
+ isDecrypting = false,
786
772
  }: {
787
773
  run: WorkflowRun;
788
774
  events: Event[];
@@ -821,6 +807,8 @@ export const WorkflowTraceViewer = ({
821
807
  encryptionKey?: Uint8Array;
822
808
  /** Callback to initiate decryption of encrypted run data */
823
809
  onDecrypt?: () => void;
810
+ /** Whether the encryption key is currently being fetched */
811
+ isDecrypting?: boolean;
824
812
  }) => {
825
813
  const [selectedSpan, setSelectedSpan] = useState<SelectedSpanInfo | null>(
826
814
  null
@@ -997,9 +985,13 @@ export const WorkflowTraceViewer = ({
997
985
  isLive={isLive}
998
986
  trace={trace}
999
987
  knownDurationMs={traceWithMeta?.knownDurationMs}
1000
- hasMoreData={hasMoreSpans}
988
+ hasMoreData={hasMoreSpans || Boolean(isLoading)}
1001
989
  footer={
1002
- <TraceViewerFooter hasMore={hasMoreSpans} isLive={isLive} />
990
+ <TraceViewerFooter
991
+ hasMore={hasMoreSpans}
992
+ isLive={isLive}
993
+ isInitialLoading={Boolean(isLoading)}
994
+ />
1003
995
  }
1004
996
  />
1005
997
  </TraceViewerWithContextMenu>
@@ -1150,6 +1142,7 @@ export const WorkflowTraceViewer = ({
1150
1142
  onResolveHook={onResolveHook}
1151
1143
  encryptionKey={encryptionKey}
1152
1144
  onDecrypt={onDecrypt}
1145
+ isDecrypting={isDecrypting}
1153
1146
  selectedSpan={selectedSpan}
1154
1147
  />
1155
1148
  </ErrorBoundary>