Skip to content

Commit 8706eff

Browse files
committed
feat: add ui pkg and components
1 parent 0aabdf8 commit 8706eff

95 files changed

Lines changed: 12347 additions & 70 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/ui/components.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"$schema": "https://ui.shadcn.com/schema.json",
3+
"style": "new-york",
4+
"rsc": true,
5+
"tsx": true,
6+
"tailwind": {
7+
"config": "",
8+
"css": "src/styles/globals.css",
9+
"baseColor": "neutral",
10+
"cssVariables": true
11+
},
12+
"iconLibrary": "lucide",
13+
"aliases": {
14+
"components": "@refref/ui/components",
15+
"utils": "@refref/ui/lib/utils",
16+
"hooks": "@refref/ui/hooks",
17+
"lib": "@refref/ui/lib",
18+
"ui": "@refref/ui/components"
19+
}
20+
}

packages/ui/eslint.config.mjs

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,68 @@
1-
import { config } from "@repo/eslint-config/react-internal";
1+
import { config } from "@refref/eslint-config/react-internal";
22

33
/** @type {import("eslint").Linter.Config} */
4-
export default config;
4+
export default [
5+
...config,
6+
{
7+
ignores: [
8+
// Ignore shadcn UI components (standard library components)
9+
"src/components/accordion.tsx",
10+
"src/components/alert-dialog.tsx",
11+
"src/components/alert.tsx",
12+
"src/components/aspect-ratio.tsx",
13+
"src/components/avatar.tsx",
14+
"src/components/badge.tsx",
15+
"src/components/breadcrumb.tsx",
16+
"src/components/button.tsx",
17+
"src/components/calendar.tsx",
18+
"src/components/card.tsx",
19+
"src/components/carousel.tsx",
20+
"src/components/chart.tsx",
21+
"src/components/checkbox.tsx",
22+
"src/components/collapsible.tsx",
23+
"src/components/command.tsx",
24+
"src/components/context-menu.tsx",
25+
"src/components/dialog.tsx",
26+
"src/components/drawer.tsx",
27+
"src/components/dropdown-menu.tsx",
28+
"src/components/form.tsx",
29+
"src/components/hover-card.tsx",
30+
"src/components/input-otp.tsx",
31+
"src/components/input.tsx",
32+
"src/components/label.tsx",
33+
"src/components/menubar.tsx",
34+
"src/components/navigation-menu.tsx",
35+
"src/components/pagination.tsx",
36+
"src/components/popover.tsx",
37+
"src/components/progress.tsx",
38+
"src/components/radio-group.tsx",
39+
"src/components/resizable.tsx",
40+
"src/components/scroll-area.tsx",
41+
"src/components/select.tsx",
42+
"src/components/separator.tsx",
43+
"src/components/sheet.tsx",
44+
"src/components/sidebar.tsx",
45+
"src/components/skeleton.tsx",
46+
"src/components/slider.tsx",
47+
"src/components/sonner.tsx",
48+
"src/components/sortable.tsx",
49+
"src/components/stepper.tsx",
50+
"src/components/switch.tsx",
51+
"src/components/table.tsx",
52+
"src/components/tabs.tsx",
53+
"src/components/textarea.tsx",
54+
"src/components/timeline.tsx",
55+
"src/components/toggle-group.tsx",
56+
"src/components/toggle.tsx",
57+
"src/components/tooltip.tsx",
58+
// React Aria Components variants
59+
"src/components/calendar-rac.tsx",
60+
"src/components/datefield-rac.tsx",
61+
// Continue to lint:
62+
// - src/components/data-table/* (custom data table components)
63+
// - src/components/referral-widget/* (custom referral widget)
64+
// - src/components/comp-*.tsx (custom components)
65+
// - src/components/faceted.tsx (custom component)
66+
],
67+
},
68+
];

packages/ui/package.json

