@juspay/blend-design-system 0.0.25-beta → 0.0.26-beta

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.
Files changed (47) hide show
  1. package/dist/components/Avatar/Avatar.d.ts +2 -1
  2. package/dist/components/Avatar/types.d.ts +5 -0
  3. package/dist/components/Button/Button.d.ts +1 -1
  4. package/dist/components/Button/types.d.ts +1 -1
  5. package/dist/components/Checkbox/checkboxUtils.d.ts +0 -19
  6. package/dist/components/Checkbox/types.d.ts +1 -1
  7. package/dist/components/DataTable/TableBody/types.d.ts +5 -0
  8. package/dist/components/DataTable/TableHeader/DraggableColumnHeader.d.ts +9 -0
  9. package/dist/components/DataTable/TableHeader/index.d.ts +2 -1
  10. package/dist/components/DataTable/TableHeader/types.d.ts +2 -0
  11. package/dist/components/DataTable/types.d.ts +8 -14
  12. package/dist/components/Directory/directory.tokens.d.ts +86 -0
  13. package/dist/components/Drawer/components/DrawerBase.d.ts +1 -1
  14. package/dist/components/Drawer/types.d.ts +17 -0
  15. package/dist/components/Inputs/MultiValueInput/MultiValueInput.d.ts +1 -1
  16. package/dist/components/Inputs/MultiValueInput/types.d.ts +3 -1
  17. package/dist/components/Menu/Menu.d.ts +1 -1
  18. package/dist/components/Menu/types.d.ts +6 -0
  19. package/dist/components/MultiSelect/MultiSelect.d.ts +1 -1
  20. package/dist/components/MultiSelect/MultiSelectMenu.d.ts +1 -1
  21. package/dist/components/MultiSelect/types.d.ts +11 -0
  22. package/dist/components/Radio/utils.d.ts +0 -1
  23. package/dist/components/Sidebar/TenantPanel.d.ts +3 -1
  24. package/dist/components/Sidebar/sidebar.tokens.d.ts +1 -0
  25. package/dist/components/Sidebar/types.d.ts +22 -1
  26. package/dist/components/Sidebar/utils.d.ts +1 -1
  27. package/dist/components/SingleSelect/SingleSelect.d.ts +1 -1
  28. package/dist/components/SingleSelect/SingleSelectMenu.d.ts +7 -1
  29. package/dist/components/SingleSelect/types.d.ts +6 -0
  30. package/dist/components/SplitTag/types.d.ts +1 -10
  31. package/dist/components/StatCard/StatCard.d.ts +1 -1
  32. package/dist/components/StatCard/types.d.ts +6 -0
  33. package/dist/components/Switch/utils.d.ts +0 -1
  34. package/dist/components/Tabs/StyledTabs.d.ts +2 -0
  35. package/dist/components/Tabs/Tabs.d.ts +2 -0
  36. package/dist/components/Tabs/TabsList.d.ts +2 -0
  37. package/dist/components/Tabs/TabsTrigger.d.ts +5 -0
  38. package/dist/components/Tabs/types.d.ts +12 -0
  39. package/dist/components/Tabs/utils.d.ts +20 -0
  40. package/dist/components/Topbar/topbar.tokens.d.ts +19 -11
  41. package/dist/components/Topbar/types.d.ts +2 -1
  42. package/dist/context/ThemeContext.d.ts +2 -0
  43. package/dist/context/useComponentToken.d.ts +2 -1
  44. package/dist/main.d.ts +1 -0
  45. package/dist/main.js +38266 -29411
  46. package/dist/tokens/unit.tokens.d.ts +2 -0
  47. package/package.json +5 -1
@@ -16,5 +16,7 @@ declare const TabsList: React.ForwardRefExoticComponent<Omit<import('@radix-ui/r
16
16
  onTabChange?: (value: string) => void;
17
17
  activeTab?: string;
18
18
  disable?: boolean;
19
+ showSkeleton?: boolean;
20
+ skeletonVariant?: import('../Skeleton').SkeletonVariant;
19
21
  } & React.RefAttributes<HTMLDivElement>>;
20
22
  export default TabsList;
@@ -9,5 +9,10 @@ declare const TabsTrigger: import('react').ForwardRefExoticComponent<Omit<import
9
9
  closable?: boolean;
