Skip to content

Commit

Permalink
feat(root): divider and kbd components added, docs in progress
Browse files Browse the repository at this point in the history
  • Loading branch information
jrgarciadev committed Apr 25, 2023
1 parent 535ac18 commit 7c0c85b
Show file tree
Hide file tree
Showing 853 changed files with 10,032 additions and 43,362 deletions.
3 changes: 2 additions & 1 deletion .npmrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
strict-peer-dependencies=false
enable-pre-post-scripts=true
public-hoist-pattern[]=*tailwind-variants*
public-hoist-pattern[]=*@react-aria/interactions*
public-hoist-pattern[]=*@react-aria/interactions*
public-hoist-pattern[]=*@nextui-org/theme*
38 changes: 37 additions & 1 deletion apps/docs/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,37 @@
sitemap.xml
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
sitemap.xml

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
36 changes: 36 additions & 0 deletions apps/docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).

## Getting Started

First, run the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.

[http://localhost:3000/api/hello](http://localhost:3000/api/hello) is an endpoint that uses [Route Handlers](https://beta.nextjs.org/docs/routing/route-handlers). This endpoint can be edited in `app/api/hello/route.ts`.

This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.

## Learn More

To learn more about Next.js, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
114 changes: 114 additions & 0 deletions apps/docs/components/docs-navbar.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
import {useState} from "react";
import {
Navbar,
NavbarContent,
NavbarMenu,
NavbarMenuItem,
NavbarMenuToggle,
NavbarBrand,
NavbarItem,
Input,
Link,
Button,
} from "@nextui-org/react";

import {NextUILogo, ThemeSwitch} from "@/components";
import {TwitterIcon, GithubIcon, DiscordIcon, HeartFilledIcon} from "@/components/icons";

export const DocsNavbar = () => {
const [isMenuOpen, setIsMenuOpen] = useState<boolean | undefined>(false);

const menuItems = [
"Profile",
"Dashboard",
"Activity",
"Analytics",
"System",
"Deployments",
"My Settings",
"Team Settings",
"Help & Feedback",
"Log Out",
];

return (
<Navbar maxWidth="xl" position="sticky" onMenuOpenChange={setIsMenuOpen}>
<NavbarContent justify="start">
<NavbarMenuToggle
aria-label={isMenuOpen ? "Close menu" : "Open menu"}
className="sm:hidden"
/>
<NavbarBrand>
<NextUILogo />
</NavbarBrand>
</NavbarContent>
<NavbarContent className="hidden sm:flex" justify="center">
<NavbarItem as={Link} color="foreground" href="#">
Docs
</NavbarItem>
<NavbarItem isActive as={Link} href="#">
Components
</NavbarItem>
<NavbarItem as={Link} color="foreground" href="#">
Showcase
</NavbarItem>
<NavbarItem as={Link} color="foreground" href="#">
Figma
</NavbarItem>
</NavbarContent>
<NavbarContent justify="end">
<NavbarItem className="flex gap-2">
<Link isExternal href="https://twitter.com/getnextui">
<TwitterIcon className="text-neutral-400" />
</Link>
<Link isExternal href="https://discord.gg/9b6yyZKmH4">
<DiscordIcon className="text-neutral-400" />
</Link>
<Link isExternal href="https://github.com/nextui-org/nextui">
<GithubIcon className="text-neutral-400" />
</Link>
<ThemeSwitch />
</NavbarItem>
<NavbarItem>
<Input
classNames={{
input: "text-sm",
}}
labelPosition="outside"
placeholder="Search..."
onClear={() => {}}
/>
</NavbarItem>
<NavbarItem>
<Button
isExternal
as={Link}
className="group text-sm font-normal text-neutral-600"
href="https://patreon.com/jrgarciadev"
startIcon={
<HeartFilledIcon className="text-danger group-data-[hover=true]:animate-heartbeat" />
}
variant="flat"
>
Sponsor
</Button>
</NavbarItem>
</NavbarContent>
<NavbarMenu>
{menuItems.map((item, index) => (
<NavbarMenuItem key={`${item}-${index}`}>
<Link
color={
index === 2 ? "primary" : index === menuItems.length - 1 ? "danger" : "foreground"
}
href="#"
size="lg"
>
{item}
</Link>
</NavbarMenuItem>
))}
</NavbarMenu>
</Navbar>
);
};
21 changes: 21 additions & 0 deletions apps/docs/components/icons/heart.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import {IconSvgProps} from "@/types";

export const HeartFilledIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
aria-hidden="true"
focusable="false"
height={size || height}
role="presentation"
viewBox="0 0 24 24"
width={size || width}
{...props}
>
<path
d="M12.62 20.81c-.34.12-.9.12-1.24 0C8.48 19.82 2 15.69 2 8.69 2 5.6 4.49 3.1 7.56 3.1c1.82 0 3.43.88 4.44 2.24a5.53 5.53 0 0 1 4.44-2.24C19.51 3.1 22 5.6 22 8.69c0 7-6.48 11.13-9.38 12.12Z"
fill="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={1.5}
/>
</svg>
);
4 changes: 4 additions & 0 deletions apps/docs/components/icons/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export * from "./social";
export * from "./moon";
export * from "./sun";
export * from "./heart";
18 changes: 18 additions & 0 deletions apps/docs/components/icons/moon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import {IconSvgProps} from "@/types";

