Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .cursorignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ documentation/static/
documentation/test/
documentation/versioned_docs/
documentation/versioned_sidebars/
examples/
hackathon/
patches/
pnpm-lock.yaml
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,7 @@ examples/**/package-lock.json
# nx daemon
.nx

# cursor
.cursorrules
# claude
.claude/
74 changes: 62 additions & 12 deletions .syncpackrc
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,82 @@
"semverGroups": [],
"versionGroups": [
{
"dependencies": ["@types/**", "@testing-library/**", "typescript"],
"dependencyTypes": ["prod"],
"dependencies": [
"@types/**",
"@testing-library/**",
"typescript"
],
"dependencyTypes": [
"prod"
],
"isBanned": true,
"label": "These packages should only be under devDependencies."
},
{
"dependencies": ["@refinedev/**"],
"packages": ["**"],
"dependencies": [
"@refinedev/**"
],
"packages": [
"**"
],
"isIgnored": true,
"label": "@refinedev dependencies are managed by changeset."
},
{
"dependencies": ["**"],
"dependencyTypes": ["peer"],
"packages": ["**"],
"dependencies": [
"**"
],
"dependencyTypes": [
"peer"
],
"packages": [
"**"
],
"isIgnored": true
},
{
"dependencies": ["nock"],
"dependencyTypes": ["dev"],
"packages": ["@refinedev/appwrite", "@refinedev/graphql"],
"dependencies": [
"nock"
],
"dependencyTypes": [
"dev"
],
"packages": [
"@refinedev/appwrite",
"@refinedev/graphql"
],
"isIgnored": true
},
{
"dependencies": ["next", "react", "react-dom", "@types/react", "@types/react-dom"],
"packages": ["with-nextjs-headless"],
"dependencies": [
"next",
"react",
"react-dom",
"@types/react",
"@types/react-dom"
],
"packages": [
"with-nextjs-headless"
],
"isIgnored": true
},
{
"dependencies": [
"next",
"react",
"react-dom",
"@types/react",
"@types/react-dom",
"eslint",
"postcss",
"tailwindcss",
"recharts",
"clsx",
"@netlify/plugin-nextjs"
],
"packages": [
"@refinedev/refine-ui"
],
"isIgnored": true
}
]
Expand Down
23 changes: 23 additions & 0 deletions packages/refine-ui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# registry-template

You can use the `shadcn` CLI to run your own component registry. Running your own
component registry allows you to distribute your custom components, hooks, pages, and
other files to any React project.

