@sprinklrjs/spaceweb 10.1.0 → 11.0.0

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 (397) hide show
  1. package/asyncSelect/asyncSelect.js +12 -12
  2. package/asyncSelect/helpers.d.ts +1 -1
  3. package/asyncSelect/hooks/useAsyncOptionHandlers.d.ts +2 -2
  4. package/asyncSelect/types.d.ts +3 -4
  5. package/avatar/index.d.ts +1 -1
  6. package/avatar/types.d.ts +1 -1
  7. package/banner/banner-item.d.ts +12 -0
  8. package/banner/banner-item.js +14 -0
  9. package/banner/banner.d.ts +19 -0
  10. package/banner/banner.js +56 -0
  11. package/banner/index.d.ts +5 -0
  12. package/banner/index.js +14 -0
  13. package/banner/locale.d.ts +6 -0
  14. package/banner/locale.js +2 -0
  15. package/banner/package.json +4 -0
  16. package/banner/styled-component.d.ts +6 -0
  17. package/banner/styled-component.js +39 -0
  18. package/banner/types.d.ts +26 -0
  19. package/banner/types.js +2 -0
  20. package/button/Button.d.ts +1 -3
  21. package/button/Button.js +1 -1
  22. package/button/basewebAdapter.d.ts +7 -6
  23. package/button/basewebAdapter.js +1 -1
  24. package/button/types.d.ts +1 -1
  25. package/button-group/ButtonGroup.js +1 -1
  26. package/button-group/index.d.ts +1 -2
  27. package/button-group/index.js +1 -5
  28. package/button-group/styled-components.js +4 -4
  29. package/button-group/types.d.ts +1 -0
  30. package/checkbox/basewebAdapters.d.ts +5 -2
  31. package/checkbox/basewebAdapters.js +3 -1
  32. package/checkbox/index.d.ts +1 -1
  33. package/checkbox/index.js +1 -2
  34. package/checkbox/styled-components.js +1 -1
  35. package/checkbox/types.d.ts +15 -8
  36. package/date-input/DateInput.js +2 -2
  37. package/date-picker/Calendar.d.ts +1 -1
  38. package/date-picker/Calendar.js +11 -3
  39. package/date-picker/DateInput.d.ts +3 -2
  40. package/date-picker/DateInput.js +5 -5
  41. package/date-picker/DatePickerInput.js +4 -10
  42. package/date-picker/DateTimeContainer.d.ts +4 -2
  43. package/date-picker/DateTimeContainer.js +5 -5
  44. package/date-picker/StatelessDatePicker.d.ts +1 -1
  45. package/date-picker/StatelessDatePicker.js +7 -6
  46. package/date-picker/TimeInput.d.ts +5 -2
  47. package/date-picker/TimeInput.js +4 -2
  48. package/date-picker/index.d.ts +1 -0
  49. package/date-picker/index.js +3 -1
  50. package/date-picker/stateful-container.d.ts +1 -1
  51. package/date-picker/styled-components.d.ts +0 -1
  52. package/date-picker/styled-components.js +1 -24
  53. package/date-picker/types.d.ts +1 -1
  54. package/date-picker/utils.d.ts +8 -7
  55. package/date-picker/utils.js +4 -1
  56. package/esm/asyncSelect/asyncSelect.js +12 -12
  57. package/esm/asyncSelect/helpers.d.ts +1 -1
  58. package/esm/asyncSelect/hooks/useAsyncOptionHandlers.d.ts +2 -2
  59. package/esm/asyncSelect/types.d.ts +3 -4
  60. package/esm/avatar/index.d.ts +1 -1
  61. package/esm/avatar/types.d.ts +1 -1
  62. package/esm/banner/banner-item.d.ts +12 -0
  63. package/esm/banner/banner-item.js +12 -0
  64. package/esm/banner/banner.d.ts +19 -0
  65. package/esm/banner/banner.js +54 -0
  66. package/esm/banner/index.d.ts +5 -0
  67. package/esm/banner/index.js +3 -0
  68. package/esm/banner/locale.d.ts +6 -0
  69. package/esm/banner/locale.js +1 -0
  70. package/esm/banner/styled-component.d.ts +6 -0
  71. package/esm/banner/styled-component.js +35 -0
  72. package/esm/banner/types.d.ts +26 -0
  73. package/esm/banner/types.js +1 -0
  74. package/esm/button/Button.d.ts +1 -3
  75. package/esm/button/Button.js +1 -1
  76. package/esm/button/basewebAdapter.d.ts +7 -6
  77. package/esm/button/basewebAdapter.js +1 -1
  78. package/esm/button/types.d.ts +1 -1
  79. package/esm/button-group/ButtonGroup.js +1 -1
  80. package/esm/button-group/index.d.ts +1 -2
  81. package/esm/button-group/index.js +0 -1
  82. package/esm/button-group/styled-components.js +4 -4
  83. package/esm/button-group/types.d.ts +1 -0
  84. package/esm/checkbox/basewebAdapters.d.ts +5 -2
  85. package/esm/checkbox/basewebAdapters.js +3 -1
  86. package/esm/checkbox/index.d.ts +1 -1
  87. package/esm/checkbox/index.js +1 -1
  88. package/esm/checkbox/styled-components.js +1 -1
  89. package/esm/checkbox/types.d.ts +15 -8
  90. package/esm/date-input/DateInput.js +2 -2
  91. package/esm/date-picker/Calendar.d.ts +1 -1
  92. package/esm/date-picker/Calendar.js +12 -4
  93. package/esm/date-picker/DateInput.d.ts +3 -2
  94. package/esm/date-picker/DateInput.js +5 -5
  95. package/esm/date-picker/DatePickerInput.js +4 -10
  96. package/esm/date-picker/DateTimeContainer.d.ts +4 -2
  97. package/esm/date-picker/DateTimeContainer.js +5 -5
  98. package/esm/date-picker/StatelessDatePicker.d.ts +1 -1
  99. package/esm/date-picker/StatelessDatePicker.js +7 -6
  100. package/esm/date-picker/TimeInput.d.ts +5 -2
  101. package/esm/date-picker/TimeInput.js +4 -2
  102. package/esm/date-picker/index.d.ts +1 -0
  103. package/esm/date-picker/index.js +1 -0
  104. package/esm/date-picker/stateful-container.d.ts +1 -1
  105. package/esm/date-picker/styled-components.d.ts +0 -1
  106. package/esm/date-picker/styled-components.js +0 -23
  107. package/esm/date-picker/types.d.ts +1 -1
  108. package/esm/date-picker/utils.d.ts +8 -7
  109. package/esm/date-picker/utils.js +4 -1
  110. package/esm/form-control/context.d.ts +6 -13
  111. package/esm/form-control/context.js +10 -9
  112. package/esm/form-control/styled-component.js +3 -3
  113. package/esm/helpers/baseui/withThemeOverride.js +1 -1
  114. package/esm/helpers/commonStyles.d.ts +2 -2
  115. package/esm/helpers/styletron.d.ts +14 -3
  116. package/esm/hooks/useAutoFocus.d.ts +6 -7
  117. package/esm/hooks/useAutoFocus.js +13 -13
  118. package/esm/hooks/useCombinedRef.d.ts +1 -0
  119. package/esm/hooks/useCombinedRef.js +33 -0
  120. package/esm/hooks/useIsMobileDevice.d.ts +1 -0
  121. package/esm/hooks/useIsMobileDevice.js +6 -0
  122. package/esm/hooks/useMatchMedia.d.ts +3 -0
  123. package/esm/hooks/useMatchMedia.js +38 -0
  124. package/esm/input/basewebAdapters.d.ts +1 -1
  125. package/esm/input/index.d.ts +2 -1
  126. package/esm/input/index.js +1 -0
  127. package/esm/input/styled-components.d.ts +1 -1
  128. package/esm/input/styled-components.js +1 -1
  129. package/esm/input/types.d.ts +6 -3
  130. package/esm/list/avatar-list-item.js +4 -8
  131. package/esm/list/divider.js +6 -3
  132. package/esm/list/list.d.ts +10 -5
  133. package/esm/list/list.js +47 -6
  134. package/esm/list/styled-component.js +9 -11
  135. package/esm/list/types.d.ts +5 -0
  136. package/esm/list/utils.d.ts +2 -0
  137. package/esm/list/utils.js +10 -0
  138. package/esm/locale/en_US.js +9 -0
  139. package/esm/locale/types.d.ts +2 -0
  140. package/esm/menu/menu-item.d.ts +4 -1
  141. package/esm/menu/menu.d.ts +5 -0
  142. package/esm/menu/menu.js +7 -7
  143. package/esm/modal/adapter.d.ts +1 -1
  144. package/esm/modal/index.d.ts +1 -1
  145. package/esm/modal/index.js +1 -1
  146. package/esm/modal/modal.js +2 -4
  147. package/esm/modal/overrides.d.ts +0 -1
  148. package/esm/modal/overrides.js +0 -1
  149. package/esm/modal/styled-components.d.ts +1 -1
  150. package/esm/modal/styled-components.js +1 -1
  151. package/esm/overrides/mergeOverrides.js +4 -3
  152. package/esm/payment-card/basewebAdapters.js +4 -3
  153. package/esm/payment-card/styled-components.js +1 -1
  154. package/esm/payment-card/types.d.ts +4 -2
  155. package/esm/phone-input/country-select.js +1 -3
  156. package/esm/phone-input/default-props.d.ts +1 -4
  157. package/esm/phone-input/default-props.js +0 -2
  158. package/esm/phone-input/phone-input.d.ts +0 -2
  159. package/esm/phone-input/phone-input.js +3 -2
  160. package/esm/phone-input/stateful-phone-input.d.ts +0 -2
  161. package/esm/phone-input/utils.d.ts +5 -2
  162. package/esm/phone-input/utils.js +4 -4
  163. package/esm/popover/adapter.d.ts +3 -3
  164. package/esm/popover/popover.d.ts +5 -3
  165. package/esm/popover/popover.js +6 -4
  166. package/esm/popover/types.d.ts +7 -2
  167. package/esm/popover/types.js +2 -1
  168. package/esm/progress/circular/styled-component.d.ts +1 -1
  169. package/esm/progress/circular/styled-component.js +3 -3
  170. package/esm/radio/basewebAdapters.d.ts +8 -11
  171. package/esm/radio/basewebAdapters.js +6 -3
  172. package/esm/radio/radio.js +6 -5
  173. package/esm/radio/styled-components.js +4 -6
  174. package/esm/radio/types.d.ts +13 -6
  175. package/esm/select/adaptor.d.ts +1 -1
  176. package/esm/select/base-select.d.ts +18 -15
  177. package/esm/select/base-select.js +19 -14
  178. package/esm/select/default-props.d.ts +8 -5
  179. package/esm/select/default-props.js +1 -1
  180. package/esm/select/index.d.ts +2 -2
  181. package/esm/select/index.js +1 -1
  182. package/esm/select/mobileSelect/MobileSelect.js +3 -5
  183. package/esm/select/multi-value.js +1 -1
  184. package/esm/select/overlaySelect/OverlaySelect.js +9 -18
  185. package/esm/select/overlaySelect/hooks/useControlRef.d.ts +9 -0
  186. package/esm/select/overlaySelect/hooks/useControlRef.js +33 -0
  187. package/esm/select/overlaySelect/hooks/useOverlaySelectOverrides.d.ts +23 -0
  188. package/esm/select/overlaySelect/{useOverlaySelectOverrides.js → hooks/useOverlaySelectOverrides.js} +22 -16
  189. package/esm/select/overlaySelect/{usePopover.d.ts → hooks/usePopover.d.ts} +1 -1
  190. package/esm/select/overlaySelect/{usePopover.js → hooks/usePopover.js} +2 -2
  191. package/esm/select/overrides.d.ts +0 -1
  192. package/esm/select/overrides.js +2 -9
  193. package/esm/select/select-variants.js +2 -2
  194. package/esm/select/select.d.ts +8 -5
  195. package/esm/select/select.js +3 -3
  196. package/esm/select/selectMenuAdapter/SelectMenuAdapter.d.ts +2 -0
  197. package/esm/select/selectMenuAdapter/SelectMenuAdapter.js +11 -5
  198. package/esm/select/selectMenuAdapter/SelectMenuItem.d.ts +4 -1
  199. package/esm/select/selectMenuAdapter/SelectMenuItem.js +2 -4
  200. package/esm/select/stateful-select.d.ts +8 -5
  201. package/esm/select/stateful-select.js +3 -3
  202. package/esm/select/styled-component.d.ts +5 -3
  203. package/esm/select/styled-component.js +32 -6
  204. package/esm/select/types.d.ts +13 -8
  205. package/esm/slider/mark.d.ts +3 -3
  206. package/esm/slider/slider.js +2 -1
  207. package/esm/slider/stateful-slider.js +1 -1
  208. package/esm/slider/types.d.ts +9 -2
  209. package/esm/spacewebProvider/CustomBaseProvider.js +1 -0
  210. package/esm/spacewebProvider/SpacewebProvider.d.ts +1 -1
  211. package/esm/style/_parseStyle.js +5 -5
  212. package/esm/style/useMemoizedStyletron.d.ts +1 -1
  213. package/esm/styleEngine/styleEngine.d.ts +1 -2
  214. package/esm/switch/__test__/switch.spec.js +13 -0
  215. package/esm/switch/styled-components.js +14 -21
  216. package/esm/switch/switch.js +5 -2
  217. package/esm/switch/types.d.ts +8 -11
  218. package/esm/textarea/basewebAdapters.js +2 -2
  219. package/esm/textarea/styled-components.d.ts +1 -1
  220. package/esm/textarea/textarea.js +2 -6
  221. package/esm/textarea/types.d.ts +5 -3
  222. package/esm/themes/index.js +1 -1
  223. package/esm/themes/responsive-theme.d.ts +2 -2
  224. package/esm/time-picker/TimePicker.d.ts +1 -6
  225. package/esm/time-picker/TimePicker.js +1 -4
  226. package/esm/time-picker/types.d.ts +3 -1
  227. package/esm/time-range-picker/RangeSelector.js +6 -5
  228. package/esm/time-range-picker/RangeSelectorContainer.js +27 -27
  229. package/esm/time-range-picker/TimeRangeList.js +8 -1
  230. package/esm/time-range-picker/TimeRangePicker.js +6 -5
  231. package/esm/time-range-picker/locale.d.ts +3 -0
  232. package/esm/time-range-picker/types.d.ts +16 -1
  233. package/esm/time-range-picker/utils.d.ts +14 -14
  234. package/esm/time-range-picker/utils.js +45 -1
  235. package/esm/time-zone-picker/TimezonePicker.d.ts +1 -6
  236. package/esm/time-zone-picker/TimezonePicker.js +5 -7
  237. package/esm/tooltip/disabled-tooltip-container.d.ts +26 -1
  238. package/esm/tooltip/overrides.js +1 -1
  239. package/esm/tooltip/stateful-tooltip-container.d.ts +26 -1
  240. package/esm/tooltip/stateful-tooltip.d.ts +27 -1
  241. package/esm/tooltip/stateful-tooltip.js +1 -1
  242. package/esm/tooltip/tooltip.d.ts +1 -1
  243. package/esm/tooltip/tooltip.js +4 -4
  244. package/esm/tooltip/types.d.ts +10 -2
  245. package/esm/types.d.ts +3 -2
  246. package/esm/video/Video.js +4 -2
  247. package/esm/video/types.d.ts +2 -0
  248. package/form-control/context.d.ts +6 -13
  249. package/form-control/context.js +11 -10
  250. package/form-control/styled-component.js +3 -3
  251. package/helpers/baseui/withThemeOverride.js +1 -1
  252. package/helpers/commonStyles.d.ts +2 -2
  253. package/helpers/styletron.d.ts +14 -3
  254. package/hooks/useAutoFocus.d.ts +6 -7
  255. package/hooks/useAutoFocus.js +13 -14
  256. package/hooks/useCombinedRef.d.ts +1 -0
  257. package/hooks/useCombinedRef.js +35 -1
  258. package/hooks/useIsMobileDevice.d.ts +1 -0
  259. package/hooks/useIsMobileDevice.js +11 -0
  260. package/hooks/useMatchMedia.d.ts +3 -0
  261. package/hooks/useMatchMedia.js +41 -0
  262. package/input/basewebAdapters.d.ts +1 -1
  263. package/input/index.d.ts +2 -1
  264. package/input/index.js +3 -1
  265. package/input/styled-components.d.ts +1 -1
  266. package/input/styled-components.js +1 -1
  267. package/input/types.d.ts +6 -3
  268. package/list/avatar-list-item.js +3 -7
  269. package/list/divider.js +6 -3
  270. package/list/list.d.ts +10 -5
  271. package/list/list.js +47 -6
  272. package/list/styled-component.js +9 -11
  273. package/list/types.d.ts +5 -0
  274. package/list/utils.d.ts +2 -0
  275. package/list/utils.js +14 -0
  276. package/locale/en_US.js +9 -0
  277. package/locale/types.d.ts +2 -0
  278. package/menu/menu-item.d.ts +4 -1
  279. package/menu/menu.d.ts +5 -0
  280. package/menu/menu.js +7 -7
  281. package/modal/adapter.d.ts +1 -1
  282. package/modal/index.d.ts +1 -1
  283. package/modal/index.js +1 -2
  284. package/modal/modal.js +1 -3
  285. package/modal/overrides.d.ts +0 -1
  286. package/modal/overrides.js +1 -2
  287. package/modal/styled-components.d.ts +1 -1
  288. package/modal/styled-components.js +1 -2
  289. package/overrides/mergeOverrides.js +4 -3
  290. package/package.json +13 -10
  291. package/payment-card/basewebAdapters.js +4 -3
  292. package/payment-card/styled-components.js +1 -1
  293. package/payment-card/types.d.ts +4 -2
  294. package/phone-input/country-select.js +1 -3
  295. package/phone-input/default-props.d.ts +1 -4
  296. package/phone-input/default-props.js +0 -2
  297. package/phone-input/phone-input.d.ts +0 -2
  298. package/phone-input/phone-input.js +3 -2
  299. package/phone-input/stateful-phone-input.d.ts +0 -2
  300. package/phone-input/utils.d.ts +5 -2
  301. package/phone-input/utils.js +4 -4
  302. package/popover/adapter.d.ts +3 -3
  303. package/popover/popover.d.ts +5 -3
  304. package/popover/popover.js +6 -4
  305. package/popover/types.d.ts +7 -2
  306. package/popover/types.js +5 -4
  307. package/progress/circular/styled-component.d.ts +1 -1
  308. package/progress/circular/styled-component.js +4 -4
  309. package/radio/basewebAdapters.d.ts +8 -11
  310. package/radio/basewebAdapters.js +6 -3
  311. package/radio/radio.js +6 -5
  312. package/radio/styled-components.js +4 -6
  313. package/radio/types.d.ts +13 -6
  314. package/select/adaptor.d.ts +1 -1
  315. package/select/base-select.d.ts +18 -15
  316. package/select/base-select.js +18 -13
  317. package/select/default-props.d.ts +8 -5
  318. package/select/default-props.js +1 -1
  319. package/select/index.d.ts +2 -2
  320. package/select/index.js +1 -2
  321. package/select/mobileSelect/MobileSelect.js +3 -5
  322. package/select/multi-value.js +1 -1
  323. package/select/overlaySelect/OverlaySelect.js +8 -17
  324. package/select/overlaySelect/hooks/useControlRef.d.ts +9 -0
  325. package/select/overlaySelect/hooks/useControlRef.js +37 -0
  326. package/select/overlaySelect/hooks/useOverlaySelectOverrides.d.ts +23 -0
  327. package/select/overlaySelect/{useOverlaySelectOverrides.js → hooks/useOverlaySelectOverrides.js} +22 -16
  328. package/select/overlaySelect/{usePopover.d.ts → hooks/usePopover.d.ts} +1 -1
  329. package/select/overlaySelect/{usePopover.js → hooks/usePopover.js} +2 -2
  330. package/select/overrides.d.ts +0 -1
  331. package/select/overrides.js +3 -11
  332. package/select/select-variants.js +2 -2
  333. package/select/select.d.ts +8 -5
  334. package/select/select.js +3 -3
  335. package/select/selectMenuAdapter/SelectMenuAdapter.d.ts +2 -0
  336. package/select/selectMenuAdapter/SelectMenuAdapter.js +11 -5
  337. package/select/selectMenuAdapter/SelectMenuItem.d.ts +4 -1
  338. package/select/selectMenuAdapter/SelectMenuItem.js +2 -4
  339. package/select/stateful-select.d.ts +8 -5
  340. package/select/stateful-select.js +3 -3
  341. package/select/styled-component.d.ts +5 -3
  342. package/select/styled-component.js +32 -9
  343. package/select/types.d.ts +13 -8
  344. package/slider/mark.d.ts +3 -3
  345. package/slider/slider.js +2 -1
  346. package/slider/stateful-slider.js +1 -1
  347. package/slider/types.d.ts +9 -2
  348. package/spacewebProvider/CustomBaseProvider.js +1 -0
  349. package/spacewebProvider/SpacewebProvider.d.ts +1 -1
  350. package/style/_parseStyle.js +5 -5
  351. package/style/useMemoizedStyletron.d.ts +1 -1
  352. package/styleEngine/styleEngine.d.ts +1 -2
  353. package/switch/__test__/switch.spec.js +13 -0
  354. package/switch/styled-components.js +14 -21
  355. package/switch/switch.js +5 -2
  356. package/switch/types.d.ts +8 -11
  357. package/textarea/basewebAdapters.js +2 -2
  358. package/textarea/styled-components.d.ts +1 -1
  359. package/textarea/textarea.js +2 -6
  360. package/textarea/types.d.ts +5 -3
  361. package/themes/index.js +1 -1
  362. package/themes/responsive-theme.d.ts +2 -2
  363. package/time-picker/TimePicker.d.ts +1 -6
  364. package/time-picker/TimePicker.js +1 -4
  365. package/time-picker/types.d.ts +3 -1
  366. package/time-range-picker/RangeSelector.js +5 -4
  367. package/time-range-picker/RangeSelectorContainer.js +26 -26
  368. package/time-range-picker/TimeRangeList.js +8 -1
  369. package/time-range-picker/TimeRangePicker.js +6 -5
  370. package/time-range-picker/locale.d.ts +3 -0
  371. package/time-range-picker/types.d.ts +16 -1
  372. package/time-range-picker/utils.d.ts +14 -14
  373. package/time-range-picker/utils.js +46 -1
  374. package/time-zone-picker/TimezonePicker.d.ts +1 -6
  375. package/time-zone-picker/TimezonePicker.js +5 -7
  376. package/tooltip/disabled-tooltip-container.d.ts +26 -1
  377. package/tooltip/overrides.js +1 -1
  378. package/tooltip/stateful-tooltip-container.d.ts +26 -1
  379. package/tooltip/stateful-tooltip.d.ts +27 -1
  380. package/tooltip/stateful-tooltip.js +1 -1
  381. package/tooltip/tooltip.d.ts +1 -1
  382. package/tooltip/tooltip.js +4 -4
  383. package/tooltip/types.d.ts +10 -2
  384. package/tsconfig.tsbuildinfo +1 -1
  385. package/types.d.ts +3 -2
  386. package/video/Video.js +4 -2
  387. package/video/types.d.ts +2 -0
  388. package/esm/phone-input/virtualized-country-select-dropdown.d.ts +0 -31
  389. package/esm/phone-input/virtualized-country-select-dropdown.js +0 -33
  390. package/esm/select/overlaySelect/useOverlaySelectOverrides.d.ts +0 -14
  391. package/esm/style/_escapeClassName.d.ts +0 -6
  392. package/esm/style/_escapeClassName.js +0 -6
  393. package/phone-input/virtualized-country-select-dropdown.d.ts +0 -31
  394. package/phone-input/virtualized-country-select-dropdown.js +0 -35
  395. package/select/overlaySelect/useOverlaySelectOverrides.d.ts +0 -14
  396. package/style/_escapeClassName.d.ts +0 -6
  397. package/style/_escapeClassName.js +0 -9
