@biela.dev/devices 0.1.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.
@@ -1,1749 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
-
3
- // src/ios/iphone-17-pro-max/metadata.ts
4
- var IPHONE_17_PRO_MAX_META = {
5
- id: "iphone-17-pro-max",
6
- name: "iPhone 17 Pro Max",
7
- platform: "ios",
8
- year: 2025,
9
- screen: {
10
- width: 440,
11
- height: 956,
12
- physicalWidth: 1320,
13
- physicalHeight: 2868,
14
- dpr: 3,
15
- aspectRatio: "19.5:9",
16
- cornerRadius: 55,
17
- ppi: 460
18
- }
19
- };
20
- var IPHONE_17_PRO_MAX_LAYOUT = {
21
- meta: IPHONE_17_PRO_MAX_META,
22
- safeArea: {
23
- portrait: { top: 62, bottom: 34, left: 0, right: 0 },
24
- landscape: { top: 20, bottom: 20, left: 62, right: 62 }
25
- },
26
- hardwareOverlays: {
27
- type: "dynamic-island",
28
- portrait: {
29
- x: 157,
30
- // centered: (440 - 126) / 2 = 157
31
- y: 11,
32
- width: 126,
33
- height: 37,
34
- shape: "pill",
35
- cornerRadius: 18.5
36
- }
37
- },
38
- statusBar: {
39
- height: 54,
40
- style: "dynamic-island",
41
- hasTime: true,
42
- hasBattery: true,
43
- hasSignal: true
44
- },
45
- homeIndicator: {
46
- type: "swipe-bar",
47
- height: 5,
48
- width: 134,
49
- visible: true
50
- },
51
- hardwareButtons: {
52
- volumeUp: { side: "left", yPosition: 200 },
53
- volumeDown: { side: "left", yPosition: 240 },
54
- power: { side: "right", yPosition: 220 },
55
- actionButton: { side: "left", yPosition: 250 },
56
- cameraControl: { side: "right", yPosition: 500 }
57
- }
58
- };
59
- function IPhone17ProMaxSVG({ colorScheme = "dark", style }) {
60
- const frameColor = colorScheme === "dark" ? "#1a1a1a" : "#e8e8e8";
61
- const frameBorder = colorScheme === "dark" ? "#333" : "#ccc";
62
- const buttonColor = colorScheme === "dark" ? "#2a2a2a" : "#d0d0d0";
63
- const islandColor = "#000000";
64
- const bezelSide = 15;
65
- const bezelTop = 23;
66
- const bezelBottom = 23;
67
- const screenW = 440;
68
- const screenH = 956;
69
- const totalW = screenW + bezelSide * 2;
70
- const totalH = screenH + bezelTop + bezelBottom;
71
- const outerRadius = 62;
72
- const screenRadius = 55;
73
- return /* @__PURE__ */ jsxs(
74
- "svg",
75
- {
76
- viewBox: `0 0 ${totalW} ${totalH}`,
77
- width: totalW,
78
- height: totalH,
79
- xmlns: "http://www.w3.org/2000/svg",
80
- style,
81
- children: [
82
- /* @__PURE__ */ jsxs("defs", { children: [
83
- /* @__PURE__ */ jsxs("linearGradient", { id: "frame-gradient-iphone-17-pro-max", x1: "0", y1: "0", x2: "1", y2: "1", children: [
84
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: frameColor }),
85
- /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#252525" : "#f0f0f0" }),
86
- /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: frameColor })
87
- ] }),
88
- /* @__PURE__ */ jsxs("mask", { id: "frame-screen-mask-iphone-17-pro-max", children: [
89
- /* @__PURE__ */ jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
90
- /* @__PURE__ */ jsx(
91
- "rect",
92
- {
93
- x: bezelSide,
94
- y: bezelTop,
95
- width: screenW,
96
- height: screenH,
97
- rx: screenRadius,
98
- ry: screenRadius,
99
- fill: "black"
100
- }
101
- )
102
- ] })
103
- ] }),
104
- /* @__PURE__ */ jsx(
105
- "rect",
106
- {
107
- x: "0",
108
- y: "0",
109
- width: totalW,
110
- height: totalH,
111
- rx: outerRadius,
112
- ry: outerRadius,
113
- fill: "url(#frame-gradient-iphone-17-pro-max)",
114
- stroke: frameBorder,
115
- strokeWidth: "1.5",
116
- mask: "url(#frame-screen-mask-iphone-17-pro-max)"
117
- }
118
- ),
119
- /* @__PURE__ */ jsx(
120
- "rect",
121
- {
122
- "data-zone": "screen-area",
123
- x: bezelSide,
124
- y: bezelTop,
125
- width: screenW,
126
- height: screenH,
127
- rx: screenRadius,
128
- ry: screenRadius,
129
- fill: "none"
130
- }
131
- ),
132
- /* @__PURE__ */ jsx(
133
- "rect",
134
- {
135
- "data-zone": "hardware-overlay",
136
- "data-zone-type": "dynamic-island",
137
- "data-zone-shape": "pill",
138
- x: bezelSide + 157,
139
- y: bezelTop + 11,
140
- width: "126",
141
- height: "37",
142
- rx: "18.5",
143
- ry: "18.5",
144
- fill: islandColor
145
- }
146
- ),
147
- /* @__PURE__ */ jsx(
148
- "rect",
149
- {
150
- "data-zone": "safe-area-top-inset",
151
- x: bezelSide,
152
- y: bezelTop,
153
- width: screenW,
154
- height: "62",
155
- fill: "transparent"
156
- }
157
- ),
158
- /* @__PURE__ */ jsx(
159
- "rect",
160
- {
161
- "data-zone": "safe-area-bottom-inset",
162
- x: bezelSide,
163
- y: bezelTop + screenH - 34,
164
- width: screenW,
165
- height: "34",
166
- fill: "transparent"
167
- }
168
- ),
169
- /* @__PURE__ */ jsx(
170
- "rect",
171
- {
172
- "data-zone": "status-bar",
173
- "data-zone-style": "dynamic-island",
174
- x: bezelSide,
175
- y: bezelTop,
176
- width: screenW,
177
- height: "54",
178
- fill: "transparent"
179
- }
180
- ),
181
- /* @__PURE__ */ jsx(
182
- "rect",
183
- {
184
- "data-zone": "home-indicator",
185
- "data-zone-type": "swipe-bar",
186
- x: bezelSide + (screenW - 134) / 2,
187
- y: bezelTop + screenH - 13,
188
- width: "134",
189
- height: "5",
190
- rx: "2.5",
191
- ry: "2.5",
192
- fill: "rgba(255,255,255,0.3)"
193
- }
194
- ),
195
- /* @__PURE__ */ jsx(
196
- "rect",
197
- {
198
- "data-button": "volume-up",
199
- "data-side": "left",
200
- x: "-1",
201
- y: "200",
202
- width: "3",
203
- height: "32",
204
- rx: "1.5",
205
- fill: buttonColor
206
- }
207
- ),
208
- /* @__PURE__ */ jsx(
209
- "rect",
210
- {
211
- "data-button": "volume-down",
212
- "data-side": "left",
213
- x: "-1",
214
- y: "240",
215
- width: "3",
216
- height: "32",
217
- rx: "1.5",
218
- fill: buttonColor
219
- }
220
- ),
221
- /* @__PURE__ */ jsx(
222
- "rect",
223
- {
224
- "data-button": "action",
225
- "data-side": "left",
226
- x: "-1",
227
- y: "170",
228
- width: "3",
229
- height: "20",
230
- rx: "1.5",
231
- fill: buttonColor
232
- }
233
- ),
234
- /* @__PURE__ */ jsx(
235
- "rect",
236
- {
237
- "data-button": "power",
238
- "data-side": "right",
239
- x: totalW - 2,
240
- y: "220",
241
- width: "3",
242
- height: "40",
243
- rx: "1.5",
244
- fill: buttonColor
245
- }
246
- ),
247
- /* @__PURE__ */ jsx(
248
- "circle",
249
- {
250
- "data-button": "camera",
251
- "data-side": "right",
252
- cx: totalW - 0.5,
253
- cy: "500",
254
- r: "6",
255
- fill: buttonColor,
256
- stroke: frameBorder,
257
- strokeWidth: "0.5"
258
- }
259
- ),
260
- /* @__PURE__ */ jsx(
261
- "rect",
262
- {
263
- x: (totalW - 24) / 2,
264
- y: totalH - 5,
265
- width: "24",
266
- height: "4",
267
- rx: "2",
268
- fill: colorScheme === "dark" ? "#111" : "#bbb"
269
- }
270
- ),
271
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
272
- "circle",
273
- {
274
- cx: totalW / 2 - 30 + i * 6,
275
- cy: totalH - 8,
276
- r: "1.2",
277
- fill: colorScheme === "dark" ? "#111" : "#aaa"
278
- },
279
- `speaker-l-${i}`
280
- )),
281
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
282
- "circle",
283
- {
284
- cx: totalW / 2 + 8 + i * 6,
285
- cy: totalH - 8,
286
- r: "1.2",
287
- fill: colorScheme === "dark" ? "#111" : "#aaa"
288
- },
289
- `speaker-r-${i}`
290
- ))
291
- ]
292
- }
293
- );
294
- }
295
- var IPHONE_17_PRO_MAX_FRAME = {
296
- bezelTop: 23,
297
- bezelBottom: 23,
298
- bezelLeft: 15,
299
- bezelRight: 15,
300
- totalWidth: 470,
301
- totalHeight: 1002,
302
- screenWidth: 440,
303
- screenHeight: 956,
304
- screenRadius: 55
305
- };
306
-
307
- // src/ios/iphone-17-pro/metadata.ts
308
- var IPHONE_17_PRO_META = {
309
- id: "iphone-17-pro",
310
- name: "iPhone 17 Pro",
311
- platform: "ios",
312
- year: 2025,
313
- screen: {
314
- width: 402,
315
- height: 874,
316
- physicalWidth: 1206,
317
- physicalHeight: 2622,
318
- dpr: 3,
319
- aspectRatio: "19.5:9",
320
- cornerRadius: 55,
321
- ppi: 460
322
- }
323
- };
324
- var IPHONE_17_PRO_LAYOUT = {
325
- meta: IPHONE_17_PRO_META,
326
- safeArea: {
327
- portrait: { top: 62, bottom: 34, left: 0, right: 0 },
328
- landscape: { top: 20, bottom: 20, left: 62, right: 62 }
329
- },
330
- hardwareOverlays: {
331
- type: "dynamic-island",
332
- portrait: {
333
- x: 138,
334
- // centered: (402 - 126) / 2 = 138
335
- y: 11,
336
- width: 126,
337
- height: 37,
338
- shape: "pill",
339
- cornerRadius: 18.5
340
- }
341
- },
342
- statusBar: {
343
- height: 54,
344
- style: "dynamic-island",
345
- hasTime: true,
346
- hasBattery: true,
347
- hasSignal: true
348
- },
349
- homeIndicator: {
350
- type: "swipe-bar",
351
- height: 5,
352
- width: 134,
353
- visible: true
354
- },
355
- hardwareButtons: {
356
- volumeUp: { side: "left", yPosition: 200 },
357
- volumeDown: { side: "left", yPosition: 240 },
358
- power: { side: "right", yPosition: 220 },
359
- actionButton: { side: "left", yPosition: 250 },
360
- cameraControl: { side: "right", yPosition: 500 }
361
- }
362
- };
363
- function IPhone17ProSVG({ colorScheme = "dark", style }) {
364
- const frameColor = colorScheme === "dark" ? "#1a1a1a" : "#e8e8e8";
365
- const frameBorder = colorScheme === "dark" ? "#333" : "#ccc";
366
- const buttonColor = colorScheme === "dark" ? "#2a2a2a" : "#d0d0d0";
367
- const islandColor = "#000000";
368
- const bezelSide = 15;
369
- const bezelTop = 23;
370
- const bezelBottom = 23;
371
- const screenW = 402;
372
- const screenH = 874;
373
- const totalW = screenW + bezelSide * 2;
374
- const totalH = screenH + bezelTop + bezelBottom;
375
- const outerRadius = 62;
376
- const screenRadius = 55;
377
- return /* @__PURE__ */ jsxs(
378
- "svg",
379
- {
380
- viewBox: `0 0 ${totalW} ${totalH}`,
381
- width: totalW,
382
- height: totalH,
383
- xmlns: "http://www.w3.org/2000/svg",
384
- style,
385
- children: [
386
- /* @__PURE__ */ jsxs("defs", { children: [
387
- /* @__PURE__ */ jsxs("linearGradient", { id: "frame-gradient-iphone-17-pro", x1: "0", y1: "0", x2: "1", y2: "1", children: [
388
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: frameColor }),
389
- /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#252525" : "#f0f0f0" }),
390
- /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: frameColor })
391
- ] }),
392
- /* @__PURE__ */ jsxs("mask", { id: "frame-screen-mask-iphone-17-pro", children: [
393
- /* @__PURE__ */ jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
394
- /* @__PURE__ */ jsx(
395
- "rect",
396
- {
397
- x: bezelSide,
398
- y: bezelTop,
399
- width: screenW,
400
- height: screenH,
401
- rx: screenRadius,
402
- ry: screenRadius,
403
- fill: "black"
404
- }
405
- )
406
- ] })
407
- ] }),
408
- /* @__PURE__ */ jsx(
409
- "rect",
410
- {
411
- x: "0",
412
- y: "0",
413
- width: totalW,
414
- height: totalH,
415
- rx: outerRadius,
416
- ry: outerRadius,
417
- fill: "url(#frame-gradient-iphone-17-pro)",
418
- stroke: frameBorder,
419
- strokeWidth: "1.5",
420
- mask: "url(#frame-screen-mask-iphone-17-pro)"
421
- }
422
- ),
423
- /* @__PURE__ */ jsx(
424
- "rect",
425
- {
426
- "data-zone": "screen-area",
427
- x: bezelSide,
428
- y: bezelTop,
429
- width: screenW,
430
- height: screenH,
431
- rx: screenRadius,
432
- ry: screenRadius,
433
- fill: "none"
434
- }
435
- ),
436
- /* @__PURE__ */ jsx(
437
- "rect",
438
- {
439
- "data-zone": "hardware-overlay",
440
- "data-zone-type": "dynamic-island",
441
- "data-zone-shape": "pill",
442
- x: bezelSide + 138,
443
- y: bezelTop + 11,
444
- width: "126",
445
- height: "37",
446
- rx: "18.5",
447
- ry: "18.5",
448
- fill: islandColor
449
- }
450
- ),
451
- /* @__PURE__ */ jsx(
452
- "rect",
453
- {
454
- "data-zone": "safe-area-top-inset",
455
- x: bezelSide,
456
- y: bezelTop,
457
- width: screenW,
458
- height: "62",
459
- fill: "transparent"
460
- }
461
- ),
462
- /* @__PURE__ */ jsx(
463
- "rect",
464
- {
465
- "data-zone": "safe-area-bottom-inset",
466
- x: bezelSide,
467
- y: bezelTop + screenH - 34,
468
- width: screenW,
469
- height: "34",
470
- fill: "transparent"
471
- }
472
- ),
473
- /* @__PURE__ */ jsx(
474
- "rect",
475
- {
476
- "data-zone": "status-bar",
477
- "data-zone-style": "dynamic-island",
478
- x: bezelSide,
479
- y: bezelTop,
480
- width: screenW,
481
- height: "54",
482
- fill: "transparent"
483
- }
484
- ),
485
- /* @__PURE__ */ jsx(
486
- "rect",
487
- {
488
- "data-zone": "home-indicator",
489
- "data-zone-type": "swipe-bar",
490
- x: bezelSide + (screenW - 134) / 2,
491
- y: bezelTop + screenH - 13,
492
- width: "134",
493
- height: "5",
494
- rx: "2.5",
495
- ry: "2.5",
496
- fill: "rgba(255,255,255,0.3)"
497
- }
498
- ),
499
- /* @__PURE__ */ jsx(
500
- "rect",
501
- {
502
- "data-button": "volume-up",
503
- "data-side": "left",
504
- x: "-1",
505
- y: "200",
506
- width: "3",
507
- height: "32",
508
- rx: "1.5",
509
- fill: buttonColor
510
- }
511
- ),
512
- /* @__PURE__ */ jsx(
513
- "rect",
514
- {
515
- "data-button": "volume-down",
516
- "data-side": "left",
517
- x: "-1",
518
- y: "240",
519
- width: "3",
520
- height: "32",
521
- rx: "1.5",
522
- fill: buttonColor
523
- }
524
- ),
525
- /* @__PURE__ */ jsx(
526
- "rect",
527
- {
528
- "data-button": "action",
529
- "data-side": "left",
530
- x: "-1",
531
- y: "170",
532
- width: "3",
533
- height: "20",
534
- rx: "1.5",
535
- fill: buttonColor
536
- }
537
- ),
538
- /* @__PURE__ */ jsx(
539
- "rect",
540
- {
541
- "data-button": "power",
542
- "data-side": "right",
543
- x: totalW - 2,
544
- y: "220",
545
- width: "3",
546
- height: "40",
547
- rx: "1.5",
548
- fill: buttonColor
549
- }
550
- ),
551
- /* @__PURE__ */ jsx(
552
- "circle",
553
- {
554
- "data-button": "camera",
555
- "data-side": "right",
556
- cx: totalW - 0.5,
557
- cy: "500",
558
- r: "6",
559
- fill: buttonColor,
560
- stroke: frameBorder,
561
- strokeWidth: "0.5"
562
- }
563
- ),
564
- /* @__PURE__ */ jsx(
565
- "rect",
566
- {
567
- x: (totalW - 24) / 2,
568
- y: totalH - 5,
569
- width: "24",
570
- height: "4",
571
- rx: "2",
572
- fill: colorScheme === "dark" ? "#111" : "#bbb"
573
- }
574
- ),
575
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
576
- "circle",
577
- {
578
- cx: totalW / 2 - 30 + i * 6,
579
- cy: totalH - 8,
580
- r: "1.2",
581
- fill: colorScheme === "dark" ? "#111" : "#aaa"
582
- },
583
- `speaker-l-${i}`
584
- )),
585
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
586
- "circle",
587
- {
588
- cx: totalW / 2 + 8 + i * 6,
589
- cy: totalH - 8,
590
- r: "1.2",
591
- fill: colorScheme === "dark" ? "#111" : "#aaa"
592
- },
593
- `speaker-r-${i}`
594
- ))
595
- ]
596
- }
597
- );
598
- }
599
- var IPHONE_17_PRO_FRAME = {
600
- bezelTop: 23,
601
- bezelBottom: 23,
602
- bezelLeft: 15,
603
- bezelRight: 15,
604
- totalWidth: 432,
605
- totalHeight: 920,
606
- screenWidth: 402,
607
- screenHeight: 874,
608
- screenRadius: 55
609
- };
610
-
611
- // src/ios/iphone-air/metadata.ts
612
- var IPHONE_AIR_META = {
613
- id: "iphone-air",
614
- name: "iPhone Air",
615
- platform: "ios",
616
- year: 2025,
617
- screen: {
618
- width: 420,
619
- height: 912,
620
- physicalWidth: 1260,
621
- physicalHeight: 2736,
622
- dpr: 3,
623
- aspectRatio: "19.5:9",
624
- cornerRadius: 55,
625
- ppi: 460
626
- }
627
- };
628
- var IPHONE_AIR_LAYOUT = {
629
- meta: IPHONE_AIR_META,
630
- safeArea: {
631
- portrait: { top: 68, bottom: 34, left: 0, right: 0 },
632
- landscape: { top: 20, bottom: 29, left: 68, right: 68 }
633
- },
634
- hardwareOverlays: {
635
- type: "dynamic-island",
636
- portrait: {
637
- x: 147,
638
- // centered: (420 - 126) / 2 = 147
639
- y: 11,
640
- width: 126,
641
- height: 37,
642
- shape: "pill",
643
- cornerRadius: 18.5
644
- }
645
- },
646
- statusBar: {
647
- height: 54,
648
- style: "dynamic-island",
649
- hasTime: true,
650
- hasBattery: true,
651
- hasSignal: true
652
- },
653
- homeIndicator: {
654
- type: "swipe-bar",
655
- height: 5,
656
- width: 134,
657
- visible: true
658
- },
659
- hardwareButtons: {
660
- volumeUp: { side: "left", yPosition: 210 },
661
- volumeDown: { side: "left", yPosition: 250 },
662
- power: { side: "right", yPosition: 230 }
663
- }
664
- };
665
- function IPhoneAirSVG({ colorScheme = "dark", style }) {
666
- const frameColor = colorScheme === "dark" ? "#1a1a1a" : "#e8e8e8";
667
- const frameBorder = colorScheme === "dark" ? "#333" : "#ccc";
668
- const buttonColor = colorScheme === "dark" ? "#2a2a2a" : "#d0d0d0";
669
- const islandColor = "#000000";
670
- const bezelSide = 10;
671
- const bezelTop = 20;
672
- const bezelBottom = 20;
673
- const screenW = 420;
674
- const screenH = 912;
675
- const totalW = screenW + bezelSide * 2;
676
- const totalH = screenH + bezelTop + bezelBottom;
677
- const outerRadius = 60;
678
- const screenRadius = 55;
679
- return /* @__PURE__ */ jsxs(
680
- "svg",
681
- {
682
- viewBox: `0 0 ${totalW} ${totalH}`,
683
- width: totalW,
684
- height: totalH,
685
- xmlns: "http://www.w3.org/2000/svg",
686
- style,
687
- children: [
688
- /* @__PURE__ */ jsxs("defs", { children: [
689
- /* @__PURE__ */ jsxs("linearGradient", { id: "frame-gradient-iphone-air", x1: "0", y1: "0", x2: "1", y2: "1", children: [
690
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: frameColor }),
691
- /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#252525" : "#f0f0f0" }),
692
- /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: frameColor })
693
- ] }),
694
- /* @__PURE__ */ jsxs("mask", { id: "frame-screen-mask-iphone-air", children: [
695
- /* @__PURE__ */ jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
696
- /* @__PURE__ */ jsx(
697
- "rect",
698
- {
699
- x: bezelSide,
700
- y: bezelTop,
701
- width: screenW,
702
- height: screenH,
703
- rx: screenRadius,
704
- ry: screenRadius,
705
- fill: "black"
706
- }
707
- )
708
- ] })
709
- ] }),
710
- /* @__PURE__ */ jsx(
711
- "rect",
712
- {
713
- x: "0",
714
- y: "0",
715
- width: totalW,
716
- height: totalH,
717
- rx: outerRadius,
718
- ry: outerRadius,
719
- fill: "url(#frame-gradient-iphone-air)",
720
- stroke: frameBorder,
721
- strokeWidth: "1.5",
722
- mask: "url(#frame-screen-mask-iphone-air)"
723
- }
724
- ),
725
- /* @__PURE__ */ jsx(
726
- "rect",
727
- {
728
- "data-zone": "screen-area",
729
- x: bezelSide,
730
- y: bezelTop,
731
- width: screenW,
732
- height: screenH,
733
- rx: screenRadius,
734
- ry: screenRadius,
735
- fill: "none"
736
- }
737
- ),
738
- /* @__PURE__ */ jsx(
739
- "rect",
740
- {
741
- "data-zone": "hardware-overlay",
742
- "data-zone-type": "dynamic-island",
743
- "data-zone-shape": "pill",
744
- x: bezelSide + 147,
745
- y: bezelTop + 11,
746
- width: "126",
747
- height: "37",
748
- rx: "18.5",
749
- ry: "18.5",
750
- fill: islandColor
751
- }
752
- ),
753
- /* @__PURE__ */ jsx(
754
- "rect",
755
- {
756
- "data-zone": "safe-area-top-inset",
757
- x: bezelSide,
758
- y: bezelTop,
759
- width: screenW,
760
- height: "68",
761
- fill: "transparent"
762
- }
763
- ),
764
- /* @__PURE__ */ jsx(
765
- "rect",
766
- {
767
- "data-zone": "safe-area-bottom-inset",
768
- x: bezelSide,
769
- y: bezelTop + screenH - 34,
770
- width: screenW,
771
- height: "34",
772
- fill: "transparent"
773
- }
774
- ),
775
- /* @__PURE__ */ jsx(
776
- "rect",
777
- {
778
- "data-zone": "status-bar",
779
- "data-zone-style": "dynamic-island",
780
- x: bezelSide,
781
- y: bezelTop,
782
- width: screenW,
783
- height: "54",
784
- fill: "transparent"
785
- }
786
- ),
787
- /* @__PURE__ */ jsx(
788
- "rect",
789
- {
790
- "data-zone": "home-indicator",
791
- "data-zone-type": "swipe-bar",
792
- x: bezelSide + (screenW - 134) / 2,
793
- y: bezelTop + screenH - 13,
794
- width: "134",
795
- height: "5",
796
- rx: "2.5",
797
- ry: "2.5",
798
- fill: "rgba(255,255,255,0.3)"
799
- }
800
- ),
801
- /* @__PURE__ */ jsx(
802
- "rect",
803
- {
804
- "data-button": "volume-up",
805
- "data-side": "left",
806
- x: "-1",
807
- y: "200",
808
- width: "3",
809
- height: "32",
810
- rx: "1.5",
811
- fill: buttonColor
812
- }
813
- ),
814
- /* @__PURE__ */ jsx(
815
- "rect",
816
- {
817
- "data-button": "volume-down",
818
- "data-side": "left",
819
- x: "-1",
820
- y: "240",
821
- width: "3",
822
- height: "32",
823
- rx: "1.5",
824
- fill: buttonColor
825
- }
826
- ),
827
- /* @__PURE__ */ jsx(
828
- "rect",
829
- {
830
- "data-button": "power",
831
- "data-side": "right",
832
- x: totalW - 2,
833
- y: "220",
834
- width: "3",
835
- height: "40",
836
- rx: "1.5",
837
- fill: buttonColor
838
- }
839
- ),
840
- /* @__PURE__ */ jsx(
841
- "rect",
842
- {
843
- x: (totalW - 24) / 2,
844
- y: totalH - 5,
845
- width: "24",
846
- height: "4",
847
- rx: "2",
848
- fill: colorScheme === "dark" ? "#111" : "#bbb"
849
- }
850
- ),
851
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
852
- "circle",
853
- {
854
- cx: totalW / 2 - 30 + i * 6,
855
- cy: totalH - 8,
856
- r: "1.2",
857
- fill: colorScheme === "dark" ? "#111" : "#aaa"
858
- },
859
- `speaker-l-${i}`
860
- )),
861
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
862
- "circle",
863
- {
864
- cx: totalW / 2 + 8 + i * 6,
865
- cy: totalH - 8,
866
- r: "1.2",
867
- fill: colorScheme === "dark" ? "#111" : "#aaa"
868
- },
869
- `speaker-r-${i}`
870
- ))
871
- ]
872
- }
873
- );
874
- }
875
- var IPHONE_AIR_FRAME = {
876
- bezelTop: 20,
877
- bezelBottom: 20,
878
- bezelLeft: 10,
879
- bezelRight: 10,
880
- totalWidth: 440,
881
- totalHeight: 952,
882
- screenWidth: 420,
883
- screenHeight: 912,
884
- screenRadius: 55
885
- };
886
-
887
- // src/ios/iphone-16e/metadata.ts
888
- var IPHONE_16E_META = {
889
- id: "iphone-16e",
890
- name: "iPhone 16e",
891
- platform: "ios",
892
- year: 2025,
893
- screen: {
894
- width: 390,
895
- height: 844,
896
- physicalWidth: 1170,
897
- physicalHeight: 2532,
898
- dpr: 3,
899
- aspectRatio: "19.5:9",
900
- cornerRadius: 50,
901
- ppi: 460
902
- }
903
- };
904
- var IPHONE_16E_LAYOUT = {
905
- meta: IPHONE_16E_META,
906
- safeArea: {
907
- portrait: { top: 47, bottom: 34, left: 0, right: 0 },
908
- landscape: { top: 0, bottom: 21, left: 47, right: 47 }
909
- },
910
- hardwareOverlays: {
911
- type: "notch",
912
- portrait: {
913
- x: 90,
914
- // centered: (390 - 210) / 2 = 90
915
- y: 0,
916
- width: 210,
917
- height: 30,
918
- shape: "rectangle",
919
- cornerRadius: 20
920
- }
921
- },
922
- statusBar: {
923
- height: 44,
924
- style: "notch",
925
- hasTime: true,
926
- hasBattery: true,
927
- hasSignal: true
928
- },
929
- homeIndicator: {
930
- type: "swipe-bar",
931
- height: 5,
932
- width: 134,
933
- visible: true
934
- },
935
- hardwareButtons: {
936
- volumeUp: { side: "left", yPosition: 180 },
937
- volumeDown: { side: "left", yPosition: 220 },
938
- power: { side: "right", yPosition: 195 }
939
- }
940
- };
941
- function IPhone16eSVG({ colorScheme = "dark", style }) {
942
- const frameColor = colorScheme === "dark" ? "#1a1a1a" : "#e8e8e8";
943
- const frameBorder = colorScheme === "dark" ? "#333" : "#ccc";
944
- const buttonColor = colorScheme === "dark" ? "#2a2a2a" : "#d0d0d0";
945
- const notchColor = "#000000";
946
- const bezelSide = 12;
947
- const bezelTop = 20;
948
- const bezelBottom = 20;
949
- const screenW = 390;
950
- const screenH = 844;
951
- const totalW = screenW + bezelSide * 2;
952
- const totalH = screenH + bezelTop + bezelBottom;
953
- const outerRadius = 56;
954
- const screenRadius = 50;
955
- const notchWidth = 210;
956
- const notchHeight = 30;
957
- const notchX = (screenW - notchWidth) / 2;
958
- const notchRadius = 20;
959
- return /* @__PURE__ */ jsxs(
960
- "svg",
961
- {
962
- viewBox: `0 0 ${totalW} ${totalH}`,
963
- width: totalW,
964
- height: totalH,
965
- xmlns: "http://www.w3.org/2000/svg",
966
- style,
967
- children: [
968
- /* @__PURE__ */ jsxs("defs", { children: [
969
- /* @__PURE__ */ jsxs("linearGradient", { id: "frame-gradient-iphone-16e", x1: "0", y1: "0", x2: "1", y2: "1", children: [
970
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: frameColor }),
971
- /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#252525" : "#f0f0f0" }),
972
- /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: frameColor })
973
- ] }),
974
- /* @__PURE__ */ jsxs("mask", { id: "frame-screen-mask-iphone-16e", children: [
975
- /* @__PURE__ */ jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
976
- /* @__PURE__ */ jsx(
977
- "rect",
978
- {
979
- x: bezelSide,
980
- y: bezelTop,
981
- width: screenW,
982
- height: screenH,
983
- rx: screenRadius,
984
- ry: screenRadius,
985
- fill: "black"
986
- }
987
- )
988
- ] })
989
- ] }),
990
- /* @__PURE__ */ jsx(
991
- "rect",
992
- {
993
- x: "0",
994
- y: "0",
995
- width: totalW,
996
- height: totalH,
997
- rx: outerRadius,
998
- ry: outerRadius,
999
- fill: "url(#frame-gradient-iphone-16e)",
1000
- stroke: frameBorder,
1001
- strokeWidth: "1.5",
1002
- mask: "url(#frame-screen-mask-iphone-16e)"
1003
- }
1004
- ),
1005
- /* @__PURE__ */ jsx(
1006
- "rect",
1007
- {
1008
- "data-zone": "screen-area",
1009
- x: bezelSide,
1010
- y: bezelTop,
1011
- width: screenW,
1012
- height: screenH,
1013
- rx: screenRadius,
1014
- ry: screenRadius,
1015
- fill: "none"
1016
- }
1017
- ),
1018
- /* @__PURE__ */ jsx(
1019
- "rect",
1020
- {
1021
- "data-zone": "hardware-overlay",
1022
- "data-zone-type": "notch",
1023
- "data-zone-shape": "rectangle",
1024
- x: bezelSide + notchX,
1025
- y: bezelTop,
1026
- width: notchWidth,
1027
- height: notchHeight,
1028
- rx: notchRadius,
1029
- ry: notchRadius,
1030
- fill: notchColor
1031
- }
1032
- ),
1033
- /* @__PURE__ */ jsx(
1034
- "rect",
1035
- {
1036
- "data-zone": "safe-area-top-inset",
1037
- x: bezelSide,
1038
- y: bezelTop,
1039
- width: screenW,
1040
- height: "47",
1041
- fill: "transparent"
1042
- }
1043
- ),
1044
- /* @__PURE__ */ jsx(
1045
- "rect",
1046
- {
1047
- "data-zone": "safe-area-bottom-inset",
1048
- x: bezelSide,
1049
- y: bezelTop + screenH - 34,
1050
- width: screenW,
1051
- height: "34",
1052
- fill: "transparent"
1053
- }
1054
- ),
1055
- /* @__PURE__ */ jsx(
1056
- "rect",
1057
- {
1058
- "data-zone": "status-bar",
1059
- "data-zone-style": "notch",
1060
- x: bezelSide,
1061
- y: bezelTop,
1062
- width: screenW,
1063
- height: "44",
1064
- fill: "transparent"
1065
- }
1066
- ),
1067
- /* @__PURE__ */ jsx(
1068
- "rect",
1069
- {
1070
- "data-zone": "home-indicator",
1071
- "data-zone-type": "swipe-bar",
1072
- x: bezelSide + (screenW - 134) / 2,
1073
- y: bezelTop + screenH - 13,
1074
- width: "134",
1075
- height: "5",
1076
- rx: "2.5",
1077
- ry: "2.5",
1078
- fill: "rgba(255,255,255,0.3)"
1079
- }
1080
- ),
1081
- /* @__PURE__ */ jsx(
1082
- "rect",
1083
- {
1084
- "data-button": "volume-up",
1085
- "data-side": "left",
1086
- x: "-1",
1087
- y: "190",
1088
- width: "3",
1089
- height: "32",
1090
- rx: "1.5",
1091
- fill: buttonColor
1092
- }
1093
- ),
1094
- /* @__PURE__ */ jsx(
1095
- "rect",
1096
- {
1097
- "data-button": "volume-down",
1098
- "data-side": "left",
1099
- x: "-1",
1100
- y: "230",
1101
- width: "3",
1102
- height: "32",
1103
- rx: "1.5",
1104
- fill: buttonColor
1105
- }
1106
- ),
1107
- /* @__PURE__ */ jsx(
1108
- "rect",
1109
- {
1110
- "data-button": "power",
1111
- "data-side": "right",
1112
- x: totalW - 2,
1113
- y: "210",
1114
- width: "3",
1115
- height: "40",
1116
- rx: "1.5",
1117
- fill: buttonColor
1118
- }
1119
- ),
1120
- /* @__PURE__ */ jsx(
1121
- "rect",
1122
- {
1123
- x: (totalW - 24) / 2,
1124
- y: totalH - 5,
1125
- width: "24",
1126
- height: "4",
1127
- rx: "2",
1128
- fill: colorScheme === "dark" ? "#111" : "#bbb"
1129
- }
1130
- ),
1131
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
1132
- "circle",
1133
- {
1134
- cx: totalW / 2 - 30 + i * 6,
1135
- cy: totalH - 8,
1136
- r: "1.2",
1137
- fill: colorScheme === "dark" ? "#111" : "#aaa"
1138
- },
1139
- `speaker-l-${i}`
1140
- )),
1141
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
1142
- "circle",
1143
- {
1144
- cx: totalW / 2 + 8 + i * 6,
1145
- cy: totalH - 8,
1146
- r: "1.2",
1147
- fill: colorScheme === "dark" ? "#111" : "#aaa"
1148
- },
1149
- `speaker-r-${i}`
1150
- ))
1151
- ]
1152
- }
1153
- );
1154
- }
1155
- var IPHONE_16E_FRAME = {
1156
- bezelTop: 20,
1157
- bezelBottom: 20,
1158
- bezelLeft: 12,
1159
- bezelRight: 12,
1160
- totalWidth: 414,
1161
- totalHeight: 884,
1162
- screenWidth: 390,
1163
- screenHeight: 844,
1164
- screenRadius: 50
1165
- };
1166
-
1167
- // src/ios/iphone-16/metadata.ts
1168
- var IPHONE_16_META = {
1169
- id: "iphone-16",
1170
- name: "iPhone 16",
1171
- platform: "ios",
1172
- year: 2024,
1173
- screen: {
1174
- width: 393,
1175
- height: 852,
1176
- physicalWidth: 1179,
1177
- physicalHeight: 2556,
1178
- dpr: 3,
1179
- aspectRatio: "19.5:9",
1180
- cornerRadius: 55,
1181
- ppi: 460
1182
- }
1183
- };
1184
- var IPHONE_16_LAYOUT = {
1185
- meta: IPHONE_16_META,
1186
- safeArea: {
1187
- portrait: { top: 59, bottom: 34, left: 0, right: 0 },
1188
- landscape: { top: 0, bottom: 21, left: 59, right: 59 }
1189
- },
1190
- hardwareOverlays: {
1191
- type: "dynamic-island",
1192
- portrait: {
1193
- x: 133.5,
1194
- // centered: (393 - 126) / 2 = 133.5
1195
- y: 11,
1196
- width: 126,
1197
- height: 37,
1198
- shape: "pill",
1199
- cornerRadius: 18.5
1200
- }
1201
- },
1202
- statusBar: {
1203
- height: 54,
1204
- style: "dynamic-island",
1205
- hasTime: true,
1206
- hasBattery: true,
1207
- hasSignal: true
1208
- },
1209
- homeIndicator: {
1210
- type: "swipe-bar",
1211
- height: 5,
1212
- width: 134,
1213
- visible: true
1214
- },
1215
- hardwareButtons: {
1216
- volumeUp: { side: "left", yPosition: 195 },
1217
- volumeDown: { side: "left", yPosition: 235 },
1218
- power: { side: "right", yPosition: 215 },
1219
- cameraControl: { side: "right", yPosition: 480 }
1220
- }
1221
- };
1222
- function IPhone16SVG({ colorScheme = "dark", style }) {
1223
- const frameColor = colorScheme === "dark" ? "#1a1a1a" : "#e8e8e8";
1224
- const frameBorder = colorScheme === "dark" ? "#333" : "#ccc";
1225
- const buttonColor = colorScheme === "dark" ? "#2a2a2a" : "#d0d0d0";
1226
- const islandColor = "#000000";
1227
- const bezelSide = 15;
1228
- const bezelTop = 23;
1229
- const bezelBottom = 23;
1230
- const screenW = 393;
1231
- const screenH = 852;
1232
- const totalW = screenW + bezelSide * 2;
1233
- const totalH = screenH + bezelTop + bezelBottom;
1234
- const outerRadius = 55;
1235
- const screenRadius = 48;
1236
- return /* @__PURE__ */ jsxs(
1237
- "svg",
1238
- {
1239
- viewBox: `0 0 ${totalW} ${totalH}`,
1240
- width: totalW,
1241
- height: totalH,
1242
- xmlns: "http://www.w3.org/2000/svg",
1243
- style,
1244
- children: [
1245
- /* @__PURE__ */ jsxs("defs", { children: [
1246
- /* @__PURE__ */ jsxs("linearGradient", { id: "frame-gradient-iphone-16", x1: "0", y1: "0", x2: "1", y2: "1", children: [
1247
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: frameColor }),
1248
- /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#252525" : "#f0f0f0" }),
1249
- /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: frameColor })
1250
- ] }),
1251
- /* @__PURE__ */ jsxs("mask", { id: "frame-screen-mask-iphone-16", children: [
1252
- /* @__PURE__ */ jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
1253
- /* @__PURE__ */ jsx(
1254
- "rect",
1255
- {
1256
- x: bezelSide,
1257
- y: bezelTop,
1258
- width: screenW,
1259
- height: screenH,
1260
- rx: screenRadius,
1261
- ry: screenRadius,
1262
- fill: "black"
1263
- }
1264
- )
1265
- ] })
1266
- ] }),
1267
- /* @__PURE__ */ jsx(
1268
- "rect",
1269
- {
1270
- x: "0",
1271
- y: "0",
1272
- width: totalW,
1273
- height: totalH,
1274
- rx: outerRadius,
1275
- ry: outerRadius,
1276
- fill: "url(#frame-gradient-iphone-16)",
1277
- stroke: frameBorder,
1278
- strokeWidth: "1.5",
1279
- mask: "url(#frame-screen-mask-iphone-16)"
1280
- }
1281
- ),
1282
- /* @__PURE__ */ jsx(
1283
- "rect",
1284
- {
1285
- "data-zone": "screen-area",
1286
- x: bezelSide,
1287
- y: bezelTop,
1288
- width: screenW,
1289
- height: screenH,
1290
- rx: screenRadius,
1291
- ry: screenRadius,
1292
- fill: "none"
1293
- }
1294
- ),
1295
- /* @__PURE__ */ jsx(
1296
- "rect",
1297
- {
1298
- "data-zone": "hardware-overlay",
1299
- "data-zone-type": "dynamic-island",
1300
- "data-zone-shape": "pill",
1301
- x: bezelSide + (screenW - 126) / 2,
1302
- y: bezelTop + 11,
1303
- width: "126",
1304
- height: "37",
1305
- rx: "18.5",
1306
- ry: "18.5",
1307
- fill: islandColor
1308
- }
1309
- ),
1310
- /* @__PURE__ */ jsx(
1311
- "rect",
1312
- {
1313
- "data-zone": "safe-area-top-inset",
1314
- x: bezelSide,
1315
- y: bezelTop,
1316
- width: screenW,
1317
- height: "62",
1318
- fill: "transparent"
1319
- }
1320
- ),
1321
- /* @__PURE__ */ jsx(
1322
- "rect",
1323
- {
1324
- "data-zone": "safe-area-bottom-inset",
1325
- x: bezelSide,
1326
- y: bezelTop + screenH - 34,
1327
- width: screenW,
1328
- height: "34",
1329
- fill: "transparent"
1330
- }
1331
- ),
1332
- /* @__PURE__ */ jsx(
1333
- "rect",
1334
- {
1335
- "data-zone": "status-bar",
1336
- "data-zone-style": "dynamic-island",
1337
- x: bezelSide,
1338
- y: bezelTop,
1339
- width: screenW,
1340
- height: "54",
1341
- fill: "transparent"
1342
- }
1343
- ),
1344
- /* @__PURE__ */ jsx(
1345
- "rect",
1346
- {
1347
- "data-zone": "home-indicator",
1348
- "data-zone-type": "swipe-bar",
1349
- x: bezelSide + (screenW - 134) / 2,
1350
- y: bezelTop + screenH - 13,
1351
- width: "134",
1352
- height: "5",
1353
- rx: "2.5",
1354
- ry: "2.5",
1355
- fill: "rgba(255,255,255,0.3)"
1356
- }
1357
- ),
1358
- /* @__PURE__ */ jsx(
1359
- "rect",
1360
- {
1361
- "data-button": "volume-up",
1362
- "data-side": "left",
1363
- x: "-1",
1364
- y: "200",
1365
- width: "3",
1366
- height: "32",
1367
- rx: "1.5",
1368
- fill: buttonColor
1369
- }
1370
- ),
1371
- /* @__PURE__ */ jsx(
1372
- "rect",
1373
- {
1374
- "data-button": "volume-down",
1375
- "data-side": "left",
1376
- x: "-1",
1377
- y: "240",
1378
- width: "3",
1379
- height: "32",
1380
- rx: "1.5",
1381
- fill: buttonColor
1382
- }
1383
- ),
1384
- /* @__PURE__ */ jsx(
1385
- "rect",
1386
- {
1387
- "data-button": "power",
1388
- "data-side": "right",
1389
- x: totalW - 2,
1390
- y: "220",
1391
- width: "3",
1392
- height: "40",
1393
- rx: "1.5",
1394
- fill: buttonColor
1395
- }
1396
- ),
1397
- /* @__PURE__ */ jsx(
1398
- "circle",
1399
- {
1400
- "data-button": "camera",
1401
- "data-side": "right",
1402
- cx: totalW - 0.5,
1403
- cy: "500",
1404
- r: "6",
1405
- fill: buttonColor,
1406
- stroke: frameBorder,
1407
- strokeWidth: "0.5"
1408
- }
1409
- ),
1410
- /* @__PURE__ */ jsx(
1411
- "rect",
1412
- {
1413
- x: (totalW - 24) / 2,
1414
- y: totalH - 5,
1415
- width: "24",
1416
- height: "4",
1417
- rx: "2",
1418
- fill: colorScheme === "dark" ? "#111" : "#bbb"
1419
- }
1420
- ),
1421
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
1422
- "circle",
1423
- {
1424
- cx: totalW / 2 - 30 + i * 6,
1425
- cy: totalH - 8,
1426
- r: "1.2",
1427
- fill: colorScheme === "dark" ? "#111" : "#aaa"
1428
- },
1429
- `speaker-l-${i}`
1430
- )),
1431
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
1432
- "circle",
1433
- {
1434
- cx: totalW / 2 + 8 + i * 6,
1435
- cy: totalH - 8,
1436
- r: "1.2",
1437
- fill: colorScheme === "dark" ? "#111" : "#aaa"
1438
- },
1439
- `speaker-r-${i}`
1440
- ))
1441
- ]
1442
- }
1443
- );
1444
- }
1445
- var IPHONE_16_FRAME = {
1446
- bezelTop: 23,
1447
- bezelBottom: 23,
1448
- bezelLeft: 15,
1449
- bezelRight: 15,
1450
- totalWidth: 423,
1451
- totalHeight: 898,
1452
- screenWidth: 393,
1453
- screenHeight: 852,
1454
- screenRadius: 48
1455
- };
1456
-
1457
- // src/ios/iphone-se-3/metadata.ts
1458
- var IPHONE_SE_3_META = {
1459
- id: "iphone-se-3",
1460
- name: "iPhone SE (3rd Gen)",
1461
- platform: "ios",
1462
- year: 2022,
1463
- screen: {
1464
- width: 375,
1465
- height: 667,
1466
- physicalWidth: 750,
1467
- physicalHeight: 1334,
1468
- dpr: 2,
1469
- aspectRatio: "16:9",
1470
- cornerRadius: 5,
1471
- ppi: 326
1472
- }
1473
- };
1474
- var IPHONE_SE_3_LAYOUT = {
1475
- meta: IPHONE_SE_3_META,
1476
- safeArea: {
1477
- portrait: { top: 20, bottom: 0, left: 0, right: 0 },
1478
- landscape: { top: 0, bottom: 0, left: 0, right: 0 }
1479
- },
1480
- hardwareOverlays: {
1481
- type: "none",
1482
- portrait: {
1483
- x: 0,
1484
- y: 0,
1485
- width: 0,
1486
- height: 0,
1487
- shape: "rectangle"
1488
- }
1489
- },
1490
- statusBar: {
1491
- height: 20,
1492
- style: "fullwidth",
1493
- hasTime: true,
1494
- hasBattery: true,
1495
- hasSignal: true
1496
- },
1497
- homeIndicator: {
1498
- type: "button",
1499
- height: 0,
1500
- visible: false
1501
- },
1502
- hardwareButtons: {
1503
- volumeUp: { side: "left", yPosition: 135 },
1504
- volumeDown: { side: "left", yPosition: 165 },
1505
- power: { side: "right", yPosition: 90 }
1506
- }
1507
- };
1508
- function IPhoneSE3SVG({ colorScheme = "dark", style }) {
1509
- const frameColor = colorScheme === "dark" ? "#1a1a1a" : "#e8e8e8";
1510
- const frameBorder = colorScheme === "dark" ? "#333" : "#ccc";
1511
- const buttonColor = colorScheme === "dark" ? "#2a2a2a" : "#d0d0d0";
1512
- const bezelSide = 10;
1513
- const bezelTop = 70;
1514
- const bezelBottom = 70;
1515
- const screenW = 375;
1516
- const screenH = 667;
1517
- const totalW = screenW + bezelSide * 2;
1518
- const totalH = screenH + bezelTop + bezelBottom;
1519
- const outerRadius = 36;
1520
- const screenRadius = 5;
1521
- const homeButtonDiameter = 58;
1522
- const homeButtonRadius = homeButtonDiameter / 2;
1523
- const homeButtonCX = totalW / 2;
1524
- const homeButtonCY = bezelTop + screenH + bezelBottom / 2;
1525
- return /* @__PURE__ */ jsxs(
1526
- "svg",
1527
- {
1528
- viewBox: `0 0 ${totalW} ${totalH}`,
1529
- width: totalW,
1530
- height: totalH,
1531
- xmlns: "http://www.w3.org/2000/svg",
1532
- style,
1533
- children: [
1534
- /* @__PURE__ */ jsxs("defs", { children: [
1535
- /* @__PURE__ */ jsxs("linearGradient", { id: "frame-gradient-iphone-se-3", x1: "0", y1: "0", x2: "1", y2: "1", children: [
1536
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: frameColor }),
1537
- /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: colorScheme === "dark" ? "#252525" : "#f0f0f0" }),
1538
- /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: frameColor })
1539
- ] }),
1540
- /* @__PURE__ */ jsxs("mask", { id: "frame-screen-mask-iphone-se-3", children: [
1541
- /* @__PURE__ */ jsx("rect", { x: "0", y: "0", width: totalW, height: totalH, fill: "white" }),
1542
- /* @__PURE__ */ jsx(
1543
- "rect",
1544
- {
1545
- x: bezelSide,
1546
- y: bezelTop,
1547
- width: screenW,
1548
- height: screenH,
1549
- rx: screenRadius,
1550
- ry: screenRadius,
1551
- fill: "black"
1552
- }
1553
- )
1554
- ] })
1555
- ] }),
1556
- /* @__PURE__ */ jsx(
1557
- "rect",
1558
- {
1559
- x: "0",
1560
- y: "0",
1561
- width: totalW,
1562
- height: totalH,
1563
- rx: outerRadius,
1564
- ry: outerRadius,
1565
- fill: "url(#frame-gradient-iphone-se-3)",
1566
- stroke: frameBorder,
1567
- strokeWidth: "1.5",
1568
- mask: "url(#frame-screen-mask-iphone-se-3)"
1569
- }
1570
- ),
1571
- /* @__PURE__ */ jsx(
1572
- "rect",
1573
- {
1574
- "data-zone": "screen-area",
1575
- x: bezelSide,
1576
- y: bezelTop,
1577
- width: screenW,
1578
- height: screenH,
1579
- rx: screenRadius,
1580
- ry: screenRadius,
1581
- fill: "none"
1582
- }
1583
- ),
1584
- /* @__PURE__ */ jsx(
1585
- "rect",
1586
- {
1587
- x: (totalW - 40) / 2,
1588
- y: 28,
1589
- width: "40",
1590
- height: "5",
1591
- rx: "2.5",
1592
- fill: colorScheme === "dark" ? "#111" : "#bbb"
1593
- }
1594
- ),
1595
- /* @__PURE__ */ jsx(
1596
- "circle",
1597
- {
1598
- cx: totalW / 2 + 32,
1599
- cy: 30,
1600
- r: "4",
1601
- fill: colorScheme === "dark" ? "#0a0a0a" : "#999"
1602
- }
1603
- ),
1604
- /* @__PURE__ */ jsx(
1605
- "circle",
1606
- {
1607
- cx: homeButtonCX,
1608
- cy: homeButtonCY,
1609
- r: homeButtonRadius,
1610
- fill: "none",
1611
- stroke: colorScheme === "dark" ? "#444" : "#bbb",
1612
- strokeWidth: "2"
1613
- }
1614
- ),
1615
- /* @__PURE__ */ jsx(
1616
- "circle",
1617
- {
1618
- cx: homeButtonCX,
1619
- cy: homeButtonCY,
1620
- r: homeButtonRadius - 3,
1621
- fill: colorScheme === "dark" ? "#0f0f0f" : "#ddd"
1622
- }
1623
- ),
1624
- /* @__PURE__ */ jsx(
1625
- "rect",
1626
- {
1627
- x: homeButtonCX - 8,
1628
- y: homeButtonCY - 8,
1629
- width: "16",
1630
- height: "16",
1631
- rx: "4",
1632
- ry: "4",
1633
- fill: "none",
1634
- stroke: colorScheme === "dark" ? "#333" : "#ccc",
1635
- strokeWidth: "1"
1636
- }
1637
- ),
1638
- /* @__PURE__ */ jsx(
1639
- "rect",
1640
- {
1641
- "data-zone": "safe-area-top-inset",
1642
- x: bezelSide,
1643
- y: bezelTop,
1644
- width: screenW,
1645
- height: "20",
1646
- fill: "transparent"
1647
- }
1648
- ),
1649
- /* @__PURE__ */ jsx(
1650
- "rect",
1651
- {
1652
- "data-zone": "status-bar",
1653
- "data-zone-style": "fullwidth",
1654
- x: bezelSide,
1655
- y: bezelTop,
1656
- width: screenW,
1657
- height: "20",
1658
- fill: "transparent"
1659
- }
1660
- ),
1661
- /* @__PURE__ */ jsx(
1662
- "rect",
1663
- {
1664
- "data-button": "volume-up",
1665
- "data-side": "left",
1666
- x: "-1",
1667
- y: "160",
1668
- width: "3",
1669
- height: "32",
1670
- rx: "1.5",
1671
- fill: buttonColor
1672
- }
1673
- ),
1674
- /* @__PURE__ */ jsx(
1675
- "rect",
1676
- {
1677
- "data-button": "volume-down",
1678
- "data-side": "left",
1679
- x: "-1",
1680
- y: "200",
1681
- width: "3",
1682
- height: "32",
1683
- rx: "1.5",
1684
- fill: buttonColor
1685
- }
1686
- ),
1687
- /* @__PURE__ */ jsx(
1688
- "rect",
1689
- {
1690
- "data-button": "power",
1691
- "data-side": "right",
1692
- x: totalW - 2,
1693
- y: "140",
1694
- width: "3",
1695
- height: "40",
1696
- rx: "1.5",
1697
- fill: buttonColor
1698
- }
1699
- ),
1700
- /* @__PURE__ */ jsx(
1701
- "rect",
1702
- {
1703
- x: (totalW - 20) / 2,
1704
- y: totalH - 5,
1705
- width: "20",
1706
- height: "4",
1707
- rx: "2",
1708
- fill: colorScheme === "dark" ? "#111" : "#bbb"
1709
- }
1710
- ),
1711
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
1712
- "circle",
1713
- {
1714
- cx: totalW / 2 - 28 + i * 6,
1715
- cy: totalH - 8,
1716
- r: "1.2",
1717
- fill: colorScheme === "dark" ? "#111" : "#aaa"
1718
- },
1719
- `speaker-l-${i}`
1720
- )),
1721
- [0, 1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(
1722
- "circle",
1723
- {
1724
- cx: totalW / 2 + 6 + i * 6,
1725
- cy: totalH - 8,
1726
- r: "1.2",
1727
- fill: colorScheme === "dark" ? "#111" : "#aaa"
1728
- },
1729
- `speaker-r-${i}`
1730
- ))
1731
- ]
1732
- }
1733
- );
1734
- }
1735
- var IPHONE_SE_3_FRAME = {
1736
- bezelTop: 70,
1737
- bezelBottom: 70,
1738
- bezelLeft: 10,
1739
- bezelRight: 10,
1740
- totalWidth: 395,
1741
- totalHeight: 807,
1742
- screenWidth: 375,
1743
- screenHeight: 667,
1744
- screenRadius: 5
1745
- };
1746
-
1747
- export { IPHONE_16E_FRAME, IPHONE_16E_LAYOUT, IPHONE_16E_META, IPHONE_16_FRAME, IPHONE_16_LAYOUT, IPHONE_16_META, IPHONE_17_PRO_FRAME, IPHONE_17_PRO_LAYOUT, IPHONE_17_PRO_MAX_FRAME, IPHONE_17_PRO_MAX_LAYOUT, IPHONE_17_PRO_MAX_META, IPHONE_17_PRO_META, IPHONE_AIR_FRAME, IPHONE_AIR_LAYOUT, IPHONE_AIR_META, IPHONE_SE_3_FRAME, IPHONE_SE_3_LAYOUT, IPHONE_SE_3_META, IPhone16SVG, IPhone16eSVG, IPhone17ProMaxSVG, IPhone17ProSVG, IPhoneAirSVG, IPhoneSE3SVG };
1748
- //# sourceMappingURL=chunk-DGX4WRAK.js.map
1749
- //# sourceMappingURL=chunk-DGX4WRAK.js.map