Skip to content

Commit eb362dd

Browse files
committed
[pigment-css][react] Use class selector instead of value
for composition. Now, you don't have to explicitly add a "." selector.
1 parent b3e0b43 commit eb362dd

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

packages/pigment-react/src/processors/styled.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,15 +292,15 @@ export class StyledProcessor extends BaseProcessor {
292292
* ```js
293293
* const Component = styled(...)(...)
294294
* const Component2 = styled()({
295-
* [`.${Component} &`]: {
295+
* [`${Component} &`]: {
296296
* color: 'red'
297297
* }
298298
* })
299299
* ```
300300
* to further target `Component` rendered inside `Component2`.
301301
*/
302302
doEvaltimeReplacement() {
303-
this.replacer(this.value, false);
303+
this.replacer(this.astService.stringLiteral(this.asSelector), false);
304304
}
305305

306306
/**

packages/pigment-react/src/processors/sx.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export class SxProcessor extends BaseProcessor {
4141
}
4242
}
4343

44-
if (!this.elementClassName) {
44+
if (!this.elementClassName || this.elementClassName[0] !== '.') {
4545
return;
4646
}
4747

@@ -55,7 +55,7 @@ export class SxProcessor extends BaseProcessor {
5555
cssText = this.processCss(styleObjOrFn, sxStyle);
5656
}
5757
const selector = this.elementClassName
58-
? `.${this.elementClassName}${this.asSelector}`
58+
? `${this.elementClassName}${this.asSelector}`
5959
: this.asSelector;
6060

6161
if (!cssText) {

packages/pigment-react/tests/styled/fixtures/styled.input.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,7 @@ const SliderRail2 = styled.span`
3030
display: block;
3131
opacity: 0.38;
3232
font-size: ${({ theme }) => (theme.vars ?? theme).size.font.h1};
33+
${SliderRail} {
34+
display: none;
35+
}
3336
`;

packages/pigment-react/tests/styled/fixtures/styled.output.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,6 @@
2626
opacity: 0.38;
2727
font-size: 3rem;
2828
}
29+
.s6hrafw .s1sjy0ja {
30+
display: none;
31+
}

0 commit comments

Comments
 (0)