@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
@@ -2,6 +2,7 @@ import { __assign, __read, __rest } from "tslib";
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
4
  import _noop from 'lodash/noop';
5
+ import _compact from 'lodash/compact';
5
6
  import DateHelpers from 'baseui/datepicker/utils/date-helpers';
6
7
  import dateFnsAdapter from 'baseui/datepicker/utils/date-fns-adapter';
7
8
  import { PLACEMENT } from 'baseui/popover';
@@ -16,6 +17,9 @@ import { mergeOverrides, useOverrides } from '../overrides';
16
17
  import { DEFAULT_FORMAT_STRING } from './constants';
17
18
  import { formatDate, getAriaLabel, isTimeInRange, normalizeDashes, prepareLocale } from './utils';
18
19
  import { DatePickerContent } from './DatePickerContent';
20
+ import { convertDateFromSystemTzToTargetTz, getSystemTzName } from '../time-range-picker/utils';
21
+ import { getDefaultSize } from '../helpers/themeHelpers';
22
+ import { useStyle } from '../style';
19
23
  var accessibilityStyles = {
20
24
  position: 'fixed',
21
25
  width: '0px',
@@ -32,14 +36,24 @@ var accessibilityStyles = {
32
36
  // eslint-disable-next-line max-statements
33
37
  export var StatelessDatePicker = function (_props) {
34
38
  var _a, _b;
35
- var _c = useContextualFormProps(_props), onChange = _c.onChange, onBlur = _c.onBlur, _d = _c.adapter, adapter = _d === void 0 ? dateFnsAdapter : _d, _e = _c.size, size = _e === void 0 ? 'md' : _e, _f = _c.formatString, formatString = _f === void 0 ? 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 = __rest(_c, ["onChange", "onBlur", "adapter", "size", "formatString", "isOpen", "onFocus", "clearable", "displayValueAtRangeIndex", "variant", "overrides", "intent", "value", "formatDisplayValue", "autoSizeInput", "weekStartsOn"]);
39
+ var theme = useStyle().theme;
40
+ var _c = useContextualFormProps(_props), onChange = _c.onChange, onBlur = _c.onBlur, _d = _c.adapter, adapter = _d === void 0 ? dateFnsAdapter : _d, _e = _c.size, size = _e === void 0 ? getDefaultSize(theme) : _e, _f = _c.formatString, formatString = _f === void 0 ? 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 ? getSystemTzName() : _k, _l = _c.showTimezone, showTimezone = _l === void 0 ? false : _l, props = __rest(_c, ["onChange", "onBlur", "adapter", "size", "formatString", "isOpen", "onFocus", "clearable", "displayValueAtRangeIndex", "variant", "overrides", "intent", "value", "formatDisplayValue", "autoSizeInput", "weekStartsOn", "timezone", "showTimezone"]);
36
41
  var locale = useLocale();
37
42
  var dateHelpers = React.useMemo(function () { return new DateHelpers(adapter); }, [adapter]);
38
43
  var dateFnsLocale = React.useMemo(function () { return prepareLocale(props.locale, { weekStartsOn: weekStartsOn }); }, [weekStartsOn, props.locale]);
44
+ var value = React.useMemo(function () {
45
+ if (Array.isArray(_value)) {
46
+ return _compact(_value).map(function (date) { return new Date(convertDateFromSystemTzToTargetTz(date, timezone)); });
47
+ }
48
+ if (_value) {
49
+ return new Date(convertDateFromSystemTzToTargetTz(_value, timezone));
50
+ }
51
+ return undefined;
52
+ }, [_value, timezone]);
39
53
  // this state is required for a11y of calendar, this will be set to true when user first press down arrow key on opened calendar
40
54
  // and we will set this to false when calendar will be closed.
41
- var _k = __read(React.useState(false), 2), autoFocusCalendar = _k[0], setAutoFocusCalendar = _k[1];
42
- var _l = __read(React.useState(false), 2), error = _l[0], setError = _l[1];
55
+ var _m = __read(React.useState(false), 2), autoFocusCalendar = _m[0], setAutoFocusCalendar = _m[1];
56
+ var _o = __read(React.useState(false), 2), error = _o[0], setError = _o[1];
43
57
  React.useEffect(function () {
44
58
  if (isTimeInRange(value, { minDate: props.minDate, maxDate: props.maxDate, dateHelpers: dateHelpers })) {
45
59
  setError(false);
@@ -49,7 +63,7 @@ export var StatelessDatePicker = function (_props) {
49
63
  }
50
64
  }, [value, props.minDate, props.maxDate, dateHelpers]);
51
65
  var screenReaderMsgId = useUniqueId();
52
- var _m = props["aria-describedby"], ariaDescribedBy = _m === void 0 ? "datepicker--screenreader--message--input-".concat(screenReaderMsgId) : _m;
66
+ var _p = props["aria-describedby"], ariaDescribedBy = _p === void 0 ? "datepicker--screenreader--message--input-".concat(screenReaderMsgId) : _p;
53
67
  var defaultFormatDisplayValue = React.useCallback(function (date) {
54
68
  var normalizedFormatString = normalizeDashes(formatString);
55
69
  if (formatDisplayValue) {
@@ -58,8 +72,15 @@ export var StatelessDatePicker = function (_props) {
58
72
  }
59
73
  return formatDisplayValue(date, normalizedFormatString);
60
74
  }
61
- return formatDate({ date: date, dateHelpers: dateHelpers, formatString: normalizedFormatString, locale: dateFnsLocale });
62
- }, [formatString, formatDisplayValue, dateHelpers, dateFnsLocale]);
75
+ return formatDate({
76
+ date: date,
77
+ dateHelpers: dateHelpers,
78
+ formatString: normalizedFormatString,
79
+ locale: dateFnsLocale,
80
+ timezone: timezone,
81
+ showTimezone: showTimezone,
82
+ });
83
+ }, [formatString, formatDisplayValue, dateHelpers, dateFnsLocale, timezone, showTimezone]);
63
84
  var mergedOverrides = React.useMemo(function () {
64
85
  return mergeOverrides({
65
86
  Popover: {
@@ -94,8 +115,8 @@ export var StatelessDatePicker = function (_props) {
94
115
  }, [locale.datePicker.popoverAriaLabel, overrides]);
95
116
  var displayValue = React.useMemo(function () { return defaultFormatDisplayValue(value) || ''; }, [value, defaultFormatDisplayValue]);
96
117
  var handleDateChange = React.useCallback(function (data) {
97
- onChange === null || onChange === void 0 ? void 0 : onChange({ value: data.date });
98
- }, [onChange]);
118
+ onChange === null || onChange === void 0 ? void 0 : onChange(showTimezone ? { value: data.date, timezone: data.timezone } : { value: data.date });
119
+ }, [onChange, showTimezone]);
99
120
  var onClose = React.useCallback(function () {
100
121
  onBlur === null || onBlur === void 0 ? void 0 : onBlur();
101
122
  setAutoFocusCalendar(false);
@@ -122,17 +143,15 @@ export var StatelessDatePicker = function (_props) {
122
143
  var handleInputChange = React.useCallback(function (e) {
123
144
  var inputValue = e.currentTarget.value;
124
145
  if (clearable && inputValue.length === 0) {
125
- onChange === null || onChange === void 0 ? void 0 : onChange({
126
- value: undefined,
127
- });
146
+ onChange === null || onChange === void 0 ? void 0 : onChange(showTimezone ? { value: undefined, timezone: timezone } : { value: undefined });
128
147
  }
129
- }, [clearable, onChange]);
148
+ }, [clearable, onChange, timezone, showTimezone]);
130
149
  var dateAriaLabel = React.useMemo(function () { return getAriaLabel(value, defaultFormatDisplayValue, locale); }, [value, defaultFormatDisplayValue, locale]);
131
- var _o = __read(useOverrides(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.Input, DatePickerInput), 2), InputComponent = _o[0], inputProps = _o[1];
132
- var _p = __read(useOverrides(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.Popover, Popover), 2), PopoverComponent = _p[0], popoverProps = _p[1];
133
- var _q = __read(useOverrides(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.InputWrapper, StyledInputWrapper), 2), InputWrapper = _q[0], inputWrapperProps = _q[1];
150
+ var _q = __read(useOverrides(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.Input, DatePickerInput), 2), InputComponent = _q[0], inputProps = _q[1];
151
+ var _r = __read(useOverrides(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.Popover, Popover), 2), PopoverComponent = _r[0], popoverProps = _r[1];
152
+ var _s = __read(useOverrides(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.InputWrapper, StyledInputWrapper), 2), InputWrapper = _s[0], inputWrapperProps = _s[1];
134
153
  var placeholder = (_a = props.placeholder) !== null && _a !== void 0 ? _a : 'MM/DD/YYYY';
135
- return (_jsxs(_Fragment, { children: [_jsx(PopoverComponent, __assign({ focusLock: true, returnFocus: true, mountNode: props.mountNode, placement: PLACEMENT.auto, isOpen: isOpen, onClickOutside: onClose, onEsc: onClose, showArrow: false, triggerType: "click", onClick: props.disabled ? _noop : onFocus, content: _jsx(DatePickerContent, __assign({}, props, { value: value, onChange: handleDateChange, overrides: mergedOverrides, autoFocusCalendar: autoFocusCalendar, onClose: onClose, formatString: formatString, adapter: adapter, locale: dateFnsLocale }), void 0) }, popoverProps, { children: _jsx(InputWrapper, __assign({}, inputWrapperProps, { children: _jsx(InputComponent, __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,
154
+ return (_jsxs(_Fragment, { children: [_jsx(PopoverComponent, __assign({ accessibilityType: "none", focusLock: true, returnFocus: true, mountNode: props.mountNode, placement: PLACEMENT.auto, isOpen: isOpen, onClickOutside: onClose, onEsc: onClose, showArrow: false, triggerType: "click", onClick: props.disabled ? _noop : onFocus, content: _jsx(DatePickerContent, __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: _jsx(InputWrapper, __assign({}, inputWrapperProps, { children: _jsx(InputComponent, __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,
136
155
  // onFocus={onFocus}
137
156
  onKeyDown: handleKeyDown, onChange: handleInputChange, placeholder: placeholder, required: props.required, clearable: clearable, isOpen: isOpen, autoSizeInput: autoSizeInput }, inputProps), void 0) }), void 0) }), void 0), _jsx(Typography, __assign({ id: ariaDescribedBy, style: accessibilityStyles }, { children: locale.timeRangePicker.screenReaderMessageInput }), void 0), _jsx(Typography, __assign({ "aria-live": "assertive", style: accessibilityStyles }, { children: dateAriaLabel }), void 0)] }, void 0));
138
157
  };
@@ -1,3 +1,5 @@
1
1
  export declare type DatePickerLocale = {
2
2
  popoverAriaLabel: string;
3
+ timezonePickerLabel: string;
4
+ timezonePickerPlaceholder: string;
3
5
  };
@@ -2,23 +2,26 @@ import { __assign, __read, __rest } from "tslib";
2
2
  import * as React from 'react';
3
3
  import dateFnsAdapter from 'baseui/datepicker/utils/date-fns-adapter';
4
4
  import { useDatePickerState } from './useDatePickerState';
5
+ import { getSystemTzName } from '../time-range-picker/utils';
5
6
  var StatefulContainer = function (_a) {
6
- var _b;
7
- var adapter = _a.adapter, onChange = _a.onChange, value = _a.value, _c = _a.startOpen, startOpen = _c === void 0 ? false : _c, props = __rest(_a, ["adapter", "onChange", "value", "startOpen"]);
8
- var _d = __read(React.useState(value), 2), date = _d[0], setDate = _d[1];
9
- var _e = useDatePickerState({ startOpen: startOpen }), isOpen = _e.isOpen, handleOpen = _e.handleOpen, handleClose = _e.handleClose, setIsOpen = _e.setIsOpen;
7
+ var _b, _c;
8
+ var adapter = _a.adapter, onChange = _a.onChange, value = _a.value, _d = _a.startOpen, startOpen = _d === void 0 ? false : _d, props = __rest(_a, ["adapter", "onChange", "value", "startOpen"]);
9
+ var _e = __read(React.useState(value), 2), date = _e[0], setDate = _e[1];
10
+ var _f = __read(React.useState((_b = props.timezone) !== null && _b !== void 0 ? _b : getSystemTzName()), 2), timezone = _f[0], setTimezone = _f[1];
11
+ var _g = useDatePickerState({ startOpen: startOpen }), isOpen = _g.isOpen, handleOpen = _g.handleOpen, handleClose = _g.handleClose, setIsOpen = _g.setIsOpen;
10
12
  React.useEffect(function () {
11
13
  setDate(value);
12
14
  }, [value]);
13
15
  var handleDateChange = React.useCallback(function (_a) {
14
- var _value = _a.value;
16
+ var _value = _a.value, _timezone = _a.timezone;
15
17
  var prevValue = date;
16
18
  setDate(_value);
17
- onChange === null || onChange === void 0 ? void 0 : onChange({ value: _value });
19
+ setTimezone(_timezone);
20
+ onChange === null || onChange === void 0 ? void 0 : onChange(props.showTimezone ? { value: _value, timezone: _timezone } : { value: _value });
18
21
  setIsOpen(false);
19
- }, [setDate, setIsOpen, onChange, date]);
22
+ }, [setDate, setIsOpen, onChange, date, props.showTimezone]);
20
23
  var children = props.children, restProps = __rest(props, ["children"]);
21
- return (_b = props.children) === null || _b === void 0 ? void 0 : _b.call(props, __assign(__assign({}, restProps), { value: date, adapter: adapter, onChange: handleDateChange, onFocus: handleOpen, onBlur: handleClose, isOpen: isOpen, range: false }));
24
+ return (_c = props.children) === null || _c === void 0 ? void 0 : _c.call(props, __assign(__assign({}, restProps), { value: date, adapter: adapter, onChange: handleDateChange, onFocus: handleOpen, onBlur: handleClose, isOpen: isOpen, range: false, timezone: timezone }));
22
25
  };
23
26
  StatefulContainer.defaultProps = {
24
27
  adapter: dateFnsAdapter,
@@ -51,6 +51,56 @@ var getEdgeDayBeforeStyle = function (code, firstChild, peekNextMonth) {
51
51
  '101010010000010': !peekNextMonth && firstChild ? { content: 'none' } : pseudoSelectedStyle,
52
52
  }[code] || {});
53
53
  };
54
+ function generateDayStyles(defaultCode, defaultStyle) {
55
+ var _a;
56
+ var codeForSM = "".concat(defaultCode.substr(0, 12), "1").concat(defaultCode.substr(12 + 1));
57
+ var codeForEM = "".concat(defaultCode.substr(0, 13), "1").concat(defaultCode.substr(13 + 1));
58
+ return _a = {},
59
+ _a[defaultCode] = defaultStyle,
60
+ _a[codeForSM] = defaultStyle,
61
+ _a[codeForEM] = defaultStyle,
62
+ _a;
63
+ }
64
+ var getTempRTLAdaptedStyles = function (code) {
65
+ var dayStyles = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, generateDayStyles('100110100000000', {
66
+ ':before': {
67
+ right: '0%',
68
+ left: '0%',
69
+ },
70
+ })), generateDayStyles('100100001001000', {
71
+ ':before': {
72
+ right: '50%',
73
+ left: '0%',
74
+ },
75
+ })), generateDayStyles('101000001010000', {
76
+ ':before': {
77
+ right: '50%',
78
+ left: '0%',
79
+ },
80
+ })), generateDayStyles('101110100000000', {
81
+ ':before': {
82
+ right: '50%',
83
+ left: '0%',
84
+ },
85
+ })), generateDayStyles('101111000000000', {
86
+ ':before': {
87
+ left: '50%',
88
+ },
89
+ })), generateDayStyles('100111000000000', {
90
+ ':before': {
91
+ left: '50%',
92
+ },
93
+ })), generateDayStyles('101000001001000', {
94
+ ':before': {
95
+ left: '50%',
96
+ },
97
+ })), generateDayStyles('100100001010000', {
98
+ ':before': {
99
+ left: '50%',
100
+ },
101
+ }));
102
+ return dayStyles[code] || {};
103
+ };
54
104
  export var getDayStyles = function (todaySOD) { return [
55
105
  'text-12 leading-8 w-9',
56
106
  function (_a, props) {
@@ -73,7 +123,7 @@ export var getDayStyles = function (todaySOD) { return [
73
123
  !$isHovered &&
74
124
  !$hasRangeHighlighted && {
75
125
  backgroundColor: 'transparent',
76
- })), { backgroundColor: backgroundColor, height: '100%', top: 0 }), ':before': __assign(__assign(__assign(__assign({ borderTopWidth: '0px', borderBottomWidth: '0px', borderLeftWidth: '0px', borderRightWidth: '0px' }, ($outsideMonthWithinRange ? { content: '' } : {})), ($startOfMonth
126
+ })), { backgroundColor: backgroundColor, height: '100%', top: 0 }), ':before': __assign(__assign(__assign(__assign(__assign({ borderTopWidth: '0px', borderBottomWidth: '0px', borderLeftWidth: '0px', borderRightWidth: '0px' }, ($outsideMonthWithinRange ? { content: '' } : {})), ($startOfMonth
77
127
  ? {
78
128
  borderTopLeftRadius: '100%',
79
129
  borderBottomLeftRadius: '100%',
@@ -83,7 +133,7 @@ export var getDayStyles = function (todaySOD) { return [
83
133
  borderTopRightRadius: '100%',
84
134
  borderBottomRightRadius: '100%',
85
135
  }
86
- : {})), ($outsideMonth ? { backgroundColor: 'transparent' } : {})), ':first-child': __assign({}, ($range
136
+ : {})), ($outsideMonth ? { backgroundColor: 'transparent' } : {})), (getTempRTLAdaptedStyles(code)[':before'] || {})), ':first-child': __assign({}, ($range
87
137
  ? {
88
138
  ':before': __assign({}, getEdgeDayBeforeStyle(code, true, props.$peekNextMonth)),
89
139
  }
@@ -94,7 +144,7 @@ export var getDayStyles = function (todaySOD) { return [
94
144
  : {})) }, (dateFnsAdapter.isEqual($date, todaySOD) &&
95
145
  !$selected && {
96
146
  color: theme.spr.text04,
97
- })), ($outsideMonth && { color: theme.spr.text03 }));
147
+ })), ($outsideMonth && { color: $selected ? theme.spr.text05 : theme.spr.text03 }));
98
148
  },
99
149
  ]; };
