@primer/components 0.0.0-202110303104 → 0.0.0-2021103082237

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 (435) hide show
  1. package/CHANGELOG.md +90 -4
  2. package/dist/browser.esm.js +738 -779
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +736 -777
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Item.js +27 -52
  7. package/lib/ActionList/index.js +23 -12
  8. package/lib/ActionList2/Group.d.ts +28 -2
  9. package/lib/ActionList2/Group.js +55 -6
  10. package/lib/ActionList2/List.d.ts +1 -1
  11. package/lib/ActionList2/List.js +1 -2
  12. package/lib/ActionList2/index.js +41 -23
  13. package/lib/AnchoredOverlay/index.js +12 -4
  14. package/lib/Autocomplete/Autocomplete.d.ts +11 -3
  15. package/lib/Autocomplete/AutocompleteInput.d.ts +11 -3
  16. package/lib/Autocomplete/index.js +14 -7
  17. package/lib/Breadcrumbs.d.ts +8 -7
  18. package/lib/Breadcrumbs.js +7 -12
  19. package/lib/Button/Button.d.ts +2 -3
  20. package/lib/Button/Button.js +2 -6
  21. package/lib/Button/ButtonBase.d.ts +5 -8
  22. package/lib/Button/ButtonBase.js +1 -5
  23. package/lib/Button/ButtonClose.d.ts +3 -46
  24. package/lib/Button/ButtonClose.js +1 -1
  25. package/lib/Button/ButtonDanger.d.ts +2 -3
  26. package/lib/Button/ButtonDanger.js +2 -6
  27. package/lib/Button/ButtonInvisible.d.ts +2 -3
  28. package/lib/Button/ButtonInvisible.js +2 -6
  29. package/lib/Button/ButtonOutline.d.ts +2 -3
  30. package/lib/Button/ButtonOutline.js +2 -6
  31. package/lib/Button/ButtonPrimary.d.ts +2 -3
  32. package/lib/Button/ButtonPrimary.js +2 -6
  33. package/lib/Button/ButtonTableList.d.ts +1 -2
  34. package/lib/Button/ButtonTableList.js +1 -1
  35. package/lib/Button/index.js +70 -21
  36. package/lib/Checkbox.d.ts +29 -0
  37. package/lib/Checkbox.js +64 -0
  38. package/lib/CircleBadge.d.ts +4 -5
  39. package/lib/CircleBadge.js +1 -1
  40. package/lib/CircleOcticon.d.ts +1 -1
  41. package/lib/CounterLabel.d.ts +1 -2
  42. package/lib/CounterLabel.js +1 -1
  43. package/lib/Dialog/Dialog.d.ts +5 -9
  44. package/lib/Dialog/Dialog.js +17 -11
  45. package/lib/Dialog.d.ts +4 -5
  46. package/lib/Dialog.js +1 -1
  47. package/lib/Dropdown.d.ts +10 -99
  48. package/lib/Dropdown.js +3 -3
  49. package/lib/DropdownMenu/DropdownButton.d.ts +3 -47
  50. package/lib/DropdownMenu/DropdownButton.js +3 -1
  51. package/lib/DropdownMenu/index.js +20 -6
  52. package/lib/DropdownStyles.js +26 -18
  53. package/lib/FilterList.d.ts +264 -303
  54. package/lib/FilterList.js +2 -6
  55. package/lib/FilteredActionList/index.js +12 -4
  56. package/lib/FilteredSearch.d.ts +1 -2
  57. package/lib/FilteredSearch.js +1 -1
  58. package/lib/Flash.d.ts +1 -2
  59. package/lib/Flash.js +1 -1
  60. package/lib/FormGroup.d.ts +4 -5
  61. package/lib/FormGroup.js +2 -2
  62. package/lib/Header.d.ts +6 -7
  63. package/lib/Header.js +4 -4
  64. package/lib/Label.d.ts +1 -2
  65. package/lib/Label.js +2 -3
  66. package/lib/LabelGroup.d.ts +1 -2
  67. package/lib/LabelGroup.js +1 -1
  68. package/lib/Link.d.ts +1 -2
  69. package/lib/Link.js +1 -1
  70. package/lib/NewButton/button.js +34 -42
  71. package/lib/NewButton/index.js +12 -5
  72. package/lib/NewButton/types.js +1 -2
  73. package/lib/Overlay.d.ts +14 -11
  74. package/lib/Overlay.js +3 -4
  75. package/lib/Pagehead.d.ts +1 -2
  76. package/lib/Pagehead.js +1 -1
  77. package/lib/Pagination/Pagination.js +1 -1
  78. package/lib/Pagination/index.js +12 -6
  79. package/lib/Popover.d.ts +4 -5
  80. package/lib/Popover.js +4 -5
  81. package/lib/Portal/index.js +16 -5
  82. package/lib/Position.d.ts +4 -4
  83. package/lib/SelectMenu/SelectMenu.d.ts +29 -189
  84. package/lib/SelectMenu/SelectMenu.js +1 -3
  85. package/lib/SelectMenu/SelectMenuDivider.d.ts +1 -2
  86. package/lib/SelectMenu/SelectMenuDivider.js +1 -1
  87. package/lib/SelectMenu/SelectMenuFilter.js +1 -1
  88. package/lib/SelectMenu/SelectMenuFooter.d.ts +1 -2
  89. package/lib/SelectMenu/SelectMenuFooter.js +1 -1
  90. package/lib/SelectMenu/SelectMenuHeader.d.ts +1 -2
  91. package/lib/SelectMenu/SelectMenuHeader.js +1 -1
  92. package/lib/SelectMenu/SelectMenuItem.d.ts +2 -3
  93. package/lib/SelectMenu/SelectMenuItem.js +1 -1
  94. package/lib/SelectMenu/SelectMenuList.d.ts +1 -2
  95. package/lib/SelectMenu/SelectMenuList.js +1 -1
  96. package/lib/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  97. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +3 -1
  98. package/lib/SelectMenu/SelectMenuModal.d.ts +2 -3
  99. package/lib/SelectMenu/SelectMenuModal.js +1 -1
  100. package/lib/SelectMenu/SelectMenuTab.d.ts +1 -2
  101. package/lib/SelectMenu/SelectMenuTab.js +1 -1
  102. package/lib/SelectMenu/SelectMenuTabPanel.d.ts +1 -2
  103. package/lib/SelectMenu/SelectMenuTabPanel.js +1 -1
  104. package/lib/SelectMenu/SelectMenuTabs.d.ts +1 -2
  105. package/lib/SelectMenu/SelectMenuTabs.js +1 -1
  106. package/lib/SelectMenu/hooks/useKeyboardNav.js +96 -80
  107. package/lib/SelectMenu/index.js +14 -7
  108. package/lib/SelectPanel/index.js +12 -4
  109. package/lib/SideNav.d.ts +11 -8
  110. package/lib/SideNav.js +8 -15
  111. package/lib/StateLabel.d.ts +1 -2
  112. package/lib/StateLabel.js +6 -5
  113. package/lib/StyledOcticon.d.ts +1 -2
  114. package/lib/StyledOcticon.js +1 -3
  115. package/lib/SubNav.d.ts +5 -11
  116. package/lib/SubNav.js +7 -12
  117. package/lib/TabNav.d.ts +3 -4
  118. package/lib/TabNav.js +2 -2
  119. package/lib/TextInput.d.ts +8 -1
  120. package/lib/TextInput.js +17 -5
  121. package/lib/TextInputWithTokens.d.ts +11 -3
  122. package/lib/Timeline.d.ts +19 -393
  123. package/lib/Timeline.js +16 -13
  124. package/lib/Token/Token.d.ts +1 -1
  125. package/lib/Token/index.js +30 -11
  126. package/lib/Tooltip.d.ts +1 -2
  127. package/lib/Tooltip.js +1 -1
  128. package/lib/Truncate.d.ts +1 -2
  129. package/lib/Truncate.js +1 -3
  130. package/lib/UnderlineNav.d.ts +2 -3
  131. package/lib/UnderlineNav.js +2 -2
  132. package/lib/_TextInputWrapper.d.ts +3 -0
  133. package/lib/_TextInputWrapper.js +18 -7
  134. package/lib/behaviors/anchoredPosition.js +234 -205
  135. package/lib/behaviors/focusTrap.js +157 -121
  136. package/lib/behaviors/focusZone.js +509 -434
  137. package/lib/behaviors/scrollIntoViewingArea.js +35 -18
  138. package/lib/constants.js +43 -39
  139. package/lib/drafts.js +30 -20
  140. package/lib/hooks/index.js +60 -16
  141. package/lib/hooks/useAnchoredPosition.js +40 -32
  142. package/lib/hooks/useCombinedRefs.js +36 -32
  143. package/lib/hooks/useDialog.js +96 -72
  144. package/lib/hooks/useFocusTrap.js +60 -43
  145. package/lib/hooks/useFocusZone.js +50 -54
  146. package/lib/hooks/useOnEscapePress.js +36 -25
  147. package/lib/hooks/useOpenAndCloseFocus.js +34 -22
  148. package/lib/hooks/useProvidedRefOrCreate.js +14 -10
  149. package/lib/hooks/useProvidedStateOrCreate.js +16 -13
  150. package/lib/hooks/useRenderForcingRef.js +17 -13
  151. package/lib/hooks/useResizeObserver.js +18 -15
  152. package/lib/hooks/useSafeTimeout.js +30 -22
  153. package/lib/hooks/useScrollFlash.js +23 -16
  154. package/lib/index.d.ts +2 -2
  155. package/lib/index.js +652 -165
  156. package/lib/polyfills/eventListenerSignal.js +45 -37
  157. package/lib/sx.js +22 -10
  158. package/lib/theme-preval.js +3169 -64
  159. package/lib/theme.js +12 -3
  160. package/lib/utils/iterateFocusableElements.js +85 -63
  161. package/lib/utils/testing.d.ts +28 -61
  162. package/lib/utils/testing.js +29 -0
  163. package/lib/utils/theme.js +47 -33
  164. package/lib/utils/types/AriaRole.js +1 -2
  165. package/lib/utils/types/ComponentProps.js +1 -2
  166. package/lib/utils/types/Flatten.js +1 -2
  167. package/lib/utils/types/KeyPaths.js +1 -2
  168. package/lib/utils/types/MandateProps.js +1 -16
  169. package/lib/utils/types/Merge.js +1 -2
  170. package/lib/utils/types/index.js +69 -16
  171. package/lib/utils/uniqueId.js +8 -5
  172. package/lib/utils/use-force-update.js +14 -8
  173. package/lib/utils/useIsomorphicLayoutEffect.js +11 -8
  174. package/lib/utils/userAgent.js +12 -8
  175. package/lib-esm/ActionList/Item.js +28 -53
  176. package/lib-esm/ActionList2/Group.d.ts +28 -2
  177. package/lib-esm/ActionList2/Group.js +52 -5
  178. package/lib-esm/ActionList2/List.d.ts +1 -1
  179. package/lib-esm/ActionList2/List.js +1 -2
  180. package/lib-esm/Autocomplete/Autocomplete.d.ts +11 -3
  181. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +11 -3
  182. package/lib-esm/Breadcrumbs.d.ts +8 -7
  183. package/lib-esm/Breadcrumbs.js +8 -13
  184. package/lib-esm/Button/Button.d.ts +2 -3
  185. package/lib-esm/Button/Button.js +2 -2
  186. package/lib-esm/Button/ButtonBase.d.ts +5 -8
  187. package/lib-esm/Button/ButtonBase.js +1 -3
  188. package/lib-esm/Button/ButtonClose.d.ts +3 -46
  189. package/lib-esm/Button/ButtonClose.js +2 -2
  190. package/lib-esm/Button/ButtonDanger.d.ts +2 -3
  191. package/lib-esm/Button/ButtonDanger.js +2 -2
  192. package/lib-esm/Button/ButtonInvisible.d.ts +2 -3
  193. package/lib-esm/Button/ButtonInvisible.js +2 -2
  194. package/lib-esm/Button/ButtonOutline.d.ts +2 -3
  195. package/lib-esm/Button/ButtonOutline.js +2 -2
  196. package/lib-esm/Button/ButtonPrimary.d.ts +2 -3
  197. package/lib-esm/Button/ButtonPrimary.js +2 -2
  198. package/lib-esm/Button/ButtonTableList.d.ts +1 -2
  199. package/lib-esm/Button/ButtonTableList.js +2 -2
  200. package/lib-esm/Checkbox.d.ts +29 -0
  201. package/lib-esm/Checkbox.js +44 -0
  202. package/lib-esm/CircleBadge.d.ts +4 -5
  203. package/lib-esm/CircleBadge.js +2 -2
  204. package/lib-esm/CircleOcticon.d.ts +1 -1
  205. package/lib-esm/CounterLabel.d.ts +1 -2
  206. package/lib-esm/CounterLabel.js +2 -2
  207. package/lib-esm/Dialog/Dialog.d.ts +5 -9
  208. package/lib-esm/Dialog/Dialog.js +12 -12
  209. package/lib-esm/Dialog.d.ts +4 -5
  210. package/lib-esm/Dialog.js +2 -2
  211. package/lib-esm/Dropdown.d.ts +10 -99
  212. package/lib-esm/Dropdown.js +4 -4
  213. package/lib-esm/DropdownMenu/DropdownButton.d.ts +3 -47
  214. package/lib-esm/DropdownMenu/DropdownButton.js +3 -1
  215. package/lib-esm/FilterList.d.ts +264 -303
  216. package/lib-esm/FilterList.js +3 -7
  217. package/lib-esm/FilteredSearch.d.ts +1 -2
  218. package/lib-esm/FilteredSearch.js +2 -2
  219. package/lib-esm/Flash.d.ts +1 -2
  220. package/lib-esm/Flash.js +2 -2
  221. package/lib-esm/FormGroup.d.ts +4 -5
  222. package/lib-esm/FormGroup.js +3 -3
  223. package/lib-esm/Header.d.ts +6 -7
  224. package/lib-esm/Header.js +5 -5
  225. package/lib-esm/Label.d.ts +1 -2
  226. package/lib-esm/Label.js +3 -4
  227. package/lib-esm/LabelGroup.d.ts +1 -2
  228. package/lib-esm/LabelGroup.js +2 -2
  229. package/lib-esm/Link.d.ts +1 -2
  230. package/lib-esm/Link.js +2 -2
  231. package/lib-esm/NewButton/button.js +31 -42
  232. package/lib-esm/Overlay.d.ts +14 -11
  233. package/lib-esm/Overlay.js +2 -3
  234. package/lib-esm/Pagehead.d.ts +1 -2
  235. package/lib-esm/Pagehead.js +2 -2
  236. package/lib-esm/Pagination/Pagination.js +2 -2
  237. package/lib-esm/Popover.d.ts +4 -5
  238. package/lib-esm/Popover.js +4 -5
  239. package/lib-esm/Position.d.ts +4 -4
  240. package/lib-esm/SelectMenu/SelectMenu.d.ts +29 -189
  241. package/lib-esm/SelectMenu/SelectMenu.js +1 -2
  242. package/lib-esm/SelectMenu/SelectMenuDivider.d.ts +1 -2
  243. package/lib-esm/SelectMenu/SelectMenuDivider.js +2 -2
  244. package/lib-esm/SelectMenu/SelectMenuFilter.js +2 -2
  245. package/lib-esm/SelectMenu/SelectMenuFooter.d.ts +1 -2
  246. package/lib-esm/SelectMenu/SelectMenuFooter.js +2 -2
  247. package/lib-esm/SelectMenu/SelectMenuHeader.d.ts +1 -2
  248. package/lib-esm/SelectMenu/SelectMenuHeader.js +2 -2
  249. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +2 -3
  250. package/lib-esm/SelectMenu/SelectMenuItem.js +2 -2
  251. package/lib-esm/SelectMenu/SelectMenuList.d.ts +1 -2
  252. package/lib-esm/SelectMenu/SelectMenuList.js +2 -2
  253. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.d.ts +2 -2
  254. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +3 -2
  255. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +2 -3
  256. package/lib-esm/SelectMenu/SelectMenuModal.js +2 -2
  257. package/lib-esm/SelectMenu/SelectMenuTab.d.ts +1 -2
  258. package/lib-esm/SelectMenu/SelectMenuTab.js +2 -2
  259. package/lib-esm/SelectMenu/SelectMenuTabPanel.d.ts +1 -2
  260. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +2 -2
  261. package/lib-esm/SelectMenu/SelectMenuTabs.d.ts +1 -2
  262. package/lib-esm/SelectMenu/SelectMenuTabs.js +2 -2
  263. package/lib-esm/SideNav.d.ts +11 -8
  264. package/lib-esm/SideNav.js +8 -16
  265. package/lib-esm/StateLabel.d.ts +1 -2
  266. package/lib-esm/StateLabel.js +7 -6
  267. package/lib-esm/StyledOcticon.d.ts +1 -2
  268. package/lib-esm/StyledOcticon.js +1 -2
  269. package/lib-esm/SubNav.d.ts +5 -11
  270. package/lib-esm/SubNav.js +8 -13
  271. package/lib-esm/TabNav.d.ts +3 -4
  272. package/lib-esm/TabNav.js +3 -3
  273. package/lib-esm/TextInput.d.ts +8 -1
  274. package/lib-esm/TextInput.js +17 -5
  275. package/lib-esm/TextInputWithTokens.d.ts +11 -3
  276. package/lib-esm/Timeline.d.ts +19 -393
  277. package/lib-esm/Timeline.js +12 -13
  278. package/lib-esm/Token/Token.d.ts +1 -1
  279. package/lib-esm/Tooltip.d.ts +1 -2
  280. package/lib-esm/Tooltip.js +2 -2
  281. package/lib-esm/Truncate.d.ts +1 -2
  282. package/lib-esm/Truncate.js +1 -2
  283. package/lib-esm/UnderlineNav.d.ts +2 -3
  284. package/lib-esm/UnderlineNav.js +3 -3
  285. package/lib-esm/_TextInputWrapper.d.ts +3 -0
  286. package/lib-esm/_TextInputWrapper.js +18 -7
  287. package/lib-esm/index.d.ts +2 -2
  288. package/lib-esm/index.js +1 -1
  289. package/lib-esm/theme-preval.js +512 -366
  290. package/lib-esm/utils/testing.d.ts +28 -61
  291. package/lib-esm/utils/testing.js +24 -0
  292. package/package.json +5 -6
  293. package/lib/ActionList/Divider.jsx +0 -29
  294. package/lib/ActionList/Group.jsx +0 -23
  295. package/lib/ActionList/Header.jsx +0 -66
  296. package/lib/ActionList/Item.jsx +0 -311
  297. package/lib/ActionList/List.jsx +0 -138
  298. package/lib/ActionList2/Description.jsx +0 -29
  299. package/lib/ActionList2/Divider.jsx +0 -22
  300. package/lib/ActionList2/Group.jsx +0 -25
  301. package/lib/ActionList2/Header.jsx +0 -36
  302. package/lib/ActionList2/Item.jsx +0 -174
  303. package/lib/ActionList2/LinkItem.jsx +0 -28
  304. package/lib/ActionList2/List.jsx +0 -41
  305. package/lib/ActionList2/Selection.jsx +0 -50
  306. package/lib/ActionList2/Visuals.jsx +0 -48
  307. package/lib/ActionMenu.jsx +0 -73
  308. package/lib/AnchoredOverlay/AnchoredOverlay.jsx +0 -100
  309. package/lib/Autocomplete/Autocomplete.jsx +0 -100
  310. package/lib/Autocomplete/AutocompleteContext.jsx +0 -5
  311. package/lib/Autocomplete/AutocompleteInput.jsx +0 -113
  312. package/lib/Autocomplete/AutocompleteMenu.jsx +0 -190
  313. package/lib/Autocomplete/AutocompleteOverlay.jsx +0 -55
  314. package/lib/Avatar.jsx +0 -34
  315. package/lib/AvatarPair.jsx +0 -29
  316. package/lib/AvatarStack.jsx +0 -151
  317. package/lib/BaseStyles.jsx +0 -65
  318. package/lib/BorderBox.jsx +0 -18
  319. package/lib/Box.jsx +0 -10
  320. package/lib/BranchName.jsx +0 -20
  321. package/lib/Breadcrumbs.jsx +0 -74
  322. package/lib/Button/Button.jsx +0 -60
  323. package/lib/Button/ButtonBase.jsx +0 -36
  324. package/lib/Button/ButtonClose.jsx +0 -55
  325. package/lib/Button/ButtonDanger.jsx +0 -63
  326. package/lib/Button/ButtonGroup.jsx +0 -55
  327. package/lib/Button/ButtonInvisible.jsx +0 -52
  328. package/lib/Button/ButtonOutline.jsx +0 -63
  329. package/lib/Button/ButtonPrimary.jsx +0 -62
  330. package/lib/Button/ButtonStyles.jsx +0 -37
  331. package/lib/Button/ButtonTableList.jsx +0 -49
  332. package/lib/Caret.jsx +0 -93
  333. package/lib/CircleBadge.jsx +0 -43
  334. package/lib/CircleOcticon.jsx +0 -21
  335. package/lib/CounterLabel.jsx +0 -44
  336. package/lib/Details.jsx +0 -21
  337. package/lib/Dialog/ConfirmationDialog.jsx +0 -146
  338. package/lib/Dialog/Dialog.jsx +0 -273
  339. package/lib/Dialog.jsx +0 -131
  340. package/lib/Dropdown.jsx +0 -134
  341. package/lib/DropdownMenu/DropdownButton.jsx +0 -14
  342. package/lib/DropdownMenu/DropdownMenu.jsx +0 -70
  343. package/lib/EmojiPicker/EmojiPicker.d.ts +0 -15
  344. package/lib/EmojiPicker/EmojiPicker.js +0 -205
  345. package/lib/EmojiPicker/EmojiPicker.jsx +0 -125
  346. package/lib/EmojiPicker/EmojiPickerAnchor.d.ts +0 -0
  347. package/lib/EmojiPicker/EmojiPickerAnchor.js +0 -1
  348. package/lib/EmojiPicker/EmojiPickerAnchor.jsx +0 -1
  349. package/lib/EmojiPicker/EmojiPickerPanel.d.ts +0 -3
  350. package/lib/EmojiPicker/EmojiPickerPanel.js +0 -18
  351. package/lib/EmojiPicker/EmojiPickerPanel.jsx +0 -10
  352. package/lib/EmojiPicker/data.d.ts +0 -9
  353. package/lib/EmojiPicker/data.js +0 -7254
  354. package/lib/EmojiPicker/index.d.ts +0 -2
  355. package/lib/EmojiPicker/index.js +0 -8
  356. package/lib/FilterList.jsx +0 -63
  357. package/lib/FilteredActionList/FilteredActionList.jsx +0 -100
  358. package/lib/FilteredSearch.jsx +0 -29
  359. package/lib/Flash.jsx +0 -70
  360. package/lib/Flex.jsx +0 -15
  361. package/lib/FormGroup.jsx +0 -25
  362. package/lib/Grid.jsx +0 -15
  363. package/lib/Header.jsx +0 -90
  364. package/lib/Heading.jsx +0 -21
  365. package/lib/Label.jsx +0 -84
  366. package/lib/LabelGroup.jsx +0 -19
  367. package/lib/Link.jsx +0 -38
  368. package/lib/NewButton/button-counter.jsx +0 -14
  369. package/lib/NewButton/button.jsx +0 -278
  370. package/lib/Overlay.jsx +0 -156
  371. package/lib/Pagehead.jsx +0 -18
  372. package/lib/Pagination/Pagination.jsx +0 -163
  373. package/lib/Pagination/model.jsx +0 -174
  374. package/lib/PointerBox.jsx +0 -25
  375. package/lib/Popover.jsx +0 -210
  376. package/lib/Portal/Portal.jsx +0 -79
  377. package/lib/Position.jsx +0 -46
  378. package/lib/ProgressBar.jsx +0 -39
  379. package/lib/SelectMenu/SelectMenu.jsx +0 -114
  380. package/lib/SelectMenu/SelectMenuContext.jsx +0 -5
  381. package/lib/SelectMenu/SelectMenuDivider.jsx +0 -43
  382. package/lib/SelectMenu/SelectMenuFilter.jsx +0 -59
  383. package/lib/SelectMenu/SelectMenuFooter.jsx +0 -46
  384. package/lib/SelectMenu/SelectMenuHeader.jsx +0 -44
  385. package/lib/SelectMenu/SelectMenuItem.jsx +0 -143
  386. package/lib/SelectMenu/SelectMenuList.jsx +0 -60
  387. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +0 -21
  388. package/lib/SelectMenu/SelectMenuModal.jsx +0 -119
  389. package/lib/SelectMenu/SelectMenuTab.jsx +0 -93
  390. package/lib/SelectMenu/SelectMenuTabPanel.jsx +0 -43
  391. package/lib/SelectMenu/SelectMenuTabs.jsx +0 -58
  392. package/lib/SelectPanel/SelectPanel.jsx +0 -105
  393. package/lib/SideNav.jsx +0 -177
  394. package/lib/Spinner.jsx +0 -35
  395. package/lib/StateLabel.jsx +0 -94
  396. package/lib/StyledOcticon.jsx +0 -20
  397. package/lib/SubNav.jsx +0 -104
  398. package/lib/TabNav.jsx +0 -60
  399. package/lib/Text.jsx +0 -14
  400. package/lib/TextInput.jsx +0 -23
  401. package/lib/TextInputWithTokens.jsx +0 -218
  402. package/lib/ThemeProvider.jsx +0 -130
  403. package/lib/Timeline.jsx +0 -124
  404. package/lib/Token/AvatarToken.jsx +0 -54
  405. package/lib/Token/IssueLabelToken.jsx +0 -125
  406. package/lib/Token/Token.jsx +0 -103
  407. package/lib/Token/TokenBase.jsx +0 -88
  408. package/lib/Token/_RemoveTokenButton.jsx +0 -108
  409. package/lib/Token/_TokenTextContainer.jsx +0 -49
  410. package/lib/Tooltip.jsx +0 -246
  411. package/lib/Truncate.jsx +0 -27
  412. package/lib/UnderlineNav.jsx +0 -90
  413. package/lib/_TextInputWrapper.jsx +0 -120
  414. package/lib/_UnstyledTextInput.jsx +0 -22
  415. package/lib/hooks/useDetails.jsx +0 -39
  416. package/lib/hooks/useOnOutsideClick.jsx +0 -61
  417. package/lib/hooks/useOverlay.jsx +0 -15
  418. package/lib/utils/create-slots.jsx +0 -65
  419. package/lib/utils/deprecate.jsx +0 -59
  420. package/lib/utils/isNumeric.jsx +0 -7
  421. package/lib/utils/ssr.jsx +0 -6
  422. package/lib/utils/test-deprecations.jsx +0 -20
  423. package/lib/utils/test-helpers.jsx +0 -8
  424. package/lib/utils/test-matchers.jsx +0 -100
  425. package/lib/utils/testing.jsx +0 -206
  426. package/lib-esm/EmojiPicker/EmojiPicker.d.ts +0 -15
  427. package/lib-esm/EmojiPicker/EmojiPicker.js +0 -184
  428. package/lib-esm/EmojiPicker/EmojiPickerAnchor.d.ts +0 -0
  429. package/lib-esm/EmojiPicker/EmojiPickerAnchor.js +0 -0
  430. package/lib-esm/EmojiPicker/EmojiPickerPanel.d.ts +0 -3
  431. package/lib-esm/EmojiPicker/EmojiPickerPanel.js +0 -8
  432. package/lib-esm/EmojiPicker/data.d.ts +0 -9
  433. package/lib-esm/EmojiPicker/data.js +0 -5434
  434. package/lib-esm/EmojiPicker/index.d.ts +0 -2
  435. package/lib-esm/EmojiPicker/index.js +0 -1
