@shohojdhara/atomix 0.5.8 → 0.5.9

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@shohojdhara/atomix",
3
- "version": "0.5.8",
3
+ "version": "0.5.9",
4
4
  "description": "Atomix Design System - A modern component library for web applications",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -1,159 +1,61 @@
1
- @use 'sass:math';
2
1
  @use 'sass:color';
3
- @use 'sass:map';
4
- @use 'sass:list';
2
+ @use 'sass:math';
5
3
  @use '../01-settings/settings.background' as *;
6
4
  @use '../01-settings/settings.colors' as *;
7
- /* Background utility simplification
8
- * - Consolidates duplicated glass, mesh, shadow, border, and noise patterns into private helpers.
9
- * - Replaces magic values with local token aliases backed by existing background settings.
10
- * - Flattens variant and interaction branching, keeps public mixin signatures intact, and removes old backdrop prefixes.
11
- */
12
-
13
- $_bg-highlight: $white !default;
14
- $_bg-shadow: $black !default;
15
- $_bg-filters: ('glass': blur(12px) saturate(1.4), 'solid': blur(8px), 'mesh': blur(16px)) !default;
16
- $_bg-motion: ('base': 0.3s, 'press': 0.2s, 'easing': cubic-bezier(0.4, 0, 0.2, 1), 'scale': 0.98) !default;
17
- $_bg-glass: ('angle': 110deg, 'edge-angle': 180deg, 'edge-stop': 30%, 'ambient-stop': 60%, 'ambient-size': ellipse 120% 80% at 50% 120%) !default;
18
- $_bg-states: ('base': ('shimmer': (0.08, 0.12, 0.08), 'edge': (0.15, 0.05), 'mix': (0.13, 0, -0.1, 0.03), 'ambient': 0.4), 'hover': ('shimmer': (0.1, 0.15, 0.1), 'edge': (0.18, 0.08), 'mix': (0.16, 0, -0.12, 0.04), 'ambient': 0.5), 'active': ('edge': (0.12, 0.05), 'mix': (0.18, 0, -0.09))) !default;
19
- $_bg-shadow-ambient: ('base': 0 2px 4px rgba($_bg-shadow, 0.05), 'hover': 0 2px 4px rgba($_bg-shadow, 0.08)) !default;
20
-
21
- // Changelog: Added a shared color-mix helper so all variants use the same tokenized transparency math.
22
- @function _bg-mix($color, $weight) { @return color-mix(in srgb, #{$color} #{math.percentage($weight)}, transparent); }
23
5
 
24
- // Changelog: Added compact token readers to remove repeated literal lookups from the public mixin.
25
- @function _bg-state($state, $group) { @return map.get($_bg-states, $state, $group); }
26
- @function _bg-surface($state, $transparency) { @return if($state == 'hover', $background-transparency-hover, if($state == 'active', $background-transparency-active, $transparency)); }
27
- @function _bg-noise-image() { @return url("data:image/svg+xml,%3Csvg viewBox='0 0 #{$background-noise-scale} #{$background-noise-scale}' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' /%3E%3C/svg%3E"); }
28
-
29
- // Changelog: Extracted glass background generation so base, hover, and active states reuse one recipe.
30
- @function _bg-glass($color, $transparency, $state: 'base') {
31
- $surface: _bg-surface($state, $transparency);
32
- $edge: _bg-state($state, 'edge');
33
- $mix: _bg-state($state, 'mix');
34
- @if $state == 'active' {
35
- @return linear-gradient(map.get($_bg-glass, 'edge-angle'), rgba($_bg-highlight, list.nth($edge, 1)) 0%, rgba($_bg-highlight, list.nth($edge, 2)) 20%, transparent 40%), linear-gradient($background-gradient-angle, _bg-mix($color, $surface + list.nth($mix, 1)) 0%, _bg-mix($color, $surface + list.nth($mix, 2)) 50%, _bg-mix($color, $surface + list.nth($mix, 3)) 100%);
36
- }
37
- $shimmer: _bg-state($state, 'shimmer');
38
- @return linear-gradient(map.get($_bg-glass, 'angle'), transparent 0%, rgba($_bg-highlight, list.nth($shimmer, 1)) 45%, rgba($_bg-highlight, list.nth($shimmer, 2)) 50%, rgba($_bg-highlight, list.nth($shimmer, 3)) 55%, transparent 100%), linear-gradient(map.get($_bg-glass, 'edge-angle'), rgba($_bg-highlight, list.nth($edge, 1)) 0%, rgba($_bg-highlight, list.nth($edge, 2)) 15%, transparent map.get($_bg-glass, 'edge-stop')), linear-gradient($background-gradient-angle, _bg-mix($color, $surface + list.nth($mix, 1)) 0%, _bg-mix($color, $surface + list.nth($mix, 2)) 40%, _bg-mix($color, $surface + list.nth($mix, 3)) 70%, _bg-mix($color, $surface + list.nth($mix, 4)) 100%), radial-gradient(map.get($_bg-glass, 'ambient-size'), _bg-mix($color, $surface * map.get($_bg-states, $state, 'ambient')) 0%, transparent map.get($_bg-glass, 'ambient-stop'));
39
- }
40
-
41
- // Changelog: Extracted shadow composition so base and hover shadows share one loop and corrected opacity scaling.
42
- @function _bg-shadows($color, $hover: false) {
43
- $shadows: (inset 0 1px 0 rgba($_bg-highlight, if($hover, 0.15, 0.1)));
44
- $multiplier: if($hover, 1.5, 1);
45
- @for $i from 1 through $background-shadow-layers {
46
- $blur: $background-shadow-blur-base * $i * $multiplier;
47
- $opacity: math.div($background-shadow-intensity, $i) * $multiplier;
48
- $shadows: list.append($shadows, 0 $blur ($blur * 2) if($i == 1, $background-shadow-spread, 0) _bg-mix($color, $opacity), comma);
49
- }
50
- @return list.append($shadows, map.get($_bg-shadow-ambient, if($hover, 'hover', 'base')), comma);
51
- }
52
-
53
- // Changelog: Extracted a shared overlay scaffold so border, noise, and shimmer pseudo-elements stay aligned.
54
- @mixin _bg-overlay($z) { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: $z; }
55
-
56
- // Changelog: Moved the glass border effect into a private helper to remove duplicate pseudo-element declarations.
57
- @mixin _bg-border() {
58
- &::before { @include _bg-overlay(1); padding: $background-border-width; background: linear-gradient($background-gradient-angle, rgba($_bg-highlight, $background-border-opacity * 1.2) 0%, rgba($_bg-highlight, $background-border-opacity * 0.6) 50%, rgba($_bg-highlight, $background-border-opacity * 0.3) 100%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
59
- }
60
-
61
- // Changelog: Moved the noise overlay into a helper so the SVG asset and sizing are defined once.
62
- @mixin _bg-noise() {
63
- &::after { @include _bg-overlay(2); opacity: $background-noise-opacity; background-image: _bg-noise-image(); background-size: #{$background-noise-scale}px; mix-blend-mode: overlay; }
64
- }
65
-
66
- // Changelog: Moved the shimmer overlay into a helper so the variant branch only selects the effect.
67
- @mixin _bg-shimmer() {
68
- overflow: hidden;
69
- &::before { @include _bg-overlay(1); background: linear-gradient(map.get($_bg-glass, 'angle'), transparent 0%, rgba($_bg-highlight, $background-shimmer-intensity) 50%, transparent 100%); transform: translateX(-100%); animation: shimmer $background-shimmer-duration infinite; }
70
- }
71
-
72
- // Changelog: Rebuilt the main utility mixin around private helpers to preserve the API while removing nesting and redundancy.
73
- /// Dynamic background mixin with glass morphism effects
6
+ /// Simplified dynamic background mixin - only basic background color features
74
7
  /// @param {Color} $color - Base color for the background
75
- /// @param {Number} $transparency [0.65] - Transparency level (0-1)
76
- /// @param {Boolean} $enable-transparency [true] - Enable transparency effects
77
- /// @param {Boolean} $enable-gradient [true] - Enable gradient overlay
78
- /// @param {Boolean} $enable-shadow [true] - Enable shadow layers
79
- /// @param {Boolean} $enable-border [false] - Enable border gradient
80
- /// @param {Boolean} $enable-noise [false] - Enable noise texture
81
- /// @param {String} $variant ['glass'] - Variant: 'glass', 'solid', 'mesh', 'shimmer'
8
+ /// @param {Number} $transparency [$background-transparency] - Transparency level (0-1)
9
+ /// @param {Boolean} $enable-transparency [$background-transparency-enable] - Enable transparency effects
10
+ /// @param {Boolean} $enable-gradient [false] - Enable gradient overlay (ignored in simplified version)
11
+ /// @param {Boolean} $enable-shadow [false] - Enable shadow layers (ignored)
12
+ /// @param {Boolean} $enable-border [false] - Enable border gradient (ignored)
13
+ /// @param {Boolean} $enable-noise [false] - Enable noise texture (ignored)
14
+ /// @param {String} $variant ['solid'] - Variant type (ignored, all treated as solid)
82
15
  @mixin dynamic-background(
83
16
  $color,
84
17
  $transparency: $background-transparency,
85
18
  $enable-transparency: $background-transparency-enable,
86
- $enable-gradient: $background-enable-gradient-overlay,
87
- $enable-shadow: $background-enable-with-shadow,
19
+ $enable-gradient: false,
20
+ $enable-shadow: false,
88
21
  $enable-border: false,
89
- $enable-noise: $background-enable-noise-texture,
90
- $variant: 'glass'
22
+ $enable-noise: false,
23
+ $variant: 'solid'
91
24
  ) {
92
- position: relative;
93
- isolation: isolate;
94
- @if $variant == 'glass' {
95
- @if $enable-transparency and $enable-gradient {
96
- background: _bg-glass($color, $transparency);
97
- backdrop-filter: map.get($_bg-filters, 'glass');
98
- } @else if $enable-transparency {
99
- background-color: _bg-mix($color, $transparency);
100
- backdrop-filter: map.get($_bg-filters, 'solid');
101
- } @else {
102
- background-color: $color;
103
- }
104
- @if $enable-border { @include _bg-border(); }
105
- @if $enable-noise { @include _bg-noise(); }
106
- } @else if $variant == 'solid' {
107
- background: if($enable-gradient, linear-gradient($background-gradient-angle, color.adjust($color, $lightness: 5%) 0%, $color 50%, color.adjust($color, $lightness: -5%) 100%), $color);
108
- } @else if $variant == 'mesh' {
109
- background: radial-gradient(circle at 20% 30%, _bg-mix($color, 0.4) 0%, transparent 50%), radial-gradient(circle at 80% 70%, _bg-mix($color, 0.35) 0%, transparent 50%), radial-gradient(circle at 50% 50%, _bg-mix($color, $transparency) 0%, _bg-mix($color, 0.39) 100%);
110
- backdrop-filter: map.get($_bg-filters, 'mesh');
111
- } @else if $variant == 'shimmer' {
112
- background: _bg-mix($color, 0.75);
113
- @include _bg-shimmer();
114
- }
115
- @if $enable-shadow { box-shadow: _bg-shadows($color); }
116
- transition: background map.get($_bg-motion, 'base') map.get($_bg-motion, 'easing'), box-shadow map.get($_bg-motion, 'base') map.get($_bg-motion, 'easing');
117
- @if $background-enable-hover-effects {
118
- @media (hover: hover) {
119
- &:hover {
120
- @if $variant == 'glass' and $enable-transparency { background: _bg-glass($color, $transparency, 'hover'); }
121
- @if $enable-shadow { box-shadow: _bg-shadows($color, true); }
122
- }
123
- }
25
+ // Only support basic background color with optional transparency
26
+ @if $enable-transparency {
27
+ background-color: color-mix(in srgb, #{$color} #{math.percentage($transparency)}, transparent);
28
+ } @else {
29
+ background-color: $color;
124
30
  }
125
- &:active {
126
- @if $variant == 'glass' and $enable-transparency { background: _bg-glass($color, $transparency, 'active'); }
127
- }
128
- }
129
-
130
- // Changelog: Kept the public animation name intact while trimming it to the minimal required transform states.
131
- @keyframes shimmer {
132
- from { transform: translateX(-100%); }
133
- to { transform: translateX(200%); }
31
+
32
+ // All other features (gradient, shadow, border, noise, variants) are ignored
33
+ // This keeps the implementation focused purely on background color features
134
34
  }
135
35
 
136
- // Changelog: Preserved the public glass wrapper and routed it through the simplified core mixin.
137
- /// Simplified dynamic background for quick usage
36
+ /// Glass background - simplified to basic transparent background
138
37
  /// @param {Color} $color - Base color
139
- /// @param {Number} $transparency [0.65] - Transparency level
38
+ /// @param {Number} $transparency [$background-transparency] - Transparency level
140
39
  @mixin glass-background($color, $transparency: $background-transparency) {
141
- @include dynamic-background($color, $transparency, true, true, true, false, $background-enable-noise-texture, 'glass');
40
+ @include dynamic-background($color, $transparency, true, false, false, false, false, 'solid');
142
41
  }
143
42
 
144
- // Changelog: Preserved the solid wrapper while delegating the implementation to the shared utility mixin.
145
- /// Solid background with subtle gradient
43
+ /// Solid background - simplified to basic solid background
146
44
  /// @param {Color} $color - Base color
147
- @mixin solid-background($color) { @include dynamic-background($color, $background-transparency, false, true, false, false, false, 'solid'); }
45
+ @mixin solid-background($color) {
46
+ @include dynamic-background($color, 0, false, false, false, false, false, 'solid');
47
+ }
148
48
 
149
- // Changelog: Preserved the mesh wrapper and kept the same defaults through the refactored core mixin.
150
- /// Mesh gradient background
49
+ /// Mesh background - simplified to basic transparent background
151
50
  /// @param {Color} $color - Base color
152
- /// @param {Number} $transparency [0.65] - Transparency level
153
- @mixin mesh-background($color, $transparency: $background-transparency) { @include dynamic-background($color, $transparency, true, true, true, false, false, 'mesh'); }
51
+ /// @param {Number} $transparency [$background-transparency] - Transparency level
52
+ @mixin mesh-background($color, $transparency: $background-transparency) {
53
+ @include dynamic-background($color, $transparency, true, false, false, false, false, 'solid');
54
+ }
154
55
 
155
- // Changelog: Preserved the shimmer wrapper while delegating effect composition to the shared helpers.
156
- /// Shimmer effect background
56
+ /// Shimmer background - simplified to basic transparent background
157
57
  /// @param {Color} $color - Base color
158
- /// @param {Number} $transparency [0.65] - Transparency level
159
- @mixin shimmer-background($color, $transparency: $background-transparency) { @include dynamic-background($color, $transparency, true, true, false, false, false, 'shimmer'); }
58
+ /// @param {Number} $transparency [$background-transparency] - Transparency level
59
+ @mixin shimmer-background($color, $transparency: $background-transparency) {
60
+ @include dynamic-background($color, $transparency, true, false, false, false, false, 'solid');
61
+ }
@@ -151,11 +151,6 @@
151
151
  @supports (property: opacity) and (animation-timeline: view()) {
152
152
  opacity: var(--masonry-img-opacity);
153
153
  animation: masonry-item-fade-in-advanced masonry.$masonry-grid-item-animation-duration masonry.$masonry-grid-item-animation-timing forwards;
154
- @property --masonry-img-opacity {
155
- syntax: '<number>';
156
- inherits: false;
157
- initial-value: 0;
158
- }
159
154
  }
160
155
  }
161
156
  }