@biela.dev/devices 1.5.0 → 1.6.1

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