@biela.dev/devices 1.5.0 → 1.6.0

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.
@@ -2,43 +2,43 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
 
5
- // src/android/galaxy-s25-ultra/metadata.ts
6
- var GALAXY_S25_ULTRA_META = {
7
- id: "galaxy-s25-ultra",
8
- name: "Galaxy S25 Ultra",
5
+ // src/android/galaxy-s25/metadata.ts
6
+ var GALAXY_S25_META = {
7
+ id: "galaxy-s25",
8
+ name: "Galaxy S25",
9
9
  platform: "android",
10
10
  year: 2025,
11
11
  screen: {
12
- width: 384,
13
- height: 824,
14
- physicalWidth: 1440,
15
- physicalHeight: 3088,
16
- dpr: 3.75,
12
+ width: 360,
13
+ height: 780,
14
+ physicalWidth: 1080,
15
+ physicalHeight: 2340,
16
+ dpr: 3,
17
17
  aspectRatio: "19.5:9",
18
18
  cornerRadius: 42,
19
- ppi: 505
19
+ ppi: 425
20
20
  }
21
21
  };
22
- var GALAXY_S25_ULTRA_LAYOUT = {
23
- meta: GALAXY_S25_ULTRA_META,
22
+ var GALAXY_S25_LAYOUT = {
23
+ meta: GALAXY_S25_META,
24
24
  safeArea: {
25
- portrait: { top: 38, bottom: 24, left: 0, right: 0 },
26
- landscape: { top: 0, bottom: 24, left: 38, right: 38 }
25
+ portrait: { top: 32, bottom: 24, left: 0, right: 0 },
26
+ landscape: { top: 0, bottom: 24, left: 32, right: 32 }
27
27
  },
28
28
  hardwareOverlays: {
29
29
  type: "punch-hole",
30
30
  portrait: {
31
- x: 187,
32
- // centered: (384 - 10) / 2 = 187
31
+ x: 176,
32
+ // centered: (360 - 9) / 2 ~ 176
33
33
  y: 12,
34
- width: 10,
35
- height: 10,
34
+ width: 9,
35
+ height: 9,
36
36
  shape: "circle",
37
- cornerRadius: 5
37
+ cornerRadius: 4.5
38
38
  }
39
39
  },
40
40
  statusBar: {
41
- height: 28,
41
+ height: 32,
42
42
  style: "fullwidth",
43
43
  hasTime: true,
44
44
  hasBattery: true,
@@ -51,12 +51,12 @@ var GALAXY_S25_ULTRA_LAYOUT = {
51
51
  visible: true
52
52
  },
53
53
  hardwareButtons: {
54
- volumeUp: { side: "right", yPosition: 190 },
55
- volumeDown: { side: "right", yPosition: 226 },
56
- power: { side: "right", yPosition: 276 }
54
+ volumeUp: { side: "right", yPosition: 180 },
55
+ volumeDown: { side: "right", yPosition: 214 },
56
+ power: { side: "right", yPosition: 260 }
57
57
  }
58
58
  };
59
- function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
59
+ function GalaxyS25SVG({ colorScheme = "dark", style }) {
60
60
  const frameColor = colorScheme === "dark" ? "#1c1c1e" : "#e5e5e7";
61
61
  const frameBorder = colorScheme === "dark" ? "#3a3a3c" : "#c7c7cc";
62
62
  const buttonColor = colorScheme === "dark" ? "#2c2c2e" : "#d1d1d6";
@@ -64,8 +64,8 @@ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
64
64
  const bezelSide = 12;
65
65
  const bezelTop = 18;
66
66
  const bezelBottom = 18;
67
- const screenW = 384;
68
- const screenH = 824;
67
+ const screenW = 360;
68
+ const screenH = 780;
69
69
  const totalW = screenW + bezelSide * 2;
70
70
  const totalH = screenH + bezelTop + bezelBottom;
71
71
  const cornerRadius = 42;
@@ -81,12 +81,12 @@ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
81
81
  style,
82
82
  children: [
83
83
  /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
84
- /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "frame-gradient-galaxy-s25-ultra", x1: "0", y1: "0", x2: "1", y2: "1", children: [
84
+ /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "frame-gradient-galaxy-s25", x1: "0", y1: "0", x2: "1", y2: "1", children: [
85
85
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: frameColor }),
86
86
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#262628" : "#ededef" }),
87
87
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: frameColor })
88
88
  ] }),
