@sprinklrjs/spaceweb 11.0.0 → 12.14.4

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 (648) hide show
  1. package/allComponentsAndUtilities.d.ts +1 -0
  2. package/allComponentsAndUtilities.js +2 -1
  3. package/asyncSelect/asyncSelect.d.ts +4 -2
  4. package/asyncSelect/asyncSelect.js +43 -108
  5. package/asyncSelect/groupedAsyncSelect.d.ts +5 -0
  6. package/asyncSelect/groupedAsyncSelect.js +41 -0
  7. package/asyncSelect/helpers.d.ts +8 -2
  8. package/asyncSelect/helpers.js +35 -4
  9. package/asyncSelect/hooks/useAsyncOptionHandlers.d.ts +16 -11
  10. package/asyncSelect/hooks/useAsyncOptionHandlers.js +73 -26
  11. package/asyncSelect/hooks/useAsyncSelect.d.ts +10 -0
  12. package/asyncSelect/hooks/useAsyncSelect.js +182 -0
  13. package/asyncSelect/hooks/useResolveSelectedOptions.d.ts +10 -7
  14. package/asyncSelect/hooks/useResolveSelectedOptions.js +59 -47
  15. package/asyncSelect/index.d.ts +4 -1
  16. package/asyncSelect/index.js +8 -0
  17. package/asyncSelect/types.d.ts +61 -9
  18. package/avatar/avatar.js +12 -2
  19. package/avatar/styled-component.js +7 -22
  20. package/badge/styled-component.js +10 -8
  21. package/banner/banner.js +1 -1
  22. package/breadcrumb/breadcrumb-item.d.ts +7 -0
  23. package/breadcrumb/breadcrumb-item.js +41 -0
  24. package/breadcrumb/breadcrumb.d.ts +7 -0
  25. package/breadcrumb/breadcrumb.js +29 -0
  26. package/breadcrumb/index.d.ts +4 -0
  27. package/breadcrumb/index.js +17 -0
  28. package/breadcrumb/package.json +4 -0
  29. package/breadcrumb/styled-components.d.ts +7 -0
  30. package/breadcrumb/styled-components.js +19 -0
  31. package/breadcrumb/types.d.ts +38 -0
  32. package/breadcrumb/types.js +2 -0
  33. package/button/Button.d.ts +2 -0
  34. package/button/Button.js +13 -1
  35. package/button/IconButton/IconButton.d.ts +2 -4
  36. package/button/IconButton/IconButton.js +5 -2
  37. package/button/IconButton/types.d.ts +10 -1
  38. package/button/basewebAdapter.d.ts +3 -1
  39. package/button/styled-components.js +30 -25
  40. package/button/types.d.ts +3 -0
  41. package/button-group/ButtonGroup.d.ts +1 -0
  42. package/button-group/ButtonGroup.js +9 -5
  43. package/button-group/StatefulButtonGroup.d.ts +1 -0
  44. package/button-group/styled-components.d.ts +34 -0
  45. package/button-group/styled-components.js +57 -9
  46. package/button-group/types.d.ts +2 -0
  47. package/checkbox/basewebAdapters.js +6 -1
  48. package/color-picker/ColorPalette.d.ts +9 -0
  49. package/color-picker/ColorPalette.js +26 -0
  50. package/color-picker/ColorPicker.d.ts +3 -0
  51. package/color-picker/ColorPicker.js +35 -0
  52. package/color-picker/Swatch.d.ts +12 -0
  53. package/color-picker/Swatch.js +40 -0
  54. package/color-picker/colors.d.ts +1 -0
  55. package/color-picker/colors.js +109 -0
  56. package/color-picker/getContrastRatio.d.ts +1 -0
  57. package/color-picker/getContrastRatio.js +23 -0
  58. package/color-picker/index.d.ts +3 -0
  59. package/color-picker/index.js +7 -0
  60. package/color-picker/locale.d.ts +3 -0
  61. package/color-picker/locale.js +2 -0
  62. package/color-picker/package.json +4 -0
  63. package/color-picker/styled-component.d.ts +1 -0
  64. package/color-picker/styled-component.js +5 -0
  65. package/color-picker/types.d.ts +15 -0
  66. package/color-picker/types.js +2 -0
  67. package/currency/Currency.d.ts +3 -0
  68. package/currency/Currency.js +14 -0
  69. package/currency/constants.d.ts +3 -0
  70. package/currency/constants.js +8 -0
  71. package/currency/index.d.ts +5 -0
  72. package/currency/index.js +12 -0
  73. package/currency/package.json +4 -0
  74. package/currency/types.d.ts +7 -0
  75. package/currency/types.js +2 -0
  76. package/currency/useCurrency.d.ts +2 -0
  77. package/currency/useCurrency.js +12 -0
  78. package/currency/utils.d.ts +8 -0
  79. package/currency/utils.js +11 -0
  80. package/date-input/Before.d.ts +4 -2
  81. package/date-input/Before.js +4 -4
  82. package/date-input/CalendarIconButton.js +7 -1
  83. package/date-input/DateInput.d.ts +1 -1
  84. package/date-input/DateInput.js +46 -25
  85. package/date-input/styled-components.d.ts +2 -2
  86. package/date-input/styled-components.js +10 -8
  87. package/date-input/types.d.ts +4 -2
  88. package/date-picker/Calendar.js +5 -3
  89. package/date-picker/DateInput.js +16 -14
  90. package/date-picker/DatePickerContent.d.ts +9 -3
  91. package/date-picker/DatePickerContent.js +59 -8
  92. package/date-picker/DatePickerInput.js +9 -6
  93. package/date-picker/StatelessDatePicker.js +35 -16
  94. package/date-picker/locale.d.ts +2 -0
  95. package/date-picker/stateful-container.js +11 -8
  96. package/date-picker/styled-components.js +53 -3
  97. package/date-picker/types.d.ts +10 -1
  98. package/date-picker/utils.d.ts +3 -1
  99. package/date-picker/utils.js +8 -3
  100. package/date-time/DateTime.d.ts +3 -0
  101. package/date-time/DateTime.js +12 -0
  102. package/date-time/index.d.ts +3 -0
  103. package/date-time/index.js +9 -0
  104. package/date-time/package.json +4 -0
  105. package/date-time/types.d.ts +21 -0
  106. package/date-time/types.js +18 -0
  107. package/date-time/useDateTime.d.ts +2 -0
  108. package/date-time/useDateTime.js +13 -0
  109. package/date-time/variants.d.ts +4 -0
  110. package/date-time/variants.js +87 -0
  111. package/esm/allComponentsAndUtilities.d.ts +1 -0
  112. package/esm/allComponentsAndUtilities.js +2 -0
  113. package/esm/asyncSelect/asyncSelect.d.ts +4 -2
  114. package/esm/asyncSelect/asyncSelect.js +46 -111
  115. package/esm/asyncSelect/groupedAsyncSelect.d.ts +5 -0
  116. package/esm/asyncSelect/groupedAsyncSelect.js +37 -0
  117. package/esm/asyncSelect/helpers.d.ts +8 -2
  118. package/esm/asyncSelect/helpers.js +31 -3
  119. package/esm/asyncSelect/hooks/useAsyncOptionHandlers.d.ts +16 -11
  120. package/esm/asyncSelect/hooks/useAsyncOptionHandlers.js +76 -29
  121. package/esm/asyncSelect/hooks/useAsyncSelect.d.ts +10 -0
  122. package/esm/asyncSelect/hooks/useAsyncSelect.js +178 -0
  123. package/esm/asyncSelect/hooks/useResolveSelectedOptions.d.ts +10 -7
  124. package/esm/asyncSelect/hooks/useResolveSelectedOptions.js +62 -50
  125. package/esm/asyncSelect/index.d.ts +4 -1
  126. package/esm/asyncSelect/index.js +3 -0
  127. package/esm/asyncSelect/types.d.ts +61 -9
  128. package/esm/avatar/avatar.js +12 -2
  129. package/esm/avatar/styled-component.js +7 -22
  130. package/esm/badge/styled-component.js +10 -8
  131. package/esm/banner/banner.js +1 -1
  132. package/esm/breadcrumb/breadcrumb-item.d.ts +7 -0
  133. package/esm/breadcrumb/breadcrumb-item.js +39 -0
  134. package/esm/breadcrumb/breadcrumb.d.ts +7 -0
  135. package/esm/breadcrumb/breadcrumb.js +27 -0
  136. package/esm/breadcrumb/index.d.ts +4 -0
  137. package/esm/breadcrumb/index.js +3 -0
  138. package/esm/breadcrumb/styled-components.d.ts +7 -0
  139. package/esm/breadcrumb/styled-components.js +15 -0
  140. package/esm/breadcrumb/types.d.ts +38 -0
  141. package/esm/breadcrumb/types.js +1 -0
  142. package/esm/button/Button.d.ts +2 -0
  143. package/esm/button/Button.js +13 -1
  144. package/esm/button/IconButton/IconButton.d.ts +2 -4
  145. package/esm/button/IconButton/IconButton.js +5 -2
  146. package/esm/button/IconButton/types.d.ts +10 -1
  147. package/esm/button/basewebAdapter.d.ts +3 -1
  148. package/esm/button/styled-components.js +30 -25
  149. package/esm/button/types.d.ts +3 -0
  150. package/esm/button-group/ButtonGroup.d.ts +1 -0
  151. package/esm/button-group/ButtonGroup.js +9 -5
  152. package/esm/button-group/StatefulButtonGroup.d.ts +1 -0
  153. package/esm/button-group/styled-components.d.ts +34 -0
  154. package/esm/button-group/styled-components.js +55 -8
  155. package/esm/button-group/types.d.ts +2 -0
  156. package/esm/checkbox/basewebAdapters.js +6 -1
  157. package/esm/color-picker/ColorPalette.d.ts +9 -0
  158. package/esm/color-picker/ColorPalette.js +22 -0
  159. package/esm/color-picker/ColorPicker.d.ts +3 -0
  160. package/esm/color-picker/ColorPicker.js +31 -0
  161. package/esm/color-picker/Swatch.d.ts +12 -0
  162. package/esm/color-picker/Swatch.js +37 -0
  163. package/esm/color-picker/colors.d.ts +1 -0
  164. package/esm/color-picker/colors.js +106 -0
  165. package/esm/color-picker/getContrastRatio.d.ts +1 -0
  166. package/esm/color-picker/getContrastRatio.js +19 -0
  167. package/esm/color-picker/index.d.ts +3 -0
  168. package/esm/color-picker/index.js +2 -0
  169. package/esm/color-picker/locale.d.ts +3 -0
  170. package/esm/color-picker/locale.js +1 -0
  171. package/esm/color-picker/styled-component.d.ts +1 -0
  172. package/esm/color-picker/styled-component.js +2 -0
  173. package/esm/color-picker/types.d.ts +15 -0
  174. package/esm/color-picker/types.js +1 -0
  175. package/esm/currency/Currency.d.ts +3 -0
  176. package/esm/currency/Currency.js +10 -0
  177. package/esm/currency/constants.d.ts +3 -0
  178. package/esm/currency/constants.js +5 -0
  179. package/esm/currency/index.d.ts +5 -0
  180. package/esm/currency/index.js +5 -0
  181. package/esm/currency/types.d.ts +7 -0
  182. package/esm/currency/types.js +1 -0
  183. package/esm/currency/useCurrency.d.ts +2 -0
  184. package/esm/currency/useCurrency.js +8 -0
  185. package/esm/currency/utils.d.ts +8 -0
  186. package/esm/currency/utils.js +7 -0
  187. package/esm/date-input/Before.d.ts +4 -2
  188. package/esm/date-input/Before.js +4 -4
  189. package/esm/date-input/CalendarIconButton.js +7 -1
  190. package/esm/date-input/DateInput.d.ts +1 -1
  191. package/esm/date-input/DateInput.js +47 -26
  192. package/esm/date-input/styled-components.d.ts +2 -2
  193. package/esm/date-input/styled-components.js +10 -7
  194. package/esm/date-input/types.d.ts +4 -2
  195. package/esm/date-picker/Calendar.js +5 -3
  196. package/esm/date-picker/DateInput.js +17 -15
  197. package/esm/date-picker/DatePickerContent.d.ts +9 -3
  198. package/esm/date-picker/DatePickerContent.js +60 -9
  199. package/esm/date-picker/DatePickerInput.js +9 -6
  200. package/esm/date-picker/StatelessDatePicker.js +35 -16
  201. package/esm/date-picker/locale.d.ts +2 -0
  202. package/esm/date-picker/stateful-container.js +11 -8
  203. package/esm/date-picker/styled-components.js +53 -3
  204. package/esm/date-picker/types.d.ts +10 -1
  205. package/esm/date-picker/utils.d.ts +3 -1
  206. package/esm/date-picker/utils.js +9 -4
  207. package/esm/date-time/DateTime.d.ts +3 -0
  208. package/esm/date-time/DateTime.js +8 -0
  209. package/esm/date-time/index.d.ts +3 -0
  210. package/esm/date-time/index.js +3 -0
  211. package/esm/date-time/types.d.ts +21 -0
  212. package/esm/date-time/types.js +15 -0
  213. package/esm/date-time/useDateTime.d.ts +2 -0
  214. package/esm/date-time/useDateTime.js +9 -0
  215. package/esm/date-time/variants.d.ts +4 -0
  216. package/esm/date-time/variants.js +84 -0
  217. package/esm/form-control/form-control.d.ts +1 -1
  218. package/esm/form-control/form-control.js +17 -12
  219. package/esm/form-control/styled-component.js +17 -6
  220. package/esm/helpers/ClearIconButton.js +3 -1
  221. package/esm/helpers/StyledTombstone.d.ts +1 -0
  222. package/esm/helpers/StyledTombstone.js +17 -0
  223. package/esm/helpers/baseui/useConvertOverrides.js +6 -1
  224. package/esm/helpers/commonStyles.js +3 -6
  225. package/esm/helpers/index.d.ts +1 -0
  226. package/esm/helpers/index.js +8 -0
  227. package/esm/helpers/themeHelpers.d.ts +1 -0
  228. package/esm/helpers/themeHelpers.js +13 -0
  229. package/esm/hooks/useAutoFocus.js +6 -0
  230. package/esm/hooks/useMatchMedia.js +13 -2
  231. package/esm/icon/components/alert-solid.js +2 -0
  232. package/esm/icon/components/alert.js +2 -0
  233. package/esm/icon/components/calendar-solid.js +2 -0
  234. package/esm/icon/components/chevron-down.js +2 -0
  235. package/esm/icon/components/chevron-left.d.ts +3 -0
  236. package/esm/icon/components/chevron-left.js +8 -0
  237. package/esm/icon/components/chevron-right.d.ts +3 -0
  238. package/esm/icon/components/chevron-right.js +8 -0
  239. package/esm/icon/components/close.js +2 -0
  240. package/esm/icon/components/error-clr.js +2 -0
  241. package/esm/icon/components/error-solid.js +2 -0
  242. package/esm/icon/components/error.js +2 -0
  243. package/esm/icon/components/imagePreview.js +2 -0
  244. package/esm/icon/components/info.js +2 -0
  245. package/esm/icon/components/play-video.js +2 -0
  246. package/esm/icon/components/reset-color.d.ts +3 -0
  247. package/esm/icon/components/reset-color.js +8 -0
  248. package/esm/icon/components/search.js +2 -0
  249. package/esm/icon/components/tick.js +2 -0
  250. package/esm/icon/components/tickCircle-solid.js +2 -0
  251. package/esm/icon/components/user.js +2 -0
  252. package/esm/icon/components/video-non-playable.js +2 -0
  253. package/esm/index.d.ts +2 -0
  254. package/esm/index.js +2 -0
  255. package/esm/input/basewebAdapters.js +18 -3
  256. package/esm/input/styled-components.js +8 -6
  257. package/esm/input/types.d.ts +4 -1
  258. package/esm/layer/useLayersContextValue.js +3 -2
  259. package/esm/list/avatar-list-item.d.ts +12 -22
  260. package/esm/list/avatar-list-item.js +6 -4
  261. package/esm/list/index.d.ts +1 -1
  262. package/esm/list/index.js +1 -1
  263. package/esm/list/list-item.d.ts +3 -1
  264. package/esm/list/list-item.js +9 -6
  265. package/esm/list/styled-component.d.ts +1 -0
  266. package/esm/list/styled-component.js +23 -15
  267. package/esm/list/types.d.ts +3 -0
  268. package/esm/locale/en_US.js +26 -0
  269. package/esm/locale/types.d.ts +19 -0
  270. package/esm/menu/MenuContext.d.ts +2 -1
  271. package/esm/menu/MenuContext.js +1 -0
  272. package/esm/menu/menu-item.d.ts +4 -1
  273. package/esm/menu/menu-item.js +11 -11
  274. package/esm/menu/menu.d.ts +1 -0
  275. package/esm/menu/menu.js +11 -11
  276. package/esm/menu/types.d.ts +1 -0
  277. package/esm/menu/useKeyboardNavigation.d.ts +6 -3
  278. package/esm/menu/useKeyboardNavigation.js +21 -14
  279. package/esm/menu/useStatefulMenu.d.ts +5 -2
  280. package/esm/menu/useStatefulMenu.js +14 -8
  281. package/esm/modal/modal.js +3 -1
  282. package/esm/modal/overrides.d.ts +2 -2
  283. package/esm/modal/overrides.js +6 -7
  284. package/esm/modal/styled-components.js +7 -7
  285. package/esm/number/Number.d.ts +3 -0
  286. package/esm/number/Number.js +10 -0
  287. package/esm/number/constants.d.ts +2 -0
  288. package/esm/number/constants.js +4 -0
  289. package/esm/number/index.d.ts +5 -0
  290. package/esm/number/index.js +5 -0
  291. package/esm/number/types.d.ts +6 -0
  292. package/esm/number/types.js +1 -0
  293. package/esm/number/useNumber.d.ts +2 -0
  294. package/esm/number/useNumber.js +8 -0
  295. package/esm/overrides/index.d.ts +1 -1
  296. package/esm/overrides/index.js +1 -1
  297. package/esm/overrides/mergeOverrides.d.ts +3 -2
  298. package/esm/overrides/mergeOverrides.js +1 -1
  299. package/esm/payment-card/basewebAdapters.d.ts +2 -0
  300. package/esm/payment-card/basewebAdapters.js +23 -1
  301. package/esm/payment-card/styled-components.js +25 -6
  302. package/esm/phone-input/country-select-container.js +1 -1
  303. package/esm/phone-input/country-select.js +3 -3
  304. package/esm/phone-input/default-props.d.ts +5 -5
  305. package/esm/phone-input/default-props.js +7 -7
  306. package/esm/phone-input/flag-container.js +1 -1
  307. package/esm/phone-input/phone-input.d.ts +0 -4
  308. package/esm/phone-input/phone-input.js +20 -12
  309. package/esm/phone-input/stateful-phone-input-container.js +4 -3
  310. package/esm/phone-input/stateful-phone-input.d.ts +0 -4
  311. package/esm/phone-input/styled-components.d.ts +9 -1
  312. package/esm/phone-input/styled-components.js +21 -7
  313. package/esm/phone-input/types.d.ts +2 -1
  314. package/esm/phone-input/utils.d.ts +5 -1
  315. package/esm/phone-input/utils.js +6 -1
  316. package/esm/popover/adapter.d.ts +1 -0
  317. package/esm/popover/adapter.js +15 -0
  318. package/esm/popover/overrides.js +8 -19
  319. package/esm/popover/popover.d.ts +1 -0
  320. package/esm/popover/popover.js +9 -4
  321. package/esm/popover/stateful-popover.js +2 -2
  322. package/esm/popover/types.d.ts +3 -0
  323. package/esm/popover/utils.d.ts +12 -0
  324. package/esm/popover/utils.js +9 -0
  325. package/esm/progress/linear/styled-component.d.ts +1 -1
  326. package/esm/progress/linear/styled-component.js +5 -5
  327. package/esm/radio/styled-components.js +5 -5
  328. package/esm/search/index.d.ts +1 -0
  329. package/esm/search/index.js +1 -0
  330. package/esm/search/search.d.ts +1 -1
  331. package/esm/search/search.js +15 -6
  332. package/esm/search/stateful-search.d.ts +3 -0
  333. package/esm/search/stateful-search.js +15 -0
  334. package/esm/search/styled-components.d.ts +1 -10
  335. package/esm/search/styled-components.js +54 -24
  336. package/esm/search/types.d.ts +8 -2
  337. package/esm/select/base-select.d.ts +22 -5
  338. package/esm/select/base-select.js +174 -82
  339. package/esm/select/constants.d.ts +3 -0
  340. package/esm/select/constants.js +3 -1
  341. package/esm/select/default-props.d.ts +1 -0
  342. package/esm/select/default-props.js +3 -0
  343. package/esm/select/index.d.ts +2 -2
  344. package/esm/select/index.js +2 -2
  345. package/esm/select/locale.d.ts +4 -0
  346. package/esm/select/mobileSelect/MobileSheet.js +3 -1
  347. package/esm/select/multi-value.js +22 -12
  348. package/esm/select/overlaySelect/OverlaySelect.js +1 -0
  349. package/esm/select/overlaySelect/hooks/useOverlaySelectOverrides.d.ts +2 -1
  350. package/esm/select/overlaySelect/hooks/useOverlaySelectOverrides.js +13 -16
  351. package/esm/select/overrides.d.ts +3 -0
  352. package/esm/select/overrides.js +19 -6
  353. package/esm/select/select.d.ts +1 -0
  354. package/esm/select/select.js +9 -3
  355. package/esm/select/selectMenuAdapter/CollapsibleSelectMenu.d.ts +118 -0
  356. package/esm/select/selectMenuAdapter/CollapsibleSelectMenu.js +70 -0
  357. package/esm/select/selectMenuAdapter/SelectMenuAdapter.d.ts +2 -34
  358. package/esm/select/selectMenuAdapter/SelectMenuAdapter.js +3 -3
  359. package/esm/select/selectMenuAdapter/SelectMenuItem.d.ts +4 -1
  360. package/esm/select/selectMenuAdapter/hooks/useGetExpandedGroup.d.ts +6 -0
  361. package/esm/select/selectMenuAdapter/hooks/useGetExpandedGroup.js +16 -0
  362. package/esm/select/selectMenuAdapter/types.d.ts +42 -0
  363. package/esm/select/selectMenuAdapter/types.js +1 -0
  364. package/esm/select/stateful-select.d.ts +1 -0
  365. package/esm/select/styled-component.d.ts +10 -1
  366. package/esm/select/styled-component.js +39 -15
  367. package/esm/select/types.d.ts +23 -1
  368. package/esm/select/types.js +1 -0
  369. package/esm/select/utils/default-filter-options.d.ts +2 -1
  370. package/esm/select/utils/default-filter-options.js +5 -1
  371. package/esm/select/utils/hidden-element.d.ts +6 -0
  372. package/esm/select/utils/hidden-element.js +16 -0
  373. package/esm/select/utils/merge-options.d.ts +2 -0
  374. package/esm/select/utils/merge-options.js +18 -0
  375. package/esm/select/utils/test-utils.d.ts +1 -0
  376. package/esm/select/utils/test-utils.js +7 -0
  377. package/esm/slider/styled-components.js +4 -4
  378. package/esm/snackbar/Snackbar.js +12 -12
  379. package/esm/snackbar/styled-component.js +9 -6
  380. package/esm/spacewebProvider/SpacewebProvider.d.ts +2 -0
  381. package/esm/spacewebProvider/SpacewebProvider.js +9 -9
  382. package/esm/stack/stack.js +6 -13
  383. package/esm/style/_buildUtils.d.ts +1 -1
  384. package/esm/style/_buildUtils.js +3 -1
  385. package/esm/style/_parseStyle.js +7 -2
  386. package/esm/style/useMemoizedStyletron.js +6 -1
  387. package/esm/switch/styled-components.js +3 -3
  388. package/esm/tag/avatar-tag.js +23 -16
  389. package/esm/tag/styled-components.js +32 -27
  390. package/esm/tag/tag.js +20 -12
  391. package/esm/tag/types.d.ts +2 -2
  392. package/esm/tag/utils.d.ts +50 -0
  393. package/esm/tag/utils.js +64 -0
  394. package/esm/textarea/basewebAdapters.js +3 -3
  395. package/esm/textarea/textarea.js +3 -3
  396. package/esm/textarea/types.d.ts +2 -2
  397. package/esm/theme/Provider.d.ts +10 -0
  398. package/esm/theme/Provider.js +61 -0
  399. package/esm/theme/context.d.ts +1 -10
  400. package/esm/theme/context.js +1 -61
  401. package/esm/theme/index.d.ts +1 -0
  402. package/esm/theme/index.js +1 -0
  403. package/esm/time-picker/TimePicker.js +4 -1
  404. package/esm/time-range-picker/RangeSelectorContainer.js +1 -1
  405. package/esm/time-range-picker/TimeRangePicker.js +20 -12
  406. package/esm/time-range-picker/index.d.ts +1 -1
  407. package/esm/time-range-picker/index.js +1 -1
  408. package/esm/time-range-picker/types.d.ts +1 -2
  409. package/esm/time-range-picker/utils.d.ts +33 -4
  410. package/esm/time-range-picker/utils.js +49 -15
  411. package/esm/time-zone-picker/types.d.ts +2 -0
  412. package/esm/tooltip/overrides.js +0 -1
  413. package/esm/tooltip/stateful-tooltip.js +2 -2
  414. package/esm/tooltip/tooltip.d.ts +1 -1
  415. package/esm/tooltip/tooltip.js +5 -2
  416. package/esm/tooltip/types.d.ts +2 -0
  417. package/esm/types.d.ts +2 -1
  418. package/esm/typography/Typography.js +14 -1
  419. package/esm/typography/constants.d.ts +56 -0
  420. package/esm/typography/constants.js +56 -0
  421. package/esm/typography/index.d.ts +1 -0
  422. package/esm/typography/index.js +1 -0
  423. package/esm/typography/styled-components.js +12 -4
  424. package/esm/typography/types.d.ts +1 -1
  425. package/esm/utils/intlNumberFormatUtils/index.d.ts +7 -0
  426. package/esm/utils/intlNumberFormatUtils/index.js +36 -0
  427. package/esm/utils/intlNumberFormatUtils/types.d.ts +21 -0
  428. package/esm/utils/intlNumberFormatUtils/types.js +6 -0
  429. package/form-control/form-control.d.ts +1 -1
  430. package/form-control/form-control.js +16 -11
  431. package/form-control/styled-component.js +17 -6
  432. package/helpers/ClearIconButton.js +3 -1
  433. package/helpers/StyledTombstone.d.ts +1 -0
  434. package/helpers/StyledTombstone.js +21 -0
  435. package/helpers/baseui/useConvertOverrides.js +6 -1
  436. package/helpers/commonStyles.js +3 -6
  437. package/helpers/index.d.ts +1 -0
  438. package/helpers/index.js +10 -1
  439. package/helpers/themeHelpers.d.ts +1 -0
  440. package/helpers/themeHelpers.js +15 -1
  441. package/hooks/useAutoFocus.js +6 -0
  442. package/hooks/useMatchMedia.js +13 -2
  443. package/icon/components/alert-solid.js +2 -0
  444. package/icon/components/alert.js +2 -0
  445. package/icon/components/calendar-solid.js +2 -0
  446. package/icon/components/chevron-down.js +2 -0
  447. package/icon/components/chevron-left.d.ts +3 -0
  448. package/icon/components/chevron-left.js +11 -0
  449. package/icon/components/chevron-right.d.ts +3 -0
  450. package/icon/components/chevron-right.js +11 -0
  451. package/icon/components/close.js +2 -0
  452. package/icon/components/error-clr.js +2 -0
  453. package/icon/components/error-solid.js +2 -0
  454. package/icon/components/error.js +2 -0
  455. package/icon/components/imagePreview.js +2 -0
  456. package/icon/components/info.js +2 -0
  457. package/icon/components/play-video.js +2 -0
  458. package/icon/components/reset-color.d.ts +3 -0
  459. package/icon/components/reset-color.js +11 -0
  460. package/icon/components/search.js +2 -0
  461. package/icon/components/tick.js +2 -0
  462. package/icon/components/tickCircle-solid.js +2 -0
  463. package/icon/components/user.js +2 -0
  464. package/icon/components/video-non-playable.js +2 -0
  465. package/index.d.ts +2 -0
  466. package/index.js +3 -0
  467. package/input/basewebAdapters.js +18 -3
  468. package/input/styled-components.js +7 -5
  469. package/input/types.d.ts +4 -1
  470. package/layer/useLayersContextValue.js +2 -1
  471. package/list/avatar-list-item.d.ts +12 -22
  472. package/list/avatar-list-item.js +5 -3
  473. package/list/index.d.ts +1 -1
  474. package/list/index.js +2 -1
  475. package/list/list-item.d.ts +3 -1
  476. package/list/list-item.js +9 -6
  477. package/list/styled-component.d.ts +1 -0
  478. package/list/styled-component.js +24 -16
  479. package/list/types.d.ts +3 -0
  480. package/locale/en_US.js +26 -0
  481. package/locale/types.d.ts +19 -0
  482. package/menu/MenuContext.d.ts +2 -1
  483. package/menu/MenuContext.js +1 -0
  484. package/menu/menu-item.d.ts +4 -1
  485. package/menu/menu-item.js +11 -11
  486. package/menu/menu.d.ts +1 -0
  487. package/menu/menu.js +11 -11
  488. package/menu/types.d.ts +1 -0
  489. package/menu/useKeyboardNavigation.d.ts +6 -3
  490. package/menu/useKeyboardNavigation.js +21 -14
  491. package/menu/useStatefulMenu.d.ts +5 -2
  492. package/menu/useStatefulMenu.js +14 -8
  493. package/modal/modal.js +3 -1
  494. package/modal/overrides.d.ts +2 -2
  495. package/modal/overrides.js +6 -7
  496. package/modal/styled-components.js +7 -7
  497. package/number/Number.d.ts +3 -0
  498. package/number/Number.js +14 -0
  499. package/number/constants.d.ts +2 -0
  500. package/number/constants.js +7 -0
  501. package/number/index.d.ts +5 -0
  502. package/number/index.js +12 -0
  503. package/number/package.json +4 -0
  504. package/number/types.d.ts +6 -0
  505. package/number/types.js +2 -0
  506. package/number/useNumber.d.ts +2 -0
  507. package/number/useNumber.js +12 -0
  508. package/overrides/index.d.ts +1 -1
  509. package/overrides/index.js +2 -1
  510. package/overrides/mergeOverrides.d.ts +3 -2
  511. package/overrides/mergeOverrides.js +2 -1
  512. package/package.json +8 -5
  513. package/payment-card/basewebAdapters.d.ts +2 -0
  514. package/payment-card/basewebAdapters.js +23 -1
  515. package/payment-card/styled-components.js +24 -5
  516. package/phone-input/country-select-container.js +1 -1
  517. package/phone-input/country-select.js +3 -3
  518. package/phone-input/default-props.d.ts +5 -5
  519. package/phone-input/default-props.js +8 -7
  520. package/phone-input/flag-container.js +1 -1
  521. package/phone-input/phone-input.d.ts +0 -4
  522. package/phone-input/phone-input.js +19 -11
  523. package/phone-input/stateful-phone-input-container.js +4 -3
  524. package/phone-input/stateful-phone-input.d.ts +0 -4
  525. package/phone-input/styled-components.d.ts +9 -1
  526. package/phone-input/styled-components.js +22 -7
  527. package/phone-input/types.d.ts +2 -1
  528. package/phone-input/utils.d.ts +5 -1
  529. package/phone-input/utils.js +7 -1
  530. package/popover/adapter.d.ts +1 -0
  531. package/popover/adapter.js +16 -1
  532. package/popover/overrides.js +8 -19
  533. package/popover/popover.d.ts +1 -0
  534. package/popover/popover.js +8 -3
  535. package/popover/stateful-popover.js +2 -2
  536. package/popover/types.d.ts +3 -0
  537. package/popover/utils.d.ts +12 -0
  538. package/popover/utils.js +11 -1
  539. package/progress/linear/styled-component.d.ts +1 -1
  540. package/progress/linear/styled-component.js +5 -5
  541. package/radio/styled-components.js +5 -5
  542. package/search/index.d.ts +1 -0
  543. package/search/index.js +3 -1
  544. package/search/search.d.ts +1 -1
  545. package/search/search.js +14 -5
  546. package/search/stateful-search.d.ts +3 -0
  547. package/search/stateful-search.js +19 -0
  548. package/search/styled-components.d.ts +1 -10
  549. package/search/styled-components.js +56 -25
  550. package/search/types.d.ts +8 -2
  551. package/select/base-select.d.ts +22 -5
  552. package/select/base-select.js +172 -80
  553. package/select/constants.d.ts +3 -0
  554. package/select/constants.js +4 -2
  555. package/select/default-props.d.ts +1 -0
  556. package/select/default-props.js +3 -0
  557. package/select/index.d.ts +2 -2
  558. package/select/index.js +4 -1
  559. package/select/locale.d.ts +4 -0
  560. package/select/mobileSelect/MobileSheet.js +3 -1
  561. package/select/multi-value.js +21 -11
  562. package/select/overlaySelect/OverlaySelect.js +1 -0
  563. package/select/overlaySelect/hooks/useOverlaySelectOverrides.d.ts +2 -1
  564. package/select/overlaySelect/hooks/useOverlaySelectOverrides.js +13 -16
  565. package/select/overrides.d.ts +3 -0
  566. package/select/overrides.js +20 -6
  567. package/select/select.d.ts +1 -0
  568. package/select/select.js +9 -3
  569. package/select/selectMenuAdapter/CollapsibleSelectMenu.d.ts +118 -0
  570. package/select/selectMenuAdapter/CollapsibleSelectMenu.js +74 -0
  571. package/select/selectMenuAdapter/SelectMenuAdapter.d.ts +2 -34
  572. package/select/selectMenuAdapter/SelectMenuAdapter.js +3 -3
  573. package/select/selectMenuAdapter/SelectMenuItem.d.ts +4 -1
  574. package/select/selectMenuAdapter/hooks/useGetExpandedGroup.d.ts +6 -0
  575. package/select/selectMenuAdapter/hooks/useGetExpandedGroup.js +20 -0
  576. package/select/selectMenuAdapter/types.d.ts +42 -0
  577. package/select/selectMenuAdapter/types.js +2 -0
  578. package/select/stateful-select.d.ts +1 -0
  579. package/select/styled-component.d.ts +10 -1
  580. package/select/styled-component.js +38 -14
  581. package/select/types.d.ts +23 -1
  582. package/select/types.js +2 -1
  583. package/select/utils/default-filter-options.d.ts +2 -1
  584. package/select/utils/default-filter-options.js +6 -5
  585. package/select/utils/hidden-element.d.ts +6 -0
  586. package/select/utils/hidden-element.js +19 -0
  587. package/select/utils/merge-options.d.ts +2 -0
  588. package/select/utils/merge-options.js +22 -0
  589. package/select/utils/test-utils.d.ts +1 -0
  590. package/select/utils/test-utils.js +11 -0
  591. package/slider/styled-components.js +4 -4
  592. package/snackbar/Snackbar.js +12 -12
  593. package/snackbar/styled-component.js +9 -6
  594. package/spacewebProvider/SpacewebProvider.d.ts +2 -0
  595. package/spacewebProvider/SpacewebProvider.js +8 -8
  596. package/stack/stack.js +6 -13
  597. package/style/_buildUtils.d.ts +1 -1
  598. package/style/_buildUtils.js +3 -1
  599. package/style/_parseStyle.js +7 -2
  600. package/style/useMemoizedStyletron.js +6 -1
  601. package/switch/styled-components.js +3 -3
  602. package/tag/avatar-tag.js +23 -16
  603. package/tag/styled-components.js +32 -27
  604. package/tag/tag.js +19 -11
  605. package/tag/types.d.ts +2 -2
  606. package/tag/utils.d.ts +50 -0
  607. package/tag/utils.js +67 -1
  608. package/textarea/basewebAdapters.js +2 -2
  609. package/textarea/textarea.js +2 -2
  610. package/textarea/types.d.ts +2 -2
  611. package/theme/Provider.d.ts +10 -0
  612. package/theme/Provider.js +65 -0
  613. package/theme/context.d.ts +1 -10
  614. package/theme/context.js +1 -61
  615. package/theme/index.d.ts +1 -0
  616. package/theme/index.js +1 -0
  617. package/time-picker/TimePicker.js +4 -1
  618. package/time-range-picker/RangeSelectorContainer.js +1 -1
  619. package/time-range-picker/TimeRangePicker.js +19 -11
  620. package/time-range-picker/index.d.ts +1 -1
  621. package/time-range-picker/index.js +4 -1
  622. package/time-range-picker/types.d.ts +1 -2
  623. package/time-range-picker/utils.d.ts +33 -4
  624. package/time-range-picker/utils.js +53 -17
  625. package/time-zone-picker/types.d.ts +2 -0
  626. package/tooltip/overrides.js +0 -1
  627. package/tooltip/stateful-tooltip.js +2 -2
  628. package/tooltip/tooltip.d.ts +1 -1
  629. package/tooltip/tooltip.js +5 -2
  630. package/tooltip/types.d.ts +2 -0
  631. package/tsconfig.tsbuildinfo +1 -1
  632. package/types.d.ts +2 -1
  633. package/typography/Typography.js +14 -1
  634. package/typography/constants.d.ts +56 -0
  635. package/typography/constants.js +57 -1
  636. package/typography/index.d.ts +1 -0
  637. package/typography/index.js +3 -1
  638. package/typography/styled-components.js +11 -3
  639. package/typography/types.d.ts +1 -1
  640. package/utils/intlNumberFormatUtils/index.d.ts +7 -0
  641. package/utils/intlNumberFormatUtils/index.js +40 -0
  642. package/utils/intlNumberFormatUtils/types.d.ts +21 -0
  643. package/utils/intlNumberFormatUtils/types.js +9 -0
  644. package/utils/package.json +4 -0
  645. package/esm/icon/components/chevron-right-solid.d.ts +0 -3
  646. package/esm/icon/components/chevron-right-solid.js +0 -6
  647. package/icon/components/chevron-right-solid.d.ts +0 -3
  648. package/icon/components/chevron-right-solid.js +0 -9