100
150
  export var StyledFooter = styled('div', 'flex px-4 py-3');
@@ -19,6 +19,7 @@ export declare type DateTimeSelectSharedProps = {
19
19
  export declare type DatepickerOverrides<T = SharedStyleProps> = {
20
20
  CalendarContainer?: Override<T>;
21
21
  CalendarHeader?: Override<T>;
22
+ Calendar?: Override<CalendarProps & Record<string, any>>;
22
23
  Day?: Override<T>;
23
24
  Input?: Override<T>;
24
25
  InputWrapper?: Override<T>;
@@ -43,7 +44,11 @@ export declare type DatepickerOverrides<T = SharedStyleProps> = {
43
44
  Footer?: Override<T>;
44
45
  DateTimeSelect?: Override<DateTimeSelectSharedProps>;
45
46
  };
47
+ export declare type Nullable<T> = T | null | undefined;
46
48
  export declare type StatelessDatePickerProps = Omit<BaseDatepickerProps, 'timeSelectStart' | 'timeSelectEnd' | 'value' | 'onChange' | 'quickSelect' | 'quickSelectOptions' | 'size' | 'overrides' | 'onDayClick' | 'onDayMouseOver' | 'onDayMouseLeave' | 'onMonthChange' | 'onYearChange' | 'formatString' | 'peekNextMonth' | 'fixedHeight'> & {
49
+ id?: string;
50
+ showTimezone?: boolean;
51
+ timezone?: string;
47
52
  intent?: Intent;
48
53
  timeSelect?: boolean;
49
54
  onBlur?: () => void;
@@ -53,7 +58,8 @@ export declare type StatelessDatePickerProps = Omit<BaseDatepickerProps, 'timeSe
53
58
  variant?: InputVariant;
54
59
  value: Date | Date[] | undefined;
55
60
  onChange?: (data: {
56
- value?: (Date | undefined | null)[] | Date | null;
61
+ value?: Nullable<Date>[] | Nullable<Date>;
62
+ timezone?: string;
57
63
  }) => any;
58
64
  size?: InputSize;
59
65
  overrides?: DatepickerOverrides;
@@ -75,8 +81,11 @@ export declare type StatefulContainerProps = {
75
81
  value?: Date;
76
82
  onChange?: (data: {
77
83
  value?: Date | undefined | null;
84
+ timezone?: string;
78
85
  }) => any;
79
86
  startOpen?: boolean;
87
+ showTimezone?: boolean;
88
+ timezone?: string;
80
89
  };
81
90
  export declare type DatePickerProps = Omit<StatelessDatePickerProps, 'value' | 'range'> & Omit<StatefulContainerProps, 'children'>;
82
91
  export declare type DatePickerSharedProps = SharedStylePropsT;
@@ -5,9 +5,11 @@ interface FormatDateParams {
5
5
  formatString?: string;
6
6
  locale: any;
7
7
  dateHelpers?: DateHelpers<Date>;
8
+ timezone?: string;
9
+ showTimezone?: boolean;
8
10
  }
9
11
  export declare const normalizeDashes: (formatString: string) => string;
10
- export declare const formatDate: (params: FormatDateParams) => string;
12
+ export declare const formatDate: ({ showTimezone, ...params }: FormatDateParams) => string;
11
13
  export declare const getAriaLabel: (value: Date | Date[] | undefined, formatDisplayValue: (date?: Date | Date[] | undefined) => string, locale: Locale) => string;
12
14
  export declare const prepareLocale: (locale?: globalThis.Locale, options?: {
13
15
  weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
@@ -1,4 +1,4 @@
1
- import { __assign } from "tslib";
1
+ import { __assign, __rest } from "tslib";
2
2
  import en from 'date-fns/locale/en-US';
3
3
  import getInterpolatedString from 'baseui/helpers/i18n-interpolation';
4
4
  import DateHelpers from 'baseui/datepicker/utils/date-helpers';
@@ -6,7 +6,8 @@ import dateFnsAdapter from 'baseui/datepicker/utils/date-fns-adapter';
6
6
  import { DEFAULT_FORMAT_STRING } from './constants';
7
7
  // replacing both hyphens and em-dashes with en-dashes
8
8
  export var normalizeDashes = function (formatString) { return formatString.replace(/-/g, '–').replace(/—/g, '–'); };
9
- export var formatDate = function (params) {
9
+ export var formatDate = function (_a) {
10
+ var _b = _a.showTimezone, showTimezone = _b === void 0 ? false : _b, params = __rest(_a, ["showTimezone"]);
10
11
  var date = params.date;
11
12
  var formatString = params.formatString || normalizeDashes(DEFAULT_FORMAT_STRING);
12
13
  var dateHelpers = params.dateHelpers || new DateHelpers(dateFnsAdapter);
@@ -18,10 +19,14 @@ export var formatDate = function (params) {
18
19
  if (Array.isArray(date) && !date[0] && !date[1]) {
19
20
  return '';
20
21
  }
22
+ var formattedDate;
21
23
  if (Array.isArray(date)) {
22
- return date.map(function (day) { return format(day); }).join(' – ');
24
+ formattedDate = date.map(function (day) { return format(day); }).join(' – ');
23
25
  }
24
- return format(date);
26
+ else {
27
+ formattedDate = format(date);
28
+ }
29
+ return "".concat(formattedDate).concat(params.timezone && showTimezone ? " | ".concat(params.timezone) : '');
25
30
  };
26
31
  export var getAriaLabel = function (value, formatDisplayValue, locale) {
27
32
  // No date selected
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { DateTimeProps } from './types';
3
+ export declare const DateTime: ({ date, variant, dateTimeOptions }: DateTimeProps) => JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ //hooks
3
+ import { useDateTime } from './useDateTime';
4
+ export var DateTime = function (_a) {
5
+ var date = _a.date, variant = _a.variant, dateTimeOptions = _a.dateTimeOptions;
6
+ var formattedDate = useDateTime({ date: date, variant: variant, dateTimeOptions: dateTimeOptions });
7
+ return _jsx(_Fragment, { children: formattedDate }, void 0);
8
+ };
@@ -0,0 +1,3 @@
1
+ export { DateTime } from './DateTime';
2
+ export { useDateTime } from './useDateTime';
3
+ export * from './types';
@@ -0,0 +1,3 @@
1
+ export { DateTime } from './DateTime';
2
+ export { useDateTime } from './useDateTime';
3
+ export * from './types';
@@ -0,0 +1,21 @@
1
+ import { ValueOf } from '../utility-types';
2
+ export declare const DATE_TIME_VARIANTS: {
3
+ readonly SHORT_DATE: "shortDate";
4
+ readonly MEDIUM_DATE: "mediumDate";
5
+ readonly LONG_DATE: "longDate";
6
+ readonly FULL_DATE: "fullDate";
7
+ readonly SHORT_TIME: "shortTime";
8
+ readonly MEDIUM_TIME: "mediumTime";
9
+ readonly LONG_TIME: "longTime";
10
+ readonly FULL_TIME: "fullTime";
11
+ readonly SHORT_DATE_TIME: "shortDateTime";
12
+ readonly MEDIUM_DATE_TIME: "mediumDateTime";
13
+ readonly LONG_DATE_TIME: "longDateTime";
14
+ readonly FULL_DATE_TIME: "fullDateTime";
15
+ readonly CUSTOM: "custom";
16
+ };
17
+ export declare type DateTimeProps = {
18
+ date: Date | number;
19
+ variant: ValueOf<typeof DATE_TIME_VARIANTS>;
20
+ dateTimeOptions?: Intl.DateTimeFormatOptions;
21
+ };
@@ -0,0 +1,15 @@
1
+ export var DATE_TIME_VARIANTS = {
2
+ SHORT_DATE: 'shortDate',
3
+ MEDIUM_DATE: 'mediumDate',
4
+ LONG_DATE: 'longDate',
5
+ FULL_DATE: 'fullDate',
6
+ SHORT_TIME: 'shortTime',
7
+ MEDIUM_TIME: 'mediumTime',
8
+ LONG_TIME: 'longTime',
9
+ FULL_TIME: 'fullTime',
10
+ SHORT_DATE_TIME: 'shortDateTime',
11
+ MEDIUM_DATE_TIME: 'mediumDateTime',
12
+ LONG_DATE_TIME: 'longDateTime',
13
+ FULL_DATE_TIME: 'fullDateTime',
14
+ CUSTOM: 'custom',
15
+ };
@@ -0,0 +1,2 @@
1
+ import { DateTimeProps } from './types';
2
+ export declare const useDateTime: ({ date, variant, dateTimeOptions }: DateTimeProps) => string;
@@ -0,0 +1,9 @@
1
+ import { __assign } from "tslib";
2
+ import { useLocale } from '../locale';
3
+ import { VARIANTS_DATE_FORMAT_OPTIONS } from './variants';
4
+ export var useDateTime = function (_a) {
5
+ var date = _a.date, variant = _a.variant, dateTimeOptions = _a.dateTimeOptions;
6
+ var variantOptions = VARIANTS_DATE_FORMAT_OPTIONS[variant];
7
+ var langCode = useLocale().langCode;
8
+ return Intl.DateTimeFormat(langCode, __assign(__assign({}, variantOptions), dateTimeOptions)).format(date);
9
+ };
@@ -0,0 +1,4 @@
1
+ export declare const DEFAULT_VARIANT: "shortDate";
2
+ export declare const VARIANTS_DATE_FORMAT_OPTIONS: {
3
+ [key: string]: Intl.DateTimeFormatOptions;
4
+ };
@@ -0,0 +1,84 @@
1
+ var _a;
2
+ import { DATE_TIME_VARIANTS } from './types';
3
+ export var DEFAULT_VARIANT = DATE_TIME_VARIANTS.SHORT_DATE; //dd/mm/yyyy in en_US
4
+ export var VARIANTS_DATE_FORMAT_OPTIONS = (_a = {},
5
+ _a[DATE_TIME_VARIANTS.SHORT_DATE] = { year: 'numeric', month: 'numeric', day: 'numeric' },
6
+ _a[DATE_TIME_VARIANTS.MEDIUM_DATE] = {
7
+ year: 'numeric',
8
+ month: 'short',
9
+ day: 'numeric',
10
+ },
11
+ _a[DATE_TIME_VARIANTS.LONG_DATE] = {
12
+ year: 'numeric',
13
+ month: 'long',
14
+ day: 'numeric',
15
+ },
16
+ _a[DATE_TIME_VARIANTS.FULL_DATE] = {
17
+ year: 'numeric',
18
+ month: 'long',
19
+ day: 'numeric',
20
+ weekday: 'long',
21
+ },
22
+ _a[DATE_TIME_VARIANTS.SHORT_TIME] = {
23
+ hour: 'numeric',
24
+ minute: 'numeric',
25
+ hour12: true,
26
+ },
27
+ _a[DATE_TIME_VARIANTS.MEDIUM_TIME] = {
28
+ hour: 'numeric',
29
+ minute: 'numeric',
30
+ second: 'numeric',
31
+ hour12: true,
32
+ },
33
+ _a[DATE_TIME_VARIANTS.LONG_TIME] = {
34
+ hour: 'numeric',
35
+ minute: 'numeric',
36
+ second: 'numeric',
37
+ hour12: false,
38
+ timeZoneName: 'short',
39
+ },
40
+ _a[DATE_TIME_VARIANTS.FULL_TIME] = {
41
+ hour: 'numeric',
42
+ minute: 'numeric',
43
+ second: 'numeric',
44
+ hour12: false,
45
+ timeZoneName: 'long',
46
+ },
47
+ _a[DATE_TIME_VARIANTS.SHORT_DATE_TIME] = {
48
+ year: 'numeric',
49
+ month: 'numeric',
50
+ day: 'numeric',
51
+ hour: 'numeric',
52
+ minute: 'numeric',
53
+ hour12: true,
54
+ },
55
+ _a[DATE_TIME_VARIANTS.MEDIUM_DATE_TIME] = {
56
+ year: 'numeric',
57
+ month: 'short',
58
+ day: 'numeric',
59
+ hour: 'numeric',
60
+ minute: 'numeric',
61
+ hour12: true,
62
+ },
63
+ _a[DATE_TIME_VARIANTS.LONG_DATE_TIME] = {
64
+ year: 'numeric',
65
+ month: 'long',
66
+ day: 'numeric',
67
+ hour: 'numeric',
68
+ minute: 'numeric',
69
+ second: 'numeric',
70
+ hour12: true,
71
+ timeZoneName: 'short',
72
+ },
73
+ _a[DATE_TIME_VARIANTS.FULL_DATE_TIME] = {
74
+ year: 'numeric',
75
+ month: 'long',
76
+ day: 'numeric',
77
+ weekday: 'long',
78
+ hour: 'numeric',
79
+ minute: 'numeric',
80
+ second: 'numeric',
81
+ hour12: false,
82
+ timeZoneName: 'long',
83
+ },
84
+ _a);
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { FormControlProps } from './types';
3
- declare const FormControl: ({ overrides, label, caption, disabled, error, positive, htmlFor, children, intent, required, layout, $as, className, subText, subTextAsIcon, }: FormControlProps) => React.ReactElement;
3
+ declare const FormControl: React.ForwardRefExoticComponent<FormControlProps & React.RefAttributes<HTMLElement>>;
4
4
  export { FormControl };
@@ -1,8 +1,8 @@
1
1
  import { __assign, __read } from "tslib";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import _uniqueId from 'lodash/uniqueId';
4
- import { useMemo, useRef } from 'react';
3
+ import { useMemo, forwardRef } from 'react';
5
4
  import * as React from 'react';
5
+ import { useUID } from 'react-uid';
6
6
  import { add$props } from '../helpers';
7
7
  import { Stack, StackItem } from '../stack';
8
8
  import InfoIcon from '../icon/components/info';
@@ -23,32 +23,37 @@ function chooseRenderedHint(caption, error, positive, sharedProps) {
23
23
  }
24
24
  return null;
25
25
  }
26
- var FormControl = function (_a) {
26
+ var FormControl = forwardRef(function (_a, ref) {
27
27
  var overrides = _a.overrides, label = _a.label, caption = _a.caption, disabled = _a.disabled, error = _a.error, positive = _a.positive, htmlFor = _a.htmlFor, children = _a.children, intent = _a.intent, required = _a.required, layout = _a.layout, $as = _a.$as, className = _a.className, subText = _a.subText, subTextAsIcon = _a.subTextAsIcon;
28
28
  var onlyChildProps = React.Children.only(children).props;
29
- var a11yCaptionId = useRef(_uniqueId('sw-id-'));
29
+ var a11yCaptionId = useUID();
30
+ var a11LabelId = useUID();
31
+ var a11SubTextId = useUID();
32
+ var fieldUniqueId = useUID();
30
33
  // First try to infer id from props or children. Create new id if needed.
31
- var a11yFieldId = useRef(htmlFor || onlyChildProps.id || _uniqueId('sw-id-'));
32
- var sharedProps = __assign(__assign({}, add$props({ required: required, layout: layout, intent: intent, disabled: disabled })), { $error: !!error, $positive: !!positive });
34
+ var a11yFieldId = htmlFor || onlyChildProps.id || fieldUniqueId;
35
+ var sharedProps = __assign(__assign({}, add$props({ required: required, layout: layout, intent: intent, disabled: disabled })), { $error: !!error, $positive: !!positive, $hasSubText: !!subText, $subTextAsIcon: subTextAsIcon });
33
36
  var hint = chooseRenderedHint(caption, error, positive, sharedProps);
34
37
  var hintEl = intent === 'error' && (caption || error) ? (_jsxs(Stack, __assign({ direction: "horizontal", gap: 2, shrink: true }, { children: [_jsx(ErrorIcon, { size: 14 }, void 0), _jsx(StackItem, { children: hint }, void 0)] }), void 0)) : (hint);
35
38
  var _b = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.LabelContainer, StyledLabelContainer), 2), LabelContainer = _b[0], labelContainerProps = _b[1], _c = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.Label, StyledLabel), 2), Label = _c[0], labelProps = _c[1], _d = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.RequiredDot, StyledRequiredDot), 2), RequiredDot = _d[0], requiredDotProps = _d[1], _e = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.Root, StyledRoot), 2), Root = _e[0], rootProps = _e[1], _f = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.SubText, StyledSubText), 2), SubText = _f[0], subTextProps = _f[1], _g = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.InfoIconContainer, StyledInfoIconContainer), 2), InfoIconContainer = _g[0], infoIconContainerProps = _g[1], _h = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.ControlContainer, StyledControlContainer), 2), ControlContainer = _h[0], controlContainerProps = _h[1], _j = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.Caption, StyledCaption), 2), Caption = _j[0], captionProps = _j[1], _k = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.SubTextTooltip, StatefulTooltip), 2), SubTextTooltip = _k[0], subTextTooltipProps = _k[1];
