@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.
Files changed (48) hide show
  1. package/.claude/settings.local.json +19 -0
  2. package/README.md +31 -31
  3. package/base.json +21 -21
  4. package/dist/components/SkinLayer/DefaultLayout/index.d.ts +8 -0
  5. package/dist/components/SkinLayer/DefaultLayout/index.d.ts.map +1 -0
  6. package/dist/components/SkinLayer/PoiMovingPreview/index.d.ts.map +1 -1
  7. package/dist/context/CustomLayoutContext.d.ts +20 -0
  8. package/dist/context/CustomLayoutContext.d.ts.map +1 -0
  9. package/dist/context/SwizzleContext.d.ts +21 -0
  10. package/dist/context/SwizzleContext.d.ts.map +1 -0
  11. package/dist/fonts/icomoon.svg +633 -633
  12. package/dist/hooks/headless/index.d.ts +150 -0
  13. package/dist/hooks/headless/index.d.ts.map +1 -0
  14. package/dist/hooks/headless/useFloorplanControl.d.ts +18 -0
  15. package/dist/hooks/headless/useFloorplanControl.d.ts.map +1 -0
  16. package/dist/hooks/headless/usePOIInteraction.d.ts +23 -0
  17. package/dist/hooks/headless/usePOIInteraction.d.ts.map +1 -0
  18. package/dist/hooks/headless/useScenarioControl.d.ts +22 -0
  19. package/dist/hooks/headless/useScenarioControl.d.ts.map +1 -0
  20. package/dist/hooks/headless/useSceneNavigation.d.ts +26 -0
  21. package/dist/hooks/headless/useSceneNavigation.d.ts.map +1 -0
  22. package/dist/hooks/headless/useTourCore.d.ts +23 -0
  23. package/dist/hooks/headless/useTourCore.d.ts.map +1 -0
  24. package/dist/hooks/headless/useViewportControl.d.ts +22 -0
  25. package/dist/hooks/headless/useViewportControl.d.ts.map +1 -0
  26. package/dist/index.html +85 -10
  27. package/dist/index.js +1 -0
  28. package/dist/types/custom-layout.d.ts +63 -0
  29. package/dist/types/custom-layout.d.ts.map +1 -0
  30. package/dist/types/swizzle.d.ts +59 -0
  31. package/dist/types/swizzle.d.ts.map +1 -0
  32. package/dist/web.d.ts.map +1 -1
  33. package/dist/web.js +1 -1
  34. package/package.json +124 -124
  35. package/rollup.config.js +97 -97
  36. package/tailwind.config.cjs +151 -151
  37. package/dist/components/SkinLayer/Drawer/PoiHeader/index.d.ts +0 -16
  38. package/dist/components/SkinLayer/Drawer/PoiHeader/index.d.ts.map +0 -1
  39. package/dist/components/SkinLayer/Drawer/index.d.ts +0 -29
  40. package/dist/components/SkinLayer/Drawer/index.d.ts.map +0 -1
  41. package/dist/components/SkinLayer/PlayAll/index.d.ts +0 -8
  42. package/dist/components/SkinLayer/PlayAll/index.d.ts.map +0 -1
  43. package/dist/features/VirtualTourVisualizer/index.d.ts +0 -20
  44. package/dist/features/VirtualTourVisualizer/index.d.ts.map +0 -1
  45. package/dist/features/VirtualTourVisualizerUI/index.d.ts +0 -17
  46. package/dist/features/VirtualTourVisualizerUI/index.d.ts.map +0 -1
  47. /package/dist/features/ShowroomVisualizer/{cssStyles.d.ts → CssStyles.d.ts} +0 -0
  48. /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;;UAIuF,CAAC;;;CAJpE,CAAC;AAGrC,eAAe,UAAU,CAAC"}
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"}