@gv-tech/design-system 2.5.0 → 2.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/package.json +5 -2
- package/.agent/skills/dogfood-components/SKILL.md +0 -34
- package/.agent/skills/maintain-component/SKILL.md +0 -77
- package/.agent/workflows/native-playground.md +0 -93
- package/.github/CODEOWNERS +0 -2
- package/.github/CONTRIBUTING.md +0 -42
- package/.github/FUNDING.yml +0 -4
- package/.github/PULL_REQUEST_TEMPLATE/build.md +0 -5
- package/.github/PULL_REQUEST_TEMPLATE/standard.md +0 -3
- package/.github/RELEASING.md +0 -37
- package/.github/copilot-instructions.md +0 -61
- package/.github/workflows/ci.yml +0 -91
- package/.github/workflows/codeql-analysis.yml +0 -34
- package/.github/workflows/release-please.yml +0 -79
- package/.husky/pre-commit +0 -1
- package/.prettierignore +0 -3
- package/.release-please-manifest.json +0 -9
- package/.tool-versions +0 -1
- package/.vscode/launch.json +0 -22
- package/.vscode/mcp.json +0 -8
- package/.vscode/settings.json +0 -30
- package/.yarnrc.yml +0 -7
- package/SECURITY.md +0 -9
- package/apps/.gitkeep +0 -0
- package/apps/native-playground/CHANGELOG.md +0 -8
- package/apps/native-playground/app.json +0 -37
- package/apps/native-playground/assets/fonts/.gitkeep +0 -0
- package/apps/native-playground/assets/images/adaptive-icon.png +0 -0
- package/apps/native-playground/assets/images/favicon.png +0 -0
- package/apps/native-playground/assets/images/icon.png +0 -0
- package/apps/native-playground/assets/images/splash-icon.png +0 -0
- package/apps/native-playground/babel.config.js +0 -6
- package/apps/native-playground/eas.json +0 -25
- package/apps/native-playground/index.js +0 -8
- package/apps/native-playground/metro.config.js +0 -26
- package/apps/native-playground/nativewind-env.d.ts +0 -1
- package/apps/native-playground/package.json +0 -23
- package/apps/native-playground/project.json +0 -15
- package/apps/native-playground/src/app/App.tsx +0 -842
- package/apps/native-playground/src/global.css +0 -49
- package/apps/native-playground/tailwind.config.js +0 -49
- package/apps/native-playground/tsconfig.app.json +0 -24
- package/apps/native-playground/tsconfig.json +0 -23
- package/apps/native-playground/tsconfig.spec.json +0 -24
- package/apps/playground-web/CHANGELOG.md +0 -8
- package/apps/playground-web/index.html +0 -13
- package/apps/playground-web/package.json +0 -31
- package/apps/playground-web/public/favicon.png +0 -0
- package/apps/playground-web/public/index.demo.html +0 -40
- package/apps/playground-web/public/logo192.png +0 -0
- package/apps/playground-web/public/logo512.png +0 -0
- package/apps/playground-web/public/manifest.json +0 -25
- package/apps/playground-web/public/robots.txt +0 -2
- package/apps/playground-web/src/App.tsx +0 -179
- package/apps/playground-web/src/components/docs/CodeBlock.tsx +0 -34
- package/apps/playground-web/src/components/docs/CombinedDocsLayout.tsx +0 -103
- package/apps/playground-web/src/components/docs/ComponentShowcase.tsx +0 -96
- package/apps/playground-web/src/components/docs/ErrorBoundary.tsx +0 -55
- package/apps/playground-web/src/components/docs/Footer.tsx +0 -146
- package/apps/playground-web/src/components/docs/PropsTable.tsx +0 -43
- package/apps/playground-web/src/components/docs/Search.tsx +0 -75
- package/apps/playground-web/src/components/docs/Sidebar.tsx +0 -77
- package/apps/playground-web/src/components/docs/ThemeToggle.tsx +0 -19
- package/apps/playground-web/src/components/docs/index.ts +0 -9
- package/apps/playground-web/src/config/docs.ts +0 -293
- package/apps/playground-web/src/globals.css +0 -148
- package/apps/playground-web/src/hooks/useDocMetadata.ts +0 -34
- package/apps/playground-web/src/hooks/usePackageManager.tsx +0 -42
- package/apps/playground-web/src/lib/react-native-shim.js +0 -34
- package/apps/playground-web/src/main.tsx +0 -11
- package/apps/playground-web/src/pages/index.ts +0 -4
- package/apps/playground-web/src/pages/native/AccordionDocs.tsx +0 -85
- package/apps/playground-web/src/pages/native/AlertDialogDocs.tsx +0 -128
- package/apps/playground-web/src/pages/native/AlertDocs.tsx +0 -89
- package/apps/playground-web/src/pages/native/AspectRatioDocs.tsx +0 -52
- package/apps/playground-web/src/pages/native/AvatarDocs.tsx +0 -92
- package/apps/playground-web/src/pages/native/BadgeDocs.tsx +0 -63
- package/apps/playground-web/src/pages/native/BreadcrumbDocs.tsx +0 -71
- package/apps/playground-web/src/pages/native/ButtonDocs.tsx +0 -103
- package/apps/playground-web/src/pages/native/CalendarDocs.tsx +0 -74
- package/apps/playground-web/src/pages/native/CardDocs.tsx +0 -75
- package/apps/playground-web/src/pages/native/CarouselDocs.tsx +0 -113
- package/apps/playground-web/src/pages/native/ChartDocs.tsx +0 -115
- package/apps/playground-web/src/pages/native/CheckboxDocs.tsx +0 -38
- package/apps/playground-web/src/pages/native/CollapsibleDocs.tsx +0 -89
- package/apps/playground-web/src/pages/native/CommandDocs.tsx +0 -170
- package/apps/playground-web/src/pages/native/ContextMenuDocs.tsx +0 -121
- package/apps/playground-web/src/pages/native/DialogDocs.tsx +0 -132
- package/apps/playground-web/src/pages/native/DrawerDocs.tsx +0 -158
- package/apps/playground-web/src/pages/native/DropdownMenuDocs.tsx +0 -168
- package/apps/playground-web/src/pages/native/HoverCardDocs.tsx +0 -119
- package/apps/playground-web/src/pages/native/InputDocs.tsx +0 -86
- package/apps/playground-web/src/pages/native/LabelDocs.tsx +0 -55
- package/apps/playground-web/src/pages/native/MenubarDocs.tsx +0 -197
- package/apps/playground-web/src/pages/native/NavigationMenuDocs.tsx +0 -190
- package/apps/playground-web/src/pages/native/PaginationDocs.tsx +0 -70
- package/apps/playground-web/src/pages/native/PopoverDocs.tsx +0 -156
- package/apps/playground-web/src/pages/native/ProgressDocs.tsx +0 -61
- package/apps/playground-web/src/pages/native/RadioGroupDocs.tsx +0 -125
- package/apps/playground-web/src/pages/native/ResizableDocs.tsx +0 -118
- package/apps/playground-web/src/pages/native/ScrollAreaDocs.tsx +0 -92
- package/apps/playground-web/src/pages/native/SearchDocs.tsx +0 -150
- package/apps/playground-web/src/pages/native/SelectDocs.tsx +0 -141
- package/apps/playground-web/src/pages/native/SeparatorDocs.tsx +0 -72
- package/apps/playground-web/src/pages/native/SheetDocs.tsx +0 -140
- package/apps/playground-web/src/pages/native/SkeletonDocs.tsx +0 -44
- package/apps/playground-web/src/pages/native/SliderDocs.tsx +0 -118
- package/apps/playground-web/src/pages/native/SonnerDocs.tsx +0 -111
- package/apps/playground-web/src/pages/native/SwitchDocs.tsx +0 -87
- package/apps/playground-web/src/pages/native/TableDocs.tsx +0 -67
- package/apps/playground-web/src/pages/native/TabsDocs.tsx +0 -175
- package/apps/playground-web/src/pages/native/TextareaDocs.tsx +0 -61
- package/apps/playground-web/src/pages/native/ThemeToggleDocs.tsx +0 -288
- package/apps/playground-web/src/pages/native/ToastDocs.tsx +0 -124
- package/apps/playground-web/src/pages/native/ToggleDocs.tsx +0 -81
- package/apps/playground-web/src/pages/native/ToggleGroupDocs.tsx +0 -128
- package/apps/playground-web/src/pages/native/TooltipDocs.tsx +0 -140
- package/apps/playground-web/src/pages/native/index.ts +0 -47
- package/apps/playground-web/src/pages/shared/ColorTokensDocs.tsx +0 -234
- package/apps/playground-web/src/pages/shared/GettingStarted.tsx +0 -413
- package/apps/playground-web/src/pages/web/AccordionDocs.tsx +0 -194
- package/apps/playground-web/src/pages/web/AlertDialogDocs.tsx +0 -157
- package/apps/playground-web/src/pages/web/AlertDocs.tsx +0 -110
- package/apps/playground-web/src/pages/web/AspectRatioDocs.tsx +0 -94
- package/apps/playground-web/src/pages/web/AvatarDocs.tsx +0 -81
- package/apps/playground-web/src/pages/web/BadgeDocs.tsx +0 -66
- package/apps/playground-web/src/pages/web/BreadcrumbDocs.tsx +0 -93
- package/apps/playground-web/src/pages/web/ButtonDocs.tsx +0 -129
- package/apps/playground-web/src/pages/web/CalendarDocs.tsx +0 -78
- package/apps/playground-web/src/pages/web/CardDocs.tsx +0 -115
- package/apps/playground-web/src/pages/web/CarouselDocs.tsx +0 -176
- package/apps/playground-web/src/pages/web/ChartDocs.tsx +0 -151
- package/apps/playground-web/src/pages/web/CheckboxDocs.tsx +0 -95
- package/apps/playground-web/src/pages/web/CollapsibleDocs.tsx +0 -111
- package/apps/playground-web/src/pages/web/CommandDocs.tsx +0 -219
- package/apps/playground-web/src/pages/web/ContextMenuDocs.tsx +0 -164
- package/apps/playground-web/src/pages/web/DialogDocs.tsx +0 -175
- package/apps/playground-web/src/pages/web/DrawerDocs.tsx +0 -283
- package/apps/playground-web/src/pages/web/DropdownMenuDocs.tsx +0 -319
- package/apps/playground-web/src/pages/web/FormDocs.tsx +0 -175
- package/apps/playground-web/src/pages/web/HoverCardDocs.tsx +0 -151
- package/apps/playground-web/src/pages/web/InputDocs.tsx +0 -118
- package/apps/playground-web/src/pages/web/LabelDocs.tsx +0 -59
- package/apps/playground-web/src/pages/web/MenubarDocs.tsx +0 -296
- package/apps/playground-web/src/pages/web/NavigationMenuDocs.tsx +0 -263
- package/apps/playground-web/src/pages/web/PaginationDocs.tsx +0 -102
- package/apps/playground-web/src/pages/web/PopoverDocs.tsx +0 -189
- package/apps/playground-web/src/pages/web/ProgressDocs.tsx +0 -70
- package/apps/playground-web/src/pages/web/RadioGroupDocs.tsx +0 -137
- package/apps/playground-web/src/pages/web/ResizableDocs.tsx +0 -143
- package/apps/playground-web/src/pages/web/ScrollAreaDocs.tsx +0 -107
- package/apps/playground-web/src/pages/web/SearchDocs.tsx +0 -203
- package/apps/playground-web/src/pages/web/SelectDocs.tsx +0 -164
- package/apps/playground-web/src/pages/web/SeparatorDocs.tsx +0 -88
- package/apps/playground-web/src/pages/web/SheetDocs.tsx +0 -186
- package/apps/playground-web/src/pages/web/SkeletonDocs.tsx +0 -53
- package/apps/playground-web/src/pages/web/SliderDocs.tsx +0 -119
- package/apps/playground-web/src/pages/web/SonnerDocs.tsx +0 -126
- package/apps/playground-web/src/pages/web/SwitchDocs.tsx +0 -91
- package/apps/playground-web/src/pages/web/TableDocs.tsx +0 -148
- package/apps/playground-web/src/pages/web/TabsDocs.tsx +0 -241
- package/apps/playground-web/src/pages/web/TextareaDocs.tsx +0 -65
- package/apps/playground-web/src/pages/web/ThemeToggleDocs.tsx +0 -303
- package/apps/playground-web/src/pages/web/ToastDocs.tsx +0 -149
- package/apps/playground-web/src/pages/web/ToggleDocs.tsx +0 -85
- package/apps/playground-web/src/pages/web/ToggleGroupDocs.tsx +0 -140
- package/apps/playground-web/src/pages/web/TooltipDocs.tsx +0 -150
- package/apps/playground-web/src/pages/web/index.ts +0 -47
- package/apps/playground-web/src/routes/doc-routes.tsx +0 -363
- package/apps/playground-web/tailwind.config.js +0 -47
- package/apps/playground-web/tsconfig.app.json +0 -16
- package/apps/playground-web/tsconfig.json +0 -4
- package/apps/playground-web/tsconfig.node.json +0 -13
- package/apps/playground-web/vite.config.ts +0 -41
- package/components.json +0 -20
- package/docs/architecture-pivot.md +0 -165
- package/docs/native-setup-decision.md +0 -57
- package/docs/phase-1-tracker.md +0 -144
- package/docs/release-tooling-evaluation.md +0 -67
- package/docs/universal-implementation.md +0 -195
- package/docs/update-plan.md +0 -268
- package/eslint.config.mjs +0 -13
- package/nx.json +0 -50
- package/packages/.gitkeep +0 -0
- package/packages/design-tokens/CHANGELOG.md +0 -8
- package/packages/design-tokens/package.json +0 -20
- package/packages/design-tokens/src/index.ts +0 -35
- package/packages/design-tokens/src/palette.ts +0 -36
- package/packages/design-tokens/src/radii.ts +0 -26
- package/packages/design-tokens/src/shadows.ts +0 -16
- package/packages/design-tokens/src/spacing.ts +0 -33
- package/packages/design-tokens/src/theme.ts +0 -54
- package/packages/design-tokens/src/typography.ts +0 -36
- package/packages/design-tokens/tsconfig.json +0 -17
- package/packages/ui-core/CHANGELOG.md +0 -8
- package/packages/ui-core/package.json +0 -40
- package/packages/ui-core/src/contracts/accordion.ts +0 -23
- package/packages/ui-core/src/contracts/alert-dialog.ts +0 -48
- package/packages/ui-core/src/contracts/alert.ts +0 -17
- package/packages/ui-core/src/contracts/aspect-ratio.ts +0 -7
- package/packages/ui-core/src/contracts/avatar.ts +0 -17
- package/packages/ui-core/src/contracts/badge.ts +0 -7
- package/packages/ui-core/src/contracts/breadcrumb.ts +0 -37
- package/packages/ui-core/src/contracts/button.ts +0 -17
- package/packages/ui-core/src/contracts/calendar.ts +0 -4
- package/packages/ui-core/src/contracts/card.ts +0 -11
- package/packages/ui-core/src/contracts/carousel.ts +0 -29
- package/packages/ui-core/src/contracts/chart.ts +0 -31
- package/packages/ui-core/src/contracts/checkbox.ts +0 -11
- package/packages/ui-core/src/contracts/collapsible.ts +0 -21
- package/packages/ui-core/src/contracts/command.ts +0 -43
- package/packages/ui-core/src/contracts/context-menu.ts +0 -78
- package/packages/ui-core/src/contracts/dialog.ts +0 -29
- package/packages/ui-core/src/contracts/drawer.ts +0 -39
- package/packages/ui-core/src/contracts/dropdown-menu.ts +0 -87
- package/packages/ui-core/src/contracts/form.ts +0 -29
- package/packages/ui-core/src/contracts/hover-card.ts +0 -21
- package/packages/ui-core/src/contracts/input.ts +0 -11
- package/packages/ui-core/src/contracts/label.ts +0 -7
- package/packages/ui-core/src/contracts/menubar.ts +0 -86
- package/packages/ui-core/src/contracts/navigation-menu.ts +0 -55
- package/packages/ui-core/src/contracts/pagination.ts +0 -38
- package/packages/ui-core/src/contracts/popover.ts +0 -28
- package/packages/ui-core/src/contracts/progress.ts +0 -4
- package/packages/ui-core/src/contracts/radio.ts +0 -16
- package/packages/ui-core/src/contracts/resizable.ts +0 -36
- package/packages/ui-core/src/contracts/scroll-area.ts +0 -15
- package/packages/ui-core/src/contracts/search.ts +0 -13
- package/packages/ui-core/src/contracts/select.ts +0 -64
- package/packages/ui-core/src/contracts/separator.ts +0 -5
- package/packages/ui-core/src/contracts/sheet.ts +0 -58
- package/packages/ui-core/src/contracts/skeleton.ts +0 -6
- package/packages/ui-core/src/contracts/slider.ts +0 -15
- package/packages/ui-core/src/contracts/sonner.ts +0 -15
- package/packages/ui-core/src/contracts/switch.ts +0 -11
- package/packages/ui-core/src/contracts/table.ts +0 -41
- package/packages/ui-core/src/contracts/tabs.ts +0 -31
- package/packages/ui-core/src/contracts/text.ts +0 -12
- package/packages/ui-core/src/contracts/textarea.ts +0 -7
- package/packages/ui-core/src/contracts/theme-provider.ts +0 -14
- package/packages/ui-core/src/contracts/theme-toggle.ts +0 -15
- package/packages/ui-core/src/contracts/toast.ts +0 -15
- package/packages/ui-core/src/contracts/toaster.ts +0 -3
- package/packages/ui-core/src/contracts/toggle-group.ts +0 -23
- package/packages/ui-core/src/contracts/toggle.ts +0 -49
- package/packages/ui-core/src/contracts/tooltip.ts +0 -28
- package/packages/ui-core/src/index.ts +0 -327
- package/packages/ui-core/tsconfig.json +0 -18
- package/packages/ui-native/CHANGELOG.md +0 -8
- package/packages/ui-native/package.json +0 -76
- package/packages/ui-native/src/accordion.tsx +0 -93
- package/packages/ui-native/src/alert-dialog.tsx +0 -123
- package/packages/ui-native/src/alert.tsx +0 -50
- package/packages/ui-native/src/aspect-ratio.tsx +0 -9
- package/packages/ui-native/src/avatar.tsx +0 -38
- package/packages/ui-native/src/badge.tsx +0 -51
- package/packages/ui-native/src/breadcrumb.tsx +0 -9
- package/packages/ui-native/src/button.test.tsx +0 -27
- package/packages/ui-native/src/button.tsx +0 -75
- package/packages/ui-native/src/calendar.tsx +0 -9
- package/packages/ui-native/src/card.test.tsx +0 -33
- package/packages/ui-native/src/card.tsx +0 -56
- package/packages/ui-native/src/carousel.tsx +0 -9
- package/packages/ui-native/src/chart.tsx +0 -9
- package/packages/ui-native/src/checkbox.test.tsx +0 -58
- package/packages/ui-native/src/checkbox.tsx +0 -31
- package/packages/ui-native/src/collapsible.test.tsx +0 -50
- package/packages/ui-native/src/collapsible.tsx +0 -15
- package/packages/ui-native/src/command.tsx +0 -9
- package/packages/ui-native/src/context-menu.tsx +0 -9
- package/packages/ui-native/src/dialog.test.tsx +0 -91
- package/packages/ui-native/src/dialog.tsx +0 -121
- package/packages/ui-native/src/drawer.tsx +0 -9
- package/packages/ui-native/src/dropdown-menu.tsx +0 -9
- package/packages/ui-native/src/form.tsx +0 -9
- package/packages/ui-native/src/hover-card.tsx +0 -9
- package/packages/ui-native/src/index.ts +0 -209
- package/packages/ui-native/src/input.test.tsx +0 -27
- package/packages/ui-native/src/input.tsx +0 -27
- package/packages/ui-native/src/label.tsx +0 -29
- package/packages/ui-native/src/lib/render-native.tsx +0 -17
- package/packages/ui-native/src/lib/utils.ts +0 -6
- package/packages/ui-native/src/menubar.tsx +0 -9
- package/packages/ui-native/src/nativewind-env.d.ts +0 -1
- package/packages/ui-native/src/navigation-menu.tsx +0 -9
- package/packages/ui-native/src/pagination.tsx +0 -9
- package/packages/ui-native/src/popover.tsx +0 -9
- package/packages/ui-native/src/progress.tsx +0 -9
- package/packages/ui-native/src/radio-group.test.tsx +0 -77
- package/packages/ui-native/src/radio-group.tsx +0 -42
- package/packages/ui-native/src/resizable.tsx +0 -25
- package/packages/ui-native/src/scroll-area.tsx +0 -9
- package/packages/ui-native/src/search.tsx +0 -17
- package/packages/ui-native/src/select.tsx +0 -229
- package/packages/ui-native/src/separator.tsx +0 -20
- package/packages/ui-native/src/sheet.test.tsx +0 -93
- package/packages/ui-native/src/sheet.tsx +0 -127
- package/packages/ui-native/src/skeleton.test.tsx +0 -29
- package/packages/ui-native/src/skeleton.tsx +0 -31
- package/packages/ui-native/src/slider.tsx +0 -9
- package/packages/ui-native/src/sonner.tsx +0 -9
- package/packages/ui-native/src/switch.tsx +0 -34
- package/packages/ui-native/src/table.tsx +0 -73
- package/packages/ui-native/src/tabs.tsx +0 -74
- package/packages/ui-native/src/text.test.tsx +0 -24
- package/packages/ui-native/src/text.tsx +0 -43
- package/packages/ui-native/src/textarea.test.tsx +0 -27
- package/packages/ui-native/src/textarea.tsx +0 -29
- package/packages/ui-native/src/theme-provider.tsx +0 -6
- package/packages/ui-native/src/theme-toggle.tsx +0 -11
- package/packages/ui-native/src/toast.test.tsx +0 -61
- package/packages/ui-native/src/toast.tsx +0 -88
- package/packages/ui-native/src/toaster.tsx +0 -9
- package/packages/ui-native/src/toggle-group.tsx +0 -78
- package/packages/ui-native/src/toggle.tsx +0 -35
- package/packages/ui-native/src/tooltip.tsx +0 -44
- package/packages/ui-native/tsconfig.json +0 -23
- package/packages/ui-native/vite.config.ts +0 -17
- package/packages/ui-web/CHANGELOG.md +0 -8
- package/packages/ui-web/package.json +0 -84
- package/packages/ui-web/src/accordion.test.tsx +0 -86
- package/packages/ui-web/src/accordion.tsx +0 -58
- package/packages/ui-web/src/alert-dialog.test.tsx +0 -91
- package/packages/ui-web/src/alert-dialog.tsx +0 -121
- package/packages/ui-web/src/alert.test.tsx +0 -47
- package/packages/ui-web/src/alert.tsx +0 -49
- package/packages/ui-web/src/aspect-ratio.test.tsx +0 -34
- package/packages/ui-web/src/aspect-ratio.tsx +0 -7
- package/packages/ui-web/src/avatar.test.tsx +0 -33
- package/packages/ui-web/src/avatar.tsx +0 -40
- package/packages/ui-web/src/badge.test.tsx +0 -24
- package/packages/ui-web/src/badge.tsx +0 -34
- package/packages/ui-web/src/breadcrumb.tsx +0 -105
- package/packages/ui-web/src/button.test.tsx +0 -62
- package/packages/ui-web/src/button.tsx +0 -47
- package/packages/ui-web/src/calendar.test.tsx +0 -23
- package/packages/ui-web/src/calendar.tsx +0 -163
- package/packages/ui-web/src/card.test.tsx +0 -35
- package/packages/ui-web/src/card.tsx +0 -46
- package/packages/ui-web/src/carousel.test.tsx +0 -37
- package/packages/ui-web/src/carousel.tsx +0 -234
- package/packages/ui-web/src/chart.test.tsx +0 -62
- package/packages/ui-web/src/chart.tsx +0 -296
- package/packages/ui-web/src/checkbox.test.tsx +0 -30
- package/packages/ui-web/src/checkbox.tsx +0 -31
- package/packages/ui-web/src/collapsible.test.tsx +0 -51
- package/packages/ui-web/src/collapsible.tsx +0 -15
- package/packages/ui-web/src/command.test.tsx +0 -79
- package/packages/ui-web/src/command.tsx +0 -154
- package/packages/ui-web/src/context-menu.test.tsx +0 -37
- package/packages/ui-web/src/context-menu.tsx +0 -208
- package/packages/ui-web/src/dialog.test.tsx +0 -66
- package/packages/ui-web/src/dialog.tsx +0 -95
- package/packages/ui-web/src/drawer.test.tsx +0 -68
- package/packages/ui-web/src/drawer.tsx +0 -110
- package/packages/ui-web/src/dropdown-menu.test.tsx +0 -93
- package/packages/ui-web/src/dropdown-menu.tsx +0 -212
- package/packages/ui-web/src/form.test.tsx +0 -84
- package/packages/ui-web/src/form.tsx +0 -160
- package/packages/ui-web/src/hooks/use-theme.ts +0 -15
- package/packages/ui-web/src/hooks/use-toast.ts +0 -189
- package/packages/ui-web/src/hover-card.test.tsx +0 -48
- package/packages/ui-web/src/hover-card.tsx +0 -35
- package/packages/ui-web/src/index.ts +0 -474
- package/packages/ui-web/src/input.test.tsx +0 -33
- package/packages/ui-web/src/input.tsx +0 -23
- package/packages/ui-web/src/label.test.tsx +0 -27
- package/packages/ui-web/src/label.tsx +0 -21
- package/packages/ui-web/src/lib/utils.ts +0 -6
- package/packages/ui-web/src/menubar.test.tsx +0 -92
- package/packages/ui-web/src/menubar.tsx +0 -244
- package/packages/ui-web/src/navigation-menu.test.tsx +0 -53
- package/packages/ui-web/src/navigation-menu.tsx +0 -143
- package/packages/ui-web/src/pagination.test.tsx +0 -57
- package/packages/ui-web/src/pagination.tsx +0 -107
- package/packages/ui-web/src/popover.test.tsx +0 -31
- package/packages/ui-web/src/popover.tsx +0 -45
- package/packages/ui-web/src/progress.test.tsx +0 -18
- package/packages/ui-web/src/progress.tsx +0 -28
- package/packages/ui-web/src/radio-group.test.tsx +0 -39
- package/packages/ui-web/src/radio-group.tsx +0 -41
- package/packages/ui-web/src/resizable.test.tsx +0 -23
- package/packages/ui-web/src/resizable.tsx +0 -59
- package/packages/ui-web/src/scroll-area.test.tsx +0 -15
- package/packages/ui-web/src/scroll-area.tsx +0 -42
- package/packages/ui-web/src/search.test.tsx +0 -81
- package/packages/ui-web/src/search.tsx +0 -87
- package/packages/ui-web/src/select.test.tsx +0 -42
- package/packages/ui-web/src/select.tsx +0 -169
- package/packages/ui-web/src/separator.test.tsx +0 -16
- package/packages/ui-web/src/separator.tsx +0 -24
- package/packages/ui-web/src/setupTests.ts +0 -114
- package/packages/ui-web/src/sheet.test.tsx +0 -48
- package/packages/ui-web/src/sheet.tsx +0 -136
- package/packages/ui-web/src/skeleton.test.tsx +0 -13
- package/packages/ui-web/src/skeleton.tsx +0 -10
- package/packages/ui-web/src/slider.test.tsx +0 -18
- package/packages/ui-web/src/slider.tsx +0 -27
- package/packages/ui-web/src/sonner.test.tsx +0 -13
- package/packages/ui-web/src/sonner.tsx +0 -32
- package/packages/ui-web/src/switch.test.tsx +0 -22
- package/packages/ui-web/src/switch.tsx +0 -31
- package/packages/ui-web/src/table.test.tsx +0 -29
- package/packages/ui-web/src/table.tsx +0 -104
- package/packages/ui-web/src/tabs.test.tsx +0 -43
- package/packages/ui-web/src/tabs.tsx +0 -62
- package/packages/ui-web/src/text.test.tsx +0 -34
- package/packages/ui-web/src/text.tsx +0 -55
- package/packages/ui-web/src/textarea.test.tsx +0 -21
- package/packages/ui-web/src/textarea.tsx +0 -25
- package/packages/ui-web/src/theme-provider.tsx +0 -15
- package/packages/ui-web/src/theme-toggle.test.tsx +0 -49
- package/packages/ui-web/src/theme-toggle.tsx +0 -92
- package/packages/ui-web/src/toast.test.tsx +0 -42
- package/packages/ui-web/src/toast.tsx +0 -111
- package/packages/ui-web/src/toaster.tsx +0 -27
- package/packages/ui-web/src/toggle-group.test.tsx +0 -40
- package/packages/ui-web/src/toggle-group.tsx +0 -55
- package/packages/ui-web/src/toggle.test.tsx +0 -21
- package/packages/ui-web/src/toggle.tsx +0 -24
- package/packages/ui-web/src/tooltip.tsx +0 -51
- package/packages/ui-web/tsconfig.json +0 -24
- package/packages/ui-web/vite.config.ts +0 -21
- package/postcss.config.mjs +0 -5
- package/release-please-config.json +0 -60
- package/scripts/build-registry.ts +0 -80
- package/scripts/sync-tokens.ts +0 -86
- package/scripts/validate.ts +0 -74
- package/src/globals.css +0 -146
- package/src/index.ts +0 -4
- package/src/setupTests.ts +0 -47
- package/src/types/nativewind.d.ts +0 -19
- package/tailwind.config.js +0 -48
- package/tsconfig.build.json +0 -22
- package/tsconfig.json +0 -30
- package/tsconfig.node.json +0 -11
- package/vite.config.ts +0 -106
- package/vitest.config.ts +0 -23
- package/wrangler.toml +0 -22
|
@@ -1,413 +0,0 @@
|
|
|
1
|
-
import { CodeBlock } from '@/components/docs/CodeBlock';
|
|
2
|
-
import {
|
|
3
|
-
Alert,
|
|
4
|
-
AlertDescription,
|
|
5
|
-
AlertTitle,
|
|
6
|
-
Card,
|
|
7
|
-
CardContent,
|
|
8
|
-
CardHeader,
|
|
9
|
-
CardTitle,
|
|
10
|
-
Tabs,
|
|
11
|
-
TabsContent,
|
|
12
|
-
TabsList,
|
|
13
|
-
TabsTrigger,
|
|
14
|
-
} from '@gv-tech/ui-web';
|
|
15
|
-
import { AlertCircle, Info } from 'lucide-react';
|
|
16
|
-
|
|
17
|
-
import { useDocMetadata } from '@/hooks/useDocMetadata';
|
|
18
|
-
import { usePackageManager, type PackageManager } from '@/hooks/usePackageManager';
|
|
19
|
-
|
|
20
|
-
export function GettingStartedPage() {
|
|
21
|
-
useDocMetadata({
|
|
22
|
-
title: 'Getting Started',
|
|
23
|
-
description: 'Learn how to get started with the GV Tech Design System.',
|
|
24
|
-
});
|
|
25
|
-
return (
|
|
26
|
-
<div className="space-y-8">
|
|
27
|
-
<div className="space-y-2">
|
|
28
|
-
<h1 className="text-3xl md:text-4xl font-bold tracking-tight text-center md:text-left">
|
|
29
|
-
GV Tech Design System
|
|
30
|
-
</h1>
|
|
31
|
-
<p className="text-lg md:text-xl text-muted-foreground text-center md:text-left">
|
|
32
|
-
A comprehensive React component library built with shadcn/ui and Tailwind CSS.
|
|
33
|
-
</p>
|
|
34
|
-
</div>
|
|
35
|
-
|
|
36
|
-
<div className="grid gap-4 md:grid-cols-3">
|
|
37
|
-
<Card>
|
|
38
|
-
<CardHeader className="p-4 pb-2">
|
|
39
|
-
<div className="h-10 w-10 rounded-md bg-primary/10 flex items-center justify-center mb-2">
|
|
40
|
-
<span className="text-2xl">🎨</span>
|
|
41
|
-
</div>
|
|
42
|
-
<CardTitle className="text-lg">Consistent Design</CardTitle>
|
|
43
|
-
</CardHeader>
|
|
44
|
-
<CardContent className="p-4 pt-0">
|
|
45
|
-
<p className="text-sm text-muted-foreground">
|
|
46
|
-
Built on a unified design language with customizable themes.
|
|
47
|
-
</p>
|
|
48
|
-
</CardContent>
|
|
49
|
-
</Card>
|
|
50
|
-
<Card>
|
|
51
|
-
<CardHeader className="p-4 pb-2">
|
|
52
|
-
<div className="h-10 w-10 rounded-md bg-primary/10 flex items-center justify-center mb-2">
|
|
53
|
-
<span className="text-2xl">⚡</span>
|
|
54
|
-
</div>
|
|
55
|
-
<CardTitle className="text-lg">Fully Typed</CardTitle>
|
|
56
|
-
</CardHeader>
|
|
57
|
-
<CardContent className="p-4 pt-0">
|
|
58
|
-
<p className="text-sm text-muted-foreground">
|
|
59
|
-
Complete TypeScript support with comprehensive type definitions.
|
|
60
|
-
</p>
|
|
61
|
-
</CardContent>
|
|
62
|
-
</Card>
|
|
63
|
-
<Card>
|
|
64
|
-
<CardHeader className="p-4 pb-2">
|
|
65
|
-
<div className="h-10 w-10 rounded-md bg-primary/10 flex items-center justify-center mb-2">
|
|
66
|
-
<span className="text-2xl">♿</span>
|
|
67
|
-
</div>
|
|
68
|
-
<CardTitle className="text-lg">Accessible</CardTitle>
|
|
69
|
-
</CardHeader>
|
|
70
|
-
<CardContent className="p-4 pt-0">
|
|
71
|
-
<p className="text-sm text-muted-foreground">WAI-ARIA compliant components with keyboard navigation.</p>
|
|
72
|
-
</CardContent>
|
|
73
|
-
</Card>
|
|
74
|
-
</div>
|
|
75
|
-
|
|
76
|
-
<section className="space-y-4">
|
|
77
|
-
<h2 className="text-2xl font-semibold tracking-tight">Quick Example</h2>
|
|
78
|
-
<CodeBlock
|
|
79
|
-
code={`import { Button, Card, CardContent, CardHeader, CardTitle } from '@gv-tech/design-system';
|
|
80
|
-
|
|
81
|
-
function MyComponent() {
|
|
82
|
-
return (
|
|
83
|
-
<Card>
|
|
84
|
-
<CardHeader>
|
|
85
|
-
<CardTitle>Welcome</CardTitle>
|
|
86
|
-
</CardHeader>
|
|
87
|
-
<CardContent>
|
|
88
|
-
<Button>Get Started</Button>
|
|
89
|
-
</CardContent>
|
|
90
|
-
</Card>
|
|
91
|
-
);
|
|
92
|
-
}`}
|
|
93
|
-
/>
|
|
94
|
-
</section>
|
|
95
|
-
|
|
96
|
-
<section className="space-y-4">
|
|
97
|
-
<h2 className="text-2xl font-semibold tracking-tight">Platform Support</h2>
|
|
98
|
-
<div className="grid gap-4 md:grid-cols-2">
|
|
99
|
-
<Card>
|
|
100
|
-
<CardHeader className="p-4 pb-2">
|
|
101
|
-
<CardTitle className="text-lg">Web</CardTitle>
|
|
102
|
-
</CardHeader>
|
|
103
|
-
<CardContent className="p-4 pt-0">
|
|
104
|
-
<p className="text-sm text-muted-foreground">Optimized for React with Radix UI and Tailwind CSS 4.0.</p>
|
|
105
|
-
</CardContent>
|
|
106
|
-
</Card>
|
|
107
|
-
<Card>
|
|
108
|
-
<CardHeader className="p-4 pb-2">
|
|
109
|
-
<CardTitle className="text-lg">React Native</CardTitle>
|
|
110
|
-
</CardHeader>
|
|
111
|
-
<CardContent className="p-4 pt-0">
|
|
112
|
-
<p className="text-sm text-muted-foreground">
|
|
113
|
-
Built with NativeWind for a consistent styling experience on iOS and Android.
|
|
114
|
-
</p>
|
|
115
|
-
</CardContent>
|
|
116
|
-
</Card>
|
|
117
|
-
</div>
|
|
118
|
-
</section>
|
|
119
|
-
|
|
120
|
-
<section className="space-y-4">
|
|
121
|
-
<h2 className="text-2xl font-semibold tracking-tight">Documentation Note</h2>
|
|
122
|
-
<Alert variant="info">
|
|
123
|
-
<Info className="h-4 w-4" />
|
|
124
|
-
<AlertTitle>Native Previews</AlertTitle>
|
|
125
|
-
<AlertDescription>
|
|
126
|
-
On this documentation site, <strong>React Native</strong> components are shown as code snippets only. Live
|
|
127
|
-
rendering of native components on the web is disabled to ensure stability. To view native components in
|
|
128
|
-
action, run the project on an iOS or Android simulator.
|
|
129
|
-
</AlertDescription>
|
|
130
|
-
</Alert>
|
|
131
|
-
</section>
|
|
132
|
-
|
|
133
|
-
<section className="space-y-4">
|
|
134
|
-
<h2 className="text-2xl font-semibold tracking-tight">Universal Components</h2>
|
|
135
|
-
<div className="flex items-start gap-4 p-4 rounded-lg border bg-muted/30">
|
|
136
|
-
<div className="mt-1 shrink-0">
|
|
137
|
-
<div className="h-3 w-3 rounded-full bg-green-500 shadow-[0_0_8px_rgba(34,197,94,0.6)]" />
|
|
138
|
-
</div>
|
|
139
|
-
<div className="space-y-1">
|
|
140
|
-
<p className="font-medium text-sm">Universal Support Indicator</p>
|
|
141
|
-
<p className="text-sm text-muted-foreground">
|
|
142
|
-
Components marked with this green dot in the sidebar have both <strong>Web</strong> and{' '}
|
|
143
|
-
<strong>Native</strong> implementations. You can use them seamlessly across platforms with a unified API.
|
|
144
|
-
</p>
|
|
145
|
-
</div>
|
|
146
|
-
</div>
|
|
147
|
-
</section>
|
|
148
|
-
|
|
149
|
-
<section className="space-y-4">
|
|
150
|
-
<h2 className="text-2xl font-semibold tracking-tight">Features</h2>
|
|
151
|
-
<ul className="space-y-2 text-muted-foreground">
|
|
152
|
-
<li className="flex items-center gap-2">
|
|
153
|
-
<span className="text-green-500">✓</span> 46+ ready-to-use components
|
|
154
|
-
</li>
|
|
155
|
-
<li className="flex items-center gap-2">
|
|
156
|
-
<span className="text-green-500">✓</span> Universal support (Web + React Native) for core components
|
|
157
|
-
</li>
|
|
158
|
-
<li className="flex items-center gap-2">
|
|
159
|
-
<span className="text-green-500">✓</span> Dark and light mode support
|
|
160
|
-
</li>
|
|
161
|
-
<li className="flex items-center gap-2">
|
|
162
|
-
<span className="text-green-500">✓</span> Fully customizable with CSS variables (Web) and Tailwind (Native)
|
|
163
|
-
</li>
|
|
164
|
-
<li className="flex items-center gap-2">
|
|
165
|
-
<span className="text-green-500">✓</span> Tree-shakeable for optimal bundle size
|
|
166
|
-
</li>
|
|
167
|
-
<li className="flex items-center gap-2">
|
|
168
|
-
<span className="text-green-500">✓</span> React 18/19 compatible
|
|
169
|
-
</li>
|
|
170
|
-
</ul>
|
|
171
|
-
</section>
|
|
172
|
-
</div>
|
|
173
|
-
);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
export function InstallationPage() {
|
|
177
|
-
useDocMetadata({
|
|
178
|
-
title: 'Installation',
|
|
179
|
-
description: 'Install the GV Tech Design System in your project.',
|
|
180
|
-
});
|
|
181
|
-
const { packageManager, setPackageManager } = usePackageManager();
|
|
182
|
-
|
|
183
|
-
return (
|
|
184
|
-
<div className="space-y-8">
|
|
185
|
-
<div className="space-y-2">
|
|
186
|
-
<h1 className="text-2xl md:text-3xl font-bold tracking-tight">Installation</h1>
|
|
187
|
-
<p className="text-base md:text-lg text-muted-foreground">
|
|
188
|
-
Get started with the GV Tech Design System in your React project.
|
|
189
|
-
</p>
|
|
190
|
-
</div>
|
|
191
|
-
|
|
192
|
-
<section className="space-y-4">
|
|
193
|
-
<h2 className="text-2xl font-semibold tracking-tight">Install the package</h2>
|
|
194
|
-
<p className="text-muted-foreground">Install the design system package using your preferred package manager:</p>
|
|
195
|
-
<Tabs value={packageManager} onValueChange={(v) => setPackageManager(v as PackageManager)} className="w-full">
|
|
196
|
-
<TabsList>
|
|
197
|
-
<TabsTrigger value="npm">npm</TabsTrigger>
|
|
198
|
-
<TabsTrigger value="yarn">yarn</TabsTrigger>
|
|
199
|
-
<TabsTrigger value="pnpm">pnpm</TabsTrigger>
|
|
200
|
-
</TabsList>
|
|
201
|
-
<TabsContent value="npm" className="mt-4">
|
|
202
|
-
<CodeBlock code="npm install @gv-tech/design-system" language="bash" />
|
|
203
|
-
</TabsContent>
|
|
204
|
-
<TabsContent value="yarn" className="mt-4">
|
|
205
|
-
<CodeBlock code="yarn add @gv-tech/design-system" language="bash" />
|
|
206
|
-
</TabsContent>
|
|
207
|
-
<TabsContent value="pnpm" className="mt-4">
|
|
208
|
-
<CodeBlock code="pnpm add @gv-tech/design-system" language="bash" />
|
|
209
|
-
</TabsContent>
|
|
210
|
-
</Tabs>
|
|
211
|
-
</section>
|
|
212
|
-
|
|
213
|
-
<section className="space-y-4">
|
|
214
|
-
<h2 className="text-2xl font-semibold tracking-tight">Peer Dependencies</h2>
|
|
215
|
-
<p className="text-muted-foreground">Make sure you have the required peer dependencies installed:</p>
|
|
216
|
-
<CodeBlock
|
|
217
|
-
code={`{
|
|
218
|
-
"react": "^18 || ^19",
|
|
219
|
-
"react-dom": "^18 || ^19",
|
|
220
|
-
"next-themes": "^0.4.0"
|
|
221
|
-
}`}
|
|
222
|
-
language="json"
|
|
223
|
-
/>
|
|
224
|
-
<p className="text-sm text-muted-foreground">
|
|
225
|
-
<code className="text-sm bg-muted px-1.5 py-0.5 rounded">next-themes</code> is required for the design
|
|
226
|
-
system's <code className="text-sm bg-muted px-1.5 py-0.5 rounded">ThemeProvider</code>,{' '}
|
|
227
|
-
<code className="text-sm bg-muted px-1.5 py-0.5 rounded">ThemeToggle</code>, and{' '}
|
|
228
|
-
<code className="text-sm bg-muted px-1.5 py-0.5 rounded">useTheme</code> to work. Install it alongside the
|
|
229
|
-
design system:
|
|
230
|
-
</p>
|
|
231
|
-
<Tabs value={packageManager} onValueChange={(v) => setPackageManager(v as PackageManager)} className="w-full">
|
|
232
|
-
<TabsList>
|
|
233
|
-
<TabsTrigger value="npm">npm</TabsTrigger>
|
|
234
|
-
<TabsTrigger value="yarn">yarn</TabsTrigger>
|
|
235
|
-
<TabsTrigger value="pnpm">pnpm</TabsTrigger>
|
|
236
|
-
</TabsList>
|
|
237
|
-
<TabsContent value="npm" className="mt-4">
|
|
238
|
-
<CodeBlock code="npm install next-themes" language="bash" />
|
|
239
|
-
</TabsContent>
|
|
240
|
-
<TabsContent value="yarn" className="mt-4">
|
|
241
|
-
<CodeBlock code="yarn add next-themes" language="bash" />
|
|
242
|
-
</TabsContent>
|
|
243
|
-
<TabsContent value="pnpm" className="mt-4">
|
|
244
|
-
<CodeBlock code="pnpm add next-themes" language="bash" />
|
|
245
|
-
</TabsContent>
|
|
246
|
-
</Tabs>
|
|
247
|
-
</section>
|
|
248
|
-
|
|
249
|
-
<section className="space-y-4">
|
|
250
|
-
<h2 className="text-2xl font-semibold tracking-tight">Configure Tailwind CSS (v4.0)</h2>
|
|
251
|
-
<p className="text-muted-foreground">
|
|
252
|
-
The design system is optimized for Tailwind CSS 4.0. In your global CSS file, import Tailwind and add the
|
|
253
|
-
theme variables:
|
|
254
|
-
</p>
|
|
255
|
-
<CodeBlock
|
|
256
|
-
language="css"
|
|
257
|
-
code={`@import "tailwindcss";
|
|
258
|
-
|
|
259
|
-
@theme {
|
|
260
|
-
--radius-lg: var(--radius);
|
|
261
|
-
--radius-md: calc(var(--radius) - 2px);
|
|
262
|
-
--radius-sm: calc(var(--radius) - 4px);
|
|
263
|
-
|
|
264
|
-
/* Map design system tokens to Tailwind colors */
|
|
265
|
-
--color-background: hsl(var(--background));
|
|
266
|
-
--color-foreground: hsl(var(--foreground));
|
|
267
|
-
--color-primary: hsl(var(--primary));
|
|
268
|
-
--color-primary-foreground: hsl(var(--primary-foreground));
|
|
269
|
-
--color-accent: hsl(var(--accent));
|
|
270
|
-
--color-accent-foreground: hsl(var(--accent-foreground));
|
|
271
|
-
--color-border: hsl(var(--border));
|
|
272
|
-
}`}
|
|
273
|
-
/>
|
|
274
|
-
</section>
|
|
275
|
-
|
|
276
|
-
<section className="space-y-4">
|
|
277
|
-
<h2 className="text-2xl font-semibold tracking-tight">Add CSS Variables</h2>
|
|
278
|
-
<p className="text-muted-foreground">Add the following CSS variables to your global stylesheet:</p>
|
|
279
|
-
<CodeBlock
|
|
280
|
-
code={`@layer base {
|
|
281
|
-
:root {
|
|
282
|
-
--background: 0 0% 100%;
|
|
283
|
-
--foreground: 222.2 84% 4.9%;
|
|
284
|
-
--card: 0 0% 100%;
|
|
285
|
-
--card-foreground: 222.2 84% 4.9%;
|
|
286
|
-
--popover: 0 0% 100%;
|
|
287
|
-
--popover-foreground: 222.2 84% 4.9%;
|
|
288
|
-
--primary: 222.2 47.4% 11.2%;
|
|
289
|
-
--primary-foreground: 210 40% 98%;
|
|
290
|
-
--secondary: 210 40% 96.1%;
|
|
291
|
-
--secondary-foreground: 222.2 47.4% 11.2%;
|
|
292
|
-
--muted: 210 40% 96.1%;
|
|
293
|
-
--muted-foreground: 215.4 16.3% 46.9%;
|
|
294
|
-
--accent: 210 40% 96.1%;
|
|
295
|
-
--accent-foreground: 222.2 47.4% 11.2%;
|
|
296
|
-
--destructive: 0 84.2% 60.2%;
|
|
297
|
-
--destructive-foreground: 210 40% 98%;
|
|
298
|
-
--border: 214.3 31.8% 91.4%;
|
|
299
|
-
--input: 214.3 31.8% 91.4%;
|
|
300
|
-
--ring: 222.2 84% 4.9%;
|
|
301
|
-
--radius: 0.5rem;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
.dark {
|
|
305
|
-
--background: 222.2 84% 4.9%;
|
|
306
|
-
--foreground: 210 40% 98%;
|
|
307
|
-
--card: 222.2 84% 4.9%;
|
|
308
|
-
--card-foreground: 210 40% 98%;
|
|
309
|
-
--popover: 222.2 84% 4.9%;
|
|
310
|
-
--popover-foreground: 210 40% 98%;
|
|
311
|
-
--primary: 210 40% 98%;
|
|
312
|
-
--primary-foreground: 222.2 47.4% 11.2%;
|
|
313
|
-
--secondary: 217.2 32.6% 17.5%;
|
|
314
|
-
--secondary-foreground: 210 40% 98%;
|
|
315
|
-
--muted: 217.2 32.6% 17.5%;
|
|
316
|
-
--muted-foreground: 215 20.2% 65.1%;
|
|
317
|
-
--accent: 217.2 32.6% 17.5%;
|
|
318
|
-
--accent-foreground: 210 40% 98%;
|
|
319
|
-
--destructive: 0 62.8% 30.6%;
|
|
320
|
-
--destructive-foreground: 210 40% 98%;
|
|
321
|
-
--border: 217.2 32.6% 17.5%;
|
|
322
|
-
--input: 217.2 32.6% 17.5%;
|
|
323
|
-
--ring: 212.7 26.8% 83.9%;
|
|
324
|
-
}
|
|
325
|
-
}`}
|
|
326
|
-
language="css"
|
|
327
|
-
/>
|
|
328
|
-
</section>
|
|
329
|
-
|
|
330
|
-
<section className="space-y-4">
|
|
331
|
-
<h2 className="text-2xl font-semibold tracking-tight">React Native Setup</h2>
|
|
332
|
-
<p className="text-muted-foreground">
|
|
333
|
-
For React Native projects, you'll need to configure NativeWind and ensure correct platform resolution.
|
|
334
|
-
</p>
|
|
335
|
-
<Alert variant="warning">
|
|
336
|
-
<AlertCircle className="h-4 w-4" />
|
|
337
|
-
<AlertTitle>Important Native Resolution</AlertTitle>
|
|
338
|
-
<AlertDescription>
|
|
339
|
-
The design system uses <code className="bg-background px-1 rounded">.native.tsx</code> extensions. Ensure
|
|
340
|
-
your Metro bundler is configured to prefer these extensions.
|
|
341
|
-
</AlertDescription>
|
|
342
|
-
</Alert>
|
|
343
|
-
<Tabs value={packageManager} onValueChange={(v) => setPackageManager(v as PackageManager)} className="w-full">
|
|
344
|
-
<TabsList>
|
|
345
|
-
<TabsTrigger value="npm">npm</TabsTrigger>
|
|
346
|
-
<TabsTrigger value="yarn">yarn</TabsTrigger>
|
|
347
|
-
<TabsTrigger value="pnpm">pnpm</TabsTrigger>
|
|
348
|
-
</TabsList>
|
|
349
|
-
<TabsContent value="npm" className="mt-4 text-sm">
|
|
350
|
-
<CodeBlock code="npm install @gv-tech/design-system lucide-react-native nativewind" language="bash" />
|
|
351
|
-
</TabsContent>
|
|
352
|
-
<TabsContent value="yarn" className="mt-4 text-sm">
|
|
353
|
-
<CodeBlock code="yarn add @gv-tech/design-system lucide-react-native nativewind" language="bash" />
|
|
354
|
-
</TabsContent>
|
|
355
|
-
<TabsContent value="pnpm" className="mt-4 text-sm">
|
|
356
|
-
<CodeBlock code="pnpm add @gv-tech/design-system lucide-react-native nativewind" language="bash" />
|
|
357
|
-
</TabsContent>
|
|
358
|
-
</Tabs>
|
|
359
|
-
</section>
|
|
360
|
-
|
|
361
|
-
<section className="space-y-4">
|
|
362
|
-
<h2 className="text-2xl font-semibold tracking-tight">Start Using Components</h2>
|
|
363
|
-
<p className="text-muted-foreground">
|
|
364
|
-
Wrap your app with the <code className="text-sm bg-muted px-1.5 py-0.5 rounded">ThemeProvider</code> to enable
|
|
365
|
-
consistent styling and theme switching.
|
|
366
|
-
</p>
|
|
367
|
-
<Tabs defaultValue="web" className="w-full">
|
|
368
|
-
<TabsList>
|
|
369
|
-
<TabsTrigger value="web">Web</TabsTrigger>
|
|
370
|
-
<TabsTrigger value="native">React Native</TabsTrigger>
|
|
371
|
-
</TabsList>
|
|
372
|
-
<TabsContent value="web" className="mt-4">
|
|
373
|
-
<CodeBlock
|
|
374
|
-
code={`import { ThemeProvider, ThemeToggle, Button } from '@gv-tech/design-system';
|
|
375
|
-
import '@gv-tech/design-system/style.css';
|
|
376
|
-
|
|
377
|
-
export default function App() {
|
|
378
|
-
return (
|
|
379
|
-
<ThemeProvider>
|
|
380
|
-
<div className="p-8">
|
|
381
|
-
<ThemeToggle />
|
|
382
|
-
<Button className="mt-4">Welcome to GV Tech</Button>
|
|
383
|
-
</div>
|
|
384
|
-
</ThemeProvider>
|
|
385
|
-
);
|
|
386
|
-
}`}
|
|
387
|
-
/>
|
|
388
|
-
</TabsContent>
|
|
389
|
-
<TabsContent value="native" className="mt-4">
|
|
390
|
-
<CodeBlock
|
|
391
|
-
code={`import { ThemeProvider, Button, Input, Label, Text } from '@gv-tech/design-system';
|
|
392
|
-
import { View } from 'react-native';
|
|
393
|
-
|
|
394
|
-
export default function MyScreen() {
|
|
395
|
-
return (
|
|
396
|
-
<ThemeProvider>
|
|
397
|
-
<View className="flex-1 items-center justify-center p-6 bg-background">
|
|
398
|
-
<Label className="mb-2">Your Name</Label>
|
|
399
|
-
<Input placeholder="Enter your name" className="mb-4" />
|
|
400
|
-
<Button onPress={() => alert('Hello!')}>
|
|
401
|
-
<Text>Submit</Text>
|
|
402
|
-
</Button>
|
|
403
|
-
</View>
|
|
404
|
-
</ThemeProvider>
|
|
405
|
-
);
|
|
406
|
-
}`}
|
|
407
|
-
/>
|
|
408
|
-
</TabsContent>
|
|
409
|
-
</Tabs>
|
|
410
|
-
</section>
|
|
411
|
-
</div>
|
|
412
|
-
);
|
|
413
|
-
}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { ComponentShowcase } from '@/components/docs/ComponentShowcase';
|
|
2
|
-
import { PropsTable } from '@/components/docs/PropsTable';
|
|
3
|
-
/* eslint-disable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unused-vars */
|
|
4
|
-
import {
|
|
5
|
-
Accordion as WebAccordion,
|
|
6
|
-
AccordionContent as WebAccordionContent,
|
|
7
|
-
AccordionItem as WebAccordionItem,
|
|
8
|
-
AccordionTrigger as WebAccordionTrigger,
|
|
9
|
-
} from '@gv-tech/ui-web';
|
|
10
|
-
|
|
11
|
-
// @ts-ignore
|
|
12
|
-
|
|
13
|
-
const isNative = false as boolean;
|
|
14
|
-
|
|
15
|
-
// @ts-ignore
|
|
16
|
-
|
|
17
|
-
const platform = 'web' as string;
|
|
18
|
-
|
|
19
|
-
export function AccordionDocs() {
|
|
20
|
-
const Accordion = WebAccordion;
|
|
21
|
-
const AccordionContent = WebAccordionContent;
|
|
22
|
-
const AccordionItem = WebAccordionItem;
|
|
23
|
-
const AccordionTrigger = WebAccordionTrigger;
|
|
24
|
-
|
|
25
|
-
return (
|
|
26
|
-
<>
|
|
27
|
-
{null}
|
|
28
|
-
<ComponentShowcase
|
|
29
|
-
title="Default"
|
|
30
|
-
description="A basic accordion component."
|
|
31
|
-
code={`<Accordion type="single" collapsible className="w-full">
|
|
32
|
-
<AccordionItem value="item-1">
|
|
33
|
-
<AccordionTrigger>Is it accessible?</AccordionTrigger>
|
|
34
|
-
<AccordionContent>
|
|
35
|
-
Yes. It adheres to the WAI-ARIA design pattern.
|
|
36
|
-
</AccordionContent>
|
|
37
|
-
</AccordionItem>
|
|
38
|
-
<AccordionItem value="item-2">
|
|
39
|
-
<AccordionTrigger>Is it styled?</AccordionTrigger>
|
|
40
|
-
<AccordionContent>
|
|
41
|
-
Yes. It comes with default styles.
|
|
42
|
-
</AccordionContent>
|
|
43
|
-
</AccordionItem>
|
|
44
|
-
<AccordionItem value="item-3">
|
|
45
|
-
<AccordionTrigger>Is it animated?</AccordionTrigger>
|
|
46
|
-
<AccordionContent>
|
|
47
|
-
Yes. It's animated by default.
|
|
48
|
-
</AccordionContent>
|
|
49
|
-
</AccordionItem>
|
|
50
|
-
</Accordion>`}
|
|
51
|
-
>
|
|
52
|
-
<Accordion type="single" collapsible className="w-full max-w-md">
|
|
53
|
-
<AccordionItem value="item-1">
|
|
54
|
-
<AccordionTrigger>Is it accessible?</AccordionTrigger>
|
|
55
|
-
<AccordionContent>Yes. It adheres to the WAI-ARIA design pattern.</AccordionContent>
|
|
56
|
-
</AccordionItem>
|
|
57
|
-
<AccordionItem value="item-2">
|
|
58
|
-
<AccordionTrigger>Is it styled?</AccordionTrigger>
|
|
59
|
-
<AccordionContent>
|
|
60
|
-
Yes. It comes with default styles that matches the other components' aesthetic.
|
|
61
|
-
</AccordionContent>
|
|
62
|
-
</AccordionItem>
|
|
63
|
-
<AccordionItem value="item-3">
|
|
64
|
-
<AccordionTrigger>Is it animated?</AccordionTrigger>
|
|
65
|
-
<AccordionContent>
|
|
66
|
-
Yes. It's animated by default, but you can disable it if you prefer.
|
|
67
|
-
</AccordionContent>
|
|
68
|
-
</AccordionItem>
|
|
69
|
-
</Accordion>
|
|
70
|
-
</ComponentShowcase>
|
|
71
|
-
|
|
72
|
-
<div className="space-y-4">
|
|
73
|
-
<h3 className="text-xl font-semibold">Props</h3>
|
|
74
|
-
|
|
75
|
-
<h4 className="text-lg font-medium mt-6">Accordion (Root)</h4>
|
|
76
|
-
<PropsTable
|
|
77
|
-
props={[
|
|
78
|
-
{
|
|
79
|
-
name: 'type',
|
|
80
|
-
type: '"single" | "multiple"',
|
|
81
|
-
description: 'Determines whether one or multiple items can be opened at the same time.',
|
|
82
|
-
required: true,
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
name: 'collapsible',
|
|
86
|
-
type: 'boolean',
|
|
87
|
-
defaultValue: 'false check',
|
|
88
|
-
description: 'When type is "single", allows closing content when clicking trigger for an open item.',
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
name: 'value',
|
|
92
|
-
type: 'string | string[]',
|
|
93
|
-
description: 'The controlled value of the item(s) to expand.',
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
name: 'defaultValue',
|
|
97
|
-
type: 'string | string[]',
|
|
98
|
-
description: 'The default value of the item(s) to expand.',
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
name: 'onValueChange',
|
|
102
|
-
type: '(value: string | string[]) => void',
|
|
103
|
-
description: 'Event handler called when the expanded state of an item changes.',
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
name: 'disabled',
|
|
107
|
-
type: 'boolean',
|
|
108
|
-
defaultValue: 'false',
|
|
109
|
-
description: 'When true, prevents the user from interacting with the accordion.',
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
name: 'dir',
|
|
113
|
-
type: '"ltr" | "rtl"',
|
|
114
|
-
defaultValue: '"ltr"',
|
|
115
|
-
description: 'The reading direction of the accordion.',
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
name: 'orientation',
|
|
119
|
-
type: '"vertical" | "horizontal"',
|
|
120
|
-
defaultValue: '"vertical"',
|
|
121
|
-
description: 'The orientation of the accordion.',
|
|
122
|
-
},
|
|
123
|
-
]}
|
|
124
|
-
/>
|
|
125
|
-
|
|
126
|
-
<h4 className="text-lg font-medium mt-6">AccordionItem</h4>
|
|
127
|
-
<PropsTable
|
|
128
|
-
props={[
|
|
129
|
-
{
|
|
130
|
-
name: 'value',
|
|
131
|
-
type: 'string',
|
|
132
|
-
description: 'A unique value for the item.',
|
|
133
|
-
required: true,
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
name: 'disabled',
|
|
137
|
-
type: 'boolean',
|
|
138
|
-
defaultValue: 'false',
|
|
139
|
-
description: 'When true, prevents the user from interacting with the item.',
|
|
140
|
-
},
|
|
141
|
-
]}
|
|
142
|
-
/>
|
|
143
|
-
|
|
144
|
-
<h4 className="text-lg font-medium mt-6">AccordionTrigger</h4>
|
|
145
|
-
<PropsTable
|
|
146
|
-
props={[
|
|
147
|
-
{
|
|
148
|
-
name: 'children',
|
|
149
|
-
type: 'ReactNode',
|
|
150
|
-
description: 'The content of the trigger.',
|
|
151
|
-
},
|
|
152
|
-
...(!isNative
|
|
153
|
-
? [
|
|
154
|
-
{
|
|
155
|
-
name: 'asChild',
|
|
156
|
-
type: 'boolean',
|
|
157
|
-
defaultValue: 'false',
|
|
158
|
-
description:
|
|
159
|
-
'Change the default rendered element for the one passed as a child, merging their props and behavior.',
|
|
160
|
-
},
|
|
161
|
-
]
|
|
162
|
-
: []),
|
|
163
|
-
{
|
|
164
|
-
name: 'className',
|
|
165
|
-
type: 'string',
|
|
166
|
-
description: isNative ? 'Tailwind (NativeWind) classes.' : 'Additional CSS classes to apply.',
|
|
167
|
-
},
|
|
168
|
-
]}
|
|
169
|
-
/>
|
|
170
|
-
|
|
171
|
-
<h4 className="text-lg font-medium mt-6">AccordionContent</h4>
|
|
172
|
-
<PropsTable
|
|
173
|
-
props={[
|
|
174
|
-
{
|
|
175
|
-
name: 'children',
|
|
176
|
-
type: 'ReactNode',
|
|
177
|
-
description: 'The content of the item.',
|
|
178
|
-
},
|
|
179
|
-
...(!isNative
|
|
180
|
-
? [
|
|
181
|
-
{
|
|
182
|
-
name: 'forceMount',
|
|
183
|
-
type: 'boolean',
|
|
184
|
-
description:
|
|
185
|
-
'Used to force mounting when more control is needed. Useful when controlling animation with React libraries.',
|
|
186
|
-
},
|
|
187
|
-
]
|
|
188
|
-
: []),
|
|
189
|
-
]}
|
|
190
|
-
/>
|
|
191
|
-
</div>
|
|
192
|
-
</>
|
|
193
|
-
);
|
|
194
|
-
}
|