@orion-ds/core 1.0.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.
@@ -0,0 +1,317 @@
1
+ /**
2
+ * Orion Design System - TypeScript Type Definitions
3
+ *
4
+ * Auto-generated from JSON token files.
5
+ * DO NOT EDIT MANUALLY - Run 'npm run build:tokens' to regenerate.
6
+ */
7
+ export type ColorShades = {
8
+ '50': string;
9
+ '100': string;
10
+ '200': string;
11
+ '300': string;
12
+ '400': string;
13
+ '500': string;
14
+ '600': string;
15
+ '700': string;
16
+ '800': string;
17
+ '900': string;
18
+ '950': string;
19
+ };
20
+ export interface BrandColors {
21
+ orion: ColorShades;
22
+ unitec: ColorShades;
23
+ uvm: ColorShades;
24
+ laureate: ColorShades;
25
+ }
26
+ export interface NeutralColors {
27
+ 0: string;
28
+ 50: string;
29
+ 100: string;
30
+ 200: string;
31
+ 300: string;
32
+ 400: string;
33
+ 500: string;
34
+ 600: string;
35
+ 700: string;
36
+ 800: string;
37
+ 900: string;
38
+ 950: string;
39
+ 1000: string;
40
+ }
41
+ export interface StatusColors {
42
+ 500: string;
43
+ }
44
+ export interface ColorPrimitives {
45
+ brand: BrandColors;
46
+ neutral: NeutralColors;
47
+ neutralPure: NeutralColors;
48
+ error: StatusColors;
49
+ success: StatusColors;
50
+ warning: StatusColors;
51
+ info: StatusColors;
52
+ }
53
+ export interface TypographyFamily {
54
+ primary: string;
55
+ secondary: string;
56
+ mono: string;
57
+ }
58
+ export interface TypographyWeight {
59
+ regular: string;
60
+ medium: string;
61
+ bold: string;
62
+ }
63
+ export interface TypographySize {
64
+ 10: string;
65
+ 12: string;
66
+ 13: string;
67
+ 14: string;
68
+ 16: string;
69
+ 18: string;
70
+ 20: string;
71
+ 24: string;
72
+ 32: string;
73
+ 48: string;
74
+ 64: string;
75
+ 80: string;
76
+ 96: string;
77
+ }
78
+ export interface TypographyLineHeight {
79
+ none: string;
80
+ tight: string;
81
+ snug: string;
82
+ normal: string;
83
+ relaxed: string;
84
+ loose: string;
85
+ }
86
+ export interface TypographyPrimitives {
87
+ family: TypographyFamily;
88
+ weight: TypographyWeight;
89
+ size: TypographySize;
90
+ lineHeight: TypographyLineHeight;
91
+ }
92
+ export interface SpacingPrimitives {
93
+ 0: string;
94
+ px: string;
95
+ '05': string;
96
+ 1: string;
97
+ 2: string;
98
+ 3: string;
99
+ 4: string;
100
+ 5: string;
101
+ 6: string;
102
+ 8: string;
103
+ 10: string;
104
+ 12: string;
105
+ 16: string;
106
+ 20: string;
107
+ 24: string;
108
+ 32: string;
109
+ }
110
+ export interface RadiusPrimitives {
111
+ 0: string;
112
+ sm: string;
113
+ md: string;
114
+ lg: string;
115
+ xl: string;
116
+ '2xl': string;
117
+ full: string;
118
+ }
119
+ export interface BlurPrimitives {
120
+ sm: string;
121
+ md: string;
122
+ lg: string;
123
+ xl: string;
124
+ }
125
+ export interface IconPrimitives {
126
+ library: string;
127
+ cdn: string;
128
+ size: {
129
+ sm: string;
130
+ md: string;
131
+ lg: string;
132
+ xl: string;
133
+ };
134
+ stroke: string;
135
+ }
136
+ export interface Primitives {
137
+ project?: {
138
+ name: string;
139
+ description: string;
140
+ };
141
+ color: ColorPrimitives;
142
+ typography: TypographyPrimitives;
143
+ spacing: SpacingPrimitives;
144
+ radius: RadiusPrimitives;
145
+ blur: BlurPrimitives;
146
+ icon: IconPrimitives;
147
+ }
148
+ export interface SurfaceSemantics {
149
+ base: string;
150
+ subtle: string;
151
+ layer: string;
152
+ primary: string;
153
+ secondary: string;
154
+ glass: string;
155
+ sunken: string;
156
+ overlay: string;
157
+ }
158
+ export interface TextSemantics {
159
+ primary: string;
160
+ secondary: string;
161
+ tertiary: string;
162
+ inverse: string;
163
+ brand: string;
164
+ }
165
+ export interface BorderSemantics {
166
+ subtle: string;
167
+ strong: string;
168
+ interactive: string;
169
+ }
170
+ export interface InteractivePrimarySemantics {
171
+ default: string;
172
+ hover: string;
173
+ text: string;
174
+ }
175
+ export interface InteractiveSecondarySemantics {
176
+ default: string;
177
+ hover: string;
178
+ text: string;
179
+ }
180
+ export interface InteractiveGhostSemantics {
181
+ hover: string;
182
+ }
183
+ export interface InteractiveSemantics {
184
+ primary: InteractivePrimarySemantics;
185
+ secondary: InteractiveSecondarySemantics;
186
+ ghost: InteractiveGhostSemantics;
187
+ }
188
+ export interface StatusSemantics {
189
+ error: string;
190
+ success: string;
191
+ warning: string;
192
+ info: string;
193
+ }
194
+ export interface SoftSemantics {
195
+ brand: string;
196
+ 'brand-hover': string;
197
+ success: string;
198
+ 'success-hover'?: string;
199
+ error: string;
200
+ 'error-hover'?: string;
201
+ warning?: string;
202
+ 'warning-hover'?: string;
203
+ info?: string;
204
+ 'info-hover'?: string;
205
+ }
206
+ export interface SemanticTokens {
207
+ surface: SurfaceSemantics;
208
+ text: TextSemantics;
209
+ border: BorderSemantics;
210
+ interactive: InteractiveSemantics;
211
+ status: StatusSemantics;
212
+ soft: SoftSemantics;
213
+ focus?: {
214
+ ring: string;
215
+ };
216
+ }
217
+ export type Theme = 'light' | 'dark';
218
+ export type Brand = 'orion' | 'unitec' | 'uvm' | 'laureate';
219
+ export interface ThemeConfig {
220
+ theme: Theme;
221
+ semantic: SemanticTokens;
222
+ }
223
+ export interface BrandConfig {
224
+ name: string;
225
+ description?: string;
226
+ accent: {
227
+ primary: string;
228
+ light: string;
229
+ dark: string;
230
+ };
231
+ typography: {
232
+ primary: string;
233
+ secondary: string;
234
+ mono: string;
235
+ };
236
+ geometry: {
237
+ radiusControl: string;
238
+ radiusContainer: string;
239
+ buttonStyle: string;
240
+ };
241
+ semantic: {
242
+ light: {
243
+ interactivePrimary: string;
244
+ interactivePrimaryHover: string;
245
+ interactivePrimaryText: string;
246
+ };
247
+ dark: {
248
+ interactivePrimary: string;
249
+ interactivePrimaryHover: string;
250
+ interactivePrimaryText: string;
251
+ };
252
+ };
253
+ usage: {
254
+ html: string | null;
255
+ css: string;
256
+ attribute: string | null;
257
+ };
258
+ }
259
+ export type ColorTokenPath = `color.brand.${Brand}.${keyof ColorShades}` | `color.neutral.${keyof NeutralColors}` | `color.neutralPure.${keyof NeutralColors}` | 'color.error.500' | 'color.success.500' | 'color.warning.500' | 'color.info.500';
260
+ export type TypographyTokenPath = `typography.family.${keyof TypographyFamily}` | `typography.weight.${keyof TypographyWeight}` | `typography.size.${keyof TypographySize}` | `typography.lineHeight.${keyof TypographyLineHeight}`;
261
+ export type SpacingTokenPath = `spacing.${keyof SpacingPrimitives}`;
262
+ export type RadiusTokenPath = `radius.${keyof RadiusPrimitives}`;
263
+ export type BlurTokenPath = `blur.${keyof BlurPrimitives}`;
264
+ export type TokenPath = ColorTokenPath | TypographyTokenPath | SpacingTokenPath | RadiusTokenPath | BlurTokenPath;
265
+ export type SemanticTokenPath = `surface.${keyof SurfaceSemantics}` | `text.${keyof TextSemantics}` | `border.${keyof BorderSemantics}` | `interactive.primary.${keyof InteractivePrimarySemantics}` | `interactive.secondary.${keyof InteractiveSecondarySemantics}` | `interactive.ghost.${keyof InteractiveGhostSemantics}` | `status.${keyof StatusSemantics}` | `soft.${keyof SoftSemantics}`;
266
+ export type CSSVariableName = `--${string}`;
267
+ export interface CSSVariableMap {
268
+ '--surface-base': string;
269
+ '--surface-subtle': string;
270
+ '--surface-layer': string;
271
+ '--surface-primary': string;
272
+ '--surface-secondary': string;
273
+ '--surface-glass': string;
274
+ '--surface-sunken': string;
275
+ '--surface-overlay': string;
276
+ '--text-primary': string;
277
+ '--text-secondary': string;
278
+ '--text-tertiary': string;
279
+ '--text-inverse': string;
280
+ '--text-brand': string;
281
+ '--interactive-primary': string;
282
+ '--interactive-primary-hover': string;
283
+ '--interactive-primary-text': string;
284
+ '--interactive-secondary': string;
285
+ '--interactive-secondary-hover': string;
286
+ '--interactive-secondary-text': string;
287
+ '--interactive-ghost-hover': string;
288
+ '--status-error': string;
289
+ '--status-success': string;
290
+ '--status-warning': string;
291
+ '--status-info': string;
292
+ '--border-subtle': string;
293
+ '--border-strong': string;
294
+ '--border-interactive': string;
295
+ '--spacing-0': string;
296
+ '--spacing-px': string;
297
+ '--spacing-1': string;
298
+ '--spacing-2': string;
299
+ '--spacing-3': string;
300
+ '--spacing-4': string;
301
+ '--spacing-6': string;
302
+ '--spacing-8': string;
303
+ '--spacing-16': string;
304
+ '--spacing-32': string;
305
+ '--radius-sm': string;
306
+ '--radius-md': string;
307
+ '--radius-lg': string;
308
+ '--radius-xl': string;
309
+ '--radius-2xl': string;
310
+ '--radius-full': string;
311
+ '--radius-control': string;
312
+ }
313
+ /** Get nested property type from dot notation path */
314
+ export type GetTokenValue<T, Path extends string> = Path extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? GetTokenValue<T[Key], Rest> : never : Path extends keyof T ? T[Path] : never;
315
+ /** Type-safe token getter */
316
+ export type TokenValue<P extends TokenPath> = GetTokenValue<Primitives, P>;
317
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tokens/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Orion Design System - TypeScript Type Definitions
3
+ *
4
+ * Auto-generated from JSON token files.
5
+ * DO NOT EDIT MANUALLY - Run 'npm run build:tokens' to regenerate.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tokens/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Orion Design System - Token Utilities
3
+ *
4
+ * Helper functions for working with design tokens in TypeScript.
5
+ */
6
+ import type { Theme, Brand, TokenPath, SemanticTokenPath } from './types';
7
+ /**
8
+ * Get a primitive token value by path
9
+ *
10
+ * @example
11
+ * getToken('color.brand.orion.500') // "#1B5BFF"
12
+ * getToken('spacing.4') // "16px"
13
+ */
14
+ export declare function getToken(path: TokenPath): string;
15
+ /**
16
+ * Get a semantic token value by theme and path
17
+ *
18
+ * @example
19
+ * getSemanticToken('light', 'surface.base') // "#ffffff"
20
+ * getSemanticToken('dark', 'text.primary') // "#ffffff"
21
+ */
22
+ export declare function getSemanticToken(theme: Theme, path: SemanticTokenPath): string;
23
+ /**
24
+ * Get brand configuration
25
+ *
26
+ * @example
27
+ * getBrand('orion') // { name: 'orion', accentColor: '#1B5BFF', ... }
28
+ */
29
+ export declare function getBrand(brand: Brand): import("./types").BrandConfig;
30
+ /**
31
+ * Generate CSS variable name from semantic path
32
+ *
33
+ * @example
34
+ * toCSSVariable('surface.base') // "--surface-base"
35
+ * toCSSVariable('text.primary') // "--text-primary"
36
+ */
37
+ export declare function toCSSVariable(path: SemanticTokenPath): string;
38
+ /**
39
+ * Type guard for valid theme
40
+ */
41
+ export declare function isValidTheme(value: string): value is Theme;
42
+ /**
43
+ * Type guard for valid brand
44
+ */
45
+ export declare function isValidBrand(value: string): value is Brand;
46
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tokens/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAK1E;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAYhD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAkB9E;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,iCAEpC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,KAAK,CAE1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,KAAK,CAE1D"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Orion Design System - Token Utilities
3
+ *
4
+ * Helper functions for working with design tokens in TypeScript.
5
+ */
6
+ import { primitives } from './primitives';
7
+ import { themes } from './themes';
8
+ import { brands } from './brands';
9
+ /**
10
+ * Get a primitive token value by path
11
+ *
12
+ * @example
13
+ * getToken('color.brand.orion.500') // "#1B5BFF"
14
+ * getToken('spacing.4') // "16px"
15
+ */
16
+ export function getToken(path) {
17
+ const keys = path.split('.');
18
+ let value = primitives;
19
+ for (const key of keys) {
20
+ value = value[key];
21
+ if (value === undefined) {
22
+ throw new Error(`Token path "${path}" not found`);
23
+ }
24
+ }
25
+ return value;
26
+ }
27
+ /**
28
+ * Get a semantic token value by theme and path
29
+ *
30
+ * @example
31
+ * getSemanticToken('light', 'surface.base') // "#ffffff"
32
+ * getSemanticToken('dark', 'text.primary') // "#ffffff"
33
+ */
34
+ export function getSemanticToken(theme, path) {
35
+ const keys = path.split('.');
36
+ let value = themes[theme].semantic;
37
+ for (const key of keys) {
38
+ value = value[key];
39
+ if (value === undefined) {
40
+ throw new Error(`Semantic token path "${path}" not found in ${theme} theme`);
41
+ }
42
+ }
43
+ // Resolve token references (e.g., "{color.neutral.0}")
44
+ if (typeof value === 'string' && value.startsWith('{') && value.endsWith('}')) {
45
+ const refPath = value.slice(1, -1);
46
+ return getToken(refPath);
47
+ }
48
+ return value;
49
+ }
50
+ /**
51
+ * Get brand configuration
52
+ *
53
+ * @example
54
+ * getBrand('orion') // { name: 'orion', accentColor: '#1B5BFF', ... }
55
+ */
56
+ export function getBrand(brand) {
57
+ return brands[brand];
58
+ }
59
+ /**
60
+ * Generate CSS variable name from semantic path
61
+ *
62
+ * @example
63
+ * toCSSVariable('surface.base') // "--surface-base"
64
+ * toCSSVariable('text.primary') // "--text-primary"
65
+ */
66
+ export function toCSSVariable(path) {
67
+ return `--${path.replace(/\./g, '-')}`;
68
+ }
69
+ /**
70
+ * Type guard for valid theme
71
+ */
72
+ export function isValidTheme(value) {
73
+ return value === 'light' || value === 'dark';
74
+ }
75
+ /**
76
+ * Type guard for valid brand
77
+ */
78
+ export function isValidBrand(value) {
79
+ return value in brands;
80
+ }
81
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tokens/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAe;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAQ,UAAU,CAAC;IAE5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,aAAa,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAY,EAAE,IAAuB;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;IAExC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,kBAAkB,KAAK,QAAQ,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9E,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC,OAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAY;IACnC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAAuB;IACnD,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK,IAAI,MAAM,CAAC;AACzB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@orion-ds/core",
3
+ "version": "1.0.0",
4
+ "description": "Orion Design System - Core tokens and utilities",
5
+ "author": "Orion Design System Team",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.js"
14
+ },
15
+ "./theme.css": "./dist/theme.css",
16
+ "./tokens": {
17
+ "types": "./dist/tokens/index.d.ts",
18
+ "import": "./dist/tokens/index.js",
19
+ "require": "./dist/tokens/index.js"
20
+ }
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "README.md",
25
+ "LICENSE"
26
+ ],
27
+ "scripts": {
28
+ "build": "tsc && npm run build:css",
29
+ "build:css": "cp ../../theme.css dist/theme.css",
30
+ "type-check": "tsc --noEmit"
31
+ },
32
+ "keywords": [
33
+ "design-tokens",
34
+ "orion",
35
+ "design-system",
36
+ "typescript",
37
+ "css-variables",
38
+ "theme",
39
+ "tokens",
40
+ "ai-first"
41
+ ],
42
+ "license": "MIT",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "https://github.com/orion-ds/orion",
46
+ "directory": "packages/core"
47
+ },
48
+ "homepage": "https://github.com/orion-ds/orion#readme",
49
+ "bugs": {
50
+ "url": "https://github.com/orion-ds/orion/issues"
51
+ },
52
+ "publishConfig": {
53
+ "access": "public",
54
+ "registry": "https://registry.npmjs.org/"
55
+ },
56
+ "devDependencies": {
57
+ "typescript": "^5.9.3"
58
+ }
59
+ }