89
- /* @__PURE__ */ jsxRuntime.jsxs("mask", { id: "frame-screen-mask-galaxy-s25-ultra", children: [
89
+ /* @__PURE__ */ jsxRuntime.jsxs("mask", { id: "frame-screen-mask-galaxy-s25", children: [
90
90
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
91
91
  /* @__PURE__ */ jsxRuntime.jsx(
92
92
  "rect",
@@ -111,10 +111,10 @@ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
111
111
  height: totalH,
112
112
  rx: outerRadius,
113
113
  ry: outerRadius,
114
- fill: "url(#frame-gradient-galaxy-s25-ultra)",
114
+ fill: "url(#frame-gradient-galaxy-s25)",
115
115
  stroke: frameBorder,
116
116
  strokeWidth: "1.5",
117
- mask: "url(#frame-screen-mask-galaxy-s25-ultra)"
117
+ mask: "url(#frame-screen-mask-galaxy-s25)"
118
118
  }
119
119
  ),
120
120
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -136,8 +136,8 @@ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
136
136
  "data-zone": "hardware-overlay",
137
137
  "data-zone-type": "punch-hole-camera",
138
138
  cx: bezelSide + screenW / 2,
139
- cy: bezelTop + 17,
140
- r: "5",
139
+ cy: bezelTop + 16.5,
140
+ r: "4.5",
141
141
  fill: punchHoleColor
142
142
  }
143
143
  ),
@@ -148,7 +148,7 @@ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
148
148
  x: bezelSide,
149
149
  y: bezelTop,
150
150
  width: screenW,
151
- height: "38",
151
+ height: "32",
152
152
  fill: "transparent"
153
153
  }
154
154
  ),
@@ -171,7 +171,7 @@ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
171
171
  x: bezelSide,
172
172
  y: bezelTop,
173
173
  width: screenW,
174
- height: "28",
174
+ height: "32",
175
175
  fill: "transparent"
176
176
  }
177
177
  ),
@@ -195,7 +195,7 @@ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
195
195
  "data-button": "volume-up",
196
196
  "data-side": "right",
197
197
  x: totalW - 2,
198
- y: "190",
198
+ y: "180",
199
199
  width: "3",
200
200
  height: "28",
201
201
  rx: "1.5",
@@ -208,7 +208,7 @@ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
208
208
  "data-button": "volume-down",
209
209
  "data-side": "right",
210
210
  x: totalW - 2,
211
- y: "226",
211
+ y: "216",
212
212
  width: "3",
213
213
  height: "28",
214
214
  rx: "1.5",
@@ -221,7 +221,7 @@ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
221
221
  "data-button": "power",
222
222
  "data-side": "right",
223
223
  x: totalW - 2,
224
- y: "276",
224
+ y: "266",
225
225
  width: "3",
226
226
  height: "36",
227
227
  rx: "1.5",
@@ -238,53 +238,42 @@ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
238
238
  rx: "2",
239
239
  fill: colorScheme === "dark" ? "#111" : "#bbb"
240
240
  }
241
- ),
242
- /* @__PURE__ */ jsxRuntime.jsx(
243
- "rect",
244
- {
245
- x: totalW - bezelSide - 40,
246
- y: totalH - 4,
247
- width: "16",
248
- height: "3",
249
- rx: "1",
250
- fill: colorScheme === "dark" ? "#0a0a0a" : "#aaa"
251
- }
252
241
  )
253
242
  ]
254
243
  }
255
244
  );
256
245
  }
