@juspay/blend-design-system 0.0.37-beta.7 → 0.0.37

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 (290) hide show
  1. package/dist/{node-C_DmV86X.js → breadcrumbV2.tokens-CovJEwot.js} +16 -0
  2. package/dist/components/Accordion/index.d.ts +2 -0
  3. package/dist/components/AccordionV2/accordionV2.animations.d.ts +1 -1
  4. package/dist/components/Alert/index.d.ts +1 -0
  5. package/dist/components/Avatar/index.d.ts +1 -0
  6. package/dist/components/Breadcrumb/index.d.ts +1 -0
  7. package/dist/components/Button/index.d.ts +1 -0
  8. package/dist/components/ButtonGroup/index.d.ts +1 -0
  9. package/dist/components/Card/index.d.ts +1 -0
  10. package/dist/components/CardV2/CardV2.d.ts +45 -0
  11. package/dist/components/CardV2/CardV2.utils.d.ts +14 -0
  12. package/dist/components/CardV2/CardV2Components.d.ts +8 -0
  13. package/dist/components/CardV2/CardV2Context.d.ts +14 -0
  14. package/dist/components/CardV2/CardV2Skeleton.d.ts +6 -0
  15. package/dist/components/CardV2/accessibility/CardV2AccessibilityReport.d.ts +2 -0
  16. package/dist/components/CardV2/accessibility/index.d.ts +1 -0
  17. package/dist/components/CardV2/cardV2.dark.tokens.d.ts +3 -0
  18. package/dist/components/CardV2/cardV2.light.tokens.d.ts +3 -0
  19. package/dist/components/CardV2/cardV2.tokens.d.ts +5 -0
  20. package/dist/components/CardV2/cardV2.tokens.types.d.ts +92 -0
  21. package/dist/components/CardV2/cardV2.types.d.ts +106 -0
  22. package/dist/components/CardV2/index.d.ts +5 -0
  23. package/dist/components/Charts/index.d.ts +10 -0
  24. package/dist/components/Charts/types.d.ts +2 -0
  25. package/dist/components/ChatInput/index.d.ts +1 -0
  26. package/dist/components/Checkbox/index.d.ts +1 -0
  27. package/dist/components/CodeEditor/index.d.ts +1 -0
  28. package/dist/components/CodeEditor/types.d.ts +22 -2
  29. package/dist/components/CodeEditorV2/CodeEditorV2.d.ts +1 -1
  30. package/dist/components/CodeEditorV2/codeEditorV2.types.d.ts +23 -2
  31. package/dist/components/DataTable/PivotTableModal/pivotModal.styled.d.ts +184 -0
  32. package/dist/components/DataTable/TableBody/types.d.ts +3 -1
  33. package/dist/components/DataTable/hooks/index.d.ts +2 -0
  34. package/dist/components/DataTable/hooks/useReducedMotion.d.ts +1 -0
  35. package/dist/components/DataTable/hooks/useRowFlip.d.ts +6 -0
  36. package/dist/components/DataTable/types.d.ts +26 -0
  37. package/dist/components/DateRangePicker/CalendarGrid.d.ts +5 -2
  38. package/dist/components/DateRangePicker/types.d.ts +3 -1
  39. package/dist/components/DateRangePicker/utils.d.ts +5 -5
  40. package/dist/components/Directory/Directory.d.ts +1 -1
  41. package/dist/components/Directory/NavItem.d.ts +1 -1
  42. package/dist/components/Directory/Section.d.ts +1 -1
  43. package/dist/components/Directory/VirtualizedDirectory.d.ts +3 -0
  44. package/dist/components/Directory/directory.tokens.d.ts +7 -0
  45. package/dist/components/Directory/types.d.ts +38 -1
  46. package/dist/components/Directory/utils.d.ts +3 -1
  47. package/dist/components/Drawer/index.d.ts +1 -0
  48. package/dist/components/Inputs/MultiValueInput/index.d.ts +1 -0
  49. package/dist/components/Inputs/NumberInput/index.d.ts +1 -0
  50. package/dist/components/Inputs/OTPInput/index.d.ts +1 -0
  51. package/dist/components/Inputs/SearchInput/index.d.ts +1 -0
  52. package/dist/components/Inputs/TextArea/index.d.ts +1 -0
  53. package/dist/components/Inputs/TextInput/index.d.ts +1 -0
  54. package/dist/components/InputsV2/TextAreaV2/utils.d.ts +2 -1
  55. package/dist/components/InputsV2/TextInputV2/utils.d.ts +2 -1
  56. package/dist/components/InputsV2/UploadV2/UploadContainerV2.d.ts +24 -0
  57. package/dist/components/InputsV2/UploadV2/UploadV2.d.ts +31 -0
  58. package/dist/components/InputsV2/UploadV2/UploadV2.dark.tokens.d.ts +3 -0
  59. package/dist/components/InputsV2/UploadV2/UploadV2.light.tokens.d.ts +3 -0
  60. package/dist/components/InputsV2/UploadV2/UploadV2.tokens.d.ts +5 -0
  61. package/dist/components/InputsV2/UploadV2/UploadV2.tokens.types.d.ts +115 -0
  62. package/dist/components/InputsV2/UploadV2/UploadV2.types.d.ts +56 -0
  63. package/dist/components/InputsV2/UploadV2/index.d.ts +3 -0
  64. package/dist/components/InputsV2/UploadV2/utils.d.ts +32 -0
  65. package/dist/components/KeyValuePair/index.d.ts +1 -0
  66. package/dist/components/Menu/Menu.d.ts +1 -1
  67. package/dist/components/Menu/index.d.ts +1 -0
  68. package/dist/components/Menu/types.d.ts +7 -0
  69. package/dist/components/Menu/utils.d.ts +10 -2
  70. package/dist/components/MenuV2/MenuV2Content.d.ts +1 -0
  71. package/dist/components/MenuV2/menuV2.types.d.ts +5 -0
  72. package/dist/components/MenuV2/menuV2.utils.d.ts +10 -2
  73. package/dist/components/Modal/index.d.ts +1 -0
  74. package/dist/components/ModalV2/ModalV2.d.ts +22 -0
  75. package/dist/components/ModalV2/ModalV2Footer.d.ts +10 -0
  76. package/dist/components/ModalV2/ModalV2Header.d.ts +15 -0
  77. package/dist/components/ModalV2/ModalV2Skeleton.d.ts +4 -0
  78. package/dist/components/ModalV2/index.d.ts +4 -0
  79. package/dist/components/ModalV2/mobileModalV2.d.ts +23 -0
  80. package/dist/components/ModalV2/modalAnimationV2.d.ts +3 -0
  81. package/dist/components/ModalV2/modalV2.dark.tokens.d.ts +3 -0
  82. package/dist/components/ModalV2/modalV2.light.tokens.d.ts +3 -0
  83. package/dist/components/ModalV2/modalV2.tokens.d.ts +5 -0
  84. package/dist/components/ModalV2/modalV2.tokens.types.d.ts +91 -0
  85. package/dist/components/ModalV2/modalV2.types.d.ts +66 -0
  86. package/dist/components/MultiSelect/MultiSelect.d.ts +1 -1
  87. package/dist/components/MultiSelect/MultiSelectMenu.d.ts +1 -1
  88. package/dist/components/MultiSelect/index.d.ts +2 -0
  89. package/dist/components/MultiSelect/types.d.ts +2 -0
  90. package/dist/components/MultiSelectV2/MultiSelectV2.d.ts +1 -1
  91. package/dist/components/MultiSelectV2/MultiSelectV2Menu.d.ts +1 -1
  92. package/dist/components/MultiSelectV2/multiSelectV2.types.d.ts +2 -0
  93. package/dist/components/Popover/index.d.ts +1 -0
  94. package/dist/components/Primitives/Block/Block.d.ts +1 -1
  95. package/dist/components/ProgressBar/index.d.ts +1 -0
  96. package/dist/components/Radio/index.d.ts +2 -0
  97. package/dist/components/Sidebar/SidebarContent.d.ts +9 -1
  98. package/dist/components/Sidebar/index.d.ts +1 -0
  99. package/dist/components/Sidebar/types.d.ts +9 -1
  100. package/dist/components/SidebarV2/SidebarV2Panel.d.ts +10 -2
  101. package/dist/components/SidebarV2/types.d.ts +9 -1
  102. package/dist/components/SingleSelect/SingleSelect.d.ts +1 -1
  103. package/dist/components/SingleSelect/SingleSelectMenu.d.ts +2 -1
  104. package/dist/components/SingleSelect/index.d.ts +1 -0
  105. package/dist/components/SingleSelect/types.d.ts +1 -0
  106. package/dist/components/SingleSelectV2/SingleSelectV2.d.ts +1 -1
  107. package/dist/components/SingleSelectV2/SingleSelectV2Menu.d.ts +1 -1
  108. package/dist/components/SingleSelectV2/singleSelectV2.tokens.types.d.ts +8 -0
  109. package/dist/components/SingleSelectV2/singleSelectV2.types.d.ts +2 -0
  110. package/dist/components/Skeleton/SkeletonCompound.d.ts +24 -33
  111. package/dist/components/Snackbar/Snackbar.d.ts +1 -1
  112. package/dist/components/Snackbar/index.d.ts +2 -0
  113. package/dist/components/Snackbar/snackbar.tokens.d.ts +1 -0
  114. package/dist/components/Snackbar/types.d.ts +2 -0
  115. package/dist/components/StatCard/index.d.ts +1 -0
  116. package/dist/components/Stepper/index.d.ts +1 -0
  117. package/dist/components/Switch/index.d.ts +2 -0
  118. package/dist/components/Tabs/index.d.ts +1 -0
  119. package/dist/components/Tags/index.d.ts +1 -0
  120. package/dist/components/Timeline/Timeline.d.ts +13 -37
  121. package/dist/components/Tooltip/index.d.ts +1 -0
  122. package/dist/components/Topbar/index.d.ts +1 -0
  123. package/dist/components/Upload/index.d.ts +1 -0
  124. package/dist/context/ThemeContext.d.ts +6 -0
  125. package/dist/context/useComponentToken.d.ts +4 -1
  126. package/dist/main.d.ts +6 -0
  127. package/dist/main.js +45436 -42186
  128. package/dist/node-B3rrXW84.js +1023 -0
  129. package/dist/node.d.ts +2 -0
  130. package/dist/node.js +21 -18
  131. package/dist/{tokens.js → token-engine.js} +1 -1
  132. package/lib/components/Accordion/AccordionItem.tsx +2 -6
  133. package/lib/components/Accordion/index.ts +2 -0
  134. package/lib/components/AccordionV2/AccordionV2Item.tsx +1 -1
  135. package/lib/components/AccordionV2/accordionV2.animations.ts +1 -5
  136. package/lib/components/Alert/index.ts +1 -0
  137. package/lib/components/Avatar/index.ts +1 -0
  138. package/lib/components/Breadcrumb/index.ts +1 -0
  139. package/lib/components/Button/index.ts +1 -0
  140. package/lib/components/ButtonGroup/index.ts +1 -0
  141. package/lib/components/Card/index.ts +1 -0
  142. package/lib/components/CardV2/CardV2.tsx +327 -0
  143. package/lib/components/CardV2/CardV2.utils.tsx +77 -0
  144. package/lib/components/CardV2/CardV2Components.tsx +297 -0
  145. package/lib/components/CardV2/CardV2Context.tsx +18 -0
  146. package/lib/components/CardV2/CardV2Skeleton.tsx +40 -0
  147. package/lib/components/CardV2/accessibility/CardV2AccessibilityReport.ts +284 -0
  148. package/lib/components/CardV2/accessibility/index.ts +1 -0
  149. package/lib/components/CardV2/cardV2.dark.tokens.ts +177 -0
  150. package/lib/components/CardV2/cardV2.light.tokens.ts +177 -0
  151. package/lib/components/CardV2/cardV2.tokens.ts +21 -0
  152. package/lib/components/CardV2/cardV2.tokens.types.ts +94 -0
  153. package/lib/components/CardV2/cardV2.types.ts +131 -0
  154. package/lib/components/CardV2/index.ts +13 -0
  155. package/lib/components/Charts/ChartLegend.tsx +25 -5
  156. package/lib/components/Charts/Charts.tsx +10 -0
  157. package/lib/components/Charts/index.ts +10 -0
  158. package/lib/components/Charts/types.tsx +2 -0
  159. package/lib/components/ChatInput/index.tsx +1 -0
  160. package/lib/components/Checkbox/index.ts +1 -0
  161. package/lib/components/CodeEditor/MonacoEditorWrapper.tsx +6 -2
  162. package/lib/components/CodeEditor/index.ts +1 -0
  163. package/lib/components/CodeEditor/types.ts +52 -2
  164. package/lib/components/CodeEditorV2/MonacoEditor/MonacoEditorWrapper.tsx +6 -2
  165. package/lib/components/CodeEditorV2/codeEditorV2.types.ts +44 -5
  166. package/lib/components/DataTable/DataTable.tsx +8 -0
  167. package/lib/components/DataTable/TableBody/index.tsx +47 -11
  168. package/lib/components/DataTable/TableBody/types.ts +7 -1
  169. package/lib/components/DataTable/TableCell/index.tsx +1 -1
  170. package/lib/components/DataTable/hooks/index.ts +2 -0
  171. package/lib/components/DataTable/hooks/useReducedMotion.ts +19 -0
  172. package/lib/components/DataTable/hooks/useRowFlip.ts +170 -0
  173. package/lib/components/DataTable/types.ts +32 -0
  174. package/lib/components/DateRangePicker/CalendarGrid.tsx +39 -6
  175. package/lib/components/DateRangePicker/DateRangePicker.tsx +27 -4
  176. package/lib/components/DateRangePicker/types.ts +6 -1
  177. package/lib/components/DateRangePicker/utils.ts +123 -12
  178. package/lib/components/Directory/Directory.tsx +31 -0
  179. package/lib/components/Directory/NavItem.tsx +177 -86
  180. package/lib/components/Directory/Section.tsx +9 -0
  181. package/lib/components/Directory/VirtualizedDirectory.tsx +670 -0
  182. package/lib/components/Directory/directory.tokens.ts +21 -0
  183. package/lib/components/Directory/types.ts +43 -1
  184. package/lib/components/Directory/utils.ts +81 -1
  185. package/lib/components/Drawer/index.ts +1 -0
  186. package/lib/components/Inputs/DropdownInput/DropdownInput.tsx +6 -2
  187. package/lib/components/Inputs/MultiValueInput/index.ts +1 -0
  188. package/lib/components/Inputs/NumberInput/NumberInput.tsx +6 -2
  189. package/lib/components/Inputs/NumberInput/index.ts +1 -0
  190. package/lib/components/Inputs/OTPInput/index.ts +1 -0
  191. package/lib/components/Inputs/SearchInput/index.ts +1 -0
  192. package/lib/components/Inputs/TextArea/TextArea.tsx +4 -2
  193. package/lib/components/Inputs/TextArea/index.ts +1 -0
  194. package/lib/components/Inputs/TextInput/TextInput.tsx +6 -2
  195. package/lib/components/Inputs/TextInput/index.ts +1 -0
  196. package/lib/components/Inputs/UnitInput/UnitInput.tsx +6 -2
  197. package/lib/components/InputsV2/NumberInputV2/NumberInputV2.tsx +6 -2
  198. package/lib/components/InputsV2/TextAreaV2/TextAreaV2.tsx +2 -1
  199. package/lib/components/InputsV2/TextAreaV2/utils.ts +3 -1
  200. package/lib/components/InputsV2/TextInputV2/TextInputV2.tsx +1 -0
  201. package/lib/components/InputsV2/TextInputV2/utils.ts +6 -8
  202. package/lib/components/InputsV2/UploadV2/UploadContainerV2.tsx +470 -0
  203. package/lib/components/InputsV2/UploadV2/UploadV2.dark.tokens.ts +348 -0
  204. package/lib/components/InputsV2/UploadV2/UploadV2.light.tokens.ts +348 -0
  205. package/lib/components/InputsV2/UploadV2/UploadV2.tokens.ts +20 -0
  206. package/lib/components/InputsV2/UploadV2/UploadV2.tokens.types.ts +117 -0
  207. package/lib/components/InputsV2/UploadV2/UploadV2.tsx +336 -0
  208. package/lib/components/InputsV2/UploadV2/UploadV2.types.ts +67 -0
  209. package/lib/components/InputsV2/UploadV2/index.ts +3 -0
  210. package/lib/components/InputsV2/UploadV2/utils.ts +170 -0
  211. package/lib/components/KeyValuePair/index.ts +1 -0
  212. package/lib/components/Menu/Menu.tsx +18 -2
  213. package/lib/components/Menu/SubMenu.tsx +25 -3
  214. package/lib/components/Menu/index.ts +1 -0
  215. package/lib/components/Menu/types.tsx +14 -0
  216. package/lib/components/Menu/utils.ts +46 -3
  217. package/lib/components/MenuV2/MenuV2.tsx +9 -2
  218. package/lib/components/MenuV2/MenuV2Content.tsx +6 -0
  219. package/lib/components/MenuV2/MenuV2SubMenu.tsx +16 -2
  220. package/lib/components/MenuV2/menuV2.types.ts +11 -0
  221. package/lib/components/MenuV2/menuV2.utils.ts +45 -3
  222. package/lib/components/Modal/index.ts +1 -0
  223. package/lib/components/ModalV2/ModalV2.tsx +269 -0
  224. package/lib/components/ModalV2/ModalV2Footer.tsx +76 -0
  225. package/lib/components/ModalV2/ModalV2Header.tsx +144 -0
  226. package/lib/components/ModalV2/ModalV2Skeleton.tsx +80 -0
  227. package/lib/components/ModalV2/index.ts +4 -0
  228. package/lib/components/ModalV2/mobileModalV2.tsx +411 -0
  229. package/lib/components/ModalV2/modalAnimationV2.tsx +19 -0
  230. package/lib/components/ModalV2/modalV2.dark.tokens.ts +183 -0
  231. package/lib/components/ModalV2/modalV2.light.tokens.ts +183 -0
  232. package/lib/components/ModalV2/modalV2.tokens.ts +21 -0
  233. package/lib/components/ModalV2/modalV2.tokens.types.ts +94 -0
  234. package/lib/components/ModalV2/modalV2.types.ts +80 -0
  235. package/lib/components/MultiSelect/MultiSelect.tsx +4 -1
  236. package/lib/components/MultiSelect/MultiSelectMenu.tsx +8 -0
  237. package/lib/components/MultiSelect/MultiSelectTrigger.tsx +2 -1
  238. package/lib/components/MultiSelect/index.ts +2 -0
  239. package/lib/components/MultiSelect/types.ts +2 -0
  240. package/lib/components/MultiSelectV2/MultiSelectV2.tsx +2 -0
  241. package/lib/components/MultiSelectV2/MultiSelectV2Menu.tsx +8 -0
  242. package/lib/components/MultiSelectV2/MultiSelectV2Trigger.tsx +4 -1
  243. package/lib/components/MultiSelectV2/multiSelectV2.types.ts +2 -0
  244. package/lib/components/Popover/index.ts +1 -0
  245. package/lib/components/Primitives/Block/Block.tsx +1 -1
  246. package/lib/components/ProgressBar/index.ts +1 -0
  247. package/lib/components/Radio/index.ts +2 -0
  248. package/lib/components/Sidebar/Sidebar.tsx +38 -0
  249. package/lib/components/Sidebar/SidebarContent.tsx +25 -1
  250. package/lib/components/Sidebar/index.ts +1 -0
  251. package/lib/components/Sidebar/types.ts +13 -1
  252. package/lib/components/SidebarV2/SidebarV2.tsx +30 -0
  253. package/lib/components/SidebarV2/SidebarV2Panel.tsx +25 -1
  254. package/lib/components/SidebarV2/types.ts +9 -1
  255. package/lib/components/SingleSelect/SingleSelect.tsx +4 -1
  256. package/lib/components/SingleSelect/SingleSelectMenu.tsx +171 -138
  257. package/lib/components/SingleSelect/SingleSelectTrigger.tsx +3 -1
  258. package/lib/components/SingleSelect/index.ts +1 -0
  259. package/lib/components/SingleSelect/types.ts +1 -0
  260. package/lib/components/SingleSelectV2/SingleSelectV2.tsx +2 -0
  261. package/lib/components/SingleSelectV2/SingleSelectV2Menu.tsx +84 -58
  262. package/lib/components/SingleSelectV2/SingleSelectV2Search.tsx +1 -0
  263. package/lib/components/SingleSelectV2/SingleSelectV2Trigger.tsx +3 -1
  264. package/lib/components/SingleSelectV2/singleSelectV2.dark.tokens.ts +8 -0
  265. package/lib/components/SingleSelectV2/singleSelectV2.light.tokens.ts +8 -0
  266. package/lib/components/SingleSelectV2/singleSelectV2.tokens.types.ts +8 -0
  267. package/lib/components/SingleSelectV2/singleSelectV2.types.ts +2 -0
  268. package/lib/components/Skeleton/SkeletonCompound.tsx +45 -31
  269. package/lib/components/Snackbar/Snackbar.tsx +18 -8
  270. package/lib/components/Snackbar/index.ts +2 -0
  271. package/lib/components/Snackbar/snackbar.tokens.ts +6 -0
  272. package/lib/components/Snackbar/types.ts +2 -0
  273. package/lib/components/StatCard/StatCard.tsx +29 -0
  274. package/lib/components/StatCard/index.ts +1 -0
  275. package/lib/components/Stepper/index.ts +1 -0
  276. package/lib/components/Switch/index.ts +2 -0
  277. package/lib/components/Tabs/index.ts +1 -0
  278. package/lib/components/Tags/index.ts +1 -0
  279. package/lib/components/Timeline/Timeline.tsx +9 -1
  280. package/lib/components/Tooltip/index.ts +1 -0
  281. package/lib/components/Topbar/index.ts +1 -0
  282. package/lib/components/Upload/index.ts +1 -0
  283. package/lib/context/ThemeContext.tsx +16 -0
  284. package/lib/context/initComponentTokens.ts +11 -0
  285. package/lib/context/useComponentToken.ts +15 -1
  286. package/lib/hooks/useResponsiveTokens.ts +63 -0
  287. package/lib/main.ts +16 -0
  288. package/lib/node.ts +2 -0
  289. package/package.json +5 -4
  290. package/dist/tokens.d.ts +0 -2
