@juspay/blend-design-system 0.0.37-beta.4 → 0.0.37-beta.6

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 (459) hide show
  1. package/dist/components/AccordionV2/accordionV2.dark.tokens.d.ts +1 -1
  2. package/dist/components/AccordionV2/accordionV2.light.tokens.d.ts +1 -1
  3. package/dist/components/AccordionV2/accordionV2.tokens.d.ts +2 -67
  4. package/dist/components/AccordionV2/accordionV2.tokens.types.d.ts +67 -0
  5. package/dist/components/AlertV2/alertV2.dark.tokens.d.ts +1 -1
  6. package/dist/components/AlertV2/alertV2.light.tokens.d.ts +1 -1
  7. package/dist/components/AlertV2/alertV2.tokens.d.ts +2 -84
  8. package/dist/components/AlertV2/alertV2.tokens.types.d.ts +84 -0
  9. package/dist/components/Avatar/types.d.ts +1 -1
  10. package/dist/components/AvatarGroup/types.d.ts +1 -1
  11. package/dist/components/AvatarV2/avatarV2.dark.tokens.d.ts +1 -1
  12. package/dist/components/AvatarV2/avatarV2.light.tokens.d.ts +1 -1
  13. package/dist/components/AvatarV2/avatarV2.tokens.d.ts +2 -67
  14. package/dist/components/AvatarV2/avatarV2.tokens.types.d.ts +67 -0
  15. package/dist/components/Badge/badge.dark.tokens.d.ts +1 -1
  16. package/dist/components/Badge/badge.light.tokens.d.ts +1 -1
  17. package/dist/components/Badge/badge.tokens.d.ts +2 -52
  18. package/dist/components/Badge/badge.tokens.types.d.ts +52 -0
  19. package/dist/components/Breadcrumb/Breadcrumb.d.ts +2 -5
  20. package/dist/components/Breadcrumb/types.d.ts +7 -1
  21. package/dist/components/BreadcrumbV2/BreadcrumbV2.d.ts +13 -1
  22. package/dist/components/BreadcrumbV2/breadcrumbV2.dark.tokens.d.ts +1 -1
  23. package/dist/components/BreadcrumbV2/breadcrumbV2.light.tokens.d.ts +1 -1
  24. package/dist/components/BreadcrumbV2/breadcrumbV2.tokens.d.ts +2 -28
  25. package/dist/components/BreadcrumbV2/breadcrumbV2.tokens.types.d.ts +28 -0
  26. package/dist/components/BreadcrumbV2/breadcrumbV2.types.d.ts +0 -11
  27. package/dist/components/ButtonGroup/types.d.ts +1 -1
  28. package/dist/components/ButtonV2/buttonV2.dark.tokens.d.ts +1 -1
  29. package/dist/components/ButtonV2/buttonV2.light.tokens.d.ts +1 -1
  30. package/dist/components/ButtonV2/buttonV2.tokens.d.ts +2 -64
  31. package/dist/components/ButtonV2/buttonV2.tokens.types.d.ts +64 -0
  32. package/dist/components/Card/types.d.ts +1 -1
  33. package/dist/components/Charts/ChartUtils.d.ts +2 -0
  34. package/dist/components/Charts/types.d.ts +4 -4
  35. package/dist/components/ChartsV2/chartV2.dark.tokens.d.ts +1 -1
  36. package/dist/components/ChartsV2/chartV2.light.tokens.d.ts +1 -1
  37. package/dist/components/ChartsV2/chartV2.tokens.d.ts +2 -99
  38. package/dist/components/ChartsV2/chartV2.tokens.types.d.ts +99 -0
  39. package/dist/components/ChartsV2/chartV2.types.d.ts +2 -2
  40. package/dist/components/ChatInput/AttachmentFile.d.ts +2 -1
  41. package/dist/components/ChatInput/ChatInput.d.ts +5 -5
  42. package/dist/components/ChatInput/MobileChatInput.d.ts +2 -1
  43. package/dist/components/ChatInput/getDocIcon.d.ts +3 -0
  44. package/dist/components/CodeEditorV2/codeEditorV2.dark.tokens.d.ts +1 -1
  45. package/dist/components/CodeEditorV2/codeEditorV2.light.token.d.ts +1 -1
  46. package/dist/components/CodeEditorV2/codeEditorV2.tokens.d.ts +2 -91
  47. package/dist/components/CodeEditorV2/codeEditorV2.tokens.types.d.ts +95 -0
  48. package/dist/components/CodeEditorV2/codeEditorV2.types.d.ts +2 -6
  49. package/dist/components/DateRangePicker/types.d.ts +1 -1
  50. package/dist/components/DateRangePicker/utils.d.ts +2 -0
  51. package/dist/components/Directory/Directory.d.ts +1 -1
  52. package/dist/components/Directory/types.d.ts +1 -1
  53. package/dist/components/Directory/utils.d.ts +2 -0
  54. package/dist/components/InputsV2/ChatInputV2/ChatInputV2.dark.tokens.d.ts +1 -1
  55. package/dist/components/InputsV2/ChatInputV2/ChatInputV2.light.tokens.d.ts +1 -1
  56. package/dist/components/InputsV2/ChatInputV2/ChatInputV2.tokens.d.ts +2 -121
  57. package/dist/components/InputsV2/ChatInputV2/ChatInputV2.tokens.types.d.ts +121 -0
  58. package/dist/components/InputsV2/ChatInputV2/ChatInputV2Mobile.dark.tokens.d.ts +1 -1
  59. package/dist/components/InputsV2/ChatInputV2/ChatInputV2Mobile.light.tokens.d.ts +1 -1
  60. package/dist/components/InputsV2/ChatInputV2/ChatInputV2Mobile.tokens.d.ts +2 -56
  61. package/dist/components/InputsV2/ChatInputV2/ChatInputV2Mobile.tokens.types.d.ts +56 -0
  62. package/dist/components/InputsV2/ChatInputV2/MobileChatInputV2.d.ts +1 -1
  63. package/dist/components/InputsV2/MultiValueInputV2/MultiValueInputV2.dark.tokens.d.ts +1 -1
  64. package/dist/components/InputsV2/MultiValueInputV2/MultiValueInputV2.light.tokens.d.ts +1 -1
  65. package/dist/components/InputsV2/MultiValueInputV2/MultiValueInputV2.tokens.d.ts +2 -71
  66. package/dist/components/InputsV2/MultiValueInputV2/MultiValueInputV2.tokens.types.d.ts +71 -0
  67. package/dist/components/InputsV2/NumberInputV2/NumberInputV2.d.ts +1 -1
  68. package/dist/components/InputsV2/NumberInputV2/NumberInputV2.dark.tokens.d.ts +1 -1
  69. package/dist/components/InputsV2/NumberInputV2/NumberInputV2.light.tokens.d.ts +1 -1
  70. package/dist/components/InputsV2/NumberInputV2/numberInputV2.tokens.d.ts +2 -132
  71. package/dist/components/InputsV2/NumberInputV2/numberInputV2.tokens.types.d.ts +132 -0
  72. package/dist/components/InputsV2/OTPInputV2/OTPInputV2.dark.tokens.d.ts +1 -1
  73. package/dist/components/InputsV2/OTPInputV2/OTPInputV2.light.tokens.d.ts +1 -1
  74. package/dist/components/InputsV2/OTPInputV2/OTPInputV2.tokens.d.ts +2 -31
  75. package/dist/components/InputsV2/OTPInputV2/OTPInputV2.tokens.types.d.ts +31 -0
  76. package/dist/components/InputsV2/SearchInputV2/SearchInputV2.dark.tokens.d.ts +1 -1
  77. package/dist/components/InputsV2/SearchInputV2/SearchInputV2.light.tokens.d.ts +1 -1
  78. package/dist/components/InputsV2/SearchInputV2/SearchInputV2.tokens.d.ts +2 -89
  79. package/dist/components/InputsV2/SearchInputV2/SearchInputV2.tokens.types.d.ts +89 -0
  80. package/dist/components/InputsV2/TextAreaV2/TextAreaV2.dark.tokens.d.ts +1 -1
  81. package/dist/components/InputsV2/TextAreaV2/TextAreaV2.light.tokens.d.ts +1 -1
  82. package/dist/components/InputsV2/TextAreaV2/TextAreaV2.tokens.d.ts +2 -60
  83. package/dist/components/InputsV2/TextAreaV2/TextAreaV2.tokens.types.d.ts +60 -0
  84. package/dist/components/InputsV2/TextInputV2/TextInputV2.dark.tokens.d.ts +1 -1
  85. package/dist/components/InputsV2/TextInputV2/TextInputV2.light.tokens.d.ts +1 -1
  86. package/dist/components/InputsV2/TextInputV2/TextInputV2.tokens.d.ts +2 -133
  87. package/dist/components/InputsV2/TextInputV2/TextInputV2.tokens.types.d.ts +133 -0
  88. package/dist/components/KeyValuePairV2/keyValuePairV2.dark.tokens.d.ts +1 -1
  89. package/dist/components/KeyValuePairV2/keyValuePairV2.light.tokens.d.ts +1 -1
  90. package/dist/components/KeyValuePairV2/keyValuePairV2.tokens.d.ts +2 -25
  91. package/dist/components/KeyValuePairV2/keyValuePairV2.tokens.types.d.ts +25 -0
  92. package/dist/components/Menu/types.d.ts +1 -1
  93. package/dist/components/MenuV2/menuV2.dark.tokens.d.ts +1 -1
  94. package/dist/components/MenuV2/menuV2.light.tokens.d.ts +1 -1
  95. package/dist/components/MenuV2/menuV2.tokens.d.ts +2 -88
  96. package/dist/components/MenuV2/menuV2.tokens.types.d.ts +89 -0
  97. package/dist/components/Modal/types.d.ts +2 -2
  98. package/dist/components/MultiSelect/types.d.ts +1 -1
  99. package/dist/components/MultiSelectV2/multiSelectV2.dark.tokens.d.ts +1 -1
  100. package/dist/components/MultiSelectV2/multiSelectV2.light.tokens.d.ts +1 -1
  101. package/dist/components/MultiSelectV2/multiSelectV2.tokens.d.ts +2 -213
  102. package/dist/components/MultiSelectV2/multiSelectV2.tokens.types.d.ts +213 -0
  103. package/dist/components/Popover/types.d.ts +2 -2
  104. package/dist/components/PopoverV2/popoverV2.dark.tokens.d.ts +1 -1
  105. package/dist/components/PopoverV2/popoverV2.light.tokens.d.ts +1 -1
  106. package/dist/components/PopoverV2/popoverV2.token.d.ts +2 -69
  107. package/dist/components/PopoverV2/popoverV2.tokens.types.d.ts +70 -0
  108. package/dist/components/PopoverV2/popoverV2.types.d.ts +2 -2
  109. package/dist/components/ProgressBarV2/progressBarV2.dark.tokens.d.ts +1 -1
  110. package/dist/components/ProgressBarV2/progressBarV2.light.tokens.d.ts +1 -1
  111. package/dist/components/ProgressBarV2/progressBarV2.tokens.d.ts +2 -60
  112. package/dist/components/ProgressBarV2/progressBarV2.tokens.types.d.ts +76 -0
  113. package/dist/components/ProgressBarV2/progressBarV2.types.d.ts +2 -18
  114. package/dist/components/Radio/StyledRadio.d.ts +0 -1
  115. package/dist/components/SelectV2/selectV2.shared.types.d.ts +1 -1
  116. package/dist/components/SelectorV2/CheckboxV2/checkboxV2.dark.tokens.d.ts +1 -1
  117. package/dist/components/SelectorV2/CheckboxV2/checkboxV2.light.tokens.d.ts +1 -1
  118. package/dist/components/SelectorV2/CheckboxV2/checkboxV2.tokens.d.ts +2 -91
  119. package/dist/components/SelectorV2/CheckboxV2/checkboxV2.tokens.types.d.ts +95 -0
  120. package/dist/components/SelectorV2/CheckboxV2/checkboxV2.types.d.ts +2 -6
  121. package/dist/components/SelectorV2/RadioV2/radioV2.dark.tokens.d.ts +1 -1
  122. package/dist/components/SelectorV2/RadioV2/radioV2.light.tokens.d.ts +1 -1
  123. package/dist/components/SelectorV2/RadioV2/radioV2.tokens.d.ts +2 -80
  124. package/dist/components/SelectorV2/RadioV2/radioV2.tokens.types.d.ts +80 -0
  125. package/dist/components/SelectorV2/RadioV2/radioV2.types.d.ts +2 -2
  126. package/dist/components/SelectorV2/SwitchV2/switchV2.dark.tokens.d.ts +1 -1
  127. package/dist/components/SelectorV2/SwitchV2/switchV2.light.tokens.d.ts +1 -1
  128. package/dist/components/SelectorV2/SwitchV2/switchV2.tokens.d.ts +2 -74
  129. package/dist/components/SelectorV2/SwitchV2/switchV2.tokens.types.d.ts +74 -0
  130. package/dist/components/SelectorV2/SwitchV2/switchV2.types.d.ts +2 -2
  131. package/dist/components/Sidebar/SidebarContent.d.ts +1 -1
  132. package/dist/components/Sidebar/types.d.ts +4 -16
  133. package/dist/components/Sidebar/utils.d.ts +1 -1
  134. package/dist/components/SidebarV2/SidebarV2MobileNavigation/mobile.dark.tokens.d.ts +1 -1
  135. package/dist/components/SidebarV2/SidebarV2MobileNavigation/mobile.light.tokens.d.ts +1 -1
  136. package/dist/components/SidebarV2/SidebarV2MobileNavigation/mobile.tokens.d.ts +2 -84
  137. package/dist/components/SidebarV2/SidebarV2MobileNavigation/mobile.tokens.types.d.ts +84 -0
  138. package/dist/components/SidebarV2/SidebarV2MobileNavigation/types.d.ts +1 -1
  139. package/dist/components/SidebarV2/SidebarV2Panel.d.ts +1 -1
  140. package/dist/components/SidebarV2/index.d.ts +1 -1
  141. package/dist/components/SidebarV2/sidebarV2.dark.tokens.d.ts +1 -1
  142. package/dist/components/SidebarV2/sidebarV2.light.tokens.d.ts +1 -1
  143. package/dist/components/SidebarV2/sidebarV2.tokens.d.ts +2 -103
  144. package/dist/components/SidebarV2/sidebarV2.tokens.types.d.ts +103 -0
  145. package/dist/components/SidebarV2/types.d.ts +3 -0
  146. package/dist/components/SingleSelect/types.d.ts +1 -1
  147. package/dist/components/SingleSelectV2/singleSelectV2.dark.tokens.d.ts +1 -1
  148. package/dist/components/SingleSelectV2/singleSelectV2.light.tokens.d.ts +1 -1
  149. package/dist/components/SingleSelectV2/singleSelectV2.tokens.d.ts +2 -159
  150. package/dist/components/SingleSelectV2/singleSelectV2.tokens.types.d.ts +159 -0
  151. package/dist/components/SingleSelectV2/singleSelectV2.types.d.ts +1 -1
  152. package/dist/components/SnackbarV2/snackbarV2.dark.tokens.d.ts +1 -1
  153. package/dist/components/SnackbarV2/snackbarV2.light.tokens.d.ts +1 -1
  154. package/dist/components/SnackbarV2/snackbarV2.tokens.d.ts +2 -64
  155. package/dist/components/SnackbarV2/snackbarV2.tokens.types.d.ts +64 -0
  156. package/dist/components/SplitTag/types.d.ts +1 -1
  157. package/dist/components/StatCard/types.d.ts +2 -2
  158. package/dist/components/StatCardV2/StatCardV2.d.ts +1 -0
  159. package/dist/components/StatCardV2/StatCardV2Change.d.ts +1 -1
  160. package/dist/components/StatCardV2/StatCardV2Title.d.ts +1 -1
  161. package/dist/components/StatCardV2/StatCardV2Value.d.ts +4 -1
  162. package/dist/components/StatCardV2/statcardV2.dark.tokens.d.ts +1 -1
  163. package/dist/components/StatCardV2/statcardV2.light.tokens.d.ts +1 -1
  164. package/dist/components/StatCardV2/statcardV2.tokens.d.ts +2 -78
  165. package/dist/components/StatCardV2/statcardV2.tokens.types.d.ts +86 -0
  166. package/dist/components/StatCardV2/statcardV2.types.d.ts +8 -13
  167. package/dist/components/Stepper/types.d.ts +2 -0
  168. package/dist/components/StepperV2/stepperV2.dark.tokens.d.ts +1 -1
  169. package/dist/components/StepperV2/stepperV2.light.tokens.d.ts +1 -1
  170. package/dist/components/StepperV2/stepperV2.tokens.d.ts +2 -96
  171. package/dist/components/StepperV2/stepperV2.tokens.types.d.ts +96 -0
  172. package/dist/components/TabsV2/tabsV2.dark.tokens.d.ts +1 -1
  173. package/dist/components/TabsV2/tabsV2.light.tokens.d.ts +1 -1
  174. package/dist/components/TabsV2/tabsV2.tokens.d.ts +2 -94
  175. package/dist/components/TabsV2/tabsV2.tokens.types.d.ts +94 -0
  176. package/dist/components/TagV2/tagV2.dark.tokens.d.ts +1 -1
  177. package/dist/components/TagV2/tagV2.light.tokens.d.ts +1 -1
  178. package/dist/components/TagV2/tagV2.tokens.d.ts +2 -58
  179. package/dist/components/TagV2/tagV2.tokens.types.d.ts +58 -0
  180. package/dist/components/Tags/tag.dark.tokens.d.ts +1 -1
  181. package/dist/components/Tags/tag.light.tokens.d.ts +1 -1
  182. package/dist/components/Tags/tag.tokens.d.ts +2 -56
  183. package/dist/components/Tags/tag.tokens.types.d.ts +56 -0
  184. package/dist/components/Timeline/timeline.dark.token.d.ts +1 -6
  185. package/dist/components/Timeline/timeline.light.token.d.ts +1 -6
  186. package/dist/components/Timeline/timeline.token.d.ts +2 -129
  187. package/dist/components/Timeline/timeline.tokens.types.d.ts +129 -0
  188. package/dist/components/TooltipV2/tooltipV2.dark.tokens.d.ts +1 -1
  189. package/dist/components/TooltipV2/tooltipV2.light.tokens.d.ts +1 -1
  190. package/dist/components/TooltipV2/tooltipV2.tokens.d.ts +2 -34
  191. package/dist/components/TooltipV2/tooltipV2.tokens.types.d.ts +34 -0
  192. package/dist/components/Topbar/types.d.ts +2 -10
  193. package/dist/components/TopbarV2/topbarV2.dark.tokens.d.ts +1 -1
  194. package/dist/components/TopbarV2/topbarV2.light.tokens.d.ts +1 -1
  195. package/dist/components/TopbarV2/topbarV2.tokens.d.ts +2 -80
  196. package/dist/components/TopbarV2/topbarV2.tokens.types.d.ts +80 -0
  197. package/dist/components/shared/layoutTypes.d.ts +39 -0
  198. package/dist/context/useComponentToken.d.ts +3 -3
  199. package/dist/main.js +29729 -29194
  200. package/dist/{node-C2uf3sNA.js → node-CJ_Tft0g.js} +86 -88
  201. package/dist/node.js +1 -1
  202. package/dist/tokens.js +17 -16
  203. package/lib/components/AccordionV2/accordionV2.dark.tokens.ts +1 -1
  204. package/lib/components/AccordionV2/accordionV2.light.tokens.ts +1 -1
  205. package/lib/components/AccordionV2/accordionV2.tokens.ts +6 -73
  206. package/lib/components/AccordionV2/accordionV2.tokens.types.ts +74 -0
  207. package/lib/components/AlertV2/alertV2.dark.tokens.ts +1 -1
  208. package/lib/components/AlertV2/alertV2.light.tokens.ts +1 -1
  209. package/lib/components/AlertV2/alertV2.tokens.ts +5 -78
  210. package/lib/components/AlertV2/alertV2.tokens.types.ts +79 -0
  211. package/lib/components/Avatar/Avatar.tsx +6 -1
  212. package/lib/components/Avatar/types.ts +1 -1
  213. package/lib/components/AvatarGroup/AvatarGroup.tsx +1 -1
  214. package/lib/components/AvatarGroup/types.ts +1 -1
  215. package/lib/components/AvatarV2/AvatarV2.tsx +10 -1
  216. package/lib/components/AvatarV2/avatarV2.dark.tokens.ts +1 -1
  217. package/lib/components/AvatarV2/avatarV2.light.tokens.ts +1 -1
  218. package/lib/components/AvatarV2/avatarV2.tokens.ts +5 -70
  219. package/lib/components/AvatarV2/avatarV2.tokens.types.ts +71 -0
  220. package/lib/components/Badge/badge.dark.tokens.ts +1 -1
  221. package/lib/components/Badge/badge.light.tokens.ts +1 -1
  222. package/lib/components/Badge/badge.tokens.ts +5 -55
  223. package/lib/components/Badge/badge.tokens.types.ts +56 -0
  224. package/lib/components/Breadcrumb/Breadcrumb.tsx +9 -8
  225. package/lib/components/Breadcrumb/types.ts +13 -1
  226. package/lib/components/BreadcrumbV2/BreadcrumbV2.tsx +13 -1
  227. package/lib/components/BreadcrumbV2/breadcrumbV2.dark.tokens.ts +1 -1
  228. package/lib/components/BreadcrumbV2/breadcrumbV2.light.tokens.ts +1 -1
  229. package/lib/components/BreadcrumbV2/breadcrumbV2.tokens.ts +6 -31
  230. package/lib/components/BreadcrumbV2/breadcrumbV2.tokens.types.ts +32 -0
  231. package/lib/components/BreadcrumbV2/breadcrumbV2.types.ts +0 -14
  232. package/lib/components/Button/ButtonBase.tsx +1 -1
  233. package/lib/components/ButtonGroup/types.ts +1 -1
  234. package/lib/components/ButtonV2/buttonV2.dark.tokens.ts +1 -1
  235. package/lib/components/ButtonV2/buttonV2.light.tokens.ts +1 -1
  236. package/lib/components/ButtonV2/buttonV2.tokens.ts +5 -71
  237. package/lib/components/ButtonV2/buttonV2.tokens.types.ts +72 -0
  238. package/lib/components/Card/CardComponents.tsx +52 -17
  239. package/lib/components/Card/types.ts +1 -1
  240. package/lib/components/Charts/ChartUtils.tsx +7 -0
  241. package/lib/components/Charts/Charts.tsx +4 -2
  242. package/lib/components/Charts/CoreChart.tsx +4 -2
  243. package/lib/components/Charts/renderChart.tsx +6 -2
  244. package/lib/components/Charts/types.tsx +4 -4
  245. package/lib/components/ChartsV2/ChartV2.tsx +1 -1
  246. package/lib/components/ChartsV2/chartV2.dark.tokens.ts +1 -1
  247. package/lib/components/ChartsV2/chartV2.light.tokens.ts +1 -1
  248. package/lib/components/ChartsV2/chartV2.tokens.ts +5 -101
  249. package/lib/components/ChartsV2/chartV2.tokens.types.ts +102 -0
  250. package/lib/components/ChartsV2/chartV2.types.ts +2 -2
  251. package/lib/components/ChatInput/AttachmentFile.tsx +6 -15
  252. package/lib/components/ChatInput/ChatInput.tsx +3 -34
  253. package/lib/components/ChatInput/MobileChatInput.tsx +2 -1
  254. package/lib/components/ChatInput/getDocIcon.tsx +36 -0
  255. package/lib/components/ChatInput/utils.ts +1 -1
  256. package/lib/components/Checkbox/Checkbox.tsx +29 -7
  257. package/lib/components/CodeBlock/CodeBlock.tsx +47 -1
  258. package/lib/components/CodeBlock/codeBlock.token.ts +5 -5
  259. package/lib/components/CodeEditor/CodeEditor.tsx +26 -4
  260. package/lib/components/CodeEditor/MonacoEditorWrapper.tsx +13 -1
  261. package/lib/components/CodeEditorV2/codeEditorV2.dark.tokens.ts +3 -2
  262. package/lib/components/CodeEditorV2/codeEditorV2.light.token.ts +3 -2
  263. package/lib/components/CodeEditorV2/codeEditorV2.tokens.ts +5 -83
  264. package/lib/components/CodeEditorV2/codeEditorV2.tokens.types.ts +89 -0
  265. package/lib/components/CodeEditorV2/codeEditorV2.types.ts +5 -6
  266. package/lib/components/DataTable/DataTable.tsx +9 -0
  267. package/lib/components/DataTable/DataTableHeader/index.tsx +2 -1
  268. package/lib/components/DataTable/PivotTableModal/PivotPreviewPanel.tsx +1 -0
  269. package/lib/components/DataTable/PivotTableModal/index.tsx +1 -0
  270. package/lib/components/DataTable/TableBody/BulkActionBar.tsx +1 -1
  271. package/lib/components/DataTable/TableBody/index.tsx +4 -10
  272. package/lib/components/DataTable/TableHeader/FilterComponents.tsx +4 -0
  273. package/lib/components/DateRangePicker/DateRangePicker.tsx +36 -18
  274. package/lib/components/DateRangePicker/components/ActionButtons.tsx +2 -1
  275. package/lib/components/DateRangePicker/types.ts +5 -5
  276. package/lib/components/DateRangePicker/utils.ts +5 -0
  277. package/lib/components/Directory/Directory.tsx +3 -2
  278. package/lib/components/Directory/NavItem.tsx +1 -0
  279. package/lib/components/Directory/Section.tsx +1 -0
  280. package/lib/components/Directory/types.ts +1 -1
  281. package/lib/components/Directory/utils.ts +6 -0
  282. package/lib/components/Drawer/components/DrawerBase.tsx +16 -0
  283. package/lib/components/Drawer/components/NestedSelectDrawer.tsx +13 -1
  284. package/lib/components/Drawer/components/SelectDrawer.tsx +9 -1
  285. package/lib/components/Inputs/OTPInput/OTPInput.tsx +5 -3
  286. package/lib/components/InputsV2/ChatInputV2/ChatInputV2.dark.tokens.ts +1 -1
  287. package/lib/components/InputsV2/ChatInputV2/ChatInputV2.light.tokens.ts +1 -1
  288. package/lib/components/InputsV2/ChatInputV2/ChatInputV2.tokens.ts +5 -116
  289. package/lib/components/InputsV2/ChatInputV2/ChatInputV2.tokens.types.ts +117 -0
  290. package/lib/components/InputsV2/ChatInputV2/ChatInputV2Mobile.dark.tokens.ts +1 -1
  291. package/lib/components/InputsV2/ChatInputV2/ChatInputV2Mobile.light.tokens.ts +1 -1
  292. package/lib/components/InputsV2/ChatInputV2/ChatInputV2Mobile.tokens.ts +5 -46
  293. package/lib/components/InputsV2/ChatInputV2/ChatInputV2Mobile.tokens.types.ts +47 -0
  294. package/lib/components/InputsV2/MultiValueInputV2/MultiValueInputV2.dark.tokens.ts +1 -1
  295. package/lib/components/InputsV2/MultiValueInputV2/MultiValueInputV2.light.tokens.ts +1 -1
  296. package/lib/components/InputsV2/MultiValueInputV2/MultiValueInputV2.tokens.ts +5 -67
  297. package/lib/components/InputsV2/MultiValueInputV2/MultiValueInputV2.tokens.types.ts +68 -0
  298. package/lib/components/InputsV2/NumberInputV2/NumberInputV2.dark.tokens.ts +1 -1
  299. package/lib/components/InputsV2/NumberInputV2/NumberInputV2.light.tokens.ts +1 -1
  300. package/lib/components/InputsV2/NumberInputV2/NumberInputV2.tsx +1 -1
  301. package/lib/components/InputsV2/NumberInputV2/numberInputV2.tokens.ts +7 -118
  302. package/lib/components/InputsV2/NumberInputV2/numberInputV2.tokens.types.ts +120 -0
  303. package/lib/components/InputsV2/OTPInputV2/OTPInputV2.dark.tokens.ts +1 -1
  304. package/lib/components/InputsV2/OTPInputV2/OTPInputV2.light.tokens.ts +1 -1
  305. package/lib/components/InputsV2/OTPInputV2/OTPInputV2.tokens.ts +5 -32
  306. package/lib/components/InputsV2/OTPInputV2/OTPInputV2.tokens.types.ts +36 -0
  307. package/lib/components/InputsV2/SearchInputV2/SearchInputV2.dark.tokens.ts +1 -1
  308. package/lib/components/InputsV2/SearchInputV2/SearchInputV2.light.tokens.ts +1 -1
  309. package/lib/components/InputsV2/SearchInputV2/SearchInputV2.tokens.ts +5 -90
  310. package/lib/components/InputsV2/SearchInputV2/SearchInputV2.tokens.types.ts +92 -0
  311. package/lib/components/InputsV2/TextAreaV2/TextAreaV2.dark.tokens.ts +1 -1
  312. package/lib/components/InputsV2/TextAreaV2/TextAreaV2.light.tokens.ts +1 -1
  313. package/lib/components/InputsV2/TextAreaV2/TextAreaV2.tokens.ts +5 -61
  314. package/lib/components/InputsV2/TextAreaV2/TextAreaV2.tokens.types.ts +62 -0
  315. package/lib/components/InputsV2/TextInputV2/TextInputV2.dark.tokens.ts +1 -1
  316. package/lib/components/InputsV2/TextInputV2/TextInputV2.light.tokens.ts +1 -1
  317. package/lib/components/InputsV2/TextInputV2/TextInputV2.tokens.ts +5 -134
  318. package/lib/components/InputsV2/TextInputV2/TextInputV2.tokens.types.ts +135 -0
  319. package/lib/components/KeyValuePairV2/keyValuePairV2.dark.tokens.ts +1 -1
  320. package/lib/components/KeyValuePairV2/keyValuePairV2.light.tokens.ts +1 -1
  321. package/lib/components/KeyValuePairV2/keyValuePairV2.tokens.ts +5 -26
  322. package/lib/components/KeyValuePairV2/keyValuePairV2.tokens.types.ts +27 -0
  323. package/lib/components/Menu/Menu.tsx +9 -1
  324. package/lib/components/Menu/MenuItem.tsx +1 -0
  325. package/lib/components/Menu/SubMenu.tsx +1 -0
  326. package/lib/components/Menu/types.tsx +1 -1
  327. package/lib/components/MenuV2/menuV2.dark.tokens.ts +1 -1
  328. package/lib/components/MenuV2/menuV2.light.tokens.ts +1 -1
  329. package/lib/components/MenuV2/menuV2.tokens.ts +5 -109
  330. package/lib/components/MenuV2/menuV2.tokens.types.ts +110 -0
  331. package/lib/components/Modal/types.ts +2 -2
  332. package/lib/components/Modal/useModal.ts +7 -0
  333. package/lib/components/MultiSelect/MobileMultiSelect.tsx +2 -1
  334. package/lib/components/MultiSelect/MultiSelectMenuItem.tsx +1 -0
  335. package/lib/components/MultiSelect/MultiSelectSubMenu.tsx +1 -0
  336. package/lib/components/MultiSelect/types.ts +1 -1
  337. package/lib/components/MultiSelectV2/MultiSelectV2MenuItem.tsx +1 -0
  338. package/lib/components/MultiSelectV2/MultiSelectV2Skeleton.tsx +2 -1
  339. package/lib/components/MultiSelectV2/MultiSelectV2SubMenu.tsx +1 -0
  340. package/lib/components/MultiSelectV2/multiSelectV2.dark.tokens.ts +1 -1
  341. package/lib/components/MultiSelectV2/multiSelectV2.light.tokens.ts +1 -1
  342. package/lib/components/MultiSelectV2/multiSelectV2.tokens.ts +8 -237
  343. package/lib/components/MultiSelectV2/multiSelectV2.tokens.types.ts +237 -0
  344. package/lib/components/Popover/types.ts +2 -2
  345. package/lib/components/PopoverV2/popoverV2.dark.tokens.tsx +1 -1
  346. package/lib/components/PopoverV2/popoverV2.light.tokens.tsx +1 -1
  347. package/lib/components/PopoverV2/popoverV2.token.ts +5 -69
  348. package/lib/components/PopoverV2/popoverV2.tokens.types.ts +72 -0
  349. package/lib/components/PopoverV2/popoverV2.types.ts +2 -2
  350. package/lib/components/ProgressBarV2/progressBarV2.dark.tokens.ts +1 -1
  351. package/lib/components/ProgressBarV2/progressBarV2.light.tokens.ts +1 -1
  352. package/lib/components/ProgressBarV2/progressBarV2.tokens.ts +5 -64
  353. package/lib/components/ProgressBarV2/progressBarV2.tokens.types.ts +81 -0
  354. package/lib/components/ProgressBarV2/progressBarV2.types.ts +13 -20
  355. package/lib/components/Radio/Radio.tsx +12 -5
  356. package/lib/components/Radio/StyledRadio.tsx +33 -17
  357. package/lib/components/SelectV2/selectV2.shared.types.ts +1 -1
  358. package/lib/components/SelectorV2/CheckboxV2/checkboxV2.dark.tokens.ts +1 -1
  359. package/lib/components/SelectorV2/CheckboxV2/checkboxV2.light.tokens.ts +1 -1
  360. package/lib/components/SelectorV2/CheckboxV2/checkboxV2.tokens.ts +5 -81
  361. package/lib/components/SelectorV2/CheckboxV2/checkboxV2.tokens.types.ts +87 -0
  362. package/lib/components/SelectorV2/CheckboxV2/checkboxV2.types.ts +3 -6
  363. package/lib/components/SelectorV2/RadioV2/radioV2.dark.tokens.ts +1 -1
  364. package/lib/components/SelectorV2/RadioV2/radioV2.light.tokens.ts +1 -1
  365. package/lib/components/SelectorV2/RadioV2/radioV2.tokens.ts +5 -73
  366. package/lib/components/SelectorV2/RadioV2/radioV2.tokens.types.ts +78 -0
  367. package/lib/components/SelectorV2/RadioV2/radioV2.types.ts +2 -2
  368. package/lib/components/SelectorV2/SwitchV2/switchV2.dark.tokens.ts +1 -1
  369. package/lib/components/SelectorV2/SwitchV2/switchV2.light.tokens.ts +1 -1
  370. package/lib/components/SelectorV2/SwitchV2/switchV2.tokens.ts +5 -63
  371. package/lib/components/SelectorV2/SwitchV2/switchV2.tokens.types.ts +68 -0
  372. package/lib/components/SelectorV2/SwitchV2/switchV2.types.ts +5 -2
  373. package/lib/components/Sidebar/Sidebar.tsx +12 -2
  374. package/lib/components/Sidebar/SidebarContent.tsx +6 -2
  375. package/lib/components/Sidebar/SidebarHeader.tsx +2 -12
  376. package/lib/components/Sidebar/TenantPanel.tsx +52 -34
  377. package/lib/components/Sidebar/types.ts +14 -17
  378. package/lib/components/Sidebar/utils.ts +1 -1
  379. package/lib/components/SidebarV2/SecondarySidebar.tsx +86 -44
  380. package/lib/components/SidebarV2/SidebarV2MobileNavigation/mobile.dark.tokens.ts +2 -2
  381. package/lib/components/SidebarV2/SidebarV2MobileNavigation/mobile.light.tokens.ts +2 -2
  382. package/lib/components/SidebarV2/SidebarV2MobileNavigation/mobile.tokens.ts +6 -84
  383. package/lib/components/SidebarV2/SidebarV2MobileNavigation/mobile.tokens.types.ts +85 -0
  384. package/lib/components/SidebarV2/SidebarV2MobileNavigation/types.ts +1 -1
  385. package/lib/components/SidebarV2/SidebarV2Panel.tsx +4 -2
  386. package/lib/components/SidebarV2/index.ts +1 -0
  387. package/lib/components/SidebarV2/sidebarV2.dark.tokens.ts +1 -1
  388. package/lib/components/SidebarV2/sidebarV2.light.tokens.ts +1 -1
  389. package/lib/components/SidebarV2/sidebarV2.tokens.ts +6 -105
  390. package/lib/components/SidebarV2/sidebarV2.tokens.types.ts +106 -0
  391. package/lib/components/SidebarV2/types.ts +4 -0
  392. package/lib/components/SingleSelect/SingleSelectMenu.tsx +1 -1
  393. package/lib/components/SingleSelect/types.ts +1 -1
  394. package/lib/components/SingleSelectV2/singleSelectV2.dark.tokens.ts +1 -1
  395. package/lib/components/SingleSelectV2/singleSelectV2.light.tokens.ts +1 -1
  396. package/lib/components/SingleSelectV2/singleSelectV2.tokens.ts +9 -188
  397. package/lib/components/SingleSelectV2/singleSelectV2.tokens.types.ts +188 -0
  398. package/lib/components/SingleSelectV2/singleSelectV2.types.ts +1 -1
  399. package/lib/components/SnackbarV2/snackbarV2.dark.tokens.ts +1 -1
  400. package/lib/components/SnackbarV2/snackbarV2.light.tokens.ts +1 -1
  401. package/lib/components/SnackbarV2/snackbarV2.tokens.ts +6 -66
  402. package/lib/components/SnackbarV2/snackbarV2.tokens.types.ts +66 -0
  403. package/lib/components/SplitTag/types.ts +1 -1
  404. package/lib/components/StatCard/StatCard.tsx +274 -203
  405. package/lib/components/StatCard/statcard.tokens.ts +1 -1
  406. package/lib/components/StatCard/types.ts +2 -2
  407. package/lib/components/StatCardV2/StatCardV2.tsx +5 -0
  408. package/lib/components/StatCardV2/StatCardV2Change.tsx +10 -1
  409. package/lib/components/StatCardV2/StatCardV2NoData.tsx +1 -0
  410. package/lib/components/StatCardV2/StatCardV2Skeleton.tsx +2 -1
  411. package/lib/components/StatCardV2/StatCardV2Title.tsx +185 -55
  412. package/lib/components/StatCardV2/StatCardV2Value.tsx +77 -9
  413. package/lib/components/StatCardV2/statcardV2.dark.tokens.ts +1 -1
  414. package/lib/components/StatCardV2/statcardV2.light.tokens.ts +1 -1
  415. package/lib/components/StatCardV2/statcardV2.tokens.ts +5 -79
  416. package/lib/components/StatCardV2/statcardV2.tokens.types.ts +90 -0
  417. package/lib/components/StatCardV2/statcardV2.types.ts +13 -15
  418. package/lib/components/Stepper/VerticalStepper.tsx +209 -171
  419. package/lib/components/Stepper/types.ts +2 -0
  420. package/lib/components/StepperV2/Stepper/Steps.tsx +15 -1
  421. package/lib/components/StepperV2/stepperV2.dark.tokens.ts +1 -1
  422. package/lib/components/StepperV2/stepperV2.light.tokens.ts +1 -1
  423. package/lib/components/StepperV2/stepperV2.tokens.ts +5 -100
  424. package/lib/components/StepperV2/stepperV2.tokens.types.ts +101 -0
  425. package/lib/components/TabsV2/tabsV2.dark.tokens.ts +1 -1
  426. package/lib/components/TabsV2/tabsV2.light.tokens.ts +1 -1
  427. package/lib/components/TabsV2/tabsV2.tokens.ts +5 -95
  428. package/lib/components/TabsV2/tabsV2.tokens.types.ts +96 -0
  429. package/lib/components/TagV2/tagV2.dark.tokens.ts +1 -1
  430. package/lib/components/TagV2/tagV2.light.tokens.ts +1 -1
  431. package/lib/components/TagV2/tagV2.tokens.ts +5 -69
  432. package/lib/components/TagV2/tagV2.tokens.types.ts +70 -0
  433. package/lib/components/Tags/tag.dark.tokens.ts +1 -1
  434. package/lib/components/Tags/tag.light.tokens.ts +1 -1
  435. package/lib/components/Tags/tag.tokens.ts +2 -69
  436. package/lib/components/Tags/tag.tokens.types.ts +70 -0
  437. package/lib/components/Text/Text.tsx +1 -0
  438. package/lib/components/Timeline/timeline.dark.token.ts +4 -6
  439. package/lib/components/Timeline/timeline.light.token.ts +4 -6
  440. package/lib/components/Timeline/timeline.token.ts +6 -137
  441. package/lib/components/Timeline/timeline.tokens.types.ts +138 -0
  442. package/lib/components/TooltipV2/tooltipV2.dark.tokens.ts +1 -1
  443. package/lib/components/TooltipV2/tooltipV2.light.tokens.ts +1 -1
  444. package/lib/components/TooltipV2/tooltipV2.tokens.ts +5 -46
  445. package/lib/components/TooltipV2/tooltipV2.tokens.types.ts +47 -0
  446. package/lib/components/Topbar/types.ts +5 -11
  447. package/lib/components/TopbarV2/topbarV2.dark.tokens.ts +1 -1
  448. package/lib/components/TopbarV2/topbarV2.light.tokens.ts +1 -1
  449. package/lib/components/TopbarV2/topbarV2.tokens.ts +6 -69
  450. package/lib/components/TopbarV2/topbarV2.tokens.types.ts +70 -0
  451. package/lib/components/Upload/Upload.tsx +6 -0
  452. package/lib/components/Upload/components/FileListDisplay.tsx +161 -16
  453. package/lib/components/Upload/utils.ts +10 -2
  454. package/lib/components/shared/layoutTypes.ts +44 -0
  455. package/lib/context/ThemeProvider.tsx +19 -8
  456. package/lib/context/useComponentToken.ts +3 -3
  457. package/lib/hooks/useDebounce.ts +9 -1
  458. package/lib/hooks/useTruncationDetection.ts +33 -8
  459. package/package.json +5 -1
