@clikvn/showroom-visualizer 0.2.2-dev-12 → 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 (97) hide show
  1. package/.claude/settings.local.json +19 -0
  2. package/README.md +32 -139
  3. package/dist/components/SkinLayer/Floorplan/Map.d.ts.map +1 -1
  4. package/dist/components/SkinLayer/Floorplan/Minimap/MiniMapMarker.d.ts.map +1 -1
  5. package/dist/components/SkinLayer/Floorplan/Minimap/index.d.ts.map +1 -1
  6. package/dist/components/SkinLayer/Layout/index.d.ts.map +1 -1
  7. package/dist/components/SkinLayer/PoiMovingPreview/index.d.ts.map +1 -1
  8. package/dist/components/SkinLayer/index.d.ts +0 -32
  9. package/dist/components/SkinLayer/index.d.ts.map +1 -1
  10. package/dist/context/SwizzleContext.d.ts +21 -0
  11. package/dist/context/SwizzleContext.d.ts.map +1 -0
  12. package/dist/features/ShowroomVisualizer/VirtualTour.d.ts +0 -5
  13. package/dist/features/ShowroomVisualizer/VirtualTour.d.ts.map +1 -1
  14. package/dist/features/ShowroomVisualizer/VirtualTourContainer.d.ts +3 -4
  15. package/dist/features/ShowroomVisualizer/VirtualTourContainer.d.ts.map +1 -1
  16. package/dist/features/ShowroomVisualizer/index.d.ts +3 -24
  17. package/dist/features/ShowroomVisualizer/index.d.ts.map +1 -1
  18. package/dist/hooks/useToolConfig.d.ts.map +1 -1
  19. package/dist/index.d.ts +0 -11
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.html +95 -95
  22. package/dist/index.js +1 -1
  23. package/dist/models/Visualizer/Tour.d.ts +1 -0
  24. package/dist/models/Visualizer/Tour.d.ts.map +1 -1
  25. package/dist/models/Visualizer/TourScenario/TourScenarioPlayer.d.ts +1 -0
  26. package/dist/models/Visualizer/TourScenario/TourScenarioPlayer.d.ts.map +1 -1
  27. package/dist/register.d.ts +0 -3
  28. package/dist/register.d.ts.map +1 -1
  29. package/dist/types/SkinLayer/tool.type.d.ts +1 -6
  30. package/dist/types/SkinLayer/tool.type.d.ts.map +1 -1
  31. package/dist/types/SkinLayer/visualizer.type.d.ts +0 -3
  32. package/dist/types/SkinLayer/visualizer.type.d.ts.map +1 -1
  33. package/dist/types/swizzle.d.ts +59 -0
  34. package/dist/types/swizzle.d.ts.map +1 -0
  35. package/dist/web.js +1 -1
  36. package/package.json +124 -132
  37. package/rollup.config.js +4 -334
  38. package/.idea/inspectionProfiles/Project_Default.xml +0 -36
  39. package/.idea/jsLinters/eslint.xml +0 -7
  40. package/.idea/misc.xml +0 -9
  41. package/.idea/modules.xml +0 -8
  42. package/.idea/prettier.xml +0 -8
  43. package/.idea/showroom-visualizer.iml +0 -9
  44. package/.idea/vcs.xml +0 -6
  45. package/DEVELOPMENT.md +0 -120
  46. package/EXAMPLES.md +0 -967
  47. package/SETUP_COMPLETE.md +0 -149
  48. package/dist/components/SkinLayer/Drawer/PoiHeader/index.d.ts +0 -16
  49. package/dist/components/SkinLayer/Drawer/PoiHeader/index.d.ts.map +0 -1
  50. package/dist/components/SkinLayer/Drawer/index.d.ts +0 -29
  51. package/dist/components/SkinLayer/Drawer/index.d.ts.map +0 -1
  52. package/dist/components/SkinLayer/GalleryFullScreen/Content/ARViewer.d.ts +0 -30
  53. package/dist/components/SkinLayer/GalleryFullScreen/Content/ARViewer.d.ts.map +0 -1
  54. package/dist/components/SkinLayer/ModalItemInfo/Description.d.ts +0 -10
  55. package/dist/components/SkinLayer/ModalItemInfo/Description.d.ts.map +0 -1
  56. package/dist/components/SkinLayer/ModalItemInfo/Intro.d.ts +0 -9
  57. package/dist/components/SkinLayer/ModalItemInfo/Intro.d.ts.map +0 -1
  58. package/dist/components/SkinLayer/ModalItemInfo/Media.d.ts +0 -13
  59. package/dist/components/SkinLayer/ModalItemInfo/Media.d.ts.map +0 -1
  60. package/dist/components/SkinLayer/ModalItemInfo/index.d.ts +0 -10
  61. package/dist/components/SkinLayer/ModalItemInfo/index.d.ts.map +0 -1
  62. package/dist/components/SkinLayer/PlayAll/index.d.ts +0 -8
  63. package/dist/components/SkinLayer/PlayAll/index.d.ts.map +0 -1
  64. package/dist/components/SkinLayer/PoiTextureOptions/HorizontalMenu/index.d.ts +0 -13
  65. package/dist/components/SkinLayer/PoiTextureOptions/HorizontalMenu/index.d.ts.map +0 -1
  66. package/dist/components/SkinLayer/PoiTextureOptions/SemicircleMenu/index.d.ts +0 -13
  67. package/dist/components/SkinLayer/PoiTextureOptions/SemicircleMenu/index.d.ts.map +0 -1
  68. package/dist/components/SkinLayer/PoiTextureOptions/TextureMenuItem/index.d.ts +0 -15
  69. package/dist/components/SkinLayer/PoiTextureOptions/TextureMenuItem/index.d.ts.map +0 -1
  70. package/dist/components/SkinLayer/PoiTextureOptions/VerticalMenu/index.d.ts +0 -13
  71. package/dist/components/SkinLayer/PoiTextureOptions/VerticalMenu/index.d.ts.map +0 -1
  72. package/dist/context/StoreContext.d.ts +0 -5
  73. package/dist/context/StoreContext.d.ts.map +0 -1
  74. package/dist/features/ShowroomVisualizer/Scripts.d.ts +0 -4
  75. package/dist/features/ShowroomVisualizer/Scripts.d.ts.map +0 -1
  76. package/dist/features/ShowroomVisualizer/TourContainer.d.ts +0 -9
  77. package/dist/features/ShowroomVisualizer/TourContainer.d.ts.map +0 -1
  78. package/dist/features/ShowroomVisualizer/Tours.d.ts +0 -3
  79. package/dist/features/ShowroomVisualizer/Tours.d.ts.map +0 -1
  80. package/dist/features/VirtualTourVisualizer/index.d.ts +0 -20
  81. package/dist/features/VirtualTourVisualizer/index.d.ts.map +0 -1
  82. package/dist/features/VirtualTourVisualizerUI/index.d.ts +0 -17
  83. package/dist/features/VirtualTourVisualizerUI/index.d.ts.map +0 -1
  84. package/dist/hooks/Visualizer/reducer.d.ts +0 -116
  85. package/dist/hooks/Visualizer/reducer.d.ts.map +0 -1
  86. package/example/CSS_HANDLING.md +0 -141
  87. package/example/FIXES_SUMMARY.md +0 -121
  88. package/example/PATH_ALIASES.md +0 -103
  89. package/example/README.md +0 -64
  90. package/example/index.html +0 -13
  91. package/example/package.json +0 -25
  92. package/example/postcss.config.cjs +0 -6
  93. package/example/tailwind.config.cjs +0 -12
  94. package/example/tsconfig.node.json +0 -12
  95. package/example/vite.config.ts +0 -126
  96. /package/dist/features/ShowroomVisualizer/{cssStyles.d.ts → CssStyles.d.ts} +0 -0
  97. /package/dist/features/ShowroomVisualizer/{cssStyles.d.ts.map → CssStyles.d.ts.map} +0 -0
