diff --git a/.vscode/settings.json b/.vscode/settings.json index 2970030..964af63 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,5 +4,5 @@ "mode": "auto" } ], - "cSpell.words": ["mantine", "Millis", "Pandang", "Ujung", "WITA"] + "cSpell.words": ["mantine", "Menlo", "Millis", "Pandang", "Segoe", "Ujung", "WITA"] } diff --git a/apps/web/src/apps/index.tsx b/apps/web/src/apps/index.tsx index 6c5edc4..7ca77b6 100644 --- a/apps/web/src/apps/index.tsx +++ b/apps/web/src/apps/index.tsx @@ -9,7 +9,7 @@ const ShowcaseView = lazy(() => import('./showcase/showcase-view')); export default function App() { const [colorScheme, setColorScheme] = useState('light'); - const [density, setDensity] = useState('standard'); + const [density, setDensity] = useState('compact'); return ( diff --git a/apps/web/src/apps/showcase/showcase-view.tsx b/apps/web/src/apps/showcase/showcase-view.tsx index db003f2..73fbd64 100644 --- a/apps/web/src/apps/showcase/showcase-view.tsx +++ b/apps/web/src/apps/showcase/showcase-view.tsx @@ -1,5 +1,24 @@ import { ColorSchemeType, DensityType } from '@repo/ui/provider'; -import { Button, Card, Container, Select, Group, Stack, Text, Title, TextInput, Checkbox } from '@repo/ui/components'; +import { + Button, + Card, + Container, + Select, + Group, + Stack, + Text, + Title, + TextInput, + Checkbox, + PasswordInput, + NumberInput, + Textarea, + Switch, + Radio, + Table, + Badge, + Divider, +} from '@repo/ui/components'; interface ShowcaseViewProps { colorScheme: ColorSchemeType; @@ -9,15 +28,24 @@ interface ShowcaseViewProps { } export default function ShowcaseView({ colorScheme, setColorScheme, density, setDensity }: ShowcaseViewProps) { - return ( - - - UI Gateway Showcase + // Mock data for the table + const tableData = [ + { id: 'ORD-001', customer: 'John Doe', status: 'Shipped', total: '$120.00' }, + { id: 'ORD-002', customer: 'Jane Smith', status: 'Pending', total: '$85.50' }, + { id: 'ORD-003', customer: 'Acme Corp', status: 'Delivered', total: '$1,250.00' }, + ]; - {/* Control Panel */} + return ( + + + Super App UI Showcase + + {/* ========================================= + CONTROL PANEL + ========================================= */} - Control Panel + Theme Controls setDensity((val as DensityType) || 'standard')} data={[ - { value: 'compact', label: 'Compact' }, - { value: 'standard', label: 'Standard' }, - { value: 'spacious', label: 'Spacious' }, + { value: 'compact', label: 'Compact (ERP Mode)' }, + { value: 'standard', label: 'Standard (UI Mode)' }, ]} /> - {/* Showcase Area */} + {/* ========================================= + TAILWIND V4 BRIDGE TEST + ========================================= */} + + + Tailwind v4 Synchronization + + {/* This div purely uses Tailwind classes to prove it inherits Mantine's variables */} +
+ Tailwind works! The padding (p-md), border-radius (rounded-md), text size + (text-base), and background color of this box are entirely controlled by the ThemeProvider's current state. +
+
+ + {/* ========================================= + TYPOGRAPHY & BUTTONS + ========================================= */} -
- - Typography + <div> + <Title order={3} mb="xs"> + Typography & Badges - This is dimmed small text. + This is dimmed small text indicating a subtitle. + + + This is standard text describing the components below. Watch how the font changes when you switch + density. - This is standard text describing the components below. -
- -
- - Buttons - - - - - + Brand Badge + + Success Status + + + Error State +
+ +
- Form Elements + Buttons - - - + + + + + -
+ + {/* ========================================= + COMPLEX FORMS (ERP STYLE) + ========================================= */} + + + Form Elements + + + + + + + + + + + + +