@agentiffai/design 1.3.24 → 1.3.25

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.
@@ -41,7 +41,7 @@ var tokens = {
41
41
  text: {
42
42
  primary: "#FFFFFF",
43
43
  secondary: "#B4B8C5",
44
- tertiary: "#6B7280"},
44
+ tertiary: "#9CA3AF"},
45
45
  // Teal (brand aligned)
46
46
  error: "#EF4444",
47
47
  // Sky Blue (brand aligned)
@@ -457,7 +457,8 @@ var IconNames = {
457
457
  HAMMER: "hammer-fill",
458
458
  ROCKET: "rocket-fill",
459
459
  TICKET: "coupon-2-fill",
460
- CLIPBOARD: "clipboard-fill"
460
+ CLIPBOARD: "clipboard-fill",
461
+ QUESTION_CIRCLE: "question-circle-line"
461
462
  };
462
463
  var iconFiles = {
463
464
  "mic-fill": "Icon-mic-fill.svg",
@@ -484,7 +485,8 @@ var iconFiles = {
484
485
  "hammer-fill": "Icon-hammer-fill.svg",
485
486
  "rocket-fill": "Icon-rocket-fill.svg",
486
487
  "coupon-2-fill": "Icon-coupon-2-fill.svg",
487
- "clipboard-fill": "Icon-clipboard-fill.svg"
488
+ "clipboard-fill": "Icon-clipboard-fill.svg",
489
+ "question-circle-line": "Icon-question-circle-line.svg"
488
490
  };
489
491
  function getIconPath(name) {
490
492
  return `${ICON_BASE_PATH}/${iconFiles[name]}`;
@@ -584,17 +586,10 @@ var Container2 = styled9__default.default.nav`
584
586
  display: flex;
585
587
  flex-direction: column;
586
588
  z-index: ${tokens.zIndex.base + 9}; /* Below horizontal nav and chat sidebar */
587
- overflow-y: auto;
588
- overflow-x: hidden;
589
- scrollbar-width: none; /* Firefox */
589
+ overflow: hidden;
590
590
  /* Use CSS custom property for coordinated animations with MainPane */
591
591
  transition: transform var(--layout-transition-duration, 0.3s) var(--layout-transition-easing, ease-out);
592
592
 
593
- /* Hide scrollbar for Chrome, Safari and Opera */
594
- &::-webkit-scrollbar {
595
- display: none;
596
- }
597
-
598
593
  /* Dark theme support */
599
594
  @media (prefers-color-scheme: dark) {
600
595
  background-color: ${tokens.colors.background.darkest};
@@ -605,28 +600,9 @@ var Container2 = styled9__default.default.nav`
605
600
  width: 60px; /* Match MainPane left offset on mobile */
606
601
  }
607
602
 
608
- /* Mobile landscape: allow content to overflow and scroll with thin scrollbar */
603
+ /* Mobile landscape */
609
604
  @media (orientation: landscape) and (max-height: 500px) {
610
605
  width: 60px;
611
- overflow-y: auto;
612
- overflow-x: hidden;
613
- scrollbar-width: thin; /* Firefox - show thin scrollbar */
614
-
615
- /* Show thin scrollbar for Chrome, Safari */
616
- &::-webkit-scrollbar {
617
- display: block;
618
- width: 3px;
619
- height: 3px;
620
- }
621
-
622
- &::-webkit-scrollbar-track {
623
- background: transparent;
624
- }
625
-
626
- &::-webkit-scrollbar-thumb {
627
- background: ${tokens.colors.border.default};
628
- border-radius: 2px;
629
- }
630
606
  }
631
607
  `;
632
608
  var TopSection = styled9__default.default.div`
@@ -696,8 +672,10 @@ var FolderGroupsSlot = styled9__default.default.div`
696
672
  flex-direction: column;
697
673
  align-items: center;
698
674
  gap: ${tokens.spacing.sm};
699
- padding: 0 ${tokens.spacing.md} 120px; /* Extra bottom padding to avoid overlap with BottomSection */
700
- flex: 1;
675
+ padding: 0 ${tokens.spacing.md} ${tokens.spacing.md};
676
+ flex: 1 1 0%; /* Take remaining space but shrink aggressively */
677
+ min-height: 80px; /* At least show one category icon */
678
+ overflow: hidden; /* Let NavigationContainer inside handle its own scroll */
701
679
 
702
680
  /* Server/workspace icons styling */
703
681
  > * {
@@ -714,38 +692,36 @@ var FolderGroupsSlot = styled9__default.default.div`
714
692
 
715
693
  /* Responsive adjustments */
716
694
  @media (max-width: ${tokens.breakpoints.tablet}px) {
717
- padding: 0 6px 120px; /* Reduce horizontal padding on mobile */
718
- }
719
-
720
- /* Mobile landscape: remove extra padding since BottomSection flows with content */
721
- @media (orientation: landscape) and (max-height: 500px) {
722
- padding-bottom: ${tokens.spacing.md};
723
- flex: 0 0 auto; /* Don't flex-grow, allow natural height */
695
+ padding: 0 6px ${tokens.spacing.md}; /* Reduce horizontal padding on mobile */
724
696
  }
725
697
  `;
726
698
  var BottomSection = styled9__default.default.div`
727
- position: absolute;
728
- bottom: 0;
729
- left: 0;
730
- right: 0;
699
+ flex: 0 1 auto; /* Natural size, can shrink when no space */
700
+ min-height: 48px; /* At least one button visible */
731
701
  display: flex;
732
702
  flex-direction: column;
733
703
  align-items: center;
734
704
  gap: ${tokens.spacing.sm};
735
705
  padding: ${tokens.spacing.md} 0;
736
- background-color: ${tokens.colors.background.darker};
706
+ overflow-y: auto;
707
+ overflow-x: hidden;
737
708
 
738
- @media (prefers-color-scheme: dark) {
739
- background-color: ${tokens.colors.background.darkest};
709
+ /* Match NavigationContainer scroll styling */
710
+ &::-webkit-scrollbar {
711
+ width: 3px;
740
712
  }
741
713
 
742
- /* Mobile landscape: make bottom section flow with content instead of fixed */
743
- @media (orientation: landscape) and (max-height: 500px) {
744
- position: relative;
745
- bottom: auto;
746
- margin-top: auto; /* Push to bottom of flex container */
747
- flex-shrink: 0;
714
+ &::-webkit-scrollbar-track {
715
+ background: transparent;
748
716
  }
717
+
718
+ &::-webkit-scrollbar-thumb {
719
+ background: ${tokens.colors.border.default};
720
+ border-radius: 2px;
721
+ }
722
+
723
+ scrollbar-width: thin;
724
+ scrollbar-color: ${tokens.colors.border.default} transparent;
749
725
  `;
750
726
  var BottomButton = styled9__default.default.button`
751
727
  width: 40px;
@@ -783,18 +759,18 @@ var BottomButton = styled9__default.default.button`
783
759
  function NavVertical({
784
760
  onBackClick,
785
761
  onHomeClick,
762
+ onHelpClick,
786
763
  onSettingsClick,
787
764
  onLogoutClick,
788
- onHelpClick,
789
765
  folderGroupsSlot,
790
766
  className,
791
767
  "aria-label": ariaLabel = "Vertical navigation sidebar"
792
768
  }) {
793
769
  const backButtonRef = react.useRef(null);
794
770
  const homeButtonRef = react.useRef(null);
771
+ const helpButtonRef = react.useRef(null);
795
772
  const settingsButtonRef = react.useRef(null);
796
773
  const logoutButtonRef = react.useRef(null);
797
- const helpButtonRef = react.useRef(null);
798
774
  const { buttonProps: backButtonProps } = button.useButton(
799
775
  {
800
776
  onPress: onBackClick,
@@ -809,6 +785,13 @@ function NavVertical({
809
785
  },
810
786
  homeButtonRef
811
787
  );
788
+ const { buttonProps: helpButtonProps } = button.useButton(
789
+ {
790
+ onPress: onHelpClick,
791
+ "aria-label": "Help"
792
+ },
793
+ helpButtonRef
794
+ );
812
795
  const { buttonProps: settingsButtonProps } = button.useButton(
813
796
  {
814
797
  onPress: onSettingsClick,
@@ -823,20 +806,13 @@ function NavVertical({
823
806
  },
824
807
  logoutButtonRef
825
808
  );
826
- const { buttonProps: helpButtonProps } = button.useButton(
827
- {
828
- onPress: onHelpClick,
829
- "aria-label": "Help"
830
- },
831
- helpButtonRef
832
- );
833
809
  const hasBottomButtons = onHelpClick || onSettingsClick || onLogoutClick;
834
810
  return /* @__PURE__ */ jsxRuntime.jsxs(Container2, { className, role: "navigation", "aria-label": ariaLabel, children: [
835
811
  /* @__PURE__ */ jsxRuntime.jsx(TopSection, { children: onBackClick ? /* @__PURE__ */ jsxRuntime.jsx(BackButton, { ...backButtonProps, ref: backButtonRef, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "side-bar-fill", size: 20, color: "white" }) }) : onHomeClick ? /* @__PURE__ */ jsxRuntime.jsx(BackButton, { ...homeButtonProps, ref: homeButtonRef, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "side-bar-fill", size: 24, color: "white" }) }) : null }),
836
812
  /* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
837
813
  /* @__PURE__ */ jsxRuntime.jsx(FolderGroupsSlot, { children: folderGroupsSlot }),
838
814
  hasBottomButtons && /* @__PURE__ */ jsxRuntime.jsxs(BottomSection, { children: [
839
- onHelpClick && /* @__PURE__ */ jsxRuntime.jsx(BottomButton, { ...helpButtonProps, ref: helpButtonRef, "data-tour-help-button": true, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "question-line", size: 24, color: "white" }) }),
815
+ onHelpClick && /* @__PURE__ */ jsxRuntime.jsx(BottomButton, { ...helpButtonProps, ref: helpButtonRef, "data-tour-help-button": true, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "question-circle-line", size: 24, color: "white" }) }),
840
816
  onSettingsClick && /* @__PURE__ */ jsxRuntime.jsx(BottomButton, { ...settingsButtonProps, ref: settingsButtonRef, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "settings-3-line", size: 24, color: "white" }) }),
841
817
  onLogoutClick && /* @__PURE__ */ jsxRuntime.jsx(BottomButton, { ...logoutButtonProps, ref: logoutButtonRef, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "logout-circle-r-line", size: 24, color: "white" }) })
842
818
  ] })
@@ -946,9 +922,9 @@ function Layout({
946
922
  navHorizontalActionsSlot,
947
923
  onNavBackClick,
948
924
  onNavHomeClick,
925
+ onNavHelpClick,
949
926
  onNavSettingsClick,
950
927
  onNavLogoutClick,
951
- onNavHelpClick,
952
928
  className
953
929
  }) {
954
930
  return /* @__PURE__ */ jsxRuntime.jsxs(Container3, { className, children: [
@@ -958,9 +934,9 @@ function Layout({
958
934
  folderGroupsSlot: navVerticalSlot,
959
935
  onBackClick: onNavBackClick,
960
936
  onHomeClick: onNavHomeClick,
937
+ onHelpClick: onNavHelpClick,
961
938
  onSettingsClick: onNavSettingsClick,
962
- onLogoutClick: onNavLogoutClick,
963
- onHelpClick: onNavHelpClick
939
+ onLogoutClick: onNavLogoutClick
964
940
  }
965
941
  ),
966
942
  backgroundSlot && /* @__PURE__ */ jsxRuntime.jsx(BackgroundPane, { children: backgroundSlot }),