baseui 0.0.0-next-2992a67 → 0.0.0-next-ecc760f

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 (984) hide show
  1. package/a11y/a11y.js +6 -2
  2. package/a11y/types.d.ts +1 -1
  3. package/accordion/accordion.js +1 -0
  4. package/accordion/index.d.ts +1 -1
  5. package/accordion/locale.d.ts +1 -1
  6. package/accordion/panel.js +2 -1
  7. package/accordion/stateless-accordion.js +3 -1
  8. package/accordion/types.d.ts +18 -18
  9. package/app-nav-bar/app-nav-bar.js +9 -3
  10. package/app-nav-bar/index.d.ts +4 -4
  11. package/app-nav-bar/mobile-menu.js +4 -2
  12. package/app-nav-bar/styled-components.js +2 -35
  13. package/app-nav-bar/styled-components.js.flow +6 -36
  14. package/app-nav-bar/types.d.ts +6 -6
  15. package/app-nav-bar/user-menu.js +3 -2
  16. package/app-nav-bar/utils.d.ts +1 -1
  17. package/aspect-ratio-box/aspect-ratio-box-body.js +11 -7
  18. package/aspect-ratio-box/aspect-ratio-box.js +1 -0
  19. package/aspect-ratio-box/types.d.ts +1 -1
  20. package/avatar/avatar.js +3 -1
  21. package/avatar/styled-components.js +3 -1
  22. package/avatar/types.d.ts +6 -6
  23. package/badge/index.d.ts +8 -8
  24. package/badge/styled-components.js +4 -1
  25. package/badge/types.d.ts +9 -9
  26. package/badge/utils.d.ts +1 -1
  27. package/banner/banner.js +14 -5
  28. package/banner/banner.js.flow +5 -0
  29. package/banner/index.d.ts +3 -3
  30. package/banner/types.d.ts +12 -11
  31. package/block/styled-components.js +21 -4
  32. package/block/types.d.ts +21 -21
  33. package/bottom-navigation/bottom-navigation.d.ts +4 -0
  34. package/bottom-navigation/bottom-navigation.js +171 -0
  35. package/bottom-navigation/index.d.ts +4 -0
  36. package/bottom-navigation/index.js +55 -0
  37. package/bottom-navigation/index.js.flow +72 -0
  38. package/bottom-navigation/nav-item.d.ts +3 -0
  39. package/bottom-navigation/nav-item.js +20 -0
  40. package/bottom-navigation/package.json +4 -0
  41. package/bottom-navigation/panel.d.ts +3 -0
  42. package/bottom-navigation/panel.js +53 -0
  43. package/bottom-navigation/selector.d.ts +3 -0
  44. package/bottom-navigation/selector.js +71 -0
  45. package/bottom-navigation/styled-components.d.ts +9 -0
  46. package/bottom-navigation/styled-components.js +104 -0
  47. package/bottom-navigation/types.d.ts +45 -0
  48. package/bottom-navigation/types.js +5 -0
  49. package/breadcrumbs/breadcrumbs.js +6 -2
  50. package/breadcrumbs/locale.d.ts +1 -1
  51. package/breadcrumbs/types.d.ts +2 -2
  52. package/button/button-internals.js +13 -0
  53. package/button/button.d.ts +2 -2
  54. package/button/button.js +3 -8
  55. package/button/index.d.ts +1 -1
  56. package/button/styled-components.js +11 -6
  57. package/button/types.d.ts +4 -4
  58. package/button-dock/button-dock.d.ts +4 -0
  59. package/button-dock/button-dock.js +63 -0
  60. package/button-dock/index.d.ts +3 -0
  61. package/button-dock/index.js +46 -0
  62. package/button-dock/index.js.flow +37 -0
  63. package/button-dock/package.json +4 -0
  64. package/button-dock/styled-components.d.ts +5 -0
  65. package/button-dock/styled-components.js +63 -0
  66. package/button-dock/types.d.ts +14 -0
  67. package/button-dock/types.js +5 -0
  68. package/button-docked/button-docked.d.ts +4 -0
  69. package/button-docked/button-docked.js +63 -0
  70. package/button-docked/index.d.ts +3 -0
  71. package/button-docked/index.js +46 -0
  72. package/button-docked/index.js.flow +37 -0
  73. package/button-docked/package.json +4 -0
  74. package/button-docked/styled-components.d.ts +5 -0
  75. package/button-docked/styled-components.js +62 -0
  76. package/button-docked/types.d.ts +14 -0
  77. package/button-docked/types.js +5 -0
  78. package/button-group/button-group.js +5 -0
  79. package/button-group/locale.d.ts +1 -1
  80. package/button-group/stateful-container.d.ts +1 -1
  81. package/button-group/stateful-container.js +3 -0
  82. package/button-group/types.d.ts +11 -11
  83. package/button-timed/button-timed.js +1 -0
  84. package/button-timed/types.d.ts +2 -2
  85. package/card/card.js +4 -2
  86. package/card/types.d.ts +3 -3
  87. package/checkbox/checkbox.d.ts +2 -0
  88. package/checkbox/checkbox.js +34 -16
  89. package/checkbox/checkbox.js.flow +1 -4
  90. package/checkbox/styled-components.js +11 -5
  91. package/checkbox/types.d.ts +13 -17
  92. package/checkbox/types.js.flow +0 -2
  93. package/combobox/combobox.js +20 -20
  94. package/combobox/combobox.js.flow +8 -3
  95. package/combobox/index.d.ts +1 -1
  96. package/combobox/styled-components.js +3 -1
  97. package/combobox/types.d.ts +5 -3
  98. package/combobox/types.js.flow +2 -0
  99. package/data-table/column-anchor.d.ts +5 -5
  100. package/data-table/column-anchor.js +3 -1
  101. package/data-table/column-boolean.d.ts +3 -3
  102. package/data-table/column-boolean.js +4 -2
  103. package/data-table/column-categorical.d.ts +4 -4
  104. package/data-table/column-categorical.js +8 -3
  105. package/data-table/column-custom.d.ts +1 -1
  106. package/data-table/column-datetime.d.ts +4 -4
  107. package/data-table/column-datetime.js +22 -6
  108. package/data-table/column-numerical.d.ts +4 -4
  109. package/data-table/column-numerical.js +12 -6
  110. package/data-table/column-row-index.d.ts +3 -3
  111. package/data-table/column-row-index.js +2 -1
  112. package/data-table/column-string.d.ts +3 -3
  113. package/data-table/column-string.js +3 -1
  114. package/data-table/column.js +2 -0
  115. package/data-table/data-table.js +31 -12
  116. package/data-table/filter-menu.d.ts +1 -1
  117. package/data-table/filter-menu.js +18 -6
  118. package/data-table/filter-shell.d.ts +2 -2
  119. package/data-table/header-cell.d.ts +1 -1
  120. package/data-table/header-cell.js +2 -0
  121. package/data-table/index.d.ts +5 -5
  122. package/data-table/locale.d.ts +5 -1
  123. package/data-table/locale.js +3 -1
  124. package/data-table/locale.js.flow +4 -1
  125. package/data-table/measure-column-widths.d.ts +1 -1
  126. package/data-table/measure-column-widths.js +23 -22
  127. package/data-table/measure-column-widths.js.flow +1 -2
  128. package/data-table/stateful-container.js +16 -7
  129. package/data-table/stateful-data-table.js +16 -10
  130. package/data-table/text-search.js +1 -0
  131. package/data-table/types.d.ts +14 -14
  132. package/datepicker/calendar-header.js +63 -20
  133. package/datepicker/calendar-header.js.flow +9 -7
  134. package/datepicker/calendar.d.ts +1 -0
  135. package/datepicker/calendar.js +94 -20
  136. package/datepicker/calendar.js.flow +56 -1
  137. package/datepicker/datepicker.d.ts +2 -1
  138. package/datepicker/datepicker.js +34 -12
  139. package/datepicker/day.js +10 -3
  140. package/datepicker/index.d.ts +1 -1
  141. package/datepicker/index.js.flow +1 -0
  142. package/datepicker/locale.d.ts +1 -1
  143. package/datepicker/locale.js +1 -1
  144. package/datepicker/month.js +14 -1
  145. package/datepicker/stateful-calendar.d.ts +1 -1
  146. package/datepicker/stateful-container.d.ts +2 -2
  147. package/datepicker/stateful-container.js +3 -2
  148. package/datepicker/stateful-datepicker.d.ts +1 -1
  149. package/datepicker/styled-components.d.ts +6 -2
  150. package/datepicker/styled-components.js +84 -49
  151. package/datepicker/types.d.ts +35 -22
  152. package/datepicker/types.js.flow +13 -0
  153. package/datepicker/utils/calendar-header-helpers.d.ts +2 -2
  154. package/datepicker/utils/date-helpers.js +3 -2
  155. package/datepicker/utils/day-state.js +6 -2
  156. package/datepicker/utils/index.d.ts +1 -1
  157. package/datepicker/utils/types.d.ts +7 -7
  158. package/datepicker/week.js +7 -3
  159. package/divider/types.d.ts +1 -1
  160. package/dnd-list/index.d.ts +1 -1
  161. package/dnd-list/list.js +2 -0
  162. package/dnd-list/stateful-list-container.js +4 -2
  163. package/dnd-list/styled-components.js +4 -2
  164. package/dnd-list/types.d.ts +8 -8
  165. package/drawer/drawer.d.ts +3 -3
  166. package/drawer/locale.d.ts +1 -1
  167. package/drawer/styled-components.js +14 -11
  168. package/drawer/types.d.ts +11 -11
  169. package/es/a11y/a11y.js +6 -2
  170. package/es/accordion/accordion.js +1 -0
  171. package/es/accordion/panel.js +2 -1
  172. package/es/accordion/stateless-accordion.js +3 -1
  173. package/es/app-nav-bar/app-nav-bar.js +8 -4
  174. package/es/app-nav-bar/mobile-menu.js +6 -3
  175. package/es/app-nav-bar/styled-components.js +5 -35
  176. package/es/app-nav-bar/user-menu.js +3 -2
  177. package/es/aspect-ratio-box/aspect-ratio-box-body.js +4 -1
  178. package/es/aspect-ratio-box/aspect-ratio-box.js +1 -0
  179. package/es/avatar/avatar.js +3 -1
  180. package/es/avatar/styled-components.js +3 -1
  181. package/es/badge/styled-components.js +4 -2
  182. package/es/banner/banner.js +14 -5
  183. package/es/block/styled-components.js +21 -4
  184. package/es/bottom-navigation/bottom-navigation.js +110 -0
  185. package/es/bottom-navigation/index.js +10 -0
  186. package/es/bottom-navigation/nav-item.js +12 -0
  187. package/es/bottom-navigation/panel.js +25 -0
  188. package/es/bottom-navigation/selector.js +34 -0
  189. package/es/bottom-navigation/styled-components.js +88 -0
  190. package/es/bottom-navigation/types.js +1 -0
  191. package/es/breadcrumbs/breadcrumbs.js +6 -2
  192. package/es/button/button-internals.js +13 -0
  193. package/es/button/button.js +7 -13
  194. package/es/button/styled-components.js +17 -6
  195. package/es/button-dock/button-dock.js +29 -0
  196. package/es/button-dock/index.js +9 -0
  197. package/es/button-dock/styled-components.js +49 -0
  198. package/es/button-dock/types.js +1 -0
  199. package/es/button-docked/button-docked.js +29 -0
  200. package/es/button-docked/index.js +9 -0
  201. package/es/button-docked/styled-components.js +48 -0
  202. package/es/button-docked/types.js +1 -0
  203. package/es/button-group/button-group.js +5 -0
  204. package/es/button-group/stateful-container.js +3 -0
  205. package/es/button-timed/button-timed.js +1 -0
  206. package/es/card/card.js +3 -2
  207. package/es/checkbox/checkbox.js +35 -16
  208. package/es/checkbox/styled-components.js +11 -5
  209. package/es/combobox/combobox.js +19 -20
  210. package/es/combobox/styled-components.js +3 -1
  211. package/es/data-table/column-anchor.js +3 -1
  212. package/es/data-table/column-boolean.js +4 -2
  213. package/es/data-table/column-categorical.js +7 -3
  214. package/es/data-table/column-datetime.js +22 -6
  215. package/es/data-table/column-numerical.js +14 -7
  216. package/es/data-table/column-row-index.js +2 -1
  217. package/es/data-table/column-string.js +3 -1
  218. package/es/data-table/column.js +2 -0
  219. package/es/data-table/data-table.js +32 -13
  220. package/es/data-table/filter-menu.js +16 -6
  221. package/es/data-table/header-cell.js +2 -0
  222. package/es/data-table/locale.js +3 -1
  223. package/es/data-table/measure-column-widths.js +23 -22
  224. package/es/data-table/stateful-container.js +15 -7
  225. package/es/data-table/stateful-data-table.js +14 -8
  226. package/es/data-table/text-search.js +1 -0
  227. package/es/datepicker/calendar-header.js +63 -20
  228. package/es/datepicker/calendar.js +68 -12
  229. package/es/datepicker/datepicker.js +32 -12
  230. package/es/datepicker/day.js +10 -3
  231. package/es/datepicker/locale.js +1 -1
  232. package/es/datepicker/month.js +14 -1
  233. package/es/datepicker/stateful-container.js +3 -2
  234. package/es/datepicker/styled-components.js +85 -54
  235. package/es/datepicker/utils/date-helpers.js +3 -2
  236. package/es/datepicker/utils/day-state.js +6 -2
  237. package/es/datepicker/week.js +7 -3
  238. package/es/dnd-list/list.js +2 -0
  239. package/es/dnd-list/stateful-list-container.js +5 -2
  240. package/es/dnd-list/styled-components.js +4 -2
  241. package/es/drawer/styled-components.js +14 -11
  242. package/es/file-uploader/file-uploader.js +92 -82
  243. package/es/file-uploader/styled-components.js +4 -2
  244. package/es/flex-grid/flex-grid-item.js +7 -2
  245. package/es/flex-grid/flex-grid.js +2 -1
  246. package/es/form-control/form-control.js +10 -2
  247. package/es/helper/stateful-helper.js +1 -0
  248. package/es/helper/styled-components.js +9 -5
  249. package/es/helpers/overrides.js +1 -0
  250. package/es/helpers/react-helpers.js +1 -1
  251. package/es/helpers/responsive-helpers.js +25 -1
  252. package/es/icon/alert.js +1 -0
  253. package/es/icon/arrow-down.js +1 -0
  254. package/es/icon/arrow-left.js +1 -0
  255. package/es/icon/arrow-right.js +1 -0
  256. package/es/icon/arrow-up.js +1 -0
  257. package/es/icon/blank.js +1 -0
  258. package/es/icon/calendar.js +44 -0
  259. package/es/icon/check-indeterminate.js +1 -0
  260. package/es/icon/check.js +1 -0
  261. package/es/icon/chevron-down.js +1 -0
  262. package/es/icon/chevron-left.js +1 -0
  263. package/es/icon/chevron-right.js +1 -0
  264. package/es/icon/chevron-up.js +1 -0
  265. package/es/icon/delete-alt.js +1 -0
  266. package/es/icon/delete.js +1 -0
  267. package/es/icon/filter.js +1 -0
  268. package/es/icon/grab.js +1 -0
  269. package/es/icon/hide.js +1 -0
  270. package/es/icon/icon-exports.js +1 -0
  271. package/es/icon/icon.js +1 -0
  272. package/es/icon/menu.js +1 -0
  273. package/es/icon/omit-dollar-prefixed-keys.js +1 -0
  274. package/es/icon/overflow.js +1 -0
  275. package/es/icon/plus.js +1 -0
  276. package/es/icon/search.js +1 -0
  277. package/es/icon/show.js +1 -0
  278. package/es/icon/spinner.js +1 -0
  279. package/es/icon/styled-components.js +4 -0
  280. package/es/icon/triangle-down.js +1 -0
  281. package/es/icon/triangle-left.js +1 -0
  282. package/es/icon/triangle-right.js +1 -0
  283. package/es/icon/triangle-up.js +1 -0
  284. package/es/icon/upload.js +1 -0
  285. package/es/input/base-input.js +33 -8
  286. package/es/input/input.js +13 -4
  287. package/es/input/masked-input.js +2 -1
  288. package/es/input/stateful-container.js +4 -1
  289. package/es/input/styled-components.js +31 -7
  290. package/es/input/utils.js +2 -0
  291. package/es/layer/layer.js +5 -1
  292. package/es/layer/tether.js +3 -0
  293. package/es/layout-grid/grid.js +1 -0
  294. package/es/layout-grid/index.js +2 -1
  295. package/es/layout-grid/styled-components.js +6 -3
  296. package/es/link/index.js +1 -0
  297. package/es/list/list-heading.js +21 -22
  298. package/es/list/list-item.js +5 -1
  299. package/es/list/styled-components.js +16 -3
  300. package/es/locale/es_AR.js +3 -1
  301. package/es/locale/index.js +10 -4
  302. package/es/locale/tr_TR.js +3 -1
  303. package/es/map-marker/calculate-offsets.js +0 -1
  304. package/es/map-marker/constants.js +14 -1
  305. package/es/map-marker/fixed-marker.js +2 -0
  306. package/es/map-marker/floating-marker.js +3 -1
  307. package/es/map-marker/floating-route-marker.js +4 -5
  308. package/es/map-marker/location-puck.js +10 -5
  309. package/es/map-marker/pin-head.js +19 -10
  310. package/es/map-marker/styled-components.js +29 -6
  311. package/es/menu/menu.js +9 -3
  312. package/es/menu/nested-menus.js +9 -1
  313. package/es/menu/option-list.js +7 -4
  314. package/es/menu/option-profile.js +3 -3
  315. package/es/menu/stateful-container.js +8 -3
  316. package/es/menu/styled-components.js +5 -3
  317. package/es/message-card/message-card.js +26 -25
  318. package/es/mobile-header/constants.js +0 -1
  319. package/es/mobile-header/index.js +0 -1
  320. package/es/mobile-header/mobile-header.js +2 -3
  321. package/es/mobile-header/styled-components.js +2 -1
  322. package/es/modal/modal-button.js +1 -0
  323. package/es/modal/modal.js +25 -19
  324. package/es/modal/styled-components.js +9 -2
  325. package/es/page-control/constants.js +17 -0
  326. package/es/page-control/index.js +9 -0
  327. package/es/page-control/page-control.js +114 -0
  328. package/es/page-control/styled-components.js +99 -0
  329. package/es/page-control/types.js +1 -0
  330. package/es/pagination/pagination.js +62 -56
  331. package/es/payment-card/payment-card.js +6 -2
  332. package/es/phone-input/base-country-picker.js +5 -2
  333. package/es/phone-input/country-picker.js +7 -0
  334. package/es/phone-input/country-select.js +1 -0
  335. package/es/phone-input/default-props.js +4 -0
  336. package/es/phone-input/flag.js +2 -1
  337. package/es/phone-input/phone-input-lite.js +2 -0
  338. package/es/phone-input/phone-input-next.js +2 -0
  339. package/es/phone-input/stateful-phone-input-container.js +1 -0
  340. package/es/pin-code/default-props.js +4 -0
  341. package/es/pin-code/pin-code.js +4 -2
  342. package/es/popover/popover.js +21 -4
  343. package/es/popover/stateful-popover.js +1 -0
  344. package/es/popover/utils.js +4 -1
  345. package/es/progress-bar/progressbar-rounded.js +27 -28
  346. package/es/progress-bar/progressbar.js +9 -3
  347. package/es/progress-bar/styled-components.js +4 -0
  348. package/es/progress-steps/progress-steps.js +1 -0
  349. package/es/radio/radio.js +5 -2
  350. package/es/radio/radiogroup.js +1 -0
  351. package/es/radio/styled-components.js +11 -5
  352. package/es/rating/emoticon-rating.js +16 -7
  353. package/es/rating/star-rating.js +16 -7
  354. package/es/rating/styled-components.js +2 -0
  355. package/es/select/default-props.js +10 -0
  356. package/es/select/dropdown.js +3 -1
  357. package/es/select/multi-value.js +1 -0
  358. package/es/select/select-component.js +60 -21
  359. package/es/select/stateful-select-container.js +1 -0
  360. package/es/select/styled-components.js +18 -7
  361. package/es/select/utils/default-filter-options.js +3 -1
  362. package/es/select/utils/index.js +3 -1
  363. package/es/sheet/action-button.js +44 -0
  364. package/es/sheet/index.js +9 -0
  365. package/es/sheet/sheet.js +100 -0
  366. package/es/sheet/styled-components.js +197 -0
  367. package/es/sheet/types.js +1 -0
  368. package/es/side-navigation/index.js +2 -1
  369. package/es/side-navigation/nav-item.js +2 -1
  370. package/es/side-navigation/nav.js +10 -3
  371. package/es/side-navigation/side-navigation-next.js +271 -0
  372. package/es/side-navigation/styled-components.js +4 -2
  373. package/es/skeleton/skeleton.js +2 -0
  374. package/es/skeleton/styled-components.js +1 -0
  375. package/es/snackbar/snackbar-context.js +29 -11
  376. package/es/snackbar/snackbar-element.js +4 -1
  377. package/es/snackbar/styled-components.js +1 -1
  378. package/es/spinner/styled-components.js +2 -0
  379. package/es/stepper/index.js +0 -1
  380. package/es/stepper/stepper.js +0 -1
  381. package/es/stepper/styled-components.js +0 -1
  382. package/es/styles/__mocks__/styled.js +6 -2
  383. package/es/styles/as-primary-export-hoc.js +2 -0
  384. package/es/styles/styled.js +2 -1
  385. package/es/system-banner/index.js +8 -0
  386. package/es/system-banner/styled-components.js +71 -0
  387. package/es/system-banner/system-banner.js +81 -0
  388. package/es/system-banner/types.js +1 -0
  389. package/es/table/styled-components.js +1 -0
  390. package/es/table/table.js +2 -0
  391. package/es/table-semantic/styled-components.js +8 -8
  392. package/es/table-semantic/table-builder.js +25 -22
  393. package/es/table-semantic/table.js +2 -0
  394. package/es/tabs/stateful-tabs.js +2 -2
  395. package/es/tabs-motion/stateful-tabs.js +1 -0
  396. package/es/tabs-motion/tab.js +1 -0
  397. package/es/tabs-motion/tabs.js +25 -3
  398. package/es/tag/styled-components.js +72 -2
  399. package/es/tag/tag.js +2 -0
  400. package/es/textarea/stateful-textarea.js +5 -1
  401. package/es/textarea/textarea.js +4 -2
  402. package/es/themes/dark-theme/color-component-tokens.js +1 -1
  403. package/es/themes/dark-theme/color-semantic-tokens.js +8 -0
  404. package/es/themes/light-theme/color-semantic-tokens.js +8 -0
  405. package/es/timepicker/timepicker.js +10 -4
  406. package/es/timezonepicker/timezone-picker.js +3 -1
  407. package/es/toast/toast.js +13 -5
  408. package/es/toast/toaster.js +24 -3
  409. package/es/tree-view/tree-label-interactable.js +4 -2
  410. package/es/tree-view/tree-view.js +5 -2
  411. package/es/tree-view/utils.js +43 -15
  412. package/es/utils/deep-merge.js +5 -0
  413. package/es/utils/focusVisible.js +17 -7
  414. package/esm/a11y/a11y.js +6 -2
  415. package/esm/accordion/accordion.js +1 -0
  416. package/esm/accordion/panel.js +2 -1
  417. package/esm/accordion/stateless-accordion.js +3 -1
  418. package/esm/app-nav-bar/app-nav-bar.js +9 -4
  419. package/esm/app-nav-bar/mobile-menu.js +4 -2
  420. package/esm/app-nav-bar/styled-components.js +3 -36
  421. package/esm/app-nav-bar/user-menu.js +3 -2
  422. package/esm/aspect-ratio-box/aspect-ratio-box-body.js +11 -7
  423. package/esm/aspect-ratio-box/aspect-ratio-box.js +1 -0
  424. package/esm/avatar/avatar.js +3 -1
  425. package/esm/avatar/styled-components.js +3 -1
  426. package/esm/badge/styled-components.js +4 -2
  427. package/esm/banner/banner.js +14 -5
  428. package/esm/block/styled-components.js +21 -4
  429. package/esm/bottom-navigation/bottom-navigation.js +155 -0
  430. package/esm/bottom-navigation/index.js +10 -0
  431. package/esm/bottom-navigation/nav-item.js +12 -0
  432. package/esm/bottom-navigation/panel.js +42 -0
  433. package/esm/bottom-navigation/selector.js +58 -0
  434. package/esm/bottom-navigation/styled-components.js +95 -0
  435. package/esm/bottom-navigation/types.js +1 -0
  436. package/esm/breadcrumbs/breadcrumbs.js +6 -2
  437. package/esm/button/button-internals.js +13 -0
  438. package/esm/button/button.js +3 -8
  439. package/esm/button/styled-components.js +11 -6
  440. package/esm/button-dock/button-dock.js +53 -0
  441. package/esm/button-dock/index.js +9 -0
  442. package/esm/button-dock/styled-components.js +52 -0
  443. package/esm/button-dock/types.js +1 -0
  444. package/esm/button-docked/button-docked.js +53 -0
  445. package/esm/button-docked/index.js +9 -0
  446. package/esm/button-docked/styled-components.js +51 -0
  447. package/esm/button-docked/types.js +1 -0
  448. package/esm/button-group/button-group.js +5 -0
  449. package/esm/button-group/stateful-container.js +3 -0
  450. package/esm/button-timed/button-timed.js +1 -0
  451. package/esm/card/card.js +3 -2
  452. package/esm/checkbox/checkbox.js +34 -16
  453. package/esm/checkbox/styled-components.js +11 -5
  454. package/esm/combobox/combobox.js +20 -20
  455. package/esm/combobox/styled-components.js +3 -1
  456. package/esm/data-table/column-anchor.js +3 -1
  457. package/esm/data-table/column-boolean.js +4 -2
  458. package/esm/data-table/column-categorical.js +7 -3
  459. package/esm/data-table/column-datetime.js +22 -6
  460. package/esm/data-table/column-numerical.js +14 -7
  461. package/esm/data-table/column-row-index.js +2 -1
  462. package/esm/data-table/column-string.js +3 -1
  463. package/esm/data-table/column.js +2 -0
  464. package/esm/data-table/data-table.js +33 -13
  465. package/esm/data-table/filter-menu.js +16 -6
  466. package/esm/data-table/header-cell.js +2 -0
  467. package/esm/data-table/locale.js +3 -1
  468. package/esm/data-table/measure-column-widths.js +23 -22
  469. package/esm/data-table/stateful-container.js +16 -7
  470. package/esm/data-table/stateful-data-table.js +16 -10
  471. package/esm/data-table/text-search.js +1 -0
  472. package/esm/datepicker/calendar-header.js +63 -20
  473. package/esm/datepicker/calendar.js +92 -20
  474. package/esm/datepicker/datepicker.js +34 -12
  475. package/esm/datepicker/day.js +10 -3
  476. package/esm/datepicker/locale.js +1 -1
  477. package/esm/datepicker/month.js +14 -1
  478. package/esm/datepicker/stateful-container.js +3 -2
  479. package/esm/datepicker/styled-components.js +84 -49
  480. package/esm/datepicker/utils/date-helpers.js +3 -2
  481. package/esm/datepicker/utils/day-state.js +6 -2
  482. package/esm/datepicker/week.js +7 -3
  483. package/esm/dnd-list/list.js +2 -0
  484. package/esm/dnd-list/stateful-list-container.js +4 -2
  485. package/esm/dnd-list/styled-components.js +4 -2
  486. package/esm/drawer/styled-components.js +14 -11
  487. package/esm/file-uploader/file-uploader.js +97 -87
  488. package/esm/file-uploader/styled-components.js +4 -2
  489. package/esm/flex-grid/flex-grid-item.js +7 -2
  490. package/esm/flex-grid/flex-grid.js +2 -1
  491. package/esm/form-control/form-control.js +5 -2
  492. package/esm/helper/stateful-helper.js +1 -0
  493. package/esm/helper/styled-components.js +9 -5
  494. package/esm/helpers/overrides.js +1 -0
  495. package/esm/helpers/react-helpers.js +1 -1
  496. package/esm/helpers/responsive-helpers.js +54 -1
  497. package/esm/icon/alert.js +1 -0
  498. package/esm/icon/arrow-down.js +1 -0
  499. package/esm/icon/arrow-left.js +1 -0
  500. package/esm/icon/arrow-right.js +1 -0
  501. package/esm/icon/arrow-up.js +1 -0
  502. package/esm/icon/blank.js +1 -0
  503. package/esm/icon/calendar.js +66 -0
  504. package/esm/icon/check-indeterminate.js +1 -0
  505. package/esm/icon/check.js +1 -0
  506. package/esm/icon/chevron-down.js +1 -0
  507. package/esm/icon/chevron-left.js +1 -0
  508. package/esm/icon/chevron-right.js +1 -0
  509. package/esm/icon/chevron-up.js +1 -0
  510. package/esm/icon/delete-alt.js +1 -0
  511. package/esm/icon/delete.js +1 -0
  512. package/esm/icon/filter.js +1 -0
  513. package/esm/icon/grab.js +1 -0
  514. package/esm/icon/hide.js +1 -0
  515. package/esm/icon/icon-exports.js +1 -0
  516. package/esm/icon/icon.js +1 -0
  517. package/esm/icon/menu.js +1 -0
  518. package/esm/icon/omit-dollar-prefixed-keys.js +1 -0
  519. package/esm/icon/overflow.js +1 -0
  520. package/esm/icon/plus.js +1 -0
  521. package/esm/icon/search.js +1 -0
  522. package/esm/icon/show.js +1 -0
  523. package/esm/icon/spinner.js +1 -0
  524. package/esm/icon/styled-components.js +4 -0
  525. package/esm/icon/triangle-down.js +1 -0
  526. package/esm/icon/triangle-left.js +1 -0
  527. package/esm/icon/triangle-right.js +1 -0
  528. package/esm/icon/triangle-up.js +1 -0
  529. package/esm/icon/upload.js +1 -0
  530. package/esm/input/base-input.js +25 -6
  531. package/esm/input/input.js +10 -4
  532. package/esm/input/masked-input.js +2 -1
  533. package/esm/input/stateful-container.js +4 -1
  534. package/esm/input/styled-components.js +32 -8
  535. package/esm/input/utils.js +2 -0
  536. package/esm/layer/layer.js +6 -2
  537. package/esm/layer/tether.js +3 -0
  538. package/esm/layout-grid/grid.js +1 -0
  539. package/esm/layout-grid/index.js +2 -1
  540. package/esm/layout-grid/styled-components.js +6 -3
  541. package/esm/link/index.js +1 -0
  542. package/esm/list/list-heading.js +21 -22
  543. package/esm/list/list-item.js +5 -1
  544. package/esm/list/styled-components.js +17 -4
  545. package/esm/locale/es_AR.js +3 -1
  546. package/esm/locale/index.js +10 -4
  547. package/esm/locale/tr_TR.js +3 -1
  548. package/esm/map-marker/calculate-offsets.js +0 -1
  549. package/esm/map-marker/constants.js +2 -1
  550. package/esm/map-marker/floating-marker.js +3 -1
  551. package/esm/map-marker/floating-route-marker.js +4 -7
  552. package/esm/map-marker/location-puck.js +9 -5
  553. package/esm/map-marker/pin-head.js +46 -24
  554. package/esm/map-marker/styled-components.js +29 -7
  555. package/esm/menu/menu.js +9 -3
  556. package/esm/menu/nested-menus.js +9 -1
  557. package/esm/menu/option-list.js +8 -4
  558. package/esm/menu/option-profile.js +3 -3
  559. package/esm/menu/stateful-container.js +8 -3
  560. package/esm/menu/styled-components.js +5 -3
  561. package/esm/message-card/message-card.js +31 -30
  562. package/esm/mobile-header/constants.js +0 -1
  563. package/esm/mobile-header/index.js +0 -1
  564. package/esm/mobile-header/mobile-header.js +2 -3
  565. package/esm/mobile-header/styled-components.js +4 -3
  566. package/esm/modal/modal-button.js +1 -0
  567. package/esm/modal/modal.js +25 -19
  568. package/esm/modal/styled-components.js +9 -2
  569. package/esm/page-control/constants.js +17 -0
  570. package/esm/page-control/index.js +9 -0
  571. package/esm/page-control/page-control.js +139 -0
  572. package/esm/page-control/styled-components.js +95 -0
  573. package/esm/page-control/types.js +1 -0
  574. package/esm/pagination/pagination.js +65 -59
  575. package/esm/payment-card/payment-card.js +6 -2
  576. package/esm/phone-input/base-country-picker.js +5 -2
  577. package/esm/phone-input/country-picker.js +4 -0
  578. package/esm/phone-input/country-select.js +1 -0
  579. package/esm/phone-input/default-props.js +4 -0
  580. package/esm/phone-input/flag.js +2 -1
  581. package/esm/phone-input/phone-input-lite.js +2 -0
  582. package/esm/phone-input/phone-input-next.js +2 -0
  583. package/esm/phone-input/stateful-phone-input-container.js +1 -0
  584. package/esm/pin-code/default-props.js +4 -0
  585. package/esm/pin-code/pin-code.js +4 -2
  586. package/esm/popover/popover.js +21 -4
  587. package/esm/popover/stateful-popover.js +1 -0
  588. package/esm/popover/utils.js +3 -1
  589. package/esm/progress-bar/progressbar-rounded.js +27 -28
  590. package/esm/progress-bar/progressbar.js +9 -3
  591. package/esm/progress-bar/styled-components.js +2 -0
  592. package/esm/progress-steps/progress-steps.js +1 -0
  593. package/esm/radio/radio.js +5 -2
  594. package/esm/radio/radiogroup.js +1 -0
  595. package/esm/radio/styled-components.js +11 -5
  596. package/esm/rating/emoticon-rating.js +16 -7
  597. package/esm/rating/star-rating.js +16 -7
  598. package/esm/rating/styled-components.js +2 -0
  599. package/esm/select/default-props.js +10 -0
  600. package/esm/select/dropdown.js +3 -1
  601. package/esm/select/multi-value.js +1 -0
  602. package/esm/select/select-component.js +59 -22
  603. package/esm/select/stateful-select-container.js +1 -0
  604. package/esm/select/styled-components.js +18 -7
  605. package/esm/select/utils/default-filter-options.js +3 -1
  606. package/esm/select/utils/index.js +3 -1
  607. package/esm/sheet/action-button.js +54 -0
  608. package/esm/sheet/index.js +9 -0
  609. package/esm/sheet/sheet.js +166 -0
  610. package/esm/sheet/styled-components.js +201 -0
  611. package/esm/sheet/types.js +1 -0
  612. package/esm/side-navigation/index.js +2 -1
  613. package/esm/side-navigation/nav-item.js +2 -1
  614. package/esm/side-navigation/nav.js +11 -4
  615. package/esm/side-navigation/side-navigation-next.js +359 -0
  616. package/esm/side-navigation/styled-components.js +4 -2
  617. package/esm/skeleton/skeleton.js +2 -0
  618. package/esm/skeleton/styled-components.js +1 -0
  619. package/esm/snackbar/snackbar-context.js +27 -11
  620. package/esm/snackbar/snackbar-element.js +4 -1
  621. package/esm/snackbar/styled-components.js +1 -1
  622. package/esm/spinner/styled-components.js +2 -0
  623. package/esm/stepper/index.js +0 -1
  624. package/esm/stepper/stepper.js +0 -1
  625. package/esm/stepper/styled-components.js +0 -1
  626. package/esm/styles/__mocks__/styled.js +9 -4
  627. package/esm/styles/as-primary-export-hoc.js +2 -0
  628. package/esm/styles/styled.js +2 -1
  629. package/esm/system-banner/index.js +8 -0
  630. package/esm/system-banner/styled-components.js +82 -0
  631. package/esm/system-banner/system-banner.js +93 -0
  632. package/esm/system-banner/types.js +1 -0
  633. package/esm/table/styled-components.js +1 -0
  634. package/esm/table/table.js +2 -0
  635. package/esm/table-semantic/styled-components.js +8 -8
  636. package/esm/table-semantic/table-builder.js +25 -22
  637. package/esm/table-semantic/table.js +2 -0
  638. package/esm/tabs/stateful-tabs.js +2 -2
  639. package/esm/tabs-motion/stateful-tabs.js +1 -0
  640. package/esm/tabs-motion/tab.js +1 -0
  641. package/esm/tabs-motion/tabs.js +6 -3
  642. package/esm/tag/styled-components.js +41 -2
  643. package/esm/tag/tag.js +2 -0
  644. package/esm/textarea/stateful-textarea.js +7 -3
  645. package/esm/textarea/textarea.js +4 -2
  646. package/esm/themes/dark-theme/color-component-tokens.js +1 -1
  647. package/esm/themes/dark-theme/color-semantic-tokens.js +8 -0
  648. package/esm/themes/light-theme/color-semantic-tokens.js +8 -0
  649. package/esm/timepicker/timepicker.js +11 -4
  650. package/esm/timezonepicker/timezone-picker.js +3 -1
  651. package/esm/toast/toast.js +10 -5
  652. package/esm/toast/toaster.js +21 -3
  653. package/esm/tree-view/tree-label-interactable.js +4 -2
  654. package/esm/tree-view/tree-view.js +5 -2
  655. package/esm/tree-view/utils.js +43 -15
  656. package/esm/utils/deep-merge.js +5 -0
  657. package/esm/utils/focusVisible.js +17 -7
  658. package/file-uploader/file-uploader.js +97 -87
  659. package/file-uploader/locale.d.ts +1 -1
  660. package/file-uploader/styled-components.js +4 -2
  661. package/file-uploader/types.d.ts +7 -30
  662. package/flex-grid/flex-grid-item.js +7 -2
  663. package/flex-grid/flex-grid.js +2 -1
  664. package/flex-grid/types.d.ts +2 -2
  665. package/form-control/form-control.js +5 -2
  666. package/form-control/types.d.ts +4 -4
  667. package/header-navigation/types.d.ts +2 -2
  668. package/heading/types.d.ts +2 -2
  669. package/helper/index.d.ts +1 -1
  670. package/helper/stateful-helper.js +1 -0
  671. package/helper/styled-components.js +9 -5
  672. package/helper/types.d.ts +1 -1
  673. package/helpers/overrides.d.ts +7 -7
  674. package/helpers/overrides.js +1 -0
  675. package/helpers/react-helpers.d.ts +1 -1
  676. package/helpers/react-helpers.js +1 -1
  677. package/helpers/responsive-helpers.d.ts +5 -1
  678. package/helpers/responsive-helpers.js +62 -3
  679. package/helpers/responsive-helpers.js.flow +27 -1
  680. package/helpers/types.d.ts +9 -2
  681. package/helpers/types.js.flow +11 -0
  682. package/icon/alert.js +1 -0
  683. package/icon/arrow-down.js +1 -0
  684. package/icon/arrow-left.js +1 -0
  685. package/icon/arrow-right.js +1 -0
  686. package/icon/arrow-up.js +1 -0
  687. package/icon/blank.js +1 -0
  688. package/icon/calendar.d.ts +9 -0
  689. package/icon/calendar.js +78 -0
  690. package/icon/calendar.js.flow +47 -0
  691. package/icon/check-indeterminate.js +1 -0
  692. package/icon/check.js +1 -0
  693. package/icon/chevron-down.js +1 -0
  694. package/icon/chevron-left.js +1 -0
  695. package/icon/chevron-right.js +1 -0
  696. package/icon/chevron-up.js +1 -0
  697. package/icon/delete-alt.js +1 -0
  698. package/icon/delete.js +1 -0
  699. package/icon/filter.js +1 -0
  700. package/icon/grab.js +1 -0
  701. package/icon/hide.js +1 -0
  702. package/icon/icon-exports.d.ts +1 -0
  703. package/icon/icon-exports.js +8 -0
  704. package/icon/icon-exports.js.flow +1 -0
  705. package/icon/icon.js +1 -0
  706. package/icon/index.d.ts +1 -1
  707. package/icon/menu.js +1 -0
  708. package/icon/omit-dollar-prefixed-keys.js +1 -0
  709. package/icon/overflow.js +1 -0
  710. package/icon/plus.js +1 -0
  711. package/icon/search.js +1 -0
  712. package/icon/show.js +1 -0
  713. package/icon/spinner.js +1 -0
  714. package/icon/styled-components.js +4 -0
  715. package/icon/triangle-down.js +1 -0
  716. package/icon/triangle-left.js +1 -0
  717. package/icon/triangle-right.js +1 -0
  718. package/icon/triangle-up.js +1 -0
  719. package/icon/types.d.ts +5 -5
  720. package/icon/upload.js +1 -0
  721. package/index.d.ts +3 -3
  722. package/input/base-input.js +25 -6
  723. package/input/input.js +10 -4
  724. package/input/stateful-container.js +4 -1
  725. package/input/styled-components.js +32 -8
  726. package/input/types.d.ts +17 -17
  727. package/input/utils.js +2 -0
  728. package/layer/layer.js +6 -2
  729. package/layer/layers-manager.d.ts +8 -8
  730. package/layer/tether.d.ts +1 -1
  731. package/layer/tether.js +3 -0
  732. package/layer/types.d.ts +22 -22
  733. package/layout-grid/grid.js +1 -0
  734. package/layout-grid/index.d.ts +1 -1
  735. package/layout-grid/index.js +2 -1
  736. package/layout-grid/index.js.flow +1 -0
  737. package/layout-grid/styled-components.js +6 -3
  738. package/layout-grid/types.d.ts +13 -13
  739. package/layout-grid/types.js.flow +7 -5
  740. package/link/index.d.ts +1 -1
  741. package/link/index.js +1 -0
  742. package/list/index.d.ts +11 -11
  743. package/list/list-heading.js +21 -22
  744. package/list/list-item.js +5 -1
  745. package/list/list-item.js.flow +5 -0
  746. package/list/styled-components.js +17 -4
  747. package/list/styled-components.js.flow +30 -14
  748. package/list/types.d.ts +15 -13
  749. package/list/types.js.flow +2 -0
  750. package/locale/es_AR.js +3 -1
  751. package/locale/index.d.ts +17 -14
  752. package/locale/index.js +9 -3
  753. package/locale/tr_TR.js +3 -1
  754. package/locale/types.d.ts +1 -1
  755. package/map-marker/constants.js +2 -1
  756. package/map-marker/fixed-marker.js.flow +3 -127
  757. package/map-marker/floating-marker.d.ts +1 -1
  758. package/map-marker/floating-marker.js +3 -0
  759. package/map-marker/floating-marker.js.flow +1 -91
  760. package/map-marker/floating-route-marker.js +3 -5
  761. package/map-marker/index.d.ts +24 -24
  762. package/map-marker/location-puck.js +9 -4
  763. package/map-marker/pin-head.d.ts +1 -1
  764. package/map-marker/pin-head.js +45 -23
  765. package/map-marker/pin-head.js.flow +1 -155
  766. package/map-marker/styled-components.d.ts +9 -2
  767. package/map-marker/styled-components.js +31 -8
  768. package/map-marker/types.d.ts +42 -33
  769. package/map-marker/types.js.flow +9 -2
  770. package/menu/index.d.ts +8 -8
  771. package/menu/locale.d.ts +1 -1
  772. package/menu/maybe-child-menu.d.ts +3 -2
  773. package/menu/menu.js +9 -3
  774. package/menu/nested-menus.d.ts +2 -2
  775. package/menu/nested-menus.js +9 -1
  776. package/menu/option-list.js +8 -4
  777. package/menu/option-profile.js +3 -3
  778. package/menu/stateful-container.js +8 -3
  779. package/menu/styled-components.d.ts +1 -1
  780. package/menu/styled-components.js +5 -3
  781. package/menu/types.d.ts +31 -31
  782. package/message-card/message-card.js +30 -29
  783. package/message-card/types.d.ts +1 -1
  784. package/mobile-header/constants.js +0 -1
  785. package/mobile-header/mobile-header.js +2 -2
  786. package/mobile-header/styled-components.js +4 -2
  787. package/mobile-header/types.d.ts +5 -5
  788. package/modal/focus-once.d.ts +1 -1
  789. package/modal/locale.d.ts +1 -1
  790. package/modal/modal-button.d.ts +3 -3
  791. package/modal/modal-button.js +1 -0
  792. package/modal/modal.d.ts +4 -4
  793. package/modal/modal.js +24 -18
  794. package/modal/modal.js.flow +24 -18
  795. package/modal/styled-components.d.ts +1 -0
  796. package/modal/styled-components.js +11 -3
  797. package/modal/styled-components.js.flow +4 -0
  798. package/modal/types.d.ts +15 -10
  799. package/modal/types.js.flow +5 -0
  800. package/overrides.js.flow +16 -0
  801. package/package.json +11 -10
  802. package/page-control/constants.d.ts +12 -0
  803. package/page-control/constants.js +26 -0
  804. package/page-control/index.d.ts +4 -0
  805. package/page-control/index.js +55 -0
  806. package/page-control/index.js.flow +53 -0
  807. package/page-control/package.json +4 -0
  808. package/page-control/page-control.d.ts +4 -0
  809. package/page-control/page-control.js +151 -0
  810. package/page-control/styled-components.d.ts +11 -0
  811. package/page-control/styled-components.js +101 -0
  812. package/page-control/types.d.ts +19 -0
  813. package/page-control/types.js +5 -0
  814. package/pagination/index.d.ts +2 -2
  815. package/pagination/locale.d.ts +1 -1
  816. package/pagination/pagination.d.ts +1 -1
  817. package/pagination/pagination.js +62 -57
  818. package/pagination/types.d.ts +9 -9
  819. package/payment-card/payment-card.js +6 -2
  820. package/payment-card/types.d.ts +3 -3
  821. package/phone-input/base-country-picker.js +5 -2
  822. package/phone-input/country-picker.js +4 -0
  823. package/phone-input/country-select.js +1 -0
  824. package/phone-input/default-props.js +4 -0
  825. package/phone-input/flag.d.ts +2 -2
  826. package/phone-input/flag.js +2 -1
  827. package/phone-input/phone-input-lite.js +2 -0
  828. package/phone-input/phone-input-next.js +2 -0
  829. package/phone-input/stateful-phone-input-container.js +1 -0
  830. package/phone-input/styled-components.d.ts +2 -2
  831. package/phone-input/types.d.ts +15 -15
  832. package/pin-code/default-props.js +4 -0
  833. package/pin-code/index.d.ts +1 -1
  834. package/pin-code/pin-code.js +4 -2
  835. package/pin-code/types.d.ts +9 -9
  836. package/popover/popover.js +21 -4
  837. package/popover/stateful-container.d.ts +1 -1
  838. package/popover/stateful-popover.js +1 -0
  839. package/popover/types.d.ts +23 -23
  840. package/popover/types.js.flow +1 -0
  841. package/popover/utils.js +3 -1
  842. package/progress-bar/progressbar-rounded.js +27 -28
  843. package/progress-bar/progressbar.js +9 -3
  844. package/progress-bar/styled-components.js +2 -0
  845. package/progress-bar/types.d.ts +6 -6
  846. package/progress-steps/progress-steps.js +1 -0
  847. package/progress-steps/types.d.ts +8 -8
  848. package/progress-steps/types.js.flow +1 -1
  849. package/radio/radio.js +5 -2
  850. package/radio/radiogroup.js +1 -0
  851. package/radio/styled-components.js +11 -5
  852. package/radio/types.d.ts +15 -15
  853. package/rating/emoticon-rating.js +16 -7
  854. package/rating/star-rating.js +16 -7
  855. package/rating/styled-components.js +2 -0
  856. package/rating/types.d.ts +6 -6
  857. package/select/default-props.js +10 -0
  858. package/select/dropdown.d.ts +2 -2
  859. package/select/dropdown.js +3 -1
  860. package/select/index.d.ts +2 -2
  861. package/select/locale.d.ts +1 -1
  862. package/select/multi-value.js +1 -0
  863. package/select/select-component.d.ts +2 -2
  864. package/select/select-component.js +59 -22
  865. package/select/stateful-select-container.js +1 -0
  866. package/select/styled-components.js +18 -6
  867. package/select/types.d.ts +22 -22
  868. package/select/utils/default-filter-options.d.ts +1 -1
  869. package/select/utils/default-filter-options.js +3 -1
  870. package/select/utils/index.js +3 -1
  871. package/sheet/action-button.d.ts +6 -0
  872. package/sheet/action-button.js +63 -0
  873. package/sheet/index.d.ts +3 -0
  874. package/sheet/index.js +46 -0
  875. package/sheet/index.js.flow +76 -0
  876. package/sheet/package.json +4 -0
  877. package/sheet/sheet.d.ts +4 -0
  878. package/sheet/sheet.js +182 -0
  879. package/sheet/styled-components.d.ts +27 -0
  880. package/sheet/styled-components.js +216 -0
  881. package/sheet/types.d.ts +37 -0
  882. package/sheet/types.js +5 -0
  883. package/side-navigation/index.d.ts +1 -0
  884. package/side-navigation/index.js +14 -0
  885. package/side-navigation/nav-item.d.ts +1 -1
  886. package/side-navigation/nav-item.js +2 -1
  887. package/side-navigation/nav.js +11 -4
  888. package/side-navigation/side-navigation-next.d.ts +66 -0
  889. package/side-navigation/side-navigation-next.js +381 -0
  890. package/side-navigation/styled-components.js +4 -2
  891. package/side-navigation/types.d.ts +12 -12
  892. package/skeleton/index.d.ts +1 -1
  893. package/skeleton/skeleton.js +2 -0
  894. package/skeleton/styled-components.d.ts +1 -0
  895. package/skeleton/styled-components.js +1 -0
  896. package/skeleton/types.d.ts +2 -2
  897. package/slider/index.d.ts +1 -1
  898. package/slider/types.d.ts +9 -9
  899. package/snackbar/index.d.ts +5 -5
  900. package/snackbar/snackbar-context.d.ts +1 -1
  901. package/snackbar/snackbar-context.js +28 -11
  902. package/snackbar/snackbar-element.js +4 -1
  903. package/snackbar/styled-components.js +1 -1
  904. package/snackbar/types.d.ts +5 -5
  905. package/spinner/styled-components.js +2 -0
  906. package/spinner/types.d.ts +2 -2
  907. package/stepper/styled-components.js +0 -1
  908. package/stepper/types.d.ts +2 -2
  909. package/styles/__mocks__/styled.js +9 -4
  910. package/styles/as-primary-export-hoc.js +2 -0
  911. package/styles/styled.d.ts +6 -6
  912. package/styles/styled.js +2 -0
  913. package/styles/theme-provider.d.ts +2 -2
  914. package/styles/types.d.ts +4 -3
  915. package/styles/types.js.flow +1 -0
  916. package/system-banner/index.d.ts +2 -0
  917. package/system-banner/index.js +30 -0
  918. package/system-banner/index.js.flow +51 -0
  919. package/system-banner/package.json +4 -0
  920. package/system-banner/styled-components.d.ts +16 -0
  921. package/system-banner/styled-components.js +90 -0
  922. package/system-banner/system-banner.d.ts +3 -0
  923. package/system-banner/system-banner.js +104 -0
  924. package/system-banner/types.d.ts +17 -0
  925. package/system-banner/types.js +5 -0
  926. package/table/styled-components.d.ts +2 -2
  927. package/table/styled-components.js +1 -0
  928. package/table/table.js +2 -0
  929. package/table/types.d.ts +6 -6
  930. package/table-semantic/styled-components.d.ts +5 -5
  931. package/table-semantic/styled-components.js +8 -8
  932. package/table-semantic/styled-components.js.flow +4 -5
  933. package/table-semantic/table-builder.js +24 -21
  934. package/table-semantic/table-builder.js.flow +21 -23
  935. package/table-semantic/table.js +2 -0
  936. package/table-semantic/types.d.ts +8 -8
  937. package/tabs/index.d.ts +1 -1
  938. package/tabs/stateful-tabs.d.ts +2 -2
  939. package/tabs/stateful-tabs.js +2 -2
  940. package/tabs/types.d.ts +14 -14
  941. package/tabs-motion/index.d.ts +3 -3
  942. package/tabs-motion/stateful-tabs.js +1 -0
  943. package/tabs-motion/tab.js +1 -0
  944. package/tabs-motion/tabs.js +6 -3
  945. package/tabs-motion/types.d.ts +12 -12
  946. package/tag/styled-components.js +41 -2
  947. package/tag/tag.js +2 -0
  948. package/tag/types.d.ts +6 -6
  949. package/textarea/stateful-textarea.js +7 -3
  950. package/textarea/textarea.js +4 -2
  951. package/textarea/types.d.ts +10 -10
  952. package/theme.js.flow +44 -0
  953. package/themes/dark-theme/color-component-tokens.js +1 -1
  954. package/themes/dark-theme/color-component-tokens.js.flow +1 -1
  955. package/themes/dark-theme/color-semantic-tokens.js +8 -0
  956. package/themes/dark-theme/color-semantic-tokens.js.flow +3 -0
  957. package/themes/index.d.ts +2 -2
  958. package/themes/light-theme/color-semantic-tokens.js +8 -0
  959. package/themes/light-theme/color-semantic-tokens.js.flow +3 -0
  960. package/themes/types.d.ts +23 -20
  961. package/themes/types.js.flow +3 -0
  962. package/timepicker/index.js.flow +1 -0
  963. package/timepicker/timepicker.js +11 -4
  964. package/timepicker/types.d.ts +4 -4
  965. package/timezonepicker/index.d.ts +1 -1
  966. package/timezonepicker/timezone-picker.js +3 -1
  967. package/timezonepicker/types.d.ts +4 -4
  968. package/toast/index.d.ts +1 -1
  969. package/toast/locale.d.ts +1 -1
  970. package/toast/toast.d.ts +3 -3
  971. package/toast/toast.js +10 -5
  972. package/toast/toaster.js +21 -3
  973. package/toast/types.d.ts +15 -15
  974. package/tokens/index.d.ts +1 -1
  975. package/tokens/types.d.ts +1 -1
  976. package/tooltip/types.d.ts +6 -6
  977. package/tree-view/index.d.ts +1 -1
  978. package/tree-view/stateful-container.d.ts +1 -1
  979. package/tree-view/tree-label-interactable.js +4 -2
  980. package/tree-view/tree-view.js +5 -2
  981. package/tree-view/types.d.ts +9 -9
  982. package/tree-view/utils.js +43 -15
  983. package/utils/deep-merge.js +5 -0
  984. package/utils/focusVisible.js +17 -7
