shadimage
rescript-shadcn
exampleAccordionBorderssource: ok · hit

AccordionBorders

npx shadcn add "https://rescript-shadcn.miriad.studio/r/AccordionBorders.json"
free

Interaction

accordion

Tags auto-generated by rules on 9/24/2026 — empty means no evidence, not lack of support.

Dependencies

Bundle weight · light

Registry dependencies

@rescript-shadcn/Accordion@rescript-shadcn/Demo

Files1 · source cached 10/14/2026, 2:37:30 PM

registry/base/examples/AccordionBorders.res
type item = {
  value: string,
  trigger: string,
  content: string,
}

let items: array<item> = [
  {
    value: "billing",
    trigger: "How does billing work?",
    content: "We offer monthly and annual subscription plans. Billing is charged at the beginning of each cycle, and you can cancel anytime. All plans include automatic backups, 24/7 support, and unlimited team members.",
  },
  {
    value: "security",
    trigger: "Is my data secure?",
    content: "Yes. We use end-to-end encryption, SOC 2 Type II compliance, and regular third-party security audits. All data is encrypted at rest and in transit using industry-standard protocols.",
  },
  {
    value: "integration",
    trigger: "What integrations do you support?",
    content: "We integrate with 500+ popular tools including Slack, Zapier, Salesforce, HubSpot, and more. You can also build custom integrations using our REST API and webhooks.",
  },
]

@react.componentWithProps(Demo.Props.t)
let make = ({}: Demo.Props.t) =>
  <Accordion defaultValue=["billing"] className="max-w-lg rounded-lg border">
    {items
    ->Array.map(item =>
      <Accordion.Item key={item.value} value={item.value} className="border-b px-4 last:border-b-0">
        <Accordion.Trigger> {item.trigger->React.string} </Accordion.Trigger>
        <Accordion.Content> {item.content->React.string} </Accordion.Content>
      </Accordion.Item>
    )
    ->React.array}
  </Accordion>

More from rescript-shadcn

Browse all components in this library →