@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.
@@ -72,6 +72,7 @@ declare const IconNames: {
72
72
  readonly FLOW_CHART: "flow-chart";
73
73
  readonly LOGOUT_CIRCLE_R_FILL: "logout-circle-r-fill";
74
74
  readonly LOGOUT_CIRCLE_R_LINE: "logout-circle-r-line";
75
+ readonly QUESTION_LINE: "question-line";
75
76
  readonly SIDE_BAR_FILL: "side-bar-fill";
76
77
  readonly CHECK: "check-fill";
77
78
  readonly CHECK_CIRCLE: "checkbox-circle-fill";
@@ -81,6 +82,7 @@ declare const IconNames: {
81
82
  readonly ROCKET: "rocket-fill";
82
83
  readonly TICKET: "coupon-2-fill";
83
84
  readonly CLIPBOARD: "clipboard-fill";
85
+ readonly QUESTION_CIRCLE: "question-circle-line";
84
86
  };
85
87
  type IconName = (typeof IconNames)[keyof typeof IconNames];
86
88
 
@@ -104,11 +106,12 @@ interface LayoutProps {
104
106
  navHorizontalActionsSlot?: ReactNode;
105
107
  onNavBackClick?: () => void;
106
108
  onNavHomeClick?: () => void;
109
+ onNavHelpClick?: () => void;
107
110
  onNavSettingsClick?: () => void;
108
111
  onNavLogoutClick?: () => void;
109
112
  className?: string;
110
113
  }
111
- declare function Layout({ mainPaneSlot, backgroundSlot, navVerticalSlot, navHorizontalUserSlot, navHorizontalActionsSlot, onNavBackClick, onNavHomeClick, onNavSettingsClick, onNavLogoutClick, className, }: LayoutProps): react_jsx_runtime.JSX.Element;
114
+ declare function Layout({ mainPaneSlot, backgroundSlot, navVerticalSlot, navHorizontalUserSlot, navHorizontalActionsSlot, onNavBackClick, onNavHomeClick, onNavHelpClick, onNavSettingsClick, onNavLogoutClick, className, }: LayoutProps): react_jsx_runtime.JSX.Element;
112
115
  declare namespace Layout {
113
116
  var displayName: string;
114
117
  }
@@ -154,13 +157,14 @@ declare namespace WorkflowStatusCard {
154
157
  interface NavVerticalProps {
155
158
  onBackClick?: () => void;
156
159
  onHomeClick?: () => void;
160
+ onHelpClick?: () => void;
157
161
  onSettingsClick?: () => void;
158
162
  onLogoutClick?: () => void;
159
163
  folderGroupsSlot?: ReactNode;
160
164
  className?: string;
161
165
  'aria-label'?: string;
162
166
  }
163
- declare function NavVertical({ onBackClick, onHomeClick, onSettingsClick, onLogoutClick, folderGroupsSlot, className, 'aria-label': ariaLabel, }: NavVerticalProps): react_jsx_runtime.JSX.Element;
167
+ declare function NavVertical({ onBackClick, onHomeClick, onHelpClick, onSettingsClick, onLogoutClick, folderGroupsSlot, className, 'aria-label': ariaLabel, }: NavVerticalProps): react_jsx_runtime.JSX.Element;
164
168
  declare namespace NavVertical {
165
169
  var displayName: string;
166
170
  }
@@ -72,6 +72,7 @@ declare const IconNames: {
72
72
  readonly FLOW_CHART: "flow-chart";
73
73
  readonly LOGOUT_CIRCLE_R_FILL: "logout-circle-r-fill";
74
74
  readonly LOGOUT_CIRCLE_R_LINE: "logout-circle-r-line";
75
+ readonly QUESTION_LINE: "question-line";
75
76
  readonly SIDE_BAR_FILL: "side-bar-fill";
76
77
  readonly CHECK: "check-fill";
77
78
  readonly CHECK_CIRCLE: "checkbox-circle-fill";
@@ -81,6 +82,7 @@ declare const IconNames: {
81
82
  readonly ROCKET: "rocket-fill";
82
83
  readonly TICKET: "coupon-2-fill";
83
84
  readonly CLIPBOARD: "clipboard-fill";
85
+ readonly QUESTION_CIRCLE: "question-circle-line";
84
86
  };
85
87
  type IconName = (typeof IconNames)[keyof typeof IconNames];
86
88
 
@@ -104,11 +106,12 @@ interface LayoutProps {
104
106
  navHorizontalActionsSlot?: ReactNode;
105
107
  onNavBackClick?: () => void;
106
108
  onNavHomeClick?: () => void;
109
+ onNavHelpClick?: () => void;
107
110
  onNavSettingsClick?: () => void;
108
111
  onNavLogoutClick?: () => void;
109
112
  className?: string;
110
113
  }
111
- declare function Layout({ mainPaneSlot, backgroundSlot, navVerticalSlot, navHorizontalUserSlot, navHorizontalActionsSlot, onNavBackClick, onNavHomeClick, onNavSettingsClick, onNavLogoutClick, className, }: LayoutProps): react_jsx_runtime.JSX.Element;
114
+ declare function Layout({ mainPaneSlot, backgroundSlot, navVerticalSlot, navHorizontalUserSlot, navHorizontalActionsSlot, onNavBackClick, onNavHomeClick, onNavHelpClick, onNavSettingsClick, onNavLogoutClick, className, }: LayoutProps): react_jsx_runtime.JSX.Element;
112
115
  declare namespace Layout {
113
116
  var displayName: string;
114
117
  }
@@ -154,13 +157,14 @@ declare namespace WorkflowStatusCard {
154
157
  interface NavVerticalProps {
155
158
  onBackClick?: () => void;
156
159
  onHomeClick?: () => void;
160
+ onHelpClick?: () => void;
157
161
  onSettingsClick?: () => void;
158
162
  onLogoutClick?: () => void;
159
163
  folderGroupsSlot?: ReactNode;
160
164
  className?: string;
161
165
  'aria-label'?: string;
162
166
  }
163
- declare function NavVertical({ onBackClick, onHomeClick, onSettingsClick, onLogoutClick, folderGroupsSlot, className, 'aria-label': ariaLabel, }: NavVerticalProps): react_jsx_runtime.JSX.Element;
167
+ declare function NavVertical({ onBackClick, onHomeClick, onHelpClick, onSettingsClick, onLogoutClick, folderGroupsSlot, className, 'aria-label': ariaLabel, }: NavVerticalProps): react_jsx_runtime.JSX.Element;
164
168
  declare namespace NavVertical {
165
169
  var displayName: string;
166
170
  }
@@ -35,7 +35,7 @@ var tokens = {
35
35
  text: {
36
36
  primary: "#FFFFFF",
37
37
  secondary: "#B4B8C5",
38
- tertiary: "#6B7280"},
38
+ tertiary: "#9CA3AF"},
39
39
  // Teal (brand aligned)
40
40
  error: "#EF4444",
41
41
  // Sky Blue (brand aligned)
@@ -442,6 +442,7 @@ var IconNames = {
442
442
  FLOW_CHART: "flow-chart",
443
443
  LOGOUT_CIRCLE_R_FILL: "logout-circle-r-fill",
444
444
  LOGOUT_CIRCLE_R_LINE: "logout-circle-r-line",
445
+ QUESTION_LINE: "question-line",
445
446
  SIDE_BAR_FILL: "side-bar-fill",
446
447
  CHECK: "check-fill",
447
448
  CHECK_CIRCLE: "checkbox-circle-fill",
@@ -450,7 +451,8 @@ var IconNames = {
450
451
  HAMMER: "hammer-fill",
451
452
  ROCKET: "rocket-fill",
452
453
  TICKET: "coupon-2-fill",
453
- CLIPBOARD: "clipboard-fill"
454
+ CLIPBOARD: "clipboard-fill",
455
+ QUESTION_CIRCLE: "question-circle-line"
454
456
  };
455
457
  var iconFiles = {
456
458
  "mic-fill": "Icon-mic-fill.svg",
@@ -468,6 +470,7 @@ var iconFiles = {
468
470
  "flow-chart": "Icon-flow-chart.svg",
469
471
  "logout-circle-r-fill": "Icon-logout-circle-r-fill.svg",
470
472
  "logout-circle-r-line": "Icon-logout-circle-r-line.svg",
473
+ "question-line": "Icon-question-line.svg",
471
474
  "side-bar-fill": "Icon-side-bar-fill.svg",
472
475
  "check-fill": "Icon-check-fill.svg",
473
476
  "checkbox-circle-fill": "Icon-checkbox-circle-fill.svg",
@@ -476,7 +479,8 @@ var iconFiles = {
476
479
  "hammer-fill": "Icon-hammer-fill.svg",
477
480
  "rocket-fill": "Icon-rocket-fill.svg",
478
481
  "coupon-2-fill": "Icon-coupon-2-fill.svg",
479
- "clipboard-fill": "Icon-clipboard-fill.svg"
482
+ "clipboard-fill": "Icon-clipboard-fill.svg",
483
+ "question-circle-line": "Icon-question-circle-line.svg"
480
484
  };
481
485
  function getIconPath(name) {
482
486
  return `${ICON_BASE_PATH}/${iconFiles[name]}`;
@@ -576,17 +580,10 @@ var Container2 = styled9.nav`
576
580
  display: flex;
577
581
  flex-direction: column;
578
582
  z-index: ${tokens.zIndex.base + 9}; /* Below horizontal nav and chat sidebar */
579
- overflow-y: auto;
580
- overflow-x: hidden;
581
- scrollbar-width: none; /* Firefox */
583
+ overflow: hidden;
582
584
  /* Use CSS custom property for coordinated animations with MainPane */
583
585
  transition: transform var(--layout-transition-duration, 0.3s) var(--layout-transition-easing, ease-out);
584
586
 
585
- /* Hide scrollbar for Chrome, Safari and Opera */
586
- &::-webkit-scrollbar {
587
- display: none;
588
- }
589
-
590
587
  /* Dark theme support */
591
588
  @media (prefers-color-scheme: dark) {
592
589
  background-color: ${tokens.colors.background.darkest};
@@ -597,28 +594,9 @@ var Container2 = styled9.nav`
597
594
  width: 60px; /* Match MainPane left offset on mobile */
598
595
  }
599
596
 
600
- /* Mobile landscape: allow content to overflow and scroll with thin scrollbar */
597
+ /* Mobile landscape */
601
598
  @media (orientation: landscape) and (max-height: 500px) {
602
599
  width: 60px;
603
- overflow-y: auto;
604
- overflow-x: hidden;
605
- scrollbar-width: thin; /* Firefox - show thin scrollbar */
606
-
607
- /* Show thin scrollbar for Chrome, Safari */
608
- &::-webkit-scrollbar {
609
- display: block;
610
- width: 3px;
611
- height: 3px;
612
- }
613
-
614
- &::-webkit-scrollbar-track {
615
- background: transparent;
616
- }
617
-
618
- &::-webkit-scrollbar-thumb {
619
- background: ${tokens.colors.border.default};
620
- border-radius: 2px;
621
- }
622
600
  }
623
601
  `;
624
602
  var TopSection = styled9.div`
@@ -689,8 +667,9 @@ var FolderGroupsSlot = styled9.div`
689
667
  align-items: center;
690
668
  gap: ${tokens.spacing.sm};
691
669
  padding: 0 ${tokens.spacing.md} ${tokens.spacing.md};
692
- flex: 1;
693
- padding-bottom: 120px; /* Prevent overlap with bottom section (2 buttons @ 40px + 1 gap @ 8px + padding @ 32px) */
670
+ flex: 1 1 0%; /* Take remaining space but shrink aggressively */
671
+ min-height: 80px; /* At least show one category icon */
672
+ overflow: hidden; /* Let NavigationContainer inside handle its own scroll */
694
673
 
695
674
  /* Server/workspace icons styling */
696
675
  > * {
@@ -707,38 +686,36 @@ var FolderGroupsSlot = styled9.div`
707
686
 
708
687
  /* Responsive adjustments */
709
688
  @media (max-width: ${tokens.breakpoints.tablet}px) {
710
- padding: 0 6px ${tokens.spacing.md} 96px; /* Reduce horizontal padding on mobile */
711
- }
712
-
713
- /* Mobile landscape: remove extra padding since BottomSection flows with content */
714
- @media (orientation: landscape) and (max-height: 500px) {
715
- padding-bottom: ${tokens.spacing.md};
716
- flex: 0 0 auto; /* Don't flex-grow, allow natural height */
689
+ padding: 0 6px ${tokens.spacing.md}; /* Reduce horizontal padding on mobile */
717
690
  }
718
691
  `;
719
692
  var BottomSection = styled9.div`
720
- position: absolute;
721
- bottom: 0; /* At the bottom of the nav container */
722
- left: 0;
723
- right: 0;
693
+ flex: 0 1 auto; /* Natural size, can shrink when no space */
694
+ min-height: 48px; /* At least one button visible */
724
695
  display: flex;
725
696
  flex-direction: column;
726
697
  align-items: center;
727
698
  gap: ${tokens.spacing.sm};
728
699
  padding: ${tokens.spacing.md} 0;
729
- background-color: ${tokens.colors.background.darker};
700
+ overflow-y: auto;
701
+ overflow-x: hidden;
730
702
 
731
- @media (prefers-color-scheme: dark) {
732
- background-color: ${tokens.colors.background.darkest};
703
+ /* Match NavigationContainer scroll styling */
704
+ &::-webkit-scrollbar {
705
+ width: 3px;
733
706
  }
734
707
 
735
- /* Mobile landscape: make bottom section flow with content instead of fixed */
736
- @media (orientation: landscape) and (max-height: 500px) {
737
- position: relative;
738
- bottom: auto;
739
- margin-top: auto; /* Push to bottom of flex container */
740
- flex-shrink: 0;
708
+ &::-webkit-scrollbar-track {
709
+ background: transparent;
741
710
  }
711
+
712
+ &::-webkit-scrollbar-thumb {
713
+ background: ${tokens.colors.border.default};
714
+ border-radius: 2px;
715
+ }
716
+
717
+ scrollbar-width: thin;
718
+ scrollbar-color: ${tokens.colors.border.default} transparent;
742
719
  `;
743
720
  var BottomButton = styled9.button`
744
721
  width: 40px;
@@ -776,6 +753,7 @@ var BottomButton = styled9.button`
776
753
  function NavVertical({
777
754
  onBackClick,
778
755
  onHomeClick,
756
+ onHelpClick,
779
757
  onSettingsClick,
780
758
  onLogoutClick,
781
759
  folderGroupsSlot,
@@ -784,6 +762,7 @@ function NavVertical({
784
762
  }) {
785
763
  const backButtonRef = useRef(null);
786
764
  const homeButtonRef = useRef(null);
765
+ const helpButtonRef = useRef(null);
787
766
  const settingsButtonRef = useRef(null);
788
767
  const logoutButtonRef = useRef(null);
789
768
  const { buttonProps: backButtonProps } = useButton(
@@ -800,6 +779,13 @@ function NavVertical({
800
779
  },
801
780
  homeButtonRef
802
781
  );
782
+ const { buttonProps: helpButtonProps } = useButton(
783
+ {
784
+ onPress: onHelpClick,
785
+ "aria-label": "Help"
786
+ },
787
+ helpButtonRef
788
+ );
803
789
  const { buttonProps: settingsButtonProps } = useButton(
804
790
  {
805
791
  onPress: onSettingsClick,
@@ -814,11 +800,13 @@ function NavVertical({
814
800
  },
815
801
  logoutButtonRef
816
802
  );
803
+ const hasBottomButtons = onHelpClick || onSettingsClick || onLogoutClick;
817
804
  return /* @__PURE__ */ jsxs(Container2, { className, role: "navigation", "aria-label": ariaLabel, children: [
818
805
  /* @__PURE__ */ jsx(TopSection, { children: onBackClick ? /* @__PURE__ */ jsx(BackButton, { ...backButtonProps, ref: backButtonRef, children: /* @__PURE__ */ jsx(Icon, { name: "side-bar-fill", size: 20, color: "white" }) }) : onHomeClick ? /* @__PURE__ */ jsx(BackButton, { ...homeButtonProps, ref: homeButtonRef, children: /* @__PURE__ */ jsx(Icon, { name: "side-bar-fill", size: 24, color: "white" }) }) : null }),
819
806
  /* @__PURE__ */ jsx(Separator, {}),
820
807
  /* @__PURE__ */ jsx(FolderGroupsSlot, { children: folderGroupsSlot }),
821
- (onSettingsClick || onLogoutClick) && /* @__PURE__ */ jsxs(BottomSection, { children: [
808
+ hasBottomButtons && /* @__PURE__ */ jsxs(BottomSection, { children: [
809
+ onHelpClick && /* @__PURE__ */ jsx(BottomButton, { ...helpButtonProps, ref: helpButtonRef, "data-tour-help-button": true, children: /* @__PURE__ */ jsx(Icon, { name: "question-circle-line", size: 24, color: "white" }) }),
822
810
  onSettingsClick && /* @__PURE__ */ jsx(BottomButton, { ...settingsButtonProps, ref: settingsButtonRef, children: /* @__PURE__ */ jsx(Icon, { name: "settings-3-line", size: 24, color: "white" }) }),
823
811
  onLogoutClick && /* @__PURE__ */ jsx(BottomButton, { ...logoutButtonProps, ref: logoutButtonRef, children: /* @__PURE__ */ jsx(Icon, { name: "logout-circle-r-line", size: 24, color: "white" }) })
824
812
  ] })
@@ -928,6 +916,7 @@ function Layout({
928
916
  navHorizontalActionsSlot,
929
917
  onNavBackClick,
930
918
  onNavHomeClick,
919
+ onNavHelpClick,
931
920
  onNavSettingsClick,
932
921
  onNavLogoutClick,
933
922
  className
@@ -939,6 +928,7 @@ function Layout({
939
928
  folderGroupsSlot: navVerticalSlot,
940
929
  onBackClick: onNavBackClick,
941
930
  onHomeClick: onNavHomeClick,
931
+ onHelpClick: onNavHelpClick,
942
932
  onSettingsClick: onNavSettingsClick,
943
933
  onLogoutClick: onNavLogoutClick
944
934
  }