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
@@ -0,0 +1,166 @@
1
+ // ╔══════════════════════════════════════════════════════════════╗
2
+ // ║ ⚡ Zeus CSS — Root Generator ║
3
+ // ║ ║
4
+ // ║ Core styles and definitions for root generator. ║
5
+ // ╚══════════════════════════════════════════════════════════════╝
6
+
7
+ @use "sass:map";
8
+ @use "sass:meta";
9
+ @use "sass:list";
10
+ @use "../../../zeus.config" as config;
11
+ @use "../../core/design" as *;
12
+ @use "../../core/engine" as *;
13
+ @use "../../core/design/typography/typography" as typo;
14
+
15
+ // ╔══════════════════════════════════════════════════════════════╗
16
+ // ║ ⚡ Zeus Root Generator ║
17
+ // ║ ║
18
+ // ║ Single mixin generates ALL CSS custom properties. ║
19
+ // ╚══════════════════════════════════════════════════════════════╝
20
+
21
+ // ╔══════════════════════════════════════════════════════════════╗
22
+ // ║ ⚡ Zeus Token Pipeline Engine ║
23
+ // ║ ║
24
+ // ║ A functional pipeline that resolves, transforms, and ║
25
+ // ║ emits CSS custom properties from a master dictionary. ║
26
+ // ╚══════════════════════════════════════════════════════════════╝
27
+
28
+ // --- Stage 1: Resolver (Categorize the token) ---
29
+ @function zeus-resolve-type($value) {
30
+ @if meta.type-of($value) !="map" {
31
+ @return "atomic";
32
+ }
33
+
34
+ $has-floor: map.has-key($value, "floor");
35
+ $has-ceil: map.has-key($value, "ceil");
36
+ @if $has-floor and $has-ceil {
37
+ @return "fluid-dimension";
38
+ }
39
+ // 'floor'/'ceil' are reserved fluid-dimension keys — a map with only one of
40
+ // them is a malformed override (e.g. a missing 'ceil'), not a legitimately
41
+ // named nested map. Error loudly instead of silently misfiling it as a
42
+ // nested map, which used to emit a bogus "{name}-floor" var and drop the
43
+ // real one entirely.
44
+ @if $has-floor or $has-ceil {
45
+ @error "[Zeus] Malformed fluid-dimension token: found only one of 'floor'/'ceil'. Both are required. Got keys: #{map.keys($value)}.";
46
+ }
47
+
48
+ $has-weight: map.has-key($value, "weight");
49
+ $has-lh: map.has-key($value, "lh");
50
+ @if $has-weight and $has-lh {
51
+ @return "typography-set";
52
+ }
53
+ @if $has-weight or $has-lh {
54
+ @error "[Zeus] Malformed typography-set token: found only one of 'weight'/'lh'. Both are required. Got keys: #{map.keys($value)}.";
55
+ }
56
+
57
+ @return "nested-map";
58
+ }
59
+
60
+ // --- Stage 2: Transformer (Calculate the final value) ---
61
+ @function zeus-transform-value($type, $value, $key: null) {
62
+ @if $type =="fluid-dimension" {
63
+ @return useclamp-sizing(map.get($value, "floor"), map.get($value, "ceil"));
64
+ }
65
+
66
+ @if $type =="typography-set" {
67
+ $family-key: map.get($value, "family");
68
+ @if not map.has-key(typo.$font-family, $family-key) {
69
+ @error "[Zeus] Typography token '#{$key}' references unknown font family '#{$family-key}'. Available: #{map.keys(typo.$font-family)}.";
70
+ }
71
+ $font-family-val: map.get(typo.$font-family, $family-key);
72
+ @return #{map.get($value, "weight")} #{useclamp-typography($key)} / #{map.get($value, "lh")} #{$font-family-val};
73
+ }
74
+
75
+ @return $value;
76
+ }
77
+
78
+ // --- Stage 3: Emitter (Generate the CSS Variable) ---
79
+ @mixin zeus-emit-variable($name, $value) {
80
+ @if $value !=null {
81
+ #{$name}: #{$value};
82
+ }
83
+ }
84
+
85
+ // --- Stage 4: Orchestrator (Recursive traversal) ---
86
+ @mixin zeus-pipeline-orchestrator($dictionary, $prefix: "--") {
87
+ @each $key, $value in $dictionary {
88
+ $type: zeus-resolve-type($value);
89
+
90
+ // Dynamic naming logic (removes 'default' suffixes for cleaner aliases)
91
+ $current-name: null;
92
+ @if $key == "default" {
93
+ $current-name: $prefix;
94
+ } @else {
95
+ @if $prefix == "--" {
96
+ $current-name: "#{$prefix}#{$key}";
97
+ } @else {
98
+ $current-name: "#{$prefix}-#{$key}";
99
+ }
100
+ }
101
+
102
+ @if $type =="nested-map" {
103
+ @include zeus-pipeline-orchestrator($value, $current-name);
104
+ }
105
+
106
+ @else {
107
+ $transformed-value: zeus-transform-value($type, $value, $key);
108
+ @include zeus-emit-variable($current-name, $transformed-value);
109
+ }
110
+ }
111
+ }
112
+
113
+ // Ascending-by-pixel-value ordering of a breakpoint map's keys. The custom-vars
114
+ // loop below assumes this order for a correct mobile-first cascade — relying on
115
+ // $zeus-breakpoints' own map-literal insertion order was fragile: an override
116
+ // that appends a new key out of numeric order (e.g. a "tiny" breakpoint typed
117
+ // after "xxl") would silently cascade last instead of where its pixel value
118
+ // puts it. Small, fixed-size map (breakpoint counts are single digits), sorted
119
+ // once per zeus-root-vars() call — negligible compile-time cost.
120
+ @function _zeus-sorted-breakpoint-keys($breakpoints-map) {
121
+ $keys: map.keys($breakpoints-map);
122
+ $n: list.length($keys);
123
+ @for $i from 1 through $n - 1 {
124
+ @for $j from 1 through $n - $i {
125
+ $a: list.nth($keys, $j);
126
+ $b: list.nth($keys, $j + 1);
127
+ @if map.get($breakpoints-map, $a) > map.get($breakpoints-map, $b) {
128
+ $keys: list.set-nth($keys, $j, $b);
129
+ $keys: list.set-nth($keys, $j + 1, $a);
130
+ }
131
+ }
132
+ }
133
+ @return $keys;
134
+ }
135
+
136
+ // --- Public API ---
137
+ @mixin zeus-root-vars() {
138
+
139
+ // Dynamic Responsive Custom Variables
140
+ @if meta.type-of(config.$zeus-custom-vars) == "map" {
141
+ @each $var-name, $breakpoints-map in config.$zeus-custom-vars {
142
+ $is-first: true;
143
+ // Loop in ascending pixel order (not map-literal order) to guarantee a
144
+ // correct mobile-first cascade regardless of how the breakpoint override
145
+ // map was authored.
146
+ @each $bp in _zeus-sorted-breakpoint-keys(config.$zeus-breakpoints) {
147
+ @if map.has-key($breakpoints-map, $bp) {
148
+ $val: map.get($breakpoints-map, $bp);
149
+
150
+ // The lowest defined breakpoint is treated as the base value (no media query)
151
+ @if $is-first {
152
+ --#{$var-name}: #{$val};
153
+ $is-first: false;
154
+ } @else {
155
+ @include screen-above($bp) {
156
+ --#{$var-name}: #{$val};
157
+ }
158
+ }
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ // Execute the automated token pipeline
165
+ @include zeus-pipeline-orchestrator($zeus-design-system);
166
+ }
@@ -0,0 +1,19 @@
1
+ // ╔══════════════════════════════════════════════════════════════╗
2
+ // ║ ⚡ Zeus CSS — Root ║
3
+ // ║ ║
4
+ // ║ Core styles and definitions for root. ║
5
+ // ╚══════════════════════════════════════════════════════════════╝
6
+
7
+ @use "../../../zeus.config" as config;
8
+ @use "./root-generator" as *;
9
+
10
+ @use "../../core/design/colors/semantic-colors" as semantic;
11
+
12
+ @layer tokens {
13
+ :root {
14
+ @include zeus-root-vars();
15
+ }
16
+
17
+ // Emits default semantic color tokens under :root
18
+ @include semantic.generate-semantic-colors();
19
+ }
@@ -0,0 +1,129 @@
1
+ // ╔══════════════════════════════════════════════════════════════╗
2
+ // ║ ⚡ Zeus CSS — Typography ║
3
+ // ║ ║
4
+ // ║ Core styles and definitions for typography. ║
5
+ // ╚══════════════════════════════════════════════════════════════╝
6
+
7
+ @use "sass:map";
8
+ @use "../../core/engine" as *;
9
+ @use "../../core/design" as *;
10
+
11
+ @layer base {
12
+ /**
13
+ * Zeus CSS Typography
14
+ * Core typographic styles and text element normalization
15
+ */
16
+
17
+ // Anchor Elements and Hyperlinks
18
+ :where(a) {
19
+ outline: none;
20
+ text-decoration-thickness: 1px;
21
+ text-underline-offset: 0.2em;
22
+
23
+ // &:hover {
24
+ // color: initial;
25
+ // }
26
+
27
+ &:focus-visible {
28
+ outline: $focus-ring;
29
+ outline-offset: 2px;
30
+ }
31
+
32
+ // &:active {
33
+ // opacity: 0.8;
34
+ // }
35
+ }
36
+
37
+ // Initialisms and Shortened Terms
38
+ :where(abbr[title]) {
39
+ text-decoration: underline dotted;
40
+ cursor: help;
41
+ }
42
+
43
+ // Bulleted & Ordered Collections
44
+ // Plain <ul>/<ol> keep native browser bullets, numbering and indentation —
45
+ // this preserves list semantics for assistive tech (VoiceOver/Safari drop the
46
+ // list role when list-style is stripped without an explicit ARIA role).
47
+ // Decorative/navigational lists opt out via [role="list"] — see reset.scss.
48
+
49
+ // Standard Prose Blocks
50
+ :where(p) {
51
+ margin-top: var(--space-xl);
52
+ margin-bottom: var(--space-xl);
53
+ }
54
+
55
+ p:first-child {
56
+ margin-top: 0;
57
+ }
58
+
59
+ p:last-child {
60
+ margin-bottom: 0;
61
+ }
62
+
63
+ // Text emphasis
64
+ :where(strong, b) {
65
+ font-weight: 600;
66
+ }
67
+
68
+ :where(em, i) {
69
+ font-style: italic;
70
+ }
71
+
72
+ // Code elements
73
+ :where(code) {
74
+ padding: 0.125em 0.375em;
75
+ border-radius: 0.25em;
76
+ background: var(--color-surface-subtle);
77
+ font-size: 0.9em;
78
+ }
79
+
80
+ :where(pre) {
81
+ overflow-x: auto;
82
+
83
+ code {
84
+ padding: 0;
85
+ background: none;
86
+ }
87
+ }
88
+
89
+ // Quotes
90
+ :where(blockquote) {
91
+ padding-inline-start: var(--space-lg);
92
+ border-inline-start: 3px solid var(--color-border);
93
+ font-style: italic;
94
+ }
95
+
96
+ // Mark/Highlight
97
+ :where(mark) {
98
+ padding: 0.125em 0.25em;
99
+ background: var(--color-warning-subtle);
100
+ color: inherit;
101
+ }
102
+
103
+ // Subscript and Superscript baseline offsets
104
+ :where(sub, sup) {
105
+ font-size: 0.75em;
106
+ line-height: 0;
107
+ position: relative;
108
+ vertical-align: baseline;
109
+ }
110
+
111
+ :where(sub) {
112
+ bottom: -0.25em;
113
+ }
114
+
115
+ :where(sup) {
116
+ top: -0.5em;
117
+ }
118
+
119
+ // Small text
120
+ :where(small) {
121
+ font-size: 0.875em;
122
+ }
123
+
124
+ // Text selection
125
+ ::selection {
126
+ background: var(--color-primary-light);
127
+ color: var(--color-text-inverse);
128
+ }
129
+ }
package/scss/llms.txt ADDED
@@ -0,0 +1,247 @@
1
+ # Zeus CSS — LLM Reference
2
+
3
+ Auto-generated from source (scripts/gen-cheatsheet.mjs). Two entry points:
4
+ @use "zeus" as *; — mixins/functions only, zero CSS emitted
5
+ @use "foundation"; — full compiled CSS, import once at app root
6
+
7
+ ## Mixins & Functions
8
+
9
+ mixin fade-in($duration: 0.3s, $delay: 0s, $timing: ease-in-out) — Usage: @include fade-in(0.5s, 0.2s); [foundation/core/engine/animations.scss]
10
+ mixin slide-in($direction: bottom, $duration: 0.3s, $delay: 0s, $timing: ease-out) — Usage: @include slide-in(left, 0.4s); [foundation/core/engine/animations.scss]
11
+ mixin scale($scale: 1.05, $duration: 0.3s, $timing: ease-in-out) — Usage: @include scale(1.1, 0.3s); [foundation/core/engine/animations.scss]
12
+ mixin bounce($duration: 0.8s, $iteration: 1, $delay: 0s) — Usage: @include bounce(0.6s, infinite); [foundation/core/engine/animations.scss]
13
+ mixin pulse($duration: 1s, $iteration: infinite) — Usage: @include pulse(1.5s, infinite); [foundation/core/engine/animations.scss]
14
+ mixin rotate($degrees: 360deg, $duration: 1s, $timing: linear, $iteration: 1) — Usage: @include rotate(360deg, 2s, linear, infinite); [foundation/core/engine/animations.scss]
15
+ mixin button-base-reset() [foundation/core/engine/buttons.scss]
16
+ mixin button-structure() [foundation/core/engine/buttons.scss]
17
+ mixin button-apply-variant($variant: "primary") — Uses direct map access instead of a getter function [foundation/core/engine/buttons.scss]
18
+ mixin btn-primary() [foundation/core/engine/buttons.scss]
19
+ mixin btn-secondary() [foundation/core/engine/buttons.scss]
20
+ mixin btn-tertiary() [foundation/core/engine/buttons.scss]
21
+ mixin btn-icon-only() [foundation/core/engine/buttons.scss]
22
+ mixin btn-variant($variant: "primary") [foundation/core/engine/buttons.scss]
23
+ mixin btn-size($size: "md") [foundation/core/engine/buttons.scss]
24
+ function color($name, $alpha: 1) — Retrieve any color from the design palette with optional alpha [foundation/core/engine/color-api.scss]
25
+ function map-get-safe($map, $key) — Extracts values from the provided map structure with type validation and unquoted key normalization [foundation/core/engine/helpers.scss]
26
+ mixin border-radius($type) — Applies dynamically-scaled responsive rounded corners based on predefined maps [foundation/core/engine/layout.scss]
27
+ mixin border-line($type) — Configures responsive border thickness and strokes across viewport ranges [foundation/core/engine/layout.scss]
28
+ mixin box-size($type) — Mixin for icon sizes through devices — always clamp() [foundation/core/engine/layout.scss]
29
+ mixin padding($size, $direction: null) — Mixin for padding with optional direction — references --space-* :root token [foundation/core/engine/layout.scss]
30
+ mixin margin($size, $direction: null) — Mixin for margin with optional direction — references --space-* :root token [foundation/core/engine/layout.scss]
31
+ mixin gap($size, $direction: null) — Mixin for gap with optional direction — references --space-* :root token [foundation/core/engine/layout.scss]
32
+ mixin not-first-child() [foundation/core/engine/layout.scss]
33
+ mixin not-last-child() [foundation/core/engine/layout.scss]
34
+ mixin horizontal-scroll() [foundation/core/engine/layout.scss]
35
+ mixin no-horizontal-scroll() [foundation/core/engine/layout.scss]
36
+ function bp($key) [foundation/core/engine/responsive.scss]
37
+ mixin screen-above($breakpoint) [foundation/core/engine/responsive.scss]
38
+ mixin screen-below($breakpoint) [foundation/core/engine/responsive.scss]
39
+ mixin screen-between($lower, $upper) [foundation/core/engine/responsive.scss]
40
+ mixin suppress-on($scope) — Scopes: 'handheld', 'mobile', 'tablet', 'desktop' (all singular). [foundation/core/engine/responsive.scss]
41
+ mixin apply-shadow($size: "md") — Usage: @include apply-shadow("md"); [foundation/core/engine/shadows.scss]
42
+ mixin elevation($level: 1) — Usage: @include elevation(2); // Applies shadow-md [foundation/core/engine/shadows.scss]
43
+ mixin hover-shadow($default: "md", $hover: "lg") — Usage: @include hover-shadow("sm", "lg"); [foundation/core/engine/shadows.scss]
44
+ mixin focus-shadow($shadow: "outline") — Usage: @include focus-shadow("outline"); [foundation/core/engine/shadows.scss]
45
+ mixin interactive-shadow($default: "md", $hover: "lg", $focus: "outline") — Usage: @include interactive-shadow("md", "lg", "outline"); [foundation/core/engine/shadows.scss]
46
+ mixin card-shadow() — Usage: @include card-shadow(); [foundation/core/engine/shadows.scss]
47
+ mixin semantic-shadow($type: "primary") — Usage: @include semantic-shadow("primary"); [foundation/core/engine/shadows.scss]
48
+ mixin glow-effect($color: rgba(59, 130, 246, 0.5), $blur: 20px) — Usage: @include glow-effect("primary", 0.5); [foundation/core/engine/shadows.scss]
49
+ mixin inner-shadow($size: "inner") — Usage: @include inner-shadow(); [foundation/core/engine/shadows.scss]
50
+ mixin layered-shadow($shadow1, $shadow2) — Usage: @include layered-shadow("md", "primary"); [foundation/core/engine/shadows.scss]
51
+ mixin conditional-shadow($state: "hover", $shadow: "md") — Usage: @include conditional-shadow("hover", "lg"); [foundation/core/engine/shadows.scss]
52
+ mixin no-shadow() — Usage: @include no-shadow(); [foundation/core/engine/shadows.scss]
53
+ mixin p($size, $dir: null) [foundation/core/engine/shortcuts.scss]
54
+ mixin m($size, $dir: null) [foundation/core/engine/shortcuts.scss]
55
+ mixin g($size, $dir: null) [foundation/core/engine/shortcuts.scss]
56
+ mixin r($type) [foundation/core/engine/shortcuts.scss]
57
+ mixin t($type) [foundation/core/engine/shortcuts.scss]
58
+ mixin sz($type) [foundation/core/engine/shortcuts.scss]
59
+ function useclamp-sizing($min, $max, $c-floor: map.get($container-bounds, "floor"), $c-ceil: map.get($container-bounds, "ceil"), $precision: 3) [foundation/core/engine/sizing.scss]
60
+ mixin zeus-theme($name, $config) [foundation/core/engine/theme-builder.scss]
61
+ mixin text($type) — The var is already generated by root-generator.scss. [foundation/core/engine/typographics.scss]
62
+ function useclamp-typography($typeface, $precision: 3) [foundation/core/engine/typography-calc.scss]
63
+
64
+ ## Utility Class Families
65
+
66
+ .flex (load-flexbox) [foundation/views/render/classes/flexbox.scss]
67
+ .flex-row (load-flexbox) [foundation/views/render/classes/flexbox.scss]
68
+ .flex-wrap (load-flexbox) [foundation/views/render/classes/flexbox.scss]
69
+ .flex-column (load-flexbox) [foundation/views/render/classes/flexbox.scss]
70
+ .flex-center (load-flexbox) [foundation/views/render/classes/flexbox.scss]
71
+ .flex-space-between (load-flexbox) [foundation/views/render/classes/flexbox.scss]
72
+ .d-none (load-flexbox) [foundation/views/render/classes/flexbox.scss]
73
+ .d-block (load-flexbox) [foundation/views/render/classes/flexbox.scss]
74
+ .d-inline-block (load-flexbox) [foundation/views/render/classes/flexbox.scss]
75
+ .align-center (load-flexbox) [foundation/views/render/classes/flexbox.scss]
76
+ .align-start (load-flexbox) [foundation/views/render/classes/flexbox.scss]
77
+ .align-end (load-flexbox) [foundation/views/render/classes/flexbox.scss]
78
+ .justify-center (load-flexbox) [foundation/views/render/classes/flexbox.scss]
79
+ .justify-start (load-flexbox) [foundation/views/render/classes/flexbox.scss]
80
+ .justify-end (load-flexbox) [foundation/views/render/classes/flexbox.scss]
81
+ .justify-between (load-flexbox) [foundation/views/render/classes/flexbox.scss]
82
+ .justify-around (load-flexbox) [foundation/views/render/classes/flexbox.scss]
83
+ .d-grid (load-grid) [foundation/views/render/classes/grid.scss]
84
+ .d-inline-grid (load-grid) [foundation/views/render/classes/grid.scss]
85
+ .grid (load-grid) [foundation/views/render/classes/grid.scss]
86
+ .col-span-{n} (load-grid) [foundation/views/render/classes/grid.scss]
87
+ .col-span-full (load-grid) [foundation/views/render/classes/grid.scss]
88
+ .col-start-{n} (load-grid) [foundation/views/render/classes/grid.scss]
89
+ .col-end-{n} (load-grid) [foundation/views/render/classes/grid.scss]
90
+ .grid-cards (load-grid) [foundation/views/render/classes/grid.scss]
91
+ .grid-sidebar (load-grid) [foundation/views/render/classes/grid.scss]
92
+ .grid-split (load-grid) [foundation/views/render/classes/grid.scss]
93
+ .grid-thirds (load-grid) [foundation/views/render/classes/grid.scss]
94
+ .animate-fade-in (load-animations) [foundation/views/render/classes/_animations.scss]
95
+ .animate-fade-in-slow (load-animations) [foundation/views/render/classes/_animations.scss]
96
+ .animate-fade-in-fast (load-animations) [foundation/views/render/classes/_animations.scss]
97
+ .animate-slide-up (load-animations) [foundation/views/render/classes/_animations.scss]
98
+ .animate-slide-down (load-animations) [foundation/views/render/classes/_animations.scss]
99
+ .animate-slide-left (load-animations) [foundation/views/render/classes/_animations.scss]
100
+ .animate-slide-right (load-animations) [foundation/views/render/classes/_animations.scss]
101
+ .animate-bounce (load-animations) [foundation/views/render/classes/_animations.scss]
102
+ .animate-pulse (load-animations) [foundation/views/render/classes/_animations.scss]
103
+ .animate-rotate (load-animations) [foundation/views/render/classes/_animations.scss]
104
+ .delay-100 (load-animations) [foundation/views/render/classes/_animations.scss]
105
+ .delay-200 (load-animations) [foundation/views/render/classes/_animations.scss]
106
+ .delay-300 (load-animations) [foundation/views/render/classes/_animations.scss]
107
+ .delay-500 (load-animations) [foundation/views/render/classes/_animations.scss]
108
+ .delay-700 (load-animations) [foundation/views/render/classes/_animations.scss]
109
+ .delay-1000 (load-animations) [foundation/views/render/classes/_animations.scss]
110
+ .duration-150 (load-animations) [foundation/views/render/classes/_animations.scss]
111
+ .duration-300 (load-animations) [foundation/views/render/classes/_animations.scss]
112
+ .duration-500 (load-animations) [foundation/views/render/classes/_animations.scss]
113
+ .duration-700 (load-animations) [foundation/views/render/classes/_animations.scss]
114
+ .duration-1000 (load-animations) [foundation/views/render/classes/_animations.scss]
115
+ .aspect-auto (load-aspect-ratio) [foundation/views/render/classes/_aspect-ratio.scss]
116
+ .aspect-1-1 (load-aspect-ratio) [foundation/views/render/classes/_aspect-ratio.scss]
117
+ .aspect-4-3 (load-aspect-ratio) [foundation/views/render/classes/_aspect-ratio.scss]
118
+ .aspect-3-2 (load-aspect-ratio) [foundation/views/render/classes/_aspect-ratio.scss]
119
+ .aspect-16-9 (load-aspect-ratio) [foundation/views/render/classes/_aspect-ratio.scss]
120
+ .aspect-21-9 (load-aspect-ratio) [foundation/views/render/classes/_aspect-ratio.scss]
121
+ .aspect-3-4 (load-aspect-ratio) [foundation/views/render/classes/_aspect-ratio.scss]
122
+ .aspect-9-16 (load-aspect-ratio) [foundation/views/render/classes/_aspect-ratio.scss]
123
+ .border-radius-{n} (load-borders) [foundation/views/render/classes/_borders.scss]
124
+ .border-line-{n} (load-borders) [foundation/views/render/classes/_borders.scss]
125
+ .btn-{n} (load-buttons) [foundation/views/render/classes/_buttons.scss]
126
+ .bg-{n} (load-colors) [foundation/views/render/classes/_colors.scss]
127
+ .color-{n} (load-colors) [foundation/views/render/classes/_colors.scss]
128
+ .border-color-{n} (load-colors) [foundation/views/render/classes/_colors.scss]
129
+ .bg-transparent (load-colors) [foundation/views/render/classes/_colors.scss]
130
+ .color-inherit (load-colors) [foundation/views/render/classes/_colors.scss]
131
+ .color-current (load-colors) [foundation/views/render/classes/_colors.scss]
132
+ .border-color-transparent (load-colors) [foundation/views/render/classes/_colors.scss]
133
+ .border-color-currentColor (load-colors) [foundation/views/render/classes/_colors.scss]
134
+ .surface (load-compounds) [foundation/views/render/classes/_compounds.scss]
135
+ .surface-flat (load-compounds) [foundation/views/render/classes/_compounds.scss]
136
+ .section-wrap (load-compounds) [foundation/views/render/classes/_compounds.scss]
137
+ .section-wrap-narrow (load-compounds) [foundation/views/render/classes/_compounds.scss]
138
+ .glass (load-compounds) [foundation/views/render/classes/_compounds.scss]
139
+ .divider (load-compounds) [foundation/views/render/classes/_compounds.scss]
140
+ .sr-only (load-compounds) [foundation/views/render/classes/_compounds.scss]
141
+ .truncate (load-compounds) [foundation/views/render/classes/_compounds.scss]
142
+ .line-clamp-2 (load-compounds) [foundation/views/render/classes/_compounds.scss]
143
+ .line-clamp-3 (load-compounds) [foundation/views/render/classes/_compounds.scss]
144
+ .container (load-containers) [foundation/views/render/classes/_containers.scss]
145
+ .opacity-{n} (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
146
+ .overflow-auto (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
147
+ .overflow-hidden (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
148
+ .overflow-scroll (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
149
+ .overflow-visible (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
150
+ .overflow-y-auto (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
151
+ .overflow-y-hidden (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
152
+ .overflow-y-scroll (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
153
+ .object-cover (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
154
+ .object-contain (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
155
+ .object-fill (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
156
+ .object-center (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
157
+ .flex-grow-0 (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
158
+ .flex-grow-1 (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
159
+ .flex-shrink-0 (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
160
+ .flex-shrink-1 (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
161
+ .order-first (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
162
+ .order-last (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
163
+ .order-none (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
164
+ .order-{n} (load-misc-utils) [foundation/views/render/classes/_misc-utils.scss]
165
+ .static (load-position) [foundation/views/render/classes/_position.scss]
166
+ .relative (load-position) [foundation/views/render/classes/_position.scss]
167
+ .absolute (load-position) [foundation/views/render/classes/_position.scss]
168
+ .fixed (load-position) [foundation/views/render/classes/_position.scss]
169
+ .sticky (load-position) [foundation/views/render/classes/_position.scss]
170
+ .inset-auto (load-position) [foundation/views/render/classes/_position.scss]
171
+ .inset-{n} (load-position) [foundation/views/render/classes/_position.scss]
172
+ .top-{n} (load-position) [foundation/views/render/classes/_position.scss]
173
+ .bottom-{n} (load-position) [foundation/views/render/classes/_position.scss]
174
+ .inset-inline-start-{n} (load-position) [foundation/views/render/classes/_position.scss]
175
+ .inset-inline-end-{n} (load-position) [foundation/views/render/classes/_position.scss]
176
+ .top-auto (load-position) [foundation/views/render/classes/_position.scss]
177
+ .bottom-auto (load-position) [foundation/views/render/classes/_position.scss]
178
+ .inset-inline-start-auto (load-position) [foundation/views/render/classes/_position.scss]
179
+ .inset-inline-end-auto (load-position) [foundation/views/render/classes/_position.scss]
180
+ .section-{n} (load-sections) [foundation/views/render/classes/_sections.scss]
181
+ .section-full (load-sections) [foundation/views/render/classes/_sections.scss]
182
+ .shadow-none (load-shadows) [foundation/views/render/classes/_shadows.scss]
183
+ .shadow-xs (load-shadows) [foundation/views/render/classes/_shadows.scss]
184
+ .shadow-sm (load-shadows) [foundation/views/render/classes/_shadows.scss]
185
+ .shadow-md (load-shadows) [foundation/views/render/classes/_shadows.scss]
186
+ .shadow-lg (load-shadows) [foundation/views/render/classes/_shadows.scss]
187
+ .shadow-xl (load-shadows) [foundation/views/render/classes/_shadows.scss]
188
+ .shadow-2xl (load-shadows) [foundation/views/render/classes/_shadows.scss]
189
+ .shadow-primary (load-shadows) [foundation/views/render/classes/_shadows.scss]
190
+ .shadow-secondary (load-shadows) [foundation/views/render/classes/_shadows.scss]
191
+ .shadow-success (load-shadows) [foundation/views/render/classes/_shadows.scss]
192
+ .shadow-warning (load-shadows) [foundation/views/render/classes/_shadows.scss]
193
+ .shadow-danger (load-shadows) [foundation/views/render/classes/_shadows.scss]
194
+ .shadow-info (load-shadows) [foundation/views/render/classes/_shadows.scss]
195
+ .shadow-inner (load-shadows) [foundation/views/render/classes/_shadows.scss]
196
+ .shadow-inner-lg (load-shadows) [foundation/views/render/classes/_shadows.scss]
197
+ .shadow-glow (load-shadows) [foundation/views/render/classes/_shadows.scss]
198
+ .shadow-glow-lg (load-shadows) [foundation/views/render/classes/_shadows.scss]
199
+ .shadow-outline (load-shadows) [foundation/views/render/classes/_shadows.scss]
200
+ .shadow-card (load-shadows) [foundation/views/render/classes/_shadows.scss]
201
+ .shadow-card-hover (load-shadows) [foundation/views/render/classes/_shadows.scss]
202
+ .shadow-dropdown (load-shadows) [foundation/views/render/classes/_shadows.scss]
203
+ .shadow-modal (load-shadows) [foundation/views/render/classes/_shadows.scss]
204
+ .shadow-transition (load-shadows) [foundation/views/render/classes/_shadows.scss]
205
+ .shadow-transition-fast (load-shadows) [foundation/views/render/classes/_shadows.scss]
206
+ .shadow-transition-slow (load-shadows) [foundation/views/render/classes/_shadows.scss]
207
+ .box-{n} (load-sizes) [foundation/views/render/classes/_sizes.scss]
208
+ .icon-{n} (load-sizes) [foundation/views/render/classes/_sizes.scss]
209
+ .w-auto (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
210
+ .w-full (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
211
+ .w-screen (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
212
+ .w-fit (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
213
+ .w-min (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
214
+ .w-max (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
215
+ .w-1\ (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
216
+ .w-2\ (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
217
+ .w-3\ (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
218
+ .min-w-0 (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
219
+ .min-w-full (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
220
+ .max-w-none (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
221
+ .max-w-full (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
222
+ .h-auto (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
223
+ .h-full (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
224
+ .h-screen (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
225
+ .h-fit (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
226
+ .h-min (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
227
+ .h-max (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
228
+ .min-h-0 (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
229
+ .min-h-full (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
230
+ .min-h-screen (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
231
+ .max-h-none (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
232
+ .max-h-full (load-sizing-utils) [foundation/views/render/classes/_sizing-utils.scss]
233
+ .gap-{n} (load-spacing) [foundation/views/render/classes/_spacing.scss]
234
+ .text-{n} (load-typography) [foundation/views/render/classes/_typography.scss]
235
+ .w-unset (load-utilities) [foundation/views/render/classes/_utilities.scss]
236
+ .h-unset (load-utilities) [foundation/views/render/classes/_utilities.scss]
237
+ .no-overflow-x (load-utilities) [foundation/views/render/classes/_utilities.scss]
238
+ .highlight (load-utilities) [foundation/views/render/classes/_utilities.scss]
239
+ .article (load-utilities) [foundation/views/render/classes/_utilities.scss]
240
+ .hidden-desktops (load-utilities) [foundation/views/render/classes/_utilities.scss]
241
+ .hidden-tablets (load-utilities) [foundation/views/render/classes/_utilities.scss]
242
+ .hidden-tablets-desktops (load-utilities) [foundation/views/render/classes/_utilities.scss]
243
+ .hidden-mobiles (load-utilities) [foundation/views/render/classes/_utilities.scss]
244
+ .hidden-devices (load-utilities) [foundation/views/render/classes/_utilities.scss]
245
+ .hidden-upto-ml (load-utilities) [foundation/views/render/classes/_utilities.scss]
246
+ .hidden-from-ml (load-utilities) [foundation/views/render/classes/_utilities.scss]
247
+ .layer-{n} (load-z-index) [foundation/views/render/classes/_z-index.scss]
@@ -0,0 +1,89 @@
1
+ {
2
+ "name": "zeus-css",
3
+ "version": "1.0.0",
4
+ "description": "Zeus CSS — a fluid-first SCSS design system: cqi-based fluid scaling, OKLCH semantic color tokens, cascade layers, and an AI-readable token pipeline.",
5
+ "license": "MIT",
6
+ "author": "Stavros Kosmas Lazaris",
7
+ "keywords": [
8
+ "css",
9
+ "scss",
10
+ "sass",
11
+ "design-system",
12
+ "design-tokens",
13
+ "fluid-typography",
14
+ "css-framework",
15
+ "oklch",
16
+ "cascade-layers"
17
+ ],
18
+ "main": "foundation/foundation.scss",
19
+ "sass": "zeus.scss",
20
+ "style": "dist/zeus.css",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/stevenkoslaz/zeus-ui-initial.git"
24
+ },
25
+ "homepage": "https://github.com/stevenkoslaz/zeus-ui-initial#readme",
26
+ "bugs": {
27
+ "url": "https://github.com/stevenkoslaz/zeus-ui-initial/issues"
28
+ },
29
+ "scripts": {
30
+ "build:css": "sass foundation/foundation.scss dist/zeus.css --style=expanded && sass foundation/foundation.scss dist/zeus.min.css --style=compressed",
31
+ "test:compile": "node scripts/test-compile.mjs",
32
+ "lint:scss": "stylelint \"**/*.scss\"",
33
+ "gen:tokens": "node scripts/gen-tokens.mjs",
34
+ "gen:cheatsheet": "node scripts/gen-cheatsheet.mjs",
35
+ "prepack": "npm run build:css && npm run gen:tokens && npm run gen:cheatsheet"
36
+ },
37
+ "exports": {
38
+ ".": {
39
+ "sass": "./foundation/foundation.scss",
40
+ "style": "./dist/zeus.css",
41
+ "default": "./dist/zeus.css"
42
+ },
43
+ "./css": "./dist/zeus.css",
44
+ "./min": "./dist/zeus.min.css",
45
+ "./zeus": {
46
+ "sass": "./zeus.scss",
47
+ "default": "./zeus.scss"
48
+ },
49
+ "./foundation": {
50
+ "sass": "./foundation/foundation.scss",
51
+ "default": "./foundation/foundation.scss"
52
+ },
53
+ "./config": {
54
+ "sass": "./zeus.config.scss",
55
+ "default": "./zeus.config.scss"
56
+ },
57
+ "./customize": {
58
+ "sass": "./zeus.customize.scss",
59
+ "default": "./zeus.customize.scss"
60
+ },
61
+ "./package.json": "./package.json"
62
+ },
63
+ "files": [
64
+ "dist/",
65
+ "foundation/**/*.scss",
66
+ "zeus.scss",
67
+ "zeus.config.scss",
68
+ "zeus.customize.scss",
69
+ "zeus.token.sets.example.scss",
70
+ "zeus.tokens.json",
71
+ "llms.txt",
72
+ "cheatsheet.md",
73
+ "API.md",
74
+ "LICENSE",
75
+ "README.md",
76
+ "CHANGELOG.md"
77
+ ],
78
+ "engines": {
79
+ "node": ">=16"
80
+ },
81
+ "publishConfig": {
82
+ "access": "public"
83
+ },
84
+ "devDependencies": {
85
+ "sass": "^1.99.0",
86
+ "stylelint": "^16.0.0",
87
+ "stylelint-config-standard-scss": "^13.0.0"
88
+ }
89
+ }