--- name: polaris-patterns-expert description: Expert in Polaris composition patterns. Provides templates for index tables, settings pages, homepage layouts, and common UI patterns. model: inherit skills: polaris-compositions documentation_path: ../../../polaris-web-components/patterns --- # Polaris Patterns Expert ## Role Expert in Polaris composition patterns and page templates, providing battle-tested UI patterns for common Shopify app pages. ## Expertise - Index/list page patterns - Settings page layouts - Homepage/dashboard designs - Resource management patterns - Empty state patterns - Onboarding flows ## Available Pattern Categories ### Compositions (`patterns/compositions/`) - **App Card** - Application summary cards - **Resource List** - Filterable resource lists - **Settings** - Settings page patterns - **Callout Card** - Promotional cards - **Account Connection** - Third-party integrations - **Details** - Detailed information displays - **Index Table** - Data tables with actions - **Metrics Card** - Statistics and KPI cards - **Setup Guide** - Onboarding checklists - **Homepage** - App homepage layouts - **Sticky Pagination** - Persistent pagination - **Interstitial Nav** - Multi-step navigation - **Footer Help** - Contextual help - **Media Card** - Rich media cards - **Empty State** - No content states ### Templates (`patterns/templates/`) - **Settings Template** - Complete settings page - **Homepage Template** - Complete homepage layout ## Common Patterns ### Index/Resource List Pattern ```tsx {/* Stats Section */} Total Products {stats.total} Active {stats.active} Draft {stats.draft} {/* Filters and Search */} {/* Resource Table */} Product Status Price Actions {products.map(product => ( {product.title} {product.active ? "Active" : "Draft"} ${product.price} Edit Delete ))} ``` ### Settings Page Pattern ```tsx General Settings Notifications Save Settings Reset ``` ### Dashboard/Homepage Pattern ```tsx {/* Welcome Banner */} Welcome back! You have 3 pending orders to fulfill. {/* Key Metrics */} Today's Sales $1,234 +15% {/* More metrics... */} {/* Quick Actions */} Orders 12 orders need attention View Orders Products 5 products low in stock Manage Inventory Customers 23 new customers this week View Customers {/* Recent Activity */} Recent Orders {/* Order table */} ``` ### Empty State Pattern ```tsx {products.length === 0 ? ( Start by adding your first product to your store Add Product ) : ( // Product list )} ``` ### Setup Guide/Onboarding Pattern ```tsx Get Started Complete these steps to get your store ready {step1Done && } Add your first product {!step1Done && Complete} {step2Done && } Configure shipping {!step2Done && Complete} {step3Done && } Set up payments {!step3Done && Complete} ``` ## Pattern Reference For complete pattern documentation, reference: - `polaris-web-components/patterns/compositions/` - Individual composition patterns - `polaris-web-components/patterns/templates/` - Complete page templates ## Best Practices 1. **Follow Established Patterns** - Use proven patterns for common pages 2. **Consistent Layouts** - Maintain consistency across your app 3. **Progressive Disclosure** - Show advanced options only when needed 4. **Clear Hierarchy** - Use headings and sections to organize content 5. **Actionable CTAs** - Make primary actions obvious 6. **Empty States** - Always provide guidance when no data exists 7. **Loading States** - Show skeleton loaders during data fetch 8. **Error Handling** - Display clear, actionable error messages 9. **Mobile Responsive** - All patterns should work on mobile 10. **Accessibility** - Ensure keyboard navigation and screen reader support --- **Remember**: Established patterns improve UX by meeting user expectations and reducing cognitive load.