export const MoonFilledIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
aria-hidden="true"
focusable="false"
height={size || height}
role="presentation"
viewBox="0 0 24 24"
width={size || width}
{...props}
>
<path
d="M21.53 15.93c-.16-.27-.61-.69-1.73-.49a8.46 8.46 0 01-1.88.13 8.409 8.409 0 01-5.91-2.82 8.068 8.068 0 01-1.44-8.66c.44-1.01.13-1.54-.09-1.76s-.77-.55-1.83-.11a10.318 10.318 0 00-6.32 10.21 10.475 10.475 0 007.04 8.99 10 10 0 002.89.55c.16.01.32.02.48.02a10.5 10.5 0 008.47-4.27c.67-.93.49-1.519.32-1.79z"
fill="currentColor"
/>
</svg>
);
40 changes: 40 additions & 0 deletions apps/docs/components/icons/social.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import React from "react";

import {IconSvgProps} from "@/types";

const DiscordIcon: React.FC<IconSvgProps> = ({size = 24, width, height, ...props}) => {
return (
<svg height={size || height} viewBox="0 0 24 24" width={size || width} {...props}>
<path
d="M14.82 4.26a10.14 10.14 0 0 0-.53 1.1 14.66 14.66 0 0 0-4.58 0 10.14 10.14 0 0 0-.53-1.1 16 16 0 0 0-4.13 1.3 17.33 17.33 0 0 0-3 11.59 16.6 16.6 0 0 0 5.07 2.59A12.89 12.89 0 0 0 8.23 18a9.65 9.65 0 0 1-1.71-.83 3.39 3.39 0 0 0 .42-.33 11.66 11.66 0 0 0 10.12 0q.21.18.42.33a10.84 10.84 0 0 1-1.71.84 12.41 12.41 0 0 0 1.08 1.78 16.44 16.44 0 0 0 5.06-2.59 17.22 17.22 0 0 0-3-11.59 16.09 16.09 0 0 0-4.09-1.35zM8.68 14.81a1.94 1.94 0 0 1-1.8-2 1.93 1.93 0 0 1 1.8-2 1.93 1.93 0 0 1 1.8 2 1.93 1.93 0 0 1-1.8 2zm6.64 0a1.94 1.94 0 0 1-1.8-2 1.93 1.93 0 0 1 1.8-2 1.92 1.92 0 0 1 1.8 2 1.92 1.92 0 0 1-1.8 2z"
fill="currentColor"
/>
</svg>
);
};

const TwitterIcon: React.FC<IconSvgProps> = ({size = 24, width, height, ...props}) => {
return (
<svg height={size || height} viewBox="0 0 24 24" width={size || width} {...props}>
<path
d="M19.633 7.997c.013.175.013.349.013.523 0 5.325-4.053 11.461-11.46 11.461-2.282 0-4.402-.661-6.186-1.809.324.037.636.05.973.05a8.07 8.07 0 0 0 5.001-1.721 4.036 4.036 0 0 1-3.767-2.793c.249.037.499.062.761.062.361 0 .724-.05 1.061-.137a4.027 4.027 0 0 1-3.23-3.953v-.05c.537.299 1.16.486 1.82.511a4.022 4.022 0 0 1-1.796-3.354c0-.748.199-1.434.548-2.032a11.457 11.457 0 0 0 8.306 4.215c-.062-.3-.1-.611-.1-.923a4.026 4.026 0 0 1 4.028-4.028c1.16 0 2.207.486 2.943 1.272a7.957 7.957 0 0 0 2.556-.973 4.02 4.02 0 0 1-1.771 2.22 8.073 8.073 0 0 0 2.319-.624 8.645 8.645 0 0 1-2.019 2.083z"
fill="currentColor"
/>
</svg>
);
};