36
39
  var formControlProviderValue = useMemo(function () { return ({ intent: intent }); }, [intent]);
37
40
  var shouldRenderSubTextInTooltip = layout === 'horizontal' || subTextAsIcon;
38
- return (_jsx(FormControlProvider, __assign({ value: formControlProviderValue }, { children: _jsxs(Root, __assign({ "data-testid": "form-control", "data-spaceweb": "form-control", className: className, "$as": $as }, sharedProps, rootProps, { children: [label && (_jsxs(LabelContainer, __assign({ "data-testid": "form-control-label-container" }, sharedProps, labelContainerProps, { children: [_jsx(Label, __assign({ "data-spaceweb": "form-control-label", htmlFor: a11yFieldId.current }, sharedProps, labelProps, { children: typeof label === 'function' ? label(sharedProps) : label }), void 0), required && _jsx(RequiredDot, __assign({ "data-testid": "form-required" }, requiredDotProps), void 0), subText && shouldRenderSubTextInTooltip ? (_jsx(SubTextTooltip, __assign({ content: subText, size: "md" }, subTextTooltipProps, { children: _jsx(InfoIconContainer, __assign({}, infoIconContainerProps, { children: _jsx(InfoIcon, { className: "h-2 w-2" }, void 0) }), void 0) }), void 0)) : null] }), void 0)), subText && !shouldRenderSubTextInTooltip ? (_jsx(SubText, __assign({}, subTextProps, { children: typeof subText === 'function' ? subText(sharedProps) : subText }), void 0)) : null, _jsxs(ControlContainer, __assign({ "data-spaceweb": "form-control-container" }, sharedProps, controlContainerProps, { children: [React.Children.map(children, function (child, index) {
41
+ return (_jsx(FormControlProvider, __assign({ value: formControlProviderValue }, { children: _jsxs(Root, __assign({ ref: ref, "data-testid": "form-control", "data-spaceweb": "form-control", className: className, "$as": $as }, sharedProps, rootProps, { children: [label && (_jsxs(LabelContainer, __assign({ "data-testid": "form-control-label-container" }, sharedProps, labelContainerProps, { children: [_jsx(Label, __assign({ id: a11LabelId, "data-spaceweb": "form-control-label", htmlFor: a11yFieldId }, sharedProps, labelProps, { children: typeof label === 'function' ? label(sharedProps) : label }), void 0), required && _jsx(RequiredDot, __assign({ "data-testid": "form-required" }, requiredDotProps), void 0), subText && shouldRenderSubTextInTooltip ? (_jsx(SubTextTooltip, __assign({ content: subText, size: "md" }, subTextTooltipProps, { children: _jsx(InfoIconContainer, __assign({}, infoIconContainerProps, { children: _jsx(InfoIcon, { className: "h-2 w-2" }, void 0) }), void 0) }), void 0)) : null] }), void 0)), subText && !shouldRenderSubTextInTooltip ? (_jsx(SubText, __assign({ id: a11SubTextId }, subTextProps, { children: typeof subText === 'function' ? subText(sharedProps) : subText }), void 0)) : null, _jsxs(ControlContainer, __assign({ "data-spaceweb": "form-control-container" }, sharedProps, controlContainerProps, { children: [React.Children.map(children, function (child, index) {
39
42
  if (!child)
40
43
  return null;
41
44
  var key = child.key || String(index);
42
45
  return React.cloneElement(child, {
43
46
  key: key,
44
- id: a11yFieldId.current,
45
- 'aria-errormessage': error ? a11yCaptionId.current : null,
46
- 'aria-describedby': caption || positive ? a11yCaptionId.current : null,
47
+ id: a11yFieldId,
48
+ 'aria-errormessage': error ? a11yCaptionId : null,
49
+ 'aria-describedby': caption || positive || subText
50
+ ? "".concat(subText ? a11SubTextId : '', " ").concat(caption ? a11yCaptionId : '', " ")
51
+ : null,
47
52
  'aria-required': required ? 'true' : 'false',
48
53
  disabled: onlyChildProps.disabled || disabled,
49
54
  error: typeof onlyChildProps.error !== 'undefined' ? onlyChildProps.error : error,
50
55
  positive: typeof onlyChildProps.positive !== 'undefined' ? onlyChildProps.positive : positive,
51
56
  });
52
- }), (caption || error || positive) && (_jsx(Caption, __assign({ "data-spaceweb": "form-control-caption", id: a11yCaptionId.current }, sharedProps, captionProps, { children: hintEl }), void 0))] }), void 0)] }), void 0) }), void 0));
53
- };
57
+ }), (caption || error || positive) && (_jsx(Caption, __assign({ "data-spaceweb": "form-control-caption", id: a11yCaptionId }, sharedProps, captionProps, { children: hintEl }), void 0))] }), void 0)] }), void 0) }), void 0));
58
+ });
54
59
  export { FormControl };