@@ -0,0 +1,19 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(find:*)",
5
+ "Bash(npm run build:*)",
6
+ "Bash(grep:*)",
7
+ "Bash(rm:*)",
8
+ "Bash(ls:*)",
9
+ "Bash(sed:*)",
10
+ "Bash(yarn build)",
11
+ "Bash(yalc push:*)",
12
+ "Bash(yarn dev)",
13
+ "Bash(yarn list:*)",
14
+ "Bash(mv:*)",
15
+ "Bash(rg:*)"
16
+ ],
17
+ "deny": []
18
+ }
19
+ }
package/README.md CHANGED
@@ -1,139 +1,32 @@
1
- # Showroom Visualizer
2
-
3
- A powerful, flexible 360° virtual tour visualizer với **Headless Architecture** support.
4
-
5
- ## Features
6
-
7
- - 🎨 **Flexible UI**: Sử dụng default UI hoặc build custom UI hoàn toàn
8
- - 🔧 **Headless Hooks**: Full control với React hooks
9
- - 📦 **Component Library**: Reusable components để compose custom layouts
10
- - 🎯 **Type-safe**: Full TypeScript support
11
- - ⚡ **Performance**: Optimized với React best practices
12
- - 🔄 **Backwards Compatible**: Code cũ vẫn hoạt động bình thường
13
-
14
- ## 📖 Documentation
15
-
16
- - [Headless API Documentation](./HEADLESS_API.md) - Chi tiết về API và hooks
17
- - [Examples](./EXAMPLES.md) - 9+ examples từ basic đến advanced
18
-
19
- ## 🚀 Quick Start
20
-
21
- ### 1. Sử dụng Default UI
22
-
23
- ```tsx
24
- import { ShowroomVisualizer } from 'showroom-visualizer';
25
-
26
- function App() {
27
- return (
28
- <ShowroomVisualizer
29
- config={{ tourCode: 'my-tour' }}
30
- mobile={false}
31
- apiHost="https://api.clik.vn/vt360"
32
- />
33
- );
34
- }
35
- ```
36
-
37
- ### 2. Custom UI với Headless Hooks
38
-
39
- ```tsx
40
- import { ShowroomVisualizer, useShowroomControls } from 'showroom-visualizer';
41
-
42
- function CustomUI() {
43
- const controls = useShowroomControls();
44
-
45
- return (
46
- <div>
47
- <h1>{controls.activeScene?.name}</h1>
48
- <button onClick={controls.goToNextScene}>Next →</button>
49
- <button onClick={controls.toggleFloorplan}>Toggle Map</button>
50
- </div>
51
- );
52
- }
53
-
54
- function App() {
55
- return (
56
- <ShowroomVisualizer
57
- config={{ tourCode: 'my-tour' }}
58
- customLayout={<CustomUI />}
59
- />
60
- );
61
- }
62
- ```
63
-
64
- ### 3. Headless Mode (No UI)
65
-
66
- ```tsx
67
- import { ShowroomVisualizer, useShowroomControls } from 'showroom-visualizer';
68
-
69
- function ExternalControls() {
70
- const controls = useShowroomControls();
71
- return <div>Build your UI here...</div>;
72
- }
73
-
74
- function App() {
75
- return (
76
- <>
77
- <ExternalControls />
78
- <ShowroomVisualizer
79
- config={{ tourCode: 'my-tour' }}
80
- disableDefaultUI={true}
81
- />
82
- </>
83
- );
84
- }
85
- ```
86
-
87
- ## 📚 API Reference
88
-
89
- ### Headless Hooks
90
-
91
- - `useShowroomControls()` - Main hook với tất cả controls
92
- - `useTourCore()` - Tour engine state (read-only)
93
- - `useSceneNavigation()` - Scene navigation controls
94
- - `useFloorplanControl()` - Floorplan/minimap controls
95
- - `useScenarioControl()` - Scenario auto-play controls
96
- - `usePOIInteraction()` - POI interaction controls
97
- - `useViewportControl()` - Viewport/camera controls
98
-
99
- ### Exported Components
100
-
101
- - `DefaultLayout` - Default UI layout
102
- - `PinActions`, `Floorplan`, `SceneCategories`
103
- - `PlayBar`, `GalleryFullScreen`, `ModalPopupPoi`
104
- - ...và nhiều components khác
105
-
106
- Xem [HEADLESS_API.md](./HEADLESS_API.md) để biết chi tiết.
107
-
108
- ## 🎓 Examples
109
-
110
- Xem [EXAMPLES.md](./EXAMPLES.md) để xem 9+ examples:
111
- - Simple Custom Header
112
- - Scene Grid Selector
113
- - Sidebar Navigation
114
- - External Dashboard
115
- - Auto-play Controls
116
- - POI Explorer
117
- - Complete Custom UI
118
- - Mobile-first UI
119
- - ...và nhiều hơn nữa!
120
-
121
- ## 🔧 Development
122
-
123
- ```bash
124
- # Install dependencies
125
- yarn install
126
-
127
- # Run development server
128
- yarn dev
129
-
130
- # Build for production
131
- yarn build
132
-
133
- # Serve built files
134
- serve dist --cors
135
- ```
136
-
137
- ## 📝 License
138
-
139
- MIT
1
+ <!-- markdownlint-disable MD030 -->
2
+
3
+ # showroom-visualizer
4
+
5
+ Javascript library to display Clik Showroom Visualizer with UI on your website
6
+
7
+ ```html
8
+ <!-- public/index.html -->
9
+ <script type="module">
10
+ import ShowroomVisualizer from 'http://localhost:3000/web.js';
11
+ ShowroomVisualizer.initVisualizer({
12
+ apiHost: 'https://ci-api.clik.vn/vt360',
13
+ config: {
14
+ tourCode: 'TOUR_FXYCEN7ZZVW6',
15
+ language: 'EN'
16
+ },
17
+ onLoaded: tool => {
18
+ window.tool = tool;
19
+ },
20
+ mobile: false
21
+ });
22
+ </script>
23
+ <div style="width: 100vw; height: 100vh">
24
+ <showroom-visualizer></showroom-visualizer>
25
+ </div>
26
+ ```
27
+
28
+
29
+
30
+
31
+ add <Scripts /> in ShowroomVisualizer load js ÂR
32
+ serve dist --cors
@@ -1 +1 @@
1
- {"version":3,"file":"Map.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/Floorplan/Map.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAU,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAc,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAM5C,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGpE,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAE3C,KAAK,cAAc,GACf,iBAAiB,GACjB,mBAAmB,GACnB,aAAa,GACb,OAAO,CAAC;AAEZ,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,yBAAyB,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD,4BAA4B,EAAE,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACnE,kBAAkB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,4BAA4B,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC;AACF,QAAA,MAAM,GAAG,EAAE,EAAE,CAAC,KAAK,CAuOlB,CAAC;AAEF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"Map.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/Floorplan/Map.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAU,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAc,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAK5C,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGpE,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAE3C,KAAK,cAAc,GACf,iBAAiB,GACjB,mBAAmB,GACnB,aAAa,GACb,OAAO,CAAC;AAEZ,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,yBAAyB,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD,4BAA4B,EAAE,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACnE,kBAAkB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,4BAA4B,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC;AACF,QAAA,MAAM,GAAG,EAAE,EAAE,CAAC,KAAK,CAgOlB,CAAC;AAEF,eAAe,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MiniMapMarker.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/Floorplan/Minimap/MiniMapMarker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,KAAK,CAsC5B,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"MiniMapMarker.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/Floorplan/Minimap/MiniMapMarker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,KAAK,CAmC5B,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/Floorplan/Minimap/index.tsx"],"names":[],"mappings":"AA4BA,KAAK,0BAA0B,GAAG;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;;AAguBF,wBAAsC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/Floorplan/Minimap/index.tsx"],"names":[],"mappings":"AA2BA,KAAK,0BAA0B,GAAG;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;;AAotBF,wBAAsC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/Layout/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,EAAE,EAAuB,MAAM,OAAO,CAAC;AAc/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAkC9D,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,KAAK,CA+VrB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/Layout/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,EAAE,EAAuB,MAAM,OAAO,CAAC;AAc/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAiC9D,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,KAAK,CA0VrB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PoiMovingPreview/index.tsx"],"names":[],"mappings":"AA6HA,QAAA,MAAM,oBAAoB,+CAAmB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PoiMovingPreview/index.tsx"],"names":[],"mappings":"AA8IA,QAAA,MAAM,oBAAoB,+CAAmB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,CAAC"}
@@ -1,34 +1,2 @@
1
- /**
2
- * SkinLayer Components Export
3
- *
4
- * Export tất cả components để người dùng có thể compose custom UI
5
- */
6
1
  export { default as Layout } from './Layout';