@@ -13,24 +13,18 @@ var overrides_1 = require("../overrides");
13
13
  var constants_1 = require("../date-picker/constants");
14
14
  var utils_1 = require("../date-picker/utils");
15
15
  var styled_components_1 = require("./styled-components");
16
+ var utils_2 = require("../time-range-picker/utils");
17
+ var context_1 = require("../form-control/context");
16
18
  var DateInput = function (_a) {
17
- var _b = _a.adapter, adapter = _b === void 0 ? date_fns_adapter_1.default : _b, _c = _a.formatString, formatString = _c === void 0 ? constants_1.DEFAULT_FORMAT_STRING : _c, mask = _a.mask, onChange = _a.onChange, value = _a.value, locale = _a.locale, weekStartsOn = _a.weekStartsOn, _d = _a.maskChar, maskChar = _d === void 0 ? '_' : _d, overrides = _a.overrides, minDate = _a.minDate, maxDate = _a.maxDate, timeSelect = _a.timeSelect, restProps = (0, tslib_1.__rest)(_a, ["adapter", "formatString", "mask", "onChange", "value", "locale", "weekStartsOn", "maskChar", "overrides", "minDate", "maxDate", "timeSelect"]);
19
+ var _b = _a.adapter, adapter = _b === void 0 ? date_fns_adapter_1.default : _b, _c = _a.formatString, formatString = _c === void 0 ? constants_1.DEFAULT_FORMAT_STRING : _c, mask = _a.mask, onChange = _a.onChange, value = _a.value, locale = _a.locale, weekStartsOn = _a.weekStartsOn, _d = _a.maskChar, maskChar = _d === void 0 ? '_' : _d, overrides = _a.overrides, minDate = _a.minDate, maxDate = _a.maxDate, timeSelect = _a.timeSelect, _e = _a.showTimezone, showTimezone = _e === void 0 ? false : _e, _f = _a.timezone, timezone = _f === void 0 ? (0, utils_2.getSystemTzName)() : _f, restProps = (0, tslib_1.__rest)(_a, ["adapter", "formatString", "mask", "onChange", "value", "locale", "weekStartsOn", "maskChar", "overrides", "minDate", "maxDate", "timeSelect", "showTimezone", "timezone"]);
20
+ var intent = (0, context_1.useContextualFormProps)(restProps).intent;
18
21
  var dateFnsLocale = (0, react_1.useMemo)(function () { return (0, utils_1.prepareLocale)(locale, { weekStartsOn: weekStartsOn }); }, [weekStartsOn, locale]);
19
22
  var dateHelpers = (0, react_1.useMemo)(function () { return new date_helpers_1.default(adapter); }, [adapter]);
20
- var _e = (0, tslib_1.__read)((0, react_1.useState)(function () { return (0, utils_1.formatDate)({ date: value, locale: dateFnsLocale, dateHelpers: dateHelpers, formatString: formatString }); }), 2), date = _e[0], setDate = _e[1];
21
- var _f = (0, tslib_1.__read)((0, react_1.useState)(false), 2), error = _f[0], setError = _f[1];
22
- (0, react_1.useEffect)(function () {
23
- if ((0, utils_1.isDayInRange)(value, {
24
- minDate: minDate,
25
- maxDate: maxDate,
26
- dateHelpers: dateHelpers,
27
- })) {
28
- setError(false);
29
- }
30
- else {
31
- setError(true);
32
- }
33
- }, [dateHelpers, maxDate, minDate, value]);
23
+ var timezoneAdaptedValue = (0, react_1.useMemo)(function () { return (value ? new Date((0, utils_2.convertDateFromSystemTzToTargetTz)(value, timezone)) : undefined); }, [value, timezone]);
24
+ var _g = (0, tslib_1.__read)((0, react_1.useState)(function () {
25
+ return (0, utils_1.formatDate)({ date: timezoneAdaptedValue, locale: dateFnsLocale, dateHelpers: dateHelpers, formatString: formatString });
26
+ }), 2), date = _g[0], setDate = _g[1];
27
+ var _h = (0, tslib_1.__read)((0, react_1.useState)(function () { return !(0, utils_1.isDayInRange)(timezoneAdaptedValue, { minDate: minDate, maxDate: maxDate, dateHelpers: dateHelpers }); }), 2), error = _h[0], setError = _h[1];
34
28
  var getMask = (0, react_1.useCallback)(function () {
35
29
  if (!mask && formatString !== constants_1.DEFAULT_FORMAT_STRING) {
36
30
  return null;
@@ -47,7 +41,10 @@ var DateInput = function (_a) {
47
41
  var _mask = getMask();
48
42
  var _date = dateHelpers.date(dateString);
49
43
  // to check the clearable cases
50
- if ((typeof _mask === 'string' && inputValue === _mask.replace(/[9|a|*]/g, ' ')) || inputValue.length === 0) {
44
+ if ((typeof _mask === 'string' &&
45
+ inputValue.replace(new RegExp(maskChar, 'g'), ' ') === _mask.replace(/[9|a|*]/g, ' ')) ||
46
+ inputValue.length === 0) {
47
+ setError(false);
51
48
  onChange(null);
52
49
  return;
53
50
  }
@@ -59,18 +56,27 @@ var DateInput = function (_a) {
59
56
  }
60
57
  var isValidDate = _date && dateHelpers.isValid(_date);
61
58
  if (isValidDate && _date) {
62
- setError(false);
59
+ setError(!(0, utils_1.isDayInRange)(_date, { minDate: minDate, maxDate: maxDate, dateHelpers: dateHelpers }));
63
60
  setDate((0, utils_1.formatDate)({ date: _date, locale: dateFnsLocale, dateHelpers: dateHelpers, formatString: formatString }));
64
- onChange === null || onChange === void 0 ? void 0 : onChange(_date);
61
+ onChange === null || onChange === void 0 ? void 0 : onChange(new Date((0, utils_2.convertDateFromTargetTzToSystemTz)(_date, timezone)), timezone);
65
62
  }
66
63
  else {
64
+ onChange === null || onChange === void 0 ? void 0 : onChange(null);
67
65
  setError(true);
68
66
  }
69
- }, [onChange, dateFnsLocale, dateHelpers, formatString, getMask]);
70
- var onCalendarDateChange = (0, react_1.useCallback)(function (_date) {
71
- setDate((0, utils_1.formatDate)({ date: _date, locale: dateFnsLocale, dateHelpers: dateHelpers, formatString: formatString }));
72
- onChange(_date);
73
- }, [onChange, dateFnsLocale, dateHelpers, formatString]);
67
+ }, [onChange, dateFnsLocale, dateHelpers, formatString, getMask, timezone, maskChar, maxDate, minDate]);
68
+ var onCalendarDateChange = (0, react_1.useCallback)(function (_date, _timezone) {
69
+ // _date is timezone adapted date, original date is what user actually selected from calendar
70
+ var originalDate = new Date((0, utils_2.convertDateFromSystemTzToTargetTz)(_date, _timezone));
71
+ setDate((0, utils_1.formatDate)({
72
+ date: originalDate,
73
+ locale: dateFnsLocale,
74
+ dateHelpers: dateHelpers,
75
+ formatString: formatString,
76
+ }));
77
+ setError(!(0, utils_1.isDayInRange)(originalDate, { minDate: minDate, maxDate: maxDate, dateHelpers: dateHelpers }));
78
+ onChange(_date, _timezone);
79
+ }, [onChange, dateFnsLocale, dateHelpers, formatString, minDate, maxDate]);
74
80
  var mergedOverrides = (0, react_1.useMemo)(function () {
75
81
  return (0, overrides_1.mergeOverrides)({
76
82
  Before: {
@@ -80,17 +86,32 @@ var DateInput = function (_a) {
80
86
  locale: locale,
81
87
  onChange: onCalendarDateChange,
82
88
  weekStartsOn: weekStartsOn,
89
+ // passing value as it is as date picker will adapt this with timezone
83
90
  value: value,
84
91
  minDate: minDate,
85
92
  maxDate: maxDate,
86
93
  timeSelect: timeSelect,
94
+ showTimezone: showTimezone,
95
+ timezone: timezone,
87
96
  },
88
97
  },
89
98
  Input: {
90
99
  style: styled_components_1.inputStyles,
91
100
  },
92
101
  }, overrides);
93
- }, [adapter, onCalendarDateChange, locale, overrides, value, weekStartsOn, minDate, maxDate, timeSelect]);
94
- return ((0, jsx_runtime_1.jsx)(react_input_mask_1.default, (0, tslib_1.__assign)({ mask: getMask(), value: date, maskChar: maskChar, onChange: handleInputChange, disabled: restProps.disabled, onBlur: restProps.onBlur }, { children: function (props) { return (0, jsx_runtime_1.jsx)(input_1.Input, (0, tslib_1.__assign)({}, restProps, props, { intent: error ? 'error' : 'default', overrides: mergedOverrides }), void 0); } }), void 0));
102
+ }, [
103
+ adapter,
104
+ onCalendarDateChange,
105
+ locale,
106
+ overrides,
107
+ value,
108
+ weekStartsOn,
109
+ minDate,
110
+ maxDate,
111
+ timeSelect,
112
+ showTimezone,
113
+ timezone,
114
+ ]);
115
+ return ((0, jsx_runtime_1.jsx)(react_input_mask_1.default, (0, tslib_1.__assign)({ mask: getMask(), value: date, maskChar: maskChar, onChange: handleInputChange, disabled: restProps.disabled, onBlur: restProps.onBlur }, { children: function (props) { return (0, jsx_runtime_1.jsx)(input_1.Input, (0, tslib_1.__assign)({}, restProps, props, { intent: error ? 'error' : intent, overrides: mergedOverrides }), void 0); } }), void 0));
95
116
  };
