@xebecship/ui 0.0.10 → 0.0.11

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.
Files changed (3) hide show
  1. package/README.md +4 -9
  2. package/package.json +5 -3
  3. package/src/theme.css +190 -0
package/README.md CHANGED
@@ -41,18 +41,13 @@ Ensure your project has the following peer dependencies installed:
41
41
 
42
42
  ### **1. Import Styles**
43
43
 
44
- Import the library's CSS at the root of your application (e.g., main.tsx or \_app.tsx). This includes the Xebec brand theme and Tailwind variables.
45
-
46
- ```typescript
47
- import "@xebecship/ui/style.css";
48
- ```
49
-
50
- Or in your base css file
44
+ Import the library's CSS and the XebecShip theme in the base css file of your application. This includes the Xebec brand theme, Shadcn variables, and components styles.
51
45
 
52
46
  ```css
53
47
  // @import "tailwindcss"; // If you're using tailwind css
54
48
  // @import "tw-animate-css"; // If you're using tailwind animate
55
- @import "@xebecship/ui/style.css";
49
+ @import "@xebecship/ui/style.css"; // Components CSS
50
+ @import "@xebecship/ui/style.css"; // XebecShip theme & brand identity
56
51
  ```
57
52
 
58
53
  ## **Usage**
@@ -99,4 +94,4 @@ The library uses CSS variables for theming. You can override the Xebec brand col
99
94
 
100
95
  ## **License**
101
96
 
102
- MIT © Xebec Ship
97
+ MIT © XebecShip
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@xebecship/ui",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "Xebec UI - A React component library for building modern web applications.",
5
5
  "type": "module",
6
6
  "author": "XebecShip",
7
7
  "license": "MIT",
8
8
  "files": [
9
9
  "dist",
10
- "README.md"
10
+ "README.md",
11
+ "src/theme.css"
11
12
  ],
12
13
  "publishConfig": {
13
14
  "access": "public"
@@ -17,7 +18,8 @@
17
18
  "import": "./dist/index.js",
18
19
  "types": "./dist/index.d.ts"
19
20
  },
20
- "./style.css": "./dist/style.css"
21
+ "./style.css": "./dist/style.css",
22
+ "./theme.css": "./src/theme.css"
21
23
  },