@@ -0,0 +1,68 @@
1
+ import { type CSSObject } from 'styled-components'
2
+ import { type BreakpointType } from '../../../breakpoints/breakPoints'
3
+ import {
4
+ type SelectorV2Size,
5
+ type SelectorV2InteractionState,
6
+ } from '../selectorV2.types'
7
+
8
+ export type SwitchV2Variant = 'checked' | 'unchecked'
9
+
10
+ export type SwitchV2TokensType = {
11
+ gap: CSSObject['gap']
12
+ switch: {
13
+ height: {
14
+ [key in SelectorV2Size]: CSSObject['height']
15
+ }
16
+ width: {
17
+ [key in SelectorV2Size]: CSSObject['width']
18
+ }
19
+ backgroundColor: {
20
+ [key in SwitchV2Variant]: {
21
+ [key in SelectorV2InteractionState]: CSSObject['backgroundColor']
22
+ }
23
+ }
24
+ thumb: {
25
+ backgroundColor: CSSObject['backgroundColor']
26
+ border: CSSObject['border']
27
+ width: {
28
+ [key in SelectorV2Size]: CSSObject['width']
29
+ }
30
+ height: {
31
+ [key in SelectorV2Size]: CSSObject['height']
32
+ }
33
+ outline: CSSObject['outline']
34
+ }
35
+ }
36
+ content: {
37
+ gap: CSSObject['gap']
38
+ label: {
39
+ gap: CSSObject['gap']
40
+ color: {
41
+ [key in SelectorV2InteractionState]: CSSObject['color']
42
+ }
43
+ fontSize: { [key in SelectorV2Size]: CSSObject['fontSize'] }
44
+ fontWeight: { [key in SelectorV2Size]: CSSObject['fontWeight'] }
45
+ lineHeight: { [key in SelectorV2Size]: CSSObject['lineHeight'] }
46
+ slot: {
47
+ maxHeight: {
48
+ [key in SelectorV2Size]: CSSObject['maxHeight']
49
+ }
50
+ }
51
+ }
52
+ subLabel: {
53
+ color: {
54
+ [key in SelectorV2InteractionState]: CSSObject['color']
55
+ }
56
+ fontSize: { [key in SelectorV2Size]: CSSObject['fontSize'] }
57
+ fontWeight: { [key in SelectorV2Size]: CSSObject['fontWeight'] }
58
+ lineHeight: { [key in SelectorV2Size]: CSSObject['lineHeight'] }
59
+ }
60
+ required: {
61
+ color: CSSObject['color']
62
+ }
63
+ }
64
+ }
65
+
66
+ export type ResponsiveSwitchV2Tokens = {
67
+ [key in keyof BreakpointType]: SwitchV2TokensType
68
+ }
@@ -1,9 +1,12 @@
1
1
  import { ButtonHTMLAttributes, ReactElement } from 'react'