package/lib/TabNav.jsx DELETED
@@ -1,60 +0,0 @@
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
- const classnames_1 = __importDefault(require("classnames"));
7
- const react_1 = __importDefault(require("react"));
8
- const styled_components_1 = __importDefault(require("styled-components"));
9
- const constants_1 = require("./constants");
10
- const sx_1 = __importDefault(require("./sx"));
11
- const ITEM_CLASS = 'TabNav-item';
12
- const SELECTED_CLASS = 'selected';
13
- const TabNavBase = styled_components_1.default.div `
14
- margin-top: 0;
15
- border-bottom: 1px solid ${constants_1.get('colors.border.default')};
16
- ${constants_1.COMMON}
17
- ${sx_1.default}
18
- `;
19
- const TabNavBody = styled_components_1.default.nav `
20
- display: flex;
21
- margin-bottom: -1px;
22
- overflow: auto;
23
- `;
24
- function TabNav({ children, 'aria-label': ariaLabel, ...rest }) {
25
- return (<TabNavBase {...rest}>
26
- <TabNavBody aria-label={ariaLabel}>{children}</TabNavBody>
27
- </TabNavBase>);
28
- }
29
- const TabNavLink = styled_components_1.default.a.attrs(props => ({
30
- activeClassName: typeof props.to === 'string' ? 'selected' : '',
31
- className: classnames_1.default(ITEM_CLASS, props.selected && SELECTED_CLASS, props.className)
32
- })) `
33
- padding: 8px 12px;
34
- font-size: ${constants_1.get('fontSizes.1')};
35
- line-height: 20px;
36
- color: ${constants_1.get('colors.fg.default')};
37
- text-decoration: none;
38
- background-color: transparent;
39
- border: 1px solid transparent;
40
- border-bottom: 0;
41
-
42
- &:hover,
43
- &:focus {
44
- color: ${constants_1.get('colors.fg.default')};
45
- text-decoration: none;
46
- }
47
-
48
- &.selected {
49
- color: ${constants_1.get('colors.fg.default')};
50
- border-color: ${constants_1.get('colors.border.default')};
51
- border-top-right-radius: ${constants_1.get('radii.2')};
52
- border-top-left-radius: ${constants_1.get('radii.2')};
53
- background-color: ${constants_1.get('colors.canvas.default')};
54
- }
55
-
56
- ${constants_1.COMMON};
57
- ${sx_1.default};
58
- `;
59
- TabNavLink.displayName = 'TabNav.Link';
60
- exports.default = Object.assign(TabNav, { Link: TabNavLink });
package/lib/Text.jsx DELETED
@@ -1,14 +0,0 @@
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
- const styled_components_1 = __importDefault(require("styled-components"));
7
- const constants_1 = require("./constants");
8
- const sx_1 = __importDefault(require("./sx"));
9
- const Text = styled_components_1.default.span `
10
- ${constants_1.TYPOGRAPHY};
11
- ${constants_1.COMMON};
12
- ${sx_1.default};
13
- `;
14
- exports.default = Text;
package/lib/TextInput.jsx DELETED
@@ -1,23 +0,0 @@
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
- const classnames_1 = __importDefault(require("classnames"));
7
- const react_1 = __importDefault(require("react"));
8
- const _UnstyledTextInput_1 = __importDefault(require("./_UnstyledTextInput"));
9
- const _TextInputWrapper_1 = __importDefault(require("./_TextInputWrapper"));
10
- // using forwardRef is important so that other components (ex. SelectMenu) can autofocus the input
11
- const TextInput = react_1.default.forwardRef(({ icon: IconComponent, block, className, contrast, disabled, sx: sxProp, theme, width: widthProp, minWidth: minWidthProp, maxWidth: maxWidthProp, variant: variantProp, ...inputProps }, ref) => {
12
- // this class is necessary to style FilterSearch, plz no touchy!
13
- const wrapperClasses = classnames_1.default(className, 'TextInput-wrapper');
14
- return (<_TextInputWrapper_1.default block={block} className={wrapperClasses} contrast={contrast} disabled={disabled} hasIcon={!!IconComponent} sx={sxProp} theme={theme} width={widthProp} minWidth={minWidthProp} maxWidth={maxWidthProp} variant={variantProp}>
15
- {IconComponent && <IconComponent className="TextInput-icon"/>}
16
- <_UnstyledTextInput_1.default ref={ref} disabled={disabled} {...inputProps}/>
17
- </_TextInputWrapper_1.default>);
18
- });
19
- TextInput.defaultProps = {
20
- type: 'text'
21
- };
22
- TextInput.displayName = 'TextInput';
23
- exports.default = TextInput;
@@ -1,218 +0,0 @@
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;
@@ -1,130 +0,0 @@
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;
package/lib/Timeline.jsx DELETED
@@ -1,124 +0,0 @@
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 classnames_1 = __importDefault(require("classnames"));
26
- const react_1 = __importDefault(require("react"));
27
- const styled_components_1 = __importStar(require("styled-components"));
28
- const Box_1 = __importDefault(require("./Box"));
29
- const constants_1 = require("./constants");
30
- const sx_1 = __importDefault(require("./sx"));
31
- const Timeline = styled_components_1.default(Box_1.default) `
32
- display: flex;
33
- flex-direction: column;
34
- ${props => props.clipSidebar &&
35
- styled_components_1.css `
36
- .Timeline-Item:first-child {
37
- padding-top: 0;
38
- }
39
-
40
- .Timeline-Item:last-child {
41
- padding-bottom: 0;
42
- }
43
- `}
44
-
45
- ${sx_1.default};
46
- `;
47
- const TimelineItem = styled_components_1.default(Box_1.default).attrs(props => ({
48
- className: classnames_1.default('Timeline-Item', props.className)
49
- })) `
50
- display: flex;
51
- position: relative;
52
- padding: ${constants_1.get('space.3')} 0;
53
- margin-left: ${constants_1.get('space.3')};
54
-
55
- &::before {
56
- position: absolute;
57
- top: 0;
58
- bottom: 0;
59
- left: 0;
60
- display: block;
61
- width: 2px;
62
- content: '';
63
- background-color: ${constants_1.get('colors.border.muted')};
64
- }
65
-
66
- ${props => props.condensed &&
67
- styled_components_1.css `
68
- padding-top: ${constants_1.get('space.1')};
69
- padding-bottom: 0;
70
- &:last-child {
71
- padding-bottom: ${constants_1.get('space.3')};
72
- }
73
-
74
- .TimelineItem-Badge {
75
- height: 16px;
76
- margin-top: ${constants_1.get('space.2')};
77
- margin-bottom: ${constants_1.get('space.2')};
78
- color: ${constants_1.get('colors.fg.muted')};
79
- background-color: ${constants_1.get('colors.canvas.default')};
80
- border: 0;
81
- }
82
- `}
83
-
84
- ${constants_1.COMMON};
85
- ${sx_1.default};
86
- `;
87
- const TimelineBadge = (props) => {
88
- return (<Box_1.default position="relative" zIndex={1}>
89
- <Box_1.default display="flex" className={classnames_1.default(props.className, 'TimelineItem-Badge')} flexShrink={0} borderRadius="50%" borderWidth="2px" borderStyle="solid" borderColor="canvas.default" overflow="hidden" color="fg.muted" bg="timeline.badgeBg" width="32px" height="32px" mr={2} ml="-15px" alignItems="center" justifyContent="center" {...props}>
90
- {props.children}
91
- </Box_1.default>
92
- </Box_1.default>);
93
- };
94
- const TimelineBody = styled_components_1.default(Box_1.default) `
95
- min-width: 0;
96
- max-width: 100%;
97
- margin-top: ${constants_1.get('space.1')};
98
- color: ${constants_1.get('colors.fg.muted')};
99
- flex: auto;
100
- font-size: ${constants_1.get('fontSizes.1')};
101
- ${sx_1.default};
102
- `;
103
- const TimelineBreak = styled_components_1.default(Box_1.default) `
104
- position: relative
105
- z-index: 1;
106
- height: 24px;
107
- margin: 0;
108
- margin-bottom: -${constants_1.get('space.3')};
109
- margin-left: 0;
110
- background-color: ${constants_1.get('colors.canvas.default')};
111
- border: 0;
112
- border-top: ${constants_1.get('space.1')} solid ${constants_1.get('colors.border.default')};
113
- ${sx_1.default};
114
- `;
115
- TimelineItem.displayName = 'Timeline.Item';
116
- TimelineBadge.displayName = 'Timeline.Badge';
117
- TimelineBody.displayName = 'Timeline.Body';
118
- TimelineBreak.displayName = 'Timeline.Break';
119
- exports.default = Object.assign(Timeline, {
120
- Item: TimelineItem,
121
- Badge: TimelineBadge,
122
- Body: TimelineBody,
123
- Break: TimelineBreak
124
- });
@@ -1,54 +0,0 @@
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 styled_components_1 = __importDefault(require("styled-components"));
27
- const constants_1 = require("../constants");
28
- const TokenBase_1 = require("./TokenBase");
29
- const Token_1 = __importDefault(require("./Token"));
30
- const __1 = require("..");
31
- const AvatarContainer = styled_components_1.default.span `
32
- // 'space.1' is used because to match space from the left of the token to the left of the avatar
33
- // '* 2' is done to account for the top and bottom
34
- --spacing: calc(${constants_1.get('space.1')} * 2);
35
-
36
- display: block;
37
- height: ${props => `calc(${TokenBase_1.tokenSizes[props.avatarSize]} - var(--spacing))`};
38
- width: ${props => `calc(${TokenBase_1.tokenSizes[props.avatarSize]} - var(--spacing))`};
39
- `;
40
- const AvatarToken = react_1.forwardRef(({ avatarSrc, id, size, ...rest }, forwardedRef) => {
41
- return (<Token_1.default leadingVisual={() => (<AvatarContainer avatarSize={size || TokenBase_1.defaultTokenSize}>
42
- <__1.Avatar src={avatarSrc} size={parseInt(TokenBase_1.tokenSizes[size || TokenBase_1.defaultTokenSize], 10)} sx={{
43
- width: '100%',
44
- height: '100%'
45
- }}/>
46
- </AvatarContainer>)} size={size} id={id?.toString()} sx={{
47
- paddingLeft: constants_1.get('space.1')
48
- }} {...rest} ref={forwardedRef}/>);
49
- });
50
- AvatarToken.defaultProps = {
51
- size: TokenBase_1.defaultTokenSize
52
- };
53
- AvatarToken.displayName = 'AvatarToken';
54
- exports.default = AvatarToken;