zeus-css 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.
Files changed (105) hide show
  1. package/README.md +81 -0
  2. package/bin/init.js +89 -0
  3. package/dist/zeus.css +8456 -0
  4. package/dist/zeus.min.css +1 -0
  5. package/package.json +44 -0
  6. package/scss/.stylelintrc.json +41 -0
  7. package/scss/API.md +168 -0
  8. package/scss/CHANGELOG.md +281 -0
  9. package/scss/LICENSE +21 -0
  10. package/scss/README.md +160 -0
  11. package/scss/cheatsheet.md +249 -0
  12. package/scss/dist/zeus.css +8465 -0
  13. package/scss/dist/zeus.css.map +1 -0
  14. package/scss/dist/zeus.min.css +1 -0
  15. package/scss/dist/zeus.min.css.map +1 -0
  16. package/scss/foundation/core/_api.scss +10 -0
  17. package/scss/foundation/core/_design.scss +33 -0
  18. package/scss/foundation/core/_engine.scss +18 -0
  19. package/scss/foundation/core/buttons/variants.scss +72 -0
  20. package/scss/foundation/core/design/_design-system.scss +41 -0
  21. package/scss/foundation/core/design/_validate.scss +114 -0
  22. package/scss/foundation/core/design/borders/border-line.scss +29 -0
  23. package/scss/foundation/core/design/borders/border-radius.scss +31 -0
  24. package/scss/foundation/core/design/buttons/sizes.scss +32 -0
  25. package/scss/foundation/core/design/colors/_color-derivation.scss +80 -0
  26. package/scss/foundation/core/design/colors/base-colors.scss +31 -0
  27. package/scss/foundation/core/design/colors/semantic-colors.scss +130 -0
  28. package/scss/foundation/core/design/core/basic.scss +40 -0
  29. package/scss/foundation/core/design/dimensions/sizes.scss +29 -0
  30. package/scss/foundation/core/design/dimensions/spaces.scss +42 -0
  31. package/scss/foundation/core/design/effects/_z-index.scss +30 -0
  32. package/scss/foundation/core/design/effects/shadows.scss +65 -0
  33. package/scss/foundation/core/design/layout/grid.scss +86 -0
  34. package/scss/foundation/core/design/typography/typography.scss +435 -0
  35. package/scss/foundation/core/engine/_fluid-core.scss +54 -0
  36. package/scss/foundation/core/engine/animations.scss +91 -0
  37. package/scss/foundation/core/engine/buttons.scss +226 -0
  38. package/scss/foundation/core/engine/color-api.scss +37 -0
  39. package/scss/foundation/core/engine/helpers.scss +39 -0
  40. package/scss/foundation/core/engine/layout.scss +156 -0
  41. package/scss/foundation/core/engine/responsive.scss +67 -0
  42. package/scss/foundation/core/engine/shadows.scss +186 -0
  43. package/scss/foundation/core/engine/shortcuts.scss +30 -0
  44. package/scss/foundation/core/engine/sizing.scss +49 -0
  45. package/scss/foundation/core/engine/theme-builder.scss +83 -0
  46. package/scss/foundation/core/engine/typographics.scss +44 -0
  47. package/scss/foundation/core/engine/typography-calc.scss +71 -0
  48. package/scss/foundation/foundation.scss +29 -0
  49. package/scss/foundation/views/_render.scss +13 -0
  50. package/scss/foundation/views/components/_alert.scss +103 -0
  51. package/scss/foundation/views/components/_avatar.scss +84 -0
  52. package/scss/foundation/views/components/_badge.scss +100 -0
  53. package/scss/foundation/views/components/_breadcrumb.scss +70 -0
  54. package/scss/foundation/views/components/_card.scss +117 -0
  55. package/scss/foundation/views/components/_dropdown.scss +123 -0
  56. package/scss/foundation/views/components/_form.scss +209 -0
  57. package/scss/foundation/views/components/_index.scss +20 -0
  58. package/scss/foundation/views/components/_modal.scss +138 -0
  59. package/scss/foundation/views/components/_pagination.scss +82 -0
  60. package/scss/foundation/views/components/_skeleton.scss +69 -0
  61. package/scss/foundation/views/components/_table.scss +94 -0
  62. package/scss/foundation/views/components/_tabs.scss +96 -0
  63. package/scss/foundation/views/components/_toast.scss +139 -0
  64. package/scss/foundation/views/components/_tooltip.scss +100 -0
  65. package/scss/foundation/views/patterns/_hero.scss +121 -0
  66. package/scss/foundation/views/patterns/_index.scss +8 -0
  67. package/scss/foundation/views/patterns/_sidebar-layout.scss +83 -0
  68. package/scss/foundation/views/render/_layer-order.scss +11 -0
  69. package/scss/foundation/views/render/classes/_animations.scss +233 -0
  70. package/scss/foundation/views/render/classes/_aspect-ratio.scss +17 -0
  71. package/scss/foundation/views/render/classes/_borders.scss +31 -0
  72. package/scss/foundation/views/render/classes/_buttons.scss +40 -0
  73. package/scss/foundation/views/render/classes/_colors.scss +83 -0
  74. package/scss/foundation/views/render/classes/_compounds.scss +103 -0
  75. package/scss/foundation/views/render/classes/_containers.scss +20 -0
  76. package/scss/foundation/views/render/classes/_misc-utils.scss +51 -0
  77. package/scss/foundation/views/render/classes/_position.scss +56 -0
  78. package/scss/foundation/views/render/classes/_sections.scss +30 -0
  79. package/scss/foundation/views/render/classes/_shadows.scss +198 -0
  80. package/scss/foundation/views/render/classes/_sizes.scss +39 -0
  81. package/scss/foundation/views/render/classes/_sizing-utils.scss +53 -0
  82. package/scss/foundation/views/render/classes/_spacing.scss +91 -0
  83. package/scss/foundation/views/render/classes/_state-variants.scss +47 -0
  84. package/scss/foundation/views/render/classes/_typography.scss +32 -0
  85. package/scss/foundation/views/render/classes/_utilities.scss +103 -0
  86. package/scss/foundation/views/render/classes/_z-index.scss +22 -0
  87. package/scss/foundation/views/render/classes/flexbox.scss +56 -0
  88. package/scss/foundation/views/render/classes/grid.scss +195 -0
  89. package/scss/foundation/views/render/classes.scss +116 -0
  90. package/scss/foundation/views/render/html-body.scss +54 -0
  91. package/scss/foundation/views/render/property-registration.scss +77 -0
  92. package/scss/foundation/views/render/reset.scss +147 -0
  93. package/scss/foundation/views/render/root-generator.scss +166 -0
  94. package/scss/foundation/views/render/root.scss +19 -0
  95. package/scss/foundation/views/render/typography.scss +129 -0
  96. package/scss/llms.txt +247 -0
  97. package/scss/package.json +89 -0
  98. package/scss/scripts/gen-cheatsheet.mjs +178 -0
  99. package/scss/scripts/gen-tokens.mjs +91 -0
  100. package/scss/scripts/test-compile.mjs +474 -0
  101. package/scss/zeus.config.scss +99 -0
  102. package/scss/zeus.customize.scss +246 -0
  103. package/scss/zeus.scss +17 -0
  104. package/scss/zeus.token.sets.example.scss +176 -0
  105. package/scss/zeus.tokens.json +687 -0
