@echothink-ui/task 0.1.0

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 (64) hide show
  1. package/README.md +5 -0
  2. package/dist/components/BackendThinkingChain.d.ts +2 -0
  3. package/dist/components/BlockingReasonPanel.d.ts +2 -0
  4. package/dist/components/DAGEdge.d.ts +2 -0
  5. package/dist/components/DAGLegend.d.ts +2 -0
  6. package/dist/components/DAGNode.d.ts +4 -0
  7. package/dist/components/DecisionRequiredPanel.d.ts +2 -0
  8. package/dist/components/HumanInterventionPanel.d.ts +2 -0
  9. package/dist/components/MobileTaskShell.d.ts +12 -0
  10. package/dist/components/TaskApprovalPanel.d.ts +2 -0
  11. package/dist/components/TaskCard.d.ts +2 -0
  12. package/dist/components/TaskDependencyList.d.ts +2 -0
  13. package/dist/components/TaskDetailPanel.d.ts +2 -0
  14. package/dist/components/TaskHandoffPanel.d.ts +2 -0
  15. package/dist/components/TaskProgressIndicator.d.ts +2 -0
  16. package/dist/components/TaskRetryPanel.d.ts +2 -0
  17. package/dist/components/TaskRunLog.d.ts +2 -0
  18. package/dist/components/TaskStatusBadge.d.ts +2 -0
  19. package/dist/components/TaskTable.d.ts +5 -0
  20. package/dist/components/TaskTimeline.d.ts +2 -0
  21. package/dist/components/TaskWaveDAG.d.ts +2 -0
  22. package/dist/components/TaskWaveHeader.d.ts +2 -0
  23. package/dist/components/TaskWaveTable.d.ts +2 -0
  24. package/dist/components/utils.d.ts +13 -0
  25. package/dist/index.cjs +2434 -0
  26. package/dist/index.cjs.map +1 -0
  27. package/dist/index.css +2402 -0
  28. package/dist/index.css.map +1 -0
  29. package/dist/index.d.ts +27 -0
  30. package/dist/index.js +2388 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/types.d.ts +249 -0
  33. package/package.json +45 -0
  34. package/src/components/BackendThinkingChain.tsx +129 -0
  35. package/src/components/BlockingReasonPanel.tsx +67 -0
  36. package/src/components/DAGEdge.tsx +97 -0
  37. package/src/components/DAGLegend.tsx +86 -0
  38. package/src/components/DAGNode.tsx +103 -0
  39. package/src/components/DecisionRequiredPanel.tsx +166 -0
  40. package/src/components/HumanInterventionPanel.tsx +82 -0
  41. package/src/components/MobileTaskShell.tsx +52 -0
  42. package/src/components/TaskApprovalPanel.tsx +159 -0
  43. package/src/components/TaskCard.tsx +71 -0
  44. package/src/components/TaskDependencyList.test.tsx +54 -0
  45. package/src/components/TaskDependencyList.tsx +105 -0
  46. package/src/components/TaskDetailPanel.test.tsx +49 -0
  47. package/src/components/TaskDetailPanel.tsx +139 -0
  48. package/src/components/TaskHandoffPanel.tsx +125 -0
  49. package/src/components/TaskProgressIndicator.tsx +70 -0
  50. package/src/components/TaskRetryPanel.test.tsx +29 -0
  51. package/src/components/TaskRetryPanel.tsx +103 -0
  52. package/src/components/TaskRunLog.tsx +156 -0
  53. package/src/components/TaskStatusBadge.tsx +29 -0
  54. package/src/components/TaskTable.tsx +294 -0
  55. package/src/components/TaskTimeline.tsx +98 -0
  56. package/src/components/TaskWaveDAG.tsx +202 -0
  57. package/src/components/TaskWaveHeader.tsx +82 -0
  58. package/src/components/TaskWaveTable.tsx +151 -0
  59. package/src/components/css.d.ts +1 -0
  60. package/src/components/utils.ts +116 -0
  61. package/src/index.test.tsx +316 -0
  62. package/src/index.tsx +90 -0
  63. package/src/styles.css +2889 -0
  64. package/src/types.ts +289 -0
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # @echothink-ui/task
2
+
3
+ Task package for EchoThink app-domain websites.
4
+
5
+ This package is part of the EchoThink-UI app-domain library. It is designed for normal website app domains rendered inside EchoThink Studio's Chromium shell, not for implementing the studio browser chrome itself.
@@ -0,0 +1,2 @@
1
+ import type { BackendThinkingChainProps } from "../types";
2
+ export declare function BackendThinkingChain({ steps, streaming, className, ...props }: BackendThinkingChainProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { BlockingReasonPanelProps } from "../types";
2
+ export declare function BlockingReasonPanel({ blockers, className, title, description, severity, status, ...props }: BlockingReasonPanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { DAGEdgeProps } from "../types";
2
+ export declare function DAGEdge({ from, to, status, label, className, "aria-label": ariaLabel, ...props }: DAGEdgeProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { DAGLegendProps } from "../types";
2
+ export declare function DAGLegend({ statuses, edgeTypes, className, "aria-label": ariaLabel, ...props }: DAGLegendProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import type { DAGNodeProps } from "../types";
2
+ export declare function DAGNode({ node, selected, onSelect, className, ...props }: DAGNodeProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare const DAG_NODE_WIDTH = 156;
4
+ export declare const DAG_NODE_HEIGHT = 60;
@@ -0,0 +1,2 @@
1
+ import type { DecisionRequiredPanelProps } from "../types";
2
+ export declare function DecisionRequiredPanel({ title, summary, riskLevel, evidence, options, onDecide, decidedOptionId, className, description, actions, items, severity, status, ...props }: DecisionRequiredPanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { HumanInterventionPanelProps } from "../types";
2
+ export declare function HumanInterventionPanel({ reason, affectedTask, actions, urgency, className, title, status, severity, role, "aria-labelledby": ariaLabelledBy, ...props }: HumanInterventionPanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ export interface MobileTaskShellProps {
3
+ title?: React.ReactNode;
4
+ subtitle?: React.ReactNode;
5
+ progress?: React.ReactNode;
6
+ main?: React.ReactNode;
7
+ footer?: React.ReactNode;
8
+ identity?: React.ReactNode;
9
+ children?: React.ReactNode;
10
+ className?: string;
11
+ }
12
+ export declare function MobileTaskShell({ title, subtitle, progress, main, footer, identity, children, className }: MobileTaskShellProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskApprovalPanelProps } from "../types";
2
+ export declare function TaskApprovalPanel({ taskRef, diffRef, policyRef, summary, evidence, onApprove, onReject, onRequestChanges, state, title, description, footer, ...props }: TaskApprovalPanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskCardProps } from "../types";
2
+ export declare function TaskCard({ task, actions, onSelect, className, ...props }: TaskCardProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskDependencyListProps } from "../types";
2
+ export declare function TaskDependencyList({ dependencies, blocks, blockedBy, emptyTitle, className, ...props }: TaskDependencyListProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskDetailPanelProps } from "../types";
2
+ export declare function TaskDetailPanel({ task, dependencies, events, actions, className, title, description, items, ...props }: TaskDetailPanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskHandoffPanelProps } from "../types";
2
+ export declare function TaskHandoffPanel({ assigneeOptions, currentAssigneeId, onHandoff, reasonRequired, className, title, description, ...props }: TaskHandoffPanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskProgressIndicatorProps } from "../types";
2
+ export declare function TaskProgressIndicator({ value, total, steps, label, className, ...props }: TaskProgressIndicatorProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskRetryPanelProps } from "../types";
2
+ export declare function TaskRetryPanel({ taskRef, failureSummary, retryPolicy, attemptCount, onRetry, className, title, description, ...props }: TaskRetryPanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskRunLogProps } from "../types";
2
+ export declare function TaskRunLog({ entries, streaming, onPauseToggle, onFilter, levelFilter, windowSize, className, title, description, ...props }: TaskRunLogProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskStatusBadgeProps } from "../types";
2
+ export declare function TaskStatusBadge({ status, label, className, title, ...props }: TaskStatusBadgeProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type { Task, TaskTableProps } from "../types";
2
+ export declare function TaskTable({ tasks, items, density, selectable, selectedRows, onSelectionChange, rowActions, bulkActions, columns, showFilters, statusFilter, onStatusFilterChange, className, title, description, actions, subtitle: _subtitle, eyebrow: _eyebrow, status: _status, severity: _severity, loading: _loading, empty: _empty, error: _error, metadata: _metadata, footer: _footer, "aria-label": ariaLabel, ...sectionProps }: TaskTableProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare function StatusCell({ task }: {
4
+ task: Task;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskTimelineProps } from "../types";
2
+ export declare function TaskTimeline({ events, className, role, "aria-label": ariaLabel, ...props }: TaskTimelineProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskWaveDAGProps } from "../types";
2
+ export declare function TaskWaveDAG({ nodes, edges, layout, onNodeSelect, selectedNodeId, className, title, description, ...props }: TaskWaveDAGProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskWaveHeaderProps } from "../types";
2
+ export declare function TaskWaveHeader({ wave, actions, className, title, description, ...props }: TaskWaveHeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { TaskWaveTableProps } from "../types";
2
+ export declare function TaskWaveTable({ wave, tasks, items, onTaskSelect, rowActions, className, title, description, ..._surfaceProps }: TaskWaveTableProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import type { EthOperationalStatus, EthSeverity } from "@echothink-ui/core";
2
+ import type { RiskLevel, TaskPriority, TaskWave } from "../types";
3
+ export declare function severityForStatus(status: EthOperationalStatus): EthSeverity;
4
+ export declare function severityForPriority(priority?: TaskPriority): EthSeverity;
5
+ export declare function severityForRisk(riskLevel?: RiskLevel): EthSeverity;
6
+ export declare function labelForStatus(status: EthOperationalStatus): string;
7
+ export declare function formatDateTime(value?: string | Date): string;
8
+ export declare function relativeTime(value?: string | Date, now?: Date): string;
9
+ export declare function formatDuration(durationMs?: number): string;
10
+ export declare function clampProgress(value?: number, total?: number): number;
11
+ export declare function waveProgress(wave?: TaskWave): number;
12
+ export declare function statusColor(status?: EthOperationalStatus): "var(--eth-color-success)" | "var(--eth-color-info)" | "var(--eth-color-danger)" | "var(--eth-color-warning)" | "var(--eth-color-border-strong)";
13
+ export declare function fallbackId(prefix: string): string;