10
10
  onClose?: () => void;
11
11
  disable?: boolean;
12
+ isActive?: boolean;
13
+ isOverlay?: boolean;
14
+ tabsGroupId?: string;
15
+ showSkeleton?: boolean;
16
+ skeletonVariant?: import('../Skeleton').SkeletonVariant;
12
17
  } & import('react').RefAttributes<HTMLButtonElement>>;
13
18
  export default TabsTrigger;
@@ -1,4 +1,5 @@
1
1
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import { SkeletonVariant } from '../Skeleton/skeleton.tokens';
2
3
  import * as TabsPrimitive from '@radix-ui/react-tabs';
3
4
  export declare enum TabsVariant {
4
5
  BOXED = "boxed",
@@ -17,6 +18,8 @@ export type TabItem = {
17
18
  closable?: boolean;
18
19
  isDefault?: boolean;
19
20
  disable?: boolean;
21
+ showSkeleton?: boolean;
22
+ skeletonVariant?: SkeletonVariant;
20
23
  };
21
24
  export type TabsProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {
22
25
  variant?: TabsVariant;
@@ -30,6 +33,8 @@ export type TabsProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {
30
33
  addButtonTooltip?: string;
31
34
  maxDisplayTabs?: number;
32
35
  disable?: boolean;
36
+ showSkeleton?: boolean;
37
+ skeletonVariant?: SkeletonVariant;
33
38
  };
34
39
  export type TabsListProps = ComponentPropsWithoutRef<typeof TabsPrimitive.List> & {
35
40
  variant?: TabsVariant;
@@ -47,6 +52,8 @@ export type TabsListProps = ComponentPropsWithoutRef<typeof TabsPrimitive.List>
47
52
  onTabChange?: (value: string) => void;
48
53
  activeTab?: string;
49
54
  disable?: boolean;
55
+ showSkeleton?: boolean;
56
+ skeletonVariant?: SkeletonVariant;
50
57
  };
51
58
  export type TabsTriggerProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & {
52
59
  value: string;
@@ -58,6 +65,11 @@ export type TabsTriggerProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Tri
58
65
  closable?: boolean;
59
66
  onClose?: () => void;
60
67
  disable?: boolean;
68
+ isActive?: boolean;
69
+ isOverlay?: boolean;
70
+ tabsGroupId?: string;
71
+ showSkeleton?: boolean;
72
+ skeletonVariant?: SkeletonVariant;
61
73
  };
62
74
  export type TabsContentProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;
63
75
  export type TabsStyles = {
@@ -38,3 +38,23 @@ export declare const prepareDropdownItems: (tabs: TabItem[]) => {
38
38
  * Returns all tabs for display (no limiting - let horizontal scroll handle overflow)
39
39
  */
40
40
  export declare const getDisplayTabs: (tabs: TabItem[]) => TabItem[];
41
+ /**
42
+ * Calculates the position and width for the tab indicator
43
+ */
44
+ export declare const calculateTabIndicatorPosition: (tabElement: HTMLButtonElement, listElement: HTMLDivElement) => {
45
+ tabLeft: number;
46
+ tabWidth: number;
47
+ };
48
+ /**
49
+ * Determines if the tab movement is from left to right
50
+ */
51
+ export declare const isMovingRight: (oldTab: HTMLButtonElement, newTab: HTMLButtonElement) => boolean;
52
+ /**
53
+ * Calculates transition dimensions for the animated underline
54
+ */
55
+ export declare const calculateTransitionDimensions: (oldTab: HTMLButtonElement, newTab: HTMLButtonElement, listElement: HTMLDivElement) => {
56
+ left: number;
57
+ width: number;
58
+ finalLeft: number;
59
+ finalWidth: number;
60
+ };
@@ -2,9 +2,24 @@ import { CSSObject } from 'styled-components';
2
2
  import { FoundationTokenType } from '../../tokens/theme.token';
3
3
  import { BreakpointType } from '../../breakpoints/breakPoints';
4
4
  export type TopbarState = 'default' | 'hover' | 'active';
5
- export type TopbarTokensType = {
6
- position: CSSObject['position'];
7
- top: CSSObject['top'];
5
+ /**
6
+ * Topbar Tokens following the pattern: [target].CSSProp.[variant].[state]
7
+ *
8
+ * Structure matches Sidebar pattern for consistency:
9
+ * - Base properties: borderBottom, backgroundColor, backdropFilter, padding, gap
10
+ * - Target sections: toggleButton.*, actionButton.*, tenantIconButton.*, merchantSelectTrigger.*, leftSection.*, rightSection.*, sidebarSection.*
11
+ * - Each target has: backgroundColor, padding, borderRadius, gap, specific properties
12
+ * - Interactive elements have state-based styling: [state] = default | hover | active
13
+ *
14
+ * Pattern examples:
15
+ * - backgroundColor (topbar background color)
16
+ * - padding (topbar content padding)
17
+ * - toggleButton.backgroundColor.[state] (interactive toggle button)
18
+ * - actionButton.padding (action button spacing)
19
+ * - leftSection.gap (left section item spacing)
20
+ * - merchantSelectTrigger.text.color (merchant text color)
21
+ */
22
+ export type TopbarTokenType = {
8
23
  zIndex: CSSObject['zIndex'];
9
24
  borderBottom: CSSObject['borderBottom'];
10
25
  backgroundColor: CSSObject['backgroundColor'];
@@ -66,13 +81,6 @@ export type TopbarTokensType = {
66
81
  color: CSSObject['color'];
67
82
  };
68
83
  };
69
- centerSection: {
70
- title: {
71
- fontSize: CSSObject['fontSize'];
72
- fontWeight: CSSObject['fontWeight'];
73
- color: CSSObject['color'];
74
- };
75
- };
76
84
  rightSection: {
77
85
  gap: CSSObject['gap'];
78
86
  };
@@ -81,6 +89,6 @@ export type TopbarTokensType = {
81
89
  };
82
90
  };
83
91
  export type ResponsiveTopbarTokens = {
84
- [key in keyof BreakpointType]: TopbarTokensType;
92
+ [key in keyof BreakpointType]: TopbarTokenType;
85
93
  };
86
94
  export declare const getTopbarTokens: (foundationToken: FoundationTokenType) => ResponsiveTopbarTokens;
@@ -15,6 +15,8 @@ export type TopbarProps = {
15
15
  isExpanded?: boolean;
16
16
  onToggleExpansion?: () => void;
17
17
  showToggleButton?: boolean;
18
+ /** When true, hides toggle button (used in panel only mode) */
19
+ panelOnlyMode?: boolean;
18
20
  /** Controlled mode: Show/hide topbar */
19
21
  isVisible?: boolean;
20
22
  /** Callback when visibility changes (controlled mode) */
@@ -23,7 +25,6 @@ export type TopbarProps = {
23
25
  defaultIsVisible?: boolean;
24
26
  sidebarTopSlot?: ReactNode;
25
27
  topbar?: ReactNode;
26
- title?: string;
27
28
  leftAction?: ReactNode;
28
29
  rightActions?: ReactNode;
29
30
  showBackButton?: boolean;
@@ -34,6 +34,7 @@ import { ResponsiveTopbarTokens } from '../components/Topbar/topbar.tokens';
34
34
  import { ResponsiveAvatarTokens } from '../components/Avatar/avatar.tokens';
35
35
  import { ResponsiveAvatarGroupTokens } from '../components/AvatarGroup/avatarGroup.tokens';
36
36
  import { ResponsiveSidebarTokens } from '../components/Sidebar/sidebar.tokens';
37
+ import { ResponsiveDirectoryTokens } from '../components/Directory/directory.tokens';
37
38
  import { ResponsiveUploadTokens } from '../components/Upload/upload.tokens';
38
39
  import { ResponsiveCodeBlockTokens } from '../components/CodeBlock/codeBlock.token';
39
40
  import { ThemeType } from '../tokens';
@@ -82,6 +83,7 @@ export type ComponentTokenType = {
82
83
  AVATAR?: ResponsiveAvatarTokens;
83
84
  AVATAR_GROUP?: ResponsiveAvatarGroupTokens;
84
85
  SIDEBAR?: ResponsiveSidebarTokens;
86
+ DIRECTORY?: ResponsiveDirectoryTokens;
85
87
  MOBILE_NAVIGATION?: ResponsiveMobileNavigationTokens;
86
88
  UPLOAD?: ResponsiveUploadTokens;
87
89
  CODE_BLOCK?: ResponsiveCodeBlockTokens;
@@ -41,4 +41,5 @@ import { ResponsiveUploadTokens } from '../components/Upload/upload.tokens';
41
41
  import { ResponsiveCodeBlockTokens } from '../components/CodeBlock/codeBlock.token';
42
42
  import { ResponsiveWorkflowTokens } from '../components/WorkflowCanvas/workflow.tokens';
43
43
  import { ResponsiveMobileNavigationTokens } from '../components/Sidebar/SidebarMobile/mobile.tokens';
44
- export declare const useComponentToken: (component: keyof ComponentTokenType) => ResponsiveSearchInputTokens | ResponsiveTagTokens | ResponsiveTextAreaTokens | ResponsiveTextInputTokens | ResponsiveNumberInputTokens | ResponsiveAlertTokens | ResponsiveRadioTokens | ResponsiveOTPInputTokens | ResponsiveUnitInputTokens | ResponsiveMultiValueInputTokens | ResponsiveSwitchTokens | ResponsiveCheckboxTokens | ResponsiveTabsTokens | ResponsiveTooltipTokens | ResponsiveDropdownInputTokens | ResponsiveButtonTokens | ResponsiveModalTokens | ResponsiveBreadcrumbTokens | ResponsivePopoverTokens | ResponsiveMenuTokensType | ResponsiveMultiSelectTokens | ResponsiveSingleSelectTokens | ResponsiveTableTokens | ResponsiveCalendarTokens | ResponsiveAccordionTokens | ResponsiveStatCardTokens | ResponsiveProgressBarTokens | ResponsiveDrawerTokens | ResponsiveChartTokens | ResponsiveSnackbarTokens | ResponsiveStepperTokens | ResponsiveKeyValuePairTokens | ResponsiveCardTokens | ResponsiveSkeletonTokens | ResponsiveTopbarTokens | ResponsiveAvatarTokens | ResponsiveAvatarGroupTokens | ResponsiveSidebarTokens | ResponsiveUploadTokens | ResponsiveCodeBlockTokens | ResponsiveWorkflowTokens | ResponsiveMobileNavigationTokens;
44
+ import { ResponsiveDirectoryTokens } from '../components/Directory/directory.tokens';
45
+ export declare const useComponentToken: (component: keyof ComponentTokenType) => ResponsiveSearchInputTokens | ResponsiveTagTokens | ResponsiveTextAreaTokens | ResponsiveTextInputTokens | ResponsiveNumberInputTokens | ResponsiveAlertTokens | ResponsiveRadioTokens | ResponsiveOTPInputTokens | ResponsiveUnitInputTokens | ResponsiveMultiValueInputTokens | ResponsiveSwitchTokens | ResponsiveCheckboxTokens | ResponsiveTabsTokens | ResponsiveTooltipTokens | ResponsiveDropdownInputTokens | ResponsiveButtonTokens | ResponsiveModalTokens | ResponsiveBreadcrumbTokens | ResponsivePopoverTokens | ResponsiveMenuTokensType | ResponsiveMultiSelectTokens | ResponsiveSingleSelectTokens | ResponsiveTableTokens | ResponsiveCalendarTokens | ResponsiveAccordionTokens | ResponsiveStatCardTokens | ResponsiveProgressBarTokens | ResponsiveDrawerTokens | ResponsiveChartTokens | ResponsiveSnackbarTokens | ResponsiveStepperTokens | ResponsiveKeyValuePairTokens | ResponsiveCardTokens | ResponsiveSkeletonTokens | ResponsiveTopbarTokens | ResponsiveAvatarTokens | ResponsiveAvatarGroupTokens | ResponsiveSidebarTokens | ResponsiveUploadTokens | ResponsiveCodeBlockTokens | ResponsiveWorkflowTokens | ResponsiveMobileNavigationTokens | ResponsiveDirectoryTokens;
package/dist/main.d.ts CHANGED
@@ -24,6 +24,7 @@ export * from './components/Inputs';
24
24
  export * from './components/Menu';
25
25
  export * from './components/DataTable';
26
26
  export * from './components/Sidebar';
27
+ export * from './components/Directory';
27
28
  export * from './components/MultiSelect';
28
29
  export * from './components/SingleSelect';
29
30
  export * from './components/Slider';