Skip to content
This repository was archived by the owner on Dec 28, 2022. It is now read-only.

Commit fe21a16

Browse files
committed
Gradient direction fixed; changed how references rendered for classes
1 parent 5677242 commit fe21a16

File tree

5 files changed

+42
-9
lines changed

5 files changed

+42
-9
lines changed

src/js/helpers.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,26 @@ Pulsar.registerFunction(
3535
}
3636
);
3737

38+
39+
function findAliases(token, allTokens){
40+
let aliases = allTokens.filter(t => t.value?.referencedToken?.id === token?.id)
41+
for (const t of aliases) {
42+
aliases = aliases.concat(findAliases(t, allTokens))
43+
}
44+
return aliases;
45+
}
46+
47+
Pulsar.registerFunction("findAliases", findAliases)
48+
49+
Pulsar.registerFunction("gradientAngle", function(from, to) {
50+
var deltaY = (to.y - from.y);
51+
var deltaX = (to.x - from.x);
52+
var radians = Math.atan2(deltaY, deltaX);
53+
var result = radians * 180 / Math.PI;
54+
result = result + 90;
55+
return ((result < 0) ? (360 + result) : result) % 360;
56+
})
57+
3858
/**
3959
* Behavior configuration of the exporter
4060
* Prefixes: Add prefix for each category of the tokens. For example, all colors can start with "color, if needed"

src/main-renderers/rendered-token-class.pr

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,15 @@ Rendered as:
2424
}
2525

2626
*}
27-
{[ let token = context /]}
27+
{[ let token = context.token /]}
28+
2829
{[ inject "rendered-description" context token /]}
29-
.{[ inject "rendered-name" context token /]} {
30+
.{[ inject "rendered-name" context token /]}
31+
32+
{[ for alias in @js.findAliases(context.token, context.allTokens) ]}
33+
, {[ inject "rendered-description" context alias /]}
34+
.{[ inject "rendered-name" context alias /]}
35+
{[/]} {
3036
{[ inject "rendered-value" context token /]}
3137

3238
}

src/token-renderers/rendered-gradient.pr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ linear-gradient(
3838
*}
3939
{[ inject "reference-wrapper" context context ]}
4040
{[ let gradientType = "linear-gradient" /]}
41-
{[ let gradientDirection = "to bottom" /]}
41+
{[ let gradientDirection = @js.gradientAngle(context.from, context.to).rounded(2).toString().suffixed("deg") /]}
4242
{[ if @compare.equals(context.type, "Radial") ]}
4343
{[ set "gradientType" = "radial-gradient" /]}
4444
{[ set "gradientDirection" = "circle at center" /]}

src/token-renderers/rendered-typography.pr

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Rendered as:
5151
[text]
5252

5353
*}
54-
{[ inject "reference-wrapper" context context ]}
54+
5555
{[ let fontStyle = "normal" /]}
5656
{[ if @ds.fonts.isItalic(context.font) ]}
5757
{[ set fontStyle = "italic" /]}
@@ -61,8 +61,11 @@ font-style: {{ fontStyle }};
6161
font-weight: {{ @ds.fonts.weight(context.font) }};
6262
font-size: {[ inject "rendered-measure" context context.fontSize /]};
6363
{[ if @compare.nonnull(context.lineHeight) ]}
64-
line-height: {[ inject "rendered-measure" context context.lineHeight /]};
64+
line-height: {[ inject "rendered-measure" context context.lineHeight /]};
65+
{[/]}
66+
letter-spacing: {[if @compare.equals(context.letterSpacing.unit, "Percent") ]}
67+
{{ context.letterSpacing.measure.dividedBy(100).rounded(2) }}em;
68+
{[ else ]}
69+
{[ inject "rendered-measure" context context.letterSpacing /]};
6570
{[/]}
66-
letter-spacing: {[ inject "rendered-measure" context context.letterSpacing /]};
6771
text-indent: {[ inject "rendered-measure" context context.paragraphIndent /]};
68-
{[/]}

src/typography.pr

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ Tokens are named by their group path and then name,
55
and their value rendered using `rendered-color` blueprint
66

77
*}
8+
{[ const allTokens = @ds.tokensByType("Typography") /]}
9+
{[ for token in allTokens ]}
10+
{[ if @compare.null(token.referencedToken) ]}
11+
{[ inject "rendered-token-class" context @init.dictionary().add("token", token).add("allTokens", allTokens) /]}
812

9-
{[ for token in @ds.tokensByType("Typography") ]}
10-
{[ inject "rendered-token-class" context token /]}
13+
14+
{[/]}
1115
{[/]}

0 commit comments

Comments
 (0)