Skip to content

Commit 6811215

Browse files
authored
Merge branch 'develop' into 7303-fix-radio-hitbox
2 parents d0c5807 + 5baf4b4 commit 6811215

File tree

8 files changed

+80
-69
lines changed

8 files changed

+80
-69
lines changed

packages/components/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
},
7777
"dependencies": {
7878
"@floating-ui/dom": "1.6.13",
79-
"adopted-style-sheets": "1.1.9-rc.17",
79+
"adopted-style-sheets": "1.1.9-rc.18",
8080
"clsx": "2.1.1",
8181
"color-convert": "2.0.1",
8282
"color-rgba": "2.4.0",
@@ -136,7 +136,7 @@
136136
"typescript": "5.8.2"
137137
},
138138
"peerDependencies": {
139-
"adopted-style-sheets": "1.1.9-rc.17"
139+
"adopted-style-sheets": "1.1.9-rc.18"
140140
},
141141
"files": [
142142
"assets",

packages/samples/angular/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"@angular/compiler-cli": "17.3.12",
3131
"@types/jasmine": "5.1.8",
3232
"@tailwindcss/postcss": "4.1.8",
33-
"adopted-style-sheets": "1.1.9-rc.17",
33+
"adopted-style-sheets": "1.1.9-rc.18",
3434
"cpy-cli": "5.0.0",
3535
"karma-jasmine": "5.1.0",
3636
"karma-chrome-launcher": "3.2.0",

packages/samples/react/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"@typescript-eslint/parser": "8.27.0",
4141
"@unocss/preset-uno": "0.58.9",
4242
"@unocss/webpack": "0.58.9",
43-
"adopted-style-sheets": "1.1.9-rc.17",
43+
"adopted-style-sheets": "1.1.9-rc.18",
4444
"ajv": "8.17.1",
4545
"chromedriver": "130.0.4",
4646
"cpy-cli": "5.0.0",

packages/tools/benchmark-tests/benchmark-baseline.json

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
},
77
{
88
"name": "kol-accordion",
9-
"value": 63,
9+
"value": 69,
1010
"unit": "ms"
1111
},
1212
{
1313
"name": "kol-alert",
14-
"value": 27,
14+
"value": 22,
1515
"unit": "ms"
1616
},
1717
{
@@ -21,17 +21,17 @@
2121
},
2222
{
2323
"name": "kol-badge",
24-
"value": 30,
24+
"value": 29,
2525
"unit": "ms"
2626
},
2727
{
2828
"name": "kol-breadcrumb",
29-
"value": 17,
29+
"value": 19,
3030
"unit": "ms"
3131
},
3232
{
3333
"name": "kol-button",
34-
"value": 52,
34+
"value": 55,
3535
"unit": "ms"
3636
},
3737
{
@@ -41,22 +41,22 @@
4141
},
4242
{
4343
"name": "kol-card",
44-
"value": 26,
44+
"value": 25,
4545
"unit": "ms"
4646
},
4747
{
4848
"name": "kol-details",
49-
"value": 61,
49+
"value": 59,
5050
"unit": "ms"
5151
},
5252
{
5353
"name": "kol-drawer",
54-
"value": 10,
54+
"value": 9,
5555
"unit": "ms"
5656
},
5757
{
5858
"name": "kol-form",
59-
"value": 10,
59+
"value": 15,
6060
"unit": "ms"
6161
},
6262
{
@@ -66,7 +66,7 @@
6666
},
6767
{
6868
"name": "kol-icon",
69-
"value": 11,
69+
"value": 10,
7070
"unit": "ms"
7171
},
7272
{
@@ -76,12 +76,12 @@
7676
},
7777
{
7878
"name": "kol-input-checkbox",
79-
"value": 33,
79+
"value": 34,
8080
"unit": "ms"
8181
},
8282
{
8383
"name": "kol-input-color",
84-
"value": 32,
84+
"value": 31,
8585
"unit": "ms"
8686
},
8787
{
@@ -91,12 +91,12 @@
9191
},
9292
{
9393
"name": "kol-input-email",
94-
"value": 34,
94+
"value": 35,
9595
"unit": "ms"
9696
},
9797
{
9898
"name": "kol-input-file",
99-
"value": 59,
99+
"value": 62,
100100
"unit": "ms"
101101
},
102102
{
@@ -106,22 +106,22 @@
106106
},
107107
{
108108
"name": "kol-input-password",
109-
"value": 31,
109+
"value": 30,
110110
"unit": "ms"
111111
},
112112
{
113113
"name": "kol-input-radio",
114-
"value": 27,
114+
"value": 26,
115115
"unit": "ms"
116116
},
117117
{
118118
"name": "kol-input-text",
119-
"value": 37,
119+
"value": 32,
120120
"unit": "ms"
121121
},
122122
{
123123
"name": "kol-link",
124-
"value": 48,
124+
"value": 47,
125125
"unit": "ms"
126126
},
127127
{
@@ -131,7 +131,7 @@
131131
},
132132
{
133133
"name": "kol-modal",
134-
"value": 8,
134+
"value": 7,
135135
"unit": "ms"
136136
},
137137
{
@@ -141,7 +141,7 @@
141141
},
142142
{
143143
"name": "kol-pagination",
144-
"value": 70,
144+
"value": 67,
145145
"unit": "ms"
146146
},
147147
{
@@ -151,17 +151,17 @@
151151
},
152152
{
153153
"name": "kol-progress",
154-
"value": 7,
154+
"value": 6,
155155
"unit": "ms"
156156
},
157157
{
158158
"name": "kol-quote",
159-
"value": 7,
159+
"value": 6,
160160
"unit": "ms"
161161
},
162162
{
163163
"name": "kol-select",
164-
"value": 33,
164+
"value": 28,
165165
"unit": "ms"
166166
},
167167
{
@@ -176,12 +176,12 @@
176176
},
177177
{
178178
"name": "kol-split-button",
179-
"value": 56,
179+
"value": 55,
180180
"unit": "ms"
181181
},
182182
{
183183
"name": "kol-table-stateful",
184-
"value": 76,
184+
"value": 73,
185185
"unit": "ms"
186186
},
187187
{
@@ -191,12 +191,12 @@
191191
},
192192
{
193193
"name": "kol-tabs",
194-
"value": 11,
194+
"value": 10,
195195
"unit": "ms"
196196
},
197197
{
198198
"name": "kol-textarea",
199-
"value": 35,
199+
"value": 28,
200200
"unit": "ms"
201201
},
202202
{
@@ -211,7 +211,7 @@
211211
},
212212
{
213213
"name": "kol-tree-item",
214-
"value": 51,
214+
"value": 56,
215215
"unit": "ms"
216216
},
217217
{

packages/tools/benchmark-tests/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"@playwright/test": "1.49.1",
3636
"@public-ui/components": "workspace:*",
3737
"@public-ui/theme-default": "workspace:*",
38-
"adopted-style-sheets": "1.1.9-rc.17",
38+
"adopted-style-sheets": "1.1.9-rc.18",
3939
"cpy-cli": "5.0.0",
4040
"knip": "5.46.0",
4141
"npm-run-all2": "8.0.4",

packages/tools/benchmark-tests/scripts/compare-benchmark.mjs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
22

33
const loadJson = (path) => (existsSync(path) ? JSON.parse(readFileSync(path, 'utf-8')) : []);
44

5-
const current = loadJson('benchmark-result.json');
6-
const baseline = loadJson('benchmark-baseline.json');
5+
const current = loadJson(`benchmark-result.json`);
6+
const baseline = loadJson(`benchmark-baseline.json`);
77

88
const rows = [];
99
let hasRegression = false;
@@ -59,10 +59,10 @@ markdown += `|-----------|---------|----------|-----|--------|\n`;
5959
markdown += rest.map((r) => r.markdown).join('\n') + '\n';
6060
markdown += `</details>\n`;
6161

62-
writeFileSync('benchmark-report.md', markdown);
62+
writeFileSync(`benchmark-report.md`, markdown);
6363

6464
if (hasRegression) {
65-
console.error('❌ Performance regression detected.');
65+
console.warn(`❌ Performance regression detected.`);
6666
} else {
67-
console.log('✅ No significant regression.');
67+
console.log(`✅ No significant regression.`);
6868
}

packages/tools/benchmark-tests/tests/benchmark.test.ts

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -65,28 +65,35 @@ const TEST_TIMEOUT = parseInt(process.env.TEST_TIMEOUT || '5000', 10);
6565

6666
test.beforeEach(async ({ page }) => {
6767
await page.goto('http://localhost:3000/test-page.html');
68+
await page.waitForLoadState('networkidle');
6869
});
6970

7071
for (const tag of TAGS) {
7172
for (let idx = 0; idx < TEST_ITERATIONS; idx++) {
72-
test(`${tag} hydration iteration ${idx + 1}`, async ({ page }) => {
73-
await page.evaluate(() => window.gc?.());
74-
75-
const duration = await page.evaluate(
76-
async ({ tag, timeout, idx }) => {
73+
test(`${tag} hydration (${idx + 1})`, async ({ page }) => {
74+
const { hydratedTime } = await page.evaluate(
75+
async ({ tag, timeout }) => {
76+
window.gc?.();
7777
await customElements.whenDefined(tag);
78-
7978
const el = document.createElement(tag);
80-
el.setAttribute('data-test', `hydration-${idx}`);
81-
const start = performance.now();
8279
document.body.appendChild(el);
80+
const start = performance.now();
81+
let hydratedTime: number | null = null;
82+
let themedTime: number | null = null;
8383

8484
await new Promise<void>((resolve) => {
8585
let cleaned = false;
8686

8787
const timeoutId = setTimeout(cleanup, timeout);
88+
8889
const observer = new MutationObserver(() => {
89-
if (el.classList.contains('hydrated')) cleanup();
90+
if (!hydratedTime && el.classList.contains('hydrated')) {
91+
hydratedTime = performance.now() - start;
92+
}
93+
if (hydratedTime && el.hasAttribute('data-themed')) {
94+
themedTime = performance.now() - hydratedTime;
95+
cleanup();
96+
}
9097
});
9198

9299
function cleanup() {
@@ -100,24 +107,28 @@ for (const tag of TAGS) {
100107

101108
observer.observe(el, {
102109
attributes: true,
103-
attributeFilter: ['class'],
110+
attributeFilter: ['class', 'data-themed'],
104111
});
105112
});
106113

107-
const end = performance.now();
108-
return end - start;
114+
return {
115+
hydratedTime,
116+
themedTime,
117+
};
109118
},
110-
{ tag, timeout: TEST_TIMEOUT, idx },
119+
{ tag, timeout: TEST_TIMEOUT },
111120
);
112121

113-
if (!results.has(tag)) {
114-
results.set(tag, {
115-
name: tag,
116-
values: [],
117-
unit: 'ms',
118-
});
122+
if (hydratedTime !== null) {
123+
if (!results.has(tag)) {
124+
results.set(tag, {
125+
name: tag,
126+
values: [],
127+
unit: 'ms',
128+
});
129+
}
130+
results.get(tag)!.values.push(Math.round(hydratedTime));
119131
}
120-
results.get(tag)!.values.push(Math.round(duration));
121132
});
122133
}
123134
}

0 commit comments

Comments
 (0)