@@ -1,7 +1,7 @@
1
1
  export { SELECT_ALL_ID } from './types';
2
2
  export { STATE_CHANGE_TYPE } from './constants';
3
3
  // styled-components
4
- export { StyledRoot, StyledClearIcon, StyledControlContainer, StyledDropdownContainer, StyledIconsContainer, StyledInput, StyledInputContainer, StyledInputSizer, StyledPlaceholder, StyledSearchIcon, StyledSearchIconContainer, StyledSelectArrow, StyledSingleValue, StyledValueContainer, NoResults, StyledOverlayContentContainer, } from './styled-component';
4
+ export { StyledRoot, StyledClearIcon, StyledControlContainer, StyledDropdownContainer, StyledIconsContainer, StyledInput, StyledInputContainer, StyledInputSizer, StyledPlaceholder, StyledSearchIconContainer, StyledSelectArrow, StyledSingleValue, StyledValueContainer, NoResults, StyledOverlayContentContainer, } from './styled-component';
5
5
  // components
6
6
  export { default as Select } from './select';
7
7
  export { default as StatefulSelect } from './stateful-select';
@@ -9,12 +9,10 @@ import { usePauseBodyScrollEffect } from './hooks/usePauseBodyScrollEffect';
9
9
  export var MobileSelect = React.memo(function (props) {
10
10
  var overrides = props.overrides, children = props.children, label = props.label;
11
11
  var _a = __read(React.useState(null), 2), scrollContainer = _a[0], setScrollContainer = _a[1];
12
- var mergedOverrides = React.useMemo(function () { return mergeOverrides(overrides !== null && overrides !== void 0 ? overrides : {}, getOverlayOverrides({ overlayContainerRef: setScrollContainer, label: label })); }, [overrides]);
13
- var childSelectOverrides = React.useMemo(function () { return mergeOverrides(overrides !== null && overrides !== void 0 ? overrides : {}, CHILD_SELECT_OVERRIDES); }, [
14
- overrides,
15
- ]);
12
+ var mergedOverrides = React.useMemo(function () { return mergeOverrides(overrides !== null && overrides !== void 0 ? overrides : {}, getOverlayOverrides({ overlayContainerRef: setScrollContainer, label: label })); }, [overrides, label]);
13
+ var childSelectOverrides = React.useMemo(function () { return mergeOverrides(overrides !== null && overrides !== void 0 ? overrides : {}, CHILD_SELECT_OVERRIDES); }, [overrides]);
16
14
  var overlaySelectProps = _omit(props, OVERLAY_SELECT_PROPS_TO_OMIT);
17
15
  var viewSelectProps = _omit(props, CHILD_SELECT_PROPS_TO_OMIT);
18
16
  usePauseBodyScrollEffect({ currentEl: scrollContainer || undefined });
19
- return (_jsx(Select, __assign({ overlayWidth: "100%", maxDropdownHeight: "100%", autoFocus: true }, overlaySelectProps, { overrides: mergedOverrides, type: "overlay" }, { children: React.isValidElement(children) ? (children) : (_jsx(Select, __assign({}, viewSelectProps, { overrides: childSelectOverrides, type: "select" }), void 0)) }), void 0));
17
+ return (_jsx(Select, __assign({ overlayWidth: "100%", maxDropdownHeight: "100%", autoFocus: true }, overlaySelectProps, { overrides: mergedOverrides, type: "overlay", filterOptions: overlaySelectProps.filterOptions }, { children: React.isValidElement(children) ? (children) : (_jsx(Select, __assign({}, viewSelectProps, { filterOptions: viewSelectProps.filterOptions, overrides: childSelectOverrides, type: "select" }), void 0)) }), void 0));
20
18
  });
