@agentiffai/design 1.3.5 → 1.3.7

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.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { memo, useRef, useState, useEffect, useCallback, useId, useMemo } from 'react';
2
- import styled11, { keyframes, css, createGlobalStyle } from 'styled-components';
1
+ import { memo, useRef, useEffect, useState, useCallback, useId, useMemo } from 'react';
2
+ import styled47, { keyframes, css, createGlobalStyle } from 'styled-components';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
  import { useButton } from '@react-aria/button';
5
5
  import { useMeter } from '@react-aria/meter';
@@ -308,7 +308,7 @@ var getSizeValue = (size = "md") => {
308
308
  };
309
309
  }
310
310
  };
311
- var Container = styled11.div`
311
+ var Container = styled47.div`
312
312
  display: inline-flex;
313
313
  align-items: center;
314
314
  gap: ${tokens.spacing.md};
@@ -320,7 +320,7 @@ var Container = styled11.div`
320
320
  max-width: fit-content;
321
321
  margin: 0 auto;
322
322
  `;
323
- var Avatar = styled11.div`
323
+ var Avatar = styled47.div`
324
324
  width: ${(props) => getSizeValue(props.size).avatar};
325
325
  height: ${(props) => getSizeValue(props.size).avatar};
326
326
  border-radius: ${tokens.borderRadius.full};
@@ -331,23 +331,23 @@ var Avatar = styled11.div`
331
331
  flex-shrink: 0;
332
332
  box-shadow: ${tokens.shadows.glow.primary};
333
333
  `;
334
- var HeadphonesIcon = styled11.svg`
334
+ var HeadphonesIcon = styled47.svg`
335
335
  width: ${(props) => getSizeValue(props.size).icon};
336
336
  height: ${(props) => getSizeValue(props.size).icon};
337
337
  color: ${tokens.colors.text.primary};
338
338
  `;
339
- var Content = styled11.div`
339
+ var Content = styled47.div`
340
340
  display: flex;
341
341
  align-items: center;
342
342
  gap: ${tokens.spacing.sm};
343
343
  `;
344
- var LoadingDots = styled11.div`
344
+ var LoadingDots = styled47.div`
345
345
  display: flex;
346
346
  align-items: center;
347
347
  gap: ${(props) => props.variant === "wave" ? "2px" : `${tokens.spacing.xs}`};
348
348
  padding: 0 ${tokens.spacing.xs};
349
349
  `;
350
- var Dot = styled11.span`
350
+ var Dot = styled47.span`
351
351
  width: ${(props) => getSizeValue(props.size).dotSize};
352
352
  height: ${(props) => getSizeValue(props.size).dotSize};
353
353
  border-radius: ${tokens.borderRadius.full};
@@ -365,7 +365,7 @@ var Dot = styled11.span`
365
365
  }}
366
366
  1.4s ease-in-out infinite;
367
367
  `;
368
- var Message = styled11.span`
368
+ var Message = styled47.span`
369
369
  font-size: ${(props) => getSizeValue(props.size).fontSize};
370
370
  color: ${tokens.colors.text.secondary};
371
371
  font-weight: ${tokens.typography.fontWeight.regular};
@@ -425,7 +425,7 @@ function AssistantThinking({
425
425
  );
426
426
  }
427
427
  AssistantThinking.displayName = "AssistantThinking";
428
- var ChatInputContainer = styled11.div`
428
+ var ChatInputContainer = styled47.div`
429
429
  display: flex;
430
430
  flex-direction: column;
431
431
  width: 100%;
@@ -441,7 +441,7 @@ var ChatInputContainer = styled11.div`
441
441
  padding: ${tokens.spacing.md};
442
442
  }
443
443
  `;
444
- var SuggestionsWrapper = styled11.div`
444
+ var SuggestionsWrapper = styled47.div`
445
445
  display: flex;
446
446
  flex-direction: row;
447
447
  flex-wrap: wrap;
@@ -450,7 +450,7 @@ var SuggestionsWrapper = styled11.div`
450
450
  width: 100%;
451
451
  box-sizing: border-box;
452
452
  `;
453
- var SuggestionButton = styled11.button`
453
+ var SuggestionButton = styled47.button`
454
454
  padding: ${tokens.spacing.sm} ${tokens.spacing.md};
455
455
  font-family: ${tokens.typography.fontFamily.primary};
456
456
  font-size: 13px;
@@ -489,7 +489,7 @@ var SuggestionButton = styled11.button`
489
489
  opacity: 0.4;
490
490
  }
491
491
  `;
492
- var InputWrapper = styled11.div`
492
+ var InputWrapper = styled47.div`
493
493
  display: flex;
494
494
  align-items: flex-end; /* Align button to bottom when textarea expands */
495
495
  gap: ${tokens.spacing.sm};
@@ -507,7 +507,7 @@ var InputWrapper = styled11.div`
507
507
  background-color: rgba(50, 50, 52, 0.6);
508
508
  }
509
509
  `;
510
- var InputField = styled11.textarea`
510
+ var InputField = styled47.textarea`
511
511
  flex: 1;
512
512
  border: none;
513
513
  outline: none;
@@ -532,7 +532,7 @@ var InputField = styled11.textarea`
532
532
  cursor: not-allowed;
533
533
  }
534
534
  `;
535
- var SubmitButton = styled11.button`
535
+ var SubmitButton = styled47.button`
536
536
  display: flex;
537
537
  align-items: center;
538
538
  justify-content: center;
@@ -611,7 +611,6 @@ var ChatInput = ({
611
611
  if (inputRef.current) {
612
612
  inputRef.current.style.height = "auto";
613
613
  }
614
- inputRef.current?.focus();
615
614
  }
616
615
  };
617
616
  const handleSuggestionClick = (suggestionText) => {
@@ -714,7 +713,7 @@ var SubmitButtonComponent = ({
714
713
  ) });
715
714
  };
716
715
  ChatInput.displayName = "ChatInput";
717
- var NavigationContainer = styled11.div`
716
+ var NavigationContainer = styled47.div`
718
717
  display: flex;
719
718
  flex-direction: column;
720
719
  align-items: center;
@@ -731,7 +730,7 @@ var NavigationContainer = styled11.div`
731
730
  box-shadow: none !important;
732
731
  }
733
732
  `;
734
- var CategoryGroup = styled11.div`
733
+ var CategoryGroup = styled47.div`
735
734
  display: flex;
736
735
  flex-direction: column;
737
736
  align-items: center;
@@ -743,7 +742,7 @@ var CategoryGroup = styled11.div`
743
742
  border-radius: 0 !important;
744
743
  }
745
744
  `;
746
- var CategoryButton = styled11.button`
745
+ var CategoryButton = styled47.button`
747
746
  width: 48px;
748
747
  height: 48px;
749
748
  border: none;
@@ -768,7 +767,7 @@ var CategoryButton = styled11.button`
768
767
  outline-offset: 2px;
769
768
  }
770
769
  `;
771
- var CategoryLabel = styled11.span`
770
+ var CategoryLabel = styled47.span`
772
771
  font-size: 9px;
773
772
  color: ${tokens.colors.text.tertiary};
774
773
  margin-top: ${tokens.spacing.xs};
@@ -778,7 +777,7 @@ var CategoryLabel = styled11.span`
778
777
  text-overflow: ellipsis;
779
778
  white-space: nowrap;
780
779
  `;
781
- var SubItemList = styled11.div`
780
+ var SubItemList = styled47.div`
782
781
  display: ${({ $expanded }) => $expanded ? "flex" : "none"};
783
782
  flex-direction: column;
784
783
  align-items: center;
@@ -786,7 +785,7 @@ var SubItemList = styled11.div`
786
785
  margin-top: ${tokens.spacing.xs};
787
786
  width: 100%;
788
787
  `;
789
- var SubItemButton = styled11.button`
788
+ var SubItemButton = styled47.button`
790
789
  width: 32px;
791
790
  height: 32px;
792
791
  border: none;
@@ -810,7 +809,7 @@ var SubItemButton = styled11.button`
810
809
  outline-offset: 2px;
811
810
  }
812
811
  `;
813
- var CountBadge = styled11.span`
812
+ var CountBadge = styled47.span`
814
813
  position: absolute;
815
814
  top: -2px;
816
815
  right: -2px;
@@ -836,7 +835,7 @@ var filterBadgeIn = keyframes`
836
835
  transform: scale(1);
837
836
  }
838
837
  `;
839
- var FilterBadge = styled11.div`
838
+ var FilterBadge = styled47.div`
840
839
  position: absolute;
841
840
  bottom: -${tokens.spacing.xs};
842
841
  right: -${tokens.spacing.xs};
@@ -855,13 +854,13 @@ var FilterBadge = styled11.div`
855
854
  fill: ${tokens.colors.text.primary};
856
855
  }
857
856
  `;
858
- var CategoryIconImg = styled11.img`
857
+ var CategoryIconImg = styled47.img`
859
858
  width: ${({ $size }) => $size || 24}px;
860
859
  height: ${({ $size }) => $size || 24}px;
861
860
  object-fit: contain;
862
861
  filter: ${({ $active }) => $active ? "brightness(0) invert(1)" : "none"};
863
862
  `;
864
- var SubItemIconImg = styled11.img`
863
+ var SubItemIconImg = styled47.img`
865
864
  width: ${({ $size }) => $size}px;
866
865
  height: ${({ $size }) => $size}px;
867
866
  object-fit: contain;
@@ -976,7 +975,7 @@ function CategoryNav({
976
975
  }) });
977
976
  }
978
977
  CategoryNav.displayName = "CategoryNav";
979
- var IconWrapper = styled11.span`
978
+ var IconWrapper = styled47.span`
980
979
  display: inline-flex;
981
980
  align-items: center;
982
981
  justify-content: center;
@@ -1056,7 +1055,7 @@ function Icon({
1056
1055
  return /* @__PURE__ */ jsx(IconWrapper, { $size: size, $color: color, className, "aria-hidden": "true", children: /* @__PURE__ */ jsx("img", { src: iconPath, alt: "", width: size, height: size, ...imgProps }) });
1057
1056
  }
1058
1057
  Icon.displayName = "Icon";
1059
- var Container2 = styled11.nav`
1058
+ var Container2 = styled47.nav`
1060
1059
  position: absolute;
1061
1060
  bottom: 0;
1062
1061
  left: 0;
@@ -1065,10 +1064,10 @@ var Container2 = styled11.nav`
1065
1064
  border-top: 1px solid ${tokens.colors.border.subtle};
1066
1065
  /* Add vertical padding to prevent content overlap */
1067
1066
  padding-top: 4px;
1068
- /* Use safe-area-inset-bottom for Android navigation buttons.
1069
- The env() value will be 0 on devices without soft nav buttons.
1070
- Fallback to 0 if env() is not supported. */
1071
- padding-bottom: env(safe-area-inset-bottom, 0px);
1067
+ /* Use --safe-area-bottom CSS variable for Android navigation buttons.
1068
+ Android WebView doesn't support env(), so we use CSS custom properties
1069
+ injected by the native app. Fallback to 0 if not set. */
1070
+ padding-bottom: var(--safe-area-bottom, 0px);
1072
1071
  z-index: ${tokens.zIndex.sticky};
1073
1072
 
1074
1073
  /* Dark theme support */
@@ -1076,7 +1075,7 @@ var Container2 = styled11.nav`
1076
1075
  background-color: ${tokens.colors.background.darkest};
1077
1076
  }
1078
1077
  `;
1079
- var ContentWrapper = styled11.div`
1078
+ var ContentWrapper = styled47.div`
1080
1079
  display: flex;
1081
1080
  justify-content: space-between;
1082
1081
  align-items: center;
@@ -1094,7 +1093,7 @@ var ContentWrapper = styled11.div`
1094
1093
  padding: 0 ${tokens.spacing.xs} 0 6px;
1095
1094
  }
1096
1095
  `;
1097
- var UserStatusSlot = styled11.div`
1096
+ var UserStatusSlot = styled47.div`
1098
1097
  display: flex;
1099
1098
  align-items: center;
1100
1099
  min-width: 0; /* Allow flex item to shrink */
@@ -1107,7 +1106,7 @@ var UserStatusSlot = styled11.div`
1107
1106
  white-space: nowrap;
1108
1107
  }
1109
1108
  `;
1110
- var ActionButtonsSlot = styled11.div`
1109
+ var ActionButtonsSlot = styled47.div`
1111
1110
  display: flex;
1112
1111
  align-items: center;
1113
1112
  gap: ${tokens.spacing.xs};
@@ -1130,7 +1129,7 @@ function NavHorizontal({
1130
1129
  ] }) });
1131
1130
  }
1132
1131
  NavHorizontal.displayName = "NavHorizontal";
1133
- var Container3 = styled11.nav`
1132
+ var Container3 = styled47.nav`
1134
1133
  position: absolute;
1135
1134
  top: 0;
1136
1135
  left: 0;
@@ -1143,6 +1142,8 @@ var Container3 = styled11.nav`
1143
1142
  overflow-y: auto;
1144
1143
  overflow-x: hidden;
1145
1144
  scrollbar-width: none; /* Firefox */
1145
+ /* Use CSS custom property for coordinated animations with MainPane */
1146
+ transition: transform var(--layout-transition-duration, 0.3s) var(--layout-transition-easing, ease-out);
1146
1147
 
1147
1148
  /* Hide scrollbar for Chrome, Safari and Opera */
1148
1149
  &::-webkit-scrollbar {
@@ -1158,8 +1159,32 @@ var Container3 = styled11.nav`
1158
1159
  @media (max-width: ${tokens.breakpoints.tablet}px) {
1159
1160
  width: 60px; /* Match MainPane left offset on mobile */
1160
1161
  }
1162
+
1163
+ /* Mobile landscape: allow content to overflow and scroll with thin scrollbar */
1164
+ @media (orientation: landscape) and (max-height: 500px) {
1165
+ width: 60px;
1166
+ overflow-y: auto;
1167
+ overflow-x: hidden;
1168
+ scrollbar-width: thin; /* Firefox - show thin scrollbar */
1169
+
1170
+ /* Show thin scrollbar for Chrome, Safari */
1171
+ &::-webkit-scrollbar {
1172
+ display: block;
1173
+ width: 3px;
1174
+ height: 3px;
1175
+ }
1176
+
1177
+ &::-webkit-scrollbar-track {
1178
+ background: transparent;
1179
+ }
1180
+
1181
+ &::-webkit-scrollbar-thumb {
1182
+ background: ${tokens.colors.border.default};
1183
+ border-radius: 2px;
1184
+ }
1185
+ }
1161
1186
  `;
1162
- var TopSection = styled11.div`
1187
+ var TopSection = styled47.div`
1163
1188
  display: flex;
1164
1189
  flex-direction: column;
1165
1190
  align-items: center;
@@ -1172,7 +1197,7 @@ var TopSection = styled11.div`
1172
1197
  height: 64px; /* Same as PaneSectionHeader on desktop */
1173
1198
  }
1174
1199
  `;
1175
- var BackButton = styled11.button`
1200
+ var BackButton = styled47.button`
1176
1201
  position: absolute;
1177
1202
  top: 50%;
1178
1203
  left: 50%;
@@ -1188,6 +1213,7 @@ var BackButton = styled11.button`
1188
1213
  align-items: center;
1189
1214
  justify-content: center;
1190
1215
  transition: all ${tokens.transitions.normal};
1216
+ -webkit-tap-highlight-color: transparent;
1191
1217
 
1192
1218
  &:hover {
1193
1219
  background-color: ${tokens.colors.primary};
@@ -1195,6 +1221,7 @@ var BackButton = styled11.button`
1195
1221
 
1196
1222
  &:active {
1197
1223
  transform: translate(-50%, -50%) scale(0.95);
1224
+ opacity: 0.8;
1198
1225
  }
1199
1226
 
1200
1227
  &:focus {
@@ -1206,12 +1233,12 @@ var BackButton = styled11.button`
1206
1233
  outline-offset: 2px;
1207
1234
  }
1208
1235
  `;
1209
- styled11.span`
1236
+ styled47.span`
1210
1237
  font-size: ${tokens.typography.fontSize.xl};
1211
1238
  line-height: ${tokens.typography.lineHeight.tight};
1212
1239
  font-weight: ${tokens.typography.fontWeight.bold};
1213
1240
  `;
1214
- var Separator = styled11.div`
1241
+ var Separator = styled47.div`
1215
1242
  width: 32px;
1216
1243
  height: 2px;
1217
1244
  background-color: ${tokens.colors.background.light};
@@ -1219,7 +1246,7 @@ var Separator = styled11.div`
1219
1246
  margin: ${tokens.spacing.sm} auto ${tokens.spacing.md};
1220
1247
  border-radius: 1px;
1221
1248
  `;
1222
- var FolderGroupsSlot = styled11.div`
1249
+ var FolderGroupsSlot = styled47.div`
1223
1250
  display: flex;
1224
1251
  flex-direction: column;
1225
1252
  align-items: center;
@@ -1245,8 +1272,14 @@ var FolderGroupsSlot = styled11.div`
1245
1272
  @media (max-width: ${tokens.breakpoints.tablet}px) {
1246
1273
  padding: 0 6px ${tokens.spacing.md} 96px; /* Reduce horizontal padding on mobile */
1247
1274
  }
1275
+
1276
+ /* Mobile landscape: remove extra padding since BottomSection flows with content */
1277
+ @media (orientation: landscape) and (max-height: 500px) {
1278
+ padding-bottom: ${tokens.spacing.md};
1279
+ flex: 0 0 auto; /* Don't flex-grow, allow natural height */
1280
+ }
1248
1281
  `;
1249
- var BottomSection = styled11.div`
1282
+ var BottomSection = styled47.div`
1250
1283
  position: absolute;
1251
1284
  bottom: 0; /* At the bottom of the nav container */
1252
1285
  left: 0;
@@ -1261,11 +1294,19 @@ var BottomSection = styled11.div`
1261
1294
  @media (prefers-color-scheme: dark) {
1262
1295
  background-color: ${tokens.colors.background.darkest};
1263
1296
  }
1297
+
1298
+ /* Mobile landscape: make bottom section flow with content instead of fixed */
1299
+ @media (orientation: landscape) and (max-height: 500px) {
1300
+ position: relative;
1301
+ bottom: auto;
1302
+ margin-top: auto; /* Push to bottom of flex container */
1303
+ flex-shrink: 0;
1304
+ }
1264
1305
  `;
1265
- var BottomButton = styled11.button`
1306
+ var BottomButton = styled47.button`
1266
1307
  width: 40px;
1267
1308
  height: 40px;
1268
- border-radius: 0;
1309
+ border-radius: ${tokens.borderRadius.full};
1269
1310
  border: none;
1270
1311
  background-color: transparent;
1271
1312
  color: white;
@@ -1274,6 +1315,7 @@ var BottomButton = styled11.button`
1274
1315
  align-items: center;
1275
1316
  justify-content: center;
1276
1317
  transition: all ${tokens.transitions.normal};
1318
+ -webkit-tap-highlight-color: transparent;
1277
1319
 
1278
1320
  &:hover {
1279
1321
  opacity: 0.7;
@@ -1281,6 +1323,7 @@ var BottomButton = styled11.button`
1281
1323
 
1282
1324
  &:active {
1283
1325
  transform: scale(0.95);
1326
+ opacity: 0.8;
1284
1327
  }
1285
1328
 
1286
1329
  &:focus {
@@ -1290,6 +1333,7 @@ var BottomButton = styled11.button`
1290
1333
  &:focus-visible {
1291
1334
  outline: 2px solid ${tokens.colors.border.focus};
1292
1335
  outline-offset: 2px;
1336
+ border-radius: ${tokens.borderRadius.full};
1293
1337
  }
1294
1338
  `;
1295
1339
  function NavVertical({
@@ -1344,7 +1388,7 @@ function NavVertical({
1344
1388
  ] });
1345
1389
  }
1346
1390
  NavVertical.displayName = "NavVertical";
1347
- var Container4 = styled11.div`
1391
+ var Container4 = styled47.div`
1348
1392
  position: relative;
1349
1393
  width: 100%;
1350
1394
  height: 100vh;
@@ -1357,7 +1401,7 @@ var Container4 = styled11.div`
1357
1401
  position: relative;
1358
1402
  }
1359
1403
  `;
1360
- var BackgroundPane = styled11.div`
1404
+ var BackgroundPane = styled47.div`
1361
1405
  position: absolute;
1362
1406
  top: 0;
1363
1407
  left: 72px; /* Width of vertical nav */
@@ -1365,7 +1409,10 @@ var BackgroundPane = styled11.div`
1365
1409
  bottom: 52px; /* Height of horizontal nav */
1366
1410
  background-color: transparent;
1367
1411
  overflow: auto;
1412
+ scrollbar-gutter: stable; /* Reserve space for scrollbar to prevent layout shift */
1368
1413
  z-index: ${tokens.zIndex.base}; /* Lower than MainPane */
1414
+ /* Use CSS custom property for coordinated animations with NavVertical */
1415
+ transition: transform var(--layout-transition-duration, 0.3s) var(--layout-transition-easing, ease-out);
1369
1416
 
1370
1417
  /* Custom scrollbar styling */
1371
1418
  &::-webkit-scrollbar {
@@ -1395,7 +1442,7 @@ var BackgroundPane = styled11.div`
1395
1442
  left: 60px; /* Smaller nav on mobile */
1396
1443
  }
1397
1444
  `;
1398
- var MainPane = styled11.main`
1445
+ var MainPane = styled47.main`
1399
1446
  position: absolute;
1400
1447
  top: 0;
1401
1448
  left: 72px; /* Width of vertical nav */
@@ -1403,7 +1450,10 @@ var MainPane = styled11.main`
1403
1450
  bottom: 52px; /* Height of horizontal nav */
1404
1451
  background-color: ${tokens.colors.surface.overlay};
1405
1452
  overflow: auto;
1453
+ scrollbar-gutter: stable; /* Reserve space for scrollbar to prevent layout shift */
1406
1454
  z-index: ${tokens.zIndex.base + 1}; /* Higher than BackgroundPane */
1455
+ /* Use CSS custom property for coordinated animations with NavVertical */
1456
+ transition: transform var(--layout-transition-duration, 0.3s) var(--layout-transition-easing, ease-out);
1407
1457
 
1408
1458
  /* Custom scrollbar styling */
1409
1459
  &::-webkit-scrollbar {
@@ -1468,18 +1518,18 @@ function Layout({
1468
1518
  ] });
1469
1519
  }
1470
1520
  Layout.displayName = "Layout";
1471
- var Container5 = styled11.div`
1521
+ var Container5 = styled47.div`
1472
1522
  display: flex;
1473
1523
  align-items: center;
1474
1524
  justify-content: flex-end;
1475
1525
  gap: ${tokens.spacing.xs};
1476
1526
  `;
1477
- var ActionButton = styled11.button`
1527
+ var ActionButton = styled47.button`
1478
1528
  width: ${({ $size = 32 }) => $size}px;
1479
1529
  height: ${({ $size = 32 }) => $size}px;
1480
1530
  min-width: ${({ $size = 32 }) => $size}px;
1481
1531
  min-height: ${({ $size = 32 }) => $size}px;
1482
- border-radius: ${({ $isPrimary }) => $isPrimary ? tokens.borderRadius.full : tokens.borderRadius.sm};
1532
+ border-radius: ${({ $isPrimary }) => $isPrimary ? tokens.borderRadius.full : tokens.borderRadius.md};
1483
1533
  border: none;
1484
1534
  background-color: ${({ $isPrimary }) => $isPrimary ? tokens.colors.primary : "transparent"};
1485
1535
  color: ${({ $isPrimary }) => $isPrimary ? tokens.colors.text.primary : tokens.colors.text.secondary};
@@ -1489,6 +1539,7 @@ var ActionButton = styled11.button`
1489
1539
  justify-content: center;
1490
1540
  transition: all ${tokens.transitions.fast};
1491
1541
  font-size: ${tokens.typography.fontSize.base};
1542
+ -webkit-tap-highlight-color: transparent;
1492
1543
 
1493
1544
  &:hover {
1494
1545
  background-color: ${({ $isPrimary }) => $isPrimary ? tokens.colors.secondary : tokens.colors.surface.overlayHover};
@@ -1497,6 +1548,7 @@ var ActionButton = styled11.button`
1497
1548
 
1498
1549
  &:active {
1499
1550
  transform: scale(0.95);
1551
+ opacity: 0.8;
1500
1552
  }
1501
1553
 
1502
1554
  ${({ $isActive, $isPrimary }) => $isActive && !$isPrimary && css`
@@ -1577,7 +1629,7 @@ var statusColors = {
1577
1629
  busy: tokens.colors.status.busy,
1578
1630
  offline: tokens.colors.status.offline
1579
1631
  };
1580
- var Container6 = styled11.button`
1632
+ var Container6 = styled47.button`
1581
1633
  display: grid;
1582
1634
  grid-template-columns: auto 1fr;
1583
1635
  align-items: center;
@@ -1616,7 +1668,7 @@ var Container6 = styled11.button`
1616
1668
  opacity: 0.9;
1617
1669
  }
1618
1670
  `;
1619
- var IconWrapper2 = styled11.div`
1671
+ var IconWrapper2 = styled47.div`
1620
1672
  position: relative;
1621
1673
  width: 36px;
1622
1674
  height: 36px;
@@ -1627,13 +1679,13 @@ var IconWrapper2 = styled11.div`
1627
1679
  justify-content: center;
1628
1680
  flex-shrink: 0;
1629
1681
  `;
1630
- var WorkflowInfo = styled11.div`
1682
+ var WorkflowInfo = styled47.div`
1631
1683
  display: flex;
1632
1684
  flex-direction: column;
1633
1685
  gap: ${tokens.spacing.xs};
1634
1686
  min-width: 0;
1635
1687
  `;
1636
- var WorkflowName = styled11.span`
1688
+ var WorkflowName = styled47.span`
1637
1689
  color: ${tokens.colors.text.primary};
1638
1690
  font-size: ${tokens.typography.fontSize.sm};
1639
1691
  font-weight: ${tokens.typography.fontWeight.semibold};
@@ -1642,14 +1694,14 @@ var WorkflowName = styled11.span`
1642
1694
  text-overflow: ellipsis;
1643
1695
  white-space: nowrap;
1644
1696
  `;
1645
- var WorkflowStatus = styled11.span`
1697
+ var WorkflowStatus = styled47.span`
1646
1698
  color: ${tokens.colors.text.tertiary};
1647
1699
  font-size: ${tokens.typography.fontSize.xs};
1648
1700
  font-weight: ${tokens.typography.fontWeight.regular};
1649
1701
  line-height: ${tokens.typography.lineHeight.tight};
1650
1702
  text-transform: capitalize;
1651
1703
  `;
1652
- var WorkflowSubtitle = styled11.span`
1704
+ var WorkflowSubtitle = styled47.span`
1653
1705
  color: ${tokens.colors.text.tertiary};
1654
1706
  font-size: ${tokens.typography.fontSize.xs};
1655
1707
  font-weight: ${tokens.typography.fontWeight.regular};
@@ -1659,7 +1711,7 @@ var WorkflowSubtitle = styled11.span`
1659
1711
  text-overflow: ellipsis;
1660
1712
  white-space: nowrap;
1661
1713
  `;
1662
- var StatusIndicatorOuter = styled11.span`
1714
+ var StatusIndicatorOuter = styled47.span`
1663
1715
  position: absolute;
1664
1716
  bottom: -2px;
1665
1717
  right: -2px;
@@ -1671,7 +1723,7 @@ var StatusIndicatorOuter = styled11.span`
1671
1723
  align-items: center;
1672
1724
  justify-content: center;
1673
1725
  `;
1674
- var StatusIndicatorInner = styled11.span`
1726
+ var StatusIndicatorInner = styled47.span`
1675
1727
  width: 8px;
1676
1728
  height: 8px;
1677
1729
  border-radius: ${tokens.borderRadius.full};
@@ -1717,7 +1769,7 @@ function WorkflowStatusCard({
1717
1769
  ] });
1718
1770
  }
1719
1771
  WorkflowStatusCard.displayName = "WorkflowStatusCard";
1720
- var DarkNotificationCardContainer = styled11.div`
1772
+ var DarkNotificationCardContainer = styled47.div`
1721
1773
  display: flex;
1722
1774
  flex-direction: column;
1723
1775
  padding: ${tokens.spacing.xs};
@@ -1728,7 +1780,7 @@ var DarkNotificationCardContainer = styled11.div`
1728
1780
  min-width: 0;
1729
1781
  overflow: hidden;
1730
1782
  `;
1731
- var DarkSectionHeader = styled11.button`
1783
+ var DarkSectionHeader = styled47.button`
1732
1784
  display: flex;
1733
1785
  align-items: center;
1734
1786
  justify-content: space-between;
@@ -1754,7 +1806,7 @@ var DarkSectionHeader = styled11.button`
1754
1806
  border-radius: ${tokens.borderRadius.sm};
1755
1807
  }
1756
1808
  `;
1757
- var DarkChevronIcon = styled11.span`
1809
+ var DarkChevronIcon = styled47.span`
1758
1810
  display: inline-flex;
1759
1811
  align-items: center;
1760
1812
  justify-content: center;
@@ -1772,7 +1824,7 @@ var DarkChevronIcon = styled11.span`
1772
1824
  height: 12px;
1773
1825
  }
1774
1826
  `;
1775
- var DarkSectionContent = styled11.div`
1827
+ var DarkSectionContent = styled47.div`
1776
1828
  display: flex;
1777
1829
  flex-direction: column;
1778
1830
  gap: ${tokens.spacing.xs};
@@ -1781,7 +1833,7 @@ var DarkSectionContent = styled11.div`
1781
1833
  min-width: 0;
1782
1834
  overflow: hidden;
1783
1835
  `;
1784
- var DarkNotificationItemWrapper = styled11.button`
1836
+ var DarkNotificationItemWrapper = styled47.button`
1785
1837
  display: flex;
1786
1838
  align-items: center;
1787
1839
  gap: ${tokens.spacing.xs};
@@ -1820,7 +1872,7 @@ var DarkNotificationItemWrapper = styled11.button`
1820
1872
  opacity: 0.5;
1821
1873
  }