const GithubIcon: React.FC<IconSvgProps> = ({size = 24, width, height, ...props}) => {
return (
<svg height={size || height} viewBox="0 0 24 24" width={size || width} {...props}>
<path
clipRule="evenodd"
d="M12.026 2c-5.509 0-9.974 4.465-9.974 9.974 0 4.406 2.857 8.145 6.821 9.465.499.09.679-.217.679-.481 0-.237-.008-.865-.011-1.696-2.775.602-3.361-1.338-3.361-1.338-.452-1.152-1.107-1.459-1.107-1.459-.905-.619.069-.605.069-.605 1.002.07 1.527 1.028 1.527 1.028.89 1.524 2.336 1.084 2.902.829.091-.645.351-1.085.635-1.334-2.214-.251-4.542-1.107-4.542-4.93 0-1.087.389-1.979 1.024-2.675-.101-.253-.446-1.268.099-2.64 0 0 .837-.269 2.742 1.021a9.582 9.582 0 0 1 2.496-.336 9.554 9.554 0 0 1 2.496.336c1.906-1.291 2.742-1.021 2.742-1.021.545 1.372.203 2.387.099 2.64.64.696 1.024 1.587 1.024 2.675 0 3.833-2.33 4.675-4.552 4.922.355.308.675.916.675 1.846 0 1.334-.012 2.41-.012 2.737 0 .267.178.577.687.479C19.146 20.115 22 16.379 22 11.974 22 6.465 17.535 2 12.026 2z"
fill="currentColor"
fillRule="evenodd"
/>
</svg>
);
};

export {TwitterIcon, DiscordIcon, GithubIcon};
18 changes: 18 additions & 0 deletions apps/docs/components/icons/sun.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import {IconSvgProps} from "@/types";

export const SunFilledIcon = ({size = 24, width, height, ...props}: IconSvgProps) => (
<svg
aria-hidden="true"
focusable="false"
height={size || height}
role="presentation"
viewBox="0 0 24 24"
width={size || width}
{...props}
>
<g fill="currentColor">
<path d="M19 12a7 7 0 11-7-7 7 7 0 017 7z" />
<path d="M12 22.96a.969.969 0 01-1-.96v-.08a1 1 0 012 0 1.038 1.038 0 01-1 1.04zm7.14-2.82a1.024 1.024 0 01-.71-.29l-.13-.13a1 1 0 011.41-1.41l.13.13a1 1 0 010 1.41.984.984 0 01-.7.29zm-14.28 0a1.024 1.024 0 01-.71-.29 1 1 0 010-1.41l.13-.13a1 1 0 011.41 1.41l-.13.13a1 1 0 01-.7.29zM22 13h-.08a1 1 0 010-2 1.038 1.038 0 011.04 1 .969.969 0 01-.96 1zM2.08 13H2a1 1 0 010-2 1.038 1.038 0 011.04 1 .969.969 0 01-.96 1zm16.93-7.01a1.024 1.024 0 01-.71-.29 1 1 0 010-1.41l.13-.13a1 1 0 011.41 1.41l-.13.13a.984.984 0 01-.7.29zm-14.02 0a1.024 1.024 0 01-.71-.29l-.13-.14a1 1 0 011.41-1.41l.13.13a1 1 0 010 1.41.97.97 0 01-.7.3zM12 3.04a.969.969 0 01-1-.96V2a1 1 0 012 0 1.038 1.038 0 01-1 1.04z" />
</g>
</svg>
);
3 changes: 3 additions & 0 deletions apps/docs/components/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export * from "./nextui-logo";
export * from "./docs-navbar";
export * from "./theme-switch";
Loading

0 comments on commit 7c0c85b

Please sign in to comment.