@primer/components 0.0.0-20211030163410 → 0.0.0-20211030175556

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 (318) hide show
  1. package/CHANGELOG.md +2 -28
  2. package/dist/browser.esm.js +591 -602
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +200 -211
  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 +3 -3
  10. package/lib/ActionList/Item.jsx +288 -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.jsx +22 -0
  15. package/lib/ActionList2/Group.jsx +54 -0
  16. package/lib/ActionList2/Header.d.ts +26 -0
  17. package/lib/ActionList2/Header.js +55 -0
  18. package/lib/ActionList2/Header.jsx +36 -0
  19. package/lib/ActionList2/Item.js +1 -3
  20. package/lib/ActionList2/Item.jsx +174 -0
  21. package/lib/ActionList2/LinkItem.jsx +28 -0
  22. package/lib/ActionList2/List.js +2 -1
  23. package/lib/ActionList2/List.jsx +41 -0
  24. package/lib/ActionList2/Selection.js +1 -3
  25. package/lib/ActionList2/Selection.jsx +50 -0
  26. package/lib/ActionList2/Visuals.jsx +48 -0
  27. package/lib/ActionList2/index.js +23 -41
  28. package/lib/ActionMenu.jsx +73 -0
  29. package/lib/AnchoredOverlay/AnchoredOverlay.jsx +100 -0
  30. package/lib/AnchoredOverlay/index.js +4 -12
  31. package/lib/Autocomplete/Autocomplete.d.ts +0 -1
  32. package/lib/Autocomplete/Autocomplete.jsx +100 -0
  33. package/lib/Autocomplete/AutocompleteContext.jsx +5 -0
  34. package/lib/Autocomplete/AutocompleteInput.d.ts +0 -1
  35. package/lib/Autocomplete/AutocompleteInput.jsx +113 -0
  36. package/lib/Autocomplete/AutocompleteMenu.js +13 -6
  37. package/lib/Autocomplete/AutocompleteMenu.jsx +190 -0
  38. package/lib/Autocomplete/AutocompleteOverlay.jsx +55 -0
  39. package/lib/Autocomplete/index.js +7 -14
  40. package/lib/Avatar.jsx +34 -0
  41. package/lib/AvatarPair.jsx +29 -0
  42. package/lib/AvatarStack.jsx +151 -0
  43. package/lib/BaseStyles.jsx +65 -0
  44. package/lib/BorderBox.jsx +18 -0
  45. package/lib/Box.jsx +10 -0
  46. package/lib/BranchName.jsx +20 -0
  47. package/lib/Breadcrumbs.jsx +71 -0
  48. package/lib/Button/Button.d.ts +0 -1
  49. package/lib/Button/Button.jsx +40 -0
  50. package/lib/Button/ButtonBase.jsx +33 -0
  51. package/lib/Button/ButtonClose.d.ts +1 -2
  52. package/lib/Button/ButtonClose.jsx +53 -0
  53. package/lib/Button/ButtonDanger.d.ts +0 -1
  54. package/lib/Button/ButtonDanger.jsx +43 -0
  55. package/lib/Button/ButtonGroup.jsx +55 -0
  56. package/lib/Button/ButtonInvisible.d.ts +0 -1
  57. package/lib/Button/ButtonInvisible.jsx +32 -0
  58. package/lib/Button/ButtonOutline.d.ts +0 -1
  59. package/lib/Button/ButtonOutline.jsx +43 -0
  60. package/lib/Button/ButtonPrimary.d.ts +0 -1
  61. package/lib/Button/ButtonPrimary.jsx +42 -0
  62. package/lib/Button/ButtonStyles.jsx +37 -0
  63. package/lib/Button/ButtonTableList.jsx +46 -0
  64. package/lib/Button/index.js +21 -70
  65. package/lib/Caret.jsx +93 -0
  66. package/lib/CircleBadge.jsx +42 -0
  67. package/lib/CircleOcticon.d.ts +0 -1
  68. package/lib/CircleOcticon.jsx +21 -0
  69. package/lib/CounterLabel.jsx +43 -0
  70. package/lib/Details.jsx +21 -0
  71. package/lib/Dialog/ConfirmationDialog.jsx +146 -0
  72. package/lib/Dialog/Dialog.jsx +279 -0
  73. package/lib/Dialog.d.ts +2 -3
  74. package/lib/Dialog.jsx +129 -0
  75. package/lib/Dropdown.d.ts +0 -4
  76. package/lib/Dropdown.jsx +131 -0
  77. package/lib/DropdownMenu/DropdownButton.d.ts +1 -2
  78. package/lib/DropdownMenu/DropdownButton.jsx +14 -0
  79. package/lib/DropdownMenu/DropdownMenu.jsx +70 -0
  80. package/lib/DropdownMenu/index.js +6 -20
  81. package/lib/DropdownStyles.js +18 -26
  82. package/lib/FilterList.d.ts +0 -1
  83. package/lib/FilterList.jsx +59 -0
  84. package/lib/FilteredActionList/FilteredActionList.jsx +100 -0
  85. package/lib/FilteredActionList/index.js +4 -12
  86. package/lib/FilteredSearch.jsx +28 -0
  87. package/lib/Flash.jsx +69 -0
  88. package/lib/Flex.jsx +15 -0
  89. package/lib/FormGroup.jsx +22 -0
  90. package/lib/Grid.jsx +15 -0
  91. package/lib/Header.jsx +83 -0
  92. package/lib/Heading.jsx +21 -0
  93. package/lib/Label.jsx +82 -0
  94. package/lib/LabelGroup.jsx +18 -0
  95. package/lib/Link.jsx +36 -0
  96. package/lib/NewButton/button-counter.jsx +14 -0
  97. package/lib/NewButton/button.jsx +279 -0
  98. package/lib/NewButton/index.js +5 -12
  99. package/lib/NewButton/types.js +2 -1
  100. package/lib/Overlay.d.ts +3 -5
  101. package/lib/Overlay.jsx +154 -0
  102. package/lib/Pagehead.jsx +17 -0
  103. package/lib/Pagination/Pagination.jsx +161 -0
  104. package/lib/Pagination/index.js +6 -12
  105. package/lib/Pagination/model.jsx +174 -0
  106. package/lib/PointerBox.jsx +25 -0
  107. package/lib/Popover.jsx +202 -0
  108. package/lib/Portal/Portal.jsx +79 -0
  109. package/lib/Portal/index.js +5 -16
  110. package/lib/Position.d.ts +4 -4
  111. package/lib/Position.jsx +46 -0
  112. package/lib/ProgressBar.jsx +39 -0
  113. package/lib/SelectMenu/SelectMenu.d.ts +4 -10
  114. package/lib/SelectMenu/SelectMenu.jsx +112 -0
  115. package/lib/SelectMenu/SelectMenuContext.jsx +5 -0
  116. package/lib/SelectMenu/SelectMenuDivider.jsx +42 -0
  117. package/lib/SelectMenu/SelectMenuFilter.jsx +58 -0
  118. package/lib/SelectMenu/SelectMenuFooter.jsx +45 -0
  119. package/lib/SelectMenu/SelectMenuHeader.jsx +42 -0
  120. package/lib/SelectMenu/SelectMenuItem.d.ts +1 -1
  121. package/lib/SelectMenu/SelectMenuItem.jsx +142 -0
  122. package/lib/SelectMenu/SelectMenuList.jsx +59 -0
  123. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +22 -0
  124. package/lib/SelectMenu/SelectMenuModal.d.ts +1 -1
  125. package/lib/SelectMenu/SelectMenuModal.jsx +118 -0
  126. package/lib/SelectMenu/SelectMenuTab.jsx +92 -0
  127. package/lib/SelectMenu/SelectMenuTabPanel.jsx +42 -0
  128. package/lib/SelectMenu/SelectMenuTabs.jsx +57 -0
  129. package/lib/SelectMenu/hooks/useKeyboardNav.js +80 -96
  130. package/lib/SelectMenu/index.js +7 -14
  131. package/lib/SelectPanel/SelectPanel.jsx +105 -0
  132. package/lib/SelectPanel/index.js +4 -12
  133. package/lib/SideNav.jsx +173 -0
  134. package/lib/Spinner.jsx +35 -0
  135. package/lib/StateLabel.jsx +93 -0
  136. package/lib/StyledOcticon.jsx +18 -0
  137. package/lib/SubNav.jsx +101 -0
  138. package/lib/TabNav.jsx +58 -0
  139. package/lib/Text.jsx +14 -0
  140. package/lib/TextInput.jsx +23 -0
  141. package/lib/TextInputWithTokens.d.ts +0 -1
  142. package/lib/TextInputWithTokens.jsx +218 -0
  143. package/lib/ThemeProvider.jsx +130 -0
  144. package/lib/Timeline.jsx +123 -0
  145. package/lib/Token/AvatarToken.d.ts +1 -1
  146. package/lib/Token/AvatarToken.jsx +54 -0
  147. package/lib/Token/IssueLabelToken.d.ts +1 -1
  148. package/lib/Token/IssueLabelToken.jsx +125 -0
  149. package/lib/Token/Token.d.ts +1 -1
  150. package/lib/Token/Token.jsx +103 -0
  151. package/lib/Token/TokenBase.jsx +88 -0
  152. package/lib/Token/_RemoveTokenButton.jsx +108 -0
  153. package/lib/Token/_TokenTextContainer.jsx +49 -0
  154. package/lib/Token/index.js +11 -30
  155. package/lib/Tooltip.jsx +246 -0
  156. package/lib/Truncate.jsx +24 -0
  157. package/lib/UnderlineNav.jsx +88 -0
  158. package/lib/_TextInputWrapper.jsx +120 -0
  159. package/lib/_UnstyledTextInput.jsx +22 -0
  160. package/lib/behaviors/anchoredPosition.js +205 -234
  161. package/lib/behaviors/focusTrap.js +121 -157
  162. package/lib/behaviors/focusZone.js +434 -509
  163. package/lib/behaviors/scrollIntoViewingArea.js +18 -35
  164. package/lib/constants.js +39 -43
  165. package/lib/drafts.js +20 -30
  166. package/lib/hooks/index.js +16 -60
  167. package/lib/hooks/useAnchoredPosition.js +32 -40
  168. package/lib/hooks/useCombinedRefs.js +32 -36
  169. package/lib/hooks/useDetails.jsx +39 -0
  170. package/lib/hooks/useDialog.js +72 -96
  171. package/lib/hooks/useFocusTrap.js +43 -60
  172. package/lib/hooks/useFocusZone.js +54 -50
  173. package/lib/hooks/useOnEscapePress.js +25 -36
  174. package/lib/hooks/useOnOutsideClick.jsx +61 -0
  175. package/lib/hooks/useOpenAndCloseFocus.js +22 -34
  176. package/lib/hooks/useOverlay.jsx +15 -0
  177. package/lib/hooks/useProvidedRefOrCreate.js +10 -14
  178. package/lib/hooks/useProvidedStateOrCreate.js +13 -16
  179. package/lib/hooks/useRenderForcingRef.js +13 -17
  180. package/lib/hooks/useResizeObserver.js +15 -18
  181. package/lib/hooks/useSafeTimeout.js +22 -30
  182. package/lib/hooks/useScrollFlash.js +16 -23
  183. package/lib/index.d.ts +0 -5
  184. package/lib/index.js +163 -676
  185. package/lib/polyfills/eventListenerSignal.js +37 -45
  186. package/lib/sx.js +10 -22
  187. package/lib/theme-preval.js +64 -3169
  188. package/lib/theme.js +3 -12
  189. package/lib/utils/create-slots.jsx +65 -0
  190. package/lib/utils/deprecate.jsx +59 -0
  191. package/lib/utils/isNumeric.jsx +7 -0
  192. package/lib/utils/iterateFocusableElements.js +63 -85
  193. package/lib/utils/ssr.jsx +6 -0
  194. package/lib/utils/test-deprecations.jsx +20 -0
  195. package/lib/utils/test-helpers.jsx +8 -0
  196. package/lib/utils/test-matchers.jsx +100 -0
  197. package/lib/utils/testing.d.ts +1 -2
  198. package/lib/utils/testing.js +0 -29
  199. package/lib/utils/testing.jsx +206 -0
  200. package/lib/utils/theme.js +33 -47
  201. package/lib/utils/types/AriaRole.js +2 -1
  202. package/lib/utils/types/ComponentProps.js +2 -1
  203. package/lib/utils/types/Flatten.js +2 -1
  204. package/lib/utils/types/KeyPaths.js +2 -1
  205. package/lib/utils/types/MandateProps.js +16 -1
  206. package/lib/utils/types/Merge.js +2 -1
  207. package/lib/utils/types/index.js +16 -69
  208. package/lib/utils/uniqueId.js +5 -8
  209. package/lib/utils/use-force-update.js +8 -14
  210. package/lib/utils/useIsomorphicLayoutEffect.js +8 -11
  211. package/lib/utils/userAgent.js +8 -12
  212. package/lib-esm/ActionList/Item.js +3 -3
  213. package/lib-esm/ActionList2/Header.d.ts +26 -0
  214. package/lib-esm/ActionList2/Header.js +44 -0
  215. package/lib-esm/ActionList2/Item.js +1 -3
  216. package/lib-esm/ActionList2/List.js +2 -1
  217. package/lib-esm/ActionList2/Selection.js +1 -3
  218. package/lib-esm/Autocomplete/Autocomplete.d.ts +0 -1
  219. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +0 -1
  220. package/lib-esm/Autocomplete/AutocompleteMenu.js +13 -3
  221. package/lib-esm/Button/Button.d.ts +0 -1
  222. package/lib-esm/Button/ButtonClose.d.ts +1 -2
  223. package/lib-esm/Button/ButtonDanger.d.ts +0 -1
  224. package/lib-esm/Button/ButtonInvisible.d.ts +0 -1
  225. package/lib-esm/Button/ButtonOutline.d.ts +0 -1
  226. package/lib-esm/Button/ButtonPrimary.d.ts +0 -1
  227. package/lib-esm/CircleOcticon.d.ts +0 -1
  228. package/lib-esm/Dialog.d.ts +2 -3
  229. package/lib-esm/Dropdown.d.ts +0 -4
  230. package/lib-esm/DropdownMenu/DropdownButton.d.ts +1 -2
  231. package/lib-esm/FilterList.d.ts +0 -1
  232. package/lib-esm/Overlay.d.ts +3 -5
  233. package/lib-esm/Position.d.ts +4 -4
  234. package/lib-esm/SelectMenu/SelectMenu.d.ts +4 -10
  235. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +1 -1
  236. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +1 -1
  237. package/lib-esm/TextInputWithTokens.d.ts +0 -1
  238. package/lib-esm/Token/AvatarToken.d.ts +1 -1
  239. package/lib-esm/Token/IssueLabelToken.d.ts +1 -1
  240. package/lib-esm/Token/Token.d.ts +1 -1
  241. package/lib-esm/index.d.ts +0 -5
  242. package/lib-esm/index.js +0 -4
  243. package/lib-esm/theme-preval.js +0 -446
  244. package/lib-esm/utils/testing.d.ts +1 -2
  245. package/lib-esm/utils/testing.js +0 -24
  246. package/package.json +6 -5
  247. package/lib/Checkbox.d.ts +0 -29
  248. package/lib/Checkbox.js +0 -64
  249. package/lib/CheckboxInputField.d.ts +0 -11
  250. package/lib/CheckboxInputField.js +0 -74
  251. package/lib/RadioInputField.d.ts +0 -9
  252. package/lib/RadioInputField.js +0 -83
  253. package/lib/TextInputField.d.ts +0 -581
  254. package/lib/TextInputField.js +0 -66
  255. package/lib/_InputCaption.d.ts +0 -6
  256. package/lib/_InputCaption.js +0 -23
  257. package/lib/_InputField/InputField.d.ts +0 -39
  258. package/lib/_InputField/InputField.js +0 -90
  259. package/lib/_InputField/InputFieldCaption.d.ts +0 -3
  260. package/lib/_InputField/InputFieldCaption.js +0 -28
  261. package/lib/_InputField/InputFieldLabel.d.ts +0 -9
  262. package/lib/_InputField/InputFieldLabel.js +0 -34
  263. package/lib/_InputField/InputFieldValidation.d.ts +0 -6
  264. package/lib/_InputField/InputFieldValidation.js +0 -17
  265. package/lib/_InputField/ToggleInputField.d.ts +0 -13
  266. package/lib/_InputField/ToggleInputField.js +0 -71
  267. package/lib/_InputField/ToggleInputLeadingVisual.d.ts +0 -3
  268. package/lib/_InputField/ToggleInputLeadingVisual.js +0 -22
  269. package/lib/_InputField/ValidationAnimationContainer.d.ts +0 -6
  270. package/lib/_InputField/ValidationAnimationContainer.js +0 -48
  271. package/lib/_InputField/index.d.ts +0 -1
  272. package/lib/_InputField/index.js +0 -15
  273. package/lib/_InputField/slots.d.ts +0 -13
  274. package/lib/_InputField/slots.js +0 -17
  275. package/lib/_InputLabel.d.ts +0 -8
  276. package/lib/_InputLabel.js +0 -44
  277. package/lib/_InputValidation.d.ts +0 -8
  278. package/lib/_InputValidation.js +0 -56
  279. package/lib/_VisuallyHidden.d.ts +0 -6
  280. package/lib/_VisuallyHidden.js +0 -39
  281. package/lib/utils/types/FormValidationStatus.d.ts +0 -1
  282. package/lib/utils/types/FormValidationStatus.js +0 -1
  283. package/lib-esm/Checkbox.d.ts +0 -29
  284. package/lib-esm/Checkbox.js +0 -44
  285. package/lib-esm/CheckboxInputField.d.ts +0 -11
  286. package/lib-esm/CheckboxInputField.js +0 -57
  287. package/lib-esm/RadioInputField.d.ts +0 -9
  288. package/lib-esm/RadioInputField.js +0 -66
  289. package/lib-esm/TextInputField.d.ts +0 -581
  290. package/lib-esm/TextInputField.js +0 -50
  291. package/lib-esm/_InputCaption.d.ts +0 -6
  292. package/lib-esm/_InputCaption.js +0 -12
  293. package/lib-esm/_InputField/InputField.d.ts +0 -39
  294. package/lib-esm/_InputField/InputField.js +0 -70
  295. package/lib-esm/_InputField/InputFieldCaption.d.ts +0 -3
  296. package/lib-esm/_InputField/InputFieldCaption.js +0 -16
  297. package/lib-esm/_InputField/InputFieldLabel.d.ts +0 -9
  298. package/lib-esm/_InputField/InputFieldLabel.js +0 -22
  299. package/lib-esm/_InputField/InputFieldValidation.d.ts +0 -6
  300. package/lib-esm/_InputField/InputFieldValidation.js +0 -7
  301. package/lib-esm/_InputField/ToggleInputField.d.ts +0 -13
  302. package/lib-esm/_InputField/ToggleInputField.js +0 -54
  303. package/lib-esm/_InputField/ToggleInputLeadingVisual.d.ts +0 -3
  304. package/lib-esm/_InputField/ToggleInputLeadingVisual.js +0 -11
  305. package/lib-esm/_InputField/ValidationAnimationContainer.d.ts +0 -6
  306. package/lib-esm/_InputField/ValidationAnimationContainer.js +0 -33
  307. package/lib-esm/_InputField/index.d.ts +0 -1
  308. package/lib-esm/_InputField/index.js +0 -1
  309. package/lib-esm/_InputField/slots.d.ts +0 -13
  310. package/lib-esm/_InputField/slots.js +0 -5
  311. package/lib-esm/_InputLabel.d.ts +0 -8
  312. package/lib-esm/_InputLabel.js +0 -32
  313. package/lib-esm/_InputValidation.d.ts +0 -8
  314. package/lib-esm/_InputValidation.js +0 -43
  315. package/lib-esm/_VisuallyHidden.d.ts +0 -6
  316. package/lib-esm/_VisuallyHidden.js +0 -26
  317. package/lib-esm/utils/types/FormValidationStatus.d.ts +0 -1
  318. package/lib-esm/utils/types/FormValidationStatus.js +0 -1
