@shohojdhara/atomix 0.5.7 → 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/dist/atomix.css +152 -2508
- package/dist/atomix.css.map +1 -1
- package/dist/atomix.min.css +5 -5
- package/dist/atomix.min.css.map +1 -1
- package/dist/atomix.umd.js +2 -0
- package/dist/atomix.umd.js.map +1 -0
- package/dist/atomix.umd.min.js +1 -0
- package/dist/index.esm.js +20 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +20 -7
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/theme.js +7 -3
- package/dist/theme.js.map +1 -1
- package/package.json +3 -3
- package/src/lib/config/loader.ts +27 -6
- package/src/lib/theme/config/configLoader.ts +7 -2
- package/src/lib/theme/config/loader.ts +7 -6
- package/src/styles/02-tools/_tools.background.scss +38 -136
- package/src/styles/05-objects/_objects.masonry-grid.scss +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shohojdhara/atomix",
|
|
3
|
-
"version": "0.5.
|
|
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": [
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
"sass": "src/styles/index.scss",
|
|
18
18
|
"unpkg": "dist/atomix.umd.min.js",
|
|
19
19
|
"jsdelivr": "dist/atomix.umd.min.js",
|
|
20
|
-
"browser": "dist/atomix.umd.min.js",
|
|
21
20
|
"bin": {
|
|
22
21
|
"atomix": "scripts/atomix-cli.js"
|
|
23
22
|
},
|
|
@@ -115,6 +114,7 @@
|
|
|
115
114
|
"default": "./dist/heavy.js"
|
|
116
115
|
},
|
|
117
116
|
"./cdn": {
|
|
117
|
+
"types": "./dist/index.d.ts",
|
|
118
118
|
"import": "./dist/atomix.umd.min.js",
|
|
119
119
|
"require": "./dist/atomix.umd.min.js",
|
|
120
120
|
"default": "./dist/atomix.umd.min.js"
|
|
@@ -233,7 +233,7 @@
|
|
|
233
233
|
"build:types": "rollup -c rollup.config.types.js",
|
|
234
234
|
"build:styles": "rollup -c rollup.config.styles.js",
|
|
235
235
|
"build:themes": "rollup -c rollup/config/themes.js",
|
|
236
|
-
"build:parallel": "concurrently \"npm:build:js\" \"npm:build:types\" \"npm:build:styles\"",
|
|
236
|
+
"build:parallel": "concurrently \"npm:build:js\" \"npm:build:types\" \"npm:build:styles\" \"npm:build:umd\"",
|
|
237
237
|
"build:umd": "rollup -c rollup.config.umd.js",
|
|
238
238
|
"build:cli": "rollup -c rollup.config.cli.js",
|
|
239
239
|
"build:cli:dev": "rollup -c rollup.config.cli.js --environment NODE_ENV:development",
|
package/src/lib/config/loader.ts
CHANGED
|
@@ -354,8 +354,11 @@ export function loadAtomixConfig(
|
|
|
354
354
|
*/
|
|
355
355
|
function loadConfigAtPath(path: string, required: boolean, defaultConfig: AtomixConfig): AtomixConfig {
|
|
356
356
|
try {
|
|
357
|
-
// Use dynamic
|
|
358
|
-
const
|
|
357
|
+
// Use dynamic requirement to hide from bundlers
|
|
358
|
+
const req = typeof require !== 'undefined' ? require : undefined;
|
|
359
|
+
if (!req) return defaultConfig;
|
|
360
|
+
|
|
361
|
+
const configModule = req(path);
|
|
359
362
|
const config = configModule.default || configModule;
|
|
360
363
|
|
|
361
364
|
// Validate it's an AtomixConfig
|
|
@@ -391,10 +394,28 @@ export function resolveConfigPath(configPath?: string): string | null {
|
|
|
391
394
|
return null;
|
|
392
395
|
}
|
|
393
396
|
|
|
394
|
-
//
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
397
|
+
// Use dynamic requirement to hide from bundlers like Turbopack/Webpack
|
|
398
|
+
let nodeFs: any;
|
|
399
|
+
let nodePath: any;
|
|
400
|
+
|
|
401
|
+
try {
|
|
402
|
+
// Using a dynamic string and eval-like approach to prevent static analysis
|
|
403
|
+
// This is safe here because we've already checked for window (browser)
|
|
404
|
+
const req = typeof require !== 'undefined' ? require : undefined;
|
|
405
|
+
if (req) {
|
|
406
|
+
nodeFs = req(['f', 's'].join(''));
|
|
407
|
+
nodePath = req(['p', 'a', 't', 'h'].join(''));
|
|
408
|
+
}
|
|
409
|
+
} catch (e) {
|
|
410
|
+
return null;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
if (!nodeFs || !nodePath) {
|
|
414
|
+
return null;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
const { existsSync } = nodeFs;
|
|
418
|
+
const { join } = nodePath;
|
|
398
419
|
|
|
399
420
|
// If a specific config path is provided, check if it exists
|
|
400
421
|
if (configPath) {
|
|
@@ -29,7 +29,9 @@ export function loadThemeFromConfigSync(options?: { configPath?: string; require
|
|
|
29
29
|
|
|
30
30
|
try {
|
|
31
31
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
32
|
-
const
|
|
32
|
+
const req = typeof require !== 'undefined' ? require : undefined;
|
|
33
|
+
if (!req) throw new Error('require is not available');
|
|
34
|
+
const { loadAtomixConfig: loader } = req('../../config/loader');
|
|
33
35
|
loadAtomixConfig = loader;
|
|
34
36
|
} catch (error) {
|
|
35
37
|
if (options?.required !== false) {
|
|
@@ -214,7 +216,10 @@ export async function loadThemeFromConfig(options?: { configPath?: string; requi
|
|
|
214
216
|
let config: any;
|
|
215
217
|
try {
|
|
216
218
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
217
|
-
const
|
|
219
|
+
const req = typeof require !== 'undefined' ? require : undefined;
|
|
220
|
+
if (!req) throw new Error('require is not available');
|
|
221
|
+
const { loadAtomixConfig: loader } = req('../../config/loader');
|
|
222
|
+
loadAtomixConfig = loader;
|
|
218
223
|
config = loadAtomixConfig({ configPath: options?.configPath, required: options?.required !== false });
|
|
219
224
|
} catch (error) {
|
|
220
225
|
// If loadAtomixConfig is not available (e.g., in browser bundle), provide helpful error
|
|
@@ -72,7 +72,8 @@ export function loadThemeConfig(
|
|
|
72
72
|
// In ESM environments, require might be undefined.
|
|
73
73
|
let nodeRequire: any;
|
|
74
74
|
try {
|
|
75
|
-
|
|
75
|
+
// Use eval('require') or similar to hide from bundlers
|
|
76
|
+
nodeRequire = typeof require !== 'undefined' ? require : undefined;
|
|
76
77
|
} catch {
|
|
77
78
|
// require is not defined
|
|
78
79
|
}
|
|
@@ -94,8 +95,8 @@ export function loadThemeConfig(
|
|
|
94
95
|
|
|
95
96
|
// If a specific config path is provided, try to use it
|
|
96
97
|
if (configPath && configPath !== DEFAULT_ATOMIX_CONFIG_PATH) {
|
|
97
|
-
const path = nodeRequire('
|
|
98
|
-
const fs = nodeRequire('
|
|
98
|
+
const path = nodeRequire(['p', 'a', 't', 'h'].join('')) as typeof import('path');
|
|
99
|
+
const fs = nodeRequire(['f', 's'].join('')) as typeof import('fs');
|
|
99
100
|
const fullPath = path.resolve(process.cwd(), configPath);
|
|
100
101
|
|
|
101
102
|
if (fs.existsSync(fullPath)) {
|
|
@@ -109,8 +110,8 @@ export function loadThemeConfig(
|
|
|
109
110
|
'atomix.config.json'
|
|
110
111
|
];
|
|
111
112
|
|
|
112
|
-
const path = nodeRequire('
|
|
113
|
-
const fs = nodeRequire('
|
|
113
|
+
const path = nodeRequire(['p', 'a', 't', 'h'].join('')) as typeof import('path');
|
|
114
|
+
const fs = nodeRequire(['f', 's'].join('')) as typeof import('fs');
|
|
114
115
|
|
|
115
116
|
for (const fileName of possiblePaths) {
|
|
116
117
|
const fullPath = path.resolve(process.cwd(), fileName);
|
|
@@ -131,7 +132,7 @@ export function loadThemeConfig(
|
|
|
131
132
|
|
|
132
133
|
// Handle JSON files differently
|
|
133
134
|
if (resolvedConfigPath.endsWith('.json')) {
|
|
134
|
-
const fs = nodeRequire('
|
|
135
|
+
const fs = nodeRequire(['f', 's'].join('')) as typeof import('fs');
|
|
135
136
|
configModule = JSON.parse(fs.readFileSync(resolvedConfigPath, 'utf8'));
|
|
136
137
|
} else {
|
|
137
138
|
// Use require (Node.js/CommonJS) for JS/TS files
|
|
@@ -1,159 +1,61 @@
|
|
|
1
|
-
@use 'sass:math';
|
|
2
1
|
@use 'sass:color';
|
|
3
|
-
@use 'sass:
|
|
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
|
-
|
|
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 [
|
|
76
|
-
/// @param {Boolean} $enable-transparency [
|
|
77
|
-
/// @param {Boolean} $enable-gradient [
|
|
78
|
-
/// @param {Boolean} $enable-shadow [
|
|
79
|
-
/// @param {Boolean} $enable-border [false] - Enable border gradient
|
|
80
|
-
/// @param {Boolean} $enable-noise [false] - Enable noise texture
|
|
81
|
-
/// @param {String} $variant ['
|
|
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:
|
|
87
|
-
$enable-shadow:
|
|
19
|
+
$enable-gradient: false,
|
|
20
|
+
$enable-shadow: false,
|
|
88
21
|
$enable-border: false,
|
|
89
|
-
$enable-noise:
|
|
90
|
-
$variant: '
|
|
22
|
+
$enable-noise: false,
|
|
23
|
+
$variant: 'solid'
|
|
91
24
|
) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
126
|
-
|
|
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
|
-
|
|
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 [
|
|
38
|
+
/// @param {Number} $transparency [$background-transparency] - Transparency level
|
|
140
39
|
@mixin glass-background($color, $transparency: $background-transparency) {
|
|
141
|
-
@include dynamic-background($color, $transparency, true,
|
|
40
|
+
@include dynamic-background($color, $transparency, true, false, false, false, false, 'solid');
|
|
142
41
|
}
|
|
143
42
|
|
|
144
|
-
|
|
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) {
|
|
45
|
+
@mixin solid-background($color) {
|
|
46
|
+
@include dynamic-background($color, 0, false, false, false, false, false, 'solid');
|
|
47
|
+
}
|
|
148
48
|
|
|
149
|
-
|
|
150
|
-
/// Mesh gradient background
|
|
49
|
+
/// Mesh background - simplified to basic transparent background
|
|
151
50
|
/// @param {Color} $color - Base color
|
|
152
|
-
/// @param {Number} $transparency [
|
|
153
|
-
@mixin mesh-background($color, $transparency: $background-transparency) {
|
|
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
|
-
|
|
156
|
-
/// Shimmer effect background
|
|
56
|
+
/// Shimmer background - simplified to basic transparent background
|
|
157
57
|
/// @param {Color} $color - Base color
|
|
158
|
-
/// @param {Number} $transparency [
|
|
159
|
-
@mixin shimmer-background($color, $transparency: $background-transparency) {
|
|
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
|
}
|