@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
@@ -3,47 +3,52 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StyledText = exports.StyledAction = exports.StyledRoot = exports.StyledStartEnhancer = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var longHandHelpers_1 = require("../helpers/longHandHelpers");
6
- var themeHelpers_1 = require("../helpers/themeHelpers");
7
6
  var commonStyles_1 = require("../helpers/commonStyles");
8
7
  var style_1 = require("../style");
9
8
  var intentStyles_1 = require("./intentStyles");
10
- exports.StyledStartEnhancer = (0, style_1.styled)('div', 'inline-flex items-center', function (_a) {
11
- var px2rem = _a.px2rem;
12
- return ({
13
- marginRight: px2rem(6),
14
- });
9
+ var utils_1 = require("./utils");
10
+ exports.StyledStartEnhancer = (0, style_1.styled)('div', 'inline-flex items-center', function (_a, _b) {
11
+ var px2rem = _a.px2rem, theme = _a.theme;
12
+ var $size = _b.$size;
13
+ var _c = (0, utils_1.getTagSizeTheme)(theme, $size), startEnhancerMarginLeft = _c.startEnhancerMarginLeft, startEnhancerMarginRight = _c.startEnhancerMarginRight;
14
+ return {
15
+ marginRight: startEnhancerMarginRight,
16
+ marginLeft: startEnhancerMarginLeft,
17
+ };
15
18
  });
16
19
  exports.StyledRoot = (0, style_1.styled)('span', 'inline-flex items-center box-border', function (utils, _a) {
17
20
  var _b;
18
21
  var $withStartEnhancer = _a.$withStartEnhancer, $size = _a.$size, $closeable = _a.$closeable, $intent = _a.$intent, $variant = _a.$variant, $clickable = _a.$clickable, $isFocusVisible = _a.$isFocusVisible;
19
- var direction = utils.direction, theme = utils.theme, px2rem = utils.px2rem;
20
- var paddingStartDir = direction === 'rtl' ? 'paddingRight' : 'paddingLeft';
21
- var paddingEndDir = direction === 'rtl' ? 'paddingLeft' : 'paddingRight';
22
- var borderRadius = (0, themeHelpers_1.getComponentTheme)(theme, 'tag').borderRadius;
23
- var height = (0, themeHelpers_1.getComponentSizeTheme)(theme, 'tag', $size, 'lg').height;
24
- var paddingStart = $size === 'sm' ? px2rem(10) : theme.padding['3'];
25
- if ($withStartEnhancer)
26
- paddingStart = theme.padding['1'];
27
- var paddingEnd = $closeable ? '0' : paddingStart;
22
+ var theme = utils.theme;
23
+ var paddingStartDir = 'paddingLeft';
24
+ var paddingEndDir = 'paddingRight';
25
+ var _c = (0, utils_1.getTagSizeTheme)(theme, $size), height = _c.height, borderRadius = _c.borderRadius, paddingX = _c.paddingX, paddingY = _c.paddingY;
26
+ var paddingStart = $withStartEnhancer ? '0' : paddingX;
27
+ var paddingEnd = $closeable ? '0' : paddingX;
28
28
  var typographyStyles = $intent === 'default'
29
29
  ? (0, tslib_1.__assign)((0, tslib_1.__assign)({}, theme.typography.l2), { fontWeight: theme.fontWeight.normal }) : (0, tslib_1.__assign)((0, tslib_1.__assign)({}, theme.typography.l2), { fontWeight: theme.fontWeight.semibold });
30
30
  var hoverStyles = (0, tslib_1.__assign)({ boxShadow: 'inset 0px 0px 100px rgba(0, 0, 0, 0.08)' }, (0, longHandHelpers_1.borderColor)(theme.spr.border06));
31
31
  var activeStyles = (0, tslib_1.__assign)({}, (0, longHandHelpers_1.borderColor)(theme.spr.interactive01));
32
- return (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((_b = { height: height }, _b[paddingStartDir] = paddingStart, _b[paddingEndDir] = paddingEnd, _b.maxWidth = 'none', _b), typographyStyles), (0, longHandHelpers_1.margin)(0)), (0, longHandHelpers_1.borderStyle)('solid')), (0, longHandHelpers_1.borderColor)(theme.borderColor.transparent)), (0, longHandHelpers_1.borderWidth)('1px')), (0, longHandHelpers_1.borderRadius)(borderRadius)), (0, intentStyles_1.getIntentStyles)(theme, $intent, $variant)), ($clickable && (0, tslib_1.__assign)({ cursor: 'pointer',
32
+ return (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((_b = { height: height }, _b[paddingStartDir] = paddingStart, _b[paddingEndDir] = paddingEnd, _b.paddingTop = paddingY, _b.paddingBottom = paddingY, _b.maxWidth = 'none', _b), typographyStyles), (0, longHandHelpers_1.margin)(0)), (0, longHandHelpers_1.borderStyle)('solid')), (0, longHandHelpers_1.borderColor)(theme.borderColor.transparent)), (0, longHandHelpers_1.borderWidth)('1px')), (0, longHandHelpers_1.borderRadius)(borderRadius)), (0, intentStyles_1.getIntentStyles)(theme, $intent, $variant)), ($clickable && (0, tslib_1.__assign)({ cursor: 'pointer',
33
33
  // temporary boxShadow onHover
34
34
  ':hover': hoverStyles, ':active': activeStyles }, (0, commonStyles_1.getFocusVisibleStyles)(utils)))), { ':focus': (0, tslib_1.__assign)({}, ($isFocusVisible && hoverStyles)) });
35
35
  });