@@ -34,7 +34,7 @@ export const StyledList = styled('ul', ({
34
34
  };
35
35
  });
36
36
  StyledList.displayName = "StyledList";
37
- StyledList.displayName = 'StyledList';
37
+ StyledList.displayName = 'StyledList'; // @ts-ignore
38
38
 
39
39
  function getFontColor(props) {
40
40
  if (props.$disabled) {
@@ -50,7 +50,8 @@ function getFontColor(props) {
50
50
  }
51
51
 
52
52
  return props.$theme.colors.menuFontDefault;
53
- }
53
+ } // @ts-ignore
54
+
54
55
 
55
56
  function getBackgroundColor(props) {
56
57
  if (props.$disabled) {
@@ -133,7 +134,8 @@ export const StyledListItemElement = styled('li', props => {
133
134
  };
134
135
  });
135
136
  StyledListItemElement.displayName = "StyledListItemElement";
136
- StyledListItemElement.displayName = 'StyledListItemElement';
137
+ StyledListItemElement.displayName = 'StyledListItemElement'; // @ts-ignore
138
+
137
139
  export const StyledListItem = withWrapper(StyledListItemElement, Styled => // eslint-disable-next-line @typescript-eslint/no-unused-vars
138
140
  function StyledListItem({
139
141
  item,
@@ -13,7 +13,7 @@ import { useStyletron } from '../styles/index';
13
13
  import { ThemeProvider, LightTheme } from '../';
14
14
  import { getBackgroundColorType } from './utils';
15
15
  import { colors } from '../tokens';
16
- import { getOverrides } from '../helpers/overrides';
16
+ import { getOverrides, mergeOverrides } from '../helpers/overrides';
17
17
  import { IMAGE_LAYOUT, BACKGROUND_COLOR_TYPE, BUTTON_KIND } from './constants';
18
18
 
19
19
  const ButtonAlwaysLightTheme = ({
@@ -40,13 +40,28 @@ const MessageCard = ({
40
40
  backgroundPosition,
41
41
  ariaLabel
42
42
  } = image || {};
43
- const [Root, RootProps] = getOverrides(overrides.Root, StyledRoot);
44
- const [ContentContainer, ContentContainerProps] = getOverrides(overrides.ContentContainer, StyledContentContainer);
45
- const [HeadingContainer, HeadingContainerProps] = getOverrides(overrides.HeadingContainer, StyledHeadingContainer);
46
- const [ParagraphContainer, ParagraphContainerProps] = getOverrides(overrides.ParagraphContainer, StyledParagraphContainer);
47
- const [Image, ImageProps] = getOverrides(overrides.Image, StyledImage);
48
- const [Button, ButtonProps] = getOverrides(overrides.Button, ButtonAlwaysLightTheme);
49
43
  const [, theme] = useStyletron();
44
+ const [Root, rootProps] = getOverrides(overrides.Root, StyledRoot);
45
+ const [ContentContainer, ContentContainerProps] = getOverrides(overrides.ContentContainer, StyledContentContainer);
46
+ const [HeadingContainer, headingContainerProps] = getOverrides(overrides.HeadingContainer, StyledHeadingContainer);
47
+ const [ParagraphContainer, paragraphContainerProps] = getOverrides(overrides.ParagraphContainer, StyledParagraphContainer);
48
+ const [Image, imageProps] = getOverrides(overrides.Image, StyledImage);
49
+ const [Button, buttonProps] = getOverrides(overrides.Button, ButtonAlwaysLightTheme);
50
+ const defaultButtonOverrides = {
51
+ BaseButton: {
52
+ style: {
53
+ textAlign: 'center',
54
+ pointerEvents: 'none',
55
+ ...(buttonKind === BUTTON_KIND.tertiary ? {
56
+ marginTop: theme.sizing.scale100,
57
+ transform: theme.direction === 'rtl' ? `translateX(${theme.sizing.scale500})` : `translateX(-${theme.sizing.scale500})`
58
+ } : {
59
+ marginTop: theme.sizing.scale500
60
+ })
61
+ }
62
+ }
63
+ };
64
+ buttonProps.overrides = mergeOverrides(defaultButtonOverrides, buttonProps.overrides);
50
65
  let backgroundColorType = backgroundColorTypeProp || getBackgroundColorType(backgroundColor);
51
66
 
52
67
  if (!backgroundColorType) {
@@ -80,35 +95,21 @@ const MessageCard = ({
80
95
  $backgroundColor: backgroundColor,
81
96
  $backgroundColorType: backgroundColorType,
82
97
  $imageLayout: layout
83
- }, RootProps), image && /*#__PURE__*/React.createElement(Image, _extends({
98
+ }, rootProps), image && /*#__PURE__*/React.createElement(Image, _extends({
84
99
  role: "img",
85
100
  "aria-label": ariaLabel,
86
101
  $src: src,
87
102
  $imageLayout: layout,
88
103
  $backgroundPosition: backgroundPosition
89
- }, ImageProps)), /*#__PURE__*/React.createElement(ContentContainer, ContentContainerProps, heading && /*#__PURE__*/React.createElement(HeadingContainer, HeadingContainerProps, heading), paragraph && /*#__PURE__*/React.createElement(ParagraphContainer, ParagraphContainerProps, paragraph), buttonLabel && /*#__PURE__*/React.createElement(Button, _extends({
104
+ }, imageProps)), /*#__PURE__*/React.createElement(ContentContainer, ContentContainerProps, heading && /*#__PURE__*/React.createElement(HeadingContainer, headingContainerProps, heading), paragraph && /*#__PURE__*/React.createElement(ParagraphContainer, paragraphContainerProps, paragraph), buttonLabel && /*#__PURE__*/React.createElement(Button, _extends({
90
105
  $as: "div",
91
106
  kind: buttonKind,
92
107
  shape: SHAPE.pill,
93
108
  size: SIZE.compact,
94
109
  role: "none",
95
110
  tabIndex: -1,
96
- colors: buttonColors,
97
- overrides: {
98
- BaseButton: {
99
- style: {
100
- textAlign: 'center',
101
- pointerEvents: 'none',
102
- ...(buttonKind === BUTTON_KIND.tertiary ? {
103
- marginTop: theme.sizing.scale100,
104
- transform: theme.direction === 'rtl' ? `translateX(${theme.sizing.scale500})` : `translateX(-${theme.sizing.scale500})`
105
- } : {
106
- marginTop: theme.sizing.scale500
107
- })
108
- }
109
- }
110
- }
111
- }, ButtonProps), buttonLabel)));
111
+ colors: buttonColors
112
+ }, buttonProps), buttonLabel)));
112
113
  };
113
114
 
114
115
  export default MessageCard;
@@ -1,6 +1,5 @@
1
1
  /*
2
2
  Copyright (c) Uber Technologies, Inc.
3
-
4
3
  This source code is licensed under the MIT license found in the
5
4
  LICENSE file in the root directory of this source tree.
6
5
  */
@@ -1,6 +1,5 @@
1
1
  /*
2
2
  Copyright (c) Uber Technologies, Inc.
3
-
4
3
  This source code is licensed under the MIT license found in the
5
4
  LICENSE file in the root directory of this source tree.
6
5
  */
@@ -2,7 +2,6 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
 
3
3
  /*
4
4
  Copyright (c) Uber Technologies, Inc.
5
-
6
5
  This source code is licensed under the MIT license found in the
7
6
  LICENSE file in the root directory of this source tree.
8
7
  */
@@ -85,8 +84,8 @@ export function MobileHeader({
85
84
  $expanded: expanded
86
85
  }), /*#__PURE__*/React.createElement(NavContainer, _extends({
87
86
  $type: type,
88
- $hasTextContent: !Boolean(navButton.renderIcon)
89
- }, navContainerProps), /*#__PURE__*/React.createElement(HeaderButton, _extends({
87
+ $hasTextContent: navButton && !Boolean(navButton.renderIcon)
88
+ }, navContainerProps), navButton && /*#__PURE__*/React.createElement(HeaderButton, _extends({
90
89
  onClick: navButton.onClick,
91
90
  type: type,
92
91
  "aria-label": navButton.label
@@ -1,6 +1,5 @@
1
1
  /*
2
2
  Copyright (c) Uber Technologies, Inc.
3
-
4
3
  This source code is licensed under the MIT license found in the
5
4
  LICENSE file in the root directory of this source tree.
6
5
  */
@@ -13,6 +12,7 @@ export const StyledRoot = styled('div', ({
13
12
  width: '100%',
14
13
  display: 'grid',
15
14
  gridTemplateColumns: 'auto 1fr auto',
15
+ gridTemplateRows: '48px',
16
16
  ...($type === TYPE.floating ? {
17
17
  backgroundColor: 'transparent',
18
18
  pointerEvents: 'none'
@@ -34,6 +34,7 @@ export const StyledNavContainer = styled('div', ({
34
34
  };
35
35
  return {
36
36
  pointerEvents: 'auto',
37
+ minWidth: '48px',
37
38
  ...($hasTextContent && $type === TYPE.fixed ? {} : floatingPadding)
38
39
  };
39
40
  });
@@ -12,6 +12,7 @@ import { mergeOverrides } from '../helpers/overrides';
12
12
  // ModalButtons should have some margin pre-applied
13
13
  const overrides = {
14
14
  BaseButton: {
15
+ // @ts-ignore
15
16
  style: ({
16
17
  $theme
17
18
  }) => {
package/es/modal/modal.js CHANGED
@@ -16,7 +16,7 @@ import { LocaleContext } from '../locale';
16
16
  import { getOverrides } from '../helpers/overrides';
17
17
  import { Layer } from '../layer';
18
18
  import { SIZE, ROLE, CLOSE_SOURCE } from './constants';
19
- import { Root as StyledRoot, Dialog as StyledDialog, DialogContainer as StyledDialogContainer, Close as StyledClose } from './styled-components';
19
+ import { Root as StyledRoot, Dialog as StyledDialog, DialogContainer as StyledDialogContainer, Close as StyledClose, Hidden } from './styled-components';
20
20
  import { CloseIcon } from './close-icon';
21
21
  import { isFocusVisible, forkFocus, forkBlur } from '../utils/focusVisible';
22
22
 
@@ -197,10 +197,13 @@ class Modal extends React.Component {
197
197
  closeable
198
198
  } = this.props;
199
199
  return {
200
+ // @ts-ignore
200
201
  $animate: animate,
201
202
  $isVisible: this.state.isVisible,
202
203
  $isOpen: !!isOpen,
204
+ // @ts-ignore
203
205
  $size: size,
206
+ // @ts-ignore
204
207
  $role: role,
205
208
  $closeable: !!closeable,
206
209
  $isFocusVisible: this.state.isFocusVisible
@@ -228,7 +231,7 @@ class Modal extends React.Component {
228
231
  return typeof children === 'function' ? children() : children;
229
232
  }
230
233
 
231
- renderModal() {
234
+ renderModal(renderedContent) {
232
235
  const {
233
236
  overrides = {},
234
237
  closeable,
@@ -248,7 +251,6 @@ class Modal extends React.Component {
248
251
  const [Dialog, dialogProps] = getOverrides(DialogOverride, StyledDialog);
249
252
  const [Close, closeProps] = getOverrides(CloseOverride, StyledClose);
250
253
  const sharedProps = this.getSharedProps();
251
- const children = this.getChildren();
252
254
  return /*#__PURE__*/React.createElement(LocaleContext.Consumer, null, locale => /*#__PURE__*/React.createElement(FocusLock, {
253
255
  disabled: !focusLock // Allow focus to escape when UI is within an iframe
254
256
  ,
@@ -256,7 +258,8 @@ class Modal extends React.Component {
256
258
  returnFocus: returnFocus,
257
259
  autoFocus: autoFocus
258
260
  }, /*#__PURE__*/React.createElement(Root, _extends({
259
- "data-baseweb": "modal",
261
+ "data-baseweb": "modal" // eslint-disable-next-line @typescript-eslint/no-explicit-any
262
+ ,
260
263
  ref: this.rootRef
261
264
  }, sharedProps, rootProps), /*#__PURE__*/React.createElement(DialogContainer // eslint-disable-next-line @typescript-eslint/no-explicit-any
262
265
  , _extends({
@@ -266,7 +269,7 @@ class Modal extends React.Component {
266
269
  "aria-modal": true,
267
270
  "aria-label": "dialog",
268
271
  role: role
269
- }, sharedProps, dialogProps), children, closeable ? /*#__PURE__*/React.createElement(Close, _extends({
272
+ }, sharedProps, dialogProps), renderedContent, closeable ? /*#__PURE__*/React.createElement(Close, _extends({
270
273
  "aria-label": locale.modal.close,
271
274
  onClick: this.onCloseClick
272
275
  }, sharedProps, closeProps, {
@@ -276,21 +279,23 @@ class Modal extends React.Component {
276
279
  }
277
280
 
278
281
  render() {
279
- // Only render modal on the browser (portals aren't supported server-side)
280
- if (!this.state.mounted) {
281
- return null;
282
- } // Only render the modal if its isOpen is passed, or isVisible is true (still animating)
283
-
284
-
285
- if (!this.props.isOpen && !this.state.isVisible) {
282
+ // Only render an open and non-renderAll modal on the browser (portals aren't supported server-side)
283
+ const mountedAndOpen = this.state.mounted && (this.props.isOpen || this.state.isVisible);
284
+ const renderedContent = mountedAndOpen || this.props.renderAll ? this.getChildren() : null;
285
+
286
+ if (renderedContent) {
287
+ if (mountedAndOpen) {
288
+ return /*#__PURE__*/React.createElement(Layer, {
289
+ onEscape: this.onEscape,
290
+ onDocumentClick: this.onDocumentClick,
291
+ mountNode: this.props.mountNode
292
+ }, this.renderModal(renderedContent));
293
+ } else {
294
+ return /*#__PURE__*/React.createElement(Hidden, null, renderedContent);
295
+ }
296
+ } else {
286
297
  return null;
287
298
  }
288
-
289
- return /*#__PURE__*/React.createElement(Layer, {
290
- onEscape: this.onEscape,
291
- onDocumentClick: this.onDocumentClick,
292
- mountNode: this.props.mountNode
293
- }, this.renderModal());
294
299
  }
295
300
 
296
301
  }
@@ -305,7 +310,8 @@ _defineProperty(Modal, "defaultProps", {
305
310
  isOpen: false,
306
311
  overrides: {},
307
312
  role: ROLE.dialog,
308
- size: SIZE.default
313
+ size: SIZE.default,
314
+ renderAll: false
309
315
  });
310
316
 
311
317
  export default Modal;
@@ -10,12 +10,14 @@ import { SIZE, SIZE_WIDTHS } from './constants';
10
10
  function getSizeStyles($size) {
11
11
  const styles = {
12
12
  maxWidth: '100%',
13
+ // @ts-ignore
13
14
  width: null
14
15
  };
15
16
 
16
17
  if (typeof $size === 'number') {
17
- styles.width = `${$size}px`;
18
+ styles.width = `${$size}px`; // @ts-ignore
18
19
  } else if (SIZE[$size]) {
20
+ // @ts-ignore
19
21
  styles.width = SIZE_WIDTHS[$size];
20
22
  } else if (typeof $size === 'string') {
21
23
  styles.width = $size;
@@ -200,4 +202,9 @@ export const ModalFooter = styled('div', ({
200
202
  textAlign: $theme.direction === 'rtl' ? 'left' : 'right'
201
203
  }));
202
204
  ModalFooter.displayName = "ModalFooter";
203
- ModalFooter.displayName = 'ModalFooter';
205
+ ModalFooter.displayName = 'ModalFooter';
206
+ export const Hidden = styled('div', {
207
+ display: 'none'
208
+ });
209
+ Hidden.displayName = "Hidden";
210
+ Hidden.displayName = 'Hidden';
@@ -0,0 +1,17 @@
1
+ /*
2
+ Copyright (c) Uber Technologies, Inc.
3
+ This source code is licensed under the MIT license found in the
4
+ LICENSE file in the root directory of this source tree.
5
+ */
6
+ export const SIZE = Object.freeze({
7
+ large: 'large',
8
+ medium: 'medium',
9
+ small: 'small'
10
+ });
11
+ export const KIND = Object.freeze({
12
+ default: 'default',
13
+ backgroundProtection: 'backgroundProtection',
14
+ inverse: 'inverse',
15
+ alwaysLight: 'alwaysLight',
16
+ alwaysDark: 'alwaysDark'
17
+ });
@@ -0,0 +1,9 @@
1
+ /*
2
+ Copyright (c) Uber Technologies, Inc.
3
+ This source code is licensed under the MIT license found in the
4
+ LICENSE file in the root directory of this source tree.
5
+ */
6
+ export { default as PageControl } from './page-control';
7
+ export * from './styled-components';
8
+ export { KIND } from './constants';
9
+ export * from './types';
@@ -0,0 +1,114 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ /*
4
+ Copyright (c) Uber Technologies, Inc.
5
+
6
+ This source code is licensed under the MIT license found in the
7
+ LICENSE file in the root directory of this source tree.
8
+ */
9
+ import * as React from 'react';
10
+ import { getOverrides } from '../helpers/overrides';
11
+ import { StyledRoot, StyledDot } from './styled-components';
12
+ import { SIZE, KIND } from './constants';
13
+ const MAX_DOTS = 5;
14
+
15
+ const PageControl = ({
16
+ currentPage,
17
+ numPages,
18
+ onPageChange,
19
+ kind = KIND.default,
20
+ disabled = false,
21
+ 'aria-label': ariaLabel,
22
+ overrides = {}
23
+ }) => {
24
+ const [Root, RootProps] = getOverrides(overrides.Root, StyledRoot);
25
+ const [Dot, DotProps] = getOverrides(overrides.Dot, StyledDot);
26
+ const isOverflow = numPages > MAX_DOTS;
27
+
28
+ function isActive(page) {
29
+ return page === currentPage;
30
+ }
31
+
32
+ function isVisible(page) {
33
+ if (!isOverflow) return true; // if current page is one of first three pages, first five page dots are visible
34
+
35
+ if (currentPage <= 3) {
36
+ return page <= 5;
37
+ } // if current page is one of last three pages, last five page dots are visible
38
+
39
+
40
+ if (numPages - currentPage < 3) {
41
+ return page > numPages - 5;
42
+ } // otherwise, page must be within 2 of the current page for dot to be visible
43
+
44
+
45
+ return page >= currentPage - 2 && page <= currentPage + 2;
46
+ }
47
+
48
+ function getSize(page) {
49
+ if (!isOverflow) return SIZE.large;
50
+
51
+ if (currentPage <= 3) {
52
+ if (page <= 3) {
53
+ return SIZE.large;
54
+ }
55
+
56
+ if (page === 4) {
57
+ return SIZE.medium;
58
+ }
59
+
60
+ return SIZE.small;
61
+ }
62
+
63
+ if (numPages - currentPage < 3) {
64
+ if (page > numPages - 3) {
65
+ return SIZE.large;
66
+ }
67
+
68
+ if (page === numPages - 3) {
69
+ return SIZE.medium;
70
+ }
71
+
72
+ return SIZE.small;
73
+ }
74
+
75
+ if (page >= currentPage - 1 && page <= currentPage + 1) {
76
+ return SIZE.large;
77
+ }
78
+
79
+ if (page === currentPage - 2 || page === currentPage + 2) {
80
+ return SIZE.medium;
81
+ }
82
+
83
+ return SIZE.small;
84
+ }
85
+
86
+ const name = React.useId();
87
+ return /*#__PURE__*/React.createElement(Root, _extends({
88
+ $kind: kind,
89
+ role: "radiogroup",
90
+ "aria-label": ariaLabel || 'page control'
91
+ }, RootProps), Array.from({
92
+ length: numPages
93
+ }, (_, i) => {
94
+ const page = i + 1;
95
+ return /*#__PURE__*/React.createElement(Dot, _extends({
96
+ $active: isActive(page),
97
+ $kind: kind,
98
+ $disabled: disabled,
99
+ $isVisible: isVisible(page),
100
+ $size: getSize(page),
101
+ checked: isActive(page),
102
+ key: page,
103
+ "aria-label": `page ${page}`,
104
+ name: name,
105
+ onChange: () => onPageChange({
106
+ nextPage: page
107
+ }),
108
+ tabIndex: isActive(page) ? 0 : -1,
109
+ type: "radio"
110
+ }, DotProps));
111
+ }));
112
+ };
113
+
114
+ export default PageControl;
@@ -0,0 +1,99 @@
1
+ /*
2
+ Copyright (c) Uber Technologies, Inc.
3
+ This source code is licensed under the MIT license found in the
4
+ LICENSE file in the root directory of this source tree.
5
+ */
6
+ import { styled, hexToRgb } from '../styles';
7
+ import { SIZE, KIND } from './constants';
8
+ export const StyledRoot = styled('div', ({
9
+ $kind,
10
+ $theme
11
+ }) => ({
12
+ display: 'flex',
13
+ alignItems: 'center',
14
+ gap: $theme.sizing.scale300,
15
+ width: 'fit-content',
16
+ paddingTop: $theme.sizing.scale100,
17
+ paddingRight: $theme.sizing.scale500,
18
+ paddingBottom: $theme.sizing.scale100,
19
+ paddingLeft: $theme.sizing.scale500,
20
+ borderRadius: $theme.borders.radius500,
21
+ backgroundColor: $kind === KIND.backgroundProtection ? $theme.colors.backgroundPrimary : 'transparent'
22
+ }));
23
+ StyledRoot.displayName = "StyledRoot";
24
+ StyledRoot.displayName = 'StyledRoot';
25
+ export const StyledDot = styled('input', ({
26
+ $active,
27
+ $kind,
28
+ $size,
29
+ $disabled,
30
+ $isVisible,
31
+ $theme
32
+ }) => {
33
+ const sizes = {
34
+ [SIZE.large]: {
35
+ height: $theme.sizing.scale300,
36
+ width: $theme.sizing.scale300
37
+ },
38
+ [SIZE.medium]: {
39
+ height: $theme.sizing.scale200,
40
+ width: $theme.sizing.scale200,
41
+ marginTop: '1px',
42
+ marginRight: '1px',
43
+ marginBottom: '1px',
44
+ marginLeft: '1px'
45
+ },
46
+ [SIZE.small]: {
47
+ height: $theme.sizing.scale100,
48
+ width: $theme.sizing.scale100,
49
+ marginTop: $theme.sizing.scale0,
50
+ marginRight: $theme.sizing.scale0,
51
+ marginBottom: $theme.sizing.scale0,
52
+ marginLeft: $theme.sizing.scale0
53
+ }
54
+ };
55
+ const colors = {
56
+ [KIND.default]: {
57
+ active: $theme.colors.contentPrimary,
58
+ inactive: $theme.colors.backgroundTertiary
59
+ },
60
+ [KIND.backgroundProtection]: {
61
+ active: $theme.colors.contentPrimary,
62
+ inactive: $theme.colors.backgroundTertiary
63
+ },
64
+ [KIND.inverse]: {
65
+ active: $theme.colors.contentInversePrimary,
66
+ inactive: $theme.colors.backgroundInversePrimary
67
+ },
68
+ [KIND.alwaysLight]: {
69
+ active: $theme.colors.contentOnColorInverse,
70
+ inactive: hexToRgb($theme.colors.backgroundAlwaysDark, '0.12')
71
+ },
72
+ [KIND.alwaysDark]: {
73
+ active: $theme.colors.contentOnColor,
74
+ inactive: hexToRgb($theme.colors.backgroundAlwaysLight, '0.24')
75
+ }
76
+ };
77
+ return {
78
+ // reset default input styles
79
+ appearance: 'none',
80
+ margin: 0,
81
+ // base web styles
82
+ ...sizes[$size],
83
+ borderRadius: '50%',
84
+ backgroundColor: $disabled ? $theme.colors.contentStateDisabled : $active ? colors[$kind].active : colors[$kind].inactive,
85
+ ...(!$isVisible ? {
86
+ // https://www.nomensa.com/blog/how-improve-web-accessibility-hiding-elements
87
+ border: 0,
88
+ clip: 'rect(1px, 1px, 1px, 1px)',
89
+ height: '1px',
90
+ margin: '-1px',
91
+ overflow: 'hidden',
92
+ padding: 0,
93
+ position: 'absolute',
94
+ width: '1px'
95
+ } : {})
96
+ };
97
+ });
98
+ StyledDot.displayName = "StyledDot";
99
+ StyledDot.displayName = 'StyledDot';
@@ -0,0 +1 @@
1
+ export {};