@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,22 +1,15 @@
1
1
  /// <reference types="react" />
2
2
  import { Intent } from '../types';
3
- export declare const formControlContext: import("react").Context<{
4
- intent?: Intent | undefined;
5
- }>;
6
- export declare const FormControlProvider: import("react").Provider<{
7
- intent?: Intent | undefined;
8
- }>;
9
- export declare const FormControlConsumer: import("react").Consumer<{
10
- intent?: Intent | undefined;
11
- }>;
12
- export declare const useFormControl: () => {
3
+ declare type FormControlContextValueType = {
13
4
  intent?: Intent;
14
5
  };
6
+ export declare const FormControlProvider: import("react").Provider<FormControlContextValueType>;
7
+ export declare const FormControlConsumer: import("react").Consumer<FormControlContextValueType>;
8
+ export declare const useFormControl: () => FormControlContextValueType;
15
9
  /**
16
10
  * @param props
17
11
  * uses form values to be passed using context to child components
18
12
  * this hook can be scaled to incorporate multiple props
19
13
  */
20
- export declare const useContextualFormProps: <T extends {
21
- intent?: Intent;
22
- }>(props: T) => T;
14
+ export declare const useContextualFormProps: <T extends FormControlContextValueType>(props: T, defaultProps?: FormControlContextValueType) => T;
15
+ export {};
@@ -1,23 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useContextualFormProps = exports.useFormControl = exports.FormControlConsumer = exports.FormControlProvider = exports.formControlContext = void 0;
3
+ exports.useContextualFormProps = exports.useFormControl = exports.FormControlConsumer = exports.FormControlProvider = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = require("react");
6
- exports.formControlContext = (0, react_1.createContext)({ intent: 'default' });
7
- exports.formControlContext.displayName = 'FormControlContext';
8
- exports.FormControlProvider = exports.formControlContext.Provider;
9
- exports.FormControlConsumer = exports.formControlContext.Consumer;
10
- var useFormControl = function () { return (0, react_1.useContext)(exports.formControlContext); };
6
+ var FormControlContext = (0, react_1.createContext)({ intent: 'default' });
7
+ FormControlContext.displayName = 'FormControlContext';
8
+ exports.FormControlProvider = FormControlContext.Provider;
9
+ exports.FormControlConsumer = FormControlContext.Consumer;
10
+ var useFormControl = function () { return (0, react_1.useContext)(FormControlContext); };
11
11
  exports.useFormControl = useFormControl;
12
12
  /**
13
13
  * @param props
14
14
  * uses form values to be passed using context to child components
15
15
  * this hook can be scaled to incorporate multiple props
16
16
  */
17
- var useContextualFormProps = function (props) {
18
- var _a;
19
- var contextProps = (0, exports.useFormControl)();
20
- var intent = (_a = props.intent) !== null && _a !== void 0 ? _a : contextProps.intent;
17
+ var useContextualFormProps = function (props, defaultProps) {
18
+ var _a, _b;
19
+ if (defaultProps === void 0) { defaultProps = {}; }
20
+ var formControlValue = (0, exports.useFormControl)();
21
+ var intent = (_b = (_a = props.intent) !== null && _a !== void 0 ? _a : formControlValue.intent) !== null && _b !== void 0 ? _b : defaultProps.intent;
21
22
  return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props), { intent: intent });
22
23
  };
23
24
  exports.useContextualFormProps = useContextualFormProps;
@@ -23,14 +23,14 @@ exports.StyledInfoIconContainer = (0, style_1.styled)('div', 'spr-ui-03 rounded-
23
23
  return ({ height: px2rem(14), width: px2rem(14) });
24
24
  });
25
25
  exports.StyledRequiredDot = (0, style_1.styled)('span', 'ml-1 spr-support-error rounded-full h-1 w-1 flex-shrink-0');
