@agentiffai/design 1.3.3 → 1.3.4

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.
@@ -133,10 +133,12 @@ interface WorkflowStatusCardProps extends Omit<AriaButtonProps, 'children'> {
133
133
  workflowName: string;
134
134
  status?: 'online' | 'idle' | 'busy' | 'offline';
135
135
  statusText?: string;
136
+ /** Optional subtitle shown below status (e.g., time triggered) */
137
+ subtitle?: string;
136
138
  className?: string;
137
139
  onClick?: () => void;
138
140
  }
139
- declare function WorkflowStatusCard({ icon, workflowName, status, statusText, className, onClick, onPress, isDisabled, ...ariaProps }: WorkflowStatusCardProps): react_jsx_runtime.JSX.Element;
141
+ declare function WorkflowStatusCard({ icon, workflowName, status, statusText, subtitle, className, onClick, onPress, isDisabled, ...ariaProps }: WorkflowStatusCardProps): react_jsx_runtime.JSX.Element;
140
142
  declare namespace WorkflowStatusCard {
141
143
  var displayName: string;
142
144
  }
@@ -133,10 +133,12 @@ interface WorkflowStatusCardProps extends Omit<AriaButtonProps, 'children'> {
133
133
  workflowName: string;
134
134
  status?: 'online' | 'idle' | 'busy' | 'offline';
135
135
  statusText?: string;
136
+ /** Optional subtitle shown below status (e.g., time triggered) */
137
+ subtitle?: string;
136
138
  className?: string;
137
139
  onClick?: () => void;
138
140
  }
139
- declare function WorkflowStatusCard({ icon, workflowName, status, statusText, className, onClick, onPress, isDisabled, ...ariaProps }: WorkflowStatusCardProps): react_jsx_runtime.JSX.Element;
141
+ declare function WorkflowStatusCard({ icon, workflowName, status, statusText, subtitle, className, onClick, onPress, isDisabled, ...ariaProps }: WorkflowStatusCardProps): react_jsx_runtime.JSX.Element;
140
142
  declare namespace WorkflowStatusCard {
141
143
  var displayName: string;
142
144
  }
@@ -502,12 +502,16 @@ var ContentWrapper = styled9.div`
502
502
  align-items: center;
503
503
  /* Fixed height for actual navbar content - keeps vertical centering */
504
504
  height: 52px;
505
- padding: 0 ${tokens.spacing.sm};
505
+ /* Left padding aligns WorkflowStatusCard icon with NavVertical icons (center at 36px) */
506
+ /* Icon is 36px with 6px card padding, so card edge at 12px, icon center at 12+6+18=36px */
507
+ padding: 0 ${tokens.spacing.xs} 0 12px;
508
+ gap: ${tokens.spacing.xs}; /* 4px gap between status card and action buttons */
506
509
  max-width: 100%;
507
510
 
508
- /* Responsive padding */
509
- @media (min-width: ${tokens.breakpoints.tablet}px) {
510
- padding: 0 ${tokens.spacing.md};
511
+ /* Responsive padding - adjust for mobile nav width (60px, center at 30px) */
512
+ @media (max-width: ${tokens.breakpoints.tablet}px) {
513
+ /* Card edge at 6px, icon center at 6+6+18=30px to match 60px nav */
514
+ padding: 0 ${tokens.spacing.xs} 0 6px;
511
515
  }
512
516
  `;
513
517
  var UserStatusSlot = styled9.div`
@@ -997,9 +1001,9 @@ var Container5 = styled9.button`
997
1001
  display: grid;
998
1002
  grid-template-columns: auto 1fr;
999
1003
  align-items: center;
1000
- gap: ${tokens.spacing.xs};
1004
+ gap: ${tokens.spacing.sm};
1001
1005
  padding: 6px;
1002
- margin: ${tokens.spacing.sm};
1006
+ margin: 0; /* No margin - positioning handled by parent slot */
1003
1007
  border-radius: ${tokens.borderRadius.md};
1004
1008
  border: none;
1005
1009
  background: ${tokens.colors.surface.subtle};
