// Helpers
// ===================================

@import "palette";

$luiTheme: () !default;

// Get / set theming variables
// ===================================

@function luiSetTheme($type, $name, $map, $inherit: true) {
	@if length($map) > 0 and $inherit {
		$luiTheme: map-extend($luiTheme, ("#{$type}s": ($name: $map)), true);
		$luiTheme: $luiTheme !global; // Make it globally known
	} @else if length($map) > 0 {
		$luiTheme: map-extend($luiTheme, ("#{$type}s": ($name: $map)));
		$luiTheme: $luiTheme !global; // Make it globally known
	}
	@return $luiTheme;
}

@function luiTheme($type, $keys...) {
	$vars: map-get($luiTheme, "#{$type}s");
	@each $key in $keys { $vars: map-get($vars, $key); }
	@return $vars;
}


// Get root unit size
// ===================================

@function lui_rem($number: 1) {
	// Remove $number unit if specified and multiply it by bodyFontSize
	@return round(($number / ($number * 0 + 1)) * map-gets($luiTheme, elements, typography, body, fontSize));
}


// Load core defaults
// @import "core/theming/defaults.values";
@at-root {
	@import "theme.defaults";
}