@@ -0,0 +1,183 @@
1
+ import { type FoundationTokenType } from '../../tokens/theme.token'
2
+ import type { ResponsiveModalV2Tokens } from './modalV2.tokens.types'
3
+
4
+ export const getModalV2DarkToken = (
5
+ foundationToken: FoundationTokenType
6
+ ): ResponsiveModalV2Tokens => {
7
+ return {
8
+ sm: {
9
+ backgroundColor: foundationToken.colors.gray[700],
10
+ paddingTop: foundationToken.unit[16],
11
+ paddingRight: foundationToken.unit[16],
12
+ paddingBottom: foundationToken.unit[16],
13
+ paddingLeft: foundationToken.unit[16],
14
+ boxShadow: foundationToken.shadows.xs,
15
+ borderRadius: foundationToken.border.radius[16],
16
+ overlay: {
17
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
18
+ offset: foundationToken.unit[16],
19
+ },
20
+ divider: {
21
+ borderColor: foundationToken.colors.gray[200],
22
+ },
23
+ skeleton: {
24
+ header: {
25
+ gap: foundationToken.unit[16],
26
+ paddingTop: foundationToken.unit[20],
27
+ paddingRight: foundationToken.unit[20],
28
+ paddingBottom: foundationToken.unit[20],
29
+ paddingLeft: foundationToken.unit[20],
30
+ borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
31
+ width: '60%',
32
+ height: 24,
33
+ borderRadius: foundationToken.border.radius[4],
34
+ },
35
+ body: {
36
+ gap: foundationToken.unit[12],
37
+ width: '100%',
38
+ height: 300,
39
+ borderRadius: foundationToken.border.radius[4],
40
+ },
41
+ },
42
+ header: {
43
+ slot: {
44
+ gap: foundationToken.unit[8],
45
+ },
46
+ gap: foundationToken.unit[16],
47
+ paddingTop: foundationToken.unit[16],
48
+ paddingRight: foundationToken.unit[16],
49
+ paddingBottom: foundationToken.unit[16],
50
+ paddingLeft: foundationToken.unit[16],
51
+ maxHeight: '20vh',
52
+ borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
53
+ backgroundColor: foundationToken.colors.gray[700],
54
+ borderTopLeftRadius: foundationToken.border.radius[16],
55
+ borderTopRightRadius: foundationToken.border.radius[16],
56
+ text: {
57
+ title: {
58
+ color: foundationToken.colors.gray[0],
59
+ fontSize: foundationToken.font.size.body.md.fontSize,
60
+ fontWeight: foundationToken.font.weight[600],
61
+ lineHeight: foundationToken.font.lineHeight[20],
62
+ },
63
+ subtitle: {
64
+ color: foundationToken.colors.gray[100],
65
+ fontSize: foundationToken.font.size.body.sm.fontSize,
66
+ fontWeight: foundationToken.font.weight[400],
67
+ lineHeight: foundationToken.font.lineHeight[20],
68
+ },
69
+ },
70
+ },
71
+
72
+ body: {
73
+ paddingTop: foundationToken.unit[16],
74
+ paddingRight: foundationToken.unit[16],
75
+ paddingBottom: foundationToken.unit[16],
76
+ paddingLeft: foundationToken.unit[16],
77
+ backgroundColor: foundationToken.colors.gray[700],
78
+ },
79
+
80
+ footer: {
81
+ paddingTop: foundationToken.unit[16],
82
+ paddingRight: foundationToken.unit[16],
83
+ paddingBottom: foundationToken.unit[16],
84
+ paddingLeft: foundationToken.unit[16],
85
+ borderTop: `1px solid ${foundationToken.colors.gray[200]}`,
86
+ backgroundColor: foundationToken.colors.gray[700],
87
+ gap: foundationToken.unit[12],
88
+ },
89
+ closeButton: {
90
+ color: foundationToken.colors.gray[100],
91
+ width: foundationToken.unit[16],
92
+ height: foundationToken.unit[16],
93
+ },
94
+ },
95
+ lg: {
96
+ backgroundColor: foundationToken.colors.gray[700],
97
+ paddingTop: foundationToken.unit[16],
98
+ paddingRight: foundationToken.unit[16],
99
+ paddingBottom: foundationToken.unit[16],
100
+ paddingLeft: foundationToken.unit[16],
101
+ boxShadow: foundationToken.shadows.lg,
102
+ borderRadius: foundationToken.border.radius[16],
103
+ overlay: {
104
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
105
+ offset: foundationToken.unit[16],
106
+ },
107
+ divider: {
108
+ borderColor: foundationToken.colors.gray[200],
109
+ },
110
+ skeleton: {
111
+ header: {
112
+ gap: foundationToken.unit[16],
113
+ paddingTop: foundationToken.unit[20],
114
+ paddingRight: foundationToken.unit[20],
115
+ paddingBottom: foundationToken.unit[20],
116
+ paddingLeft: foundationToken.unit[20],
117
+ borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
118
+ width: '60%',
119
+ height: 24,
120
+ borderRadius: foundationToken.border.radius[4],
121
+ },
122
+ body: {
123
+ gap: foundationToken.unit[12],
124
+ width: '100%',
125
+ height: 300,
126
+ borderRadius: foundationToken.border.radius[4],
127
+ },
128
+ },
129
+ header: {
130
+ gap: foundationToken.unit[16],
131
+ paddingTop: foundationToken.unit[20],
132
+ paddingRight: foundationToken.unit[20],
133
+ paddingBottom: foundationToken.unit[20],
134
+ paddingLeft: foundationToken.unit[20],
135
+ maxHeight: '20vh',
136
+ borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
137
+ backgroundColor: foundationToken.colors.gray[700],
138
+ borderTopLeftRadius: foundationToken.border.radius[16],
139
+ borderTopRightRadius: foundationToken.border.radius[16],
140
+ slot: {
141
+ gap: foundationToken.unit[8],
142
+ },
143
+ text: {
144
+ title: {
145
+ color: foundationToken.colors.gray[0],
146
+ fontSize: foundationToken.font.size.body.lg.fontSize,
147
+ fontWeight: foundationToken.font.weight[600],
148
+ lineHeight: foundationToken.font.lineHeight[20],
149
+ },
150
+ subtitle: {
151
+ color: foundationToken.colors.gray[100],
152
+ fontSize: foundationToken.font.size.body.md.fontSize,
153
+ fontWeight: foundationToken.font.weight[400],
154
+ lineHeight: foundationToken.font.lineHeight[20],
155
+ },
156
+ },
157
+ },
158
+
159
+ body: {
160
+ paddingTop: foundationToken.unit[20],
161
+ paddingRight: foundationToken.unit[20],
162
+ paddingBottom: foundationToken.unit[20],
163
+ paddingLeft: foundationToken.unit[20],
164
+ backgroundColor: foundationToken.colors.gray[700],
165
+ },
166
+
167
+ footer: {
168
+ paddingTop: foundationToken.unit[20],
169
+ paddingRight: foundationToken.unit[20],
170
+ paddingBottom: foundationToken.unit[20],
171
+ paddingLeft: foundationToken.unit[20],
172
+ borderTop: `1px solid ${foundationToken.colors.gray[200]}`,
173
+ backgroundColor: foundationToken.colors.gray[700],
174
+ gap: foundationToken.unit[16],
175
+ },
176
+ closeButton: {
177
+ color: foundationToken.colors.gray[100],
178
+ width: foundationToken.unit[16],
179
+ height: foundationToken.unit[16],
180
+ },
181
+ },
182
+ }
183
+ }
@@ -0,0 +1,183 @@
1
+ import { type FoundationTokenType } from '../../tokens/theme.token'
2
+ import type { ResponsiveModalV2Tokens } from './modalV2.tokens.types'
3
+
4
+ export const getModalV2LightToken = (
5
+ foundationToken: FoundationTokenType
6
+ ): ResponsiveModalV2Tokens => {
7
+ return {
8
+ sm: {
9
+ paddingTop: foundationToken.unit[16],
10
+ paddingRight: foundationToken.unit[16],
11
+ paddingBottom: foundationToken.unit[16],
12
+ paddingLeft: foundationToken.unit[16],
13
+ boxShadow: foundationToken.shadows.xs,
14
+ borderRadius: foundationToken.border.radius[16],
15
+ backgroundColor: foundationToken.colors.gray[0],
16
+ overlay: {
17
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
18
+ offset: foundationToken.unit[16],
19
+ },
20
+ skeleton: {
21
+ header: {
22
+ gap: foundationToken.unit[16],
23
+ paddingTop: foundationToken.unit[20],
24
+ paddingRight: foundationToken.unit[20],
25
+ paddingBottom: foundationToken.unit[20],
26
+ paddingLeft: foundationToken.unit[20],
27
+ borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
28
+ width: '60%',
29
+ height: 24,
30
+ borderRadius: foundationToken.border.radius[4],
31
+ },
32
+ body: {
33
+ gap: foundationToken.unit[12],
34
+ width: '100%',
35
+ height: 300,
36
+ borderRadius: foundationToken.border.radius[4],
37
+ },
38
+ },
39
+ divider: {
40
+ borderColor: foundationToken.colors.gray[200],
41
+ },
42
+ header: {
43
+ gap: foundationToken.unit[16],
44
+ paddingTop: foundationToken.unit[16],
45
+ paddingRight: foundationToken.unit[16],
46
+ paddingBottom: foundationToken.unit[16],
47
+ paddingLeft: foundationToken.unit[16],
48
+ maxHeight: '20vh',
49
+ borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
50
+ backgroundColor: foundationToken.colors.gray[0],
51
+ borderTopLeftRadius: foundationToken.border.radius[16],
52
+ borderTopRightRadius: foundationToken.border.radius[16],
53
+ slot: {
54
+ gap: foundationToken.unit[8],
55
+ },
56
+ text: {
57
+ title: {
58
+ color: foundationToken.colors.gray[700],
59
+ fontSize: foundationToken.font.size.body.md.fontSize,
60
+ fontWeight: foundationToken.font.weight[600],
61
+ lineHeight: foundationToken.font.lineHeight[20],
62
+ },
63
+ subtitle: {
64
+ color: foundationToken.colors.gray[600],
65
+ fontSize: foundationToken.font.size.body.sm.fontSize,
66
+ fontWeight: foundationToken.font.weight[400],
67
+ lineHeight: foundationToken.font.lineHeight[20],
68
+ },
69
+ },
70
+ },
71
+
72
+ body: {
73
+ paddingTop: foundationToken.unit[16],
74
+ paddingRight: foundationToken.unit[16],
75
+ paddingBottom: foundationToken.unit[16],
76
+ paddingLeft: foundationToken.unit[16],
77
+ backgroundColor: foundationToken.colors.gray[0],
78
+ },
79
+
80
+ footer: {
81
+ paddingTop: foundationToken.unit[16],
82
+ paddingRight: foundationToken.unit[16],
83
+ paddingBottom: foundationToken.unit[16],
84
+ paddingLeft: foundationToken.unit[16],
85
+ borderTop: `1px solid ${foundationToken.colors.gray[200]}`,
86
+ backgroundColor: foundationToken.colors.gray[0],
87
+ gap: foundationToken.unit[12],
88
+ },
89
+ closeButton: {
90
+ color: foundationToken.colors.gray[500],
91
+ width: foundationToken.unit[16],
92
+ height: foundationToken.unit[16],
93
+ },
94
+ },
95
+ lg: {
96
+ backgroundColor: foundationToken.colors.gray[0],
97
+ paddingTop: foundationToken.unit[16],
98
+ paddingRight: foundationToken.unit[16],
99
+ paddingBottom: foundationToken.unit[16],
100
+ paddingLeft: foundationToken.unit[16],
101
+ boxShadow: foundationToken.shadows.lg,
102
+ borderRadius: foundationToken.border.radius[16],
103
+ overlay: {
104
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
105
+ offset: foundationToken.unit[16],
106
+ },
107
+ divider: {
108
+ borderColor: foundationToken.colors.gray[200],
109
+ },
110
+ header: {
111
+ gap: foundationToken.unit[16],
112
+ paddingTop: foundationToken.unit[20],
113
+ paddingRight: foundationToken.unit[20],
114
+ paddingBottom: foundationToken.unit[20],
115
+ paddingLeft: foundationToken.unit[20],
116
+ maxHeight: '20vh',
117
+ borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
118
+ backgroundColor: foundationToken.colors.gray[0],
119
+ borderTopLeftRadius: foundationToken.border.radius[16],
120
+ borderTopRightRadius: foundationToken.border.radius[16],
121
+ slot: {
122
+ gap: foundationToken.unit[8],
123
+ },
124
+ text: {
125
+ title: {
126
+ color: foundationToken.colors.gray[700],
127
+ fontSize: foundationToken.font.size.body.lg.fontSize,
128
+ fontWeight: foundationToken.font.weight[600],
129
+ lineHeight: foundationToken.font.lineHeight[20],
130
+ },
131
+ subtitle: {
132
+ color: foundationToken.colors.gray[600],
133
+ fontSize: foundationToken.font.size.body.md.fontSize,
134
+ fontWeight: foundationToken.font.weight[400],
135
+ lineHeight: foundationToken.font.lineHeight[20],
136
+ },
137
+ },
138
+ },
139
+ skeleton: {
140
+ header: {
141
+ gap: foundationToken.unit[16],
142
+ paddingTop: foundationToken.unit[20],
143
+ paddingRight: foundationToken.unit[20],
144
+ paddingBottom: foundationToken.unit[20],
145
+ paddingLeft: foundationToken.unit[20],
146
+ borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
147
+ width: '60%',
148
+ height: 24,
149
+ borderRadius: foundationToken.border.radius[4],
150
+ },
151
+ body: {
152
+ gap: foundationToken.unit[12],
153
+ width: '100%',
154
+ height: 300,
155
+ borderRadius: foundationToken.border.radius[4],
156
+ },
157
+ },
158
+
159
+ body: {
160
+ paddingTop: foundationToken.unit[20],
161
+ paddingRight: foundationToken.unit[20],
162
+ paddingBottom: foundationToken.unit[20],
163
+ paddingLeft: foundationToken.unit[20],
164
+ backgroundColor: foundationToken.colors.gray[0],
165
+ },
166
+
167
+ footer: {
168
+ paddingTop: foundationToken.unit[20],
169
+ paddingRight: foundationToken.unit[20],
170
+ paddingBottom: foundationToken.unit[20],
171
+ paddingLeft: foundationToken.unit[20],
172
+ borderTop: `1px solid ${foundationToken.colors.gray[200]}`,
173
+ backgroundColor: foundationToken.colors.gray[0],
174
+ gap: foundationToken.unit[16],
175
+ },
176
+ closeButton: {
177
+ color: foundationToken.colors.gray[500],
178
+ width: foundationToken.unit[16],
179
+ height: foundationToken.unit[16],
180
+ },
181
+ },
182
+ }
183
+ }
@@ -0,0 +1,21 @@
1
+ import { type FoundationTokenType } from '../../tokens/theme.token'
2
+ import { Theme } from '../../context/theme.enum'
3
+ import { getModalV2LightToken } from './modalV2.light.tokens'
4
+ import { getModalV2DarkToken } from './modalV2.dark.tokens'
5
+ import type { ResponsiveModalV2Tokens } from './modalV2.tokens.types'
6
+
7
+ export type {
8
+ ModalV2State,
9
+ ModalV2TokensType,
10
+ ResponsiveModalV2Tokens,
11
+ } from './modalV2.tokens.types'
12
+
13
+ export const getModalV2Tokens = (
14
+ foundationToken: FoundationTokenType,
15
+ theme: Theme | string = Theme.LIGHT
16
+ ): ResponsiveModalV2Tokens => {
17
+ if (theme === Theme.DARK || theme === 'dark') {
18
+ return getModalV2DarkToken(foundationToken)
19
+ }
20
+ return getModalV2LightToken(foundationToken)
21
+ }
@@ -0,0 +1,94 @@
1
+ import type { CSSObject } from 'styled-components'
2
+ import type { BreakpointType } from '../../breakpoints/breakPoints'
3
+
4
+ export type ModalV2State = 'default'
5
+
6
+ export type ModalV2TokensType = {
7
+ boxShadow: CSSObject['boxShadow']
8
+ borderRadius: CSSObject['borderRadius']
9
+ overlay: {
10
+ backgroundColor: CSSObject['backgroundColor']
11
+ offset: CSSObject['offset']
12
+ }
13
+ paddingTop: CSSObject['paddingTop']
14
+ paddingRight: CSSObject['paddingRight']
15
+ paddingBottom: CSSObject['paddingBottom']
16
+ paddingLeft: CSSObject['paddingLeft']
17
+ backgroundColor: CSSObject['backgroundColor']
18
+ header: {
19
+ gap: CSSObject['gap']
20
+ paddingTop: CSSObject['paddingTop']
21
+ paddingRight: CSSObject['paddingRight']
22
+ paddingBottom: CSSObject['paddingBottom']
23
+ paddingLeft: CSSObject['paddingLeft']
24
+ maxHeight: CSSObject['maxHeight']
25
+ borderBottom: CSSObject['border']
26
+ backgroundColor: CSSObject['backgroundColor']
27
+ borderTopLeftRadius: CSSObject['borderTopLeftRadius']
28
+ borderTopRightRadius: CSSObject['borderTopRightRadius']
29
+ slot: {
30
+ gap: CSSObject['gap']
31
+ }
32
+ text: {
33
+ title: {
34
+ color: CSSObject['color']
35
+ fontSize: CSSObject['fontSize']
36
+ fontWeight: CSSObject['fontWeight']
37
+ lineHeight: CSSObject['lineHeight']
38
+ }
39
+ subtitle: {
40
+ color: CSSObject['color']
41
+ fontSize: CSSObject['fontSize']
42
+ fontWeight: CSSObject['fontWeight']
43
+ lineHeight: CSSObject['lineHeight']
44
+ }
45
+ }
46
+ }
47
+ divider: {
48
+ borderColor: CSSObject['borderColor']
49
+ }
50
+ skeleton: {
51
+ header: {
52
+ gap: CSSObject['gap']
53
+ paddingTop: CSSObject['paddingTop']
54
+ paddingRight: CSSObject['paddingRight']
55
+ paddingBottom: CSSObject['paddingBottom']
56
+ paddingLeft: CSSObject['paddingLeft']
57
+ borderBottom: CSSObject['border']
58
+ width: CSSObject['width']
59
+ height: CSSObject['height']
60
+ borderRadius: CSSObject['borderRadius']
61
+ }
62
+ body: {
63
+ gap: CSSObject['gap']
64
+ width: CSSObject['width']
65
+ height: CSSObject['height']
66
+ borderRadius: CSSObject['borderRadius']
67
+ }
68
+ }
69
+ body: {
70
+ paddingTop: CSSObject['paddingTop']
71
+ paddingRight: CSSObject['paddingRight']
72
+ paddingBottom: CSSObject['paddingBottom']
73
+ paddingLeft: CSSObject['paddingLeft']
74
+ backgroundColor: CSSObject['backgroundColor']
75
+ }
76
+ footer: {
77
+ paddingTop: CSSObject['paddingTop']
78
+ paddingRight: CSSObject['paddingRight']
79
+ paddingBottom: CSSObject['paddingBottom']
80
+ paddingLeft: CSSObject['paddingLeft']
81
+ borderTop: CSSObject['border']
82
+ backgroundColor: CSSObject['backgroundColor']
83
+ gap: CSSObject['gap']
84
+ }
85
+ closeButton: {
86
+ color: CSSObject['color']
87
+ width: CSSObject['width']
88
+ height: CSSObject['height']
89
+ }
90
+ }
91
+
92
+ export type ResponsiveModalV2Tokens = {
93
+ [key in keyof BreakpointType]: ModalV2TokensType
94
+ }
@@ -0,0 +1,80 @@
1
+ // Skeleton types
2
+ import { SkeletonVariant } from '../Skeleton'
3
+ import type { ModalV2TokensType } from './modalV2.tokens.types'
4
+ import type { HTMLAttributes, ReactNode } from 'react'
5
+ import type { ButtonV2Props } from '../ButtonV2'
6
+ import type { CSSObject } from 'styled-components'
7
+
8
+ export type HeaderSkeletonConfig = {
9
+ show: boolean
10
+ showDivider: boolean
11
+ showCloseButton: boolean
12
+ }
13
+
14
+ export type BodySkeletonConfig = {
15
+ show: boolean
16
+ width: string
17
+ height: string | number
18
+ }
19
+
20
+ export type FooterSkeletonConfig = {
21
+ show: boolean
22
+ showDivider: boolean
23
+ }
24
+
25
+ export type ModalV2SkeletonProps = {
26
+ modalTokens: ModalV2TokensType
27
+ headerSkeleton?: HeaderSkeletonConfig
28
+ bodySkeleton?: BodySkeletonConfig
29
+ footerSkeleton?: FooterSkeletonConfig
30
+ skeletonVariant: SkeletonVariant
31
+ }
32
+
33
+ // Modal types - using ButtonV2 props
34
+ export type ModalV2ButtonAction = Omit<ButtonV2Props, 'buttonGroupPosition'>
35
+
36
+ export type BodySkeletonProps = {
37
+ show?: boolean
38
+ width?: string
39
+ height?: string | number
40
+ }
41
+
42
+ export type ModalV2BodySkeletonProps = {
43
+ show?: boolean
44
+ variant?: SkeletonVariant
45
+ bodySkeletonProps?: BodySkeletonProps
46
+ }
47
+
48
+ export type ModalV2Dimensions = {
49
+ width?: CSSObject['width']
50
+ height?: CSSObject['height']
51
+ minWidth?: CSSObject['minWidth']
52
+ maxWidth?: CSSObject['maxWidth']
53
+ minHeight?: CSSObject['minHeight']
54
+ maxHeight?: CSSObject['maxHeight']
55
+ }
56
+
57
+ export type ModalV2Props = {
58
+ isOpen: boolean
59
+ isCustom?: boolean
60
+ onClose: () => void
61
+ title?: string
62
+ subtitle?: string
63
+ children: ReactNode
64
+ primaryAction?: ModalV2ButtonAction
65
+ secondaryAction?: ModalV2ButtonAction
66
+ showCloseButton?: boolean
67
+ showHeader?: boolean
68
+ showFooter?: boolean
69
+ closeOnBackdropClick?: boolean
70
+ customHeader?: ReactNode
71
+ customFooter?: ReactNode
72
+ headerSlot?: ReactNode
73
+ showDivider?: boolean
74
+ dimensions?: ModalV2Dimensions
75
+ useDrawerOnMobile?: boolean
76
+ skeleton?: ModalV2BodySkeletonProps
77
+ } & Omit<
78
+ HTMLAttributes<HTMLDivElement>,
79
+ 'children' | 'title' | 'className' | 'style'
80
+ >
@@ -101,6 +101,7 @@ const MultiSelect = ({
101
101
  onClearAllClick,
102
102
  onOpenChange,
103
103
  multiSelectGroupPosition,
104
+ menuFooter,
104
105
  ...rest
105
106
  }: MultiSelectProps) => {
106
107
  const { onFocus, onBlur, ...buttonRest } = rest
@@ -356,6 +357,7 @@ const MultiSelect = ({
356
357
  hasMore={hasMore}
357
358
  loadingComponent={loadingComponent}
358
359
  menuId={menuId}
360
+ menuFooter={menuFooter}
359
361
  trigger={
360
362
  customTrigger || (
361
363
  <PrimitiveButton
@@ -490,7 +492,8 @@ const MultiSelect = ({
490
492
  variant ===
491
493
  MultiSelectVariant.CONTAINER &&
492
494
  isSmallScreenWithLargeSize &&
493
- isItemSelected
495
+ isItemSelected &&
496
+ label
494
497
  ? paddingY * 1.5
495
498
  : 0
496
499
  }
@@ -86,6 +86,10 @@ const FixedActionButtons = styled(Block)(() => ({
86
86
  flexShrink: 0,
87
87
  }))
88
88
 
89
+ const MenuFooter = styled(Block)(() => ({
90
+ flexShrink: 0,
91
+ }))
92
+
89
93
  type FlattenedMultiSelectItem = VirtualListItem & {
90
94
  type: 'item' | 'label' | 'separator'
91
95
  item?: MultiSelectMenuItemType
@@ -171,6 +175,7 @@ const MultiSelectMenu = ({
171
175
  allowCustomValue = false,
172
176
  customValueLabel = 'Specify',
173
177
  menuId,
178
+ menuFooter,
174
179
  }: MultiSelectMenuProps) => {
175
180
  const multiSelectTokens =
176
181
  useResponsiveTokens<MultiSelectTokensType>('MULTI_SELECT')
@@ -892,6 +897,9 @@ const MultiSelectMenu = ({
892
897
  )}
893
898
  </FixedActionButtons>
894
899
  )}
900
+ {menuFooter && (
901
+ <MenuFooter>{menuFooter}</MenuFooter>
902
+ )}
895
903
  </>
896
904
  )}
897
905
  </Content>
@@ -170,7 +170,8 @@ const MultiSelectTrigger = ({
170
170
  paddingTop={
171
171
  variant === MultiSelectVariant.CONTAINER &&
172
172
  isSmallScreenWithLargeSize &&
173
- isItemSelected
173
+ isItemSelected &&
174
+ label
174
175
  ? paddingY * 1.5
175
176
  : 0
176
177
  }
@@ -1,4 +1,6 @@
1
+ /** @deprecated Will be deprecated soon. Use MultiSelectV2 instead. */
1
2
  export { default as MultiSelect } from './MultiSelect'
3
+ /** @deprecated Will be deprecated soon. Use MultiSelectV2 instead. */
2
4
  export { default as MultiSelectTrigger } from './MultiSelectTrigger'
3
5
  export * from './multiSelect.tokens'
4
6
  export * from './types'
@@ -157,6 +157,7 @@ export type MultiSelectProps = {
157
157
  showClearButton?: boolean
158
158
  onClearAllClick?: () => void
159
159
  multiSelectGroupPosition?: 'center' | 'left' | 'right'
160
+ menuFooter?: React.ReactNode
160
161
  } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'slot' | 'onChange'>
161
162
 
162
163
  // Multi Select Menu Dropdpown
@@ -225,4 +226,5 @@ export type MultiSelectMenuProps = {
225
226
  customValueLabel?: string
226
227
  menuId?: string
227
228
  collisionBoundary?: Element | null | Array<Element | null>
229
+ menuFooter?: React.ReactNode
228
230
  }
@@ -91,6 +91,7 @@ const MultiSelectV2 = ({
91
91
  onClearAllClick,
92
92
  onOpenChange,
93
93
  multiSelectGroupPosition,
94
+ menuFooter,
94
95
  ...rest
95
96
  }: MultiSelectV2Props) => {
96
97
  const { disabled, name, ...buttonRest } = rest as {
@@ -366,6 +367,7 @@ const MultiSelectV2 = ({
366
367
  }
367
368
  allowCustomValue={allowCustomValue}
368
369
  customValueLabel={customValueLabel}
370
+ menuFooter={menuFooter}
369
371
  />
370
372
 
371
373
  {shouldShowClearButton && (