7
- export { default as DefaultLayout } from './DefaultLayout';
8
- export { default as PinActions } from './PinActionButtons';
9
- export { default as ButtonWithTooltip } from './PinActionButtons/ButtonWithTooltip';
10
- export { default as ActionsChangeScene } from './ActionsChangeScene';
11
- export { SceneCategories } from './SceneCategories';
12
- export { Floorplan } from './Floorplan';
13
- export { default as ScenarioList } from './ScenarioList';
14
- export { TourScenarios } from './TourScenarios';
15
- export { default as AGTProgressBar } from './AGTProgressBar';
16
- export { default as HotspotActive } from './HotspotActive';
17
- export { default as HotspotOverview } from './HotspotOverview';
18
- export { default as HotspotCategorySlideIn } from './HotspotCategorySlideIn';
19
- export { default as PoiDetailSlideIn } from './PoiDetailSlideIn';
20
- export { PoiMovingPreview } from './PoiMovingPreview';
21
- export { default as PoiTextureOptions } from './PoiTextureOptions';
22
- export { ModalPopupPoi } from './ModalPoi';
23
- export { ModalPopupPromotion } from './ModalPromotion';
24
- export { ModalGuide } from './ModalGuide';
25
- export { default as PlayBar } from './PlayBar';
26
- export { default as PlayListSlideIn } from './PlayListSlideIn';
27
- export { default as GalleryFullScreen } from './GalleryFullScreen';
28
- export { default as SearchAndDiscoverySlideIn } from './SearchAndDiscoverySlideIn';
29
- export { default as LogoAndTitle } from './LogoAndTitle';
30
- export { default as Joystick } from './Joystick';
31
- export { Guide } from './Guide';
32
- export { default as UnmuteButton } from './UnmuteButton';
33
- export { default as LoadingScreen } from './LoadingScreen';
34
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SkinLayer/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAGpF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG/D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGnF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SkinLayer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ import React, { ReactNode, ComponentType } from 'react';
2
+ import { SwizzleConfig, SwizzlePath } from '../types/swizzle';
3
+ type SwizzleContextType = {
4
+ swizzle: SwizzleConfig;
5
+ getSwizzledComponent: <T = unknown>(path: SwizzlePath, defaultComponent: ComponentType<T>) => ComponentType<T>;
6
+ };
7
+ /**
8
+ * Hook để access swizzle configuration
9
+ */
10
+ export declare const useSwizzle: () => SwizzleContextType;
11
+ type Props = {
12
+ swizzle?: SwizzleConfig;
13
+ children: ReactNode;
14
+ };
15
+ /**
16
+ * SwizzleProvider - Wrap app với provider này để enable component swizzling
17
+ * Giống như Docusaurus swizzle pattern
18
+ */
19
+ export declare const SwizzleProvider: React.FC<Props>;
20
+ export {};
21
+ //# sourceMappingURL=SwizzleContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwizzleContext.d.ts","sourceRoot":"","sources":["../../src/context/SwizzleContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,SAAS,EACT,aAAa,EAGd,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ9D,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,oBAAoB,EAAE,CAAC,CAAC,GAAG,OAAO,EAChC,IAAI,EAAE,WAAW,EACjB,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,KAC/B,aAAa,CAAC,CAAC,CAAC,CAAC;CACvB,CAAC;AAOF;;GAEG;AACH,eAAO,MAAM,UAAU,0BAAmC,CAAC;AAE3D,KAAK,KAAK,GAAG;IACX,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkG3C,CAAC"}
@@ -1,11 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  type Props = {
3
3
  code: string;
4
- /**
5
- * Disable UI hoàn toàn, chỉ render Visualizer
6
- * Hữu ích khi muốn build UI hoàn toàn từ đầu ở component cha
7
- */
8
- disableDefaultUI?: boolean;
9
4
  };