96
117
  exports.DateInput = DateInput;
@@ -1,4 +1,4 @@
1
1
  import { StyleObject } from '../types';
2
- export declare const inputStyles: (utils: any, { $size }: {
2
+ export declare const inputStyles: (string | ((utils: any, { $size }: {
3
3
  $size: any;
4
- }) => StyleObject;
4
+ }) => StyleObject))[];
@@ -6,11 +6,13 @@ var dateInputSizeConfig = {
6
6
  md: { paddingLeft: '4px' },
7
7
  lg: { paddingLeft: '8px' },
8
8
  };
9
- var inputStyles = function (utils, _a) {
10
- var _b;
11
- var $size = _a.$size;
12
- return ({
13
- paddingLeft: ((_b = dateInputSizeConfig[$size]) !== null && _b !== void 0 ? _b : dateInputSizeConfig.lg).paddingLeft,
14
- });
15
- };
16
- exports.inputStyles = inputStyles;
9
+ exports.inputStyles = [
10
+ 'tabular-nums',
11
+ function (utils, _a) {
12
+ var _b;
13
+ var $size = _a.$size;
14
+ return ({
15
+ paddingLeft: ((_b = dateInputSizeConfig[$size]) !== null && _b !== void 0 ? _b : dateInputSizeConfig.lg).paddingLeft,
16
+ });
17
+ },
18
+ ];
@@ -1,15 +1,17 @@
1
1
  import { WeekStartsOn } from '../date-picker';