2
- import { SwitchV2TokensType } from './switchV2.tokens'
2
+ import {
3
+ type SwitchV2TokensType,
4
+ type SwitchV2Variant,
5
+ } from './switchV2.tokens.types'
3
6
  import { CSSObject } from 'styled-components'
4
7
  import { SelectorV2Size } from '../selectorV2.types'
5
8
 
6
- export type SwitchV2Variant = 'checked' | 'unchecked'
9
+ export type { SwitchV2Variant }
7
10
 
8
11
  export type SwitchV2ButtonProps = {
9
12
  id: string
@@ -323,12 +323,22 @@ const Sidebar = forwardRef<HTMLDivElement, SidebarProps>(
323
323
  passive: true,
324
324
  })
325
325
 
326
- const handleResize = () => setTimeout(updateBlurState, 50)
326
+ let resizeTimeoutId: ReturnType<typeof setTimeout> | null = null
327
+
328
+ const handleResize = () => {
329
+ if (resizeTimeoutId) {
330
+ clearTimeout(resizeTimeoutId)
331
+ }
332
+ resizeTimeoutId = setTimeout(updateBlurState, 50)
333
+ }
327
334
  window.addEventListener('resize', handleResize, { passive: true })
328
335
 
329
336
  return () => {
330
337
  scrollingElement.removeEventListener('scroll', updateBlurState)
331
338
  window.removeEventListener('resize', handleResize)
339
+ if (resizeTimeoutId) {
340
+ clearTimeout(resizeTimeoutId)
341
+ }
332
342
  }
