/**
* Copyright Aquera Inc 2023
*
* This source code is licensed under the BSD-3-Clause license found in the
* LICENSE file in the root directory of this source tree.
*/

import {css} from 'lit';

/**
 * VerticalStepperItem CSS
 */
export const styles = css`
	:host {
		--vertical-stepper-flex-val:1;
		flex-grow:var(--vertical-stepper-flex-val);
		--bulletin--dot--seperation:30%;
		--min-line-container-height:25px;
		--lines-thickness: 1px;
		-webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));
    -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));
    text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));
	}

	.stepper__item {
		display:flex;
		column-gap:var(--item-spacing);
		height: 100%;
	}

	.stepper__item--sm {
		--item-spacing: var(--nile-spacing-md, var(--ng-spacing-md));
		--stepper-item-title-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));
		--stepper-item-subtitle-size: var(--nile-type-scale-1,var(--ng-font-size-text-sm));
		--stepper-item-text-line-height:var(--nile-line-height-xsmall,var(--ng-line-height-text-sm));
		--circle-height:18px;
	}

	.stepper__item--lg {
		--item-spacing: var(--nile-spacing-md, var(--ng-spacing-md));
		--stepper-item-title-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));
		--stepper-item-subtitle-size: var(--nile-type-scale-2, var(--ng-font-size-text-md));
		--stepper-item-text-line-height:var(--nile-line-height-small, var(--ng-line-height-text-md));
		--circle-height: 22px;
	}

	.stepper__item--xl {
		--item-spacing: var(--nile-type-scale-2, var(--ng-spacing-2xl));
		--stepper-item-title-size: var( --nile-type-scale-4, var(--ng-font-size-text-md));
		--stepper-item-subtitle-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));
		--stepper-item-text-line-height:var(--nile-line-height-medium, var(--ng-line-height-text-lg));
		--circle-height:26px;
	}

	.stepper-item__connector-content{
		display: flex;
		flex-direction: column;
	}

	.stepper__item__bulletin {
		display:grid;
		place-content:center;

		margin-top: var(--nile-spacing-one-half-x, var(--ng-spacing-none));
		margin-bottom: var(--nile-spacing-one-half-x, var(--ng-spacing-none));
	}

	.stepper__item--selected .stepper-item__connector-content{
    margin-left: var(--nile-spacing-none, calc(var(--ng-spacing-xxs) * -1px));
	}

	.stepper__item--selected .stepper__item__bulletin{
		padding: 1px;
		border: 1px solid var(--ng-colors-effects-focus-ring);
		border-radius: 50%;
	}

	.stepper__bulletin--dot {
		width: var(--circle-height);
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		background: radial-gradient(var(--nile-colors-neutral-500, var(--ng-colors-border-secondary)) var(--bulletin--dot--seperation), var(--nile-colors-dark-200, var(--ng-colors-bg-primary)) var(--bulletin--dot--seperation));
		border: var(--lines-thickness) solid var(--nile-colors-neutral-500, var(--ng-colors-border-secondary));
	}

	.stepper__bulletin__dot--active{
		background: radial-gradient(var(--nile-colors-white-base, var(--ng-colors-bg-primary)) var(--bulletin--dot--seperation), var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid)) var(--bulletin--dot--seperation));
		border: var(--lines-thickness) solid var(--nile-colors-primary-500,var(--ng-colors-bg-brand-solid));
		width: calc( var(--circle-height) + calc( var(--lines-thickness) * 2 ) );
	}

	.stepper__bulletin--icon {
		display:grid;
		place-content:center;
		width: var(--circle-height);
		border: var(--lines-thickness) solid var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		background-color:var(--nile-colors-primary-600, var(--ng-colors-bg-brand-solid));
		overflow:hidden;
	}

	.stepper__bulletin__icon--active {
		border: var(--lines-thickness) solid var(--nile-colors-primary-500,var(--ng-colors-border-brand));
		width: calc(var(--circle-height) + calc( var(--lines-thickness) * 2));
	}

	.stepper__item__line__container{
		flex-grow: 1;
		display: flex;
		justify-content: center;
		padding: 2px;
		min-height: var(--min-line-container-height);
	}

	.stepper__item__line{
		height:100%;
		border-left: var(--lines-thickness) solid var(--nile-colors-neutral-500, var(--ng-colors-border-secondary));
	}
	.stepper__item__line--active{
		border-left: var(--lines-thickness) solid var(--nile-colors-primary-600, var(--ng-colors-border-brand-alt));
	}

	.stepper__item__content{
		display:flex;
		flex-direction:column;
		justify-content:start;
	}
	.stepper__content__title {
		color:var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));
		font-size: var(--stepper-item-title-size);
		line-height: var(--stepper-item-text-line-height);
		font-family: var(--nile-font-family-medium, var(--ng-font-family-body));
		font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));
	}

	.stepper__content__title--alone{
		margin-top: 25%;
	}

	.stepper__content__subtitle--alone{
		margin-top: 6.25%;
	}

	.stepper__content__title--active{
		color:var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
		font-weight: var(--nile-font-weight-semi-bold,var(--ng-font-weight-semibold));
	}

	.stepper__content__subtitle {
		color:var(--nile-colors-dark-500, var(--ng-colors-text-tertiary-600));
		font-size: var(--stepper-item-subtitle-size);
		line-height: var(--stepper-item-text-line-height);
		font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));
		font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));
	}

	.stepper__content__subtitle--active{
		color:var(--nile-colors-primary-600, var(--ng-colors-text-brand-tertiary-600));
	}
`;

export default [styles];
