Skip to content

Commit

Permalink
feat(variant.create()): add color.variant-create() with spec to rep…
Browse files Browse the repository at this point in the history
…lace `color.variant()` mixin.
  • Loading branch information
sciborrudnicki committed Oct 17, 2023
1 parent 09ea888 commit 3083e75
Show file tree
Hide file tree
Showing 4 changed files with 1,236 additions and 0 deletions.
74 changes: 74 additions & 0 deletions color/mixins/_color.variant-create.mixin.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// Sass.
@use 'sass:list';

// Modules.
@use '../../class';
@use '../../list/has';
@use '../../list/remove';
@use '../../map';
@use '../../meta';
@use '../../property';
@use '../../selector';
@use '../../string';
@use '../../variant';

// Functions.
@use '../../list/list.each.mixin' as *;
@use '../../list/list.nth.function' as *;

// Mixins.
@use 'color.color.mixin' as *;

// Status: TODO:
// The `color.variant-create()` mixin.
// @param `$variant`
// @param `$combine`
// @param `$hue`
// @param `$saturation`
// @param `$lightness`
// @param `$alpha`
// @param `$important`
// @param `$pseudo-class`
// @param `$dictionary`
// @param `$property`
// @param `$function`
// @param `$modifier`
@mixin variant-create(
$variant,
$combine: false false false,
$hue: null,
$saturation: null,
$lightness: null,
$alpha: null,
$important: false,
$pseudo-class: (),
$dictionary: (),
$function: meta.get-function(class, false, selector),
$modifier: null,
) {
$modifier: map.deep-merge((
2: (class: (pre-middle: color)),
class: (pre-attribute: color),
property: (prop-attribute: color),
), $modifier or ());
@include class.variant-create(
$variant,
$combine,
$pseudo-class,
$dictionary,
$function,
$modifier,
) using($resolved) {
@include color(
(map.get($resolved, (property, name)): map.get($resolved, (property, value))),
$hue,
$saturation,
$lightness,
$alpha,
null,
$important,
$dictionary: $dictionary,
);
@content($resolved);
}
}

0 comments on commit 3083e75

Please sign in to comment.