FAQ Block
contentbit/faqFreeComponent
Accordion of question/answer pairs.
Install it
npx shadcn@latest add https://contentbit.dev/r/faq.jsonSource
1import { faqBlock, type FaqItemData } from '@contentbit/blocks'2import { defineBlockComponent } from '@contentbit/react'34import {5 Accordion,6 AccordionContent,7 AccordionItem,8 AccordionTrigger,9} from '@/components/ui/accordion'10import { isValidatedBlock } from '@contentbit/core'1112export const FaqBlock = defineBlockComponent(faqBlock, ({ node, ctx }) => {13 const data = node.data14 return (15 <div data-cb-styled className="bg-card my-6 rounded-lg border px-4">16 <Accordion type="single" collapsible>17 {data.blocks.map((item, i) => (18 <AccordionItem19 key={i}20 value={`item-${i}`}21 className={i === data.blocks.length - 1 ? 'border-b-0' : undefined}22 >23 <AccordionTrigger className="text-left text-sm font-medium hover:no-underline">24 {String(item.props.question)}25 </AccordionTrigger>26 <AccordionContent className="text-muted-foreground text-sm leading-relaxed">27 {ctx.renderMarkdown(28 isValidatedBlock(item) ? (item.data as FaqItemData).markdown : item.body,29 )}30 </AccordionContent>31 </AccordionItem>32 ))}33 </Accordion>34 </div>35 )36})
What it pulls in
npm packages
Other registry items
Files it writes
More from contentbit
All 20 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Callout Block (Astro)astro-callout | contentbit | Components | Free | 3 deps | |
| Comparison Block (Astro)astro-comparison | contentbit | Components | Free | 3 deps | |
| Content Renderer (Astro)astro-content-renderer | contentbit | Components | Free | 3 deps | |
| FAQ Block (Astro)astro-faq | contentbit | Components | Free | 3 deps | |
| Key Metrics Block (Astro)astro-key-metrics | contentbit | Components | Free | 3 deps | |
| Pros & Cons Block (Astro)astro-pros-cons | contentbit | Components | Free | 3 deps | |
| Quick Reference Block (Astro)astro-quick-ref | contentbit | Components | Free | 3 deps | |
| Steps Block (Astro)astro-steps | contentbit | Components | Free | 3 deps |
