Order Summary Cards
Order summary cards for admin order recaps, promo inputs, line items, and total breakdowns.
Wide order summary card combines payment and fulfillment badges, item detail rows, promo redemption, total breakdowns, and previous or next navigation.
Compact order summary card stacks item thumbnails, a promo code field, subtotal and tax rows, and edit-cart or continue actions.
` with a `py-3 px-5 border-b border-card-header` header, a `pt-4 pb-5 px-5` body, and a `py-4 px-5 border-t border-card-footer` button row. The preview's `max-w-md mx-auto` centering is iframe demo chrome, not the card's own width.
- Header holds exactly one heading, `Items (2)`, matching the 2 product rows below.
- Body is 6 sibling blocks each carrying `pt-3 mt-3 border-t border-line-2 first:pt-0 first:mt-0 first:border-t-0`, in order: product 1, product 2, promo code, subtotal/delivery list, tax list, order-total list. Keep the separator pattern rather than a single wrapping divider.
- Each product row is `flex items-center gap-x-5` with a `size-20 rounded-md` photo and a quantity badge `1` pinned at `-top-2.5 -inset-e-2.5` as a `min-w-6 min-h-6 rounded-full bg-primary` circle with `border-2 border-card-line`. The detail list runs price first, then name, then color, then size.
- Product 1 reads `$65`, `Mango Women's shoe`, `Color:` `Brown`, `Size:` `UK 7`. Product 2 reads `$21`, `Calvin Klein T-shirts`, `Color:` `White`, `Size:` `M`. Both photos are Unsplash images and both quantity badges show `1`.
- Promo block is labeled `Promo code`, input placeholder `e.g. 50OFF`, with helper text `Terms and conditions applied.` below. There is no apply button next to the field.
- The three totals blocks are separate `dl` grids (`grid grid-cols-2 gap-2`) with right-aligned semibold values: `Subtotal:` `$86.00` and `Delivery:` `Free`, then `Est tax:` `$20.00`, then `Order total:` `$106.00`.
- Footer is two equal `w-full` buttons: neutral `Edit cart` with a pencil icon, then primary `Continue`. The card is fully static - no Preline JS plugins, no dropdowns, badges, or status pills.
Token and Tailwind rules:
- Treat source token classes as semantic roles, not fixed class names to blindly copy.
- Map every source `primary` role to the destination project's current primary token/config/CSS variable. Active links, checked states, progress lines, focus rings, primary gradients, logo primary fills/strokes, and primary buttons must share that destination primary color.
- Do not hardcode Preline blue or emit `text-blue-*`, `bg-blue-*`, `border-blue-*`, `fill-blue-*`, `stroke-blue-*`, `from-blue-*`, `via-blue-*`, `to-blue-*`, or fixed blue hex/rgb values for primary roles unless the destination primary is explicitly blue.
- Before using source-only token classes such as `text-foreground-inverse`, `bg-layer`, `border-layer-line`, `bg-navbar`, `border-line-2`, `bg-dropdown`, or similar Preline tokens, inspect the destination Tailwind config, global CSS/theme variables, and existing components for an equivalent utility/token.
- Prefer existing destination utilities such as `text-white`, `text-primary-foreground`, `text-foreground`, `text-muted-foreground`, `bg-background`, `bg-card`, `bg-popover`, `border-border`, `bg-muted`, `bg-accent`, `ring-ring`, or app-specific tokens when they match the source role.
- If no equivalent exists, add the smallest project-appropriate token or utility before using it. Do not leave undefined source classes in the generated markup.
Asset and icon rules:
- Use exact source images, avatars, product media, branded SVGs, payment marks, channel logos, and app icons when the source provides them.
- Do not replace source assets with initials, emojis, generic icons, generated placeholders, or different stock media.
- Ordinary interface icons should match the destination icon system. If the project uses Lucide-style outline icons, keep the 24 viewBox, `fill="none"`, `stroke="currentColor"`, rounded caps/joins, and source stroke widths.
- Brand/source SVG shape is fixed content. Only map semantic colors such as primary fill/stroke to the destination token.
Behavior and accessibility:
- Preserve source interactions: links, buttons, dropdowns, tooltips, tabs, menus, drawers, modals, toggles, search, filters, form controls, validation states, loading/empty states, and open/closed defaults.
- For source behavior powered by Preline JS or a third-party package, inspect installed dependencies and existing primitives first. Reuse a destination primitive only when it can preserve the source geometry, states, accessibility, and behavior.
- Treat new dependencies as allowed by default unless the user, repository instructions, or package policy explicitly prohibit them. When no faithful equivalent exists, install/use the Preline UI runtime/plugin or the exact source third-party package; do not silently substitute ad hoc JavaScript or custom React state.
- Only under an explicit dependency prohibition may you implement a scoped framework-native equivalent. It must preserve keyboard and focus management, placement and layering, responsive behavior, and accessibility; static or simplified approximations are not acceptable.
- Use semantic HTML and accessible names. Keep `aria-current`, `aria-expanded`, `aria-haspopup`, `role`, labels, focus states, and keyboard behavior when the source exposes them or the destination primitive requires them.
- Desktop and mobile states must not overlap text, clip controls, or shift layout unexpectedly. Controls with icons, counters, badges, and labels should keep stable dimensions across hover/focus/active states.
Final QA:
- Compare the result against the source preview and HTML tab.
- Verify primary color follows the destination project, not Preline's default blue.
- Verify all emitted classes exist in the destination or are added deliberately.
- Verify responsive layout, focus states, dropdown/popover layering, long-text truncation, and source asset paths.
- Keep the final implementation scoped to this block and avoid unrelated refactors.
Items (2)
1
- $65
- Mango Women's shoe
- Color: Brown
- Size: UK 7
1
- $21
- Calvin Klein T-shirts
- Color: White
- Size: M
Terms and conditions applied.
- Subtotal:
- $86.00
- Delivery:
- Free
- Est tax:
- $20.00
- Order total:
- $106.00