package/README.md ADDED
@@ -0,0 +1,81 @@
1
+ # ⚡ Zeus CSS
2
+
3
+ A Premium, Zero-Emission, Fluid-Scaling CSS Framework based on Sass SCSS Engine.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install zeus-css
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ### 1. Import Global Foundation
14
+ Import the pre-compiled global foundation (Reset, Variable pipeline, utility classes) in your application entrypoint (e.g., `layout.tsx`, `_app.tsx` or `main.tsx`):
15
+
16
+ ```typescript
17
+ import 'zeus-css/dist/zeus.css';
18
+ ```
19
+
20
+ ### 2. Configure Your Custom Theme (Optional)
21
+ Generate the configuration file by running the init command in your project root:
22
+
23
+ ```bash
24
+ npx zeus-css init
25
+ ```
26
+
27
+ This will create a `zeus.config.scss` in your project. You can override colors, spacing, fonts, and more using OKLCH:
28
+
29
+ ```scss
30
+ // zeus.config.scss
31
+ $zeus-colors: (
32
+ "primary": oklch(57.9% 0.232 259.6),
33
+ "secondary": oklch(74.7% 0.174 60.6)
34
+ ) !default;
35
+
36
+ @forward "zeus-css/scss/zeus.scss";
37
+ ```
38
+
39
+ ### 3. Use CSS Variables in CSS Modules
40
+ Thanks to the framework's token generation, you can natively use the fluid CSS variables everywhere:
41
+
42
+ ```scss
43
+ @use "zeus-css/scss/zeus.scss" as *;
44
+
45
+ .card {
46
+ padding: var(--space-md) var(--space-lg);
47
+ background: var(--color-background);
48
+ border-radius: var(--border-radius-md);
49
+
50
+ /* Use the engine mixins for custom breakpoints */
51
+ @include screen-above(lg) {
52
+ border-radius: var(--border-radius-lg);
53
+ }
54
+ }
55
+ ```
56
+
57
+ ## ⚠️ Optimizing for Production (Crucial)
58
+ Zeus CSS ships with thousands of utility classes to give you absolute freedom during development. For production builds, you **must** use PurgeCSS to remove unused selectors and keep your CSS payload tiny.
59
+
60
+ Example `postcss.config.js` for Next.js / Vite:
61
+ ```javascript
62
+ module.exports = {
63
+ plugins: [
64
+ ['@fullhuman/postcss-purgecss', {
65
+ content: [
66
+ './pages/**/*.{js,jsx,ts,tsx}',
67
+ './components/**/*.{js,jsx,ts,tsx}',
68
+ './src/**/*.{js,jsx,ts,tsx}'
69
+ ],
70
+ defaultExtractor: content => content.match(/[\w-/:]+(?<!:)/g) || []
71
+ }]
72
+ ]
73
+ }
74
+ ```
75
+
76
+ ## Features
77
+
78
+ - **Fluid Linear Interpolation Engine**: Mathematical clamp generator for automatic responsive font sizes and spacing without media-query soup.
79
+ - **Recursive Token Pipeline**: Automatically traverses and transforms complex Sass maps into CSS Custom Properties.
80
+ - **CSS @property Type Safety**: Native browser-level type-safety for key tokens.
81
+ - **Zero-Emission SCSS API**: Uses Sass `@forward` to expose core design tools without emitting a single duplicate byte of CSS.
package/bin/init.js ADDED
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env node
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+
5
+ const projectRoot = process.cwd();
6
+ const configTargetPath = path.join(projectRoot, 'zeus.config.scss');
7
+ const customizeTargetPath = path.join(projectRoot, 'zeus.customize.scss');
8
+ const bridgeTargetPath = path.join(projectRoot, 'zeus.scss');
9
+
10
+ const configSource = path.join(__dirname, '..', 'scss', 'zeus.config.scss');
11
+ const customizeSource = path.join(__dirname, '..', 'scss', 'zeus.customize.scss');
12
+
13
+ console.log('⚡ Initializing Zeus CSS Configuration (Eject Mode)...');
14
+
15
+ if (fs.existsSync(configTargetPath) || fs.existsSync(bridgeTargetPath)) {
16
+ console.log('⚠️ Zeus config files already exist in this directory. Skipping.');
17
+ process.exit(0);
18
+ }
19
+
20
+ try {
21
+ // 1. Copy original zeus.config.scss and zeus.customize.scss
22
+ fs.copyFileSync(configSource, configTargetPath);
23
+ fs.copyFileSync(customizeSource, customizeTargetPath);
24
+ console.log('✅ Copied zeus.config.scss');
25
+ console.log('✅ Copied zeus.customize.scss');
26
+
27
+ // 2. Generate the Bridge file
28
+ const bridgeContent = `// ╔══════════════════════════════════════════════════════════════╗
29
+ // ║ ⚡ Zeus CSS — Bridge Entry Point ║
30
+ // ║ Auto-generated by zeus-css init ║
31
+ // ╚══════════════════════════════════════════════════════════════╝
32
+ // This file injects your local configurations into the framework!
33
+ // Do not edit this file unless you add/remove configuration keys.
34
+
35
+ @use "./zeus.config.scss" as localConfig;
36
+ @use "./zeus.customize.scss" as localCustomize;
37
+
38
+ @use "zeus-css/scss/zeus.scss" with (
39
+ // 1. Config Variables
40
+ $zeus-enable-responsive-classes: localConfig.$zeus-enable-responsive-classes,
41
+ $zeus-enable-animation-classes: localConfig.$zeus-enable-animation-classes,
42
+ $zeus-enable-grid-system: localConfig.$zeus-enable-grid-system,
43
+ $zeus-enable-shadow-classes: localConfig.$zeus-enable-shadow-classes,
44
+ $zeus-enable-color-utilities: localConfig.$zeus-enable-color-utilities,
45
+ $zeus-enable-property-registration: localConfig.$zeus-enable-property-registration,
46
+ $zeus-use-prefix: localConfig.$zeus-use-prefix,
47
+ $zeus-class-prefix: localConfig.$zeus-class-prefix,
48
+ $zeus-version: localConfig.$zeus-version,
49
+ $zeus-container-bounds: localConfig.$zeus-container-bounds,
50
+ $zeus-root-font-size: localConfig.$zeus-root-font-size,
51
+ $zeus-focus-ring: localConfig.$zeus-focus-ring,
52
+ $zeus-outer-max-width: localConfig.$zeus-outer-max-width,
53
+ $zeus-breakpoints: localConfig.$zeus-breakpoints,
54
+ $zeus-viewports: localConfig.$zeus-viewports,
55
+ $zeus-viewport-gutter: localConfig.$zeus-viewport-gutter,
56
+ $zeus-outer-padding: localConfig.$zeus-outer-padding,
57
+ $zeus-column-gaps: localConfig.$zeus-column-gaps,
58
+
59
+ // 2. Customize Variables (Tokens)
60
+ $zeus-colors: localCustomize.$zeus-colors,
61
+ $zeus-font-family: localCustomize.$zeus-font-family,
62
+ $zeus-typography: localCustomize.$zeus-typography,
63
+ $zeus-space: localCustomize.$zeus-space,
64
+ $zeus-border-radius: localCustomize.$zeus-border-radius,
65
+ $zeus-border-line: localCustomize.$zeus-border-line,
66
+ $zeus-icon-size: localCustomize.$zeus-icon-size,
67
+ $zeus-shadows: localCustomize.$zeus-shadows,
68
+ $zeus-button-sizes: localCustomize.$zeus-button-sizes,
69
+ $zeus-base-colors: localCustomize.$zeus-base-colors,
70
+ $zeus-z-index: localCustomize.$zeus-z-index,
71
+ $zeus-custom-vars: localCustomize.$zeus-custom-vars,
72
+ $zeus-button-variants: localCustomize.$zeus-button-variants
73
+ );
74
+
75
+ // Expose the configured framework so you can import it elsewhere
76
+ @forward "zeus-css/scss/zeus.scss";
77
+ `;
78
+
79
+ fs.writeFileSync(bridgeTargetPath, bridgeContent, 'utf8');
80
+ console.log('✅ Created zeus.scss (Bridge) successfully!');
81
+
82
+ console.log('\n🚀 Zeus CSS is fully ejected and ready!');
83
+ console.log('Next steps:');
84
+ console.log('1. Import your local bridge in your SCSS modules:');
85
+ console.log(' @use "./zeus.scss" as *;');
86
+ console.log('2. Edit zeus.config.scss or zeus.customize.scss to update the framework globally.');
87
+ } catch (e) {
88
+ console.error('❌ Failed to extract Zeus config files', e);
89
+ }