> [!IMPORTANT]
> This template uses Tailwind v4. For Tailwind v3, see [registry-template](https://github.com/shadcn-ui/registry-template).

## Getting Started

This is a template for creating a custom registry using Next.js.

- The template uses a `registry.json` file to define components and their files.
- The `shadcn build` command is used to build the registry.
- The registry items are served as static files under `public/r/[name].json`.
- The template also includes a route handler for serving registry items.
- Every registry item are compatible with the `shadcn` CLI.
- We have also added v0 integration using the `Open in v0` api.

## Documentation

Visit the [shadcn documentation](https://ui.shadcn.com/docs/registry) to view the full documentation.
15 changes: 15 additions & 0 deletions packages/refine-ui/app/base-example/[[...slug]]/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"use client";

import dynamic from "next/dynamic";

const BaseExample = dynamic(
() =>
import("../../../examples/base-example/app").then((mod) => mod.BaseExample),
{
ssr: false,
},
);

export default function BaseExamplePage() {
return <BaseExample />;
}
Binary file added packages/refine-ui/app/favicon.ico
Binary file not shown.
123 changes: 123 additions & 0 deletions packages/refine-ui/app/global.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
@import "tailwindcss";
@import "tw-animate-css";

@custom-variant dark (&:is(.dark *));

@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-sidebar-ring: var(--sidebar-ring);
--color-sidebar-border: var(--sidebar-border);
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
--color-sidebar-accent: var(--sidebar-accent);
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
--color-sidebar-primary: var(--sidebar-primary);
--color-sidebar-foreground: var(--sidebar-foreground);
--color-sidebar: var(--sidebar);
--color-chart-5: var(--chart-5);
--color-chart-4: var(--chart-4);
--color-chart-3: var(--chart-3);
--color-chart-2: var(--chart-2);
--color-chart-1: var(--chart-1);
--color-ring: var(--ring);
--color-input: var(--input);
--color-border: var(--border);
--color-destructive: var(--destructive);
--color-accent-foreground: var(--accent-foreground);
--color-accent: var(--accent);
--color-muted-foreground: var(--muted-foreground);
--color-muted: var(--muted);
--color-secondary-foreground: var(--secondary-foreground);
--color-secondary: var(--secondary);
--color-primary-foreground: var(--primary-foreground);
--color-primary: var(--primary);
--color-popover-foreground: var(--popover-foreground);
--color-popover: var(--popover);
--color-card-foreground: var(--card-foreground);
--color-card: var(--card);
--radius-sm: calc(var(--radius) - 2px);
--radius-md: calc(var(--radius));
--radius-lg: calc(var(--radius) + 2px);
--radius-xl: calc(var(--radius) + 6px);

--font-sans: "Inter", sans-serif;
}

:root {
--radius: 0.375rem;
--background: oklch(1 0 0);
--foreground: oklch(0.145 0 0);
--card: oklch(1 0 0);
--card-foreground: oklch(0.145 0 0);
--popover: oklch(1 0 0);
--popover-foreground: oklch(0.145 0 0);
--primary: oklch(54.6% 0.245 262.881);
--primary-foreground: oklch(1 0 0);
--secondary: oklch(0.97 0 0);
--secondary-foreground: oklch(0.205 0 0);
--muted: oklch(0.97 0 0);
--muted-foreground: oklch(0.556 0 0);
--accent: oklch(0.97 0 0);
--accent-foreground: oklch(0.205 0 0);
--destructive: oklch(0.577 0.245 27.325);
--border: oklch(0.922 0 0);
--input: oklch(0.922 0 0);
--ring: oklch(0.708 0 0);
--chart-1: oklch(0.646 0.222 41.116);
--chart-2: oklch(0.6 0.118 184.704);
--chart-3: oklch(0.398 0.07 227.392);
--chart-4: oklch(0.828 0.189 84.429);
--chart-5: oklch(0.769 0.188 70.08);
--sidebar: oklch(0.985 0 0);
--sidebar-foreground: oklch(0.145 0 0);
--sidebar-primary: oklch(54.6% 0.245 262.881);
--sidebar-primary-foreground: oklch(0.985 0 0);
--sidebar-accent: oklch(0.97 0 0);
--sidebar-accent-foreground: oklch(0.205 0 0);
--sidebar-border: oklch(0.922 0 0);
--sidebar-ring: oklch(0.708 0 0);
}

.dark {
--background: oklch(0.145 0 0);
--foreground: oklch(0.985 0 0);
--card: oklch(0.205 0 0);
--card-foreground: oklch(0.985 0 0);
--popover: oklch(0.205 0 0);
--popover-foreground: oklch(0.985 0 0);
--primary: oklch(54.6% 0.245 262.881);
--primary-foreground: oklch(1 0 0);
--secondary: oklch(0.269 0 0);
--secondary-foreground: oklch(0.985 0 0);
--muted: oklch(0.269 0 0);
--muted-foreground: oklch(0.708 0 0);
--accent: oklch(0.269 0 0);
--accent-foreground: oklch(0.985 0 0);
--destructive: oklch(0.704 0.191 22.216);
--border: oklch(1 0 0 / 10%);
--input: oklch(1 0 0 / 15%);
--ring: oklch(0.556 0 0);
--chart-1: oklch(0.488 0.243 264.376);
--chart-2: oklch(0.696 0.17 162.48);
--chart-3: oklch(0.769 0.188 70.08);
--chart-4: oklch(0.627 0.265 303.9);
--chart-5: oklch(0.645 0.246 16.439);
--sidebar: oklch(0.205 0 0);
--sidebar-foreground: oklch(0.985 0 0);
--sidebar-primary: oklch(54.6% 0.245 262.881);
--sidebar-primary-foreground: oklch(1 0 0);
--sidebar-accent: oklch(0.269 0 0);
--sidebar-accent-foreground: oklch(0.985 0 0);
--sidebar-border: oklch(1 0 0 / 10%);
--sidebar-ring: oklch(0.556 0 0);
}

@layer base {
* {
@apply border-border outline-ring/50 antialiased;
font-family: var(--font-sans);
}
body {
@apply bg-background text-foreground;
}
}
25 changes: 25 additions & 0 deletions packages/refine-ui/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./global.css";

const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
};

export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
<body className={`${inter.variable} antialiased`}>{children}</body>
</html>
);
}
5 changes: 5 additions & 0 deletions packages/refine-ui/app/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import * as React from "react";

export default function Home() {
return <div />;
}
21 changes: 21 additions & 0 deletions packages/refine-ui/components.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "new-york",
"rsc": true,
"tsx": true,
"tailwind": {
"config": "",
"css": "app/globals.css",
"baseColor": "neutral",
"cssVariables": true,
"prefix": ""
},
"aliases": {
"components": "@/registry/new-york/ui",
"utils": "@/lib/utils",
"ui": "@/registry/new-york/ui",
"lib": "@/lib",
"hooks": "@/hooks"
},
"iconLibrary": "lucide"
}
Loading
Loading