@agentiffai/design 0.1.5 → 0.1.6

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 (42) hide show
  1. package/dist/{Window-CukhSS8T.d.cts → StreamStatusIndicator-DM5n4MI1.d.cts} +141 -4
  2. package/dist/{Window-CukhSS8T.d.ts → StreamStatusIndicator-DM5n4MI1.d.ts} +141 -4
  3. package/dist/copilotkit/index.cjs +937 -206
  4. package/dist/copilotkit/index.cjs.map +1 -1
  5. package/dist/copilotkit/index.d.cts +1 -1
  6. package/dist/copilotkit/index.d.ts +1 -1
  7. package/dist/copilotkit/index.js +935 -207
  8. package/dist/copilotkit/index.js.map +1 -1
  9. package/dist/index.cjs +1819 -164
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.cts +17 -3
  12. package/dist/index.d.ts +17 -3
  13. package/dist/index.js +1812 -165
  14. package/dist/index.js.map +1 -1
  15. package/dist/layout/index.cjs +85 -50
  16. package/dist/layout/index.cjs.map +1 -1
  17. package/dist/layout/index.d.cts +10 -3
  18. package/dist/layout/index.d.ts +10 -3
  19. package/dist/layout/index.js +85 -50
  20. package/dist/layout/index.js.map +1 -1
  21. package/dist/theme/index.cjs +6 -1
  22. package/dist/theme/index.cjs.map +1 -1
  23. package/dist/theme/index.d.cts +8 -0
  24. package/dist/theme/index.d.ts +8 -0
  25. package/dist/theme/index.js +6 -1
  26. package/dist/theme/index.js.map +1 -1
  27. package/dist/workflow/index.cjs +995 -0
  28. package/dist/workflow/index.cjs.map +1 -0
  29. package/dist/workflow/index.d.cts +168 -0
  30. package/dist/workflow/index.d.ts +168 -0
  31. package/dist/workflow/index.js +986 -0
  32. package/dist/workflow/index.js.map +1 -0
  33. package/package.json +15 -3
  34. package/public/assets/icon-set/Icon-arrow-left-fill.svg +1 -0
  35. package/public/assets/icon-set/Icon-check-fill.svg +3 -0
  36. package/public/assets/icon-set/Icon-close-fill.svg +3 -0
  37. package/public/assets/icon-set/Icon-hourglass-line.svg +3 -0
  38. package/public/assets/icon-set/Icon-loader-2-line.svg +3 -0
  39. package/public/assets/icon-set/Icon-radio-button-line.svg +3 -0
  40. package/public/assets/icon-set/Icon-shield-check-fill.svg +3 -0
  41. package/public/assets/icon-set/Icon-shield-cross-fill.svg +3 -0
  42. package/public/assets/icon-set/logout-box-fill.svg +1 -0
@@ -107,8 +107,9 @@ interface RunItem {
107
107
  status: 'completed' | 'running' | 'failed';
108
108
  details: string;
109
109
  category: 'scheduled' | 'completed' | 'issues';
110
- icon?: 'bell' | 'file' | 'link' | 'chat' | 'warning';
110
+ icon?: 'loader' | 'radioButton' | 'shieldCheck' | 'shieldCross' | 'bell' | 'file' | 'link' | 'chat' | 'warning';
111
111
  logs?: ActionLog[];
112
+ customContent?: React.ReactNode;
112
113
  }
