您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

code-docs.tsx 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import styled from 'styles'
  2. export default function CodeDocs({
  3. isHidden,
  4. }: {
  5. isHidden: boolean
  6. }): JSX.Element {
  7. return (
  8. <StyledDocs isHidden={isHidden}>
  9. <h2>Docs</h2>
  10. </StyledDocs>
  11. )
  12. }
  13. const StyledDocs = styled('div', {
  14. position: 'absolute',
  15. backgroundColor: '$panel',
  16. top: 0,
  17. left: 0,
  18. width: '100%',
  19. height: '100%',
  20. padding: 16,
  21. font: '$docs',
  22. overflowY: 'scroll',
  23. userSelect: 'none',
  24. paddingBottom: 64,
  25. variants: {
  26. isHidden: {
  27. true: {
  28. visibility: 'hidden',
  29. },
  30. false: {
  31. visibility: 'visible',
  32. },
  33. },
  34. },
  35. '& ol': {},
  36. '& li': {
  37. marginTop: 8,
  38. marginBottom: 4,
  39. },
  40. '& code': {
  41. font: '$mono',
  42. },
  43. '& hr': {
  44. margin: '32px 0',
  45. borderColor: '$muted',
  46. },
  47. '& h2': {
  48. margin: '24px 0px',
  49. },
  50. '& h3': {
  51. fontSize: 20,
  52. margin: '48px 0px 32px 0px',
  53. },
  54. '& h3 > code': {
  55. fontWeight: 600,
  56. font: '$monoheading',
  57. },
  58. '& h4': {
  59. margin: '32px 0px 0px 0px',
  60. },
  61. '& h4 > code': {
  62. font: '$monoheading',
  63. fontSize: 16,
  64. userSelect: 'all',
  65. },
  66. '& h4 > code > i': {
  67. fontSize: 14,
  68. color: '$muted',
  69. },
  70. '& pre': {
  71. backgroundColor: '$bounds_bg',
  72. padding: 16,
  73. borderRadius: 4,
  74. userSelect: 'all',
  75. margin: '24px 0',
  76. },
  77. '& p > code, blockquote > code': {
  78. backgroundColor: '$bounds_bg',
  79. padding: '2px 4px',
  80. borderRadius: 2,
  81. color: '$code',
  82. },
  83. '& blockquote': {
  84. backgroundColor: 'rgba(144, 144, 144, .05)',
  85. padding: 12,
  86. margin: '20px 0',
  87. borderRadius: 8,
  88. },
  89. })