@@ -11,7 +11,7 @@ export default function MultiValue(props) {
11
11
  var _b = props.overrides, overrides = _b === void 0 ? {} : _b, onActionClick = props.onActionClick, value = props.value, selectSize = props.selectSize, $disabled = props.$disabled, restProps = __rest(props, ["overrides", "onActionClick", "value", "selectSize", "$disabled"]);
12
12
  var _c = __read(useOverrides(overrides.Tag, Tag), 2), TagComponent = _c[0], tagProps = _c[1];
13
13
  var theme = useStyle().theme;
14
- var multiSelectTheme = useMemo(function () { return getComponentSizeTheme(theme, 'multiSelect', selectSize, 'lg'); }, [
14
+ var multiSelectTheme = useMemo(function () { return getComponentSizeTheme(theme, 'multiSelect', selectSize, 'md'); }, [
15
15
  selectSize,
16
16
  theme,
17
17
  ]);
@@ -1,12 +1,12 @@
1
1
  import { __assign, __read } from "tslib";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useEffect } from 'react';
3
+ import { useState } from 'react';
4
4
  import _omit from 'lodash/omit';
5
5
  import { useOverrides } from '../../overrides';
6
6
  import { Popover } from '../../popover';
7
7
  import BaseSelect from '../base-select';
8
8
  import { StyledOverlayContentContainer } from '../styled-component';
9
- import useOverlaySelectOverrides from './useOverlaySelectOverrides';
9
+ import useOverlaySelectOverrides from './hooks/useOverlaySelectOverrides';
10
10
  import useScrollCapture from '../../hooks/useScrollCapture';
11
11
  import useCombinedRefs from '../../hooks/useCombinedRef';
12
12
  // These props are handled by OverlaySelect itself and hence should not be passed to BaseSelect
@@ -17,6 +17,7 @@ var propsToOmit = [
17
17
  'onChange',
18
18
  'startOpen',
19
19
  'searchable',
20
+ 'inputRef',
20
21
  'controlRef',
21
22
  'autoFocus',
22
23
  'placeholder',
@@ -30,26 +31,16 @@ var propsToOmit = [
30
31
  'captureScroll',
31
32
  'placement',
32
33
  'methodsRef',
34
+ 'ignoreBoundary',
33
35
  ];
34
36
  var OverlaySelect = function (props) {
35
37
  var _a, _b, _c;
36
38
  var _d = __read(useOverrides((_a = props.overrides) === null || _a === void 0 ? void 0 : _a.OverlayContentContainer, StyledOverlayContentContainer), 2), OverlayContentContainer = _d[0], overlayContentContainerProps = _d[1];
37
- var _e = __read(useOverrides((_b = props.overrides) === null || _b === void 0 ? void 0 : _b.Popover, Popover), 2), PopoverOverriden = _e[0], popoverProps = _e[1];
39
+ var _e = __read(useState(null), 2), scrollElement = _e[0], setScrollElement = _e[1];
40
+ var _f = __read(useOverrides((_b = props.overrides) === null || _b === void 0 ? void 0 : _b.Popover, Popover), 2), PopoverOverriden = _f[0], popoverProps = _f[1];
38
41
  var setScrollTarget = useScrollCapture({ enabled: props.captureScroll });
39
- var combinedRef = useCombinedRefs(setScrollTarget, overlayContentContainerProps === null || overlayContentContainerProps === void 0 ? void 0 : overlayContentContainerProps.ref);
40
- var _f = useOverlaySelectOverrides(props), popoverOpen = _f.popoverOpen, filterOptionsOverride = _f.filterOptionsOverride, handleValuesChange = _f.handleValuesChange, overrides = _f.overrides, togglePopoverState = _f.togglePopoverState, closePopover = _f.closePopover, openPopover = _f.openPopover;
41
- useEffect(function () {
42
- if (props.methodsRef) {
43
- props.methodsRef.current = {
44
- setDropdownOpen: function (shouldOpen) {
45
- if (shouldOpen)
46
- openPopover();
47
- else
48
- closePopover();
49
- },
50
- };
51
- }
52
- }, [openPopover, closePopover]);
42
+ var combinedRef = useCombinedRefs(setScrollElement, setScrollTarget, overlayContentContainerProps === null || overlayContentContainerProps === void 0 ? void 0 : overlayContentContainerProps.ref);
43
+ var _g = useOverlaySelectOverrides(__assign(__assign({}, props), { scrollElement: scrollElement })), popoverOpen = _g.popoverOpen, filterOptionsOverride = _g.filterOptionsOverride, handleValuesChange = _g.handleValuesChange, overrides = _g.overrides, togglePopoverState = _g.togglePopoverState, closePopover = _g.closePopover;
53
44
  var baseSelectProps = _omit(props, propsToOmit);
54
45
  if (props.disabled) {
55
46
  if (typeof props.children === 'function') {
@@ -57,6 +48,6 @@ var OverlaySelect = function (props) {
57
48
  }
58
49
  return props.children;
59
50
  }
60
- return (_jsx(PopoverOverriden, __assign({ isOpen: popoverOpen, content: _jsx(OverlayContentContainer, __assign({ "$closePopover": closePopover, "$overlayWidth": props.overlayWidth }, overlayContentContainerProps, { ref: combinedRef }, { children: _jsx(BaseSelect, __assign({}, baseSelectProps, { filterOptions: filterOptionsOverride, onChange: handleValuesChange, overrides: overrides, type: "search" }), void 0) }), void 0), onClick: togglePopoverState, onClickOutside: closePopover, onEsc: closePopover, placement: (_c = props.placement) !== null && _c !== void 0 ? _c : 'bottom', focusLock: true, returnFocus: true, overrides: { Inner: { style: 'spr-ui-01' }, Arrow: { style: 'spr-ui-01' } }, mountNode: props.mountNode }, popoverProps, { children: props.children }), void 0));
51
+ return (_jsx(PopoverOverriden, __assign({ isOpen: popoverOpen, content: _jsx(OverlayContentContainer, __assign({ "$closePopover": closePopover, "$overlayWidth": props.overlayWidth }, overlayContentContainerProps, { ref: combinedRef }, { children: _jsx(BaseSelect, __assign({}, baseSelectProps, { filterOptions: filterOptionsOverride, onChange: handleValuesChange, overrides: overrides, type: "search" }), void 0) }), void 0), onClick: togglePopoverState, onClickOutside: closePopover, onEsc: closePopover, placement: (_c = props.placement) !== null && _c !== void 0 ? _c : 'bottom', focusLock: true, returnFocus: true, overrides: { Inner: { style: 'spr-ui-01' }, Arrow: { style: 'spr-ui-01' } }, mountNode: props.mountNode, ignoreBoundary: props.ignoreBoundary }, popoverProps, { children: props.children }), void 0));
61
52
  };
62
53
  export default OverlaySelect;
@@ -0,0 +1,9 @@
1
+ import { ControlRef } from 'baseui/select';
2
+ declare type Params = {
3
+ openPopover: () => void;
4
+ closePopover: () => void;
5
+ inputElement: HTMLInputElement | HTMLDivElement | null;
6
+ setInputValue: (val: string) => void;
7
+ };
8
+ export declare const useControlRef: (controlRef: ControlRef | undefined, { openPopover, closePopover, inputElement, setInputValue }: Params) => void;
9
+ export {};
@@ -0,0 +1,33 @@
1
+ import { useEffect } from 'react';
2
+ export var useControlRef = function (controlRef, _a) {
3
+ var openPopover = _a.openPopover, closePopover = _a.closePopover, inputElement = _a.inputElement, setInputValue = _a.setInputValue;
4
+ useEffect(function () {
5
+ if (!controlRef) {
6
+ return undefined;
7
+ }
8
+ controlRef.current = {
9
+ setDropdownOpen: function (shouldOpen) {
10
+ if (shouldOpen)
11
+ openPopover();
12
+ else
13
+ closePopover();
14
+ },
15
+ setInputValue: setInputValue,
16
+ blur: function () {
17
+ inputElement === null || inputElement === void 0 ? void 0 : inputElement.blur();
18
+ },
19
+ focus: function () {
20
+ inputElement === null || inputElement === void 0 ? void 0 : inputElement.focus();
21
+ },
22
+ setInputBlur: function () {
23
+ inputElement === null || inputElement === void 0 ? void 0 : inputElement.blur();
24
+ },
25
+ setInputFocus: function () {
26
+ inputElement === null || inputElement === void 0 ? void 0 : inputElement.focus();
27
+ },
28
+ };
29
+ return function () {
30
+ controlRef.current = null;
31
+ };
32
+ }, [openPopover, closePopover, controlRef, setInputValue, inputElement]);
33
+ };
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import { OnChangeParams, OverlaySelectProps } from '../../types';
3
+ declare const useOverlaySelectOverrides: (props: Omit<import("../../types").BaseSelectProps, "children" | "type" | "overlayWidth"> & {
4
+ type: "overlay";
5
+ overlayWidth?: string | undefined;
6
+ children: React.ReactNode | ((args: {
7
+ isOpen: boolean;
8
+ }) => React.ReactNode);
9
+ } & {
10
+ scrollElement: HTMLElement | null;
11
+ }) => {
12
+ overrides: import("../../../overrides").OverridesObject<any>;
13
+ filterOptionsOverride: (options: import("baseui/select/types").Value, filterValue: string, excludeOptions: import("baseui/select/types").Value | null | undefined, a: {
14
+ valueKey: string;
15
+ labelKey: string;
16
+ }) => import("baseui/select/types").Value;
17
+ handleValuesChange: (params: OnChangeParams) => void;
18
+ popoverOpen: boolean;
19
+ closePopover: () => void;
20
+ openPopover: () => void;
21
+ togglePopoverState: () => void;
22
+ };
23
+ export default useOverlaySelectOverrides;
@@ -3,16 +3,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import _omit from 'lodash/omit';
4
4
  import _noop from 'lodash/noop';
5
5
  import { useCallback, useEffect, useMemo, useState } from 'react';
6
- import { Box } from '../../box';
7
- import { borderRadius } from '../../helpers/longHandHelpers';
8
- import { Loader } from '../../loader';
9
- import { mergeOverrides } from '../../overrides';
10
- import { Search } from '../../search';
11
- import { useStyle } from '../../style';
12
- import { OverlaySelectPopoverOverride } from '../overrides';
6
+ import { Box } from '../../../box';
7
+ import { borderRadius } from '../../../helpers/longHandHelpers';
8
+ import { Loader } from '../../../loader';
9
+ import { mergeOverrides } from '../../../overrides';
10
+ import { Search } from '../../../search';
11
+ import { useStyle } from '../../../style';
12
+ import { OverlaySelectPopoverOverride } from '../../overrides';
13
13
  import usePopover from './usePopover';
14
- import useStickyElement from '../../hooks/useStickyElement';
15
- import useUpdateEffect from '../../hooks/useUpdateEffect';
14
+ import useStickyElement from '../../../hooks/useStickyElement';
15
+ import useUpdateEffect from '../../../hooks/useUpdateEffect';
16
+ import { useControlRef } from './useControlRef';
16
17
  var useAutoFocus = function (_a) {
17
18
  var autoFocus = _a.autoFocus, inputRef = _a.inputRef;
18
19
  var _b = __read(useState(null), 2), inputElement = _b[0], setInputElement = _b[1];
@@ -28,6 +29,13 @@ var useAutoFocus = function (_a) {
28
29
  */
29
30
  inputElement === null || inputElement === void 0 ? void 0 : inputElement.focus({ preventScroll: true });
30
31
  }
32
+ return function () {
33
+ if (inputRef) {
34
+ typeof inputRef === 'function'
35
+ ? inputRef(null)
36
+ : (inputRef.current = null);
37
+ }
38
+ };
31
39
  }, [autoFocus, inputElement, inputRef]);
32
40
  return [inputElement, setInputElement];
33
41
  };
@@ -50,7 +58,7 @@ var useSearchContainerHeight = function () {
50
58
  */
51
59
  var overridesToOmit = ['SelectContainer', 'Popover'];
52
60
  var useOverlaySelectOverrides = function (props) {
53
- var closeOnSelect = props.closeOnSelect, autoFocus = props.autoFocus, controlRef = props.controlRef, filterOptions = props.filterOptions, onInputChange = props.onInputChange, searchable = props.searchable, placeholder = props.placeholder, isLoading = props.isLoading, onChange = props.onChange, _a = props.clearable, clearable = _a === void 0 ? true : _a, onFocus = props.onFocus, onBlur = props.onBlur, onCloseResetsInput = props.onCloseResetsInput;
61
+ var closeOnSelect = props.closeOnSelect, autoFocus = props.autoFocus, inputRef = props.inputRef, filterOptions = props.filterOptions, onInputChange = props.onInputChange, searchable = props.searchable, placeholder = props.placeholder, isLoading = props.isLoading, onChange = props.onChange, _a = props.clearable, clearable = _a === void 0 ? true : _a, onFocus = props.onFocus, onBlur = props.onBlur, onCloseResetsInput = props.onCloseResetsInput, controlRef = props.controlRef, scrollElement = props.scrollElement;
54
62
  var _b = __read(useState(''), 2), inputValue = _b[0], setInputValue = _b[1];
55
63
  var _c = usePopover(props), popoverOpen = _c.popoverOpen, togglePopoverState = _c.togglePopoverState, closePopover = _c.closePopover, openPopover = _c.openPopover;
56
64
  useUpdateEffect(function () {
@@ -58,7 +66,8 @@ var useOverlaySelectOverrides = function (props) {
58
66
  setInputValue('');
59
67
  }
60
68
  }, [onCloseResetsInput, popoverOpen]);
61
- var _d = __read(useAutoFocus({ autoFocus: autoFocus, inputRef: controlRef }), 2), inputElement = _d[0], setInputElement = _d[1];
69
+ var _d = __read(useAutoFocus({ autoFocus: autoFocus, inputRef: inputRef }), 2), inputElement = _d[0], setInputElement = _d[1];
70
+ useControlRef(controlRef, { closePopover: closePopover, openPopover: openPopover, setInputValue: setInputValue, inputElement: inputElement });
62
71
  var filterOptionsOverride = useCallback(function (options, _, excludeOptions, params) {
63
72
  if (filterOptions) {
64
73
  return filterOptions(options, inputValue, excludeOptions, params);
@@ -113,7 +122,6 @@ var useOverlaySelectOverrides = function (props) {
113
122
  },
114
123
  },
115
124
  },
116
- autoFocus: true,
117
125
  // override baseui's onKeyDown
118
126
  onKeyDown: _noop,
119
127
  clearable: clearable,
@@ -149,6 +157,7 @@ var useOverlaySelectOverrides = function (props) {
149
157
  style: __assign(__assign(__assign({}, (searchable ? { paddingTop: 0 } : {})), borderRadius(0)), { overflow: 'visible' }),
150
158
  },
151
159
  },
160
+ scrollElement: scrollElement,
152
161
  },
153
162
  },
154
163
  },
@@ -187,10 +196,7 @@ var useOverlaySelectOverrides = function (props) {
187
196
  onFocus,
188
197
  onBlur,
189
198
  ]);
