@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.
- package/LICENSE +21 -0
- package/dist/index.cjs +364 -0
- package/dist/index.d.cts +181 -0
- package/dist/index.d.ts +181 -0
- package/dist/index.js +321 -0
- package/package.json +37 -0
- package/src/a11y/focus.ts +83 -0
- package/src/a11y/keys.ts +24 -0
- package/src/a11y/motion.ts +35 -0
- package/src/css-variables.ts +72 -0
- package/src/index.ts +8 -0
- package/src/tokens.ts +129 -0
- package/tsconfig.json +8 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -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 @@
|
|
|
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]}
|