2
2
  import { InputProps } from '../input';
3
- export declare type DateInputProps = Omit<InputProps, 'value' | 'onChange' | 'intent' | 'min' | 'max' | 'debouncedOnChange' | 'debounceInterval' | 'type' | 'inputMode'> & {
3
+ export declare type DateInputProps = Omit<InputProps, 'value' | 'onChange' | 'min' | 'max' | 'debouncedOnChange' | 'debounceInterval' | 'type' | 'inputMode'> & {
4
4
  formatString?: string;
5
5
  adapter?: any;
6
6
  mask?: string;
7
7
  locale?: any;
8
8
  value?: Date;
9
- onChange: (value?: Date | null) => void;
9
+ onChange: (value?: Date | null, timezone?: string) => void;
10
10
  weekStartsOn?: WeekStartsOn;
11
11
  maskChar?: string;
12
12
  minDate?: Date;
13
13
  maxDate?: Date;
14
14
  timeSelect?: boolean;
15
+ showTimezone?: boolean;
16
+ timezone?: string;
15
17
  };
@@ -8,7 +8,8 @@ var date_fns_adapter_1 = (0, tslib_1.__importDefault)(require("baseui/datepicker
8
8
  var date_helpers_1 = (0, tslib_1.__importDefault)(require("baseui/datepicker/utils/date-helpers"));
9
9
  var constants_1 = require("baseui/datepicker/constants");
10
10
  var merge_1 = (0, tslib_1.__importDefault)(require("lodash/merge"));
11
- var chevron_down_1 = (0, tslib_1.__importDefault)(require("../icon/components/chevron-down"));
11
+ var chevron_left_1 = (0, tslib_1.__importDefault)(require("../icon/components/chevron-left"));
12
+ var chevron_right_1 = (0, tslib_1.__importDefault)(require("../icon/components/chevron-right"));
12
13
  var useConvertOverrides_1 = require("../helpers/baseui/useConvertOverrides");
13
14
  var popover_1 = require("../popover");
14
15
  var menu_1 = require("../menu");
@@ -20,7 +21,7 @@ var styled_components_1 = require("./styled-components");
20
21
  var constants_2 = require("./constants");
21
22
  var utils_1 = require("./utils");
22
23
  var useIsMobileDevice_1 = require("../hooks/useIsMobileDevice");
23
- var CALENDAR_CUSTOM_THEME = { theme: { input: { borderRadius: '4px' } } };
24
+ var CALENDAR_CUSTOM_THEME = { theme: { input: { borderRadius: '4px', sizeSm: { borderRadius: '4px' } } } };
24
25
  var MonthYearSelectMenu = function (props) {
25
26
  var _a = (0, tslib_1.__read)((0, react_1.useState)(props.initialState.highlightedIndex), 2), highlightedIndex = _a[0], setHighlightedIndex = _a[1];
26
27
  var onItemSelect = props.onItemSelect;
@@ -45,6 +46,7 @@ var isHiddenPaginationButton = function (direction, order, monthsShown) {
45
46
  var ArrowButton = function (_a) {
46
47
  var $order = _a.$order, monthsShown = _a.monthsShown, direction = _a.direction, nextButtonProps = (0, tslib_1.__rest)(_a, ["$order", "monthsShown", "direction"]);
47
48
  var isHidden = isHiddenPaginationButton(direction, $order, monthsShown);
49
+ var ChevronIcon = direction === 'next' ? chevron_right_1.default : chevron_left_1.default;
48
50
  return ((0, jsx_runtime_1.jsx)(button_1.IconButton, (0, tslib_1.__assign)({ className: [
49
51
  'h-6 w-6',
50
52
  isHidden ? 'invisible' : 'visible',
@@ -54,7 +56,7 @@ var ArrowButton = function (_a) {
54
56
  minWidth: px2rem(24),
55
57
  });
56
58
  },
57
- ] }, nextButtonProps, { children: (0, jsx_runtime_1.jsx)(chevron_down_1.default, { size: 8, className: ['transform', direction === 'next' ? '-rotate-90' : 'rotate-90'] }, void 0) }), void 0));
59
+ ] }, nextButtonProps, { children: (0, jsx_runtime_1.jsx)(ChevronIcon, { size: 8 }, void 0) }), void 0));
58
60
  };
