@agentiffai/design 1.3.4 → 1.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -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) => {
@@ -1158,6 +1157,30 @@ var Container3 = styled11.nav`
1158
1157
  @media (max-width: ${tokens.breakpoints.tablet}px) {
1159
1158
  width: 60px; /* Match MainPane left offset on mobile */
1160
1159
  }
1160
+
1161
+ /* Mobile landscape: allow content to overflow and scroll with thin scrollbar */
1162
+ @media (orientation: landscape) and (max-height: 500px) {
1163
+ width: 60px;
1164
+ overflow-y: auto;
1165
+ overflow-x: hidden;
1166
+ scrollbar-width: thin; /* Firefox - show thin scrollbar */
1167
+
1168
+ /* Show thin scrollbar for Chrome, Safari */
1169
+ &::-webkit-scrollbar {
1170
+ display: block;
1171
+ width: 3px;
1172
+ height: 3px;
1173
+ }
1174
+
1175
+ &::-webkit-scrollbar-track {
1176
+ background: transparent;
1177
+ }
1178
+
1179
+ &::-webkit-scrollbar-thumb {
1180
+ background: ${tokens.colors.border.default};
1181
+ border-radius: 2px;
1182
+ }
1183
+ }
1161
1184
  `;
1162
1185
  var TopSection = styled11.div`
1163
1186
  display: flex;
@@ -1188,6 +1211,7 @@ var BackButton = styled11.button`
1188
1211
  align-items: center;
1189
1212
  justify-content: center;
1190
1213
  transition: all ${tokens.transitions.normal};
1214
+ -webkit-tap-highlight-color: transparent;
1191
1215
 
1192
1216
  &:hover {
1193
1217
  background-color: ${tokens.colors.primary};
@@ -1195,6 +1219,7 @@ var BackButton = styled11.button`
1195
1219
 
1196
1220
  &:active {
1197
1221
  transform: translate(-50%, -50%) scale(0.95);
1222
+ opacity: 0.8;
1198
1223
  }
1199
1224
 
1200
1225
  &:focus {
@@ -1245,6 +1270,12 @@ var FolderGroupsSlot = styled11.div`
1245
1270
  @media (max-width: ${tokens.breakpoints.tablet}px) {
1246
1271
  padding: 0 6px ${tokens.spacing.md} 96px; /* Reduce horizontal padding on mobile */
1247
1272
  }
1273
+
1274
+ /* Mobile landscape: remove extra padding since BottomSection flows with content */
1275
+ @media (orientation: landscape) and (max-height: 500px) {
1276
+ padding-bottom: ${tokens.spacing.md};
1277
+ flex: 0 0 auto; /* Don't flex-grow, allow natural height */
1278
+ }
1248
1279
  `;
1249
1280
  var BottomSection = styled11.div`
1250
1281
  position: absolute;
@@ -1261,11 +1292,19 @@ var BottomSection = styled11.div`
1261
1292
  @media (prefers-color-scheme: dark) {
1262
1293
  background-color: ${tokens.colors.background.darkest};
1263
1294
  }
1295
+
1296
+ /* Mobile landscape: make bottom section flow with content instead of fixed */
1297
+ @media (orientation: landscape) and (max-height: 500px) {
1298
+ position: relative;
1299
+ bottom: auto;
1300
+ margin-top: auto; /* Push to bottom of flex container */
1301
+ flex-shrink: 0;
1302
+ }
1264
1303
  `;
1265
1304
  var BottomButton = styled11.button`
1266
1305
  width: 40px;
1267
1306
  height: 40px;
1268
- border-radius: 0;
1307
+ border-radius: ${tokens.borderRadius.full};
1269
1308
  border: none;
1270
1309
  background-color: transparent;
1271
1310
  color: white;
@@ -1274,6 +1313,7 @@ var BottomButton = styled11.button`
1274
1313
  align-items: center;
1275
1314
  justify-content: center;
1276
1315
  transition: all ${tokens.transitions.normal};
1316
+ -webkit-tap-highlight-color: transparent;
1277
1317
 
1278
1318
  &:hover {
1279
1319
  opacity: 0.7;
@@ -1281,6 +1321,7 @@ var BottomButton = styled11.button`
1281
1321
 
1282
1322
  &:active {
1283
1323
  transform: scale(0.95);
1324
+ opacity: 0.8;
1284
1325
  }
1285
1326
 
1286
1327
  &:focus {
@@ -1290,6 +1331,7 @@ var BottomButton = styled11.button`
1290
1331
  &:focus-visible {
1291
1332
  outline: 2px solid ${tokens.colors.border.focus};
1292
1333
  outline-offset: 2px;
1334
+ border-radius: ${tokens.borderRadius.full};
1293
1335
  }
1294
1336
  `;
1295
1337
  function NavVertical({
@@ -1365,6 +1407,7 @@ var BackgroundPane = styled11.div`
1365
1407
  bottom: 52px; /* Height of horizontal nav */
1366
1408
  background-color: transparent;
1367
1409
  overflow: auto;
1410
+ scrollbar-gutter: stable; /* Reserve space for scrollbar to prevent layout shift */
1368
1411
  z-index: ${tokens.zIndex.base}; /* Lower than MainPane */
1369
1412
 
1370
1413
  /* Custom scrollbar styling */
@@ -1403,6 +1446,7 @@ var MainPane = styled11.main`
1403
1446
  bottom: 52px; /* Height of horizontal nav */
1404
1447
  background-color: ${tokens.colors.surface.overlay};
1405
1448
  overflow: auto;
1449
+ scrollbar-gutter: stable; /* Reserve space for scrollbar to prevent layout shift */
1406
1450
  z-index: ${tokens.zIndex.base + 1}; /* Higher than BackgroundPane */
1407
1451
 
1408
1452
  /* Custom scrollbar styling */
@@ -1479,7 +1523,7 @@ var ActionButton = styled11.button`
1479
1523
  height: ${({ $size = 32 }) => $size}px;
1480
1524
  min-width: ${({ $size = 32 }) => $size}px;
1481
1525
  min-height: ${({ $size = 32 }) => $size}px;
1482
- border-radius: ${({ $isPrimary }) => $isPrimary ? tokens.borderRadius.full : tokens.borderRadius.sm};
1526
+ border-radius: ${({ $isPrimary }) => $isPrimary ? tokens.borderRadius.full : tokens.borderRadius.md};
1483
1527
  border: none;
1484
1528
  background-color: ${({ $isPrimary }) => $isPrimary ? tokens.colors.primary : "transparent"};
1485
1529
  color: ${({ $isPrimary }) => $isPrimary ? tokens.colors.text.primary : tokens.colors.text.secondary};
@@ -1489,6 +1533,7 @@ var ActionButton = styled11.button`
1489
1533
  justify-content: center;
1490
1534
  transition: all ${tokens.transitions.fast};
1491
1535
  font-size: ${tokens.typography.fontSize.base};
1536
+ -webkit-tap-highlight-color: transparent;
1492
1537
 
1493
1538
  &:hover {
1494
1539
  background-color: ${({ $isPrimary }) => $isPrimary ? tokens.colors.secondary : tokens.colors.surface.overlayHover};
@@ -1497,6 +1542,7 @@ var ActionButton = styled11.button`
1497
1542
 
1498
1543
  &:active {
1499
1544
  transform: scale(0.95);
1545
+ opacity: 0.8;
1500
1546
  }
1501
1547
 
1502
1548
  ${({ $isActive, $isPrimary }) => $isActive && !$isPrimary && css`
@@ -2155,6 +2201,7 @@ var TabPanelWrapper = styled11.div`
2155
2201
  padding: ${tokens.spacing.lg};
2156
2202
  overflow-y: auto;
2157
2203
  overflow-x: hidden; // Prevent horizontal overflow
2204
+ scrollbar-gutter: stable; // Always reserve space for scrollbar to prevent width jump
2158
2205
  background-color: ${tokens.colors.surface.overlay};
2159
2206
  min-height: 0; // Enable proper flex shrinking and scrolling
2160
2207
 
@@ -3748,6 +3795,7 @@ var StyledUserMessage = styled11.button`
3748
3795
  user-select: none;
3749
3796
  white-space: pre-wrap;
3750
3797
  word-wrap: break-word;
3798
+ word-break: break-word;
3751
3799
  position: relative;
3752
3800
  text-align: left;
3753
3801
 
@@ -3921,12 +3969,23 @@ var darkTheme = {
3921
3969
  breakpoints: tokens.breakpoints
3922
3970
  };
3923
3971
  var GlobalStyle = createGlobalStyle`
3972
+ /* Universal tap highlight removal - nuclear option for Android WebKit */
3973
+ * {
3974
+ -webkit-tap-highlight-color: transparent !important;
3975
+ }
3976
+
3924
3977
  *,
3925
3978
  *::before,
3926
3979
  *::after {
3927
3980
  box-sizing: border-box;
3928
3981
  }
3929
3982
 
3983
+ html {
3984
+ /* Ensure tap highlight is disabled at root level */
3985
+ -webkit-tap-highlight-color: transparent;
3986
+ -webkit-touch-callout: none;
3987
+ }
3988
+
3930
3989
  body {
3931
3990
  margin: 0;
3932
3991
  padding: 0;
@@ -3935,10 +3994,34 @@ var GlobalStyle = createGlobalStyle`
3935
3994
  background-color: ${({ theme }) => theme.colors.surface};
3936
3995
  -webkit-font-smoothing: antialiased;
3937
3996
  -moz-osx-font-smoothing: grayscale;
3997
+ /* Disable tap highlight on body as well */
3998
+ -webkit-tap-highlight-color: transparent;
3999
+ }
4000
+
4001
+ /* Remove mobile tap highlight for ALL interactive elements */
4002
+ a,
4003
+ button,
4004
+ input,
4005
+ select,
4006
+ textarea,
4007
+ label,
4008
+ [role="button"],
4009
+ [role="link"],
4010
+ [role="tab"],
4011
+ [role="menuitem"],
4012
+ [role="option"],
4013
+ [tabindex]:not([tabindex="-1"]),
4014
+ [onclick] {
4015
+ -webkit-tap-highlight-color: transparent !important;
4016
+ -webkit-touch-callout: none;
4017
+ touch-action: manipulation;
3938
4018
  }
3939
4019
 
3940
4020
  button {
3941
4021
  font-family: inherit;
4022
+ /* Prevent text selection flash on tap */
4023
+ user-select: none;
4024
+ -webkit-user-select: none;
3942
4025
  }
3943
4026
  `;
3944
4027
 
@@ -5343,7 +5426,7 @@ var Input2 = ({
5343
5426
  ] }) });
5344
5427
  };
5345
5428
  var Container12 = styled11.div`
5346
- font-family: ${(props) => props.variant === "code" ? tokens.typography.fontFamily.monospace : tokens.typography.fontFamily.primary};
5429
+ font-family: ${(props) => props.$variant === "code" ? tokens.typography.fontFamily.monospace : tokens.typography.fontFamily.primary};
5347
5430
  white-space: pre-wrap;
5348
5431
  word-break: break-word;
5349
5432
  line-height: ${tokens.typography.lineHeight.normal};
@@ -5396,7 +5479,7 @@ var StreamingTextBase = ({
5396
5479
  wasStreamingRef.current = isStreaming;
5397
5480
  }, [content, isStreaming, onStreamComplete]);
5398
5481
  const showCursor = isStreaming && cursor;
5399
- return /* @__PURE__ */ jsxs(Container12, { variant, className, children: [
5482
+ return /* @__PURE__ */ jsxs(Container12, { $variant: variant, className, children: [
5400
5483
  displayedText,
5401
5484
  showCursor && /* @__PURE__ */ jsx(Cursor, {})
5402
5485
  ] });
@@ -8181,7 +8264,7 @@ PostPreviewCard.displayName = "PostPreviewCard";
8181
8264
  var fadeIn2 = keyframes`
8182
8265
  from {
8183
8266
  opacity: 0;
8184
- transform: translateY(-4px);
8267
+ transform: translate(2px, 2px);
8185
8268
  }
8186
8269
  to {
8187
8270
  opacity: 1;
@@ -8543,6 +8626,9 @@ var ContentContainer2 = styled11.div`
8543
8626
  position: relative;
8544
8627
  min-height: 200px;
8545
8628
  overflow: hidden;
8629
+ /* Padding to prevent card borders/shadows from being clipped */
8630
+ padding: 0 ${tokens.spacing.xs};
8631
+ margin: 0 -${tokens.spacing.xs};
8546
8632
  `;
8547
8633
  var Slide = styled11.div`
8548
8634
  position: ${({ $isActive }) => $isActive ? "relative" : "absolute"};
@@ -8685,7 +8771,7 @@ var Container14 = styled11.div`
8685
8771
  flex-direction: column;
8686
8772
  height: 100%;
8687
8773
  width: 100%;
8688
- padding: ${tokens.spacing.md} ${tokens.spacing.md} 0 ${tokens.spacing.md};
8774
+ padding: 0;
8689
8775
  box-sizing: border-box;
8690
8776
  background: linear-gradient(
8691
8777
  180deg,
@@ -8710,12 +8796,12 @@ var Header3 = styled11.div`
8710
8796
  position: absolute;
8711
8797
  left: 0;
8712
8798
  right: 0;
8713
- top: 87%;
8714
- height: 24px;
8799
+ top: 100%;
8800
+ height: 16px;
8715
8801
  background: linear-gradient(
8716
8802
  to bottom,
8717
8803
  ${tokens.colors.backdrop} 0%,
8718
- ${tokens.colors.backdrop}00 100%
8804
+ transparent 100%
8719
8805
  );
8720
8806
  pointer-events: none;
8721
8807
  }
@@ -8767,7 +8853,8 @@ var Content4 = styled11.div`
8767
8853
  flex: 1;
8768
8854
  display: flex;
8769
8855
  flex-direction: column;
8770
- overflow: auto;
8856
+ overflow-x: hidden;
8857
+ overflow-y: auto;
8771
8858
  /* Extra top padding to account for header fade overlay */
8772
8859
  padding-top: ${tokens.spacing.md};
8773
8860
  `;