26
- exports.StyledRoot = (0, style_1.styled)('div', 'mb-4 flex', function (utils, _a) {
26
+ exports.StyledRoot = (0, style_1.styled)('div', 'flex', function (utils, _a) {
27
27
  var $layout = _a.$layout;
28
28
  return $layout === 'horizontal' ? 'flex-row items-baseline' : 'flex-col';
29
29
  });
30
30
  exports.StyledCaption = (0, style_1.styled)('div', 'typography-l2 my-1', getIntentColor);
31
- exports.StyledLabelContainer = (0, style_1.styled)('div', 'flex items-center my-1 w-full', function (utils, _a) {
31
+ exports.StyledLabelContainer = (0, style_1.styled)('div', 'flex items-center mb-1 w-full', function (utils, _a) {
32
32
  var $layout = _a.$layout;
33
33
  return $layout === 'horizontal' ? 'w-4/24 mr-2' : '';
34
34
  });
35
- exports.StyledLabel = (0, style_1.styled)('label', 'typography-l2 spr-text-02');
35
+ exports.StyledLabel = (0, style_1.styled)('label', 'typography-l1 text-14 spr-text-02');
36
36
  exports.StyledControlContainer = (0, style_1.styled)('div', 'w-full');
@@ -14,7 +14,7 @@ var withThemeOverride = function (Component, mapSpaceThemeToBaseTheme) {
14
14
  var ThemeOverridenComponent = React.forwardRef(function ThemeOverride(props, ref) {
15
15
  var theme = (0, useStyle_1.default)().theme;
16
16
  var _a = (0, tslib_1.__read)((0, useMemoizedStyletron_1.default)(), 2), styletronTheme = _a[1];
17
- var updatedTheme = (0, themes_1.createTheme)(styletronTheme, mapSpaceThemeToBaseTheme(theme));
17
+ var updatedTheme = React.useMemo(function () { return (0, themes_1.createTheme)(styletronTheme, mapSpaceThemeToBaseTheme(theme)); }, [styletronTheme, theme]);
18
18
  return ((0, jsx_runtime_1.jsx)(baseui_1.ThemeProvider, (0, tslib_1.__assign)({ theme: updatedTheme }, { children: (0, jsx_runtime_1.jsx)(Component, (0, tslib_1.__assign)({ ref: ref }, props), void 0) }), void 0));
19
19
  });
20
20
  ThemeOverridenComponent.displayName = "withThemeOverride(".concat(Component.displayName || Component.name, ")");
@@ -9,8 +9,8 @@ export declare const chevronStyles: StyleFn<{
9
9
  export declare const transparentScrollbarStyles: StyleObject;
10
10
  export declare type OutlineProps = {
11
11
  $outlineColor?: string;
12
- $outlineWidth?: string | number;
13
- $outlineOffset?: string | number;
12
+ $outlineWidth?: StyleObject['outlineWidth'];
13
+ $outlineOffset?: StyleObject['outlineOffset'];
14
14
  $outlineStyle?: string;
15
15
  };
16
16
  export declare const getOutlineStyles: ({ theme }: StyleUtils, props?: OutlineProps | undefined) => StyleObject;
@@ -1,12 +1,23 @@
1
+ /// <reference types="react" />
1
2
  /**
2
3
  * @deprecated use spaceweb/styled
3
4
  */
4
- export declare const styled: import("baseui").StyledFn<ThemeT>;
5
+ export declare const styled: {
6
+ <C extends keyof JSX.IntrinsicElements | import("react").ComponentType<any>, P extends {}, Theme = ThemeT>(component: C, style: import("styletron-standard").StyleObject | ((props: Omit<P, "$theme"> & {
7
+ $theme: Theme;
8
+ }) => import("styletron-standard").StyleObject)): import("styletron-react").StyletronComponent<C, P>;
9
+ <C_1 extends keyof JSX.IntrinsicElements | import("react").ComponentType<any>>(component: C_1, style: import("styletron-standard").StyleObject): import("styletron-react").StyletronComponent<C_1, {}>;
10
+ };
5
11
  /**
6
12
  * @deprecated
7
13
  */
8
- export declare const withStyle: import("baseui").WithStyleFn<ThemeT>;
14
+ export declare const withStyle: {
15
+ <C extends import("styletron-react").StyletronComponent<any, any>, P extends {}, Theme = ThemeT>(component: C, style: import("styletron-standard").StyleObject | ((props: Omit<P, "$theme"> & {
16
+ $theme: Theme;
17
+ } & (C extends import("styletron-react").StyletronComponent<infer CC, infer PP> ? PP : never)) => import("styletron-standard").StyleObject)): C extends import("styletron-react").StyletronComponent<infer CC_1, infer PP_1> ? import("styletron-react").StyletronComponent<CC_1, P & PP_1> : never;
18
+ <C_1 extends import("styletron-react").StyletronComponent<any, any>>(component: C_1, style: import("styletron-standard").StyleObject): C_1;
19
+ };
9
20
  /**
10
21
  * @deprecated use spaceweb/useStyle
11
22
  */
12
- export declare const useStyletron: () => [(arg: import("styletron-standard").StyleObject) => string, ThemeT];
23
+ export declare const useStyletron: () => [(a: import("styletron-standard").StyleObject) => string, ThemeT];
@@ -1,9 +1,8 @@
1
- import * as React from 'react';
2
- import { InputProps } from '../input';
3
- import { TextareaProps } from '../textarea';
4
- declare type UseAutoFocus = {
5
- (props: Pick<InputProps, 'autoFocus' | 'inputRef'>): React.RefObject<HTMLInputElement>;
6
- (props: Pick<TextareaProps, 'autoFocus' | 'inputRef'>): React.RefObject<HTMLTextAreaElement>;
1
+ import { RefObject, Ref } from 'react';
2
+ import { FocusPosition } from '../input';
3
+ declare type Params<T> = {
4
+ autoFocus?: FocusPosition;
5
+ inputRef?: Ref<T>;
7
6
  };
8
- declare const useAutoFocus: UseAutoFocus;
7
+ declare const useAutoFocus: <T extends HTMLTextAreaElement | HTMLInputElement>({ autoFocus, inputRef, }: Params<T>) => RefObject<T>;
9
8
  export default useAutoFocus;
@@ -1,29 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var React = (0, tslib_1.__importStar)(require("react"));
3
+ var react_1 = require("react");
4
+ var useCombinedRef_1 = require("./useCombinedRef");
5
5
  var __DEV__ = process.env.NODE_ENV !== 'production';
6
6
  var useAutoFocus = function (_a) {
7
7
  var autoFocus = _a.autoFocus, inputRef = _a.inputRef;
8
- var ownRef = React.useRef(null);
9
- var ref = inputRef !== null && inputRef !== void 0 ? inputRef : ownRef;
10
- React.useEffect(function () {
11
- if (!ref.current || typeof autoFocus === 'undefined') {
8
+ var refObj = (0, useCombinedRef_1.useCombineRefObjects)(inputRef);
9
+ (0, react_1.useEffect)(function () {
10
+ if (!refObj.current || typeof autoFocus === 'undefined') {
12
11
  return;
13
12
  }
14
13
  var position;
15
14
  switch (typeof autoFocus) {
16
15
  case 'boolean':
17
16
  if (autoFocus) {
18
- position = ref.current.value.length;
17
+ position = refObj.current.value.length;
19
18
  }
20
19
  else {
21
20
  return;
22
21
  }
23
22
  break;
24
23
  case 'number':
25
- if (autoFocus >= ref.current.value.length) {
26
- position = ref.current.value.length;
24
+ if (autoFocus >= refObj.current.value.length) {
25
+ position = refObj.current.value.length;
27
26
  }
28
27
  else if (autoFocus >= 0) {
29
28
  position = autoFocus;
@@ -37,7 +36,7 @@ var useAutoFocus = function (_a) {
37
36
  position = 0;
38
37
  }
39
38
  else if (autoFocus === 'end') {
40
- position = ref.current.value.length;
39
+ position = refObj.current.value.length;
41
40
  }
42
41
  else {
43
42
  return;
@@ -47,15 +46,15 @@ var useAutoFocus = function (_a) {
47
46
  position = 0;
48
47
  }
49
48
  try {
50
- ref.current.focus();
51
- ref.current.setSelectionRange(position, position);
49
+ refObj.current.focus({ preventScroll: true });
50
+ refObj.current.setSelectionRange(position, position);
52
51
  }
53
52
  catch (err) {
54
53
  if (__DEV__) {
55
54
  console.error(err);
56
55
  }
57
56
  }
58
- }, [autoFocus]);
59
- return ref;
57
+ }, [autoFocus, refObj]);
58
+ return refObj;
60
59
  };
61
60
  exports.default = useAutoFocus;
@@ -2,5 +2,6 @@ import * as React from 'react';
2
2
  export declare type Ref<T> = React.RefCallback<T> | React.MutableRefObject<T> | null;
3
3
  declare type Refs<T> = (Ref<T | null> | null | undefined)[];
4
4
  export declare function combineRefs<T>(...refs: Refs<T>): (element: T) => void;
5
+ export declare function useCombineRefObjects<T>(...refs: Refs<T>): React.RefObject<T>;
5
6
  declare function useCombinedRefs<T>(...refs: Refs<T>): React.RefCallback<T | null>;
6
7
  export default useCombinedRefs;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.combineRefs = void 0;
3
+ exports.useCombineRefObjects = exports.combineRefs = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = require("react");
6
+ var React = (0, tslib_1.__importStar)(require("react"));
6
7
  function combineRefs() {
7
8
  var refs = [];
8
9
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -22,6 +23,39 @@ function combineRefs() {
22
23
  };
23
24
  }
24
25
  exports.combineRefs = combineRefs;
26
+ function useCombineRefObjects() {
27
+ var refs = [];
28
+ for (var _i = 0; _i < arguments.length; _i++) {
29
+ refs[_i] = arguments[_i];
30
+ }
31
+ var targetRef = React.useRef(null);
32
+ React.useEffect(function () {
33
+ refs.forEach(function (ref) {
34
+ if (!ref)
35
+ return;
36
+ if (typeof ref === 'function') {
37
+ ref(targetRef.current);
38
+ }
39
+ else {
40
+ ref.current = targetRef.current;
41
+ }
42
+ });
43
+ return function () {
44
+ refs.forEach(function (ref) {
45
+ if (!ref)
46
+ return;
47
+ if (typeof ref === 'function') {
48
+ ref(targetRef.current);
49
+ }
50
+ else {
51
+ ref.current = targetRef.current;
52
+ }
53
+ });
54
+ };
55
+ }, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(refs), false)); // eslint-disable-line react-hooks/exhaustive-deps
56
+ return targetRef;
57
+ }
58
+ exports.useCombineRefObjects = useCombineRefObjects;
25
59
  /*
26
60
  * combines multiple refs to single MutableRefObject - when one wants to assign same element/instance to multiple refs
27
61
  * https://github.com/facebook/react/issues/13029#issue-331682836
@@ -0,0 +1 @@
1
+ export declare const useIsMobileDevice: () => boolean;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useIsMobileDevice = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var theme_1 = require("../theme");
6
+ var useMatchMedia_1 = (0, tslib_1.__importDefault)(require("./useMatchMedia"));
7
+ var useIsMobileDevice = function () {
8
+ var currentTheme = (0, theme_1.useTheme)();
9
+ return (0, useMatchMedia_1.default)("(max-width: ".concat(currentTheme.theme.screens.md, ")"), false);
10
+ };
11
+ exports.useIsMobileDevice = useIsMobileDevice;
@@ -0,0 +1,3 @@
1
+ export declare const isBrowser: boolean;
2
+ declare const useMedia: (query: string, defaultState?: boolean | undefined) => boolean;
3
+ export default useMedia;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBrowser = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = require("react");
6
+ exports.isBrowser = typeof window !== 'undefined';
7
+ var getInitialState = function (query, defaultState) {
8
+ // Prevent a React hydration mismatch when a default value is provided by not defaulting to window.matchMedia(query).matches.
9
+ if (defaultState !== undefined) {
10
+ return defaultState;
11
+ }
12
+ if (exports.isBrowser) {
13
+ return window.matchMedia(query).matches;
14
+ }
15
+ // A default value has not been provided, and you are rendering on the server, warn of a possible hydration mismatch when defaulting to false.
16
+ if (process.env.NODE_ENV !== 'production') {
17
+ console.warn('`useMedia` When server side rendering, defaultState should be defined to prevent a hydration mismatches.');
18
+ }
19
+ return false;
20
+ };
21
+ var useMedia = function (query, defaultState) {
22
+ var _a = (0, tslib_1.__read)((0, react_1.useState)(getInitialState(query, defaultState)), 2), state = _a[0], setState = _a[1];
23
+ (0, react_1.useEffect)(function () {
24
+ var mounted = true;
25
+ var mediaQueryList = window.matchMedia(query);
26
+ var onChange = function () {
27
+ if (!mounted) {
28
+ return;
29
+ }
30
+ setState(!!mediaQueryList.matches);
31
+ };
32
+ mediaQueryList.addEventListener('change', onChange);
33
+ setState(mediaQueryList.matches);
34
+ return function () {
35
+ mounted = false;
36
+ mediaQueryList.removeEventListener('change', onChange);
37
+ };
38
+ }, [query]);
39
+ return state;
40
+ };
41
+ exports.default = useMedia;
@@ -2,6 +2,6 @@ import { InputProps, StatefulInputProps } from './types';
2
2
  import { BaseInputOverrides } from 'baseui/input';
3
3
  declare type AdapterProps = Omit<InputProps | StatefulInputProps, 'autoFocus'>;
4
4
  declare const useInputBasewebAdapter: (props: AdapterProps) => Omit<AdapterProps, "size" | "style" | "className" | "overrides" | "variant" | "intent"> & {
5
- overrides?: BaseInputOverrides<any> | undefined;
5
+ overrides?: BaseInputOverrides | undefined;
6
6
  };
7
7
  export default useInputBasewebAdapter;
package/input/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { StatefulContainer, StyledRoot, StyledInputEnhancer, StyledStartEnhancer, StyledEndEnhancer, StyledInputContainer, StyledInput, STATE_CHANGE_TYPE, ADJOINED, CUSTOM_INPUT_TYPE, } from 'baseui/input';
2
- export type { BaseInput, ENHANCER_POSITION, BaseInputOverrides, BaseInputProps, State, InternalState, StatefulContainerProps, } from 'baseui/input';
2
+ export type { BaseInput, BaseInputOverrides, BaseInputProps, State, InternalState, StatefulContainerProps, } from 'baseui/input';
3
+ export { ENHANCER_POSITION } from 'baseui/input/constants';
3
4
  export { Input, StatefulInput, MaskedInput } from './input';
4
5
  export * from './types';
package/input/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MaskedInput = exports.StatefulInput = exports.Input = exports.CUSTOM_INPUT_TYPE = exports.ADJOINED = exports.STATE_CHANGE_TYPE = exports.StyledInput = exports.StyledInputContainer = exports.StyledEndEnhancer = exports.StyledStartEnhancer = exports.StyledInputEnhancer = exports.StyledRoot = exports.StatefulContainer = void 0;
3
+ exports.MaskedInput = exports.StatefulInput = exports.Input = exports.ENHANCER_POSITION = exports.CUSTOM_INPUT_TYPE = exports.ADJOINED = exports.STATE_CHANGE_TYPE = exports.StyledInput = exports.StyledInputContainer = exports.StyledEndEnhancer = exports.StyledStartEnhancer = exports.StyledInputEnhancer = exports.StyledRoot = exports.StatefulContainer = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var input_1 = require("baseui/input");
6
6
  Object.defineProperty(exports, "StatefulContainer", { enumerable: true, get: function () { return input_1.StatefulContainer; } });
@@ -13,6 +13,8 @@ Object.defineProperty(exports, "StyledInput", { enumerable: true, get: function
13
13
  Object.defineProperty(exports, "STATE_CHANGE_TYPE", { enumerable: true, get: function () { return input_1.STATE_CHANGE_TYPE; } });
14
14
  Object.defineProperty(exports, "ADJOINED", { enumerable: true, get: function () { return input_1.ADJOINED; } });
15
15
  Object.defineProperty(exports, "CUSTOM_INPUT_TYPE", { enumerable: true, get: function () { return input_1.CUSTOM_INPUT_TYPE; } });
16
+ var constants_1 = require("baseui/input/constants");
17
+ Object.defineProperty(exports, "ENHANCER_POSITION", { enumerable: true, get: function () { return constants_1.ENHANCER_POSITION; } });
16
18
  var input_2 = require("./input");
17
19
  Object.defineProperty(exports, "Input", { enumerable: true, get: function () { return input_2.Input; } });
18
20
  Object.defineProperty(exports, "StatefulInput", { enumerable: true, get: function () { return input_2.StatefulInput; } });
@@ -3,4 +3,4 @@ import { SharedProps } from './types';
3
3
  export declare const getInputContainerStyles: Styles;
4
4
  export declare const getEnhancerStyles: Styles;
5
5
  export declare const getPlaceholderTypography: Styles;
6
- export declare const getInputStyles: StyleFn<SharedProps>;
6
+ export declare const getInputStyles: StyleFn<Partial<Pick<SharedProps, '$size' | '$disabled' | '$variant'>>>;
@@ -121,7 +121,7 @@ var getInputStyles = function (utils, props) {
121
121
  // baseweb applies this style in order to support style in safari
122
122
  styles['-webkit-text-fill-color'] = theme.spr.text02;
123
123
  }
124
- var inputSizeTheme = (0, themeHelpers_1.getComponentSizeTheme)(theme, 'input', $size, 'lg');
124
+ var inputSizeTheme = (0, themeHelpers_1.getComponentSizeTheme)(theme, 'input', $size, 'md');
125
125
  styles.lineHeight = inputSizeTheme.lineHeight;
126
126
  styles.paddingLeft = styles.paddingRight = inputSizeTheme.paddingX;
127
127
  styles.paddingTop = styles.paddingBottom = inputSizeTheme.paddingY;
package/input/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Ref, ChangeEvent } from 'react';
1
2
  import { InputProps as BaseInputProps, StatefulInputProps as BaseStatefulInputProps, SharedProps as BaseSharedProps, InputOverrides as BaseUIInputOverrides } from 'baseui/input';
2
3
  import { SpacewebComponentProps, Intent } from '../types';
3
4
  import { Override } from '../overrides';
@@ -20,9 +21,11 @@ declare type CommonInputProps = {
20
21
  size?: InputSize;
21
22
  overrides?: InputOverrides;
22
23
  intent?: Intent;
23
- debouncedOnChange?: BaseInputProps['onChange'];
24
+ debouncedOnChange?: (e: ChangeEvent<HTMLInputElement>) => void;
24
25
  debounceInterval?: number;
25
26
  autoFocus?: FocusPosition;
27
+ inputRef?: Ref<HTMLInputElement>;
28
+ onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
26
29
  };
27
30
  export declare type SharedProps = Omit<BaseSharedProps, '$size' | '$positive' | '$error'> & {
28
31
  $isStart: boolean;
@@ -30,8 +33,8 @@ export declare type SharedProps = Omit<BaseSharedProps, '$size' | '$positive' |
30
33
  $variant: InputVariant;
31
34
  $intent: Intent;
32
35
  };
33
- export declare type InputProps = Omit<SpacewebComponentProps<BaseInputProps>, 'size' | 'overrides' | 'positive' | 'error' | 'autoFocus'> & CommonInputProps;
34
- export declare type StatefulInputProps = Omit<SpacewebComponentProps<BaseStatefulInputProps>, 'size' | 'overrides' | 'positive' | 'error' | 'autoFocus'> & CommonInputProps;
36
+ export declare type InputProps = Omit<SpacewebComponentProps<BaseInputProps>, 'positive' | 'error' | keyof CommonInputProps> & CommonInputProps;
37
+ export declare type StatefulInputProps = Omit<SpacewebComponentProps<BaseStatefulInputProps>, 'positive' | 'error' | keyof CommonInputProps> & CommonInputProps;
35
38
  export interface MaskedInputProps extends InputProps {
36
39
  mask?: string;
37
40
  maskChar?: string;
@@ -4,17 +4,13 @@ var tslib_1 = require("tslib");
4
4
  var jsx_runtime_1 = require("react/jsx-runtime");
5
5
  var react_1 = require("react");
6
6
  var avatar_1 = require("../avatar");
7
- var overrides_1 = require("../overrides");
7
+ var stack_1 = require("../stack");
8
8
  var list_item_1 = (0, tslib_1.__importDefault)(require("./list-item"));
9
9
  var AvatarListItem = (0, react_1.forwardRef)(function (_a, ref) {
10
10
  var $item = _a.$item, $labelKey = _a.$labelKey, $valueKey = _a.$valueKey, $multi = _a.$multi, children = _a.children, startEnhancer = _a.startEnhancer, avatarProps = _a.avatarProps, menuItemProps = (0, tslib_1.__rest)(_a, ["$item", "$labelKey", "$valueKey", "$multi", "children", "startEnhancer", "avatarProps"]);
11
11
  var sharedProps = { $item: $item, $labelKey: $labelKey, $valueKey: $valueKey, $multi: $multi };
12
- var avatarOverrides = (0, overrides_1.mergeOverrides)({ Root: { style: function (_a) {
13
- var px2rem = _a.px2rem;
14
- return ({ marginRight: px2rem(6) });
15
- } } }, avatarProps.overrides);
16
- var startEnhancerOverride = function (enhancerProps) { return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [typeof startEnhancer === 'function' ? startEnhancer((0, tslib_1.__assign)((0, tslib_1.__assign)({}, enhancerProps), sharedProps)) : startEnhancer, (0, jsx_runtime_1.jsx)(avatar_1.Avatar, (0, tslib_1.__assign)({ size: "md" }, avatarProps, { overrides: avatarOverrides }), void 0)] }, void 0)); };
17
- return ((0, jsx_runtime_1.jsx)(list_item_1.default, (0, tslib_1.__assign)({ startEnhancer: startEnhancerOverride }, menuItemProps, { ref: ref }, { children: children }), void 0));
12
+ var startEnhancerOverride = function (enhancerProps) { return ((0, jsx_runtime_1.jsxs)(stack_1.Stack, (0, tslib_1.__assign)({ direction: "horizontal", gap: 1, className: "items-center" }, { children: [typeof startEnhancer === 'function' ? startEnhancer((0, tslib_1.__assign)((0, tslib_1.__assign)({}, enhancerProps), sharedProps)) : startEnhancer, (0, jsx_runtime_1.jsx)(avatar_1.Avatar, (0, tslib_1.__assign)({ size: "md" }, avatarProps), void 0)] }), void 0)); };
13
+ return ((0, jsx_runtime_1.jsx)(list_item_1.default, (0, tslib_1.__assign)({ startEnhancer: startEnhancerOverride }, menuItemProps, { className: ['py-1', menuItemProps === null || menuItemProps === void 0 ? void 0 : menuItemProps.className], ref: ref }, { children: children }), void 0));
18
14
  });
19
15
  AvatarListItem.displayName = 'AvatarListItem';
20
16
  exports.default = AvatarListItem;
package/list/divider.js CHANGED
@@ -3,15 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  var jsx_runtime_1 = require("react/jsx-runtime");
5
5
  var react_1 = require("react");
6
- var classNames_1 = (0, tslib_1.__importDefault)(require("../classNames"));
7
6
  var overrides_1 = require("../overrides");
8
7
  var list_item_1 = (0, tslib_1.__importDefault)(require("./list-item"));
9
8
  var styled_component_1 = require("./styled-component");
10
9
  var Divider = (0, react_1.forwardRef)(function (_a, ref) {
11
- var children = _a.children, _b = _a.first, first = _b === void 0 ? false : _b, _c = _a.overrides, overrides = _c === void 0 ? {} : _c, restProps = (0, tslib_1.__rest)(_a, ["children", "first", "overrides"]);
10
+ var children = _a.children, _b = _a.first, first = _b === void 0 ? false : _b, _c = _a.overrides, overrides = _c === void 0 ? {} : _c, className = _a.className, restProps = (0, tslib_1.__rest)(_a, ["children", "first", "overrides", "className"]);
12
11
  var _d = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides.Separator, styled_component_1.StyledListItemDivider), 2), Separator = _d[0], separatorProps = _d[1];
13
12
  var _e = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides.SubHeader, list_item_1.default), 2), SubHeader = _e[0], subHeaderProps = _e[1];
14
- return children ? ((0, jsx_runtime_1.jsx)(SubHeader, (0, tslib_1.__assign)({ className: (0, classNames_1.default)('spr-border-01 border-solid border-b-0 border-l-0 border-r-0 pb-1', first ? 'border-t-0 pt-0' : 'border-t'), "aria-disabled": true }, restProps, subHeaderProps, { ref: ref }, { children: children }), void 0)) : ((0, jsx_runtime_1.jsx)(Separator, (0, tslib_1.__assign)({ "data-spaceweb": "divider", "aria-disabled": true }, restProps, { ref: ref }, separatorProps), void 0));
13
+ return children ? ((0, jsx_runtime_1.jsx)(SubHeader, (0, tslib_1.__assign)({ className: [
14
+ 'spr-border-01 border-solid border-b-0 border-l-0 border-r-0 pb-1 mx-0 rounded-0',
15
+ first ? 'border-t-0 pt-0' : 'border-t',
16
+ className,
17
+ ], "aria-disabled": true }, restProps, subHeaderProps, { ref: ref }, { children: children }), void 0)) : ((0, jsx_runtime_1.jsx)(Separator, (0, tslib_1.__assign)({ "data-spaceweb": "divider", "aria-disabled": true, className: className }, restProps, { ref: ref }, separatorProps), void 0));
15
18
  });
16
19
  Divider.displayName = 'Divider';
17
20
  exports.default = Divider;
package/list/list.d.ts CHANGED
@@ -1,12 +1,17 @@
1
- /// <reference types="react" />
2
- declare const _default: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<Omit<import("react").AllHTMLAttributes<HTMLElement>, "style" | "className"> & {
3
- $as?: import("react").ElementType<any> | undefined;
1
+ import * as React from 'react';
2
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<React.AllHTMLAttributes<HTMLElement>, "style" | "className"> & {
3
+ $as?: React.ElementType<any> | undefined;
4
4
  className?: import("..").Styles;
5
5
  style?: import("..").Styles;
6
6
  } & {
7
- children?: import("react").ReactNode;
7
+ children?: React.ReactNode;
8
+ virtual?: boolean | undefined;
8
9
  overrides?: {
9
10
  Root?: import("../overrides").Override<Record<string, any>> | undefined;
10
11
  } | undefined;
11
- } & import("react").RefAttributes<HTMLElement>>>;
12
+ scrollElement?: HTMLElement | null | undefined;
13
+ overscanCount?: number | undefined;
14
+ estimateItemSize?: number | undefined;
15
+ $showFocusOutline?: boolean | undefined;
16
+ } & React.RefAttributes<HTMLElement>>>;
12
17
  export default _default;
package/list/list.js CHANGED
@@ -2,13 +2,54 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  var jsx_runtime_1 = require("react/jsx-runtime");
5
- var react_1 = require("react");
5
+ var React = (0, tslib_1.__importStar)(require("react"));
6
+ var react_virtual_1 = require("@tanstack/react-virtual");
6
7
  var overrides_1 = require("../overrides");
8
+ var useCombinedRef_1 = (0, tslib_1.__importStar)(require("../hooks/useCombinedRef"));
7
9
  var styled_component_1 = require("./styled-component");
8
- var List = (0, react_1.forwardRef)(function (_a, ref) {
9
- var _b = _a.overrides, overrides = _b === void 0 ? {} : _b, children = _a.children, restProps = (0, tslib_1.__rest)(_a, ["overrides", "children"]);
10
- var _c = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides.Root, styled_component_1.StyledList), 2), Root = _c[0], rootProps = _c[1];
11
- return ((0, jsx_runtime_1.jsx)(Root, (0, tslib_1.__assign)({ "data-spaceweb": "list", role: "list" }, restProps, rootProps, { ref: ref }, { children: children }), void 0));
10
+ var box_1 = require("../box");
11
+ var utils_1 = require("./utils");
12
+ var DEFAULT_LIST_ITEM_HEIGHT = 38;
13
+ var DEFAULT_OVER_SCAN_COUNT = 10;
14
+ var getCloneElement = function (item, virtualRow, totalCount) {
15
+ var _a, _b;
16
+ return React.cloneElement(item, {
17
+ className: [
18
+ 'w-full absolute top-0 left-0 box-border',
19
+ { transform: "translateY(".concat(virtualRow.start, "px)") },
20
+ item.props.className,
21
+ ],
22
+ // @ts-ignore -- item.ref is not present in react types
23
+ ref: (0, useCombinedRef_1.combineRefs)(virtualRow.measureElement, item.ref),
24
+ 'aria-posinset': (_a = item.props['aria-posinset']) !== null && _a !== void 0 ? _a : virtualRow.index + 1,
25
+ 'aria-setsize': (_b = item.props['aria-setsize']) !== null && _b !== void 0 ? _b : totalCount,
26
+ });
27
+ };
28
+ var List = React.forwardRef(function (_a, forwardedRef) {
29
+ var _b = _a.overrides, overrides = _b === void 0 ? {} : _b, children = _a.children, virtual = _a.virtual, scrollElement = _a.scrollElement, _c = _a.overscanCount, overscanCount = _c === void 0 ? DEFAULT_OVER_SCAN_COUNT : _c, _d = _a.estimateItemSize, estimateItemSize = _d === void 0 ? DEFAULT_LIST_ITEM_HEIGHT : _d, _e = _a.role, role = _e === void 0 ? 'list' : _e, restProps = (0, tslib_1.__rest)(_a, ["overrides", "children", "virtual", "scrollElement", "overscanCount", "estimateItemSize", "role"]);
30
+ var _f = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides.Root, styled_component_1.StyledList), 2), Root = _f[0], rootProps = _f[1];
31
+ var parentRef = React.useRef(null);
32
+ var combinedRef = (0, useCombinedRef_1.default)(parentRef, forwardedRef);
33
+ var childrenArr = React.Children.toArray(children);
34
+ var rowVirtualizer = (0, react_virtual_1.useVirtualizer)({
35
+ count: childrenArr.length,
36
+ getScrollElement: function () { return scrollElement || parentRef.current; },
37
+ estimateSize: function () { return estimateItemSize; },
38
+ overscan: overscanCount,
39
+ measureElement: utils_1.measureElement,
40
+ });
41
+ if (virtual) {
42
+ return ((0, jsx_runtime_1.jsx)(Root, (0, tslib_1.__assign)({ "data-spaceweb": "list", "$as": "div", role: role }, restProps, rootProps, { ref: combinedRef }, { children: (0, jsx_runtime_1.jsx)(box_1.Box
43
+ // NOTE: resetting margin and padding here. should be removed when normalize css merges
44
+ , (0, tslib_1.__assign)({
45
+ // NOTE: resetting margin and padding here. should be removed when normalize css merges
46
+ className: "w-full relative p-0 m-0", style: {
47
+ height: "".concat(rowVirtualizer.getTotalSize(), "px"),
48
+ }, "$as": "ul" }, { children: rowVirtualizer
49
+ .getVirtualItems()
50
+ .map(function (virtualRow) { return getCloneElement(childrenArr[virtualRow.index], virtualRow, childrenArr.length); }) }), void 0) }), void 0));
51
+ }
52
+ return ((0, jsx_runtime_1.jsx)(Root, (0, tslib_1.__assign)({ "data-spaceweb": "list", role: role }, restProps, rootProps, { ref: combinedRef }, { children: children }), void 0));
12
53
  });
13
54
  List.displayName = 'List';
14
- exports.default = (0, react_1.memo)(List);
55
+ exports.default = React.memo(List);
@@ -6,11 +6,9 @@ var classNames_1 = (0, tslib_1.__importDefault)(require("../classNames"));
6
6
  var longHandHelpers_1 = require("../helpers/longHandHelpers");
7
7
  var themeHelpers_1 = require("../helpers/themeHelpers");
8
8
  var style_1 = require("../style");
9
- // `pl-0 pr-0 mt-0 mb-0` should not be needed, normalize css is not applied to docs
10
- exports.StyledList = (0, style_1.styled)('ul', 'box-border spr-ui-01 pl-0 pr-0 mt-0 mb-0', function (_a) {
11
- var px2rem = _a.px2rem;
12
- return ((0, tslib_1.__assign)({ paddingTop: px2rem(10), paddingBottom: px2rem(10) }, (0, longHandHelpers_1.borderRadius)('inherit')));
13
- }, function (_, _a) {
9
+ exports.StyledList = (0, style_1.styled)('ul',
10
+ // bottom spacing will be added by ListItem
11
+ 'box-border spr-ui-01 py-1 px-1 my-0', (0, longHandHelpers_1.borderRadius)('inherit'), function (_, _a) {
14
12
  var $showFocusOutline = _a.$showFocusOutline;
15
13
  return ($showFocusOutline ? 'focus-visible:outline-01' : '');
16
14
  });
@@ -32,7 +30,7 @@ var backgroundColor = function (_a, _b) {
32
30
  };
33
31
  exports.StyledListItem = (0, style_1.styled)('li', function (_a, props) {
34
32
  var getStyle = _a.getStyle;
35
- return getStyle((0, classNames_1.default)('relative flex justify-start py-2 px-4 typography-l1 fill-current spr-ui-01', {
33
+ return getStyle((0, classNames_1.default)('relative flex justify-start mb-1 last-child:mb-0 py-2 px-3 typography-l1 fill-current spr-ui-01 rounded-6', {
36
34
  'items-start': props.$alignItems === 'start',
37
35
  'items-center': props.$alignItems === 'center',
38
36
  'cursor-pointer': props.$button && !props.$disabled,
@@ -53,20 +51,20 @@ exports.StyledSecondaryText = (0, style_1.styled)('div', 'spr-text-02 typography
53
51
  marginTop: px2rem(2),
54
52
  });
55
53
  });
56
- exports.StyledListItemDivider = (0, style_1.styled)('li', 'block h-px spr-ui-03');
54
+ exports.StyledListItemDivider = (0, style_1.styled)('li', 'block h-px spr-ui-03 mb-1 last-child:mb-0');
57
55
  exports.StyledStartEnhancer = (0, style_1.styled)('div', 'inline-flex', function (_a, props) {
58
56
  var getStyle = _a.getStyle, direction = _a.direction;
59
57
  return getStyle((0, classNames_1.default)({
60
- 'pr-3': direction !== 'rtl',
61
- 'pl-3': direction === 'rtl',
58
+ 'pr-2': direction !== 'rtl',
59
+ 'pl-2': direction === 'rtl',
62
60
  'mt-1': props.$alignItems === 'start',
63
61
  }));
64
62
  });
65
63
  exports.StyledEndEnhancer = (0, style_1.styled)('div', 'inline-flex', function (_a, props) {
66
64
  var getStyle = _a.getStyle, direction = _a.direction;
67
65
  return getStyle((0, classNames_1.default)({
68
- 'pl-3': direction !== 'rtl',
69
- 'pr-3': direction === 'rtl',
66
+ 'pl-2': direction !== 'rtl',
67
+ 'pr-2': direction === 'rtl',
70
68
  'mt-1': props.$alignItems === 'start',
71
69
  }));
72
70
  });