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
@@ -0,0 +1,44 @@
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 { Button, KIND, SHAPE, SIZE } from '../button';
11
+ export function ActionButton({
12
+ children,
13
+ size,
14
+ ...restProps
15
+ }) {
16
+ const iconButtonStyle = {
17
+ paddingTop: 0,
18
+ paddingBottom: 0,
19
+ paddingLeft: 0,
20
+ paddingRight: 0
21
+ }; // compact buttons need a pseudo-element to acheive a 48px tap target
22
+
23
+ const compactButtonStyle = {
24
+ position: 'relative',
25
+ ':after': {
26
+ content: '""',
27
+ position: 'absolute',
28
+ height: '48px',
29
+ width: '48px'
30
+ }
31
+ };
32
+ return /*#__PURE__*/React.createElement(Button, _extends({
33
+ kind: KIND.tertiary,
34
+ shape: SHAPE.square,
35
+ size: size,
36
+ overrides: {
37
+ BaseButton: {
38
+ style: { ...(size === SIZE.compact ? compactButtonStyle : {}),
39
+ ...(typeof children !== 'string' ? iconButtonStyle : {})
40
+ }
41
+ }
42
+ }
43
+ }, restProps), children);
44
+ }
@@ -0,0 +1,9 @@
1
+ /*
2
+ Copyright (c) Uber Technologies, Inc.
3
+
4
+ This source code is licensed under the MIT license found in the
5
+ LICENSE file in the root directory of this source tree.
6
+ */
7
+ export { default as Sheet } from './sheet';
8
+ export * from './styled-components';
9
+ export * from './types';
@@ -0,0 +1,100 @@
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 { ProgressBar, SIZE } from '../progress-bar';
12
+ import { SIZE as BTN_SIZE } from '../button';
13
+ import { SIZE as DIVIDER_SIZE } from '../divider';
14
+ import { ActionButton as DefaultActionButton } from './action-button';
15
+ import { StyledBottomContainer, StyledBody, StyledDescription, StyledDivider, StyledEmptyDiv, StyledGrabber, StyledHeader, StyledHeaderGrid, StyledHeaderTextContainer, StyledRoot, StyledTitle, StyledTopContainer } from './styled-components';
16
+
17
+ function renderBodyContent(content) {
18
+ return typeof content === 'function' ? content() : content;
19
+ }
20
+
21
+ function renderActionButtonContent(content, buttonSize) {
22
+ if (typeof content === 'string') {
23
+ return content;
24
+ }
25
+
26
+ const Icon = content;
27
+ return /*#__PURE__*/React.createElement(Icon, {
28
+ size: buttonSize === BTN_SIZE.compact ? 22 : 26
29
+ });
30
+ }
31
+
32
+ export const Sheet = ({
33
+ children,
34
+ content,
35
+ description,
36
+ draggable = false,
37
+ leadingAction,
38
+ overrides = {},
39
+ progressBar,
40
+ title,
41
+ topPosition,
42
+ trailingAction
43
+ }) => {
44
+ const [Root, rootProps] = getOverrides(overrides.Root, StyledRoot);
45
+ const [TopContainer, topContainerProps] = getOverrides(overrides.TopContainer, StyledTopContainer);
46
+ const [BottomContainer, bottomContainerProps] = getOverrides(overrides.BottomContainer, StyledBottomContainer);
47
+ const [Header, headerProps] = getOverrides(overrides.Header, StyledHeader);
48
+ const [Grabber, grabberProps] = getOverrides(overrides.Grabber, StyledGrabber);
49
+ const [HeaderGrid, headerGridProps] = getOverrides(overrides.HeaderGrid, StyledHeaderGrid);
50
+ const [ActionButton, actionButtonProps] = getOverrides(overrides.ActionButton, DefaultActionButton);
51
+ const [EmptyDiv, emptyDivProps] = getOverrides(overrides.EmptyDiv, StyledEmptyDiv);
52
+ const [HeaderTextContainer, HeaderTextContainerProps] = getOverrides(overrides.HeaderTextContainer, StyledHeaderTextContainer);
53
+ const [Title, titleProps] = getOverrides(overrides.Title, StyledTitle);
54
+ const [Description, descriptionProps] = getOverrides(overrides.Description, StyledDescription);
55
+ const [Divider, dividerProps] = getOverrides(overrides.Divider, StyledDivider);
56
+ const [Body, bodyProps] = getOverrides(overrides.Body, StyledBody);
57
+ const hasTitle = Boolean(title);
58
+ const hasDescription = Boolean(description);
59
+ const hasLeadingAction = Boolean(leadingAction);
60
+ const hasTrailingAction = Boolean(trailingAction);
61
+ const buttonSize = hasTitle ? BTN_SIZE.default : BTN_SIZE.compact;
62
+ const shouldDisplayHeader = draggable || hasTitle || hasDescription || hasLeadingAction || hasTrailingAction;
63
+ return /*#__PURE__*/React.createElement(Root, _extends({
64
+ $draggable: draggable
65
+ }, rootProps), /*#__PURE__*/React.createElement(TopContainer, _extends({
66
+ $draggable: draggable,
67
+ $topPosition: topPosition
68
+ }, topContainerProps), children), /*#__PURE__*/React.createElement(BottomContainer, _extends({
69
+ $draggable: draggable,
70
+ $topPosition: topPosition
71
+ }, bottomContainerProps), shouldDisplayHeader && /*#__PURE__*/React.createElement(Header, headerProps, draggable && /*#__PURE__*/React.createElement(Grabber, grabberProps), /*#__PURE__*/React.createElement(HeaderGrid, _extends({
72
+ $hasLeadingAction: hasLeadingAction,
73
+ $hasTrailingAction: hasTrailingAction
74
+ }, headerGridProps), leadingAction && /*#__PURE__*/React.createElement(ActionButton, _extends({
75
+ onClick: leadingAction.onClick,
76
+ "aria-label": leadingAction.label,
77
+ size: buttonSize
78
+ }, actionButtonProps), renderActionButtonContent(leadingAction.renderIcon || leadingAction.label, buttonSize)), trailingAction && !leadingAction && /*#__PURE__*/React.createElement(EmptyDiv, emptyDivProps), (hasTitle || hasDescription) && /*#__PURE__*/React.createElement(HeaderTextContainer, _extends({
79
+ $draggable: draggable,
80
+ $hasTitle: hasTitle,
81
+ $hasDescription: hasDescription
82
+ }, HeaderTextContainerProps), title && /*#__PURE__*/React.createElement(Title, titleProps, title), description && /*#__PURE__*/React.createElement(Description, descriptionProps, description)), trailingAction && /*#__PURE__*/React.createElement(ActionButton, _extends({
83
+ onClick: trailingAction.onClick,
84
+ "aria-label": trailingAction.label,
85
+ size: buttonSize
86
+ }, actionButtonProps), renderActionButtonContent(trailingAction.renderIcon || trailingAction.label, buttonSize)), !trailingAction && leadingAction && /*#__PURE__*/React.createElement(EmptyDiv, emptyDivProps)), progressBar ? /*#__PURE__*/React.createElement(ProgressBar, _extends({
87
+ size: SIZE.small,
88
+ overrides: {
89
+ BarContainer: {
90
+ style: {
91
+ marginTop: 0,
92
+ marginBottom: 0
93
+ }
94
+ }
95
+ }
96
+ }, progressBar)) : /*#__PURE__*/React.createElement(Divider, _extends({
97
+ $size: DIVIDER_SIZE.section
98
+ }, dividerProps))), /*#__PURE__*/React.createElement(Body, bodyProps, renderBodyContent(content))));
99
+ };
100
+ export default Sheet;
@@ -0,0 +1,197 @@
1
+ /*
2
+ Copyright (c) Uber Technologies, Inc.
3
+
4
+ This source code is licensed under the MIT license found in the
5
+ LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { styled, withStyle } from '../styles';
8
+ import { StyledDivider as StyledDividerBase } from '../divider';
9
+ const DEFAULT_TOP_POSITION = '50vh';
10
+ export const StyledRoot = styled('div', ({
11
+ $draggable
12
+ }) => {
13
+ if ($draggable) {
14
+ return {
15
+ height: '100%',
16
+ position: 'relative'
17
+ };
18
+ }
19
+
20
+ return {
21
+ height: '100vh',
22
+ overflow: 'hidden',
23
+ position: 'relative',
24
+ display: 'flex',
25
+ flexDirection: 'column'
26
+ };
27
+ });
28
+ StyledRoot.displayName = "StyledRoot";
29
+ StyledRoot.displayName = 'StyledRoot';
30
+ export const StyledTopContainer = styled('div', ({
31
+ $draggable,
32
+ $topPosition = DEFAULT_TOP_POSITION
33
+ }) => {
34
+ const baseStyles = {
35
+ height: '100%',
36
+ overflow: 'auto'
37
+ };
38
+
39
+ if ($draggable) {
40
+ return { ...baseStyles,
41
+ maxHeight: `calc(${$topPosition} + 14px)`,
42
+ maxWidth: '100vh',
43
+ position: 'fixed',
44
+ top: '0px',
45
+ left: '0px',
46
+ right: '0px'
47
+ };
48
+ }
49
+
50
+ return { ...baseStyles,
51
+ marginBottom: '-14px',
52
+ flexGrow: 1
53
+ };
54
+ });
55
+ StyledTopContainer.displayName = "StyledTopContainer";
56
+ StyledTopContainer.displayName = 'StyledTopContainer';
57
+ export const StyledBottomContainer = styled('div', ({
58
+ $draggable,
59
+ $topPosition,
60
+ $theme
61
+ }) => {
62
+ const baseStyle = {
63
+ borderTopLeftRadius: $theme.borders.radius500,
64
+ borderTopRightRadius: $theme.borders.radius500,
65
+ backgroundColor: $theme.colors.backgroundPrimary
66
+ };
67
+ return $draggable ? {
68
+ position: 'relative',
69
+ top: $topPosition || DEFAULT_TOP_POSITION,
70
+ overflow: 'auto',
71
+ ...baseStyle
72
+ } : {
73
+ maxHeight: $topPosition || DEFAULT_TOP_POSITION,
74
+ ...baseStyle
75
+ };
76
+ });
77
+ StyledBottomContainer.displayName = "StyledBottomContainer";
78
+ StyledBottomContainer.displayName = 'StyledBottomContainer';
79
+ export const StyledHeader = styled('div', ({
80
+ $theme
81
+ }) => ({
82
+ position: 'relative',
83
+ display: 'flex',
84
+ flexDirection: 'column',
85
+ paddingTop: $theme.sizing.scale300
86
+ }));
87
+ StyledHeader.displayName = "StyledHeader";
88
+ StyledHeader.displayName = 'StyledHeader';
89
+ export const StyledGrabber = styled('div', ({
90
+ $theme
91
+ }) => ({
92
+ width: '100%',
93
+ paddingRight: 'auto',
94
+ paddingBottom: '12px',
95
+ paddingLeft: 'auto',
96
+ display: 'flex',
97
+ justifyContent: 'center',
98
+ position: 'relative',
99
+ ':after': {
100
+ content: '""',
101
+ height: $theme.sizing.scale100,
102
+ width: $theme.sizing.scale1200,
103
+ background: $theme.colors.borderOpaque,
104
+ borderRadius: '100px',
105
+ margin: '0 auto'
106
+ }
107
+ }));
108
+ StyledGrabber.displayName = "StyledGrabber";
109
+ StyledGrabber.displayName = 'StyledGrabber';
110
+ export const StyledHeaderGrid = styled('div', ({
111
+ $theme,
112
+ $hasLeadingAction,
113
+ $hasTrailingAction
114
+ }) => {
115
+ const hasActionButton = $hasLeadingAction || $hasTrailingAction;
116
+ return {
117
+ display: 'grid',
118
+ gridTemplateColumns: 'auto 1fr auto',
119
+ alignItems: 'center',
120
+ paddingRight: hasActionButton ? $theme.sizing.scale300 : $theme.sizing.scale600,
121
+ paddingLeft: hasActionButton ? $theme.sizing.scale300 : $theme.sizing.scale600,
122
+ paddingBottom: $theme.sizing.scale200,
123
+ ...($theme.direction === 'rtl' ? {
124
+ direction: 'rtl'
125
+ } : {})
126
+ };
127
+ });
128
+ StyledHeaderGrid.displayName = "StyledHeaderGrid";
129
+ StyledHeaderGrid.displayName = 'StyledHeaderGrid';
130
+ export const StyledEmptyDiv = styled('div', ({
131
+ $theme
132
+ }) => ({
133
+ height: $theme.sizing.scale1200,
134
+ width: $theme.sizing.scale1200
135
+ }));
136
+ StyledEmptyDiv.displayName = "StyledEmptyDiv";
137
+ StyledEmptyDiv.displayName = 'StyledEmptyDiv';
138
+ export const StyledHeaderTextContainer = styled('div', ({
139
+ $draggable,
140
+ $hasTitle,
141
+ $hasDescription,
142
+ $theme
143
+ }) => {
144
+ const height = $hasTitle && $hasDescription ? $theme.sizing.scale1400 : $hasTitle ? $theme.sizing.scale1200 : $hasDescription ? $theme.sizing.scale900 : $theme.sizing.scale800;
145
+ return {
146
+ display: 'flex',
147
+ flexDirection: 'column',
148
+ justifyContent: 'center',
149
+ alignItems: 'center',
150
+ minHeight: $draggable ? `calc(${height} - 4px)` : height,
151
+ maxWidth: '100%',
152
+ overflow: 'hidden',
153
+ gridColumn: '2 / 3'
154
+ };
155
+ });
156
+ StyledHeaderTextContainer.displayName = "StyledHeaderTextContainer";
157
+ StyledHeaderTextContainer.displayName = 'StyledHeaderTextContainer';
158
+ export const StyledTitle = styled('div', ({
159
+ $theme
160
+ }) => ({
161
+ color: $theme.colors.contentPrimary,
162
+ maxWidth: 'inherit',
163
+ overflow: 'hidden',
164
+ whiteSpace: 'nowrap',
165
+ textOverflow: 'ellipsis',
166
+ ...$theme.typography.LabelLarge
167
+ }));
168
+ StyledTitle.displayName = "StyledTitle";
169
+ StyledTitle.displayName = 'StyledTitle';
170
+ export const StyledDescription = styled('div', ({
171
+ $theme
172
+ }) => ({
173
+ color: $theme.colors.contentSecondary,
174
+ display: '-webkit-box',
175
+ '-webkit-line-clamp': 2,
176
+ '-webkit-box-orient': 'vertical',
177
+ overflow: 'hidden',
178
+ ...$theme.typography.ParagraphMedium
179
+ }));
180
+ StyledDescription.displayName = "StyledDescription";
181
+ StyledDescription.displayName = 'StyledDescription';
182
+ export const StyledDivider = withStyle(StyledDividerBase, {
183
+ width: '100%',
184
+ marginTop: 0,
185
+ marginBottom: 0
186
+ });
187
+ StyledDivider.displayName = "StyledDivider";
188
+ StyledDivider.displayName = 'StyledDivider';
189
+ export const StyledBody = styled('div', ({
190
+ $theme
191
+ }) => ({
192
+ height: '100%',
193
+ overflow: 'auto',
194
+ color: $theme.colors.contentPrimary
195
+ }));
196
+ StyledBody.displayName = "StyledBody";
197
+ StyledBody.displayName = 'StyledBody';
@@ -0,0 +1 @@
1
+ export {};
@@ -5,7 +5,8 @@ This source code is licensed under the MIT license found in the
5
5
  LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  export { default as Navigation } from './nav';
8
- export { default as NavItem } from './nav-item'; // Styled elements
8
+ export { default as NavItem } from './nav-item';
9
+ export * from './side-navigation-next'; // Styled elements
9
10
 
10
11
  export * from './styled-components'; // Types
11
12
 
@@ -71,7 +71,8 @@ class NavItem extends React.Component {
71
71
  }, sharedProps, itemProps), item.title));
72
72
  }
73
73
 
74
- }
74
+ } // @ts-ignore
75
+
75
76
 
76
77
  _defineProperty(NavItem, "defaultProps", {
77
78
  overrides: {},
@@ -49,13 +49,17 @@ export default class SideNav extends React.Component {
49
49
  overrides,
50
50
  mapItem
51
51
  } = this.props;
52
- const navLevel = 1;
52
+ const navLevel = 1; // @ts-ignore
53
+
53
54
  const [Root, rootProps] = getOverrides(overrides.Root, StyledRoot);
54
- const [NavItemContainer, itemContainerProps] = getOverrides(overrides.NavItemContainer, StyledNavItemContainer);
55
- const [SubNavContainer, subNavContainerProps] = getOverrides(overrides.SubNavContainer, StyledSubNavContainer);
55
+ const [NavItemContainer, itemContainerProps] = getOverrides( // @ts-ignore
56
+ overrides.NavItemContainer, StyledNavItemContainer);
57
+ const [SubNavContainer, subNavContainerProps] = getOverrides( // @ts-ignore
58
+ overrides.SubNavContainer, StyledSubNavContainer); // @ts-ignore
56
59
 
57
60
  const renderNavItem = (item, level, index, mapItem) => {
58
61
  if (typeof mapItem === 'function') {
62
+ // @ts-ignore
59
63
  const recMapItem = item => {
60
64
  let subNav = [];
61
65
 
@@ -109,8 +113,11 @@ export default class SideNav extends React.Component {
109
113
 
110
114
  _defineProperty(SideNav, "defaultProps", {
111
115
  activeItemId: '/',
116
+ // @ts-ignore
112
117
  activePredicate: null,
118
+ // @ts-ignore
113
119
  items: [],
114
120
  overrides: {},
121
+ // @ts-ignore
115
122
  mapItem: null
116
123
  });
@@ -0,0 +1,271 @@
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 React, { createContext, isValidElement, useContext, useEffect, useState } from 'react';
10
+ import { useUID } from 'react-uid';
11
+ import { getOverrides } from '../helpers/overrides';
12
+ import ChevronDown from '../icon/chevron-down';
13
+ import ChevronUp from '../icon/chevron-up';
14
+ import { styled, useStyletron } from '../styles/index';
15
+ const SideNavigationContext = /*#__PURE__*/createContext({
16
+ activeItemId: null
17
+ });
18
+ const StyledList = styled('ul', ({
19
+ $open = true
20
+ }) => ({
21
+ display: $open ? 'block' : 'none',
22
+ margin: 0,
23
+ padding: 0
24
+ }));
25
+ StyledList.displayName = "StyledList";
26
+ const StyledListItem = styled('li', {
27
+ listStyleType: 'none'
28
+ });
29
+ StyledListItem.displayName = "StyledListItem";
30
+ export function SideNavigation(props) {
31
+ const {
32
+ activeItemId = null,
33
+ children,
34
+ overrides = {}
35
+ } = props;
36
+ const [List, listProps] = getOverrides(overrides.List, StyledList);
37
+ return /*#__PURE__*/React.createElement(SideNavigationContext.Provider, {
38
+ value: {
39
+ activeItemId
40
+ }
41
+ }, /*#__PURE__*/React.createElement(List, listProps, children));
42
+ }
43
+ const StyledStartWrapper = styled('div', () => ({
44
+ display: 'flex',
45
+ alignItems: 'center',
46
+ justifyContent: 'flex-start'
47
+ }));
48
+ StyledStartWrapper.displayName = "StyledStartWrapper";
49
+ const StyledEndWrapper = styled('div', ({
50
+ $theme
51
+ }) => ({
52
+ display: 'flex',
53
+ alignItems: 'center',
54
+ justifyContent: 'flex-end',
55
+ width: $theme.sizing.scale900
56
+ }));
57
+ StyledEndWrapper.displayName = "StyledEndWrapper";
58
+ const StyledStartEnhancerWrapper = styled('div', ({
59
+ $theme
60
+ }) => ({
61
+ display: 'flex',
62
+ alignItems: 'center',
63
+ justifyContent: 'flex-start',
64
+ width: $theme.sizing.scale950
65
+ }));
66
+ StyledStartEnhancerWrapper.displayName = "StyledStartEnhancerWrapper";
67
+ const StyledAction = styled('a', props => {
68
+ const {
69
+ $active,
70
+ $clickable,
71
+ $disabled,
72
+ $indent,
73
+ $theme
74
+ } = props;
75
+ const {
76
+ colors,
77
+ sizing,
78
+ typography
79
+ } = $theme;
80
+ const paddingLeft = parseInt(sizing.scale600) + parseInt(sizing.scale950) * Math.max($indent, 0) + 'px';
81
+ let style = {
82
+ alignItems: 'center',
83
+ background: 'none',
84
+ borderTop: 'none',
85
+ borderRight: 'none',
86
+ borderBottom: 'none',
87
+ borderLeft: $active ? `solid ${sizing.scale100} ${colors.contentPrimary}` : `solid ${sizing.scale100} transparent`,
88
+ boxShadow: $active ? 'inset 999px 999px 0px rgb(0 0 0 / 8%)' : 'none',
89
+ boxSizing: 'border-box',
90
+ color: !$clickable || $active ? colors.contentPrimary : colors.contentSecondary,
91
+ display: 'flex',
92
+ font: 'inherit',
93
+ justifyContent: 'space-between',
94
+ overflowWrap: 'anywhere',
95
+ paddingTop: sizing.scale550,
96
+ paddingRight: sizing.scale600,
97
+ paddingBottom: sizing.scale550,
98
+ paddingLeft,
99
+ textDecoration: 'none',
100
+ width: '100%',
101
+ ...typography.LabelMedium
102
+ };
103
+
104
+ if ($clickable) {
105
+ style[':hover'] = {
106
+ boxShadow: 'inset 999px 999px 0px rgb(0 0 0 / 4%)',
107
+ cursor: 'pointer'
108
+ };
109
+ }
110
+
111
+ if ($disabled) {
112
+ style.color = colors.contentStateDisabled;
113
+ style.cursor = 'not-allowed';
114
+ }
115
+
116
+ return style;
117
+ });
118
+ StyledAction.displayName = "StyledAction";
119
+
120
+ function Item(props) {
121
+ const {
122
+ ariaControls,
123
+ ariaExpanded,
124
+ active = false,
125
+ disabled = false,
126
+ endEnhancer,
127
+ href,
128
+ indent = 0,
129
+ label,
130
+ onClick,
131
+ overrides = {},
132
+ startEnhancer
133
+ } = props;
134
+
135
+ if (!label) {
136
+ return null;
137
+ }
138
+
139
+ const [Action, actionProps] = getOverrides(overrides.Action, StyledAction);
140
+ const [EndWrapper, endWrapperProps] = getOverrides(overrides.EndWrapper, StyledEndWrapper);
141
+ const [StartEnhancerWrapper, startEnhancerWrapperProps] = getOverrides(overrides.StartEnhancerWrapper, StyledStartEnhancerWrapper);
142
+ const [StartWrapper, startWrapperProps] = getOverrides(overrides.StartWrapper, StyledStartWrapper);
143
+ const clickable = Boolean((onClick || href) && !disabled);
144
+ const actionElement = clickable ? href ? 'a' : 'button' : 'div';
145
+ return /*#__PURE__*/React.createElement(Action, _extends({
146
+ $active: active,
147
+ $as: actionElement,
148
+ $clickable: clickable,
149
+ $disabled: disabled,
150
+ $indent: indent,
151
+ "aria-controls": ariaControls,
152
+ "aria-expanded": ariaExpanded,
153
+ href: href,
154
+ onClick: onClick,
155
+ type: actionElement === 'button' ? 'button' : undefined
156
+ }, actionProps), /*#__PURE__*/React.createElement(StartWrapper, startWrapperProps, startEnhancer && /*#__PURE__*/React.createElement(StartEnhancerWrapper, startEnhancerWrapperProps, startEnhancer), label), endEnhancer && /*#__PURE__*/React.createElement(EndWrapper, endWrapperProps, endEnhancer));
157
+ }
158
+
159
+ export function SideNavigationHeader({
160
+ children,
161
+ overrides: {
162
+ ListItem,
163
+ ...overrides
164
+ } = {},
165
+ ...props
166
+ }) {
167
+ const [OverridedListItem, listItemProps] = getOverrides(ListItem, StyledListItem);
168
+ return /*#__PURE__*/React.createElement(OverridedListItem, listItemProps, /*#__PURE__*/React.createElement(Item, _extends({}, props, {
169
+ label: children,
170
+ overrides: overrides
171
+ })));
172
+ }
173
+ export function SideNavigationItem({
174
+ children,
175
+ id,
176
+ overrides: {
177
+ ListItem,
178
+ ...overrides
179
+ } = {},
180
+ ...props
181
+ }) {
182
+ const {
183
+ activeItemId
184
+ } = React.useContext(SideNavigationContext);
185
+ const [OverridedListItem, listItemProps] = getOverrides(ListItem, StyledListItem);
186
+ return /*#__PURE__*/React.createElement(OverridedListItem, listItemProps, /*#__PURE__*/React.createElement(Item, _extends({}, props, {
187
+ label: children,
188
+ active: activeItemId === id,
189
+ overrides: overrides
190
+ })));
191
+ }
192
+ export function SideNavigationSection(props) {
193
+ const {
194
+ active = false,
195
+ children,
196
+ forceOpen = false,
197
+ indent = 0,
198
+ overrides: {
199
+ List,
200
+ ListItem,
201
+ ...overrides
202
+ } = {},
203
+ startEnhancer,
204
+ title
205
+ } = props;
206
+ const [, theme] = useStyletron();
207
+ const {
208
+ activeItemId
209
+ } = useContext(SideNavigationContext);
210
+ const [open, setOpen] = useState(false);
211
+ const uid = useUID();
212
+ useEffect(() => {
213
+ let childIsActive = false;
214
+
215
+ if (activeItemId != null) {
216
+ let stack = React.Children.toArray(children);
217
+
218
+ while (stack.length) {
219
+ const current = stack.pop();
220
+
221
+ if ( /*#__PURE__*/isValidElement(current)) {
222
+ if (current.props.id === activeItemId) {
223
+ childIsActive = true;
224
+ break;
225
+ }
226
+
227
+ if (current.props.children) {
228
+ stack = stack.concat(React.Children.toArray(current.props.children));
229
+ }
230
+ }
231
+ }
232
+ }
233
+
234
+ if (childIsActive) {
235
+ setOpen(true);
236
+ } else {
237
+ setOpen(false);
238
+ }
239
+ }, [activeItemId, children]);
240
+ useEffect(() => {
241
+ if (forceOpen) {
242
+ setOpen(true);
243
+ }
244
+ }, [forceOpen]);
245
+
246
+ if (React.Children.toArray(children).filter(React.isValidElement).length === 0) {
247
+ return null;
248
+ }
249
+
250
+ const Chevron = open ? ChevronUp : ChevronDown;
251
+ const [OverridedList, overridedListProps] = getOverrides(List, StyledList);
252
+ const [OverridedListItem, overridedListItemProps] = getOverrides(ListItem, StyledListItem);
253
+ return /*#__PURE__*/React.createElement(OverridedListItem, overridedListItemProps, /*#__PURE__*/React.createElement(Item, {
254
+ ariaControls: uid,
255
+ ariaExpanded: open,
256
+ endEnhancer: /*#__PURE__*/React.createElement(Chevron, {
257
+ title: "",
258
+ size: theme.sizing.scale800
259
+ }),
260
+ label: title,
261
+ indent: indent,
262
+ onClick: () => setOpen(prev => !prev),
263
+ overrides: overrides,
264
+ startEnhancer: startEnhancer
265
+ }), /*#__PURE__*/React.createElement(OverridedList, _extends({
266
+ id: uid,
267
+ $open: open
268
+ }, overridedListProps), React.Children.map(children, child => child === null ? null : /*#__PURE__*/React.cloneElement(child, {
269
+ indent: indent + 1
270
+ }))));
271
+ }