@@ -14,20 +14,31 @@ var getIntentColor = function (_a, _b) {
14
14
  return { color: theme.spr.text02 };
15
15
  }
16
16
  };
17
- export var StyledSubText = styled('div', 'spr-text-02 typography-l3 mb-1');
17
+ export var StyledSubText = styled('div', 'spr-text-02 mb-1', {
18
+ fontSize: '13px',
19
+ lineHeight: '16px',
20
+ fontWeight: 400,
21
+ });
18
22
  export var StyledInfoIconContainer = styled('div', 'spr-ui-03 rounded-full flex items-center justify-center ml-2 flex-shrink-0', function (_a) {
19
23
  var px2rem = _a.px2rem;
20
24
  return ({ height: px2rem(14), width: px2rem(14) });
21
25
  });
22
- export var StyledRequiredDot = styled('span', 'ml-1 spr-support-error rounded-full h-1 w-1 flex-shrink-0');
26
+ export var StyledRequiredDot = styled('span', 'spr-support-error rounded-full h-1 w-1 flex-shrink-0 ml-1');
23
27
  export var StyledRoot = styled('div', 'flex', function (utils, _a) {
24
28
  var $layout = _a.$layout;
25
29
  return $layout === 'horizontal' ? 'flex-row items-baseline' : 'flex-col';
26
30
  });
