zeus-css 1.0.2 → 1.0.4

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/package.json CHANGED
@@ -1,13 +1,24 @@
1
1
  {
2
2
  "name": "zeus-css",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "⚡ A Premium, Zero-Emission, Fluid-Scaling CSS Framework based on Sass SCSS Engine",
5
5
  "author": "Stavros Lazaris",
6
6
  "license": "MIT",
7
+ "homepage": "https://www.npmjs.com/package/zeus-css",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/zeus-css/zeus-css-framework.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/zeus-css/zeus-css-framework/issues"
14
+ },
7
15
  "main": "./dist/zeus.css",
8
16
  "style": "./dist/zeus.css",
9
17
  "bin": {
10
- "zeus-css": "bin/init.js"
18
+ "zeus-css": "./bin/init.js"
19
+ },
20
+ "scripts": {
21
+ "postinstall": "node ./bin/postinstall.js"
11
22
  },
12
23
  "exports": {
13
24
  ".": {
@@ -26,27 +37,11 @@
26
37
  "files": [
27
38
  "scss",
28
39
  "dist",
29
- "bin",
30
- "LICENSE",
31
- "README.md",
32
- "CHANGELOG.md",
33
- "API.md",
34
- "cheatsheet.md",
35
- "llms.txt"
40
+ "bin"
36
41
  ],
37
- "engines": {
38
- "node": ">=16"
39
- },
40
- "scripts": {
41
- "build:css": "sass scss/foundation/foundation.scss dist/zeus.css --style=expanded && sass scss/foundation/foundation.scss dist/zeus.min.css --style=compressed",
42
- "prepack": "npm run build:css"
43
- },
44
42
  "peerDependencies": {
45
43
  "sass": "^1.60.0"
46
44
  },
47
- "devDependencies": {
48
- "sass": "^1.99.0"
49
- },
50
45
  "keywords": [
51
46
  "zeus",
52
47
  "css",
@@ -57,4 +52,4 @@
57
52
  "design-tokens",
58
53
  "type-safe"
59
54
  ]
60
- }
55
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "extends": "stylelint-config-standard-scss",
3
+ "ignoreFiles": ["zeus.token.sets.example.scss"],
4
+ "rules": {
5
+ "no-empty-source": null,
6
+ "scss/at-rule-no-unknown": true,
7
+
8
+ "selector-class-pattern": null,
9
+ "custom-property-pattern": null,
10
+ "scss/dollar-variable-pattern": null,
11
+ "scss/at-function-pattern": null,
12
+
13
+ "alpha-value-notation": null,
14
+ "color-function-notation": null,
15
+ "hue-degree-notation": null,
16
+ "value-keyword-case": null,
17
+
18
+ "no-descending-specificity": null,
19
+ "declaration-block-single-line-max-declarations": null,
20
+ "shorthand-property-no-redundant-values": null,
21
+ "font-family-name-quotes": null,
22
+ "property-no-vendor-prefix": null,
23
+
24
+ "scss/at-mixin-argumentless-call-parentheses": null,
25
+ "scss/at-mixin-pattern": null,
26
+ "scss/at-if-closing-brace-newline-after": null,
27
+ "scss/at-if-closing-brace-space-after": null,
28
+ "scss/at-if-no-null": null,
29
+ "scss/at-else-empty-line-before": null,
30
+ "scss/double-slash-comment-empty-line-before": null,
31
+ "scss/double-slash-comment-whitespace-inside": null,
32
+ "scss/dollar-variable-empty-line-before": null,
33
+ "scss/dollar-variable-colon-space-after": null,
34
+ "scss/operator-no-unspaced": null,
35
+ "declaration-empty-line-before": null,
36
+ "rule-empty-line-before": null,
37
+ "at-rule-empty-line-before": null,
38
+ "comment-empty-line-before": null,
39
+ "scss/comment-no-empty": null
40
+ }
41
+ }
@@ -6,10 +6,8 @@ documented in [`API.md`](API.md).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
- Working toward the `1.0.0` tag — not yet published (no npm release, no git
10
- tag exists as of this entry). [`API.md`](API.md) documents the intended
11
- public API surface; semver will become binding once `1.0.0` is actually
12
- published, not before.
9
+ Published to npm as `zeus-css`. [`API.md`](API.md) documents the public API
10
+ surface this changelog's semver contract is now binding against.
13
11
 
