fumadocs-ui 14.2.1 → 14.3.1

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 (229) hide show
  1. package/dist/components/accordion.d.ts +4 -7
  2. package/dist/components/accordion.d.ts.map +1 -0
  3. package/dist/components/accordion.js +32 -104
  4. package/dist/components/api.d.ts +4 -13
  5. package/dist/components/api.d.ts.map +1 -0
  6. package/dist/components/api.js +3 -16
  7. package/dist/components/banner.d.ts +3 -5
  8. package/dist/components/banner.d.ts.map +1 -0
  9. package/dist/components/banner.js +53 -120
  10. package/dist/components/callout.d.ts +4 -7
  11. package/dist/components/callout.d.ts.map +1 -0
  12. package/dist/components/callout.js +13 -9
  13. package/dist/components/card.d.ts +5 -7
  14. package/dist/components/card.d.ts.map +1 -0
  15. package/dist/components/card.js +10 -10
  16. package/dist/components/codeblock.d.ts +6 -9
  17. package/dist/components/codeblock.d.ts.map +1 -0
  18. package/dist/components/codeblock.js +41 -15
  19. package/dist/components/dialog/search-algolia.d.ts +7 -11
  20. package/dist/components/dialog/search-algolia.d.ts.map +1 -0
  21. package/dist/components/dialog/search-algolia.js +19 -79
  22. package/dist/components/dialog/search-default.d.ts +6 -10
  23. package/dist/components/dialog/search-default.d.ts.map +1 -0
  24. package/dist/components/dialog/search-default.js +24 -73
  25. package/dist/components/dialog/search-orama.d.ts +7 -11
  26. package/dist/components/dialog/search-orama.d.ts.map +1 -0
  27. package/dist/components/dialog/search-orama.js +22 -79
  28. package/dist/components/dialog/search.d.ts +7 -9
  29. package/dist/components/dialog/search.d.ts.map +1 -0
  30. package/dist/components/dialog/search.js +98 -13
  31. package/dist/components/dialog/tag-list.d.ts +13 -0
  32. package/dist/components/dialog/tag-list.d.ts.map +1 -0
  33. package/dist/components/dialog/tag-list.js +20 -0
  34. package/dist/components/files.d.ts +7 -9
  35. package/dist/components/files.d.ts.map +1 -0
  36. package/dist/components/files.js +15 -63
  37. package/dist/components/heading.d.ts +4 -5
  38. package/dist/components/heading.d.ts.map +1 -0
  39. package/dist/components/heading.js +9 -9
  40. package/dist/components/image-zoom.d.ts +7 -8
  41. package/dist/components/image-zoom.d.ts.map +1 -0
  42. package/dist/components/image-zoom.js +16 -40
  43. package/dist/components/inline-toc.d.ts +4 -6
  44. package/dist/components/inline-toc.d.ts.map +1 -0
  45. package/dist/components/inline-toc.js +8 -46
  46. package/dist/components/layout/breadcrumb.d.ts +11 -0
  47. package/dist/components/layout/breadcrumb.d.ts.map +1 -0
  48. package/dist/components/layout/breadcrumb.js +20 -0
  49. package/dist/components/layout/language-toggle.d.ts +5 -7
  50. package/dist/components/layout/language-toggle.d.ts.map +1 -0
  51. package/dist/components/layout/language-toggle.js +24 -14
  52. package/dist/components/layout/nav.d.ts +28 -0
  53. package/dist/components/layout/nav.d.ts.map +1 -0
  54. package/dist/components/layout/nav.js +29 -0
  55. package/dist/components/layout/root-toggle.d.ts +5 -7
  56. package/dist/components/layout/root-toggle.d.ts.map +1 -0
  57. package/dist/components/layout/root-toggle.js +28 -13
  58. package/dist/components/layout/search-toggle.d.ts +4 -0
  59. package/dist/components/layout/search-toggle.d.ts.map +1 -0
  60. package/dist/components/layout/search-toggle.js +24 -0
  61. package/dist/components/layout/theme-toggle.d.ts +3 -0
  62. package/dist/components/layout/theme-toggle.d.ts.map +1 -0
  63. package/dist/components/layout/theme-toggle.js +21 -0
  64. package/dist/components/layout/toc-clerk.d.ts +6 -0
  65. package/dist/components/layout/toc-clerk.d.ts.map +1 -0
  66. package/dist/components/layout/toc-clerk.js +76 -0
  67. package/dist/components/layout/toc-popover.d.ts +8 -0
  68. package/dist/components/layout/toc-popover.d.ts.map +1 -0
  69. package/dist/components/layout/toc-popover.js +20 -0
  70. package/dist/components/layout/toc-thumb.d.ts +6 -0
  71. package/dist/components/layout/toc-thumb.d.ts.map +1 -0
  72. package/dist/components/layout/toc-thumb.js +53 -0
  73. package/dist/components/layout/toc.d.ts +19 -0
  74. package/dist/components/layout/toc.d.ts.map +1 -0
  75. package/dist/components/layout/toc.js +25 -0
  76. package/dist/components/registry.d.ts +3 -0
  77. package/dist/components/registry.d.ts.map +1 -0
  78. package/dist/components/registry.js +70 -0
  79. package/dist/components/steps.d.ts +4 -6
  80. package/dist/components/steps.d.ts.map +1 -0
  81. package/dist/components/steps.js +5 -16
  82. package/dist/components/tabs.d.ts +7 -21
  83. package/dist/components/tabs.d.ts.map +1 -0
  84. package/dist/components/tabs.js +61 -171
  85. package/dist/components/type-table.d.ts +5 -6
  86. package/dist/components/type-table.d.ts.map +1 -0
  87. package/dist/components/type-table.js +18 -59
  88. package/dist/components/ui/button.d.ts +5 -0
  89. package/dist/components/ui/button.d.ts.map +1 -0
  90. package/dist/components/ui/button.js +14 -0
  91. package/dist/components/ui/collapsible.d.ts +6 -0
  92. package/dist/components/ui/collapsible.d.ts.map +1 -0
  93. package/dist/components/ui/collapsible.js +12 -0
  94. package/dist/components/ui/navigation-menu.d.ts +11 -0
  95. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  96. package/dist/components/ui/navigation-menu.js +15 -0
  97. package/dist/components/ui/popover.d.ts +8 -0
  98. package/dist/components/ui/popover.d.ts.map +1 -0
  99. package/dist/components/ui/popover.js +11 -0
  100. package/dist/components/ui/scroll-area.d.ts +7 -0
  101. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  102. package/dist/components/ui/scroll-area.js +11 -0
  103. package/dist/components/ui/tabs.d.ts +8 -0
  104. package/dist/components/ui/tabs.d.ts.map +1 -0
  105. package/dist/components/ui/tabs.js +16 -0
  106. package/dist/{i18n-Db2HAPOu.d.ts → contexts/i18n.d.ts} +9 -5
  107. package/dist/contexts/i18n.d.ts.map +1 -0
  108. package/dist/contexts/i18n.js +23 -0
  109. package/dist/contexts/search.d.ts +50 -0
  110. package/dist/contexts/search.d.ts.map +1 -0
  111. package/dist/contexts/search.js +50 -0
  112. package/dist/contexts/sidebar.d.ts +18 -0
  113. package/dist/contexts/sidebar.d.ts.map +1 -0
  114. package/dist/contexts/sidebar.js +31 -0
  115. package/dist/contexts/tree.d.ts +13 -0
  116. package/dist/contexts/tree.d.ts.map +1 -0
  117. package/dist/contexts/tree.js +25 -0
  118. package/dist/i18n.d.ts +5 -6
  119. package/dist/i18n.d.ts.map +1 -0
  120. package/dist/i18n.js +31 -49
  121. package/dist/layouts/docs/navbar.d.ts +4 -0
  122. package/dist/layouts/docs/navbar.d.ts.map +1 -0
  123. package/dist/layouts/docs/navbar.js +22 -0
  124. package/dist/layouts/docs/sidebar.d.ts +40 -0
  125. package/dist/layouts/docs/sidebar.d.ts.map +1 -0
  126. package/dist/layouts/docs/sidebar.js +146 -0
  127. package/dist/layouts/docs.client.d.ts +14 -25
  128. package/dist/layouts/docs.client.d.ts.map +1 -0
  129. package/dist/layouts/docs.client.js +53 -195
  130. package/dist/layouts/docs.d.ts +34 -19
  131. package/dist/layouts/docs.d.ts.map +1 -0
  132. package/dist/layouts/docs.js +67 -202
  133. package/dist/layouts/home/menu.d.ts +6 -0
  134. package/dist/layouts/home/menu.d.ts.map +1 -0
  135. package/dist/layouts/home/menu.js +33 -0
  136. package/dist/layouts/home/navbar.d.ts +16 -0
  137. package/dist/layouts/home/navbar.d.ts.map +1 -0
  138. package/dist/layouts/home/navbar.js +48 -0
  139. package/dist/layouts/home.d.ts +5 -7
  140. package/dist/layouts/home.d.ts.map +1 -0
  141. package/dist/layouts/home.js +51 -59
  142. package/dist/layouts/links.d.ts +80 -0
  143. package/dist/layouts/links.d.ts.map +1 -0
  144. package/dist/layouts/links.js +14 -0
  145. package/dist/layouts/shared.d.ts +48 -2
  146. package/dist/layouts/shared.d.ts.map +1 -0
  147. package/dist/layouts/shared.js +27 -9
  148. package/dist/mdx.client.d.ts +3 -6
  149. package/dist/mdx.client.d.ts.map +1 -0
  150. package/dist/mdx.client.js +12 -19
  151. package/dist/mdx.d.ts +18 -20
  152. package/dist/mdx.d.ts.map +1 -0
  153. package/dist/mdx.js +47 -56
  154. package/dist/og.d.ts +6 -7
  155. package/dist/og.d.ts.map +1 -0
  156. package/dist/og.js +43 -102
  157. package/dist/page.client.d.ts +8 -41
  158. package/dist/page.client.d.ts.map +1 -0
  159. package/dist/page.client.js +71 -261
  160. package/dist/page.d.ts +28 -30
  161. package/dist/page.d.ts.map +1 -0
  162. package/dist/page.js +80 -168
  163. package/dist/provider.d.ts +12 -72
  164. package/dist/provider.d.ts.map +1 -0
  165. package/dist/provider.js +19 -55
  166. package/dist/style.css +1 -1
  167. package/dist/tailwind-plugin.d.ts +9 -20
  168. package/dist/tailwind-plugin.d.ts.map +1 -0
  169. package/dist/tailwind-plugin.js +191 -699
  170. package/dist/theme/animations.d.ts +170 -0
  171. package/dist/theme/animations.d.ts.map +1 -0
  172. package/dist/theme/animations.js +95 -0
  173. package/dist/theme/colors.d.ts +11 -0
  174. package/dist/theme/colors.d.ts.map +1 -0
  175. package/dist/theme/colors.js +327 -0
  176. package/dist/theme/typography.d.ts +70 -0
  177. package/dist/theme/typography.d.ts.map +1 -0
  178. package/dist/theme/typography.js +71 -0
  179. package/dist/utils/cn.d.ts +2 -0
  180. package/dist/utils/cn.d.ts.map +1 -0
  181. package/dist/utils/cn.js +1 -0
  182. package/dist/utils/get-sidebar-tabs.d.ts +7 -0
  183. package/dist/utils/get-sidebar-tabs.d.ts.map +1 -0
  184. package/dist/utils/get-sidebar-tabs.js +20 -0
  185. package/dist/utils/is-active.d.ts +2 -0
  186. package/dist/utils/is-active.d.ts.map +1 -0
  187. package/dist/utils/is-active.js +3 -0
  188. package/dist/utils/use-copy-button.d.ts +3 -0
  189. package/dist/utils/use-copy-button.d.ts.map +1 -0
  190. package/dist/utils/use-copy-button.js +25 -0
  191. package/package.json +9 -9
  192. package/dist/chunk-27HFSL7N.js +0 -53
  193. package/dist/chunk-2FLZOPQN.js +0 -54
  194. package/dist/chunk-2KMKNVSN.js +0 -29
  195. package/dist/chunk-AFMXKA2S.js +0 -125
  196. package/dist/chunk-CDPVENXR.js +0 -8
  197. package/dist/chunk-CLF6ZVYS.js +0 -259
  198. package/dist/chunk-DGKCMOIC.js +0 -56
  199. package/dist/chunk-DN6Z5VW6.js +0 -61
  200. package/dist/chunk-E3VO2QQT.js +0 -29
  201. package/dist/chunk-EFMHXXHW.js +0 -24
  202. package/dist/chunk-F534DZID.js +0 -43
  203. package/dist/chunk-GHOAONNQ.js +0 -48
  204. package/dist/chunk-IL64LMKR.js +0 -82
  205. package/dist/chunk-ILBYBJ5C.js +0 -38
  206. package/dist/chunk-IVBHRX3O.js +0 -31
  207. package/dist/chunk-J6XGK6ZG.js +0 -212
  208. package/dist/chunk-KZTWSBYY.js +0 -68
  209. package/dist/chunk-MCX7E6ZW.js +0 -57
  210. package/dist/chunk-MLKGABMK.js +0 -9
  211. package/dist/chunk-QKOA6KEZ.js +0 -22
  212. package/dist/chunk-TK3TM3MR.js +0 -6
  213. package/dist/chunk-TQJ6YPJ3.js +0 -31
  214. package/dist/chunk-UUGCW3UP.js +0 -84
  215. package/dist/chunk-VPJMNIJX.js +0 -542
  216. package/dist/chunk-W36BQGMB.js +0 -69
  217. package/dist/chunk-YL3MZH7N.js +0 -66
  218. package/dist/chunk-ZBOI25UW.js +0 -139
  219. package/dist/components/api.client.d.ts +0 -5
  220. package/dist/components/api.client.js +0 -8
  221. package/dist/dynamic-sidebar-SYEETGZL.js +0 -129
  222. package/dist/edit-on-github-FIYOWWPQ.js +0 -49
  223. package/dist/layouts/home.client.d.ts +0 -11
  224. package/dist/layouts/home.client.js +0 -274
  225. package/dist/shared-SScCiV7b.d.ts +0 -152
  226. package/dist/sidebar-CQ4HmzQl.d.ts +0 -50
  227. package/dist/tag-list-BsEgfE3x.d.ts +0 -6
  228. package/dist/toc-clerk-SKE4LBT7.js +0 -158
  229. package/dist/tree-06ley65N.d.ts +0 -21
