@agentiffai/design 1.3.24 → 1.3.26

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.
@@ -82,6 +82,7 @@ declare const IconNames: {
82
82
  readonly ROCKET: "rocket-fill";
83
83
  readonly TICKET: "coupon-2-fill";
84
84
  readonly CLIPBOARD: "clipboard-fill";
85
+ readonly QUESTION_CIRCLE: "question-circle-line";
85
86
  };
86
87
  type IconName = (typeof IconNames)[keyof typeof IconNames];
87
88
 
@@ -105,12 +106,12 @@ interface LayoutProps {
105
106
  navHorizontalActionsSlot?: ReactNode;
106
107
  onNavBackClick?: () => void;
107
108
  onNavHomeClick?: () => void;
109
+ onNavHelpClick?: () => void;
108
110
  onNavSettingsClick?: () => void;
109
111
  onNavLogoutClick?: () => void;
110
- onNavHelpClick?: () => void;
111
112
  className?: string;
112
113
  }
113
- declare function Layout({ mainPaneSlot, backgroundSlot, navVerticalSlot, navHorizontalUserSlot, navHorizontalActionsSlot, onNavBackClick, onNavHomeClick, onNavSettingsClick, onNavLogoutClick, onNavHelpClick, 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;
114
115
  declare namespace Layout {
115
116
  var displayName: string;
116
117
  }
@@ -156,14 +157,14 @@ declare namespace WorkflowStatusCard {
156
157
  interface NavVerticalProps {
157
158
  onBackClick?: () => void;
158
159
  onHomeClick?: () => void;
160
+ onHelpClick?: () => void;
159
161
  onSettingsClick?: () => void;
160
162
  onLogoutClick?: () => void;
161
- onHelpClick?: () => void;
162
163
  folderGroupsSlot?: ReactNode;
163
164
  className?: string;
164
165
  'aria-label'?: string;
165
166
  }
166
- declare function NavVertical({ onBackClick, onHomeClick, onSettingsClick, onLogoutClick, onHelpClick, 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;
167
168
  declare namespace NavVertical {
168
169
  var displayName: string;
169
170
  }
@@ -82,6 +82,7 @@ declare const IconNames: {
82
82
  readonly ROCKET: "rocket-fill";
83
83
  readonly TICKET: "coupon-2-fill";
84
84
  readonly CLIPBOARD: "clipboard-fill";
85
+ readonly QUESTION_CIRCLE: "question-circle-line";
85
86
  };
86
87
  type IconName = (typeof IconNames)[keyof typeof IconNames];
87
88
 
@@ -105,12 +106,12 @@ interface LayoutProps {
105
106
  navHorizontalActionsSlot?: ReactNode;
106
107
  onNavBackClick?: () => void;
107
108
  onNavHomeClick?: () => void;
109
+ onNavHelpClick?: () => void;
108
110
  onNavSettingsClick?: () => void;
109
111
  onNavLogoutClick?: () => void;
110
- onNavHelpClick?: () => void;
111
112
  className?: string;
112
113
  }
113
- declare function Layout({ mainPaneSlot, backgroundSlot, navVerticalSlot, navHorizontalUserSlot, navHorizontalActionsSlot, onNavBackClick, onNavHomeClick, onNavSettingsClick, onNavLogoutClick, onNavHelpClick, 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;
114
115
  declare namespace Layout {
115
116
  var displayName: string;
116
117
  }
@@ -156,14 +157,14 @@ declare namespace WorkflowStatusCard {
156
157
  interface NavVerticalProps {
157
158
  onBackClick?: () => void;
158
159
  onHomeClick?: () => void;
160
+ onHelpClick?: () => void;
159
161
  onSettingsClick?: () => void;
160
162
  onLogoutClick?: () => void;
161
- onHelpClick?: () => void;
162
163
  folderGroupsSlot?: ReactNode;
163
164
  className?: string;
164
165
  'aria-label'?: string;
165
166
  }
166
- declare function NavVertical({ onBackClick, onHomeClick, onSettingsClick, onLogoutClick, onHelpClick, 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;
167
168
  declare namespace NavVertical {
168
169
  var displayName: string;
169
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)
@@ -451,7 +451,8 @@ var IconNames = {
451
451
  HAMMER: "hammer-fill",
452
452
  ROCKET: "rocket-fill",
453
453
  TICKET: "coupon-2-fill",
454
- CLIPBOARD: "clipboard-fill"
454
+ CLIPBOARD: "clipboard-fill",
455
+ QUESTION_CIRCLE: "question-circle-line"
455
456
  };
456
457
  var iconFiles = {
457
458
  "mic-fill": "Icon-mic-fill.svg",
@@ -478,7 +479,8 @@ var iconFiles = {
478
479
  "hammer-fill": "Icon-hammer-fill.svg",
479
480
  "rocket-fill": "Icon-rocket-fill.svg",
480
481
  "coupon-2-fill": "Icon-coupon-2-fill.svg",
481
- "clipboard-fill": "Icon-clipboard-fill.svg"
482
+ "clipboard-fill": "Icon-clipboard-fill.svg",
483
+ "question-circle-line": "Icon-question-circle-line.svg"
482
484
  };
483
485
  function getIconPath(name) {
484
486
  return `${ICON_BASE_PATH}/${iconFiles[name]}`;
@@ -578,17 +580,10 @@ var Container2 = styled9.nav`
578
580
  display: flex;
579
581
  flex-direction: column;
580
582
  z-index: ${tokens.zIndex.base + 9}; /* Below horizontal nav and chat sidebar */
581
- overflow-y: auto;
582
- overflow-x: hidden;
583
- scrollbar-width: none; /* Firefox */
583
+ overflow: hidden;
584
584
  /* Use CSS custom property for coordinated animations with MainPane */
585
585
  transition: transform var(--layout-transition-duration, 0.3s) var(--layout-transition-easing, ease-out);
586
586
 
587
- /* Hide scrollbar for Chrome, Safari and Opera */
588
- &::-webkit-scrollbar {
589
- display: none;
590
- }
591
-
592
587
  /* Dark theme support */
593
588
  @media (prefers-color-scheme: dark) {
594
589
  background-color: ${tokens.colors.background.darkest};
@@ -599,28 +594,9 @@ var Container2 = styled9.nav`
599
594
  width: 60px; /* Match MainPane left offset on mobile */
600
595
  }
601
596
 
602
- /* Mobile landscape: allow content to overflow and scroll with thin scrollbar */
597
+ /* Mobile landscape */
603
598
  @media (orientation: landscape) and (max-height: 500px) {
604
599
  width: 60px;
605
- overflow-y: auto;
606
- overflow-x: hidden;
607
- scrollbar-width: thin; /* Firefox - show thin scrollbar */
608
-
609
- /* Show thin scrollbar for Chrome, Safari */
610
- &::-webkit-scrollbar {
611
- display: block;
612
- width: 3px;
613
- height: 3px;
614
- }
615
-
616
- &::-webkit-scrollbar-track {
617
- background: transparent;
618
- }
619
-
620
- &::-webkit-scrollbar-thumb {
621
- background: ${tokens.colors.border.default};
622
- border-radius: 2px;
623
- }
624
600
  }
625
601
  `;
626
602
  var TopSection = styled9.div`
@@ -690,8 +666,10 @@ var FolderGroupsSlot = styled9.div`
690
666
  flex-direction: column;
691
667
  align-items: center;
692
668
  gap: ${tokens.spacing.sm};
693
- padding: 0 ${tokens.spacing.md} 120px; /* Extra bottom padding to avoid overlap with BottomSection */
694
- flex: 1;
669
+ padding: 0 ${tokens.spacing.md} ${tokens.spacing.md};
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 */
695
673
 
696
674
  /* Server/workspace icons styling */
697
675
  > * {
@@ -708,38 +686,36 @@ var FolderGroupsSlot = styled9.div`
708
686
 
709
687
  /* Responsive adjustments */
710
688
  @media (max-width: ${tokens.breakpoints.tablet}px) {
711
- padding: 0 6px 120px; /* Reduce horizontal padding on mobile */
712
- }
713
-
714
- /* Mobile landscape: remove extra padding since BottomSection flows with content */
715
- @media (orientation: landscape) and (max-height: 500px) {
716
- padding-bottom: ${tokens.spacing.md};
717
- flex: 0 0 auto; /* Don't flex-grow, allow natural height */
689
+ padding: 0 6px ${tokens.spacing.md}; /* Reduce horizontal padding on mobile */
718
690
  }
719
691
  `;
720
692
  var BottomSection = styled9.div`
721
- position: absolute;
722
- bottom: 0;
723
- left: 0;
724
- right: 0;
693
+ flex: 0 1 auto; /* Natural size, can shrink when no space */
694
+ min-height: 48px; /* At least one button visible */
725
695
  display: flex;
726
696
  flex-direction: column;
727
697
  align-items: center;
728
698
  gap: ${tokens.spacing.sm};
729
699
  padding: ${tokens.spacing.md} 0;
730
- background-color: ${tokens.colors.background.darker};
700
+ overflow-y: auto;
701
+ overflow-x: hidden;
731
702
 
732
- @media (prefers-color-scheme: dark) {
733
- background-color: ${tokens.colors.background.darkest};
703
+ /* Match NavigationContainer scroll styling */
704
+ &::-webkit-scrollbar {
705
+ width: 3px;
734
706
  }
735
707
 
736
- /* Mobile landscape: make bottom section flow with content instead of fixed */
737
- @media (orientation: landscape) and (max-height: 500px) {
738
- position: relative;
739
- bottom: auto;
740
- margin-top: auto; /* Push to bottom of flex container */
741
- flex-shrink: 0;
708
+ &::-webkit-scrollbar-track {
709
+ background: transparent;
710
+ }
711
+
712
+ &::-webkit-scrollbar-thumb {
713
+ background: ${tokens.colors.border.default};
714
+ border-radius: 2px;
742
715
  }
716
+
717
+ scrollbar-width: thin;
718
+ scrollbar-color: ${tokens.colors.border.default} transparent;
743
719
  `;
744
720
  var BottomButton = styled9.button`
745
721
  width: 40px;
@@ -777,18 +753,18 @@ var BottomButton = styled9.button`
777
753
  function NavVertical({
778
754
  onBackClick,
779
755
  onHomeClick,
756
+ onHelpClick,
780
757
  onSettingsClick,
781
758
  onLogoutClick,
782
- onHelpClick,
783
759
  folderGroupsSlot,
784
760
  className,
785
761
  "aria-label": ariaLabel = "Vertical navigation sidebar"
786
762
  }) {
787
763
  const backButtonRef = useRef(null);
788
764
  const homeButtonRef = useRef(null);
765
+ const helpButtonRef = useRef(null);
789
766
  const settingsButtonRef = useRef(null);
790
767
  const logoutButtonRef = useRef(null);
791
- const helpButtonRef = useRef(null);
792
768
  const { buttonProps: backButtonProps } = useButton(
793
769
  {
794
770
  onPress: onBackClick,
@@ -803,6 +779,13 @@ function NavVertical({
803
779
  },
804
780
  homeButtonRef
805
781
  );
782
+ const { buttonProps: helpButtonProps } = useButton(
783
+ {
784
+ onPress: onHelpClick,
785
+ "aria-label": "Help"
786
+ },
787
+ helpButtonRef
788
+ );
806
789
  const { buttonProps: settingsButtonProps } = useButton(
807
790
  {
808
791
  onPress: onSettingsClick,
@@ -817,20 +800,13 @@ function NavVertical({
817
800
  },
818
801
  logoutButtonRef
819
802
  );
820
- const { buttonProps: helpButtonProps } = useButton(
821
- {
822
- onPress: onHelpClick,
823
- "aria-label": "Help"
824
- },
825
- helpButtonRef
826
- );
827
803
  const hasBottomButtons = onHelpClick || onSettingsClick || onLogoutClick;
828
804
  return /* @__PURE__ */ jsxs(Container2, { className, role: "navigation", "aria-label": ariaLabel, children: [
829
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 }),
830
806
  /* @__PURE__ */ jsx(Separator, {}),
831
807
  /* @__PURE__ */ jsx(FolderGroupsSlot, { children: folderGroupsSlot }),
832
808
  hasBottomButtons && /* @__PURE__ */ jsxs(BottomSection, { children: [
833
- onHelpClick && /* @__PURE__ */ jsx(BottomButton, { ...helpButtonProps, ref: helpButtonRef, "data-tour-help-button": true, children: /* @__PURE__ */ jsx(Icon, { name: "question-line", size: 24, color: "white" }) }),
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" }) }),
834
810
  onSettingsClick && /* @__PURE__ */ jsx(BottomButton, { ...settingsButtonProps, ref: settingsButtonRef, children: /* @__PURE__ */ jsx(Icon, { name: "settings-3-line", size: 24, color: "white" }) }),
835
811
  onLogoutClick && /* @__PURE__ */ jsx(BottomButton, { ...logoutButtonProps, ref: logoutButtonRef, children: /* @__PURE__ */ jsx(Icon, { name: "logout-circle-r-line", size: 24, color: "white" }) })
836
812
  ] })
@@ -940,9 +916,9 @@ function Layout({
940
916
  navHorizontalActionsSlot,
941
917
  onNavBackClick,
942
918
  onNavHomeClick,
919
+ onNavHelpClick,
943
920
  onNavSettingsClick,
944
921
  onNavLogoutClick,
945
- onNavHelpClick,
946
922
  className
947
923
  }) {
948
924
  return /* @__PURE__ */ jsxs(Container3, { className, children: [
@@ -952,9 +928,9 @@ function Layout({
952
928
  folderGroupsSlot: navVerticalSlot,
953
929
  onBackClick: onNavBackClick,
954
930
  onHomeClick: onNavHomeClick,
931
+ onHelpClick: onNavHelpClick,
955
932
  onSettingsClick: onNavSettingsClick,
956
- onLogoutClick: onNavLogoutClick,
957
- onHelpClick: onNavHelpClick
933
+ onLogoutClick: onNavLogoutClick
958
934
  }
959
935
  ),
960
936
  backgroundSlot && /* @__PURE__ */ jsx(BackgroundPane, { children: backgroundSlot }),
@@ -1582,7 +1558,7 @@ DarkNotificationCard.displayName = "DarkNotificationCard";
1582
1558
  var Container6 = styled9.div`
1583
1559
  width: 100%;
1584
1560
  height: 100%;
1585
- background-color: transparent;
1561
+ background-color: ${tokens.colors.background.dark};
1586
1562
  color: ${tokens.colors.text.primary};
1587
1563
  display: flex;
1588
1564
  flex-direction: column;