59
61
  var Calendar = function (_a) {
60
62
  var _b;
@@ -10,8 +10,10 @@ var longHandHelpers_1 = require("../helpers/longHandHelpers");
10
10
  var input_1 = require("../input");
11
11
  var utils_1 = require("./utils");
12
12
  var box_1 = require("../box");
13
+ var themeHelpers_1 = require("../helpers/themeHelpers");
14
+ var theme_1 = require("../theme");
13
15
  var COMMON_STYLE = [
14
- 'px-0 py-0 rounded-2 font-mono focus:spr-ui-04 focus:spr-text-05 text-center',
16
+ 'px-0 py-0 rounded-2 focus:spr-ui-04 focus:spr-text-05 text-center',
15
17
  function (_a) {
16
18
  var theme = _a.theme, px2rem = _a.px2rem;
17
19
  return ({
@@ -22,14 +24,13 @@ var COMMON_STYLE = [
22
24
  caretColor: theme.spr.ui01,
23
25
  },
24
26
  fontVariantNumeric: 'tabular-nums',
25
- lineHeight: px2rem(16),
26
27
  });
27
28
  },
28
29
  ];
29
30
  var DATE_CLASSNAME = [
30
31
  'text-center flex-none',
31
32
  {
32
- maxWidth: '1.8rem',
33
+ maxWidth: '1.9rem',
33
34
  },
34
35
  ];
35
36
  var DATE_OVERRIDES = {
@@ -46,7 +47,7 @@ var DATE_OVERRIDES = {
46
47
  var MONTH_CLASSNAME = [
47
48
  'text-center flex-none',
48
49
  {
49
- maxWidth: '2.6rem',
50
+ maxWidth: '2.7rem',
50
51
  },
51
52
  ];
52
53
  var MONTH_OVERRIDES = {
@@ -63,7 +64,7 @@ var MONTH_OVERRIDES = {
63
64
  var YEAR_CLASSNAME = [
64
65
  'text-center flex-none',
65
66
  {
66
- maxWidth: '3.6rem',
67
+ maxWidth: '3.7rem',
67
68
  },
68
69
  ];
69
70
  var YEAR_OVERRIDES = {
@@ -96,12 +97,15 @@ var MIN_YEAR = 1900;
96
97
  var MAX_YEAR = 2100;
97
98
  var isDateValid = function (value) { return value > 0 && value <= 31; };
98
99
  exports.isDateValid = isDateValid;
100
+ exports.DateInput = React.memo(
99
101
  // eslint-disable-next-line max-statements
100
- exports.DateInput = React.memo(function (_a) {
102
+ function (_a) {
103
+ var _b;
101
104
  var dateHelpers = _a.dateHelpers, date = _a.date, onChange = _a.onChange, maxDate = _a.maxDate, minDate = _a.minDate, disabled = _a.disabled;
102
- var _b = (0, tslib_1.__read)(React.useState(function () { return (date ? dateHelpers.formatDate(date, 'dd') : ''); }), 2), day = _b[0], setDay = _b[1];
103
- var _c = (0, tslib_1.__read)(React.useState(function () { return (date ? dateHelpers.getYear(date) : ''); }), 2), year = _c[0], setYear = _c[1];
104
- var _d = (0, tslib_1.__read)(React.useState(false), 2), error = _d[0], setError = _d[1];
105
+ var theme = (0, theme_1.useTheme)().theme;
106
+ var _c = (0, tslib_1.__read)(React.useState(function () { return (date ? dateHelpers.formatDate(date, 'dd') : ''); }), 2), day = _c[0], setDay = _c[1];
107
+ var _d = (0, tslib_1.__read)(React.useState(function () { return (date ? dateHelpers.getYear(date) : ''); }), 2), year = _d[0], setYear = _d[1];
108
+ var _e = (0, tslib_1.__read)(React.useState(false), 2), error = _e[0], setError = _e[1];
105
109
  var minAllowedDate = 1;
106
110
  var maxAllowedDate = (0, getDaysInMonth_1.default)(date || new Date());
107
111
  var minYear = minDate ? dateHelpers.getYear(minDate) : MIN_YEAR;
@@ -210,11 +214,9 @@ exports.DateInput = React.memo(function (_a) {
210
214
  }
211
215
  };
212
216
  var month = date ? dateHelpers.formatDate(date, 'MMM') : '';
217
+ var inputSizeTheme = (0, themeHelpers_1.getComponentSizeTheme)(theme, 'input', 'sm', (0, themeHelpers_1.getDefaultSize)(theme));
213
218
  return ((0, jsx_runtime_1.jsxs)(box_1.Box, (0, tslib_1.__assign)({ "data-testid": "date-input", className: [
214
- 'px-3 flex items-center border-1 border-solid rounded-4 border-box',
215
- function (_a) {
216
- var theme = _a.theme, px2rem = _a.px2rem;
217
- return ((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, (0, longHandHelpers_1.borderColor)(error ? theme.spr.supportError : theme.spr.ui03)), { height: px2rem(35) }), (disabled ? { backgroundColor: theme.spr.ui02 } : { backgroundColor: theme.spr.ui01 })));
218
- },
219
+ 'px-3 flex items-center border-1 border-solid border-box',
220
+ (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, (0, longHandHelpers_1.borderColor)(error ? theme.spr.supportError : theme.spr.ui03)), (0, longHandHelpers_1.borderRadius)((_b = inputSizeTheme.borderRadius) !== null && _b !== void 0 ? _b : theme.input.borderRadius)), { paddingLeft: inputSizeTheme.paddingX, paddingRight: inputSizeTheme.paddingX, paddingTop: inputSizeTheme.paddingY, paddingBottom: inputSizeTheme.paddingY }), (disabled ? { backgroundColor: theme.spr.ui02 } : { backgroundColor: theme.spr.ui01 })),
219
221
  ] }, { children: [(0, jsx_runtime_1.jsx)(react_input_mask_1.default, (0, tslib_1.__assign)({ onBlur: dateBlur, onKeyDown: dateKeyDown, mask: "99", value: day, onChange: dayChange, maskChar: "_", disabled: disabled }, { children: function (props) { return ((0, jsx_runtime_1.jsx)(input_1.Input, (0, tslib_1.__assign)({}, props, { className: DATE_CLASSNAME, overrides: DATE_OVERRIDES, placeholder: "dd", size: "sm", disabled: disabled }), void 0)); } }), void 0), (0, jsx_runtime_1.jsx)(react_input_mask_1.default, (0, tslib_1.__assign)({ value: month, onKeyDown: monthKeyDown, mask: "aaa", maskChar: "_", disabled: disabled }, { children: function (props) { return ((0, jsx_runtime_1.jsx)(input_1.Input, (0, tslib_1.__assign)({}, props, { className: MONTH_CLASSNAME, overrides: MONTH_OVERRIDES, placeholder: "MM", size: "sm", disabled: disabled }), void 0)); } }), void 0), (0, jsx_runtime_1.jsx)(react_input_mask_1.default, (0, tslib_1.__assign)({ onBlur: yearBlur, onKeyDown: yearKeyDown, mask: "9999", value: year, onChange: yearChange, maskChar: "_", disabled: disabled }, { children: function (props) { return ((0, jsx_runtime_1.jsx)(input_1.Input, (0, tslib_1.__assign)({}, props, { className: YEAR_CLASSNAME, overrides: YEAR_OVERRIDES, placeholder: "yyyy", size: "sm", disabled: disabled }), void 0)); } }), void 0)] }), void 0));
220
222
  });
@@ -1,9 +1,15 @@
1
1
  import * as React from 'react';
2
- import { DatepickerOverrides, CalendarProps } from './types';
3
- declare type DatePickerContentProps = Omit<CalendarProps, 'timeSelectEnd' | 'timeSelectStart'> & {
2
+ import { DatepickerOverrides, CalendarProps, Nullable } from './types';
3
+ declare type DatePickerContentProps = Omit<CalendarProps, 'timeSelectEnd' | 'timeSelectStart' | 'onChange'> & {
4
4
  overrides?: DatepickerOverrides;
5
5
  timeSelect?: boolean;
6
6
  onClose: () => void;
7
+ showTimezone?: boolean;
8
+ timezone: string;
9
+ onChange: (params: {
10
+ date?: Nullable<Date>[] | Nullable<Date>;
11
+ timezone?: string;
12
+ }) => void;
7
13
  };
8
- export declare const DatePickerContent: ({ value: _value, onChange, overrides, autoFocusCalendar, onClose, adapter, ...props }: DatePickerContentProps) => React.ReactElement;
14
+ export declare const DatePickerContent: ({ value: _value, onChange, overrides, autoFocusCalendar, onClose, adapter, showTimezone, timezone: _timezone, ...props }: DatePickerContentProps) => React.ReactElement;
9
15
  export {};
@@ -6,19 +6,38 @@ var jsx_runtime_1 = require("react/jsx-runtime");
6
6
  var React = (0, tslib_1.__importStar)(require("react"));
7
7
  var date_helpers_1 = (0, tslib_1.__importDefault)(require("baseui/datepicker/utils/date-helpers"));
8
8
  var date_fns_adapter_1 = (0, tslib_1.__importDefault)(require("baseui/datepicker/utils/date-fns-adapter"));
9
+ var compact_1 = (0, tslib_1.__importDefault)(require("lodash/compact"));
9
10
  var Calendar_1 = (0, tslib_1.__importDefault)(require("./Calendar"));
10
11
  var box_1 = require("../box");
11
12
  var stack_1 = require("../stack");
12
13
  var button_1 = require("../button");
13
14
  var styled_components_1 = require("./styled-components");
15
+ var time_zone_picker_1 = require("../time-zone-picker");
16
+ var form_control_1 = require("../form-control");
14
17
  var overrides_1 = require("../overrides");
15
18
  var locale_1 = require("../locale");
16
19
  var utils_1 = require("./utils");
20
+ var utils_2 = require("../time-range-picker/utils");
21
+ var MONTH_WIDTH = 284;
22
+ var TIMEZONE_PICKER_OVERRIDES = {
23
+ Select: {
24
+ props: {
25
+ overrides: {
26
+ Input: {
27
+ props: {
28
+ 'data-testid': 'timezone-selector',
29
+ },
30
+ },
31
+ },
32
+ },
33
+ },
34
+ };
17
35
  var DatePickerContent = function (_a) {
18
- var _value = _a.value, onChange = _a.onChange, overrides = _a.overrides, autoFocusCalendar = _a.autoFocusCalendar, onClose = _a.onClose, _b = _a.adapter, adapter = _b === void 0 ? date_fns_adapter_1.default : _b, props = (0, tslib_1.__rest)(_a, ["value", "onChange", "overrides", "autoFocusCalendar", "onClose", "adapter"]);
36
+ var _value = _a.value, onChange = _a.onChange, overrides = _a.overrides, autoFocusCalendar = _a.autoFocusCalendar, onClose = _a.onClose, _b = _a.adapter, adapter = _b === void 0 ? date_fns_adapter_1.default : _b, showTimezone = _a.showTimezone, _timezone = _a.timezone, props = (0, tslib_1.__rest)(_a, ["value", "onChange", "overrides", "autoFocusCalendar", "onClose", "adapter", "showTimezone", "timezone"]);
19
37
  var dateHelpers = React.useMemo(function () { return new date_helpers_1.default(adapter); }, [adapter]);
20
38
  var _c = (0, tslib_1.__read)(React.useState(_value), 2), value = _c[0], setValue = _c[1];
21
39
  var _d = (0, tslib_1.__read)(React.useState(false), 2), hasError = _d[0], setHasError = _d[1];
40
+ var _e = (0, tslib_1.__read)(React.useState(_timezone), 2), timezone = _e[0], setTimezone = _e[1];
22
41
  React.useEffect(function () {
23
42
  if ((0, utils_1.isTimeInRange)(value, { minDate: props.minDate, maxDate: props.maxDate, dateHelpers: dateHelpers })) {
24
43
  setHasError(false);
@@ -27,19 +46,51 @@ var DatePickerContent = function (_a) {
27
46
  setHasError(true);
28
47
  }
29
48
  }, [dateHelpers, props.maxDate, props.minDate, value]);
30
- var _e = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.Footer, styled_components_1.StyledFooter), 2), Footer = _e[0], footerProps = _e[1];
49
+ var _f = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.Footer, styled_components_1.StyledFooter), 2), Footer = _f[0], footerProps = _f[1];
50
+ var _g = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.Calendar, Calendar_1.default), 2), Calendar = _g[0], calendarProps = _g[1];
31
51
  var locale = (0, locale_1.useLocale)();