10
5
  declare const VirtualTour: FC<Props>;
11
6
  export default VirtualTour;
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualTour.d.ts","sourceRoot":"","sources":["../../../src/features/ShowroomVisualizer/VirtualTour.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAM3B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,KAAK,CAqB1B,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"VirtualTour.d.ts","sourceRoot":"","sources":["../../../src/features/ShowroomVisualizer/VirtualTour.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAK3B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,KAAK,CAS1B,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,8 +1,7 @@
1
- import React from 'react';
1
+ import { FC } from 'react';
2
2
  type Props = {
3
3
  code: string;
4
- disableDefaultUI?: boolean;
5
4
  };
6
- declare const _default: React.NamedExoticComponent<Props>;
7
- export default _default;
5
+ export declare const VirtualTourContainer: FC<Props>;
6
+ export {};
8
7
  //# sourceMappingURL=VirtualTourContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualTourContainer.d.ts","sourceRoot":"","sources":["../../../src/features/ShowroomVisualizer/VirtualTourContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;;AAcF,wBAAgD"}
1
+ {"version":3,"file":"VirtualTourContainer.d.ts","sourceRoot":"","sources":["../../../src/features/ShowroomVisualizer/VirtualTourContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAI3B,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,KAAK,CAI1C,CAAC"}
@@ -1,6 +1,5 @@
1
- import React from 'react';
1
+ import { FC } from 'react';
2
2
  import { ProductType, VisualizerListenersType } from '../../types/SkinLayer';
3
- import { CustomLayoutConfig } from '../../types/custom-layout';
4
3
  type VirtualTourVisualizerProps = {
5
4
  elementId?: string;
6
5
  apiHost?: string;
@@ -17,27 +16,7 @@ type VirtualTourVisualizerProps = {
17
16
  };
18
17
  listeners?: VisualizerListenersType;
19
18
  products?: ProductType[];
20
- /**
21
- * Disable default UI hoàn toàn
22
- * Chỉ render tour engine, không có UI
23
- * Hữu ích khi muốn build UI từ đầu ở ngoài component này
24
- */
25
- disableDefaultUI?: boolean;
26
- /**
27
- * Custom layout config - Override components theo cấu trúc object
28
- * @example
29
- * ```tsx
30
- * customLayout={{
31
- * Floorplan: {
32
- * Minimap: {
33
- * Marker: MyCustomMarker,
34
- * },
35
- * },
36
- * }}
37
- * ```
38
- */
39
- customLayout?: CustomLayoutConfig;
40
19
  };
41
- declare const _default: React.NamedExoticComponent<VirtualTourVisualizerProps>;
42
- export default _default;
20
+ declare const ShowroomVisualizer: FC<VirtualTourVisualizerProps>;
21
+ export default ShowroomVisualizer;
43
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/ShowroomVisualizer/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAC;AAWf,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAM/D,KAAK,0BAA0B,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,CAAC;;AAoSF,wBASG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/ShowroomVisualizer/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,EAAE,EAKH,MAAM,OAAO,CAAC;AAUf,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAM7E,KAAK,0BAA0B,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC;AACF,QAAA,MAAM,kBAAkB,EAAE,EAAE,CAAC,0BAA0B,CAoRtD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useToolConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useToolConfig.ts"],"names":[],"mappings":"AAoBA,QAAA,MAAM,aAAa,YAkZlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"useToolConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useToolConfig.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,aAAa,YA6ZlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,2 @@
1
- export { default as ShowroomVisualizer } from './features/ShowroomVisualizer';
2
- export type { CustomLayoutConfig, CustomLayoutComponent, CustomLayoutNode, } from './types/custom-layout';
3
- export { CUSTOM_LAYOUT_COMPONENTS, resolveCustomLayoutComponent, } from './types/custom-layout';
4
- export { useCustomLayout, CustomLayoutProvider, } from './context/CustomLayoutContext';
5
- export { useShowroomControls, useTourCore, useFloorplanControl, useSceneNavigation, useScenarioControl, usePOIInteraction, useViewportControl, } from './hooks/headless';
6
- export type { ShowroomControls, TourCoreControls, FloorplanControls, SceneNavigationControls, ScenarioControls, POIControls, ViewportControls, } from './hooks/headless';
7
- export { Layout, DefaultLayout, PinActions, ButtonWithTooltip, ActionsChangeScene, SceneCategories, Floorplan, ScenarioList, TourScenarios, AGTProgressBar, HotspotActive, HotspotOverview, HotspotCategorySlideIn, PoiDetailSlideIn, PoiMovingPreview, PoiTextureOptions, ModalPopupPoi, ModalPopupPromotion, ModalGuide, PlayBar, PlayListSlideIn, GalleryFullScreen, SearchAndDiscoverySlideIn, LogoAndTitle, Joystick, Guide, UnmuteButton, LoadingScreen, } from './components/SkinLayer';
8
- export { default as FloorplanMapDefault } from './components/SkinLayer/Floorplan/Map';
9
- export { default as FloorplanMinimapDefault } from './components/SkinLayer/Floorplan/Minimap';
10
- export { default as MiniMapMarkerDefault } from './components/SkinLayer/Floorplan/Minimap/MiniMapMarker';
11
- export { default as MiniMapPolygonsDefault } from './components/SkinLayer/Floorplan/Minimap/MiniMapPolygons';
12
1
  export type { VirtualTourVisualizerType } from './types/SkinLayer/visualizer.type';
13
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAG9E,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAEL,MAAM,EACN,aAAa,EAGb,UAAU,EACV,iBAAiB,EAGjB,kBAAkB,EAClB,eAAe,EAGf,SAAS,EAGT,YAAY,EACZ,aAAa,EACb,cAAc,EAGd,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EAGjB,aAAa,EACb,mBAAmB,EACnB,UAAU,EAGV,OAAO,EACP,eAAe,EAGf,iBAAiB,EAGjB,yBAAyB,EAGzB,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,aAAa,GACd,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AACzG,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0DAA0D,CAAC;AAG7G,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC"}
package/dist/index.html CHANGED
@@ -1,107 +1,107 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
5
  <meta
6
- name="viewport"
7
- content="width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"
6
+ name="viewport"
7
+ content="width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"
8
8
  />
9
9
  <title>Title</title>
10
- </head>
11
- <body>
12
- <div class="flex h-screen w-screen">
13
- <!-- <div class="h-full" style="width: 72px"></div>-->
14
- <div class="h-full" style="width: /*calc(100% - 462px);*/ 100%;">
10
+ </head>
11
+ <body>
12
+ <div class="flex h-screen w-screen">
13
+ <!-- <div class="h-full" style="width: 72px"></div>-->
14
+ <div class="h-full" style="width: /*calc(100% - 462px);*/ 100%">
15
15
  <div class="h-full w-full relative">
16
- <showroom-visualizer></showroom-visualizer>
16
+ <showroom-visualizer></showroom-visualizer>
17
17
  </div>
18
+ </div>
19
+ <!-- <div class="h-full" style="width: 390px"></div>-->
18
20
  </div>
19
- <!-- <div class="h-full" style="width: 390px"></div>-->
20
- </div>
21
- <script type="module">
22
- // import ShowroomVisualizer from 'https://85f81d7dc992.ngrok-free.app/web.js';
23
- import ShowroomVisualizer from 'http://localhost:3000/web.js';
21
+ <script type="module">
22
+ // import ShowroomVisualizer from 'https://85f81d7dc992.ngrok-free.app/web.js';
23
+ import ShowroomVisualizer from 'http://localhost:3000/web.js';
24
24
 
25
- ShowroomVisualizer.initVisualizer({
26
- apiHost: 'https://ci-api.clik.vn/vt360',
27
- webRotateApiHost: 'https://ci-api.clik.vn/cms',
28
- webRotateClientHost: 'https://ci-webrotate360-client.clik.vn',
29
- config: {
30
- language: 'VI',
31
- // tourCode: 'TOUR_FXYCEN7ZZVW6',
25
+ ShowroomVisualizer.initVisualizer({
26
+ apiHost: 'https://ci-api.clik.vn/vt360',
27
+ webRotateApiHost: 'https://ci-api.clik.vn/cms',
28
+ webRotateClientHost: 'https://ci-webrotate360-client.clik.vn',
29
+ config: {
30
+ language: 'VI',
31
+ // tourCode: 'TOUR_FXYCEN7ZZVW6',
32
32
 
33
- // startScene: 'scene_kr3rgeezzvw6',
34
- // hLookAt: -254,
35
- // vLookAt: 1
36
- // tourCode: 'TOUR_GEVEXLWNPT74',
37
- // tourCode: 'TOUR_7YUL2ALGFL94',
38
- tourCode: 'TOUR_KUFGDEPDTJA4',
39
- hLookAt: 10,
40
- vLookAt: 28,
41
- // startScene: 'SCENE_KNLRAKUHFL94',
42
- // hLookAt: -54.11884505373274,
43
- // vLookAt: -9.111287009391969
33
+ // startScene: 'scene_kr3rgeezzvw6',
34
+ // hLookAt: -254,
35
+ // vLookAt: 1
36
+ // tourCode: 'TOUR_GEVEXLWNPT74',
37
+ // tourCode: 'TOUR_7YUL2ALGFL94',
38
+ tourCode: 'TOUR_KUFGDEPDTJA4',
39
+ hLookAt: 10,
40
+ vLookAt: 28,
41
+ // startScene: 'SCENE_KNLRAKUHFL94',
42
+ // hLookAt: -54.11884505373274,
43
+ // vLookAt: -9.111287009391969
44
44
 
45
- // tourCode: 'tour_7a6hchjljga4'.toUpperCase(),
45
+ // tourCode: 'tour_7a6hchjljga4'.toUpperCase(),
46
46
 
47
- // tourCode: 'TOUR_ZJMHKMJEACAH',
48
- // startScene: 'SCENE_LVN4DLUFACAH',
49
- // hLookAt: -179.145,
50
- // vLookAt: 11.597,
47
+ // tourCode: 'TOUR_ZJMHKMJEACAH',
48
+ // startScene: 'SCENE_LVN4DLUFACAH',
49
+ // hLookAt: -179.145,
50
+ // vLookAt: 11.597,
51
51
 
52
- // tourCode: 'tour_7yul2algfl94'.toUpperCase(),
53
- // startScene: 'scene_vrz9v2uhfl94'.toUpperCase(),
54
- // hLookAt: -87,
55
- // vLookAt: 9,
56
- // hotspot: 'item27getn2d2m94'.toUpperCase(),
57
- },
58
- listeners: {
59
- onTourSwitchLoaded: (tool) => {
60
- window.switchTour = tool.switchTour;
61
- },
62
- onSceneCompleted: (...args) => {
63
- // console.log('onSceneCompleted', args);
64
- },
65
- onLoaded: tool => {
66
- // console.log('TOOL_LOADED')
67
- window.tool = tool;
68
- },
69
- onPoiClicked: (poi) => {
70
- console.log('onPoiClicked', poi);
71
- },
72
- onPoiOut: () => {
73
- // console.log('onPoiOut');
74
- },
75
- onPoiOver: (poi) => {
76
- console.log('onPoiOver', poi);
77
- },
78
- onPoiInCenter: (poi) => {
79
- // console.log('onPoiInCenter', poi);
80
- },
81
- onStartScenario: (code) => {
82
- // console.log('onStartScenario', code);
83
- },
84
- onScenarioPaused: (code) => {
85
- // console.log('onScenarioPaused', code);
86
- },
87
- onScenarioEnded: (code) => {
88
- // console.log('onScenarioEnded', code);
89
- },
90
- onChanged: (args) => {
91
- console.log('onChanged', args);
92
- },
93
- onStartLoadingTour: (code) => {
94
- // console.log('onStartLoadingTour', code);
95
- },
96
- onFinishedLoadingTour: (code) => {
97
- // console.log('onFinishedLoadingTour', code);
98
- },
99
- onStateChanged: (changes) => {
100
- // console.log('changes', changes);
101
- }
102
- },
103
- mobile: false
104
- });
105
- </script>
106
- </body>
107
- </html>
52
+ // tourCode: 'tour_7yul2algfl94'.toUpperCase(),
53
+ // startScene: 'scene_vrz9v2uhfl94'.toUpperCase(),
54
+ // hLookAt: -87,
55
+ // vLookAt: 9,
56
+ // hotspot: 'item27getn2d2m94'.toUpperCase(),
57
+ },
58
+ listeners: {
59
+ onTourSwitchLoaded: (tool) => {
60
+ window.switchTour = tool.switchTour;
61
+ },
62
+ onSceneCompleted: (...args) => {
63
+ // console.log('onSceneCompleted', args);
64
+ },
65
+ onLoaded: (tool) => {
66
+ // console.log('TOOL_LOADED')
67
+ window.tool = tool;
68
+ },
69
+ onPoiClicked: (poi) => {
70
+ console.log('onPoiClicked', poi);
71
+ },
72
+ onPoiOut: () => {
73
+ // console.log('onPoiOut');
74
+ },
75
+ onPoiOver: (poi) => {
76
+ console.log('onPoiOver', poi);
77
+ },
78
+ onPoiInCenter: (poi) => {
79
+ // console.log('onPoiInCenter', poi);
80
+ },
81
+ onStartScenario: (code) => {
82
+ // console.log('onStartScenario', code);
83
+ },
84
+ onScenarioPaused: (code) => {
85
+ // console.log('onScenarioPaused', code);
86
+ },
87
+ onScenarioEnded: (code) => {
88
+ // console.log('onScenarioEnded', code);
89
+ },
90
+ onChanged: (args) => {
91
+ console.log('onChanged', args);
92
+ },
93
+ onStartLoadingTour: (code) => {
94
+ // console.log('onStartLoadingTour', code);
95
+ },
96
+ onFinishedLoadingTour: (code) => {
97
+ // console.log('onFinishedLoadingTour', code);
98
+ },
99
+ onStateChanged: (changes) => {
100
+ // console.log('changes', changes);
101
+ },
102
+ },
103
+ mobile: false,
104
+ });
105
+ </script>
106
+ </body>
107
+ </html>