@clikvn/showroom-visualizer 0.2.2-dev-13 → 0.2.2-dev-14
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/.claude/settings.local.json +19 -0
- package/README.md +31 -31
- package/base.json +21 -21
- package/dist/components/SkinLayer/DefaultLayout/index.d.ts +8 -0
- package/dist/components/SkinLayer/DefaultLayout/index.d.ts.map +1 -0
- package/dist/components/SkinLayer/PoiMovingPreview/index.d.ts.map +1 -1
- package/dist/context/CustomLayoutContext.d.ts +20 -0
- package/dist/context/CustomLayoutContext.d.ts.map +1 -0
- package/dist/context/SwizzleContext.d.ts +21 -0
- package/dist/context/SwizzleContext.d.ts.map +1 -0
- package/dist/fonts/icomoon.svg +633 -633
- package/dist/hooks/headless/index.d.ts +150 -0
- package/dist/hooks/headless/index.d.ts.map +1 -0
- package/dist/hooks/headless/useFloorplanControl.d.ts +18 -0
- package/dist/hooks/headless/useFloorplanControl.d.ts.map +1 -0
- package/dist/hooks/headless/usePOIInteraction.d.ts +23 -0
- package/dist/hooks/headless/usePOIInteraction.d.ts.map +1 -0
- package/dist/hooks/headless/useScenarioControl.d.ts +22 -0
- package/dist/hooks/headless/useScenarioControl.d.ts.map +1 -0
- package/dist/hooks/headless/useSceneNavigation.d.ts +26 -0
- package/dist/hooks/headless/useSceneNavigation.d.ts.map +1 -0
- package/dist/hooks/headless/useTourCore.d.ts +23 -0
- package/dist/hooks/headless/useTourCore.d.ts.map +1 -0
- package/dist/hooks/headless/useViewportControl.d.ts +22 -0
- package/dist/hooks/headless/useViewportControl.d.ts.map +1 -0
- package/dist/index.html +85 -10
- package/dist/index.js +1 -0
- package/dist/types/custom-layout.d.ts +63 -0
- package/dist/types/custom-layout.d.ts.map +1 -0
- package/dist/types/swizzle.d.ts +59 -0
- package/dist/types/swizzle.d.ts.map +1 -0
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +1 -1
- package/package.json +124 -124
- package/rollup.config.js +97 -97
- package/tailwind.config.cjs +151 -151
- package/dist/components/SkinLayer/Drawer/PoiHeader/index.d.ts +0 -16
- package/dist/components/SkinLayer/Drawer/PoiHeader/index.d.ts.map +0 -1
- package/dist/components/SkinLayer/Drawer/index.d.ts +0 -29
- package/dist/components/SkinLayer/Drawer/index.d.ts.map +0 -1
- package/dist/components/SkinLayer/PlayAll/index.d.ts +0 -8
- package/dist/components/SkinLayer/PlayAll/index.d.ts.map +0 -1
- package/dist/features/VirtualTourVisualizer/index.d.ts +0 -20
- package/dist/features/VirtualTourVisualizer/index.d.ts.map +0 -1
- package/dist/features/VirtualTourVisualizerUI/index.d.ts +0 -17
- package/dist/features/VirtualTourVisualizerUI/index.d.ts.map +0 -1
- /package/dist/features/ShowroomVisualizer/{cssStyles.d.ts → CssStyles.d.ts} +0 -0
- /package/dist/features/ShowroomVisualizer/{cssStyles.d.ts.map → CssStyles.d.ts.map} +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ComponentType } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Custom Layout Config - Cho phép override từng component thông qua cấu trúc object lồng nhau.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* customLayout={{
|
|
8
|
+
* Floorplan: {
|
|
9
|
+
* Minimap: {
|
|
10
|
+
* Marker: CustomMarker,
|
|
11
|
+
* Polygon: CustomPolygon,
|
|
12
|
+
* },
|
|
13
|
+
* },
|
|
14
|
+
* }}
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @important Pass component functions, NOT React elements!
|
|
18
|
+
*/
|
|
19
|
+
export type CustomLayoutComponent<T = any> = ComponentType<T>;
|
|
20
|
+
export type CustomLayoutNode = CustomLayoutComponent | {
|
|
21
|
+
[key: string]: CustomLayoutNode;
|
|
22
|
+
};
|
|
23
|
+
export type CustomLayoutConfig = {
|
|
24
|
+
[key: string]: CustomLayoutNode;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Resolve helper để tìm component theo path (ví dụ ['Floorplan', 'Minimap', 'Marker'])
|
|
28
|
+
*/
|
|
29
|
+
export declare const resolveCustomLayoutComponent: (config: CustomLayoutConfig | undefined, path: string[]) => CustomLayoutComponent | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Registry document các component có thể custom layout
|
|
32
|
+
*/
|
|
33
|
+
export declare const CUSTOM_LAYOUT_COMPONENTS: {
|
|
34
|
+
readonly Floorplan: {
|
|
35
|
+
readonly path: "src/components/SkinLayer/Floorplan/index.tsx";
|
|
36
|
+
readonly description: "Main Floorplan container with bottom sheet";
|
|
37
|
+
readonly children: {
|
|
38
|
+
readonly Map: {
|
|
39
|
+
readonly path: "src/components/SkinLayer/Floorplan/Map.tsx";
|
|
40
|
+
readonly description: "Floorplan map wrapper with controls";
|
|
41
|
+
};
|
|
42
|
+
readonly Minimap: {
|
|
43
|
+
readonly path: "src/components/SkinLayer/Floorplan/Minimap/index.tsx";
|
|
44
|
+
readonly description: "Interactive minimap with markers and polygons";
|
|
45
|
+
readonly children: {
|
|
46
|
+
readonly Marker: {
|
|
47
|
+
readonly path: "src/components/SkinLayer/Floorplan/Minimap/MiniMapMarker.tsx";
|
|
48
|
+
readonly description: "Individual marker on minimap";
|
|
49
|
+
};
|
|
50
|
+
readonly Polygon: {
|
|
51
|
+
readonly path: "src/components/SkinLayer/Floorplan/Minimap/MiniMapPolygons/index.tsx";
|
|
52
|
+
readonly description: "Polygon areas on minimap";
|
|
53
|
+
};
|
|
54
|
+
readonly Radar: {
|
|
55
|
+
readonly path: "src/components/SkinLayer/Floorplan/Minimap/index.tsx";
|
|
56
|
+
readonly description: "Radar element inside minimap";
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=custom-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-layout.d.ts","sourceRoot":"","sources":["../../src/types/custom-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,GAAG,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GACxB,qBAAqB,GACrB;IACE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACjC,CAAC;AAEN,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACvC,QAAQ,kBAAkB,GAAG,SAAS,EACtC,MAAM,MAAM,EAAE,KACb,qBAAqB,GAAG,SAgD1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B3B,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Swizzle Config - Cho phép customize components theo nested path
|
|
3
|
+
* Giống như Docusaurus swizzle pattern
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* // ✅ ĐÚNG - Pass component function
|
|
8
|
+
* swizzle={{
|
|
9
|
+
* 'Floorplan.Minimap.Marker': CustomMarker,
|
|
10
|
+
* 'Floorplan.Minimap': CustomMinimap,
|
|
11
|
+
* }}
|
|
12
|
+
*
|
|
13
|
+
* // ❌ SAI - Không pass React element
|
|
14
|
+
* swizzle={{
|
|
15
|
+
* 'Floorplan.Minimap.Marker': <CustomMarker />, // ❌ Wrong!
|
|
16
|
+
* }}
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @important Pass component functions, NOT React elements!
|
|
20
|
+
*/
|
|
21
|
+
export type SwizzleConfig = {
|
|
22
|
+
Floorplan?: any;
|
|
23
|
+
'Floorplan.Map'?: any;
|
|
24
|
+
'Floorplan.Minimap'?: any;
|
|
25
|
+
'Floorplan.Minimap.Marker'?: any;
|
|
26
|
+
'Floorplan.Minimap.Polygon'?: any;
|
|
27
|
+
'Floorplan.Minimap.Radar'?: any;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Helper type để auto-complete swizzle paths
|
|
31
|
+
*/
|
|
32
|
+
export type SwizzlePath = keyof SwizzleConfig;
|
|
33
|
+
/**
|
|
34
|
+
* Registry của tất cả components có thể swizzle
|
|
35
|
+
* Dùng để documentation và validation
|
|
36
|
+
*/
|
|
37
|
+
export declare const SWIZZLEABLE_COMPONENTS: {
|
|
38
|
+
readonly Floorplan: {
|
|
39
|
+
readonly path: "src/components/SkinLayer/Floorplan/index.tsx";
|
|
40
|
+
readonly description: "Main Floorplan container with bottom sheet";
|
|
41
|
+
};
|
|
42
|
+
readonly 'Floorplan.Map': {
|
|
43
|
+
readonly path: "src/components/SkinLayer/Floorplan/Map.tsx";
|
|
44
|
+
readonly description: "Floorplan map wrapper with controls";
|
|
45
|
+
};
|
|
46
|
+
readonly 'Floorplan.Minimap': {
|
|
47
|
+
readonly path: "src/components/SkinLayer/Floorplan/Minimap/index.tsx";
|
|
48
|
+
readonly description: "Interactive minimap with markers and polygons";
|
|
49
|
+
};
|
|
50
|
+
readonly 'Floorplan.Minimap.Marker': {
|
|
51
|
+
readonly path: "src/components/SkinLayer/Floorplan/Minimap/MiniMapMarker.tsx";
|
|
52
|
+
readonly description: "Individual marker on minimap";
|
|
53
|
+
};
|
|
54
|
+
readonly 'Floorplan.Minimap.Polygon': {
|
|
55
|
+
readonly path: "src/components/SkinLayer/Floorplan/Minimap/MiniMapPolygons/index.tsx";
|
|
56
|
+
readonly description: "Polygon areas on minimap";
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=swizzle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swizzle.d.ts","sourceRoot":"","sources":["../../src/types/swizzle.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,aAAa,GAAG;IAE1B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,0BAA0B,CAAC,EAAE,GAAG,CAAC;IACjC,2BAA2B,CAAC,EAAE,GAAG,CAAC;IAClC,yBAAyB,CAAC,EAAE,GAAG,CAAC;CAGjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;CAsBzB,CAAC"}
|
package/dist/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU;;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU;;UAIsF,CAAC;;;CAJnE,CAAC;AAGrC,eAAe,UAAU,CAAC"}
|