257
- var GALAXY_S25_ULTRA_FRAME = {
246
+ var GALAXY_S25_FRAME = {
258
247
  bezelTop: 18,
259
248
  bezelBottom: 18,
260
249
  bezelLeft: 12,
261
250
  bezelRight: 12,
262
- totalWidth: 408,
263
- totalHeight: 860,
264
- screenWidth: 384,
265
- screenHeight: 824,
251
+ totalWidth: 384,
252
+ totalHeight: 816,
253
+ screenWidth: 360,
254
+ screenHeight: 780,
266
255
  screenRadius: 42
267
256
  };
268
257
 
269
- // src/android/galaxy-s25/metadata.ts
270
- var GALAXY_S25_META = {
271
- id: "galaxy-s25",
272
- name: "Galaxy S25",
258
+ // src/android/galaxy-s25-edge/metadata.ts
259
+ var GALAXY_S25_EDGE_META = {
260
+ id: "galaxy-s25-edge",
261
+ name: "Galaxy S25 Edge",
273
262
  platform: "android",
274
263
  year: 2025,
275
264
  screen: {
276
- width: 360,
277
- height: 780,
278
- physicalWidth: 1080,
279
- physicalHeight: 2340,
280
- dpr: 3,
265
+ width: 382,
266
+ height: 824,
267
+ physicalWidth: 1440,
268
+ physicalHeight: 3120,
269
+ dpr: 3.75,
281
270
  aspectRatio: "19.5:9",
282
271
  cornerRadius: 42,
283
- ppi: 425
272
+ ppi: 510
284
273
  }
285
274
  };
286
- var GALAXY_S25_LAYOUT = {
287
- meta: GALAXY_S25_META,
275
+ var GALAXY_S25_EDGE_LAYOUT = {
276
+ meta: GALAXY_S25_EDGE_META,
288
277
  safeArea: {
289
278
  portrait: { top: 32, bottom: 24, left: 0, right: 0 },
290
279
  landscape: { top: 0, bottom: 24, left: 32, right: 32 }
@@ -292,13 +281,13 @@ var GALAXY_S25_LAYOUT = {
292
281
  hardwareOverlays: {
293
282
  type: "punch-hole",
294
283
  portrait: {
295
- x: 176,
296
- // centered: (360 - 9) / 2 ~ 176
284
+ x: 187,
285
+ // centered: (382 - 8) / 2 = 187
297
286
  y: 12,
298
- width: 9,
299
- height: 9,
287
+ width: 8,
288
+ height: 8,
300
289
  shape: "circle",
301
- cornerRadius: 4.5
290
+ cornerRadius: 4
302
291
  }
303
292
  },
304
293
  statusBar: {
@@ -315,25 +304,25 @@ var GALAXY_S25_LAYOUT = {
315
304
  visible: true
316
305
  },
317
306
  hardwareButtons: {
318
- volumeUp: { side: "right", yPosition: 180 },
319
- volumeDown: { side: "right", yPosition: 214 },
320
- power: { side: "right", yPosition: 260 }
307
+ volumeUp: { side: "right", yPosition: 185 },
308
+ volumeDown: { side: "right", yPosition: 220 },
309
+ power: { side: "right", yPosition: 268 }
321
310
  }
322
311
  };
323
- function GalaxyS25SVG({ colorScheme = "dark", style }) {
312
+ function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
324
313
  const frameColor = colorScheme === "dark" ? "#1c1c1e" : "#e5e5e7";
325
314
  const frameBorder = colorScheme === "dark" ? "#3a3a3c" : "#c7c7cc";
326
315
  const buttonColor = colorScheme === "dark" ? "#2c2c2e" : "#d1d1d6";
327
316
  const punchHoleColor = "#000000";
328
- const bezelSide = 12;
329
- const bezelTop = 18;
330
- const bezelBottom = 18;
331
- const screenW = 360;
332
- const screenH = 780;
317
+ const bezelSide = 8;
318
+ const bezelTop = 14;
319
+ const bezelBottom = 14;
320
+ const screenW = 382;
321
+ const screenH = 824;
333
322
  const totalW = screenW + bezelSide * 2;
334
323
  const totalH = screenH + bezelTop + bezelBottom;
335
324
  const cornerRadius = 42;
336
- const outerRadius = cornerRadius + 8;
325
+ const outerRadius = cornerRadius + 6;
337
326
  const screenRadius = cornerRadius;
338
327
  return /* @__PURE__ */ jsxRuntime.jsxs(
339
328
  "svg",
@@ -345,12 +334,12 @@ function GalaxyS25SVG({ colorScheme = "dark", style }) {
345
334
  style,
346
335
  children: [
347
336
  /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
348
- /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "frame-gradient-galaxy-s25", x1: "0", y1: "0", x2: "1", y2: "1", children: [
337
+ /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "frame-gradient-galaxy-s25-edge", x1: "0", y1: "0", x2: "1", y2: "1", children: [
349
338
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: frameColor }),
350
339
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#262628" : "#ededef" }),
351
340
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: frameColor })
352
341
  ] }),
353
- /* @__PURE__ */ jsxRuntime.jsxs("mask", { id: "frame-screen-mask-galaxy-s25", children: [
342
+ /* @__PURE__ */ jsxRuntime.jsxs("mask", { id: "frame-screen-mask-galaxy-s25-edge", children: [
354
343
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
355
344
  /* @__PURE__ */ jsxRuntime.jsx(
356
345
  "rect",
@@ -375,10 +364,10 @@ function GalaxyS25SVG({ colorScheme = "dark", style }) {
375
364
  height: totalH,
376
365
  rx: outerRadius,
377
366
  ry: outerRadius,
378
- fill: "url(#frame-gradient-galaxy-s25)",
367
+ fill: "url(#frame-gradient-galaxy-s25-edge)",
379
368
  stroke: frameBorder,
380
369
  strokeWidth: "1.5",
381
- mask: "url(#frame-screen-mask-galaxy-s25)"
370
+ mask: "url(#frame-screen-mask-galaxy-s25-edge)"
382
371
  }
383
372
  ),
384
373
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -400,8 +389,8 @@ function GalaxyS25SVG({ colorScheme = "dark", style }) {
400
389
  "data-zone": "hardware-overlay",
401
390
  "data-zone-type": "punch-hole-camera",
402
391
  cx: bezelSide + screenW / 2,
403
- cy: bezelTop + 16.5,
404
- r: "4.5",
392
+ cy: bezelTop + 16,
393
+ r: "4",
405
394
  fill: punchHoleColor
406
395
  }
407
396
  ),
@@ -459,7 +448,7 @@ function GalaxyS25SVG({ colorScheme = "dark", style }) {
459
448
  "data-button": "volume-up",
460
449
  "data-side": "right",
461
450
  x: totalW - 2,
462
- y: "180",
451
+ y: "186",
463
452
  width: "3",
464
453
  height: "28",
465
454
  rx: "1.5",
@@ -472,7 +461,7 @@ function GalaxyS25SVG({ colorScheme = "dark", style }) {
472
461
  "data-button": "volume-down",
473
462
  "data-side": "right",
474
463
  x: totalW - 2,
475
- y: "216",
464
+ y: "222",
476
465
  width: "3",
477
466
  height: "28",
478
467
  rx: "1.5",
@@ -485,7 +474,7 @@ function GalaxyS25SVG({ colorScheme = "dark", style }) {
485
474
  "data-button": "power",
486
475
  "data-side": "right",
487
476
  x: totalW - 2,
488
- y: "266",
477
+ y: "272",
489
478
  width: "3",
490
479
  height: "36",
491
480
  rx: "1.5",
@@ -507,55 +496,55 @@ function GalaxyS25SVG({ colorScheme = "dark", style }) {
507
496
  }
508
497
  );
509
498
  }
510
- var GALAXY_S25_FRAME = {
511
- bezelTop: 18,
512
- bezelBottom: 18,
513
- bezelLeft: 12,
514
- bezelRight: 12,
515
- totalWidth: 384,
516
- totalHeight: 816,
517
- screenWidth: 360,
518
- screenHeight: 780,
499
+ var GALAXY_S25_EDGE_FRAME = {
500
+ bezelTop: 14,
501
+ bezelBottom: 14,
502
+ bezelLeft: 8,
503
+ bezelRight: 8,
504
+ totalWidth: 398,
505
+ totalHeight: 852,
506
+ screenWidth: 382,
507
+ screenHeight: 824,
519
508
  screenRadius: 42
520
509
  };
521
510
 
522
- // src/android/galaxy-s25-edge/metadata.ts
523
- var GALAXY_S25_EDGE_META = {
524
- id: "galaxy-s25-edge",
525
- name: "Galaxy S25 Edge",
511
+ // src/android/galaxy-s25-ultra/metadata.ts
512
+ var GALAXY_S25_ULTRA_META = {
513
+ id: "galaxy-s25-ultra",
514
+ name: "Galaxy S25 Ultra",
526
515
  platform: "android",
527
516
  year: 2025,
528
517
  screen: {
529
- width: 382,
518
+ width: 384,
530
519
  height: 824,
531
520
  physicalWidth: 1440,
532
- physicalHeight: 3120,
521
+ physicalHeight: 3088,
533
522
  dpr: 3.75,
534
523
  aspectRatio: "19.5:9",
535
524
  cornerRadius: 42,
536
- ppi: 510
525
+ ppi: 505
537
526
  }
538
527
  };
539
- var GALAXY_S25_EDGE_LAYOUT = {
540
- meta: GALAXY_S25_EDGE_META,
528
+ var GALAXY_S25_ULTRA_LAYOUT = {
529
+ meta: GALAXY_S25_ULTRA_META,
541
530
  safeArea: {
542
- portrait: { top: 32, bottom: 24, left: 0, right: 0 },
543
- landscape: { top: 0, bottom: 24, left: 32, right: 32 }
531
+ portrait: { top: 38, bottom: 24, left: 0, right: 0 },
532
+ landscape: { top: 0, bottom: 24, left: 38, right: 38 }
544
533
  },
545
534
  hardwareOverlays: {
546
535
  type: "punch-hole",
547
536
  portrait: {
548
537
  x: 187,
549
- // centered: (382 - 8) / 2 = 187
538
+ // centered: (384 - 10) / 2 = 187
550
539
  y: 12,
551
- width: 8,
552
- height: 8,
540
+ width: 10,
541
+ height: 10,
553
542
  shape: "circle",
554
- cornerRadius: 4
543
+ cornerRadius: 5
555
544
  }
556
545
  },
557
546
  statusBar: {
558
- height: 32,
547
+ height: 28,
559
548
  style: "fullwidth",
560
549
  hasTime: true,
561
550
  hasBattery: true,
@@ -568,25 +557,25 @@ var GALAXY_S25_EDGE_LAYOUT = {
568
557
  visible: true
569
558
  },
570
559
  hardwareButtons: {
571
- volumeUp: { side: "right", yPosition: 185 },
572
- volumeDown: { side: "right", yPosition: 220 },
573
- power: { side: "right", yPosition: 268 }
560
+ volumeUp: { side: "right", yPosition: 190 },
561
+ volumeDown: { side: "right", yPosition: 226 },
562
+ power: { side: "right", yPosition: 276 }
574
563
  }
575
564
  };
576
- function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
565
+ function GalaxyS25UltraSVG({ colorScheme = "dark", style }) {
577
566
  const frameColor = colorScheme === "dark" ? "#1c1c1e" : "#e5e5e7";
578
567
  const frameBorder = colorScheme === "dark" ? "#3a3a3c" : "#c7c7cc";
579
568
  const buttonColor = colorScheme === "dark" ? "#2c2c2e" : "#d1d1d6";
580
569
  const punchHoleColor = "#000000";
581
- const bezelSide = 8;
582
- const bezelTop = 14;
583
- const bezelBottom = 14;
584
- const screenW = 382;
570
+ const bezelSide = 12;
571
+ const bezelTop = 18;
572
+ const bezelBottom = 18;
573
+ const screenW = 384;
585
574
  const screenH = 824;
586
575
  const totalW = screenW + bezelSide * 2;
587
576
  const totalH = screenH + bezelTop + bezelBottom;
588
577
  const cornerRadius = 42;
589
- const outerRadius = cornerRadius + 6;
578
+ const outerRadius = cornerRadius + 8;
590
579
  const screenRadius = cornerRadius;
591
580
  return /* @__PURE__ */ jsxRuntime.jsxs(
592
581
  "svg",
@@ -598,12 +587,12 @@ function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
598
587
  style,
599
588
  children: [
600
589
  /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
601
- /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "frame-gradient-galaxy-s25-edge", x1: "0", y1: "0", x2: "1", y2: "1", children: [
590
+ /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "frame-gradient-galaxy-s25-ultra", x1: "0", y1: "0", x2: "1", y2: "1", children: [
602
591
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: frameColor }),
603
592
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#262628" : "#ededef" }),
604
593
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: frameColor })
605
594
  ] }),
606
- /* @__PURE__ */ jsxRuntime.jsxs("mask", { id: "frame-screen-mask-galaxy-s25-edge", children: [
595
+ /* @__PURE__ */ jsxRuntime.jsxs("mask", { id: "frame-screen-mask-galaxy-s25-ultra", children: [
607
596
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
608
597
  /* @__PURE__ */ jsxRuntime.jsx(
609
598
  "rect",
@@ -628,10 +617,10 @@ function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
628
617
  height: totalH,
629
618
  rx: outerRadius,
630
619
  ry: outerRadius,
631
- fill: "url(#frame-gradient-galaxy-s25-edge)",
620
+ fill: "url(#frame-gradient-galaxy-s25-ultra)",
632
621
  stroke: frameBorder,
633
622
  strokeWidth: "1.5",
634
- mask: "url(#frame-screen-mask-galaxy-s25-edge)"
623
+ mask: "url(#frame-screen-mask-galaxy-s25-ultra)"
635
624
  }
636
625
  ),
637
626
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -653,8 +642,8 @@ function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
653
642
  "data-zone": "hardware-overlay",
654
643
  "data-zone-type": "punch-hole-camera",
655
644
  cx: bezelSide + screenW / 2,
656
- cy: bezelTop + 16,
657
- r: "4",
645
+ cy: bezelTop + 17,
646
+ r: "5",
658
647
  fill: punchHoleColor
659
648
  }
660
649
  ),
@@ -665,7 +654,7 @@ function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
665
654
  x: bezelSide,
666
655
  y: bezelTop,
667
656
  width: screenW,
668
- height: "32",
657
+ height: "38",
669
658
  fill: "transparent"
670
659
  }
671
660
  ),
@@ -688,7 +677,7 @@ function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
688
677
  x: bezelSide,
689
678
  y: bezelTop,
690
679
  width: screenW,
691
- height: "32",
680
+ height: "28",
692
681
  fill: "transparent"
693
682
  }
694
683
  ),
@@ -712,7 +701,7 @@ function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
712
701
  "data-button": "volume-up",
713
702
  "data-side": "right",
714
703
  x: totalW - 2,
715
- y: "186",
704
+ y: "190",
716
705
  width: "3",
717
706
  height: "28",
718
707
  rx: "1.5",
@@ -725,7 +714,7 @@ function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
725
714
  "data-button": "volume-down",
726
715
  "data-side": "right",
727
716
  x: totalW - 2,
728
- y: "222",
717
+ y: "226",
729
718
  width: "3",
730
719
  height: "28",
731
720
  rx: "1.5",
@@ -738,7 +727,7 @@ function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
738
727
  "data-button": "power",
739
728
  "data-side": "right",
740
729
  x: totalW - 2,
741
- y: "272",
730
+ y: "276",
742
731
  width: "3",
743
732
  height: "36",
744
733
  rx: "1.5",
@@ -755,42 +744,53 @@ function GalaxyS25EdgeSVG({ colorScheme = "dark", style }) {
755
744
  rx: "2",
756
745
  fill: colorScheme === "dark" ? "#111" : "#bbb"
757
746
  }
747
+ ),
748
+ /* @__PURE__ */ jsxRuntime.jsx(
749
+ "rect",
750
+ {
751
+ x: totalW - bezelSide - 40,
752
+ y: totalH - 4,
753
+ width: "16",
754
+ height: "3",
755
+ rx: "1",
756
+ fill: colorScheme === "dark" ? "#0a0a0a" : "#aaa"
757
+ }
758
758
  )
759
759
  ]
760
760
  }
761
761
  );
762
762
  }
763
- var GALAXY_S25_EDGE_FRAME = {
764
- bezelTop: 14,
765
- bezelBottom: 14,
766
- bezelLeft: 8,
767
- bezelRight: 8,
768
- totalWidth: 398,
769
- totalHeight: 852,
770
- screenWidth: 382,
763
+ var GALAXY_S25_ULTRA_FRAME = {
764
+ bezelTop: 18,
765
+ bezelBottom: 18,
766
+ bezelLeft: 12,
767
+ bezelRight: 12,
768
+ totalWidth: 408,
769
+ totalHeight: 860,
770
+ screenWidth: 384,
771
771
  screenHeight: 824,
772
772
  screenRadius: 42
773
773
  };
774
774
 
775
- // src/android/pixel-9-pro-xl/metadata.ts
776
- var PIXEL_9_PRO_XL_META = {
777
- id: "pixel-9-pro-xl",
778
- name: "Pixel 9 Pro XL",
775
+ // src/android/pixel-9-pro/metadata.ts
776
+ var PIXEL_9_PRO_META = {
777
+ id: "pixel-9-pro",
778
+ name: "Pixel 9 Pro",
779
779
  platform: "android",
780
780
  year: 2024,
781
781
  screen: {
782
- width: 448,
783
- height: 968,
784
- physicalWidth: 1344,
785
- physicalHeight: 2904,
782
+ width: 393,
783
+ height: 851,
784
+ physicalWidth: 1080,
785
+ physicalHeight: 2340,
786
786
  dpr: 3,
787
787
  aspectRatio: "19.5:9",
788
788
  cornerRadius: 48,
789
- ppi: 486
789
+ ppi: 423
790
790
  }
791
791
  };
792
- var PIXEL_9_PRO_XL_LAYOUT = {
793
- meta: PIXEL_9_PRO_XL_META,
792
+ var PIXEL_9_PRO_LAYOUT = {
793
+ meta: PIXEL_9_PRO_META,
794
794
  safeArea: {
795
795
  portrait: { top: 32, bottom: 24, left: 0, right: 0 },
796
796
  landscape: { top: 0, bottom: 24, left: 32, right: 32 }
@@ -798,13 +798,13 @@ var PIXEL_9_PRO_XL_LAYOUT = {
798
798
  hardwareOverlays: {
799
799
  type: "punch-hole",
800
800
  portrait: {
801
- x: 219,
802
- // centered: (448 - 11) / 2 ~ 219
801
+ x: 192,
802
+ // centered: (393 - 10) / 2 ~ 192
803
803
  y: 12,
804
- width: 11,
805
- height: 11,
804
+ width: 10,
805
+ height: 10,
806
806
  shape: "circle",
807
- cornerRadius: 5.5
807
+ cornerRadius: 5
808
808
  }
809
809
  },
810
810
  statusBar: {
@@ -821,12 +821,12 @@ var PIXEL_9_PRO_XL_LAYOUT = {
821
821
  visible: true
822
822
  },
823
823
  hardwareButtons: {
824
- volumeUp: { side: "left", yPosition: 195 },
825
- volumeDown: { side: "left", yPosition: 235 },
826
- power: { side: "right", yPosition: 215 }
824
+ volumeUp: { side: "left", yPosition: 185 },
825
+ volumeDown: { side: "left", yPosition: 220 },
826
+ power: { side: "right", yPosition: 205 }
827
827
  }
828
828
  };
829
- function Pixel9ProXLSVG({ colorScheme = "dark", style }) {
829
+ function Pixel9ProSVG({ colorScheme = "dark", style }) {
830
830
  const frameColor = colorScheme === "dark" ? "#1c1c1e" : "#e5e5e7";
831
831
  const frameBorder = colorScheme === "dark" ? "#3a3a3c" : "#c7c7cc";
832
832
  const buttonColor = colorScheme === "dark" ? "#2c2c2e" : "#d1d1d6";
@@ -834,8 +834,8 @@ function Pixel9ProXLSVG({ colorScheme = "dark", style }) {
834
834
  const bezelSide = 12;
835
835
  const bezelTop = 18;
836
836
  const bezelBottom = 18;
837
- const screenW = 448;
838
- const screenH = 968;
837
+ const screenW = 393;
838
+ const screenH = 851;
839
839
  const totalW = screenW + bezelSide * 2;
840
840
  const totalH = screenH + bezelTop + bezelBottom;
841
841
  const cornerRadius = 48;
@@ -851,12 +851,12 @@ function Pixel9ProXLSVG({ colorScheme = "dark", style }) {
851
851
  style,
852
852
  children: [
853
853
  /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
854
- /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "frame-gradient-pixel-9-pro-xl", x1: "0", y1: "0", x2: "1", y2: "1", children: [
854
+ /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "frame-gradient-pixel-9-pro", x1: "0", y1: "0", x2: "1", y2: "1", children: [
855
855
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: frameColor }),
856
856
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#262628" : "#ededef" }),
857
857
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: frameColor })
858
858
  ] }),
859
- /* @__PURE__ */ jsxRuntime.jsxs("mask", { id: "frame-screen-mask-pixel-9-pro-xl", children: [
859
+ /* @__PURE__ */ jsxRuntime.jsxs("mask", { id: "frame-screen-mask-pixel-9-pro", children: [
860
860
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
861
861
  /* @__PURE__ */ jsxRuntime.jsx(
862
862
  "rect",
@@ -881,10 +881,10 @@ function Pixel9ProXLSVG({ colorScheme = "dark", style }) {
881
881
  height: totalH,
882
882
  rx: outerRadius,
883
883
  ry: outerRadius,
884
- fill: "url(#frame-gradient-pixel-9-pro-xl)",
884
+ fill: "url(#frame-gradient-pixel-9-pro)",
885
885
  stroke: frameBorder,
886
886
  strokeWidth: "1.5",
887
- mask: "url(#frame-screen-mask-pixel-9-pro-xl)"
887
+ mask: "url(#frame-screen-mask-pixel-9-pro)"
888
888
  }
889
889
  ),
890
890
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -906,8 +906,8 @@ function Pixel9ProXLSVG({ colorScheme = "dark", style }) {
906
906
  "data-zone": "hardware-overlay",
907
907
  "data-zone-type": "punch-hole-camera",
908
908
  cx: bezelSide + screenW / 2,
909
- cy: bezelTop + 17.5,
910
- r: "5.5",
909
+ cy: bezelTop + 17,
910
+ r: "5",
911
911
  fill: punchHoleColor
912
912
  }
913
913
  ),
@@ -965,7 +965,7 @@ function Pixel9ProXLSVG({ colorScheme = "dark", style }) {
965
965
  "data-button": "power",
966
966
  "data-side": "right",
967
967
  x: totalW - 2,
968
- y: "220",
968
+ y: "210",
969
969
  width: "3",
970
970
  height: "36",
971
971
  rx: "1.5",
@@ -978,7 +978,7 @@ function Pixel9ProXLSVG({ colorScheme = "dark", style }) {
978
978
  "data-button": "volume-up",
979
979
  "data-side": "left",
980
980
  x: -1,
981
- y: "250",
981
+ y: "240",
982
982
  width: "3",
983
983
  height: "28",
984
984
  rx: "1.5",
@@ -991,7 +991,7 @@ function Pixel9ProXLSVG({ colorScheme = "dark", style }) {
991
991
  "data-button": "volume-down",
992
992
  "data-side": "left",
993
993
  x: -1,
994
- y: "286",
994
+ y: "276",
995
995
  width: "3",
996
996
  height: "28",
997
997
  rx: "1.5",
@@ -1013,37 +1013,37 @@ function Pixel9ProXLSVG({ colorScheme = "dark", style }) {
1013
1013
  }
1014
1014
  );
1015
1015
  }
1016
- var PIXEL_9_PRO_XL_FRAME = {
1016
+ var PIXEL_9_PRO_FRAME = {
1017
1017
  bezelTop: 18,
1018
1018
  bezelBottom: 18,
1019
1019
  bezelLeft: 12,
1020
1020
  bezelRight: 12,
1021
- totalWidth: 472,
1022
- totalHeight: 1004,
1023
- screenWidth: 448,
1024
- screenHeight: 968,
1021
+ totalWidth: 417,
1022
+ totalHeight: 887,
1023
+ screenWidth: 393,
1024
+ screenHeight: 851,
1025
1025
  screenRadius: 48
1026
1026
  };
1027
1027
 
1028
- // src/android/pixel-9-pro/metadata.ts
1029
- var PIXEL_9_PRO_META = {
1030
- id: "pixel-9-pro",
1031
- name: "Pixel 9 Pro",
1028
+ // src/android/pixel-9-pro-xl/metadata.ts
1029
+ var PIXEL_9_PRO_XL_META = {
1030
+ id: "pixel-9-pro-xl",
1031
+ name: "Pixel 9 Pro XL",
1032
1032
  platform: "android",
1033
1033
  year: 2024,
1034
1034
  screen: {
1035
- width: 393,
1036
- height: 851,
1037
- physicalWidth: 1080,
1038
- physicalHeight: 2340,
1035
+ width: 448,
1036
+ height: 968,
1037
+ physicalWidth: 1344,
1038
+ physicalHeight: 2904,
1039
1039
  dpr: 3,
1040
1040
  aspectRatio: "19.5:9",
1041
1041
  cornerRadius: 48,
1042
- ppi: 423
1042
+ ppi: 486
1043
1043
  }
1044
1044
  };
1045
- var PIXEL_9_PRO_LAYOUT = {
1046
- meta: PIXEL_9_PRO_META,
1045
+ var PIXEL_9_PRO_XL_LAYOUT = {
1046
+ meta: PIXEL_9_PRO_XL_META,
1047
1047
  safeArea: {
1048
1048
  portrait: { top: 32, bottom: 24, left: 0, right: 0 },
1049
1049
  landscape: { top: 0, bottom: 24, left: 32, right: 32 }
@@ -1051,13 +1051,13 @@ var PIXEL_9_PRO_LAYOUT = {
1051
1051
  hardwareOverlays: {
1052
1052
  type: "punch-hole",
1053
1053
  portrait: {
1054
- x: 192,
1055
- // centered: (393 - 10) / 2 ~ 192
1054
+ x: 219,
1055
+ // centered: (448 - 11) / 2 ~ 219
1056
1056
  y: 12,
1057
- width: 10,
1058
- height: 10,
1057
+ width: 11,
1058
+ height: 11,
1059
1059
  shape: "circle",
1060
- cornerRadius: 5
1060
+ cornerRadius: 5.5
1061
1061
  }
1062
1062
  },
1063
1063
  statusBar: {
@@ -1074,12 +1074,12 @@ var PIXEL_9_PRO_LAYOUT = {
1074
1074
  visible: true
1075
1075
  },
1076
1076
  hardwareButtons: {
1077
- volumeUp: { side: "left", yPosition: 185 },
1078
- volumeDown: { side: "left", yPosition: 220 },
1079
- power: { side: "right", yPosition: 205 }
1077
+ volumeUp: { side: "left", yPosition: 195 },
1078
+ volumeDown: { side: "left", yPosition: 235 },
1079
+ power: { side: "right", yPosition: 215 }
1080
1080
  }
1081
1081
  };
1082
- function Pixel9ProSVG({ colorScheme = "dark", style }) {
1082
+ function Pixel9ProXLSVG({ colorScheme = "dark", style }) {
1083
1083
  const frameColor = colorScheme === "dark" ? "#1c1c1e" : "#e5e5e7";
1084
1084
  const frameBorder = colorScheme === "dark" ? "#3a3a3c" : "#c7c7cc";
1085
1085
  const buttonColor = colorScheme === "dark" ? "#2c2c2e" : "#d1d1d6";
@@ -1087,8 +1087,8 @@ function Pixel9ProSVG({ colorScheme = "dark", style }) {
1087
1087
  const bezelSide = 12;
1088
1088
  const bezelTop = 18;
1089
1089
  const bezelBottom = 18;
1090
- const screenW = 393;
1091
- const screenH = 851;
1090
+ const screenW = 448;
1091
+ const screenH = 968;
1092
1092
  const totalW = screenW + bezelSide * 2;
1093
1093
  const totalH = screenH + bezelTop + bezelBottom;
1094
1094
  const cornerRadius = 48;
@@ -1104,12 +1104,12 @@ function Pixel9ProSVG({ colorScheme = "dark", style }) {
1104
1104
  style,
1105
1105
  children: [
1106
1106
  /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
1107
- /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "frame-gradient-pixel-9-pro", x1: "0", y1: "0", x2: "1", y2: "1", children: [
1107
+ /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "frame-gradient-pixel-9-pro-xl", x1: "0", y1: "0", x2: "1", y2: "1", children: [
1108
1108
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: frameColor }),
1109
1109
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#262628" : "#ededef" }),
1110
1110
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: frameColor })
1111
1111
  ] }),
1112
- /* @__PURE__ */ jsxRuntime.jsxs("mask", { id: "frame-screen-mask-pixel-9-pro", children: [
1112
+ /* @__PURE__ */ jsxRuntime.jsxs("mask", { id: "frame-screen-mask-pixel-9-pro-xl", children: [
1113
1113
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
1114
1114
  /* @__PURE__ */ jsxRuntime.jsx(
1115
1115
  "rect",
@@ -1134,10 +1134,10 @@ function Pixel9ProSVG({ colorScheme = "dark", style }) {
1134
1134
  height: totalH,
1135
1135
  rx: outerRadius,
1136
1136
  ry: outerRadius,
1137
- fill: "url(#frame-gradient-pixel-9-pro)",
1137
+ fill: "url(#frame-gradient-pixel-9-pro-xl)",
1138
1138
  stroke: frameBorder,
1139
1139
  strokeWidth: "1.5",
1140
- mask: "url(#frame-screen-mask-pixel-9-pro)"
1140
+ mask: "url(#frame-screen-mask-pixel-9-pro-xl)"
1141
1141
  }
1142
1142
  ),
1143
1143
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1159,8 +1159,8 @@ function Pixel9ProSVG({ colorScheme = "dark", style }) {
1159
1159
  "data-zone": "hardware-overlay",
1160
1160
  "data-zone-type": "punch-hole-camera",
1161
1161
  cx: bezelSide + screenW / 2,
1162
- cy: bezelTop + 17,
1163
- r: "5",
1162
+ cy: bezelTop + 17.5,
1163
+ r: "5.5",
1164
1164
  fill: punchHoleColor
1165
1165
  }
1166
1166
  ),
@@ -1218,7 +1218,7 @@ function Pixel9ProSVG({ colorScheme = "dark", style }) {
1218
1218
  "data-button": "power",
1219
1219
  "data-side": "right",
1220
1220
  x: totalW - 2,
1221
- y: "210",
1221
+ y: "220",
1222
1222
  width: "3",
1223
1223
  height: "36",
1224
1224
  rx: "1.5",
@@ -1231,7 +1231,7 @@ function Pixel9ProSVG({ colorScheme = "dark", style }) {
1231
1231
  "data-button": "volume-up",
1232
1232
  "data-side": "left",
1233
1233
  x: -1,
1234
- y: "240",
1234
+ y: "250",
1235
1235
  width: "3",
1236
1236
  height: "28",
1237
1237
  rx: "1.5",
@@ -1244,7 +1244,7 @@ function Pixel9ProSVG({ colorScheme = "dark", style }) {
1244
1244
  "data-button": "volume-down",
1245
1245
  "data-side": "left",
1246
1246
  x: -1,
1247
- y: "276",
1247
+ y: "286",
1248
1248
  width: "3",
1249
1249
  height: "28",
1250
1250
  rx: "1.5",
@@ -1266,15 +1266,15 @@ function Pixel9ProSVG({ colorScheme = "dark", style }) {
1266
1266
  }
1267
1267
  );
1268
1268
  }
1269
- var PIXEL_9_PRO_FRAME = {
1269
+ var PIXEL_9_PRO_XL_FRAME = {
1270
1270
  bezelTop: 18,
1271
1271
  bezelBottom: 18,
1272
1272
  bezelLeft: 12,
1273
1273
  bezelRight: 12,
1274
- totalWidth: 417,
1275
- totalHeight: 887,
1276
- screenWidth: 393,
1277
- screenHeight: 851,
1274
+ totalWidth: 472,
1275
+ totalHeight: 1004,
1276
+ screenWidth: 448,
1277
+ screenHeight: 968,
1278
1278
  screenRadius: 48
1279
1279
  };
1280
1280
 
@@ -1298,5 +1298,5 @@ exports.PIXEL_9_PRO_XL_LAYOUT = PIXEL_9_PRO_XL_LAYOUT;
1298
1298
  exports.PIXEL_9_PRO_XL_META = PIXEL_9_PRO_XL_META;
1299
1299
  exports.Pixel9ProSVG = Pixel9ProSVG;
1300
1300
  exports.Pixel9ProXLSVG = Pixel9ProXLSVG;
1301
- //# sourceMappingURL=chunk-BXBG5BY7.cjs.map
1302
- //# sourceMappingURL=chunk-BXBG5BY7.cjs.map
1301
+ //# sourceMappingURL=chunk-FOTZN6UL.cjs.map
1302
+ //# sourceMappingURL=chunk-FOTZN6UL.cjs.map