36
- exports.StyledAction = (0, style_1.styled)('span', 'cursor-pointer inline-flex items-center justify-center pl-2 pr-2', function (_a) {
37
- var _b;
38
- var px2rem = _a.px2rem, direction = _a.direction;
39
- var marginStartDir = direction === 'rtl' ? 'marginRight' : 'marginLeft';
40
- return _b = {},
41
- _b[marginStartDir] = px2rem(6),
42
- _b;
36
+ exports.StyledAction = (0, style_1.styled)('span', 'cursor-pointer inline-flex items-center justify-center', function (_a, _b) {
37
+ var theme = _a.theme;
38
+ var $size = _b.$size;
39
+ var clearableIconMarginX = (0, utils_1.getTagSizeTheme)(theme, $size).clearableIconMarginX;
40
+ return {
41
+ marginRight: clearableIconMarginX,
42
+ marginLeft: clearableIconMarginX,
43
+ };
43
44
  });
44
- exports.StyledText = (0, style_1.styled)('span', 'truncate', function (_a) {
45
- var px2rem = _a.px2rem;
46
- return ({
45
+ exports.StyledText = (0, style_1.styled)('span', 'truncate', function (_a, _b) {
46
+ var px2rem = _a.px2rem, theme = _a.theme;
47
+ var $size = _b.$size;
48
+ var _c = (0, utils_1.getTagSizeTheme)(theme, $size), fontSize = _c.fontSize, lineHeight = _c.lineHeight;
49
+ return {
47
50
  maxWidth: px2rem(128),
48
- });
51
+ fontSize: fontSize,
52
+ lineHeight: lineHeight,
53
+ };
49
54
  });
package/tag/tag.js CHANGED
@@ -3,18 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  var jsx_runtime_1 = require("react/jsx-runtime");
5
5
  var react_1 = require("react");
6
+ var omit_1 = (0, tslib_1.__importDefault)(require("lodash/omit"));
6
7
  var button_1 = require("../button");
7
- var themeHelpers_1 = require("../helpers/themeHelpers");
8
8
  var useFocusVisible_1 = require("../hooks/useFocusVisible");
9
9
  var close_1 = (0, tslib_1.__importDefault)(require("../icon/components/close"));
10
10
  var overrides_1 = require("../overrides");
11
11
  var style_1 = require("../style");
12
12
  var styled_components_1 = require("./styled-components");
13
13
  var utils_1 = require("./utils");
14
+ var locale_1 = require("../locale");
15
+ var longHandHelpers_1 = require("../helpers/longHandHelpers");
14
16
  var Tag = (0, react_1.forwardRef)(function (props, ref) {
15
- var children = props.children, _a = props.closeable, closeable = _a === void 0 ? true : _a, _b = props.size, size = _b === void 0 ? 'lg' : _b, _c = props.isFocused, isFocused = _c === void 0 ? false : _c, _d = props.isHovered, isHovered = _d === void 0 ? false : _d, onActionClick = props.onActionClick, onActionKeyDown = props.onActionKeyDown, _e = props.onClick, onClick = _e === void 0 ? null : _e, _f = props.onKeyDown, onKeyDown = _f === void 0 ? null : _f, overrides = props.overrides, title = props.title, _g = props.variant, variant = _g === void 0 ? 'light' : _g, _h = props.intent, intent = _h === void 0 ? 'default' : _h, className = props.className, startEnhancer = props.startEnhancer, restProps = (0, tslib_1.__rest)(props, ["children", "closeable", "size", "isFocused", "isHovered", "onActionClick", "onActionKeyDown", "onClick", "onKeyDown", "overrides", "title", "variant", "intent", "className", "startEnhancer"]);
16
- var _j = (0, useFocusVisible_1.useFocusVisible)(), $isFocusVisible = _j.$isFocusVisible, onBlur = _j.onBlur, onFocus = _j.onFocus;
17
+ var children = props.children, _a = props.closeable, closeable = _a === void 0 ? true : _a, _size = props.size, _b = props.isFocused, isFocused = _b === void 0 ? false : _b, _c = props.isHovered, isHovered = _c === void 0 ? false : _c, onActionClick = props.onActionClick, onActionKeyDown = props.onActionKeyDown, _d = props.onClick, onClick = _d === void 0 ? null : _d, _e = props.onKeyDown, onKeyDown = _e === void 0 ? null : _e, overrides = props.overrides, title = props.title, _f = props.variant, variant = _f === void 0 ? 'light' : _f, _g = props.intent, intent = _g === void 0 ? 'default' : _g, className = props.className, startEnhancer = props.startEnhancer, restProps = (0, tslib_1.__rest)(props, ["children", "closeable", "size", "isFocused", "isHovered", "onActionClick", "onActionKeyDown", "onClick", "onKeyDown", "overrides", "title", "variant", "intent", "className", "startEnhancer"]);
18
+ var _h = (0, useFocusVisible_1.useFocusVisible)(), $isFocusVisible = _h.$isFocusVisible, onBlur = _h.onBlur, onFocus = _h.onFocus;
17
19
  var theme = (0, style_1.useStyle)().theme;
20
+ var size = _size !== null && _size !== void 0 ? _size : (0, utils_1.getDefaultTagSize)(theme);
18
21
  var handleKeyDown = (0, react_1.useCallback)(function (event) {
19
22
  if (event.currentTarget !== event.target) {
20
23
  return;
@@ -31,11 +34,11 @@ var Tag = (0, react_1.forwardRef)(function (props, ref) {
31
34
  onKeyDown(event);
32
35
  }
33
36
  }, [closeable, onActionClick, onActionKeyDown, onClick, onKeyDown]);
34
- var _k = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.Root, styled_components_1.StyledRoot), 2), Root = _k[0], rootProps = _k[1];
35
- var _l = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.Action, styled_components_1.StyledAction), 2), Action = _l[0], actionProps = _l[1];
36
- var _m = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.ActionIcon, close_1.default), 2), ActionIcon = _m[0], actionIconProps = _m[1];
37
- var _o = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.Text, styled_components_1.StyledText), 2), Text = _o[0], textProps = _o[1];
38
- var _p = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.StartEnhancer, styled_components_1.StyledStartEnhancer), 2), StartEnhancer = _p[0], startEnhancerProps = _p[1];
37
+ var _j = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.Root, styled_components_1.StyledRoot), 2), Root = _j[0], rootProps = _j[1];
38
+ var _k = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.Action, styled_components_1.StyledAction), 2), Action = _k[0], actionProps = _k[1];
39
+ var _l = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.ActionIcon, close_1.default), 2), ActionIcon = _l[0], actionIconProps = _l[1];
40
+ var _m = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.Text, styled_components_1.StyledText), 2), Text = _m[0], textProps = _m[1];
41
+ var _o = (0, tslib_1.__read)((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.StartEnhancer, styled_components_1.StyledStartEnhancer), 2), StartEnhancer = _o[0], startEnhancerProps = _o[1];
39
42
  var clickable = typeof onClick === 'function';