1822
1874
  `;
1823
- var DarkItemIcon = styled11.span`
1875
+ var DarkItemIcon = styled47.span`
1824
1876
  display: inline-flex;
1825
1877
  align-items: center;
1826
1878
  justify-content: center;
@@ -1845,7 +1897,7 @@ var DarkItemIcon = styled11.span`
1845
1897
  padding: ${tokens.spacing.xs};
1846
1898
  `}
1847
1899
  `;
1848
- var DarkItemText = styled11.span`
1900
+ var DarkItemText = styled47.span`
1849
1901
  flex: 1;
1850
1902
  font-family: ${tokens.typography.fontFamily.primary};
1851
1903
  font-size: 11px;
@@ -1857,7 +1909,7 @@ var DarkItemText = styled11.span`
1857
1909
  overflow: hidden;
1858
1910
  text-overflow: ellipsis;
1859
1911
  `;
1860
- var DarkMenuButton = styled11.button`
1912
+ var DarkMenuButton = styled47.button`
1861
1913
  display: inline-flex;
1862
1914
  align-items: center;
1863
1915
  justify-content: center;
@@ -1891,7 +1943,7 @@ var DarkMenuButton = styled11.button`
1891
1943
  height: 14px;
1892
1944
  }
1893
1945
  `;
1894
- var DarkTimestamp = styled11.span`
1946
+ var DarkTimestamp = styled47.span`
1895
1947
  font-size: 10px;
1896
1948
  color: ${tokens.colors.text.tertiary};
1897
1949
  white-space: normal;
@@ -2076,7 +2128,7 @@ var DarkNotificationItemComponent = ({
2076
2128
  );
2077
2129
  };
2078
2130
  DarkNotificationCard.displayName = "DarkNotificationCard";
2079
- var Container7 = styled11.div`
2131
+ var Container7 = styled47.div`
2080
2132
  width: 100%;
2081
2133
  height: 100%;
2082
2134
  background-color: transparent;
@@ -2086,7 +2138,7 @@ var Container7 = styled11.div`
2086
2138
  font-family: ${tokens.typography.fontFamily.primary};
2087
2139
  overflow: hidden; // Prevent content from escaping container bounds
2088
2140
  `;
2089
- var TabListWrapper = styled11.div`
2141
+ var TabListWrapper = styled47.div`
2090
2142
  display: flex;
2091
2143
  border-bottom: 2px solid ${tokens.colors.border.default};
2092
2144
  background-color: ${tokens.colors.surface.subtle};
@@ -2106,7 +2158,7 @@ var TabListWrapper = styled11.div`
2106
2158
  gap: ${tokens.spacing.xs};
2107
2159
  }
2108
2160
  `;
2109
- var TabButton = styled11.button`
2161
+ var TabButton = styled47.button`
2110
2162
  padding: ${tokens.spacing.md} ${tokens.spacing.lg};
2111
2163
  background: none;
2112
2164
  border: none;
@@ -2150,11 +2202,12 @@ var TabButton = styled11.button`
2150
2202
  }
2151
2203
  `}
2152
2204
  `;
2153
- var TabPanelWrapper = styled11.div`
2205
+ var TabPanelWrapper = styled47.div`
2154
2206
  flex: 1;
2155
2207
  padding: ${tokens.spacing.lg};
2156
2208
  overflow-y: auto;
2157
2209
  overflow-x: hidden; // Prevent horizontal overflow
2210
+ scrollbar-gutter: stable; // Always reserve space for scrollbar to prevent width jump
2158
2211
  background-color: ${tokens.colors.surface.overlay};
2159
2212
  min-height: 0; // Enable proper flex shrinking and scrolling
2160
2213
 
@@ -2187,7 +2240,7 @@ var TabPanelWrapper = styled11.div`
2187
2240
  background: ${tokens.colors.scrollbar.thumbHover};
2188
2241
  }
2189
2242
  `;
2190
- var RunsContainer = styled11.div`
2243
+ var RunsContainer = styled47.div`
2191
2244
  display: flex;
2192
2245
  flex-direction: column;
2193
2246
  gap: ${tokens.spacing.lg};
@@ -2200,7 +2253,7 @@ var RunsContainer = styled11.div`
2200
2253
  gap: ${tokens.spacing.md};
2201
2254
  }
2202
2255
  `;
2203
- styled11.button`
2256
+ styled47.button`
2204
2257
  display: flex;
2205
2258
  align-items: center;
2206
2259
  gap: ${tokens.spacing.md};
@@ -2237,7 +2290,7 @@ styled11.button`
2237
2290
  outline-offset: 2px;
2238
2291
  }
2239
2292
  `;
2240
- var StyledDisclosureGroup = styled11(DisclosureGroup)`
2293
+ var StyledDisclosureGroup = styled47(DisclosureGroup)`
2241
2294
  display: flex;
2242
2295
  flex-direction: column;
2243
2296
  gap: ${tokens.spacing.sm};
@@ -2246,7 +2299,7 @@ var StyledDisclosureGroup = styled11(DisclosureGroup)`
2246
2299
  min-width: 0;
2247
2300
  overflow: hidden;
2248
2301
  `;
2249
- var CategoryDisclosure = styled11(Disclosure)`
2302
+ var CategoryDisclosure = styled47(Disclosure)`
2250
2303
  background-color: transparent;
2251
2304
  display: flex;
2252
2305
  flex-direction: column;
@@ -2264,7 +2317,7 @@ var CategoryDisclosure = styled11(Disclosure)`
2264
2317
  cursor: not-allowed;
2265
2318
  }
2266
2319
  `;
2267
- var CategoryHeader = styled11(Button)`
2320
+ var CategoryHeader = styled47(Button)`
2268
2321
  width: 100%;
2269
2322
  padding: ${tokens.spacing.xs} 0;
2270
2323
  background: none;
@@ -2294,7 +2347,7 @@ var CategoryHeader = styled11(Button)`
2294
2347
  border-radius: ${tokens.borderRadius.sm};
2295
2348
  }
2296
2349
  `;
2297
- var CategoryTitle = styled11.div`
2350
+ var CategoryTitle = styled47.div`
2298
2351
  display: flex;
2299
2352
  align-items: center;
2300
2353
  gap: ${tokens.spacing.sm};
@@ -2303,7 +2356,7 @@ var CategoryTitle = styled11.div`
2303
2356
  gap: ${tokens.spacing.xs};
2304
2357
  }
2305
2358
  `;
2306
- styled11.img`
2359
+ styled47.img`
2307
2360
  width: 16px;
2308
2361
  height: 16px;
2309
2362
  opacity: 0.6;
@@ -2314,7 +2367,7 @@ styled11.img`
2314
2367
  height: 14px;
2315
2368
  }
2316
2369
  `;
2317
- var HashtagIcon = styled11.img`
2370
+ var HashtagIcon = styled47.img`
2318
2371
  width: 14px;
2319
2372
  height: 14px;
2320
2373
  opacity: 0.6;
@@ -2325,7 +2378,7 @@ var HashtagIcon = styled11.img`
2325
2378
  height: 12px;
2326
2379
  }
2327
2380
  `;
2328
- var ChevronIcon = styled11.div`
2381
+ var ChevronIcon = styled47.div`
2329
2382
  display: flex;
2330
2383
  align-items: center;
2331
2384
  transition: transform ${tokens.transitions.normal};
@@ -2346,7 +2399,7 @@ var ChevronIcon = styled11.div`
2346
2399
  }
2347
2400
  }
2348
2401
  `;
2349
- var CategoryDisclosurePanel = styled11(DisclosurePanel)`
2402
+ var CategoryDisclosurePanel = styled47(DisclosurePanel)`
2350
2403
  display: flex;
2351
2404
  flex-direction: column;
2352
2405
  gap: 2px;
@@ -2375,7 +2428,7 @@ var CategoryDisclosurePanel = styled11(DisclosurePanel)`
2375
2428
  }
2376
2429
  }
2377
2430
  `;
2378
- var ItemContainer = styled11.div`
2431
+ var ItemContainer = styled47.div`
2379
2432
  display: flex;
2380
2433
  align-items: center;
2381
2434
  gap: ${tokens.spacing.sm};
@@ -2395,7 +2448,7 @@ var ItemContainer = styled11.div`
2395
2448
  background-color: ${tokens.colors.surface.overlayHover};
2396
2449
  }
2397
2450
  `;
2398
- var ItemDisclosure = styled11(Disclosure)`
2451
+ var ItemDisclosure = styled47(Disclosure)`
2399
2452
  background-color: transparent;
2400
2453
  margin-bottom: ${tokens.spacing.xs};
2401
2454
  display: flex;
@@ -2410,7 +2463,7 @@ var ItemDisclosure = styled11(Disclosure)`
2410
2463
  border-radius: ${tokens.borderRadius.md};
2411
2464
  }
2412
2465
  `;
2413
- var ItemHeader = styled11(Button)`
2466
+ var ItemHeader = styled47(Button)`
2414
2467
  width: 100%;
2415
2468
  padding: 0;
2416
2469
  background: none;
@@ -2428,7 +2481,7 @@ var ItemHeader = styled11(Button)`
2428
2481
  border-radius: ${tokens.borderRadius.sm};
2429
2482
  }
2430
2483
  `;
2431
- var ItemDisclosurePanel = styled11(DisclosurePanel)`
2484
+ var ItemDisclosurePanel = styled47(DisclosurePanel)`
2432
2485
  padding: ${tokens.spacing.xs};
2433
2486
  background-color: ${tokens.colors.overlay};
2434
2487
  border-radius: 0 0 ${tokens.borderRadius.md} ${tokens.borderRadius.md};
@@ -2458,7 +2511,7 @@ var ItemDisclosurePanel = styled11(DisclosurePanel)`
2458
2511
  }
2459
2512
  }
2460
2513
  `;
2461
- var ItemIcon = styled11.img`
2514
+ var ItemIcon = styled47.img`
2462
2515
  width: 20px;
2463
2516
  height: 20px;
2464
2517
  opacity: 0.6;
@@ -2469,7 +2522,7 @@ var ItemIcon = styled11.img`
2469
2522
  height: 18px;
2470
2523
  }
2471
2524
  `;
2472
- var ItemName = styled11.span`
2525
+ var ItemName = styled47.span`
2473
2526
  flex: 1;
2474
2527
  font-size: ${tokens.typography.fontSize.sm};
2475
2528
  color: ${(props) => props.$dimmed ? tokens.colors.text.tertiary : tokens.colors.text.secondary};
@@ -2487,7 +2540,7 @@ var ItemName = styled11.span`
2487
2540
  color: ${(props) => props.$dimmed ? tokens.colors.text.secondary : tokens.colors.text.primary};
2488
2541
  }
2489
2542
  `;
2490
- var RunStatus = styled11.span`
2543
+ var RunStatus = styled47.span`
2491
2544
  display: flex;
2492
2545
  align-items: center;
2493
2546
  justify-content: center;
@@ -2519,13 +2572,13 @@ var RunStatus = styled11.span`
2519
2572
  font-size: ${tokens.typography.fontSize.xs};
2520
2573
  }
2521
2574
  `;
2522
- styled11.div`
2575
+ styled47.div`
2523
2576
  margin-bottom: ${tokens.spacing.md};
2524
2577
  border-radius: ${tokens.borderRadius.lg};
2525
2578
  background-color: ${tokens.colors.surface.overlay};
2526
2579
  overflow: hidden;
2527
2580
  `;
2528
- styled11.button`
2581
+ styled47.button`
2529
2582
  width: 100%;
2530
2583
  padding: ${tokens.spacing.md};
2531
2584
  background: ${tokens.colors.surface.overlay};
@@ -2561,13 +2614,13 @@ styled11.button`
2561
2614
  margin-bottom: ${tokens.spacing.xs};
2562
2615
  }
2563
2616
  `;
2564
- styled11.span`
2617
+ styled47.span`
2565
2618
  font-size: ${tokens.typography.fontSize.xs};
2566
2619
  color: ${tokens.colors.text.secondary};
2567
2620
  transition: transform ${tokens.transitions.normal};
2568
2621
  transform: ${(props) => props.$isExpanded ? "rotate(180deg)" : "rotate(0deg)"};
2569
2622
  `;
2570
- styled11.div`
2623
+ styled47.div`
2571
2624
  padding: ${tokens.spacing.md};
2572
2625
  padding-top: 0;
2573
2626
  background-color: ${tokens.colors.overlay};
@@ -2587,17 +2640,17 @@ styled11.div`
2587
2640
  }
2588
2641
  }
2589
2642
  `;
2590
- var MeterContainer = styled11.div`
2643
+ var MeterContainer = styled47.div`
2591
2644
  max-width: 600px;
2592
2645
  margin: 0 auto;
2593
2646
  `;
2594
- var MeterLabel = styled11.div`
2647
+ var MeterLabel = styled47.div`
2595
2648
  font-size: ${tokens.typography.fontSize.base};
2596
2649
  font-weight: ${tokens.typography.fontWeight.semibold};
2597
2650
  margin-bottom: ${tokens.spacing.md};
2598
2651
  color: ${tokens.colors.text.primary};
2599
2652
  `;
2600
- var MeterBar = styled11.div`
2653
+ var MeterBar = styled47.div`
2601
2654
  width: 100%;
2602
2655
  height: 24px;
2603
2656
  background-color: ${tokens.colors.background.darker};
@@ -2606,7 +2659,7 @@ var MeterBar = styled11.div`
2606
2659
  position: relative;
2607
2660
  margin-bottom: ${tokens.spacing.md};
2608
2661
  `;
2609
- var MeterFill = styled11.div`
2662
+ var MeterFill = styled47.div`
2610
2663
  height: 100%;
2611
2664
  width: ${(props) => props.$percentage}%;
2612
2665
  background: linear-gradient(90deg, ${(props) => props.$color}dd, ${(props) => props.$color});
@@ -2634,7 +2687,7 @@ var MeterFill = styled11.div`
2634
2687
  }
2635
2688
  }
2636
2689
  `;
2637
- var MeterStats = styled11.div`
2690
+ var MeterStats = styled47.div`
2638
2691
  font-size: ${tokens.typography.fontSize.sm};
2639
2692
  color: ${tokens.colors.text.secondary};
2640
2693
  text-align: center;
@@ -2645,18 +2698,18 @@ var MeterStats = styled11.div`
2645
2698
  opacity: 0.8;
2646
2699
  }
2647
2700
  `;
2648
- var ConnectionsContainer = styled11.div`
2701
+ var ConnectionsContainer = styled47.div`
2649
2702
  max-width: 500px;
2650
2703
  margin: 0 auto;
2651
2704
  text-align: center;
2652
2705
  `;
2653
- var ConnectionDescription = styled11.p`
2706
+ var ConnectionDescription = styled47.p`
2654
2707
  font-size: ${tokens.typography.fontSize.sm};
2655
2708
  color: ${tokens.colors.text.secondary};
2656
2709
  line-height: ${tokens.typography.lineHeight.relaxed};
2657
2710
  margin-bottom: ${tokens.spacing.lg};
2658
2711
  `;
2659
- var GoogleButton = styled11.button`
2712
+ var GoogleButton = styled47.button`
2660
2713
  width: 100%;
2661
2714
  padding: ${tokens.spacing.md} ${tokens.spacing.lg};
2662
2715
  font-size: ${tokens.typography.fontSize.sm};
@@ -3083,7 +3136,7 @@ function PaneMenus({
3083
3136
  /* @__PURE__ */ jsx(TabPanel, { state }, state.selectedItem?.key)
3084
3137
  ] });
3085
3138
  }
3086
- var Container8 = styled11.header`
3139
+ var Container8 = styled47.header`
3087
3140
  position: relative;
3088
3141
  width: 100%;
3089
3142
  height: 56px;
@@ -3146,7 +3199,7 @@ var Container8 = styled11.header`
3146
3199
  background-color: ${tokens.colors.backdrop};
3147
3200
  }
3148
3201
  `;
3149
- var BrandLogo = styled11.img`
3202
+ var BrandLogo = styled47.img`
3150
3203
  position: relative;
3151
3204
  z-index: 1;
3152
3205
  max-height: 28px;
@@ -3161,7 +3214,7 @@ var BrandLogo = styled11.img`
3161
3214
  max-height: 32px;
3162
3215
  }
3163
3216
  `;
3164
- var SettingsButton = styled11.button`
3217
+ var SettingsButton = styled47.button`
3165
3218
  position: absolute;
3166
3219
  top: 50%;
3167
3220
  right: ${tokens.spacing.md};
@@ -3215,7 +3268,7 @@ var SettingsButton = styled11.button`
3215
3268
  right: ${tokens.spacing.lg};
3216
3269
  }
3217
3270
  `;
3218
- var BackButton2 = styled11.button`
3271
+ var BackButton2 = styled47.button`
3219
3272
  position: absolute;
3220
3273
  top: 50%;
3221
3274
  left: ${tokens.spacing.md};
@@ -3322,7 +3375,7 @@ function PaneSectionHeader({
3322
3375
  ] });
3323
3376
  }
3324
3377
  PaneSectionHeader.displayName = "PaneSectionHeader";
3325
- var Container9 = styled11.button`
3378
+ var Container9 = styled47.button`
3326
3379
  /* Base button styling */
3327
3380
  width: 48px;
3328
3381
  height: 48px;
@@ -3371,7 +3424,7 @@ var Container9 = styled11.button`
3371
3424
  cursor: not-allowed;
3372
3425
  }
3373
3426
  `;
3374
- var LogoImage = styled11.img`
3427
+ var LogoImage = styled47.img`
3375
3428
  width: 100%;
3376
3429
  height: 100%;
3377
3430
  object-fit: contain;
@@ -3390,7 +3443,7 @@ function ServiceIcon({ brand, active = false, className, ...ariaProps }) {
3390
3443
  return /* @__PURE__ */ jsx(Container9, { ...buttonProps, ref, $active: active, className, children: /* @__PURE__ */ jsx(LogoImage, { src: `/assets/icons/Brand/${brand}.svg`, alt: brand }) });
3391
3444
  }
3392
3445
  ServiceIcon.displayName = "ServiceIcon";
3393
- var NotificationCardContainer = styled11.div`
3446
+ var NotificationCardContainer = styled47.div`
3394
3447
  display: flex;
3395
3448
  flex-direction: column;
3396
3449
  width: 100%;
@@ -3401,7 +3454,7 @@ var NotificationCardContainer = styled11.div`
3401
3454
  box-shadow: ${tokens.shadows.card};
3402
3455
  gap: ${tokens.spacing.md};
3403
3456
  `;
3404
- var SectionHeader = styled11.button`
3457
+ var SectionHeader = styled47.button`
3405
3458
  display: flex;
3406
3459
  align-items: center;
3407
3460
  justify-content: space-between;
@@ -3427,7 +3480,7 @@ var SectionHeader = styled11.button`
3427
3480
  border-radius: ${tokens.borderRadius.md};
3428
3481
  }
3429
3482
  `;
3430
- var ChevronIcon2 = styled11.span`
3483
+ var ChevronIcon2 = styled47.span`
3431
3484
  display: inline-flex;
3432
3485
  align-items: center;
3433
3486
  justify-content: center;
@@ -3445,14 +3498,14 @@ var ChevronIcon2 = styled11.span`
3445
3498
  height: 16px;
3446
3499
  }
3447
3500
  `;
3448
- var SectionContent = styled11.div`
3501
+ var SectionContent = styled47.div`
3449
3502
  display: flex;
3450
3503
  flex-direction: column;
3451
3504
  gap: ${tokens.spacing.sm};
3452
3505
  padding-left: 0;
3453
3506
  margin-top: ${tokens.spacing.xs};
3454
3507
  `;
3455
- var NotificationItemWrapper = styled11.button`
3508
+ var NotificationItemWrapper = styled47.button`
3456
3509
  display: flex;
3457
3510
  align-items: center;
3458
3511
  gap: ${tokens.spacing.md};
@@ -3489,7 +3542,7 @@ var NotificationItemWrapper = styled11.button`
3489
3542
  opacity: 0.5;
3490
3543
  }
3491
3544
  `;
3492
- var ItemIcon2 = styled11.span`
3545
+ var ItemIcon2 = styled47.span`
3493
3546
  display: inline-flex;
3494
3547
  align-items: center;
3495
3548
  justify-content: center;
@@ -3514,7 +3567,7 @@ var ItemIcon2 = styled11.span`
3514
3567
  padding: ${tokens.spacing.xs};
3515
3568
  `}
3516
3569
  `;
3517
- var ItemText = styled11.span`
3570
+ var ItemText = styled47.span`
3518
3571
  flex: 1;
3519
3572
  font-family: ${tokens.typography.fontFamily.primary};
3520
3573
  font-size: 15px;
@@ -3523,7 +3576,7 @@ var ItemText = styled11.span`
3523
3576
  line-height: ${tokens.typography.lineHeight.normal};
3524
3577
  word-wrap: break-word;
3525
3578
  `;
3526
- var MenuButton = styled11.button`
3579
+ var MenuButton = styled47.button`
3527
3580
  display: inline-flex;
3528
3581
  align-items: center;
3529
3582
  justify-content: center;
@@ -3733,7 +3786,7 @@ var NotificationItemComponent = ({
3733
3786
  );
3734
3787
  };
3735
3788
  NotificationCard.displayName = "NotificationCard";
3736
- var StyledUserMessage = styled11.button`
3789
+ var StyledUserMessage = styled47.button`
3737
3790
  /* Base styles */
3738
3791
  display: inline-flex;
3739
3792
  align-items: center;
@@ -3748,6 +3801,7 @@ var StyledUserMessage = styled11.button`
3748
3801
  user-select: none;
3749
3802
  white-space: pre-wrap;
3750
3803
  word-wrap: break-word;
3804
+ word-break: break-word;
3751
3805
  position: relative;
3752
3806
  text-align: left;
3753
3807
 
@@ -3921,12 +3975,23 @@ var darkTheme = {
3921
3975
  breakpoints: tokens.breakpoints
3922
3976
  };
3923
3977
  var GlobalStyle = createGlobalStyle`
3978
+ /* Universal tap highlight removal - nuclear option for Android WebKit */
3979
+ * {
3980
+ -webkit-tap-highlight-color: transparent !important;
3981
+ }
3982
+
3924
3983
  *,
3925
3984
  *::before,
3926
3985
  *::after {
3927
3986
  box-sizing: border-box;
3928
3987
  }
3929
3988
 
3989
+ html {
3990
+ /* Ensure tap highlight is disabled at root level */
3991
+ -webkit-tap-highlight-color: transparent;
3992
+ -webkit-touch-callout: none;
3993
+ }
3994
+
3930
3995
  body {
3931
3996
  margin: 0;
3932
3997
  padding: 0;
@@ -3935,10 +4000,34 @@ var GlobalStyle = createGlobalStyle`
3935
4000
  background-color: ${({ theme }) => theme.colors.surface};
3936
4001
  -webkit-font-smoothing: antialiased;
3937
4002
  -moz-osx-font-smoothing: grayscale;
4003
+ /* Disable tap highlight on body as well */
4004
+ -webkit-tap-highlight-color: transparent;
4005
+ }
4006
+
4007
+ /* Remove mobile tap highlight for ALL interactive elements */
4008
+ a,
4009
+ button,
4010
+ input,
4011
+ select,
4012
+ textarea,
4013
+ label,
4014
+ [role="button"],
4015
+ [role="link"],
4016
+ [role="tab"],
4017
+ [role="menuitem"],
4018
+ [role="option"],
4019
+ [tabindex]:not([tabindex="-1"]),
4020
+ [onclick] {
4021
+ -webkit-tap-highlight-color: transparent !important;
4022
+ -webkit-touch-callout: none;
4023
+ touch-action: manipulation;
3938
4024
  }
