preview.scss 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. @import '../../ui/src/styles';
  2. body {
  3. height: 100vh;
  4. color: var(--color-neutral-content) !important;
  5. background-color: var(--color-neutral-background) !important;
  6. }
  7. #storybook-root,
  8. #storybook-docs,
  9. .sbdocs {
  10. height: 100%;
  11. color: var(--color-neutral-content) !important;
  12. background-color: var(--color-neutral-background) !important;
  13. }
  14. // Undo tailwind reset for the Docs pages
  15. #storybook-docs .sbdocs-content h1:not(.sbdocs-preview *),
  16. #storybook-docs .sbdocs-content h2:not(.sbdocs-preview *),
  17. #storybook-docs .sbdocs-content h3:not(.sbdocs-preview *),
  18. #storybook-docs .sbdocs-content h4:not(.sbdocs-preview *),
  19. #storybook-docs .sbdocs-content h5:not(.sbdocs-preview *),
  20. #storybook-docs .sbdocs-content h6:not(.sbdocs-preview *) {
  21. color: var(--color-neutral-content) !important;
  22. }
  23. // Within Doc Pages apply the theme colors only to the preview blocks
  24. .sbdocs-preview {
  25. background-color: var(--color-neutral-background) !important;
  26. color: var(--color-neutral-content) !important;
  27. border: 1px solid var(--color-neutral-border) !important;
  28. }
  29. // Style Storybook docs UI elements for dark mode support
  30. #storybook-docs {
  31. // Args table (props documentation)
  32. .docblock-argstable {
  33. color: var(--color-neutral-content) !important;
  34. thead,
  35. tbody,
  36. tr,
  37. th,
  38. td {
  39. color: var(--color-neutral-content) !important;
  40. background-color: var(--color-neutral-background) !important;
  41. border-color: var(--color-neutral-border) !important;
  42. }
  43. // Table header styling
  44. th {
  45. color: var(--color-neutral-content-subtle) !important;
  46. }
  47. // Property names and descriptions
  48. td {
  49. span,
  50. p,
  51. div {
  52. color: var(--color-neutral-content) !important;
  53. }
  54. }
  55. }
  56. // General content area
  57. .sbdocs-content {
  58. color: var(--color-neutral-content) !important;
  59. p,
  60. span,
  61. div,
  62. li,
  63. code {
  64. color: inherit !important;
  65. }
  66. }
  67. // Code blocks - ensure text is readable on dark backgrounds
  68. code,
  69. pre {
  70. background-color: var(--color-neutral-surface) !important;
  71. color: var(--color-neutral-content) !important;
  72. }
  73. // Inline code in args table (type annotations, default values)
  74. .docblock-argstable code,
  75. .docblock-argstable span[class*="css-"] {
  76. color: var(--color-neutral-content) !important;
  77. }
  78. // Type signature chips (e.g., "(element: HTMLElement) => boolean")
  79. .docblock-argstable td div[class*="css-"]>span[class*="css-"] {
  80. background-color: var(--color-neutral-surface) !important;
  81. color: var(--color-neutral-content) !important;
  82. border: none !important;
  83. }
  84. // Default value chips (e.g., "false", "true")
  85. .docblock-argstable td>span[class*="css-"] {
  86. background-color: var(--color-neutral-surface) !important;
  87. color: var(--color-neutral-content) !important;
  88. border: none !important;
  89. }
  90. // Form controls in args table (selects, inputs, toggles)
  91. .docblock-argstable select,
  92. .docblock-argstable textarea,
  93. .docblock-argstable input:not([role="switch"]) {
  94. background-color: var(--color-neutral-surface) !important;
  95. color: var(--color-neutral-content) !important;
  96. border-color: var(--color-neutral-border) !important;
  97. }
  98. // Toggle switches (label with for starting with "control-")
  99. .docblock-argstable label[for^="control-"] {
  100. background: var(--color-neutral-background) !important;
  101. border: 1px solid var(--color-neutral-border) !important;
  102. }
  103. .docblock-argstable input[role="switch"] {
  104. // Toggle text labels (False/True)
  105. &~span[aria-hidden="true"] {
  106. color: var(--color-neutral-content) !important;
  107. background-color: var(--color-neutral-background) !important;
  108. }
  109. // Checked state - use primary color
  110. &:checked {
  111. &~span:last-of-type {
  112. background-color: var(--color-primary-background) !important;
  113. color: var(--color-primary-content) !important;
  114. }
  115. }
  116. &:not(:checked) {
  117. &~span:first-of-type {
  118. background-color: var(--color-primary-background) !important;
  119. color: var(--color-primary-content) !important;
  120. }
  121. }
  122. }
  123. // Buttons (Set boolean, Set string, Set object, etc.)
  124. .docblock-argstable button {
  125. background-color: var(--color-neutral-surface) !important;
  126. color: var(--color-neutral-content) !important;
  127. border-color: var(--color-neutral-border) !important;
  128. box-shadow: var(--color-neutral-border) 0px 0px 0px 1px inset !important;
  129. }
  130. // Show code / Hide code toggle buttons
  131. .docblock-code-toggle {
  132. border-radius: 0 !important;
  133. background-color: var(--color-neutral-surface) !important;
  134. color: var(--color-neutral-content) !important;
  135. border-color: var(--color-neutral-border) !important;
  136. }
  137. // Preview toolbar (zoom controls, etc.)
  138. .sbdocs-preview .sb-bar {
  139. background-color: var(--color-neutral-surface) !important;
  140. border-color: var(--color-neutral-border) !important;
  141. button {
  142. color: var(--color-neutral-content) !important;
  143. svg {
  144. fill: currentColor !important;
  145. }
  146. }
  147. }
  148. }