@@ -1,710 +1,202 @@
1
- import "./chunk-MLKGABMK.js";
2
-
3
- // src/tailwind-plugin.ts
4
- import typography2 from "@tailwindcss/typography";
5
- import plugin from "tailwindcss/plugin";
6
-
7
- // src/theme/colors.ts
8
- var defaultPreset = {
9
- light: {
10
- background: "0 0% 98%",
11
- foreground: "0 0% 3.9%",
12
- muted: "0 0% 96.1%",
13
- "muted-foreground": "0 0% 45.1%",
14
- popover: "0 0% 100%",
15
- "popover-foreground": "0 0% 15.1%",
16
- card: "0 0% 99.7%",
17
- "card-foreground": "0 0% 3.9%",
18
- border: "0 0% 89.8%",
19
- primary: "0 0% 9%",
20
- "primary-foreground": "0 0% 98%",
21
- secondary: "0 0% 96.1%",
22
- "secondary-foreground": "0 0% 9%",
23
- accent: "0 0% 94.1%",
24
- "accent-foreground": "0 0% 9%",
25
- ring: "0 0% 63.9%"
26
- },
27
- dark: {
28
- background: "0 0% 3.9%",
29
- foreground: "0 0% 94%",
30
- muted: "0 0% 12.9%",
31
- "muted-foreground": "0 0% 60.9%",
32
- popover: "0 0% 7%",
33
- "popover-foreground": "0 0% 88%",
34
- card: "0 0% 6.0%",
35
- "card-foreground": "0 0% 98%",
36
- border: "0 0% 15%",
37
- primary: "0 0% 98%",
38
- "primary-foreground": "0 0% 9%",
39
- secondary: "0 0% 12.9%",
40
- "secondary-foreground": "0 0% 98%",
41
- accent: "0 0% 12.9%",
42
- "accent-foreground": "0 0% 98%",
43
- ring: "0 0% 14.9%"
44
- }
45
- };
46
- var oceanPreset = {
47
- light: {
48
- background: "0 0% 98%",
49
- foreground: "0 0% 3.9%",
50
- muted: "220 90% 96.1%",
51
- "muted-foreground": "0 0% 45.1%",
52
- popover: "0 0% 98%",
53
- "popover-foreground": "0 0% 15.1%",
54
- card: "220 50% 98%",
55
- "card-foreground": "0 0% 3.9%",
56
- border: "220 50% 89.8%",
57
- primary: "210 80% 20.2%",
58
- "primary-foreground": "0 0% 98%",
59
- secondary: "220 90% 96.1%",
60
- "secondary-foreground": "0 0% 9%",
61
- accent: "220 50% 94.1%",
62
- "accent-foreground": "0 0% 9%",
63
- ring: "220 100% 63.9%"
64
- },
65
- dark: {
66
- "card-foreground": "220 60% 94.5%",
67
- "primary-foreground": "0 0% 9%",
68
- "secondary-foreground": "220 80% 90%",
69
- ring: "205 100% 85%",
70
- card: "220 50% 10%",
71
- muted: "220 50% 10%",
72
- "muted-foreground": "220 30% 65%",
73
- "accent-foreground": "220 80% 90%",
74
- popover: "220 50% 10%",
75
- "popover-foreground": "220 30% 65%",
76
- accent: "220 40% 20%",
77
- secondary: "220 50% 20%",
78
- background: "220 60% 6%",
79
- foreground: "220 60% 94.5%",
80
- primary: "205 100% 85%",
81
- border: "220 50% 20%"
82
- },
83
- css: {
84
- ".dark body": {
85
- "background-image": "linear-gradient(rgba(5, 105, 255, 0.15), transparent 20rem, transparent)",
86
- "background-repeat": "no-repeat"
87
- }
88
- }
89
- };
90
- var neutral = {
91
- light: {
92
- background: "0 0% 96%",
93
- foreground: "0 0% 3.9%",
94
- muted: "0 0% 96.1%",
95
- "muted-foreground": "0 0% 45.1%",
96
- popover: "0 0% 100%",
97
- "popover-foreground": "0 0% 15.1%",
98
- card: "0 0% 94.7%",
99
- "card-foreground": "0 0% 3.9%",
100
- border: "0 0% 89.8%",
101
- primary: "0 0% 9%",
102
- "primary-foreground": "0 0% 98%",
103
- secondary: "0 0% 93.1%",
104
- "secondary-foreground": "0 0% 9%",
105
- accent: "0 0% 90.1%",
106
- "accent-foreground": "0 0% 9%",
107
- ring: "0 0% 63.9%"
108
- },
109
- dark: {
110
- background: "0 0% 8.9%",
111
- foreground: "0 0% 92%",
112
- muted: "0 0% 12.9%",
113
- "muted-foreground": "0 0% 60.9%",
114
- popover: "0 0% 9.8%",
115
- "popover-foreground": "0 0% 88%",
116
- card: "0 0% 10%",
117
- "card-foreground": "0 0% 98%",
118
- border: "0 0% 18%",
119
- primary: "0 0% 98%",
120
- "primary-foreground": "0 0% 9%",
121
- secondary: "0 0% 12.9%",
122
- "secondary-foreground": "0 0% 98%",
123
- accent: "0 0% 16.9%",
124
- "accent-foreground": "0 0% 90%",
125
- ring: "0 0% 14.9%"
126
- },
127
- css: {
128
- "#nd-sidebar": {
129
- "--muted": "0deg 0% 89%",
130
- "--secondary": "0deg 0% 99%",
131
- "--muted-foreground": "0 0% 30%"
132
- },
133
- ".dark #nd-sidebar": {
134
- "--muted": "0deg 0% 16%",
135
- "--secondary": "0deg 0% 18%",
136
- "--muted-foreground": "0 0% 72%"
137
- }
138
- }
139
- };
140
- var catppuccin = {
141
- light: {
142
- popover: "220deg 22% 92%",
143
- "popover-foreground": "234deg 16% 35%",
144
- "secondary-foreground": "234deg 16% 35%",
145
- border: "223deg 16% 83%",
146
- primary: "266deg 85% 58%",
147
- "primary-foreground": "234deg 16% 35%",
148
- muted: "220deg 22% 92%",
149
- card: "220deg 22% 92%",
150
- accent: "223deg 16% 83%",
151
- "accent-foreground": "234deg 16% 35%",
152
- "card-foreground": "234deg 16% 35%",
153
- "muted-foreground": "233deg 10% 47%",
154
- foreground: "234deg 16% 35%",
155
- secondary: "220deg 22% 92%",
156
- background: "220deg 23% 95%",
157
- ring: "267deg 84% 81%"
158
- },
159
- dark: {
160
- ring: "267deg 84% 81%",
161
- primary: "267deg 84% 81%",
162
- background: "240deg 21% 15%",
163
- foreground: "226deg 64% 88%",
164
- popover: "240deg 23% 9%",
165
- card: "240deg 21% 12%",
166
- muted: "240deg 21% 12%",
167
- border: "237deg 16% 23%",
168
- accent: "237deg 16% 23%",
169
- secondary: "240deg 21% 12%",
170
- "primary-foreground": "240deg 23% 9%",
171
- "card-foreground": "226deg 64% 88%",
172
- "secondary-foreground": "226deg 64% 88%",
173
- "popover-foreground": "226deg 64% 88%",
174
- "accent-foreground": "226deg 64% 88%",
175
- "muted-foreground": "228deg 24% 72%"
176
- },
177
- css: {
178
- "#nd-sidebar": {
179
- "--secondary": "223deg 16% 83%",
180
- "--muted": "223deg 16% 83%"
181
- },
182
- ".dark #nd-sidebar": {
183
- "--secondary": "237deg 16% 23%",
184
- "--muted": "237deg 16% 23%"
185
- }
186
- }
187
- };
188
- var purple = {
189
- light: {
190
- background: "256 100% 96%",
191
- primary: "270 100% 52%",
192
- border: "270 40% 80%",
193
- accent: "270 60% 86%",
194
- "accent-foreground": "270 100% 20%",
195
- muted: "256 60% 94%",
196
- "muted-foreground": "256 50% 50%",
197
- foreground: "256 60% 26%",
198
- secondary: "270 60% 90%",
199
- "secondary-foreground": "256 60% 10%",
200
- card: "256 60% 92%",
201
- "card-foreground": "256 100% 20%",
202
- "popover-foreground": "256 100% 20%",
203
- popover: "256 60% 96%",
204
- "primary-foreground": "270 100% 20%",
205
- ring: "270 100% 52%"
206
- },
207
- dark: {
208
- background: "256 60% 6%",
209
- primary: "270 100% 86%",
210
- border: "270 100% 20%",
211
- accent: "256 60% 26%",
212
- "accent-foreground": "270 100% 86%",
213
- muted: "256 60% 10%",
214
- foreground: "256 60% 90%",
215
- "muted-foreground": "256 50% 75%",
216
- secondary: "270 100% 20%",
217
- "secondary-foreground": "256 60% 90%",
218
- card: "256 60% 10%",
219
- "card-foreground": "256 60% 90%",
220
- "popover-foreground": "256 60% 90%",
221
- popover: "256 60% 6%",
222
- "primary-foreground": "256 60% 6%",
223
- ring: "270 100% 86%"
224
- }
225
- };
226
- var dusk = {
227
- light: {
228
- background: "250 20% 92%",
229
- primary: "340 40% 48%",
230
- border: "240 40% 90%",
231
- accent: "250 30% 90%",
232
- "accent-foreground": "250 20% 20%",
233
- muted: "240 30% 94%",
234
- "muted-foreground": "240 10% 50%",
235
- foreground: "220 20% 30%",
236
- secondary: "250 40% 94%",
237
- "secondary-foreground": "240 40% 10%",
238
- card: "250 20% 92%",
239
- "card-foreground": "250 20% 20%",
240
- "popover-foreground": "250 40% 20%",
241
- popover: "250 40% 96%",
242
- "primary-foreground": "240 80% 20%",
243
- ring: "340 40% 48%"
244
- },
245
- dark: {
246
- ring: "340 100% 90%",
247
- "primary-foreground": "240 40% 4%",
248
- popover: "240 20% 5%",
249
- "popover-foreground": "250 20% 90%",
250
- primary: "340 100% 90%",
251
- border: "220 15% 15%",
252
- background: "220 15% 6%",
253
- foreground: "220 15% 87%",
254
- muted: "220 20% 15%",
255
- "muted-foreground": "220 15% 60%",
256
- accent: "250 20% 15%",
257
- secondary: "240 20% 15%",
258
- "card-foreground": "240 15% 87%",
259
- card: "240 20% 5%",
260
- "secondary-foreground": "250 20% 90%",
261
- "accent-foreground": "340 5% 90%"
262
- },
263
- css: {
264
- "#nd-sidebar": {
265
- backgroundColor: "hsl(250 20% 90%)"
266
- },
267
- ".dark #nd-sidebar": {
268
- backgroundColor: "hsl(240 20% 5%)"
269
- }
270
- }
271
- };
272
- var vitepress = {
273
- light: {
274
- ...defaultPreset.light,
275
- background: "0 0% 100%",
276
- card: "0 0% 100%",
277
- foreground: "240 6% 25%",
278
- "muted-foreground": "240 6% 50%",
279
- secondary: "240 6% 97%",
280
- "accent-foreground": "240 6% 25%",
281
- primary: "226 55% 45%"
282
- },
283
- dark: {
284
- ring: "234 100% 83%",
285
- primary: "234 100% 83%",
286
- "secondary-foreground": "60 100% 98%",
287
- "card-foreground": "60 100% 98%",
288
- background: "240 7% 11%",
289
- foreground: "60 100% 98%",
290
- popover: "240 7% 11%",
291
- "popover-foreground": "60 100% 98%",
292
- "primary-foreground": "240 7% 11%",
293
- card: "240 7% 11%",
294
- muted: "0 0% 13%",
295
- border: "240 4% 19%",
296
- accent: "0 0% 15%",
297
- secondary: "240 4% 9%",
298
- "accent-foreground": "0 0% 100%",
299
- "muted-foreground": "240 4% 65%"
300
- },
301
- css: {
302
- ".prose": {
303
- "--tw-prose-body": "theme(colors.fd-foreground / 85%)",
304
- "--tw-prose-headings": "theme(colors.fd-foreground / 85%)",
305
- "--tw-prose-links": "theme(colors.fd-primary.DEFAULT)",
306
- "--tw-prose-code": "theme(colors.fd-primary.DEFAULT)"
307
- },
308
- '.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))': {
309
- border: "none",
310
- backgroundColor: "theme(colors.fd-primary.DEFAULT / 10%)"
311
- },
312
- "#nd-sidebar": {
313
- backgroundColor: "hsl(240 6% 97%)"
314
- },
315
- ".dark #nd-sidebar": {
316
- backgroundColor: "hsl(240 4% 9%)"
317
- },
318
- "#nd-sidebar > div": {
319
- borderColor: "transparent"
320
- },
321
- "button[data-search-full]": {
322
- backgroundColor: "theme(colors.fd-background)"
323
- }
324
- }
325
- };
326
- var presets = {
327
- vitepress,
328
- purple,
329
- default: defaultPreset,
330
- ocean: oceanPreset,
331
- catppuccin,
332
- neutral,
333
- dusk
334
- };
335
-
336
- // src/theme/animations.ts
337
- var animations = {
338
- keyframes: {
339
- "fd-collapsible-down": {
340
- from: { height: "0", opacity: "0" },
341
- to: {
342
- height: "var(--radix-collapsible-content-height)"
343
- }
344
- },
345
- "fd-collapsible-up": {
346
- from: {
347
- height: "var(--radix-collapsible-content-height)"
348
- },
349
- to: { height: "0", opacity: "0" }
350
- },
351
- "fd-accordion-down": {
352
- from: { height: "0", opacity: "0.5" },
353
- to: { height: "var(--radix-accordion-content-height)" }
354
- },
355
- "fd-accordion-up": {
356
- from: { height: "var(--radix-accordion-content-height)" },
357
- to: { height: "0", opacity: "0.5" }
358
- },
359
- "fd-dialog-in": {
360
- from: { transform: "scale(0.95) translate(-50%, 0)", opacity: "0" },
361
- to: { transform: "scale(1) translate(-50%, 0)" }
362
- },
363
- "fd-dialog-out": {
364
- from: { transform: "scale(1) translate(-50%, 0)" },
365
- to: { transform: "scale(0.95) translateY(-50%, 0)", opacity: "0" }
366
- },
367
- "fd-popover-in": {
368
- from: { opacity: "0", transform: "scale(0.95) translateY(-10px)" },
369
- to: { opacity: "1", transform: "scale(1) translateY(0)" }
370
- },
371
- "fd-popover-out": {
372
- from: { opacity: "1", transform: "scale(1) translateY(0)" },
373
- to: { opacity: "0", transform: "scale(0.95) translateY(-10px)" }
374
- },
375
- "fd-fade-in": {
376
- from: { opacity: "0" },
377
- to: { opacity: "1" }
378
- },
379
- "fd-fade-out": {
380
- to: { opacity: "0" }
381
- },
382
- "fd-enterFromRight": {
383
- from: { opacity: "0", transform: "translateX(200px)" },
384
- to: { opacity: "1", transform: "translateX(0)" }
385
- },
386
- "fd-enterFromLeft": {
387
- from: { opacity: "0", transform: "translateX(-200px)" },
388
- to: { opacity: "1", transform: "translateX(0)" }
389
- },
390
- "fd-exitToRight": {
391
- from: { opacity: "1", transform: "translateX(0)" },
392
- to: { opacity: "0", transform: "translateX(200px)" }
393
- },
394
- "fd-exitToLeft": {
395
- from: { opacity: "1", transform: "translateX(0)" },
396
- to: { opacity: "0", transform: "translateX(-200px)" }
397
- },
398
- "fd-nav-menu-in": {
399
- from: { opacity: "0", height: "0px" },
400
- to: {
401
- opacity: "1",
402
- height: "var(--radix-navigation-menu-viewport-height)"
403
- }
404
- },
405
- "fd-nav-menu-out": {
406
- from: {
407
- opacity: "1",
408
- height: "var(--radix-navigation-menu-viewport-height)"
409
- },
410
- to: { opacity: "0", height: "0px" }
411
- }
412
- },
413
- animation: {
414
- "fd-fade-in": "fd-fade-in 300ms ease",
415
- "fd-fade-out": "fd-fade-out 300ms ease",
416
- "fd-dialog-in": "fd-dialog-in 200ms cubic-bezier(0.32, 0.72, 0, 1)",
417
- "fd-dialog-out": "fd-dialog-out 300ms cubic-bezier(0.32, 0.72, 0, 1)",
418
- "fd-popover-in": "fd-popover-in 150ms ease",
419
- "fd-popover-out": "fd-popover-out 150ms ease",
420
- "fd-collapsible-down": "fd-collapsible-down 150ms ease-out",
421
- "fd-collapsible-up": "fd-collapsible-up 150ms ease-out",
422
- "fd-accordion-down": "fd-accordion-down 200ms ease-out",
423
- "fd-accordion-up": "fd-accordion-up 200ms ease-out",
424
- "fd-nav-menu-in": "fd-nav-menu-in 200ms ease",
425
- "fd-nav-menu-out": "fd-nav-menu-out 200ms ease",
426
- "fd-enterFromLeft": "fd-enterFromLeft 250ms ease",
427
- "fd-enterFromRight": "fd-enterFromRight 250ms ease",
428
- "fd-exitToLeft": "fd-exitToLeft 250ms ease",
429
- "fd-exitToRight": "fd-exitToRight 250ms ease"
430
- }
431
- };
432
-
433
- // src/theme/typography.ts
434
- var typography = {
435
- css: {
436
- "--tw-prose-body": `theme('colors.fd-foreground / 90%')`,
437
- "--tw-prose-headings": `theme('colors.fd-foreground')`,
438
- "--tw-prose-lead": `theme('colors.fd-foreground')`,
439
- "--tw-prose-links": `theme('colors.fd-foreground')`,
440
- "--tw-prose-bold": `theme('colors.fd-foreground')`,
441
- "--tw-prose-counters": `theme('colors.fd-muted.foreground')`,
442
- "--tw-prose-bullets": `theme('colors.fd-muted.foreground')`,
443
- "--tw-prose-hr": `theme('colors.fd-border')`,
444
- "--tw-prose-quotes": `theme('colors.fd-foreground')`,
445
- "--tw-prose-quote-borders": `theme('colors.fd-border')`,
446
- "--tw-prose-captions": `theme('colors.fd-foreground')`,
447
- "--tw-prose-code": `theme('colors.fd-foreground')`,
448
- "--tw-prose-th-borders": `theme('colors.fd-border')`,
449
- "--tw-prose-td-borders": `theme('colors.fd-border')`,
450
- "--tw-prose-kbd": `theme('colors.fd-foreground')`,
451
- "--tw-prose-kbd-shadows": `theme('colors.fd-primary.DEFAULT / 50%')`,
452
- // not used
453
- "--tw-prose-pre-bg": false,
454
- "--tw-prose-pre-code": false,
455
- fontSize: "16px",
456
- maxWidth: "none",
457
- a: false,
458
- "a:hover": false,
459
- "a:not([data-card])": {
460
- color: "var(--tw-prose-links)",
461
- transition: "opacity 0.3s",
462
- fontWeight: "400",
463
- textDecoration: "underline",
464
- textUnderlineOffset: "2px",
465
- textDecorationColor: `theme('colors.fd-primary.DEFAULT')`
466
- },
467
- "a:not([data-card]):hover": {
468
- opacity: "80%"
469
- },
470
- table: {
471
- fontSize: "14px"
472
- },
473
- "thead th": {
474
- textAlign: "start"
475
- },
476
- h2: {
477
- fontWeight: "600"
478
- },
479
- code: {
480
- padding: "3px",
481
- border: "solid 1px",
482
- fontSize: "13px",
483
- borderColor: `theme('colors.fd-border')`,
484
- borderRadius: "5px",
485
- fontWeight: "400",
486
- background: `theme('colors.fd-muted.DEFAULT')`
487
- },
488
- kbd: {
489
- boxShadow: "0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows)"
490
- },
491
- ul: {
492
- paddingInlineStart: "1rem"
493
- },
494
- "ul > li": {
495
- paddingInlineStart: "0"
496
- },
497
- // Disabled styles, handled by Fumadocs UI
498
- "pre code": false,
499
- "pre code::after": false,
500
- "pre code::before": false,
501
- "code::after": false,
502
- "code::before": false
503
- }
504
- };
505
-
506
- // src/tailwind-plugin.ts
1
+ import typography from '@tailwindcss/typography';
2
+ import plugin from 'tailwindcss/plugin';
3
+ import { presets } from './theme/colors';
4
+ import { animations } from './theme/animations';
5
+ import { typography as typographyConfig } from './theme/typography';
507
6
  function getThemeStyles(prefix, theme) {
508
- return Object.fromEntries(
509
- Object.entries(theme).map(([k, v]) => [variableName(prefix, k), v])
510
- );
7
+ return Object.fromEntries(Object.entries(theme).map(([k, v]) => [variableName(prefix, k), v]));
511
8
  }