3939
4025
 
3940
4026
  button {
3941
4027
  font-family: inherit;
4028
+ /* Prevent text selection flash on tap */
4029
+ user-select: none;
4030
+ -webkit-user-select: none;
3942
4031
  }
3943
4032
  `;
3944
4033
 
@@ -4037,7 +4126,7 @@ var ConnectionStatusBadge = ({
4037
4126
  );
4038
4127
  };
4039
4128
  ConnectionStatusBadge.displayName = "ConnectionStatusBadge";
4040
- var Badge = styled11.span`
4129
+ var Badge = styled47.span`
4041
4130
  display: inline-flex;
4042
4131
  align-items: center;
4043
4132
  padding: ${({ $size }) => $size === "sm" ? `${tokens.spacing.xs} 6px` : `${tokens.spacing.xs} ${tokens.spacing.sm}`};
@@ -4073,7 +4162,7 @@ var IntegrationCard = ({
4073
4162
  ] });
4074
4163
  };
4075
4164
  IntegrationCard.displayName = "IntegrationCard";
4076
- var Card = styled11.div`
4165
+ var Card = styled47.div`
4077
4166
  display: flex;
4078
4167
  flex-direction: column;
4079
4168
  gap: ${tokens.spacing.sm};
@@ -4093,11 +4182,11 @@ var Card = styled11.div`
4093
4182
  border-color: ${tokens.colors.border.hover};
4094
4183
  }
4095
4184
  `;
4096
- var StatusRow = styled11.div`
4185
+ var StatusRow = styled47.div`
4097
4186
  display: flex;
4098
4187
  align-items: center;
4099
4188
  `;
4100
- var ContentHeader = styled11.div`
4189
+ var ContentHeader = styled47.div`
4101
4190
  display: flex;
4102
4191
  align-items: flex-start;
4103
4192
  gap: ${tokens.spacing.sm};
@@ -4106,7 +4195,7 @@ var ContentHeader = styled11.div`
4106
4195
  gap: ${tokens.spacing.xs};
4107
4196
  }
4108
4197
  `;
4109
- var IconWrapper3 = styled11.div`
4198
+ var IconWrapper3 = styled47.div`
4110
4199
  width: 40px;
4111
4200
  height: 40px;
4112
4201
  display: flex;
@@ -4116,32 +4205,32 @@ var IconWrapper3 = styled11.div`
4116
4205
  background: ${tokens.colors.background.light};
4117
4206
  flex-shrink: 0;
4118
4207
  `;
4119
- var IconImage = styled11.img`
4208
+ var IconImage = styled47.img`
4120
4209
  width: 24px;
4121
4210
  height: 24px;
4122
4211
  object-fit: contain;
4123
4212
  `;
4124
- var Info = styled11.div`
4213
+ var Info = styled47.div`
4125
4214
  display: flex;
4126
4215
  flex-direction: column;
4127
4216
  gap: 2px;
4128
4217
  min-width: 0;
4129
4218
  flex: 1;
4130
4219
  `;
4131
- var Name = styled11.h3`
4220
+ var Name = styled47.h3`
4132
4221
  margin: 0;
4133
4222
  font-size: ${tokens.typography.fontSize.sm};
4134
4223
  font-weight: ${tokens.typography.fontWeight.semibold};
4135
4224
  color: ${tokens.colors.text.primary};
4136
4225
  line-height: ${tokens.typography.lineHeight.tight};
4137
4226
  `;
4138
- var Description = styled11.p`
4227
+ var Description = styled47.p`
4139
4228
  margin: 0;
4140
4229
  font-size: ${tokens.typography.fontSize.xs};
4141
4230
  color: ${tokens.colors.text.tertiary};
4142
4231
  line-height: ${tokens.typography.lineHeight.normal};
4143
4232
  `;
4144
- var ActionsRow = styled11.div`
4233
+ var ActionsRow = styled47.div`
4145
4234
  display: flex;
4146
4235
  flex-direction: column;
4147
4236
  gap: ${tokens.spacing.sm};
@@ -4199,13 +4288,13 @@ var SecretInput = ({
4199
4288
  ] });
4200
4289
  };
4201
4290
  SecretInput.displayName = "SecretInput";
4202
- var Container10 = styled11.div`
4291
+ var Container10 = styled47.div`
4203
4292
  position: relative;
4204
4293
  display: flex;
4205
4294
  align-items: center;
4206
4295
  width: 100%;
4207
4296
  `;
4208
- var Input = styled11.input`
4297
+ var Input = styled47.input`
4209
4298
  width: 100%;
4210
4299
  padding: ${tokens.spacing.sm} ${tokens.spacing.md};
4211
4300
  padding-right: 40px;
@@ -4231,7 +4320,7 @@ var Input = styled11.input`
4231
4320
  cursor: not-allowed;
4232
4321
  }
4233
4322
  `;
4234
- var VisibilityToggle = styled11.button`
4323
+ var VisibilityToggle = styled47.button`
4235
4324
  position: absolute;
4236
4325
  right: ${tokens.spacing.sm};
4237
4326
  top: 50%;
@@ -4348,7 +4437,7 @@ var sizeStyles = {
4348
4437
  height: 44px;
4349
4438
  `
4350
4439
  };
4351
- var StyledButton = styled11.button`
4440
+ var StyledButton = styled47.button`
4352
4441
  /* Base styles */
4353
4442
  display: inline-flex;
4354
4443
  align-items: center;
@@ -4431,7 +4520,7 @@ function Button2({
4431
4520
  );
4432
4521
  }
4433
4522
  Button2.displayName = "Button";
4434
- var ActionsContainer = styled11.div`
4523
+ var ActionsContainer = styled47.div`
4435
4524
  display: flex;
4436
4525
  gap: ${tokens.spacing.sm};
4437
4526
  align-items: center;
@@ -4491,7 +4580,7 @@ var blink = keyframes`
4491
4580
  opacity: 0;
4492
4581
  }
4493
4582
  `;
4494
- var ResponseContainer = styled11.div`
4583
+ var ResponseContainer = styled47.div`
4495
4584
  display: inline-flex;
4496
4585
  align-items: center;
4497
4586
  gap: ${tokens.spacing.sm};
@@ -4503,13 +4592,13 @@ var ResponseContainer = styled11.div`
4503
4592
  max-width: fit-content;
4504
4593
  margin: 0 auto;
4505
4594
  `;
4506
- var LoadingDots2 = styled11.div`
4595
+ var LoadingDots2 = styled47.div`
4507
4596
  display: flex;
4508
4597
  align-items: center;
4509
4598
  gap: ${tokens.spacing.xs};
4510
4599
  padding: 0 ${tokens.spacing.xs};
4511
4600
  `;
4512
- var Dot2 = styled11.span`
4601
+ var Dot2 = styled47.span`
4513
4602
  width: ${tokens.spacing.xs};
4514
4603
  height: ${tokens.spacing.xs};
4515
4604
  border-radius: ${tokens.borderRadius.full};
@@ -4517,7 +4606,7 @@ var Dot2 = styled11.span`
4517
4606
  animation: ${dotPulse2} 1.4s ease-in-out infinite;
4518
4607
  animation-delay: ${(props) => props.delay}s;
4519
4608
  `;
4520
- var TypingIndicator = styled11.div`
4609
+ var TypingIndicator = styled47.div`
4521
4610
  display: flex;
4522
4611
  align-items: center;
4523
4612
  gap: ${tokens.spacing.xs};
@@ -4530,14 +4619,14 @@ var TypingIndicator = styled11.div`
4530
4619
  animation: ${dotPulse2} 1.4s ease-in-out infinite;
4531
4620
  }
4532
4621
  `;
4533
- var Message2 = styled11.span`
4622
+ var Message2 = styled47.span`
4534
4623
  font-size: ${tokens.typography.fontSize.sm};
4535
4624
  color: ${tokens.colors.text.primary};
4536
4625
  font-weight: ${tokens.typography.fontWeight.regular};
4537
4626
  line-height: ${tokens.typography.lineHeight.normal};
4538
4627
  white-space: nowrap;
4539
4628
  `;
4540
- var StreamingText = styled11.div`
4629
+ var StreamingText = styled47.div`
4541
4630
  font-size: ${tokens.typography.fontSize.sm};
4542
4631
  line-height: ${tokens.typography.lineHeight.normal};
4543
4632
  color: ${tokens.colors.text.primary};
@@ -4609,7 +4698,7 @@ var shake = keyframes`
4609
4698
  transform: translateX(5px);
4610
4699
  }
4611
4700
  `;
4612
- var AgentStateContainer = styled11.div`
4701
+ var AgentStateContainer = styled47.div`
4613
4702
  display: inline-flex;
4614
4703
  flex-direction: column;
4615
4704
  align-items: center;
@@ -4623,35 +4712,35 @@ var AgentStateContainer = styled11.div`
4623
4712
  max-width: fit-content;
4624
4713
  margin: 0 auto;
4625
4714
  `;
4626
- var StateContent = styled11.div`
4715
+ var StateContent = styled47.div`
4627
4716
  display: flex;
4628
4717
  flex-direction: column;
4629
4718
  gap: ${tokens.spacing.sm};
4630
4719
  align-items: center;
4631
4720
  width: 100%;
4632
4721
  `;
4633
- var IdleIndicator = styled11.div`
4722
+ var IdleIndicator = styled47.div`
4634
4723
  width: ${tokens.spacing.xs};
4635
4724
  height: ${tokens.spacing.xs};
4636
4725
  background-color: ${tokens.colors.status.idle};
4637
4726
  border-radius: ${tokens.borderRadius.full};
4638
4727
  animation: ${dotPulse3} 2s infinite ease-in-out;
4639
4728
  `;
4640
- var ErrorIndicator = styled11.div`
4729
+ var ErrorIndicator = styled47.div`
4641
4730
  width: ${tokens.spacing.xs};
4642
4731
  height: ${tokens.spacing.xs};
4643
4732
  background-color: ${tokens.colors.error};
4644
4733
  border-radius: ${tokens.borderRadius.full};
4645
4734
  animation: ${shake} 0.5s ease-in-out;
4646
4735
  `;
4647
- var StateLabel = styled11.span`
4736
+ var StateLabel = styled47.span`
4648
4737
  font-size: ${tokens.typography.fontSize.sm};
4649
4738
  font-weight: ${tokens.typography.fontWeight.regular};
4650
4739
  color: ${tokens.colors.text.primary};
4651
4740
  line-height: ${tokens.typography.lineHeight.normal};
4652
4741
  white-space: nowrap;
4653
4742
  `;
4654
- styled11.p`
4743
+ styled47.p`
4655
4744
  font-size: ${tokens.typography.fontSize.sm};
4656
4745
  color: ${tokens.colors.text.tertiary};
4657
4746
  line-height: ${tokens.typography.lineHeight.normal};
@@ -4659,7 +4748,7 @@ styled11.p`
4659
4748
  text-align: center;
4660
4749
  white-space: nowrap;
4661
4750
  `;
4662
- var ProgressBar = styled11.div`
4751
+ var ProgressBar = styled47.div`
4663
4752
  width: 100%;
4664
4753
  height: ${tokens.spacing.xs};
4665
4754
  background-color: ${tokens.colors.surface.elevated};
@@ -4667,7 +4756,7 @@ var ProgressBar = styled11.div`
4667
4756
  overflow: hidden;
4668
4757
  margin-top: ${tokens.spacing.xs};
4669
4758
  `;
4670
- var ProgressBarFill = styled11.div`
4759
+ var ProgressBarFill = styled47.div`
4671
4760
  height: 100%;
4672
4761
  width: ${(props) => Math.min(Math.max(props.progress, 0), 100)}%;
4673
4762
  background: linear-gradient(135deg, ${tokens.colors.accent} 0%, ${tokens.colors.primary} 100%);
@@ -4696,7 +4785,7 @@ var AgentState = ({ state, message, progress, className }) => {
4696
4785
  }
4697
4786
  return null;
4698
4787
  };
4699
- var FooterContainer = styled11.footer`
4788
+ var FooterContainer = styled47.footer`
4700
4789
  display: flex;
4701
4790
  align-items: center;
4702
4791
  justify-content: center;
@@ -4705,7 +4794,7 @@ var FooterContainer = styled11.footer`
4705
4794
  border-top: 1px solid ${tokens.colors.border.default};
4706
4795
  min-height: 44px;
4707
4796
  `;
4708
- var FooterContent = styled11.div`
4797
+ var FooterContent = styled47.div`
4709
4798
  display: flex;
4710
4799
  align-items: center;
4711
4800
  justify-content: space-between;
@@ -4718,13 +4807,13 @@ var FooterContent = styled11.div`
4718
4807
  font-family: ${tokens.typography.fontFamily.primary};
4719
4808
  line-height: ${tokens.typography.lineHeight.tight};
4720
4809
  `;
4721
- var FooterBranding = styled11.div`
4810
+ var FooterBranding = styled47.div`
4722
4811
  display: flex;
4723
4812
  align-items: center;
4724
4813
  gap: ${tokens.spacing.xs};
4725
4814
  flex-shrink: 0;
4726
4815
  `;
4727
- var FooterStatus = styled11.div`
4816
+ var FooterStatus = styled47.div`
4728
4817
  display: flex;
4729
4818
  align-items: center;
4730
4819
  gap: ${tokens.spacing.xs};
@@ -4734,7 +4823,7 @@ var FooterStatus = styled11.div`
4734
4823
  font-size: ${tokens.typography.fontSize.xs};
4735
4824
  opacity: 0.8;
4736
4825
  `;
4737
- var FooterLink = styled11.a`
4826
+ var FooterLink = styled47.a`
4738
4827
  color: ${tokens.colors.primary};
4739
4828
  text-decoration: none;
4740
4829
  transition: opacity ${tokens.transitions.fast};
@@ -4792,7 +4881,7 @@ var pulse2 = keyframes`
4792
4881
  transform: scale(1.1);
4793
4882
  }
4794
4883
  `;
4795
- var Container11 = styled11.div`
4884
+ var Container11 = styled47.div`
4796
4885
  display: inline-flex;
4797
4886
  align-items: center;
4798
4887
  gap: ${(props) => {
@@ -4808,7 +4897,7 @@ var Container11 = styled11.div`
4808
4897
  }};
4809
4898
  font-family: ${tokens.typography.fontFamily.primary};
4810
4899
  `;
4811
- var StatusDot = styled11.div`
4900
+ var StatusDot = styled47.div`
4812
4901
  width: ${(props) => {
4813
4902
  if (props.variant === "badge") {
4814
4903
  switch (props.size) {
@@ -4869,7 +4958,7 @@ var StatusDot = styled11.div`
4869
4958
  animation: ${(props) => props.status === "streaming" ? pulse2 : "none"} 2s ease-in-out infinite;
4870
4959
  flex-shrink: 0;
4871
4960
  `;
4872
- var Label = styled11.span`
4961
+ var Label = styled47.span`
4873
4962
  font-size: ${(props) => {
4874
4963
  if (props.variant === "badge") {
4875
4964
  switch (props.size) {
@@ -4896,7 +4985,7 @@ var Label = styled11.span`
4896
4985
  color: ${tokens.colors.text.secondary};
4897
4986
  line-height: ${tokens.typography.lineHeight.tight};
4898
4987
  `;
4899
- var BadgeContainer = styled11.div`
4988
+ var BadgeContainer = styled47.div`
4900
4989
  display: inline-flex;
4901
4990
  align-items: center;
4902
4991
  gap: ${(props) => {
@@ -4973,7 +5062,7 @@ var StreamStatusIndicator = ({
4973
5062
  return /* @__PURE__ */ jsx(Container11, { size, className, role: "status", "aria-label": getStatusLabel(status), children: content });
4974
5063
  };
4975
5064
  StreamStatusIndicator.displayName = "StreamStatusIndicator";
4976
- var HeaderContainer = styled11.header`
5065
+ var HeaderContainer = styled47.header`
4977
5066
  display: flex;
4978
5067
  align-items: center;
4979
5068
  justify-content: space-between;
@@ -4989,14 +5078,14 @@ var HeaderContainer = styled11.header`
4989
5078
  padding: ${tokens.spacing.sm} ${tokens.spacing.md};
4990
5079
  }
4991
5080
  `;
4992
- var HeaderContent = styled11.div`
5081
+ var HeaderContent = styled47.div`
4993
5082
  display: flex;
4994
5083
  flex-direction: column;
4995
5084
  gap: ${tokens.spacing.xs};
4996
5085
  flex: 1;
4997
5086
  min-width: 0;
4998
5087
  `;
4999
- var HeaderTitle = styled11.h1`
5088
+ var HeaderTitle = styled47.h1`
5000
5089
  margin: 0;
5001
5090
  font-size: ${tokens.typography.fontSize.base};
5002
5091
  font-weight: ${tokens.typography.fontWeight.semibold};
@@ -5007,7 +5096,7 @@ var HeaderTitle = styled11.h1`
5007
5096
  text-overflow: ellipsis;
5008
5097
  white-space: nowrap;
5009
5098
  `;
5010
- var HeaderSubtitle = styled11.p`
5099
+ var HeaderSubtitle = styled47.p`
5011
5100
  margin: 0;
5012
5101
  font-size: ${tokens.typography.fontSize.sm};
5013
5102
  color: ${tokens.colors.text.secondary};
@@ -5017,13 +5106,13 @@ var HeaderSubtitle = styled11.p`
5017
5106
  text-overflow: ellipsis;
5018
5107
  white-space: nowrap;
5019
5108
  `;
5020
- var HeaderActions = styled11.div`
5109
+ var HeaderActions = styled47.div`
5021
5110
  display: flex;
5022
5111
  align-items: center;
5023
5112
  gap: ${tokens.spacing.xs};
5024
5113
  margin-left: ${tokens.spacing.md};
5025
5114
  `;
5026
- var ActionButton2 = styled11.button`
5115
+ var ActionButton2 = styled47.button`
5027
5116
  display: inline-flex;
5028
5117
  align-items: center;
5029
5118
  justify-content: center;
@@ -5140,13 +5229,13 @@ var Header = ({
5140
5229
  ] });
5141
5230
  };
5142
5231
  Header.displayName = "Header";
5143
- var InputContainer = styled11.div`
5232
+ var InputContainer = styled47.div`
5144
5233
  display: flex;
5145
5234
  flex-direction: column;
5146
5235
  width: 100%;
5147
5236
  position: relative;
5148
5237
  `;
5149
- var InputWrapper2 = styled11.div`
5238
+ var InputWrapper2 = styled47.div`
5150
5239
  display: flex;
5151
5240
  align-items: flex-end;
5152
5241
  gap: ${tokens.spacing.sm};
@@ -5166,7 +5255,7 @@ var InputWrapper2 = styled11.div`
5166
5255
  border-color: ${tokens.colors.border.subtle};
5167
5256
  }
5168
5257
  `;
5169
- var TextArea = styled11.textarea`
5258
+ var TextArea = styled47.textarea`
5170
5259
  flex: 1;
5171
5260
  min-height: ${tokens.spacing.lg};
5172
5261
  max-height: ${(props) => `${(props.$maxRows || 5) * 24}px`};
@@ -5212,7 +5301,7 @@ var TextArea = styled11.textarea`
5212
5301
  background: ${tokens.colors.scrollbar.thumbHover};
5213
5302
  }
5214
5303
  `;
5215
- var SendButton = styled11.button`
5304
+ var SendButton = styled47.button`
5216
5305
  display: flex;
5217
5306
  align-items: center;
5218
5307
  justify-content: center;
@@ -5342,8 +5431,8 @@ var Input2 = ({
5342
5431
  )
5343
5432
  ] }) });
5344
5433
  };
5345
- var Container12 = styled11.div`
5346
- font-family: ${(props) => props.variant === "code" ? tokens.typography.fontFamily.monospace : tokens.typography.fontFamily.primary};
5434
+ var Container12 = styled47.div`
5435
+ font-family: ${(props) => props.$variant === "code" ? tokens.typography.fontFamily.monospace : tokens.typography.fontFamily.primary};
5347
5436
  white-space: pre-wrap;
5348
5437
  word-break: break-word;
5349
5438
  line-height: ${tokens.typography.lineHeight.normal};
@@ -5351,7 +5440,7 @@ var Container12 = styled11.div`
5351
5440
  text-rendering: optimizeSpeed;
5352
5441
  contain: content;
5353
5442
  `;
5354
- var Cursor = styled11.span`
5443
+ var Cursor = styled47.span`
5355
5444
  display: inline-block;
5356
5445
  width: 2px;
5357
5446
  height: 1em;
@@ -5375,17 +5464,15 @@ var StreamingTextBase = ({
5375
5464
  content,
5376
5465
  isStreaming = false,
5377
5466
  typingSpeed: _typingSpeed = 50,
5378
- // Not used - streaming shows chunks as they arrive
5467
+ // Reserved for future use
5379
5468
  cursor = true,
5380
5469
  variant = "default",
5381
5470
  onStreamComplete,
5382
5471
  className
5383
5472
  }) => {
5384
- const [displayedText, setDisplayedText] = useState(content);
5385
5473
  const wasStreamingRef = useRef(isStreaming);
5386
5474
  const completionCalledRef = useRef(false);
5387
5475
  useEffect(() => {
5388
- setDisplayedText(content);
5389
5476
  if (wasStreamingRef.current && !isStreaming && !completionCalledRef.current) {
5390
5477
  completionCalledRef.current = true;
5391
5478
  onStreamComplete?.();
@@ -5394,45 +5481,48 @@ var StreamingTextBase = ({
5394
5481
  completionCalledRef.current = false;
5395
5482
  }
5396
5483
  wasStreamingRef.current = isStreaming;
5397
- }, [content, isStreaming, onStreamComplete]);
5484
+ }, [isStreaming, onStreamComplete]);
5398
5485
  const showCursor = isStreaming && cursor;
5399
- return /* @__PURE__ */ jsxs(Container12, { variant, className, children: [
5400
- displayedText,
5486
+ return /* @__PURE__ */ jsxs(Container12, { $variant: variant, className, children: [
5487
+ content,
5401
5488
  showCursor && /* @__PURE__ */ jsx(Cursor, {})
5402
5489
  ] });
5403
5490
  };
5404
5491
  var StreamingText2 = memo(StreamingTextBase);
5405
5492
  StreamingText2.displayName = "StreamingText";
5406
- var MessageContainer = styled11.div`
5493
+ var MessageContainer = styled47.div`
5407
5494
  display: flex;
5408
- gap: ${tokens.spacing.sm};
5409
- align-items: flex-start;
5410
- padding: ${tokens.spacing.sm} 0;
5495
+ flex-direction: column;
5496
+ gap: ${tokens.spacing.xs};
5497
+ padding: ${tokens.spacing.xs} 0;
5411
5498
  max-width: 100%;
5412
5499
  /* GPU acceleration hint for smooth rendering during streaming */
5413
5500
  will-change: contents;
5414
5501
  contain: content;
5415
5502
  `;
5416
- var AvatarContainer = styled11.div`
5503
+ var AvatarContainer = styled47.div`
5504
+ display: flex;
5505
+ align-items: center;
5506
+ gap: ${tokens.spacing.xs};
5417
5507
  flex-shrink: 0;
5418
5508
  `;
5419
- var Avatar2 = styled11.img`
5420
- width: ${tokens.spacing.xl};
5421
- height: ${tokens.spacing.xl};
5509
+ var Avatar2 = styled47.img`
5510
+ width: 20px;
5511
+ height: 20px;
5422
5512
  border-radius: ${tokens.borderRadius.full};
5423
5513
  object-fit: cover;
5424
5514
  background-color: transparent;
5425
5515
  `;
5426
- var AvatarInitials = styled11.div`
5427
- width: ${tokens.spacing.xl};
5428
- height: ${tokens.spacing.xl};
5516
+ var AvatarInitials = styled47.div`
5517
+ width: 20px;
5518
+ height: 20px;
5429
5519
  border-radius: ${tokens.borderRadius.full};
5430
5520
  overflow: hidden;
5431
5521
  display: flex;
5432
5522
  align-items: center;
5433
5523
  justify-content: center;
5434
5524
  background-color: ${tokens.colors.secondary};
5435
- padding: ${tokens.spacing.xs};
5525
+ padding: 2px;
5436
5526
  box-sizing: border-box;
5437
5527
 
5438
5528
  img {
@@ -5441,16 +5531,20 @@ var AvatarInitials = styled11.div`
5441
5531
  object-fit: contain;
5442
5532
  }
5443
5533
  `;
5444
- var ContentContainer = styled11.div`
5445
- flex: 1;
5534
+ var AvatarLabel = styled47.span`
5535
+ font-size: ${tokens.typography.fontSize.xs};
5536
+ font-weight: ${tokens.typography.fontWeight.medium};
5537
+ color: ${tokens.colors.text.secondary};
5538
+ `;
5539
+ var ContentContainer = styled47.div`
5540
+ width: 100%;
5446
5541
  min-width: 0;
5447
5542
  `;
5448
- var MessageContent = styled11.div`
5543
+ var MessageContent = styled47.div`
5449
5544
  /* Use solid color instead of backdrop-filter for performance during streaming */
5450
5545
  background-color: ${tokens.colors.surface.elevated};
5451
- padding: ${tokens.spacing.sm} ${tokens.spacing.md};
5546
+ padding: ${tokens.spacing.sm};
5452
5547
  border-radius: ${tokens.borderRadius.lg};
5453
- border-top-left-radius: ${tokens.borderRadius.sm};
5454
5548
  color: ${tokens.colors.text.primary};
5455
5549
  font-size: ${tokens.typography.fontSize.sm};
5456
5550
  line-height: ${tokens.typography.lineHeight.normal};
@@ -5460,14 +5554,13 @@ var MessageContent = styled11.div`
5460
5554
  /* Optimize text rendering */
5461
5555
  text-rendering: optimizeSpeed;
5462
5556
  `;
5463
- var LoadingDots3 = styled11.div`
5557
+ var LoadingDots3 = styled47.div`
5464
5558
  display: flex;
5465
5559
  gap: ${tokens.spacing.xs};
5466
- padding: ${tokens.spacing.sm} ${tokens.spacing.md};
5560
+ padding: ${tokens.spacing.sm};
5467
5561
  /* Use solid color instead of backdrop-filter for performance */
5468
5562
  background-color: ${tokens.colors.surface.elevated};
5469
5563
  border-radius: ${tokens.borderRadius.lg};
5470
- border-top-left-radius: ${tokens.borderRadius.sm};
5471
5564
  width: fit-content;
5472
5565
  `;
5473
5566
  var pulse3 = keyframes`
@@ -5478,7 +5571,7 @@ var pulse3 = keyframes`
5478
5571
  opacity: 1;
5479
5572
  }
5480
5573
  `;
5481
- var LoadingDot = styled11.div`
5574
+ var LoadingDot = styled47.div`
5482
5575
  width: ${tokens.spacing.sm};
5483
5576
  height: ${tokens.spacing.sm};
5484
5577
  border-radius: ${tokens.borderRadius.full};
@@ -5487,7 +5580,7 @@ var LoadingDot = styled11.div`
5487
5580
  animation: ${pulse3} 1.4s ease-in-out infinite;
5488
5581
  animation-delay: ${(props) => props.delay}s;
5489
5582
  `;
5490
- var FileAttachmentContainer = styled11.div`
5583
+ var FileAttachmentContainer = styled47.div`
5491
5584
  display: flex;
5492
5585
  align-items: center;
5493
5586
  gap: ${tokens.spacing.sm};
@@ -5523,7 +5616,7 @@ var FileAttachmentContainer = styled11.div`
5523
5616
  }
5524
5617
  `}
5525
5618
  `;
5526
- var FileIconContainer = styled11.div`
5619
+ var FileIconContainer = styled47.div`
5527
5620
  flex-shrink: 0;
5528
5621
  width: ${tokens.spacing.xl};
5529
5622
  height: ${tokens.spacing.xl};
@@ -5533,14 +5626,14 @@ var FileIconContainer = styled11.div`
5533
5626
  font-size: ${tokens.typography.fontSize["2xl"]};
5534
5627
  line-height: 1;
5535
5628
  `;
5536
- var FileInfo = styled11.div`
5629
+ var FileInfo = styled47.div`
5537
5630
  flex: 1;
5538
5631
  min-width: 0;
5539
5632
  display: flex;
5540
5633
  flex-direction: column;
5541
5634
  gap: 2px;
5542
5635
  `;
5543
- var FileTitle = styled11.div`
5636
+ var FileTitle = styled47.div`
5544
5637
  font-size: ${tokens.typography.fontSize.sm};
5545
5638
  font-weight: ${tokens.typography.fontWeight.medium};
5546
5639
  color: ${tokens.colors.text.primary};
@@ -5550,7 +5643,7 @@ var FileTitle = styled11.div`
5550
5643
  text-overflow: ellipsis;
5551
5644
  white-space: nowrap;
5552
5645
  `;
5553
- var FileMetadata = styled11.div`
5646
+ var FileMetadata = styled47.div`
5554
5647
  display: flex;
5555
5648
  align-items: center;
5556
5649
  gap: ${tokens.spacing.xs};
@@ -5560,7 +5653,7 @@ var FileMetadata = styled11.div`
5560
5653
  line-height: ${tokens.typography.lineHeight.tight};
5561
5654
  overflow: hidden;
5562
5655
  `;
5563
- var FileSubtitle = styled11.span`
5656
+ var FileSubtitle = styled47.span`
5564
5657
  color: ${tokens.colors.text.tertiary};
5565
5658
  white-space: nowrap;
5566
5659
  overflow: hidden;
@@ -5616,13 +5709,13 @@ var FileAttachment = ({
5616
5709
  }
5617
5710
  );
5618
5711
  };
