@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 maxLevelPourcentage() {
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="calc(calc(100% - 8px) * {{this.maxLevelPourcentage}})"
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(calc(calc(100% - 8px) * {{this.maxLevelPourcentage}}))">
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="max(calc(calc(100% - 8px) * {{this.reachedLevelPercentage}}), 44px)"
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 + 0.5}rem`); // Fix for FF
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 + 0.5}rem`); // Fix for FF
39
+ element.style.setProperty('--pix-select-width', `${selectWidth}rem`);
40
40
  });
41
41
  }
42
42
  }
@@ -106,7 +106,7 @@
106
106
  }
107
107
 
108
108
  &::-webkit-scrollbar {
109
- width: 11px;
109
+ width: 0.5rem;
110
110
  }
111
111
 
112
112
  &::-webkit-scrollbar-track {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1024pix/pix-ui",
3
- "version": "58.4.9",
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": "^3.0.0",
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",