defuss-shadcn / Website / Account & States / support-form
Built with: CSS
Support FormBLK
Collects an issue description and supporting attachments - topic, subject, description, priority and files, beside the expected response time and self-help links. Part of the Account & States blocks.
On this page (2)
§Default
Topic, subject, description, priority as a segmented radio group (urgent turns red), attachments in a drop zone around a multiple file input, and the reply email - beside the response time and self-help links from 52rem.
§CSS view file
/* -- Support Form (website · Account & States) ---------------------------- Collects an issue description and supporting attachments - topic, subject, description, priority and files, beside the expected response time and self-help links. */@layer components { /* every box in the block measures border-box - the same on any page */ :where(.mk-support-form, .mk-support-form *, .mk-support-form ::before, .mk-support-form ::after) { box-sizing: border-box; } .mk-support-form { container: mk-support-form / inline-size; width: 100%; } .mk-support-form-layout { display: grid; gap: 2rem; } .mk-support-form form { display: grid; gap: 1.125rem; } .mk-support-form-field { display: grid; gap: 0.375rem; } .mk-support-form-priority { display: grid; gap: 0.375rem; margin: 0; padding: 0; border: 0; & legend { margin-block-end: 0.375rem; padding: 0; font-size: 0.875rem; font-weight: 500; } & div { display: inline-grid; grid-auto-flow: column; width: fit-content; padding: 0.1875rem; border-radius: var(--radius-md); background: var(--muted); } & label { position: relative; padding: 0.375rem 0.875rem; border-radius: calc(var(--radius-md) - 2px); color: var(--muted-foreground); font-size: 0.875rem; font-weight: 500; cursor: pointer; } & input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; } & label:has(:checked) { background: var(--background); color: var(--foreground); box-shadow: var(--shadow-xs); } & label:has(:checked[value="urgent"]) { color: var(--destructive); } & label:has(:focus-visible) { outline: 2px solid var(--ring); outline-offset: 1px; } } .mk-support-form-drop { display: grid; justify-items: center; gap: 0.25rem; padding: 1.25rem; border: 1.5px dashed var(--border); border-radius: var(--radius-lg); color: var(--muted-foreground); font-size: 0.875rem; text-align: center; cursor: pointer; & svg { width: 1.25rem; height: 1.25rem; color: var(--foreground); } & input { max-width: 100%; font-size: 0.8125rem; } &:hover, &:has(input:focus-visible) { border-color: var(--ring); } } .mk-support-form-aside { display: grid; gap: 1.25rem; align-content: start; padding: 1.5rem; border-radius: var(--radius-xl); background: var(--muted); & h2 { margin: 0; font-size: 1rem; font-weight: 600; } & p { margin: 0; color: var(--muted-foreground); font-size: 0.875rem; } & ul { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; } & a { display: inline-flex; align-items: center; gap: 0.375rem; color: var(--primary); font-size: 0.875rem; font-weight: 500; text-decoration: none; } & a svg { width: 0.875rem; height: 0.875rem; } } .mk-support-form-sla { display: flex; align-items: center; gap: 0.625rem; font-size: 0.875rem; & svg { width: 1.25rem; height: 1.25rem; color: #15803d; } } @container mk-support-form (min-width: 52rem) { .mk-support-form-layout { grid-template-columns: minmax(0, 1fr) 18rem; gap: 3rem; } } /* -- Accessibility ------------------------------------------- */ @media (forced-colors: active) { .mk-support-form-drop { border-color: CanvasText; } .mk-support-form-priority label:has(:checked) { outline: 2px solid Highlight; } }}Comments, ideas or improvements? Edit this page's source on GitHub