@@ -1009,19 +1013,27 @@ var Container5 = styled9.button`
1009
1013
  cursor: ${(props) => props.$isDisabled ? "default" : "pointer"};
1010
1014
  opacity: ${(props) => props.$isDisabled ? 0.7 : 1};
1011
1015
  text-align: left;
1012
- width: calc(100% - ${tokens.spacing.lg});
1016
+ width: 100%; /* Fill available slot width */
1017
+ /* Remove mobile tap highlight that causes blue flash */
1018
+ -webkit-tap-highlight-color: transparent;
1013
1019
 
1014
1020
  &:hover:not(:disabled) {
1015
1021
  background-color: ${(props) => props.$isDisabled ? tokens.colors.surface.subtle : tokens.colors.surface.overlay};
1016
1022
  }
1017
1023
 
1024
+ &:focus {
1025
+ outline: none;
1026
+ }
1027
+
1018
1028
  &:focus-visible {
1019
- outline: ${(props) => props.$isDisabled ? "none" : `2px solid ${tokens.colors.border.focus}`};
1020
- outline-offset: 2px;
1029
+ outline: none;
1030
+ /* Subtle focus ring instead of bright color */
1031
+ box-shadow: inset 0 0 0 1px ${tokens.colors.border.default};
1021
1032
  }
1022
1033
 
1023
1034
  &:active:not(:disabled) {
1024
- background-color: ${(props) => props.$isDisabled ? tokens.colors.surface.subtle : tokens.colors.surface.overlayActive};
1035
+ /* Subtle press feedback - no color flash */
1036
+ opacity: 0.9;
1025
1037
  }
1026
1038
  `;
1027
1039
  var IconWrapper2 = styled9.div`
@@ -1057,6 +1069,16 @@ var WorkflowStatus = styled9.span`
1057
1069
  line-height: ${tokens.typography.lineHeight.tight};
1058
1070
  text-transform: capitalize;
1059
1071
  `;
1072
+ var WorkflowSubtitle = styled9.span`
1073
+ color: ${tokens.colors.text.tertiary};
1074
+ font-size: ${tokens.typography.fontSize.xs};
1075
+ font-weight: ${tokens.typography.fontWeight.regular};
1076
+ line-height: ${tokens.typography.lineHeight.tight};
1077
+ opacity: 0.7;
1078
+ overflow: hidden;
1079
+ text-overflow: ellipsis;
1080
+ white-space: nowrap;
1081
+ `;
1060
1082
  var StatusIndicatorOuter = styled9.span`
1061
1083
  position: absolute;
1062
1084
  bottom: -2px;
@@ -1080,6 +1102,7 @@ function WorkflowStatusCard({
1080
1102
  workflowName,
1081
1103
  status = "offline",
1082
1104
  statusText,
1105
+ subtitle,
1083
1106
  className,
1084
1107
  onClick,
1085
1108
  onPress,
@@ -1108,7 +1131,8 @@ function WorkflowStatusCard({
1108
1131
  ] }),
1109
1132
  /* @__PURE__ */ jsxs(WorkflowInfo, { children: [
1110
1133
  /* @__PURE__ */ jsx(WorkflowName, { children: workflowName }),
1111
- /* @__PURE__ */ jsx(WorkflowStatus, { children: displayStatus })
1134
+ /* @__PURE__ */ jsx(WorkflowStatus, { children: displayStatus }),
1135
+ subtitle && /* @__PURE__ */ jsx(WorkflowSubtitle, { children: subtitle })
1112
1136
  ] })
1113
1137
  ] });
1114
1138
  }
@@ -2191,8 +2215,8 @@ function WorkflowGroupItem({
2191
2215
  return /* @__PURE__ */ jsxs(CategoryDisclosure, { id: groupId, children: [
2192
2216
  /* @__PURE__ */ jsx(Heading, { level: 4, children: /* @__PURE__ */ jsxs(CategoryHeader, { slot: "trigger", style: { paddingLeft: "8px" }, children: [
2193
2217
  /* @__PURE__ */ jsxs(CategoryTitle, { children: [
2194
- /* @__PURE__ */ jsx("span", { style: { fontSize: tokens.typography.fontSize.base, fontWeight: 500 }, children: group.workflowName }),
2195
- /* @__PURE__ */ jsxs("span", { style: { fontSize: tokens.typography.fontSize.sm, color: tokens.colors.text.tertiary, marginLeft: "8px" }, children: [
2218
+ /* @__PURE__ */ jsx("span", { style: { fontSize: tokens.typography.fontSize.sm, fontWeight: 400 }, children: group.workflowName }),
2219
+ /* @__PURE__ */ jsxs("span", { style: { fontSize: tokens.typography.fontSize.xs, color: tokens.colors.text.tertiary, marginLeft: "8px" }, children: [
2196
2220
  "(",
2197
2221
  group.runs.length,
2198
2222
  ")"