40
43
  var sharedProps = {
41
44
  $clickable: clickable,
@@ -49,9 +52,14 @@ var Tag = (0, react_1.forwardRef)(function (props, ref) {
49
52
  $intent: intent,
50
53
  };
51
54
  var titleText = title || (0, utils_1.getTextFromChildren)(children);
52
- var actionSize = 8;
53
- var actionButtonBorderRadius = (0, themeHelpers_1.getComponentTheme)(theme, 'tag').actionButtonBorderRadius;
54
- return ((0, jsx_runtime_1.jsxs)(Root, (0, tslib_1.__assign)({ ref: ref, "data-spaceweb": "tag", role: clickable ? 'button' : null, tabIndex: clickable ? 0 : null, onFocus: onFocus, onBlur: onBlur, className: className, onClick: onClick, onKeyDown: handleKeyDown }, sharedProps, restProps, rootProps, { children: [startEnhancer && ((0, jsx_runtime_1.jsx)(StartEnhancer, (0, tslib_1.__assign)({}, sharedProps, startEnhancerProps, { children: typeof startEnhancer === 'function' ? startEnhancer(sharedProps) : startEnhancer }), void 0)), (0, jsx_runtime_1.jsx)(Text, (0, tslib_1.__assign)({ title: titleText }, sharedProps, textProps, { children: children }), void 0), closeable ? ((0, jsx_runtime_1.jsx)(Action, (0, tslib_1.__assign)({ "aria-hidden": true, role: "presentation", onClick: onActionClick }, sharedProps, actionProps, { children: (0, jsx_runtime_1.jsx)(button_1.IconButton, (0, tslib_1.__assign)({ type: "button", size: "xxxs", shape: "square", className: "hover:spr-clr-grey" }, { children: (0, jsx_runtime_1.jsx)(ActionIcon, (0, tslib_1.__assign)({}, actionIconProps), void 0) }), void 0) }), void 0)) : null] }), void 0));
55
+ var _p = (0, utils_1.getTagSizeTheme)(theme, size), clearableIconSize = _p.clearableIconSize, clearableIconButtonSize = _p.clearableIconButtonSize, clearableIconButtonBorderRadius = _p.clearableIconButtonBorderRadius;
56
+ var actionIconButtonOverrides = {
57
+ BaseButton: {
58
+ style: (0, tslib_1.__assign)({ height: clearableIconButtonSize, width: clearableIconButtonSize }, (0, longHandHelpers_1.borderRadius)(clearableIconButtonBorderRadius)),
59
+ },
60
+ };
61
+ var locale = (0, locale_1.useLocale)();
62
+ return ((0, jsx_runtime_1.jsxs)(Root, (0, tslib_1.__assign)({ ref: ref, "data-spaceweb": "tag", role: clickable ? 'button' : null, tabIndex: clickable ? 0 : null, onFocus: onFocus, onBlur: onBlur, className: className, onClick: onClick, onKeyDown: handleKeyDown }, sharedProps, restProps, rootProps, { children: [startEnhancer && ((0, jsx_runtime_1.jsx)(StartEnhancer, (0, tslib_1.__assign)({}, sharedProps, startEnhancerProps, { children: typeof startEnhancer === 'function' ? startEnhancer(sharedProps) : startEnhancer }), void 0)), (0, jsx_runtime_1.jsx)(Text, (0, tslib_1.__assign)({ title: titleText }, sharedProps, textProps, { children: children }), void 0), closeable ? ((0, jsx_runtime_1.jsx)(Action, (0, tslib_1.__assign)({ "aria-hidden": true, role: "presentation", onClick: onActionClick }, sharedProps, (0, omit_1.default)(actionProps, 'tabIndex'), { children: (0, jsx_runtime_1.jsx)(button_1.IconButton, (0, tslib_1.__assign)({ shape: "square", type: "button", className: "hover:spr-clr-grey", "aria-label": locale.tag.closeAriaLabel, overrides: actionIconButtonOverrides, tabIndex: actionProps === null || actionProps === void 0 ? void 0 : actionProps.tabIndex }, { children: (0, jsx_runtime_1.jsx)(ActionIcon, (0, tslib_1.__assign)({ size: clearableIconSize }, actionIconProps), void 0) }), void 0) }), void 0)) : null] }), void 0));
55
63
  });
56
64
  Tag.displayName = 'Tag';
57
65
  exports.default = Tag;
package/tag/types.d.ts CHANGED
@@ -4,7 +4,7 @@ import { Override } from '../overrides';
4
4
  import { ClassName } from '../types';
5
5
  export declare type Intent = 'success' | 'error' | 'warning' | 'info' | 'default';
6
6
  export declare type Variant = 'solid' | 'light';