512
9
  function variableName(prefix, name) {
513
- return `--${[prefix, name].filter(Boolean).join("-")}`;
10
+ return `--${[prefix, name].filter(Boolean).join('-')}`;
514
11
  }
515
12
  function createTailwindColors(prefix, cloneToGlobal) {
516
- function colorToCSS(name) {
517
- return `hsl(var(${variableName(prefix, name)}) / <alpha-value>)`;
518
- }
519
- const v = /* @__PURE__ */ new Map();
520
- for (const key of ["background", "foreground", "ring", "border"]) {
521
- const value = colorToCSS(key);
522
- v.set(`fd-${key}`, value);
523
- if (cloneToGlobal) v.set(key, value);
524
- }
525
- for (const key of [
526
- "popover",
527
- "primary",
528
- "secondary",
529
- "accent",
530
- "muted",
531
- "card"
532
- ]) {
533
- const value = {
534
- DEFAULT: colorToCSS(key),
535
- foreground: colorToCSS(`${key}-foreground`)
536
- };
537
- v.set(`fd-${key}`, value);
538
- if (cloneToGlobal) v.set(key, value);
539
- }
540
- return Object.fromEntries(v.entries());
13
+ function colorToCSS(name) {
14
+ return `hsl(var(${variableName(prefix, name)}) / <alpha-value>)`;
15
+ }
16
+ const v = new Map();
17
+ for (const key of ['background', 'foreground', 'ring', 'border']) {
18
+ const value = colorToCSS(key);
19
+ v.set(`fd-${key}`, value);
20
+ if (cloneToGlobal)
21
+ v.set(key, value);
22
+ }
23
+ for (const key of [
24
+ 'popover',
25
+ 'primary',
26
+ 'secondary',
27
+ 'accent',
28
+ 'muted',
29
+ 'card',
30
+ ]) {
31
+ const value = {
32
+ DEFAULT: colorToCSS(key),
33
+ foreground: colorToCSS(`${key}-foreground`),
34
+ };
35
+ v.set(`fd-${key}`, value);
36
+ if (cloneToGlobal)
37
+ v.set(key, value);
38
+ }
39
+ return Object.fromEntries(v.entries());
541
40
  }
