@primer/components 0.0.0-20211124581 → 0.0.0-2021113174023

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 (488) hide show
  1. package/CHANGELOG.md +4 -110
  2. package/dist/browser.esm.js +783 -738
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +781 -736
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Divider.jsx +29 -0
  7. package/lib/ActionList/Group.jsx +23 -0
  8. package/lib/ActionList/Header.jsx +66 -0
  9. package/lib/ActionList/Item.js +55 -30
  10. package/lib/ActionList/Item.jsx +311 -0
  11. package/lib/ActionList/List.jsx +138 -0
  12. package/lib/ActionList/index.js +12 -23
  13. package/lib/ActionList2/Description.jsx +29 -0
  14. package/lib/ActionList2/Divider.d.ts +2 -3
  15. package/lib/ActionList2/Divider.js +5 -10
  16. package/lib/ActionList2/Divider.jsx +22 -0
  17. package/lib/ActionList2/Group.d.ts +2 -28
  18. package/lib/ActionList2/Group.js +6 -55
  19. package/lib/ActionList2/Group.jsx +25 -0
  20. package/lib/ActionList2/Header.d.ts +26 -0
  21. package/lib/ActionList2/Header.js +55 -0
  22. package/lib/ActionList2/Header.jsx +36 -0
  23. package/lib/ActionList2/Item.js +6 -24
  24. package/lib/ActionList2/Item.jsx +174 -0
  25. package/lib/ActionList2/LinkItem.jsx +28 -0
  26. package/lib/ActionList2/List.d.ts +1 -1
  27. package/lib/ActionList2/List.js +1 -10
  28. package/lib/ActionList2/List.jsx +41 -0
  29. package/lib/ActionList2/Selection.js +1 -14
  30. package/lib/ActionList2/Selection.jsx +50 -0
  31. package/lib/ActionList2/Visuals.jsx +48 -0
  32. package/lib/ActionList2/index.d.ts +2 -1
  33. package/lib/ActionList2/index.js +23 -41
  34. package/lib/ActionMenu.jsx +73 -0
  35. package/lib/AnchoredOverlay/AnchoredOverlay.jsx +100 -0
  36. package/lib/AnchoredOverlay/index.js +4 -12
  37. package/lib/Autocomplete/Autocomplete.d.ts +3 -12
  38. package/lib/Autocomplete/Autocomplete.jsx +100 -0
  39. package/lib/Autocomplete/AutocompleteContext.jsx +5 -0
  40. package/lib/Autocomplete/AutocompleteInput.d.ts +3 -12
  41. package/lib/Autocomplete/AutocompleteInput.jsx +113 -0
  42. package/lib/Autocomplete/AutocompleteMenu.jsx +190 -0
  43. package/lib/Autocomplete/AutocompleteOverlay.jsx +55 -0
  44. package/lib/Autocomplete/index.js +7 -14
  45. package/lib/Avatar.d.ts +2 -1
  46. package/lib/Avatar.js +1 -1
  47. package/lib/Avatar.jsx +34 -0
  48. package/lib/AvatarPair.jsx +29 -0
  49. package/lib/AvatarStack.jsx +151 -0
  50. package/lib/BaseStyles.jsx +65 -0
  51. package/lib/BorderBox.jsx +18 -0
  52. package/lib/Box.jsx +10 -0
  53. package/lib/BranchName.d.ts +2 -1
  54. package/lib/BranchName.js +1 -1
  55. package/lib/BranchName.jsx +20 -0
  56. package/lib/Breadcrumbs.d.ts +7 -8
  57. package/lib/Breadcrumbs.js +12 -7
  58. package/lib/Breadcrumbs.jsx +74 -0
  59. package/lib/Button/Button.d.ts +3 -3
  60. package/lib/Button/Button.js +6 -2
  61. package/lib/Button/Button.jsx +60 -0
  62. package/lib/Button/ButtonBase.d.ts +8 -5
  63. package/lib/Button/ButtonBase.js +5 -1
  64. package/lib/Button/ButtonBase.jsx +36 -0
  65. package/lib/Button/ButtonClose.d.ts +46 -4
  66. package/lib/Button/ButtonClose.js +1 -1
  67. package/lib/Button/ButtonClose.jsx +55 -0
  68. package/lib/Button/ButtonDanger.d.ts +3 -3
  69. package/lib/Button/ButtonDanger.js +6 -2
  70. package/lib/Button/ButtonDanger.jsx +63 -0
  71. package/lib/Button/ButtonGroup.jsx +55 -0
  72. package/lib/Button/ButtonInvisible.d.ts +3 -3
  73. package/lib/Button/ButtonInvisible.js +6 -2
  74. package/lib/Button/ButtonInvisible.jsx +52 -0
  75. package/lib/Button/ButtonOutline.d.ts +3 -3
  76. package/lib/Button/ButtonOutline.js +6 -2
  77. package/lib/Button/ButtonOutline.jsx +63 -0
  78. package/lib/Button/ButtonPrimary.d.ts +3 -3
  79. package/lib/Button/ButtonPrimary.js +6 -2
  80. package/lib/Button/ButtonPrimary.jsx +62 -0
  81. package/lib/Button/ButtonStyles.jsx +37 -0
  82. package/lib/Button/ButtonTableList.d.ts +2 -1
  83. package/lib/Button/ButtonTableList.js +1 -1
  84. package/lib/Button/ButtonTableList.jsx +49 -0
  85. package/lib/Button/index.js +21 -70
  86. package/lib/Caret.jsx +93 -0
  87. package/lib/CircleBadge.d.ts +5 -4
  88. package/lib/CircleBadge.js +1 -1
  89. package/lib/CircleBadge.jsx +43 -0
  90. package/lib/CircleOcticon.d.ts +1 -2
  91. package/lib/CircleOcticon.jsx +21 -0
  92. package/lib/CounterLabel.d.ts +2 -1
  93. package/lib/CounterLabel.js +1 -1
  94. package/lib/CounterLabel.jsx +44 -0
  95. package/lib/Details.d.ts +2 -1
  96. package/lib/Details.js +3 -1
  97. package/lib/Details.jsx +21 -0
  98. package/lib/Dialog/ConfirmationDialog.jsx +146 -0
  99. package/lib/Dialog/Dialog.d.ts +9 -5
  100. package/lib/Dialog/Dialog.js +11 -17
  101. package/lib/Dialog/Dialog.jsx +273 -0
  102. package/lib/Dialog.d.ts +5 -5
  103. package/lib/Dialog.js +1 -1
  104. package/lib/Dialog.jsx +131 -0
  105. package/lib/Dropdown.d.ts +165 -16
  106. package/lib/Dropdown.js +3 -3
  107. package/lib/Dropdown.jsx +134 -0
  108. package/lib/DropdownMenu/DropdownButton.d.ts +47 -4
  109. package/lib/DropdownMenu/DropdownButton.js +1 -3
  110. package/lib/DropdownMenu/DropdownButton.jsx +14 -0
  111. package/lib/DropdownMenu/DropdownMenu.jsx +70 -0
  112. package/lib/DropdownMenu/index.js +6 -20
  113. package/lib/DropdownStyles.js +18 -26
  114. package/lib/EmojiPicker/EmojiPicker.d.ts +17 -0
  115. package/lib/EmojiPicker/EmojiPicker.js +202 -0
  116. package/lib/EmojiPicker/EmojiPicker.jsx +132 -0
  117. package/lib/EmojiPicker/EmojiPickerAnchor.d.ts +0 -0
  118. package/lib/EmojiPicker/EmojiPickerAnchor.js +1 -0
  119. package/lib/EmojiPicker/EmojiPickerAnchor.jsx +1 -0
  120. package/lib/EmojiPicker/EmojiPickerPanel.d.ts +3 -0
  121. package/lib/EmojiPicker/EmojiPickerPanel.js +18 -0
  122. package/lib/EmojiPicker/EmojiPickerPanel.jsx +10 -0
  123. package/lib/EmojiPicker/data.d.ts +9 -0
  124. package/lib/EmojiPicker/data.js +7254 -0
  125. package/lib/EmojiPicker/index.d.ts +2 -0
  126. package/lib/EmojiPicker/index.js +8 -0
  127. package/lib/FilterList.d.ts +303 -265
  128. package/lib/FilterList.js +6 -2
  129. package/lib/FilterList.jsx +63 -0
  130. package/lib/FilteredActionList/FilteredActionList.jsx +100 -0
  131. package/lib/FilteredActionList/index.js +4 -12
  132. package/lib/FilteredSearch.d.ts +2 -1
  133. package/lib/FilteredSearch.js +1 -1
  134. package/lib/FilteredSearch.jsx +29 -0
  135. package/lib/Flash.d.ts +2 -1
  136. package/lib/Flash.js +1 -1
  137. package/lib/Flash.jsx +70 -0
  138. package/lib/Flex.jsx +15 -0
  139. package/lib/FormGroup.d.ts +5 -4
  140. package/lib/FormGroup.js +2 -2
  141. package/lib/FormGroup.jsx +25 -0
  142. package/lib/Grid.jsx +15 -0
  143. package/lib/Header.d.ts +7 -6
  144. package/lib/Header.js +4 -4
  145. package/lib/Header.jsx +90 -0
  146. package/lib/Heading.d.ts +2 -1
  147. package/lib/Heading.js +6 -1
  148. package/lib/Heading.jsx +21 -0
  149. package/lib/Label.d.ts +2 -1
  150. package/lib/Label.js +3 -2
  151. package/lib/Label.jsx +84 -0
  152. package/lib/LabelGroup.d.ts +2 -1
  153. package/lib/LabelGroup.js +1 -1
  154. package/lib/LabelGroup.jsx +19 -0
  155. package/lib/Link.d.ts +2 -1
  156. package/lib/Link.js +1 -1
  157. package/lib/Link.jsx +38 -0
  158. package/lib/NewButton/button-counter.jsx +14 -0
  159. package/lib/NewButton/button.js +42 -34
  160. package/lib/NewButton/button.jsx +278 -0
  161. package/lib/NewButton/index.js +5 -12
  162. package/lib/NewButton/types.js +2 -1
  163. package/lib/Overlay.d.ts +11 -14
  164. package/lib/Overlay.js +4 -3
  165. package/lib/Overlay.jsx +156 -0
  166. package/lib/Pagehead.d.ts +2 -1
  167. package/lib/Pagehead.js +1 -1
  168. package/lib/Pagehead.jsx +18 -0
  169. package/lib/Pagination/Pagination.js +1 -1
  170. package/lib/Pagination/Pagination.jsx +163 -0
  171. package/lib/Pagination/index.js +6 -12
  172. package/lib/Pagination/model.jsx +174 -0
  173. package/lib/PointerBox.jsx +25 -0
  174. package/lib/Popover.d.ts +5 -4
  175. package/lib/Popover.js +5 -4
  176. package/lib/Popover.jsx +210 -0
  177. package/lib/Portal/Portal.jsx +79 -0
  178. package/lib/Portal/index.js +5 -16
  179. package/lib/Position.d.ts +4 -4
  180. package/lib/Position.jsx +46 -0
  181. package/lib/ProgressBar.d.ts +11 -16
  182. package/lib/ProgressBar.js +10 -6
  183. package/lib/ProgressBar.jsx +39 -0
  184. package/lib/SelectMenu/SelectMenu.d.ts +189 -35
  185. package/lib/SelectMenu/SelectMenu.js +3 -1
  186. package/lib/SelectMenu/SelectMenu.jsx +114 -0
  187. package/lib/SelectMenu/SelectMenuContext.jsx +5 -0
  188. package/lib/SelectMenu/SelectMenuDivider.d.ts +2 -1
  189. package/lib/SelectMenu/SelectMenuDivider.js +1 -1
  190. package/lib/SelectMenu/SelectMenuDivider.jsx +43 -0
  191. package/lib/SelectMenu/SelectMenuFilter.js +1 -1
  192. package/lib/SelectMenu/SelectMenuFilter.jsx +59 -0
  193. package/lib/SelectMenu/SelectMenuFooter.d.ts +2 -1
  194. package/lib/SelectMenu/SelectMenuFooter.js +1 -1
  195. package/lib/SelectMenu/SelectMenuFooter.jsx +46 -0
  196. package/lib/SelectMenu/SelectMenuHeader.d.ts +2 -1
  197. package/lib/SelectMenu/SelectMenuHeader.js +1 -1
  198. package/lib/SelectMenu/SelectMenuHeader.jsx +44 -0
  199. package/lib/SelectMenu/SelectMenuItem.d.ts +3 -2
  200. package/lib/SelectMenu/SelectMenuItem.js +1 -1
  201. package/lib/SelectMenu/SelectMenuItem.jsx +143 -0
  202. package/lib/SelectMenu/SelectMenuList.d.ts +2 -1
  203. package/lib/SelectMenu/SelectMenuList.js +1 -1
  204. package/lib/SelectMenu/SelectMenuList.jsx +60 -0
  205. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  206. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +1 -3
  207. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +21 -0
  208. package/lib/SelectMenu/SelectMenuModal.d.ts +3 -2
  209. package/lib/SelectMenu/SelectMenuModal.js +1 -1
  210. package/lib/SelectMenu/SelectMenuModal.jsx +119 -0
  211. package/lib/SelectMenu/SelectMenuTab.d.ts +2 -1
  212. package/lib/SelectMenu/SelectMenuTab.js +1 -1
  213. package/lib/SelectMenu/SelectMenuTab.jsx +93 -0
  214. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +2 -1
  215. package/lib/SelectMenu/SelectMenuTabPanel.js +1 -1
  216. package/lib/SelectMenu/SelectMenuTabPanel.jsx +43 -0
  217. package/lib/SelectMenu/SelectMenuTabs.d.ts +2 -1
  218. package/lib/SelectMenu/SelectMenuTabs.js +1 -1
  219. package/lib/SelectMenu/SelectMenuTabs.jsx +58 -0
  220. package/lib/SelectMenu/hooks/useKeyboardNav.js +80 -96
  221. package/lib/SelectMenu/index.js +7 -14
  222. package/lib/SelectPanel/SelectPanel.jsx +105 -0
  223. package/lib/SelectPanel/index.js +4 -12
  224. package/lib/SideNav.d.ts +8 -11
  225. package/lib/SideNav.js +15 -8
  226. package/lib/SideNav.jsx +177 -0
  227. package/lib/Spinner.d.ts +2 -1
  228. package/lib/Spinner.js +3 -1
  229. package/lib/Spinner.jsx +35 -0
  230. package/lib/StateLabel.d.ts +2 -1
  231. package/lib/StateLabel.js +5 -6
  232. package/lib/StateLabel.jsx +94 -0
  233. package/lib/StyledOcticon.d.ts +2 -1
  234. package/lib/StyledOcticon.js +3 -1
  235. package/lib/StyledOcticon.jsx +20 -0
  236. package/lib/SubNav.d.ts +11 -5
  237. package/lib/SubNav.js +12 -7
  238. package/lib/SubNav.jsx +104 -0
  239. package/lib/TabNav.d.ts +4 -3
  240. package/lib/TabNav.js +2 -2
  241. package/lib/TabNav.jsx +60 -0
  242. package/lib/Text.jsx +14 -0
  243. package/lib/TextInput.d.ts +1 -8
  244. package/lib/TextInput.js +5 -16
  245. package/lib/TextInput.jsx +23 -0
  246. package/lib/TextInputWithTokens.d.ts +3 -12
  247. package/lib/TextInputWithTokens.jsx +218 -0
  248. package/lib/ThemeProvider.jsx +130 -0
  249. package/lib/Timeline.d.ts +393 -19
  250. package/lib/Timeline.js +13 -16
  251. package/lib/Timeline.jsx +124 -0
  252. package/lib/Token/AvatarToken.d.ts +1 -1
  253. package/lib/Token/AvatarToken.jsx +54 -0
  254. package/lib/Token/IssueLabelToken.d.ts +1 -1
  255. package/lib/Token/IssueLabelToken.jsx +125 -0
  256. package/lib/Token/Token.d.ts +1 -1
  257. package/lib/Token/Token.jsx +103 -0
  258. package/lib/Token/TokenBase.jsx +88 -0
  259. package/lib/Token/_RemoveTokenButton.jsx +108 -0
  260. package/lib/Token/_TokenTextContainer.jsx +49 -0
  261. package/lib/Token/index.js +11 -30
  262. package/lib/Tooltip.d.ts +2 -1
  263. package/lib/Tooltip.js +1 -1
  264. package/lib/Tooltip.jsx +246 -0
  265. package/lib/Truncate.d.ts +2 -1
  266. package/lib/Truncate.js +3 -1
  267. package/lib/Truncate.jsx +27 -0
  268. package/lib/UnderlineNav.d.ts +3 -2
  269. package/lib/UnderlineNav.js +2 -2
  270. package/lib/UnderlineNav.jsx +90 -0
  271. package/lib/_TextInputWrapper.d.ts +0 -3
  272. package/lib/_TextInputWrapper.js +7 -18
  273. package/lib/_TextInputWrapper.jsx +120 -0
  274. package/lib/_UnstyledTextInput.jsx +22 -0
  275. package/lib/behaviors/anchoredPosition.js +205 -234
  276. package/lib/behaviors/focusTrap.js +121 -157
  277. package/lib/behaviors/focusZone.js +434 -509
  278. package/lib/behaviors/scrollIntoViewingArea.js +18 -35
  279. package/lib/constants.js +39 -43
  280. package/lib/drafts.d.ts +0 -1
  281. package/lib/drafts.js +20 -43
  282. package/lib/hooks/index.js +16 -60
  283. package/lib/hooks/useAnchoredPosition.js +32 -40
  284. package/lib/hooks/useCombinedRefs.js +32 -36
  285. package/lib/hooks/useDetails.jsx +39 -0
  286. package/lib/hooks/useDialog.js +72 -96
  287. package/lib/hooks/useFocusTrap.js +43 -60
  288. package/lib/hooks/useFocusZone.js +54 -50
  289. package/lib/hooks/useOnEscapePress.js +25 -36
  290. package/lib/hooks/useOnOutsideClick.jsx +61 -0
  291. package/lib/hooks/useOpenAndCloseFocus.js +22 -34
  292. package/lib/hooks/useOverlay.jsx +15 -0
  293. package/lib/hooks/useProvidedRefOrCreate.js +10 -14
  294. package/lib/hooks/useProvidedStateOrCreate.js +13 -16
  295. package/lib/hooks/useRenderForcingRef.js +13 -17
  296. package/lib/hooks/useResizeObserver.js +15 -18
  297. package/lib/hooks/useSafeTimeout.js +22 -30
  298. package/lib/hooks/useScrollFlash.js +16 -23
  299. package/lib/index.d.ts +2 -2
  300. package/lib/index.js +165 -652
  301. package/lib/polyfills/eventListenerSignal.js +37 -45
  302. package/lib/sx.js +10 -22
  303. package/lib/theme-preval.js +64 -3169
  304. package/lib/theme.js +3 -12
  305. package/lib/utils/create-slots.jsx +65 -0
  306. package/lib/utils/deprecate.jsx +59 -0
  307. package/lib/utils/isNumeric.jsx +7 -0
  308. package/lib/utils/iterateFocusableElements.js +63 -85
  309. package/lib/utils/ssr.jsx +6 -0
  310. package/lib/utils/test-deprecations.jsx +20 -0
  311. package/lib/utils/test-helpers.jsx +8 -0
  312. package/lib/utils/test-matchers.jsx +100 -0
  313. package/lib/utils/testing.d.ts +61 -8
  314. package/lib/utils/testing.js +0 -29
  315. package/lib/utils/testing.jsx +206 -0
  316. package/lib/utils/theme.js +33 -47
  317. package/lib/utils/types/AriaRole.js +2 -1
  318. package/lib/utils/types/ComponentProps.js +2 -1
  319. package/lib/utils/types/Flatten.js +2 -1
  320. package/lib/utils/types/KeyPaths.js +2 -1
  321. package/lib/utils/types/MandateProps.js +16 -1
  322. package/lib/utils/types/Merge.js +2 -1
  323. package/lib/utils/types/index.js +16 -69
  324. package/lib/utils/uniqueId.js +5 -8
  325. package/lib/utils/use-force-update.js +8 -14
  326. package/lib/utils/useIsomorphicLayoutEffect.js +8 -11
  327. package/lib/utils/userAgent.js +8 -12
  328. package/lib-esm/ActionList/Item.js +56 -31
  329. package/lib-esm/ActionList2/Divider.d.ts +2 -3
  330. package/lib-esm/ActionList2/Divider.js +5 -8
  331. package/lib-esm/ActionList2/Group.d.ts +2 -28
  332. package/lib-esm/ActionList2/Group.js +5 -52
  333. package/lib-esm/ActionList2/Header.d.ts +26 -0
  334. package/lib-esm/ActionList2/Header.js +44 -0
  335. package/lib-esm/ActionList2/Item.js +6 -22
  336. package/lib-esm/ActionList2/List.d.ts +1 -1
  337. package/lib-esm/ActionList2/List.js +1 -8
  338. package/lib-esm/ActionList2/Selection.js +1 -12
  339. package/lib-esm/ActionList2/index.d.ts +2 -1
  340. package/lib-esm/Autocomplete/Autocomplete.d.ts +3 -12
  341. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +3 -12
  342. package/lib-esm/Avatar.d.ts +2 -1
  343. package/lib-esm/Avatar.js +2 -2
  344. package/lib-esm/BranchName.d.ts +2 -1
  345. package/lib-esm/BranchName.js +2 -2
  346. package/lib-esm/Breadcrumbs.d.ts +7 -8
  347. package/lib-esm/Breadcrumbs.js +13 -8
  348. package/lib-esm/Button/Button.d.ts +3 -3
  349. package/lib-esm/Button/Button.js +2 -2
  350. package/lib-esm/Button/ButtonBase.d.ts +8 -5
  351. package/lib-esm/Button/ButtonBase.js +3 -1
  352. package/lib-esm/Button/ButtonClose.d.ts +46 -4
  353. package/lib-esm/Button/ButtonClose.js +2 -2
  354. package/lib-esm/Button/ButtonDanger.d.ts +3 -3
  355. package/lib-esm/Button/ButtonDanger.js +2 -2
  356. package/lib-esm/Button/ButtonInvisible.d.ts +3 -3
  357. package/lib-esm/Button/ButtonInvisible.js +2 -2
  358. package/lib-esm/Button/ButtonOutline.d.ts +3 -3
  359. package/lib-esm/Button/ButtonOutline.js +2 -2
  360. package/lib-esm/Button/ButtonPrimary.d.ts +3 -3
  361. package/lib-esm/Button/ButtonPrimary.js +2 -2
  362. package/lib-esm/Button/ButtonTableList.d.ts +2 -1
  363. package/lib-esm/Button/ButtonTableList.js +2 -2
  364. package/lib-esm/CircleBadge.d.ts +5 -4
  365. package/lib-esm/CircleBadge.js +2 -2
  366. package/lib-esm/CircleOcticon.d.ts +1 -2
  367. package/lib-esm/CounterLabel.d.ts +2 -1
  368. package/lib-esm/CounterLabel.js +2 -2
  369. package/lib-esm/Details.d.ts +2 -1
  370. package/lib-esm/Details.js +2 -1
  371. package/lib-esm/Dialog/Dialog.d.ts +9 -5
  372. package/lib-esm/Dialog/Dialog.js +12 -12
  373. package/lib-esm/Dialog.d.ts +5 -5
  374. package/lib-esm/Dialog.js +2 -2
  375. package/lib-esm/Dropdown.d.ts +165 -16
  376. package/lib-esm/Dropdown.js +4 -4
  377. package/lib-esm/DropdownMenu/DropdownButton.d.ts +47 -4
  378. package/lib-esm/DropdownMenu/DropdownButton.js +1 -3
  379. package/lib-esm/EmojiPicker/EmojiPicker.d.ts +17 -0
  380. package/lib-esm/EmojiPicker/EmojiPicker.js +181 -0
  381. package/lib-esm/EmojiPicker/EmojiPickerAnchor.d.ts +0 -0
  382. package/lib-esm/EmojiPicker/EmojiPickerAnchor.js +0 -0
  383. package/lib-esm/EmojiPicker/EmojiPickerPanel.d.ts +3 -0
  384. package/lib-esm/EmojiPicker/EmojiPickerPanel.js +8 -0
  385. package/lib-esm/EmojiPicker/data.d.ts +9 -0
  386. package/lib-esm/EmojiPicker/data.js +5434 -0
  387. package/lib-esm/EmojiPicker/index.d.ts +2 -0
  388. package/lib-esm/EmojiPicker/index.js +1 -0
  389. package/lib-esm/FilterList.d.ts +303 -265
  390. package/lib-esm/FilterList.js +7 -3
  391. package/lib-esm/FilteredSearch.d.ts +2 -1
  392. package/lib-esm/FilteredSearch.js +2 -2
  393. package/lib-esm/Flash.d.ts +2 -1
  394. package/lib-esm/Flash.js +2 -2
  395. package/lib-esm/FormGroup.d.ts +5 -4
  396. package/lib-esm/FormGroup.js +3 -3
  397. package/lib-esm/Header.d.ts +7 -6
  398. package/lib-esm/Header.js +5 -5
  399. package/lib-esm/Heading.d.ts +2 -1
  400. package/lib-esm/Heading.js +6 -2
  401. package/lib-esm/Label.d.ts +2 -1
  402. package/lib-esm/Label.js +4 -3
  403. package/lib-esm/LabelGroup.d.ts +2 -1
  404. package/lib-esm/LabelGroup.js +2 -2
  405. package/lib-esm/Link.d.ts +2 -1
  406. package/lib-esm/Link.js +2 -2
  407. package/lib-esm/NewButton/button.js +42 -31
  408. package/lib-esm/Overlay.d.ts +11 -14
  409. package/lib-esm/Overlay.js +3 -2
  410. package/lib-esm/Pagehead.d.ts +2 -1
  411. package/lib-esm/Pagehead.js +2 -2
  412. package/lib-esm/Pagination/Pagination.js +2 -2
  413. package/lib-esm/Popover.d.ts +5 -4
  414. package/lib-esm/Popover.js +5 -4
  415. package/lib-esm/Position.d.ts +4 -4
  416. package/lib-esm/ProgressBar.d.ts +11 -16
  417. package/lib-esm/ProgressBar.js +11 -7
  418. package/lib-esm/SelectMenu/SelectMenu.d.ts +189 -35
  419. package/lib-esm/SelectMenu/SelectMenu.js +2 -1
  420. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +2 -1
  421. package/lib-esm/SelectMenu/SelectMenuDivider.js +2 -2
  422. package/lib-esm/SelectMenu/SelectMenuFilter.js +2 -2
  423. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +2 -1
  424. package/lib-esm/SelectMenu/SelectMenuFooter.js +2 -2
  425. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +2 -1
  426. package/lib-esm/SelectMenu/SelectMenuHeader.js +2 -2
  427. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +3 -2
  428. package/lib-esm/SelectMenu/SelectMenuItem.js +2 -2
  429. package/lib-esm/SelectMenu/SelectMenuList.d.ts +2 -1
  430. package/lib-esm/SelectMenu/SelectMenuList.js +2 -2
  431. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  432. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +2 -3
  433. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +3 -2
  434. package/lib-esm/SelectMenu/SelectMenuModal.js +2 -2
  435. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +2 -1
  436. package/lib-esm/SelectMenu/SelectMenuTab.js +2 -2
  437. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +2 -1
  438. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +2 -2
  439. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +2 -1
  440. package/lib-esm/SelectMenu/SelectMenuTabs.js +2 -2
  441. package/lib-esm/SideNav.d.ts +8 -11
  442. package/lib-esm/SideNav.js +16 -8
  443. package/lib-esm/Spinner.d.ts +2 -1
  444. package/lib-esm/Spinner.js +2 -1
  445. package/lib-esm/StateLabel.d.ts +2 -1
  446. package/lib-esm/StateLabel.js +6 -7
  447. package/lib-esm/StyledOcticon.d.ts +2 -1
  448. package/lib-esm/StyledOcticon.js +2 -1
  449. package/lib-esm/SubNav.d.ts +11 -5
  450. package/lib-esm/SubNav.js +13 -8
  451. package/lib-esm/TabNav.d.ts +4 -3
  452. package/lib-esm/TabNav.js +3 -3
  453. package/lib-esm/TextInput.d.ts +1 -8
  454. package/lib-esm/TextInput.js +5 -16
  455. package/lib-esm/TextInputWithTokens.d.ts +3 -12
  456. package/lib-esm/Timeline.d.ts +393 -19
  457. package/lib-esm/Timeline.js +13 -12
  458. package/lib-esm/Token/AvatarToken.d.ts +1 -1
  459. package/lib-esm/Token/IssueLabelToken.d.ts +1 -1
  460. package/lib-esm/Token/Token.d.ts +1 -1
  461. package/lib-esm/Tooltip.d.ts +2 -1
  462. package/lib-esm/Tooltip.js +2 -2
  463. package/lib-esm/Truncate.d.ts +2 -1
  464. package/lib-esm/Truncate.js +2 -1
  465. package/lib-esm/UnderlineNav.d.ts +3 -2
  466. package/lib-esm/UnderlineNav.js +3 -3
  467. package/lib-esm/_TextInputWrapper.d.ts +0 -3
  468. package/lib-esm/_TextInputWrapper.js +7 -18
  469. package/lib-esm/drafts.d.ts +0 -1
  470. package/lib-esm/drafts.js +1 -2
  471. package/lib-esm/index.d.ts +2 -2
  472. package/lib-esm/index.js +1 -1
  473. package/lib-esm/theme-preval.js +366 -512
  474. package/lib-esm/utils/testing.d.ts +61 -8
  475. package/lib-esm/utils/testing.js +0 -24
  476. package/package.json +6 -5
  477. package/lib/ActionList2/MenuContext.d.ts +0 -10
  478. package/lib/ActionList2/MenuContext.js +0 -15
  479. package/lib/ActionMenu2.d.ts +0 -310
  480. package/lib/ActionMenu2.js +0 -91
  481. package/lib/Checkbox.d.ts +0 -29
  482. package/lib/Checkbox.js +0 -64
  483. package/lib-esm/ActionList2/MenuContext.d.ts +0 -10
  484. package/lib-esm/ActionList2/MenuContext.js +0 -3
  485. package/lib-esm/ActionMenu2.d.ts +0 -310
  486. package/lib-esm/ActionMenu2.js +0 -67
  487. package/lib-esm/Checkbox.d.ts +0 -29
  488. package/lib-esm/Checkbox.js +0 -44
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const react_1 = __importStar(require("react"));
26
+ const props_1 = require("@styled-system/props");
27
+ const focusZone_1 = require("./behaviors/focusZone");
28
+ const useCombinedRefs_1 = require("./hooks/useCombinedRefs");
29
+ const useFocusZone_1 = require("./hooks/useFocusZone");
30
+ const Token_1 = __importDefault(require("./Token/Token"));
31
+ const hooks_1 = require("./hooks");
32
+ const _UnstyledTextInput_1 = __importDefault(require("./_UnstyledTextInput"));
33
+ const _TextInputWrapper_1 = __importDefault(require("./_TextInputWrapper"));
34
+ const Box_1 = __importDefault(require("./Box"));
35
+ const Text_1 = __importDefault(require("./Text"));
36
+ const iterateFocusableElements_1 = require("./utils/iterateFocusableElements");
37
+ const overflowCountFontSizeMap = {
38
+ small: 0,
39
+ medium: 1,
40
+ large: 1,
41
+ extralarge: 2
42
+ };
43
+ // using forwardRef is important so that other components (ex. Autocomplete) can use the ref
44
+ function TextInputWithTokensInnerComponent({ icon: IconComponent, contrast, className, block, disabled, theme, sx: sxProp, tokens, onTokenRemove, tokenComponent: TokenComponent, preventTokenWrapping, size, hideTokenRemoveButtons, maxHeight, width: widthProp, minWidth: minWidthProp, maxWidth: maxWidthProp, variant: variantProp, visibleTokenCount, ...rest }, externalRef) {
45
+ const { onBlur, onFocus, onKeyDown, ...inputPropsRest } = props_1.omit(rest);
46
+ const ref = hooks_1.useProvidedRefOrCreate(externalRef);
47
+ const localInputRef = react_1.useRef(null);
48
+ const combinedInputRef = useCombinedRefs_1.useCombinedRefs(localInputRef, ref);
49
+ const [selectedTokenIndex, setSelectedTokenIndex] = react_1.useState();
50
+ const [tokensAreTruncated, setTokensAreTruncated] = react_1.useState(Boolean(visibleTokenCount));
51
+ const { containerRef } = useFocusZone_1.useFocusZone({
52
+ focusOutBehavior: 'wrap',
53
+ bindKeys: focusZone_1.FocusKeys.ArrowHorizontal | focusZone_1.FocusKeys.HomeAndEnd,
54
+ focusableElementFilter: element => {
55
+ return !element.getAttributeNames().includes('aria-hidden');
56
+ },
57
+ getNextFocusable: direction => {
58
+ if (!selectedTokenIndex && selectedTokenIndex !== 0) {
59
+ return undefined;
60
+ }
61
+ let nextIndex = selectedTokenIndex + 1; // "+ 1" accounts for the first element: the text input
62
+ if (direction === 'next') {
63
+ nextIndex += 1;
64
+ }
65
+ if (direction === 'previous') {
66
+ nextIndex -= 1;
67
+ }
68
+ if (nextIndex > tokens.length || nextIndex < 1) {
69
+ return combinedInputRef.current || undefined;
70
+ }
71
+ return containerRef.current?.children[nextIndex];
72
+ }
73
+ }, [selectedTokenIndex]);
74
+ const handleTokenRemove = (tokenId) => {
75
+ onTokenRemove(tokenId);
76
+ // HACK: wait a tick for the the token node to be removed from the DOM
77
+ setTimeout(() => {
78
+ const nextElementToFocus = containerRef.current?.children[selectedTokenIndex || 0];
79
+ // when removing the first token by keying "Backspace" or "Delete",
80
+ // `nextFocusableElement` is the div that wraps the input
81
+ const firstFocusable = nextElementToFocus && iterateFocusableElements_1.isFocusable(nextElementToFocus)
82
+ ? nextElementToFocus
83
+ : Array.from(containerRef.current?.children || []).find(el => iterateFocusableElements_1.isFocusable(el));
84
+ if (firstFocusable) {
85
+ firstFocusable.focus();
86
+ }
87
+ else {
88
+ // if there are no tokens left, focus the input
89
+ ref.current?.focus();
90
+ }
91
+ }, 0);
92
+ };
93
+ const handleTokenFocus = tokenIndex => () => {
94
+ setSelectedTokenIndex(tokenIndex);
95
+ };
96
+ const handleTokenBlur = () => {
97
+ setSelectedTokenIndex(undefined);
98
+ // HACK: wait a tick and check the focused element before hiding truncated tokens
99
+ // this prevents the tokens from hiding when the user is moving focus between tokens,
100
+ // but still hides the tokens when the user blurs the token by tabbing out or clicking somewhere else on the page
101
+ setTimeout(() => {
102
+ if (!containerRef.current?.contains(document.activeElement) && visibleTokenCount) {
103
+ setTokensAreTruncated(true);
104
+ }
105
+ }, 0);
106
+ };
107
+ const handleTokenKeyUp = event => {
108
+ if (event.key === 'Escape') {
109
+ ref.current?.focus();
110
+ }
111
+ };
112
+ const handleInputFocus = event => {
113
+ onFocus && onFocus(event);
114
+ setSelectedTokenIndex(undefined);
115
+ visibleTokenCount && setTokensAreTruncated(false);
116
+ };
117
+ const handleInputBlur = event => {
118
+ onBlur && onBlur(event);
119
+ // HACK: wait a tick and check the focused element before hiding truncated tokens
120
+ // this prevents the tokens from hiding when the user is moving focus from the input to a token,
121
+ // but still hides the tokens when the user blurs the input by tabbing out or clicking somewhere else on the page
122
+ setTimeout(() => {
123
+ if (!containerRef.current?.contains(document.activeElement) && visibleTokenCount) {
124
+ setTokensAreTruncated(true);
125
+ }
126
+ }, 0);
127
+ };
128
+ const handleInputKeyDown = e => {
129
+ if (onKeyDown) {
130
+ onKeyDown(e);
131
+ }
132
+ if (ref.current?.value) {
133
+ return;
134
+ }
135
+ const lastToken = tokens[tokens.length - 1];
136
+ if (e.key === 'Backspace' && lastToken) {
137
+ handleTokenRemove(lastToken.id);
138
+ if (ref.current) {
139
+ // TODO: eliminate the first hack by making changes to the Autocomplete component
140
+ //
141
+ // HACKS:
142
+ // 1. Directly setting `ref.current.value` instead of updating state because the autocomplete
143
+ // highlight behavior doesn't work correctly if we update the value with a setState action in onChange
144
+ // 2. Adding an extra space so that when I backspace, it doesn't delete the last letter
145
+ ref.current.value = `${lastToken.text} `;
146
+ }
147
+ // HACK: for some reason we need to wait a tick for `.select()` to work
148
+ setTimeout(() => {
149
+ ref.current?.select();
150
+ }, 0);
151
+ }
152
+ };
153
+ const focusInput = () => {
154
+ combinedInputRef.current?.focus();
155
+ };
156
+ const preventTokenClickPropagation = event => {
157
+ event.stopPropagation();
158
+ };
159
+ const visibleTokens = tokensAreTruncated ? tokens.slice(0, visibleTokenCount) : tokens;
160
+ return (<_TextInputWrapper_1.default block={block} className={className} contrast={contrast} disabled={disabled} hasIcon={!!IconComponent} theme={theme} width={widthProp} minWidth={minWidthProp} maxWidth={maxWidthProp} variant={variantProp} onClick={focusInput} sx={{
161
+ ...(block
162
+ ? {
163
+ display: 'flex',
164
+ width: '100%'
165
+ }
166
+ : {}),
167
+ ...(maxHeight
168
+ ? {
169
+ maxHeight,
170
+ overflow: 'auto'
171
+ }
172
+ : {}),
173
+ ...(preventTokenWrapping
174
+ ? {
175
+ overflow: 'auto'
176
+ }
177
+ : {}),
178
+ ...sxProp
179
+ }}>
180
+ <Box_1.default ref={containerRef} display="flex" sx={{
181
+ alignItems: 'center',
182
+ flexWrap: preventTokenWrapping ? 'nowrap' : 'wrap',
183
+ marginLeft: '-0.25rem',
184
+ marginBottom: '-0.25rem',
185
+ flexGrow: 1,
186
+ '> *': {
187
+ flexShrink: 0,
188
+ marginLeft: '0.25rem',
189
+ marginBottom: '0.25rem'
190
+ }
191
+ }}>
192
+ <Box_1.default sx={{
193
+ order: 1,
194
+ flexGrow: 1
195
+ }}>
196
+ {IconComponent && <IconComponent className="TextInput-icon"/>}
197
+ <_UnstyledTextInput_1.default ref={combinedInputRef} disabled={disabled} onFocus={handleInputFocus} onBlur={handleInputBlur} onKeyDown={handleInputKeyDown} type="text" sx={{ height: '100%' }} {...inputPropsRest}/>
198
+ </Box_1.default>
199
+ {TokenComponent
200
+ ? visibleTokens.map(({ id, ...tokenRest }, i) => (<TokenComponent key={id} onFocus={handleTokenFocus(i)} onBlur={handleTokenBlur} onKeyUp={handleTokenKeyUp} onClick={preventTokenClickPropagation} isSelected={selectedTokenIndex === i} onRemove={() => {
201
+ handleTokenRemove(id);
202
+ }} hideRemoveButton={hideTokenRemoveButtons} size={size} tabIndex={0} {...tokenRest}/>))
203
+ : null}
204
+ {tokensAreTruncated ? (<Text_1.default color="fg.muted" fontSize={size && overflowCountFontSizeMap[size]}>
205
+ +{tokens.length - visibleTokens.length}
206
+ </Text_1.default>) : null}
207
+ </Box_1.default>
208
+ </_TextInputWrapper_1.default>);
209
+ }
210
+ const TextInputWithTokens = react_1.default.forwardRef(TextInputWithTokensInnerComponent);
211
+ TextInputWithTokens.defaultProps = {
212
+ tokenComponent: Token_1.default,
213
+ size: 'extralarge',
214
+ hideTokenRemoveButtons: false,
215
+ preventTokenWrapping: false
216
+ };
217
+ TextInputWithTokens.displayName = 'TextInputWithTokens';
218
+ exports.default = TextInputWithTokens;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useColorSchemeVar = exports.useTheme = exports.ThemeProvider = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const styled_components_1 = require("styled-components");
9
+ const theme_1 = __importDefault(require("./theme"));
10
+ const deepmerge_1 = __importDefault(require("deepmerge"));
11
+ const defaultColorMode = 'day';
12
+ const defaultDayScheme = 'light';
13
+ const defaultNightScheme = 'dark';
14
+ const ThemeContext = react_1.default.createContext({
15
+ setColorMode: () => null,
16
+ setDayScheme: () => null,
17
+ setNightScheme: () => null
18
+ });
19
+ const ThemeProvider = ({ children, ...props }) => {
20
+ // Get fallback values from parent ThemeProvider (if exists)
21
+ const { theme: fallbackTheme, colorMode: fallbackColorMode, dayScheme: fallbackDayScheme, nightScheme: fallbackNightScheme } = useTheme();
22
+ // Initialize state
23
+ const theme = props.theme ?? fallbackTheme ?? theme_1.default;
24
+ const [colorMode, setColorMode] = react_1.default.useState(props.colorMode ?? fallbackColorMode ?? defaultColorMode);
25
+ const [dayScheme, setDayScheme] = react_1.default.useState(props.dayScheme ?? fallbackDayScheme ?? defaultDayScheme);
26
+ const [nightScheme, setNightScheme] = react_1.default.useState(props.nightScheme ?? fallbackNightScheme ?? defaultNightScheme);
27
+ const systemColorMode = useSystemColorMode();
28
+ const resolvedColorMode = resolveColorMode(colorMode, systemColorMode);
29
+ const colorScheme = chooseColorScheme(resolvedColorMode, dayScheme, nightScheme);
30
+ const resolvedTheme = react_1.default.useMemo(() => applyColorScheme(theme, colorScheme), [theme, colorScheme]);
31
+ // Update state if props change
32
+ react_1.default.useEffect(() => {
33
+ setColorMode(props.colorMode ?? fallbackColorMode ?? defaultColorMode);
34
+ }, [props.colorMode, fallbackColorMode]);
35
+ react_1.default.useEffect(() => {
36
+ setDayScheme(props.dayScheme ?? fallbackDayScheme ?? defaultDayScheme);
37
+ }, [props.dayScheme, fallbackDayScheme]);
38
+ react_1.default.useEffect(() => {
39
+ setNightScheme(props.nightScheme ?? fallbackNightScheme ?? defaultNightScheme);
40
+ }, [props.nightScheme, fallbackNightScheme]);
41
+ return (<ThemeContext.Provider value={{
42
+ theme: resolvedTheme,
43
+ colorScheme,
44
+ colorMode,
45
+ resolvedColorMode,
46
+ dayScheme,
47
+ nightScheme,
48
+ setColorMode,
49
+ setDayScheme,
50
+ setNightScheme
51
+ }}>
52
+ <styled_components_1.ThemeProvider theme={resolvedTheme}>{children}</styled_components_1.ThemeProvider>
53
+ </ThemeContext.Provider>);
54
+ };
55
+ exports.ThemeProvider = ThemeProvider;
56
+ function useTheme() {
57
+ return react_1.default.useContext(ThemeContext);
58
+ }
59
+ exports.useTheme = useTheme;
60
+ function useColorSchemeVar(values, fallback) {
61
+ const { colorScheme = '' } = useTheme();
62
+ return values[colorScheme] ?? fallback;
63
+ }
64
+ exports.useColorSchemeVar = useColorSchemeVar;
65
+ function useSystemColorMode() {
66
+ const [systemColorMode, setSystemColorMode] = react_1.default.useState(getSystemColorMode);
67
+ react_1.default.useEffect(() => {
68
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
69
+ const media = window?.matchMedia?.('(prefers-color-scheme: dark)');
70
+ function handleChange(event) {
71
+ const isNight = event.matches;
72
+ setSystemColorMode(isNight ? 'night' : 'day');
73
+ }
74
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
75
+ if (media) {
76
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
77
+ if (media.addEventListener !== undefined) {
78
+ media.addEventListener('change', handleChange);
79
+ return function cleanup() {
80
+ media.removeEventListener('change', handleChange);
81
+ };
82
+ }
83
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
84
+ else if (media.addListener !== undefined) {
85
+ media.addListener(handleChange);
86
+ return function cleanup() {
87
+ media.removeListener(handleChange);
88
+ };
89
+ }
90
+ }
91
+ }, []);
92
+ return systemColorMode;
93
+ }
94
+ function getSystemColorMode() {
95
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
96
+ if (typeof window !== 'undefined' && window.matchMedia?.('(prefers-color-scheme: dark)')?.matches) {
97
+ return 'night';
98
+ }
99
+ return 'day';
100
+ }
101
+ function resolveColorMode(colorMode, systemColorMode) {
102
+ switch (colorMode) {
103
+ case 'auto':
104
+ return systemColorMode;
105
+ default:
106
+ return colorMode;
107
+ }
108
+ }
109
+ function chooseColorScheme(colorMode, dayScheme, nightScheme) {
110
+ switch (colorMode) {
111
+ case 'day':
112
+ return dayScheme;
113
+ case 'night':
114
+ return nightScheme;
115
+ }
116
+ }
117
+ function applyColorScheme(theme, colorScheme) {
118
+ if (!theme.colorSchemes) {
119
+ return theme;
120
+ }
121
+ if (!theme.colorSchemes[colorScheme]) {
122
+ // eslint-disable-next-line no-console
123
+ console.error(`\`${colorScheme}\` scheme not defined in \`theme.colorSchemes\``);
124
+ // Apply the first defined color scheme
125
+ const defaultColorScheme = Object.keys(theme.colorSchemes)[0];
126
+ return deepmerge_1.default(theme, theme.colorSchemes[defaultColorScheme]);
127
+ }
128
+ return deepmerge_1.default(theme, theme.colorSchemes[colorScheme]);
129
+ }
130
+ exports.default = exports.ThemeProvider;