5619
- var AttachmentsContainer = styled11.div`
5712
+ var AttachmentsContainer = styled47.div`
5620
5713
  display: flex;
5621
5714
  flex-direction: column;
5622
5715
  gap: ${tokens.spacing.sm};
5623
5716
  margin-top: ${tokens.spacing.sm};
5624
5717
  `;
5625
- var ActionButton3 = styled11.button`
5718
+ var ActionButton3 = styled47.button`
5626
5719
  display: inline-flex;
5627
5720
  align-items: center;
5628
5721
  gap: ${tokens.spacing.xs};
@@ -5646,19 +5739,19 @@ var ActionButton3 = styled11.button`
5646
5739
  transform: scale(0.98);
5647
5740
  }
5648
5741
  `;
5649
- var ActionsContainer2 = styled11.div`
5742
+ var ActionsContainer2 = styled47.div`
5650
5743
  display: flex;
5651
5744
  gap: ${tokens.spacing.xs};
5652
5745
  flex-wrap: wrap;
5653
5746
  margin-top: ${tokens.spacing.sm};
5654
5747
  `;
5655
- var MessageTime = styled11.time`
5748
+ var MessageTime = styled47.time`
5656
5749
  font-size: ${tokens.typography.fontSize.xs};
5657
5750
  color: ${tokens.colors.text.tertiary};
5658
5751
  margin-top: ${tokens.spacing.xs};
5659
5752
  display: block;
5660
5753
  `;
5661
- var StreamingIndicator = styled11.span`
5754
+ var StreamingIndicator = styled47.span`
5662
5755
  display: inline-block;
5663
5756
  width: ${tokens.spacing.xs};
5664
5757
  height: ${tokens.spacing.xs};
@@ -5722,13 +5815,16 @@ var AssistantMessageBase = ({
5722
5815
  ] });
5723
5816
  };
5724
5817
  return /* @__PURE__ */ jsxs(MessageContainer, { className, children: [
5725
- /* @__PURE__ */ jsx(AvatarContainer, { children: avatarUrl ? /* @__PURE__ */ jsx(Avatar2, { src: avatarUrl, alt: "Assistant avatar" }) : /* @__PURE__ */ jsx(AvatarInitials, { children: /* @__PURE__ */ jsx(Avatar2, { src: "/assets/avatar-transparent-bg.png", alt: "AI Assistant" }) }) }),
5818
+ /* @__PURE__ */ jsxs(AvatarContainer, { children: [
5819
+ avatarUrl ? /* @__PURE__ */ jsx(Avatar2, { src: avatarUrl, alt: "Assistant avatar" }) : /* @__PURE__ */ jsx(AvatarInitials, { children: /* @__PURE__ */ jsx(Avatar2, { src: "/assets/avatar-transparent-bg.png", alt: "AI Assistant" }) }),
5820
+ /* @__PURE__ */ jsx(AvatarLabel, { children: "Assistant" })
5821
+ ] }),
5726
5822
  /* @__PURE__ */ jsx(ContentContainer, { children: renderContent() })
5727
5823
  ] });
5728
5824
  };
5729
5825
  var AssistantMessage = memo(AssistantMessageBase);
5730
5826
  AssistantMessage.displayName = "AssistantMessage";
5731
- var MessagesContainer = styled11.div`
5827
+ var MessagesContainer = styled47.div`
5732
5828
  display: flex;
5733
5829
  flex-direction: column;
5734
5830
  flex: 1;
@@ -5740,18 +5836,14 @@ var MessagesContainer = styled11.div`
5740
5836
  ${tokens.colors.background.darker},
5741
5837
  ${tokens.colors.background.darkest}
5742
5838
  );
5743
- padding: ${tokens.spacing.sm};
5744
- gap: ${tokens.spacing.md};
5839
+ /* Minimal horizontal padding to maximize message width */
5840
+ padding: ${tokens.spacing.sm} ${tokens.spacing.xs};
5841
+ gap: ${tokens.spacing.sm};
5745
5842
  box-sizing: border-box;
5746
5843
 
5747
5844
  /* Ensure proper scrolling behavior for child components */
5748
5845
  position: relative;
5749
5846
  min-height: 0;
5750
-
5751
- /* Desktop padding */
5752
- @media (min-width: ${tokens.breakpoints.mobile}px) {
5753
- padding: ${tokens.spacing.md};
5754
- }
5755
5847
  `;
5756
5848
  var Messages = ({
5757
5849
  children,
@@ -5761,7 +5853,7 @@ var Messages = ({
5761
5853
  return /* @__PURE__ */ jsx(MessagesContainer, { className, role: "region", "aria-label": ariaLabel, children });
5762
5854
  };
5763
5855
  Messages.displayName = "Messages";
5764
- var MessagesListContainer = styled11.div`
5856
+ var MessagesListContainer = styled47.div`
5765
5857
  display: flex;
5766
5858
  flex-direction: column;
5767
5859
  width: 100%;
@@ -5801,7 +5893,7 @@ var MessagesListContainer = styled11.div`
5801
5893
  /* Ensure proper rendering on mobile */
5802
5894
  -webkit-overflow-scrolling: touch;
5803
5895
  `;
5804
- var MessagesListContent = styled11.div`
5896
+ var MessagesListContent = styled47.div`
5805
5897
  display: flex;
5806
5898
  flex-direction: column;
5807
5899
  gap: ${tokens.spacing.sm};
@@ -5917,19 +6009,19 @@ var MessagesList = ({
5917
6009
  }
5918
6010
  );
5919
6011
  };
5920
- var StyledUserMessage2 = styled11.div`
6012
+ var StyledUserMessage2 = styled47.div`
5921
6013
  display: flex;
5922
6014
  justify-content: flex-end;
5923
6015
  align-items: flex-start;
5924
- margin: ${tokens.spacing.sm} 0;
5925
- padding: 0 ${tokens.spacing.md};
6016
+ margin: ${tokens.spacing.xs} 0;
6017
+ padding: 0;
5926
6018
  width: 100%;
5927
6019
  `;
5928
- var MessageBubble = styled11.div`
6020
+ var MessageBubble = styled47.div`
5929
6021
  display: flex;
5930
6022
  flex-direction: column;
5931
- max-width: 70%;
5932
- padding: ${tokens.spacing.sm} ${tokens.spacing.md};
6023
+ max-width: 85%;
6024
+ padding: ${tokens.spacing.sm};
5933
6025
  border-radius: ${tokens.borderRadius.lg};
5934
6026
 
5935
6027
  /* User message colors - dark blue from brand */
@@ -5952,7 +6044,7 @@ var MessageBubble = styled11.div`
5952
6044
  opacity: 0.9;
5953
6045
  }
5954
6046
  `;
5955
- var MessageContent2 = styled11.p`
6047
+ var MessageContent2 = styled47.p`
5956
6048
  margin: 0;
5957
6049
  font-size: ${tokens.typography.fontSize.sm};
5958
6050
  line-height: ${tokens.typography.lineHeight.normal};
@@ -5961,13 +6053,13 @@ var MessageContent2 = styled11.p`
5961
6053
  word-break: break-word;
5962
6054
  white-space: pre-wrap;
5963
6055
  `;
5964
- var MessageTime2 = styled11.time`
6056
+ var MessageTime2 = styled47.time`
5965
6057
  font-size: ${tokens.typography.fontSize.xs};
5966
6058
  opacity: 0.7;
5967
6059
  margin-top: ${tokens.spacing.xs};
5968
6060
  text-align: right;
5969
6061
  `;
5970
- var ActionButton4 = styled11.button`
6062
+ var ActionButton4 = styled47.button`
5971
6063
  display: inline-flex;
5972
6064
  align-items: center;
5973
6065
  gap: ${tokens.spacing.xs};
@@ -5991,12 +6083,12 @@ var ActionButton4 = styled11.button`
5991
6083
  transform: scale(0.98);
5992
6084
  }
5993
6085
  `;
5994
- var ActionsContainer3 = styled11.div`
6086
+ var ActionsContainer3 = styled47.div`
5995
6087
  display: flex;
5996
6088
  gap: ${tokens.spacing.xs};
5997
6089
  flex-wrap: wrap;
5998
6090
  `;
5999
- var StreamingIndicator2 = styled11.span`
6091
+ var StreamingIndicator2 = styled47.span`
6000
6092
  display: inline-block;
6001
6093
  width: ${tokens.spacing.xs};
6002
6094
  height: ${tokens.spacing.xs};
@@ -6017,7 +6109,7 @@ var StreamingIndicator2 = styled11.span`
6017
6109
  }
6018
6110
  }
6019
6111
  `;
6020
- var Avatar3 = styled11.img`
6112
+ var Avatar3 = styled47.img`
6021
6113
  width: ${tokens.spacing.xl};
6022
6114
  height: ${tokens.spacing.xl};
6023
6115
  border-radius: ${tokens.borderRadius.full};
@@ -6050,7 +6142,7 @@ var UserMessage2 = ({
6050
6142
  avatarUrl && /* @__PURE__ */ jsx(Avatar3, { src: avatarUrl, alt: username || "User" })
6051
6143
  ] });
6052
6144
  };
6053
- var ErrorContainer = styled11.div`
6145
+ var ErrorContainer = styled47.div`
6054
6146
  display: flex;
6055
6147
  align-items: flex-start;
6056
6148
  gap: ${tokens.spacing.sm};
@@ -6064,7 +6156,7 @@ var ErrorContainer = styled11.div`
6064
6156
  width: ${(props) => props.variant === "banner" ? "100%" : "auto"};
6065
6157
  max-width: ${(props) => props.variant === "banner" ? "100%" : "600px"};
6066
6158
  `;
6067
- var IconContainer = styled11.div`
6159
+ var IconContainer = styled47.div`
6068
6160
  flex-shrink: 0;
6069
6161
  width: 20px;
6070
6162
  height: 20px;
@@ -6081,29 +6173,29 @@ var ErrorIcon = () => /* @__PURE__ */ jsx(
6081
6173
  children: /* @__PURE__ */ jsx("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z" })
6082
6174
  }
6083
6175
  );
6084
- var Content2 = styled11.div`
6176
+ var Content2 = styled47.div`
6085
6177
  flex: 1;
6086
6178
  display: flex;
6087
6179
  flex-direction: column;
6088
6180
  gap: ${tokens.spacing.sm};
6089
6181
  `;
6090
- var ErrorMessage = styled11.div`
6182
+ var ErrorMessage = styled47.div`
6091
6183
  font-size: ${tokens.typography.fontSize.sm};
6092
6184
  line-height: ${tokens.typography.lineHeight.normal};
6093
6185
  color: ${tokens.colors.text.primary};
6094
6186
  `;
6095
- var ErrorDetails = styled11.div`
6187
+ var ErrorDetails = styled47.div`
6096
6188
  font-size: ${tokens.typography.fontSize.xs};
6097
6189
  line-height: 1.4;
6098
6190
  color: ${tokens.colors.text.secondary};
6099
6191
  margin-top: ${tokens.spacing.xs};
6100
6192
  `;
6101
- var Actions2 = styled11.div`
6193
+ var Actions2 = styled47.div`
6102
6194
  display: flex;
6103
6195
  gap: ${tokens.spacing.sm};
6104
6196
  margin-top: ${tokens.spacing.sm};
6105
6197
  `;
6106
- var Button3 = styled11.button`
6198
+ var Button3 = styled47.button`
6107
6199
  display: inline-flex;
6108
6200
  align-items: center;
6109
6201
  gap: ${tokens.spacing.xs};
@@ -6132,7 +6224,7 @@ var Button3 = styled11.button`
6132
6224
  cursor: not-allowed;
6133
6225
  }
6134
6226
  `;
6135
- var CloseButton = styled11.button`
6227
+ var CloseButton = styled47.button`
6136
6228
  flex-shrink: 0;
6137
6229
  width: 24px;
6138
6230
  height: 24px;
@@ -6191,7 +6283,7 @@ var StreamErrorMessage = ({
6191
6283
  ] });
6192
6284
  };
6193
6285
  StreamErrorMessage.displayName = "StreamErrorMessage";
6194
- var SuggestionsContainer = styled11.div`
6286
+ var SuggestionsContainer = styled47.div`
6195
6287
  display: flex;
6196
6288
  flex-wrap: nowrap; /* Single row */
6197
6289
  gap: ${tokens.spacing.sm};
@@ -6224,7 +6316,7 @@ var SuggestionsContainer = styled11.div`
6224
6316
  display: none; /* Chrome/Safari/Opera */
6225
6317
  }
6226
6318
  `;
6227
- var StyledSuggestion = styled11.button`
6319
+ var StyledSuggestion = styled47.button`
6228
6320
  /* Base styles */
6229
6321
  display: inline-flex;
6230
6322
  align-items: center;
@@ -6297,7 +6389,7 @@ function SuggestionChip({ suggestion, onSelect }) {
6297
6389
  return /* @__PURE__ */ jsx(StyledSuggestion, { ...buttonProps, ref, $isPressed: isPressed, role: "listitem", children: suggestion });
6298
6390
  }
6299
6391
  Suggestions.displayName = "Suggestions";
6300
- var WindowContainer = styled11.div`
6392
+ var WindowContainer = styled47.div`
6301
6393
  display: flex;
6302
6394
  flex-direction: column;
6303
6395
  /* Glassmorphism effect */
@@ -6476,7 +6568,7 @@ function FacebookIcon({
6476
6568
  ) });
6477
6569
  }
6478
6570
  FacebookIcon.displayName = "FacebookIcon";
6479
- var StyledIconWrapper = styled11.button`
6571
+ var StyledIconWrapper = styled47.button`
6480
6572
  display: inline-flex;
6481
6573
  align-items: center;
6482
6574
  justify-content: center;
@@ -6746,7 +6838,7 @@ function InstagramIcon({
6746
6838
  ] });
6747
6839
  }
6748
6840
  InstagramIcon.displayName = "InstagramIcon";
6749
- var StyledIconWrapper2 = styled11.button`
6841
+ var StyledIconWrapper2 = styled47.button`
6750
6842
  display: inline-flex;
6751
6843
  align-items: center;
6752
6844
  justify-content: center;
