orbcafe-ui 2.0.0 → 2.0.2

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.
@@ -0,0 +1,36 @@
1
+ /* nvidia.css — generated from the local Open Design preset "nvidia". Do not edit.
2
+ Regenerate with: npx orbcafe-theme apply nvidia
3
+ Import AFTER the base styles (import 'orbcafe-ui/styles.css').
4
+ Only base tokens are overridden; all derived tokens re-derive via color-mix. */
5
+
6
+ :root {
7
+ --orb-primary: #76b900;
8
+ --orb-accent: #f2a900;
9
+ --orb-err: #d40000;
10
+ --orb-fg: #1a1a1a;
11
+ --orb-fg-strong: #1a1a1a;
12
+ --orb-muted: #666666;
13
+ --orb-canvas: #ffffff;
14
+ --orb-surface: #f2f2f2;
15
+ --orb-border: #e0e0e0;
16
+ --orb-link: #5c9100;
17
+ --orb-font-brand: "NVIDIA Sans";
18
+ --orb-r: 4px;
19
+ }
20
+
21
+ .orb-dark,
22
+ [data-orb-mode="dark"] {
23
+ --orb-primary: #76b900;
24
+ --orb-accent: #f2a900;
25
+ --orb-err: #ff6b6b;
26
+ --orb-fg: #eeeeee;
27
+ --orb-fg-strong: #eeeeee;
28
+ --orb-muted: #aaaaaa;
29
+ --orb-canvas: #000000;
30
+ --orb-surface: #191919;
31
+ --orb-surface-2: #2a2a2a;
32
+ --orb-border: #3d3d3d;
33
+ --orb-link: #a4d24b;
34
+ --orb-font-brand: "NVIDIA Sans";
35
+ --orb-r: 4px;
36
+ }
@@ -0,0 +1,117 @@
1
+ /**
2
+ * ORBCAFE × nvidia theme tokens (JS side) — generated. Do not edit.
3
+ * Mirrors nvidia.css for consumers that cannot read CSS variables
4
+ * (SVG charts, canvas, inline-style computations).
5
+ * Shape matches OrbTokens from 'orbcafe-ui'.
6
+ */
7
+ export const ORB_LIGHT = {
8
+ canvas: '#ffffff',
9
+ surface: '#f2f2f2',
10
+ surface2: '#f2f2f2',
11
+ surface3: '#f2f2f2',
12
+ fg: '#1a1a1a',
13
+ muted: '#666666',
14
+ border: '#e0e0e0',
15
+ primary: '#76b900',
16
+ onPrimary: '#ffffff',
17
+ link: '#5c9100',
18
+ p50: '#f7fbf3',
19
+ p100: '#ebf6e3',
20
+ p200: '#d8edc7',
21
+ p300: '#c1e1a4',
22
+ p600: '#5e9400',
23
+ p700: '#477100',
24
+ accent: '#f2a900',
25
+ err: '#d40000',
26
+ errBg: '#fff9f2',
27
+ warnBg: '#fef8f0',
28
+ hover: 'rgba(118, 185, 0, 0.06)',
29
+ selected: 'rgba(118, 185, 0, 0.1)',
30
+ focusRing: 'rgba(118, 185, 0, 0.18)',
31
+ focusSolid: '#76b900',
32
+ disabledFg: '#8e8e8e',
33
+ disabledBg: '#eaeaea',
34
+ chartGrid: '#e0e0e0',
35
+ chartText: '#666666',
36
+ track: '#f2f2f2',
37
+ shadow1: '0 1px 2px rgba(1,9,26,.05),0 2px 6px rgba(1,9,26,.06)',
38
+ shadow2: '0 4px 14px rgba(1,9,26,.10)',
39
+ shadow3: '0 12px 32px rgba(1,9,26,.16)',
40
+ fontBrand: 'NVIDIA Sans',
41
+ inverseSurface: '#01091a',
42
+ inverseFg: '#ffffff',
43
+ inverseLink: '#c1e1a4',
44
+ aiAccent: '#21bcff',
45
+ statusFg: '#475569',
46
+ statusPrimary: '#1d4ed8',
47
+ statusSuccess: '#047857',
48
+ statusWarning: '#b45309',
49
+ statusError: '#b91c1c',
50
+ statusInfo: '#0369a1',
51
+ chart1: '#76b900',
52
+ chart2: '#c1e1a4',
53
+ chart3: '#666666',
54
+ chart4: '#477100',
55
+ chart5: '#f2a900',
56
+ chart6: '#d8edc7',
57
+ chartPositive: '#66bb6a',
58
+ chartNegative: '#ef5350',
59
+ };
60
+
61
+ export const ORB_DARK = {
62
+ canvas: '#000000',
63
+ surface: '#191919',
64
+ surface2: '#2a2a2a',
65
+ surface3: '#020202',
66
+ fg: '#eeeeee',
67
+ muted: '#aaaaaa',
68
+ border: '#3d3d3d',
69
+ primary: '#76b900',
70
+ onPrimary: '#ffffff',
71
+ link: '#a4d24b',
72
+ p50: '#061000',
73
+ p100: '#122200',
74
+ p200: '#d8edc7',
75
+ p300: '#c1e1a4',
76
+ p600: '#8ac449',
77
+ p700: '#acd685',
78
+ accent: '#f2a900',
79
+ err: '#ff6b6b',
80
+ errBg: '#0c0500',
81
+ warnBg: '#100800',
82
+ hover: 'rgba(255, 255, 255, 0.08)',
83
+ selected: 'rgba(118, 185, 0, 0.45)',
84
+ focusRing: 'rgba(193, 225, 164, 0.45)',
85
+ focusSolid: '#c1e1a4',
86
+ disabledFg: 'rgba(255, 255, 255, 0.38)',
87
+ disabledBg: 'rgba(255, 255, 255, 0.07)',
88
+ chartGrid: 'rgba(255, 255, 255, 0.12)',
89
+ chartText: 'rgba(255, 255, 255, 0.7)',
90
+ track: 'rgba(255, 255, 255, 0.1)',
91
+ shadow1: '0 1px 2px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.35)',
92
+ shadow2: '0 4px 16px rgba(0,0,0,.5)',
93
+ shadow3: '0 12px 32px rgba(0,0,0,.55)',
94
+ fontBrand: 'NVIDIA Sans',
95
+ inverseSurface: '#01091a',
96
+ inverseFg: '#ffffff',
97
+ inverseLink: '#c1e1a4',
98
+ aiAccent: '#21bcff',
99
+ statusFg: '#94a3b8',
100
+ statusPrimary: '#60a5fa',
101
+ statusSuccess: '#34d399',
102
+ statusWarning: '#fbbf24',
103
+ statusError: '#f87171',
104
+ statusInfo: '#38bdf8',
105
+ chart1: '#76b900',
106
+ chart2: '#c1e1a4',
107
+ chart3: '#aaaaaa',
108
+ chart4: '#acd685',
109
+ chart5: '#f2a900',
110
+ chart6: '#d8edc7',
111
+ chartPositive: '#66bb6a',
112
+ chartNegative: '#ef5350',
113
+ };
114
+
115
+ export const ORB_TOKENS = { light: ORB_LIGHT, dark: ORB_DARK };
116
+
117
+ export default ORB_TOKENS;
@@ -0,0 +1,62 @@
1
+ /* orbis.css — generated from the local Open Design preset "orbis". Do not edit.
2
+ Regenerate with: npx orbcafe-theme apply orbis
3
+ Import AFTER the base styles (import 'orbcafe-ui/styles.css').
4
+ Only base tokens are overridden; all derived tokens re-derive via color-mix. */
5
+
6
+ @font-face {
7
+ font-family: "Montserrat";
8
+ src: url("./orbis/fonts/montserrat-300.otf") format("opentype");
9
+ font-weight: 300;
10
+ font-style: normal;
11
+ font-display: swap;
12
+ }
13
+ @font-face {
14
+ font-family: "Montserrat";
15
+ src: url("./orbis/fonts/montserrat-500.otf") format("opentype");
16
+ font-weight: 500;
17
+ font-style: normal;
18
+ font-display: swap;
19
+ }
20
+ @font-face {
21
+ font-family: "Montserrat";
22
+ src: url("./orbis/fonts/montserrat-600.otf") format("opentype");
23
+ font-weight: 600;
24
+ font-style: normal;
25
+ font-display: swap;
26
+ }
27
+ @font-face {
28
+ font-family: "Montserrat";
29
+ src: url("./orbis/fonts/montserrat-700.otf") format("opentype");
30
+ font-weight: 700;
31
+ font-style: normal;
32
+ font-display: swap;
33
+ }
34
+
35
+ :root {
36
+ --orb-primary: #154194;
37
+ --orb-accent: #fc4c02;
38
+ --orb-fg: #696969;
39
+ --orb-fg-strong: #696969;
40
+ --orb-muted: #919191;
41
+ --orb-canvas: #ffffff;
42
+ --orb-surface: #f5f5f5;
43
+ --orb-border: #e6e6e6;
44
+ --orb-font-brand: "Montserrat";
45
+ --orb-r: 10px;
46
+ }
47
+
48
+ .orb-dark,
49
+ [data-orb-mode="dark"] {
50
+ --orb-primary: #2c508c;
51
+ --orb-accent: #dc6328;
52
+ --orb-fg: #dcdcdc;
53
+ --orb-fg-strong: #dcdcdc;
54
+ --orb-muted: #adadad;
55
+ --orb-canvas: #1d1d1d;
56
+ --orb-surface: #141414;
57
+ --orb-surface-2: #272727;
58
+ --orb-border: #3e3e3e;
59
+ --orb-link: #97abc2;
60
+ --orb-font-brand: "Montserrat";
61
+ --orb-r: 10px;
62
+ }
@@ -0,0 +1,117 @@
1
+ /**
2
+ * ORBCAFE × orbis theme tokens (JS side) — generated. Do not edit.
3
+ * Mirrors orbis.css for consumers that cannot read CSS variables
4
+ * (SVG charts, canvas, inline-style computations).
5
+ * Shape matches OrbTokens from 'orbcafe-ui'.
6
+ */
7
+ export const ORB_LIGHT = {
8
+ canvas: '#ffffff',
9
+ surface: '#f5f5f5',
10
+ surface2: '#f5f5f5',
11
+ surface3: '#f5f5f5',
12
+ fg: '#696969',
13
+ muted: '#919191',
14
+ border: '#e6e6e6',
15
+ primary: '#154194',
16
+ onPrimary: '#ffffff',
17
+ link: '#154194',
18
+ p50: '#f0f3f9',
19
+ p100: '#dce4f1',
20
+ p200: '#bac9e3',
21
+ p300: '#91a8d1',
22
+ p600: '#0f3276',
23
+ p700: '#08255a',
24
+ accent: '#fc4c02',
25
+ err: '#ac3101',
26
+ errBg: '#fff4f0',
27
+ warnBg: '#fff2ee',
28
+ hover: 'rgba(21, 65, 148, 0.06)',
29
+ selected: 'rgba(21, 65, 148, 0.1)',
30
+ focusRing: 'rgba(21, 65, 148, 0.18)',
31
+ focusSolid: '#154194',
32
+ disabledFg: '#b9b9b9',
33
+ disabledBg: '#f2f2f2',
34
+ chartGrid: '#e6e6e6',
35
+ chartText: '#919191',
36
+ track: '#f5f5f5',
37
+ shadow1: '0 1px 2px rgba(1,9,26,.05),0 2px 6px rgba(1,9,26,.06)',
38
+ shadow2: '0 4px 14px rgba(1,9,26,.10)',
39
+ shadow3: '0 12px 32px rgba(1,9,26,.16)',
40
+ fontBrand: 'Montserrat',
41
+ inverseSurface: '#01091a',
42
+ inverseFg: '#ffffff',
43
+ inverseLink: '#91a8d1',
44
+ aiAccent: '#21bcff',
45
+ statusFg: '#475569',
46
+ statusPrimary: '#1d4ed8',
47
+ statusSuccess: '#047857',
48
+ statusWarning: '#b45309',
49
+ statusError: '#b91c1c',
50
+ statusInfo: '#0369a1',
51
+ chart1: '#154194',
52
+ chart2: '#91a8d1',
53
+ chart3: '#919191',
54
+ chart4: '#08255a',
55
+ chart5: '#fc4c02',
56
+ chart6: '#bac9e3',
57
+ chartPositive: '#66bb6a',
58
+ chartNegative: '#ef5350',
59
+ };
60
+
61
+ export const ORB_DARK = {
62
+ canvas: '#1d1d1d',
63
+ surface: '#141414',
64
+ surface2: '#272727',
65
+ surface3: '#2e2e2e',
66
+ fg: '#dcdcdc',
67
+ muted: '#adadad',
68
+ border: '#3e3e3e',
69
+ primary: '#2c508c',
70
+ onPrimary: '#ffffff',
71
+ link: '#97abc2',
72
+ p50: '#212834',
73
+ p100: '#232d3e',
74
+ p200: '#c0ccdf',
75
+ p300: '#9baecc',
76
+ p600: '#49699e',
77
+ p700: '#7c94bb',
78
+ accent: '#dc6328',
79
+ err: '#b95220',
80
+ errBg: '#392922',
81
+ warnBg: '#3c2a23',
82
+ hover: 'rgba(255, 255, 255, 0.08)',
83
+ selected: 'rgba(44, 80, 140, 0.45)',
84
+ focusRing: 'rgba(155, 174, 204, 0.45)',
85
+ focusSolid: '#9baecc',
86
+ disabledFg: 'rgba(255, 255, 255, 0.38)',
87
+ disabledBg: 'rgba(255, 255, 255, 0.07)',
88
+ chartGrid: 'rgba(255, 255, 255, 0.12)',
89
+ chartText: 'rgba(255, 255, 255, 0.7)',
90
+ track: 'rgba(255, 255, 255, 0.1)',
91
+ shadow1: '0 1px 2px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.35)',
92
+ shadow2: '0 4px 16px rgba(0,0,0,.5)',
93
+ shadow3: '0 12px 32px rgba(0,0,0,.55)',
94
+ fontBrand: 'Montserrat',
95
+ inverseSurface: '#01091a',
96
+ inverseFg: '#ffffff',
97
+ inverseLink: '#9baecc',
98
+ aiAccent: '#21bcff',
99
+ statusFg: '#94a3b8',
100
+ statusPrimary: '#60a5fa',
101
+ statusSuccess: '#34d399',
102
+ statusWarning: '#fbbf24',
103
+ statusError: '#f87171',
104
+ statusInfo: '#38bdf8',
105
+ chart1: '#2c508c',
106
+ chart2: '#9baecc',
107
+ chart3: '#adadad',
108
+ chart4: '#7c94bb',
109
+ chart5: '#dc6328',
110
+ chart6: '#c0ccdf',
111
+ chartPositive: '#66bb6a',
112
+ chartNegative: '#ef5350',
113
+ };
114
+
115
+ export const ORB_TOKENS = { light: ORB_LIGHT, dark: ORB_DARK };
116
+
117
+ export default ORB_TOKENS;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orbcafe-ui",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "ORBCAFE UI components — ORBIS brand system, MUI-free",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -16,17 +16,21 @@
16
16
  "./dist/orbis.css": "./dist/orbis.css",
