Skip to content

css-in-js: extra space in var(...) #5465

@maraisr

Description

@maraisr

Prettier 1.15.2
Playground link

--parser typescript
--single-quote
--tab-width 5
--use-tabs

Input:

function getVaraintOverrides(props: IProps) {
	switch (props.varient) {
		case EVarient.Link:
			return css`
				color: var(--global--color--gray-900);
				background-color: transparent;

				&:hover {
					background-color: var(--global--color--gray-200);
					color: var(--global--color--link);
				}
			`;
		default:	
			return css`
				background-color: var(--global--color--${props.varient});

				&:hover {
					background-color: var(--global--color--${props.varient}__one);
				}

				&:active {
					background-color: var(--global--color--${props.varient}__two);
				}
			`;
	}
}

Output:

function getVaraintOverrides(props: IProps) {
	switch (props.varient) {
		case EVarient.Link:
			return css`
				color: var(--global--color--gray-900);
				background-color: transparent;

				&:hover {
					background-color: var(--global--color--gray-200);
					color: var(--global--color--link);
				}
			`;
		default:
			return css`
				background-color: var(--global--color-- ${props.varient});

				&:hover {
					background-color: var(
						--global--color-- ${props.varient}__one
					);
				}

				&:active {
					background-color: var(
						--global--color-- ${props.varient}__two
					);
				}
			`;
	}
}

Expected behavior:

function getVaraintOverrides(props: IProps) {
	switch (props.varient) {
		case EVarient.Link:
			return css`
				color: var(--global--color--gray-900);
				background-color: transparent;

				&:hover {
					background-color: var(--global--color--gray-200);
					color: var(--global--color--link);
				}
			`;
		default:
			return css`
-				background-color: var(--global--color-- ${props.varient});
+				background-color: var(--global--color--${props.varient});

				&:hover {
					background-color: var(
-						--global--color-- ${props.varient}__one
+						--global--color--${props.varient}__one
					);
				}

				&:active {
					background-color: var(
-						--global--color-- ${props.varient}__two
+						--global--color--${props.varient}__two
					);
				}
			`;
	}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:multiparserIssues with printing one language inside another, like CSS-in-JSlang:css/scss/lessIssues affecting CSS, Less or SCSSlocked-due-to-inactivityPlease open a new issue and fill out the template instead of commenting.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions