@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
@@ -13,8 +13,7 @@ import DefaultTimezonePicker from './TimezonePicker';
13
13
  import ErrorIcon from '../icon/components/error';
14
14
  import { StyledFooter, StyledFooterBeforeEnhancer } from '../date-picker/styled-components';
15
15
  import { useLocale } from '../locale';
16
- import { getSelectedTimeRange } from './utils';
17
- import { isTimeInRange } from '../date-picker/utils';
16
+ import { getRangeError, getSelectedTimeRange } from './utils';
18
17
  import { useOverrides } from '../overrides';
19
18
  var getPresetId = function (selectedPreset, selectedValue) {
20
19
  if (selectedPreset) {
@@ -33,42 +32,40 @@ var RangeSelectorContainer = function (_a) {
33
32
  var _g = __read(useState(selectedTimeRange), 2), timeRange = _g[0], setTimeRange = _g[1];
34
33
  var _h = __read(useState(getPresetId(selectedPreset, selectedValue)), 2), preset = _h[0], setPreset = _h[1];
35
34
  var _j = __read(useState(selectedTimezone), 2), timezone = _j[0], setTimezone = _j[1];
36
- var _k = __read(useState(false), 2), hasError = _k[0], setHasError = _k[1];
37
35
  useEffect(function () {
38
36
  setTimeRange(selectedTimeRange);
39
37
  setPreset(getPresetId(selectedPreset, selectedValue));
40
38
  }, [selectedTimeRange, selectedValue, selectedPreset]);
41
- var _l = __read(useOverrides((_b = props.overrides) === null || _b === void 0 ? void 0 : _b.Header, StyledHeader), 2), Header = _l[0], headerProps = _l[1];
42
- var _m = __read(useOverrides((_c = props.overrides) === null || _c === void 0 ? void 0 : _c.HeaderBeforeEnhancer, Typography), 2), HeaderBeforeEnhancer = _m[0], headerBeforeEnhancerProps = _m[1];
43
- var _o = __read(useOverrides((_d = props.overrides) === null || _d === void 0 ? void 0 : _d.Footer, StyledFooter), 2), Footer = _o[0], footerProps = _o[1];
44
- var _p = __read(useOverrides((_e = props.overrides) === null || _e === void 0 ? void 0 : _e.FooterBeforeEnhancer, StyledFooterBeforeEnhancer), 2), FooterBeforeEnhancer = _p[0], footerBeforeEnhancerProps = _p[1];
45
- var _q = __read(useOverrides((_f = props.overrides) === null || _f === void 0 ? void 0 : _f.TimezonePicker, DefaultTimezonePicker), 2), TimezonePicker = _q[0], timezonePickerProps = _q[1];
46
- useEffect(function () {
47
- if ((preset === 'CUSTOM' && timeRange.length !== 2) || typeof preset !== 'string') {
48
- setHasError(true);
49
- }
50
- else if (!isTimeInRange(timeRange, { minDate: minDate, maxDate: maxDate, dateHelpers: dateHelpers })) {
51
- setHasError(true);
52
- }
53
- else {
54
- setHasError(false);
55
- }
56
- }, [preset, timeRange, minDate, maxDate, dateHelpers]);
39
+ var _k = __read(useOverrides((_b = props.overrides) === null || _b === void 0 ? void 0 : _b.Header, StyledHeader), 2), Header = _k[0], headerProps = _k[1];
40
+ var _l = __read(useOverrides((_c = props.overrides) === null || _c === void 0 ? void 0 : _c.HeaderBeforeEnhancer, Typography), 2), HeaderBeforeEnhancer = _l[0], headerBeforeEnhancerProps = _l[1];
41
+ var _m = __read(useOverrides((_d = props.overrides) === null || _d === void 0 ? void 0 : _d.Footer, StyledFooter), 2), Footer = _m[0], footerProps = _m[1];
42
+ var _o = __read(useOverrides((_e = props.overrides) === null || _e === void 0 ? void 0 : _e.FooterBeforeEnhancer, StyledFooterBeforeEnhancer), 2), FooterBeforeEnhancer = _o[0], footerBeforeEnhancerProps = _o[1];
43
+ var _p = __read(useOverrides((_f = props.overrides) === null || _f === void 0 ? void 0 : _f.TimezonePicker, DefaultTimezonePicker), 2), TimezonePicker = _p[0], timezonePickerProps = _p[1];
44
+ var _q = useMemo(function () {
45
+ return getRangeError({
46
+ dateHelpers: dateHelpers,
47
+ timeRange: timeRange,
48
+ maxDate: maxDate,
49
+ minDate: minDate,
50
+ locale: locale,
51
+ preset: preset,
52
+ });
53
+ }, [timeRange, minDate, maxDate, dateHelpers, locale, preset]), hasError = _q.hasError, errMsg = _q.errMsg;
57
54
  var onDateChange = useCallback(function (_a) {
58
55
  var _b, _c, _d;
59
- var date = _a.date, preset = _a.preset;
56
+ var date = _a.date, _preset = _a.preset;
60
57
  // if preset is passed then we have to get the time range limits else date is array
61
- if (preset) {
62
- var nextDate = (_d = (_c = (_b = getSelectedTimeRange(preset, timeRangePresets)) === null || _b === void 0 ? void 0 : _b.getTimeRangeLimits) === null || _c === void 0 ? void 0 : _c.call(_b)) !== null && _d !== void 0 ? _d : [];
58
+ if (_preset) {
59
+ var nextDate = (_d = (_c = (_b = getSelectedTimeRange(_preset, timeRangePresets)) === null || _b === void 0 ? void 0 : _b.getTimeRangeLimits) === null || _c === void 0 ? void 0 : _c.call(_b)) !== null && _d !== void 0 ? _d : [];
63
60
  /* Here we have to manually set 0 ms on startDate and 999ms on endDate, becuase baseui internally clamps day to start of the day.
64
61
  But in this function they only set hours, minutes and seconds to 0 and ms remains as it is. So, isDayInRange check fails, where
65
62
  they checks (startDate<=endDate). As milliseconds of end Date may be greater then start Date, it leads to failure of presets like
66
63
  Last 1 Hour, Last 2 to 1 Hours, Last 12 Hours, etc...
67
64
  */
68
65
  nextDate = __spreadArray(__spreadArray([], __read((nextDate[0] ? [new Date(nextDate[0].setMilliseconds(0))] : [])), false), __read((nextDate[1] ? [new Date(nextDate[1].setMilliseconds(999))] : [])), false);
69
- setPreset(preset);
66
+ setPreset(_preset);
70
67
  setTimeRange(nextDate);
71
- onChange === null || onChange === void 0 ? void 0 : onChange(__assign({ value: preset, date: nextDate, preset: preset }, (disableTimezone ? {} : { timezone: timezone })));
68
+ onChange === null || onChange === void 0 ? void 0 : onChange(__assign({ value: _preset, date: nextDate, preset: _preset }, (disableTimezone ? {} : { timezone: timezone })));
72
69
  }
73
70
  else {
74
71
  var nextDate = date;
@@ -87,15 +84,18 @@ var RangeSelectorContainer = function (_a) {
87
84
  var handleSubmit = useCallback(function () {
88
85
  return onSubmit(__assign({ timeRange: timeRange, preset: preset }, (disableTimezone ? {} : { timezone: timezone })));
89
86
  }, [timeRange, preset, timezone, onSubmit, disableTimezone]);
90
- var errorEl = hasError ? (_jsxs(Stack, __assign({ direction: "horizontal", gap: 1, className: cx('mr-1', { 'items-center': monthsShown !== 1 }), shrink: true }, { children: [_jsx(ErrorIcon, { size: 14, className: [
87
+ // show error message only when it is present, hasError can be true when user has not selected any date,
88
+ // but we are showing any error message for that scenario.
89
+ var errorEl = errMsg ? (_jsxs(Stack, __assign({ direction: "horizontal", gap: 1, className: cx('mr-1', { 'items-center': monthsShown !== 1 }), shrink: true }, { children: [_jsx(ErrorIcon, { size: 14, className: [
90
+ 'block',
91
91
  function (_a) {
92
92
  var theme = _a.theme;
93
93
  return ({
94
94
  fill: theme.spr.clrRed,
95
95
  });
96
96
  },
97
- ] }, void 0), _jsx(Typography, __assign({ className: "my-0", variant: "bs3" }, { children: locale.timeRangePicker.rangeErrorMsg }), void 0)] }), void 0)) : null;
98
- return (_jsxs(Box, __assign({ className: "spr-ui-01 rounded-8" }, { children: [_jsxs(Header, __assign({ "$setTimezone": setTimezone, "$onClose": props.onClose }, headerProps, { children: [_jsx(HeaderBeforeEnhancer, __assign({ variant: "bs1", "$as": "span", weight: "medium", className: "flex items-center" }, headerBeforeEnhancerProps, { children: locale.timeRangePicker.headerLabel }), void 0), disableTimezone ? null : (_jsx(TimezonePicker, __assign({ setTimezone: setTimezone, timezone: timezone }, timezonePickerProps), void 0))] }), void 0), _jsx(RangeSelector, { overrides: props.overrides, timeSelect: props.timeSelect, timeRangePresets: timeRangePresets, timezone: timezone, timeRange: timeRange, preset: preset, onChange: onDateChange, adapter: adapter, peekNextMonth: props.peekNextMonth, excludeDates: props.excludeDates, filterDate: props.filterDate, minDate: minDate, maxDate: maxDate, formatString: props.formatString, locale: props.locale, fixedHeight: props.fixedHeight, monthsShown: monthsShown }, void 0), _jsxs(Footer, __assign({ "$hasError": hasError, "$onSubmit": handleSubmit, "$onClose": props.onClose }, footerProps, { className: "justify-between" }, { children: [_jsx(FooterBeforeEnhancer, __assign({}, footerBeforeEnhancerProps), void 0), _jsxs(Stack, __assign({ direction: monthsShown === 1 ? 'vertical' : 'horizontal', gap: 3, className: [cx({ 'items-center': monthsShown !== 1 }), { maxWidth: 'fit-content' }] }, { children: [monthsShown === 1 ? null : errorEl, _jsxs(StackItem, __assign({ className: "self-end" }, { children: [_jsx(Button, __assign({ size: "sm", onClick: props.onClose, variant: "secondary", "data-testid": "cancel" }, { children: locale.timeRangePicker.cancelBtnLabel }), void 0), _jsx(Button, __assign({ size: "sm", className: "ml-3", onClick: handleSubmit, disabled: hasError, "data-testid": "save" }, { children: locale.timeRangePicker.saveBtnLabel }), void 0)] }), void 0), monthsShown === 1 ? errorEl : null] }), void 0)] }), void 0)] }), void 0));
97
+ ] }, void 0), _jsx(Typography, __assign({ className: "my-0", variant: "bs3" }, { children: errMsg }), void 0)] }), void 0)) : null;
98
+ return (_jsxs(Box, __assign({ className: "spr-ui-01 rounded-8" }, { children: [_jsxs(Header, __assign({ "$setTimezone": setTimezone, "$onClose": props.onClose }, headerProps, { children: [_jsx(HeaderBeforeEnhancer, __assign({ variant: "bs1", "$as": "span", weight: "medium", className: "flex items-center" }, headerBeforeEnhancerProps, { children: locale.timeRangePicker.headerLabel }), void 0), disableTimezone ? null : (_jsx(TimezonePicker, __assign({ setTimezone: setTimezone, timezone: timezone }, timezonePickerProps), void 0))] }), void 0), _jsx(RangeSelector, { overrides: props.overrides, timeSelect: props.timeSelect, timeRangePresets: timeRangePresets, timezone: timezone, timeRange: timeRange, preset: preset, onChange: onDateChange, adapter: adapter, peekNextMonth: props.peekNextMonth, excludeDates: props.excludeDates, filterDate: props.filterDate, minDate: minDate, maxDate: maxDate, formatString: props.formatString, locale: props.locale, fixedHeight: props.fixedHeight, monthsShown: monthsShown }, void 0), _jsxs(Footer, __assign({ "$hasError": hasError, "$onSubmit": handleSubmit, "$onClose": props.onClose }, footerProps, { className: "justify-between" }, { children: [_jsx(FooterBeforeEnhancer, __assign({}, footerBeforeEnhancerProps), void 0), _jsxs(Stack, __assign({ direction: monthsShown === 1 ? 'vertical' : 'horizontal', gap: 3, className: [cx({ 'items-center': monthsShown !== 1 }), { maxWidth: 'fit-content' }] }, { children: [monthsShown === 1 ? null : errorEl, _jsxs(StackItem, __assign({ className: "flex self-end" }, { children: [_jsx(Button, __assign({ size: "sm", onClick: props.onClose, variant: "secondary", "data-testid": "cancel" }, { children: locale.timeRangePicker.cancelBtnLabel }), void 0), _jsx(Button, __assign({ size: "sm", className: "ml-3", onClick: handleSubmit, disabled: hasError, "data-testid": "save" }, { children: locale.timeRangePicker.saveBtnLabel }), void 0)] }), void 0), monthsShown === 1 ? errorEl : null] }), void 0)] }), void 0)] }), void 0));
99
99
  };
100
100
  RangeSelectorContainer.displayName = 'RangeSelectorContainer';
101
101
  export default RangeSelectorContainer;
@@ -5,6 +5,7 @@ import { Menu as DefaultMenu, MenuItem as DefaultMenuItem } from '../menu';
5
5
  import { Box } from '../box';
6
6
  import { useOverrides } from '../overrides';
7
7
  import { useLocale } from '../locale';
8
+ import { useIsMobileDevice } from '../hooks/useIsMobileDevice';
8
9
  var TimeRangeList = function (_a) {
9
10
  var onChange = _a.onChange, timeRange = _a.timeRange, preset = _a.preset, timeRangePresets = _a.timeRangePresets, overrides = _a.overrides;
10
11
  var locale = useLocale();
@@ -16,9 +17,15 @@ var TimeRangeList = function (_a) {
16
17
  onChange({ preset: timeRangePreset.id });
17
18
  }
18
19
  }, [onChange, timeRange]);
20
+ var isMobileDevice = useIsMobileDevice();
19
21
  var _b = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.Menu, DefaultMenu), 2), Menu = _b[0], menuProps = _b[1];
20
22
  var _c = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.MenuItem, DefaultMenuItem), 2), MenuItem = _c[0], menuItemProps = _c[1];
21
- return (_jsx(Box, __assign({ className: "w-40 overflow-y-auto border-r-1 border-l-0 border-t-0 border-b-0 spr-border-01 border-solid" }, { children: _jsx(Menu, __assign({ "aria-label": locale.timeRangePicker.presetMenuAriaLabel, disableNavigationOnMount: true, resetMenuHighlightOnMouseLeave: true, className: ['focus-visible:-outline-offset-2', menuProps === null || menuProps === void 0 ? void 0 : menuProps.className], role: "listbox" }, menuProps, { children: timeRangePresets.map(function (timeRangePreset) { return (_jsx(MenuItem, __assign({ onClick: function () { return onItemSelect(timeRangePreset); }, selected: timeRangePreset.id === preset, className: [
23
+ return (_jsx(Box, __assign({ className: [
24
+ 'overflow-y-auto border-r-1 border-l-0 border-t-0 border-b-0 spr-border-01 border-solid',
25
+ {
26
+ width: isMobileDevice ? '110px' : '160px',
27
+ },
28
+ ] }, { children: _jsx(Menu, __assign({ "aria-label": locale.timeRangePicker.presetMenuAriaLabel, disableNavigationOnMount: true, resetMenuHighlightOnMouseLeave: true, className: ['focus-visible:-outline-offset-2', menuProps === null || menuProps === void 0 ? void 0 : menuProps.className], role: "listbox", "$showFocusOutline": true }, menuProps, { children: timeRangePresets.map(function (timeRangePreset) { return (_jsx(MenuItem, __assign({ onClick: function () { return onItemSelect(timeRangePreset); }, selected: timeRangePreset.id === preset, className: [
22
29
  'static',
23
30
  function (_a, _b) {
24
31
  var theme = _a.theme;
@@ -51,9 +51,6 @@ export var TimeRangePicker = function (_a) {
51
51
  if (!Array.isArray(date) && date) {
52
52
  return formatDate(date);
53
53
  }
54
- if (formatDisplayValue) {
55
- return formatDisplayValue(date, normalizedFormatString);
56
- }
57
54
  var timeRangePreset;
58
55
  if (typeof preset === 'string') {
59
56
  timeRangePreset = getSelectedTimeRange(preset, timeRangeList);
@@ -61,7 +58,7 @@ export var TimeRangePicker = function (_a) {
61
58
  else if (typeof value === 'string') {
62
59
  timeRangePreset = getSelectedTimeRange(value, timeRangeList);
63
60
  }
64
- return formatSummaryValue({
61
+ var options = {
65
62
  date: date,
66
63
  presetId: (_a = timeRangePreset === null || timeRangePreset === void 0 ? void 0 : timeRangePreset.id) !== null && _a !== void 0 ? _a : CUSTOM_OPTION.id,
67
64
  presetLabel: (_b = timeRangePreset === null || timeRangePreset === void 0 ? void 0 : timeRangePreset.label) !== null && _b !== void 0 ? _b : locale.timeRangePicker.customRange,
@@ -73,7 +70,11 @@ export var TimeRangePicker = function (_a) {
73
70
  adapter: adapter,
74
71
  locale: dateFnsLocale,
75
72
  displayVariant: displayVariant,
76
- });
73
+ };
74
+ if (formatDisplayValue) {
75
+ return formatDisplayValue(date, normalizedFormatString, options);
76
+ }
77
+ return formatSummaryValue(options);
77
78
  }, [
78
79
  timezone,
79
80
  value,
@@ -38,4 +38,7 @@ export declare type TimeRangePickerLocale = {
38
38
  rangeErrorMsg: string;
39
39
  presetMenuAriaLabel: string;
40
40
  popoverAriaLabel: string;
41
+ minDateErrorMessage: string;
42
+ maxDateErrorMessage: string;
43
+ minMaxDateErrorMessage: string;
41
44
  };
@@ -30,6 +30,7 @@ export declare type TimeRangePickerOverrides = DatepickerOverrides<Record<string
30
30
  HeaderBeforeEnhancer?: Override<Record<string, any>>;
31
31
  FooterBeforeEnhancer?: Override<Record<string, any>>;
32
32
  TimezonePicker?: Override<Record<string, any>>;
33
+ Calendar?: Override<Record<string, any>>;
33
34
  };
34
35
  export declare type TimeRangePickerValue = {
35
36
  value: Date[] | string;
@@ -39,7 +40,20 @@ export declare type TimeRangePickerValue = {
39
40
  };
40
41
  declare type Preset = string;
41
42
  export declare type SizeVariant = 'default' | 'compact';
42
- export declare type TimeRangePickerProps = Omit<StatelessDatePickerProps, 'value' | 'overrides' | 'onChange' | 'isOpen' | 'onFocus' | 'onBlur' | 'range'> & {
43
+ export declare type FormatSummaryValueOptions = {
44
+ date: Date[];
45
+ presetId: string;
46
+ presetLabel: string;
47
+ timezone?: string;
48
+ formatString?: string;
49
+ showFullDateInSummary?: boolean;
50
+ showTimezoneInSummary?: boolean;
51
+ adapter?: any;
52
+ locale?: any;
53
+ hidePresetLabel?: boolean;
54
+ displayVariant?: SizeVariant;
55
+ };
56
+ export declare type TimeRangePickerProps = Omit<StatelessDatePickerProps, 'value' | 'overrides' | 'onChange' | 'isOpen' | 'onFocus' | 'onBlur' | 'range' | 'formatDisplayValue'> & {
43
57
  /**
44
58
  * @deprecated Please prevent passing preset to value. Instead, pass it in the prop `preset`.
45
59
  * This will be removed in future major releases.
@@ -58,6 +72,7 @@ export declare type TimeRangePickerProps = Omit<StatelessDatePickerProps, 'value
58
72
  startOpen?: boolean;
59
73
  disableTimezone?: boolean;
60
74
  displayVariant?: SizeVariant;
75
+ formatDisplayValue?: (date: Date | undefined | null | Array<Date | undefined | null>, formatString: string, options: FormatSummaryValueOptions) => string;
61
76
  };
62
77
  export declare type RangeSelectorContainerProps = Omit<TimeRangePickerProps, 'onFocus' | 'onBlur' | 'timeRangePresets' | 'onSubmit' | 'formatDisplayValue' | 'onClear' | 'timezone'> & {
63
78
  timeRangePresets: TimeRangePreset[];
@@ -1,5 +1,6 @@
1
+ import DateHelpers from 'baseui/datepicker/utils/date-helpers';
1
2
  import { Locale } from '../locale';
2
- import { SizeVariant, TimeRangePreset } from './types';
3
+ import { FormatSummaryValueOptions, TimeRangePreset } from './types';
3
4
  export declare const getSelectedTimeRange: (selectedTimeRange: string | undefined, timeRangeOptions: Array<TimeRangePreset>) => TimeRangePreset | undefined;
4
5
  export declare const getSystemTzName: () => string;
5
6
  /**
@@ -23,20 +24,19 @@ export declare const adaptDateWithSystemTz: (date: Date, selectedTimezone: strin
23
24
  */
24
25
  export declare const getDateForGivenTimezone: (timezone?: string | undefined) => Date;
25
26
  export declare const getDefaultTimeRangePresets: (locale: Locale) => TimeRangePreset[];
26
- export declare const formatSummaryValue: ({ date, presetId, presetLabel, timezone, formatString, showFullDateInSummary, showTimezoneInSummary, adapter, locale, hidePresetLabel, displayVariant, }: {
27
- date: Date[];
28
- presetId: string;
29
- presetLabel: string;
30
- timezone?: string | undefined;
31
- formatString?: string | undefined;
32
- showFullDateInSummary?: boolean | undefined;
33
- showTimezoneInSummary?: boolean | undefined;
34
- adapter?: any;
35
- locale?: any;
36
- hidePresetLabel?: boolean | undefined;
37
- displayVariant?: SizeVariant | undefined;
38
- }) => string;
27
+ export declare const formatSummaryValue: ({ date, presetId, presetLabel, timezone, formatString, showFullDateInSummary, showTimezoneInSummary, adapter, locale, hidePresetLabel, displayVariant, }: FormatSummaryValueOptions) => string;
39
28
  export declare const getHeight: ({ monthsShown, timeSelect }: {
40
29
  monthsShown?: number | undefined;
41
30
  timeSelect?: boolean | undefined;
42
31
  }) => number;
32
+ export declare const getRangeError: ({ maxDate, minDate, dateHelpers, timeRange, locale, preset, }: {
33
+ minDate?: Date | null | undefined;
34
+ maxDate?: Date | null | undefined;
35
+ dateHelpers: DateHelpers<Date>;
36
+ timeRange: Date[];
37
+ locale: Locale;
38
+ preset?: string | undefined;
39
+ }) => {
40
+ hasError: boolean;
41
+ errMsg?: string;
42
+ };
@@ -2,7 +2,8 @@ import { DEFAULT_FORMAT_STRING } from '../date-picker/constants';
2
2
  import { findTimeZone, getZonedTime } from 'timezone-support/dist/index-1900-2050';
3
3
  import dateFnsAdapter from 'baseui/datepicker/utils/date-fns-adapter';
4
4
  import DateHelpers from 'baseui/datepicker/utils/date-helpers';
5
- import { normalizeDashes } from '../date-picker/utils';
5
+ import getInterpolatedString from 'baseui/helpers/i18n-interpolation';
6
+ import { isTimeInRange, normalizeDashes } from '../date-picker/utils';
6
7
  import { CALENDAR_HEIGHT, CUSTOM_OPTION, TIME_SELECT_ROW_HEIGHT } from './constants';
7
8
  export var getSelectedTimeRange = function (selectedTimeRange, timeRangeOptions) { return timeRangeOptions.find(function (_a) {
8
9
  var id = _a.id;
@@ -409,3 +410,46 @@ export var getHeight = function (_a) {
409
410
  }
410
411
  return CALENDAR_HEIGHT;
411
412
  };
413
+ var ERROR_FORMATE_DATE = 'dd MMM, yyyy hh:mm a';
414
+ export var getRangeError = function (_a) {
415
+ var maxDate = _a.maxDate, minDate = _a.minDate, dateHelpers = _a.dateHelpers, timeRange = _a.timeRange, locale = _a.locale, preset = _a.preset;
416
+ if ((preset === 'CUSTOM' && timeRange.length !== 2) || typeof preset !== 'string') {
417
+ return {
418
+ hasError: true,
419
+ };
420
+ }
421
+ var isValidTimeRange = isTimeInRange(timeRange, { minDate: minDate, maxDate: maxDate, dateHelpers: dateHelpers });
422
+ if (isValidTimeRange) {
423
+ return {
424
+ hasError: false,
425
+ };
426
+ }
427
+ if (minDate && maxDate) {
428
+ return {
429
+ hasError: true,
430
+ errMsg: getInterpolatedString(locale.timeRangePicker.minMaxDateErrorMessage, {
431
+ minDate: dateHelpers.formatDate(minDate, ERROR_FORMATE_DATE),
432
+ maxDate: dateHelpers.formatDate(maxDate, ERROR_FORMATE_DATE),
433
+ }),
434
+ };
435
+ }
436
+ if (minDate) {
437
+ return {
438
+ hasError: true,
439
+ errMsg: getInterpolatedString(locale.timeRangePicker.minDateErrorMessage, {
440
+ minDate: dateHelpers.formatDate(minDate, ERROR_FORMATE_DATE),
441
+ }),
442
+ };
443
+ }
444
+ if (maxDate) {
445
+ return {
446
+ hasError: true,
447
+ errMsg: getInterpolatedString(locale.timeRangePicker.maxDateErrorMessage, {
448
+ maxDate: dateHelpers.formatDate(maxDate, ERROR_FORMATE_DATE),
449
+ }),
450
+ };
451
+ }
452
+ return {
453
+ hasError: false,
454
+ };
455
+ };
@@ -1,8 +1,3 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { TimezonePickerProps } from './types';
3
- export declare const TimezonePicker: {
4
- (props: TimezonePickerProps): ReactElement;
5
- defaultProps: {
6
- size: string;
7
- };
8
- };
3
+ export declare const TimezonePicker: (props: TimezonePickerProps) => ReactElement;
@@ -7,8 +7,8 @@ import { useOverrides } from '../overrides';
7
7
  import { buildTimeZones } from './utils';
8
8
  export var TimezonePicker = function (props) {
9
9
  var adaptedProps = useContextualFormProps(props);
10
- var onChange = adaptedProps.onChange, _a = adaptedProps.date, date = _a === void 0 ? new Date() : _a, mapLabels = adaptedProps.mapLabels, value = adaptedProps.value, _b = adaptedProps.overrides, overrides = _b === void 0 ? {} : _b, restProps = __rest(adaptedProps, ["onChange", "date", "mapLabels", "value", "overrides"]);
11
- var _c = __read(useState(), 2), timezoneId = _c[0], setTimezoneId = _c[1];
10
+ var onChange = adaptedProps.onChange, _a = adaptedProps.date, date = _a === void 0 ? new Date() : _a, mapLabels = adaptedProps.mapLabels, value = adaptedProps.value, _b = adaptedProps.overrides, overrides = _b === void 0 ? {} : _b, _c = adaptedProps.size, size = _c === void 0 ? 'md' : _c, restProps = __rest(adaptedProps, ["onChange", "date", "mapLabels", "value", "overrides", "size"]);
11
+ var _d = __read(useState(), 2), timezoneId = _d[0], setTimezoneId = _d[1];
12
12
  var time = date.getTime();
13
13
  var timeZoneList = useMemo(function () {
14
14
  if (props.timezoneOptions) {
@@ -43,10 +43,8 @@ export var TimezonePicker = function (props) {
43
43
  setTimezoneId((_a = params.option) === null || _a === void 0 ? void 0 : _a.id);
44
44
  }, [onChange, setTimezoneId]);
45
45
  var _value = useMemo(function () { return (value || timezoneId ? [{ id: value || timezoneId }] : []); }, [value, timezoneId]);
46
- var _d = __read(useOverrides(overrides.Select, Select), 2), SelectComp = _d[0], selectProps = _d[1];
46
+ var _e = __read(useOverrides(overrides.Select, Select), 2), SelectComp = _e[0], selectProps = _e[1];
47
+ return (
47
48
  //@ts-ignore check why `type` is mandatory for select
48
- return _jsx(SelectComp, __assign({ value: _value, onChange: handleChange, options: timeZoneList }, restProps, selectProps), void 0);
49
- };
50
- TimezonePicker.defaultProps = {
51
- size: 'md',
49
+ _jsx(SelectComp, __assign({ value: _value, onChange: handleChange, options: timeZoneList, size: size }, restProps, selectProps), void 0));
52
50
  };
@@ -3,6 +3,31 @@ import { TooltipProps } from './types';
3
3
  export declare type DisabledTooltipContainerProps = Partial<Omit<TooltipProps, 'children'>> & Pick<TooltipProps, 'children'>;
4
4
  declare const DisabledTooltipContainer: {
5
5
  ({ content, children, onMouseEnterDelay, onMouseLeaveDelay, overrides, ...props }: DisabledTooltipContainerProps): React.ReactElement | null;
6
- defaultProps: any;
6
+ defaultProps: {
7
+ showArrow: boolean;
8
+ accessibilityType?: "none" | "menu" | "tooltip" | undefined;
9
+ animateOutTime?: number | undefined;
10
+ autoFocus?: boolean | undefined;
11
+ focusLock?: boolean | undefined;
12
+ 'data-baseweb'?: string | undefined;
13
+ id?: string | undefined;
14
+ ignoreBoundary?: boolean | undefined;
15
+ mountNode?: HTMLElement | undefined;
16
+ onBlur?: ((e: React.FocusEvent<Element, Element>) => unknown) | undefined;
17
+ onClick?: ((e: React.SyntheticEvent<Element, Event>) => unknown) | undefined;
18
+ onFocus?: ((e: React.FocusEvent<Element, Element>) => unknown) | undefined;
19
+ focusOptions?: FocusOptions | undefined;
20
+ onMouseEnter?: ((e: React.MouseEvent<Element, MouseEvent>) => unknown) | undefined;
21
+ onMouseEnterDelay?: number | undefined;
22
+ onMouseLeave?: ((e: React.MouseEvent<Element, MouseEvent>) => unknown) | undefined;
23
+ onMouseLeaveDelay?: number | undefined;
24
+ overrides?: import("baseui/popover").PopoverOverrides | undefined;
25
+ placement?: "auto" | "bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "rightTop" | "rightBottom" | "bottomRight" | "bottomLeft" | "leftBottom" | "leftTop" | undefined;
26
+ popperOptions?: any;
27
+ renderAll?: boolean | undefined;
28
+ returnFocus?: boolean | FocusOptions | ((returnTo: Element) => boolean | FocusOptions) | undefined;
29
+ triggerType?: "hover" | "click" | undefined;
30
+ popoverMargin?: number | undefined;
31
+ };
7
32
  };
8
33
  export default DisabledTooltipContainer;
@@ -30,7 +30,7 @@ var getTypography = function (_a, _b) {
30
30
  return __assign(__assign({}, theme.typography.bs3), { fontWeight: theme.fontWeight.normal });
31
31
  };
32
32
  export var innerStyles = [
33
- 'flex flex-col items-center break-words',
33
+ 'break-words',
34
34
  function (utils) {
35
35
  var theme = utils.theme;
36
36
  return {
@@ -3,6 +3,31 @@ import { StatefulTooltipContainerProps } from './types';
3
3
  declare const StatefulContainer: {
4
4
  (props: StatefulTooltipContainerProps): React.ReactElement;
5
5
  displayName: string;
6
- defaultProps: any;
6
+ defaultProps: {
7
+ showArrow: boolean;
8
+ accessibilityType?: "none" | "menu" | "tooltip" | undefined;
9
+ animateOutTime?: number | undefined;
10
+ autoFocus?: boolean | undefined;
11
+ focusLock?: boolean | undefined;
12
+ 'data-baseweb'?: string | undefined;
13
+ id?: string | undefined;
14
+ ignoreBoundary?: boolean | undefined;
15
+ mountNode?: HTMLElement | undefined;
16
+ onBlur?: ((e: React.FocusEvent<Element, Element>) => unknown) | undefined;
17
+ onClick?: ((e: React.SyntheticEvent<Element, Event>) => unknown) | undefined;
18
+ onFocus?: ((e: React.FocusEvent<Element, Element>) => unknown) | undefined;
19
+ focusOptions?: FocusOptions | undefined;
20
+ onMouseEnter?: ((e: React.MouseEvent<Element, MouseEvent>) => unknown) | undefined;
21
+ onMouseEnterDelay?: number | undefined;
22
+ onMouseLeave?: ((e: React.MouseEvent<Element, MouseEvent>) => unknown) | undefined;
23
+ onMouseLeaveDelay?: number | undefined;
24
+ overrides?: import("baseui/popover").PopoverOverrides | undefined;
25
+ placement?: "auto" | "bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "rightTop" | "rightBottom" | "bottomRight" | "bottomLeft" | "leftBottom" | "leftTop" | undefined;
26
+ popperOptions?: any;
27
+ renderAll?: boolean | undefined;
28
+ returnFocus?: boolean | FocusOptions | ((returnTo: Element) => boolean | FocusOptions) | undefined;
29
+ triggerType?: "hover" | "click" | undefined;
30
+ popoverMargin?: number | undefined;
31
+ };
7
32
  };
8
33
  export default StatefulContainer;
@@ -1,8 +1,34 @@
1
+ import * as React from 'react';
1
2
  import { ReactElement } from 'react';
2
3
  import { StatefulTooltipProps } from './types';
3
4
  declare const StatefulTooltip: {
4
5
  (props: StatefulTooltipProps): ReactElement;
5
6
  displayName: string;
6
- defaultProps: any;
7
+ defaultProps: {
8
+ showArrow: boolean;
9
+ focusLock: boolean;
10
+ returnFocus: boolean;
11
+ accessibilityType?: "none" | "menu" | "tooltip" | undefined;
12
+ animateOutTime?: number | undefined;
13
+ autoFocus?: boolean | undefined;
14
+ 'data-baseweb'?: string | undefined;
15
+ id?: string | undefined;
16
+ ignoreBoundary?: boolean | undefined;
17
+ mountNode?: HTMLElement | undefined;
18
+ onBlur?: ((e: React.FocusEvent<Element, Element>) => unknown) | undefined;
19
+ onClick?: ((e: React.SyntheticEvent<Element, Event>) => unknown) | undefined;
20
+ onFocus?: ((e: React.FocusEvent<Element, Element>) => unknown) | undefined;
21
+ focusOptions?: FocusOptions | undefined;
22
+ onMouseEnter?: ((e: React.MouseEvent<Element, MouseEvent>) => unknown) | undefined;
23
+ onMouseEnterDelay?: number | undefined;
24
+ onMouseLeave?: ((e: React.MouseEvent<Element, MouseEvent>) => unknown) | undefined;
25
+ onMouseLeaveDelay?: number | undefined;
26
+ overrides?: import("baseui/popover").PopoverOverrides | undefined;
27
+ placement?: "auto" | "bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "rightTop" | "rightBottom" | "bottomRight" | "bottomLeft" | "leftBottom" | "leftTop" | undefined;
28
+ popperOptions?: any;
29
+ renderAll?: boolean | undefined;
30
+ triggerType?: "hover" | "click" | undefined;
31
+ popoverMargin?: number | undefined;
32
+ };
7
33
  };
8
34
  export default StatefulTooltip;
@@ -7,7 +7,7 @@ import Tooltip from './tooltip';
7
7
  var StatefulTooltip = function (props) {
8
8
  var children = props.children, size = props.size, label = props.label, _a = props.overrides, overrides = _a === void 0 ? {} : _a, restProps = __rest(props, ["children", "size", "label", "overrides"]);
9
9
  var _overrides = useConvertOverrides(overrides, undefined, [overrides]);
10
- return (_jsx(StatefulContainer, __assign({}, restProps, { overrides: _overrides }, { children: function (tooltipProps) { return (_jsx(Tooltip, __assign({}, tooltipProps, { size: size, label: label }, { children: children }), void 0)); } }), void 0));
10
+ return (_jsx(StatefulContainer, __assign({ dismissOnClickOutside: true, dismissOnEsc: true, triggerType: "hover" }, restProps, { overrides: _overrides }, { children: function (tooltipProps) { return (_jsx(Tooltip, __assign({}, tooltipProps, { size: size, label: label }, { children: children }), void 0)); } }), void 0));
11
11
  };
12
12
  StatefulTooltip.displayName = 'StatefulTooltip';
13
13
  StatefulTooltip.defaultProps = __assign(__assign({}, defaultProps), { showArrow: true, focusLock: false, returnFocus: false });
@@ -1,7 +1,7 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { TooltipProps } from './types';
3
3
  declare const Tooltip: {
4
- ({ size, label, content, overrides, children, targetElement, isOpen, triggerType, returnFocus, focusLock, ...restProps }: TooltipProps): ReactElement;
4
+ ({ size, label, content, overrides, children, targetElement, isOpen, triggerType, returnFocus, focusLock, placement, ...restProps }: TooltipProps): ReactElement;
5
5
  displayName: string;
6
6
  };
7
7
  export default Tooltip;
@@ -19,10 +19,10 @@ var DISABLED_FOCUS_PROPS = {
19
19
  // @ts-ignore
20
20
  BaseTooltip.displayName = 'BaseUITooltip';
21
21
  var Tooltip = function (_a) {
22
- var _b = _a.size, size = _b === void 0 ? 'sm' : _b, label = _a.label, content = _a.content, _c = _a.overrides, overrides = _c === void 0 ? {} : _c, children = _a.children, targetElement = _a.targetElement, isOpen = _a.isOpen, _d = _a.triggerType, triggerType = _d === void 0 ? 'hover' : _d, _e = _a.returnFocus, returnFocus = _e === void 0 ? triggerType === 'click' : _e, _f = _a.focusLock, focusLock = _f === void 0 ? false : _f, restProps = __rest(_a, ["size", "label", "content", "overrides", "children", "targetElement", "isOpen", "triggerType", "returnFocus", "focusLock"]);
22
+ var _b = _a.size, size = _b === void 0 ? 'sm' : _b, label = _a.label, content = _a.content, _c = _a.overrides, overrides = _c === void 0 ? {} : _c, children = _a.children, targetElement = _a.targetElement, isOpen = _a.isOpen, _d = _a.triggerType, triggerType = _d === void 0 ? 'hover' : _d, _e = _a.returnFocus, returnFocus = _e === void 0 ? triggerType === 'click' : _e, _f = _a.focusLock, focusLock = _f === void 0 ? false : _f, _g = _a.placement, placement = _g === void 0 ? 'auto' : _g, restProps = __rest(_a, ["size", "label", "content", "overrides", "children", "targetElement", "isOpen", "triggerType", "returnFocus", "focusLock", "placement"]);
23
23
  var focusLockProps = useFocusLock({ returnFocus: returnFocus, focusLock: focusLock });
24
24
  var sharedProps = { $size: size, $label: !!label };
25
- var _g = __read(useOverrides(overrides.Label, StyledLabel), 2), Label = _g[0], labelProps = _g[1];
25
+ var _h = __read(useOverrides(overrides.Label, StyledLabel), 2), Label = _h[0], labelProps = _h[1];
26
26
  // add label on top of content
27
27
  var contentToDisplay = [];
28
28
  if (label) {
@@ -33,14 +33,14 @@ var Tooltip = function (_a) {
33
33
  if (typeof children === 'function') {
34
34
  childNode = children({ isOpen: isOpen });
35
35
  }
36
- var _h = useContent({ content: contentToDisplay }), setContentHost = _h.setContentHost, wrappedContent = _h.wrappedContent;
36
+ var _j = useContent({ content: contentToDisplay }), setContentHost = _j.setContentHost, wrappedContent = _j.wrappedContent;
37
37
  var _overrides = useConvertOverrides({
38
38
  Body: { style: getBodyStyle, props: sharedProps },
39
39
  Arrow: { style: getArrowStyle, props: sharedProps },
40
40
  Inner: { style: innerStyles, props: __assign(__assign({}, sharedProps), { ref: setContentHost }) },
41
41
  }, overrides, [overrides, size, label, setContentHost]);
42
42
  var id = useUniqueId();
43
- return (_jsx(LayersManager, __assign({ zIndex: Z_INDEX.POPOVER }, { children: _jsx(BaseTooltip, __assign({ id: id }, restProps, { triggerType: triggerType, isOpen: isOpen, overrides: _overrides, content: wrappedContent }, focusLockProps, (triggerType === 'hover' ? DISABLED_FOCUS_PROPS : {}), { children: _jsx(PopoverChildEnhancer, __assign({ targetElement: targetElement }, { children: childNode }), void 0) }), void 0) }), void 0));
43
+ return (_jsx(LayersManager, __assign({ zIndex: Z_INDEX.POPOVER }, { children: _jsx(BaseTooltip, __assign({ id: id }, restProps, { triggerType: triggerType, isOpen: isOpen, overrides: _overrides, content: wrappedContent, placement: placement }, focusLockProps, (triggerType === 'hover' ? DISABLED_FOCUS_PROPS : {}), { children: _jsx(PopoverChildEnhancer, __assign({ targetElement: targetElement }, { children: childNode }), void 0) }), void 0) }), void 0));
44
44
  };
45
45
  Tooltip.displayName = 'Tooltip';
46
46
  export default Tooltip;
@@ -1,7 +1,9 @@
1
+ import { TetherPlacement } from 'baseui/layer';
1
2
  import { SharedStylePropsArg } from 'baseui/popover';
2
3
  import { StatefulTooltipProps as BaseStatefulTooltipProps, TooltipProps as BaseTooltipProps } from 'baseui/tooltip';
3
4
  import * as React from 'react';
4
5
  import { Override } from '../overrides';
6
+ import { TriggerType } from '../popover';
5
7
  declare type SpacewebSharedProps = {
6
8
  $size: Size;
7
9
  $label: boolean;
@@ -22,7 +24,7 @@ interface DeprecatedProps {
22
24
  */
23
25
  focusLock?: BaseTooltipProps['focusLock'];
24
26
  }
25
- export declare type StatefulTooltipProps = Omit<BaseStatefulTooltipProps, 'overrides' | 'children' | 'autoFocus' | 'focusLock' | 'returnFocus'> & {
27
+ export declare type StatefulTooltipProps = Omit<BaseStatefulTooltipProps, 'overrides' | 'children' | 'autoFocus' | 'focusLock' | 'returnFocus' | 'dismissOnEsc' | 'dismissOnClickOutside' | 'triggerType' | 'placement'> & {
26
28
  overrides?: {
27
29
  [key in keyof BaseStatefulTooltipProps['overrides']]?: Override<SharedProps & Record<string, any>>;
28
30
  } & {
@@ -33,8 +35,12 @@ export declare type StatefulTooltipProps = Omit<BaseStatefulTooltipProps, 'overr
33
35
  children?: React.ReactNode | ((args: {
34
36
  isOpen: boolean;
35
37
  }) => React.ReactNode);
38
+ dismissOnClickOutside?: boolean;
39
+ dismissOnEsc?: boolean;
40
+ triggerType?: TriggerType;
41
+ placement?: TetherPlacement;
36
42
  } & DeprecatedProps;
37
- export declare type TooltipProps = Omit<BaseTooltipProps, 'overrides' | 'children' | 'autoFocus' | 'focusLock' | 'returnFocus'> & {
43
+ export declare type TooltipProps = Omit<BaseTooltipProps, 'overrides' | 'children' | 'autoFocus' | 'focusLock' | 'returnFocus' | 'triggerType' | 'placement'> & {
38
44
  overrides?: {
39
45
  [key in keyof BaseTooltipProps['overrides']]?: Override<SharedProps & Record<string, any>>;
40
46
  } & {
@@ -46,6 +52,8 @@ export declare type TooltipProps = Omit<BaseTooltipProps, 'overrides' | 'childre
46
52
  isOpen: boolean;
47
53
  }) => React.ReactNode);
48
54
  targetElement?: HTMLElement | null;
55
+ triggerType?: TriggerType;
56
+ placement?: TetherPlacement;
49
57
  } & DeprecatedProps;
50
58
  export type { Placement, TriggerType, AccessibilityType } from '../popover';
51
59
  export type { StatefulTooltipContainerProps } from 'baseui/tooltip';
package/esm/types.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { AllHTMLAttributes, ElementType } from 'react';
2
- import { Theme as BaseTheme } from 'baseui/themes';
3
- import { StandardEngine as StyletronStandardEngine, StyleObject as StyletronStyleObject } from 'styletron-react';
2
+ import { Theme as BaseTheme } from 'baseui/theme';
3
+ import { StyleObject as StyletronStyleObject } from 'styletron-react';
4
+ import { StandardEngine as StyletronStandardEngine } from 'styletron-standard';
4
5
  import { Direction, Theme, ThemeClassNames } from '@sprinklrjs/spaceweb-themes/types';
5
6
  export declare type StyleObject = StyletronStyleObject;
6
7
  export declare type StandardEngine = StyletronStandardEngine;
@@ -23,16 +23,18 @@ var Video = forwardRef(function (props, ref) {
23
23
  }, overrides || {});
24
24
  var _c = __read(useOverrides(mergedOverrides.Root, StyledRoot), 2), Root = _c[0], rootProps = _c[1];
25
25
  var _d = __read(useOverrides(mergedOverrides.Video, StyledVideo), 2), Vid = _d[0], videoProps = _d[1];
26
+ var _e = __read(useOverrides(mergedOverrides.PlayButton, Play), 2), PlayButton = _e[0], playButtonProps = _e[1];
27
+ var _f = __read(useOverrides(mergedOverrides.PosterImage, Image), 2), PosterImage = _f[0], posterImageProps = _f[1];
26
28
  var onPlay = videoProps.onPlay;
27
29
  var onClickPlay = useCallback(function (event) {
28
30
  startPlay(true);
29
31
  if (_isFunction(onPlay))
30
32
  onPlay(event);
31
33
  }, [onPlay]);
32
- return played || !videoProps.poster ? (_jsx(Root, __assign({ "data-spaceweb": "video" }, rootProps, { children: _jsx(Vid, __assign({ ref: ref, "data-testid": "video" }, videoProps, { autoPlay: played }, { children: children }), void 0) }), void 0)) : (_jsxs(Root, __assign({ "data-spaceweb": "video" }, rootProps, { className: "flex items-center relative justify-center ".concat(classNames({ 'cursor-pointer': !videoProps.disabled })) }, { children: [_jsx(Image, __assign({}, videoProps, { src: videoProps.poster, alt: "Thumbnail", overrides: {
34
+ return played || !videoProps.poster ? (_jsx(Root, __assign({ "data-spaceweb": "video" }, rootProps, { children: _jsx(Vid, __assign({ ref: ref, "data-testid": "video" }, videoProps, { autoPlay: played }, { children: children }), void 0) }), void 0)) : (_jsxs(Root, __assign({ "data-spaceweb": "video" }, rootProps, { className: "flex items-center relative justify-center ".concat(classNames({ 'cursor-pointer': !videoProps.disabled })) }, { children: [_jsx(PosterImage, __assign({}, videoProps, { src: videoProps.poster, alt: "Thumbnail", overrides: {
33
35
  Image: { style: videoProps.$style },
34
36
  Root: { style: rootProps.$style },
35
- }, onClick: videoProps.disabled ? _noop : onClickPlay }), void 0), _jsx("div", __assign({ className: css('absolute') }, { children: videoProps.disabled ? (_jsx(VideoDisabled, { className: "w-8 h-8 cursor-not-allowed spr-icon-05" }, void 0)) : (_jsx(Play, { className: "w-8 h-8 spr-icon-05", onClick: onClickPlay }, void 0)) }), void 0)] }), void 0));
37
+ }, onClick: videoProps.disabled ? _noop : onClickPlay }, posterImageProps), void 0), _jsx("div", __assign({ className: css('absolute') }, { children: videoProps.disabled ? (_jsx(VideoDisabled, { className: "w-8 h-8 cursor-not-allowed spr-icon-05" }, void 0)) : (_jsx(PlayButton, __assign({ className: "w-8 h-8 spr-icon-05", onClick: onClickPlay }, playButtonProps), void 0)) }), void 0)] }), void 0));
36
38
  });
37
39
  Video.displayName = 'Video';
38
40
  export default Video;
@@ -5,6 +5,8 @@ import { SpacewebComponentProps } from '../types';
5
5
  export declare type VideoOverrides = {
6
6
  Root?: Override<{}>;
7
7
  Video?: Override<{}>;
8
+ PlayButton?: Override<{}>;
9
+ PosterImage?: Override<{}>;
8
10
  };
9
11
  export declare type VideoProps = SpacewebComponentProps<React.VideoHTMLAttributes<HTMLVideoElement>> & {
10
12
  children?: ReactChildren;