@blinkdotnew/ui 0.1.0

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/package.json ADDED
@@ -0,0 +1,115 @@
1
+ {
2
+ "name": "@blinkdotnew/ui",
3
+ "version": "0.1.0",
4
+ "description": "Blink UI SDK — production-quality React component library for SaaS apps",
5
+ "keywords": [
6
+ "blink",
7
+ "ui",
8
+ "react",
9
+ "components",
10
+ "design-system",
11
+ "shadcn",
12
+ "tailwind"
13
+ ],
14
+ "homepage": "https://blink.new",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/blink-new/blink-sdk.git",
18
+ "directory": "packages/ui"
19
+ },
20
+ "author": "Blink Team",
21
+ "license": "MIT",
22
+ "main": "dist/index.js",
23
+ "module": "dist/index.mjs",
24
+ "types": "dist/index.d.ts",
25
+ "exports": {
26
+ ".": {
27
+ "types": "./dist/index.d.ts",
28
+ "import": "./dist/index.mjs",
29
+ "require": "./dist/index.js"
30
+ },
31
+ "./styles": "./dist/styles.css",
32
+ "./themes/*": "./src/themes/*.css"
33
+ },
34
+ "files": [
35
+ "dist/**/*.js",
36
+ "dist/**/*.mjs",
37
+ "dist/**/*.d.ts",
38
+ "dist/**/*.d.mts",
39
+ "src/themes/*.css",
40
+ "dist/styles.css"
41
+ ],
42
+ "scripts": {
43
+ "build": "tsup",
44
+ "dev": "tsup --watch",
45
+ "storybook": "storybook dev -p 6006",
46
+ "build-storybook": "storybook build",
47
+ "deploy-storybook": "storybook build && wrangler deploy",
48
+ "type-check": "tsc --noEmit",
49
+ "clean": "rm -rf dist",
50
+ "prepublishOnly": "npm run build"
51
+ },
52
+ "dependencies": {
53
+ "@dnd-kit/core": "^6.3.1",
54
+ "@dnd-kit/sortable": "^10.0.0",
55
+ "@dnd-kit/utilities": "^3.2.2",
56
+ "@hookform/resolvers": "^5.2.2",
57
+ "@radix-ui/react-avatar": "^1.1.0",
58
+ "@radix-ui/react-checkbox": "^1.1.0",
59
+ "@radix-ui/react-context-menu": "^2.2.0",
60
+ "@radix-ui/react-dialog": "^1.1.0",
61
+ "@radix-ui/react-dropdown-menu": "^2.1.0",
62
+ "@radix-ui/react-popover": "^1.1.0",
63
+ "@radix-ui/react-progress": "^1.1.0",
64
+ "@radix-ui/react-radio-group": "^1.2.0",
65
+ "@radix-ui/react-select": "^2.1.0",
66
+ "@radix-ui/react-separator": "^1.1.0",
67
+ "@radix-ui/react-slider": "^1.2.0",
68
+ "@radix-ui/react-slot": "^1.1.0",
69
+ "@radix-ui/react-switch": "^1.1.0",
70
+ "@radix-ui/react-tabs": "^1.1.0",
71
+ "@radix-ui/react-tooltip": "^1.1.0",
72
+ "@tanstack/react-table": "^8.21.3",
73
+ "class-variance-authority": "^0.7.0",
74
+ "clsx": "^2.1.0",
75
+ "lucide-react": "^0.400.0",
76
+ "react-hook-form": "^7.71.2",
77
+ "recharts": "^3.8.0",
78
+ "sonner": "^2.0.7",
79
+ "tailwind-merge": "^2.3.0",
80
+ "zod": "^4.3.6"
81
+ },
82
+ "devDependencies": {
83
+ "@radix-ui/react-label": "^2.1.8",
84
+ "@storybook/addon-a11y": "^8.0.0",
85
+ "@storybook/addon-docs": "^8.0.0",
86
+ "@storybook/addon-themes": "^8.0.0",
87
+ "@storybook/react": "^8.0.0",
88
+ "@storybook/react-vite": "^8.0.0",
89
+ "@types/node": "^20.0.0",
90
+ "@types/react": "^18.0.0",
91
+ "@types/react-dom": "^18.0.0",
92
+ "autoprefixer": "^10.4.27",
93
+ "react": "^18.3.0",
94
+ "react-dom": "^18.3.0",
95
+ "storybook": "^8.0.0",
96
+ "tailwindcss": "3",
97
+ "tailwindcss-animate": "^1.0.7",
98
+ "tsup": "^8.0.0",
99
+ "typescript": "^5.0.0",
100
+ "vite": "^5.0.0"
101
+ },
102
+ "peerDependencies": {
103
+ "react": "^18.0.0 || ^19.0.0",
104
+ "react-dom": "^18.0.0 || ^19.0.0",
105
+ "tailwindcss": ">=3.3.0"
106
+ },
107
+ "peerDependenciesMeta": {
108
+ "tailwindcss": {
109
+ "optional": true
110
+ }
111
+ },
112
+ "publishConfig": {
113
+ "access": "public"
114
+ }
115
+ }
@@ -0,0 +1,14 @@
1
+ /* Blink UI — shared base resets (applied by every theme) */
2
+ *,
3
+ *::before,
4
+ *::after {
5
+ border-color: hsl(var(--border, 0 0% 89.8%));
6
+ }
7
+
8
+ body {
9
+ background-color: hsl(var(--background, 0 0% 100%));
10
+ color: hsl(var(--foreground, 0 0% 3.9%));
11
+ font-family: var(--font-sans, system-ui, sans-serif);
12
+ -webkit-font-smoothing: antialiased;
13
+ -moz-osx-font-smoothing: grayscale;
14
+ }
@@ -0,0 +1,62 @@
1
+ /* Blink UI — Glass theme (frosted glass, translucent cards, Apple Vision/macOS-style) */
2
+
3
+
4
+ :root,
5
+ .theme-glass {
6
+ --background: 210 40% 96%;
7
+ --foreground: 222 47% 11%;
8
+ --card: 0 0% 100%;
9
+ --card-foreground: 222 47% 11%;
10
+ --popover: 0 0% 100%;
11
+ --popover-foreground: 222 47% 11%;
12
+ --primary: 221 83% 53%;
13
+ --primary-foreground: 0 0% 100%;
14
+ --secondary: 210 40% 92%;
15
+ --secondary-foreground: 222 47% 11%;
16
+ --muted: 210 40% 93%;
17
+ --muted-foreground: 215 16% 47%;
18
+ --accent: 210 40% 92%;
19
+ --accent-foreground: 221 83% 53%;
20
+ --destructive: 0 84% 60%;
21
+ --destructive-foreground: 0 0% 100%;
22
+ --border: 214 32% 91%;
23
+ --input: 214 32% 91%;
24
+ --ring: 221 83% 53%;
25
+ --radius: 0.75rem;
26
+ --glass-blur: blur(12px);
27
+ --glass-bg: rgba(255, 255, 255, 0.7);
28
+ --glass-border: rgba(255, 255, 255, 0.5);
29
+ --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
30
+ --font-mono: 'SF Mono', 'Fira Code', monospace;
31
+ }
32
+
33
+ .theme-glass .glass {
34
+ background: var(--glass-bg);
35
+ backdrop-filter: var(--glass-blur);
36
+ -webkit-backdrop-filter: var(--glass-blur);
37
+ border: 1px solid var(--glass-border);
38
+ }
39
+
40
+ .theme-glass.dark {
41
+ --background: 222 47% 8%;
42
+ --foreground: 213 31% 91%;
43
+ --card: 222 47% 11%;
44
+ --card-foreground: 213 31% 91%;
45
+ --popover: 222 47% 11%;
46
+ --popover-foreground: 213 31% 91%;
47
+ --primary: 217 91% 60%;
48
+ --primary-foreground: 0 0% 100%;
49
+ --secondary: 222 47% 15%;
50
+ --secondary-foreground: 213 31% 91%;
51
+ --muted: 222 47% 15%;
52
+ --muted-foreground: 215 20% 65%;
53
+ --accent: 222 47% 15%;
54
+ --accent-foreground: 217 91% 60%;
55
+ --destructive: 0 62% 30%;
56
+ --destructive-foreground: 0 0% 100%;
57
+ --border: 222 47% 18%;
58
+ --input: 222 47% 18%;
59
+ --ring: 217 91% 60%;
60
+ --glass-bg: rgba(15, 20, 40, 0.7);
61
+ --glass-border: rgba(255, 255, 255, 0.08);
62
+ }
@@ -0,0 +1,50 @@
1
+ /* Blink UI — Linear theme (clean monochrome, sharp edges, Linear/Vercel-style) */
2
+
3
+
4
+ :root,
5
+ .theme-linear {
6
+ --background: 0 0% 100%;
7
+ --foreground: 0 0% 3.9%;
8
+ --card: 0 0% 100%;
9
+ --card-foreground: 0 0% 3.9%;
10
+ --popover: 0 0% 100%;
11
+ --popover-foreground: 0 0% 3.9%;
12
+ --primary: 0 0% 9%;
13
+ --primary-foreground: 0 0% 98%;
14
+ --secondary: 0 0% 96.1%;
15
+ --secondary-foreground: 0 0% 9%;
16
+ --muted: 0 0% 96.1%;
17
+ --muted-foreground: 0 0% 45.1%;
18
+ --accent: 0 0% 96.1%;
19
+ --accent-foreground: 0 0% 9%;
20
+ --destructive: 0 84.2% 60.2%;
21
+ --destructive-foreground: 0 0% 98%;
22
+ --border: 0 0% 89.8%;
23
+ --input: 0 0% 89.8%;
24
+ --ring: 0 0% 3.9%;
25
+ --radius: 0.375rem;
26
+ --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
27
+ --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
28
+ }
29
+
30
+ .theme-linear.dark {
31
+ --background: 0 0% 3.9%;
32
+ --foreground: 0 0% 98%;
33
+ --card: 0 0% 6%;
34
+ --card-foreground: 0 0% 98%;
35
+ --popover: 0 0% 6%;
36
+ --popover-foreground: 0 0% 98%;
37
+ --primary: 0 0% 98%;
38
+ --primary-foreground: 0 0% 9%;
39
+ --secondary: 0 0% 14.9%;
40
+ --secondary-foreground: 0 0% 98%;
41
+ --muted: 0 0% 14.9%;
42
+ --muted-foreground: 0 0% 63.9%;
43
+ --accent: 0 0% 14.9%;
44
+ --accent-foreground: 0 0% 98%;
45
+ --destructive: 0 62.8% 30.6%;
46
+ --destructive-foreground: 0 0% 98%;
47
+ --border: 0 0% 14.9%;
48
+ --input: 0 0% 14.9%;
49
+ --ring: 0 0% 83.1%;
50
+ }
@@ -0,0 +1,56 @@
1
+ /* Blink UI — Midnight theme (dark premium, neon accents, Raycast/Arc-style) */
2
+
3
+
4
+ :root,
5
+ .theme-midnight {
6
+ --background: 240 10% 4%;
7
+ --foreground: 0 0% 95%;
8
+ --card: 240 10% 6%;
9
+ --card-foreground: 0 0% 95%;
10
+ --popover: 240 10% 6%;
11
+ --popover-foreground: 0 0% 95%;
12
+ --primary: 263 90% 68%;
13
+ --primary-foreground: 0 0% 100%;
14
+ --secondary: 240 10% 10%;
15
+ --secondary-foreground: 0 0% 95%;
16
+ --muted: 240 10% 10%;
17
+ --muted-foreground: 240 5% 55%;
18
+ --accent: 263 90% 68%;
19
+ --accent-foreground: 0 0% 100%;
20
+ --destructive: 0 72% 51%;
21
+ --destructive-foreground: 0 0% 100%;
22
+ --border: 240 10% 13%;
23
+ --input: 240 10% 13%;
24
+ --ring: 263 90% 68%;
25
+ --radius: 0.5rem;
26
+ --neon: 263 90% 68%;
27
+ --neon-glow: 0 0 20px hsl(263 90% 68% / 0.4);
28
+ --font-sans: 'Inter', system-ui, sans-serif;
29
+ --font-mono: 'JetBrains Mono', monospace;
30
+ }
31
+
32
+ .theme-midnight {
33
+ /* Force dark by default */
34
+ color-scheme: dark;
35
+ }
36
+
37
+ .theme-midnight.light {
38
+ --background: 240 10% 96%;
39
+ --foreground: 240 10% 4%;
40
+ --card: 0 0% 100%;
41
+ --card-foreground: 240 10% 4%;
42
+ --popover: 0 0% 100%;
43
+ --popover-foreground: 240 10% 4%;
44
+ --primary: 263 70% 50%;
45
+ --primary-foreground: 0 0% 100%;
46
+ --secondary: 240 10% 92%;
47
+ --secondary-foreground: 240 10% 4%;
48
+ --muted: 240 10% 92%;
49
+ --muted-foreground: 240 5% 45%;
50
+ --accent: 240 10% 92%;
51
+ --accent-foreground: 263 70% 50%;
52
+ --border: 240 10% 85%;
53
+ --input: 240 10% 85%;
54
+ --ring: 263 70% 50%;
55
+ --neon-glow: none;
56
+ }
@@ -0,0 +1,50 @@
1
+ /* Blink UI — Minimal theme (light, airy, generous whitespace, Notion/Cal.com-style) */
2
+
3
+
4
+ :root,
5
+ .theme-minimal {
6
+ --background: 0 0% 99%;
7
+ --foreground: 20 14% 4%;
8
+ --card: 0 0% 100%;
9
+ --card-foreground: 20 14% 4%;
10
+ --popover: 0 0% 100%;
11
+ --popover-foreground: 20 14% 4%;
12
+ --primary: 24 80% 52%;
13
+ --primary-foreground: 0 0% 100%;
14
+ --secondary: 30 20% 96%;
15
+ --secondary-foreground: 20 14% 4%;
16
+ --muted: 30 20% 95%;
17
+ --muted-foreground: 25 10% 45%;
18
+ --accent: 30 20% 95%;
19
+ --accent-foreground: 24 80% 52%;
20
+ --destructive: 0 84% 60%;
21
+ --destructive-foreground: 0 0% 100%;
22
+ --border: 30 14% 90%;
23
+ --input: 30 14% 90%;
24
+ --ring: 24 80% 52%;
25
+ --radius: 0.625rem;
26
+ --font-sans: 'Geist', 'Inter', system-ui, sans-serif;
27
+ --font-mono: 'Geist Mono', 'Fira Code', monospace;
28
+ }
29
+
30
+ .theme-minimal.dark {
31
+ --background: 20 14% 4%;
32
+ --foreground: 30 20% 95%;
33
+ --card: 20 14% 7%;
34
+ --card-foreground: 30 20% 95%;
35
+ --popover: 20 14% 7%;
36
+ --popover-foreground: 30 20% 95%;
37
+ --primary: 24 80% 58%;
38
+ --primary-foreground: 0 0% 100%;
39
+ --secondary: 20 14% 12%;
40
+ --secondary-foreground: 30 20% 95%;
41
+ --muted: 20 14% 12%;
42
+ --muted-foreground: 25 10% 55%;
43
+ --accent: 20 14% 12%;
44
+ --accent-foreground: 24 80% 58%;
45
+ --destructive: 0 62% 30%;
46
+ --destructive-foreground: 0 0% 100%;
47
+ --border: 20 14% 15%;
48
+ --input: 20 14% 15%;
49
+ --ring: 24 80% 58%;
50
+ }