27
- export var StyledCaption = styled('div', 'typography-l2 my-1', getIntentColor);
28
- export var StyledLabelContainer = styled('div', 'flex items-center mb-1 w-full', function (utils, _a) {
31
+ export var StyledCaption = styled('div', 'typography-l2 mt-1', getIntentColor);
32
+ export var StyledLabelContainer = styled('div', 'flex items-center w-full', function (utils, _a) {
29
33
  var $layout = _a.$layout;
30
- return $layout === 'horizontal' ? 'w-4/24 mr-2' : '';
34
+ return ($layout === 'horizontal' ? 'w-4/24 mr-2' : '');
35
+ }, function (utils, _a) {
36
+ var $hasSubText = _a.$hasSubText, $subTextAsIcon = _a.$subTextAsIcon;
37
+ return (!$hasSubText || $subTextAsIcon ? 'mb-1' : '');
38
+ });
39
+ export var StyledLabel = styled('label', 'spr-text-02', {
40
+ fontSize: '14px',
41
+ lineHeight: '18px',
42
+ fontWeight: 400,
31
43
  });
32
- export var StyledLabel = styled('label', 'typography-l1 text-14 spr-text-02');
33
44
  export var StyledControlContainer = styled('div', 'w-full');
@@ -2,9 +2,11 @@ import { __assign, __rest } from "tslib";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import IconButton from '../button/IconButton';
4
4
  import Close from '../icon/components/close';
5
+ import { useLocale } from '../locale';
5
6
  var ClearIconButton = function (_a) {
6
7
  var size = _a.size, $size = _a.$size, $isOpen = _a.$isOpen, props = __rest(_a, ["size", "$size", "$isOpen"]);
7
- return (_jsx(IconButton, __assign({}, props, { overrides: {
8
+ var locale = useLocale();
9
+ return (_jsx(IconButton, __assign({ "aria-label": locale.input.clearAriaLabel }, props, { overrides: {
8
10
  BaseButton: {
9
11
  style: [
10
12
  'h-5 w-5 spr-text-02 hover:spr-text-01 focus:spr-text-01 hover:spr-ui-03 focus:spr-ui-03 bg-transparent',
@@ -0,0 +1 @@
1
+ export declare const StyledTombstone: import("../style/styled").StyledComponent;