@@ -479,452 +479,6 @@ module.exports = {
479
479
  }
480
480
  }
481
481
  },
482
- "light_high_contrast": {
483
- "colors": {
484
- "canvasDefaultTransparent": "rgba(255,255,255,0)",
485
- "marketingIcon": {
486
- "primary": "#1168e3",
487
- "secondary": "#368cf9"
488
- },
489
- "diffBlob": {
490
- "addition": {
491
- "numText": "#24292F",
492
- "fg": "#ffffff",
493
- "numBg": "#CCFFD8",
494
- "lineBg": "#E6FFEC",
495
- "wordBg": "#055d20"
496
- },
497
- "deletion": {
498
- "numText": "#24292F",
499
- "fg": "#ffffff",
500
- "numBg": "#FFD7D5",
501
- "lineBg": "#fff0ee",
502
- "wordBg": "#a0111f"
503
- },
504
- "hunk": {
505
- "numBg": "#9cd7ff"
506
- },
507
- "expander": {
508
- "icon": "#24292F"
509
- }
510
- },
511
- "diffstat": {
512
- "deletionBorder": "rgba(1,4,9,0.8)",
513
- "additionBorder": "rgba(1,4,9,0.8)",
514
- "additionBg": "#117f32"
515
- },
516
- "searchKeyword": {
517
- "hl": "#fcf7be"
518
- },
519
- "prettylights": {
520
- "syntax": {
521
- "comment": "#67707A",
522
- "constant": "#023b95",
523
- "entity": "#622cbc",
524
- "storageModifierImport": "#24292F",
525
- "entityTag": "#024c1a",
526
- "keyword": "#a0111f",
527
- "string": "#032563",
528
- "variable": "#702c00",
529
- "brackethighlighterUnmatched": "#6e011a",
530
- "invalidIllegalText": "#FFFFFF",
531
- "invalidIllegalBg": "#6e011a",
532
- "carriageReturnText": "#FFFFFF",
533
- "carriageReturnBg": "#a0111f",
534
- "stringRegexp": "#024c1a",
535
- "markupList": "#2e1800",
536
- "markupHeading": "#023b95",
537
- "markupItalic": "#24292F",
538
- "markupBold": "#24292F",
539
- "markupDeletedText": "#6e011a",
540
- "markupDeletedBg": "#fff0ee",
541
- "markupInsertedText": "#024c1a",
542
- "markupInsertedBg": "#d2fedb",
543
- "markupChangedText": "#702c00",
544
- "markupChangedBg": "#ffc67b",
545
- "markupIgnoredText": "#E7ECF0",
546
- "markupIgnoredBg": "#023b95",
547
- "metaDiffRange": "#622cbc",
548
- "brackethighlighterAngle": "#4F5760",
549
- "sublimelinterGutterMark": "#88929D",
550
- "constantOtherReferenceLink": "#032563"
551
- }
552
- },
553
- "codemirror": {
554
- "text": "#24292F",
555
- "bg": "#ffffff",
556
- "guttersBg": "#ffffff",
557
- "guttermarkerText": "#ffffff",
558
- "guttermarkerSubtleText": "#67707A",
559
- "linenumberText": "#24292F",
560
- "cursor": "#24292F",
561
- "selectionBg": "#368cf9",
562
- "activelineBg": "#E7ECF0",
563
- "matchingbracketText": "#24292F",
564
- "linesBg": "#ffffff",
565
- "syntax": {
566
- "comment": "#24292F",
567
- "constant": "#023b95",
568
- "entity": "#622cbc",
569
- "keyword": "#a0111f",
570
- "storage": "#a0111f",
571
- "string": "#032563",
572
- "support": "#023b95",
573
- "variable": "#702c00"
574
- }
575
- },
576
- "checks": {
577
- "bg": "#24292F",
578
- "textPrimary": "#FFFFFF",
579
- "textSecondary": "#88929D",
580
- "textLink": "#368cf9",
581
- "btnIcon": "#ACB6C0",
582
- "btnHoverIcon": "#FFFFFF",
583
- "btnHoverBg": "rgba(255,255,255,0.125)",
584
- "inputText": "#E7ECF0",
585
- "inputPlaceholderText": "#88929D",
586
- "inputFocusText": "#88929D",
587
- "inputBg": "#30363D",
588
- "donutError": "#d5232c",
589
- "donutPending": "#956400",
590
- "donutSuccess": "#117f32",
591
- "donutNeutral": "#ACB6C0",
592
- "dropdownText": "#ACB6C0",
593
- "dropdownBg": "#30363D",
594
- "dropdownBorder": "#3D454E",
595
- "dropdownShadow": "rgba(1,4,9,0.3)",
596
- "dropdownHoverText": "#FFFFFF",
597
- "dropdownHoverBg": "#3D454E",
598
- "dropdownBtnHoverText": "#FFFFFF",
599
- "dropdownBtnHoverBg": "#30363D",
600
- "scrollbarThumbBg": "#4F5760",
601
- "headerLabelText": "#CED5DC",
602
- "headerLabelOpenText": "#FFFFFF",
603
- "headerBorder": "#30363D",
604
- "headerIcon": "#88929D",
605
- "lineText": "#CED5DC",
606
- "lineNumText": "rgba(136,146,157,0.75)",
607
- "lineTimestampText": "#88929D",
608
- "lineHoverBg": "#30363D",
609
- "lineSelectedBg": "rgba(17,104,227,0.15)",
610
- "lineSelectedNumText": "#368cf9",
611
- "lineDtFmText": "#24292F",
612
- "lineDtFmBg": "#744500",
613
- "gateBg": "rgba(96,55,0,0.15)",
614
- "gateText": "#CED5DC",
615
- "gateWaitingText": "#ACB6C0",
616
- "stepHeaderOpenBg": "#30363D",
617
- "stepErrorText": "#ee5a5d",
618
- "stepWarningText": "#b58407",
619
- "loglineText": "#88929D",
620
- "loglineNumText": "rgba(136,146,157,0.75)",
621
- "loglineDebugText": "#a371f7",
622
- "loglineErrorText": "#CED5DC",
623
- "loglineErrorNumText": "#ee5a5d",
624
- "loglineErrorBg": "rgba(134,6,29,0.15)",
625
- "loglineWarningText": "#CED5DC",
626
- "loglineWarningNumText": "#b58407",
627
- "loglineWarningBg": "rgba(96,55,0,0.15)",
628
- "loglineCommandText": "#368cf9",
629
- "loglineSectionText": "#26a148",
630
- "ansi": {
631
- "black": "#24292F",
632
- "blackBright": "#30363D",
633
- "white": "#CED5DC",
634
- "whiteBright": "#CED5DC",
635
- "gray": "#88929D",
636
- "red": "#ee5a5d",
637
- "redBright": "#ff8e8a",
638
- "green": "#26a148",
639
- "greenBright": "#43c663",
640
- "yellow": "#b58407",
641
- "yellowBright": "#d5a824",
642
- "blue": "#368cf9",
643
- "blueBright": "#67b3fd",
644
- "magenta": "#a371f7",
645
- "magentaBright": "#c49bff",
646
- "cyan": "#76e3ea",
647
- "cyanBright": "#b3f0ff"
648
- }
649
- },
650
- "project": {
651
- "headerBg": "#24292F",
652
- "sidebarBg": "#ffffff",
653
- "gradientIn": "#ffffff",
654
- "gradientOut": "rgba(255,255,255,0)"
655
- },
656
- "mktg": {
657
- "btn": {
658
- "bg": "#1b1f23"
659
- }
660
- },
661
- "avatar": {
662
- "bg": "#ffffff",
663
- "border": "rgba(1,4,9,0.8)",
664
- "stackFade": "#ACB6C0",
665
- "stackFadeMore": "#CED5DC"
666
- },
667
- "topicTag": {
668
- "border": "rgba(0,0,0,0)"
669
- },
670
- "selectMenu": {
671
- "backdropBorder": "rgba(0,0,0,0)",
672
- "tapHighlight": "rgba(172,182,192,0.5)",
673
- "tapFocusBg": "#9cd7ff"
674
- },
675
- "header": {
676
- "text": "rgba(255,255,255,0.7)",
677
- "bg": "#24292F",
678
- "logo": "#ffffff"
679
- },
680
- "headerSearch": {
681
- "bg": "#24292F",
682
- "border": "#4F5760"
683
- },
684
- "sidenav": {
685
- "selectedBg": "#ffffff"
686
- },
687
- "menu": {
688
- "bgActive": "rgba(0,0,0,0)"
689
- },
690
- "input": {
691
- "disabledBg": "rgba(172,182,192,0.2)"
692
- },
693
- "timeline": {
694
- "badgeBg": "#E7ECF0"
695
- },
696
- "ansi": {
697
- "black": "#24292F",
698
- "blackBright": "#4F5760",
699
- "white": "#67707A",
700
- "whiteBright": "#88929D",
701
- "gray": "#67707A",
702
- "red": "#a0111f",
703
- "redBright": "#86061d",
704
- "green": "#024c1a",
705
- "greenBright": "#055d20",
706
- "yellow": "#3f2200",
707
- "yellowBright": "#4e2c00",
708
- "blue": "#0349b4",
709
- "blueBright": "#1168e3",
710
- "magenta": "#622cbc",
711
- "magentaBright": "#844ae7",
712
- "cyan": "#1b7c83",
713
- "cyanBright": "#3192aa"
714
- },
715
- "btn": {
716
- "text": "#24292F",
717
- "bg": "#E7ECF0",
718
- "border": "rgba(1,4,9,0.8)",
719
- "hoverBg": "#CED5DC",
720
- "hoverBorder": "rgba(1,4,9,0.8)",
721
- "activeBg": "#ACB6C0",
722
- "activeBorder": "rgba(1,4,9,0.8)",
723
- "selectedBg": "#ACB6C0",
724
- "focusBg": "#CED5DC",
725
- "focusBorder": "rgba(1,4,9,0.8)",
726
- "counterBg": "rgba(1,4,9,0.08)",
727
- "primary": {
728
- "text": "#ffffff",
729
- "bg": "#055d20",
730
- "border": "#013d14",
731
- "hoverBg": "#024c1a",
732
- "hoverBorder": "#013d14",
733
- "selectedBg": "hsla(139,95%,13%,1)",
734
- "disabledText": "rgba(255,255,255,0.8)",
735
- "disabledBg": "#94d3a2",
736
- "disabledBorder": "rgba(1,4,9,0.8)",
737
- "focusBg": "#013d14",
738
- "focusBorder": "#013d14",
739
- "icon": "rgba(255,255,255,0.8)",
740
- "counterBg": "rgba(255,255,255,0.2)"
741
- },
742
- "outline": {
743
- "text": "#023b95",
744
- "hoverText": "#ffffff",
745
- "hoverBg": "#0349b4",
746
- "hoverBorder": "#022f7a",
747
- "hoverCounterBg": "rgba(255,255,255,0.2)",
748
- "selectedText": "#ffffff",
749
- "selectedBg": "#022f7a",
750
- "selectedBorder": "#022f7a",
751
- "disabledText": "rgba(3,73,180,0.5)",
752
- "disabledBg": "#E7ECF0",
753
- "disabledCounterBg": "rgba(3,73,180,0.05)",
754
- "focusBorder": "#022f7a",
755
- "counterBg": "rgba(3,73,180,0.1)"
756
- },
757
- "danger": {
758
- "text": "#86061d",
759
- "hoverText": "#ffffff",
760
- "hoverBg": "#a0111f",
761
- "hoverBorder": "#6e011a",
762
- "hoverCounterBg": "rgba(255,255,255,0.2)",
763
- "selectedText": "#ffffff",
764
- "selectedBg": "#6e011a",
765
- "selectedBorder": "#6e011a",
766
- "disabledText": "rgba(160,17,31,0.5)",
767
- "disabledBg": "#E7ECF0",
768
- "disabledCounterBg": "rgba(160,17,31,0.05)",
769
- "focusBorder": "#6e011a",
770
- "counterBg": "rgba(160,17,31,0.1)",
771
- "icon": "#86061d",
772
- "hoverIcon": "#ffffff"
773
- }
774
- },
775
- "underlinenav": {
776
- "icon": "#67707A",
777
- "borderHover": "rgba(172,182,192,0.2)"
778
- },
779
- "actionListItem": {
780
- "inlineDivider": "rgba(48,54,61,0.48)",
781
- "default": {
782
- "hoverBg": "rgba(206,213,220,0.32)",
783
- "activeBg": "rgba(206,213,220,0.48)",
784
- "selectedBg": "rgba(206,213,220,0.24)"
785
- },
786
- "danger": {
787
- "hoverBg": "rgba(255,240,238,0.64)",
788
- "activeBg": "#fff0ee",
789
- "hoverText": "#a0111f"
790
- }
791
- },
792
- "fg": {
793
- "default": "#24292F",
794
- "muted": "#24292F",
795
- "subtle": "#67707A",
796
- "onEmphasis": "#ffffff"
797
- },
798
- "canvas": {
799
- "default": "#ffffff",
800
- "overlay": "#ffffff",
801
- "inset": "#ffffff",
802
- "subtle": "#E7ECF0"
803
- },
804
- "border": {
805
- "default": "#30363D",
806
- "muted": "#88929D",
807
- "subtle": "rgba(1,4,9,0.8)"
808
- },
809
- "neutral": {
810
- "emphasisPlus": "#24292F",
811
- "emphasis": "#67707A",
812
- "muted": "rgba(172,182,192,0.2)",
813
- "subtle": "#E7ECF0"
814
- },
815
- "accent": {
816
- "fg": "#0349b4",
817
- "emphasis": "#0349b4",
818
- "muted": "#368cf9",
819
- "subtle": "#dff7ff"
820
- },
821
- "success": {
822
- "fg": "#055d20",
823
- "emphasis": "#055d20",
824
- "muted": "#26a148",
825
- "subtle": "#d2fedb"
826
- },
827
- "attention": {
828
- "fg": "#744500",
829
- "emphasis": "#744500",
830
- "muted": "#b58407",
831
- "subtle": "#fcf7be"
832
- },
833
- "severe": {
834
- "fg": "#873800",
835
- "emphasis": "#873800",
836
- "muted": "#dc6d1a",
837
- "subtle": "#fff2d5"
838
- },
839
- "danger": {
840
- "fg": "#a0111f",
841
- "emphasis": "#a0111f",
842
- "muted": "#ee5a5d",
843
- "subtle": "#fff0ee"
844
- },
845
- "done": {
846
- "fg": "#622cbc",
847
- "emphasis": "#622cbc",
848
- "muted": "#a371f7",
849
- "subtle": "#faf0fe"
850
- },
851
- "sponsors": {
852
- "fg": "#971368",
853
- "emphasis": "#971368",
854
- "muted": "#ed4baf",
855
- "subtle": "#feeff7"
856
- },
857
- "primer": {
858
- "fg": {
859
- "disabled": "#88929D"
860
- },
861
- "canvas": {
862
- "backdrop": "rgba(1,4,9,0.5)",
863
- "sticky": "rgba(255,255,255,0.95)"
864
- },
865
- "border": {
866
- "active": "#ef5b48",
867
- "contrast": "rgba(1,4,9,0.1)"
868
- }
869
- }
870
- },
871
- "shadows": {
872
- "mktg": {
873
- "btn": {
874
- "shadow": {
875
- "outline": "rgb(0 0 0 / 15%) 0 0 0 1px inset",
876
- "focus": "rgb(0 0 0 / 15%) 0 0 0 4px",
877
- "hover": "0 3px 2px rgba(0, 0, 0, 0.07), 0 7px 5px rgba(0, 0, 0, 0.04), 0 12px 10px rgba(0, 0, 0, 0.03), 0 22px 18px rgba(0, 0, 0, 0.03), 0 42px 33px rgba(0, 0, 0, 0.02), 0 100px 80px rgba(0, 0, 0, 0.02)",
878
- "hoverMuted": "rgb(0 0 0 / 70%) 0 0 0 2px inset"
879
- }
880
- }
881
- },
882
- "avatar": {
883
- "childShadow": "-2px -2px 0 rgba(255,255,255,0.8)"
884
- },
885
- "overlay": {
886
- "shadow": "0 1px 3px rgba(1,4,9,0.12), 0 8px 24px rgba(61,69,78,0.12)"
887
- },
888
- "btn": {
889
- "shadow": "0 1px 0 rgba(1,4,9,0.04)",
890
- "insetShadow": "inset 0 1px 0 rgba(255,255,255,0.25)",
891
- "focusShadow": "0 0 0 3px rgba(3,73,180,0.3)",
892
- "shadowActive": "inset 0 0.15em 0.3em rgba(1,4,9,0.15)",
893
- "shadowInputFocus": "0 0 0 0.2em rgba(3,73,180,0.3)",
894
- "primary": {
895
- "shadow": "0 1px 0 rgba(1,4,9,0.1)",
896
- "insetShadow": "inset 0 1px 0 rgba(255,255,255,0.03)",
897
- "selectedShadow": "inset 0 1px 0 rgba(0,35,11,0.2)",
898
- "focusShadow": "0 0 0 3px rgba(1,61,20,0.4)"
899
- },
900
- "outline": {
901
- "hoverShadow": "0 1px 0 rgba(1,4,9,0.1)",
902
- "hoverInsetShadow": "inset 0 1px 0 rgba(255,255,255,0.03)",
903
- "selectedShadow": "inset 0 1px 0 rgba(2,26,74,0.2)",
904
- "focusShadow": "0 0 0 3px rgba(2,59,149,0.4)"
905
- },
906
- "danger": {
907
- "hoverShadow": "0 1px 0 rgba(1,4,9,0.1)",
908
- "hoverInsetShadow": "inset 0 1px 0 rgba(255,255,255,0.03)",
909
- "selectedShadow": "inset 0 1px 0 rgba(67,0,17,0.2)",
910
- "focusShadow": "0 0 0 3px rgba(134,6,29,0.4)"
911
- }
912
- },
913
- "shadow": {
914
- "small": "0 1px 0 rgba(1,4,9,0.04)",
915
- "medium": "0 3px 6px rgba(136,146,157,0.15)",
916
- "large": "0 8px 24px rgba(136,146,157,0.2)",
917
- "extraLarge": "0 12px 28px rgba(136,146,157,0.3)"
918
- },
919
- "primer": {
920
- "shadow": {
921
- "highlight": "inset 0 1px 0 rgba(255,255,255,0.25)",
922
- "inset": "inset 0 1px 0 rgba(206,213,220,0.2)",
923
- "focus": "0 0 0 3px rgba(3,73,180,0.3)"
924
- }
925
- }
926
- }
927
- },
928
482
  "light_colorblind": {
929
483
  "colors": {
930
484
  "canvasDefaultTransparent": "rgba(255,255,255,0)",
@@ -53,7 +53,7 @@ export declare function render(component: React.ReactElement, theme?: {
53
53
  xlarge: string;
54
54
  };
55
55
  space: string[];
56
- colorSchemes: Record<"light" | "light_high_contrast" | "light_colorblind" | "dark" | "dark_dimmed" | "dark_high_contrast" | "dark_colorblind", Record<"colors" | "shadows", Partial<{
56
+ colorSchemes: Record<"light" | "light_colorblind" | "dark" | "dark_dimmed" | "dark_high_contrast" | "dark_colorblind", Record<"colors" | "shadows", Partial<{
57
57
  canvasDefaultTransparent: string;
58
58
  marketingIcon: {
59
59
  primary: string;
@@ -541,5 +541,4 @@ interface BehavesAsComponent {
541
541
  }
542
542
  export declare function behavesAsComponent({ Component, toRender, options }: BehavesAsComponent): void;
543
543
  export declare function checkExports(path: string, exports: Record<any, any>): void;
544
- export declare function checkStoriesForAxeViolations(name: string): void;
545
544
  export {};
@@ -3,8 +3,6 @@ import { promisify } from 'util';
3
3
  import renderer from 'react-test-renderer';
4
4
  import enzyme from 'enzyme';
5
5
  import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
6
- import { cleanup, render as HTMLRender } from '@testing-library/react';
7
- import { axe, toHaveNoViolations } from 'jest-axe';
8
6
  import { ThemeProvider } from '..';
9
7
  import { default as defaultTheme } from '../theme';
10
8
  // eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -221,26 +219,4 @@ export function checkExports(path, exports) {
221
219
 
222
220
  expect(mod).toSetExports(exports);
223
221
  });
224
- }
225
- expect.extend(toHaveNoViolations);
226
- export function checkStoriesForAxeViolations(name) {
227
- // eslint-disable-next-line @typescript-eslint/no-var-requires
228
- const stories = require(`../stories/${name}.stories`); // eslint-disable-next-line @typescript-eslint/no-unused-vars -- _meta
229
-
230
-
231
- const {
232
- default: _meta,
233
- ...Stories
234
- } = stories;
235
- Object.values(Stories).map(Story => {
236
- if (typeof Story !== 'function') return;
237
- it(`story ${Story.storyName} should have no axe violations`, async () => {
238
- const {
239
- container
240
- } = HTMLRender( /*#__PURE__*/React.createElement(Story, null));
241
- const results = await axe(container);
242
- expect(results).toHaveNoViolations();
243
- cleanup();
244
- });
245
- });
246
222
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/components",
3
- "version": "0.0.0-20211030163410",
3
+ "version": "0.0.0-20211030175556",
4
4
  "description": "Primer react components",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -20,7 +20,8 @@
20
20
  "test": "jest",
21
21
  "test:update": "npm run test -- --updateSnapshot",
22
22
  "release": "npm run build && changeset publish",
23
- "size": "size-limit"
23
+ "size": "size-limit",
24
+ "typecheck": "npx tsc --project tsconfig.json"
24
25
  },
25
26
  "repository": "primer/react",
26
27
  "keywords": [
@@ -43,8 +44,8 @@
43
44
  "author": "GitHub, Inc.",
44
45
  "license": "MIT",
45
46
  "dependencies": {
46
- "@primer/octicons-react": "16.1.1",
47
- "@primer/primitives": "7.1.1",
47
+ "@primer/octicons-react": "^16.1.0",
48
+ "@primer/primitives": "7.0.1",
48
49
  "@radix-ui/react-polymorphic": "0.0.14",
49
50
  "@react-aria/ssr": "3.1.0",
50
51
  "@styled-system/css": "5.1.5",
@@ -87,7 +88,7 @@
87
88
  "@testing-library/user-event": "13.1.9",
88
89
  "@types/chroma-js": "2.1.3",
89
90
  "@types/enzyme": "3.10.9",
90
- "@types/jest": "27.0.2",
91
+ "@types/jest": "26.0.23",
91
92
  "@types/jest-axe": "3.5.3",
92
93
  "@types/lodash.isempty": "4.4.6",
93
94
  "@types/lodash.isobject": "3.0.6",
package/lib/Checkbox.d.ts DELETED
@@ -1,29 +0,0 @@
1
- import React, { InputHTMLAttributes } from 'react';
2
- import { SxProp } from './sx';
3
- export declare type CheckboxProps = {
4
- /**
5
- * Apply indeterminate visual appearance to the checkbox
6
- */
7
- indeterminate?: boolean;
8
- /**
9
- * Apply inactive visual appearance to the checkbox
10
- */
11
- disabled?: boolean;
12
- /**
13
- * Forward a ref to the underlying input element
14
- */
15
- ref?: React.RefObject<HTMLInputElement>;
16
- /**
17
- * Indicates whether the checkbox must be checked
18
- */
19
- required?: boolean;
20
- /**
21
- * Indicates whether the checkbox validation state
22
- */
23
- validationStatus?: 'error' | 'success';
24
- } & InputHTMLAttributes<HTMLInputElement> & SxProp;
25
- /**
26
- * An accessible, native checkbox component
27
- */
28
- declare const Checkbox: React.ForwardRefExoticComponent<Pick<CheckboxProps, "sx" | keyof React.InputHTMLAttributes<HTMLInputElement> | "validationStatus" | "indeterminate"> & React.RefAttributes<HTMLInputElement>>;
29
- export default Checkbox;
package/lib/Checkbox.js DELETED
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _styledComponents = _interopRequireDefault(require("styled-components"));
9
-
10
- var _hooks = require("./hooks");
11
-
12
- var _react = _interopRequireWildcard(require("react"));
13
-
14
- var _sx = _interopRequireDefault(require("./sx"));
15
-
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
-
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- function _extends() { _extends = Object.assign || 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); }
23
-
24
- const StyledCheckbox = _styledComponents.default.input.withConfig({
25
- displayName: "Checkbox__StyledCheckbox",
26
- componentId: "i51804-0"
27
- })(["cursor:pointer;", " ", ""], props => props.disabled && `cursor: not-allowed;`, _sx.default);
28
- /**
29
- * An accessible, native checkbox component
30
- */
31
-
32
-
33
- const Checkbox = /*#__PURE__*/_react.default.forwardRef(({
34
- checked,
35
- indeterminate,
36
- disabled,
37
- sx: sxProp,
38
- required,
39
- validationStatus,
40
- ...rest
41
- }, ref) => {
42
- const checkboxRef = (0, _hooks.useProvidedRefOrCreate)(ref);
43
- (0, _react.useLayoutEffect)(() => {
44
- if (checkboxRef.current) {
45
- checkboxRef.current.indeterminate = indeterminate || false;
46
- }
47
- }, [indeterminate, checked, checkboxRef]);
48
- return /*#__PURE__*/_react.default.createElement(StyledCheckbox, _extends({
49
- type: "checkbox",
50
- disabled: disabled,
51
- "aria-disabled": disabled ? 'true' : 'false',
52
- ref: ref || checkboxRef,
53
- checked: indeterminate ? false : checked,
54
- "aria-checked": indeterminate ? 'mixed' : checked ? 'true' : 'false',
55
- sx: sxProp,
56
- required: required,
57
- "aria-required": required ? 'true' : 'false',
58
- "aria-invalid": validationStatus === 'error' ? 'true' : 'false'
59
- }, rest));
60
- });
61
-
62
- Checkbox.displayName = 'Checkbox';
63
- var _default = Checkbox;
64
- exports.default = _default;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- declare const _default: React.FC<import("./_InputField/ToggleInputField").Props> & {
3
- Input: React.FC<Omit<React.HTMLProps<HTMLInputElement>, "ref"> & {
4
- ref?: React.Ref<HTMLInputElement> | undefined;
5
- }>;
6
- Caption: React.FC<{}>;
7
- Label: React.FC<import("./_InputField/InputFieldLabel").Props>;
8
- Validation: React.FC<import("./_InputField/InputFieldValidation").InputFieldValidationProps>;
9
- LeadingVisual: React.FC<{}>;
10
- };
11
- export default _default;