32
52
  var handleChange = React.useCallback(function (data) {
33
53
  setValue(data.date);
34
54
  if (!props.timeSelect) {
35
- onChange === null || onChange === void 0 ? void 0 : onChange(data);
55
+ if (Array.isArray(data.date)) {
56
+ onChange === null || onChange === void 0 ? void 0 : onChange({
57
+ date: (0, compact_1.default)(data.date).map(function (date) { return new Date((0, utils_2.convertDateFromTargetTzToSystemTz)(date, timezone)); }),
58
+ timezone: timezone,
59
+ });
60
+ }
61
+ else {
62
+ var startMillis = (0, utils_2.convertDateFromTargetTzToSystemTz)(data.date, timezone);
63
+ onChange === null || onChange === void 0 ? void 0 : onChange({
64
+ date: new Date(startMillis),
65
+ timezone: timezone,
66
+ });
67
+ }
36
68
  }
37
- }, [onChange, props.timeSelect]);
69
+ }, [onChange, props.timeSelect, timezone]);
38
70
  var handleSubmit = React.useCallback(function () {
39
- onChange === null || onChange === void 0 ? void 0 : onChange({ date: value });
40
- }, [onChange, value]);
41
- return ((0, jsx_runtime_1.jsxs)(box_1.Box, { children: [(0, jsx_runtime_1.jsx)(Calendar_1.default, (0, tslib_1.__assign)({ trapTabbing: !props.timeSelect }, props, { value: value, onChange: handleChange,
71
+ if (value && !Array.isArray(value)) {
72
+ var startMillis = (0, utils_2.convertDateFromTargetTzToSystemTz)(value, timezone);
73
+ onChange === null || onChange === void 0 ? void 0 : onChange({ date: new Date(startMillis), timezone: timezone });
74
+ }
75
+ else {
76
+ onChange === null || onChange === void 0 ? void 0 : onChange({
77
+ date: value
78
+ ? (0, compact_1.default)(value).map(function (date) { return new Date((0, utils_2.convertDateFromTargetTzToSystemTz)(date, timezone)); })
79
+ : undefined,
80
+ timezone: timezone,
81
+ });
82
+ }
83
+ }, [onChange, timezone, value]);
84
+ return ((0, jsx_runtime_1.jsxs)(box_1.Box, (0, tslib_1.__assign)({ className: function (_a) {
85
+ var px2rem = _a.px2rem;
86
+ return ({
87
+ maxWidth: px2rem((props.monthsShown || 1) * MONTH_WIDTH),
88
+ });
89
+ } }, { children: [(0, jsx_runtime_1.jsx)(Calendar, (0, tslib_1.__assign)({ trapTabbing: !props.timeSelect }, props, { value: value, onChange: handleChange,
42
90
  // @ts-ignore
43
- overrides: overrides, autoFocusCalendar: autoFocusCalendar, timeSelectEnd: props.timeSelect, timeSelectStart: props.timeSelect, adapter: adapter }), void 0), props.timeSelect ? ((0, jsx_runtime_1.jsx)(Footer, (0, tslib_1.__assign)({ "$onSubmit": handleSubmit, "$onClose": onClose, className: "justify-end" }, footerProps, { children: (0, jsx_runtime_1.jsxs)(stack_1.Stack, (0, tslib_1.__assign)({ direction: "horizontal", gap: 3, className: "items-center" }, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, (0, tslib_1.__assign)({ size: "sm", onClick: onClose, variant: "secondary", "data-testid": "cancel" }, { children: locale.timeRangePicker.cancelBtnLabel }), void 0), (0, jsx_runtime_1.jsx)(button_1.Button, (0, tslib_1.__assign)({ size: "sm", onClick: handleSubmit, "data-testid": "save", disabled: hasError }, { children: locale.timeRangePicker.saveBtnLabel }), void 0)] }), void 0) }), void 0)) : null] }, void 0));
91
+ overrides: overrides, autoFocusCalendar: autoFocusCalendar, timeSelectEnd: props.timeSelect, timeSelectStart: props.timeSelect, adapter: adapter }, calendarProps), void 0), showTimezone ? ((0, jsx_runtime_1.jsx)(box_1.Box, (0, tslib_1.__assign)({ className: "px-4 mb-4" }, { children: (0, jsx_runtime_1.jsx)(form_control_1.FormControl, (0, tslib_1.__assign)({ label: locale.datePicker.timezonePickerLabel }, { children: (0, jsx_runtime_1.jsx)(time_zone_picker_1.TimezonePicker, { clearable: false, placeholder: locale.datePicker.timezonePickerPlaceholder, value: timezone, size: "sm", onChange: function (_a) {
92
+ var id = _a.id;
93
+ return setTimezone(id);
94
+ }, overrides: TIMEZONE_PICKER_OVERRIDES }, void 0) }), void 0) }), void 0)) : null, props.timeSelect ? ((0, jsx_runtime_1.jsx)(Footer, (0, tslib_1.__assign)({ "$onSubmit": handleSubmit, "$onClose": onClose, className: "justify-end" }, footerProps, { children: (0, jsx_runtime_1.jsxs)(stack_1.Stack, (0, tslib_1.__assign)({ direction: "horizontal", gap: 3, className: "items-center" }, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, (0, tslib_1.__assign)({ size: "xs", onClick: onClose, variant: "secondary", "data-testid": "cancel" }, { children: locale.timeRangePicker.cancelBtnLabel }), void 0), (0, jsx_runtime_1.jsx)(button_1.Button, (0, tslib_1.__assign)({ size: "xs", onClick: handleSubmit, "data-testid": "save", disabled: hasError || !value }, { children: locale.timeRangePicker.saveBtnLabel }), void 0)] }), void 0) }), void 0)) : null] }), void 0));
44
95
  };