Lines changed: 75 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,94 @@
11
{
2-
"name": "@repo/ui",
2+
"name": "@refref/ui",
33
"version": "0.0.0",
44
"private": true,
5-
"exports": {
6-
"./*": "./src/*.tsx"
7-
},
5+
"type": "module",
86
"scripts": {
97
"lint": "eslint . --max-warnings 0",
108
"generate:component": "turbo gen react-component",
119
"check-types": "tsc --noEmit"
1210
},
11+
"exports": {
12+
"./globals.css": "./src/styles/globals.css",
13+
"./postcss.config": "./postcss.config.mjs",
14+
"./lib/*": "./src/lib/*.ts",
15+
"./components/*": "./src/components/*.tsx",
16+
"./hooks/*": "./src/hooks/*.ts",
17+
"./config/*": "./src/config/*.ts"
18+
},
19+
"overrides": {
20+
"react-is": "^19.0.0-rc-69d4b800-20241021"
21+
},
1322
"devDependencies": {
1423
"@refref/eslint-config": "workspace:*",
1524
"@refref/typescript-config": "workspace:*",
25+
"@tailwindcss/postcss": "^4.0.8",
1626
"@turbo/gen": "^2.4.0",
1727
"@types/node": "^22.13.0",
18-
"@types/react": "19.0.8",
19-
"@types/react-dom": "19.0.3",
28+
"@types/react": "^19.0.4",
29+
"@types/react-dom": "^19.0.4",
2030
"eslint": "^9.20.0",
21-
"typescript": "5.7.3"
31+
"tailwindcss": "^4.0.8",
32+
"typescript": "5.8.2"
2233
},
2334
"dependencies": {
35+
"@dnd-kit/core": "^6.3.1",
36+
"@dnd-kit/modifiers": "^9.0.0",
37+
"@dnd-kit/sortable": "^10.0.0",
38+
"@dnd-kit/utilities": "^3.2.2",
39+
"@hookform/resolvers": "^4.1.3",
40+
"@internationalized/date": "^3.8.0",
41+
"@radix-ui/react-accordion": "^1.2.3",
42+
"@radix-ui/react-alert-dialog": "^1.1.6",
43+
"@radix-ui/react-aspect-ratio": "^1.1.2",
44+
"@radix-ui/react-avatar": "^1.1.3",
45+
"@radix-ui/react-checkbox": "^1.1.4",
46+
"@radix-ui/react-collapsible": "^1.1.3",
47+
"@radix-ui/react-context-menu": "^2.2.6",
48+
"@radix-ui/react-dialog": "^1.1.6",
49+
"@radix-ui/react-dropdown-menu": "^2.1.6",
50+
"@radix-ui/react-hover-card": "^1.1.6",
51+
"@radix-ui/react-label": "^2.1.2",
52+
"@radix-ui/react-menubar": "^1.1.6",
53+
"@radix-ui/react-navigation-menu": "^1.2.5",
54+
"@radix-ui/react-popover": "^1.1.6",
55+
"@radix-ui/react-progress": "^1.1.2",
56+
"@radix-ui/react-radio-group": "^1.2.3",
57+
"@radix-ui/react-scroll-area": "^1.2.3",
58+
"@radix-ui/react-select": "^2.1.6",
59+
"@radix-ui/react-separator": "^1.1.2",
60+
"@radix-ui/react-slider": "^1.2.3",
61+
"@radix-ui/react-slot": "^1.1.2",
62+
"@radix-ui/react-switch": "^1.1.3",
63+
"@radix-ui/react-tabs": "^1.1.3",
64+
"@radix-ui/react-toggle": "^1.1.2",
65+
"@radix-ui/react-toggle-group": "^1.1.2",
66+
"@radix-ui/react-tooltip": "^1.1.8",
67+
"@refref/types": "workspace:*",
68+
"@tanstack/react-table": "^8.21.3",
69+
"class-variance-authority": "^0.7.1",
70+
"clsx": "^2.1.1",
71+
"cmdk": "1.0.0",
72+
"date-fns": "^4.1.0",
73+
"embla-carousel-react": "^8.5.2",
74+
"input-otp": "^1.4.2",
75+
"lucide-react": "^0.483.0",
76+
"motion": "^12.9.7",
77+
"nanoid": "^5.1.5",
78+
"next-themes": "^0.4.6",
79+
"nuqs": "2.4.3",
80+
"radix-ui": "^1.4.3",
2481
"react": "^19.0.0",
25-
"react-dom": "^19.0.0"
82+
"react-aria-components": "^1.8.0",
83+
"react-day-picker": "8.10.1",
84+
"react-dom": "^19.0.0",
85+
"react-hook-form": "^7.54.2",
86+
"react-resizable-panels": "^2.1.7",
87+
"recharts": "^2.15.1",
88+
"sonner": "^2.0.1",
89+
"tailwind-merge": "^3.0.2",
90+
"tw-animate-css": "^1.2.4",
91+
"vaul": "^1.1.2",
92+
"zod": "^3.24.2"
2693
}
2794
}

packages/ui/postcss.config.mjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/** @type {import('postcss-load-config').Config} */
2+
const config = {
3+
plugins: { "@tailwindcss/postcss": {} },
4+
};
5+
6+
export default config;

0 commit comments

Comments
 (0)