diff --git a/apps/docs/features/docs/Reference.mdx.tsx b/apps/docs/features/docs/Reference.mdx.tsx index 1e63f8adb3d..2f3f846c9f9 100644 --- a/apps/docs/features/docs/Reference.mdx.tsx +++ b/apps/docs/features/docs/Reference.mdx.tsx @@ -41,14 +41,17 @@ const getRefMarkdown = cache_fullProcess_withDevCacheBust( interface MDXRemoteRefsProps { source: string + codeBlockProps?: Partial> } -function MDXRemoteRefs({ source }: MDXRemoteRefsProps) { +function MDXRemoteRefs({ source, codeBlockProps }: MDXRemoteRefsProps) { const refComponents = { ...components, // Override the CodeBlock used for normal guides to skip type generation // because it is too resource-intensive - pre: (props: ComponentProps) => , + pre: (props: ComponentProps) => ( + + ), RefSubLayout, CliGlobalFlagsHandler, } diff --git a/apps/docs/features/docs/Reference.sections.tsx b/apps/docs/features/docs/Reference.sections.tsx index cbced0f844c..a95baa199b0 100644 --- a/apps/docs/features/docs/Reference.sections.tsx +++ b/apps/docs/features/docs/Reference.sections.tsx @@ -548,7 +548,15 @@ async function FunctionSection({ {examples.map((example) => ( - +
+ +
{'data' in example && !!example.data?.sql && ( diff --git a/apps/docs/features/docs/Reference.ui.tsx b/apps/docs/features/docs/Reference.ui.tsx index 42c984a41e6..441976c8d35 100644 --- a/apps/docs/features/docs/Reference.ui.tsx +++ b/apps/docs/features/docs/Reference.ui.tsx @@ -12,6 +12,7 @@ import { ReferenceSectionWrapper } from '~/features/docs/Reference.ui.client' import { normalizeMarkdown } from '~/features/docs/Reference.utils' import { isEqual } from 'lodash-es' import { ChevronRight, XCircle } from 'lucide-react' +import { fromMarkdown } from 'mdast-util-from-markdown' import type { HTMLAttributes, PropsWithChildren } from 'react' import ReactMarkdown from 'react-markdown' import { Badge, cn, Collapsible, CollapsibleContent, CollapsibleTrigger } from 'ui' @@ -115,32 +116,57 @@ export function StickyHeader({ title, monoFont = false, className }: StickyHeade } export function CollapsibleDetails({ title, content }: { title: string; content: string }) { + const blocks = fromMarkdown(content).children + const isCodeOnly = blocks.length === 1 && blocks[0].type === 'code' + return ( - + - {title} + - +
+ +
) diff --git a/apps/docs/features/ui/CodeBlock/CodeBlock.tsx b/apps/docs/features/ui/CodeBlock/CodeBlock.tsx index 4ecafb77f33..1d1c4d3268d 100644 --- a/apps/docs/features/ui/CodeBlock/CodeBlock.tsx +++ b/apps/docs/features/ui/CodeBlock/CodeBlock.tsx @@ -27,6 +27,7 @@ export async function CodeBlock({ children, skipTypeGeneration, hideControls = false, + compact = false, }: PropsWithChildren<{ className?: string lang?: string @@ -34,6 +35,7 @@ export async function CodeBlock({ contents?: string skipTypeGeneration?: boolean hideControls?: boolean + compact?: boolean }>) { let code = (contents || extractCode(children)).trim() const lang = tryToBundledLanguage(langSetting || '') || extractLang(children) @@ -63,8 +65,8 @@ export async function CodeBlock({ 'relative', 'not-prose', 'w-full', - 'border border-default rounded-lg', - 'bg-200 shadow-codeblock', + compact ? 'border-0 my-0!' : 'border border-default rounded-lg shadow-codeblock', + 'bg-200', 'text-sm', className )} @@ -72,7 +74,8 @@ export async function CodeBlock({