Code
A component to display inline code snippets.
import { defineConfig } from '@pandacss/dev'
import { createPreset } from '@park-ui/panda-preset'
export default defineConfig({
preflight: true,
presets: [
'@pandacss/preset-base',
createPreset({
accentColor: '__ACCENT_COLOR__',
grayColor: '__GRAY_COLOR__',
borderRadius: '__BORDER_RADIUS__',
}),
],
include: ['./src/**/*.{js,jsx,ts,tsx}'],
jsxFramework: '__JS_FRAMEWORK__',
outdir: 'styled-system',
})
import { parkwindPlugin } from '@park-ui/tailwind-plugin'
import type { Config } from 'tailwindcss'
const config: Config = {
content: ['./src/**/*.{astro,html,js,jsx,svelte,ts,tsx,vue}'],
theme: {
extend: {},
},
plugins: [parkwindPlugin],
parkUI: {
accentColor: '__ACCENT_COLOR__',
grayColor: '__GRAY_COLOR__',
borderRadius: '__BORDER_RADIUS__',
},
darkMode: ['class'],
}
export default config
@park-ui/panda-preset
import { Code, type CodeProps } from '~/components/ui/code'
export const Demo = (props: CodeProps) => {
return <Code {...props}>@park-ui/panda-preset</Code>
}
Insert code snippet into your project. Update import paths as needed.
import { ark, type HTMLArkProps } from '@ark-ui/react/factory'
import { forwardRef } from 'react'
import { tv, type VariantProps } from 'tailwind-variants'
export interface CodeProps extends CodeVariantProps, HTMLArkProps<'code'> {}
export const Code = forwardRef<HTMLElement, CodeProps>((props, ref) => {
const { size, variant, className, ...rest } = props
return <ark.code className={styles({ size, variant, className })} ref={ref} {...rest} />
})
Code.displayName = 'Code'
type CodeVariantProps = VariantProps<typeof styles>
const styles = tv(
{
base: 'code',
defaultVariants: { size: 'md', variant: 'outline' },
variants: {
variant: { outline: 'code--variant_outline', ghost: 'code--variant_ghost' },
size: { sm: 'code--size_sm', md: 'code--size_md', lg: 'code--size_lg' },
},
},
{ twMerge: false },
)
import { type HTMLArkProps, ark } from '@ark-ui/solid'
import { splitProps } from 'solid-js'
import { type VariantProps, tv } from 'tailwind-variants'
export interface CodeProps extends CodeVariantProps, HTMLArkProps<'code'> {}
export const Code = (props: CodeProps) => {
const [variantProps, codeProps] = splitProps(props, ['class', 'size'])
return <ark.code class={styles(variantProps)} {...codeProps} />
}
type CodeVariantProps = VariantProps<typeof styles>
const styles = tv(
{
base: 'code',
defaultVariants: { size: 'md', variant: 'outline' },
variants: {
variant: { outline: 'code--variant_outline', ghost: 'code--variant_ghost' },
size: { sm: 'code--size_sm', md: 'code--size_md', lg: 'code--size_lg' },
},
},
{ twMerge: false },
)
Not yet available