@clikvn/showroom-visualizer 0.3.0-dev-08 → 0.3.0-dev-10

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 (96) hide show
  1. package/.claude/settings.local.json +19 -0
  2. package/DEVELOPMENT.md +120 -0
  3. package/EXAMPLES.md +967 -0
  4. package/README.md +137 -3
  5. package/SETUP_COMPLETE.md +149 -0
  6. package/dist/commons/SkinLayer/components/Button/index.d.ts +4 -4
  7. package/dist/commons/SkinLayer/components/Button/index.d.ts.map +1 -1
  8. package/dist/components/SkinLayer/DefaultLayout/index.d.ts +8 -0
  9. package/dist/components/SkinLayer/DefaultLayout/index.d.ts.map +1 -0
  10. package/dist/components/SkinLayer/Floorplan/Map.d.ts.map +1 -1
  11. package/dist/components/SkinLayer/Floorplan/Minimap/MiniMapMarker.d.ts.map +1 -1
  12. package/dist/components/SkinLayer/Floorplan/Minimap/index.d.ts.map +1 -1
  13. package/dist/components/SkinLayer/HotspotCategorySlideIn/index.d.ts.map +1 -1
  14. package/dist/components/SkinLayer/HotspotOverview/index.d.ts +1 -0
  15. package/dist/components/SkinLayer/HotspotOverview/index.d.ts.map +1 -1
  16. package/dist/components/SkinLayer/Layout/index.d.ts.map +1 -1
  17. package/dist/components/SkinLayer/PinActionButtons/index.d.ts +19 -0
  18. package/dist/components/SkinLayer/PinActionButtons/index.d.ts.map +1 -1
  19. package/dist/components/SkinLayer/PlayBar/index.d.ts +19 -1
  20. package/dist/components/SkinLayer/PlayBar/index.d.ts.map +1 -1
  21. package/dist/components/SkinLayer/PoiDetailSlideIn/Detail.d.ts +5 -0
  22. package/dist/components/SkinLayer/PoiDetailSlideIn/Detail.d.ts.map +1 -1
  23. package/dist/components/SkinLayer/PoiDetailSlideIn/TabsContent/index.d.ts +4 -0
  24. package/dist/components/SkinLayer/PoiDetailSlideIn/TabsContent/index.d.ts.map +1 -1
  25. package/dist/components/SkinLayer/PoiDetailSlideIn/index.d.ts +23 -1
  26. package/dist/components/SkinLayer/PoiDetailSlideIn/index.d.ts.map +1 -1
  27. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/DisplayActionPart/index.d.ts.map +1 -1
  28. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/HelpActionPart.d.ts.map +1 -1
  29. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/PoiInfoActionPart/index.d.ts.map +1 -1
  30. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/PromotionPart/index.d.ts.map +1 -1
  31. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/ScenariosPart/index.d.ts.map +1 -1
  32. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/TourInfoActionPart.d.ts.map +1 -1
  33. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/index.d.ts.map +1 -1
  34. package/dist/components/SkinLayer/index.d.ts +49 -0
  35. package/dist/components/SkinLayer/index.d.ts.map +1 -1
  36. package/dist/constants/SkinLayer/customLayoutPaths.d.ts +84 -0
  37. package/dist/constants/SkinLayer/customLayoutPaths.d.ts.map +1 -0
  38. package/dist/constants/SkinLayer/index.d.ts +1 -0
  39. package/dist/constants/SkinLayer/index.d.ts.map +1 -1
  40. package/dist/context/CustomLayoutContext.d.ts +20 -0
  41. package/dist/context/CustomLayoutContext.d.ts.map +1 -0
  42. package/dist/context/SwizzleContext.d.ts +21 -0
  43. package/dist/context/SwizzleContext.d.ts.map +1 -0
  44. package/dist/features/ShowroomVisualizer/VirtualTour.d.ts +5 -0
  45. package/dist/features/ShowroomVisualizer/VirtualTour.d.ts.map +1 -1
  46. package/dist/features/ShowroomVisualizer/VirtualTourContainer.d.ts +4 -3
  47. package/dist/features/ShowroomVisualizer/VirtualTourContainer.d.ts.map +1 -1
  48. package/dist/features/ShowroomVisualizer/index.d.ts +24 -3
  49. package/dist/features/ShowroomVisualizer/index.d.ts.map +1 -1
  50. package/dist/hooks/headless/index.d.ts +150 -0
  51. package/dist/hooks/headless/index.d.ts.map +1 -0
  52. package/dist/hooks/headless/useFloorplanControl.d.ts +18 -0
  53. package/dist/hooks/headless/useFloorplanControl.d.ts.map +1 -0
  54. package/dist/hooks/headless/usePOIInteraction.d.ts +23 -0
  55. package/dist/hooks/headless/usePOIInteraction.d.ts.map +1 -0
  56. package/dist/hooks/headless/useScenarioControl.d.ts +22 -0
  57. package/dist/hooks/headless/useScenarioControl.d.ts.map +1 -0
  58. package/dist/hooks/headless/useSceneNavigation.d.ts +26 -0
  59. package/dist/hooks/headless/useSceneNavigation.d.ts.map +1 -0
  60. package/dist/hooks/headless/useTourCore.d.ts +23 -0
  61. package/dist/hooks/headless/useTourCore.d.ts.map +1 -0
  62. package/dist/hooks/headless/useViewportControl.d.ts +22 -0
  63. package/dist/hooks/headless/useViewportControl.d.ts.map +1 -0
  64. package/dist/hooks/useActionMiddleware.d.ts.map +1 -1
  65. package/dist/hooks/useConfiguration.d.ts +0 -1
  66. package/dist/hooks/useConfiguration.d.ts.map +1 -1
  67. package/dist/hooks/useToolConfig.d.ts.map +1 -1
  68. package/dist/index.d.ts +12 -0
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.html +110 -0
  71. package/dist/index.js +1 -0
  72. package/dist/register.d.ts +3 -0
  73. package/dist/register.d.ts.map +1 -1
  74. package/dist/types/SkinLayer/tool.type.d.ts +6 -0
  75. package/dist/types/SkinLayer/tool.type.d.ts.map +1 -1
  76. package/dist/types/SkinLayer/visualizer.type.d.ts +3 -0
  77. package/dist/types/SkinLayer/visualizer.type.d.ts.map +1 -1
  78. package/dist/types/custom-layout.d.ts +167 -0
  79. package/dist/types/custom-layout.d.ts.map +1 -0
  80. package/dist/types/swizzle.d.ts +59 -0
  81. package/dist/types/swizzle.d.ts.map +1 -0
  82. package/dist/web.js +1 -1
  83. package/example/CSS_HANDLING.md +141 -0
  84. package/example/FIXES_SUMMARY.md +121 -0
  85. package/example/PATH_ALIASES.md +103 -0
  86. package/example/README.md +64 -0
  87. package/example/index.html +13 -0
  88. package/example/package.json +25 -0
  89. package/example/postcss.config.cjs +6 -0
  90. package/example/tailwind.config.cjs +12 -0
  91. package/example/tsconfig.node.json +12 -0
  92. package/example/vite.config.ts +126 -0
  93. package/package.json +9 -1
  94. package/rollup.config.js +334 -4
  95. package/dist/utils/middleware/listenerWrapper.d.ts +0 -31
  96. package/dist/utils/middleware/listenerWrapper.d.ts.map +0 -1
