baseui 16.1.0 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (669) hide show
  1. package/a11y/a11y.js +2 -3
  2. package/a11y/index.js +1 -1
  3. package/accordion/accordion.js +4 -5
  4. package/accordion/index.js +1 -1
  5. package/accordion/panel.js +3 -4
  6. package/accordion/stateful-panel-container.js +3 -4
  7. package/accordion/stateful-panel.js +2 -3
  8. package/accordion/stateless-accordion.js +2 -3
  9. package/app-nav-bar/app-nav-bar.js +3 -4
  10. package/app-nav-bar/index.js +1 -1
  11. package/app-nav-bar/mobile-menu.js +3 -4
  12. package/app-nav-bar/user-menu.js +3 -4
  13. package/app-nav-bar/user-profile-tile.js +1 -2
  14. package/aspect-ratio-box/aspect-ratio-box-body.js +2 -3
  15. package/aspect-ratio-box/aspect-ratio-box.js +2 -3
  16. package/aspect-ratio-box/index.js +1 -1
  17. package/avatar/avatar.js +2 -3
  18. package/avatar/index.js +1 -1
  19. package/badge/badge.js +2 -3
  20. package/badge/hint-dot.js +2 -3
  21. package/badge/index.js +1 -1
  22. package/badge/notification-circle.js +2 -3
  23. package/badge/utils.js +1 -2
  24. package/banner/banner.js +2 -3
  25. package/block/block.js +2 -3
  26. package/block/index.js +1 -1
  27. package/bottom-navigation/bottom-navigation.js +2 -3
  28. package/bottom-navigation/index.js +1 -1
  29. package/bottom-navigation/panel.js +2 -3
  30. package/bottom-navigation/selector.js +2 -3
  31. package/breadcrumbs/breadcrumbs.js +3 -4
  32. package/breadcrumbs/index.js +1 -1
  33. package/button/button-internals.js +2 -3
  34. package/button/button.js +5 -6
  35. package/button/index.js +1 -1
  36. package/button-dock/button-dock.js +2 -3
  37. package/button-dock/index.js +1 -1
  38. package/button-group/button-group.js +4 -5
  39. package/button-group/index.js +1 -1
  40. package/button-group/stateful-button-group.js +3 -4
  41. package/button-group/stateful-container.js +3 -4
  42. package/button-timed/button-timed.js +2 -3
  43. package/button-timed/index.js +1 -1
  44. package/card/card.js +2 -3
  45. package/card/index.js +1 -2
  46. package/checkbox/checkbox.js +4 -5
  47. package/checkbox/index.js +1 -1
  48. package/checkbox/stateful-checkbox-container.js +3 -4
  49. package/checkbox/stateful-checkbox.js +2 -3
  50. package/checkbox-v2/checkbox.js +2 -3
  51. package/checkbox-v2/index.js +1 -1
  52. package/checkbox-v2/stateful-checkbox-container.js +1 -2
  53. package/checkbox-v2/stateful-checkbox.js +2 -3
  54. package/combobox/combobox.js +2 -3
  55. package/combobox/index.js +1 -1
  56. package/data-table/column-anchor.js +3 -4
  57. package/data-table/column-boolean.js +2 -3
  58. package/data-table/column-categorical.js +3 -4
  59. package/data-table/column-custom.js +1 -1
  60. package/data-table/column-datetime.js +3 -4
  61. package/data-table/column-numerical.js +3 -4
  62. package/data-table/column-row-index.js +2 -3
  63. package/data-table/column-string.js +3 -4
  64. package/data-table/column.js +1 -2
  65. package/data-table/data-table.js +2 -3
  66. package/data-table/filter-menu.js +1 -1
  67. package/data-table/filter-shell.js +1 -2
  68. package/data-table/header-cell.js +2 -3
  69. package/data-table/index.js +1 -1
  70. package/data-table/measure-column-widths.js +2 -3
  71. package/data-table/stateful-container.js +1 -2
  72. package/data-table/stateful-data-table.js +2 -3
  73. package/data-table/text-search.js +1 -1
  74. package/datepicker/calendar-header.js +5 -6
  75. package/datepicker/calendar.d.ts +4 -0
  76. package/datepicker/calendar.js +25 -10
  77. package/datepicker/datepicker.d.ts +1 -0
  78. package/datepicker/datepicker.js +18 -8
  79. package/datepicker/datepicker_DO_NOT_USE.js +5 -6
  80. package/datepicker/day.js +5 -6
  81. package/datepicker/index.js +1 -1
  82. package/datepicker/month.js +4 -5
  83. package/datepicker/stateful-calendar.js +5 -6
  84. package/datepicker/stateful-container.js +3 -4
  85. package/datepicker/stateful-datepicker.js +5 -6
  86. package/datepicker/styled-components.js +1 -1
  87. package/datepicker/utils/date-fns-adapter.js +1 -1
  88. package/datepicker/utils/date-helpers.js +2 -2
  89. package/datepicker/utils/index.js +1 -1
  90. package/datepicker/week.js +5 -6
  91. package/dialog/dialog.js +4 -5
  92. package/dialog/index.js +1 -1
  93. package/divider/index.js +2 -3
  94. package/dnd-list/index.js +1 -1
  95. package/dnd-list/list.js +5 -6
  96. package/dnd-list/stateful-list-container.js +3 -4
  97. package/dnd-list/stateful-list.js +2 -3
  98. package/drawer/close-icon.js +2 -3
  99. package/drawer/drawer.js +5 -6
  100. package/drawer/index.js +1 -1
  101. package/file-uploader/file-uploader.js +3 -4
  102. package/file-uploader/index.js +1 -1
  103. package/file-uploader-basic/file-uploader-basic.js +3 -4
  104. package/file-uploader-basic/index.js +1 -1
  105. package/flex-grid/flex-grid-item.js +2 -3
  106. package/flex-grid/flex-grid.js +2 -3
  107. package/flex-grid/index.js +1 -1
  108. package/form-control/form-control.js +4 -5
  109. package/form-control/index.js +1 -1
  110. package/header-navigation/header-navigation.js +4 -5
  111. package/header-navigation/index.js +1 -1
  112. package/heading/heading-level.js +1 -2
  113. package/heading/heading.js +2 -3
  114. package/heading/index.js +2 -3
  115. package/helper/helper-steps.js +2 -3
  116. package/helper/helper.js +2 -3
  117. package/helper/stateful-helper.js +1 -2
  118. package/helpers/base-provider.js +1 -2
  119. package/helpers/overrides.js +3 -4
  120. package/helpers/react-helpers.js +3 -4
  121. package/icon/alert.js +3 -4
  122. package/icon/arrow-down.js +3 -4
  123. package/icon/arrow-left.js +3 -4
  124. package/icon/arrow-right.js +3 -4
  125. package/icon/arrow-up.js +3 -4
  126. package/icon/blank.js +3 -4
  127. package/icon/calendar.js +3 -4
  128. package/icon/check-indeterminate.js +3 -4
  129. package/icon/check.js +3 -4
  130. package/icon/chevron-down-small.js +3 -4
  131. package/icon/chevron-down.js +3 -4
  132. package/icon/chevron-left-small.js +3 -4
  133. package/icon/chevron-left.js +3 -4
  134. package/icon/chevron-right-small.js +3 -4
  135. package/icon/chevron-right.js +3 -4
  136. package/icon/chevron-up-small.js +3 -4
  137. package/icon/chevron-up.js +3 -4
  138. package/icon/circle-check-filled.js +3 -4
  139. package/icon/circle-exclamation-point-filled.js +3 -4
  140. package/icon/delete-alt.js +3 -4
  141. package/icon/delete.js +3 -4
  142. package/icon/filter.js +3 -4
  143. package/icon/grab.js +3 -4
  144. package/icon/hide.js +3 -4
  145. package/icon/icon-exports.js +1 -1
  146. package/icon/icon.js +3 -4
  147. package/icon/index.js +1 -1
  148. package/icon/menu.js +3 -4
  149. package/icon/overflow.js +3 -4
  150. package/icon/paperclip-filled.js +3 -4
  151. package/icon/plus.js +3 -4
  152. package/icon/search.js +3 -4
  153. package/icon/show.js +3 -4
  154. package/icon/spinner.js +3 -4
  155. package/icon/trash-can-filled.js +3 -4
  156. package/icon/triangle-down.js +3 -4
  157. package/icon/triangle-left.js +3 -4
  158. package/icon/triangle-right.js +3 -4
  159. package/icon/triangle-up.js +3 -4
  160. package/icon/upload.js +3 -4
  161. package/index.js +1 -1
  162. package/input/base-input.js +5 -6
  163. package/input/index.js +1 -1
  164. package/input/input.js +5 -6
  165. package/input/masked-input.js +3 -4
  166. package/input/stateful-container.js +3 -4
  167. package/input/stateful-input.js +2 -3
  168. package/input/styled-components.js +1 -1
  169. package/layer/index.js +2 -3
  170. package/layer/layer.js +5 -6
  171. package/layer/layers-manager.js +4 -5
  172. package/layer/tether.js +4 -5
  173. package/layout-grid/cell.js +2 -2
  174. package/layout-grid/grid.js +2 -3
  175. package/layout-grid/index.js +1 -1
  176. package/link/index.js +2 -3
  177. package/list/index.js +1 -1
  178. package/list/list-heading.js +3 -4
  179. package/list/list-item-label.js +1 -1
  180. package/list/list-item.js +3 -3
  181. package/list/menu-adapter.js +2 -3
  182. package/locale/en_US.js +9 -9
  183. package/locale/index.js +2 -3
  184. package/map-marker/badge-enhancer.js +2 -3
  185. package/map-marker/drag-shadow.js +2 -3
  186. package/map-marker/fixed-marker.js +3 -4
  187. package/map-marker/floating-marker.js +3 -4
  188. package/map-marker/floating-route-marker.js +2 -3
  189. package/map-marker/index.js +1 -1
  190. package/map-marker/label-enhancer.js +2 -3
  191. package/map-marker/location-puck.js +2 -3
  192. package/map-marker/needle.js +2 -3
  193. package/map-marker/pin-head.js +3 -4
  194. package/menu/index.js +2 -3
  195. package/menu/maybe-child-menu.js +2 -3
  196. package/menu/menu.js +3 -4
  197. package/menu/nested-menus.js +3 -4
  198. package/menu/option-list.js +3 -4
  199. package/menu/option-profile.js +3 -4
  200. package/menu/stateful-container.js +4 -5
  201. package/menu/stateful-menu.js +3 -4
  202. package/menu/styled-components.js +1 -2
  203. package/message-card/index.js +1 -1
  204. package/message-card/message-card.js +3 -4
  205. package/mobile-header/index.js +1 -1
  206. package/mobile-header/mobile-header.js +2 -3
  207. package/modal/close-icon.js +1 -2
  208. package/modal/focus-once.js +1 -2
  209. package/modal/index.js +1 -1
  210. package/modal/modal-button.js +2 -3
  211. package/modal/modal.js +5 -6
  212. package/notification/index.js +1 -1
  213. package/notification/notification.js +4 -5
  214. package/package.json +4 -5
  215. package/page-control/index.js +1 -1
  216. package/page-control/page-control.js +2 -3
  217. package/pagination/index.js +1 -1
  218. package/pagination/pagination.js +5 -6
  219. package/pagination/stateful-container.js +3 -4
  220. package/pagination/stateful-pagination.js +3 -4
  221. package/payment-card/icons/amex.js +1 -2
  222. package/payment-card/icons/dinersclub.js +1 -2
  223. package/payment-card/icons/discover.js +1 -2
  224. package/payment-card/icons/elo.js +1 -2
  225. package/payment-card/icons/generic.js +1 -2
  226. package/payment-card/icons/jcb.js +1 -2
  227. package/payment-card/icons/maestro.js +1 -2
  228. package/payment-card/icons/mastercard.js +1 -2
  229. package/payment-card/icons/uatp.js +1 -2
  230. package/payment-card/icons/unionpay.js +1 -2
  231. package/payment-card/icons/visa.js +1 -2
  232. package/payment-card/index.js +1 -1
  233. package/payment-card/payment-card.js +5 -6
  234. package/payment-card/stateful-payment-card.js +2 -3
  235. package/payment-card/utils.js +1 -2
  236. package/phone-input/base-country-picker.js +3 -4
  237. package/phone-input/country-picker.js +2 -2
  238. package/phone-input/country-select-dropdown.js +3 -4
  239. package/phone-input/country-select.js +3 -4
  240. package/phone-input/flag.js +3 -4
  241. package/phone-input/flags/FlagAD.js +2 -3
  242. package/phone-input/flags/FlagAE.js +2 -3
  243. package/phone-input/flags/FlagAF.js +2 -3
  244. package/phone-input/flags/FlagAG.js +2 -3
  245. package/phone-input/flags/FlagAI.js +2 -3
  246. package/phone-input/flags/FlagAL.js +2 -3
  247. package/phone-input/flags/FlagAM.js +2 -3
  248. package/phone-input/flags/FlagAO.js +2 -3
  249. package/phone-input/flags/FlagAR.js +2 -3
  250. package/phone-input/flags/FlagAS.js +2 -3
  251. package/phone-input/flags/FlagAT.js +2 -3
  252. package/phone-input/flags/FlagAU.js +2 -3
  253. package/phone-input/flags/FlagAW.js +2 -3
  254. package/phone-input/flags/FlagAX.js +2 -3
  255. package/phone-input/flags/FlagAZ.js +2 -3
  256. package/phone-input/flags/FlagBA.js +2 -3
  257. package/phone-input/flags/FlagBB.js +2 -3
  258. package/phone-input/flags/FlagBD.js +2 -3
  259. package/phone-input/flags/FlagBE.js +2 -3
  260. package/phone-input/flags/FlagBF.js +2 -3
  261. package/phone-input/flags/FlagBG.js +2 -3
  262. package/phone-input/flags/FlagBH.js +2 -3
  263. package/phone-input/flags/FlagBI.js +2 -3
  264. package/phone-input/flags/FlagBJ.js +2 -3
  265. package/phone-input/flags/FlagBL.js +2 -3
  266. package/phone-input/flags/FlagBM.js +2 -3
  267. package/phone-input/flags/FlagBN.js +2 -3
  268. package/phone-input/flags/FlagBO.js +2 -3
  269. package/phone-input/flags/FlagBR.js +2 -3
  270. package/phone-input/flags/FlagBS.js +2 -3
  271. package/phone-input/flags/FlagBT.js +2 -3
  272. package/phone-input/flags/FlagBV.js +2 -3
  273. package/phone-input/flags/FlagBW.js +2 -3
  274. package/phone-input/flags/FlagBY.js +2 -3
  275. package/phone-input/flags/FlagBZ.js +2 -3
  276. package/phone-input/flags/FlagCA.js +2 -3
  277. package/phone-input/flags/FlagCC.js +2 -3
  278. package/phone-input/flags/FlagCD.js +2 -3
  279. package/phone-input/flags/FlagCF.js +2 -3
  280. package/phone-input/flags/FlagCG.js +2 -3
  281. package/phone-input/flags/FlagCH.js +2 -3
  282. package/phone-input/flags/FlagCI.js +2 -3
  283. package/phone-input/flags/FlagCK.js +2 -3
  284. package/phone-input/flags/FlagCL.js +2 -3
  285. package/phone-input/flags/FlagCM.js +2 -3
  286. package/phone-input/flags/FlagCN.js +2 -3
  287. package/phone-input/flags/FlagCO.js +2 -3
  288. package/phone-input/flags/FlagCR.js +2 -3
  289. package/phone-input/flags/FlagCU.js +2 -3
  290. package/phone-input/flags/FlagCV.js +2 -3
  291. package/phone-input/flags/FlagCW.js +2 -3
  292. package/phone-input/flags/FlagCX.js +2 -3
  293. package/phone-input/flags/FlagCY.js +2 -3
  294. package/phone-input/flags/FlagCZ.js +2 -3
  295. package/phone-input/flags/FlagDE.js +2 -3
  296. package/phone-input/flags/FlagDJ.js +2 -3
  297. package/phone-input/flags/FlagDK.js +2 -3
  298. package/phone-input/flags/FlagDM.js +2 -3
  299. package/phone-input/flags/FlagDO.js +2 -3
  300. package/phone-input/flags/FlagDZ.js +2 -3
  301. package/phone-input/flags/FlagEC.js +2 -3
  302. package/phone-input/flags/FlagEE.js +2 -3
  303. package/phone-input/flags/FlagEG.js +2 -3
  304. package/phone-input/flags/FlagER.js +2 -3
  305. package/phone-input/flags/FlagES.js +2 -3
  306. package/phone-input/flags/FlagET.js +2 -3
  307. package/phone-input/flags/FlagEU.js +2 -3
  308. package/phone-input/flags/FlagFI.js +2 -3
  309. package/phone-input/flags/FlagFJ.js +2 -3
  310. package/phone-input/flags/FlagFK.js +2 -3
  311. package/phone-input/flags/FlagFM.js +2 -3
  312. package/phone-input/flags/FlagFO.js +2 -3
  313. package/phone-input/flags/FlagFR.js +2 -3
  314. package/phone-input/flags/FlagGA.js +2 -3
  315. package/phone-input/flags/FlagGB.js +2 -3
  316. package/phone-input/flags/FlagGD.js +2 -3
  317. package/phone-input/flags/FlagGE.js +2 -3
  318. package/phone-input/flags/FlagGF.js +2 -3
  319. package/phone-input/flags/FlagGG.js +2 -3
  320. package/phone-input/flags/FlagGH.js +2 -3
  321. package/phone-input/flags/FlagGI.js +2 -3
  322. package/phone-input/flags/FlagGL.js +2 -3
  323. package/phone-input/flags/FlagGM.js +2 -3
  324. package/phone-input/flags/FlagGN.js +2 -3
  325. package/phone-input/flags/FlagGP.js +2 -3
  326. package/phone-input/flags/FlagGQ.js +2 -3
  327. package/phone-input/flags/FlagGR.js +2 -3
  328. package/phone-input/flags/FlagGS.js +2 -3
  329. package/phone-input/flags/FlagGT.js +2 -3
  330. package/phone-input/flags/FlagGU.js +2 -3
  331. package/phone-input/flags/FlagGW.js +2 -3
  332. package/phone-input/flags/FlagGY.js +2 -3
  333. package/phone-input/flags/FlagHK.js +2 -3
  334. package/phone-input/flags/FlagHM.js +2 -3
  335. package/phone-input/flags/FlagHN.js +2 -3
  336. package/phone-input/flags/FlagHR.js +2 -3
  337. package/phone-input/flags/FlagHT.js +2 -3
  338. package/phone-input/flags/FlagHU.js +2 -3
  339. package/phone-input/flags/FlagID.js +2 -3
  340. package/phone-input/flags/FlagIE.js +2 -3
  341. package/phone-input/flags/FlagIL.js +2 -3
  342. package/phone-input/flags/FlagIM.js +2 -3
  343. package/phone-input/flags/FlagIN.js +2 -3
  344. package/phone-input/flags/FlagIO.js +2 -3
  345. package/phone-input/flags/FlagIQ.js +2 -3
  346. package/phone-input/flags/FlagIR.js +2 -3
  347. package/phone-input/flags/FlagIS.js +2 -3
  348. package/phone-input/flags/FlagIT.js +2 -3
  349. package/phone-input/flags/FlagJE.js +2 -3
  350. package/phone-input/flags/FlagJM.js +2 -3
  351. package/phone-input/flags/FlagJO.js +2 -3
  352. package/phone-input/flags/FlagJP.js +2 -3
  353. package/phone-input/flags/FlagKE.js +2 -3
  354. package/phone-input/flags/FlagKG.js +2 -3
  355. package/phone-input/flags/FlagKH.js +2 -3
  356. package/phone-input/flags/FlagKI.js +2 -3
  357. package/phone-input/flags/FlagKM.js +2 -3
  358. package/phone-input/flags/FlagKN.js +2 -3
  359. package/phone-input/flags/FlagKP.js +2 -3
  360. package/phone-input/flags/FlagKR.js +2 -3
  361. package/phone-input/flags/FlagKW.js +2 -3
  362. package/phone-input/flags/FlagKY.js +2 -3
  363. package/phone-input/flags/FlagKZ.js +2 -3
  364. package/phone-input/flags/FlagLA.js +2 -3
  365. package/phone-input/flags/FlagLB.js +2 -3
  366. package/phone-input/flags/FlagLC.js +2 -3
  367. package/phone-input/flags/FlagLI.js +2 -3
  368. package/phone-input/flags/FlagLK.js +2 -3
  369. package/phone-input/flags/FlagLR.js +2 -3
  370. package/phone-input/flags/FlagLS.js +2 -3
  371. package/phone-input/flags/FlagLT.js +2 -3
  372. package/phone-input/flags/FlagLU.js +2 -3
  373. package/phone-input/flags/FlagLV.js +2 -3
  374. package/phone-input/flags/FlagLY.js +2 -3
  375. package/phone-input/flags/FlagMA.js +2 -3
  376. package/phone-input/flags/FlagMC.js +2 -3
  377. package/phone-input/flags/FlagMD.js +2 -3
  378. package/phone-input/flags/FlagME.js +2 -3
  379. package/phone-input/flags/FlagMF.js +2 -3
  380. package/phone-input/flags/FlagMG.js +2 -3
  381. package/phone-input/flags/FlagMH.js +2 -3
  382. package/phone-input/flags/FlagMK.js +2 -3
  383. package/phone-input/flags/FlagML.js +2 -3
  384. package/phone-input/flags/FlagMM.js +2 -3
  385. package/phone-input/flags/FlagMN.js +2 -3
  386. package/phone-input/flags/FlagMO.js +2 -3
  387. package/phone-input/flags/FlagMP.js +2 -3
  388. package/phone-input/flags/FlagMQ.js +2 -3
  389. package/phone-input/flags/FlagMR.js +2 -3
  390. package/phone-input/flags/FlagMS.js +2 -3
  391. package/phone-input/flags/FlagMT.js +2 -3
  392. package/phone-input/flags/FlagMU.js +2 -3
  393. package/phone-input/flags/FlagMV.js +2 -3
  394. package/phone-input/flags/FlagMW.js +2 -3
  395. package/phone-input/flags/FlagMX.js +2 -3
  396. package/phone-input/flags/FlagMY.js +2 -3
  397. package/phone-input/flags/FlagMZ.js +2 -3
  398. package/phone-input/flags/FlagNA.js +2 -3
  399. package/phone-input/flags/FlagNC.js +2 -3
  400. package/phone-input/flags/FlagNE.js +2 -3
  401. package/phone-input/flags/FlagNF.js +2 -3
  402. package/phone-input/flags/FlagNG.js +2 -3
  403. package/phone-input/flags/FlagNI.js +2 -3
  404. package/phone-input/flags/FlagNL.js +2 -3
  405. package/phone-input/flags/FlagNO.js +2 -3
  406. package/phone-input/flags/FlagNP.js +2 -3
  407. package/phone-input/flags/FlagNR.js +2 -3
  408. package/phone-input/flags/FlagNU.js +2 -3
  409. package/phone-input/flags/FlagNZ.js +2 -3
  410. package/phone-input/flags/FlagOM.js +2 -3
  411. package/phone-input/flags/FlagPA.js +2 -3
  412. package/phone-input/flags/FlagPE.js +2 -3
  413. package/phone-input/flags/FlagPF.js +2 -3
  414. package/phone-input/flags/FlagPG.js +2 -3
  415. package/phone-input/flags/FlagPH.js +2 -3
  416. package/phone-input/flags/FlagPK.js +2 -3
  417. package/phone-input/flags/FlagPL.js +2 -3
  418. package/phone-input/flags/FlagPM.js +2 -3
  419. package/phone-input/flags/FlagPN.js +2 -3
  420. package/phone-input/flags/FlagPR.js +2 -3
  421. package/phone-input/flags/FlagPS.js +2 -3
  422. package/phone-input/flags/FlagPT.js +2 -3
  423. package/phone-input/flags/FlagPW.js +2 -3
  424. package/phone-input/flags/FlagPY.js +2 -3
  425. package/phone-input/flags/FlagQA.js +2 -3
  426. package/phone-input/flags/FlagRE.js +2 -3
  427. package/phone-input/flags/FlagRO.js +2 -3
  428. package/phone-input/flags/FlagRS.js +2 -3
  429. package/phone-input/flags/FlagRU.js +2 -3
  430. package/phone-input/flags/FlagRW.js +2 -3
  431. package/phone-input/flags/FlagSA.js +2 -3
  432. package/phone-input/flags/FlagSB.js +2 -3
  433. package/phone-input/flags/FlagSC.js +2 -3
  434. package/phone-input/flags/FlagSD.js +2 -3
  435. package/phone-input/flags/FlagSE.js +2 -3
  436. package/phone-input/flags/FlagSG.js +2 -3
  437. package/phone-input/flags/FlagSH.js +2 -3
  438. package/phone-input/flags/FlagSI.js +2 -3
  439. package/phone-input/flags/FlagSJ.js +2 -3
  440. package/phone-input/flags/FlagSK.js +2 -3
  441. package/phone-input/flags/FlagSL.js +2 -3
  442. package/phone-input/flags/FlagSM.js +2 -3
  443. package/phone-input/flags/FlagSN.js +2 -3
  444. package/phone-input/flags/FlagSO.js +2 -3
  445. package/phone-input/flags/FlagSR.js +2 -3
  446. package/phone-input/flags/FlagSS.js +2 -3
  447. package/phone-input/flags/FlagST.js +2 -3
  448. package/phone-input/flags/FlagSV.js +2 -3
  449. package/phone-input/flags/FlagSX.js +2 -3
  450. package/phone-input/flags/FlagSY.js +2 -3
  451. package/phone-input/flags/FlagSZ.js +2 -3
  452. package/phone-input/flags/FlagTC.js +2 -3
  453. package/phone-input/flags/FlagTD.js +2 -3
  454. package/phone-input/flags/FlagTF.js +2 -3
  455. package/phone-input/flags/FlagTG.js +2 -3
  456. package/phone-input/flags/FlagTH.js +2 -3
  457. package/phone-input/flags/FlagTJ.js +2 -3
  458. package/phone-input/flags/FlagTK.js +2 -3
  459. package/phone-input/flags/FlagTL.js +2 -3
  460. package/phone-input/flags/FlagTM.js +2 -3
  461. package/phone-input/flags/FlagTN.js +2 -3
  462. package/phone-input/flags/FlagTO.js +2 -3
  463. package/phone-input/flags/FlagTR.js +2 -3
  464. package/phone-input/flags/FlagTT.js +2 -3
  465. package/phone-input/flags/FlagTV.js +2 -3
  466. package/phone-input/flags/FlagTW.js +2 -3
  467. package/phone-input/flags/FlagTZ.js +2 -3
  468. package/phone-input/flags/FlagUA.js +2 -3
  469. package/phone-input/flags/FlagUG.js +2 -3
  470. package/phone-input/flags/FlagUM.js +2 -3
  471. package/phone-input/flags/FlagUS.js +2 -3
  472. package/phone-input/flags/FlagUY.js +2 -3
  473. package/phone-input/flags/FlagUZ.js +2 -3
  474. package/phone-input/flags/FlagVA.js +2 -3
  475. package/phone-input/flags/FlagVC.js +2 -3
  476. package/phone-input/flags/FlagVE.js +2 -3
  477. package/phone-input/flags/FlagVG.js +2 -3
  478. package/phone-input/flags/FlagVI.js +2 -3
  479. package/phone-input/flags/FlagVN.js +2 -3
  480. package/phone-input/flags/FlagVU.js +2 -3
  481. package/phone-input/flags/FlagWF.js +2 -3
  482. package/phone-input/flags/FlagWS.js +2 -3
  483. package/phone-input/flags/FlagXK.js +2 -3
  484. package/phone-input/flags/FlagYE.js +2 -3
  485. package/phone-input/flags/FlagYT.js +2 -3
  486. package/phone-input/flags/FlagZA.js +2 -3
  487. package/phone-input/flags/FlagZM.js +2 -3
  488. package/phone-input/flags/FlagZW.js +2 -3
  489. package/phone-input/flags/index.js +1 -1
  490. package/phone-input/index.js +2 -3
  491. package/phone-input/phone-input-lite.js +3 -4
  492. package/phone-input/phone-input-next.js +3 -4
  493. package/phone-input/phone-input.js +2 -2
  494. package/phone-input/stateful-phone-input-container.js +3 -3
  495. package/phone-input/stateful-phone-input-next.js +1 -1
  496. package/phone-input/stateful-phone-input.js +1 -1
  497. package/phone-input/styled-components.js +2 -3
  498. package/pin-code/index.js +1 -1
  499. package/pin-code/pin-code.js +4 -4
  500. package/pin-code/stateful-pin-code-container.js +3 -3
  501. package/pin-code/stateful-pin-code.js +1 -1
  502. package/popover/index.js +1 -1
  503. package/popover/popover.js +7 -8
  504. package/popover/stateful-container.js +3 -4
  505. package/popover/stateful-popover.js +2 -3
  506. package/progress-bar/constants.d.ts +7 -0
  507. package/progress-bar/constants.js +8 -1
  508. package/progress-bar/index.d.ts +1 -1
  509. package/progress-bar/index.js +8 -1
  510. package/progress-bar/progressbar-rounded.d.ts +1 -1
  511. package/progress-bar/progressbar-rounded.js +12 -6
  512. package/progress-bar/progressbar.js +25 -34
  513. package/progress-bar/styled-components.d.ts +1 -0
  514. package/progress-bar/styled-components.js +44 -20
  515. package/progress-bar/types.d.ts +14 -2
  516. package/progress-steps/index.js +1 -1
  517. package/progress-steps/numbered-step.js +3 -4
  518. package/progress-steps/progress-steps.js +2 -3
  519. package/progress-steps/step.js +2 -3
  520. package/radio/index.js +1 -1
  521. package/radio/radio.js +4 -5
  522. package/radio/radiogroup.js +4 -5
  523. package/radio/stateful-radiogroup-container.js +3 -4
  524. package/radio/stateful-radiogroup.js +2 -3
  525. package/radio-v2/constants.d.ts +13 -0
  526. package/radio-v2/constants.js +25 -0
  527. package/radio-v2/index.d.ts +8 -0
  528. package/radio-v2/index.js +139 -0
  529. package/radio-v2/radio-context.d.ts +23 -0
  530. package/radio-v2/radio-context.js +20 -0
  531. package/radio-v2/radio.d.ts +4 -0
  532. package/radio-v2/radio.js +184 -0
  533. package/radio-v2/radiogroup.d.ts +4 -0
  534. package/radio-v2/radiogroup.js +106 -0
  535. package/radio-v2/stateful-radiogroup-container.d.ts +4 -0
  536. package/radio-v2/stateful-radiogroup-container.js +59 -0
  537. package/radio-v2/stateful-radiogroup.d.ts +4 -0
  538. package/radio-v2/stateful-radiogroup.js +26 -0
  539. package/radio-v2/styled-components.d.ts +10 -0
  540. package/radio-v2/styled-components.js +266 -0
  541. package/radio-v2/types.d.ts +185 -0
  542. package/radio-v2/types.js +1 -0
  543. package/rating/emoticon-rating.js +4 -5
  544. package/rating/index.js +1 -1
  545. package/rating/star-rating.js +4 -5
  546. package/segmented-control/segmented-control.js +2 -3
  547. package/segmented-control/stateful-segmented-control.js +2 -3
  548. package/select/autosize-input.js +4 -5
  549. package/select/default-props.js +1 -1
  550. package/select/dropdown.js +4 -5
  551. package/select/index.js +1 -1
  552. package/select/multi-select.js +3 -4
  553. package/select/multi-value.js +2 -3
  554. package/select/select-component.js +5 -6
  555. package/select/select.js +3 -4
  556. package/select/single-select.js +3 -4
  557. package/select/stateful-select-container.js +3 -4
  558. package/select/stateful-select.js +2 -3
  559. package/select/value.js +2 -3
  560. package/sheet/action-button.js +2 -3
  561. package/sheet/index.js +1 -1
  562. package/sheet/sheet.js +2 -3
  563. package/side-navigation/index.js +1 -1
  564. package/side-navigation/nav-item.js +4 -5
  565. package/side-navigation/nav.js +5 -6
  566. package/side-navigation/side-navigation-next.js +4 -5
  567. package/side-navigation/stateful-container.js +3 -4
  568. package/side-navigation/stateful-nav.js +2 -3
  569. package/side-navigation/styled-components.js +1 -2
  570. package/skeleton/index.js +1 -1
  571. package/skeleton/skeleton.js +4 -5
  572. package/slider/index.js +1 -1
  573. package/slider/slider.js +2 -3
  574. package/slider/stateful-slider-container.js +3 -4
  575. package/slider/stateful-slider.js +2 -3
  576. package/sliding-button/constants.d.ts +7 -0
  577. package/sliding-button/constants.js +25 -0
  578. package/sliding-button/default-props.d.ts +6 -0
  579. package/sliding-button/default-props.js +20 -0
  580. package/sliding-button/index.d.ts +4 -0
  581. package/sliding-button/index.js +93 -0
  582. package/sliding-button/sliding-button.d.ts +4 -0
  583. package/sliding-button/sliding-button.js +202 -0
  584. package/sliding-button/styled-components.d.ts +9 -0
  585. package/sliding-button/styled-components.js +211 -0
  586. package/sliding-button/types.d.ts +41 -0
  587. package/sliding-button/types.js +1 -0
  588. package/snackbar/index.js +2 -3
  589. package/snackbar/snackbar-context.js +3 -4
  590. package/snackbar/snackbar-element.js +2 -3
  591. package/spinner/index.js +2 -2
  592. package/stepper/index.js +1 -1
  593. package/stepper/stepper.js +2 -3
  594. package/styles/__mocks__/styled.js +5 -6
  595. package/styles/as-primary-export-hoc.js +1 -2
  596. package/styles/index.js +1 -2
  597. package/styles/styled.js +2 -3
  598. package/styles/theme-provider.js +1 -2
  599. package/switch/index.js +1 -1
  600. package/switch/stateful-switch-container.js +1 -2
  601. package/switch/stateful-switch.js +2 -3
  602. package/switch/switch.js +2 -3
  603. package/system-banner/system-banner.js +2 -3
  604. package/table/filter.js +3 -4
  605. package/table/index.js +2 -3
  606. package/table/sortable-head-cell.js +3 -4
  607. package/table/styled-components.js +2 -3
  608. package/table/table.js +3 -4
  609. package/table-grid/styled-components.js +2 -3
  610. package/table-semantic/index.js +1 -1
  611. package/table-semantic/styled-components.js +1 -1
  612. package/table-semantic/table-builder-column.js +1 -2
  613. package/table-semantic/table-builder.js +5 -6
  614. package/table-semantic/table.js +4 -5
  615. package/tabs/index.js +1 -1
  616. package/tabs/stateful-tabs.js +5 -6
  617. package/tabs/tab.js +4 -5
  618. package/tabs/tabs.js +4 -5
  619. package/tabs-motion/stateful-tabs.js +2 -3
  620. package/tabs-motion/tabs.js +2 -3
  621. package/tag/index.js +1 -1
  622. package/tag/styled-components.js +2 -3
  623. package/tag/tag.js +3 -4
  624. package/tag/utils.js +1 -2
  625. package/tag-group/index.js +1 -1
  626. package/tag-group/tag-group.js +2 -3
  627. package/textarea/index.js +1 -1
  628. package/textarea/stateful-textarea.js +2 -3
  629. package/textarea/textarea.js +4 -5
  630. package/themes/dark-theme/borders.js +1 -1
  631. package/themes/dark-theme/color-component-tokens.js +1 -1
  632. package/themes/dark-theme/color-semantic-tokens.js +1 -1
  633. package/themes/dark-theme/create-dark-theme.js +1 -1
  634. package/themes/dark-theme/dark-theme.js +1 -1
  635. package/themes/dark-theme/primitives.js +1 -1
  636. package/themes/index.js +1 -1
  637. package/themes/light-theme/color-component-tokens.js +1 -1
  638. package/themes/light-theme/color-semantic-tokens.js +1 -1
  639. package/themes/light-theme/create-light-theme.js +1 -1
  640. package/themes/light-theme/light-theme.js +1 -1
  641. package/themes/light-theme/primitives.js +1 -1
  642. package/themes/move-theme/dark-theme-with-move.js +1 -1
  643. package/themes/move-theme/light-theme-with-move.js +1 -1
  644. package/themes/shared/media-query.js +1 -1
  645. package/tile/index.js +1 -1
  646. package/tile/tile-group.js +2 -3
  647. package/tile/tile.js +2 -3
  648. package/timepicker/index.js +1 -1
  649. package/timepicker/timepicker.js +21 -8
  650. package/timezonepicker/index.js +1 -1
  651. package/timezonepicker/timezone-picker.js +4 -5
  652. package/toast/index.js +2 -3
  653. package/toast/toast.js +5 -6
  654. package/toast/toaster.js +5 -6
  655. package/tokens/index.js +1 -2
  656. package/tooltip/index.js +1 -1
  657. package/tooltip/stateful-tooltip-container.js +4 -5
  658. package/tooltip/stateful-tooltip.js +2 -3
  659. package/tooltip/tooltip.js +5 -6
  660. package/tree-view/index.js +1 -1
  661. package/tree-view/stateful-container.js +3 -4
  662. package/tree-view/stateful-tree-view.js +2 -3
  663. package/tree-view/tree-label-interactable.js +2 -2
  664. package/tree-view/tree-label.js +2 -2
  665. package/tree-view/tree-node.js +5 -6
  666. package/tree-view/tree-view.js +3 -4
  667. package/typography/index.js +2 -3
  668. package/utils/deep-merge.js +1 -1
  669. package/utils/deprecated-component.js +2 -3
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _overrides = require("../helpers/overrides");
9
+ var _styledComponents = require("./styled-components");
10
+ var _focusVisible = require("../utils/focusVisible");
11
+ var _constants = require("./constants");
12
+ var _radioContext = require("./radio-context");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /*
15
+ Copyright (c) Uber Technologies, Inc.
16
+
17
+ This source code is licensed under the MIT license found in the
18
+ LICENSE file in the root directory of this source tree.
19
+ */
20
+ const StatelessRadioGroup = props => {
21
+ const {
22
+ overrides = {},
23
+ name = '',
24
+ value = '',
25
+ disabled = false,
26
+ autoFocus = false,
27
+ labelPlacement = _constants.LABEL_PLACEMENT.right,
28
+ align = _constants.ALIGN.vertical,
29
+ error = false,
30
+ required = false,
31
+ onChange = () => {},
32
+ onMouseEnter = () => {},
33
+ onMouseLeave = () => {},
34
+ onFocus = () => {},
35
+ onBlur = () => {},
36
+ children,
37
+ id
38
+ } = props;
39
+ const [isFocusVisibleState, setIsFocusVisibleState] = React.useState(false);
40
+ const [focusedRadioIndex, setFocusedRadioIndex] = React.useState(-1);
41
+
42
+ // Registration counter for child radios
43
+ const radioIndexRef = React.useRef(0);
44
+
45
+ // Reset the registration counter before each render
46
+ React.useLayoutEffect(() => {
47
+ radioIndexRef.current = 0;
48
+ });
49
+ const registerRadio = React.useCallback(() => {
50
+ const index = radioIndexRef.current;
51
+ radioIndexRef.current += 1;
52
+ return index;
53
+ }, []);
54
+ const handleFocus = React.useCallback((event, index) => {
55
+ if ((0, _focusVisible.isFocusVisible)(event)) {
56
+ setIsFocusVisibleState(true);
57
+ }
58
+ setFocusedRadioIndex(index);
59
+ onFocus && onFocus(event);
60
+ }, [onFocus]);
61
+ const handleBlur = React.useCallback((event, index) => {
62
+ if (isFocusVisibleState !== false) {
63
+ setIsFocusVisibleState(false);
64
+ }
65
+ setFocusedRadioIndex(-1);
66
+ onBlur && onBlur(event);
67
+ }, [isFocusVisibleState, onBlur]);
68
+ const [RadioGroupRoot, radioGroupRootProps] = (0, _overrides.getOverrides)(overrides.RadioGroupRoot, _styledComponents.RadioGroupRoot);
69
+ const contextValue = React.useMemo(() => ({
70
+ name,
71
+ selectedValue: value,
72
+ disabled,
73
+ autoFocus,
74
+ error,
75
+ required,
76
+ align,
77
+ labelPlacement,
78
+ focusedIndex: focusedRadioIndex,
79
+ isFocusVisible: isFocusVisibleState,
80
+ onChange,
81
+ onMouseEnter,
82
+ onMouseLeave,
83
+ onFocus: handleFocus,
84
+ onBlur: handleBlur,
85
+ registerRadio
86
+ }), [name, value, disabled, autoFocus, error, required, align, labelPlacement, focusedRadioIndex, isFocusVisibleState, onChange, onMouseEnter, onMouseLeave, handleFocus, handleBlur, registerRadio]);
87
+ return /*#__PURE__*/React.createElement(_radioContext.RadioGroupContext.Provider, {
88
+ value: contextValue
89
+ }, /*#__PURE__*/React.createElement(RadioGroupRoot, _extends({
90
+ id: id,
91
+ role: "radiogroup",
92
+ "aria-describedby": props['aria-describedby'],
93
+ "aria-errormessage": props['aria-errormessage'],
94
+ "aria-invalid": error || null,
95
+ "aria-label": props['aria-label'],
96
+ "aria-labelledby": props['aria-labelledby'],
97
+ "aria-required": required || null,
98
+ $align: align,
99
+ $disabled: disabled,
100
+ $error: error,
101
+ $required: required,
102
+ $labelPlacement: labelPlacement
103
+ }, radioGroupRootProps), children));
104
+ };
105
+ StatelessRadioGroup.displayName = 'StatelessRadioGroup';
106
+ var _default = exports.default = StatelessRadioGroup;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { StatefulContainerProps } from './types';
3
+ declare const StatefulRadioGroupContainer: React.FC<StatefulContainerProps>;
4
+ export default StatefulRadioGroupContainer;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _constants = require("./constants");
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
+ /*
11
+ Copyright (c) Uber Technologies, Inc.
12
+
13
+ This source code is licensed under the MIT license found in the
14
+ LICENSE file in the root directory of this source tree.
15
+ */
16
+
17
+ const defaultStateReducer = (type, nextState) => nextState;
18
+ const StatefulRadioGroupContainer = props => {
19
+ const {
20
+ children = childProps => null,
21
+ initialState = {
22
+ value: ''
23
+ },
24
+ stateReducer = defaultStateReducer,
25
+ onChange = () => {},
26
+ ...restProps
27
+ } = props;
28
+ const reducer = React.useCallback((currentState, action) => {
29
+ const {
30
+ type,
31
+ event
32
+ } = action;
33
+
34
+ // Calculate next state based on action type
35
+ let nextState = currentState;
36
+ if (type === _constants.STATE_TYPE.change) {
37
+ nextState = {
38
+ value: event.target.value
39
+ };
40
+ }
41
+
42
+ // Allow user's stateReducer to intercept and modify the state change
43
+ return stateReducer(type, nextState, currentState, event);
44
+ }, [stateReducer]);
45
+ const [state, dispatch] = React.useReducer(reducer, initialState);
46
+ const handleChange = React.useCallback(e => {
47
+ dispatch({
48
+ type: _constants.STATE_TYPE.change,
49
+ event: e
50
+ });
51
+ onChange(e);
52
+ }, [onChange]);
53
+ return children({
54
+ ...restProps,
55
+ value: state.value,
56
+ onChange: handleChange
57
+ });
58
+ };
59
+ var _default = exports.default = StatefulRadioGroupContainer;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { RadioGroupProps, StatefulRadioGroupProps } from './types';
3
+ declare const StatefulRadioGroup: (props: StatefulRadioGroupProps & Omit<RadioGroupProps, keyof StatefulRadioGroupProps>) => React.JSX.Element;
4
+ export default StatefulRadioGroup;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _statefulRadiogroupContainer = _interopRequireDefault(require("./stateful-radiogroup-container"));
9
+ var _radiogroup = _interopRequireDefault(require("./radiogroup"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ /*
13
+ Copyright (c) Uber Technologies, Inc.
14
+
15
+ This source code is licensed under the MIT license found in the
16
+ LICENSE file in the root directory of this source tree.
17
+ */
18
+
19
+ const StatefulRadioGroup = function (props) {
20
+ const {
21
+ children,
22
+ ...restProps
23
+ } = props;
24
+ return /*#__PURE__*/React.createElement(_statefulRadiogroupContainer.default, restProps, childrenProps => /*#__PURE__*/React.createElement(_radiogroup.default, childrenProps, children));
25
+ };
26
+ var _default = exports.default = StatefulRadioGroup;
@@ -0,0 +1,10 @@
1
+ import type { StyleProps } from './types';
2
+ export declare const RadioGroupRoot: import("styletron-react").StyletronComponent<"div", StyleProps>;
3
+ export declare const Root: import("styletron-react").StyletronComponent<"label", StyleProps>;
4
+ export declare const RadioBackplate: import("styletron-react").StyletronComponent<"div", StyleProps>;
5
+ export declare const RadioMarkInner: import("styletron-react").StyletronComponent<"div", StyleProps>;
6
+ export declare const RadioMarkOuter: import("styletron-react").StyletronComponent<"div", StyleProps>;
7
+ export declare const LabelWrapper: import("styletron-react").StyletronComponent<"div", StyleProps>;
8
+ export declare const Label: import("styletron-react").StyletronComponent<"div", StyleProps>;
9
+ export declare const Input: import("styletron-react").StyletronComponent<"input", {}>;
10
+ export declare const Description: import("styletron-react").StyletronComponent<"div", StyleProps>;
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Root = exports.RadioMarkOuter = exports.RadioMarkInner = exports.RadioGroupRoot = exports.RadioBackplate = exports.LabelWrapper = exports.Label = exports.Input = exports.Description = void 0;
7
+ var _styles = require("../styles");
8
+ var _constants = require("./constants");
9
+ var _getSharedStyles = require("../utils/get-shared-styles");
10
+ /*
11
+ Copyright (c) Uber Technologies, Inc.
12
+
13
+ This source code is licensed under the MIT license found in the
14
+ LICENSE file in the root directory of this source tree.
15
+ */
16
+
17
+ function getOuterColor(props) {
18
+ const {
19
+ $theme: {
20
+ colors
21
+ },
22
+ $disabled,
23
+ $error
24
+ } = props;
25
+ return $disabled ? colors.contentStateDisabled : $error ? colors.tagRedBorderSecondarySelected : colors.contentPrimary;
26
+ }
27
+ function getLabelColor(props) {
28
+ const {
29
+ $disabled,
30
+ $theme
31
+ } = props;
32
+ const {
33
+ colors
34
+ } = $theme;
35
+ return $disabled ? colors.contentSecondary : colors.contentPrimary;
36
+ }
37
+ const RadioGroupRoot = exports.RadioGroupRoot = (0, _styles.styled)('div', props => {
38
+ const {
39
+ $align,
40
+ $labelPlacement
41
+ } = props;
42
+ return {
43
+ display: 'flex',
44
+ flexWrap: 'wrap',
45
+ flexDirection: $align === _constants.ALIGN.horizontal ? 'row' : 'column',
46
+ alignItems: $align === _constants.ALIGN.horizontal && $labelPlacement === _constants.LABEL_PLACEMENT.top ? 'flex-end' : 'flex-start',
47
+ columnGap: props.$theme.sizing.scale600,
48
+ rowGap: props.$theme.sizing.scale300
49
+ };
50
+ });
51
+ RadioGroupRoot.displayName = "RadioGroupRoot";
52
+ RadioGroupRoot.displayName = 'RadioGroupRoot';
53
+ const Root = exports.Root = (0, _styles.styled)('label', props => {
54
+ const {
55
+ $disabled,
56
+ $labelPlacement,
57
+ $theme
58
+ } = props;
59
+ const {
60
+ sizing
61
+ } = $theme;
62
+ const isHorizontalLabelPlacement = $labelPlacement === _constants.LABEL_PLACEMENT.left || $labelPlacement === _constants.LABEL_PLACEMENT.right;
63
+ const isVerticalLabelPlacement = $labelPlacement === _constants.LABEL_PLACEMENT.top || $labelPlacement === _constants.LABEL_PLACEMENT.bottom;
64
+ return {
65
+ flexDirection: isVerticalLabelPlacement ? 'column' : 'row',
66
+ display: 'inline-flex',
67
+ alignItems: isHorizontalLabelPlacement ? 'flex-start' : 'center',
68
+ cursor: $disabled ? 'not-allowed' : 'pointer',
69
+ ...(isVerticalLabelPlacement ? {
70
+ rowGap: sizing.scale100
71
+ } : isHorizontalLabelPlacement ? {
72
+ columnGap: sizing.scale100
73
+ } : {}),
74
+ '@media (pointer: coarse)': {
75
+ // Increase target size for touch devices to meet the minimum touch target size of 48x48dp
76
+ padding: sizing.scale300
77
+ }
78
+ };
79
+ });
80
+ Root.displayName = "Root";
81
+ Root.displayName = 'Root';
82
+ const RadioBackplate = exports.RadioBackplate = (0, _styles.styled)('div', props => {
83
+ const {
84
+ sizing
85
+ } = props.$theme;
86
+ const {
87
+ hoveredColor,
88
+ pressedColor
89
+ } = (0, _getSharedStyles.getOverlayColor)(props);
90
+ return {
91
+ position: 'relative',
92
+ display: 'flex',
93
+ alignItems: 'center',
94
+ justifyContent: 'center',
95
+ boxSizing: 'border-box',
96
+ borderRadius: sizing.scale300,
97
+ paddingTop: sizing.scale300,
98
+ paddingBottom: sizing.scale300,
99
+ paddingLeft: sizing.scale300,
100
+ paddingRight: sizing.scale300,
101
+ '@media (hover: hover)': {
102
+ ':hover': {
103
+ backgroundColor: hoveredColor
104
+ }
105
+ },
106
+ ':active': {
107
+ backgroundColor: pressedColor
108
+ },
109
+ minHeight: sizing.scale900,
110
+ minWidth: sizing.scale900
111
+ };
112
+ });
113
+ RadioBackplate.displayName = "RadioBackplate";
114
+ RadioBackplate.displayName = 'RadioBackplate';
115
+ const RadioMarkInner = exports.RadioMarkInner = (0, _styles.styled)('div', props => {
116
+ const {
117
+ $theme,
118
+ $checked,
119
+ $isActive,
120
+ $isHovered,
121
+ $disabled
122
+ } = props;
123
+ const {
124
+ animation,
125
+ colors
126
+ } = $theme;
127
+ const {
128
+ hoveredColor,
129
+ pressedColor
130
+ } = (0, _getSharedStyles.getOverlayColor)(props);
131
+ return {
132
+ borderTopLeftRadius: '50%',
133
+ borderTopRightRadius: '50%',
134
+ borderBottomRightRadius: '50%',
135
+ borderBottomLeftRadius: '50%',
136
+ height: $checked ? '5px' : '100%',
137
+ width: $checked ? '5px' : '100%',
138
+ backgroundColor: colors.contentInversePrimary,
139
+ // Add overlay for hover and pressed states with box-shadow (instead of background-color) to prevent RadioMarkOuter's background color bleeding through
140
+ // We also want this visual effect when hovering/pressing on backplate so using $isActive, $isHovered instead of css selectors.
141
+ boxShadow: !$disabled ? $isHovered ? `inset 999px 999px 0px ${hoveredColor}` : $isActive ? `inset 999px 999px 0px ${pressedColor}` : 'none' : 'none',
142
+ // Animations for height and width changes - transition when checking/unchecking radio
143
+ transitionProperty: 'width, height',
144
+ transitionDuration: animation.timing200,
145
+ transitionTimingFunction: animation.easeOutCurve
146
+ };
147
+ });
148
+ RadioMarkInner.displayName = "RadioMarkInner";
149
+ RadioMarkInner.displayName = 'RadioMarkInner';
150
+ const RadioMarkOuter = exports.RadioMarkOuter = (0, _styles.styled)('div', props => {
151
+ const {
152
+ $theme,
153
+ $checked,
154
+ $isFocusVisible
155
+ } = props;
156
+ const {
157
+ sizing
158
+ } = $theme;
159
+ const focusRingStyle = (0, _getSharedStyles.getFocusOutlineStyle)($theme);
160
+ return {
161
+ display: 'flex',
162
+ height: '17px',
163
+ width: '17px',
164
+ alignItems: 'center',
165
+ justifyContent: 'center',
166
+ flexShrink: 0,
167
+ boxSizing: 'border-box',
168
+ borderWidth: sizing.scale0,
169
+ borderStyle: 'solid',
170
+ borderColor: getOuterColor(props),
171
+ backgroundColor: getOuterColor(props),
172
+ borderTopLeftRadius: '50%',
173
+ borderTopRightRadius: '50%',
174
+ borderBottomRightRadius: '50%',
175
+ borderBottomLeftRadius: '50%',
176
+ verticalAlign: 'middle',
177
+ ...($checked && $isFocusVisible ? focusRingStyle : {})
178
+ };
179
+ });
180
+ RadioMarkOuter.displayName = "RadioMarkOuter";
181
+ RadioMarkOuter.displayName = 'RadioMarkOuter';
182
+ const LabelWrapper = exports.LabelWrapper = (0, _styles.styled)('div', props => {
183
+ const {
184
+ $labelPlacement,
185
+ $theme,
186
+ $align
187
+ } = props;
188
+ const {
189
+ sizing
190
+ } = $theme;
191
+ return {
192
+ display: 'flex',
193
+ flexDirection: 'column',
194
+ alignItems: 'flex-start',
195
+ // don't stretch label and description(for example, when label is a select component)
196
+ ...($labelPlacement === _constants.LABEL_PLACEMENT.left || $labelPlacement === _constants.LABEL_PLACEMENT.right ? {
197
+ paddingTop: sizing.scale300
198
+ } : {}),
199
+ // add top padding when label is on left/right to align with radio center
200
+ rowGap: sizing.scale0,
201
+ //Horizontal: Not recommended when the text needs to wrap. If necessary, let the text wrap to 3 lines maximum and truncate.
202
+ ...($align === _constants.ALIGN.horizontal ? {
203
+ maxWidth: '240px'
204
+ } : {})
205
+ };
206
+ });
207
+ LabelWrapper.displayName = "LabelWrapper";
208
+ LabelWrapper.displayName = 'LabelWrapper';
209
+
210
+ // This style is design from horizontal alignment
211
+ // Not recommended when the text needs to wrap. If necessary, let the text wrap to 3 lines maximum and truncate.
212
+ const max3LinesStyle = {
213
+ overflow: 'hidden',
214
+ textOverflow: 'ellipsis',
215
+ display: '-webkit-box',
216
+ WebkitLineClamp: 3,
217
+ WebkitBoxOrient: 'vertical'
218
+ };
219
+ const Label = exports.Label = (0, _styles.styled)('div', props => {
220
+ const {
221
+ $theme: {
222
+ typography
223
+ },
224
+ $align
225
+ } = props;
226
+ return {
227
+ verticalAlign: 'middle',
228
+ color: getLabelColor(props),
229
+ ...typography.LabelSmall,
230
+ ...($align === _constants.ALIGN.horizontal ? max3LinesStyle : {})
231
+ };
232
+ });
233
+ Label.displayName = "Label";
234
+ Label.displayName = 'Label';
235
+
236
+ // tricky style for focus event cause display: none doesn't work
237
+ const Input = exports.Input = (0, _styles.styled)('input', {
238
+ width: 0,
239
+ height: 0,
240
+ marginTop: 0,
241
+ marginRight: 0,
242
+ marginBottom: 0,
243
+ marginLeft: 0,
244
+ paddingTop: 0,
245
+ paddingRight: 0,
246
+ paddingBottom: 0,
247
+ paddingLeft: 0,
248
+ clip: 'rect(0 0 0 0)',
249
+ position: 'absolute'
250
+ });
251
+ Input.displayName = "Input";
252
+ Input.displayName = 'Input';
253
+ const Description = exports.Description = (0, _styles.styled)('div', props => {
254
+ const {
255
+ $theme,
256
+ $align
257
+ } = props;
258
+ return {
259
+ ...$theme.typography.ParagraphSmall,
260
+ color: $theme.colors.contentSecondary,
261
+ cursor: 'auto',
262
+ ...($align === _constants.ALIGN.horizontal ? max3LinesStyle : {})
263
+ };
264
+ });
265
+ Description.displayName = "Description";
266
+ Description.displayName = 'Description';
@@ -0,0 +1,185 @@
1
+ import type * as React from 'react';
2
+ import type { Override } from '../helpers/overrides';
3
+ import type { ALIGN, LABEL_PLACEMENT } from './constants';
4
+ export type LabelPlacement = keyof typeof LABEL_PLACEMENT;
5
+ export type Align = keyof typeof ALIGN;
6
+ export type RadioOverrides = {
7
+ RadioBackplate?: Override;
8
+ RadioMarkInner?: Override;
9
+ RadioMarkOuter?: Override;
10
+ Label?: Override;
11
+ LabelWrapper?: Override;
12
+ Root?: Override;
13
+ Input?: Override;
14
+ Description?: Override;
15
+ };
16
+ export type RadioGroupOverrides = {
17
+ RadioGroupRoot?: Override;
18
+ };
19
+ export type DefaultProps = Partial<RadioGroupProps>;
20
+ export type RadioGroupProps = {
21
+ /** Id of element which contains a related caption */
22
+ 'aria-describedby'?: string;
23
+ /** Id of element which contains a related error message */
24
+ 'aria-errormessage'?: string;
25
+ /**
26
+ * Used to define a string that labels the radio group. Use this prop if the label is not
27
+ * visible on screen. If the label is visible, use the 'aria-labeledby' prop instead.
28
+ */
29
+ 'aria-label'?: string;
30
+ /**
31
+ * Establishes a relationship between the radio group and its label. Screen readers use this
32
+ * attribute to catalog the object on a page so that users can navigate between them.
33
+ */
34
+ 'aria-labelledby'?: string;
35
+ overrides?: RadioGroupOverrides;
36
+ /** As `children` in React native approach represents radio buttons inside of Radio Group. Can use `Radio` from this package. */
37
+ children?: Array<React.ReactNode>;
38
+ /** The value of radio button, which is preselected. */
39
+ value?: string;
40
+ /** Disabled all radio group from being changed. To disable some of radios provide disabled flag in each of them. */
41
+ disabled?: boolean;
42
+ /** Set if the control is required to be checked. */
43
+ required?: boolean;
44
+ /** Sets radio group into error state. */
45
+ error?: boolean;
46
+ /** Set to be focused (active) on selected\checked radio. */
47
+ autoFocus?: boolean;
48
+ /** How to position radio buttons in the group. */
49
+ align?: Align;
50
+ /** String value for the name of RadioGroup, it is used to group buttons. If missed default is random ID string. */
51
+ name?: string;
52
+ /** How to position the label relative to the radio itself. */
53
+ labelPlacement?: LabelPlacement;
54
+ /** Unique id for RadioGroup, help ARIA to identify element */
55
+ id?: string;
56
+ /** Handler for change events on trigger element. */
57
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
58
+ /** Handler for mouseenter events on trigger element. */
59
+ onMouseEnter?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
60
+ /** Handler for mouseleave events on trigger element. */
61
+ onMouseLeave?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
62
+ /** Handler for focus events on trigger element. */
63
+ onFocus?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
64
+ /** Handler for blur events on trigger element. */
65
+ onBlur?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
66
+ };
67
+ export type State = {
68
+ value?: string;
69
+ };
70
+ export type RadioProps = {
71
+ /** Id of element which contains a related caption */
72
+ 'aria-describedby'?: string;
73
+ /** Id of element which contains a related error message */
74
+ 'aria-errormessage'?: string;
75
+ /**
76
+ * Used to define a string that labels the radio. Use this prop if the label is not
77
+ * visible on screen. If the label is visible, use the 'aria-labeledby' prop instead.
78
+ */
79
+ 'aria-label'?: string;
80
+ /**
81
+ * Establishes a relationship between the radio and its label. Screen readers use this
82
+ * attribute to catalog the object on a page so that users can navigate between them.
83
+ */
84
+ 'aria-labelledby'?: string;
85
+ /** Focus the radio on initial render. */
86
+ autoFocus?: boolean;
87
+ /** How the radio will be displayed along with its description. Controls spacing */
88
+ align?: Align;
89
+ /** Check or uncheck the control. */
90
+ checked?: boolean;
91
+ /** Label of radio. */
92
+ children?: React.ReactNode;
93
+ /** Indicates if this radio children contain an interactive element (prevents the label from moving focus from the child element to the radio button) */
94
+ containsInteractiveElement?: boolean;
95
+ /** Add more detail about a radio element. */
96
+ description?: string;
97
+ /** Disable the checkbox from being changed. */
98
+ disabled?: boolean;
99
+ /** Used to get a ref to the input element. Useful for programmatically focusing the input */
100
+ inputRef?: React.RefObject<HTMLInputElement>;
101
+ /** Renders checkbox in errored state. */
102
+ error?: boolean;
103
+ /** Is radio focused / active? */
104
+ isFocused?: boolean;
105
+ /** Is parent RadioGroup focused by keyboard? */
106
+ isFocusVisible?: boolean;
107
+ /** How to position the label relative to the checkbox itself. */
108
+ labelPlacement?: LabelPlacement;
109
+ /** Passed to the input element name attribute */
110
+ name?: string;
111
+ /** handler for blur events on trigger element. */
112
+ onBlur?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
113
+ /** Handler for change events on trigger element. */
114
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
115
+ /** handler for focus events on trigger element. */
116
+ onFocus?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
117
+ /** Handler for mouseenter events on trigger element. */
118
+ onMouseEnter?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
119
+ /** Handler for mouseleave events on trigger element. */
120
+ onMouseLeave?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
121
+ /** Handler for mousedown events on trigger element. */
122
+ onMouseDown?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
123
+ /** Handler for mouseup events on trigger element. */
124
+ onMouseUp?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
125
+ overrides?: RadioOverrides;
126
+ /** Marks the checkbox as required. */
127
+ required?: boolean;
128
+ /** Passed to the input element value attribute */
129
+ value?: string;
130
+ /** Passed to the input element, typically managed by RadioGroup */
131
+ tabIndex?: string;
132
+ };
133
+ export type RadioState = {
134
+ isActive: boolean;
135
+ isHovered: boolean;
136
+ };
137
+ export type StateReducer = (stateType: string, nextState: State, currentState: State, event: React.ChangeEvent<HTMLInputElement>) => State;
138
+ export type StatelessState = {
139
+ isFocusVisible: boolean;
140
+ focusedRadioIndex: number;
141
+ };
142
+ export type DefaultStatefulProps = {
143
+ initialState: State;
144
+ children?: (props: RadioGroupProps) => React.ReactNode;
145
+ stateReducer: StateReducer;
146
+ onChange: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
147
+ };
148
+ export type StatefulContainerProps = {
149
+ overrides?: RadioGroupOverrides;
150
+ /** Should return `RadioGroup` instance with standard or customized inner elements. */
151
+ children?: (props: RadioGroupProps) => React.ReactNode;
152
+ /** Initial state populated into the component */
153
+ initialState?: State;
154
+ /** Reducer function to manipulate internal state updates. */
155
+ stateReducer?: StateReducer;
156
+ /** Handler for change events on trigger element. */
157
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
158
+ /** Set to be focused (active) on selected\checked radio. */
159
+ autoFocus?: boolean;
160
+ };
161
+ export type StatefulRadioGroupProps = {
162
+ overrides?: RadioGroupOverrides;
163
+ /** A list of `Radio` components. */
164
+ children?: Array<React.ReactNode>;
165
+ /** Initial state populated into the component */
166
+ initialState?: State;
167
+ /** Set to be focused (active) on selected\checked radio. */
168
+ autoFocus?: boolean;
169
+ /** Handler for change events on trigger element. */
170
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => unknown;
171
+ };
172
+ export type StyleProps = {
173
+ $align?: Align;
174
+ $checked: boolean;
175
+ $disabled: boolean;
176
+ $hasDescription: boolean;
177
+ $isActive: boolean;
178
+ $error: boolean;
179
+ $isFocused: boolean;
180
+ $isFocusVisible: boolean;
181
+ $isHovered: boolean;
182
+ $labelPlacement: LabelPlacement;
183
+ $required: boolean;
184
+ $value: string;
185
+ };
@@ -0,0 +1 @@
1
+ "use strict";