17
17
  "./dist/index.css": "./dist/index.css",
18
18
  "./fonts/*": "./dist/fonts/*",
19
- "./package.json": "./package.json"
19
+ "./package.json": "./package.json",
20
+ "./themes/*": "./dist/themes/*"
20
21
  },
21
22
  "scripts": {
22
23
  "check:ai-contracts": "node scripts/check-ai-contracts.js",
24
+ "check:types": "tsc --noEmit && cd examples && ./node_modules/.bin/tsc --noEmit",
25
+ "check:examples": "npm --prefix examples run lint",
23
26
  "docs:build": "node scripts/build-docs-pages.js",
24
27
  "build": "tsup",
25
28
  "prepublishOnly": "npm run build",
26
29
  "pack:check": "npm_config_cache=/tmp/.npm-cache npm pack --dry-run",
27
- "release:check": "npm run check:ai-contracts && npm run docs:build && npm run build && npm run pack:check",
30
+ "release:check": "npm run check:ai-contracts && npm run check:types && npm run check:examples && npm run docs:build && npm run build && npm run pack:check",
28
31
  "publish:npm": "npm publish --access public",
29
- "publish:npm:token": "./scripts/publish-npm.sh"
32
+ "publish:npm:token": "./scripts/publish-npm.sh",
33
+ "build:theme": "node scripts/build-theme.mjs"
30
34
  },