@@ -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/DEVELOPMENT.md ADDED
@@ -0,0 +1,120 @@
1
+ # 🛠️ Development Guide
2
+
3
+ Hướng dẫn phát triển thư viện `@clikvn/showroom-visualizer`.
4
+
5
+ ## 📦 Cấu trúc Project
6
+
7
+ ```
8
+ showroom-visualizer/
9
+ ├── src/ # Source code của thư viện
10
+ ├── dist/ # Build output (NPM package & Web Component)
11
+ ├── example/ # Example app để test local (Vite + React)
12
+ ├── rollup.config.js # Build configuration
13
+ └── package.json
14
+ ```
15
+
16
+ ## 🚀 Development Workflows
17
+
18
+ ### Workflow 1: Test trong Example App (Khuyến nghị ⭐)
19
+
20
+ **Ưu điểm:**
21
+ - ✅ Import trực tiếp từ source (`src/`) - không cần build
22
+ - ✅ Hot reload cực nhanh
23
+ - ✅ Debug dễ dàng với source maps
24
+ - ✅ Test custom layout overrides và tất cả features
25
+ - ✅ Không cần publish hoặc yalc
26
+
27
+ **Cách dùng:**
28
+
29
+ ```bash
30
+ # Bước 1: Cài đặt dependencies cho example (chỉ lần đầu)
31
+ cd example
32
+ yarn install
33
+
34
+ # Bước 2: Chạy example app
35
+ yarn dev
36
+ # hoặc từ root: yarn dev:demo
37
+
38
+ # App sẽ chạy tại: http://localhost:3001
39
+ ```
40
+
41
+ **Modify và test:**
42
+ - Thay đổi code trong `src/` → Auto reload
43
+ - Thay đổi code trong `example/src/App.tsx` → Auto reload
44
+ - Test custom layout bằng checkbox trong UI
45
+
46
+ ### Workflow 2: Build và Test Web Component
47
+
48
+ **Test Web Component:**
49
+
50
+ ```bash
51
+ # Build
52
+ yarn build
53
+
54
+ # Serve dist folder
55
+ cd dist
56
+ npx serve
57
+ # hoặc: python3 -m http.server 8080
58
+
59
+ # Mở browser: http://localhost:8080
60
+ ```
61
+
62
+ Xem file `dist/index.html` để biết cách dùng Web Component.
63
+
64
+ ---
65
+
66
+ ## 🏗️ Build Strategy
67
+
68
+ Thư viện này có **2 build outputs**:
69
+
70
+ ### 1. NPM Package (`dist/index.js`)
71
+ - **Dùng cho:** React/Next.js apps
72
+ - **React:** External (dùng React của project)
73
+ - **Hỗ trợ:** Custom layout overrides, custom components
74
+ - **Import:**
75
+ ```tsx
76
+ import { ShowroomVisualizer } from '@clikvn/showroom-visualizer';
77
+ ```
78
+
79
+ ### 2. Web Component (`dist/web.js`)
80
+ - **Dùng cho:** Vanilla HTML/JS
81
+ - **React:** Bundled (React 18 đã được bundle sẵn)
82
+ - **Không hỗ trợ:** Custom layout overrides
83
+ - **Import:**
84
+ ```html
85
+ <script type="module" src="web.js"></script>
86
+ <showroom-visualizer api-url="..." showroom-id="..."></showroom-visualizer>
87
+ ```
88
+
89
+ ---
90
+
91
+ ## 📝 Common Tasks
92
+
93
+ ### Thêm feature mới
94
+
95
+ 1. Code trong `src/`
96
+ 2. Test trong `example/` app
97
+ 3. Build: `yarn build`
98
+
99
+
100
+ ## 🐛 Troubleshooting
101
+
102
+ ### Build errors
103
+
104
+ ```bash
105
+ # Clean và rebuild
106
+ rm -rf dist
107
+ yarn build
108
+ ```
109
+ ---
110
+
111
+ ## ✨ Tips
112
+
113
+ 1. **Luôn dùng Example app khi develop** - Nhanh và tiện nhất
114
+ 2. **Commit example app vào git** để team members cùng dùng
115
+ 3. **Không commit `dist/` vào git** - Chỉ build khi deploy
116
+
117
+ ---
118
+
119
+ Happy coding! 🚀
120
+