7
- export declare type Size = 'sm' | 'lg';
7
+ export declare type Size = 'xxxs' | 'sm' | 'lg';
8
8
  export declare type TagOverrides = {
9
9
  Root?: Override<SharedProps & Record<string, any>>;
10
10
  Action?: Override<SharedProps & Record<string, any>>;
@@ -34,7 +34,7 @@ export declare type TagProps = {
34
34
  variant?: Variant;
35
35
  size?: Size;
36
36
  };
37
- export declare type AvatarTagProps = Omit<TagProps, 'size' | 'overrides'> & {
37
+ export declare type AvatarTagProps = Omit<TagProps, 'overrides'> & {
38
38
  avatarProps: AvatarProps;
39
39
  overrides?: TagProps['overrides'] & {
40
40
  StartEnhancer?: Override<Record<string, any>>;
package/tag/utils.d.ts CHANGED
@@ -1,2 +1,52 @@
1
1
  import * as React from 'react';
2
+ import { Theme } from '@sprinklrjs/spaceweb-themes/types';
2
3
  export declare function getTextFromChildren(children: React.ReactNode): string | null;
4
+ export declare const getDefaultTagSize: (theme: Theme) => 'xxxs' | 'sm' | 'lg';
5
+ export declare const tagSizeMap: {
6
+ xxxs: {
7
+ paddingY: string;
8
+ paddingX: string;
9
+ height: string;
10
+ fontSize: string;
11
+ lineHeight: string;
12
+ borderRadius: string;
13
+ avatarIconSize: number;
14
+ clearableIconSize: string;
15
+ clearableIconButtonSize: string;
16
+ clearableIconButtonBorderRadius: string;
17
+ clearableIconMarginX: string;
18
+ startEnhancerMarginLeft: string;
19
+ startEnhancerMarginRight: string;
20
+ };
21
+ sm: {
22
+ paddingY: string;
23
+ paddingX: string;
24
+ height: string;
25
+ fontSize: string;
26
+ lineHeight: string;
27
+ borderRadius: string;
28
+ avatarIconSize: number;
29
+ clearableIconSize: string;
30
+ clearableIconButtonSize: string;
31
+ clearableIconButtonBorderRadius: string;
32
+ clearableIconMarginX: string;
33
+ startEnhancerMarginLeft: string;
34
+ startEnhancerMarginRight: string;
35
+ };
36
+ lg: {
37
+ paddingY: string;
38
+ paddingX: string;
39
+ height: string;
40
+ fontSize: string;
41
+ lineHeight: string;
42
+ borderRadius: string;
43
+ avatarIconSize: number;
44
+ clearableIconSize: string;
45
+ clearableIconButtonSize: string;
46
+ clearableIconButtonBorderRadius: string;
47
+ clearableIconMarginX: string;
48
+ startEnhancerMarginLeft: string;
49
+ startEnhancerMarginRight: string;
50
+ };
51
+ };
52
+ export declare const getTagSizeTheme: (theme: any, size: any) => any;
package/tag/utils.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTextFromChildren = void 0;
3
+ exports.getTagSizeTheme = exports.tagSizeMap = exports.getDefaultTagSize = exports.getTextFromChildren = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var React = (0, tslib_1.__importStar)(require("react"));
6
+ var themeHelpers_1 = require("../helpers/themeHelpers");
6
7
  var JOINABLE_TYPES = new Set(['string', 'number']);
7
8
  // Checks the children of a React component to ensure every value is a number
8
9
  // or a string. If they are, they are joined and returned. Useful for collecting
@@ -22,3 +23,68 @@ function getTextFromChildren(children) {
22
23
  return childList.join('');
23
24
  }
24
25
  exports.getTextFromChildren = getTextFromChildren;
26
+ var getDefaultTagSize = function (theme) {
27
+ switch (theme.density) {
28
+ case 'COMFORTABLE':
29
+ return 'sm';
30
+ case 'SPACIOUS':
31
+ return 'sm';
32
+ case 'COMPACT':
33
+ return 'xxxs';
34
+ default:
35
+ return 'lg';
36
+ }
37
+ };
38
+ exports.getDefaultTagSize = getDefaultTagSize;
39
+ exports.tagSizeMap = {
40
+ xxxs: {
41
+ paddingY: '1px',
42
+ paddingX: '6px',
43
+ height: '18px',
44
+ fontSize: '13px',
45
+ lineHeight: '16px',
46
+ borderRadius: '4px',
47
+ avatarIconSize: 12,
48
+ clearableIconSize: '8px',
49
+ clearableIconButtonSize: '14px',
50
+ clearableIconButtonBorderRadius: '2px',
51
+ clearableIconMarginX: '3px',
52
+ startEnhancerMarginLeft: '6px',
53
+ startEnhancerMarginRight: '2px',
54
+ },
55
+ sm: {
56
+ paddingY: '2px',
57
+ paddingX: '8px',
58
+ height: '22px',
59
+ fontSize: '14px',
60
+ lineHeight: '18px',
61
+ borderRadius: '5px',
62
+ avatarIconSize: 14,
63
+ clearableIconSize: '9px',
64
+ clearableIconButtonSize: '16px',
65
+ clearableIconButtonBorderRadius: '3px',
66
+ clearableIconMarginX: '5px',
67
+ startEnhancerMarginLeft: '8px',
68
+ startEnhancerMarginRight: '3px',
69
+ },
70
+ lg: {
71
+ paddingY: '7px',
72
+ paddingX: '12px',
73
+ height: '34px',
74
+ fontSize: '16px',
75
+ lineHeight: '18px',
76
+ borderRadius: '6px',
77
+ avatarIconSize: 20,
78
+ clearableIconSize: '10px',
79
+ clearableIconButtonSize: '18px',
80
+ clearableIconButtonBorderRadius: '3px',
81
+ clearableIconMarginX: '7px',
82
+ startEnhancerMarginLeft: '12px',
83
+ startEnhancerMarginRight: '4px',
84
+ },
85
+ };
86
+ var getTagSizeTheme = function (theme, size) {
87
+ var _a, _b;
88
+ return (_b = (_a = (0, themeHelpers_1.getComponentSizeTheme)(theme, 'tag', size, (0, exports.getDefaultTagSize)(theme))) !== null && _a !== void 0 ? _a : exports.tagSizeMap[size]) !== null && _b !== void 0 ? _b : exports.tagSizeMap[(0, exports.getDefaultTagSize)(theme)];
89
+ };
90
+ exports.getTagSizeTheme = getTagSizeTheme;
@@ -17,7 +17,7 @@ function useTextareaAdapter(props) {
17
17
  var handleChange = (0, useDebouncedEventHandler_1.useDebouncedEventHandler)((_a = props.debouncedOnChange) !== null && _a !== void 0 ? _a : noop_1.default, props.onChange, props.debounceInterval || 200);
18
18
  var overrides = (0, useConvertOverrides_1.useConvertOverrides)({
19
19
  Root: {
20
- style: [(0, tslib_1.__assign)({ backgroundColor: 'transparent' }, (0, longHandHelpers_1.borderStyle)('none'))],
20
+ style: [(0, tslib_1.__assign)((0, tslib_1.__assign)({ backgroundColor: 'transparent' }, (0, longHandHelpers_1.borderStyle)('none')), (0, longHandHelpers_1.borderRadius)('0px'))], // overriding baseweb borderRadius
21
21
  },
22
22
  InputContainer: {
23
23
  style: inputContainerStyles,
@@ -25,7 +25,7 @@ function useTextareaAdapter(props) {
25
25
  },
26
26
  Input: {
27
27
  style: styled_components_1.getTextareaInputStyles,
28
- props: (0, tslib_1.__assign)({ $autoSize: autoSize }, sharedProps),
28
+ props: (0, tslib_1.__assign)({ $autoSize: autoSize, 'aria-required': restProps['aria-required'] }, sharedProps),
29
29
  },
30
30
  }, restProps.overrides);
31
31
  var rows = autoSize && !restProps.rows ? 1 : restProps.rows;
@@ -20,7 +20,7 @@ var Textarea = function (props) {
20
20
  inputRef: autoFocusRef,
21
21
  });
22
22
  var adaptedProps = (0, basewebAdapters_1.default)(restProps);
23
- return (0, jsx_runtime_1.jsx)(textarea_1.Textarea, (0, tslib_1.__assign)({}, adaptedProps, { inputRef: inputRef }), void 0);
23
+ return ((0, jsx_runtime_1.jsx)(textarea_1.Textarea, (0, tslib_1.__assign)({}, adaptedProps, { overrides: adaptedProps.overrides, inputRef: inputRef }), void 0));
24
24
  };
25
25
  exports.Textarea = Textarea;
26
26
  exports.Textarea.displayName = 'Textarea';
@@ -28,7 +28,7 @@ var StatefulTextarea = function (props) {
28
28
  var autoFocus = props.autoFocus, restProps = (0, tslib_1.__rest)(props, ["autoFocus"]);
29
29
  var autoFocusRef = (0, useAutoFocus_1.default)({ autoFocus: autoFocus, inputRef: restProps.inputRef });
30
30
  var adaptedProps = (0, basewebAdapters_1.default)(restProps);
31
- return (0, jsx_runtime_1.jsx)(textarea_1.StatefulTextarea, (0, tslib_1.__assign)({}, adaptedProps, { inputRef: autoFocusRef }), void 0);
31
+ return ((0, jsx_runtime_1.jsx)(textarea_1.StatefulTextarea, (0, tslib_1.__assign)({}, adaptedProps, { overrides: adaptedProps.overrides, inputRef: autoFocusRef }), void 0));
32
32
  };
33
33
  exports.StatefulTextarea = StatefulTextarea;
34
34
  exports.StatefulTextarea.displayName = 'StatefulTextarea';
@@ -7,7 +7,7 @@ export declare type TextareaProps = SpacewebComponentProps<Omit<BaseTextareaProp
7
7
  size?: InputSize;
8
8
  variant?: InputVariant;
9
9
  overrides?: {
10
- [key in keyof BaseTextareaProps['overrides']]?: Override<any>;
10
+ [key in keyof Required<BaseTextareaProps>['overrides']]?: Override<any>;
11
11
  };
12
12
  intent?: Intent;
13
13
  debouncedOnChange?: BaseTextareaProps['onChange'];
@@ -20,7 +20,7 @@ export declare type StatefulTextareaProps = SpacewebComponentProps<Omit<BaseStat
20
20
  size?: InputSize;
21
21
  variant?: InputVariant;
22
22
  overrides?: {
23
- [key in keyof BaseStatefulTextareaProps['overrides']]?: Override<any>;
23
+ [key in keyof Required<BaseStatefulTextareaProps>['overrides']]?: Override<any>;
24
24
  };
25
25
  debouncedOnChange?: BaseStatefulTextareaProps['onChange'];
26
26
  debounceInterval?: number;
@@ -0,0 +1,10 @@
1
+ import { PropsWithChildren, ReactElement } from 'react';
2
+ import { ThemeProviderT } from './types';
3
+ import type { Density } from '@sprinklrjs/spaceweb-themes/types';
4
+ declare type Props = PropsWithChildren<{
5
+ theme?: ThemeProviderT;
6
+ containerElement?: HTMLElement | null;
7
+ density?: Density;
8
+ }>;
9
+ export declare const ThemeProvider: (props: Props) => ReactElement;
10
+ export {};
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThemeProvider = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var jsx_runtime_1 = require("react/jsx-runtime");
6
+ var react_1 = require("react");
7
+ var merge_1 = (0, tslib_1.__importDefault)(require("lodash/merge"));
8
+ var baseui_1 = require("baseui");
9
+ var usePrevious_1 = (0, tslib_1.__importDefault)(require("../hooks/usePrevious"));
10
+ var useMemoizedStyletron_1 = (0, tslib_1.__importDefault)(require("../style/useMemoizedStyletron"));
11
+ var themes_1 = (0, tslib_1.__importDefault)(require("../themes"));
12
+ var useIsomorphicLayoutEffect_1 = require("../hooks/useIsomorphicLayoutEffect");
13
+ var context_1 = require("./context");
14
+ var THEME_NAMES = ['hyperspace-light', 'space-light', 'space-dark', 'hyperspace-dark'];
15
+ var addDensityToTheme = function (theme, density) {
16
+ var _a;
17
+ return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, theme), { theme: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, theme.theme), { density: density || ((_a = theme.theme) === null || _a === void 0 ? void 0 : _a.density) }) }));
18
+ };
19
+ var ThemeProvider = function (props) {
20
+ var theme = props.theme, children = props.children, elementToApplyClass = props.containerElement, density = props.density;
21
+ var _a = (0, tslib_1.__read)((0, react_1.useState)(null), 2), containerElementRef = _a[0], setContainerElementRef = _a[1];
22
+ var outerTheme = (0, context_1.useTheme)();
23
+ var _b = (0, tslib_1.__read)((0, useMemoizedStyletron_1.default)(), 2), baseUITheme = _b[1];
24
+ if (typeof outerTheme === 'undefined' && typeof theme === 'undefined') {
25
+ throw new Error('No Theme present in context & props');
26
+ }
27
+ var Provider = context_1.themeContext.Provider;
28
+ var value = (0, react_1.useMemo)(function () {
29
+ var _a, _b;
30
+ if (theme) {
31
+ var newTheme = void 0;
32
+ if (typeof theme === 'function') {
33
+ newTheme = theme(outerTheme);
34
+ }
35
+ else {
36
+ var newThemeName = (_a = theme.theme) === null || _a === void 0 ? void 0 : _a.name, outerThemeName = (_b = outerTheme === null || outerTheme === void 0 ? void 0 : outerTheme.theme) === null || _b === void 0 ? void 0 : _b.name,
37
+ // theme should be merged if both the outerTheme & themeToOverride has same name
38
+ shouldMergeThemes = !newThemeName || !outerThemeName || newThemeName === outerThemeName;
39
+ if (shouldMergeThemes) {
40
+ newTheme = (0, merge_1.default)({}, outerTheme, theme);
41
+ }
42
+ else {
43
+ newTheme = (0, tslib_1.__assign)({ direction: outerTheme === null || outerTheme === void 0 ? void 0 : outerTheme.direction }, theme);
44
+ }
45
+ }
46
+ if (typeof newTheme !== 'object') {
47
+ throw new Error('theme has to be an object of shape {theme : {}, classes : {}}');
48
+ }
49
+ return addDensityToTheme(newTheme, density);
50
+ }
51
+ return addDensityToTheme(outerTheme, density);
52
+ }, [theme, outerTheme, density]);
53
+ var themeName = value.theme.name, prevThemName = (0, usePrevious_1.default)(themeName), containerElement = elementToApplyClass !== null && elementToApplyClass !== void 0 ? elementToApplyClass : containerElementRef, prevContainerElement = (0, usePrevious_1.default)(containerElement);
54
+ (0, useIsomorphicLayoutEffect_1.useIsomorphicLayoutEffect)(function () {
55
+ prevThemName && (prevContainerElement === null || prevContainerElement === void 0 ? void 0 : prevContainerElement.classList.remove(prevThemName));
56
+ THEME_NAMES.forEach(function (name) { return containerElement === null || containerElement === void 0 ? void 0 : containerElement.classList.remove(name); });
57
+ containerElement === null || containerElement === void 0 ? void 0 : containerElement.classList.add(themeName);
58
+ }, [themeName, prevThemName, containerElement, prevContainerElement]);
59
+ var baseuiThemeWithDirection = (0, react_1.useMemo)(function () { return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, themes_1.default[themeName]), { direction: value.direction || 'ltr' })); }, [value.direction, themeName]);
60
+ /**
61
+ * Box component/styled cannot be used here as styletron might not be initialized when ThemeProvider renders for the first time.
62
+ */
63
+ return ((0, jsx_runtime_1.jsx)("div", (0, tslib_1.__assign)({ "data-testid": "theme-provider-container", style: { display: 'contents' }, ref: setContainerElementRef }, { children: (0, jsx_runtime_1.jsx)(baseui_1.ThemeProvider, (0, tslib_1.__assign)({ theme: baseuiThemeWithDirection !== null && baseuiThemeWithDirection !== void 0 ? baseuiThemeWithDirection : baseUITheme }, { children: (0, jsx_runtime_1.jsx)(Provider, (0, tslib_1.__assign)({ value: value }, { children: children }), void 0) }), void 0) }), void 0));
64
+ };
65
+ exports.ThemeProvider = ThemeProvider;
@@ -1,14 +1,5 @@
1
- import { ReactElement, PropsWithChildren } from 'react';
1
+ /// <reference types="react" />
2
2
  import { ThemeContext } from '../types';