45
96
  exports.DatePickerContent = DatePickerContent;
@@ -16,11 +16,15 @@ var styled_components_1 = require("../input/styled-components");
16
16
  var classNames_1 = (0, tslib_1.__importDefault)(require("../classNames"));
17
17
  var InputBeforeEnhancer = function (_a) {
18
18
  var disabled = _a.disabled, onClick = _a.onClick;
19
- return ((0, jsx_runtime_1.jsx)(box_1.Box, (0, tslib_1.__assign)({ className: (0, classNames_1.default)('flex items-center pl-3', { 'cursor-pointer': !disabled }), onClick: disabled ? noop_1.default : onClick }, { children: (0, jsx_runtime_1.jsx)(calendar_solid_1.default, { className: "".concat(disabled ? 'spr-icon-03' : 'spr-icon-01'), size: 14 }, void 0) }), void 0));
19
+ return ((0, jsx_runtime_1.jsx)(box_1.Box, (0, tslib_1.__assign)({ className: (0, classNames_1.default)('flex items-center pl-3', {
20
+ 'cursor-pointer': !disabled,
21
+ }), onClick: disabled ? noop_1.default : onClick }, { children: (0, jsx_runtime_1.jsx)(calendar_solid_1.default, { className: "".concat(disabled ? 'spr-icon-03' : 'spr-icon-01'), size: 14 }, void 0) }), void 0));
20
22
  };
21
23
  var InputAfterEnhancer = function (_a) {
22
24
  var onClick = _a.onClick, isOpen = _a.isOpen, disabled = _a.disabled;
23
- return ((0, jsx_runtime_1.jsx)(box_1.Box, (0, tslib_1.__assign)({ className: (0, classNames_1.default)('flex items-center pr-3', { 'cursor-pointer': !disabled }), onClick: disabled ? noop_1.default : onClick }, { children: (0, jsx_runtime_1.jsx)(chevron_down_1.default, { className: commonStyles_1.chevronStyles, "$isOpen": isOpen }, void 0) }), void 0));
25
+ return ((0, jsx_runtime_1.jsx)(box_1.Box, (0, tslib_1.__assign)({ className: (0, classNames_1.default)('flex items-center pr-3', {
26
+ 'cursor-pointer': !disabled,
27
+ }), onClick: disabled ? noop_1.default : onClick }, { children: (0, jsx_runtime_1.jsx)(chevron_down_1.default, { className: commonStyles_1.chevronStyles, "$isOpen": isOpen }, void 0) }), void 0));
24
28
  };
25
29
  var DEFAULT_INPUT_WIDTH = 62;
26
30
  var DatePickerInput = function (_a) {
@@ -71,10 +75,9 @@ var DatePickerInput = function (_a) {
71
75
  style: function (_a, _b) {
72
76
  var theme = _a.theme;
73
77
  var $intent = _b.$intent;
74
- if (isOpen && $intent === 'default') {
75
- return (0, longHandHelpers_1.borderColor)(theme.spr.focus01);
76
- }
77
- return {};
78
+ return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, (isOpen && $intent === 'default' && (0, longHandHelpers_1.borderColor)(theme.spr.focus01))), (autoSizeInput && {
79
+ width: 'auto',
80
+ })));
78
81
  },
79
82
  },
