blodemd 0.0.4 → 0.0.6

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 (185) hide show
  1. package/README.md +12 -1
  2. package/dev-server/app/[[...slug]]/page.tsx +139 -0
  3. package/dev-server/app/blodemd-dev/invalidate/route.ts +12 -0
  4. package/dev-server/app/blodemd-dev/static/[...path]/route.ts +32 -0
  5. package/dev-server/app/blodemd-dev/version/route.ts +14 -0
  6. package/dev-server/app/blodemd-internal/proxy/route.ts +86 -0
  7. package/dev-server/app/error.tsx +24 -0
  8. package/dev-server/app/globals.css +4 -0
  9. package/dev-server/app/layout.tsx +38 -0
  10. package/dev-server/app/not-found.tsx +18 -0
  11. package/dev-server/app/search/route.ts +17 -0
  12. package/dev-server/components/dev-reload-script.tsx +86 -0
  13. package/dev-server/components/providers.tsx +15 -0
  14. package/dev-server/lib/dev-state.ts +8 -0
  15. package/dev-server/lib/local-content-source.ts +103 -0
  16. package/dev-server/lib/local-runtime.tsx +558 -0
  17. package/dev-server/next.config.js +46 -0
  18. package/dev-server/package.json +57 -0
  19. package/dev-server/postcss.config.mjs +7 -0
  20. package/dev-server/public/glide-variable.woff2 +0 -0
  21. package/dev-server/tsconfig.json +49 -0
  22. package/dist/cli.mjs +299 -26
  23. package/dist/cli.mjs.map +1 -1
  24. package/docs/app/globals.css +455 -0
  25. package/docs/components/api/api-playground.tsx +295 -0
  26. package/docs/components/api/api-reference.tsx +121 -0
  27. package/docs/components/content/collection-index.tsx +114 -0
  28. package/docs/components/docs/contextual-menu.tsx +406 -0
  29. package/docs/components/docs/copy-page-menu.tsx +255 -0
  30. package/docs/components/docs/doc-header.tsx +192 -0
  31. package/docs/components/docs/doc-shell.tsx +289 -0
  32. package/docs/components/docs/doc-sidebar.tsx +206 -0
  33. package/docs/components/docs/doc-toc.tsx +45 -0
  34. package/docs/components/docs/mobile-nav.tsx +207 -0
  35. package/docs/components/mdx/accordion.tsx +83 -0
  36. package/docs/components/mdx/badge.tsx +79 -0
  37. package/docs/components/mdx/callout.tsx +88 -0
  38. package/docs/components/mdx/card.tsx +104 -0
  39. package/docs/components/mdx/code-block.tsx +75 -0
  40. package/docs/components/mdx/code-group.tsx +94 -0
  41. package/docs/components/mdx/color.tsx +87 -0
  42. package/docs/components/mdx/columns.tsx +25 -0
  43. package/docs/components/mdx/expandable.tsx +45 -0
  44. package/docs/components/mdx/field-layout.tsx +77 -0
  45. package/docs/components/mdx/frame.tsx +23 -0
  46. package/docs/components/mdx/get-text-content.ts +18 -0
  47. package/docs/components/mdx/icon.tsx +56 -0
  48. package/docs/components/mdx/index.tsx +96 -0
  49. package/docs/components/mdx/installer.tsx +20 -0
  50. package/docs/components/mdx/panel.tsx +11 -0
  51. package/docs/components/mdx/param-field.tsx +56 -0
  52. package/docs/components/mdx/preview.tsx +36 -0
  53. package/docs/components/mdx/prompt.tsx +63 -0
  54. package/docs/components/mdx/request-example.tsx +27 -0
  55. package/docs/components/mdx/response-field.tsx +42 -0
  56. package/docs/components/mdx/steps.tsx +92 -0
  57. package/docs/components/mdx/tabs.tsx +88 -0
  58. package/docs/components/mdx/tile.tsx +43 -0
  59. package/docs/components/mdx/tooltip.tsx +71 -0
  60. package/docs/components/mdx/tree.tsx +120 -0
  61. package/docs/components/mdx/type-table.tsx +71 -0
  62. package/docs/components/mdx/update.tsx +44 -0
  63. package/docs/components/mdx/video.tsx +12 -0
  64. package/docs/components/mdx/view.tsx +66 -0
  65. package/docs/components/providers.tsx +15 -0
  66. package/docs/components/ui/breadcrumb.tsx +92 -0
  67. package/docs/components/ui/button.tsx +90 -0
  68. package/docs/components/ui/card.tsx +92 -0
  69. package/docs/components/ui/command.tsx +139 -0
  70. package/docs/components/ui/dialog.tsx +97 -0
  71. package/docs/components/ui/field.tsx +237 -0
  72. package/docs/components/ui/input.tsx +105 -0
  73. package/docs/components/ui/label.tsx +22 -0
  74. package/docs/components/ui/popover.tsx +72 -0
  75. package/docs/components/ui/search.tsx +380 -0
  76. package/docs/components/ui/separator.tsx +26 -0
  77. package/docs/components/ui/sheet.tsx +104 -0
  78. package/docs/components/ui/sidebar.tsx +433 -0
  79. package/docs/components/ui/theme-toggle.tsx +62 -0
  80. package/docs/components/ui/tooltip.tsx +53 -0
  81. package/docs/lib/contextual-options.ts +193 -0
  82. package/docs/lib/docs-collection.ts +22 -0
  83. package/docs/lib/mdx.ts +90 -0
  84. package/docs/lib/navigation.ts +288 -0
  85. package/docs/lib/openapi.ts +158 -0
  86. package/docs/lib/routes.ts +10 -0
  87. package/docs/lib/server-cache.ts +83 -0
  88. package/docs/lib/shiki.ts +35 -0
  89. package/docs/lib/theme.ts +29 -0
  90. package/docs/lib/toc.ts +2 -0
  91. package/docs/lib/utils.ts +5 -0
  92. package/package.json +34 -3
  93. package/packages/@repo/common/dist/index.d.ts +9 -0
  94. package/packages/@repo/common/dist/index.d.ts.map +1 -0
  95. package/packages/@repo/common/dist/index.js +42 -0
  96. package/packages/@repo/common/package.json +34 -0
  97. package/packages/@repo/common/src/common.unit.test.ts +55 -0
  98. package/packages/@repo/common/src/index.ts +51 -0
  99. package/packages/@repo/contracts/dist/api-key.d.ts +30 -0
  100. package/packages/@repo/contracts/dist/api-key.d.ts.map +1 -0
  101. package/packages/@repo/contracts/dist/api-key.js +20 -0
  102. package/packages/@repo/contracts/dist/dates.d.ts +4 -0
  103. package/packages/@repo/contracts/dist/dates.d.ts.map +1 -0
  104. package/packages/@repo/contracts/dist/dates.js +2 -0
  105. package/packages/@repo/contracts/dist/deployment.d.ts +71 -0
  106. package/packages/@repo/contracts/dist/deployment.d.ts.map +1 -0
  107. package/packages/@repo/contracts/dist/deployment.js +46 -0
  108. package/packages/@repo/contracts/dist/domain.d.ts +94 -0
  109. package/packages/@repo/contracts/dist/domain.d.ts.map +1 -0
  110. package/packages/@repo/contracts/dist/domain.js +36 -0
  111. package/packages/@repo/contracts/dist/ids.d.ts +14 -0
  112. package/packages/@repo/contracts/dist/ids.d.ts.map +1 -0
  113. package/packages/@repo/contracts/dist/ids.js +10 -0
  114. package/packages/@repo/contracts/dist/index.d.ts +10 -0
  115. package/packages/@repo/contracts/dist/index.d.ts.map +1 -0
  116. package/packages/@repo/contracts/dist/index.js +11 -0
  117. package/packages/@repo/contracts/dist/pagination.d.ts +23 -0
  118. package/packages/@repo/contracts/dist/pagination.d.ts.map +1 -0
  119. package/packages/@repo/contracts/dist/pagination.js +15 -0
  120. package/packages/@repo/contracts/dist/project.d.ts +25 -0
  121. package/packages/@repo/contracts/dist/project.d.ts.map +1 -0
  122. package/packages/@repo/contracts/dist/project.js +23 -0
  123. package/packages/@repo/contracts/dist/tenant.d.ts +99 -0
  124. package/packages/@repo/contracts/dist/tenant.d.ts.map +1 -0
  125. package/packages/@repo/contracts/dist/tenant.js +36 -0
  126. package/packages/@repo/contracts/dist/user.d.ts +9 -0
  127. package/packages/@repo/contracts/dist/user.d.ts.map +1 -0
  128. package/packages/@repo/contracts/dist/user.js +9 -0
  129. package/packages/@repo/contracts/package.json +37 -0
  130. package/packages/@repo/contracts/src/api-key.ts +27 -0
  131. package/packages/@repo/contracts/src/dates.ts +4 -0
  132. package/packages/@repo/contracts/src/deployment.ts +73 -0
  133. package/packages/@repo/contracts/src/domain.ts +51 -0
  134. package/packages/@repo/contracts/src/ids.ts +22 -0
  135. package/packages/@repo/contracts/src/index.ts +11 -0
  136. package/packages/@repo/contracts/src/pagination.ts +21 -0
  137. package/packages/@repo/contracts/src/project.ts +30 -0
  138. package/packages/@repo/contracts/src/tenant.ts +54 -0
  139. package/packages/@repo/contracts/src/user.ts +12 -0
  140. package/packages/@repo/models/dist/docs-config.d.ts +985 -0
  141. package/packages/@repo/models/dist/docs-config.d.ts.map +1 -0
  142. package/packages/@repo/models/dist/docs-config.js +548 -0
  143. package/packages/@repo/models/dist/index.d.ts +3 -0
  144. package/packages/@repo/models/dist/index.d.ts.map +1 -0
  145. package/packages/@repo/models/dist/index.js +3 -0
  146. package/packages/@repo/models/dist/tenant.d.ts +25 -0
  147. package/packages/@repo/models/dist/tenant.d.ts.map +1 -0
  148. package/packages/@repo/models/dist/tenant.js +1 -0
  149. package/packages/@repo/models/package.json +37 -0
  150. package/packages/@repo/models/src/docs-config.ts +648 -0
  151. package/packages/@repo/models/src/index.ts +3 -0
  152. package/packages/@repo/models/src/tenant.ts +29 -0
  153. package/packages/@repo/prebuild/dist/index.d.ts +2 -0
  154. package/packages/@repo/prebuild/dist/index.d.ts.map +1 -0
  155. package/packages/@repo/prebuild/dist/index.js +2 -0
  156. package/packages/@repo/prebuild/dist/openapi.d.ts +43 -0
  157. package/packages/@repo/prebuild/dist/openapi.d.ts.map +1 -0
  158. package/packages/@repo/prebuild/dist/openapi.js +58 -0
  159. package/packages/@repo/prebuild/package.json +39 -0
  160. package/packages/@repo/prebuild/src/index.ts +2 -0
  161. package/packages/@repo/prebuild/src/openapi.ts +116 -0
  162. package/packages/@repo/previewing/dist/blob-source.d.ts +16 -0
  163. package/packages/@repo/previewing/dist/blob-source.d.ts.map +1 -0
  164. package/packages/@repo/previewing/dist/blob-source.js +110 -0
  165. package/packages/@repo/previewing/dist/content-source.d.ts +12 -0
  166. package/packages/@repo/previewing/dist/content-source.d.ts.map +1 -0
  167. package/packages/@repo/previewing/dist/content-source.js +1 -0
  168. package/packages/@repo/previewing/dist/fs-source.d.ts +11 -0
  169. package/packages/@repo/previewing/dist/fs-source.d.ts.map +1 -0
  170. package/packages/@repo/previewing/dist/fs-source.js +79 -0
  171. package/packages/@repo/previewing/dist/index.d.ts +120 -0
  172. package/packages/@repo/previewing/dist/index.d.ts.map +1 -0
  173. package/packages/@repo/previewing/dist/index.js +984 -0
  174. package/packages/@repo/previewing/package.json +41 -0
  175. package/packages/@repo/previewing/src/blob-source.ts +167 -0
  176. package/packages/@repo/previewing/src/content-source.ts +12 -0
  177. package/packages/@repo/previewing/src/fs-source.ts +111 -0
  178. package/packages/@repo/previewing/src/index.ts +1490 -0
  179. package/packages/@repo/previewing/src/index.unit.test.ts +290 -0
  180. package/packages/@repo/validation/dist/index.d.ts +12 -0
  181. package/packages/@repo/validation/dist/index.d.ts.map +1 -0
  182. package/packages/@repo/validation/dist/index.js +30 -0
  183. package/packages/@repo/validation/package.json +37 -0
  184. package/packages/@repo/validation/src/index.ts +59 -0
  185. package/packages/@repo/validation/src/mintlify-docs-schema.json +5016 -0