31
35
  "keywords": [
32
36
  "react",
@@ -35,11 +39,18 @@
35
39
  ],
36
40
  "author": "ORBAI Team",
37
41
  "license": "MIT",
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "git+https://github.com/SHENRUIYANG/orbcafe-ui.git"
45
+ },
38
46
  "sideEffects": [
39
47
  "**/*.css"
40
48
  ],
41
49
  "files": [
42
- "dist"
50
+ "dist",
51
+ "bin",
52
+ "MIGRATION_V2.md",
53
+ "BRAND_THEMING.md"
43
54
  ],
44
55
  "publishConfig": {
45
56
  "access": "public"
@@ -47,14 +58,17 @@
47
58
  "peerDependencies": {
48
59
  "next": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0",
49
60
  "react": "^18.0.0 || ^19.0.0",
50
- "react-dom": "^18.0.0 || ^19.0.0"
61
+ "react-dom": "^18.0.0 || ^19.0.0",
62
+ "tailwindcss": "^4.0.0"
51
63
  },
52
64
  "devDependencies": {
65
+ "@tailwindcss/postcss": "^4.0.0",
53
66
  "@types/node": "^20.0.0",
54
67
  "@types/react": "^18.0.0",
55
68
  "@types/react-dom": "^18.0.0",
56
69
  "@types/react-syntax-highlighter": "^15.5.13",
57
70
  "next": "^16.2.0",
71
+ "tailwindcss": "^4.0.0",
58
72
  "tsup": "^8.0.0",
59
73
  "typescript": "^5.0.0"
60
74
  },
@@ -73,7 +87,6 @@
73
87
  "framer-motion": "^12.35.1",
74
88
  "i18next": "^25.8.18",
75
89
  "mermaid": "^10.9.0",
76
- "next-themes": "^0.3.0",
77
90
  "ogl": "^1.0.11",
78
91
  "react-i18next": "^16.5.8",
79
92
  "react-markdown": "^9.0.0",
@@ -88,5 +101,8 @@
88
101
  "esbuild": "^0.28.1",
89
102
  "postcss": "^8.5.10",
90
103
  "rollup": "^4.59.0"
104
+ },
105
+ "bin": {
106
+ "orbcafe-theme": "./bin/orbcafe-theme.mjs"
91
107
  }
92
108
  }