113
114
  interface OAuthConnectionData {
114
115
  id: string;
@@ -121,6 +122,7 @@ interface PaneMenusProps {
121
122
  activeTab?: 'runs' | 'usage' | 'connections';
122
123
  onTabChange?: (tab: 'runs' | 'usage' | 'connections') => void;
123
124
  runs?: RunItem[];
125
+ onRunSelect?: (runId: string) => void;
124
126
  currentUsage?: number;
125
127
  maxUsage?: number;
126
128
  isGoogleConnected?: boolean;
@@ -133,7 +135,7 @@ interface PaneMenusProps {
133
135
  isOAuthLoading?: boolean;
134
136
  onBrowseAutomations?: () => void;
135
137
  }
136
- declare function PaneMenus({ activeTab, onTabChange, runs, currentUsage, maxUsage, isGoogleConnected, onGoogleConnect, onGoogleDisconnect, oauthConnections, onOAuthConnect, onOAuthDisconnect, isOAuthConnecting, isOAuthLoading, onBrowseAutomations, }: PaneMenusProps): react_jsx_runtime.JSX.Element;
138
+ declare function PaneMenus({ activeTab, onTabChange, runs, onRunSelect, currentUsage, maxUsage, isGoogleConnected, onGoogleConnect, onGoogleDisconnect, oauthConnections, onOAuthConnect, onOAuthDisconnect, isOAuthConnecting, isOAuthLoading, onBrowseAutomations, }: PaneMenusProps): react_jsx_runtime.JSX.Element;
137
139
 
138
140
  type BrandType = 'Google' | 'Microsoft' | 'Slack' | 'YouTube';
139
141
  interface PaneSectionHeaderProps {
@@ -150,6 +152,11 @@ interface PaneSectionHeaderProps {
150
152
  * Callback fired when settings button is clicked
151
153
  */
152
154
  onSettingsClick?: () => void;
155
+ /**
156
+ * Icon name for the settings button
157
+ * @default 'settings-fill'
158
+ */
159
+ settingsIcon?: string;
153
160
  /**
154
161
  * Additional CSS class name
155
162
  */
@@ -174,7 +181,7 @@ interface PaneSectionHeaderProps {
174
181
  * />
175
182
  * ```
176
183
  */
177
- declare function PaneSectionHeader({ brand, onBackClick, onSettingsClick, className, 'aria-label': ariaLabel, }: PaneSectionHeaderProps): react_jsx_runtime.JSX.Element;
184
+ declare function PaneSectionHeader({ brand, onBackClick, onSettingsClick, settingsIcon, className, 'aria-label': ariaLabel, }: PaneSectionHeaderProps): react_jsx_runtime.JSX.Element;
178
185
  declare namespace PaneSectionHeader {
179
186
  var displayName: string;
180
187
  }
@@ -107,8 +107,9 @@ interface RunItem {
107
107
  status: 'completed' | 'running' | 'failed';
108
108
  details: string;
109
109
  category: 'scheduled' | 'completed' | 'issues';
110
- icon?: 'bell' | 'file' | 'link' | 'chat' | 'warning';
110
+ icon?: 'loader' | 'radioButton' | 'shieldCheck' | 'shieldCross' | 'bell' | 'file' | 'link' | 'chat' | 'warning';
111
111
  logs?: ActionLog[];
112
+ customContent?: React.ReactNode;
112
113
  }
113
114
  interface OAuthConnectionData {
114
115
  id: string;
@@ -121,6 +122,7 @@ interface PaneMenusProps {
121
122
  activeTab?: 'runs' | 'usage' | 'connections';
122
123
  onTabChange?: (tab: 'runs' | 'usage' | 'connections') => void;
123
124
  runs?: RunItem[];
125
+ onRunSelect?: (runId: string) => void;
124
126
  currentUsage?: number;
125
127
  maxUsage?: number;
126
128
  isGoogleConnected?: boolean;
@@ -133,7 +135,7 @@ interface PaneMenusProps {
133
135
  isOAuthLoading?: boolean;
134
136
  onBrowseAutomations?: () => void;
135
137
  }
136
- declare function PaneMenus({ activeTab, onTabChange, runs, currentUsage, maxUsage, isGoogleConnected, onGoogleConnect, onGoogleDisconnect, oauthConnections, onOAuthConnect, onOAuthDisconnect, isOAuthConnecting, isOAuthLoading, onBrowseAutomations, }: PaneMenusProps): react_jsx_runtime.JSX.Element;
138
+ declare function PaneMenus({ activeTab, onTabChange, runs, onRunSelect, currentUsage, maxUsage, isGoogleConnected, onGoogleConnect, onGoogleDisconnect, oauthConnections, onOAuthConnect, onOAuthDisconnect, isOAuthConnecting, isOAuthLoading, onBrowseAutomations, }: PaneMenusProps): react_jsx_runtime.JSX.Element;
137
139
 
138
140
  type BrandType = 'Google' | 'Microsoft' | 'Slack' | 'YouTube';
139
141
  interface PaneSectionHeaderProps {
@@ -150,6 +152,11 @@ interface PaneSectionHeaderProps {
150
152
  * Callback fired when settings button is clicked
151
153
  */
152
154
  onSettingsClick?: () => void;
155
+ /**
156
+ * Icon name for the settings button
157
+ * @default 'settings-fill'
158
+ */
159
+ settingsIcon?: string;
153
160
  /**
154
161
  * Additional CSS class name
155
162
  */
@@ -174,7 +181,7 @@ interface PaneSectionHeaderProps {
174
181
  * />
175
182
  * ```
176
183
  */
177
- declare function PaneSectionHeader({ brand, onBackClick, onSettingsClick, className, 'aria-label': ariaLabel, }: PaneSectionHeaderProps): react_jsx_runtime.JSX.Element;
184
+ declare function PaneSectionHeader({ brand, onBackClick, onSettingsClick, settingsIcon, className, 'aria-label': ariaLabel, }: PaneSectionHeaderProps): react_jsx_runtime.JSX.Element;
178
185
  declare namespace PaneSectionHeader {
179
186
  var displayName: string;
180
187
  }
@@ -94,7 +94,8 @@ var Container = styled8.nav`
94
94
  right: 0;
95
95
  background-color: ${NAV_BG};
96
96
  border-top: 1px solid ${NAV_BORDER};
97
- height: 52px;
97
+ /* Reserve space for Android nav buttons (80px) below the actual navbar */
98
+ padding-bottom: max(80px, env(safe-area-inset-bottom, 80px));
98
99
  z-index: 10;
99
100
 
100
101
  /* Dark theme support */
@@ -106,7 +107,8 @@ var ContentWrapper = styled8.div`
106
107
  display: flex;
107
108
  justify-content: space-between;
108
109
  align-items: center;
109
- height: 100%;
110
+ /* Fixed height for actual navbar content - keeps vertical centering */
111
+ height: 52px;
110
112
  padding: 0 8px;
111
113
  max-width: 100%;
112
114
 
@@ -302,12 +304,13 @@ var Container3 = styled8.div`
302
304
  position: relative;
303
305
  width: 100%;
304
306
  height: 100vh;
305
- background-color: #36393f;
307
+ background-color: rgba(255, 255, 255, 0.03);
306
308
  overflow: hidden;
307
309
 
308
- /* Dark theme support */
309
- @media (prefers-color-scheme: dark) {
310
- background-color: #2f3136;
310
+ /* Ensure content is clipped on mobile */
311
+ @media (max-width: 768px) {
312
+ overflow: hidden;
313
+ position: relative;
311
314
  }
312
315
  `;
313
316
  var MainPane = styled8.main`
@@ -316,7 +319,7 @@ var MainPane = styled8.main`
316
319
  left: 72px; /* Width of vertical nav */
317
320
  right: 0;
318
321
  bottom: 52px; /* Height of horizontal nav */
319
- background-color: #36393f;
322
+ background-color: rgba(255, 255, 255, 0.05);
320
323
  overflow: auto;
321
324
 
322
325
  /* Custom scrollbar styling */
@@ -342,11 +345,6 @@ var MainPane = styled8.main`
342
345
  scrollbar-width: thin;
343
346
  scrollbar-color: #202225 transparent;
344
347
 
345
- /* Dark theme support */
346
- @media (prefers-color-scheme: dark) {
347
- background-color: #2f3136;
348
- }
349
-
350
348
  /* Responsive adjustments */
351
349
  @media (max-width: 768px) {
352
350
  left: 60px; /* Smaller nav on mobile */
@@ -991,7 +989,7 @@ var HOVER_BG2 = "rgba(255, 255, 255, 0.05)";
991
989
  var Container6 = styled8.div`
992
990
  width: 100%;
993
991
  height: 100%;
994
- background-color: ${BG_PRIMARY};
992
+ background-color: transparent;
995
993
  color: ${TEXT_PRIMARY2};
996
994
  display: flex;
997
995
  flex-direction: column;
@@ -1000,8 +998,8 @@ var Container6 = styled8.div`
1000
998
  `;
1001
999
  var TabListWrapper = styled8.div`
1002
1000
  display: flex;
1003
- border-bottom: 2px solid ${BG_TERTIARY2};
1004
- background-color: ${BG_SECONDARY};
1001
+ border-bottom: 2px solid rgba(255, 255, 255, 0.1);
1002
+ background-color: rgba(255, 255, 255, 0.03);
1005
1003
  padding: 0 16px;
1006
1004
  gap: 8px;
1007
1005
  overflow-x: auto;
@@ -1067,7 +1065,7 @@ var TabPanelWrapper = styled8.div`
1067
1065
  padding: 24px;
1068
1066
  overflow-y: auto;
1069
1067
  overflow-x: hidden; // Prevent horizontal overflow
1070
- background-color: ${BG_PRIMARY};
1068
+ background-color: rgba(255, 255, 255, 0.05);
1071
1069
  min-height: 0; // Enable proper flex shrinking and scrolling
1072
1070
 
1073
1071
  @media (max-width: 640px) {
@@ -1118,8 +1116,8 @@ var BrowseButton = styled8.button`
1118
1116
  gap: 12px;
1119
1117
  width: 100%;
1120
1118
  padding: 12px 16px;
1121
- background-color: ${BG_SECONDARY};
1122
- border: 1px solid ${BG_TERTIARY2};
1119
+ background-color: rgba(255, 255, 255, 0.05);
1120
+ border: 1px solid rgba(255, 255, 255, 0.1);
1123
1121
  border-radius: 8px;
1124
1122
  color: ${TEXT_SECONDARY2};
1125
1123
  font-size: 14px;
@@ -1291,7 +1289,7 @@ var ItemContainer = styled8.div`
1291
1289
  display: flex;
1292
1290
  align-items: center;
1293
1291
  gap: 8px;
1294
- padding: 4px 8px;
1292
+ padding: 10px 8px; // Increased vertical padding from 4px to 10px for better breathing room
1295
1293
  border-radius: 4px;
1296
1294
  cursor: pointer;
1297
1295
  transition: background-color 0.1s ease;
@@ -1300,7 +1298,7 @@ var ItemContainer = styled8.div`
1300
1298
 
1301
1299
  @media (max-width: 640px) {
1302
1300
  gap: 6px;
1303
- padding: 4px 6px;
1301
+ padding: 8px 6px; // Increased vertical padding from 4px to 8px for mobile
1304
1302
  }
1305
1303
 
1306
1304
  &:hover {
@@ -1318,7 +1316,7 @@ var ItemDisclosure = styled8(Disclosure)`
1318
1316
  overflow: hidden;
1319
1317
 
1320
1318
  &[data-expanded] {
1321
- background-color: ${BG_SECONDARY};
1319
+ background-color: rgba(255, 255, 255, 0.05);
1322
1320
  border-radius: 8px;
1323
1321
  }
1324
1322
  `;
@@ -1342,7 +1340,7 @@ var ItemHeader = styled8(Button)`
1342
1340
  `;
1343
1341
  var ItemDisclosurePanel = styled8(DisclosurePanel)`
1344
1342
  padding: 6px;
1345
- background-color: ${BG_SECONDARY};
1343
+ background-color: rgba(0, 0, 0, 0.2);
1346
1344
  border-radius: 0 0 8px 8px;
1347
1345
  margin-top: -4px;
1348
1346
  display: flex;
@@ -1400,25 +1398,32 @@ var ItemName = styled8.span`
1400
1398
  }
1401
1399
  `;
1402
1400
  var RunStatus = styled8.span`
1401
+ display: flex;
1402
+ align-items: center;
1403
+ justify-content: center;
1403
1404
  font-size: 14px;
1404
1405
  font-weight: 500;
1405
1406
  flex-shrink: 0;
1406
1407
  margin-left: auto;
1407
- color: ${(props) => {
1408
+
1409
+ /* Color for SVG icons */
1410
+ img {
1411
+ filter: ${(props) => {
1408
1412
  switch (props.$status) {
1409
1413
  case "completed":
1410
- return "#10b981";
1411
- // green
1414
+ return "brightness(0) saturate(100%) invert(73%) sepia(34%) saturate(547%) hue-rotate(99deg) brightness(91%) contrast(89%)";
1415
+ // green #10b981
1412
1416
  case "running":
1413
- return "#f59e0b";
1414
- // yellow
1417
+ return "brightness(0) saturate(100%) invert(78%) sepia(60%) saturate(1839%) hue-rotate(360deg) brightness(100%) contrast(94%)";
1418
+ // yellow #f59e0b
1415
1419
  case "failed":
1416
- return "#ef4444";
1417
- // red
1420
+ return "brightness(0) saturate(100%) invert(34%) sepia(94%) saturate(3446%) hue-rotate(343deg) brightness(94%) contrast(94%)";
1421
+ // red #ef4444
1418
1422
  default:
1419
- return TEXT_SECONDARY2;
1423
+ return "none";
1420
1424
  }
1421
1425
  }};
1426
+ }
1422
1427
 
1423
1428
  @media (max-width: 640px) {
1424
1429
  font-size: 12px;
@@ -1427,13 +1432,13 @@ var RunStatus = styled8.span`
1427
1432
  styled8.div`
1428
1433
  margin-bottom: 12px;
1429
1434
  border-radius: 12px;
1430
- background-color: ${BG_SECONDARY};
1435
+ background-color: rgba(255, 255, 255, 0.05);
1431
1436
  overflow: hidden;
1432
1437
  `;
1433
1438
  styled8.button`
1434
1439
  width: 100%;
1435
1440
  padding: 16px;
1436
- background: ${BG_SECONDARY};
1441
+ background: rgba(255, 255, 255, 0.05);
1437
1442
  border: none;
1438
1443
  color: ${TEXT_PRIMARY2};
1439
1444
  display: flex;
@@ -1475,7 +1480,7 @@ styled8.span`
1475
1480
  styled8.div`
1476
1481
  padding: 16px;
1477
1482
  padding-top: 0;
1478
- background-color: ${BG_TERTIARY2};
1483
+ background-color: rgba(0, 0, 0, 0.2);
1479
1484
  color: ${TEXT_SECONDARY2};
1480
1485
  font-size: 13px;
1481
1486
  line-height: 1.6;
@@ -1604,16 +1609,34 @@ var GoogleButton = styled8.button`
1604
1609
  `;
1605
1610
  var ICONS = {
1606
1611
  hashtag: "/assets/icon-set/Icon-hashtag.svg",
1612
+ // State icons - left side
1613
+ loader: "/assets/icon-set/Icon-loader-2-line.svg",
1614
+ // Pending
1615
+ radioButton: "/assets/icon-set/Icon-radio-button-line.svg",
1616
+ // Running
1617
+ shieldCheck: "/assets/icon-set/Icon-shield-check-fill.svg",
1618
+ // Completed
1619
+ shieldCross: "/assets/icon-set/Icon-shield-cross-fill.svg",
1620
+ // Failed
1621
+ // Status indicator icons - right side (before chevron)
1622
+ checkFill: "/assets/icon-set/Icon-check-fill.svg",
1623
+ // Completed status
1624
+ hourglass: "/assets/icon-set/Icon-hourglass-line.svg",
1625
+ // Running status
1626
+ closeFill: "/assets/icon-set/Icon-close-fill.svg",
1627
+ // Failed status
1628
+ // Legacy icons (kept for backward compatibility)
1607
1629
  bell: "/assets/icon-set/Icon-bell-fill.svg",
1608
1630
  file: "/assets/icon-set/Icon-file-3-fill.svg",
1609
1631
  link: "/assets/icon-set/Icon-external-link-fill.svg",
1610
1632
  chat: "/assets/icon-set/Icon-chat-1-fill.svg",
1633
+ logout: "/assets/icon-set/logout-box-fill.svg",
1611
1634
  community: "/assets/icon-set/Icon-community-fill.svg",
1612
1635
  cpu: "/assets/icon-set/Icon-cpu-fill.svg",
1613
1636
  chevronDown: "/assets/icon-set/Icon-arrow-down-s-fill.svg",
1614
1637
  warning: "/assets/icon-set/Icon-error-warning-fill.svg"
1615
1638
  };
1616
- function ItemWithLogs({ run }) {
1639
+ function ItemWithLogs({ run, onRunSelect }) {
1617
1640
  const [isExpanded, setIsExpanded] = useState(false);
1618
1641
  const logSections = run.logs ? [
1619
1642
  {
@@ -1627,31 +1650,39 @@ function ItemWithLogs({ run }) {
1627
1650
  }))
1628
1651
  }
1629
1652
  ] : [];
1653
+ const handleClick = () => {
1654
+ setIsExpanded(!isExpanded);
1655
+ onRunSelect?.(run.id);
1656
+ };
1630
1657
  return /* @__PURE__ */ jsxs(ItemDisclosure, { id: run.id, children: [
1631
1658
  /* @__PURE__ */ jsx(
1632
1659
  ItemHeader,
1633
1660
  {
1634
1661
  slot: "trigger",
1635
- onClick: () => setIsExpanded(!isExpanded),
1662
+ onClick: handleClick,
1636
1663
  $isExpanded: isExpanded,
1637
1664
  children: /* @__PURE__ */ jsxs(ItemContainer, { as: "div", children: [
1638
- /* @__PURE__ */ jsx(ItemIcon, { src: ICONS[run.icon || "bell"], alt: "" }),
1665
+ /* @__PURE__ */ jsx(ItemIcon, { src: ICONS[run.icon || "loader"], alt: "" }),
1639
1666
  /* @__PURE__ */ jsx(ItemName, { children: run.name }),
1640
1667
  /* @__PURE__ */ jsxs(RunStatus, { $status: run.status, children: [
1641
- run.status === "completed" && "\u2713",
1642
- run.status === "running" && "\u27F3",
1643
- run.status === "failed" && "\u2715"
1668
+ run.status === "completed" && /* @__PURE__ */ jsx("img", { src: ICONS.checkFill, alt: "", style: { width: "16px", height: "16px" } }),
1669
+ run.status === "running" && /* @__PURE__ */ jsx("img", { src: ICONS.hourglass, alt: "", style: { width: "16px", height: "16px" } }),
1670
+ run.status === "failed" && /* @__PURE__ */ jsx("img", { src: ICONS.closeFill, alt: "", style: { width: "16px", height: "16px" } })
1644
1671
  ] }),
1645
1672
  /* @__PURE__ */ jsx(ChevronIcon, { $isExpanded: isExpanded, children: /* @__PURE__ */ jsx("img", { src: ICONS.chevronDown, alt: "" }) })
1646
1673
  ] })
1647
1674
  }
1648
1675
  ),
1649
- isExpanded && /* @__PURE__ */ jsx(ItemDisclosurePanel, { children: run.logs && run.logs.length > 0 ? /* @__PURE__ */ jsx(DarkNotificationCard, { sections: logSections }) : /* @__PURE__ */ jsx("div", { style: { color: "#72767D", fontSize: "13px", padding: "8px" }, children: "No action logs available" }) })
1676
+ isExpanded && /* @__PURE__ */ jsx(ItemDisclosurePanel, { children: run.customContent ? (
1677
+ // Render custom content directly
1678
+ /* @__PURE__ */ jsx("div", { style: { padding: "16px" }, children: run.customContent })
1679
+ ) : run.logs && run.logs.length > 0 ? /* @__PURE__ */ jsx(DarkNotificationCard, { sections: logSections }) : /* @__PURE__ */ jsx("div", { style: { color: "#72767D", fontSize: "13px", padding: "8px" }, children: "No action logs available" }) })
1650
1680
  ] });
1651
1681
  }
1652
1682
  function RunsTabContent({
1653
1683
  runs,
1654
- onBrowseAutomations
1684
+ onBrowseAutomations,
1685
+ onRunSelect
1655
1686
  }) {
1656
1687
  const [expandedKeys, setExpandedKeys] = useState(
1657
1688
  /* @__PURE__ */ new Set(["scheduled", "completed", "issues"])
@@ -1688,7 +1719,7 @@ function RunsTabContent({
1688
1719
  ] }),
1689
1720
  /* @__PURE__ */ jsx(ChevronIcon, { $isExpanded: expandedKeys.has("scheduled"), children: /* @__PURE__ */ jsx("img", { src: ICONS.chevronDown, alt: "" }) })
1690
1721
  ] }) }),
1691
- /* @__PURE__ */ jsx(CategoryDisclosurePanel, { children: scheduledRuns.length > 0 ? scheduledRuns.map((run) => /* @__PURE__ */ jsx(ItemWithLogs, { run }, run.id)) : /* @__PURE__ */ jsx(ItemContainer, { children: /* @__PURE__ */ jsx(ItemName, { $dimmed: true, children: "No scheduled items" }) }) })
1722
+ /* @__PURE__ */ jsx(CategoryDisclosurePanel, { children: scheduledRuns.length > 0 ? scheduledRuns.map((run) => /* @__PURE__ */ jsx(ItemWithLogs, { run, onRunSelect }, run.id)) : /* @__PURE__ */ jsx(ItemContainer, { children: /* @__PURE__ */ jsx(ItemName, { $dimmed: true, children: "No scheduled items" }) }) })
1692
1723
  ] }),
1693
1724
  /* @__PURE__ */ jsxs(CategoryDisclosure, { id: "completed", children: [
1694
1725
  /* @__PURE__ */ jsx(Heading, { level: 3, children: /* @__PURE__ */ jsxs(CategoryHeader, { slot: "trigger", children: [
@@ -1698,7 +1729,7 @@ function RunsTabContent({
1698
1729
  ] }),
1699
1730
  /* @__PURE__ */ jsx(ChevronIcon, { $isExpanded: expandedKeys.has("completed"), children: /* @__PURE__ */ jsx("img", { src: ICONS.chevronDown, alt: "" }) })
1700
1731
  ] }) }),
1701
- /* @__PURE__ */ jsx(CategoryDisclosurePanel, { children: completedRuns.length > 0 ? completedRuns.map((run) => /* @__PURE__ */ jsx(ItemWithLogs, { run }, run.id)) : /* @__PURE__ */ jsx(ItemContainer, { children: /* @__PURE__ */ jsx(ItemName, { $dimmed: true, children: "No completed items" }) }) })
1732
+ /* @__PURE__ */ jsx(CategoryDisclosurePanel, { children: completedRuns.length > 0 ? completedRuns.map((run) => /* @__PURE__ */ jsx(ItemWithLogs, { run, onRunSelect }, run.id)) : /* @__PURE__ */ jsx(ItemContainer, { children: /* @__PURE__ */ jsx(ItemName, { $dimmed: true, children: "No completed items" }) }) })
1702
1733
  ] }),
1703
1734
  /* @__PURE__ */ jsxs(CategoryDisclosure, { id: "issues", children: [
1704
1735
  /* @__PURE__ */ jsx(Heading, { level: 3, children: /* @__PURE__ */ jsxs(CategoryHeader, { slot: "trigger", children: [
@@ -1708,7 +1739,7 @@ function RunsTabContent({
1708
1739
  ] }),
1709
1740
  /* @__PURE__ */ jsx(ChevronIcon, { $isExpanded: expandedKeys.has("issues"), children: /* @__PURE__ */ jsx("img", { src: ICONS.chevronDown, alt: "" }) })
1710
1741
  ] }) }),
1711
- /* @__PURE__ */ jsx(CategoryDisclosurePanel, { children: issuesRuns.length > 0 ? issuesRuns.map((run) => /* @__PURE__ */ jsx(ItemWithLogs, { run }, run.id)) : /* @__PURE__ */ jsx(ItemContainer, { children: /* @__PURE__ */ jsx(ItemName, { $dimmed: true, children: "No issues" }) }) })
1742
+ /* @__PURE__ */ jsx(CategoryDisclosurePanel, { children: issuesRuns.length > 0 ? issuesRuns.map((run) => /* @__PURE__ */ jsx(ItemWithLogs, { run, onRunSelect }, run.id)) : /* @__PURE__ */ jsx(ItemContainer, { children: /* @__PURE__ */ jsx(ItemName, { $dimmed: true, children: "No issues" }) }) })
1712
1743
  ] })
1713
1744
  ]
1714
1745
  }
@@ -1833,6 +1864,7 @@ function PaneMenus({
1833
1864
  activeTab = "runs",
1834
1865
  onTabChange,
1835
1866
  runs = [],
1867
+ onRunSelect,
1836
1868
  currentUsage = 0,
1837
1869
  maxUsage = 1e5,
1838
1870
  isGoogleConnected = false,
@@ -1853,7 +1885,7 @@ function PaneMenus({
1853
1885
  }
1854
1886
  },
1855
1887
  children: /* @__PURE__ */ jsxs(Fragment, { children: [
1856
- /* @__PURE__ */ jsx(Item, { title: "Runs", children: /* @__PURE__ */ jsx(RunsTabContent, { runs, onBrowseAutomations }) }, "runs"),
1888
+ /* @__PURE__ */ jsx(Item, { title: "Runs", children: /* @__PURE__ */ jsx(RunsTabContent, { runs, onBrowseAutomations, onRunSelect }) }, "runs"),
1857
1889
  /* @__PURE__ */ jsx(Item, { title: "Usage", children: /* @__PURE__ */ jsx(UsageTabContent, { currentUsage, maxUsage }) }, "usage"),
1858
1890
  /* @__PURE__ */ jsx(Item, { title: "Connections", children: /* @__PURE__ */ jsx(
1859
1891
  ConnectionsTabContent,
@@ -1875,10 +1907,10 @@ function PaneMenus({
1875
1907
  /* @__PURE__ */ jsx(TabPanel, { state }, state.selectedItem?.key)
1876
1908
  ] });
1877
1909
  }
1878
- var HEADER_BG = "#202225";
1879
- var HEADER_BG_DARK = "#18191c";
1880
- var BUTTON_BG = "#36393f";
1881
- var BUTTON_BG_HOVER = "#40444b";
1910
+ var HEADER_BG = "rgba(32, 34, 37, 0.1)";
1911
+ var HEADER_BG_DARK = "rgba(24, 25, 28, 0.7)";
1912
+ var BUTTON_BG = "rgba(54, 57, 63, 0.6)";
1913
+ var BUTTON_BG_HOVER = "rgba(64, 68, 75, 0.8)";
1882
1914
  var breakpoints = {
1883
1915
  xs: "640px",
1884
1916
  sm: "768px",
@@ -1890,6 +1922,8 @@ var Container7 = styled8.header`
1890
1922
  width: 100%;
1891
1923
  height: 56px;
1892
1924
  background-color: ${HEADER_BG};
1925
+ backdrop-filter: blur(10px);
1926
+ -webkit-backdrop-filter: blur(10px);
1893
1927
  overflow: hidden;
1894
1928
  display: flex;
1895
1929
  align-items: center;
@@ -2073,6 +2107,7 @@ function PaneSectionHeader({
2073
2107
  brand = "Google",
2074
2108
  onBackClick,
2075
2109
  onSettingsClick,
2110
+ settingsIcon = "settings-fill",
2076
2111
  className,
2077
2112
  "aria-label": ariaLabel = "Pane section header"
2078
2113
  }) {
@@ -2118,7 +2153,7 @@ function PaneSectionHeader({
2118
2153
  children: /* @__PURE__ */ jsx(
2119
2154
  Icon,
2120
2155
  {
2121
- name: isSettingsHovered ? "settings-line" : "settings-fill",
2156
+ name: settingsIcon,
2122
2157
  size: 20,
2123
2158
  color: "#b9bbbe"
2124
2159
  }