22
24
  "sideEffects": [
23
25
  "**/*.css"
package/src/theme.css ADDED
@@ -0,0 +1,190 @@
1
+ @import "@fontsource-variable/space-grotesk";
2
+ @import "@fontsource-variable/jetbrains-mono";
3
+
4
+ @custom-variant dark (&:is(.dark *));
5
+
6
+ :root {
7
+ /* OKLCH Color Palette - The Xebec Ship Standard (Light Mode) */
8
+ /* Background: Cool White/Paper */
9
+ --background: oklch(0.985 0.01 240);
10
+ /* Foreground: Deep Navy Text */
11
+ --foreground: oklch(0.14 0.05 260);
12
+
13
+ /* Card: Slightly distinct from background */
14
+ --card: oklch(1 0 0);
15
+ --card-foreground: oklch(0.14 0.05 260);
16
+
17
+ --popover: oklch(1 0 0);
18
+ --popover-foreground: oklch(0.14 0.05 260);
19
+
20
+ /* Primary: Electric Teal (The Xebec Agility) */
21
+ --primary: oklch(0.55 0.15 200);
22
+ --primary-foreground: oklch(0.98 0.01 240);
23
+
24
+ /* Secondary: Sandstone/Subtle Gold */
25
+ --secondary: oklch(0.92 0.04 85);
26
+ --secondary-foreground: oklch(0.25 0.08 85);
27
+
28
+ /* Muted: Cool Slate */
29
+ --muted: oklch(0.94 0.02 240);
30
+ --muted-foreground: oklch(0.45 0.04 260);
31
+
32
+ /* Accent: Hover states (Teal tint) */
33
+ --accent: oklch(0.94 0.03 200);
34
+ --accent-foreground: oklch(0.4 0.1 200);
35
+
36
+ /* Destructive: Corsair Red */
37
+ --destructive: oklch(0.57 0.22 27);
38
+
39
+ /* Borders & Inputs: Neutral Slate */
40
+ --border: oklch(0.88 0.03 240);
41
+ --input: oklch(0.88 0.03 240);
42
+
43
+ /* Ring: Corsair Gold (Focus State) */
44
+ --ring: oklch(0.7 0.15 85);
45
+
46
+ /* Chart Colors */
47
+ --chart-1: oklch(0.55 0.15 200); /* Teal */
48
+ --chart-2: oklch(0.65 0.18 85); /* Gold */
49
+ --chart-3: oklch(0.57 0.22 27); /* Red */
50
+ --chart-4: oklch(0.45 0.12 260); /* Navy */
51
+ --chart-5: oklch(0.6 0.12 30); /* Orange */
52
+
53
+ /* Design Tokens - Brutalist/Sharp Edge Strategy */
54
+ --radius: 0;
55
+
56
+ /* Sidebar Identity (Light) */
57
+ --sidebar: oklch(0.97 0.02 240);
58
+ --sidebar-foreground: oklch(0.14 0.05 260);
59
+ --sidebar-primary: oklch(0.55 0.15 200);
60
+ --sidebar-primary-foreground: oklch(0.98 0.01 240);
61
+ --sidebar-accent: oklch(0.94 0.03 200);
62
+ --sidebar-accent-foreground: oklch(0.4 0.1 200);
63
+ --sidebar-border: oklch(0.88 0.03 240);
64
+ --sidebar-ring: oklch(0.7 0.15 85);
65
+ }
66
+
67
+ .dark {
68
+ /* OKLCH Color Palette - The Xebec Ship Standard (Dark Mode) */
69
+ /* Background: Deep Ocean Navy */
70
+ --background: oklch(0.12 0.04 265);
71
+ /* Foreground: Bright Mist */
72
+ --foreground: oklch(0.96 0.02 240);
73
+
74
+ /* Card: Slightly lighter Navy */
75
+ --card: oklch(0.15 0.05 265);
76
+ --card-foreground: oklch(0.96 0.02 240);
77
+
78
+ --popover: oklch(0.15 0.05 265);
79
+ --popover-foreground: oklch(0.96 0.02 240);
80
+
81
+ /* Primary: Electric Teal (Brighter for Dark Mode) */
82
+ --primary: oklch(0.65 0.15 200);
83
+ --primary-foreground: oklch(0.12 0.04 265);
84
+
85
+ /* Secondary: Dark Bronze/Gold */
86
+ --secondary: oklch(0.25 0.06 85);
87
+ --secondary-foreground: oklch(0.9 0.08 85);
88
+
89
+ /* Muted: Deep Slate */
90
+ --muted: oklch(0.2 0.04 265);
91
+ --muted-foreground: oklch(0.7 0.04 240);
92
+
93
+ /* Accent: Deep Teal Tint */
94
+ --accent: oklch(0.2 0.06 200);
95
+ --accent-foreground: oklch(0.9 0.05 200);
96
+
97
+ /* Destructive: Corsair Red */
98
+ --destructive: oklch(0.57 0.22 27);
99
+
100
+ /* Borders: Navy/Slate boundary */
101
+ --border: oklch(0.25 0.04 265);
102
+ --input: oklch(0.25 0.04 265);
103
+
104
+ /* Ring: Corsair Gold */
105
+ --ring: oklch(0.7 0.15 85);
106
+
107
+ /* Charts */
108
+ --chart-1: oklch(0.65 0.15 200); /* Teal */
109
+ --chart-2: oklch(0.75 0.15 85); /* Gold */
110
+ --chart-3: oklch(0.57 0.22 27); /* Red */
111
+ --chart-4: oklch(0.5 0.1 260); /* Navy Light */
112
+ --chart-5: oklch(0.65 0.15 30); /* Orange */
113
+
114
+ --radius: 0;
115
+
116
+ /* Sidebar Identity (Dark) */
117
+ --sidebar: oklch(0.14 0.05 265);
118
+ --sidebar-foreground: oklch(0.96 0.02 240);
119
+ --sidebar-primary: oklch(0.65 0.15 200);
120
+ --sidebar-primary-foreground: oklch(0.12 0.04 265);
121
+ --sidebar-accent: oklch(0.2 0.06 200);
122
+ --sidebar-accent-foreground: oklch(0.9 0.05 200);
123
+ --sidebar-border: oklch(0.25 0.04 265);
124
+ --sidebar-ring: oklch(0.7 0.15 85);
125
+ }
126
+
127
+ @theme inline {
128
+ /* Typography Configuration */
129
+ --font-serif: "Space Grotesk Variable", serif;
130
+ --font-sans: "JetBrains Mono Variable", monospace;
131
+ --font-mono: "JetBrains Mono Variable", monospace;
132
+
133
+ /* Color Mapping - Tailwind v4 Standard */
134
+ --color-background: var(--background);
135
+ --color-foreground: var(--foreground);
136
+ --color-card: var(--card);
137
+ --color-card-foreground: var(--card-foreground);
138
+ --color-popover: var(--popover);
139
+ --color-popover-foreground: var(--popover-foreground);
140
+ --color-primary: var(--primary);
141
+ --color-primary-foreground: var(--primary-foreground);
142
+ --color-secondary: var(--secondary);
143
+ --color-secondary-foreground: var(--secondary-foreground);
144
+ --color-muted: var(--muted);
145
+ --color-muted-foreground: var(--muted-foreground);
146
+ --color-accent: var(--accent);
147
+ --color-accent-foreground: var(--accent-foreground);
148
+ --color-destructive: var(--destructive);
149
+ --color-border: var(--border);
150
+ --color-input: var(--input);
151
+ --color-ring: var(--ring);
152
+
153
+ /* Sidebar Configuration */
154
+ --color-sidebar: var(--sidebar);
155
+ --color-sidebar-foreground: var(--sidebar-foreground);
156
+ --color-sidebar-primary: var(--sidebar-primary);
157
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
158
+ --color-sidebar-accent: var(--sidebar-accent);
159
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
160
+ --color-sidebar-border: var(--sidebar-border);
161
+ --color-sidebar-ring: var(--sidebar-ring);
162
+
163
+ /* Force Sharp Radii Globally */
164
+ --radius-sm: 0;
165
+ --radius-md: 0;
166
+ --radius-lg: 0;
167
+ --radius-xl: 0;
168
+ --radius-2xl: 0;
169
+ --radius-3xl: 0;
170
+ --radius-4xl: 0;
171
+ }
172
+
173
+ @layer base {
174
+ * {
175
+ @apply border-border outline-ring/50;
176
+ }
177
+
178
+ html {
179
+ @apply bg-background text-foreground font-sans antialiased;
180
+ }
181
+
182
+ h1,
183
+ h2,
184
+ h3,
185
+ h4,
186
+ h5,
187
+ h6 {
188
+ @apply font-serif font-bold tracking-tight;
189
+ }
190
+ }