3
- import { ThemeProviderT } from './types';
4
- import type { Density } from '@sprinklrjs/spaceweb-themes/types';
5
3
  export declare const themeContext: import("react").Context<ThemeContext>;
6
4
  export declare const useTheme: () => ThemeContext;
7
- declare type Props = PropsWithChildren<{
8
- theme?: ThemeProviderT;
9
- containerElement?: HTMLElement | null;
10
- density?: Density;
11
- }>;
12
- export declare const ThemeProvider: (props: Props) => ReactElement;
13
5
  export declare const ThemeConsumer: import("react").Consumer<ThemeContext>;
14
- export {};
package/theme/context.js CHANGED
@@ -1,70 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ThemeConsumer = exports.ThemeProvider = exports.useTheme = exports.themeContext = void 0;
3
+ exports.ThemeConsumer = exports.useTheme = exports.themeContext = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var jsx_runtime_1 = require("react/jsx-runtime");
6
5
  var react_1 = require("react");
7
- var merge_1 = (0, tslib_1.__importDefault)(require("lodash/merge"));
8
6
  var light_1 = (0, tslib_1.__importDefault)(require("@sprinklrjs/spaceweb-themes/hyperspace/light"));
9
- var baseui_1 = require("baseui");
10
- var usePrevious_1 = (0, tslib_1.__importDefault)(require("../hooks/usePrevious"));
11
- var useMemoizedStyletron_1 = (0, tslib_1.__importDefault)(require("../style/useMemoizedStyletron"));
12
- var themes_1 = (0, tslib_1.__importDefault)(require("../themes"));
13
- var useIsomorphicLayoutEffect_1 = require("../hooks/useIsomorphicLayoutEffect");
14
- //todo: remove default sprLight, too many tests failing on removal
15
7
  exports.themeContext = (0, react_1.createContext)(light_1.default);
