diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..f47c979 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: ruru-m07 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6b0a303..e040b5b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,43 @@ -# Contribution Guidelines +## Contribution Guidelines -Welcome to our project! We appreciate your interest in contributing. Before you get started, please take a moment to review the following guidelines. +Thank you for your interest in contributing to this project! We're excited to have you collaborate with us. +Before you dive in, please take a moment to review these guidelines. + +### General Guidelines + +This project is organized as a monorepo and utilizes Turborepo, pnpm, and +[Changesets](https://github.com/changesets/changesets). + +#### Before You Submit + +- Ensure there are no existing pull requests (PRs) that address the same issue or feature. +- Format your code using `pnpm run prettier`. +- Document your changes by running `pnpm changeset` to create a changeset. +- Execute unit tests with `pnpm test` and update any snapshots as needed. + +#### Adding New Features + +If you plan to add a new feature, please open an issue first (Feature Request) with detailed information and justification for the feature. +Once the feature request is approved, feel free to proceed with your pull request. + +#### Fixing Bugs + +When fixing a bug, include a thorough description of the issue, along with a live demo if possible. +Alternatively, you can submit a bug report and reference it in your PR. + +#### Contributing to Documentation + +Improving documentation is always welcome. Please check for any typos or grammatical errors before submitting changes. + +### New to Open Source? + +A great way to start contributing is by working on documentation. +The documentation files can be found in `/apps/docs/content/docs`. + +To preview the documentation site in development mode, +first build the necessary dependencies using `pnpm run build --filter=./packages/*`, then start the development server with `pnpm run dev --filter=docs`. + +No extra environment variables are required to run this project. ## Code of Conduct diff --git a/apps/www/__registry__/index.tsx b/apps/www/__registry__/index.tsx deleted file mode 100644 index 2b6f485..0000000 --- a/apps/www/__registry__/index.tsx +++ /dev/null @@ -1,141 +0,0 @@ -// @ts-nocheck -// This file is autogenerated by scripts/build-registry.ts -// Do not edit this file directly. -import * as React from "react"; - -export const Index: Record = { - components: { - avatar: { - name: "avatar", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/avatar"), - ), - source: "", - files: ["@/../../packages/ui/src/components/avatar.tsx"], - category: "undefined", - subcategory: undefined, - }, - badge: { - name: "badge", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/badge"), - ), - source: "", - files: ["@/../../packages/ui/src/components/badge.tsx"], - category: "undefined", - subcategory: undefined, - }, - button: { - name: "button", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/button"), - ), - source: "", - files: ["@/../../packages/ui/src/components/button.tsx"], - category: "undefined", - subcategory: ["spinner"], - }, - checkbox: { - name: "checkbox", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/checkbox"), - ), - source: "", - files: ["@/../../packages/ui/src/components/checkbox.tsx"], - category: "undefined", - subcategory: undefined, - }, - input: { - name: "input", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/input"), - ), - source: "", - files: ["@/../../packages/ui/src/components/input.tsx"], - category: "undefined", - subcategory: undefined, - }, - select: { - name: "select", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/select"), - ), - source: "", - files: ["@/../../packages/ui/src/components/select.tsx"], - category: "undefined", - subcategory: undefined, - }, - spinner: { - name: "spinner", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/spinner"), - ), - source: "", - files: ["@/../../packages/ui/src/components/spinner.tsx"], - category: "undefined", - subcategory: undefined, - }, - switch: { - name: "switch", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/switch"), - ), - source: "", - files: ["@/../../packages/ui/src/components/switch.tsx"], - category: "undefined", - subcategory: undefined, - }, - tabs: { - name: "tabs", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/tabs"), - ), - source: "", - files: ["@/../../packages/ui/src/components/tabs.tsx"], - category: "undefined", - subcategory: undefined, - }, - textarea: { - name: "textarea", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/textarea"), - ), - source: "", - files: ["@/../../packages/ui/src/components/textarea.tsx"], - category: "undefined", - subcategory: undefined, - }, - tooltip: { - name: "tooltip", - type: "components:ui", - registryDependencies: undefined, - component: React.lazy( - () => import("@/../../packages/ui/src/components/tooltip"), - ), - source: "", - files: ["@/../../packages/ui/src/components/tooltip.tsx"], - category: "undefined", - subcategory: undefined, - }, - }, -}; diff --git a/apps/www/app/global.css b/apps/www/app/global.css index 7e4c53f..c493916 100644 --- a/apps/www/app/global.css +++ b/apps/www/app/global.css @@ -18,6 +18,10 @@ --headless-color: 250 80% 54%; --mdx-color: 0 0% 9%; --ui-color: 220deg 91% 54%; + --shiki-light: #4c4f69; + --shiki-dark: #cdd6f4; + --shiki-light-bg: #eff1f5; + --shiki-dark-bg: #0f0f0f !important; } .dark { @@ -49,8 +53,12 @@ --card: 230 40% 26.3% !important; } +/* #nd-docs-layout { + background: var(--popover); +} */ + .words_width_animat { - animation: words_width_animation 4s normal; + animation: words_width_animation 2.5s normal; } .words_width_lens_body { @@ -66,11 +74,11 @@ } .words_interfaces::after { - animation: words_interfaces_after_animation 3.5s normal; + animation: words_interfaces_after_animation 1.5s normal; } .words_interfaces::before { - animation: words_interfaces_before_animation 3.5s normal; + animation: words_interfaces_before_animation 1.5s normal; } @keyframes words_width_animation { @@ -82,6 +90,10 @@ top: -28px; opacity: 0.5; } + 75% { + top: -28px; + opacity: 1; + } 100% { top: -28px; opacity: 1; @@ -126,10 +138,10 @@ width: 0; opacity: 0; } - 65% { + /* 65% { width: 205px; opacity: 0.5; - } + } */ 100% { width: 205px; opacity: 1; @@ -141,10 +153,10 @@ height: 0; opacity: 0; } - 65% { + /* 65% { height: 60px; opacity: 0.5; - } + } */ 100% { height: 60px; opacity: 1; diff --git a/apps/www/app/layout.tsx b/apps/www/app/layout.tsx index 371e4e5..5656366 100644 --- a/apps/www/app/layout.tsx +++ b/apps/www/app/layout.tsx @@ -4,7 +4,11 @@ import { RootProvider } from "fumadocs-ui/provider"; import type { Viewport } from "next"; import { GeistSans } from "geist/font/sans"; import type { ReactNode } from "react"; +import { RuruProvider } from "ruru-ui/provider"; import "fumadocs-ui/style.css"; +import "fumadocs-ui/twoslash.css"; +import { ScrollArea } from "@/components/scroll-area"; +import { Analytics } from "@vercel/analytics/react"; export const metadata = createMetadata({ title: { @@ -27,7 +31,12 @@ export default function Layout({ children }: { children: ReactNode }) { return ( - {children} + + + + {children} + + ); diff --git a/apps/www/app/playground/page.tsx b/apps/www/app/playground/page.tsx new file mode 100644 index 0000000..85c2bb0 --- /dev/null +++ b/apps/www/app/playground/page.tsx @@ -0,0 +1,588 @@ +"use client"; + +import React from "react"; +import Card from "@/components/ui/card"; +import { ModeToggle } from "@/components/ui/ModeToggle"; +import { + ArrowLeftIcon, + ArrowRightIcon, + CubeIcon, + PersonIcon, +} from "@radix-ui/react-icons"; +import { Button } from "ruru-ui/components/button"; +import { Spinner } from "ruru-ui/components/spinner"; +import { + Avatar, + AvatarGroup, + AvatarWithBadge, +} from "ruru-ui/components/avatar"; +import { Badge } from "ruru-ui/components/badge"; +import { Checkbox } from "ruru-ui/components/checkbox"; +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "ruru-ui/components/tooltip"; +import { Input, SearchInput } from "ruru-ui/components/input"; +import { Textarea } from "ruru-ui/components/textarea"; +import { Tabs, Tab } from "ruru-ui/components/tabs"; +import { Switch } from "ruru-ui/components/switch"; +import { + Select, + SelectContent, + SelectGroup, + SelectItem, + SelectLabel, + SelectTrigger, + SelectValue, + SelectSeparator, + selectAnimationVariants, +} from "ruru-ui/components/select"; +import AnimationToggle from "@/components/animationToggle"; + +const Playground = () => { + return ( +
+ + + + + + + + + + {/* +

+ Types +

*/} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {/* + + Click here + + */} + + {/* + + */} + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ }> + gray + + }> + gray + + }> + gray + + + }> + gray-subtle + + }> + gray-subtle + + }> + gray-subtle + +
+ +
+ }> + blue + + }> + blue + + }> + blue + + + }> + blue-subtle + + }> + blue-subtle + + }> + blue-subtle + +
+ +
+ }> + purple + + }> + purple + + }> + purple + + + }> + purple-subtle + + }> + purple-subtle + + }> + purple-subtle + +
+ +
+ }> + amber + + }> + amber + + }> + amber + + + }> + amber-subtle + + }> + amber-subtle + + }> + amber-subtle + +
+ +
+ }> + red + + }> + red + + }> + red + + + }> + red-subtle + + }> + red-subtle + + }> + red-subtle + +
+ +
+ }> + pink + + }> + pink + + }> + pink + + + }> + pink-subtle + + }> + pink-subtle + + }> + pink-subtle + +
+ +
+ }> + green + + }> + green + + }> + green + + + }> + green-subtle + + }> + green-subtle + + }> + green-subtle + +
+ +
+ }> + teal + + }> + teal + + }> + teal + + + }> + teal-subtle + + }> + teal-subtle + + }> + teal-subtle + +
+ +
+ }> + inverted + + }> + inverted + + }> + inverted + +
+
+
+ + + + sm + + + md + + + lg + + + + + + + + +
+ + + + {/* */} + @ruru + + +

author of ruru UI

+
+
+
+
+ + +
+
+
+ + } placeholder="Enter your name" /> + } placeholder="Enter your name" /> + } + suffix={} + placeholder="Enter your name" + /> + + + + + + + + +
+ + + + + + +
+