@juspay/blend-design-system 0.0.37-beta.3 → 0.0.37-beta.5

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 (225) hide show
  1. package/dist/components/AccordionV2/index.d.ts +3 -0
  2. package/dist/components/AvatarV2/avatarV2.utils.d.ts +1 -1
  3. package/dist/components/AvatarV2/index.d.ts +1 -2
  4. package/dist/components/Breadcrumb/Breadcrumb.d.ts +2 -5
  5. package/dist/components/Breadcrumb/types.d.ts +6 -0
  6. package/dist/components/BreadcrumbV2/index.d.ts +10 -0
  7. package/dist/components/ButtonV2/ButtonGroupV2/index.d.ts +1 -0
  8. package/dist/components/ButtonV2/buttonV2.types.d.ts +0 -4
  9. package/dist/components/ButtonV2/index.d.ts +3 -0
  10. package/dist/components/ButtonV2/utils.d.ts +1 -1
  11. package/dist/components/Charts/ChartUtils.d.ts +2 -0
  12. package/dist/components/Charts/types.d.ts +2 -2
  13. package/dist/components/ChartsV2/index.d.ts +5 -0
  14. package/dist/components/CodeEditorV2/CodeEditorV2.d.ts +1 -1
  15. package/dist/components/CodeEditorV2/codeEditorV2.tokens.d.ts +5 -5
  16. package/dist/components/CodeEditorV2/codeEditorV2.types.d.ts +5 -5
  17. package/dist/components/CodeEditorV2/index.d.ts +2 -0
  18. package/dist/components/CodeEditorV2/utils.d.ts +1 -1
  19. package/dist/components/DataTable/DataTable.d.ts +2 -1
  20. package/dist/components/DataTable/PivotTableModal/PivotPreviewPanel.d.ts +3 -0
  21. package/dist/components/DataTable/PivotTableModal/PivotTableIllustration.d.ts +7 -0
  22. package/dist/components/DataTable/PivotTableModal/index.d.ts +3 -0
  23. package/dist/components/DataTable/PivotTableModal/pivotModalStyleTokens.d.ts +123 -0
  24. package/dist/components/DataTable/PivotTableModal/types.d.ts +62 -0
  25. package/dist/components/DataTable/PivotTableModal/utils.d.ts +32 -0
  26. package/dist/components/DataTable/TableBody/types.d.ts +2 -0
  27. package/dist/components/DataTable/TableHeader/types.d.ts +1 -0
  28. package/dist/components/DataTable/index.d.ts +2 -0
  29. package/dist/components/DataTable/types.d.ts +56 -0
  30. package/dist/components/DataTable/utils.d.ts +19 -1
  31. package/dist/components/DateRangePicker/types.d.ts +1 -1
  32. package/dist/components/DateRangePicker/utils.d.ts +2 -0
  33. package/dist/components/Directory/Directory.d.ts +1 -1
  34. package/dist/components/Directory/types.d.ts +1 -1
  35. package/dist/components/Directory/utils.d.ts +2 -0
  36. package/dist/components/InputsV2/ChatInputV2/AttachmentDropdown.d.ts +3 -3
  37. package/dist/components/InputsV2/ChatInputV2/ChatInputTagV2.d.ts +2 -2
  38. package/dist/components/InputsV2/ChatInputV2/ChatInputV2.d.ts +4 -4
  39. package/dist/components/InputsV2/ChatInputV2/ChatInputV2.types.d.ts +8 -8
  40. package/dist/components/InputsV2/ChatInputV2/ChatInputV2AttachmentRow.d.ts +3 -3
  41. package/dist/components/InputsV2/ChatInputV2/MobileChatInputV2.d.ts +2 -2
  42. package/dist/components/InputsV2/ChatInputV2/utils.d.ts +4 -4
  43. package/dist/components/InputsV2/SearchInputV2/utils.d.ts +39 -0
  44. package/dist/components/InputsV2/TextInputV2/TextInputV2.types.d.ts +2 -2
  45. package/dist/components/InputsV2/TextInputV2/index.d.ts +2 -0
  46. package/dist/components/InputsV2/utils/utils.d.ts +1 -1
  47. package/dist/components/KeyValuePairV2/KeyValuePairV2.d.ts +1 -1
  48. package/dist/components/KeyValuePairV2/ResponsiveText.d.ts +2 -2
  49. package/dist/components/KeyValuePairV2/index.d.ts +3 -0
  50. package/dist/components/KeyValuePairV2/keyValuePairV2.types.d.ts +2 -2
  51. package/dist/components/KeyValuePairV2/responsiveTextStyles.d.ts +3 -3
  52. package/dist/components/KeyValuePairV2/utils.d.ts +2 -2
  53. package/dist/components/MenuV2/index.d.ts +1 -0
  54. package/dist/components/MenuV2/menuV2.utils.d.ts +2 -2
  55. package/dist/components/MultiSelectV2/index.d.ts +3 -0
  56. package/dist/components/MultiSelectV2/multiSelectV2.types.d.ts +1 -1
  57. package/dist/components/MultiSelectV2/utils.d.ts +2 -2
  58. package/dist/components/ProgressBarV2/index.d.ts +3 -0
  59. package/dist/components/ProgressBarV2/utils.d.ts +1 -1
  60. package/dist/components/Radio/StyledRadio.d.ts +0 -1
  61. package/dist/components/SelectV2/index.d.ts +1 -0
  62. package/dist/components/SelectorV2/CheckboxV2/index.d.ts +4 -0
  63. package/dist/components/SelectorV2/CheckboxV2/utils.d.ts +1 -1
  64. package/dist/components/SelectorV2/RadioV2/index.d.ts +3 -0
  65. package/dist/components/SelectorV2/SwitchV2/index.d.ts +1 -0
  66. package/dist/components/Sidebar/SidebarContent.d.ts +1 -1
  67. package/dist/components/Sidebar/types.d.ts +10 -1
  68. package/dist/components/Sidebar/utils.d.ts +1 -1
  69. package/dist/components/SidebarV2/SidebarV2Panel.d.ts +1 -1
  70. package/dist/components/SidebarV2/index.d.ts +6 -1
  71. package/dist/components/SidebarV2/types.d.ts +3 -0
  72. package/dist/components/SingleSelectV2/SingleSelectV2VirtualList.d.ts +2 -2
  73. package/dist/components/SingleSelectV2/index.d.ts +3 -0
  74. package/dist/components/SingleSelectV2/singleSelectV2.types.d.ts +2 -2
  75. package/dist/components/SingleSelectV2/utils.d.ts +6 -6
  76. package/dist/components/StatCardV2/index.d.ts +10 -1
  77. package/dist/components/Stepper/types.d.ts +2 -0
  78. package/dist/components/StepperV2/index.d.ts +3 -1
  79. package/dist/components/StepperV2/stepperV2.types.d.ts +2 -2
  80. package/dist/components/TabsV2/index.d.ts +3 -1
  81. package/dist/components/TagV2/index.d.ts +3 -0
  82. package/dist/components/TooltipV2/index.d.ts +1 -0
  83. package/dist/components/common/index.d.ts +1 -1
  84. package/dist/main.d.ts +30 -70
  85. package/dist/main.js +91851 -89103
  86. package/dist/{node-CRWdZOVN.js → node-C2uf3sNA.js} +1303 -1300
  87. package/dist/node.js +1 -1
  88. package/dist/tokens.js +17 -16
  89. package/lib/components/AccordionV2/index.ts +3 -0
  90. package/lib/components/Avatar/Avatar.tsx +6 -1
  91. package/lib/components/AvatarGroup/AvatarGroup.tsx +1 -1
  92. package/lib/components/AvatarV2/AvatarV2.tsx +12 -3
  93. package/lib/components/AvatarV2/avatarV2.utils.ts +1 -1
  94. package/lib/components/AvatarV2/index.ts +1 -12
  95. package/lib/components/Breadcrumb/Breadcrumb.tsx +9 -8
  96. package/lib/components/Breadcrumb/types.ts +12 -0
  97. package/lib/components/BreadcrumbV2/index.ts +10 -0
  98. package/lib/components/Button/ButtonBase.tsx +1 -1
  99. package/lib/components/ButtonV2/ButtonGroupV2/index.ts +1 -0
  100. package/lib/components/ButtonV2/ButtonV2.tsx +2 -2
  101. package/lib/components/ButtonV2/LinkButton.tsx +2 -2
  102. package/lib/components/ButtonV2/buttonV2.types.ts +0 -6
  103. package/lib/components/ButtonV2/index.ts +3 -0
  104. package/lib/components/ButtonV2/utils.ts +2 -2
  105. package/lib/components/Card/CardComponents.tsx +52 -17
  106. package/lib/components/Charts/BlendChart.tsx +1 -1
  107. package/lib/components/Charts/ChartUtils.tsx +7 -0
  108. package/lib/components/Charts/Charts.tsx +4 -2
  109. package/lib/components/Charts/CoreChart.tsx +4 -2
  110. package/lib/components/Charts/types.tsx +2 -2
  111. package/lib/components/ChartsV2/ChartV2.tsx +4 -3
  112. package/lib/components/ChartsV2/index.ts +5 -0
  113. package/lib/components/Checkbox/Checkbox.tsx +29 -7
  114. package/lib/components/CodeBlock/CodeBlock.tsx +47 -1
  115. package/lib/components/CodeBlock/codeBlock.token.ts +5 -5
  116. package/lib/components/CodeEditor/CodeEditor.tsx +26 -4
  117. package/lib/components/CodeEditor/MonacoEditorWrapper.tsx +13 -1
  118. package/lib/components/CodeEditorV2/CodeEditorV2.tsx +2 -2
  119. package/lib/components/CodeEditorV2/codeEditorV2.dark.tokens.ts +37 -25
  120. package/lib/components/CodeEditorV2/codeEditorV2.light.token.ts +37 -25
  121. package/lib/components/CodeEditorV2/codeEditorV2.tokens.ts +5 -5
  122. package/lib/components/CodeEditorV2/codeEditorV2.types.ts +5 -5
  123. package/lib/components/CodeEditorV2/index.ts +2 -0
  124. package/lib/components/CodeEditorV2/utils.ts +1 -1
  125. package/lib/components/DataTable/DataTable.tsx +156 -4
  126. package/lib/components/DataTable/PivotTableModal/PivotPreviewPanel.tsx +174 -0
  127. package/lib/components/DataTable/PivotTableModal/PivotTableIllustration.tsx +28 -0
  128. package/lib/components/DataTable/PivotTableModal/index.tsx +859 -0
  129. package/lib/components/DataTable/PivotTableModal/pivot-table-illustration.png +0 -0
  130. package/lib/components/DataTable/PivotTableModal/pivotModal.styled.ts +13 -0
  131. package/lib/components/DataTable/PivotTableModal/pivotModalStyleTokens.ts +250 -0
  132. package/lib/components/DataTable/PivotTableModal/types.ts +69 -0
  133. package/lib/components/DataTable/PivotTableModal/utils.ts +360 -0
  134. package/lib/components/DataTable/TableBody/index.tsx +16 -5
  135. package/lib/components/DataTable/TableBody/types.ts +2 -0
  136. package/lib/components/DataTable/TableHeader/FilterComponents.tsx +4 -0
  137. package/lib/components/DataTable/TableHeader/index.tsx +6 -3
  138. package/lib/components/DataTable/TableHeader/types.ts +1 -0
  139. package/lib/components/DataTable/index.ts +4 -0
  140. package/lib/components/DataTable/types.ts +57 -0
  141. package/lib/components/DataTable/utils.ts +197 -0
  142. package/lib/components/DateRangePicker/DateRangePicker.tsx +34 -17
  143. package/lib/components/DateRangePicker/types.ts +5 -5
  144. package/lib/components/DateRangePicker/utils.ts +5 -0
  145. package/lib/components/Directory/Directory.tsx +3 -2
  146. package/lib/components/Directory/types.ts +1 -1
  147. package/lib/components/Directory/utils.ts +6 -0
  148. package/lib/components/Drawer/components/DrawerBase.tsx +16 -0
  149. package/lib/components/Drawer/components/NestedSelectDrawer.tsx +13 -1
  150. package/lib/components/Drawer/components/SelectDrawer.tsx +9 -1
  151. package/lib/components/Inputs/OTPInput/OTPInput.tsx +5 -3
  152. package/lib/components/InputsV2/ChatInputV2/AttachmentDropdown.tsx +3 -3
  153. package/lib/components/InputsV2/ChatInputV2/ChatInputTagV2.tsx +3 -3
  154. package/lib/components/InputsV2/ChatInputV2/ChatInputV2.types.ts +8 -8
  155. package/lib/components/InputsV2/ChatInputV2/ChatInputV2AttachmentRow.tsx +7 -7
  156. package/lib/components/InputsV2/ChatInputV2/utils.ts +8 -8
  157. package/lib/components/InputsV2/SearchInputV2/utils.ts +14 -1
  158. package/lib/components/InputsV2/TextInputV2/TextInputV2.tsx +3 -3
  159. package/lib/components/InputsV2/TextInputV2/TextInputV2.types.ts +2 -2
  160. package/lib/components/InputsV2/TextInputV2/index.ts +2 -0
  161. package/lib/components/KeyValuePairV2/KeyValuePairV2.tsx +6 -2
  162. package/lib/components/KeyValuePairV2/ResponsiveText.tsx +2 -2
  163. package/lib/components/KeyValuePairV2/index.ts +3 -0
  164. package/lib/components/KeyValuePairV2/keyValuePairV2.types.ts +2 -2
  165. package/lib/components/KeyValuePairV2/responsiveTextStyles.ts +3 -3
  166. package/lib/components/KeyValuePairV2/utils.ts +3 -3
  167. package/lib/components/Menu/Menu.tsx +9 -1
  168. package/lib/components/MenuV2/MenuV2.tsx +2 -2
  169. package/lib/components/MenuV2/MenuV2SubMenu.tsx +2 -2
  170. package/lib/components/MenuV2/index.ts +1 -0
  171. package/lib/components/MenuV2/menuV2.utils.ts +4 -4
  172. package/lib/components/Modal/useModal.ts +7 -0
  173. package/lib/components/MultiSelectV2/MultiSelectV2.tsx +2 -2
  174. package/lib/components/MultiSelectV2/MultiSelectV2Menu.tsx +5 -2
  175. package/lib/components/MultiSelectV2/index.ts +3 -0
  176. package/lib/components/MultiSelectV2/mobile/MobileMultiSelectV2.tsx +7 -4
  177. package/lib/components/MultiSelectV2/multiSelectV2.types.ts +1 -1
  178. package/lib/components/MultiSelectV2/utils.ts +2 -2
  179. package/lib/components/ProgressBarV2/ProgressBarV2.tsx +5 -2
  180. package/lib/components/ProgressBarV2/index.ts +3 -0
  181. package/lib/components/ProgressBarV2/utils.ts +1 -1
  182. package/lib/components/Radio/Radio.tsx +12 -5
  183. package/lib/components/Radio/StyledRadio.tsx +33 -17
  184. package/lib/components/SelectV2/index.ts +1 -0
  185. package/lib/components/SelectorV2/CheckboxV2/CheckboxV2.tsx +2 -2
  186. package/lib/components/SelectorV2/CheckboxV2/index.ts +4 -0
  187. package/lib/components/SelectorV2/CheckboxV2/utils.ts +1 -1
  188. package/lib/components/SelectorV2/RadioV2/index.ts +3 -0
  189. package/lib/components/SelectorV2/SwitchV2/index.ts +1 -0
  190. package/lib/components/Sidebar/Sidebar.tsx +18 -3
  191. package/lib/components/Sidebar/SidebarContent.tsx +5 -2
  192. package/lib/components/Sidebar/TenantPanel.tsx +52 -34
  193. package/lib/components/Sidebar/types.ts +11 -1
  194. package/lib/components/Sidebar/utils.ts +1 -1
  195. package/lib/components/SidebarV2/SecondarySidebar.tsx +86 -44
  196. package/lib/components/SidebarV2/SidebarV2Panel.tsx +4 -2
  197. package/lib/components/SidebarV2/index.ts +6 -0
  198. package/lib/components/SidebarV2/types.ts +4 -0
  199. package/lib/components/SingleSelectV2/MobileSingleSelectV2.tsx +2 -2
  200. package/lib/components/SingleSelectV2/SingleSelectV2.tsx +10 -3
  201. package/lib/components/SingleSelectV2/SingleSelectV2Menu.tsx +4 -2
  202. package/lib/components/SingleSelectV2/SingleSelectV2VirtualList.tsx +5 -2
  203. package/lib/components/SingleSelectV2/index.ts +7 -0
  204. package/lib/components/SingleSelectV2/singleSelectV2.types.ts +2 -2
  205. package/lib/components/SingleSelectV2/utils.ts +10 -10
  206. package/lib/components/StatCard/statcard.tokens.ts +1 -1
  207. package/lib/components/StatCardV2/index.ts +13 -1
  208. package/lib/components/Stepper/VerticalStepper.tsx +209 -171
  209. package/lib/components/Stepper/types.ts +2 -0
  210. package/lib/components/StepperV2/Stepper/Steps.tsx +15 -1
  211. package/lib/components/StepperV2/index.ts +3 -1
  212. package/lib/components/StepperV2/stepperV2.types.ts +2 -2
  213. package/lib/components/TabsV2/index.ts +13 -1
  214. package/lib/components/TagV2/index.ts +3 -0
  215. package/lib/components/Text/Text.tsx +1 -0
  216. package/lib/components/TooltipV2/index.ts +1 -0
  217. package/lib/components/Upload/Upload.tsx +6 -0
  218. package/lib/components/Upload/components/FileListDisplay.tsx +159 -16
  219. package/lib/components/Upload/utils.ts +10 -2
  220. package/lib/components/common/index.ts +1 -1
  221. package/lib/context/ThemeProvider.tsx +19 -8
  222. package/lib/hooks/useDebounce.ts +9 -1
  223. package/lib/main.ts +34 -258
  224. package/lib/types/assets.d.ts +24 -0
  225. package/package.json +2 -1