16
8
  var useTheme = function () { return (0, react_1.useContext)(exports.themeContext); };
17
9
  exports.useTheme = useTheme;
18
- var THEME_NAMES = ['hyperspace-light', 'space-light', 'space-dark', 'hyperspace-dark'];
19
- var addDensityToTheme = function (theme, density) {
20
- var _a;
21
- return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, theme), { theme: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, theme.theme), { density: density || ((_a = theme.theme) === null || _a === void 0 ? void 0 : _a.density) }) }));
22
- };
23
- var ThemeProvider = function (props) {
24
- var _a;
25
- var theme = props.theme, children = props.children, elementToApplyClass = props.containerElement, density = props.density;
26
- var _b = (0, tslib_1.__read)((0, react_1.useState)(null), 2), containerElementRef = _b[0], setContainerElementRef = _b[1];
27
- var outerTheme = (0, exports.useTheme)();
28
- var _c = (0, tslib_1.__read)((0, useMemoizedStyletron_1.default)(), 2), baseUITheme = _c[1];
29
- if (typeof outerTheme === 'undefined' && typeof theme === 'undefined') {
30
- throw new Error('No Theme present in context & props');
31
- }
32
- var Provider = exports.themeContext.Provider;
33
- var value = (0, react_1.useMemo)(function () {
34
- var _a, _b;
35
- if (theme) {
36
- var newTheme = void 0;
37
- if (typeof theme === 'function') {
38
- newTheme = theme(outerTheme);
39
- }
40
- else {
41
- var newThemeName = (_a = theme.theme) === null || _a === void 0 ? void 0 : _a.name, outerThemeName = (_b = outerTheme === null || outerTheme === void 0 ? void 0 : outerTheme.theme) === null || _b === void 0 ? void 0 : _b.name,
42
- // theme should be merged if both the outerTheme & themeToOverride has same name
43
- shouldMergeThemes = !newThemeName || !outerThemeName || newThemeName === outerThemeName;
44
- if (shouldMergeThemes) {
45
- newTheme = (0, merge_1.default)({}, outerTheme, theme);
46
- }
47
- else {
48
- newTheme = (0, tslib_1.__assign)({ direction: outerTheme === null || outerTheme === void 0 ? void 0 : outerTheme.direction }, theme);
49
- }
50
- }
51
- if (typeof newTheme !== 'object') {
52
- throw new Error('theme has to be an object of shape {theme : {}, classes : {}}');
53
- }
54
- return addDensityToTheme(newTheme, density);
55
- }
56
- return addDensityToTheme(outerTheme, density);
57
- }, [theme, outerTheme, density]);
58
- var themeName = value.theme.name, prevThemName = (0, usePrevious_1.default)(themeName), containerElement = elementToApplyClass !== null && elementToApplyClass !== void 0 ? elementToApplyClass : containerElementRef, prevContainerElement = (0, usePrevious_1.default)(containerElement);
59
- (0, useIsomorphicLayoutEffect_1.useIsomorphicLayoutEffect)(function () {
60
- prevThemName && (prevContainerElement === null || prevContainerElement === void 0 ? void 0 : prevContainerElement.classList.remove(prevThemName));
61
- THEME_NAMES.forEach(function (name) { return containerElement === null || containerElement === void 0 ? void 0 : containerElement.classList.remove(name); });
62
- containerElement === null || containerElement === void 0 ? void 0 : containerElement.classList.add(themeName);
63
- }, [themeName, prevThemName, containerElement, prevContainerElement]);
64
- /**
65
- * Box component/styled cannot be used here as styletron might not be initialized when ThemeProvider renders for the first time.
66
- */
67
- return ((0, jsx_runtime_1.jsx)("div", (0, tslib_1.__assign)({ "data-testid": "theme-provider-container", style: { display: 'contents' }, ref: setContainerElementRef }, { children: (0, jsx_runtime_1.jsx)(baseui_1.ThemeProvider, (0, tslib_1.__assign)({ theme: (_a = themes_1.default[themeName]) !== null && _a !== void 0 ? _a : baseUITheme }, { children: (0, jsx_runtime_1.jsx)(Provider, (0, tslib_1.__assign)({ value: value }, { children: children }), void 0) }), void 0) }), void 0));
68
- };
69
- exports.ThemeProvider = ThemeProvider;
70
10
  exports.ThemeConsumer = exports.themeContext.Consumer;