542
- var docsUi = plugin.withOptions(
543
- ({ cssPrefix = "", preset = "default", layoutWidth = "100vw" } = {}) => {
41
+ export const docsUi = plugin.withOptions(({ cssPrefix = '', preset = 'default', layoutWidth = '100vw' } = {}) => {
544
42
  return ({ addBase, addComponents, addUtilities }) => {
545
- const { light, dark, css } = typeof preset === "string" ? presets[preset] : preset;
546
- addBase({
547
- ":root": {
548
- ...getThemeStyles(cssPrefix, light),
549
- "--fd-sidebar-width": "0px",
550
- "--fd-toc-width": "0px",
551
- "--fd-layout-width": layoutWidth,
552
- "--fd-banner-height": "0px",
553
- "--fd-nav-height": "0px",
554
- "--fd-diff-remove-color": "rgba(200,10,100,0.12)",
555
- "--fd-diff-remove-symbol-color": "rgb(230,10,100)",
556
- "--fd-diff-add-color": "rgba(14,180,100,0.12)",
557
- "--fd-diff-add-symbol-color": "rgb(10,200,100)"
558
- },
559
- ".dark": getThemeStyles(cssPrefix, dark),
560
- "*": {
561
- "border-color": `theme('colors.fd-border')`
562
- },
563
- body: {
564
- "background-color": `theme('colors.fd-background')`,
565
- color: `theme('colors.fd-foreground')`
566
- },
567
- "@screen md": {
568
- ":root": {
569
- "--fd-sidebar-width": "260px"
570
- }
571
- },
572
- "@screen lg": {
573
- ":root": {
574
- "--fd-toc-width": "240px"
575
- }
576
- },
577
- "@screen xl": {
578
- ":root": { "--fd-toc-width": "260px" }
579
- }
580
- });
581
- if (css) addComponents(css);
582
- addBase({
583
- ".shiki code span": {
584
- color: "var(--shiki-light)"
585
- },
586
- ".dark .shiki code span": {
587
- color: "var(--shiki-dark)"
588
- },
589
- ".fd-codeblock code": {
590
- display: "grid",
591
- "font-size": "13px"
592
- },
593
- ".shiki code .diff.remove": {
594
- backgroundColor: "var(--fd-diff-remove-color)",
595
- opacity: "0.7"
596
- },
597
- ".shiki code .diff::before": {
598
- position: "absolute",
599
- left: "6px"
600
- },
601
- ".shiki code .diff.remove::before": {
602
- content: "'-'",
603
- color: "var(--fd-diff-remove-symbol-color)"
604
- },
605
- ".shiki code .diff.add": {
606
- backgroundColor: "var(--fd-diff-add-color)"
607
- },
608
- ".shiki code .diff.add::before": {
609
- content: "'+'",
610
- color: "var(--fd-diff-add-symbol-color)"
611
- },
612
- ".shiki code .diff": {
613
- margin: "0 -16px",
614
- padding: "0 16px",
615
- position: "relative"
616
- },
617
- ".shiki .highlighted": {
618
- margin: "0 -16px",
619
- padding: "0 16px",
620
- backgroundColor: `theme('colors.fd-primary.DEFAULT / 10%')`
621
- },
622
- ".shiki .highlighted-word": {
623
- padding: "1px 2px",
624
- margin: "-1px -3px",
625
- border: "1px solid",
626
- borderColor: `theme('colors.fd-primary.DEFAULT / 50%')`,
627
- backgroundColor: `theme('colors.fd-primary.DEFAULT / 10%')`,
628
- borderRadius: "2px"
629
- }
630
- });
631
- addUtilities({
632
- ".steps": {
633
- "counter-reset": "step",
634
- "border-left-width": "1px",
635
- "margin-left": "1rem",
636
- "padding-left": "1.75rem",
637
- position: "relative"
638
- },
639
- ".step:before": {
640
- "background-color": `theme('colors.fd-secondary.DEFAULT')`,
641
- color: `theme('colors.fd-secondary.foreground')`,
642
- content: "counter(step)",
643
- "counter-increment": "step",
644
- "border-radius": `theme('borderRadius.full')`,
645
- "justify-content": "center",
646
- "align-items": "center",
647
- width: "2rem",
648
- height: "2rem",
649
- "font-size": ".875rem",
650
- "line-height": "1.25rem",
651
- display: "flex",
652
- position: "absolute",
653
- left: "-1rem"
654
- },
655
- ".prose-no-margin": {
656
- "& > :first-child": {
657
- marginTop: "0"
658
- },
659
- "& > :last-child": {
660
- marginBottom: "0"
661
- }
662
- }
663
- });
43
+ const { light, dark, css } = typeof preset === 'string' ? presets[preset] : preset;
44
+ addBase({
45
+ ':root': {
46
+ ...getThemeStyles(cssPrefix, light),
47
+ '--fd-sidebar-width': '0px',
48
+ '--fd-toc-width': '0px',
49
+ '--fd-layout-width': layoutWidth,
50
+ '--fd-banner-height': '0px',
51
+ '--fd-nav-height': '0px',
52
+ '--fd-diff-remove-color': 'rgba(200,10,100,0.12)',
53
+ '--fd-diff-remove-symbol-color': 'rgb(230,10,100)',
54
+ '--fd-diff-add-color': 'rgba(14,180,100,0.12)',
55
+ '--fd-diff-add-symbol-color': 'rgb(10,200,100)',
56
+ },
57
+ '.dark': getThemeStyles(cssPrefix, dark),
58
+ '*': {
59
+ 'border-color': `theme('colors.fd-border')`,
60
+ },
61
+ body: {
62
+ 'background-color': `theme('colors.fd-background')`,
63
+ color: `theme('colors.fd-foreground')`,
64
+ },
65
+ '@screen md': {
66
+ ':root': {
67
+ '--fd-sidebar-width': '260px',
68
+ },
69
+ },
70
+ '@screen lg': {
71
+ ':root': {
72
+ '--fd-toc-width': '240px',
73
+ },
74
+ },
75
+ '@screen xl': {
76
+ ':root': { '--fd-toc-width': '260px' },
77
+ },
78
+ });
79
+ if (css)
80
+ addComponents(css);
81
+ // Shiki styles
82
+ addBase({
83
+ '.shiki code span': {
84
+ color: 'var(--shiki-light)',
85
+ },
86
+ '.dark .shiki code span': {
87
+ color: 'var(--shiki-dark)',
88
+ },
89
+ '.fd-codeblock code': {
90
+ display: 'grid',
91
+ 'font-size': '13px',
92
+ },
93
+ '.shiki code .diff.remove': {
94
+ backgroundColor: 'var(--fd-diff-remove-color)',
95
+ opacity: '0.7',
96
+ },
97
+ '.shiki code .diff::before': {
98
+ position: 'absolute',
99
+ left: '6px',
100
+ },
101
+ '.shiki code .diff.remove::before': {
102
+ content: "'-'",
103
+ color: 'var(--fd-diff-remove-symbol-color)',
104
+ },
105
+ '.shiki code .diff.add': {
106
+ backgroundColor: 'var(--fd-diff-add-color)',
107
+ },
108
+ '.shiki code .diff.add::before': {
109
+ content: "'+'",
110
+ color: 'var(--fd-diff-add-symbol-color)',
111
+ },
112
+ '.shiki code .diff': {
113
+ margin: '0 -16px',
114
+ padding: '0 16px',
115
+ position: 'relative',
116
+ },
117
+ '.shiki .highlighted': {
118
+ margin: '0 -16px',
119
+ padding: '0 16px',
120
+ backgroundColor: `theme('colors.fd-primary.DEFAULT / 10%')`,
121
+ },
122
+ '.shiki .highlighted-word': {
123
+ padding: '1px 2px',
124
+ margin: '-1px -3px',
125
+ border: '1px solid',
126
+ borderColor: `theme('colors.fd-primary.DEFAULT / 50%')`,
127
+ backgroundColor: `theme('colors.fd-primary.DEFAULT / 10%')`,
128
+ borderRadius: '2px',
129
+ },
130
+ });
131
+ addUtilities({
132
+ '.steps': {
133
+ 'counter-reset': 'step',
134
+ 'border-left-width': '1px',
135
+ 'margin-left': '1rem',
136
+ 'padding-left': '1.75rem',
137
+ position: 'relative',
138
+ },
139
+ '.step:before': {
140
+ 'background-color': `theme('colors.fd-secondary.DEFAULT')`,
141
+ color: `theme('colors.fd-secondary.foreground')`,
142
+ content: 'counter(step)',
143
+ 'counter-increment': 'step',
144
+ 'border-radius': `theme('borderRadius.full')`,
145
+ 'justify-content': 'center',
146
+ 'align-items': 'center',
147
+ width: '2rem',
148
+ height: '2rem',
149
+ 'font-size': '.875rem',
150
+ 'line-height': '1.25rem',
151
+ display: 'flex',
152
+ position: 'absolute',
153
+ left: '-1rem',
154
+ },
155
+ '.prose-no-margin': {
156
+ '& > :first-child': {
157
+ marginTop: '0',
158
+ },
159
+ '& > :last-child': {
160
+ marginBottom: '0',
161
+ },
162
+ },
163
+ });
664
164
  };
665
- },
666
- ({
667
- cssPrefix = "",
668
- modifyContainer = true,
669
- addGlobalColors = false
670
- } = {}) => ({
165
+ }, ({ cssPrefix = '', modifyContainer = true, addGlobalColors = false, } = {}) => ({
671
166
  theme: {
672
- extend: {
673
- // Allow devs to use `container` to match with home layout
674
- container: modifyContainer ? {
675
- center: true,
676
- padding: "1rem",
677
- screens: {
678
- "2xl": "1400px"
679
- }
680
- } : void 0,
681
- maxWidth: {
682
- "fd-container": "1400px"
683
- },
684
- spacing: {
685
- "fd-layout-top": "calc(var(--fd-banner-height) + var(--fd-nav-height))"
167
+ extend: {
168
+ // Allow devs to use `container` to match with home layout
169
+ container: modifyContainer
170
+ ? {
171
+ center: true,
172
+ padding: '1rem',
173
+ screens: {
174
+ '2xl': '1400px',
175
+ },
176
+ }
177
+ : undefined,
178
+ maxWidth: {
179
+ 'fd-container': '1400px',
180
+ },
181
+ spacing: {
182
+ 'fd-layout-top': 'calc(var(--fd-banner-height) + var(--fd-nav-height))',
183
+ },
184
+ colors: createTailwindColors(cssPrefix, addGlobalColors),
185
+ ...animations,
186
+ },
187
+ },
188
+ }));
189
+ export function createPreset(options = {}) {
190
+ return {
191
+ darkMode: 'class',
192
+ plugins: [typography, docsUi(options)],
193
+ theme: {
194
+ extend: {
195
+ typography: {
196
+ DEFAULT: typographyConfig,
197
+ },
198
+ },
686
199
  },
687
- colors: createTailwindColors(cssPrefix, addGlobalColors),
688
- ...animations
689
- }
690
- }
691
- })
692
- );
693
- function createPreset(options = {}) {
694
- return {
695
- darkMode: "class",
696
- plugins: [typography2, docsUi(options)],
697
- theme: {
698
- extend: {
699
- typography: {
700
- DEFAULT: typography
701
- }
702
- }
703
- }
704
- };
200
+ };
705
201
  }
706
- export {
707
- createPreset,
708
- docsUi,
709
- presets
710
- };
202
+ export { presets } from './theme/colors';