190
- var overrides = useMemo(function () { return mergeOverrides(memoizedOverrides, _omit(props.overrides, overridesToOmit)); }, [
191
- memoizedOverrides,
192
- props.overrides,
193
- ]);
199
+ var overrides = useMemo(function () { return mergeOverrides(memoizedOverrides, _omit(props.overrides, overridesToOmit)); }, [memoizedOverrides, props.overrides]);
194
200
  return {
195
201
  overrides: overrides,
196
202
  filterOptionsOverride: filterOptionsOverride,
@@ -1,4 +1,4 @@
1
- import { OverlaySelectProps } from '../types';
1
+ import { OverlaySelectProps } from '../../types';
2
2
  declare const usePopover: ({ startOpen, onOpen, onClose }: OverlaySelectProps) => {
3
3
  popoverOpen: boolean;
4
4
  togglePopoverState: () => void;
@@ -1,7 +1,7 @@
1
1
  import { __read } from "tslib";
2
2
  import { useCallback, useEffect, useState } from 'react';
3
- import { useLatest } from '../../hooks/useLatest';
4
- import { useFirstMountState } from '../../hooks/useFirstMountState';
3
+ import { useLatest } from '../../../hooks/useLatest';
4
+ import { useFirstMountState } from '../../../hooks/useFirstMountState';
5
5
  var usePopover = function (_a) {
6
6
  var startOpen = _a.startOpen, onOpen = _a.onOpen, onClose = _a.onClose;
7
7
  var isFirstMount = useFirstMountState();
@@ -12,7 +12,6 @@ export declare const getSearchIconStyles: StyleFn<SharedProps>;
12
12
  export declare const getControlContainerStyles: Styles;
13
13
  export declare const getValueContainerStyles: Styles;
14
14
  export declare const getValueTypography: Styles;
15
- export declare const getSelectInputStyles: StyleFn;
16
15
  export declare const OverlaySelectPopoverOverride: ({ content, children: inputContainer, setStickySentinelRef }: {
17
16
  content: any;
18
17
  children: any;
@@ -59,7 +59,7 @@ export var getValueContainerStyles = [
59
59
  function (_a, _b) {
60
60
  var theme = _a.theme;
61
61
  var $multi = _b.$multi, $isEmpty = _b.$isEmpty, $size = _b.$size;
62
- var multiSelectTheme = getComponentSizeTheme(theme, 'multiSelect', $size, 'lg');
62
+ var multiSelectTheme = getComponentSizeTheme(theme, 'multiSelect', $size, 'md');
63
63
  return $multi && !$isEmpty
64
64
  ? {
65
65
  paddingTop: multiSelectTheme.paddingY,
@@ -71,16 +71,9 @@ export var getValueContainerStyles = [
71
71
  export var getValueTypography = function (_a, _b) {
72
72
  var theme = _a.theme;
73
73
  var $selectSize = _b.$selectSize;
74
- var _c = getComponentSizeTheme(theme, 'input', $selectSize, 'lg'), fontSize = _c.fontSize, lineHeight = _c.lineHeight;
74
+ var _c = getComponentSizeTheme(theme, 'input', $selectSize, 'md'), fontSize = _c.fontSize, lineHeight = _c.lineHeight;
75
75
  return { fontSize: fontSize, lineHeight: lineHeight, height: lineHeight };
76
76
  };
77
- export var getSelectInputStyles = function () { return ({
78
- color: 'inherit',
79
- lineHeight: 'inherit',
80
- fontSize: 'inherit',
81
- fontWeight: 'inherit',
82
- letterSpacing: 'normal',
83
- }); };
84
77
  // BaseSelect wil render this Popover component with DropdownContainer as content and ControlContainer as children/target
85
78
  export var OverlaySelectPopoverOverride = function (_a) {
86
79
  var content = _a.content, inputContainer = _a.children, setStickySentinelRef = _a.setStickySentinelRef;
@@ -2,8 +2,8 @@ import { __assign } from "tslib";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import Select from './select';
4
4
  export function MultiSelect(props) {
5
- return _jsx(Select, __assign({}, props, { multi: true }), void 0);
5
+ return _jsx(Select, __assign({}, props, { filterOptions: props.filterOptions, multi: true }), void 0);
6
6
  }
7
7
  export function SingleSelect(props) {
8
- return _jsx(Select, __assign({}, props, { multi: false }), void 0);
8
+ return _jsx(Select, __assign({}, props, { filterOptions: props.filterOptions, multi: false }), void 0);
9
9
  }
@@ -13,7 +13,10 @@ declare const Select: {
13
13
  error: boolean;
14
14
  positive: boolean;
15
15
  escapeClearsValue: boolean;
16
- filterOptions: any;
16
+ filterOptions: ((options: import("baseui/select/types").Value, filterValue: string, excludeOptions: import("baseui/select/types").Value | null | undefined, a: {
17
+ valueKey: string;
18
+ labelKey: string;
19
+ }) => import("baseui/select/types").Value) | null | undefined;
17
20
  filterOutSelected: boolean;
18
21
  isLoading: boolean;
19
22
  labelKey: string;
@@ -28,15 +31,15 @@ declare const Select: {
28
31
  onSelectResetsInput: boolean;
29
32
  openOnClick: boolean;
30
33
  startOpen: boolean;
31
- options: import("baseui/select").OptionsT;
34
+ options: import("baseui/select/types").Options;
32
35
  overrides: {};
33
36
  required: boolean;
34
37
  searchable: boolean;
35
- size: import("./types").Size;
36
38
  type: "overlay" | import("./types").Type | "mobile";
37
- value: import("baseui/select").Value;
39
+ value: import("baseui/select/types").Value;
38
40
  valueKey: string;
39
- placement: "auto" | "bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | undefined;
41
+ placement: "auto" | "bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "rightTop" | "rightBottom" | "bottomRight" | "bottomLeft" | "leftBottom" | "leftTop" | undefined;
42
+ virtual: boolean;
40
43
  };
41
44
  };
42
45
  export default Select;
@@ -9,11 +9,11 @@ var Select = function (props) {
9
9
  var adaptedProps = useContextualFormProps(props);
10
10
  switch (adaptedProps.type) {
11
11
  case 'overlay':
12
- return _jsx(OverlaySelect, __assign({}, adaptedProps), void 0);
12
+ return _jsx(OverlaySelect, __assign({}, adaptedProps, { size: adaptedProps.size || 'md' }), void 0);
13
13
  case 'mobile':
14
- return _jsx(MobileSelect, __assign({}, adaptedProps), void 0);
14
+ return _jsx(MobileSelect, __assign({}, adaptedProps, { size: adaptedProps.size || 'md' }), void 0);
15
15
  default:
16
- return _jsx(BaseSelect, __assign({}, adaptedProps), void 0);
16
+ return _jsx(BaseSelect, __assign({}, adaptedProps, { size: adaptedProps.size || 'md' }), void 0);
17
17
  }
18
18
  };
19
19
  Select.defaultProps = defaultProps;
@@ -29,6 +29,8 @@ declare type PropsAddedByOverride = {
29
29
  selectAllSelected: boolean;
30
30
  noResultsMsg?: string;
31
31
  captureScroll?: boolean;
32
+ virtual?: boolean;
33
+ overscanCount?: number;
32
34
  };
33
35
  declare const SelectMenuAdapter: (props: BaseStatefulMenuProps & PropsAddedByOverride) => React.ReactElement;
34
36
  export default SelectMenuAdapter;
@@ -15,6 +15,7 @@ import { selectMenuOverrides } from '../overrides';
15
15
  import { NoResults } from '../styled-component';
16
16
  import { SELECT_ALL_ID } from '../types';
17
17
  import SelectMenuItem from './SelectMenuItem';
18
+ import { normalizeOptions } from 'baseui/select/utils';
18
19
  var removeUngroupedIfEmpty = function (groupedOptions) {
19
20
  var _a;
20
21
  if (!((_a = groupedOptions[UNGROUPED_ID]) === null || _a === void 0 ? void 0 : _a.length)) {
@@ -24,7 +25,7 @@ var removeUngroupedIfEmpty = function (groupedOptions) {
24
25
  };
25
26
  var SelectMenuAdapter = function (props) {
26
27
  var _a, _b, _c, _d;
27
- var id = props.id, groupedItems = props.items, overrides = props.overrides, _e = props.onItemSelect, onItemSelect = _e === void 0 ? _noop : _e, value = props.value, valueKey = props.valueKey, labelKey = props.labelKey, multi = props.multi, selectAllSelected = props.selectAllSelected, noResultsMsg = props.noResultsMsg, captureScroll = props.captureScroll;
28
+ var id = props.id, groupedItems = props.items, overrides = props.overrides, _e = props.onItemSelect, onItemSelect = _e === void 0 ? _noop : _e, value = props.value, valueKey = props.valueKey, labelKey = props.labelKey, multi = props.multi, selectAllSelected = props.selectAllSelected, noResultsMsg = props.noResultsMsg, captureScroll = props.captureScroll, virtual = props.virtual, overscanCount = props.overscanCount;
28
29
  var selectedValuesSet = useMemo(function () {
29
30
  var set = new Set(_map(value, valueKey));
30
31
  return set;
@@ -36,7 +37,7 @@ var SelectMenuAdapter = function (props) {
36
37
  var optionOverride = overrides === null || overrides === void 0 ? void 0 : overrides.Option;
37
38
  var baseuiMenuListProps;
38
39
  var getItemLabel, baseuiMenuItemProps;
39
- if (typeof optionOverride === 'object') {
40
+ if (typeof optionOverride === 'object' && typeof optionOverride.props === 'object') {
40
41
  getItemLabel = (_a = optionOverride === null || optionOverride === void 0 ? void 0 : optionOverride.props) === null || _a === void 0 ? void 0 : _a.getItemLabel;
41
42
  baseuiMenuItemProps = (_d = (_c = (_b = optionOverride === null || optionOverride === void 0 ? void 0 : optionOverride.props) === null || _b === void 0 ? void 0 : _b.overrides) === null || _c === void 0 ? void 0 : _c.ListItem) === null || _d === void 0 ? void 0 : _d.props;
42
43
  }
@@ -51,11 +52,16 @@ var SelectMenuAdapter = function (props) {
51
52
  MenuItem: mergedOverrides.MenuItem,
52
53
  ListItemText: mergedOverrides.ListItemText,
53
54
  }); }, [mergedOverrides.ListItemText, mergedOverrides.MenuItem]);
55
+ var currentCount = 0, totalCount = normalizeOptions(groupedItems).length;
54
56
  var itemsToRender = _flatten(Object.keys(removeUngroupedIfEmpty(groupedItems)).map(function (itemGroup, index) {
55
57
  var itemsInGroup = groupedItems[itemGroup];
56
- var menuItems = itemsInGroup.map(function (item) {
58
+ var menuItems = itemsInGroup.flatMap(function (item) {
59
+ currentCount += 1;
57
60
  var selected = selectedValuesSet.has(item[valueKey]) || (item[SELECT_ALL_ID] && selectAllSelected);
58
- return (_jsx(SelectMenuItem, __assign({ overrides: menuItemOverrides, item: item, selected: selected, multi: multi, getItemLabel: getItemLabel, labelKey: labelKey, valueKey: valueKey, onItemSelect: onItemSelect, "$item": item }, baseuiMenuItemProps), item.isCreatable ? 'creatable-option' : item[valueKey]));
61
+ var selectMenuItem = (_jsx(SelectMenuItem, __assign({ overrides: menuItemOverrides, item: item, selected: selected, multi: multi, getItemLabel: getItemLabel, labelKey: labelKey, valueKey: valueKey, onItemSelect: onItemSelect, "$item": item, "aria-posinset": currentCount, "aria-setsize": totalCount }, baseuiMenuItemProps), item.isCreatable ? 'creatable-option' : item[valueKey]));
62
+ return item[SELECT_ALL_ID]
63
+ ? [selectMenuItem, _jsx(DividerOverriden, __assign({ "$item": item }, dividerProps), "divider-select-all")]
64
+ : selectMenuItem;
59
65
  });
60
66
  if (itemGroup !== UNGROUPED_ID) {
61
67
  menuItems.unshift(_jsx(DividerOverriden, __assign({ first: index === 0 }, dividerProps, { children: _jsx(Typography, __assign({ variant: "l4", weight: "medium", className: "spr-text-03" }, { children: itemGroup }), void 0) }), "divider-".concat(itemGroup)));
@@ -67,6 +73,6 @@ var SelectMenuAdapter = function (props) {
67
73
  }
68
74
  return (
69
75
  // focusWhenNavigationEnabled false, or else it will remove focus from select input
70
- _jsx(MenuOverriden, __assign({ resetMenuHighlightOnMouseLeave: true, focusWhenNavigationEnabled: false, "$multi": multi, captureScroll: captureScroll, tabIndex: -1, "aria-label": "Menu", role: "listbox" }, baseuiMenuListProps, { id: id }, menuProps, { children: itemsToRender }), void 0));
76
+ _jsx(MenuOverriden, __assign({ resetMenuHighlightOnMouseLeave: true, focusWhenNavigationEnabled: false, "$multi": multi, captureScroll: captureScroll, tabIndex: -1, "aria-label": "Menu", role: "listbox" }, baseuiMenuListProps, { id: id, virtual: virtual, overscanCount: overscanCount }, menuProps, { children: itemsToRender }), void 0));
71
77
  };
72
78
  export default SelectMenuAdapter;
@@ -36,7 +36,7 @@ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponen
36
36
  selected?: boolean | undefined;
37
37
  startEnhancer?: import("../../list/types").Enhancer<import("../../list").ListItemSharedProps>;
38
38
  } & Record<string, any>> | undefined;
39
- Popover?: Override<Omit<import("baseui/popover").PopoverProps, "overrides" | "children"> & {
39
+ Popover?: Override<Omit<import("baseui/popover").PopoverProps, "children" | "overrides" | "triggerType" | "placement"> & {
40
40
  overrides?: ({
41
41
  Body?: Override<any> | undefined;
42
42
  Arrow?: Override<any> | undefined;
@@ -48,6 +48,9 @@ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponen
48
48
  isOpen: boolean;
49
49
  }) => React.ReactNode);
50
50
  targetElement?: HTMLElement | null | undefined;
51
+ triggerType?: import("../../popover").TriggerType | undefined;
52
+ placement?: "auto" | "bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "rightTop" | "rightBottom" | "bottomRight" | "bottomLeft" | "leftBottom" | "leftTop" | undefined;
53
+ innerRef?: React.Ref<HTMLElement> | undefined;
51
54
  } & Record<string, any>> | undefined;
52
55
  } | undefined;
53
56
  } & Record<string, any>> | undefined;
@@ -25,11 +25,9 @@ var SelectMenuItem = React.forwardRef(function (_a, ref) {
25
25
  // Passes intent to override intent from useContextualFormProps,
26
26
  // see: https://prod-gitlab.sprinklr.com/sprinklr/frontend/spaceweb/-/issues/282
27
27
  var startEnhancer = useMemo(function () {
28
- return multi && (_jsx(Checkbox, { checked: selected, size: "sm", overrides: { Input: { props: { 'aria-labelledby': id } } }, disabled: item.disabled, intent: "default" }, void 0));
28
+ return multi && (_jsx(Checkbox, { checked: selected, size: "sm", overrides: { Input: { props: { 'aria-labelledby': id } }, Label: { style: 'hidden' } }, disabled: item.disabled, intent: "default" }, void 0));
29
29
  }, [multi, selected, item.disabled, item[valueKey], id]);
30
- return (_jsx(MenuItemOverriden, __assign({ role: "option", "aria-selected": selected, className: cx({
31
- 'border-b spr-border-01 border-solid border-t-0 border-l-0 border-r-0': item[SELECT_ALL_ID],
32
- }),
30
+ return (_jsx(MenuItemOverriden, __assign({ role: "option", "aria-selected": selected,
33
31
  // for Multi Select variant do not show selected styles
34
32
  selected: multi ? false : selected, onClick: handleItemSelect, startEnhancer: startEnhancer, disabled: item.disabled, "$multi": multi, "$item": item, "$valueKey": valueKey, "$labelKey": labelKey, ref: ref, id: id }, restProps, menuItemProps, { children: _jsx(ListItemTextOverriden, __assign({ "$multi": multi, "$item": item, "$labelKey": labelKey }, listItemTextProps, { overrides: listItemTextOverrides }, { children: getItemLabel(item) }), void 0) }), void 0));
35
33
  });
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { StatefulSelectProps } from './types';
3
- declare function StatefulSelect({ overrides, ...restProps }: StatefulSelectProps): React.ReactElement;
3
+ declare function StatefulSelect({ overrides, onChange, ...restProps }: StatefulSelectProps): React.ReactElement;
4
4
  declare namespace StatefulSelect {
5
5
  var defaultProps: {
6
6
  autoFocus: boolean;
@@ -13,7 +13,10 @@ declare namespace StatefulSelect {
13
13
  error: boolean;
14
14
  positive: boolean;
15
15
  escapeClearsValue: boolean;
16
- filterOptions: any;
16
+ filterOptions: ((options: import("baseui/select").Value, filterValue: string, excludeOptions: import("baseui/select").Value | null | undefined, a: {
17
+ valueKey: string;
18
+ labelKey: string;
19
+ }) => import("baseui/select").Value) | null | undefined;
17
20
  filterOutSelected: boolean;
18
21
  isLoading: boolean;
19
22
  labelKey: string;
@@ -28,15 +31,15 @@ declare namespace StatefulSelect {
28
31
  onSelectResetsInput: boolean;
29
32
  openOnClick: boolean;
30
33
  startOpen: boolean;
31
- options: import("baseui/select").OptionsT;
34
+ options: import("baseui/select").Options;
32
35
  overrides: {};
33
36
  required: boolean;
34
37
  searchable: boolean;
35
- size: import("./types").Size;
36
38
  type: "overlay" | import("./types").Type | "mobile";
37
39
  value: import("baseui/select").Value;
38
40
  valueKey: string;
39
- placement: "auto" | "bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | undefined;
41
+ placement: "auto" | "bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "rightTop" | "rightBottom" | "bottomRight" | "bottomLeft" | "leftBottom" | "leftTop" | undefined;
42
+ virtual: boolean;
40
43
  };
41
44
  }
42
45
  export default StatefulSelect;
@@ -5,9 +5,9 @@ import OverlaySelect from './overlaySelect';
5
5
  import Select from './select';
6
6
  import defaultProps from './default-props';
7
7
  function StatefulSelect(_a) {
8
- var overrides = _a.overrides, restProps = __rest(_a, ["overrides"]);
9
- return (_jsx(StatefulSelectContainer, __assign({}, restProps, { children: function (selectProps) {
10
- return restProps.type === 'overlay' ? (_jsx(OverlaySelect, __assign({}, selectProps, { overrides: overrides }, { children: restProps.children }), void 0)) : (_jsx(Select, __assign({}, selectProps, { overrides: overrides }), void 0));
8
+ var overrides = _a.overrides, onChange = _a.onChange, restProps = __rest(_a, ["overrides", "onChange"]);
9
+ return (_jsx(StatefulSelectContainer, __assign({}, restProps, { onChange: onChange }, { children: function (selectProps) {
10
+ return restProps.type === 'overlay' ? (_jsx(OverlaySelect, __assign({}, selectProps, { overrides: overrides }, { children: restProps.children }), void 0)) : (_jsx(Select, __assign({}, selectProps, { filterOptions: selectProps.filterOptions, overrides: overrides }), void 0));
11
11
  } }), void 0));
12
12
  }
13
13
  StatefulSelect.defaultProps = defaultProps;
@@ -2,9 +2,11 @@ import { SelectProps } from 'baseui/select';
2
2
  import * as React from 'react';
3
3
  import { SharedProps, Size } from './types';
4
4
  declare const StyledSelect: React.ComponentType<SelectProps>;
5
- declare const NoResults: ({ msg, ...props }: {
5
+ declare const NoResults: React.ForwardRefExoticComponent<{
6
6
  msg?: string | undefined;
7
- }) => JSX.Element;
7
+ } & React.RefAttributes<HTMLElement>>;
8
+ export declare const StyledInputContainer: import("../style/styled").StyledComponent;
9
+ export declare const StyledInput: import("../style/styled").StyledComponent;
8
10
  declare const StyledOverlayContentContainer: import("../style/styled").StyledComponent;
9
11
  declare const InputContainer: ({ menuId, size, ...props }: SharedProps & {
10
12
  menuId: string;
@@ -14,5 +16,5 @@ declare const Input: React.ForwardRefExoticComponent<SharedProps & {
14
16
  id: string;
15
17
  menuId: string;
16
18
  } & React.RefAttributes<HTMLInputElement>>;
17
- export { StyledRoot, StyledClearIcon, StyledControlContainer, StyledDropdownContainer, StyledIconsContainer, StyledInput, StyledInputContainer, StyledInputSizer, StyledPlaceholder, StyledSearchIcon, StyledSearchIconContainer, StyledSelectArrow, StyledSingleValue, StyledValueContainer, } from 'baseui/select';
19
+ export { StyledRoot, StyledClearIcon, StyledControlContainer, StyledDropdownContainer, StyledIconsContainer, StyledInputSizer, StyledPlaceholder, StyledSearchIconContainer, StyledSelectArrow, StyledSingleValue, StyledValueContainer, } from 'baseui/select';
18
20
  export { StyledSelect, NoResults, StyledOverlayContentContainer, InputContainer, Input };