@clikvn/showroom-visualizer 0.4.1-dev-02 → 0.4.1-dev-04

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 (30) hide show
  1. package/.claude/settings.local.json +1 -1
  2. package/DEVELOPMENT.md +6 -3
  3. package/EXAMPLES.md +193 -153
  4. package/README.md +7 -6
  5. package/SETUP_COMPLETE.md +10 -8
  6. package/dist/components/SkinLayer/HotspotCategorySlideIn/ProductSlideIn/index.d.ts.map +1 -1
  7. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/HelpActionPart.d.ts.map +1 -1
  8. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/PoiInfoActionPart/index.d.ts.map +1 -1
  9. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/ScenariosPart/index.d.ts.map +1 -1
  10. package/dist/constants/SkinLayer/customLayoutPaths.d.ts.map +1 -1
  11. package/dist/hooks/SkinLayer/useProductShake.d.ts +15 -0
  12. package/dist/hooks/SkinLayer/useProductShake.d.ts.map +1 -0
  13. package/dist/hooks/headless/useScenarioControl.d.ts.map +1 -1
  14. package/dist/hooks/useToolConfig.d.ts.map +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/models/Visualizer/Tour.d.ts +7 -0
  17. package/dist/models/Visualizer/Tour.d.ts.map +1 -1
  18. package/dist/models/Visualizer/TourScenario/TourScenarioPlayer.d.ts.map +1 -1
  19. package/dist/types/SkinLayer/tool.type.d.ts +4 -0
  20. package/dist/types/SkinLayer/tool.type.d.ts.map +1 -1
  21. package/dist/types/custom-layout.d.ts.map +1 -1
  22. package/dist/web.js +1 -1
  23. package/example/CSS_HANDLING.md +4 -4
  24. package/example/FIXES_SUMMARY.md +18 -8
  25. package/example/PATH_ALIASES.md +13 -14
  26. package/example/README.md +0 -1
  27. package/example/index.html +0 -1
  28. package/example/postcss.config.cjs +1 -1
  29. package/example/tsconfig.node.json +0 -1
  30. package/package.json +1 -1
package/README.md CHANGED
@@ -41,13 +41,13 @@ import { ShowroomVisualizer, useShowroomControls } from 'showroom-visualizer';
41
41
 
42
42
  function CustomUI() {
43
43
  const controls = useShowroomControls();
44
-
44
+
45
45
  return (
46
46
  <div>
47
47
  <h1>{controls.activeScene?.name}</h1>
48
48
  <button onClick={controls.goToNextScene}>Next →</button>
49
49
  <button onClick={controls.toggleFloorplan}>Toggle Map</button>
50
- </div>
50
+ </div>
51
51
  );
52
52
  }
53
53
 
