@agentiffai/design 1.3.23 → 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)
@@ -448,6 +448,7 @@ var IconNames = {
448
448
  FLOW_CHART: "flow-chart",
449
449
  LOGOUT_CIRCLE_R_FILL: "logout-circle-r-fill",
450
450
  LOGOUT_CIRCLE_R_LINE: "logout-circle-r-line",
451
+ QUESTION_LINE: "question-line",
451
452
  SIDE_BAR_FILL: "side-bar-fill",
452
453
  CHECK: "check-fill",
453
454
  CHECK_CIRCLE: "checkbox-circle-fill",
@@ -456,7 +457,8 @@ var IconNames = {
456
457
  HAMMER: "hammer-fill",
457
458
  ROCKET: "rocket-fill",
458
459
  TICKET: "coupon-2-fill",
459
- CLIPBOARD: "clipboard-fill"
460
+ CLIPBOARD: "clipboard-fill",
461
+ QUESTION_CIRCLE: "question-circle-line"
460
462
  };
461
463
  var iconFiles = {
462
464
  "mic-fill": "Icon-mic-fill.svg",
@@ -474,6 +476,7 @@ var iconFiles = {
474
476
  "flow-chart": "Icon-flow-chart.svg",
475
477
  "logout-circle-r-fill": "Icon-logout-circle-r-fill.svg",
476
478
  "logout-circle-r-line": "Icon-logout-circle-r-line.svg",
479
+ "question-line": "Icon-question-line.svg",
477
480
  "side-bar-fill": "Icon-side-bar-fill.svg",
478
481
  "check-fill": "Icon-check-fill.svg",
479
482
  "checkbox-circle-fill": "Icon-checkbox-circle-fill.svg",
@@ -482,7 +485,8 @@ var iconFiles = {
482
485
  "hammer-fill": "Icon-hammer-fill.svg",
483
486
  "rocket-fill": "Icon-rocket-fill.svg",
484
487
  "coupon-2-fill": "Icon-coupon-2-fill.svg",
485
- "clipboard-fill": "Icon-clipboard-fill.svg"
488
+ "clipboard-fill": "Icon-clipboard-fill.svg",
489
+ "question-circle-line": "Icon-question-circle-line.svg"
486
490
  };
487
491
  function getIconPath(name) {
488
492
  return `${ICON_BASE_PATH}/${iconFiles[name]}`;
@@ -582,17 +586,10 @@ var Container2 = styled9__default.default.nav`
582
586
  display: flex;
583
587
  flex-direction: column;
584
588
  z-index: ${tokens.zIndex.base + 9}; /* Below horizontal nav and chat sidebar */
585
- overflow-y: auto;
586
- overflow-x: hidden;
587
- scrollbar-width: none; /* Firefox */
589
+ overflow: hidden;
588
590
  /* Use CSS custom property for coordinated animations with MainPane */
589
591
  transition: transform var(--layout-transition-duration, 0.3s) var(--layout-transition-easing, ease-out);
590
592
 
591
- /* Hide scrollbar for Chrome, Safari and Opera */
592
- &::-webkit-scrollbar {
593
- display: none;
594
- }
595
-
596
593
  /* Dark theme support */
597
594
  @media (prefers-color-scheme: dark) {
598
595
  background-color: ${tokens.colors.background.darkest};
@@ -603,28 +600,9 @@ var Container2 = styled9__default.default.nav`
603
600
  width: 60px; /* Match MainPane left offset on mobile */
604
601
  }
605
602
 
606
- /* Mobile landscape: allow content to overflow and scroll with thin scrollbar */
603
+ /* Mobile landscape */
607
604
  @media (orientation: landscape) and (max-height: 500px) {
608
605
  width: 60px;
609
- overflow-y: auto;
610
- overflow-x: hidden;
611
- scrollbar-width: thin; /* Firefox - show thin scrollbar */
612
-
613
- /* Show thin scrollbar for Chrome, Safari */
614
- &::-webkit-scrollbar {
615
- display: block;
616
- width: 3px;
617
- height: 3px;
618
- }
619
-
620
- &::-webkit-scrollbar-track {
621
- background: transparent;
622
- }
623
-
624
- &::-webkit-scrollbar-thumb {
625
- background: ${tokens.colors.border.default};
626
- border-radius: 2px;
627
- }
628
606
  }
629
607
  `;
630
608
  var TopSection = styled9__default.default.div`
@@ -695,8 +673,9 @@ var FolderGroupsSlot = styled9__default.default.div`
695
673
  align-items: center;
696
674
  gap: ${tokens.spacing.sm};
697
675
  padding: 0 ${tokens.spacing.md} ${tokens.spacing.md};
698
- flex: 1;
699
- padding-bottom: 120px; /* Prevent overlap with bottom section (2 buttons @ 40px + 1 gap @ 8px + padding @ 32px) */
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 */
700
679
 
701
680
  /* Server/workspace icons styling */
702
681
  > * {
@@ -713,38 +692,36 @@ var FolderGroupsSlot = styled9__default.default.div`
713
692
 
714
693
  /* Responsive adjustments */
715
694
  @media (max-width: ${tokens.breakpoints.tablet}px) {
716
- padding: 0 6px ${tokens.spacing.md} 96px; /* Reduce horizontal padding on mobile */
717
- }
718
-
719
- /* Mobile landscape: remove extra padding since BottomSection flows with content */
720
- @media (orientation: landscape) and (max-height: 500px) {
721
- padding-bottom: ${tokens.spacing.md};
722
- flex: 0 0 auto; /* Don't flex-grow, allow natural height */
695
+ padding: 0 6px ${tokens.spacing.md}; /* Reduce horizontal padding on mobile */
723
696
  }
724
697
  `;
725
698
  var BottomSection = styled9__default.default.div`
726
- position: absolute;
727
- bottom: 0; /* At the bottom of the nav container */
728
- left: 0;
729
- right: 0;
699
+ flex: 0 1 auto; /* Natural size, can shrink when no space */
700
+ min-height: 48px; /* At least one button visible */
730
701
  display: flex;
731
702
  flex-direction: column;
732
703
  align-items: center;
733
704
  gap: ${tokens.spacing.sm};
734
705
  padding: ${tokens.spacing.md} 0;
735
- background-color: ${tokens.colors.background.darker};
706
+ overflow-y: auto;
707
+ overflow-x: hidden;
736
708
 
737
- @media (prefers-color-scheme: dark) {
738
- background-color: ${tokens.colors.background.darkest};
709
+ /* Match NavigationContainer scroll styling */
710
+ &::-webkit-scrollbar {
711
+ width: 3px;
739
712
  }
740
713
 
741
- /* Mobile landscape: make bottom section flow with content instead of fixed */
742
- @media (orientation: landscape) and (max-height: 500px) {
743
- position: relative;
744
- bottom: auto;
745
- margin-top: auto; /* Push to bottom of flex container */
746
- flex-shrink: 0;
714
+ &::-webkit-scrollbar-track {
715
+ background: transparent;
747
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;
748
725
  `;
749
726
  var BottomButton = styled9__default.default.button`
750
727
  width: 40px;
@@ -782,6 +759,7 @@ var BottomButton = styled9__default.default.button`
782
759
  function NavVertical({
783
760
  onBackClick,
784
761
  onHomeClick,
762
+ onHelpClick,
785
763
  onSettingsClick,
786
764
  onLogoutClick,
787
765
  folderGroupsSlot,
@@ -790,6 +768,7 @@ function NavVertical({
790
768
  }) {
791
769
  const backButtonRef = react.useRef(null);
792
770
  const homeButtonRef = react.useRef(null);
771
+ const helpButtonRef = react.useRef(null);
793
772
  const settingsButtonRef = react.useRef(null);
794
773
  const logoutButtonRef = react.useRef(null);
795
774
  const { buttonProps: backButtonProps } = button.useButton(
@@ -806,6 +785,13 @@ function NavVertical({
806
785
  },
807
786
  homeButtonRef
808
787
  );
788
+ const { buttonProps: helpButtonProps } = button.useButton(
789
+ {
790
+ onPress: onHelpClick,
791
+ "aria-label": "Help"
792
+ },
793
+ helpButtonRef
794
+ );
809
795
  const { buttonProps: settingsButtonProps } = button.useButton(
810
796
  {
811
797
  onPress: onSettingsClick,
@@ -820,11 +806,13 @@ function NavVertical({
820
806
  },
821
807
  logoutButtonRef
822
808
  );
809
+ const hasBottomButtons = onHelpClick || onSettingsClick || onLogoutClick;
823
810
  return /* @__PURE__ */ jsxRuntime.jsxs(Container2, { className, role: "navigation", "aria-label": ariaLabel, children: [
824
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 }),
825
812
  /* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
826
813
  /* @__PURE__ */ jsxRuntime.jsx(FolderGroupsSlot, { children: folderGroupsSlot }),
827
- (onSettingsClick || onLogoutClick) && /* @__PURE__ */ jsxRuntime.jsxs(BottomSection, { children: [
814
+ hasBottomButtons && /* @__PURE__ */ jsxRuntime.jsxs(BottomSection, { children: [
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" }) }),
828
816
  onSettingsClick && /* @__PURE__ */ jsxRuntime.jsx(BottomButton, { ...settingsButtonProps, ref: settingsButtonRef, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "settings-3-line", size: 24, color: "white" }) }),
829
817
  onLogoutClick && /* @__PURE__ */ jsxRuntime.jsx(BottomButton, { ...logoutButtonProps, ref: logoutButtonRef, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "logout-circle-r-line", size: 24, color: "white" }) })
830
818
  ] })
@@ -934,6 +922,7 @@ function Layout({
934
922
  navHorizontalActionsSlot,
935
923
  onNavBackClick,
936
924
  onNavHomeClick,
925
+ onNavHelpClick,
937
926
  onNavSettingsClick,
938
927
  onNavLogoutClick,
939
928
  className
@@ -945,6 +934,7 @@ function Layout({
945
934
  folderGroupsSlot: navVerticalSlot,
946
935
  onBackClick: onNavBackClick,
947
936
  onHomeClick: onNavHomeClick,
937
+ onHelpClick: onNavHelpClick,
948
938
  onSettingsClick: onNavSettingsClick,
949
939
  onLogoutClick: onNavLogoutClick
950
940
  }