@@ -1,6 +1,6 @@
1
1
  import { DirectoryProps } from './types';
2
2
  declare const Directory: {
3
- ({ directoryData, idPrefix, activeItem, onActiveItemChange, defaultActiveItem, iconOnlyMode, }: DirectoryProps): import("react/jsx-runtime").JSX.Element;
3
+ ({ directoryData: directoryDataProp, idPrefix, activeItem, onActiveItemChange, defaultActiveItem, iconOnlyMode, }: DirectoryProps): import("react/jsx-runtime").JSX.Element;
4
4
  displayName: string;
5
5
  };
6
6
  export default Directory;
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  export type DirectoryProps = {
3
- directoryData: DirectoryData[];
3
+ directoryData: DirectoryData[] | null;
4
4
  idPrefix?: string;
5
5
  activeItem?: string | null;
6
6
  onActiveItemChange?: (item: string | null) => void;
@@ -1,3 +1,5 @@
1
+ import { DirectoryData } from './types';
2
+ export declare const normalizeDirectoryData: (directoryData: DirectoryData[] | null) => DirectoryData[];
1
3
  export declare const handleSectionNavigation: (direction: "up" | "down", currentIndex: number, totalItems: number, selector?: string, childSelector?: string) => number;
2
4
  export declare const handleKeyDown: (e: React.KeyboardEvent, options: {
3
5
  hasChildren?: boolean;
@@ -1,11 +1,11 @@
1
1
  import { ChatInputV2TokensType } from './ChatInputV2.tokens';
2
- import { AttachedFile } from './ChatInputV2.types';
2
+ import { ChatInputV2AttachedFile } from './ChatInputV2.types';
3
3
  type AttachmentDropdownV2Props = {
4
4
  id?: string;
5
- files: AttachedFile[];
5
+ files: ChatInputV2AttachedFile[];
6
6
  onFileRemove: (fileId: string) => void;
7
7
  tokens: ChatInputV2TokensType;
8
- onFileClick: (file: AttachedFile) => void;
8
+ onFileClick: (file: ChatInputV2AttachedFile) => void;
9
9
  };
10
10
  declare const AttachmentDropdownV2: ({ id, files, onFileRemove, onFileClick, tokens, }: AttachmentDropdownV2Props) => import("react/jsx-runtime").JSX.Element;
11
11
  export default AttachmentDropdownV2;
@@ -1,5 +1,5 @@
1
1
  import { ChatInputV2TokensType } from './ChatInputV2.tokens';
2
- import { AttachedFile } from './ChatInputV2.types';
2
+ import { ChatInputV2AttachedFile } from './ChatInputV2.types';
3
3
  type ChatInputTagV2Props = {
4
4
  text: string;
5
5
  tokens: ChatInputV2TokensType['container']['tagContainer'];
@@ -7,7 +7,7 @@ type ChatInputTagV2Props = {
7
7
  onRemove: () => void;
8
8
  /** Fired after the file-name control handles `preventDefault` / `stopPropagation` (button). */
9
9
  onFileClick: () => void;
10
- file: AttachedFile;
10
+ file: ChatInputV2AttachedFile;
11
11
  };
12
12
  declare const ChatInputTagV2: ({ file, text, tokens, onRemove, onFileClick, }: ChatInputTagV2Props) => import("react/jsx-runtime").JSX.Element;
13
13
  export default ChatInputTagV2;
@@ -1,7 +1,7 @@
1
1
  declare const ChatInputV2: import('react').ForwardRefExoticComponent<{
2
2
  value?: string;
3
- topQueries?: import('./ChatInputV2.types').TopQuery[];
4
- onTopQuerySelect?: (query: import('./ChatInputV2.types').TopQuery) => void;
3
+ topQueries?: import('./ChatInputV2.types').ChatInputV2TopQuery[];
4
+ onTopQuerySelect?: (query: import('./ChatInputV2.types').ChatInputV2TopQuery) => void;
5
5
  placeholder?: string;
6
6
  onChange: (value: string) => void;
7
7
  topContent?: import('react').ReactNode;
@@ -10,10 +10,10 @@ declare const ChatInputV2: import('react').ForwardRefExoticComponent<{
10
10
  topQueriesMaxHeight?: number;
11
11
  textareaMaxHeight?: number;
12
12
  disabled?: boolean;
13
- attachedFiles?: import('./ChatInputV2.types').AttachedFile[];
13
+ attachedFiles?: import('./ChatInputV2.types').ChatInputV2AttachedFile[];
14
14
  onAttachFiles?: (files: File[]) => void;
15
15
  onFileRemove?: (fileId: string) => void;
16
- onFileClick?: (file: import('./ChatInputV2.types').AttachedFile) => void;
16
+ onFileClick?: (file: import('./ChatInputV2.types').ChatInputV2AttachedFile) => void;
17
17
  onEnter?: () => void;
18
18
  } & Omit<import('react').TextareaHTMLAttributes<HTMLTextAreaElement>, "size" | "style" | "className" | "onFocus" | "onBlur" | "onChange" | "cols"> & import('react').RefAttributes<HTMLDivElement>>;
19
19
  export default ChatInputV2;
@@ -1,6 +1,6 @@
1
1
  import { ReactNode, TextareaHTMLAttributes } from 'react';
2
2
  import { ChatInputV2TokensType } from './ChatInputV2.tokens';
3
- export type AttachedFile = {
3
+ export type ChatInputV2AttachedFile = {
4
4
  id: string;
5
5
  name: string;
6
6
  type: 'image' | 'pdf' | 'csv' | 'text' | 'other';
@@ -8,14 +8,14 @@ export type AttachedFile = {
8
8
  url?: string;
9
9
  preview?: string;
10
10
  };
11
- export type TopQuery = {
11
+ export type ChatInputV2TopQuery = {
12
12
  id: string;
13
13
  text: string;
14
14
  };
15
15
  export type ChatInputV2Props = {
16
16
  value?: string;
17
- topQueries?: TopQuery[];
18
- onTopQuerySelect?: (query: TopQuery) => void;
17
+ topQueries?: ChatInputV2TopQuery[];
18
+ onTopQuerySelect?: (query: ChatInputV2TopQuery) => void;
19
19
  placeholder?: string;
20
20
  onChange: (value: string) => void;
21
21
  /** Renders full-width above the field row (e.g. context, filters, banners). */
@@ -27,12 +27,12 @@ export type ChatInputV2Props = {
27
27
  /** Max textarea height in px (ChatGPT-style auto-grow). Defaults to token `input.maxHeight`. */
28
28
  textareaMaxHeight?: number;
29
29
  disabled?: boolean;
30
- attachedFiles?: AttachedFile[];
30
+ attachedFiles?: ChatInputV2AttachedFile[];
31
31
  /** New files from the hidden file input (append in parent state). */
32
32
  onAttachFiles?: (files: File[]) => void;
33
33
  /** Remove by id — use this for chip dismiss; do not use `onAttachFiles` to “replace” the list. */
34
34
  onFileRemove?: (fileId: string) => void;
35
- onFileClick?: (file: AttachedFile) => void;
35
+ onFileClick?: (file: ChatInputV2AttachedFile) => void;
36
36
  onEnter?: () => void;
37
37
  } & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size' | 'style' | 'className' | 'onFocus' | 'onBlur' | 'cols' | 'onChange'>;
38
38
  export type MobileChatInputV2Props = {
@@ -42,11 +42,11 @@ export type MobileChatInputV2Props = {
42
42
  topContent?: ReactNode;
43
43
  secondaryAction?: ReactNode;
44
44
  placeholder?: string;
45
- attachedFiles?: AttachedFile[];
45
+ attachedFiles?: ChatInputV2AttachedFile[];
46
46
  handleAttachClick?: () => void;
47
47
  onFileRemove?: (fileId: string) => void;
48
48
  /** Invoked when a chip label is activated (inline or overflow); forwarded to `ChatInputV2AttachmentRow`. */
49
- onFileClick?: (file: AttachedFile) => void;
49
+ onFileClick?: (file: ChatInputV2AttachedFile) => void;
50
50
  onSecondaryActionClick?: () => void;
51
51
  id?: string;
52
52
  webTokens: ChatInputV2TokensType;
@@ -1,11 +1,11 @@
1
1
  import { RefObject } from 'react';
2
- import { AttachedFile } from './ChatInputV2.types';
2
+ import { ChatInputV2AttachedFile } from './ChatInputV2.types';
3
3
  import { CSSObject } from 'styled-components';
4
4
  import { ChatInputV2TokensType } from './ChatInputV2.tokens';
5
5
  export type ChatInputV2AttachmentRowProps = {
6
- attachedFiles: AttachedFile[];
6
+ attachedFiles: ChatInputV2AttachedFile[];
7
7
  onFileRemove: (fileId: string) => void;
8
- onFileClick: (file: AttachedFile) => void;
8
+ onFileClick: (file: ChatInputV2AttachedFile) => void;
9
9
  outerContainerRef: RefObject<HTMLElement | null>;
10
10
  gap: NonNullable<CSSObject['gap']>;
11
11
  tokens: ChatInputV2TokensType;
@@ -5,10 +5,10 @@ declare const MobileChatInputV2: import('react').ForwardRefExoticComponent<{
5
5
  topContent?: import('react').ReactNode;
6
6
  secondaryAction?: import('react').ReactNode;
7
7
  placeholder?: string;
8
- attachedFiles?: import('./ChatInputV2.types').AttachedFile[];
8
+ attachedFiles?: import('./ChatInputV2.types').ChatInputV2AttachedFile[];
9
9
  handleAttachClick?: () => void;
10
10
  onFileRemove?: (fileId: string) => void;
11
- onFileClick?: (file: import('./ChatInputV2.types').AttachedFile) => void;
11
+ onFileClick?: (file: import('./ChatInputV2.types').ChatInputV2AttachedFile) => void;
12
12
  onSecondaryActionClick?: () => void;
13
13
  id?: string;
14
14
  webTokens: import('./ChatInputV2.tokens').ChatInputV2TokensType;
@@ -1,5 +1,5 @@
1
1
  import { ChangeEvent, Ref } from 'react';
2
- import { AttachedFile } from './ChatInputV2.types';
2
+ import { ChatInputV2AttachedFile } from './ChatInputV2.types';
3
3
  export declare const FILE_NAME_TAG_MAX_LEN = 8;
4
4
  export declare const truncateFileNameForTag: (name: string) => string;
5
5
  /** Layout buffer and “+ N more” reserve — mirrors `AttachmentFile` in ChatInput. */
@@ -28,15 +28,15 @@ type ComputeCutoffArgs = {
28
28
  * Walk visible chip DOM nodes and compute how many files can stay inline before “+ N more”.
29
29
  */
30
30
  export declare function computeAttachmentRowCutoff({ filesContainer, attachedFileCount, rowGapPx, }: ComputeCutoffArgs): number;
31
- export declare function sliceVisibleAttachedFiles(attachedFiles: AttachedFile[], cutOffIndex: number): AttachedFile[];
32
- export declare function sliceOverflowAttachedFiles(attachedFiles: AttachedFile[], cutOffIndex: number): AttachedFile[];
31
+ export declare function sliceVisibleChatInputV2AttachedFiles(attachedFiles: ChatInputV2AttachedFile[], cutOffIndex: number): ChatInputV2AttachedFile[];
32
+ export declare function sliceOverflowChatInputV2AttachedFiles(attachedFiles: ChatInputV2AttachedFile[], cutOffIndex: number): ChatInputV2AttachedFile[];
33
33
  /** Max height in px: explicit prop wins; otherwise parse token `maxHeight` (defaults to 200). */
34
34
  export declare function resolveChatInputV2TextareaMaxHeightPx(textareaMaxHeightProp: number | undefined, tokenMaxHeight: unknown): number;
35
35
  /** ChatGPT-style auto-grow: clamp scroll height to `maxHeightPx`. */
36
36
  export declare function applyChatInputV2TextareaAutoHeight(el: HTMLTextAreaElement | null, maxHeightPx: number): void;
37
37
  export declare function notifyChatInputV2DuplicateFiles(duplicateFileNames: string[]): void;
38
38
  /** Hidden file input: filters duplicates vs `attachedFiles`, shows SnackbarV2, forwards new files. Resets input value. */
39
- export declare function handleChatInputV2FileInputChange(e: ChangeEvent<HTMLInputElement>, attachedFiles: AttachedFile[], onAttachFiles: (files: File[]) => void): void;
39
+ export declare function handleChatInputV2FileInputChange(e: ChangeEvent<HTMLInputElement>, attachedFiles: ChatInputV2AttachedFile[], onAttachFiles: (files: File[]) => void): void;
40
40
  export declare function assignForwardedRef<T>(node: T | null, ref: Ref<T | null> | null | undefined): void;
41
41
  export declare const truncatePlaceholder: (textarea: HTMLTextAreaElement | null, placeholder: string | undefined) => string | undefined;
42
42
  export declare const removePxFromValue: (value: number | string) => number;
@@ -0,0 +1,39 @@
1
+ import { ChangeEvent, CSSProperties } from 'react';
2
+ import { SearchInputV2TokensType } from './SearchInputV2.tokens';
3
+ import { getInteractionState } from '../utils/utils';
4
+ export type SearchInputV2InteractionStateKey = ReturnType<typeof getInteractionState>;
5
+ export declare const getSearchInputV2InputStateKey: (error: boolean, isFocused: boolean, disabled: boolean) => SearchInputV2InteractionStateKey;
6
+ export declare const shouldShowSearchInputV2Clear: (allowClear: boolean, value: string | undefined, disabled: boolean) => boolean;
7
+ export declare const createSearchInputV2ClearHandler: (options: {
8
+ disabled: boolean;
9
+ onClear?: () => void;
10
+ onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
11
+ }) => (() => void);
12
+ export declare const getSearchInputV2PaddingInline: (args: {
13
+ paddingX: number;
14
+ gap: number;
15
+ hasLeftSlot: boolean;
16
+ leftSlotWidth: number;
17
+ hasRightSlot: boolean;
18
+ rightSlotWidth: number;
19
+ }) => {
20
+ paddingInlineStart: number;
21
+ paddingInlineEnd: number;
22
+ };
23
+ export declare const getSearchInputV2SlotWrapperStyle: (slot: SearchInputV2TokensType["inputContainer"]["slot"], inputStateKey: SearchInputV2InteractionStateKey) => CSSProperties;
24
+ type SearchInputV2PrimitiveInputChrome = {
25
+ borderBottom: CSSProperties['borderBottom'];
26
+ color: CSSProperties['color'];
27
+ hover: {
28
+ borderBottom: CSSProperties['borderBottom'];
29
+ color: CSSProperties['color'];
30
+ };
31
+ focus: {
32
+ borderBottom: CSSProperties['borderBottom'];
33
+ color: CSSProperties['color'];
34
+ };
35
+ };
36
+ export declare const getSearchInputV2PrimitiveInputChrome: (ic: SearchInputV2TokensType["inputContainer"], disabled: boolean, error: boolean) => SearchInputV2PrimitiveInputChrome;
37
+ export declare const applyIconStyles: (icon: React.ReactNode, tokens: SearchInputV2TokensType, inputState: SearchInputV2InteractionStateKey) => React.ReactNode;
38
+ export declare const toPixels: (value: string | number | undefined) => number;
39
+ export {};
@@ -3,7 +3,7 @@ import { CSSObject } from 'styled-components';
3
3
  import { InputSizeV2 } from '../inputV2.types';
4
4
  import { SingleSelectV2Props, SingleSelectV2Size } from '../../SingleSelectV2/singleSelectV2.types';
5
5
  import { SelectV2Alignment } from '../../SelectV2/selectV2.shared.types';
6
- export declare enum DropdownPosition {
6
+ export declare enum TextInputV2DropdownPosition {
7
7
  LEFT = "left",
8
8
  RIGHT = "right"
9
9
  }
@@ -12,7 +12,7 @@ export declare enum DropdownPosition {
12
12
  * All `SingleSelectV2` props are forwarded; the host applies embed defaults (e.g. `NO_CONTAINER`, `inline`, input-linked `size`/`disabled`, merged `menuPosition`).
13
13
  */
14
14
  export type TextInputV2Dropdown = SingleSelectV2Props & {
15
- position: DropdownPosition;
15
+ position: TextInputV2DropdownPosition;
16
16
  };
17
17
  export type TextInputV2Props = {
18
18
  value: string;
@@ -1,3 +1,5 @@
1
1
  export { default as TextInputV2 } from './TextInputV2';
2
2
  export * from './TextInputV2.types';
3
3
  export * from './TextInputV2.tokens';
4
+ export * from './utils';
5
+ export { InputSizeV2 } from '../inputV2.types';
@@ -7,4 +7,4 @@ export declare const generateAccessibilityIds: (baseId: string) => {
7
7
  groupId: string;
8
8
  firstInputId: string;
9
9
  };
10
- export declare const getInteractionState: (state: InputStateV2) => "default" | "hover" | "disabled" | "focus" | "error";
10
+ export declare const getInteractionState: (state: InputStateV2) => "default" | "hover" | "focus" | "error" | "disabled";
@@ -16,7 +16,7 @@ declare const KeyValuePairV2: import('react').ForwardRefExoticComponent<{
16
16
  };
17
17
  keyValuePairState?: KeyValuePairV2StateType;
18
18
  maxWidth?: string;
19
- textOverflow?: import('./keyValuePairV2.types').TextOverflowMode;
19
+ textOverflow?: import('./keyValuePairV2.types').KeyValuePairV2TextOverflowMode;
20
20
  maxLines?: number;
21
21
  showTooltipOnTruncate?: boolean;
22
22
  } & Omit<import('react').HTMLAttributes<HTMLDivElement>, "style" | "className" | "slot" | "onChange"> & import('react').RefAttributes<HTMLDivElement>>;
@@ -1,13 +1,13 @@
1
1
  import { default as React } from 'react';
2
2
  import { CSSObject } from 'styled-components';
3
- import { TextOverflowMode } from './responsiveTextStyles';
3
+ import { KeyValuePairV2TextOverflowMode } from './responsiveTextStyles';
4
4
  export type ResponsiveTextProps = {
5
5
  children: string;
6
6
  fontSize: CSSObject['fontSize'];
7
7
  color: CSSObject['color'];
8
8
  className?: string;
9
9
  fontWeight?: CSSObject['fontWeight'];
10
- textOverflow?: TextOverflowMode;
10
+ textOverflow?: KeyValuePairV2TextOverflowMode;
11
11
  maxLines?: number;
12
12
  showTooltipOnTruncate?: boolean;
13
13
  as?: React.ElementType;
@@ -1,3 +1,6 @@
1
1
  export { default as KeyValuePairV2 } from './KeyValuePairV2';
2
+ export { KeyValuePairLayout } from './KeyValuePairLayout';
3
+ export { ResponsiveText } from './ResponsiveText';
2
4
  export * from './keyValuePairV2.types';
3
5
  export * from './keyValuePairV2.tokens';
6
+ export * from './utils';
@@ -8,7 +8,7 @@ export declare enum KeyValuePairV2Size {
8
8
  MD = "md",
9
9
  LG = "lg"
10
10
  }
11
- export type TextOverflowMode = 'truncate' | 'wrap' | 'wrap-clamp';
11
+ export type KeyValuePairV2TextOverflowMode = 'truncate' | 'wrap' | 'wrap-clamp';
12
12
  export type KeyValuePairV2PropTypes = {
13
13
  keyString: string;
14
14
  size?: KeyValuePairV2Size;
@@ -22,7 +22,7 @@ export type KeyValuePairV2PropTypes = {
22
22
  };
23
23
  keyValuePairState?: KeyValuePairV2StateType;
24
24
  maxWidth?: string;
25
- textOverflow?: TextOverflowMode;
25
+ textOverflow?: KeyValuePairV2TextOverflowMode;
26
26
  maxLines?: number;
27
27
  showTooltipOnTruncate?: boolean;
28
28
  } & Omit<HTMLAttributes<HTMLDivElement>, 'className' | 'style' | 'slot' | 'onChange'>;
@@ -1,4 +1,4 @@
1
1
  import { CSSObject } from 'styled-components';
2
- export type TextOverflowMode = 'truncate' | 'wrap' | 'wrap-clamp';
3
- export declare const getTextStyles: (textOverflow: TextOverflowMode, maxLines: number, slotPresent: boolean) => CSSObject;
4
- export declare const getPrimitiveTextStyles: (textOverflow: TextOverflowMode) => CSSObject;
2
+ export type KeyValuePairV2TextOverflowMode = 'truncate' | 'wrap' | 'wrap-clamp';
3
+ export declare const getTextStyles: (textOverflow: KeyValuePairV2TextOverflowMode, maxLines: number, slotPresent: boolean) => CSSObject;
4
+ export declare const getPrimitiveTextStyles: (textOverflow: KeyValuePairV2TextOverflowMode) => CSSObject;
@@ -1,10 +1,10 @@
1
1
  import { CSSObject } from 'styled-components';
2
- import { TextOverflowMode, KeyValuePairV2StateType } from './keyValuePairV2.types';
2
+ import { KeyValuePairV2TextOverflowMode, KeyValuePairV2StateType } from './keyValuePairV2.types';
3
3
  import { KeyValuePairV2TokensType } from './keyValuePairV2.tokens';
4
4
  /**
5
5
  * Get container styles based on text overflow mode and max width
6
6
  */
7
- export declare const getContainerStyles: (textOverflow: TextOverflowMode, maxWidth: string) => CSSObject;
7
+ export declare const getKeyValuePairV2ContainerStyles: (textOverflow: KeyValuePairV2TextOverflowMode, maxWidth: string) => CSSObject;
8
8
  /**
9
9
  * Get flex direction and gap based on layout state
10
10
  */
@@ -1,5 +1,6 @@
1
1
  export { default as MenuV2 } from './MenuV2';
2
2
  export { default as MenuV2Content } from './MenuV2Content';
3
+ export type { MenuV2ContentProps } from './MenuV2Content';
3
4
  export { default as MenuV2Item } from './MenuV2Item';
4
5
  export { default as MenuV2SubMenu } from './MenuV2SubMenu';
5
6
  export * from './menuV2.types';
@@ -3,7 +3,7 @@ import { MenuV2GroupType, MenuV2ItemType } from './menuV2.types';
3
3
  import { MenuV2TokensType, MenuV2ItemStates } from './menuV2.tokens';
4
4
  type MenuV2ItemTokens = MenuV2TokensType['group']['item'];
5
5
  export declare const getItemSlots: (item: MenuV2ItemType) => [ReactNode?];
6
- export declare const filterMenuItem: (item: MenuV2ItemType, lower: string) => MenuV2ItemType | null;
6
+ export declare const filterMenuV2Item: (item: MenuV2ItemType, lower: string) => MenuV2ItemType | null;
7
7
  export declare const getMenuItemBackgroundColor: (state: MenuV2ItemStates, itemTokens: MenuV2ItemTokens, item: MenuV2ItemType) => string | undefined;
8
8
  export declare const getMenuItemOptionColor: (state: MenuV2ItemStates, itemTokens: MenuV2ItemTokens, item: MenuV2ItemType) => string | undefined;
9
9
  export declare const getMenuItemDescriptionColor: (state: MenuV2ItemStates, itemTokens: MenuV2ItemTokens, item: MenuV2ItemType) => string | undefined;
@@ -22,5 +22,5 @@ export type MenuV2FlatRow = {
22
22
  itemIndex: number;
23
23
  };
24
24
  export declare const flattenMenuV2Groups: (groups: MenuV2GroupType[]) => MenuV2FlatRow[];
25
- export declare const filterMenuGroups: (groups: MenuV2GroupType[], searchText: string) => MenuV2GroupType[];
25
+ export declare const filterMenuV2Groups: (groups: MenuV2GroupType[], searchText: string) => MenuV2GroupType[];
26
26
  export {};
@@ -8,6 +8,9 @@ export { default as MultiSelectV2MenuItems } from './MultiSelectV2MenuItems';
8
8
  export { default as MultiSelectV2MenuActions } from './MultiSelectV2MenuActions';
9
9
  export { default as MultiSelectV2Trigger } from './MultiSelectV2Trigger';
10
10
  export { default as MobileMultiSelectV2 } from './MobileMultiSelectV2';
11
+ export { default as MultiSelectV2MenuItem } from './MultiSelectV2MenuItem';
12
+ export { default as MultiSelectV2SubMenu } from './MultiSelectV2SubMenu';
13
+ export { default as MultiSelectV2SelectAllItem } from './MultiSelectV2SelectAllItem';
11
14
  export type { MultiSelectV2Props } from './multiSelectV2.types';
12
15
  export * from './multiSelectV2.types';
13
16
  export * from './multiSelectV2.tokens';
@@ -62,7 +62,7 @@ export type MultiSelectV2MenuProps = {
62
62
  customValueLabel?: string;
63
63
  menuId?: string;
64
64
  };
65
- export type MenuRootProps = SelectV2MenuRootPropsBase & {
65
+ export type MultiSelectV2MenuRootProps = SelectV2MenuRootPropsBase & {
66
66
  onInteractOutside?: (e: Event) => void;
67
67
  onPointerDownOutside?: (e: Event) => void;
68
68
  };
@@ -4,14 +4,14 @@ export declare const getSelectAllState: (selected: string[], availableValues: st
4
4
  allSelected: boolean;
5
5
  someSelected: boolean;
6
6
  };
7
- export declare const getValueLabelMap: (groups: MultiSelectV2GroupType[]) => Record<string, string>;
7
+ export declare const getMultiSelectV2ValueLabelMap: (groups: MultiSelectV2GroupType[]) => Record<string, string>;
8
8
  export declare function getMultiSelectBorderRadius(size: MultiSelectV2Size, variant: MultiSelectV2Variant, multiSelectGroupPosition: 'center' | 'left' | 'right' | undefined, tokens: MultiSelectV2TokensType, shouldShowClearButton: boolean): string;
9
9
  export declare function getMultiSelectCrossBorderRadius(size: MultiSelectV2Size, variant: MultiSelectV2Variant, multiSelectGroupPosition: 'center' | 'left' | 'right' | undefined, tokens: MultiSelectV2TokensType): {
10
10
  borderRadius: string;
11
11
  borderRight?: string;
12
12
  };
13
13
  export declare const getFilteredMenuItem: (item: MultiSelectV2ItemType, queryLower: string) => MultiSelectV2ItemType | null;
14
- export declare const filterMenuGroups: (groups: MultiSelectV2GroupType[], searchText: string) => MultiSelectV2GroupType[];
14
+ export declare const filterMultiSelectV2MenuGroups: (groups: MultiSelectV2GroupType[], searchText: string) => MultiSelectV2GroupType[];
15
15
  export declare const getAllAvailableValues: (groups: MultiSelectV2GroupType[]) => string[];
16
16
  export declare const handleSelectAll: (selectAll: boolean, items: MultiSelectV2GroupType[], selectedValues: string[], onChange: (value: string) => void) => void;
17
17
  export declare const flattenMenuGroups: (groups: MultiSelectV2GroupType[]) => FlattenedMultiSelectV2Item[];
@@ -1,3 +1,6 @@
1
1
  export { default as ProgressBarV2 } from './ProgressBarV2';
2
+ export { CircularProgressBarV2 } from './CircularProgressBarV2';
3
+ export { LinearProgressBarV2 } from './LinearProgressBarV2';
2
4
  export * from './progressBarV2.tokens';
3
5
  export * from './progressBarV2.types';
6
+ export * from './utils';
@@ -18,7 +18,7 @@ export declare const getProgressBarValueState: (value: number, min: number, max:
18
18
  };
19
19
  export declare const calculatePercentage: (value: number, min: number, max: number) => number;
20
20
  export declare const parseTokenValue: (tokenValue: string | number | undefined, fallback: number) => number;
21
- export declare const extractAriaProps: (rest: Record<string, unknown> | undefined) => {
21
+ export declare const extractProgressBarV2AriaProps: (rest: Record<string, unknown> | undefined) => {
22
22
  "aria-label"?: string;
23
23
  "aria-labelledby"?: string;
24
24
  restProps: Record<string, unknown>;
@@ -3,7 +3,6 @@ import { RadioTokensType } from './radio.token';
3
3
  export declare const StyledRadioInput: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<import('react').DetailedHTMLProps<import('react').InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, {
4
4
  size: RadioSize;
5
5
  $isDisabled: boolean;
6
- $isChecked: boolean;
7
6
  $error?: boolean;
8
7
  $tokens: RadioTokensType;
9
8
  }>> & string;
@@ -2,3 +2,4 @@ export { default as SelectItemV2 } from './SelectItemV2';
2
2
  export type { SelectItemV2Props, SingleSelectItemV2Props, MultiSelectItemV2Props, SelectV2ItemType, SelectV2MenuItemTokensBase, } from './types';
3
3
  export { SELECT_V2_MENU_Z_INDEX } from './selectV2.constants';
4
4
  export * from './selectV2.shared.types';
5
+ export * from './useSelectV2MenuBehavior';
@@ -1,3 +1,7 @@
1
1
  export { default as CheckboxV2 } from './CheckboxV2';
2
+ export { StyledCheckboxRoot, StyledCheckboxIndicator } from './StyledCheckboxV2';
3
+ export * from './checkboxV2.animations';
2
4
  export * from './checkboxV2.types';
3
5
  export * from './checkboxV2.tokens';
6
+ export * from './utils';
7
+ export { SelectorV2Size } from '../selectorV2.types';
@@ -58,7 +58,7 @@ export declare const getSubtextId: (uniqueId: string, hasSubtext: boolean) => st
58
58
  * Merges custom aria-describedby with subtext ID
59
59
  * WCAG 4.1.2: Supports multiple IDs space-separated
60
60
  */
61
- export declare const mergeAriaDescribedBy: (subtextId: string | undefined, customAriaDescribedBy?: string) => string | undefined;
61
+ export declare const mergeCheckboxV2AriaDescribedBy: (subtextId: string | undefined, customAriaDescribedBy?: string) => string | undefined;
62
62
  /**
63
63
  * Handles keyboard interaction for checkbox root.
64
64
  * - On Enter: toggles checked state (indeterminate -> true, otherwise toggles boolean)
@@ -1,3 +1,6 @@
1
1
  export { default as RadioV2 } from './RadioV2';
2
+ export { RadioV2Content } from './RadioV2';
3
+ export { StyledRadioV2Root } from './StyledRadioV2';
2
4
  export * from './radioV2.types';
3
5
  export * from './radioV2.tokens';
6
+ export { SelectorV2Size } from '../selectorV2.types';
@@ -1,3 +1,4 @@
1
1
  export { default as SwitchV2 } from './SwitchV2';
2
2
  export * from './switchV2.types';
3
3
  export * from './switchV2.tokens';
4
+ export { SelectorV2Size } from '../selectorV2.types';
@@ -11,7 +11,7 @@ export type SidebarContentProps = {
11
11
  sidebarNavId?: string;
12
12
  showTopBlur: boolean;
13
13
  showBottomBlur: boolean;
14
- data: DirectoryData[];
14
+ data: DirectoryData[] | null;
15
15
  idPrefix: string;
16
16
  activeItem?: string | null;
17
17
  onActiveItemChange?: (item: string | null) => void;
@@ -1,11 +1,19 @@
1
1
  import { ReactNode } from 'react';
2
+ import { BadgeColor, BadgePosition, BadgeSize } from '../Badge/Badge.types';
2
3
  import { DirectoryData, NavbarItem } from '../Directory/types';
3
4
  import { MerchantInfo } from '../Topbar/types';
5
+ export type TenantBadge = {
6
+ text: string;
7
+ size?: BadgeSize;
8
+ color?: BadgeColor;
9
+ position?: BadgePosition;
10
+ };
4
11
  export type LeftPanelItem = {
5
12
  label: string;
6
13
  icon: ReactNode;
7
14
  value?: string;
8
15
  showInPanel?: boolean;
16
+ badge?: TenantBadge;
9
17
  };
10
18
  export type LeftPanelInfo = {
11
19
  items: LeftPanelItem[];
@@ -20,6 +28,7 @@ export type TenantItem = {
20
28
  value?: string;
21
29
  icon: ReactNode;
22
30
  showInPanel?: boolean;
31
+ badge?: TenantBadge;
23
32
  };
24
33
  export type SidebarMerchantInfo = {
25
34
  items: Array<{
@@ -34,7 +43,7 @@ export type SidebarStateChangeType = 'collapsed' | 'expanded' | 'intermediate';
34
43
  export type SidebarProps = {
35
44
  showLeftPanel?: boolean;
36
45
  children: ReactNode;
37
- data: DirectoryData[];
46
+ data: DirectoryData[] | null;
38
47
  leftPanel?: LeftPanelInfo;
39
48
  topbar: ReactNode;
40
49
  footer?: ReactNode;
@@ -20,7 +20,7 @@ export declare const getDefaultMerchantInfo: () => {
20
20
  };
21
21
  export declare const useTopbarAutoHide: (enableTopbarAutoHide: boolean) => boolean;
22
22
  export declare const isControlledSidebar: (isExpanded: boolean | undefined) => boolean;
23
- export declare const getMobileNavigationItems: (directory: DirectoryData[]) => MobileNavigationItem[];
23
+ export declare const getMobileNavigationItems: (directory?: DirectoryData[] | null) => MobileNavigationItem[];
24
24
  /**
25
25
  * Parse CSS unit values to numbers (e.g., "16px" -> 16)
26
26
  * Returns 0 for invalid values
@@ -18,7 +18,7 @@ export type SidebarV2PanelProps = {
18
18
  sidebarCollapseKey: string;
19
19
  onToggle: () => void;
20
20
  sidebarNavId?: string;
21
- data: DirectoryData[];
21
+ data: DirectoryData[] | null;
22
22
  idPrefix: string;
23
23
  activeItem?: string | null;
24
24
  onActiveItemChange?: (item: string | null) => void;
@@ -1,5 +1,10 @@
1
1
  export { default as SidebarV2 } from './SidebarV2';
2
2
  export { default as SidebarV2Panel } from './SidebarV2Panel';
3
- export type { SecondarySidebarInfo, SecondarySidebarItem, SidebarV2Props, SidebarV2StateChangeType, } from './types';
3
+ export { default as SidebarV2Header } from './SidebarV2Header';
4
+ export { default as SidebarV2Footer } from './SidebarV2Footer';
5
+ export { SecondarySidebar } from './SecondarySidebar';
6
+ export type { SecondarySidebarInfo, SecondarySidebarItem, SidebarV2Props, SidebarV2StateChangeType, TenantBadge, } from './types';
4
7
  export { SidebarV2StateChange } from './types';
5
8
  export type { SidebarV2PanelProps } from './SidebarV2Panel';
9
+ export * from './sidebarV2.tokens';
10
+ export * from './utils';
@@ -1,6 +1,8 @@
1
1
  import { ButtonHTMLAttributes, ReactNode } from 'react';
2
2
  import { DirectoryData } from '../Directory/types';
3
3
  import { MerchantInfo } from '../Topbar/types';
4
+ import { TenantBadge } from '../Sidebar/types';
5
+ export type { TenantBadge } from '../Sidebar/types';
4
6
  export declare enum SidebarV2StateChange {
5
7
  COLLAPSED = "collapsed",
6
8
  EXPANDED = "expanded",
@@ -11,6 +13,7 @@ export type SecondarySidebarItem = {
11
13
  label: string;
12
14
  value: string;
13
15
  icon: ReactNode;
16
+ badge?: TenantBadge;
14
17
  };
15
18
  export type SecondarySidebarInfo = {
16
19
  items: SecondarySidebarItem[];
@@ -1,3 +1,3 @@
1
- import { VirtualListProps } from './singleSelectV2.types';
2
- declare const SingleSelectV2VirtualList: ({ flattenedItems, selected, onSelect, singleSelectTokens, size, variant, virtualViewportHeight, virtualItems, totalSize, measureElement, loadingComponent, hasMore, virtualScrollRef, }: VirtualListProps) => import("react/jsx-runtime").JSX.Element;
1
+ import { SingleSelectV2VirtualListProps } from './singleSelectV2.types';
2
+ declare const SingleSelectV2VirtualList: ({ flattenedItems, selected, onSelect, singleSelectTokens, size, variant, virtualViewportHeight, virtualItems, totalSize, measureElement, loadingComponent, hasMore, virtualScrollRef, }: SingleSelectV2VirtualListProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default SingleSelectV2VirtualList;
@@ -6,6 +6,9 @@ export { default as SingleSelectV2List } from './SingleSelectV2List';
6
6
  export { default as SingleSelectV2VirtualList } from './SingleSelectV2VirtualList';
7
7
  export { default as SingleSelectV2Search } from './SingleSelectV2Search';
8
8
  export { default as SingleSelectV2Skeleton } from './SingleSelectV2Skeleton';
9
+ export { SubMenu, MenuItem } from './SingleSelectV2MenuItems';
10
+ export type { SubMenuProps, MenuItemProps } from './SingleSelectV2MenuItems';
11
+ export { menuContentAnimations, submenuContentAnimations, hoverTransition, } from './singleSelectV2.animations';
9
12
  export * from './singleSelectV2.types';
10
13
  export * from './singleSelectV2.tokens';
11
14
  export * from './utils';
@@ -57,7 +57,7 @@ export type VirtualItemShape = {
57
57
  index: number;
58
58
  start: number;
59
59
  };
60
- export type VirtualListProps = MenuListSharedProps & {
60
+ export type SingleSelectV2VirtualListProps = MenuListSharedProps & {
61
61
  flattenedItems: FlattenedItem[];
62
62
  virtualViewportHeight: number;
63
63
  virtualItems: VirtualItemShape[];
@@ -77,7 +77,7 @@ export type MenuSearchProps = {
77
77
  searchInputRef: RefObject<HTMLInputElement | null>;
78
78
  containerRef?: RefObject<HTMLDivElement | null>;
79
79
  };
80
- export type MenuRootProps = SelectV2MenuRootPropsBase;
80
+ export type SingleSelectV2MenuRootProps = SelectV2MenuRootPropsBase;
81
81
  export type SingleSelectV2MenuProps = {
82
82
  items: SingleSelectV2GroupType[];
83
83
  selected: string;