@@ -90,7 +90,7 @@ function App() {
90
90
 
91
91
  - `useShowroomControls()` - Main hook với tất cả controls
92
92
  - `useTourCore()` - Tour engine state (read-only)
93
- - `useSceneNavigation()` - Scene navigation controls
93
+ - `useSceneNavigation()` - Scene navigation controls
94
94
  - `useFloorplanControl()` - Floorplan/minimap controls
95
95
  - `useScenarioControl()` - Scenario auto-play controls
96
96
  - `usePOIInteraction()` - POI interaction controls
@@ -108,6 +108,7 @@ Xem [HEADLESS_API.md](./HEADLESS_API.md) để biết chi tiết.
108
108
  ## 🎓 Examples
109
109
 
110
110
  Xem [EXAMPLES.md](./EXAMPLES.md) để xem 9+ examples:
111
+
111
112
  - Simple Custom Header
112
113
  - Scene Grid Selector
113
114
  - Sidebar Navigation
@@ -131,13 +132,13 @@ yarn dev
131
132
  yarn build
132
133
 
133
134
  # Serve built files
134
- serve dist --cors
135
+ serve dist --cors
135
136
  ```
136
137
 
137
138
  ## 📝 License
138
139
 
139
- MIT
140
- =======
140
+ # MIT
141
+
141
142
  ## Installation
142
143
 
143
144
  ```bash
package/SETUP_COMPLETE.md CHANGED
@@ -45,7 +45,7 @@ yarn dev
45
45
  ✅ **Hot reload siêu nhanh** - Thay đổi code → Tự động reload
46
46
  ✅ **Test custom layout dễ dàng** - Bật/tắt bằng checkbox
47
47
  ✅ **Debug source code** - Có source maps đầy đủ
48
- ✅ **Không cần yalc** - Độc lập hoàn toàn
48
+ ✅ **Không cần yalc** - Độc lập hoàn toàn
49
49
 
50
50
  ---
51
51
 
@@ -82,6 +82,7 @@ yarn dev
82
82
  ### 2. **Test Integration → Dùng yalc với Next.js**
83
83
 
84
84
  Chỉ khi cần:
85
+
85
86
  - Test build output thật
86
87
  - Test với Next.js SSR/RSC
87
88
  - Test production build
@@ -98,12 +99,12 @@ npx serve
98
99
 
99
100
  ## 🎯 Các files quan trọng:
100
101
 
101
- | File | Mô tả |
102
- |------|-------|
103
- | `DEVELOPMENT.md` | Hướng dẫn development chi tiết |
104
- | `example/README.md` | Hướng dẫn example app |
105
- | `example/src/App.tsx` | Demo app với custom layout |
106
- | `package.json` | Đã thêm `dev:demo` script |
102
+ | File | Mô tả |
103
+ | --------------------- | ------------------------------ |
104
+ | `DEVELOPMENT.md` | Hướng dẫn development chi tiết |
105
+ | `example/README.md` | Hướng dẫn example app |
106
+ | `example/src/App.tsx` | Demo app với custom layout |
107
+ | `package.json` | Đã thêm `dev:demo` script |
107
108
 
108
109
  ---
109
110
 
@@ -119,6 +120,7 @@ npx serve
119
120
  ## 🐛 Fix lỗi yalc trước đó:
120
121
 
121
122
  **Vấn đề cũ:**
123
+
122
124
  ```
123
125
  ReactDOM__default.ReactDOM__default.findDOMNode
124
126
  ```
@@ -127,6 +129,7 @@ ReactDOM__default.ReactDOM__default.findDOMNode
127
129
  ➡️ Dùng Example app thay vì yalc để tránh hoàn toàn vấn đề này!
128
130
 
129
131
  Example app import trực tiếp từ source nên:
132
+
130
133
  - ✅ Không có build issues
131
134
  - ✅ Không có double prefix
132
135
  - ✅ Không cần fix Rollup plugins
@@ -146,4 +149,3 @@ yarn dev
146
149
  ---
147
150
 
148
151
  Happy Coding! 🎉
149
-
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/HotspotCategorySlideIn/ProductSlideIn/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAM3B,QAAA,MAAM,cAAc,EAAE,EAmFrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/HotspotCategorySlideIn/ProductSlideIn/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAM3B,QAAA,MAAM,cAAc,EAAE,EA+HrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HelpActionPart.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/SearchAndDiscoverySlideIn/HelpActionPart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAWjF,KAAK,mBAAmB,GAAG;IACzB,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC;CAC1D,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAqE3C,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"HelpActionPart.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/SearchAndDiscoverySlideIn/HelpActionPart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAWjF,KAAK,mBAAmB,GAAG;IACzB,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC;CAC1D,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAwE3C,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/SearchAndDiscoverySlideIn/PoiInfoActionPart/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,EAEF,SAAS,EAIV,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAejF,oBAAY,OAAO;IACjB,MAAM,IAAA;IACN,MAAM,IAAA;CACP;AAED,KAAK,sBAAsB,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC;CAC1D,CAAC;AAEF,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAgLjD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/SearchAndDiscoverySlideIn/PoiInfoActionPart/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,EAEF,SAAS,EAIV,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAejF,oBAAY,OAAO;IACjB,MAAM,IAAA;IACN,MAAM,IAAA;CACP;AAED,KAAK,sBAAsB,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC;CAC1D,CAAC;AAEF,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAmLjD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/SearchAndDiscoverySlideIn/ScenariosPart/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAejF,KAAK,iBAAiB,GAAG;IACvB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC;CAC1D,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAuFvC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/SearchAndDiscoverySlideIn/ScenariosPart/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAejF,KAAK,iBAAiB,GAAG;IACvB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC;CAC1D,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CA0FvC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"customLayoutPaths.d.ts","sourceRoot":"","sources":["../../../src/constants/SkinLayer/customLayoutPaths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkJtB,CAAC"}
1
+ {"version":3,"file":"customLayoutPaths.d.ts","sourceRoot":"","sources":["../../../src/constants/SkinLayer/customLayoutPaths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ItB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export type ProductShakeOptions = {
2
+ shakeDuration?: number;
3
+ playAGT?: boolean;
4
+ };
5
+ /**
6
+ * Custom hook for product shake animation
7
+ * Returns success flag after shake + AGT completed
8
+ */
9
+ export declare const useProductShake: () => {
10
+ shakeProduct: (productCode: string, options?: ProductShakeOptions) => Promise<boolean>;
11
+ isShaking: boolean;
12
+ shakingProductCode: string | null;
13
+ };
14
+ export default useProductShake;
15
+ //# sourceMappingURL=useProductShake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProductShake.d.ts","sourceRoot":"","sources":["../../../src/hooks/SkinLayer/useProductShake.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe;gCA+CX,MAAM,YACV,mBAAmB,KAC3B,OAAO,CAAC,OAAO,CAAC;;;CAiEpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useScenarioControl.d.ts","sourceRoot":"","sources":["../../../src/hooks/headless/useScenarioControl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,kBAAkB;;;;;;iCA8BN,MAAM;;;;;;;;CA2E9B,CAAC"}
1
+ {"version":3,"file":"useScenarioControl.d.ts","sourceRoot":"","sources":["../../../src/hooks/headless/useScenarioControl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,kBAAkB;;;;;;iCA8BN,MAAM;;;;;;;;CA6E9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useToolConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useToolConfig.ts"],"names":[],"mappings":"AAoBA,QAAA,MAAM,aAAa,YAkalB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"useToolConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useToolConfig.ts"],"names":[],"mappings":"AAqBA,QAAA,MAAM,aAAa,YAoalB,CAAC;AAEF,eAAe,aAAa,CAAC"}