# Border Width, Color, & Radius Utilities for controlling border width, color, style, and border radius. - [Basic Usage](#basic-usage) - [Quick Reference](#quick-reference) - [Variants](#variants) - [Responsive Design](#responsive-design) - [Dark Mode](#dark-mode) - [Arbitrary Values](#arbitrary-values) - [Customizing Theme](#customizing-theme) - [Related Documentation](#related-documentation) ## Basic Usage ```dart // Basic border (1px solid gray-200 by default) WDiv(className: 'border') // Thicker border with color WDiv(className: 'border-2 border-blue-500') // Rounded corners WDiv(className: 'border rounded-lg p-4') // Specific side border WDiv(className: 'border-b-2 border-red-500') ``` ## Quick Reference ### Border Width | Class | CSS Equivalent | Description | |:--- |:--- |:--- | | `border-0` | `border-width: 0px` | No border | | `border` | `border-width: 1px` | 1px border | | `border-2` | `border-width: 2px` | 2px border | | `border-4` | `border-width: 4px` | 4px border | | `border-8` | `border-width: 8px` | 8px border | ### Border Style | Class | CSS Equivalent | Description | |:--- |:--- |:--- | | `border-solid` | `border-style: solid` | Solid border (default) | | `border-none` | `border-style: none` | No border | ### Border Radius | Class | Value | Description | |:--- |:--- |:--- | | `rounded-none` | `0px` | No rounding | | `rounded-sm` | `2px` | Small radius | | `rounded` | `4px` | Default radius | | `rounded-md` | `6px` | Medium radius | | `rounded-lg` | `8px` | Large radius | | `rounded-xl` | `12px` | Extra large radius | | `rounded-2xl` | `16px` | 2x Extra large | | `rounded-3xl` | `24px` | 3x Extra large | | `rounded-full` | `9999px` | Fully rounded (pill/circle) | ## Variants ### Individual Sides Control border width for specific sides using `-t`, `-r`, `-b`, and `-l` suffixes. ```dart // Top border only WDiv(className: 'border-t-4 border-indigo-500') // Right and Left borders WDiv(className: 'border-r border-l border-gray-300') ``` ### Corner Radius Control radius for specific corners or sides. ```dart // Top corners only WDiv(className: 'rounded-t-lg bg-white') // Top-left corner only WDiv(className: 'rounded-tl-md bg-blue-100') ``` | Class | Sides/Corner | |:--- |:--- | | `rounded-t-*` | Top-left & Top-right | | `rounded-r-*` | Top-right & Bottom-right | | `rounded-b-*` | Bottom-left & Bottom-right | | `rounded-l-*` | Top-left & Bottom-left | | `rounded-tl-*` | Top-left only | | `rounded-tr-*` | Top-right only | | `rounded-br-*` | Bottom-right only | | `rounded-bl-*` | Bottom-left only | ### Color Opacity You can control the opacity of border colors using the color opacity modifier. ```dart // 50% opacity red border WDiv(className: 'border-2 border-red-500/50') ``` ## Responsive Design Prefix any border utility with a breakpoint variant to apply it at specific screen sizes. ```dart // No border on mobile, 2px border on tablet+ WDiv(className: 'border-0 md:border-2') // Square on mobile, rounded on desktop WDiv(className: 'rounded-none lg:rounded-xl') ``` ## Dark Mode Use the `dark:` prefix to style borders differently in dark mode. ```dart WDiv( className: 'border border-gray-200 dark:border-gray-700' ) ``` ## Arbitrary Values If you need a value that doesn't fit the theme, use square bracket notation. ```dart // Specific pixel width WDiv(className: 'border-[3px]') // Specific hex color WDiv(className: 'border-[#1da1f2]') // Specific radius WDiv(className: 'rounded-[10px]') ``` ## Customizing Theme Customize standard values in `WindThemeData`. ```dart WindThemeData( // Custom border widths borderWidths: { 'DEFAULT': 1.0, '3': 3.0, // adds border-3 'thin': 0.5, // adds border-thin }, // Custom border radius borderRadius: { 'DEFAULT': 4.0, 'xl': 12.0, 'mega': 32.0, // adds rounded-mega }, // Custom colors colors: { 'brand': Colors.indigo, // adds border-brand }, ) ``` ## Related Documentation - [Ring Utilities](ring.md) - Focus rings and outlines