@mmtitanl/tablets 0.1.1 → 0.2.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.
- package/dist/index.cjs +56 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +26 -4
- package/dist/index.d.ts +26 -4
- package/dist/index.js +55 -22
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { D as DeviceMeta, a as DeviceLayoutData, b as DeviceLayoutContract, S as SafeAreaInsets, c as DeviceCSSVariables, C as ContentRect, R as RegisteredDevice,
|
|
1
|
+
import { D as DeviceMeta, a as DeviceLayoutData, b as DeviceLayoutContract, S as SafeAreaInsets, c as DeviceCSSVariables, C as ContentRect, R as RegisteredDevice, d as DeviceFrameInfo, e as SVGScreenRect, H as HardwareOverlayType, O as OverlayRect } from './contract-types-Ch_kM--q.cjs';
|
|
2
2
|
export { f as SVGCropRect } from './contract-types-Ch_kM--q.cjs';
|
|
3
|
-
export { IPAD_PRO_13_FRAME, IPAD_PRO_13_LAYOUT, IPAD_PRO_13_META, IPAD_PRO_13_SCREEN_RECT, IPadPro13SVG } from './ios/index.cjs';
|
|
4
3
|
import * as react from 'react';
|
|
5
|
-
import { CSSProperties } from 'react';
|
|
4
|
+
import { FC, CSSProperties } from 'react';
|
|
5
|
+
export { IPAD_PRO_13_FRAME, IPAD_PRO_13_LAYOUT, IPAD_PRO_13_META, IPAD_PRO_13_SCREEN_RECT, IPadPro13SVG } from './ios/index.cjs';
|
|
6
6
|
export { GALAXY_TAB_S10_FRAME, GALAXY_TAB_S10_LAYOUT, GALAXY_TAB_S10_META, GALAXY_TAB_S10_SCREEN_RECT, GalaxyTabS10SVG } from './android/index.cjs';
|
|
7
7
|
|
|
8
8
|
declare function deriveContentZone(screenWidth: number, screenHeight: number, safeArea: SafeAreaInsets): ContentRect;
|
|
@@ -40,6 +40,28 @@ declare class DeviceRegistry {
|
|
|
40
40
|
declare function getDeviceRegistry(): DeviceRegistry;
|
|
41
41
|
declare function resetDeviceRegistry(): void;
|
|
42
42
|
|
|
43
|
+
interface CustomDevicePersisted {
|
|
44
|
+
meta: DeviceMeta;
|
|
45
|
+
layout: Omit<DeviceLayoutData, "meta">;
|
|
46
|
+
svgString: string;
|
|
47
|
+
frame: DeviceFrameInfo;
|
|
48
|
+
screenRect: SVGScreenRect;
|
|
49
|
+
landscape?: {
|
|
50
|
+
svgString: string;
|
|
51
|
+
frame: DeviceFrameInfo;
|
|
52
|
+
screenRect: SVGScreenRect;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
type DeviceSVGProps$j = {
|
|
56
|
+
colorScheme?: "light" | "dark";
|
|
57
|
+
style?: CSSProperties;
|
|
58
|
+
};
|
|
59
|
+
interface CustomDeviceRuntime extends CustomDevicePersisted {
|
|
60
|
+
Component: FC<DeviceSVGProps$j>;
|
|
61
|
+
LandscapeComponent?: FC<DeviceSVGProps$j>;
|
|
62
|
+
}
|
|
63
|
+
declare const CUSTOM_DEVICES: CustomDeviceRuntime[];
|
|
64
|
+
|
|
43
65
|
interface SVGNativeDimensions {
|
|
44
66
|
width: number;
|
|
45
67
|
height: number;
|
|
@@ -380,4 +402,4 @@ declare function GalaxyZFold7OpenSVG({ style }: DeviceSVGProps): react.JSX.Eleme
|
|
|
380
402
|
declare const GALAXY_Z_FOLD_7_OPEN_FRAME: DeviceFrameInfo;
|
|
381
403
|
declare const GALAXY_Z_FOLD_7_OPEN_SCREEN_RECT: SVGScreenRect;
|
|
382
404
|
|
|
383
|
-
export { BUILTIN_DEVICES, type ClassifiedButton, ContentRect, DEVICE_LAYOUTS, type DetectedZone, DeviceCSSVariables, DeviceFrameInfo, DeviceLayoutContract, DeviceLayoutData, DeviceMeta, DeviceRegistry, GALAXY_S25_EDGE_FRAME, GALAXY_S25_EDGE_LAYOUT, GALAXY_S25_EDGE_META, GALAXY_S25_FRAME, GALAXY_S25_LAYOUT, GALAXY_S25_META, GALAXY_S25_SCREEN_RECT, GALAXY_S25_ULTRA_FRAME, GALAXY_S25_ULTRA_LAYOUT, GALAXY_S25_ULTRA_META, GALAXY_S25_ULTRA_SCREEN_RECT, GALAXY_TAB_S10_FE_FRAME, GALAXY_TAB_S10_FE_LAYOUT, GALAXY_TAB_S10_FE_META, GALAXY_TAB_S10_FE_SCREEN_RECT, GALAXY_TAB_S10_ULTRA_FRAME, GALAXY_TAB_S10_ULTRA_LAYOUT, GALAXY_TAB_S10_ULTRA_META, GALAXY_TAB_S10_ULTRA_SCREEN_RECT, GALAXY_Z_FOLD_7_FRAME, GALAXY_Z_FOLD_7_LAYOUT, GALAXY_Z_FOLD_7_META, GALAXY_Z_FOLD_7_OPEN_FRAME, GALAXY_Z_FOLD_7_OPEN_LAYOUT, GALAXY_Z_FOLD_7_OPEN_META, GALAXY_Z_FOLD_7_OPEN_SCREEN_RECT, GALAXY_Z_FOLD_7_SCREEN_RECT, GalaxyS25EdgeSVG, GalaxyS25SVG, GalaxyS25UltraSVG, GalaxyTabS10FeSVG, GalaxyTabS10UltraSVG, GalaxyZFold7OpenSVG, GalaxyZFold7SVG, HardwareOverlayType, IPAD_AIR_11_FRAME, IPAD_AIR_11_LAYOUT, IPAD_AIR_11_META, IPAD_AIR_11_SCREEN_RECT, IPAD_AIR_13_FRAME, IPAD_AIR_13_LAYOUT, IPAD_AIR_13_META, IPAD_AIR_13_SCREEN_RECT, IPAD_MINI_7_FRAME, IPAD_MINI_7_LAYOUT, IPAD_MINI_7_META, IPAD_MINI_7_SCREEN_RECT, IPAD_PRO_11_FRAME, IPAD_PRO_11_LAYOUT, IPAD_PRO_11_META, IPAD_PRO_11_SCREEN_RECT, IPHONE_16E_FRAME, IPHONE_16E_LAYOUT, IPHONE_16E_META, IPHONE_16E_SCREEN_RECT, IPHONE_16_FRAME, IPHONE_16_LAYOUT, IPHONE_16_META, IPHONE_16_SCREEN_RECT, 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_MAX_SCREEN_RECT, IPHONE_17_PRO_META, IPHONE_17_PRO_SCREEN_RECT, IPHONE_AIR_FRAME, IPHONE_AIR_LAYOUT, IPHONE_AIR_META, IPHONE_AIR_SCREEN_RECT, IPHONE_SE_3_FRAME, IPHONE_SE_3_LAYOUT, IPHONE_SE_3_META, IPHONE_SE_3_SCREEN_RECT, IPadAir11SVG, IPadAir13SVG, IPadMini7SVG, IPadPro11SVG, IPhone16SVG, IPhone16eSVG, IPhone17ProMaxSVG, IPhone17ProSVG, IPhoneAirSVG, IPhoneSE3SVG, type NormalizationResult, OverlayRect, PIXEL_9_PRO_FRAME, PIXEL_9_PRO_LAYOUT, PIXEL_9_PRO_META, PIXEL_9_PRO_SCREEN_RECT, PIXEL_9_PRO_XL_FRAME, PIXEL_9_PRO_XL_LAYOUT, PIXEL_9_PRO_XL_META, PIXEL_9_PRO_XL_SCREEN_RECT, type ParseSVGContractOptions, type ParsedZone, Pixel9ProSVG, Pixel9ProXLSVG, RegisteredDevice, type SVGAnalysis, type SVGNativeDimensions, SVGScreenRect, SafeAreaInsets, type ValidationResult, type ZoneType, analyzeSVGGeometry, autoDetectZones, buildAIPromptConstraints, buildCSSVariables, classifySideButtons, deriveContentZone, extractZones, getAllDeviceIds, getDeviceContract, getDeviceMetadata, getDeviceRegistry, listSVGLayerNames, normalizeSVGToLogicalPoints, parseSVGNativeDimensions, parseSVGToContract, resetDeviceRegistry, scopeSVGIds, validateNormalizedSVG };
|
|
405
|
+
export { BUILTIN_DEVICES, CUSTOM_DEVICES, type ClassifiedButton, ContentRect, type CustomDevicePersisted, type CustomDeviceRuntime, DEVICE_LAYOUTS, type DetectedZone, DeviceCSSVariables, DeviceFrameInfo, DeviceLayoutContract, DeviceLayoutData, DeviceMeta, DeviceRegistry, type DeviceSVGProps$j as DeviceSVGProps, GALAXY_S25_EDGE_FRAME, GALAXY_S25_EDGE_LAYOUT, GALAXY_S25_EDGE_META, GALAXY_S25_FRAME, GALAXY_S25_LAYOUT, GALAXY_S25_META, GALAXY_S25_SCREEN_RECT, GALAXY_S25_ULTRA_FRAME, GALAXY_S25_ULTRA_LAYOUT, GALAXY_S25_ULTRA_META, GALAXY_S25_ULTRA_SCREEN_RECT, GALAXY_TAB_S10_FE_FRAME, GALAXY_TAB_S10_FE_LAYOUT, GALAXY_TAB_S10_FE_META, GALAXY_TAB_S10_FE_SCREEN_RECT, GALAXY_TAB_S10_ULTRA_FRAME, GALAXY_TAB_S10_ULTRA_LAYOUT, GALAXY_TAB_S10_ULTRA_META, GALAXY_TAB_S10_ULTRA_SCREEN_RECT, GALAXY_Z_FOLD_7_FRAME, GALAXY_Z_FOLD_7_LAYOUT, GALAXY_Z_FOLD_7_META, GALAXY_Z_FOLD_7_OPEN_FRAME, GALAXY_Z_FOLD_7_OPEN_LAYOUT, GALAXY_Z_FOLD_7_OPEN_META, GALAXY_Z_FOLD_7_OPEN_SCREEN_RECT, GALAXY_Z_FOLD_7_SCREEN_RECT, GalaxyS25EdgeSVG, GalaxyS25SVG, GalaxyS25UltraSVG, GalaxyTabS10FeSVG, GalaxyTabS10UltraSVG, GalaxyZFold7OpenSVG, GalaxyZFold7SVG, HardwareOverlayType, IPAD_AIR_11_FRAME, IPAD_AIR_11_LAYOUT, IPAD_AIR_11_META, IPAD_AIR_11_SCREEN_RECT, IPAD_AIR_13_FRAME, IPAD_AIR_13_LAYOUT, IPAD_AIR_13_META, IPAD_AIR_13_SCREEN_RECT, IPAD_MINI_7_FRAME, IPAD_MINI_7_LAYOUT, IPAD_MINI_7_META, IPAD_MINI_7_SCREEN_RECT, IPAD_PRO_11_FRAME, IPAD_PRO_11_LAYOUT, IPAD_PRO_11_META, IPAD_PRO_11_SCREEN_RECT, IPHONE_16E_FRAME, IPHONE_16E_LAYOUT, IPHONE_16E_META, IPHONE_16E_SCREEN_RECT, IPHONE_16_FRAME, IPHONE_16_LAYOUT, IPHONE_16_META, IPHONE_16_SCREEN_RECT, 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_MAX_SCREEN_RECT, IPHONE_17_PRO_META, IPHONE_17_PRO_SCREEN_RECT, IPHONE_AIR_FRAME, IPHONE_AIR_LAYOUT, IPHONE_AIR_META, IPHONE_AIR_SCREEN_RECT, IPHONE_SE_3_FRAME, IPHONE_SE_3_LAYOUT, IPHONE_SE_3_META, IPHONE_SE_3_SCREEN_RECT, IPadAir11SVG, IPadAir13SVG, IPadMini7SVG, IPadPro11SVG, IPhone16SVG, IPhone16eSVG, IPhone17ProMaxSVG, IPhone17ProSVG, IPhoneAirSVG, IPhoneSE3SVG, type NormalizationResult, OverlayRect, PIXEL_9_PRO_FRAME, PIXEL_9_PRO_LAYOUT, PIXEL_9_PRO_META, PIXEL_9_PRO_SCREEN_RECT, PIXEL_9_PRO_XL_FRAME, PIXEL_9_PRO_XL_LAYOUT, PIXEL_9_PRO_XL_META, PIXEL_9_PRO_XL_SCREEN_RECT, type ParseSVGContractOptions, type ParsedZone, Pixel9ProSVG, Pixel9ProXLSVG, RegisteredDevice, type SVGAnalysis, type SVGNativeDimensions, SVGScreenRect, SafeAreaInsets, type ValidationResult, type ZoneType, analyzeSVGGeometry, autoDetectZones, buildAIPromptConstraints, buildCSSVariables, classifySideButtons, deriveContentZone, extractZones, getAllDeviceIds, getDeviceContract, getDeviceMetadata, getDeviceRegistry, listSVGLayerNames, normalizeSVGToLogicalPoints, parseSVGNativeDimensions, parseSVGToContract, resetDeviceRegistry, scopeSVGIds, validateNormalizedSVG };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { D as DeviceMeta, a as DeviceLayoutData, b as DeviceLayoutContract, S as SafeAreaInsets, c as DeviceCSSVariables, C as ContentRect, R as RegisteredDevice,
|
|
1
|
+
import { D as DeviceMeta, a as DeviceLayoutData, b as DeviceLayoutContract, S as SafeAreaInsets, c as DeviceCSSVariables, C as ContentRect, R as RegisteredDevice, d as DeviceFrameInfo, e as SVGScreenRect, H as HardwareOverlayType, O as OverlayRect } from './contract-types-Ch_kM--q.js';
|
|
2
2
|
export { f as SVGCropRect } from './contract-types-Ch_kM--q.js';
|
|
3
|
-
export { IPAD_PRO_13_FRAME, IPAD_PRO_13_LAYOUT, IPAD_PRO_13_META, IPAD_PRO_13_SCREEN_RECT, IPadPro13SVG } from './ios/index.js';
|
|
4
3
|
import * as react from 'react';
|
|
5
|
-
import { CSSProperties } from 'react';
|
|
4
|
+
import { FC, CSSProperties } from 'react';
|
|
5
|
+
export { IPAD_PRO_13_FRAME, IPAD_PRO_13_LAYOUT, IPAD_PRO_13_META, IPAD_PRO_13_SCREEN_RECT, IPadPro13SVG } from './ios/index.js';
|
|
6
6
|
export { GALAXY_TAB_S10_FRAME, GALAXY_TAB_S10_LAYOUT, GALAXY_TAB_S10_META, GALAXY_TAB_S10_SCREEN_RECT, GalaxyTabS10SVG } from './android/index.js';
|
|
7
7
|
|
|
8
8
|
declare function deriveContentZone(screenWidth: number, screenHeight: number, safeArea: SafeAreaInsets): ContentRect;
|
|
@@ -40,6 +40,28 @@ declare class DeviceRegistry {
|
|
|
40
40
|
declare function getDeviceRegistry(): DeviceRegistry;
|
|
41
41
|
declare function resetDeviceRegistry(): void;
|
|
42
42
|
|
|
43
|
+
interface CustomDevicePersisted {
|
|
44
|
+
meta: DeviceMeta;
|
|
45
|
+
layout: Omit<DeviceLayoutData, "meta">;
|
|
46
|
+
svgString: string;
|
|
47
|
+
frame: DeviceFrameInfo;
|
|
48
|
+
screenRect: SVGScreenRect;
|
|
49
|
+
landscape?: {
|
|
50
|
+
svgString: string;
|
|
51
|
+
frame: DeviceFrameInfo;
|
|
52
|
+
screenRect: SVGScreenRect;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
type DeviceSVGProps$j = {
|
|
56
|
+
colorScheme?: "light" | "dark";
|
|
57
|
+
style?: CSSProperties;
|
|
58
|
+
};
|
|
59
|
+
interface CustomDeviceRuntime extends CustomDevicePersisted {
|
|
60
|
+
Component: FC<DeviceSVGProps$j>;
|
|
61
|
+
LandscapeComponent?: FC<DeviceSVGProps$j>;
|
|
62
|
+
}
|
|
63
|
+
declare const CUSTOM_DEVICES: CustomDeviceRuntime[];
|
|
64
|
+
|
|
43
65
|
interface SVGNativeDimensions {
|
|
44
66
|
width: number;
|
|
45
67
|
height: number;
|
|
@@ -380,4 +402,4 @@ declare function GalaxyZFold7OpenSVG({ style }: DeviceSVGProps): react.JSX.Eleme
|
|
|
380
402
|
declare const GALAXY_Z_FOLD_7_OPEN_FRAME: DeviceFrameInfo;
|
|
381
403
|
declare const GALAXY_Z_FOLD_7_OPEN_SCREEN_RECT: SVGScreenRect;
|
|
382
404
|
|
|
383
|
-
export { BUILTIN_DEVICES, type ClassifiedButton, ContentRect, DEVICE_LAYOUTS, type DetectedZone, DeviceCSSVariables, DeviceFrameInfo, DeviceLayoutContract, DeviceLayoutData, DeviceMeta, DeviceRegistry, GALAXY_S25_EDGE_FRAME, GALAXY_S25_EDGE_LAYOUT, GALAXY_S25_EDGE_META, GALAXY_S25_FRAME, GALAXY_S25_LAYOUT, GALAXY_S25_META, GALAXY_S25_SCREEN_RECT, GALAXY_S25_ULTRA_FRAME, GALAXY_S25_ULTRA_LAYOUT, GALAXY_S25_ULTRA_META, GALAXY_S25_ULTRA_SCREEN_RECT, GALAXY_TAB_S10_FE_FRAME, GALAXY_TAB_S10_FE_LAYOUT, GALAXY_TAB_S10_FE_META, GALAXY_TAB_S10_FE_SCREEN_RECT, GALAXY_TAB_S10_ULTRA_FRAME, GALAXY_TAB_S10_ULTRA_LAYOUT, GALAXY_TAB_S10_ULTRA_META, GALAXY_TAB_S10_ULTRA_SCREEN_RECT, GALAXY_Z_FOLD_7_FRAME, GALAXY_Z_FOLD_7_LAYOUT, GALAXY_Z_FOLD_7_META, GALAXY_Z_FOLD_7_OPEN_FRAME, GALAXY_Z_FOLD_7_OPEN_LAYOUT, GALAXY_Z_FOLD_7_OPEN_META, GALAXY_Z_FOLD_7_OPEN_SCREEN_RECT, GALAXY_Z_FOLD_7_SCREEN_RECT, GalaxyS25EdgeSVG, GalaxyS25SVG, GalaxyS25UltraSVG, GalaxyTabS10FeSVG, GalaxyTabS10UltraSVG, GalaxyZFold7OpenSVG, GalaxyZFold7SVG, HardwareOverlayType, IPAD_AIR_11_FRAME, IPAD_AIR_11_LAYOUT, IPAD_AIR_11_META, IPAD_AIR_11_SCREEN_RECT, IPAD_AIR_13_FRAME, IPAD_AIR_13_LAYOUT, IPAD_AIR_13_META, IPAD_AIR_13_SCREEN_RECT, IPAD_MINI_7_FRAME, IPAD_MINI_7_LAYOUT, IPAD_MINI_7_META, IPAD_MINI_7_SCREEN_RECT, IPAD_PRO_11_FRAME, IPAD_PRO_11_LAYOUT, IPAD_PRO_11_META, IPAD_PRO_11_SCREEN_RECT, IPHONE_16E_FRAME, IPHONE_16E_LAYOUT, IPHONE_16E_META, IPHONE_16E_SCREEN_RECT, IPHONE_16_FRAME, IPHONE_16_LAYOUT, IPHONE_16_META, IPHONE_16_SCREEN_RECT, 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_MAX_SCREEN_RECT, IPHONE_17_PRO_META, IPHONE_17_PRO_SCREEN_RECT, IPHONE_AIR_FRAME, IPHONE_AIR_LAYOUT, IPHONE_AIR_META, IPHONE_AIR_SCREEN_RECT, IPHONE_SE_3_FRAME, IPHONE_SE_3_LAYOUT, IPHONE_SE_3_META, IPHONE_SE_3_SCREEN_RECT, IPadAir11SVG, IPadAir13SVG, IPadMini7SVG, IPadPro11SVG, IPhone16SVG, IPhone16eSVG, IPhone17ProMaxSVG, IPhone17ProSVG, IPhoneAirSVG, IPhoneSE3SVG, type NormalizationResult, OverlayRect, PIXEL_9_PRO_FRAME, PIXEL_9_PRO_LAYOUT, PIXEL_9_PRO_META, PIXEL_9_PRO_SCREEN_RECT, PIXEL_9_PRO_XL_FRAME, PIXEL_9_PRO_XL_LAYOUT, PIXEL_9_PRO_XL_META, PIXEL_9_PRO_XL_SCREEN_RECT, type ParseSVGContractOptions, type ParsedZone, Pixel9ProSVG, Pixel9ProXLSVG, RegisteredDevice, type SVGAnalysis, type SVGNativeDimensions, SVGScreenRect, SafeAreaInsets, type ValidationResult, type ZoneType, analyzeSVGGeometry, autoDetectZones, buildAIPromptConstraints, buildCSSVariables, classifySideButtons, deriveContentZone, extractZones, getAllDeviceIds, getDeviceContract, getDeviceMetadata, getDeviceRegistry, listSVGLayerNames, normalizeSVGToLogicalPoints, parseSVGNativeDimensions, parseSVGToContract, resetDeviceRegistry, scopeSVGIds, validateNormalizedSVG };
|
|
405
|
+
export { BUILTIN_DEVICES, CUSTOM_DEVICES, type ClassifiedButton, ContentRect, type CustomDevicePersisted, type CustomDeviceRuntime, DEVICE_LAYOUTS, type DetectedZone, DeviceCSSVariables, DeviceFrameInfo, DeviceLayoutContract, DeviceLayoutData, DeviceMeta, DeviceRegistry, type DeviceSVGProps$j as DeviceSVGProps, GALAXY_S25_EDGE_FRAME, GALAXY_S25_EDGE_LAYOUT, GALAXY_S25_EDGE_META, GALAXY_S25_FRAME, GALAXY_S25_LAYOUT, GALAXY_S25_META, GALAXY_S25_SCREEN_RECT, GALAXY_S25_ULTRA_FRAME, GALAXY_S25_ULTRA_LAYOUT, GALAXY_S25_ULTRA_META, GALAXY_S25_ULTRA_SCREEN_RECT, GALAXY_TAB_S10_FE_FRAME, GALAXY_TAB_S10_FE_LAYOUT, GALAXY_TAB_S10_FE_META, GALAXY_TAB_S10_FE_SCREEN_RECT, GALAXY_TAB_S10_ULTRA_FRAME, GALAXY_TAB_S10_ULTRA_LAYOUT, GALAXY_TAB_S10_ULTRA_META, GALAXY_TAB_S10_ULTRA_SCREEN_RECT, GALAXY_Z_FOLD_7_FRAME, GALAXY_Z_FOLD_7_LAYOUT, GALAXY_Z_FOLD_7_META, GALAXY_Z_FOLD_7_OPEN_FRAME, GALAXY_Z_FOLD_7_OPEN_LAYOUT, GALAXY_Z_FOLD_7_OPEN_META, GALAXY_Z_FOLD_7_OPEN_SCREEN_RECT, GALAXY_Z_FOLD_7_SCREEN_RECT, GalaxyS25EdgeSVG, GalaxyS25SVG, GalaxyS25UltraSVG, GalaxyTabS10FeSVG, GalaxyTabS10UltraSVG, GalaxyZFold7OpenSVG, GalaxyZFold7SVG, HardwareOverlayType, IPAD_AIR_11_FRAME, IPAD_AIR_11_LAYOUT, IPAD_AIR_11_META, IPAD_AIR_11_SCREEN_RECT, IPAD_AIR_13_FRAME, IPAD_AIR_13_LAYOUT, IPAD_AIR_13_META, IPAD_AIR_13_SCREEN_RECT, IPAD_MINI_7_FRAME, IPAD_MINI_7_LAYOUT, IPAD_MINI_7_META, IPAD_MINI_7_SCREEN_RECT, IPAD_PRO_11_FRAME, IPAD_PRO_11_LAYOUT, IPAD_PRO_11_META, IPAD_PRO_11_SCREEN_RECT, IPHONE_16E_FRAME, IPHONE_16E_LAYOUT, IPHONE_16E_META, IPHONE_16E_SCREEN_RECT, IPHONE_16_FRAME, IPHONE_16_LAYOUT, IPHONE_16_META, IPHONE_16_SCREEN_RECT, 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_MAX_SCREEN_RECT, IPHONE_17_PRO_META, IPHONE_17_PRO_SCREEN_RECT, IPHONE_AIR_FRAME, IPHONE_AIR_LAYOUT, IPHONE_AIR_META, IPHONE_AIR_SCREEN_RECT, IPHONE_SE_3_FRAME, IPHONE_SE_3_LAYOUT, IPHONE_SE_3_META, IPHONE_SE_3_SCREEN_RECT, IPadAir11SVG, IPadAir13SVG, IPadMini7SVG, IPadPro11SVG, IPhone16SVG, IPhone16eSVG, IPhone17ProMaxSVG, IPhone17ProSVG, IPhoneAirSVG, IPhoneSE3SVG, type NormalizationResult, OverlayRect, PIXEL_9_PRO_FRAME, PIXEL_9_PRO_LAYOUT, PIXEL_9_PRO_META, PIXEL_9_PRO_SCREEN_RECT, PIXEL_9_PRO_XL_FRAME, PIXEL_9_PRO_XL_LAYOUT, PIXEL_9_PRO_XL_META, PIXEL_9_PRO_XL_SCREEN_RECT, type ParseSVGContractOptions, type ParsedZone, Pixel9ProSVG, Pixel9ProXLSVG, RegisteredDevice, type SVGAnalysis, type SVGNativeDimensions, SVGScreenRect, SafeAreaInsets, type ValidationResult, type ZoneType, analyzeSVGGeometry, autoDetectZones, buildAIPromptConstraints, buildCSSVariables, classifySideButtons, deriveContentZone, extractZones, getAllDeviceIds, getDeviceContract, getDeviceMetadata, getDeviceRegistry, listSVGLayerNames, normalizeSVGToLogicalPoints, parseSVGNativeDimensions, parseSVGToContract, resetDeviceRegistry, scopeSVGIds, validateNormalizedSVG };
|
package/dist/index.js
CHANGED
|
@@ -7025,6 +7025,56 @@ var GALAXY_Z_FOLD_7_OPEN_FRAME = {
|
|
|
7025
7025
|
};
|
|
7026
7026
|
var GALAXY_Z_FOLD_7_OPEN_SCREEN_RECT = { "x": 80.3916, "y": 85.6348, "width": 3074.1084, "height": 3407.9052, "rx": 20.97 };
|
|
7027
7027
|
|
|
7028
|
+
// src/svg/scope-ids.ts
|
|
7029
|
+
function scopeSVGIds(svgString, deviceId) {
|
|
7030
|
+
const safe = deviceId.replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
7031
|
+
const prefix = `${safe}__`;
|
|
7032
|
+
const idRe = /\bid\s*=\s*["']([^"']+)["']/g;
|
|
7033
|
+
const ids = /* @__PURE__ */ new Set();
|
|
7034
|
+
let m;
|
|
7035
|
+
while (m = idRe.exec(svgString)) ids.add(m[1]);
|
|
7036
|
+
let out = svgString;
|
|
7037
|
+
for (const id of ids) {
|
|
7038
|
+
const escaped = id.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
7039
|
+
out = out.replace(new RegExp(`\\bid\\s*=\\s*(["'])${escaped}\\1`, "g"), `id="${prefix}${id}"`);
|
|
7040
|
+
out = out.replace(new RegExp(`url\\(#${escaped}\\)`, "g"), `url(#${prefix}${id})`);
|
|
7041
|
+
out = out.replace(new RegExp(`\\bhref\\s*=\\s*(["'])#${escaped}\\1`, "g"), `href="#${prefix}${id}"`);
|
|
7042
|
+
out = out.replace(
|
|
7043
|
+
new RegExp(`\\bxlink:href\\s*=\\s*(["'])#${escaped}\\1`, "g"),
|
|
7044
|
+
`xlink:href="#${prefix}${id}"`
|
|
7045
|
+
);
|
|
7046
|
+
}
|
|
7047
|
+
return out;
|
|
7048
|
+
}
|
|
7049
|
+
|
|
7050
|
+
// src/custom/data.json
|
|
7051
|
+
var data_default = [];
|
|
7052
|
+
|
|
7053
|
+
// src/custom/index.tsx
|
|
7054
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
7055
|
+
function makeSVGComponent(svgString, scopeKey) {
|
|
7056
|
+
let svg = scopeSVGIds(svgString, scopeKey);
|
|
7057
|
+
svg = svg.replace(/<svg\b([^>]*)>/i, (_m, attrs) => {
|
|
7058
|
+
const stripped = attrs.replace(/\swidth\s*=\s*["'][^"']*["']/i, "").replace(/\sheight\s*=\s*["'][^"']*["']/i, "");
|
|
7059
|
+
return `<svg${stripped} width="100%" height="100%">`;
|
|
7060
|
+
});
|
|
7061
|
+
const Component = ({ style }) => /* @__PURE__ */ jsx22(
|
|
7062
|
+
"span",
|
|
7063
|
+
{
|
|
7064
|
+
style: { display: "block", width: "100%", height: "100%", ...style },
|
|
7065
|
+
dangerouslySetInnerHTML: { __html: svg }
|
|
7066
|
+
}
|
|
7067
|
+
);
|
|
7068
|
+
Component.displayName = `CustomDeviceSVG(${scopeKey})`;
|
|
7069
|
+
return Component;
|
|
7070
|
+
}
|
|
7071
|
+
var data = data_default;
|
|
7072
|
+
var CUSTOM_DEVICES = data.map((d) => ({
|
|
7073
|
+
...d,
|
|
7074
|
+
Component: makeSVGComponent(d.svgString, d.meta.id),
|
|
7075
|
+
LandscapeComponent: d.landscape ? makeSVGComponent(d.landscape.svgString, `${d.meta.id}-landscape`) : void 0
|
|
7076
|
+
}));
|
|
7077
|
+
|
|
7028
7078
|
// src/builtin.ts
|
|
7029
7079
|
var BUILTIN_METAS = {
|
|
7030
7080
|
// Tablets
|
|
@@ -7080,6 +7130,10 @@ var BUILTIN_LAYOUTS = {
|
|
|
7080
7130
|
[GALAXY_Z_FOLD_7_META.id]: GALAXY_Z_FOLD_7_LAYOUT,
|
|
7081
7131
|
[GALAXY_Z_FOLD_7_OPEN_META.id]: GALAXY_Z_FOLD_7_OPEN_LAYOUT
|
|
7082
7132
|
};
|
|
7133
|
+
for (const c of CUSTOM_DEVICES) {
|
|
7134
|
+
BUILTIN_METAS[c.meta.id] = c.meta;
|
|
7135
|
+
BUILTIN_LAYOUTS[c.meta.id] = { meta: c.meta, ...c.layout };
|
|
7136
|
+
}
|
|
7083
7137
|
|
|
7084
7138
|
// src/registry/device-registry.ts
|
|
7085
7139
|
var STORAGE_KEY = "bielaframe-custom-tablets";
|
|
@@ -7457,28 +7511,6 @@ function validateNormalizedSVG(result, targetWidth, targetHeight) {
|
|
|
7457
7511
|
return { passed: errors.length === 0, warnings, errors };
|
|
7458
7512
|
}
|
|
7459
7513
|
|
|
7460
|
-
// src/svg/scope-ids.ts
|
|
7461
|
-
function scopeSVGIds(svgString, deviceId) {
|
|
7462
|
-
const safe = deviceId.replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
7463
|
-
const prefix = `${safe}__`;
|
|
7464
|
-
const idRe = /\bid\s*=\s*["']([^"']+)["']/g;
|
|
7465
|
-
const ids = /* @__PURE__ */ new Set();
|
|
7466
|
-
let m;
|
|
7467
|
-
while (m = idRe.exec(svgString)) ids.add(m[1]);
|
|
7468
|
-
let out = svgString;
|
|
7469
|
-
for (const id of ids) {
|
|
7470
|
-
const escaped = id.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
7471
|
-
out = out.replace(new RegExp(`\\bid\\s*=\\s*(["'])${escaped}\\1`, "g"), `id="${prefix}${id}"`);
|
|
7472
|
-
out = out.replace(new RegExp(`url\\(#${escaped}\\)`, "g"), `url(#${prefix}${id})`);
|
|
7473
|
-
out = out.replace(new RegExp(`\\bhref\\s*=\\s*(["'])#${escaped}\\1`, "g"), `href="#${prefix}${id}"`);
|
|
7474
|
-
out = out.replace(
|
|
7475
|
-
new RegExp(`\\bxlink:href\\s*=\\s*(["'])#${escaped}\\1`, "g"),
|
|
7476
|
-
`xlink:href="#${prefix}${id}"`
|
|
7477
|
-
);
|
|
7478
|
-
}
|
|
7479
|
-
return out;
|
|
7480
|
-
}
|
|
7481
|
-
|
|
7482
7514
|
// src/svg/auto-detect.ts
|
|
7483
7515
|
var KEYWORDS = [
|
|
7484
7516
|
{ kw: "screen", type: "screen-area" },
|
|
@@ -7604,6 +7636,7 @@ function listSVGLayerNames(svgString) {
|
|
|
7604
7636
|
}
|
|
7605
7637
|
export {
|
|
7606
7638
|
BUILTIN_DEVICES,
|
|
7639
|
+
CUSTOM_DEVICES,
|
|
7607
7640
|
DEVICE_LAYOUTS,
|
|
7608
7641
|
DeviceRegistry,
|
|
7609
7642
|
GALAXY_S25_EDGE_FRAME,
|