
/// Helper for `o-brand` function.
/// @access private
@function _oSteppedProgressGet($variables, $from: null) {
	@return oBrandGet($component: 'o-stepped-progress', $variables: $variables, $from: $from);
}

/// Helper for `o-brand` function.
/// @access private
@function _oSteppedProgressSupports($variant) {
	@return oBrandSupportsVariant($component: 'o-stepped-progress', $variant: $variant);
}

// Define shared brand configurations
$_o-stepped-progress-shared-brand-config: (
	font-scale: -1,
	step-size: 22px,
	step-border-size: 2px,
	label-max-width: 10em,
	bar-weight: 2px,
	container-background: oPrivateFoundationGet('o3-color-use-case-page-background'),
	default-color: oPrivateFoundationGet('o3-color-palette-black-40'),
	error-color: oPrivateColorsMix('o3-color-palette-crimson', $percentage: 90)
);

// Define shared core/internal brand configurations
@if oBrandIs('core')  or oBrandIs('internal') {
	$_o-stepped-progress-shared-brand-config: map-merge($_o-stepped-progress-shared-brand-config, (interacted-color: oPrivateFoundationGet('o3-color-palette-slate')));
}

// Define core brand
@if oBrandIs('core') {
	@include oBrandDefine('o-stepped-progress', 'core', (
		'variables': map-merge($_o-stepped-progress-shared-brand-config, ()),
		'supports-variants': ()
	));
}

// Define internal brand
@if oBrandIs('internal') {
	@include oBrandDefine('o-stepped-progress', 'internal', (
		'variables': map-merge($_o-stepped-progress-shared-brand-config, (
			'heavy': (
				font-scale: 0,
				step-size: 26px,
				step-border-size: 5px,
				bar-weight: 6px
			)
		)),
		'supports-variants': (
			'heavy'
		)
	));
}

// Define whitelabel brand
@if oBrandIs('whitelabel') {
	@include oBrandDefine('o-stepped-progress', 'whitelabel', (
		'variables': map-merge($_o-stepped-progress-shared-brand-config, (
			interacted-color: oPrivateFoundationGet('o3-color-palette-black'),
		)),
		'supports-variants': ()
	));
}