80
83
  ClearIcon: {
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
5
5
  var jsx_runtime_1 = require("react/jsx-runtime");
6
6
  var React = (0, tslib_1.__importStar)(require("react"));
7
7
  var noop_1 = (0, tslib_1.__importDefault)(require("lodash/noop"));
8
+ var compact_1 = (0, tslib_1.__importDefault)(require("lodash/compact"));
8
9
  var date_helpers_1 = (0, tslib_1.__importDefault)(require("baseui/datepicker/utils/date-helpers"));
9
10
  var date_fns_adapter_1 = (0, tslib_1.__importDefault)(require("baseui/datepicker/utils/date-fns-adapter"));
10
11
  var popover_1 = require("baseui/popover");
@@ -19,6 +20,9 @@ var overrides_1 = require("../overrides");
19
20
  var constants_1 = require("./constants");
20
21
  var utils_1 = require("./utils");
21
22
  var DatePickerContent_1 = require("./DatePickerContent");
23
+ var utils_2 = require("../time-range-picker/utils");
24
+ var themeHelpers_1 = require("../helpers/themeHelpers");
25
+ var style_1 = require("../style");
22
26
  var accessibilityStyles = {
23
27
  position: 'fixed',
24
28
  width: '0px',
@@ -35,14 +39,24 @@ var accessibilityStyles = {
35
39
  // eslint-disable-next-line max-statements
36
40
  var StatelessDatePicker = function (_props) {
37
41
  var _a, _b;
38
- var _c = (0, context_1.useContextualFormProps)(_props), onChange = _c.onChange, onBlur = _c.onBlur, _d = _c.adapter, adapter = _d === void 0 ? date_fns_adapter_1.default : _d, _e = _c.size, size = _e === void 0 ? 'md' : _e, _f = _c.formatString, formatString = _f === void 0 ? constants_1.DEFAULT_FORMAT_STRING : _f, _g = _c.isOpen, isOpen = _g === void 0 ? false : _g, onFocus = _c.onFocus, clearable = _c.clearable, displayValueAtRangeIndex = _c.displayValueAtRangeIndex, _h = _c.variant, variant = _h === void 0 ? 'default' : _h, overrides = _c.overrides, intent = _c.intent, value = _c.value, formatDisplayValue = _c.formatDisplayValue, _j = _c.autoSizeInput, autoSizeInput = _j === void 0 ? false : _j, weekStartsOn = _c.weekStartsOn, props = (0, tslib_1.__rest)(_c, ["onChange", "onBlur", "adapter", "size", "formatString", "isOpen", "onFocus", "clearable", "displayValueAtRangeIndex", "variant", "overrides", "intent", "value", "formatDisplayValue", "autoSizeInput", "weekStartsOn"]);
42
+ var theme = (0, style_1.useStyle)().theme;
43
+ var _c = (0, context_1.useContextualFormProps)(_props), onChange = _c.onChange, onBlur = _c.onBlur, _d = _c.adapter, adapter = _d === void 0 ? date_fns_adapter_1.default : _d, _e = _c.size, size = _e === void 0 ? (0, themeHelpers_1.getDefaultSize)(theme) : _e, _f = _c.formatString, formatString = _f === void 0 ? constants_1.DEFAULT_FORMAT_STRING : _f, _g = _c.isOpen, isOpen = _g === void 0 ? false : _g, onFocus = _c.onFocus, clearable = _c.clearable, displayValueAtRangeIndex = _c.displayValueAtRangeIndex, _h = _c.variant, variant = _h === void 0 ? 'default' : _h, overrides = _c.overrides, intent = _c.intent, _value = _c.value, formatDisplayValue = _c.formatDisplayValue, _j = _c.autoSizeInput, autoSizeInput = _j === void 0 ? false : _j, weekStartsOn = _c.weekStartsOn, _k = _c.timezone, timezone = _k === void 0 ? (0, utils_2.getSystemTzName)() : _k, _l = _c.showTimezone, showTimezone = _l === void 0 ? false : _l, props = (0, tslib_1.__rest)(_c, ["onChange", "onBlur", "adapter", "size", "formatString", "isOpen", "onFocus", "clearable", "displayValueAtRangeIndex", "variant", "overrides", "intent", "value", "formatDisplayValue", "autoSizeInput", "weekStartsOn", "timezone", "showTimezone"]);
39
44
  var locale = (0, locale_1.useLocale)();
40
45
  var dateHelpers = React.useMemo(function () { return new date_helpers_1.default(adapter); }, [adapter]);
41
46
  var dateFnsLocale = React.useMemo(function () { return (0, utils_1.prepareLocale)(props.locale, { weekStartsOn: weekStartsOn }); }, [weekStartsOn, props.locale]);
47
+ var value = React.useMemo(function () {
48
+ if (Array.isArray(_value)) {
49
+ return (0, compact_1.default)(_value).map(function (date) { return new Date((0, utils_2.convertDateFromSystemTzToTargetTz)(date, timezone)); });
50
+ }
51
+ if (_value) {
52
+ return new Date((0, utils_2.convertDateFromSystemTzToTargetTz)(_value, timezone));
53
+ }
54
+ return undefined;
55
+ }, [_value, timezone]);
42
56
  // this state is required for a11y of calendar, this will be set to true when user first press down arrow key on opened calendar
43
57
  // and we will set this to false when calendar will be closed.
44
- var _k = (0, tslib_1.__read)(React.useState(false), 2), autoFocusCalendar = _k[0], setAutoFocusCalendar = _k[1];
45
- var _l = (0, tslib_1.__read)(React.useState(false), 2), error = _l[0], setError = _l[1];
58
+ var _m = (0, tslib_1.__read)(React.useState(false), 2), autoFocusCalendar = _m[0], setAutoFocusCalendar = _m[1];
59
+ var _o = (0, tslib_1.__read)(React.useState(false), 2), error = _o[0], setError = _o[1];
46
60
  React.useEffect(function () {
47
61
  if ((0, utils_1.isTimeInRange)(value, { minDate: props.minDate, maxDate: props.maxDate, dateHelpers: dateHelpers })) {
48
62
  setError(false);
@@ -52,7 +66,7 @@ var StatelessDatePicker = function (_props) {
52
66
  }
53
67
  }, [value, props.minDate, props.maxDate, dateHelpers]);
54
68
  var screenReaderMsgId = (0, useUniqueId_1.default)();
55
- var _m = props["aria-describedby"], ariaDescribedBy = _m === void 0 ? "datepicker--screenreader--message--input-".concat(screenReaderMsgId) : _m;
69
+ var _p = props["aria-describedby"], ariaDescribedBy = _p === void 0 ? "datepicker--screenreader--message--input-".concat(screenReaderMsgId) : _p;
56
70
  var defaultFormatDisplayValue = React.useCallback(function (date) {
57
71
  var normalizedFormatString = (0, utils_1.normalizeDashes)(formatString);
58
72
  if (formatDisplayValue) {
@@ -61,8 +75,15 @@ var StatelessDatePicker = function (_props) {
61
75
  }
62
76
  return formatDisplayValue(date, normalizedFormatString);
63
77
  }
64
- return (0, utils_1.formatDate)({ date: date, dateHelpers: dateHelpers, formatString: normalizedFormatString, locale: dateFnsLocale });
65
- }, [formatString, formatDisplayValue, dateHelpers, dateFnsLocale]);
78
+ return (0, utils_1.formatDate)({
79
+ date: date,
80
+ dateHelpers: dateHelpers,
81
+ formatString: normalizedFormatString,
82
+ locale: dateFnsLocale,
83
+ timezone: timezone,
84
+ showTimezone: showTimezone,
85
+ });
86
+ }, [formatString, formatDisplayValue, dateHelpers, dateFnsLocale, timezone, showTimezone]);
66
87
  var mergedOverrides = React.useMemo(function () {
67
88
  return (0, overrides_1.mergeOverrides)({
68
89
  Popover: {
@@ -97,8 +118,8 @@ var StatelessDatePicker = function (_props) {
97
118
  }, [locale.datePicker.popoverAriaLabel, overrides]);
98
119
  var displayValue = React.useMemo(function () { return defaultFormatDisplayValue(value) || ''; }, [value, defaultFormatDisplayValue]);
99
120
  var handleDateChange = React.useCallback(function (data) {
100
- onChange === null || onChange === void 0 ? void 0 : onChange({ value: data.date });
101
- }, [onChange]);
121
+ onChange === null || onChange === void 0 ? void 0 : onChange(showTimezone ? { value: data.date, timezone: data.timezone } : { value: data.date });
122
+ }, [onChange, showTimezone]);
102
123
  var onClose = React.useCallback(function () {
103
124
  onBlur === null || onBlur === void 0 ? void 0 : onBlur();
104
125
  setAutoFocusCalendar(false);
@@ -125,17 +146,15 @@ var StatelessDatePicker = function (_props) {
125
146
  var handleInputChange = React.useCallback(function (e) {
126
147
  var inputValue = e.currentTarget.value;
127
148
  if (clearable && inputValue.length === 0) {
128
- onChange === null || onChange === void 0 ? void 0 : onChange({
129
- value: undefined,
130
- });
149
+ onChange === null || onChange === void 0 ? void 0 : onChange(showTimezone ? { value: undefined, timezone: timezone } : { value: undefined });
131
150
  }
132
- }, [clearable, onChange]);
151
+ }, [clearable, onChange, timezone, showTimezone]);
133
152
  var dateAriaLabel = React.useMemo(function () { return (0, utils_1.getAriaLabel)(value, defaultFormatDisplayValue, locale); }, [value, defaultFormatDisplayValue, locale]);
134
- var _o = (0, tslib_1.__read)((0, overrides_1.useOverrides)(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.Input, DatePickerInput_1.default), 2), InputComponent = _o[0], inputProps = _o[1];
135
- var _p = (0, tslib_1.__read)((0, overrides_1.useOverrides)(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.Popover, popover_2.Popover), 2), PopoverComponent = _p[0], popoverProps = _p[1];
136
- var _q = (0, tslib_1.__read)((0, overrides_1.useOverrides)(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.InputWrapper, styled_components_1.StyledInputWrapper), 2), InputWrapper = _q[0], inputWrapperProps = _q[1];
153
+ var _q = (0, tslib_1.__read)((0, overrides_1.useOverrides)(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.Input, DatePickerInput_1.default), 2), InputComponent = _q[0], inputProps = _q[1];
154
+ var _r = (0, tslib_1.__read)((0, overrides_1.useOverrides)(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.Popover, popover_2.Popover), 2), PopoverComponent = _r[0], popoverProps = _r[1];
155
+ var _s = (0, tslib_1.__read)((0, overrides_1.useOverrides)(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.InputWrapper, styled_components_1.StyledInputWrapper), 2), InputWrapper = _s[0], inputWrapperProps = _s[1];
137
156
  var placeholder = (_a = props.placeholder) !== null && _a !== void 0 ? _a : 'MM/DD/YYYY';
138
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(PopoverComponent, (0, tslib_1.__assign)({ focusLock: true, returnFocus: true, mountNode: props.mountNode, placement: popover_1.PLACEMENT.auto, isOpen: isOpen, onClickOutside: onClose, onEsc: onClose, showArrow: false, triggerType: "click", onClick: props.disabled ? noop_1.default : onFocus, content: (0, jsx_runtime_1.jsx)(DatePickerContent_1.DatePickerContent, (0, tslib_1.__assign)({}, props, { value: value, onChange: handleDateChange, overrides: mergedOverrides, autoFocusCalendar: autoFocusCalendar, onClose: onClose, formatString: formatString, adapter: adapter, locale: dateFnsLocale }), void 0) }, popoverProps, { children: (0, jsx_runtime_1.jsx)(InputWrapper, (0, tslib_1.__assign)({}, inputWrapperProps, { children: (0, jsx_runtime_1.jsx)(InputComponent, (0, tslib_1.__assign)({ "aria-disabled": props.disabled, "aria-label": (_b = props['aria-label']) !== null && _b !== void 0 ? _b : locale.timeRangePicker.ariaLabel, "aria-describedby": ariaDescribedBy, "aria-labelledby": props['aria-labelledby'], "aria-required": props.required || null, disabled: props.disabled, size: size, variant: variant, intent: error ? 'error' : intent, value: displayValue,
157
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(PopoverComponent, (0, tslib_1.__assign)({ accessibilityType: "none", focusLock: true, returnFocus: true, mountNode: props.mountNode, placement: popover_1.PLACEMENT.auto, isOpen: isOpen, onClickOutside: onClose, onEsc: onClose, showArrow: false, triggerType: "click", onClick: props.disabled ? noop_1.default : onFocus, content: (0, jsx_runtime_1.jsx)(DatePickerContent_1.DatePickerContent, (0, tslib_1.__assign)({}, props, { value: value, onChange: handleDateChange, overrides: mergedOverrides, autoFocusCalendar: autoFocusCalendar, onClose: onClose, formatString: formatString, adapter: adapter, locale: dateFnsLocale, showTimezone: showTimezone, timezone: timezone }), void 0) }, popoverProps, { children: (0, jsx_runtime_1.jsx)(InputWrapper, (0, tslib_1.__assign)({}, inputWrapperProps, { children: (0, jsx_runtime_1.jsx)(InputComponent, (0, tslib_1.__assign)({ id: props.id, "aria-disabled": props.disabled, "aria-label": (_b = props['aria-label']) !== null && _b !== void 0 ? _b : locale.timeRangePicker.ariaLabel, "aria-describedby": ariaDescribedBy, "aria-labelledby": props['aria-labelledby'], "aria-required": props.required || null, disabled: props.disabled, size: size, variant: variant, intent: error ? 'error' : intent, value: displayValue,
139
158
  // onFocus={onFocus}
140
159
  onKeyDown: handleKeyDown, onChange: handleInputChange, placeholder: placeholder, required: props.required, clearable: clearable, isOpen: isOpen, autoSizeInput: autoSizeInput }, inputProps), void 0) }), void 0) }), void 0), (0, jsx_runtime_1.jsx)(typography_1.Typography, (0, tslib_1.__assign)({ id: ariaDescribedBy, style: accessibilityStyles }, { children: locale.timeRangePicker.screenReaderMessageInput }), void 0), (0, jsx_runtime_1.jsx)(typography_1.Typography, (0, tslib_1.__assign)({ "aria-live": "assertive", style: accessibilityStyles }, { children: dateAriaLabel }), void 0)] }, void 0));
141
160
  };
@@ -1,3 +1,5 @@
1
1
  export declare type DatePickerLocale = {
2
2
  popoverAriaLabel: string;
3
+ timezonePickerLabel: string;
4
+ timezonePickerPlaceholder: string;
3
5
  };
@@ -4,23 +4,26 @@ var tslib_1 = require("tslib");
4
4
  var React = (0, tslib_1.__importStar)(require("react"));
5
5
  var date_fns_adapter_1 = (0, tslib_1.__importDefault)(require("baseui/datepicker/utils/date-fns-adapter"));
6
6
  var useDatePickerState_1 = require("./useDatePickerState");
7
+ var utils_1 = require("../time-range-picker/utils");
7
8
  var StatefulContainer = function (_a) {
8
- var _b;
9
- var adapter = _a.adapter, onChange = _a.onChange, value = _a.value, _c = _a.startOpen, startOpen = _c === void 0 ? false : _c, props = (0, tslib_1.__rest)(_a, ["adapter", "onChange", "value", "startOpen"]);
10
- var _d = (0, tslib_1.__read)(React.useState(value), 2), date = _d[0], setDate = _d[1];
11
- var _e = (0, useDatePickerState_1.useDatePickerState)({ startOpen: startOpen }), isOpen = _e.isOpen, handleOpen = _e.handleOpen, handleClose = _e.handleClose, setIsOpen = _e.setIsOpen;
9
+ var _b, _c;
10
+ var adapter = _a.adapter, onChange = _a.onChange, value = _a.value, _d = _a.startOpen, startOpen = _d === void 0 ? false : _d, props = (0, tslib_1.__rest)(_a, ["adapter", "onChange", "value", "startOpen"]);
11
+ var _e = (0, tslib_1.__read)(React.useState(value), 2), date = _e[0], setDate = _e[1];
12
+ var _f = (0, tslib_1.__read)(React.useState((_b = props.timezone) !== null && _b !== void 0 ? _b : (0, utils_1.getSystemTzName)()), 2), timezone = _f[0], setTimezone = _f[1];
13
+ var _g = (0, useDatePickerState_1.useDatePickerState)({ startOpen: startOpen }), isOpen = _g.isOpen, handleOpen = _g.handleOpen, handleClose = _g.handleClose, setIsOpen = _g.setIsOpen;
12
14
  React.useEffect(function () {
13
15
  setDate(value);
14
16
  }, [value]);
15
17
  var handleDateChange = React.useCallback(function (_a) {
16
- var _value = _a.value;
18
+ var _value = _a.value, _timezone = _a.timezone;
17
19
  var prevValue = date;
18
20
  setDate(_value);
19
- onChange === null || onChange === void 0 ? void 0 : onChange({ value: _value });
21
+ setTimezone(_timezone);
22
+ onChange === null || onChange === void 0 ? void 0 : onChange(props.showTimezone ? { value: _value, timezone: _timezone } : { value: _value });
20
23
  setIsOpen(false);
21
- }, [setDate, setIsOpen, onChange, date]);
24
+ }, [setDate, setIsOpen, onChange, date, props.showTimezone]);
22
25
  var children = props.children, restProps = (0, tslib_1.__rest)(props, ["children"]);
23
- return (_b = props.children) === null || _b === void 0 ? void 0 : _b.call(props, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, restProps), { value: date, adapter: adapter, onChange: handleDateChange, onFocus: handleOpen, onBlur: handleClose, isOpen: isOpen, range: false }));
26
+ return (_c = props.children) === null || _c === void 0 ? void 0 : _c.call(props, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, restProps), { value: date, adapter: adapter, onChange: handleDateChange, onFocus: handleOpen, onBlur: handleClose, isOpen: isOpen, range: false, timezone: timezone }));
24
27
  };
25
28
  StatefulContainer.defaultProps = {
26
29
  adapter: date_fns_adapter_1.default,