package/theme/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from './Provider';
1
2
  export * from './context';
2
3
  export * from './types';
package/theme/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./Provider"), exports);
4
5
  (0, tslib_1.__exportStar)(require("./context"), exports);
5
6
  (0, tslib_1.__exportStar)(require("./types"), exports);
@@ -7,8 +7,11 @@ var timepicker_1 = require("baseui/timepicker");
7
7
  var select_1 = require("../select");
8
8
  var context_1 = require("../form-control/context");
9
9
  var useConvertOverrides_1 = require("../helpers/baseui/useConvertOverrides");
10
+ var themeHelpers_1 = require("../helpers/themeHelpers");
11
+ var style_1 = require("../style");
10
12
  var useTimePickerBasewebAdapter = function (props) {
11
- var _a = (0, context_1.useContextualFormProps)(props), _b = _a.size, size = _b === void 0 ? 'md' : _b, className = _a.className, style = _a.style, intent = _a.intent, overrides = _a.overrides, clearable = _a.clearable, restProps = (0, tslib_1.__rest)(_a, ["size", "className", "style", "intent", "overrides", "clearable"]);
13
+ var theme = (0, style_1.useStyle)().theme;
14
+ var _a = (0, context_1.useContextualFormProps)(props), _b = _a.size, size = _b === void 0 ? (0, themeHelpers_1.getDefaultSize)(theme) : _b, className = _a.className, style = _a.style, intent = _a.intent, overrides = _a.overrides, clearable = _a.clearable, restProps = (0, tslib_1.__rest)(_a, ["size", "className", "style", "intent", "overrides", "clearable"]);
12
15
  var convertedOverrides = (0, useConvertOverrides_1.useConvertOverrides)({
13
16
  Select: {
14
17
  component: select_1.Select,
@@ -97,7 +97,7 @@ var RangeSelectorContainer = function (_a) {
97
97
  });
98
98
  },
99
99
  ] }, void 0), (0, jsx_runtime_1.jsx)(typography_1.Typography, (0, tslib_1.__assign)({ className: "my-0", variant: "bs3" }, { children: errMsg }), void 0)] }), void 0)) : null;