@@ -6882,7 +6974,7 @@ function LinkedInIcon({
6882
6974
  return /* @__PURE__ */ jsx("span", { className, style: { display: "inline-flex", width: size, height: size }, children: svgElement });
6883
6975
  }
6884
6976
  LinkedInIcon.displayName = "LinkedInIcon";
6885
- var StyledIconWrapper3 = styled11.button`
6977
+ var StyledIconWrapper3 = styled47.button`
6886
6978
  display: inline-flex;
6887
6979
  align-items: center;
6888
6980
  justify-content: center;
@@ -7519,7 +7611,7 @@ function WhatsAppIcon({
7519
7611
  );
7520
7612
  }
7521
7613
  WhatsAppIcon.displayName = "WhatsAppIcon";
7522
- var StyledXIcon = styled11.svg`
7614
+ var StyledXIcon = styled47.svg`
7523
7615
  display: inline-block;
7524
7616
  vertical-align: middle;
7525
7617
  flex-shrink: 0;
@@ -7809,9 +7901,11 @@ var STATUS_CONFIG = {
7809
7901
  var PostApprovalControls = ({
7810
7902
  platform,
7811
7903
  originalContent,
7904
+ editedContent,
7812
7905
  status,
7813
7906
  error,
7814
7907
  postId,
7908
+ onSave,
7815
7909
  onApprove,
7816
7910
  onReject,
7817
7911
  isLoading = false,
@@ -7819,10 +7913,11 @@ var PostApprovalControls = ({
7819
7913
  }) => {
7820
7914
  const [isCollapsed, setIsCollapsed] = useState(defaultCollapsed);
7821
7915
  const [isEditing, setIsEditing] = useState(false);
7822
- const [editContent, setEditContent] = useState(originalContent);
7916
+ const [localEditContent, setLocalEditContent] = useState(editedContent ?? originalContent);
7823
7917
  const platformConfig = PLATFORM_CONFIGS[platform];
7824
7918
  const statusConfig = STATUS_CONFIG[status];
7825
- const currentCharCount = isEditing ? editContent.length : originalContent.length;
7919
+ const currentContent = editedContent ?? originalContent;
7920
+ const currentCharCount = isEditing ? localEditContent.length : currentContent.length;
7826
7921
  const charPercentage = useMemo(
7827
7922
  () => getCharacterLimitPercentage(platform, currentCharCount),
7828
7923
  [platform, currentCharCount]
@@ -7834,18 +7929,23 @@ var PostApprovalControls = ({
7834
7929
  const canTakeAction = status === "pending" || status === "edited";
7835
7930
  const isProcessing = status === "scheduling" || isLoading;
7836
7931
  const handleStartEdit = () => {
7837
- setEditContent(originalContent);
7932
+ setLocalEditContent(currentContent);
7838
7933
  setIsEditing(true);
7839
7934
  setIsCollapsed(false);
7840
7935
  };
7841
7936
  const handleCancelEdit = () => {
7842
7937
  setIsEditing(false);
7843
- setEditContent(originalContent);
7938
+ setLocalEditContent(currentContent);
7939
+ };
7940
+ const handleSave = () => {
7941
+ onSave?.(localEditContent);
7942
+ setIsEditing(false);
7844
7943
  };
7845
7944
  const handleApprove = () => {
7846
- onApprove(isEditing ? editContent : originalContent);
7945
+ onApprove(isEditing ? localEditContent : currentContent);
7847
7946
  setIsEditing(false);
7848
7947
  };
7948
+ const hasUnsavedChanges = isEditing && localEditContent !== currentContent;
7849
7949
  return /* @__PURE__ */ jsxs(Container13, { "data-testid": "post-approval-controls", children: [
7850
7950
  /* @__PURE__ */ jsxs(Header2, { onClick: () => !isEditing && setIsCollapsed(!isCollapsed), children: [
7851
7951
  /* @__PURE__ */ jsx(StatusBadge, { $color: statusConfig.color, children: statusConfig.label }),
@@ -7871,8 +7971,8 @@ var PostApprovalControls = ({
7871
7971
  /* @__PURE__ */ jsx(
7872
7972
  EditTextarea,
7873
7973
  {
7874
- value: editContent,
7875
- onChange: (e) => setEditContent(e.target.value),
7974
+ value: localEditContent,
7975
+ onChange: (e) => setLocalEditContent(e.target.value),
7876
7976
  placeholder: "Enter your post content...",
7877
7977
  $platformColor: platformConfig.color,
7878
7978
  disabled: isProcessing
@@ -7888,13 +7988,22 @@ var PostApprovalControls = ({
7888
7988
  ] }),
7889
7989
  /* @__PURE__ */ jsxs(Actions3, { children: [
7890
7990
  /* @__PURE__ */ jsx(ActionButton5, { $variant: "cancel", onClick: handleCancelEdit, disabled: isProcessing, children: "Cancel" }),
7991
+ onSave && /* @__PURE__ */ jsx(
7992
+ ActionButton5,
7993
+ {
7994
+ $variant: "save",
7995
+ onClick: handleSave,
7996
+ disabled: isProcessing || charPercentage > 100 || !hasUnsavedChanges,
7997
+ children: isProcessing ? "Saving..." : "Save"
7998
+ }
7999
+ ),
7891
8000
  /* @__PURE__ */ jsx(
7892
8001
  ActionButton5,
7893
8002
  {
7894
8003
  $variant: "approve",
7895
8004
  onClick: handleApprove,
7896
8005
  disabled: isProcessing || charPercentage > 100,
7897
- children: isProcessing ? "Saving..." : "Save and Approve"
8006
+ children: isProcessing ? "Processing..." : "Approve"
7898
8007
  }
7899
8008
  )
7900
8009
  ] })
@@ -7906,7 +8015,7 @@ var PostApprovalControls = ({
7906
8015
  ] });
7907
8016
  };
7908
8017
  PostApprovalControls.displayName = "PostApprovalControls";
7909
- var Container13 = styled11.div`
8018
+ var Container13 = styled47.div`
7910
8019
  display: grid;
7911
8020
  gap: 0;
7912
8021
  background: ${tokens.colors.background.dark};
@@ -7916,7 +8025,7 @@ var Container13 = styled11.div`
7916
8025
  font-family: ${tokens.typography.fontFamily.primary};
7917
8026
  transition: border-color ${tokens.transitions.fast};
7918
8027
  `;
7919
- var Header2 = styled11.div`
8028
+ var Header2 = styled47.div`
7920
8029
  display: grid;
7921
8030
  grid-template-columns: auto 1fr auto;
7922
8031
  align-items: center;
@@ -7930,7 +8039,7 @@ var Header2 = styled11.div`
7930
8039
  background: ${tokens.colors.background.light};
7931
8040
  }
7932
8041
  `;
7933
- var StatusBadge = styled11.span`
8042
+ var StatusBadge = styled47.span`
7934
8043
  padding: ${tokens.spacing.xs} ${tokens.spacing.sm};
7935
8044
  border-radius: ${tokens.borderRadius.sm};
7936
8045
  font-size: ${tokens.typography.fontSize.xs};
@@ -7941,23 +8050,23 @@ var StatusBadge = styled11.span`
7941
8050
  color: ${({ $color }) => $color};
7942
8051
  white-space: nowrap;
7943
8052
  `;
7944
- var MetaInfo = styled11.div`
8053
+ var MetaInfo = styled47.div`
7945
8054
  display: flex;
7946
8055
  align-items: center;
7947
8056
  gap: ${tokens.spacing.sm};
7948
8057
  min-width: 0;
7949
8058
  `;
7950
- var PostId = styled11.span`
8059
+ var PostId = styled47.span`
7951
8060
  font-size: ${tokens.typography.fontSize.xs};
7952
8061
  color: ${tokens.colors.text.tertiary};
7953
8062
  font-family: ${tokens.typography.fontFamily.monospace};
7954
8063
  `;
7955
- var ErrorText = styled11.span`
8064
+ var ErrorText = styled47.span`
7956
8065
  font-size: ${tokens.typography.fontSize.xs};
7957
8066
  color: ${tokens.colors.error};
7958
8067
  line-height: ${tokens.typography.lineHeight.tight};
7959
8068
  `;
7960
- var CollapseIcon = styled11.span`
8069
+ var CollapseIcon = styled47.span`
7961
8070
  font-size: ${tokens.typography.fontSize.sm};
7962
8071
  color: ${tokens.colors.text.tertiary};
7963
8072
  font-weight: ${tokens.typography.fontWeight.medium};
@@ -7967,17 +8076,17 @@ var CollapseIcon = styled11.span`
7967
8076
  align-items: center;
7968
8077
  justify-content: center;
7969
8078
  `;
7970
- var Content3 = styled11.div`
8079
+ var Content3 = styled47.div`
7971
8080
  display: grid;
7972
8081
  gap: ${tokens.spacing.md};
7973
8082
  padding: ${tokens.spacing.md};
7974
8083
  border-top: 1px solid ${tokens.colors.border.default};
7975
8084
  `;
7976
- var EditSection = styled11.div`
8085
+ var EditSection = styled47.div`
7977
8086
  display: grid;
7978
8087
  gap: ${tokens.spacing.xs};
7979
8088
  `;
7980
- var EditLabel = styled11.label`
8089
+ var EditLabel = styled47.label`
7981
8090
  display: grid;
7982
8091
  grid-template-columns: 1fr auto;
7983
8092
  align-items: center;
@@ -7986,7 +8095,7 @@ var EditLabel = styled11.label`
7986
8095
  color: ${tokens.colors.text.secondary};
7987
8096
  line-height: ${tokens.typography.lineHeight.tight};
7988
8097
  `;
7989
- var CharCount = styled11.span`
8098
+ var CharCount = styled47.span`
7990
8099
  font-size: ${tokens.typography.fontSize.xs};
7991
8100
  font-weight: ${tokens.typography.fontWeight.semibold};
7992
8101
  font-family: ${tokens.typography.fontFamily.monospace};
@@ -7996,7 +8105,7 @@ var CharCount = styled11.span`
7996
8105
  return tokens.colors.success;
7997
8106
  }};
7998
8107
  `;
7999
- var EditTextarea = styled11.textarea`
8108
+ var EditTextarea = styled47.textarea`
8000
8109
  width: 100%;
8001
8110
  min-height: 100px;
8002
8111
  padding: ${tokens.spacing.sm};
@@ -8026,14 +8135,14 @@ var EditTextarea = styled11.textarea`
8026
8135
  color: ${tokens.colors.text.tertiary};
8027
8136
  }
8028
8137
  `;
8029
- var ProgressBar2 = styled11.div`
8138
+ var ProgressBar2 = styled47.div`
8030
8139
  width: 100%;
8031
8140
  height: 3px;
8032
8141
  background: ${tokens.colors.border.default};
8033
8142
  border-radius: ${tokens.borderRadius.sm};
8034
8143
  overflow: hidden;
8035
8144
  `;
8036
- var ProgressFill = styled11.div`
8145
+ var ProgressFill = styled47.div`
8037
8146
  width: ${({ $percentage }) => $percentage}%;
8038
8147
  height: 100%;
8039
8148
  border-radius: ${tokens.borderRadius.sm};
@@ -8044,12 +8153,12 @@ var ProgressFill = styled11.div`
8044
8153
  return tokens.colors.success;
8045
8154
  }};
8046
8155
  `;
8047
- var Actions3 = styled11.div`
8156
+ var Actions3 = styled47.div`
8048
8157
  display: grid;
8049
8158
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
8050
8159
  gap: ${tokens.spacing.sm};
8051
8160
  `;
8052
- var ActionButton5 = styled11.button`
8161
+ var ActionButton5 = styled47.button`
8053
8162
  padding: ${tokens.spacing.sm} ${tokens.spacing.md};
8054
8163
  border-radius: ${tokens.borderRadius.md};
8055
8164
  font-size: ${tokens.typography.fontSize.sm};
@@ -8075,6 +8184,15 @@ var ActionButton5 = styled11.button`
8075
8184
  opacity: 0.9;
8076
8185
  }
8077
8186
  `;
8187
+ case "save":
8188
+ return `
8189
+ background: ${tokens.colors.primary};
8190
+ color: ${tokens.colors.text.primary};
8191
+ &:hover:not(:disabled) {
8192
+ background: ${tokens.colors.primary};
8193
+ opacity: 0.9;
8194
+ }
8195
+ `;
8078
8196
  case "reject":
8079
8197
  case "cancel":
8080
8198
  return `
@@ -8188,7 +8306,7 @@ var fadeIn2 = keyframes`
8188
8306
  transform: translateY(0);
8189
8307
  }
8190
8308
  `;
8191
- var CardContainer = styled11.div`
8309
+ var CardContainer = styled47.div`
8192
8310
  background: ${tokens.colors.background.dark};
8193
8311
  border-radius: ${tokens.borderRadius.xl};
8194
8312
  padding: ${tokens.spacing.md};
@@ -8201,7 +8319,7 @@ var CardContainer = styled11.div`
8201
8319
  border-color: ${({ $platformColor }) => `${$platformColor}80`};
8202
8320
  }
8203
8321
  `;
8204
- var PlatformHeader = styled11.div`
8322
+ var PlatformHeader = styled47.div`
8205
8323
  display: flex;
8206
8324
  align-items: center;
8207
8325
  gap: 10px;
@@ -8209,7 +8327,7 @@ var PlatformHeader = styled11.div`
8209
8327
  padding-bottom: ${tokens.spacing.sm};
8210
8328
  border-bottom: 1px solid ${tokens.colors.border.default};
8211
8329
  `;
8212
- var PlatformIcon = styled11.span`
8330
+ var PlatformIcon = styled47.span`
8213
8331
  display: flex;
8214
8332
  align-items: center;
8215
8333
  justify-content: center;
@@ -8221,13 +8339,13 @@ var PlatformIcon = styled11.span`
8221
8339
  font-size: ${tokens.typography.fontSize.base};
8222
8340
  font-weight: ${tokens.typography.fontWeight.semibold};
8223
8341
  `;
8224
- var PlatformName = styled11.span`
8342
+ var PlatformName = styled47.span`
8225
8343
  flex: 1;
8226
8344
  font-size: ${tokens.typography.fontSize.sm};
8227
8345
  font-weight: ${tokens.typography.fontWeight.semibold};
8228
8346
  color: ${tokens.colors.text.primary};
8229
8347
  `;
8230
- var CharacterBadge = styled11.span`
8348
+ var CharacterBadge = styled47.span`
8231
8349
  padding: ${tokens.spacing.xs} ${tokens.spacing.sm};
8232
8350
  border-radius: ${tokens.borderRadius.lg};
8233
8351
  font-size: 11px;
@@ -8239,10 +8357,10 @@ var CharacterBadge = styled11.span`
8239
8357
  return tokens.colors.success;
8240
8358
  }};
8241
8359
  `;
8242
- var ContentSection = styled11.div`
8360
+ var ContentSection = styled47.div`
8243
8361
  margin-bottom: ${tokens.spacing.sm};
8244
8362
  `;
8245
- var PostContent = styled11.div`
8363
+ var PostContent = styled47.div`
8246
8364
  font-size: ${tokens.typography.fontSize.base};
8247
8365
  font-family: ${tokens.typography.fontFamily.primary};
8248
8366
  line-height: 1.6;
@@ -8254,7 +8372,7 @@ var PostContent = styled11.div`
8254
8372
  /* Smooth fade-in animation when content appears */
8255
8373
  animation: ${fadeIn2} 0.4s ease-out;
8256
8374
  `;
8257
- var PostContentEditable = styled11.textarea`
8375
+ var PostContentEditable = styled47.textarea`
8258
8376
  width: 100%;
8259
8377
  min-height: 180px;
8260
8378
  max-height: 300px;
@@ -8283,12 +8401,12 @@ var PostContentEditable = styled11.textarea`
8283
8401
  color: ${tokens.colors.text.tertiary};
8284
8402
  }
8285
8403
  `;
8286
- var HashtagsContainer = styled11.div`
8404
+ var HashtagsContainer = styled47.div`
8287
8405
  display: flex;
8288
8406
  flex-wrap: wrap;
8289
8407
  gap: 6px;
8290
8408
  `;
8291
- var HashtagPill = styled11.span`
8409
+ var HashtagPill = styled47.span`
8292
8410
  display: inline-block;
8293
8411
  padding: ${tokens.spacing.xs} 10px;
8294
8412
  border-radius: ${tokens.borderRadius.full};
@@ -8305,17 +8423,17 @@ var HashtagPill = styled11.span`
8305
8423
  color: ${tokens.colors.primary};
8306
8424
  }
8307
8425
  `;
8308
- var ProgressBarContainer = styled11.div`
8426
+ var ProgressBarContainer = styled47.div`
8309
8427
  margin-top: ${tokens.spacing.sm};
8310
8428
  `;
8311
- var ProgressBarTrack = styled11.div`
8429
+ var ProgressBarTrack = styled47.div`
8312
8430
  width: 100%;
8313
8431
  height: 4px;
8314
8432
  background: ${tokens.colors.border.default};
8315
8433
  border-radius: ${tokens.borderRadius.sm};
8316
8434
  overflow: hidden;
8317
8435
  `;
8318
- var ProgressBarFill2 = styled11.div`
8436
+ var ProgressBarFill2 = styled47.div`
8319
8437
  width: ${({ $percentage }) => $percentage}%;
8320
8438
  height: 100%;
8321
8439
  border-radius: ${tokens.borderRadius.sm};
@@ -8326,20 +8444,20 @@ var ProgressBarFill2 = styled11.div`
8326
8444
  return tokens.colors.success;
8327
8445
  }};
8328
8446
  `;
8329
- var ImagePreviewContainer = styled11.div`
8447
+ var ImagePreviewContainer = styled47.div`
8330
8448
  margin-bottom: ${tokens.spacing.sm};
8331
8449
  border-radius: ${tokens.borderRadius.sm};
8332
8450
  overflow: hidden;
8333
8451
  border: 1px solid ${tokens.colors.border.default};
8334
8452
  `;
8335
- var ImagePreview = styled11.img`
8453
+ var ImagePreview = styled47.img`
8336
8454
  width: 100%;
8337
8455
  height: auto;
8338
8456
  max-height: 200px;
8339
8457
  object-fit: cover;
8340
8458
  display: block;
8341
8459
  `;
8342
- var ImagePlaceholder = styled11.div`
8460
+ var ImagePlaceholder = styled47.div`
8343
8461
  width: 100%;
8344
8462
  height: 200px;
8345
8463
  background: linear-gradient(
@@ -8361,7 +8479,7 @@ var ImagePlaceholder = styled11.div`
8361
8479
  opacity: 0.8;
8362
8480
  margin-bottom: ${tokens.spacing.sm};
8363
8481
  `;
8364
- var PlaceholderIcon = styled11.div`
8482
+ var PlaceholderIcon = styled47.div`
8365
8483
  width: 48px;
8366
8484
  height: 48px;
8367
8485
  border: 2px solid white;
@@ -8383,13 +8501,13 @@ var shimmer = keyframes`
8383
8501
  background-position: 200% 0;
8384
8502
  }
8385
8503
  `;
8386
- var SkeletonContent = styled11.div`
8504
+ var SkeletonContent = styled47.div`
8387
8505
  display: flex;
8388
8506
  flex-direction: column;
8389
8507
  gap: ${tokens.spacing.sm};
8390
8508
  padding: ${tokens.spacing.sm} 0;
8391
8509
  `;
8392
- var SkeletonLine = styled11.div`
8510
+ var SkeletonLine = styled47.div`
8393
8511
  height: 16px;
8394
8512
  width: ${({ $width }) => $width};
8395
8513
  background: linear-gradient(
@@ -8488,13 +8606,13 @@ var PlatformCarousel = ({
8488
8606
  ] });
8489
8607
  };
8490
8608
  PlatformCarousel.displayName = "PlatformCarousel";
8491
- var CarouselContainer = styled11.div`
8609
+ var CarouselContainer = styled47.div`
8492
8610
  display: flex;
8493
8611
  flex-direction: column;
8494
8612
  width: 100%;
8495
8613
  gap: ${tokens.spacing.md};
8496
8614
  `;
8497
- var TabsContainer = styled11.div`
8615
+ var TabsContainer = styled47.div`
8498
8616
  display: flex;
8499
8617
  gap: ${tokens.spacing.sm};
8500
8618
  padding: ${tokens.spacing.sm};
@@ -8508,7 +8626,7 @@ var TabsContainer = styled11.div`
8508
8626
  display: none;
8509
8627
  }
8510
8628
  `;
8511
- var PlatformTab = styled11.button`
8629
+ var PlatformTab = styled47.button`
8512
8630
  display: flex;
8513
8631
  align-items: center;
8514
8632
  gap: ${tokens.spacing.xs};
@@ -8534,12 +8652,12 @@ var PlatformTab = styled11.button`
8534
8652
  box-shadow: 0 0 0 2px ${({ $platformColor }) => $platformColor}40;
8535
8653
  }
8536
8654
  `;
8537
- var PlatformIcon2 = styled11.span`
8655
+ var PlatformIcon2 = styled47.span`
8538
8656
  font-size: ${tokens.typography.fontSize.base};
8539
8657
  color: ${({ $platformColor }) => $platformColor};
8540
8658
  transition: color ${tokens.transitions.fast};
8541
8659
  `;
8542
- var ContentContainer2 = styled11.div`
8660
+ var ContentContainer2 = styled47.div`
8543
8661
  position: relative;
8544
8662
  min-height: 200px;
8545
8663
  overflow: hidden;
@@ -8547,7 +8665,7 @@ var ContentContainer2 = styled11.div`
8547
8665
  padding: 0 ${tokens.spacing.xs};
8548
8666
  margin: 0 -${tokens.spacing.xs};
8549
8667
  `;
8550
- var Slide = styled11.div`
8668
+ var Slide = styled47.div`
8551
8669
  position: ${({ $isActive }) => $isActive ? "relative" : "absolute"};
8552
8670
  top: 0;
8553
8671
  left: 0;
@@ -8558,13 +8676,13 @@ var Slide = styled11.div`
8558
8676
  transform ${tokens.animation.duration.short} ${tokens.animation.easing.smooth};
8559
8677
  pointer-events: ${({ $isActive }) => $isActive ? "auto" : "none"};
8560
8678
  `;
8561
- var NavigationDotsContainer = styled11.div`
8679
+ var NavigationDotsContainer = styled47.div`
8562
8680
  display: flex;
8563
8681
  justify-content: center;
8564
8682
  gap: ${tokens.spacing.xs};
8565
8683
  padding: ${tokens.spacing.sm};
8566
8684
  `;
8567
- var NavigationDot = styled11.button`
8685
+ var NavigationDot = styled47.button`
8568
8686
  width: ${tokens.spacing.sm};
8569
8687
  height: ${tokens.spacing.sm};
8570
8688
  border-radius: ${tokens.borderRadius.full};
@@ -8584,7 +8702,7 @@ var NavigationDot = styled11.button`
8584
8702
  box-shadow: 0 0 0 2px ${({ $platformColor }) => $platformColor}40;
8585
8703
  }
8586
8704
  `;
8587
- var EmptyState = styled11.div`
8705
+ var EmptyState = styled47.div`
8588
8706
  display: flex;
8589
8707
  align-items: center;
8590
8708
  justify-content: center;
@@ -8641,7 +8759,7 @@ var PlatformGrid = ({
8641
8759
  }) });
8642
8760
  };
8643
8761
  PlatformGrid.displayName = "PlatformGrid";
8644
- var Grid = styled11.div`
8762
+ var Grid = styled47.div`
8645
8763
  display: grid;
8646
8764
  gap: ${tokens.spacing.md};
8647
8765
  width: 100%;
@@ -8659,7 +8777,7 @@ var Grid = styled11.div`
8659
8777
  grid-template-columns: repeat(3, 1fr);
8660
8778
  }
8661
8779
  `;
8662
- var GridCell = styled11.div`
8780
+ var GridCell = styled47.div`
8663
8781
  min-width: 0; /* Prevent grid blowout with long content */
8664
8782
  cursor: pointer;
8665
8783
  border-radius: ${tokens.borderRadius.lg};
@@ -8669,7 +8787,7 @@ var GridCell = styled11.div`
8669
8787
  transform: translateY(-2px);
8670
8788
  }
8671
8789
  `;
8672
- var EmptyState2 = styled11.div`
8790
+ var EmptyState2 = styled47.div`
8673
8791
  display: flex;
8674
8792
  align-items: center;
8675
8793
  justify-content: center;
@@ -8678,17 +8796,17 @@ var EmptyState2 = styled11.div`
8678
8796
  border: 1px dashed ${tokens.colors.border.hover};
8679
8797
  border-radius: ${tokens.borderRadius.lg};
8680
8798
  `;
8681
- var EmptyStateText = styled11.p`
8799
+ var EmptyStateText = styled47.p`
8682
8800
  margin: 0;
8683
8801
  font-size: ${tokens.typography.fontSize.sm};
8684
8802
  color: ${tokens.colors.text.tertiary};
8685
8803
  `;
8686
- var Container14 = styled11.div`
8804
+ var Container14 = styled47.div`
8687
8805
  display: flex;
8688
8806
  flex-direction: column;
8689
8807
  height: 100%;
8690
8808
  width: 100%;
8691
- padding: 1.5rem ${tokens.spacing.md} 0 ${tokens.spacing.md};
8809
+ padding: 0;
8692
8810
  box-sizing: border-box;
8693
8811
  background: linear-gradient(
8694
8812
  180deg,
@@ -8697,7 +8815,7 @@ var Container14 = styled11.div`
8697
8815
  );
8698
8816
  overflow: auto;
8699
8817
  `;
8700
- var Header3 = styled11.div`
8818
+ var Header3 = styled47.div`
8701
8819
  display: flex;
8702
8820
  justify-content: space-between;
8703
8821
  align-items: center;
@@ -8713,17 +8831,17 @@ var Header3 = styled11.div`
8713
8831
  position: absolute;
8714
8832
  left: 0;
8715
8833
  right: 0;
8716
- top: 87%;
8717
- height: 24px;
8834
+ top: 100%;
8835
+ height: 16px;
8718
8836
  background: linear-gradient(
8719
8837
  to bottom,
8720
- ${tokens.colors.backdrop} 100%,
8721
- rgba(255, 255, 255, 0)
8838
+ ${tokens.colors.backdrop} 0%,
8839
+ transparent 100%
8722
8840
  );
8723
8841
  pointer-events: none;
8724
8842
  }
8725
8843
  `;
8726
- var Title = styled11.h2`
8844
+ var Title = styled47.h2`
8727
8845
  margin: 0;
8728
8846
  font-size: ${tokens.typography.fontSize.base};
8729
8847
  font-weight: ${tokens.typography.fontWeight.semibold};
@@ -8733,12 +8851,12 @@ var Title = styled11.h2`
8733
8851
  text-overflow: ellipsis;
8734
8852
  min-width: 0;
8735
8853
  `;
8736
- var ViewToggle = styled11.div`
8854
+ var ViewToggle = styled47.div`
8737
8855
  display: flex;
8738
8856
  gap: ${tokens.spacing.xs};
8739
8857
  flex-shrink: 0;
8740
8858
  `;
8741
- var ToggleButton = styled11.button`
8859
+ var ToggleButton = styled47.button`
8742
8860
  padding: ${tokens.spacing.xs};
8743
8861
  width: 32px;
8744
8862
  height: 32px;
@@ -8766,15 +8884,16 @@ var ToggleButton = styled11.button`
8766
8884
  background: ${({ $active }) => $active ? `${tokens.colors.primary}4D` : tokens.colors.surface.overlayHover};
8767
8885
  }
8768
8886
  `;
8769
- var Content4 = styled11.div`
8887
+ var Content4 = styled47.div`
8770
8888
  flex: 1;
8771
8889
  display: flex;
8772
8890
  flex-direction: column;
8773
- overflow: auto;
8891
+ overflow-x: hidden;
8892
+ overflow-y: auto;
8774
8893
  /* Extra top padding to account for header fade overlay */
8775
8894
  padding-top: ${tokens.spacing.md};
8776
8895
  `;
8777
- var EmptyState3 = styled11.div`
8896
+ var EmptyState3 = styled47.div`
8778
8897
  display: flex;
8779
8898
  flex-direction: column;
8780
8899
  align-items: center;
@@ -8802,7 +8921,7 @@ var EmptyState3 = styled11.div`
8802
8921
  font-size: ${tokens.typography.fontSize.sm};
8803
8922
  }
8804
8923
  `;
8805
- var PostCount = styled11.span`
8924
+ var PostCount = styled47.span`
8806
8925
  font-size: ${tokens.typography.fontSize.sm};
8807
8926
  color: ${tokens.colors.text.tertiary};
8808
8927
  font-weight: ${tokens.typography.fontWeight.regular};
@@ -8897,176 +9016,1126 @@ var SocialMediaCanvas = ({
8897
9016
  ] });
8898
9017
  };
8899
9018
  SocialMediaCanvas.displayName = "SocialMediaCanvas";
