@moon-inferno/core 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.
@@ -0,0 +1,72 @@
1
+ import { colors, typography, spacing, radii, shadows, zIndex } from './tokens';
2
+
3
+ /**
4
+ * Generates Moon-Inferno CSS Custom Property key-value pairs.
5
+ */
6
+ export function getCSSVariableObject(): Record<string, string> {
7
+ return {
8
+ // Colors - Inferno
9
+ '--mi-color-inferno-50': colors.inferno[50],
10
+ '--mi-color-inferno-100': colors.inferno[100],
11
+ '--mi-color-inferno-500': colors.inferno[500],
12
+ '--mi-color-inferno-600': colors.inferno[600],
13
+ '--mi-color-inferno-900': colors.inferno[900],
14
+
15
+ // Colors - Moon & Obsidian
16
+ '--mi-color-moon-50': colors.moon[50],
17
+ '--mi-color-moon-100': colors.moon[100],
18
+ '--mi-color-moon-400': colors.moon[400],
19
+ '--mi-color-moon-900': colors.moon[900],
20
+ '--mi-color-obsidian-900': colors.obsidian[900],
21
+ '--mi-color-obsidian-950': colors.obsidian[950],
22
+
23
+ // Status
24
+ '--mi-color-success': colors.status.success,
25
+ '--mi-color-warning': colors.status.warning,
26
+ '--mi-color-error': colors.status.error,
27
+ '--mi-color-info': colors.status.info,
28
+
29
+ // Typography
30
+ '--mi-font-sans': typography.fontFamily.sans,
31
+ '--mi-font-mono': typography.fontFamily.mono,
32
+ '--mi-font-pixel': typography.fontFamily.pixel,
33
+
34
+ // Spacing
35
+ '--mi-space-1': spacing[1],
36
+ '--mi-space-2': spacing[2],
37
+ '--mi-space-3': spacing[3],
38
+ '--mi-space-4': spacing[4],
39
+ '--mi-space-6': spacing[6],
40
+ '--mi-space-8': spacing[8],
41
+
42
+ // Radii
43
+ '--mi-radius-sm': radii.sm,
44
+ '--mi-radius-base': radii.base,
45
+ '--mi-radius-md': radii.md,
46
+ '--mi-radius-full': radii.full,
47
+
48
+ // Shadows & Glows
49
+ '--mi-shadow-glow': shadows.infernoGlow,
50
+ '--mi-shadow-pixel': shadows.pixelShadow,
51
+
52
+ // Focus Ring
53
+ '--mi-focus-ring-color': colors.inferno[500],
54
+ '--mi-focus-ring-width': '2px',
55
+ '--mi-focus-ring-offset': '2px',
56
+
57
+ // Z-Indices
58
+ '--mi-z-modal': String(zIndex.modal),
59
+ '--mi-z-toast': String(zIndex.toast),
60
+ '--mi-z-tooltip': String(zIndex.tooltip),
61
+ };
62
+ }
63
+
64
+ /**
65
+ * Converts CSS variable object to string format for CSS rules.
66
+ */
67
+ export function getCSSVariableString(): string {
68
+ const vars = getCSSVariableObject();
69
+ return Object.entries(vars)
70
+ .map(([key, val]) => `${key}: ${val};`)
71
+ .join('\n ');
72
+ }
package/src/index.ts ADDED
@@ -0,0 +1,8 @@
1
+ // @moon-inferno/core
2
+ // Framework-independent foundations (design tokens, accessibility utilities, CSS variables)
3
+
4
+ export * from './tokens';
5
+ export * from './css-variables';
6
+ export * from './a11y/focus';
7
+ export * from './a11y/motion';
8
+ export * from './a11y/keys';
package/src/tokens.ts ADDED
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Moon-Inferno Core Design Tokens
3
+ * Framework-independent token definitions for colors, typography, spacing, shadows, and retro visual effects.
4
+ */
5
+
6
+ export const colors = {
7
+ // Infernal Palette (Solar Fire / Lava / Amber)
8
+ inferno: {
9
+ 50: '#FFF5F0',
10
+ 100: '#FFE6D9',
11
+ 200: '#FFBF9B',
12
+ 300: '#FF975E',
13
+ 400: '#FF7026',
14
+ 500: '#FF4D00', // Primary Inferno Orange
15
+ 600: '#FF2E00', // Crimson Fire
16
+ 700: '#CC1F00',
17
+ 800: '#991200',
18
+ 900: '#660900',
19
+ 950: '#3D0300',
20
+ },
21
+ // Lunar Palette (Platinum / Silver / Ethereal Cyan)
22
+ moon: {
23
+ 50: '#F8FAFC',
24
+ 100: '#F1F5F9', // Primary Text Light
25
+ 200: '#E2E8F0',
26
+ 300: '#CBD5E1',
27
+ 400: '#94A3B8',
28
+ 500: '#64748B',
29
+ 600: '#475569',
30
+ 700: '#334155',
31
+ 800: '#1E293B',
32
+ 900: '#0F172A',
33
+ 950: '#020617',
34
+ },
35
+ // Obsidian Palette (Deep Space / CRT Backlight / Magma Shadow)
36
+ obsidian: {
37
+ 900: '#120F16',
38
+ 950: '#0A090D', // Primary Dark Background
39
+ },
40
+ // Retro CRT Status Colors
41
+ status: {
42
+ success: '#00FF66', // Neon Terminal Green
43
+ warning: '#FFCC00', // Amber Warning
44
+ error: '#FF0033', // Cyber Red
45
+ info: '#00E5FF', // Neon Cyan
46
+ },
47
+ } as const;
48
+
49
+ export const typography = {
50
+ fontFamily: {
51
+ sans: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
52
+ mono: '"JetBrains Mono", "Fira Code", "Courier New", Courier, monospace',
53
+ pixel: '"Press Start 2P", "VT323", "Courier New", monospace',
54
+ },
55
+ fontSize: {
56
+ xs: '0.75rem', // 12px
57
+ sm: '0.875rem', // 14px
58
+ base: '1rem', // 16px
59
+ lg: '1.125rem', // 18px
60
+ xl: '1.25rem', // 20px
61
+ '2xl': '1.5rem', // 24px
62
+ '3xl': '1.875rem', // 30px
63
+ '4xl': '2.25rem', // 36px
64
+ },
65
+ fontWeight: {
66
+ normal: '400',
67
+ medium: '500',
68
+ semibold: '600',
69
+ bold: '700',
70
+ },
71
+ lineHeight: {
72
+ tight: '1.2',
73
+ normal: '1.5',
74
+ relaxed: '1.75',
75
+ },
76
+ } as const;
77
+
78
+ export const spacing = {
79
+ 0: '0px',
80
+ 1: '0.25rem', // 4px
81
+ 2: '0.5rem', // 8px
82
+ 3: '0.75rem', // 12px
83
+ 4: '1rem', // 16px
84
+ 5: '1.25rem', // 20px
85
+ 6: '1.5rem', // 24px
86
+ 8: '2rem', // 32px
87
+ 10: '2.5rem', // 40px
88
+ 12: '3rem', // 48px
89
+ 16: '4rem', // 64px
90
+ } as const;
91
+
92
+ export const radii = {
93
+ none: '0px',
94
+ sm: '2px',
95
+ base: '4px',
96
+ md: '6px',
97
+ lg: '8px',
98
+ full: '9999px',
99
+ } as const;
100
+
101
+ export const shadows = {
102
+ none: 'none',
103
+ infernoGlow: '0 0 12px rgba(255, 77, 0, 0.4), 0 0 24px rgba(255, 77, 0, 0.15)',
104
+ cyanGlow: '0 0 12px rgba(0, 229, 255, 0.4), 0 0 24px rgba(0, 229, 255, 0.15)',
105
+ pixelShadow: '3px 3px 0px #0A090D',
106
+ retroBox: '4px 4px 0px rgba(0, 0, 0, 0.9), inset -2px -2px 0px rgba(255, 255, 255, 0.1)',
107
+ } as const;
108
+
109
+ export const retroEffects = {
110
+ scanlineOpacity: '0.15',
111
+ crtFlickerSpeed: '0.15s',
112
+ pixelBorderWidth: '2px',
113
+ } as const;
114
+
115
+ export const zIndex = {
116
+ hide: -1,
117
+ auto: 'auto',
118
+ base: 0,
119
+ docked: 10,
120
+ dropdown: 1000,
121
+ sticky: 1100,
122
+ banner: 1200,
123
+ overlay: 1300,
124
+ modal: 1400,
125
+ popover: 1500,
126
+ skipLink: 1600,
127
+ toast: 1700,
128
+ tooltip: 1800,
129
+ } as const;
package/tsconfig.json ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist",
5
+ "rootDir": "./src"
6
+ },
7
+ "include": ["src/**/*"]
8
+ }
@@ -0,0 +1 @@
1
+ {"version":"7.0.2","root":[60],"packageJsons":["./package.json"],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2022.d.ts","lib.dom.d.ts","lib.dom.iterable.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.es2022.array.d.ts","lib.es2022.error.d.ts","lib.es2022.intl.d.ts","lib.es2022.object.d.ts","lib.es2022.string.d.ts","lib.es2022.regexp.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","./src/index.ts"],"fileInfos":[{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f","e437c5c1302869326c3bb93da85bbbcf","e4324975a566567b21d350615f1fc6ac","333b1b9a2a9ac3b8497dba5c63b5ba50","6cffacd662b6eb5fa7a36aa2ea366bfa","b4c34f9c23304dbef2d23698637ed638","e5cb86a5fc491796ecd1d2dd348d208f","feb6c6fb19cdb246a5d8acb36a6901c7",{"version":"aae8996e8b5684814785a42cbbefcd79","affectsGlobalScope":true,"impliedNodeFormat":1},"abad6dd56cc8caf095c165df8124d237",{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0ee05eb59426d33e374226d8dcfa708b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e347c14030993906efcfbb88915b6a05","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b0231263857c9b6a03641acdc9280ceb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3b15c4a83b598cacb4067676e6f0abed","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b417d97b7934cef63b1889abec0bbfbf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"09a6cf4032ebba60ce22a501e663f881","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2b056277dd138e8f5650fc04e20eaa8d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e22cc07e3f3cc242ba52fa3f8ea1fc58","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c45da767a1bfbb220848df1bc4029e4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b44c3e0fbaf2130cdcf6ac38b120ffa1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"02705151a5e1551b9162a9ed8ab763f7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"41025e398be9215d32e4337335da8f0b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"52684c2b1f353a5538e4f275182a54cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6dedb6a4f90d1df3a6fbe5693e44886c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ca3f36fe3562c07e0f0d71c2bebd3f6d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"409974d6129befbb8226ddd1c6558568","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4d9cfde2a1ae1b4925f1f9bc10848e5d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7e1daecc66dd564144e3bb1a0266b5fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a8e1d9bb35fd0637f2f9fd2b2a54f2ec","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4f168501772a6543182765bfd5f2fbfe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a19c80aad1b2162103496f5ba293a732","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b69afa63cd5d059851c78adb2856ee09","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae2fc5d954e9b0f5feee3d481b953c27","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1cfd3091a071d8b6feec15277643bafe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1da2c1f258970fd3cc91184f69e91a9d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a0d87491913d843139e0c993650a3235","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4ef72aa378127e7b7abba915b0110b1e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3ec74c6a7d4463f0254db3a74cf75646","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"84c2bdfa470d075526cce6322d81b0b6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0b3844c2b8c73e4e1ab91431411cad11","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4fc71cf4a15b8d99675a31df77f26e07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d1b49564ddaeca3df5b6dbae925d2242","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6a25be566d60ccfc2d6e8b7bfdeefa83","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8a20e27646985dfd58c57ca6566553dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9969f02ad3cdcbf4f709405cda44167f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9c9be4792a7a4f42c15ae7360bf28779","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},"c7be85d40c35668ac3bb233d217d2b05"],"options":{"composite":true,"declaration":true,"declarationMap":true,"exactOptionalPropertyTypes":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitThis":true,"noImplicitReturns":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"noImplicitOverride":true,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":9,"alwaysStrict":true,"esModuleInterop":true},"affectedFilesPendingEmit":[[60,49]],"emitSignatures":[60]}