@use 'exports' as *;

.timeline-step {
	@layer mods {
		&:is([aria-current='step']) {
			@include current;
		}
	}
}

.timeline {
	@layer components {
		@include vars;
		@include component;
	}

	@layer mods {
		&.mod-number {
			@include number;

			&.mod-L {
				@include numberL;
			}
		}

		&.mod-S {
			@include S;
		}

		&.mod-L {
			@include L;
		}

		&.mod-vertical {
			@include vertical;

			&:not(.mod-S, .mod-L) {
				@include verticalNotSNotL;
			}

			&.mod-S {
				@include verticalS;
			}

			&.mod-L {
				@include verticalL;
			}

			&.mod-progress {
				@include verticalProgress;
			}
		}

		&.mod-addStep {
			@include addStep;

			&.mod-L {
				@include addStepL;
			}

			&.mod-vertical {
				@include addStepVertical;

				&:not(.mod-L) {
					@include addStepVerticalNotL;
				}

				&.mod-L {
					@include addStepVerticalL;
				}
			}
		}

		&.mod-checkedPastStep {
			@include checkedPastStep;

			&.mod-L {
				@include checkedPastStepL;
			}

			&.mod-vertical:not(.mod-L) {
				@include checkedPastStepVerticalNotL;
			}
		}

		&.mod-addBetweenStep {
			@include addBetweenStep;

			&.mod-vertical:not(.mod-L) {
				@include addBetweenStepVerticalNotL;
			}

			&.mod-L {
				@include addBetweenStepL;
			}
		}

		&.mod-progress {
			@include progress;
		}

		&.mod-dashed {
			@include dashed;

			&.mod-vertical {
				@include dashedVertical;
			}
		}

		&:not(.mod-checkedPastStep) {
			@include notPastChecked;
		}
	}
}