8900
- function formatNumber(num) {
8901
- if (num >= 1e6) {
8902
- return `${(num / 1e6).toFixed(1)}M`;
8903
- }
8904
- if (num >= 1e3) {
8905
- return `${(num / 1e3).toFixed(1)}K`;
9019
+
9020
+ // src/components/social-media/redditEngagementConstants.ts
9021
+ var REDDIT_COLORS = {
9022
+ orange: tokens.colors.platform.reddit,
9023
+ darkGray: tokens.colors.background.darker};
9024
+ var SCORE_THRESHOLDS = {
9025
+ excellent: { min: 8, max: 10, label: "Excellent", color: tokens.colors.success },
9026
+ good: { min: 6, max: 7, label: "Good", color: tokens.colors.info },
9027
+ moderate: { min: 4, max: 5, label: "Moderate", color: tokens.colors.warning },
9028
+ low: { min: 1, max: 3, label: "Low", color: tokens.colors.error }
9029
+ };
9030
+ function getScoreConfig(score) {
9031
+ if (score >= 8) return SCORE_THRESHOLDS.excellent;
9032
+ if (score >= 6) return SCORE_THRESHOLDS.good;
9033
+ if (score >= 4) return SCORE_THRESHOLDS.moderate;
9034
+ return SCORE_THRESHOLDS.low;
9035
+ }
9036
+ function getScoreColor(score) {
9037
+ return getScoreConfig(score).color;
9038
+ }
9039
+ function getScoreLabel(score) {
9040
+ return getScoreConfig(score).label;
9041
+ }
9042
+ var TONE_CONFIG = {
9043
+ casual: {
9044
+ label: "Casual",
9045
+ color: tokens.colors.accent,
9046
+ icon: "/assets/icon-set/Icon-chat-1-fill.svg",
9047
+ description: "Friendly, conversational tone"
9048
+ },
9049
+ professional: {
9050
+ label: "Professional",
9051
+ color: tokens.colors.info,
9052
+ icon: "/assets/icon-set/Icon-briefcase-fill.svg",
9053
+ description: "Business-appropriate, formal tone"
9054
+ },
9055
+ technical: {
9056
+ label: "Technical",
9057
+ color: tokens.colors.secondary,
9058
+ icon: "/assets/icon-set/Icon-settings-3-fill.svg",
9059
+ description: "Detail-oriented, expert tone"
9060
+ },
9061
+ supportive: {
9062
+ label: "Supportive",
9063
+ color: tokens.colors.success,
9064
+ icon: "/assets/icon-set/Icon-p2p-fill.svg",
9065
+ description: "Empathetic, helpful tone"
9066
+ },
9067
+ humorous: {
9068
+ label: "Humorous",
9069
+ color: tokens.colors.warning,
9070
+ icon: "/assets/icon-set/Icon-emotion-happy-fill.svg",
9071
+ description: "Light-hearted, witty tone"
8906
9072
  }
8907
- return num.toLocaleString();
9073
+ };
9074
+ function getToneConfig(tone) {
9075
+ return TONE_CONFIG[tone];
9076
+ }
9077
+ ({
9078
+ pending: {
9079
+ color: tokens.colors.warning},
9080
+ posted: {
9081
+ color: tokens.colors.success},
9082
+ skipped: {
9083
+ color: tokens.colors.text.tertiary},
9084
+ expired: {
9085
+ color: tokens.colors.error},
9086
+ editing: {
9087
+ color: tokens.colors.info}
9088
+ });
9089
+ var REDDIT_LIMITS = {
9090
+ comment: 1e4};
9091
+ function getRedditCharPercentage(current, max = REDDIT_LIMITS.comment) {
9092
+ return Math.min(100, current / max * 100);
9093
+ }
9094
+ function getRedditCharLimitColor(percentage) {
9095
+ if (percentage > 100) return tokens.colors.error;
9096
+ if (percentage > 90) return tokens.colors.warning;
9097
+ if (percentage > 75) return tokens.colors.warning;
9098
+ return tokens.colors.success;
9099
+ }
9100
+ var SUBREDDIT_COLORS = {
9101
+ automation: tokens.colors.info,
9102
+ n8n: tokens.colors.platform.reddit,
9103
+ nocode: tokens.colors.success,
9104
+ smallbusiness: tokens.colors.warning,
9105
+ entrepreneur: tokens.colors.accent,
9106
+ saas: tokens.colors.primary,
9107
+ webdev: tokens.colors.secondary,
9108
+ startups: tokens.colors.seaGreen
9109
+ };
9110
+ function getSubredditColor(subreddit) {
9111
+ const lower = subreddit.toLowerCase();
9112
+ return SUBREDDIT_COLORS[lower] || REDDIT_COLORS.orange;
8908
9113
  }
8909
9114
  function formatRelativeTime(timestamp) {
8910
9115
  const now = /* @__PURE__ */ new Date();
8911
- const then = new Date(timestamp);
8912
- const diffMs = now.getTime() - then.getTime();
9116
+ const date = new Date(timestamp);
9117
+ const diffMs = now.getTime() - date.getTime();
8913
9118
  const diffMins = Math.floor(diffMs / 6e4);
8914
- const diffHours = Math.floor(diffMs / 36e5);
8915
- const diffDays = Math.floor(diffMs / 864e5);
8916
- if (diffMins < 1) return "Just now";
9119
+ const diffHours = Math.floor(diffMins / 60);
9120
+ const diffDays = Math.floor(diffHours / 24);
9121
+ if (diffMins < 1) return "just now";
8917
9122
  if (diffMins < 60) return `${diffMins}m ago`;
8918
9123
  if (diffHours < 24) return `${diffHours}h ago`;
8919
- return `${diffDays}d ago`;
9124
+ if (diffDays < 7) return `${diffDays}d ago`;
9125
+ return date.toLocaleDateString();
8920
9126
  }
8921
- function getUsageLevel(percentage) {
8922
- if (percentage >= 90) return "critical";
8923
- if (percentage >= 75) return "high";
8924
- if (percentage >= 50) return "medium";
8925
- return "low";
9127
+ function formatNumber(num) {
9128
+ if (num >= 1e6) return `${(num / 1e6).toFixed(1)}M`;
9129
+ if (num >= 1e3) return `${(num / 1e3).toFixed(1)}k`;
9130
+ return num.toString();
8926
9131
  }
8927
- var usageLevelColors = {
8928
- low: tokens.colors.success,
8929
- medium: tokens.colors.warning,
8930
- high: "#ff8c00",
8931
- critical: tokens.colors.error
9132
+ function truncateText(text, maxLength) {
9133
+ if (text.length <= maxLength) return text;
9134
+ return text.slice(0, maxLength - 3) + "...";
9135
+ }
9136
+ function getSubredditUrl(subreddit) {
9137
+ return `https://www.reddit.com/r/${subreddit}`;
9138
+ }
9139
+ var SubredditBadge = ({
9140
+ subreddit,
9141
+ linked = true
9142
+ }) => {
9143
+ const color = getSubredditColor(subreddit);
9144
+ const content = /* @__PURE__ */ jsxs(SubredditBadgeContainer, { $color: color, children: [
9145
+ "r/",
9146
+ subreddit
9147
+ ] });
9148
+ if (linked) {
9149
+ return /* @__PURE__ */ jsx(SubredditLink, { href: getSubredditUrl(subreddit), target: "_blank", rel: "noopener noreferrer", children: content });
9150
+ }
9151
+ return content;
8932
9152
  };
8933
- var typeIcons = {
8934
- input: "\u2191",
8935
- output: "\u2193",
8936
- system: "\u2699"
9153
+ var EngagementScoreBadge = ({
9154
+ score,
9155
+ size = "md"
9156
+ }) => {
9157
+ const color = getScoreColor(score);
9158
+ const label = getScoreLabel(score);
9159
+ return /* @__PURE__ */ jsxs(ScoreBadgeContainer, { $color: color, $size: size, children: [
9160
+ /* @__PURE__ */ jsx(ScoreValue, { children: score }),
9161
+ /* @__PURE__ */ jsx(ScoreMax, { children: "/10" }),
9162
+ /* @__PURE__ */ jsx(ScoreLabel, { children: label })
9163
+ ] });
8937
9164
  };
8938
- var typeColors = {
8939
- input: tokens.colors.info,
8940
- output: tokens.colors.success,
8941
- system: tokens.colors.text.tertiary
9165
+ var ToneBadge = ({ tone }) => {
9166
+ const config = getToneConfig(tone);
9167
+ return /* @__PURE__ */ jsxs(ToneBadgeContainer, { $color: config.color, children: [
9168
+ /* @__PURE__ */ jsx(ToneIcon, { src: config.icon, alt: "" }),
9169
+ /* @__PURE__ */ jsx("span", { children: config.label })
9170
+ ] });
8942
9171
  };
8943
- function TokenUsageCard({
8944
- currentUsage,
8945
- maxLimit,
8946
- transactions,
8947
- periodLabel,
8948
- onViewAll,
8949
- className
8950
- }) {
8951
- const percentage = useMemo(
8952
- () => Math.min(currentUsage / maxLimit * 100, 100),
8953
- [currentUsage, maxLimit]
9172
+ var PostStats = ({
9173
+ score,
9174
+ comments,
9175
+ createdAt
9176
+ }) => /* @__PURE__ */ jsxs(StatsContainer, { children: [
9177
+ /* @__PURE__ */ jsxs(StatItem, { children: [
9178
+ /* @__PURE__ */ jsx(Icon2, { src: "/assets/icon-set/Icon-arrow-up-fill.svg", alt: "upvotes" }),
9179
+ /* @__PURE__ */ jsx(StatValue, { children: formatNumber(score) })
9180
+ ] }),
9181
+ /* @__PURE__ */ jsx(StatDivider, { children: "\u2022" }),
9182
+ /* @__PURE__ */ jsxs(StatItem, { children: [
9183
+ /* @__PURE__ */ jsx(Icon2, { src: "/assets/icon-set/Icon-chat-1-fill.svg", alt: "comments" }),
9184
+ /* @__PURE__ */ jsx(StatValue, { children: formatNumber(comments) })
9185
+ ] }),
9186
+ /* @__PURE__ */ jsx(StatDivider, { children: "\u2022" }),
9187
+ /* @__PURE__ */ jsxs(StatItem, { children: [
9188
+ /* @__PURE__ */ jsx(Icon2, { src: "/assets/icon-set/Icon-time-fill.svg", alt: "time" }),
9189
+ /* @__PURE__ */ jsx(StatValue, { children: formatRelativeTime(createdAt) })
9190
+ ] })
9191
+ ] });
9192
+ var RedditOpportunityCard = ({
9193
+ opportunity,
9194
+ isActive = false,
9195
+ isEditing = false,
9196
+ editContent,
9197
+ onContentChange,
9198
+ isLoading = false,
9199
+ condensed = false
9200
+ }) => {
9201
+ const displayContent = isEditing && editContent !== void 0 ? editContent : opportunity.editedReply || opportunity.draftReply;
9202
+ const charCount = displayContent.length;
9203
+ const charPercentage = useMemo(
9204
+ () => getRedditCharPercentage(charCount, REDDIT_LIMITS.comment),
9205
+ [charCount]
8954
9206
  );
8955
- const usageLevel = useMemo(() => getUsageLevel(percentage), [percentage]);
8956
- return /* @__PURE__ */ jsxs(Card2, { className, "data-testid": "token-usage-card", children: [
8957
- /* @__PURE__ */ jsxs(Header4, { children: [
8958
- /* @__PURE__ */ jsx(Title2, { children: "Token Usage" }),
8959
- /* @__PURE__ */ jsx(Period, { children: periodLabel })
8960
- ] }),
8961
- /* @__PURE__ */ jsxs(UsageSection, { children: [
8962
- /* @__PURE__ */ jsxs(UsageStats, { children: [
8963
- /* @__PURE__ */ jsx(CurrentUsage, { children: formatNumber(currentUsage) }),
8964
- /* @__PURE__ */ jsx(UsageSeparator, { children: "/" }),
8965
- /* @__PURE__ */ jsx(MaxUsage, { children: formatNumber(maxLimit) })
8966
- ] }),
8967
- /* @__PURE__ */ jsx(ProgressContainer, { children: /* @__PURE__ */ jsx(ProgressBar3, { $percentage: percentage, $level: usageLevel }) }),
8968
- /* @__PURE__ */ jsxs(PercentageLabel, { $level: usageLevel, children: [
8969
- percentage.toFixed(1),
8970
- "% used"
8971
- ] })
8972
- ] }),
8973
- transactions.length > 0 && /* @__PURE__ */ jsxs(TransactionsSection, { children: [
8974
- /* @__PURE__ */ jsx(TransactionsHeader, { children: "Recent Activity" }),
8975
- /* @__PURE__ */ jsx(TransactionsList, { children: transactions.slice(0, 5).map((transaction) => /* @__PURE__ */ jsxs(TransactionItem, { children: [
8976
- /* @__PURE__ */ jsx(TransactionIcon, { $type: transaction.type, children: typeIcons[transaction.type] }),
8977
- /* @__PURE__ */ jsxs(TransactionInfo, { children: [
8978
- /* @__PURE__ */ jsx(TransactionDescription, { children: transaction.description }),
8979
- /* @__PURE__ */ jsxs(TransactionMeta, { children: [
8980
- transaction.source && /* @__PURE__ */ jsx("span", { children: transaction.source }),
8981
- /* @__PURE__ */ jsx("span", { children: formatRelativeTime(transaction.timestamp) })
9207
+ const charLimitColor = useMemo(
9208
+ () => getRedditCharLimitColor(charPercentage),
9209
+ [charPercentage]
9210
+ );
9211
+ const handleContentChange = (e) => {
9212
+ onContentChange?.(e.target.value);
9213
+ };
9214
+ if (isLoading) {
9215
+ return /* @__PURE__ */ jsx(CardContainer2, { $isActive: false, $isEditing: false, children: /* @__PURE__ */ jsxs(SkeletonContent2, { children: [
9216
+ /* @__PURE__ */ jsx(SkeletonLine2, { $width: "40%" }),
9217
+ /* @__PURE__ */ jsx(SkeletonLine2, { $width: "90%" }),
9218
+ /* @__PURE__ */ jsx(SkeletonLine2, { $width: "75%" }),
9219
+ /* @__PURE__ */ jsx(SkeletonLine2, { $width: "60%" })
9220
+ ] }) });
9221
+ }
9222
+ return /* @__PURE__ */ jsxs(
9223
+ CardContainer2,
9224
+ {
9225
+ $isActive: isActive,
9226
+ $isEditing: isEditing,
9227
+ "data-testid": "reddit-opportunity-card",
9228
+ children: [
9229
+ /* @__PURE__ */ jsxs(CardHeader, { children: [
9230
+ /* @__PURE__ */ jsxs(HeaderLeft, { children: [
9231
+ /* @__PURE__ */ jsx(SubredditBadge, { subreddit: opportunity.subreddit }),
9232
+ /* @__PURE__ */ jsx(EngagementScoreBadge, { score: opportunity.engagementScore, size: "md" })
9233
+ ] }),
9234
+ /* @__PURE__ */ jsx(
9235
+ PostStats,
9236
+ {
9237
+ score: opportunity.postScore,
9238
+ comments: opportunity.postNumComments,
9239
+ createdAt: opportunity.postCreatedAt
9240
+ }
9241
+ )
9242
+ ] }),
9243
+ /* @__PURE__ */ jsxs(PostPreviewSection, { $condensed: condensed, children: [
9244
+ /* @__PURE__ */ jsxs(PostTitle, { href: opportunity.postUrl, target: "_blank", rel: "noopener noreferrer", children: [
9245
+ opportunity.title,
9246
+ /* @__PURE__ */ jsx(ExternalLinkIcon, { children: "\u2192" })
9247
+ ] }),
9248
+ !condensed && opportunity.postContent && /* @__PURE__ */ jsx(PostContent2, { children: truncateText(opportunity.postContent, 300) }),
9249
+ /* @__PURE__ */ jsxs(PostAuthor, { children: [
9250
+ "Posted by u/",
9251
+ opportunity.postAuthor,
9252
+ opportunity.flair && /* @__PURE__ */ jsx(PostFlair, { children: opportunity.flair })
8982
9253
  ] })
8983
9254
  ] }),
8984
- /* @__PURE__ */ jsxs(TransactionTokens, { $type: transaction.type, children: [
8985
- transaction.type === "output" ? "+" : "",
8986
- formatNumber(transaction.tokens)
9255
+ /* @__PURE__ */ jsx(Divider, {}),
9256
+ /* @__PURE__ */ jsxs(ReplySection, { children: [
9257
+ /* @__PURE__ */ jsxs(ReplySectionHeader, { children: [
9258
+ /* @__PURE__ */ jsx(ReplyLabel, { children: "Your Draft Reply" }),
9259
+ /* @__PURE__ */ jsxs(ReplyMeta, { children: [
9260
+ /* @__PURE__ */ jsx(ToneBadge, { tone: opportunity.toneMatch }),
9261
+ /* @__PURE__ */ jsxs(CharacterCount, { $color: charLimitColor, children: [
9262
+ charCount,
9263
+ "/",
9264
+ REDDIT_LIMITS.comment
9265
+ ] })
9266
+ ] })
9267
+ ] }),
9268
+ isEditing ? /* @__PURE__ */ jsx(
9269
+ ReplyTextarea,
9270
+ {
9271
+ value: displayContent,
9272
+ onChange: handleContentChange,
9273
+ placeholder: "Write your reply...",
9274
+ autoFocus: true
9275
+ }
9276
+ ) : /* @__PURE__ */ jsx(ReplyContent, { children: displayContent }),
9277
+ /* @__PURE__ */ jsxs(StrategyHint, { children: [
9278
+ /* @__PURE__ */ jsx(StrategyIconImg, { src: "/assets/icon-set/Icon-lightbulb-fill.svg", alt: "" }),
9279
+ /* @__PURE__ */ jsxs(StrategyText, { children: [
9280
+ "Strategy: ",
9281
+ opportunity.strategy
9282
+ ] })
9283
+ ] }),
9284
+ /* @__PURE__ */ jsx(ProgressBarContainer2, { children: /* @__PURE__ */ jsx(ProgressBarTrack2, { children: /* @__PURE__ */ jsx(
9285
+ ProgressBarFill3,
9286
+ {
9287
+ $percentage: Math.min(charPercentage, 100),
9288
+ $color: charLimitColor
9289
+ }
9290
+ ) }) })
8987
9291
  ] })
8988
- ] }, transaction.id)) })
8989
- ] }),
8990
- transactions.length === 0 && /* @__PURE__ */ jsx(EmptyState4, { children: "No recent activity" }),
8991
- onViewAll && transactions.length > 0 && /* @__PURE__ */ jsx(ViewAllButton, { onClick: onViewAll, children: "View all activity" })
8992
- ] });
8993
- }
8994
- var Card2 = styled11.div`
8995
- display: flex;
8996
- flex-direction: column;
8997
- background: ${tokens.colors.background.darker};
8998
- border-radius: ${tokens.borderRadius.xl};
8999
- border: 1px solid ${tokens.colors.border.default};
9000
- overflow: hidden;
9001
- `;
9002
- var Header4 = styled11.div`
9003
- display: flex;
9004
- justify-content: space-between;
9005
- align-items: center;
9006
- padding: ${tokens.spacing.sm} ${tokens.spacing.md};
9007
- background: ${tokens.colors.background.darker};
9008
- border-bottom: 1px solid ${tokens.colors.border.default};
9009
- min-height: 48px;
9292
+ ]
9293
+ }
9294
+ );
9295
+ };
9296
+ RedditOpportunityCard.displayName = "RedditOpportunityCard";
9297
+ var fadeIn3 = keyframes`
9298
+ from {
9299
+ opacity: 0;
9300
+ transform: translateY(8px);
9301
+ }
9302
+ to {
9303
+ opacity: 1;
9304
+ transform: translateY(0);
9305
+ }
9010
9306
  `;
9011
- var Title2 = styled11.h3`
9012
- margin: 0;
9013
- font-size: ${tokens.typography.fontSize.lg};
9014
- font-weight: ${tokens.typography.fontWeight.semibold};
9015
- font-family: ${tokens.typography.fontFamily.primary};
9016
- color: ${tokens.colors.text.primary};
9307
+ var shimmer2 = keyframes`
9308
+ 0% { background-position: -200% 0; }
9309
+ 100% { background-position: 200% 0; }
9017
9310
  `;
9018
- var Period = styled11.span`
9019
- font-size: ${tokens.typography.fontSize.sm};
9311
+ var Icon2 = styled47.img`
9312
+ width: 14px;
9313
+ height: 14px;
9314
+ vertical-align: middle;
9315
+ opacity: 0.8;
9316
+ `;
9317
+ var CardContainer2 = styled47.div`
9318
+ background: ${tokens.colors.background.dark};
9319
+ border-radius: ${tokens.borderRadius.xl};
9320
+ padding: ${tokens.spacing.lg};
9321
+ position: relative;
9322
+ transition: all ${tokens.transitions.normal};
9323
+ border: 1px solid ${({ $isActive, $isEditing }) => $isEditing ? REDDIT_COLORS.orange : $isActive ? REDDIT_COLORS.orange : tokens.colors.border.default};
9324
+ box-shadow: ${({ $isActive, $isEditing }) => $isEditing || $isActive ? `${tokens.shadows.lg}, 0 0 20px ${REDDIT_COLORS.orange}40` : tokens.shadows.md};
9325
+ animation: ${fadeIn3} 0.4s ease-out;
9326
+
9327
+ &:hover {
9328
+ border-color: ${REDDIT_COLORS.orange}80;
9329
+ }
9330
+
9331
+ @media (max-width: 480px) {
9332
+ padding: ${tokens.spacing.md};
9333
+ }
9334
+ `;
9335
+ var CardHeader = styled47.div`
9336
+ display: flex;
9337
+ justify-content: space-between;
9338
+ align-items: center;
9339
+ margin-bottom: ${tokens.spacing.md};
9340
+ flex-wrap: wrap;
9341
+ gap: ${tokens.spacing.sm};
9342
+
9343
+ @media (max-width: 480px) {
9344
+ flex-direction: column;
9345
+ align-items: flex-start;
9346
+ }
9347
+ `;
9348
+ var HeaderLeft = styled47.div`
9349
+ display: flex;
9350
+ align-items: center;
9351
+ gap: ${tokens.spacing.sm};
9352
+ `;
9353
+ var SubredditBadgeContainer = styled47.span`
9354
+ display: inline-flex;
9355
+ align-items: center;
9356
+ gap: ${tokens.spacing.xs};
9357
+ padding: ${tokens.spacing.xs} ${tokens.spacing.sm};
9358
+ border-radius: ${tokens.borderRadius.full};
9359
+ font-size: ${tokens.typography.fontSize.sm};
9360
+ font-weight: ${tokens.typography.fontWeight.semibold};
9361
+ background: ${({ $color }) => `${$color}20`};
9362
+ color: ${({ $color }) => $color};
9363
+ border: 1px solid ${({ $color }) => `${$color}40`};
9364
+ transition: all ${tokens.transitions.fast};
9365
+ `;
9366
+ var SubredditLink = styled47.a`
9367
+ text-decoration: none;
9368
+
9369
+ &:hover ${SubredditBadgeContainer} {
9370
+ background: ${tokens.colors.surface.overlayHover};
9371
+ }
9372
+ `;
9373
+ var ScoreBadgeContainer = styled47.div`
9374
+ display: flex;
9375
+ align-items: baseline;
9376
+ gap: ${tokens.spacing.xs};
9377
+ padding: ${({ $size }) => $size === "sm" ? `${tokens.spacing.xs} ${tokens.spacing.sm}` : $size === "lg" ? `${tokens.spacing.sm} ${tokens.spacing.md}` : `${tokens.spacing.xs} ${tokens.spacing.sm}`};
9378
+ border-radius: ${tokens.borderRadius.md};
9379
+ background: ${({ $color }) => `${$color}20`};
9380
+ border: 1px solid ${({ $color }) => `${$color}40`};
9381
+ `;
9382
+ var ScoreValue = styled47.span`
9383
+ font-size: ${tokens.typography.fontSize.lg};
9384
+ font-weight: ${tokens.typography.fontWeight.bold};
9385
+ color: ${tokens.colors.text.primary};
9386
+ `;
9387
+ var ScoreMax = styled47.span`
9388
+ font-size: ${tokens.typography.fontSize.xs};
9389
+ color: ${tokens.colors.text.tertiary};
9390
+ `;
9391
+ var ScoreLabel = styled47.span`
9392
+ margin-left: ${tokens.spacing.xs};
9393
+ font-size: ${tokens.typography.fontSize.xs};
9394
+ font-weight: ${tokens.typography.fontWeight.medium};
9395
+ color: ${tokens.colors.text.secondary};
9396
+ `;
9397
+ var StatsContainer = styled47.div`
9398
+ display: flex;
9399
+ align-items: center;
9400
+ gap: ${tokens.spacing.xs};
9401
+ `;
9402
+ var StatItem = styled47.span`
9403
+ display: flex;
9404
+ align-items: center;
9405
+ gap: ${tokens.spacing.xs};
9406
+ `;
9407
+ var StatValue = styled47.span`
9408
+ font-size: ${tokens.typography.fontSize.sm};
9409
+ color: ${tokens.colors.text.secondary};
9410
+ `;
9411
+ var StatDivider = styled47.span`
9412
+ color: ${tokens.colors.text.tertiary};
9413
+ `;
9414
+ var PostPreviewSection = styled47.div`
9415
+ margin-bottom: ${tokens.spacing.md};
9416
+ `;
9417
+ var PostTitle = styled47.a`
9418
+ display: flex;
9419
+ align-items: flex-start;
9420
+ gap: ${tokens.spacing.xs};
9421
+ font-size: ${tokens.typography.fontSize.lg};
9422
+ font-weight: ${tokens.typography.fontWeight.semibold};
9423
+ color: ${tokens.colors.text.primary};
9424
+ text-decoration: none;
9425
+ line-height: ${tokens.typography.lineHeight.tight};
9426
+ margin-bottom: ${tokens.spacing.sm};
9427
+
9428
+ &:hover {
9429
+ color: ${tokens.colors.primary};
9430
+ }
9431
+ `;
9432
+ var ExternalLinkIcon = styled47.span`
9433
+ font-size: ${tokens.typography.fontSize.sm};
9434
+ color: ${tokens.colors.text.tertiary};
9435
+ flex-shrink: 0;
9436
+ `;
9437
+ var PostContent2 = styled47.p`
9438
+ font-size: ${tokens.typography.fontSize.base};
9439
+ color: ${tokens.colors.text.secondary};
9440
+ line-height: ${tokens.typography.lineHeight.relaxed};
9441
+ margin-bottom: ${tokens.spacing.sm};
9442
+ white-space: pre-wrap;
9443
+ `;
9444
+ var PostAuthor = styled47.div`
9445
+ display: flex;
9446
+ align-items: center;
9447
+ gap: ${tokens.spacing.sm};
9448
+ font-size: ${tokens.typography.fontSize.sm};
9449
+ color: ${tokens.colors.text.tertiary};
9450
+ `;
9451
+ var PostFlair = styled47.span`
9452
+ padding: ${tokens.spacing.xs} ${tokens.spacing.sm};
9453
+ border-radius: ${tokens.borderRadius.sm};
9454
+ background: ${tokens.colors.surface.overlay};
9455
+ font-size: ${tokens.typography.fontSize.xs};
9456
+ color: ${tokens.colors.text.secondary};
9457
+ `;
9458
+ var Divider = styled47.hr`
9459
+ border: none;
9460
+ height: 1px;
9461
+ background: ${tokens.colors.border.default};
9462
+ margin: ${tokens.spacing.md} 0;
9463
+ `;
9464
+ var ReplySection = styled47.div``;
9465
+ var ReplySectionHeader = styled47.div`
9466
+ display: flex;
9467
+ justify-content: space-between;
9468
+ align-items: center;
9469
+ margin-bottom: ${tokens.spacing.sm};
9470
+ `;
9471
+ var ReplyLabel = styled47.span`
9472
+ font-size: ${tokens.typography.fontSize.sm};
9473
+ font-weight: ${tokens.typography.fontWeight.semibold};
9474
+ color: ${tokens.colors.text.secondary};
9475
+ text-transform: uppercase;
9476
+ letter-spacing: 0.5px;
9477
+ `;
9478
+ var ReplyMeta = styled47.div`
9479
+ display: flex;
9480
+ align-items: center;
9481
+ gap: ${tokens.spacing.sm};
9482
+ `;
9483
+ var ToneBadgeContainer = styled47.span`
9484
+ display: inline-flex;
9485
+ align-items: center;
9486
+ gap: ${tokens.spacing.xs};
9487
+ padding: ${tokens.spacing.xs} ${tokens.spacing.sm};
9488
+ border-radius: ${tokens.borderRadius.sm};
9489
+ font-size: ${tokens.typography.fontSize.xs};
9490
+ background: ${({ $color }) => `${$color}20`};
9491
+ color: ${({ $color }) => $color};
9492
+ `;
9493
+ var ToneIcon = styled47.img`
9494
+ width: 12px;
9495
+ height: 12px;
9496
+ `;
9497
+ var CharacterCount = styled47.span`
9498
+ font-size: ${tokens.typography.fontSize.xs};
9499
+ font-family: ${tokens.typography.fontFamily.monospace};
9500
+ font-weight: ${tokens.typography.fontWeight.medium};
9501
+ color: ${({ $color }) => $color};
9502
+ `;
9503
+ var ReplyContent = styled47.div`
9504
+ font-size: ${tokens.typography.fontSize.base};
9505
+ line-height: ${tokens.typography.lineHeight.relaxed};
9506
+ color: ${tokens.colors.text.primary};
9507
+ white-space: pre-wrap;
9508
+ padding: ${tokens.spacing.md};
9509
+ background: ${tokens.colors.background.darker};
9510
+ border-radius: ${tokens.borderRadius.sm};
9511
+ border: 1px solid ${tokens.colors.border.default};
9512
+ margin-bottom: ${tokens.spacing.sm};
9513
+ min-height: 100px;
9514
+ animation: ${fadeIn3} 0.3s ease-out;
9515
+ `;
9516
+ var ReplyTextarea = styled47.textarea`
9517
+ width: 100%;
9518
+ min-height: 150px;
9519
+ max-height: 400px;
9520
+ font-size: ${tokens.typography.fontSize.base};
9521
+ font-family: ${tokens.typography.fontFamily.primary};
9522
+ line-height: ${tokens.typography.lineHeight.relaxed};
9523
+ color: ${tokens.colors.text.primary};
9524
+ background: ${tokens.colors.background.darker};
9525
+ border: 1px solid ${tokens.colors.primary};
9526
+ border-radius: ${tokens.borderRadius.sm};
9527
+ padding: ${tokens.spacing.md};
9528
+ margin-bottom: ${tokens.spacing.sm};
9529
+ resize: vertical;
9530
+ box-sizing: border-box;
9531
+ transition: border-color ${tokens.transitions.fast}, box-shadow ${tokens.transitions.fast};
9532
+
9533
+ &:focus {
9534
+ outline: none;
9535
+ box-shadow: 0 0 0 3px ${tokens.colors.primary}30;
9536
+ }
9537
+
9538
+ &::placeholder {
9539
+ color: ${tokens.colors.text.tertiary};
9540
+ }
9541
+ `;
9542
+ var StrategyHint = styled47.div`
9543
+ display: flex;
9544
+ align-items: flex-start;
9545
+ gap: ${tokens.spacing.xs};
9546
+ padding: ${tokens.spacing.sm};
9547
+ background: ${tokens.colors.surface.overlay};
9548
+ border-radius: ${tokens.borderRadius.sm};
9549
+ margin-bottom: ${tokens.spacing.sm};
9550
+ `;
9551
+ var StrategyIconImg = styled47.img`
9552
+ width: 16px;
9553
+ height: 16px;
9554
+ opacity: 0.8;
9555
+ `;
9556
+ var StrategyText = styled47.span`
9557
+ font-size: ${tokens.typography.fontSize.sm};
9558
+ color: ${tokens.colors.text.secondary};
9559
+ font-style: italic;
9560
+ `;
9561
+ var ProgressBarContainer2 = styled47.div`
9562
+ margin-top: ${tokens.spacing.xs};
9563
+ `;
9564
+ var ProgressBarTrack2 = styled47.div`
9565
+ width: 100%;
9566
+ height: 4px;
9567
+ background: ${tokens.colors.border.default};
9568
+ border-radius: ${tokens.borderRadius.sm};
9569
+ overflow: hidden;
9570
+ `;
9571
+ var ProgressBarFill3 = styled47.div`
9572
+ width: ${({ $percentage }) => $percentage}%;
9573
+ height: 100%;
9574
+ border-radius: ${tokens.borderRadius.sm};
9575
+ transition: width 0.3s ease, background-color 0.3s ease;
9576
+ background: ${({ $color }) => $color};
9577
+ `;
9578
+ var SkeletonContent2 = styled47.div`
9579
+ display: flex;
9580
+ flex-direction: column;
9581
+ gap: ${tokens.spacing.sm};
9582
+ padding: ${tokens.spacing.md};
9583
+ `;
9584
+ var SkeletonLine2 = styled47.div`
9585
+ height: 16px;
9586
+ width: ${({ $width }) => $width};
9587
+ background: linear-gradient(
9588
+ 90deg,
9589
+ ${tokens.colors.border.default} 0%,
9590
+ rgba(255, 255, 255, 0.1) 50%,
9591
+ ${tokens.colors.border.default} 100%
9592
+ );
9593
+ background-size: 200% 100%;
9594
+ border-radius: ${tokens.borderRadius.sm};
9595
+ animation: ${shimmer2} 1.5s ease-in-out infinite;
9596
+ `;
9597
+ var RedditEngagementControls = ({
9598
+ opportunity,
9599
+ currentReply,
9600
+ isEditing,
9601
+ onToggleEdit,
9602
+ onSaveEdit,
9603
+ onCancelEdit,
9604
+ onCopyAndOpen,
9605
+ onMarkPosted,
9606
+ onSkip,
9607
+ onRegenerate,
9608
+ isLoading = false,
9609
+ justCopied = false
9610
+ }) => {
9611
+ const [showRegenerateInput, setShowRegenerateInput] = useState(false);
9612
+ const [regenerateFeedback, setRegenerateFeedback] = useState("");
9613
+ const [copiedFeedback, setCopiedFeedback] = useState(false);
9614
+ const handleCopyAndOpen = useCallback(async () => {
9615
+ try {
9616
+ await navigator.clipboard.writeText(currentReply);
9617
+ setCopiedFeedback(true);
9618
+ setTimeout(() => setCopiedFeedback(false), 2e3);
9619
+ onCopyAndOpen();
9620
+ } catch (err) {
9621
+ console.error("Failed to copy:", err);
9622
+ }
9623
+ }, [currentReply, onCopyAndOpen]);
9624
+ const handleSkip = useCallback(() => {
9625
+ onSkip();
9626
+ }, [onSkip]);
9627
+ const handleRegenerate = useCallback(() => {
9628
+ if (showRegenerateInput) {
9629
+ onRegenerate(regenerateFeedback || void 0);
9630
+ setRegenerateFeedback("");
9631
+ setShowRegenerateInput(false);
9632
+ } else {
9633
+ setShowRegenerateInput(true);
9634
+ }
9635
+ }, [showRegenerateInput, regenerateFeedback, onRegenerate]);
9636
+ const isPending = opportunity.status === "pending" || opportunity.status === "editing";
9637
+ return /* @__PURE__ */ jsxs(ControlsContainer, { "data-testid": "reddit-engagement-controls", children: [
9638
+ isEditing && /* @__PURE__ */ jsxs(EditModeSection, { children: [
9639
+ /* @__PURE__ */ jsxs(EditModeLabel, { children: [
9640
+ /* @__PURE__ */ jsx(Icon3, { src: "/assets/icon-set/Icon-edit-fill.svg", alt: "" }),
9641
+ " Editing Mode"
9642
+ ] }),
9643
+ /* @__PURE__ */ jsxs(EditModeActions, { children: [
9644
+ /* @__PURE__ */ jsx(ActionButton6, { $variant: "cancel", onClick: onCancelEdit, disabled: isLoading, children: "Cancel" }),
9645
+ /* @__PURE__ */ jsx(
9646
+ ActionButton6,
9647
+ {
9648
+ $variant: "save",
9649
+ onClick: () => onSaveEdit(currentReply),
9650
+ disabled: isLoading,
9651
+ children: "Save Changes"
9652
+ }
9653
+ )
9654
+ ] })
9655
+ ] }),
9656
+ showRegenerateInput && !isEditing && /* @__PURE__ */ jsxs(InputSection, { children: [
9657
+ /* @__PURE__ */ jsx(InputLabel, { children: "What should be different?" }),
9658
+ /* @__PURE__ */ jsxs(InputRow, { children: [
9659
+ /* @__PURE__ */ jsx(
9660
+ TextInput,
9661
+ {
9662
+ value: regenerateFeedback,
9663
+ onChange: (e) => setRegenerateFeedback(e.target.value),
9664
+ placeholder: "Make it more casual, add specific example...",
9665
+ onKeyDown: (e) => e.key === "Enter" && handleRegenerate()
9666
+ }
9667
+ ),
9668
+ /* @__PURE__ */ jsx(SmallButton, { onClick: () => setShowRegenerateInput(false), children: "\xD7" })
9669
+ ] })
9670
+ ] }),
9671
+ !isEditing && isPending && /* @__PURE__ */ jsxs(MainActions, { children: [
9672
+ /* @__PURE__ */ jsxs(SecondaryActions, { children: [
9673
+ /* @__PURE__ */ jsxs(
9674
+ ActionButton6,
9675
+ {
9676
+ $variant: "tertiary",
9677
+ onClick: handleRegenerate,
9678
+ disabled: isLoading,
9679
+ title: "Generate a new reply",
9680
+ children: [
9681
+ /* @__PURE__ */ jsx(Icon3, { src: "/assets/icon-set/Icon-refresh-fill.svg", alt: "" }),
9682
+ showRegenerateInput ? "Confirm" : "Regenerate"
9683
+ ]
9684
+ }
9685
+ ),
9686
+ /* @__PURE__ */ jsxs(
9687
+ ActionButton6,
9688
+ {
9689
+ $variant: "edit",
9690
+ onClick: onToggleEdit,
9691
+ disabled: isLoading,
9692
+ title: "Edit the draft reply",
9693
+ children: [
9694
+ /* @__PURE__ */ jsx(Icon3, { src: "/assets/icon-set/Icon-edit-fill.svg", alt: "" }),
9695
+ "Edit"
9696
+ ]
9697
+ }
9698
+ ),
9699
+ /* @__PURE__ */ jsxs(
9700
+ ActionButton6,
9701
+ {
9702
+ $variant: "skip",
9703
+ onClick: handleSkip,
9704
+ disabled: isLoading,
9705
+ title: "Skip this opportunity",
9706
+ children: [
9707
+ /* @__PURE__ */ jsx(Icon3, { src: "/assets/icon-set/Icon-skip-forward-fill.svg", alt: "" }),
9708
+ "Skip"
9709
+ ]
9710
+ }
9711
+ )
9712
+ ] }),
9713
+ /* @__PURE__ */ jsxs(PrimaryActions, { children: [
9714
+ /* @__PURE__ */ jsxs(
9715
+ ActionButton6,
9716
+ {
9717
+ $variant: "primary",
9718
+ onClick: handleCopyAndOpen,
9719
+ disabled: isLoading,
9720
+ $pulse: !justCopied && !copiedFeedback,
9721
+ title: "Copy reply and open post in new tab",
9722
+ children: [
9723
+ copiedFeedback ? /* @__PURE__ */ jsx(Icon3, { src: "/assets/icon-set/Icon-check-fill.svg", alt: "" }) : /* @__PURE__ */ jsx(Icon3, { src: "/assets/icon-set/Icon-clipboard-fill.svg", alt: "" }),
9724
+ copiedFeedback ? "Copied!" : "Copy & Open"
9725
+ ]
9726
+ }
9727
+ ),
9728
+ /* @__PURE__ */ jsxs(
9729
+ ActionButton6,
9730
+ {
9731
+ $variant: "success",
9732
+ onClick: onMarkPosted,
9733
+ disabled: isLoading || !justCopied && !copiedFeedback,
9734
+ title: "Mark as posted after you've replied",
9735
+ children: [
9736
+ /* @__PURE__ */ jsx(Icon3, { src: "/assets/icon-set/Icon-check-fill.svg", alt: "" }),
9737
+ "Mark as Posted"
9738
+ ]
9739
+ }
9740
+ )
9741
+ ] })
9742
+ ] })
9743
+ ] });
9744
+ };
9745
+ RedditEngagementControls.displayName = "RedditEngagementControls";
9746
+ var pulse4 = keyframes`
9747
+ 0%, 100% {
9748
+ box-shadow: 0 0 0 0 ${tokens.colors.primary}66;
9749
+ }
9750
+ 50% {
9751
+ box-shadow: 0 0 0 8px ${tokens.colors.primary}00;
9752
+ }
9753
+ `;
9754
+ var ControlsContainer = styled47.div`
9755
+ display: flex;
9756
+ flex-direction: column;
9757
+ gap: ${tokens.spacing.md};
9758
+ padding: ${tokens.spacing.md};
9759
+ background: ${tokens.colors.background.dark};
9760
+ border-radius: ${tokens.borderRadius.lg};
9761
+ border: 1px solid ${tokens.colors.border.default};
9762
+ `;
9763
+ var EditModeSection = styled47.div`
9764
+ display: flex;
9765
+ justify-content: space-between;
9766
+ align-items: center;
9767
+ padding: ${tokens.spacing.sm} ${tokens.spacing.md};
9768
+ background: ${tokens.colors.status.editing}20;
9769
+ border: 1px solid ${tokens.colors.status.editing}40;
9770
+ border-radius: ${tokens.borderRadius.md};
9771
+ `;
9772
+ var EditModeLabel = styled47.span`
9773
+ font-size: ${tokens.typography.fontSize.sm};
9774
+ font-weight: ${tokens.typography.fontWeight.medium};
9775
+ color: ${tokens.colors.status.editing};
9776
+ `;
9777
+ var EditModeActions = styled47.div`
9778
+ display: flex;
9779
+ gap: ${tokens.spacing.sm};
9780
+ `;
9781
+ var InputSection = styled47.div`
9782
+ display: flex;
9783
+ flex-direction: column;
9784
+ gap: ${tokens.spacing.xs};
9785
+ `;
9786
+ var InputLabel = styled47.label`
9787
+ font-size: ${tokens.typography.fontSize.sm};
9788
+ color: ${tokens.colors.text.secondary};
9789
+ `;
9790
+ var InputRow = styled47.div`
9791
+ display: flex;
9792
+ gap: ${tokens.spacing.xs};
9793
+ flex-wrap: wrap;
9794
+
9795
+ @media (max-width: 480px) {
9796
+ flex-direction: column;
9797
+ }
9798
+ `;
9799
+ var TextInput = styled47.input`
9800
+ flex: 1;
9801
+ min-width: 0;
9802
+ padding: ${tokens.spacing.sm};
9803
+ font-size: ${tokens.typography.fontSize.sm};
9804
+ color: ${tokens.colors.text.primary};
9805
+ background: ${tokens.colors.background.darker};
9806
+ border: 1px solid ${tokens.colors.border.default};
9807
+ border-radius: ${tokens.borderRadius.md};
9808
+ transition: border-color ${tokens.transitions.fast};
9809
+
9810
+ &:focus {
9811
+ outline: none;
9812
+ border-color: ${tokens.colors.primary};
9813
+ }
9814
+
9815
+ &::placeholder {
9816
+ color: ${tokens.colors.text.tertiary};
9817
+ }
9818
+
9819
+ @media (max-width: 480px) {
9820
+ width: 100%;
9821
+ }
9822
+ `;
9823
+ var SmallButton = styled47.button`
9824
+ padding: ${tokens.spacing.sm};
9825
+ font-size: ${tokens.typography.fontSize.base};
9826
+ color: ${tokens.colors.text.tertiary};
9827
+ background: transparent;
9828
+ border: none;
9829
+ border-radius: ${tokens.borderRadius.md};
9830
+ cursor: pointer;
9831
+ transition: all ${tokens.transitions.fast};
9832
+
9833
+ &:hover {
9834
+ color: ${tokens.colors.text.primary};
9835
+ background: ${tokens.colors.surface.overlay};
9836
+ }
9837
+ `;
9838
+ var MainActions = styled47.div`
9839
+ display: flex;
9840
+ flex-direction: column;
9841
+ gap: ${tokens.spacing.md};
9842
+ `;
9843
+ var SecondaryActions = styled47.div`
9844
+ display: flex;
9845
+ gap: ${tokens.spacing.sm};
9846
+ flex-wrap: wrap;
9847
+
9848
+ @media (max-width: 480px) {
9849
+ & > * {
9850
+ flex: 1 1 100%;
9851
+ }
9852
+ }
9853
+ `;
9854
+ var PrimaryActions = styled47.div`
9855
+ display: flex;
9856
+ gap: ${tokens.spacing.sm};
9857
+ flex-wrap: wrap;
9858
+
9859
+ @media (max-width: 480px) {
9860
+ & > * {
9861
+ flex: 1 1 100%;
9862
+ }
9863
+ }
9864
+ `;
9865
+ var Icon3 = styled47.img`
9866
+ width: 16px;
9867
+ height: 16px;
9868
+ vertical-align: middle;
9869
+ `;
9870
+ var ActionButton6 = styled47.button`
9871
+ display: flex;
9872
+ align-items: center;
9873
+ justify-content: center;
9874
+ gap: ${tokens.spacing.xs};
9875
+ padding: ${tokens.spacing.sm} ${tokens.spacing.md};
9876
+ border-radius: ${tokens.borderRadius.md};
9877
+ font-size: ${tokens.typography.fontSize.sm};
9878
+ font-weight: ${tokens.typography.fontWeight.semibold};
9879
+ cursor: pointer;
9880
+ transition: all ${tokens.transitions.fast};
9881
+ border: none;
9882
+ white-space: nowrap;
9883
+ flex: 1;
9884
+ min-width: 100px;
9885
+
9886
+ &:disabled {
9887
+ opacity: 0.5;
9888
+ cursor: not-allowed;
9889
+ }
9890
+
9891
+ ${({ $variant }) => {
9892
+ switch ($variant) {
9893
+ case "primary":
9894
+ return css`
9895
+ background: ${tokens.colors.primary};
9896
+ color: white;
9897
+ &:hover:not(:disabled) {
9898
+ opacity: 0.9;
9899
+ }
9900
+ ${Icon3} {
9901
+ filter: brightness(0) saturate(100%) invert(100%);
9902
+ }
9903
+ `;
9904
+ case "success":
9905
+ return css`
9906
+ background: ${tokens.colors.success};
9907
+ color: white;
9908
+ &:hover:not(:disabled) {
9909
+ opacity: 0.9;
9910
+ }
9911
+ ${Icon3} {
9912
+ filter: brightness(0) saturate(100%) invert(100%);
9913
+ }
9914
+ `;
9915
+ case "skip":
9916
+ return css`
9917
+ background: transparent;
9918
+ color: ${tokens.colors.text.secondary};
9919
+ border: 1px solid ${tokens.colors.border.default};
9920
+ &:hover:not(:disabled) {
9921
+ background: ${tokens.colors.surface.overlay};
9922
+ border-color: ${tokens.colors.border.hover};
9923
+ }
9924
+ `;
9925
+ case "edit":
9926
+ return css`
9927
+ background: ${tokens.colors.status.editing}20;
9928
+ color: ${tokens.colors.status.editing};
9929
+ border: 1px solid ${tokens.colors.status.editing}40;
9930
+ &:hover:not(:disabled) {
9931
+ background: ${tokens.colors.status.editing}30;
9932
+ }
9933
+ `;
9934
+ case "tertiary":
9935
+ return css`
9936
+ background: transparent;
9937
+ color: ${tokens.colors.accent};
9938
+ border: 1px solid ${tokens.colors.accent}40;
9939
+ &:hover:not(:disabled) {
9940
+ background: ${tokens.colors.accent}20;
9941
+ }
9942
+ `;
9943
+ case "cancel":
9944
+ return css`
9945
+ background: ${tokens.colors.error}15;
9946
+ color: ${tokens.colors.error};
9947
+ border: 1px solid ${tokens.colors.error}30;
9948
+ &:hover:not(:disabled) {
9949
+ background: ${tokens.colors.error}25;
9950
+ }
9951
+ `;
9952
+ case "save":
9953
+ return css`
9954
+ background: ${tokens.colors.success};
9955
+ color: white;
9956
+ &:hover:not(:disabled) {
9957
+ opacity: 0.9;
9958
+ }
9959
+ `;
9960
+ default:
9961
+ return "";
9962
+ }
9963
+ }}
9964
+
9965
+ ${({ $pulse }) => $pulse && css`
9966
+ animation: ${pulse4} 2s ease-in-out infinite;
9967
+ `}
9968
+ `;
9969
+ function formatNumber2(num) {
9970
+ if (num >= 1e6) {
9971
+ return `${(num / 1e6).toFixed(1)}M`;
9972
+ }
9973
+ if (num >= 1e3) {
9974
+ return `${(num / 1e3).toFixed(1)}K`;
9975
+ }
9976
+ return num.toLocaleString();
9977
+ }
9978
+ function formatRelativeTime2(timestamp) {
9979
+ const now = /* @__PURE__ */ new Date();
9980
+ const then = new Date(timestamp);
9981
+ const diffMs = now.getTime() - then.getTime();
9982
+ const diffMins = Math.floor(diffMs / 6e4);
9983
+ const diffHours = Math.floor(diffMs / 36e5);
9984
+ const diffDays = Math.floor(diffMs / 864e5);
9985
+ if (diffMins < 1) return "Just now";
9986
+ if (diffMins < 60) return `${diffMins}m ago`;
9987
+ if (diffHours < 24) return `${diffHours}h ago`;
9988
+ return `${diffDays}d ago`;
9989
+ }
9990
+ function getUsageLevel(percentage) {
9991
+ if (percentage >= 90) return "critical";
9992
+ if (percentage >= 75) return "high";
9993
+ if (percentage >= 50) return "medium";
9994
+ return "low";
9995
+ }
9996
+ var usageLevelColors = {
9997
+ low: tokens.colors.success,
9998
+ medium: tokens.colors.warning,
9999
+ high: "#ff8c00",
10000
+ critical: tokens.colors.error
10001
+ };
10002
+ var typeIcons = {
10003
+ input: "\u2191",
10004
+ output: "\u2193",
10005
+ system: "\u2699"
10006
+ };
10007
+ var typeColors = {
10008
+ input: tokens.colors.info,
10009
+ output: tokens.colors.success,
10010
+ system: tokens.colors.text.tertiary
10011
+ };
10012
+ function TokenUsageCard({
10013
+ currentUsage,
10014
+ maxLimit,
10015
+ transactions,
10016
+ periodLabel,
10017
+ onViewAll,
10018
+ className
10019
+ }) {
10020
+ const percentage = useMemo(
10021
+ () => Math.min(currentUsage / maxLimit * 100, 100),
10022
+ [currentUsage, maxLimit]
10023
+ );
10024
+ const usageLevel = useMemo(() => getUsageLevel(percentage), [percentage]);
10025
+ return /* @__PURE__ */ jsxs(Card2, { className, "data-testid": "token-usage-card", children: [
10026
+ /* @__PURE__ */ jsxs(Header4, { children: [
10027
+ /* @__PURE__ */ jsx(Title2, { children: "Token Usage" }),
10028
+ /* @__PURE__ */ jsx(Period, { children: periodLabel })
10029
+ ] }),
10030
+ /* @__PURE__ */ jsxs(UsageSection, { children: [
10031
+ /* @__PURE__ */ jsxs(UsageStats, { children: [
10032
+ /* @__PURE__ */ jsx(CurrentUsage, { children: formatNumber2(currentUsage) }),
10033
+ /* @__PURE__ */ jsx(UsageSeparator, { children: "/" }),
10034
+ /* @__PURE__ */ jsx(MaxUsage, { children: formatNumber2(maxLimit) })
10035
+ ] }),
10036
+ /* @__PURE__ */ jsx(ProgressContainer, { children: /* @__PURE__ */ jsx(ProgressBar3, { $percentage: percentage, $level: usageLevel }) }),
10037
+ /* @__PURE__ */ jsxs(PercentageLabel, { $level: usageLevel, children: [
10038
+ percentage.toFixed(1),
10039
+ "% used"
10040
+ ] })
10041
+ ] }),
10042
+ transactions.length > 0 && /* @__PURE__ */ jsxs(TransactionsSection, { children: [
10043
+ /* @__PURE__ */ jsx(TransactionsHeader, { children: "Recent Activity" }),
10044
+ /* @__PURE__ */ jsx(TransactionsList, { children: transactions.slice(0, 5).map((transaction) => /* @__PURE__ */ jsxs(TransactionItem, { children: [
10045
+ /* @__PURE__ */ jsx(TransactionIcon, { $type: transaction.type, children: typeIcons[transaction.type] }),
10046
+ /* @__PURE__ */ jsxs(TransactionInfo, { children: [
10047
+ /* @__PURE__ */ jsx(TransactionDescription, { children: transaction.description }),
10048
+ /* @__PURE__ */ jsxs(TransactionMeta, { children: [
10049
+ transaction.source && /* @__PURE__ */ jsx("span", { children: transaction.source }),
10050
+ /* @__PURE__ */ jsx("span", { children: formatRelativeTime2(transaction.timestamp) })
10051
+ ] })
10052
+ ] }),
10053
+ /* @__PURE__ */ jsxs(TransactionTokens, { $type: transaction.type, children: [
10054
+ transaction.type === "output" ? "+" : "",
10055
+ formatNumber2(transaction.tokens)
10056
+ ] })
10057
+ ] }, transaction.id)) })
10058
+ ] }),
10059
+ transactions.length === 0 && /* @__PURE__ */ jsx(EmptyState4, { children: "No recent activity" }),
10060
+ onViewAll && transactions.length > 0 && /* @__PURE__ */ jsx(ViewAllButton, { onClick: onViewAll, children: "View all activity" })
10061
+ ] });
10062
+ }
10063
+ var Card2 = styled47.div`
10064
+ display: flex;
10065
+ flex-direction: column;
10066
+ background: ${tokens.colors.background.darker};
10067
+ border-radius: ${tokens.borderRadius.xl};
10068
+ border: 1px solid ${tokens.colors.border.default};
10069
+ overflow: hidden;
10070
+ `;
10071
+ var Header4 = styled47.div`
10072
+ display: flex;
10073
+ justify-content: space-between;
10074
+ align-items: center;
10075
+ padding: ${tokens.spacing.sm} ${tokens.spacing.md};
10076
+ background: ${tokens.colors.background.darker};
10077
+ border-bottom: 1px solid ${tokens.colors.border.default};
10078
+ min-height: 48px;
10079
+ `;
10080
+ var Title2 = styled47.h3`
10081
+ margin: 0;
10082
+ font-size: ${tokens.typography.fontSize.lg};
10083
+ font-weight: ${tokens.typography.fontWeight.semibold};
10084
+ font-family: ${tokens.typography.fontFamily.primary};
10085
+ color: ${tokens.colors.text.primary};
10086
+ `;
10087
+ var Period = styled47.span`
10088
+ font-size: ${tokens.typography.fontSize.sm};
9020
10089
  font-family: ${tokens.typography.fontFamily.primary};
9021
10090
  color: ${tokens.colors.text.secondary};
9022
10091
  `;
9023
- var UsageSection = styled11.div`
10092
+ var UsageSection = styled47.div`
9024
10093
  display: flex;
9025
10094
  flex-direction: column;
9026
10095
  gap: ${tokens.spacing.sm};
9027
10096
  padding: ${tokens.spacing.md};
9028
10097
  `;
9029
- var UsageStats = styled11.div`
10098
+ var UsageStats = styled47.div`
9030
10099
  display: flex;
9031
10100
  align-items: baseline;
9032
10101
  gap: ${tokens.spacing.xs};
9033
10102
  `;
9034
- var CurrentUsage = styled11.span`
10103
+ var CurrentUsage = styled47.span`
9035
10104
  font-size: ${tokens.typography.fontSize["2xl"]};
9036
10105
  font-weight: ${tokens.typography.fontWeight.bold};
9037
10106
  font-family: ${tokens.typography.fontFamily.primary};
9038
10107
  color: ${tokens.colors.text.primary};
9039
10108
  `;
9040
- var UsageSeparator = styled11.span`
10109
+ var UsageSeparator = styled47.span`
9041
10110
  font-size: ${tokens.typography.fontSize.lg};
9042
10111
  font-family: ${tokens.typography.fontFamily.primary};
9043
10112
  color: ${tokens.colors.text.tertiary};
9044
10113
  `;
9045
- var MaxUsage = styled11.span`
10114
+ var MaxUsage = styled47.span`
9046
10115
  font-size: ${tokens.typography.fontSize.lg};
9047
10116
  font-family: ${tokens.typography.fontFamily.primary};
9048
10117
  color: ${tokens.colors.text.secondary};
9049
10118
  `;
9050
- var ProgressContainer = styled11.div`
10119
+ var ProgressContainer = styled47.div`
9051
10120
  width: 100%;
9052
10121
  height: 8px;
9053
10122
  background: ${tokens.colors.background.light};
9054
10123
  border-radius: ${tokens.borderRadius.full};
9055
10124
  overflow: hidden;
9056
10125
  `;
9057
- var ProgressBar3 = styled11.div`
10126
+ var ProgressBar3 = styled47.div`
9058
10127
  height: 100%;
9059
10128
  width: ${({ $percentage }) => $percentage}%;
9060
10129
  background: ${({ $level }) => usageLevelColors[$level]};
9061
10130
  border-radius: ${tokens.borderRadius.full};
9062
10131
  transition: width ${tokens.transitions.normal}, background ${tokens.transitions.normal};
9063
10132
  `;
9064
- var PercentageLabel = styled11.span`
10133
+ var PercentageLabel = styled47.span`
9065
10134
  font-size: ${tokens.typography.fontSize.sm};
9066
10135
  font-family: ${tokens.typography.fontFamily.primary};
9067
10136
  color: ${({ $level }) => usageLevelColors[$level]};
9068
10137
  `;
9069
- var TransactionsSection = styled11.div`
10138
+ var TransactionsSection = styled47.div`
9070
10139
  display: flex;
9071
10140
  flex-direction: column;
9072
10141
  gap: ${tokens.spacing.sm};
@@ -9074,19 +10143,19 @@ var TransactionsSection = styled11.div`
9074
10143
  padding-top: ${tokens.spacing.sm};
9075
10144
  border-top: 1px solid ${tokens.colors.border.subtle};
9076
10145
  `;
9077
- var TransactionsHeader = styled11.h4`
10146
+ var TransactionsHeader = styled47.h4`
9078
10147
  margin: 0;
9079
10148
  font-size: ${tokens.typography.fontSize.sm};
9080
10149
  font-weight: ${tokens.typography.fontWeight.semibold};
9081
10150
  font-family: ${tokens.typography.fontFamily.primary};
9082
10151
  color: ${tokens.colors.text.secondary};
9083
10152
  `;
9084
- var TransactionsList = styled11.div`
10153
+ var TransactionsList = styled47.div`
9085
10154
  display: flex;
9086
10155
  flex-direction: column;
9087
10156
  gap: ${tokens.spacing.xs};
9088
10157
  `;
9089
- var TransactionItem = styled11.div`
10158
+ var TransactionItem = styled47.div`
9090
10159
  display: flex;
9091
10160
  align-items: center;
9092
10161
  gap: ${tokens.spacing.sm};
@@ -9094,7 +10163,7 @@ var TransactionItem = styled11.div`
9094
10163
  background: ${tokens.colors.background.darker};
9095
10164
  border-radius: ${tokens.borderRadius.sm};
9096
10165
  `;
9097
- var TransactionIcon = styled11.span`
10166
+ var TransactionIcon = styled47.span`
9098
10167
  width: 24px;
9099
10168
  height: 24px;
9100
10169
  display: flex;
@@ -9105,11 +10174,11 @@ var TransactionIcon = styled11.span`
9105
10174
  background: ${tokens.colors.background.light};
9106
10175
  border-radius: ${tokens.borderRadius.sm};
9107
10176
  `;
9108
- var TransactionInfo = styled11.div`
10177
+ var TransactionInfo = styled47.div`
9109
10178
  flex: 1;
9110
10179
  min-width: 0;
9111
10180
  `;
9112
- var TransactionDescription = styled11.div`
10181
+ var TransactionDescription = styled47.div`
9113
10182
  font-size: ${tokens.typography.fontSize.sm};
9114
10183
  font-family: ${tokens.typography.fontFamily.primary};
9115
10184
  color: ${tokens.colors.text.primary};
@@ -9117,27 +10186,27 @@ var TransactionDescription = styled11.div`
9117
10186
  text-overflow: ellipsis;
9118
10187
  white-space: nowrap;
9119
10188
  `;
9120
- var TransactionMeta = styled11.div`
10189
+ var TransactionMeta = styled47.div`
9121
10190
  display: flex;
9122
10191
  gap: ${tokens.spacing.sm};
9123
10192
  font-size: ${tokens.typography.fontSize.xs};
9124
10193
  font-family: ${tokens.typography.fontFamily.primary};
9125
10194
  color: ${tokens.colors.text.tertiary};
9126
10195
  `;
9127
- var TransactionTokens = styled11.span`
10196
+ var TransactionTokens = styled47.span`
9128
10197
  font-size: ${tokens.typography.fontSize.sm};
9129
10198
  font-weight: ${tokens.typography.fontWeight.medium};
9130
10199
  font-family: ${tokens.typography.fontFamily.primary};
9131
10200
  color: ${({ $type }) => typeColors[$type]};
9132
10201
  `;
9133
- var EmptyState4 = styled11.div`
10202
+ var EmptyState4 = styled47.div`
9134
10203
  text-align: center;
9135
10204
  padding: ${tokens.spacing.lg} ${tokens.spacing.md};
9136
10205
  font-size: ${tokens.typography.fontSize.sm};
9137
10206
  font-family: ${tokens.typography.fontFamily.primary};
9138
10207
  color: ${tokens.colors.text.tertiary};
9139
10208
  `;
9140
- var ViewAllButton = styled11.button`
10209
+ var ViewAllButton = styled47.button`
9141
10210
  margin: 0 ${tokens.spacing.md} ${tokens.spacing.md};
9142
10211
  padding: ${tokens.spacing.sm} ${tokens.spacing.md};
9143
10212
  background: transparent;
@@ -9220,7 +10289,7 @@ var WorkflowCard = ({
9220
10289
  );
9221
10290
  };
9222
10291
  WorkflowCard.displayName = "WorkflowCard";
9223
- var Card3 = styled11.button`
10292
+ var Card3 = styled47.button`
9224
10293
  display: grid;
9225
10294
  gap: ${tokens.spacing.sm};
9226
10295
  padding: ${tokens.spacing.md};
@@ -9252,7 +10321,7 @@ var Card3 = styled11.button`
9252
10321
  cursor: not-allowed;
9253
10322
  }
9254
10323
  `;
9255
- var WorkflowName2 = styled11.h3`
10324
+ var WorkflowName2 = styled47.h3`
9256
10325
  margin: 0;
9257
10326
  font-size: ${tokens.typography.fontSize.base};
9258
10327
  font-weight: ${tokens.typography.fontWeight.semibold};
@@ -9263,7 +10332,7 @@ var WorkflowName2 = styled11.h3`
9263
10332
  white-space: nowrap;
9264
10333
  min-width: 0;
9265
10334
  `;
9266
- var Description2 = styled11.p`
10335
+ var Description2 = styled47.p`
9267
10336
  margin: 0;
9268
10337
  font-size: ${tokens.typography.fontSize.sm};
9269
10338
  color: ${tokens.colors.text.tertiary};
@@ -9275,7 +10344,7 @@ var Description2 = styled11.p`
9275
10344
  word-break: break-word;
9276
10345
  min-width: 0;
9277
10346
  `;
9278
- var CardFooter = styled11.div`
10347
+ var CardFooter = styled47.div`
9279
10348
  display: flex;
9280
10349
  flex-wrap: wrap;
9281
10350
  align-items: center;
@@ -9284,13 +10353,13 @@ var CardFooter = styled11.div`
9284
10353
  border-top: 1px solid ${tokens.colors.border.subtle};
9285
10354
  width: 100%;
9286
10355
  `;
9287
- var IntegrationList = styled11.div`
10356
+ var IntegrationList = styled47.div`
9288
10357
  display: flex;
9289
10358
  align-items: center;
9290
10359
  gap: ${tokens.spacing.xs};
9291
10360
  flex-shrink: 0;
9292
10361
  `;
9293
- var IntegrationIconWrapper = styled11.span`
10362
+ var IntegrationIconWrapper = styled47.span`
9294
10363
  display: flex;
9295
10364
  align-items: center;
9296
10365
  justify-content: center;
@@ -9312,12 +10381,12 @@ var IntegrationIconWrapper = styled11.span`
9312
10381
  }
9313
10382
  `}
9314
10383
  `;
9315
- var IntegrationIcon = styled11.img`
10384
+ var IntegrationIcon = styled47.img`
9316
10385
  width: 16px;
9317
10386
  height: 16px;
9318
10387
  object-fit: contain;
9319
10388
  `;
9320
- var Indicators = styled11.div`
10389
+ var Indicators = styled47.div`
9321
10390
  display: flex;
9322
10391
  align-items: center;
9323
10392
  flex-wrap: wrap;
@@ -9325,7 +10394,7 @@ var Indicators = styled11.div`
9325
10394
  margin-left: auto;
9326
10395
  min-width: 0;
9327
10396
  `;
9328
- var IndicatorPill = styled11.span`
10397
+ var IndicatorPill = styled47.span`
9329
10398
  display: inline-flex;
9330
10399
  align-items: center;
9331
10400
  gap: ${tokens.spacing.xs};
@@ -9334,14 +10403,14 @@ var IndicatorPill = styled11.span`
9334
10403
  background: ${({ $variant }) => $variant === "warning" ? `${tokens.colors.warning}15` : `${tokens.colors.info}15`};
9335
10404
  border: 1px solid ${({ $variant }) => $variant === "warning" ? `${tokens.colors.warning}30` : `${tokens.colors.info}30`};
9336
10405
  `;
9337
- var IndicatorDot = styled11.span`
10406
+ var IndicatorDot = styled47.span`
9338
10407
  width: 6px;
9339
10408
  height: 6px;
9340
10409
  border-radius: ${tokens.borderRadius.full};
9341
10410
  background: ${({ $variant }) => $variant === "warning" ? tokens.colors.warning : tokens.colors.info};
9342
10411
  flex-shrink: 0;
9343
10412
  `;
9344
- var IndicatorText = styled11.span`
10413
+ var IndicatorText = styled47.span`
9345
10414
  font-size: ${tokens.typography.fontSize.xs};
9346
10415
  font-weight: ${tokens.typography.fontWeight.medium};
9347
10416
  color: ${tokens.colors.text.secondary};
@@ -9352,7 +10421,7 @@ var severityColors = {
9352
10421
  warning: tokens.colors.warning,
9353
10422
  info: tokens.colors.info
9354
10423
  };
9355
- var AlertContainer = styled11.div`
10424
+ var AlertContainer = styled47.div`
9356
10425
  display: flex;
9357
10426
  flex-direction: column;
9358
10427
  background-color: ${(props) => {
@@ -9370,7 +10439,7 @@ var AlertContainer = styled11.div`
9370
10439
  max-width: ${(props) => props.variant === "inline" ? "600px" : "100%"};
9371
10440
  font-family: ${tokens.typography.fontFamily.primary};
9372
10441
  `;
9373
- var ModalOverlay = styled11.div`
10442
+ var ModalOverlay = styled47.div`
9374
10443
  position: fixed;
9375
10444
  top: 0;
9376
10445
  left: 0;
@@ -9383,53 +10452,53 @@ var ModalOverlay = styled11.div`
9383
10452
  z-index: ${tokens.zIndex.modal};
9384
10453
  padding: ${tokens.spacing.lg};
9385
10454
  `;
9386
- var ModalContent = styled11.div`
10455
+ var ModalContent = styled47.div`
9387
10456
  background-color: ${tokens.colors.background.dark};
9388
10457
  border-radius: ${tokens.borderRadius.lg};
9389
10458
  max-width: 500px;
9390
10459
  width: 100%;
9391
10460
  box-shadow: ${tokens.shadows.xl};
9392
10461
  `;
9393
- var Header5 = styled11.div`
10462
+ var Header5 = styled47.div`
9394
10463
  display: flex;
9395
10464
  align-items: flex-start;
9396
10465
  gap: ${tokens.spacing.md};
9397
10466
  `;
9398
- var IconContainer2 = styled11.div`
10467
+ var IconContainer2 = styled47.div`
9399
10468
  flex-shrink: 0;
9400
10469
  width: 24px;
9401
10470
  height: 24px;
9402
10471
  color: ${(props) => severityColors[props.severity]};
9403
10472
  `;
9404
- var Content5 = styled11.div`
10473
+ var Content5 = styled47.div`
9405
10474
  flex: 1;
9406
10475
  display: flex;
9407
10476
  flex-direction: column;
9408
10477
  gap: ${tokens.spacing.sm};
9409
10478
  `;
9410
- var Title3 = styled11.div`
10479
+ var Title3 = styled47.div`
9411
10480
  font-size: ${tokens.typography.fontSize.base};
9412
10481
  font-weight: ${tokens.typography.fontWeight.semibold};
9413
10482
  color: ${tokens.colors.text.primary};
9414
10483
  line-height: ${tokens.typography.lineHeight.tight};
9415
10484
  `;
9416
- var ErrorMessage2 = styled11.div`
10485
+ var ErrorMessage2 = styled47.div`
9417
10486
  font-size: ${tokens.typography.fontSize.sm};
9418
10487
  line-height: ${tokens.typography.lineHeight.normal};
9419
10488
  color: ${tokens.colors.text.secondary};
9420
10489
  `;
9421
- var ErrorCode = styled11.div`
10490
+ var ErrorCode = styled47.div`
9422
10491
  font-size: ${tokens.typography.fontSize.xs};
9423
10492
  color: ${tokens.colors.text.secondary};
9424
10493
  font-family: ${tokens.typography.fontFamily.monospace};
9425
10494
  margin-top: ${tokens.spacing.xs};
9426
10495
  `;
9427
- var Timestamp = styled11.div`
10496
+ var Timestamp = styled47.div`
9428
10497
  font-size: ${tokens.typography.fontSize.xs};
9429
10498
  color: ${tokens.colors.text.tertiary};
9430
10499
  margin-top: ${tokens.spacing.xs};
9431
10500
  `;
9432
- var Details = styled11.details`
10501
+ var Details = styled47.details`
9433
10502
  margin-top: ${tokens.spacing.md};
9434
10503
  cursor: pointer;
9435
10504
 
@@ -9452,12 +10521,12 @@ var Details = styled11.details`
9452
10521
  }
9453
10522
  }
9454
10523
  `;
9455
- var DetailsIcon = styled11.span`
10524
+ var DetailsIcon = styled47.span`
9456
10525
  display: inline-block;
9457
10526
  transition: transform ${tokens.transitions.fast};
9458
10527
  transform: ${(props) => props.open ? "rotate(90deg)" : "rotate(0deg)"};
9459
10528
  `;
9460
- var StackTrace = styled11.pre`
10529
+ var StackTrace = styled47.pre`
9461
10530
  margin: ${tokens.spacing.sm} 0 0 0;
9462
10531
  padding: ${tokens.spacing.md};
9463
10532
  background-color: ${tokens.colors.surface.subtle};
@@ -9470,12 +10539,12 @@ var StackTrace = styled11.pre`
9470
10539
  word-break: break-word;
9471
10540
  overflow-x: auto;
9472
10541
  `;
9473
- var Actions4 = styled11.div`
10542
+ var Actions4 = styled47.div`
9474
10543
  display: flex;
9475
10544
  gap: ${tokens.spacing.sm};
9476
10545
  margin-top: ${tokens.spacing.md};
9477
10546
  `;
9478
- var Button4 = styled11.button`
10547
+ var Button4 = styled47.button`
9479
10548
  display: inline-flex;
9480
10549
  align-items: center;
9481
10550
  gap: ${tokens.spacing.xs};
@@ -9504,7 +10573,7 @@ var Button4 = styled11.button`
9504
10573
  cursor: not-allowed;
9505
10574
  }
9506
10575
  `;
9507
- var CloseButton2 = styled11.button`
10576
+ var CloseButton2 = styled47.button`
9508
10577
  position: absolute;
9509
10578
  top: ${tokens.spacing.md};
9510
10579
  right: ${tokens.spacing.md};
@@ -9678,14 +10747,14 @@ var statusColors2 = {
9678
10747
  failed: tokens.colors.status.failed,
9679
10748
  timeout: tokens.colors.status.timeout
9680
10749
  };
9681
- var Container15 = styled11.div`
10750
+ var Container15 = styled47.div`
9682
10751
  display: flex;
9683
10752
  flex-direction: column;
9684
10753
  gap: ${tokens.spacing.sm};
9685
10754
  width: 100%;
9686
10755
  font-family: ${tokens.typography.fontFamily.primary};
9687
10756
  `;
9688
- var ProgressMessage = styled11.div`
10757
+ var ProgressMessage = styled47.div`
9689
10758
  font-size: ${(props) => {
9690
10759
  switch (props.size) {
9691
10760
  case "sm":
@@ -9700,13 +10769,13 @@ var ProgressMessage = styled11.div`
9700
10769
  color: ${tokens.colors.text.secondary};
9701
10770
  line-height: ${tokens.typography.lineHeight.normal};
9702
10771
  `;
9703
- var ProgressInfo = styled11.div`
10772
+ var ProgressInfo = styled47.div`
9704
10773
  display: flex;
9705
10774
  justify-content: space-between;
9706
10775
  align-items: center;
9707
10776
  margin-bottom: ${tokens.spacing.xs};
9708
10777
  `;
9709
- var PercentageText = styled11.span`
10778
+ var PercentageText = styled47.span`
9710
10779
  font-size: ${(props) => {
9711
10780
  switch (props.size) {
9712
10781
  case "sm":
@@ -9721,7 +10790,7 @@ var PercentageText = styled11.span`
9721
10790
  font-weight: ${tokens.typography.fontWeight.medium};
9722
10791
  color: ${tokens.colors.text.primary};
9723
10792
  `;
9724
- var LinearTrack = styled11.div`
10793
+ var LinearTrack = styled47.div`
9725
10794
  position: relative;
9726
10795
  width: 100%;
9727
10796
  height: ${(props) => {
@@ -9739,7 +10808,7 @@ var LinearTrack = styled11.div`
9739
10808
  border-radius: ${tokens.borderRadius.full};
9740
10809
  overflow: hidden;
9741
10810
  `;
9742
- var LinearFill = styled11.div`
10811
+ var LinearFill = styled47.div`
9743
10812
  position: absolute;
9744
10813
  top: 0;
9745
10814
  left: 0;
@@ -9750,12 +10819,12 @@ var LinearFill = styled11.div`
9750
10819
  transition: ${(props) => props.animated && !props.indeterminate ? `width ${tokens.transitions.normal}` : "none"};
9751
10820
  animation: ${(props) => props.indeterminate ? indeterminate : "none"} 1.5s ease-in-out infinite;
9752
10821
  `;
9753
- var CircularContainer = styled11.div`
10822
+ var CircularContainer = styled47.div`
9754
10823
  display: flex;
9755
10824
  align-items: center;
9756
10825
  justify-content: center;
9757
10826
  `;
9758
- var CircularSvg = styled11.svg`
10827
+ var CircularSvg = styled47.svg`
9759
10828
  width: ${(props) => {
9760
10829
  switch (props.size) {
9761
10830
  case "sm":
@@ -9791,12 +10860,12 @@ var getCircularSize = (size) => {
9791
10860
  return { radius: 26, strokeWidth: 4 };
9792
10861
  }
9793
10862
  };
9794
- var CircularTrack = styled11.circle`
10863
+ var CircularTrack = styled47.circle`
9795
10864
  fill: none;
9796
10865
  stroke: ${tokens.colors.border.default};
9797
10866
  stroke-width: ${(props) => getCircularSize(props.size).strokeWidth};
9798
10867
  `;
9799
- var CircularFill = styled11.circle`
10868
+ var CircularFill = styled47.circle`
9800
10869
  fill: none;
9801
10870
  stroke: ${(props) => statusColors2[props.status]};
9802
10871
  stroke-width: ${(props) => getCircularSize(props.size).strokeWidth};
@@ -9814,7 +10883,7 @@ var CircularFill = styled11.circle`
9814
10883
  transition: ${(props) => props.animated && !props.indeterminate ? `stroke-dashoffset ${tokens.transitions.normal}` : "none"};
9815
10884
  animation: ${(props) => props.indeterminate ? rotate : "none"} 1.5s linear infinite;
9816
10885
  `;
9817
- var CircularPercentage = styled11.text`
10886
+ var CircularPercentage = styled47.text`
9818
10887
  fill: ${tokens.colors.text.primary};
9819
10888
  font-size: ${(props) => {
9820
10889
  switch (props.size) {
@@ -9915,7 +10984,7 @@ var WorkflowProgressBar = ({
9915
10984
  ] });
9916
10985
  };
9917
10986
  WorkflowProgressBar.displayName = "WorkflowProgressBar";
9918
- var Panel = styled11.div`
10987
+ var Panel = styled47.div`
9919
10988
  display: flex;
9920
10989
  flex-direction: column;
9921
10990
  background-color: ${tokens.colors.surface.overlay};
@@ -9924,7 +10993,7 @@ var Panel = styled11.div`
9924
10993
  overflow: hidden;
9925
10994
  font-family: ${tokens.typography.fontFamily.primary};
9926
10995
  `;
9927
- var Header6 = styled11.div`
10996
+ var Header6 = styled47.div`
9928
10997
  display: flex;
9929
10998
  justify-content: space-between;
9930
10999
  align-items: center;
@@ -9938,7 +11007,7 @@ var Header6 = styled11.div`
9938
11007
  background-color: ${(props) => props.collapsible ? tokens.colors.surface.overlay : tokens.colors.surface.subtle};
9939
11008
  }
9940
11009
  `;
9941
- var Title4 = styled11.div`
11010
+ var Title4 = styled47.div`
9942
11011
  font-size: ${tokens.typography.fontSize.sm};
9943
11012
  font-weight: ${tokens.typography.fontWeight.medium};
9944
11013
  color: ${tokens.colors.text.primary};
@@ -9946,11 +11015,11 @@ var Title4 = styled11.div`
9946
11015
  align-items: center;
9947
11016
  gap: ${tokens.spacing.sm};
9948
11017
  `;
9949
- var Actions5 = styled11.div`
11018
+ var Actions5 = styled47.div`
9950
11019
  display: flex;
9951
11020
  gap: ${tokens.spacing.sm};
9952
11021
  `;
9953
- var IconButton = styled11.button`
11022
+ var IconButton = styled47.button`
9954
11023
  display: flex;
9955
11024
  align-items: center;
9956
11025
  justify-content: center;
@@ -9979,7 +11048,7 @@ var IconButton = styled11.button`
9979
11048
  height: 16px;
9980
11049
  }
9981
11050
  `;
9982
- var CollapseIcon2 = styled11.div`
11051
+ var CollapseIcon2 = styled47.div`
9983
11052
  display: flex;
9984
11053
  align-items: center;
9985
11054
  justify-content: center;
@@ -9992,7 +11061,7 @@ var CollapseIcon2 = styled11.div`
9992
11061
  height: 16px;
9993
11062
  }
9994
11063
  `;
9995
- var Content6 = styled11.div`
11064
+ var Content6 = styled47.div`
9996
11065
  padding: ${tokens.spacing.md};
9997
11066
  max-height: ${(props) => {
9998
11067
  if (!props.expanded) return "0";
@@ -10020,7 +11089,7 @@ var Content6 = styled11.div`
10020
11089
  background: ${tokens.colors.scrollbar.thumbHover};
10021
11090
  }
10022
11091
  `;
10023
- var JsonView = styled11.pre`
11092
+ var JsonView = styled47.pre`
10024
11093
  margin: 0;
10025
11094
  font-family: ${tokens.typography.fontFamily.monospace};
10026
11095
  font-size: ${tokens.typography.fontSize.sm};
@@ -10029,12 +11098,12 @@ var JsonView = styled11.pre`
10029
11098
  white-space: pre-wrap;
10030
11099
  word-break: break-word;
10031
11100
  `;
10032
- var FormattedView = styled11.div`
11101
+ var FormattedView = styled47.div`
10033
11102
  font-size: ${tokens.typography.fontSize.sm};
10034
11103
  line-height: ${tokens.typography.lineHeight.normal};
10035
11104
  color: ${tokens.colors.text.secondary};
10036
11105
  `;
10037
- var TableView = styled11.table`
11106
+ var TableView = styled47.table`
10038
11107
  width: 100%;
10039
11108
  border-collapse: collapse;
10040
11109
  font-size: ${tokens.typography.fontSize.sm};
@@ -10058,7 +11127,7 @@ var TableView = styled11.table`
10058
11127
  border-bottom: none;
10059
11128
  }
10060
11129
  `;
10061
- var EmptyState5 = styled11.div`
11130
+ var EmptyState5 = styled47.div`
10062
11131
  padding: ${tokens.spacing.xl};
10063
11132
  text-align: center;
10064
11133
  color: ${tokens.colors.text.tertiary};
@@ -10139,7 +11208,7 @@ var spin = keyframes`
10139
11208
  transform: rotate(360deg);
10140
11209
  }
10141
11210
  `;
10142
- var pulse4 = keyframes`
11211
+ var pulse5 = keyframes`
10143
11212
  0%, 100% {
10144
11213
  opacity: 1;
10145
11214
  }
@@ -10154,7 +11223,7 @@ var statusColors3 = {
10154
11223
  failed: tokens.colors.status.failed,
10155
11224
  timeout: tokens.colors.status.timeout
10156
11225
  };
10157
- var BadgeContainer2 = styled11.div`
11226
+ var BadgeContainer2 = styled47.div`
10158
11227
  display: inline-flex;
10159
11228
  align-items: center;
10160
11229
  gap: ${(props) => {
@@ -10208,7 +11277,7 @@ var BadgeContainer2 = styled11.div`
10208
11277
  color: ${(props) => statusColors3[props.$status]};
10209
11278
  line-height: 1.4;
10210
11279
  `;
10211
- var IconContainer3 = styled11.div`
11280
+ var IconContainer3 = styled47.div`
10212
11281
  display: flex;
10213
11282
  align-items: center;
10214
11283
  justify-content: center;
@@ -10217,7 +11286,7 @@ var IconContainer3 = styled11.div`
10217
11286
  animation: ${(props) => {
10218
11287
  if (props.$animated) {
10219
11288
  if (props.$status === "running") return spin;
10220
- if (props.$status === "pending") return pulse4;
11289
+ if (props.$status === "pending") return pulse5;
10221
11290
  }
10222
11291
  return "none";
10223
11292
  }}
@@ -10287,7 +11356,7 @@ var TimeoutIcon = () => /* @__PURE__ */ jsx(
10287
11356
  children: /* @__PURE__ */ jsx("path", { d: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z" })
10288
11357
  }
10289
11358
  );
10290
- var Label2 = styled11.span`
11359
+ var Label2 = styled47.span`
10291
11360
  white-space: nowrap;
10292
11361
  `;
10293
11362
  var getDefaultLabel = (status) => {
@@ -10345,6 +11414,6 @@ var WorkflowStatusBadge = ({
10345
11414
  };
10346
11415
  WorkflowStatusBadge.displayName = "WorkflowStatusBadge";
10347
11416
 
10348
- export { ActionButtons, Actions, AgentState, AssistantMessage, AssistantThinking, Button2 as Button, CATEGORY_CONFIGS, CategoryNav, ChatInput, ConnectionStatusBadge, UserMessage2 as CopilotUserMessage, DarkNotificationCard, FacebookIcon, FileAttachment, Footer, GlobalStyle, GmailIcon, Header, Icon, IconNames, Input2 as Input, InstagramIcon, IntegrationCard, Layout, LinkedInIcon, Messages, MessagesList, MessagesListContainer, MessagesListContent, NavHorizontal, NavVertical, NotificationCard, PLATFORM_CONFIGS, PaneMenus, PaneSectionHeader, PlatformCarousel, PlatformGrid, PostApprovalControls, PostPreviewCard, PostizIcon, RedditIcon, Response, SecretInput, ServiceIcon, SlackIcon, SocialMediaCanvas, StreamErrorMessage, StreamStatusIndicator, StreamingText2 as StreamingText, Suggestions, TelegramIcon, TokenUsageCard, UserMessage, WhatsAppIcon, Window, WorkflowCard, WorkflowErrorAlert, WorkflowProgressBar, WorkflowResultPanel, WorkflowStatusBadge, WorkflowStatusCard, XIcon, YouTubeIcon, categorizeProgress, darkTheme, getCategoryColor, getCategoryIcon, getCharacterCount, getCharacterLimitColor, getCharacterLimitPercentage, isWithinCharLimit, lightTheme, normalizePlatform, tokens };
11417
+ export { ActionButtons, Actions, AgentState, AssistantMessage, AssistantThinking, Button2 as Button, CATEGORY_CONFIGS, CategoryNav, ChatInput, ConnectionStatusBadge, UserMessage2 as CopilotUserMessage, DarkNotificationCard, FacebookIcon, FileAttachment, Footer, GlobalStyle, GmailIcon, Header, Icon, IconNames, Input2 as Input, InstagramIcon, IntegrationCard, Layout, LinkedInIcon, Messages, MessagesList, MessagesListContainer, MessagesListContent, NavHorizontal, NavVertical, NotificationCard, PLATFORM_CONFIGS, PaneMenus, PaneSectionHeader, PlatformCarousel, PlatformGrid, PostApprovalControls, PostPreviewCard, PostizIcon, RedditEngagementControls, RedditIcon, RedditOpportunityCard, Response, SecretInput, ServiceIcon, SlackIcon, SocialMediaCanvas, StreamErrorMessage, StreamStatusIndicator, StreamingText2 as StreamingText, Suggestions, TelegramIcon, TokenUsageCard, UserMessage, WhatsAppIcon, Window, WorkflowCard, WorkflowErrorAlert, WorkflowProgressBar, WorkflowResultPanel, WorkflowStatusBadge, WorkflowStatusCard, XIcon, YouTubeIcon, categorizeProgress, darkTheme, getCategoryColor, getCategoryIcon, getCharacterCount, getCharacterLimitColor, getCharacterLimitPercentage, isWithinCharLimit, lightTheme, normalizePlatform, tokens };
10349
11418
  //# sourceMappingURL=index.js.map
10350
11419
  //# sourceMappingURL=index.js.map