@1024pix/pix-ui 58.4.9 → 58.4.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -36,7 +36,7 @@ export default class PixGauge extends Component {
|
|
|
36
36
|
return this.args.hideValues ?? false;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
get
|
|
39
|
+
get maxLevelPercentage() {
|
|
40
40
|
return this.maxLevel / 8;
|
|
41
41
|
}
|
|
42
42
|
get viewBox() {
|
|
@@ -71,6 +71,41 @@ export default class PixGauge extends Component {
|
|
|
71
71
|
return this.args.isSmall ? 18 : 26;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
get gaugeWidths() {
|
|
75
|
+
let reachedLevelWidth = this.gaugeWidthCSS(this.reachedLevelPercentage);
|
|
76
|
+
let maxLevelWidth = this.gaugeWidthCSS(this.maxLevelPercentage);
|
|
77
|
+
|
|
78
|
+
const levelDifference = Math.round((this.maxLevel - this.reachedLevel) * 10) / 10;
|
|
79
|
+
|
|
80
|
+
const isMaxLevelInteger = this.maxLevel % 1 === 0;
|
|
81
|
+
const spacingRem = isMaxLevelInteger ? 1.75 : 2.625;
|
|
82
|
+
|
|
83
|
+
const isSpaceBetweenLevelsNarrow = this.args.isSmall
|
|
84
|
+
? levelDifference < 1.5
|
|
85
|
+
: levelDifference < 0.5;
|
|
86
|
+
|
|
87
|
+
if (!this.hideValues && levelDifference !== 0 && isSpaceBetweenLevelsNarrow) {
|
|
88
|
+
if (this.maxLevel >= 7.5) {
|
|
89
|
+
reachedLevelWidth = this.gaugeWidthCSS(this.maxLevelPercentage, `- ${spacingRem}rem`);
|
|
90
|
+
} else {
|
|
91
|
+
maxLevelWidth = this.gaugeWidthCSS(this.reachedLevelPercentage, `+ ${spacingRem}rem`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const reachedLevelMinWidth = `3rem`;
|
|
96
|
+
const maxLevelMinWidth = `${reachedLevelMinWidth} + ${spacingRem}rem`;
|
|
97
|
+
|
|
98
|
+
return {
|
|
99
|
+
reachedLevel: this.gaugeAdaptativeWidthCSS(reachedLevelMinWidth, reachedLevelWidth),
|
|
100
|
+
maxLevel: this.gaugeAdaptativeWidthCSS(maxLevelMinWidth, maxLevelWidth),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
gaugeWidthCSS = (levelPercentage, spacing = '') =>
|
|
105
|
+
`calc(calc(100% - 8px) * ${levelPercentage} ${spacing})`;
|
|
106
|
+
|
|
107
|
+
gaugeAdaptativeWidthCSS = (width, minWidth) => `max(${minWidth}, ${width})`;
|
|
108
|
+
|
|
74
109
|
isLevelActive = (index) => {
|
|
75
110
|
if (this.reachedLevel === 0 && index === 0) return true;
|
|
76
111
|
const step = 8 / this.args.stepLabels.length;
|
|
@@ -127,13 +162,13 @@ export default class PixGauge extends Component {
|
|
|
127
162
|
{{! gauge white max level}}
|
|
128
163
|
<rect
|
|
129
164
|
y={{26}}
|
|
130
|
-
width=
|
|
165
|
+
width={{this.gaugeWidths.maxLevel}}
|
|
131
166
|
height={{this.whiteAndPurpleGaugesHeight}}
|
|
132
167
|
rx={{this.whiteAndPurpleGaugeRx}}
|
|
133
168
|
class="result-level-gauge__max-bar"
|
|
134
169
|
/>
|
|
135
170
|
{{#unless this.hideValues}}
|
|
136
|
-
<g style="transform: translate(
|
|
171
|
+
<g style="transform: translate({{this.gaugeWidths.maxLevel}})">
|
|
137
172
|
<text
|
|
138
173
|
y={{this.statsFontHeight}}
|
|
139
174
|
x="0"
|
|
@@ -147,15 +182,13 @@ export default class PixGauge extends Component {
|
|
|
147
182
|
{{! mean purple level }}
|
|
148
183
|
<rect
|
|
149
184
|
y={{26}}
|
|
150
|
-
width=
|
|
185
|
+
width={{this.gaugeWidths.reachedLevel}}
|
|
151
186
|
height={{this.whiteAndPurpleGaugesHeight}}
|
|
152
187
|
rx={{this.whiteAndPurpleGaugeRx}}
|
|
153
188
|
class="result-level-gauge__mean-bar"
|
|
154
189
|
/>
|
|
155
190
|
{{#unless this.hideValues}}
|
|
156
|
-
<g
|
|
157
|
-
style="transform: translate(max(calc(calc(100% - 8px) * {{this.reachedLevelPercentage}}), 44px))"
|
|
158
|
-
>
|
|
191
|
+
<g style="transform: translate({{this.gaugeWidths.reachedLevel}})">
|
|
159
192
|
<text
|
|
160
193
|
y={{this.statsFontHeight}}
|
|
161
194
|
x="0"
|
|
@@ -43,10 +43,10 @@ export default class PixMultiSelect extends Component {
|
|
|
43
43
|
getComputedStyle(document.querySelector('html')).fontSize.match(/\d+(\.\d+)?/)[0],
|
|
44
44
|
);
|
|
45
45
|
const listWidth = elementList.getBoundingClientRect().width;
|
|
46
|
-
const selectWidth = listWidth / baseFontRemRatio;
|
|
46
|
+
const selectWidth = Number(listWidth / baseFontRemRatio + 0.5).toFixed(2); // Fix for FF
|
|
47
47
|
|
|
48
48
|
const element = document.getElementById(`container-${this.multiSelectId}`);
|
|
49
|
-
element.style.setProperty('--pix-multi-select-width', `${selectWidth
|
|
49
|
+
element.style.setProperty('--pix-multi-select-width', `${selectWidth}rem`);
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -33,10 +33,10 @@ export default class PixSelect extends Component {
|
|
|
33
33
|
getComputedStyle(document.querySelector('html')).fontSize.match(/\d+(\.\d+)?/)[0],
|
|
34
34
|
);
|
|
35
35
|
const listWidth = elementList.getBoundingClientRect().width;
|
|
36
|
-
const selectWidth = listWidth / baseFontRemRatio;
|
|
36
|
+
const selectWidth = Number(listWidth / baseFontRemRatio + 0.5).toFixed(2); // Fix for FF
|
|
37
37
|
|
|
38
38
|
const element = document.getElementById(`container-${this.selectId}`);
|
|
39
|
-
element.style.setProperty('--pix-select-width', `${selectWidth
|
|
39
|
+
element.style.setProperty('--pix-select-width', `${selectWidth}rem`);
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1024pix/pix-ui",
|
|
3
|
-
"version": "58.4.
|
|
3
|
+
"version": "58.4.11",
|
|
4
4
|
"description": "Pix-UI is the implementation of Pix design principles and guidelines for its products.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon"
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@babel/core": "^7.25.2",
|
|
64
|
-
"@formatjs/intl": "^
|
|
64
|
+
"@formatjs/intl": "^4.0.0",
|
|
65
65
|
"check-engine": "^1.14.0",
|
|
66
66
|
"ember-auto-import": "^2.7.4",
|
|
67
67
|
"ember-cli-babel": "^8.2.0",
|