@@ -0,0 +1,455 @@
1
+ @import "tailwindcss";
2
+ @import "tw-animate-css";
3
+ @import "shadcn/tailwind.css";
4
+
5
+ @custom-variant dark (&:is(.dark *));
6
+ @custom-variant fixed (&:is(.layout-fixed *));
7
+
8
+ @theme inline {
9
+ --breakpoint-3xl: 1600px;
10
+ --breakpoint-4xl: 2000px;
11
+ --font-sans: var(--font-glide), ui-sans-serif, system-ui, sans-serif;
12
+ --font-mono:
13
+ var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, Monaco,
14
+ Consolas, monospace;
15
+ --radius-sm: calc(var(--radius) - 4px);
16
+ --radius-md: calc(var(--radius) - 2px);
17
+ --radius-lg: var(--radius);
18
+ --radius-xl: calc(var(--radius) + 4px);
19
+ --radius-2xl: calc(var(--radius) + 8px);
20
+ --radius-3xl: calc(var(--radius) + 12px);
21
+ --radius-4xl: calc(var(--radius) + 16px);
22
+ --shadow-soft: 0 15px 50px 0 rgba(27, 32, 50, 0.1);
23
+ --shadow-input: 0 1px 2px 0 rgb(0 0 0 / 0.05);
24
+ --shadow-popover:
25
+ 0 24px 40px -12px oklch(0.255 0.078 116.06 / 0.08),
26
+ 0 16px 28px -8px oklch(0.255 0.078 116.06 / 0.04),
27
+ 0 4px 6px -2px oklch(0.255 0.078 116.06 / 0.04),
28
+ 0 0 2px 0 oklch(0.255 0.078 116.06 / 0.04),
29
+ 0 0 0 1px oklch(0.255 0.078 116.06 / 0.04);
30
+ --shadow-xs:
31
+ 0 0 0 1px rgba(51, 51, 51, 0.04), 0 4px 8px -2px rgba(51, 51, 51, 0.06),
32
+ 0 2px 4px rgba(51, 51, 51, 0.04), 0 1px 2px rgba(51, 51, 51, 0.04),
33
+ inset 0 -1px 1px -0.5px rgba(51, 51, 51, 0.06);
34
+ --shadow-sm:
35
+ 0 0 0 1px rgba(51, 51, 51, 0.04), 0 16px 8px -8px rgba(51, 51, 51, 0.01),
36
+ 0 12px 6px -6px rgba(51, 51, 51, 0.02),
37
+ 0 5px 5px -2.5px rgba(51, 51, 51, 0.08),
38
+ 0 1px 3px -1.5px rgba(51, 51, 51, 0.16),
39
+ inset 0 -0.5px 0.5px rgba(51, 51, 51, 0.08);
40
+ --shadow-md:
41
+ 0 0 0 1px rgba(51, 51, 51, 0.04), 0 1px 1px 0.5px rgba(51, 51, 51, 0.04),
42
+ 0 3px 3px -1.5px rgba(51, 51, 51, 0.02),
43
+ 0 6px 6px -3px rgba(51, 51, 51, 0.04),
44
+ 0 12px 12px -6px rgba(51, 51, 51, 0.04),
45
+ 0 24px 24px -12px rgba(51, 51, 51, 0.04),
46
+ 0 48px 48px -24px rgba(51, 51, 51, 0.04),
47
+ inset 0 -1px 1px -0.5px rgba(51, 51, 51, 0.06);
48
+ --shadow-lg:
49
+ 0 0 0 1px rgba(51, 51, 51, 0.04), 0 1px 1px 0.5px rgba(51, 51, 51, 0.04),
50
+ 0 3px 3px -1.5px rgba(51, 51, 51, 0.02),
51
+ 0 6px 6px -3px rgba(51, 51, 51, 0.04),
52
+ 0 12px 12px -6px rgba(51, 51, 51, 0.04),
53
+ 0 24px 24px -12px rgba(51, 51, 51, 0.04),
54
+ 0 48px 48px -24px rgba(51, 51, 51, 0.04),
55
+ 0 96px 96px -32px rgba(51, 51, 51, 0.06),
56
+ inset 0 -1px 1px -0.5px rgba(51, 51, 51, 0.06);
57
+ --color-background: var(--background);
58
+ --color-foreground: var(--foreground);
59
+ --color-card: var(--card);
60
+ --color-card-foreground: var(--card-foreground);
61
+ --color-popover: var(--popover);
62
+ --color-popover-foreground: var(--popover-foreground);
63
+ --color-primary: var(--primary);
64
+ --color-primary-foreground: var(--primary-foreground);
65
+ --color-secondary: var(--secondary);
66
+ --color-secondary-foreground: var(--secondary-foreground);
67
+ --color-muted: var(--muted);
68
+ --color-muted-foreground: var(--muted-foreground);
69
+ --color-accent: var(--accent);
70
+ --color-accent-foreground: var(--accent-foreground);
71
+ --color-destructive: var(--destructive);
72
+ --color-destructive-foreground: var(--destructive-foreground);
73
+ --color-border: var(--border);
74
+ --color-input: var(--input);
75
+ --color-ring: var(--ring);
76
+ --color-chart-1: var(--chart-1);
77
+ --color-chart-2: var(--chart-2);
78
+ --color-chart-3: var(--chart-3);
79
+ --color-chart-4: var(--chart-4);
80
+ --color-chart-5: var(--chart-5);
81
+ --color-sidebar: var(--sidebar);
82
+ --color-sidebar-foreground: var(--sidebar-foreground);
83
+ --color-sidebar-primary: var(--sidebar-primary);
84
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
85
+ --color-sidebar-accent: var(--sidebar-accent);
86
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
87
+ --color-sidebar-border: var(--sidebar-border);
88
+ --color-sidebar-ring: var(--sidebar-ring);
89
+ --color-surface: var(--surface);
90
+ --color-surface-foreground: var(--surface-foreground);
91
+ --color-code: var(--code);
92
+ --color-code-foreground: var(--code-foreground);
93
+ --color-code-highlight: var(--code-highlight);
94
+ --color-code-number: var(--code-number);
95
+ --color-selection: var(--selection);
96
+ --color-selection-foreground: var(--selection-foreground);
97
+ --color-overlay: var(--overlay);
98
+ }
99
+
100
+ :root {
101
+ --header-height: 4rem;
102
+ --radius: 0.625rem;
103
+ --field-height: 48px;
104
+ --field-height-sm: 40px;
105
+ --field-radius: var(--radius-2xl);
106
+ --field-padding-x: 1rem;
107
+ --field-padding-y: 12px;
108
+ --textarea-min-height: 70px;
109
+ --background: oklch(1 0 0);
110
+ --foreground: oklch(0.145 0 0);
111
+ --card: oklch(1 0 0);
112
+ --card-foreground: oklch(0.145 0 0);
113
+ --popover: oklch(1 0 0);
114
+ --popover-foreground: oklch(0.145 0 0);
115
+ --primary: oklch(0.205 0 0);
116
+ --primary-foreground: oklch(0.985 0 0);
117
+ --secondary: oklch(0.97 0 0);
118
+ --secondary-foreground: oklch(0.205 0 0);
119
+ --muted: oklch(0.97 0 0);
120
+ --muted-foreground: oklch(0.556 0 0);
121
+ --accent: oklch(0.97 0 0);
122
+ --accent-foreground: oklch(0.205 0 0);
123
+ --destructive: oklch(0.577 0.245 27.325);
124
+ --destructive-foreground: oklch(0.97 0.01 17);
125
+ --border: oklch(0.922 0 0);
126
+ --input: oklch(0.922 0 0);
127
+ --ring: oklch(0.708 0 0);
128
+ --chart-1: var(--color-blue-300);
129
+ --chart-2: var(--color-blue-500);
130
+ --chart-3: var(--color-blue-600);
131
+ --chart-4: var(--color-blue-700);
132
+ --chart-5: var(--color-blue-800);
133
+ --sidebar: oklch(0.985 0 0);
134
+ --sidebar-foreground: oklch(0.145 0 0);
135
+ --sidebar-primary: oklch(0.205 0 0);
136
+ --sidebar-primary-foreground: oklch(0.985 0 0);
137
+ --sidebar-accent: oklch(0.97 0 0);
138
+ --sidebar-accent-foreground: oklch(0.205 0 0);
139
+ --sidebar-border: oklch(0.922 0 0);
140
+ --sidebar-ring: oklch(0.708 0 0);
141
+ --surface: oklch(0.98 0 0);
142
+ --surface-foreground: var(--foreground);
143
+ --code: var(--surface);
144
+ --code-foreground: var(--surface-foreground);
145
+ --code-highlight: oklch(0.96 0 0);
146
+ --code-number: oklch(0.56 0 0);
147
+ --selection: oklch(0.145 0 0);
148
+ --selection-foreground: oklch(1 0 0);
149
+ --overlay: rgba(193, 201, 210, 0.7);
150
+ }
151
+
152
+ .dark {
153
+ --background: oklch(0.145 0 0);
154
+ --foreground: oklch(0.985 0 0);
155
+ --card: oklch(0.205 0 0);
156
+ --card-foreground: oklch(0.985 0 0);
157
+ --popover: oklch(0.205 0 0);
158
+ --popover-foreground: oklch(0.985 0 0);
159
+ --primary: oklch(0.922 0 0);
160
+ --primary-foreground: oklch(0.205 0 0);
161
+ --secondary: oklch(0.269 0 0);
162
+ --secondary-foreground: oklch(0.985 0 0);
163
+ --muted: oklch(0.269 0 0);
164
+ --muted-foreground: oklch(0.708 0 0);
165
+ --accent: oklch(0.371 0 0);
166
+ --accent-foreground: oklch(0.985 0 0);
167
+ --destructive: oklch(0.704 0.191 22.216);
168
+ --destructive-foreground: oklch(0.58 0.22 27);
169
+ --border: oklch(1 0 0 / 10%);
170
+ --input: oklch(1 0 0 / 15%);
171
+ --ring: oklch(0.556 0 0);
172
+ --chart-1: var(--color-blue-300);
173
+ --chart-2: var(--color-blue-500);
174
+ --chart-3: var(--color-blue-600);
175
+ --chart-4: var(--color-blue-700);
176
+ --chart-5: var(--color-blue-800);
177
+ --sidebar: oklch(0.205 0 0);
178
+ --sidebar-foreground: oklch(0.985 0 0);
179
+ --sidebar-primary: oklch(0.488 0.243 264.376);
180
+ --sidebar-primary-foreground: oklch(0.985 0 0);
181
+ --sidebar-accent: oklch(0.269 0 0);
182
+ --sidebar-accent-foreground: oklch(0.985 0 0);
183
+ --sidebar-border: oklch(1 0 0 / 10%);
184
+ --sidebar-ring: oklch(0.439 0 0);
185
+ --surface: oklch(0.2 0 0);
186
+ --surface-foreground: oklch(0.708 0 0);
187
+ --code: var(--surface);
188
+ --code-foreground: var(--surface-foreground);
189
+ --code-highlight: oklch(0.27 0 0);
190
+ --code-number: oklch(0.72 0 0);
191
+ --selection: oklch(0.922 0 0);
192
+ --selection-foreground: oklch(0.205 0 0);
193
+ --overlay: rgba(43, 53, 68, 0.7);
194
+ --color-bg: #0b1413;
195
+ --color-surface: #121c1b;
196
+ --color-ink: #e6f2ef;
197
+ --color-muted: #94a3a0;
198
+ --color-border: #1f2c2a;
199
+ --color-primary: #6ee7cf;
200
+ --color-primary-soft: #1a3f37;
201
+ --color-primary-dark: #0fb59f;
202
+ --color-shadow: rgba(0, 0, 0, 0.3);
203
+ }
204
+
205
+ @layer base {
206
+ * {
207
+ @apply border-border outline-ring/50;
208
+ }
209
+
210
+ ::selection {
211
+ @apply bg-selection text-selection-foreground;
212
+ }
213
+
214
+ html {
215
+ @apply overscroll-y-none scroll-smooth;
216
+ }
217
+
218
+ html.dark {
219
+ color-scheme: dark;
220
+ }
221
+
222
+ body {
223
+ font-synthesis: none;
224
+ font-kerning: normal;
225
+ font-variant-ligatures: common-ligatures;
226
+ }
227
+
228
+ [data-slot="layout"] {
229
+ @apply overscroll-none;
230
+ }
231
+
232
+ @supports (font: -apple-system-body) and (-webkit-appearance: none) {
233
+ [data-wrapper] {
234
+ @apply min-[1800px]:border-t;
235
+ }
236
+ }
237
+
238
+ a {
239
+ color: inherit;
240
+ text-decoration: none;
241
+ }
242
+
243
+ img {
244
+ max-width: 100%;
245
+ }
246
+
247
+ a:active,
248
+ button:active {
249
+ @apply opacity-60 md:opacity-100;
250
+ }
251
+
252
+ button,
253
+ [role="button"],
254
+ summary {
255
+ cursor: pointer;
256
+ }
257
+
258
+ [data-lang="ar"] {
259
+ font-family: var(--font-ar);
260
+ }
261
+
262
+ [data-lang="he"] {
263
+ font-family: var(--font-he);
264
+ }
265
+ }
266
+
267
+ @utility border-grid {
268
+ @apply border-border/50 dark:border-border;
269
+ }
270
+
271
+ @utility section-soft {
272
+ @apply from-background to-surface/40 dark:bg-background 3xl:fixed:bg-none bg-gradient-to-b;
273
+ }
274
+
275
+ @utility theme-container {
276
+ @apply font-sans;
277
+ }
278
+
279
+ @utility container-wrapper {
280
+ @apply 3xl:fixed:max-w-[calc(var(--breakpoint-2xl)+2rem)] mx-auto w-full;
281
+ }
282
+
283
+ @utility container {
284
+ @apply 3xl:max-w-screen-2xl mx-auto max-w-[1400px] px-4 lg:px-8;
285
+ }
286
+
287
+ @utility no-scrollbar {
288
+ -ms-overflow-style: none;
289
+ scrollbar-width: none;
290
+
291
+ &::-webkit-scrollbar {
292
+ display: none;
293
+ }
294
+ }
295
+
296
+ @utility border-ghost {
297
+ @apply after:border-border relative after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten;
298
+ }
299
+
300
+ @utility step {
301
+ counter-increment: step;
302
+
303
+ &:before {
304
+ content: counter(step);
305
+ @apply border-background bg-muted mr-2 inline-flex size-6 items-center justify-center rounded-full text-center -indent-px font-mono text-sm font-medium md:absolute md:mt-[-4px] md:ml-[-50px] md:size-9 md:border-4;
306
+ }
307
+ }
308
+
309
+ @utility extend-touch-target {
310
+ @media (pointer: coarse) {
311
+ @apply relative touch-manipulation after:absolute after:-inset-2;
312
+ }
313
+ }
314
+
315
+ @utility content-auto {
316
+ content-visibility: auto;
317
+ contain-intrinsic-size: auto 500px;
318
+ }
319
+
320
+ @layer components {
321
+ .steps {
322
+ &:first-child {
323
+ @apply !mt-0;
324
+ }
325
+
326
+ &:first-child > h3:first-child {
327
+ @apply !mt-0;
328
+ }
329
+
330
+ > h3 {
331
+ @apply !mt-8;
332
+ }
333
+
334
+ > h3 + p {
335
+ @apply !mt-2;
336
+ }
337
+ }
338
+
339
+ [data-rehype-pretty-code-figure] {
340
+ position: relative;
341
+ margin-top: calc(var(--spacing) * 6);
342
+ overflow: hidden;
343
+ font-size: var(--text-sm);
344
+ color: var(--color-code-foreground);
345
+ outline: none;
346
+ background-color: var(--color-code);
347
+ border-color: var(--border);
348
+ border-width: 0px;
349
+ border-radius: var(--radius-xl);
350
+ @apply -mx-1 md:-mx-1;
351
+
352
+ &:has([data-rehype-pretty-code-title]) [data-slot="copy-button"] {
353
+ top: calc(var(--spacing) * 1.5) !important;
354
+ }
355
+ }
356
+
357
+ [data-rehype-pretty-code-title] {
358
+ padding-block: calc(var(--spacing) * 2.5);
359
+ padding-inline: calc(var(--spacing) * 4);
360
+ font-family: var(--font-mono);
361
+ font-size: var(--text-sm);
362
+ color: var(--color-code-foreground);
363
+ border-bottom: color-mix(in oklab, var(--border) 30%, transparent);
364
+ border-bottom-style: solid;
365
+ border-bottom-width: 1px;
366
+ }
367
+
368
+ [data-line-numbers] {
369
+ display: grid;
370
+ min-width: 100%;
371
+ white-space: pre;
372
+ border: 0;
373
+ background: transparent;
374
+ padding: 0;
375
+ counter-reset: line;
376
+ box-decoration-break: clone;
377
+ }
378
+
379
+ [data-line-numbers] [data-line]::before {
380
+ position: sticky;
381
+ left: 0;
382
+ display: inline-block;
383
+ width: calc(var(--spacing) * 16);
384
+ padding-right: calc(var(--spacing) * 6);
385
+ font-size: var(--text-sm);
386
+ color: var(--color-code-number);
387
+ text-align: right;
388
+ content: counter(line);
389
+ counter-increment: line;
390
+ background-color: var(--color-code);
391
+ }
392
+
393
+ [data-line-numbers] [data-highlighted-line][data-line]::before {
394
+ background-color: var(--color-code-highlight);
395
+ }
396
+
397
+ [data-line] {
398
+ display: inline-block;
399
+ width: 100%;
400
+ min-height: calc(var(--spacing) * 1);
401
+ padding-top: calc(var(--spacing) * 0.5);
402
+ padding-bottom: calc(var(--spacing) * 0.5);
403
+ }
404
+
405
+ [data-line] span {
406
+ color: var(--shiki-light);
407
+
408
+ @variant dark {
409
+ color: var(--shiki-dark) !important;
410
+ }
411
+ }
412
+
413
+ [data-highlighted-line],
414
+ [data-highlighted-chars] {
415
+ position: relative;
416
+ background-color: var(--color-code-highlight);
417
+ }
418
+
419
+ [data-highlighted-line] {
420
+ &:after {
421
+ position: absolute;
422
+ top: 0;
423
+ left: 0;
424
+ width: 2px;
425
+ height: 100%;
426
+ content: "";
427
+ background-color: color-mix(
428
+ in oklab,
429
+ var(--muted-foreground) 50%,
430
+ transparent
431
+ );
432
+ }
433
+ }
434
+
435
+ [data-highlighted-chars] {
436
+ padding-block: 0.1rem;
437
+ padding-inline: 0.3rem;
438
+ font-family: var(--font-mono);
439
+ font-size: 0.8rem;
440
+ border-radius: var(--radius-sm);
441
+ }
442
+ }
443
+
444
+ @layer components {
445
+ .dialog-ring {
446
+ @apply rounded-xl border-none bg-clip-padding shadow-2xl ring-4 ring-neutral-200/80 dark:bg-neutral-900 dark:ring-neutral-800;
447
+ }
448
+ }
449
+
450
+ @media (prefers-reduced-motion: reduce) {
451
+ * {
452
+ animation: none !important;
453
+ transition: none !important;
454
+ }
455
+ }