14
12
  ### Removed (since first written)
15
13
  - **Dark mode**, entirely — `$zeus-dark-mode-strategy` and
package/scss/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Stavros Kosmas Lazaris
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/scss/README.md ADDED
@@ -0,0 +1,160 @@
1
+ # ⚡ Zeus CSS
2
+
3
+ Zeus is a fluid-first SCSS design system. Every size, space, and font size scales
4
+ smoothly between a mobile floor and a desktop ceiling using native CSS
5
+ `clamp()` driven by container-query units (`cqi`) — no breakpoint jumps, no
6
+ `calc()` guesswork. Colors are OKLCH-based semantic tokens with automatic
7
+ light/dark derivation. The whole system is expressed as plain Sass maps, which
8
+ makes it easy for both humans and AI coding assistants to read, extend, and
9
+ reason about.
10
+
11
+ - **Fluid by default** — `clamp()` scaling for spacing, type, radii, borders, icons.
12
+ - **Semantic OKLCH tokens** — define 5 base colors, get light/dark/muted/border variants derived automatically.
13
+ - **Cascade layers** — `reset → tokens → base → layout → components → utilities`, so utility classes always win without `!important`.
14
+ - **Zero-emission module entry** — `@use "zeus" as *` in a component's `.module.scss` gives you every mixin/function with **no** leaked CSS.
15
+ - **Config-first** — every token lives in one file you can override; nothing is hardcoded past that boundary.
16
+
17
+ ## Browser support
18
+
19
+ Zeus targets evergreen browsers only — there is no fallback path for the core
20
+ and none is planned. There is no IE11, no legacy Safari, and no polyfill
21
+ story: if you need to support browsers older than ~2023, Zeus is not the
22
+ right choice.
23
+
24
+ **Required (the whole framework depends on these).** Cascade layers
25
+ (`@layer`), container query units (`cqi`, `container-type`), `@property`,
26
+ relative color syntax (`oklch(from …)`), `:has()`, `color-mix()`. All are
27
+ Baseline "Widely available" in current Chrome/Edge, Firefox, and Safari.
28
+
29
+ **Progressive enhancement (a few components use these and degrade if
30
+ absent).** These are *not* uniformly Baseline — check current support for
31
+ your targets rather than assuming:
32
+
33
+ | Feature | Used by | Without it you get |
34
+ | --- | --- | --- |
35
+ | `popover` attribute | `.z-tooltip`, `.z-dropdown`, `.z-toast-region` | No top-layer rendering or light-dismiss — these three need it to function; verify support before relying on them |
36
+ | CSS anchor positioning (`position-anchor`, `position-area`) | `.z-tooltip`, `.z-dropdown` | Still a fully working popover, just placed by the UA default instead of anchored to its trigger |
37
+ | `@starting-style`, `transition-behavior: allow-discrete` | `.z-tooltip`, `.z-dropdown` enter/exit | Instant show/hide instead of a fade — purely cosmetic |
38
+
39
+ Anchor positioning has the narrowest support of the three (Chromium shipped
40
+ it well ahead of the other engines). The components are written so its
41
+ absence costs placement, never functionality.
42
+
43
+ ## Install
44
+
45
+ ```bash
46
+ npm install zeus-css
47
+ ```
48
+
49
+ ## Two entry points
50
+
51
+ Zeus ships two distinct ways to consume it — pick the right one per file.
52
+
53
+ ### 1. Global stylesheet — `foundation`
54
+
55
+ Import **once**, at your app root. Emits the full compiled CSS: reset, design
56
+ tokens as CSS custom properties, typography base, and every utility class
57
+ (`.padding-lg`, `.text-h1`, `.grid-cols-3`, …).
58
+
59
+ ```scss
60
+ // app/globals.scss
61
+ @use "zeus-css/foundation";
62
+ ```
63
+
64
+ ### 2. Component modules — `zeus`
65
+
66
+ Import in **every** `.module.scss` component file. Exposes all mixins and
67
+ functions (`@include padding(...)`, `@include text(...)`, `color(...)`, …) but
68
+ emits **zero** CSS of its own — only the rules you actually write.
69
+
70
+ ```scss
71
+ // Button.module.scss
72
+ @use "zeus-css/zeus" as *;
73
+
74
+ .button {
75
+ @include padding("md", "x");
76
+ @include text("button");
77
+ @include border-radius("sm");
78
+ background: color("primary");
79
+ color: var(--color-text-inverse);
80
+
81
+ &:hover {
82
+ background: color("primary-dark");
83
+ }
84
+ }
85
+ ```
86
+
87
+ ## 5-minute quickstart
88
+
89
+ ```scss
90
+ // 1. app/globals.scss — load the framework once
91
+ @use "zeus-css/foundation";
92
+ ```
93
+
94
+ ```tsx
95
+ // 2. app/layout.tsx — import the global stylesheet
96
+ import "./globals.scss";
97
+ ```
98
+
99
+ ```scss
100
+ // 3. components/Card.module.scss — build a component with the API
101
+ @use "zeus-css/zeus" as *;
102
+
103
+ .card {
104
+ @include padding("lg");
105
+ @include border-radius("md");
106
+ @include card-shadow();
107
+ background: var(--color-surface);
108
+ border: var(--border-line-xs) solid var(--color-border);
109
+ }
110
+
111
+ .title {
112
+ @include text("h4");
113
+ color: var(--color-text);
114
+ }
115
+ ```
116
+
117
+ ```tsx
118
+ // components/Card.tsx
119
+ import styles from "./Card.module.scss";
120
+
121
+ export function Card({ children }: { children: React.ReactNode }) {
122
+ return <div className={styles.card}>{children}</div>;
123
+ }
124
+ ```
125
+
126
+ That's it — no build config, no PostCSS plugin. Zeus compiles with any
127
+ standard Dart Sass pipeline (Next.js, Vite, webpack `sass-loader`, or the
128
+ `sass` CLI directly).
129
+
130
+ ## Theming your brand
131
+
132
+ Every visual token — colors, typography, spacing, radii, shadows, breakpoints
133
+ — lives in **one file**: `zeus.customize.scss`. Copy the keys you want to
134
+ override from `zeus.token.sets.example.scss` (a reference-only file, never
135
+ imported) into your own `zeus.customize.scss` before the `@use` chain resolves.
136
+
137
+ ```scss
138
+ // zeus.customize.scss
139
+ $zeus-colors: (
140
+ "primary": oklch(60% 0.2 250),
141
+ "primary-light": oklch(75% 0.15 250),
142
+ "primary-dark": oklch(45% 0.25 250),
143
+ // ...
144
+ );
145
+ ```
146
+
147
+ Layout/engine behavior (prefixing, responsive strategy, fluid viewport bounds)
148
+ lives in `zeus.config.scss` — separate from design tokens on purpose, so
149
+ brand changes and structural changes never collide in the same diff.
150
+
151
+ ## Learn more
152
+
153
+ - `zeus.token.sets.example.scss` — full reference of every default token value.
154
+ - `CHANGELOG.md` — what changed between versions.
155
+ - The framework's docs site (component gallery, `/tokens-reference`, full API
156
+ reference) already exists in this monorepo — see `API.md` §6.
157
+
158
+ ## License
159
+
160
+ MIT © Stavros Kosmas Lazaris