shadcn.io is not affiliated with official shadcn/ui
Lawyer Practice and Consultation Profile Block for React
An attorney profile with a consultation request beside her practice areas: four areas as an accordion with matters won, settled and not won, and a request with a practice area menu, a matter field with a counter, a contact choice and a draft summary.
Installation
Overview
Let a visitor see what an attorney handles and ask for a consultation on the same page, with this lawyer profile for React with Base UI. A compact header holds the title and one sentence, and the hairline frame under it opens on the attorney: initials, name, role, place and a badge of the matters won across all four areas. The main cell is the practice page, an Accordion of four areas where one is always open: each says "Won 41 of 52 matters" from typed counts and, when open, a sentence and the counts of won, settled and not won. The end cell is the request: a Native Select for the practice area, which follows the accordion (opening an area sets it, and choosing one opens it), a Textarea for what the matter is about with a counter, a Toggle Group for how she should reach you (call, email or video), and a line saying nothing is sent. The foot, ruled by Guides, holds a polite status line and a Shine Button that drafts the request; the draft appears in the cell, and editing anything clears it. It is a sample record: the firm, the figures and the matters are invented. For an attorney directory, a law firm site or any profile that ends in a request.
FAQ
How do I fill it with my own practice areas?
Edit AREAS. Each has an id, a name, one blurb and the typed counts won, settled and lost; the matters in all, the line "Won 41 of 52 matters" and the badge in the header ("Won 100 of 131") are worked out from those counts, so nothing is typed twice. Keep the blurbs about the same length: every open panel reserves the same height, so opening another area never moves the request beside it.
How are the accordion and the practice area menu connected?
They share one value. Opening an area in the accordion sets the menu, and choosing an area in the menu opens it in the accordion, so the request always names the area you are reading about. One area is always open: pressing the open one keeps it open.
What does Draft request do?
It checks that the matter has at least 20 characters. If it does not, it says so in the status line and under the field, and puts focus back in the field. If it does, it shows a summary in the end cell: the area, how you want to be reached and the first lines of the matter, with the words that nothing was sent. Editing the area, the matter or the contact choice clears the summary, because it no longer matches what you see. To make it real, send the draft to your own intake endpoint in the submit handler and show its answer in the status line.
Is anything confidential here?
Nothing leaves the page, and the cell says so: Confidential, nothing is sent from this demo. Do not type a real matter into a demo. The attorney, the firm, the matter counts and the practice areas are invented, and nothing on the page is legal advice. A real version would also say who may read the request and how long it is kept.
Is the form accessible?
Every control is named: the menu and the field by their labels, the contact choice by its heading, and the accordion rows by their area. The field's hint and its problem are described by the field, the counter is decorative, and the status line is a polite live region present from the start. The contact choice is one tab stop and arrow keys move within it. In a right-to-left layout the counts and names keep their order.
How does it look on a phone?
The practice areas come first and the request stacks under them in one column. The foot with the Draft request button stays pinned to the bottom of the screen while the panel scrolls, and sits at the panel's end from the medium breakpoint. The badge in the person band is hidden below the small breakpoint.
Related
- Pro
Therapist Booking Profile
Schedules and bookingA sample therapist profile whose booking happens in the panel: three steps for the session, the time and the confirmation, an action foot with Back and one action, and a request that stays in the page.
- Pro
Doctor Insurance Plan Check Profile
Credentials and proofA doctor profile that answers does she take my plan: three board certifications as badges, a combobox over fourteen insurance plans and a result card saying in network, out of network or not accepted with the copay, referral and hospitals.
- Pro
Four Photo Slots Contact
Quotes and estimatesFour fixed photo tiles for an antiques appraiser, each filling with a thumbnail and a check, plus a category combobox and an estimated value.
- Pro
Week Grid Tutoring Contact
Visits and servicesA tutor request for a tutoring service: a subject and a grade, then a Monday to Sunday grid of times that shows how many tutors are free in each, a live count, and a form that checks itself and confirms in place.
- Pro
Contact Card Dialog
Share and inviteA team directory with a contact card shown open that pages through six people: initials avatar, role, email, phone, desk and the time where they are, copy buttons, real mailto and tel links, and a Save contact button that downloads a vCard.
- Pro
Consultant Availability Profile
Schedules and bookingA consultant profile that shows capacity, not slots: eight weeks as cells with a bar of hours booked, an engagement menu that marks every week with room for it, and a request for the week you pick.