100
- return ((0, jsx_runtime_1.jsxs)(box_1.Box, (0, tslib_1.__assign)({ className: "spr-ui-01 rounded-8" }, { children: [(0, jsx_runtime_1.jsxs)(Header, (0, tslib_1.__assign)({ "$setTimezone": setTimezone, "$onClose": props.onClose }, headerProps, { children: [(0, jsx_runtime_1.jsx)(HeaderBeforeEnhancer, (0, tslib_1.__assign)({ variant: "bs1", "$as": "span", weight: "medium", className: "flex items-center" }, headerBeforeEnhancerProps, { children: locale.timeRangePicker.headerLabel }), void 0), disableTimezone ? null : ((0, jsx_runtime_1.jsx)(TimezonePicker, (0, tslib_1.__assign)({ setTimezone: setTimezone, timezone: timezone }, timezonePickerProps), void 0))] }), void 0), (0, jsx_runtime_1.jsx)(RangeSelector_1.default, { overrides: props.overrides, timeSelect: props.timeSelect, timeRangePresets: timeRangePresets, timezone: timezone, timeRange: timeRange, preset: preset, onChange: onDateChange, adapter: adapter, peekNextMonth: props.peekNextMonth, excludeDates: props.excludeDates, filterDate: props.filterDate, minDate: minDate, maxDate: maxDate, formatString: props.formatString, locale: props.locale, fixedHeight: props.fixedHeight, monthsShown: monthsShown }, void 0), (0, jsx_runtime_1.jsxs)(Footer, (0, tslib_1.__assign)({ "$hasError": hasError, "$onSubmit": handleSubmit, "$onClose": props.onClose }, footerProps, { className: "justify-between" }, { children: [(0, jsx_runtime_1.jsx)(FooterBeforeEnhancer, (0, tslib_1.__assign)({}, footerBeforeEnhancerProps), void 0), (0, jsx_runtime_1.jsxs)(stack_1.Stack, (0, tslib_1.__assign)({ direction: monthsShown === 1 ? 'vertical' : 'horizontal', gap: 3, className: [(0, classNames_1.default)({ 'items-center': monthsShown !== 1 }), { maxWidth: 'fit-content' }] }, { children: [monthsShown === 1 ? null : errorEl, (0, jsx_runtime_1.jsxs)(stack_1.StackItem, (0, tslib_1.__assign)({ className: "flex self-end" }, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, (0, tslib_1.__assign)({ size: "sm", onClick: props.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", className: "ml-3", onClick: handleSubmit, disabled: hasError, "data-testid": "save" }, { children: locale.timeRangePicker.saveBtnLabel }), void 0)] }), void 0), monthsShown === 1 ? errorEl : null] }), void 0)] }), void 0)] }), void 0));
100
+ return ((0, jsx_runtime_1.jsxs)(box_1.Box, (0, tslib_1.__assign)({ className: "spr-ui-01 rounded-8" }, { children: [(0, jsx_runtime_1.jsxs)(Header, (0, tslib_1.__assign)({ "$setTimezone": setTimezone, "$onClose": props.onClose }, headerProps, { children: [(0, jsx_runtime_1.jsx)(HeaderBeforeEnhancer, (0, tslib_1.__assign)({ variant: "bs1", "$as": "span", weight: "medium", className: "flex items-center" }, headerBeforeEnhancerProps, { children: locale.timeRangePicker.headerLabel }), void 0), disableTimezone ? null : ((0, jsx_runtime_1.jsx)(TimezonePicker, (0, tslib_1.__assign)({ setTimezone: setTimezone, timezone: timezone }, timezonePickerProps), void 0))] }), void 0), (0, jsx_runtime_1.jsx)(RangeSelector_1.default, { overrides: props.overrides, timeSelect: props.timeSelect, timeRangePresets: timeRangePresets, timezone: timezone, timeRange: timeRange, preset: preset, onChange: onDateChange, adapter: adapter, peekNextMonth: props.peekNextMonth, excludeDates: props.excludeDates, filterDate: props.filterDate, minDate: minDate, maxDate: maxDate, formatString: props.formatString, locale: props.locale, fixedHeight: props.fixedHeight, monthsShown: monthsShown }, void 0), (0, jsx_runtime_1.jsx)(Footer, (0, tslib_1.__assign)({ "$hasError": hasError, "$onSubmit": handleSubmit, "$onClose": props.onClose }, footerProps, { children: (0, jsx_runtime_1.jsxs)(box_1.Box, (0, tslib_1.__assign)({ className: "justify-between w-0 flex-grow flex" }, { children: [(0, jsx_runtime_1.jsx)(FooterBeforeEnhancer, (0, tslib_1.__assign)({}, footerBeforeEnhancerProps), void 0), (0, jsx_runtime_1.jsxs)(stack_1.Stack, (0, tslib_1.__assign)({ direction: monthsShown === 1 ? 'vertical' : 'horizontal', gap: 3, className: [(0, classNames_1.default)({ 'items-center': monthsShown !== 1 }), { maxWidth: 'fit-content' }] }, { children: [monthsShown === 1 ? null : errorEl, (0, jsx_runtime_1.jsxs)(stack_1.StackItem, (0, tslib_1.__assign)({ className: "flex self-end" }, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, (0, tslib_1.__assign)({ size: "sm", onClick: props.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", className: "ml-3", onClick: handleSubmit, disabled: hasError, "data-testid": "save" }, { children: locale.timeRangePicker.saveBtnLabel }), void 0)] }), void 0), monthsShown === 1 ? errorEl : null] }), void 0)] }), void 0) }), void 0)] }), void 0));
101
101
  };
102
102
  RangeSelectorContainer.displayName = 'RangeSelectorContainer';
103
103
  exports.default = RangeSelectorContainer;