333
343
  }, [isExpanded, data, isHovering])
334
344
 
@@ -479,7 +489,7 @@ const Sidebar = forwardRef<HTMLDivElement, SidebarProps>(
479
489
  defaultActiveItem={
480
490
  defaultActiveItem
481
491
  }
482
- iconOnlyMode={!isHovering}
492
+ iconOnlyMode={false}
483
493
  footer={footer}
484
494
  />
485
495
  </Block>
@@ -2,6 +2,7 @@ import React from 'react'
2
2
  import styled from 'styled-components'
3
3
  import Block from '../Primitives/Block/Block'
4
4
  import Directory from '../Directory/Directory'
5
+ import { normalizeDirectoryData } from '../Directory/utils'
5
6
  import SidebarHeader from './SidebarHeader'
6
7
  import SidebarFooter from './SidebarFooter'
7
8
  import type { DirectoryData } from '../Directory/types'
@@ -35,7 +36,7 @@ export type SidebarContentProps = {
35
36
  sidebarNavId?: string
36
37
  showTopBlur: boolean
37
38
  showBottomBlur: boolean
38
- data: DirectoryData[]
39
+ data: DirectoryData[] | null
39
40
  idPrefix: string
40
41
  activeItem?: string | null
41
42
  onActiveItemChange?: (item: string | null) => void
@@ -66,6 +67,8 @@ const SidebarContent: React.FC<SidebarContentProps> = ({
66
67
  setIsHovering,
67
68
  sidebarState = 'expanded',
68
69
  }) => {
70
+ const directoryData = normalizeDirectoryData(data)
71
+
69
72
  return (
70
73
  <Block
71
74
  data-element="sidebar-content"
@@ -81,6 +84,7 @@ const SidebarContent: React.FC<SidebarContentProps> = ({
81
84
  style={{
82
85
  willChange: 'width',
83
86
  transform: 'translateZ(0)',
87
+ contain: 'layout paint',
84
88
  }}
85
89
  >
86
90
  <SidebarHeader
@@ -104,7 +108,7 @@ const SidebarContent: React.FC<SidebarContentProps> = ({
104
108
  onMouseEnter={() => setIsHovering?.(true)}
105
109
  >
106
110
  <Directory
107
- directoryData={data}
111
+ directoryData={directoryData}
108
112
  idPrefix={idPrefix}
109
113
  activeItem={activeItem}
110
114
  onActiveItemChange={onActiveItemChange}
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useState } from 'react'
1
+ import React from 'react'
2
2
  import { PanelsTopLeft, UserIcon } from 'lucide-react'
3
3
  import Block from '../Primitives/Block/Block'
4
4
  import PrimitiveButton from '../Primitives/PrimitiveButton/PrimitiveButton'
@@ -57,16 +57,6 @@ const SidebarHeader: React.FC<SidebarHeaderProps> = ({
57
57
 
58
58
  const merchantData = merchantInfo || defaultMerchantInfo
59
59
 
60
- const [selectVisible, setSelectVisible] = useState(!iconOnlyMode)
61
- useEffect(() => {
62
- if (iconOnlyMode) {
63
- setSelectVisible(false)
64
- } else {
65
- const t = setTimeout(() => setSelectVisible(true), 180)
66
- return () => clearTimeout(t)
67
- }
68
- }, [iconOnlyMode])
69
-
70
60
  const headerSlot = sidebarTopSlot ? (
71
61
  iconOnlyMode ? null : (
72
62
  sidebarTopSlot
@@ -123,7 +113,7 @@ const SidebarHeader: React.FC<SidebarHeaderProps> = ({
123
113
  width={iconOnlyMode ? 0 : '100%'}
124
114
  minWidth={0}
125
115
  overflow="hidden"
126
- opacity={iconOnlyMode ? 0 : selectVisible ? 1 : 0}
116
+ opacity={iconOnlyMode ? 0 : 1}
127
117
  pointerEvents={iconOnlyMode ? 'none' : 'auto'}
128
118
  transition="opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1), flex-grow 0.35s cubic-bezier(0.4, 0, 0.2, 1)"
129
119
  style={{
@@ -13,6 +13,7 @@ import { arrangeTenants } from './utils'
13
13
  import type { TenantItem } from './types'
14
14
  import { Tooltip } from '../Tooltip'
15
15
  import { TooltipSide, TooltipSize } from '../Tooltip/types'
16
+ import { Badge, BadgeColor, BadgeSize } from '../Badge'
16
17
  import { useResponsiveTokens } from '../../hooks/useResponsiveTokens'
17
18
  import type { SidebarTokenType } from './sidebar.tokens'
18
19
 
@@ -125,6 +126,56 @@ const TenantItem: React.FC<{
125
126
  }> = ({ tenant, isSelected, onSelect }) => {
126
127
  const tokens = useResponsiveTokens<SidebarTokenType>('SIDEBAR')
127
128
 
129
+ const tenantButton = (
130
+ <PrimitiveButton
131
+ data-element="sidebar-section"
132
+ data-id={tenant.label}
133
+ data-status={isSelected ? 'selected' : 'not selected'}
134
+ type="button"
135
+ onClick={onSelect}
136
+ backgroundColor={tokens.leftPanel.item.backgroundColor.default}
137
+ width={tokens.leftPanel.item.width}
138
+ height={tokens.leftPanel.item.width}
139
+ borderRadius={tokens.leftPanel.item.borderRadius}
140
+ display="flex"
141
+ alignItems="center"
142
+ justifyContent="center"
143
+ cursor="pointer"
144
+ border={
145
+ isSelected
146
+ ? tokens.leftPanel.item.border.active
147
+ : tokens.leftPanel.item.border.default
148
+ }
149
+ aria-label={`Select tenant: ${tenant.label}`}
150
+ aria-pressed={isSelected}
151
+ style={{
152
+ transition: 'all 75ms ease',
153
+ }}
154
+ _hover={{
155
+ backgroundColor: tokens.leftPanel.item.backgroundColor.hover,
156
+ outline: isSelected
157
+ ? tokens.leftPanel.item.border.active
158
+ : tokens.leftPanel.item.border.hover,
159
+ }}
160
+ >
161
+ <span aria-hidden="true">{tenant.icon}</span>
162
+ </PrimitiveButton>
163
+ )
164
+
165
+ const trigger = tenant.badge ? (
166
+ <Badge
167
+ text={tenant.badge.text.slice(0, 2)}
168
+ size={BadgeSize.SM}
169
+ color={BadgeColor.NEUTRAL}
170
+ position={'bottom-right'}
171
+ isCircular
172
+ >
173
+ {tenantButton}
174
+ </Badge>
175
+ ) : (
176
+ tenantButton
177
+ )
178
+
128
179
  return (
129
180
  <Tooltip
130
181
  content={tenant.label}
@@ -132,40 +183,7 @@ const TenantItem: React.FC<{
132
183
  delayDuration={500}
133
184
  size={TooltipSize.SMALL}
134
185
  >
135
- <PrimitiveButton
136
- data-element="sidebar-section"
137
- data-id={tenant.label}
138
- data-status={isSelected ? 'selected' : 'not selected'}
139
- type="button"
140
- onClick={onSelect}
141
- backgroundColor={tokens.leftPanel.item.backgroundColor.default}
142
- width={tokens.leftPanel.item.width}
143
- height={tokens.leftPanel.item.width}
144
- borderRadius={tokens.leftPanel.item.borderRadius}
145
- display="flex"
146
- alignItems="center"
147
- justifyContent="center"
148
- cursor="pointer"
149
- border={
150
- isSelected
151
- ? tokens.leftPanel.item.border.active
152
- : tokens.leftPanel.item.border.default
153
- }
154
- aria-label={`Select tenant: ${tenant.label}`}
155
- aria-pressed={isSelected}
156
- style={{
157
- transition: 'all 75ms ease',
158
- }}
159
- _hover={{
160
- backgroundColor:
161
- tokens.leftPanel.item.backgroundColor.hover,
162
- outline: isSelected
163
- ? tokens.leftPanel.item.border.active
164
- : tokens.leftPanel.item.border.hover,
165
- }}
166
- >
167
- <span aria-hidden="true">{tenant.icon}</span>
168
- </PrimitiveButton>
186
+ {trigger}
169
187
  </Tooltip>
170
188
  )
171
189
  }
@@ -1,28 +1,25 @@
1
1
  import { type ReactNode } from 'react'
2
2
  import type { DirectoryData, NavbarItem } from '../Directory/types'
3
- import type { MerchantInfo } from '../Topbar/types'
3
+ import type {
4
+ MerchantInfo,
5
+ LeftPanelInfo,
6
+ TenantBadge,
7
+ } from '../shared/layoutTypes'
4
8
 
5
- export type LeftPanelItem = {
6
- label: string
7
- icon: ReactNode
8
- value?: string
9
- showInPanel?: boolean
10
- }
11
-
12
- export type LeftPanelInfo = {
13
- items: LeftPanelItem[]
14
- selected: string
15
- onSelect: (value: string) => void
16
- tenantSlot1?: ReactNode
17
- tenantSlot2?: ReactNode
18
- tenantFooter?: ReactNode
19
- }
9
+ // Re-exported for backward compatibility: these types were previously declared
10
+ // here and are part of the public API via `Sidebar/index.ts` (`export * from './types'`).
11
+ export type {
12
+ LeftPanelInfo,
13
+ LeftPanelItem,
14
+ TenantBadge,
15
+ } from '../shared/layoutTypes'
20
16
 
21
17
  export type TenantItem = {
22
18
  label: string
23
19
  value?: string
24
20
  icon: ReactNode
25
21
  showInPanel?: boolean
22
+ badge?: TenantBadge
26
23
  }
27
24
 
28
25
  export type SidebarMerchantInfo = {
@@ -39,7 +36,7 @@ export type SidebarStateChangeType = 'collapsed' | 'expanded' | 'intermediate'
39
36
  export type SidebarProps = {
40
37
  showLeftPanel?: boolean
41
38
  children: ReactNode
42
- data: DirectoryData[]
39
+ data: DirectoryData[] | null
43
40
  leftPanel?: LeftPanelInfo
44
41
  topbar: ReactNode
45
42
  footer?: ReactNode
@@ -144,7 +144,7 @@ export const isControlledSidebar = (
144
144
  }
145
145
 
146
146
  export const getMobileNavigationItems = (
147
- directory: DirectoryData[]
147
+ directory?: DirectoryData[] | null
148
148
  ): MobileNavigationItem[] => {
149
149
  if (!directory || !Array.isArray(directory)) {
150
150
  return []
@@ -1,8 +1,10 @@
1
+ import type { ButtonHTMLAttributes } from 'react'
1
2
  import { SidebarV2TokensType } from './sidebarV2.tokens'
2
- import type { SecondarySidebarInfo } from './types'
3
+ import type { SecondarySidebarInfo, SecondarySidebarItem } from './types'
3
4
  import Block from '../Primitives/Block/Block'
4
5
  import PrimitiveButton from '../Primitives/PrimitiveButton/PrimitiveButton'
5
6
  import { TooltipV2, TooltipV2Side, TooltipV2Size } from '../TooltipV2'
7
+ import { Badge, BadgeColor, BadgeSize } from '../Badge'
6
8
  import styled from 'styled-components'
7
9
 
8
10
  const ScrollableContainer = styled(Block)`
@@ -22,6 +24,82 @@ type Props = {
22
24
  tokens: SidebarV2TokensType
23
25
  }
24
26
 
27
+ type SecondarySidebarItemButtonProps = {
28
+ item: SecondarySidebarItem
29
+ isSelected: boolean
30
+ onSelect: (value: string) => void
31
+ buttonProps?: ButtonHTMLAttributes<HTMLButtonElement>
32
+ tokens: SidebarV2TokensType
33
+ }
34
+
35
+ function SecondarySidebarItemButton({
36
+ item,
37
+ isSelected,
38
+ onSelect,
39
+ buttonProps,
40
+ tokens,
41
+ }: SecondarySidebarItemButtonProps) {
42
+ const itemButton = (
43
+ <PrimitiveButton
44
+ {...buttonProps}
45
+ type="button"
46
+ cursor="pointer"
47
+ display="flex"
48
+ alignItems="center"
49
+ justifyContent="center"
50
+ width={tokens.secondarySidebar.item.width}
51
+ height={tokens.secondarySidebar.item.height}
52
+ borderRadius={tokens.secondarySidebar.item.borderRadius}
53
+ border={
54
+ isSelected
55
+ ? tokens.secondarySidebar.item.border.active
56
+ : tokens.secondarySidebar.item.border.default
57
+ }
58
+ _hover={{
59
+ backgroundColor:
60
+ tokens.secondarySidebar.item.backgroundColor.hover,
61
+ outline: 'none',
62
+ border: isSelected
63
+ ? tokens.secondarySidebar.item.border.active
64
+ : tokens.secondarySidebar.item.border.hover,
65
+ }}
66
+ onClick={(e) => {
67
+ onSelect(item.value)
68
+ buttonProps?.onClick?.(e)
69
+ }}
70
+ aria-label={`Select tenant: ${item.label}`}
71
+ aria-pressed={isSelected}
72
+ >
73
+ <span aria-hidden="true">{item.icon}</span>
74
+ </PrimitiveButton>
75
+ )
76
+
77
+ const trigger = item.badge ? (
78
+ <Badge
79
+ text={item.badge.text.slice(0, 2)}
80
+ size={item.badge.size || BadgeSize.SM}
81
+ color={item.badge.color || BadgeColor.PRIMARY}
82
+ position={item.badge.position || 'bottom-right'}
83
+ isCircular
84
+ >
85
+ {itemButton}
86
+ </Badge>
87
+ ) : (
88
+ itemButton
89
+ )
90
+
91
+ return (
92
+ <TooltipV2
93
+ content={item.label}
94
+ side={TooltipV2Side.RIGHT}
95
+ delayDuration={500}
96
+ size={TooltipV2Size.SM}
97
+ >
98
+ {trigger}
99
+ </TooltipV2>
100
+ )
101
+ }
102
+
25
103
  export function SecondarySidebar({ id, secondarySidebar, tokens }: Props) {
26
104
  if (!secondarySidebar || (secondarySidebar?.items?.length ?? 0) === 0) {
27
105
  return null
@@ -59,50 +137,14 @@ export function SecondarySidebar({ id, secondarySidebar, tokens }: Props) {
59
137
  style={{ minHeight: 0 }}
60
138
  >
61
139
  {items?.map((item) => (
62
- <TooltipV2
140
+ <SecondarySidebarItemButton
63
141
  key={item.value}
64
- content={item.label}
65
- side={TooltipV2Side.RIGHT}
66
- delayDuration={500}
67
- size={TooltipV2Size.SM}
68
- >
69
- <PrimitiveButton
70
- {...buttonProps}
71
- type="button"
72
- cursor="pointer"
73
- display="flex"
74
- alignItems="center"
75
- justifyContent="center"
76
- width={tokens.secondarySidebar.item.width}
77
- height={tokens.secondarySidebar.item.height}
78
- borderRadius={
79
- tokens.secondarySidebar.item.borderRadius
80
- }
81
- border={
82
- isSelected(item.value)
83
- ? tokens.secondarySidebar.item.border.active
84
- : tokens.secondarySidebar.item.border
85
- .default
86
- }
87
- _hover={{
88
- backgroundColor:
89
- tokens.secondarySidebar.item.backgroundColor
90
- .hover,
91
- outline: 'none',
92
- border: isSelected(item.value)
93
- ? tokens.secondarySidebar.item.border.active
94
- : tokens.secondarySidebar.item.border.hover,
95
- }}
96
- onClick={(e) => {
97
- onSelect?.(item.value)
98
- buttonProps?.onClick?.(e)
99
- }}
100
- aria-label={`Select tenant: ${item.label}`}
101
- aria-pressed={isSelected(item.value)}
102
- >
103
- <span aria-hidden="true">{item.icon}</span>
104
- </PrimitiveButton>
105
- </TooltipV2>
142
+ item={item}
143
+ isSelected={isSelected(item.value)}
144
+ onSelect={onSelect}
145
+ buttonProps={buttonProps}
146
+ tokens={tokens}
147
+ />
106
148
  ))}
107
149
  </ScrollableContainer>
108
150
 
@@ -1,8 +1,8 @@
1
1
  import { FoundationTokenType } from '../../../tokens/theme.token'
2
- import {
2
+ import type {
3
3
  ResponsiveMobileNavigationV2Tokens,
4
4
  MobileNavigationV2TokenType,
5
- } from './mobile.tokens'
5
+ } from './mobile.tokens.types'
6
6
 
7
7
  export const getMobileNavigationV2DarkTokens = (
8
8
  foundationToken: FoundationTokenType
@@ -1,8 +1,8 @@
1
1
  import { FoundationTokenType } from '../../../tokens/theme.token'
2
- import {
2
+ import type {
3
3
  ResponsiveMobileNavigationV2Tokens,
4
4
  MobileNavigationV2TokenType,
5
- } from './mobile.tokens'
5
+ } from './mobile.tokens.types'
6
6
 
7
7
  export const getMobileNavigationV2LightTokens = (
8
8
  foundationToken: FoundationTokenType
@@ -1,92 +1,14 @@
1
- import type { CSSObject } from 'styled-components'
2
- import { BreakpointType } from '../../../breakpoints/breakPoints'
3
1
  import { type FoundationTokenType } from '../../../tokens/theme.token'
4
2
  import { Theme } from '../../../context/theme.enum'
5
3
  import { getMobileNavigationV2LightTokens } from './mobile.light.tokens'
6
4
  import { getMobileNavigationV2DarkTokens } from './mobile.dark.tokens'
5
+ import type { ResponsiveMobileNavigationV2Tokens } from './mobile.tokens.types'
7
6
 
8
- export type MobileNavigationV2State = 'default' | 'active'
9
-
10
- export type MobileNavigationV2TokenType = {
11
- /**
12
- * MobileNavigationV2 anatomy
13
- * - container: floating dock surface
14
- * - layout: padding/gaps/safe-area offsets used for height calculations
15
- * - row: a horizontal strip of items (primary and optional secondary rows)
16
- * - item: each navigation button
17
- * - primaryAction: optional center primary action button
18
- */
19
- container: {
20
- zIndex: CSSObject['zIndex']
21
- /** Base/fallback dock fill; use a color that already includes alpha (e.g. `#RRGGBBAA`). */
22
- backgroundColor: CSSObject['backgroundColor']
23
- /** Optional fill when `backdrop-filter` is supported (typically slightly lower alpha). */
24
- background?: CSSObject['background']
25
- border: CSSObject['border']
26
- borderWidth: CSSObject['borderWidth']
27
- borderRadius: CSSObject['borderRadius']
28
- backdropFilter: CSSObject['backdropFilter']
29
- transition: CSSObject['transition']
30
- }
31
- layout: {
32
- safeAreaOffset: CSSObject['padding']
33
- floatingPadding: CSSObject['padding']
34
- primaryActionMarginX: CSSObject['margin']
35
- itemLabelMarginTop: CSSObject['margin']
36
- itemLabelLineHeight: CSSObject['lineHeight']
37
- paddingTop: CSSObject['paddingTop']
38
- paddingBottom: CSSObject['paddingBottom']
39
- paddingLeft: CSSObject['paddingLeft']
40
- paddingRight: CSSObject['paddingRight']
41
- gap: CSSObject['gap']
42
- rowPaddingTop: CSSObject['paddingTop']
43
- rowPaddingBottom: CSSObject['paddingBottom']
44
- rowPaddingLeft: CSSObject['paddingLeft']
45
- rowPaddingRight: CSSObject['paddingRight']
46
- rowGap: CSSObject['gap']
47
- }
48
- item: {
49
- width: CSSObject['width']
50
- height: CSSObject['height']
51
- borderRadius: CSSObject['borderRadius']
52
- gap: CSSObject['gap']
53
- backgroundColor: {
54
- [key in MobileNavigationV2State]: CSSObject['backgroundColor']
55
- }
56
- color: { [key in MobileNavigationV2State]: CSSObject['color'] }
57
- fontWeight: CSSObject['fontWeight']
58
- icon: {
59
- width: CSSObject['width']
60
- height: CSSObject['height']
61
- borderRadius: CSSObject['borderRadius']
62
- transition: CSSObject['transition']
63
- /** SVG stroke width for Lucide-style icons. */
64
- strokeWidth: number
65
- }
66
- text: {
67
- fontSize: CSSObject['fontSize']
68
- fontWeight: CSSObject['fontWeight']
69
- textAlign: CSSObject['textAlign']
70
- }
71
- }
72
- primaryAction: {
73
- width: CSSObject['width']
74
- height: CSSObject['height']
75
- borderRadius: CSSObject['borderRadius']
76
- background: CSSObject['background']
77
- boxShadow: CSSObject['boxShadow']
78
- color: CSSObject['color']
79
- icon: {
80
- width: CSSObject['width']
81
- height: CSSObject['height']
82
- strokeWidth: number
83
- }
84
- }
85
- }
86
-
87
- export type ResponsiveMobileNavigationV2Tokens = {
88
- [key in keyof BreakpointType]: MobileNavigationV2TokenType
89
- }
7
+ export type {
8
+ MobileNavigationV2State,
9
+ MobileNavigationV2TokenType,
10
+ ResponsiveMobileNavigationV2Tokens,
11
+ } from './mobile.tokens.types'
90
12
 
91
13
  export const getMobileNavigationV2Tokens = (
92
14
  foundationToken: FoundationTokenType,