@clikvn/showroom-visualizer 0.3.0-dev-06 → 0.3.0-dev-07

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 (64) hide show
  1. package/CLAUDE.md +140 -0
  2. package/Planning/README-middleware.md +582 -0
  3. package/Planning/README.md +67 -0
  4. package/Planning/TEMPLATE.md +270 -0
  5. package/README.md +181 -15
  6. package/dist/components/SkinLayer/HotspotOverview/index.d.ts.map +1 -1
  7. package/dist/components/SkinLayer/PinActionButtons/index.d.ts.map +1 -1
  8. package/dist/components/SkinLayer/SceneCategories/index.d.ts.map +1 -1
  9. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/PoiInfoActionPart/index.d.ts.map +1 -1
  10. package/dist/components/SkinLayer/TourScenarios/index.d.ts.map +1 -1
  11. package/dist/features/ShowroomVisualizer/index.d.ts +2 -1
  12. package/dist/features/ShowroomVisualizer/index.d.ts.map +1 -1
  13. package/dist/hooks/Visualizer/useTourVisualizer.d.ts.map +1 -1
  14. package/dist/hooks/useActionMiddleware.d.ts +25 -0
  15. package/dist/hooks/useActionMiddleware.d.ts.map +1 -0
  16. package/dist/hooks/useConfiguration.d.ts +3 -1
  17. package/dist/hooks/useConfiguration.d.ts.map +1 -1
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/models/Visualizer/Plugins/BasePlugin.d.ts.map +1 -1
  21. package/dist/models/Visualizer/Poi/PoiLensFlare.d.ts.map +1 -1
  22. package/dist/models/Visualizer/Poi/PoiMultimedia/PoiSound.d.ts.map +1 -1
  23. package/dist/models/Visualizer/Poi/PoiMultimedia/PoiVideo.d.ts.map +1 -1
  24. package/dist/register.d.ts +2 -1
  25. package/dist/register.d.ts.map +1 -1
  26. package/dist/types/SkinLayer/index.d.ts +1 -0
  27. package/dist/types/SkinLayer/index.d.ts.map +1 -1
  28. package/dist/types/SkinLayer/middleware.type.d.ts +41 -0
  29. package/dist/types/SkinLayer/middleware.type.d.ts.map +1 -0
  30. package/dist/types/SkinLayer/visualizer.type.d.ts +2 -0
  31. package/dist/types/SkinLayer/visualizer.type.d.ts.map +1 -1
  32. package/dist/types/Visualizer/tourScenario/tourScenario.type.d.ts.map +1 -1
  33. package/dist/utils/Visualizer/image.utils.d.ts.map +1 -1
  34. package/dist/utils/middleware/listenerWrapper.d.ts +31 -0
  35. package/dist/utils/middleware/listenerWrapper.d.ts.map +1 -0
  36. package/dist/web.js +1 -1
  37. package/package.json +3 -3
  38. package/.claude/settings.local.json +0 -19
  39. package/dist/components/SkinLayer/DefaultLayout/index.d.ts +0 -8
  40. package/dist/components/SkinLayer/DefaultLayout/index.d.ts.map +0 -1
  41. package/dist/context/CustomLayoutContext.d.ts +0 -20
  42. package/dist/context/CustomLayoutContext.d.ts.map +0 -1
  43. package/dist/context/SwizzleContext.d.ts +0 -21
  44. package/dist/context/SwizzleContext.d.ts.map +0 -1
  45. package/dist/hooks/headless/index.d.ts +0 -150
  46. package/dist/hooks/headless/index.d.ts.map +0 -1
  47. package/dist/hooks/headless/useFloorplanControl.d.ts +0 -18
  48. package/dist/hooks/headless/useFloorplanControl.d.ts.map +0 -1
  49. package/dist/hooks/headless/usePOIInteraction.d.ts +0 -23
  50. package/dist/hooks/headless/usePOIInteraction.d.ts.map +0 -1
  51. package/dist/hooks/headless/useScenarioControl.d.ts +0 -22
  52. package/dist/hooks/headless/useScenarioControl.d.ts.map +0 -1
  53. package/dist/hooks/headless/useSceneNavigation.d.ts +0 -26
  54. package/dist/hooks/headless/useSceneNavigation.d.ts.map +0 -1
  55. package/dist/hooks/headless/useTourCore.d.ts +0 -23
  56. package/dist/hooks/headless/useTourCore.d.ts.map +0 -1
  57. package/dist/hooks/headless/useViewportControl.d.ts +0 -22
  58. package/dist/hooks/headless/useViewportControl.d.ts.map +0 -1
  59. package/dist/index.html +0 -110
  60. package/dist/index.js +0 -1
  61. package/dist/types/custom-layout.d.ts +0 -63
  62. package/dist/types/custom-layout.d.ts.map +0 -1
  63. package/dist/types/swizzle.d.ts +0 -59
  64. package/dist/types/swizzle.d.ts.map +0 -1
@@ -0,0 +1,270 @@
1
+ # [Feature Name]
2
+
3
+ > **Status:** Planning | In Progress | Completed
4
+ > **Version:** 0.x.0
5
+ > **Last Updated:** YYYY-MM-DD
6
+
7
+ ## Overview
8
+
9
+ Brief description of what this feature does and why it's needed.
10
+
11
+ **Key Benefits:**
12
+
13
+ - Benefit 1
14
+ - Benefit 2
15
+ - Benefit 3
16
+
17
+ ## Quick Start
18
+
19
+ ```typescript
20
+ // Basic usage example
21
+ import ShowroomVisualizer from '@clikvn/showroom-visualizer';
22
+
23
+ ShowroomVisualizer.initVisualizer({
24
+ apiHost: 'https://api.example.com',
25
+ config: { tourCode: 'TOUR_123' },
26
+
27
+ // Feature-specific configuration
28
+ featureName: {
29
+ option1: 'value1',
30
+ option2: true,
31
+ },
32
+ });
33
+ ```
34
+
35
+ ## Requirements
36
+
37
+ ### Functional Requirements
38
+
39
+ - [ ] Requirement 1
40
+ - [ ] Requirement 2
41
+ - [ ] Requirement 3
42
+
43
+ ### Non-Functional Requirements
44
+
45
+ - [ ] Performance: [target metrics]
46
+ - [ ] Backward compatibility: [yes/no and details]
47
+ - [ ] Browser support: [supported browsers]
48
+
49
+ ## API Reference
50
+
51
+ ### Types
52
+
53
+ ```typescript
54
+ /**
55
+ * Description of the type
56
+ */
57
+ export interface FeatureType {
58
+ /** Description */
59
+ property1: string;
60
+ /** Description */
61
+ property2?: number;
62
+ }
63
+
64
+ /**
65
+ * Description of the function type
66
+ */
67
+ export type FeatureCallback = (param: FeatureType) => void;
68
+ ```
69
+
70
+ ### Configuration Options
71
+
72
+ | Option | Type | Required | Default | Description |
73
+ | --------- | --------- | -------- | ------- | ----------- |
74
+ | `option1` | `string` | Yes | - | Description |
75
+ | `option2` | `boolean` | No | `false` | Description |
76
+ | `option3` | `number` | No | `100` | Description |
77
+
78
+ ### Methods
79
+
80
+ #### `methodName(param: Type): ReturnType`
81
+
82
+ Description of what the method does.
83
+
84
+ **Parameters:**
85
+
86
+ - `param` (Type) - Description
87
+
88
+ **Returns:**
89
+
90
+ - `ReturnType` - Description
91
+
92
+ **Example:**
93
+
94
+ ```typescript
95
+ const result = tool.methodName('value');
96
+ ```
97
+
98
+ ## Architecture
99
+
100
+ ### Component Hierarchy
101
+
102
+ ```
103
+ ShowroomVisualizer
104
+ ├── FeatureComponent
105
+ │ ├── SubComponent1
106
+ │ └── SubComponent2
107
+ └── AnotherComponent
108
+ ```
109
+
110
+ ### Data Flow
111
+
112
+ ```
113
+ User Action → Component → Hook → Model → State Update → UI Render
114
+ ```
115
+
116
+ ### Key Files
117
+
118
+ - `src/types/SkinLayer/feature.type.ts` - Type definitions
119
+ - `src/hooks/useFeature.ts` - Custom hook
120
+ - `src/components/FeatureComponent/index.tsx` - Main component
121
+ - `src/models/Feature.ts` - Business logic model
122
+
123
+ ### Integration Points
124
+
125
+ 1. **Configuration Provider**: How the feature integrates with configuration
126
+ 2. **State Management**: Which state it manages
127
+ 3. **Event System**: What events it listens to/dispatches
128
+
129
+ ## Implementation Plan
130
+
131
+ ### Phase 1: Core Implementation
132
+
133
+ - [ ] Create type definitions
134
+ - [ ] Implement core hook
135
+ - [ ] Add component integration
136
+ - [ ] Unit tests
137
+
138
+ ### Phase 2: UI Integration
139
+
140
+ - [ ] Add UI components
141
+ - [ ] Style implementation
142
+ - [ ] Mobile responsiveness
143
+ - [ ] Integration tests
144
+
145
+ ### Phase 3: Documentation & Release
146
+
147
+ - [ ] API documentation
148
+ - [ ] Usage examples
149
+ - [ ] Migration guide (if breaking changes)
150
+ - [ ] Update CHANGELOG
151
+
152
+ ## Usage Examples
153
+
154
+ ### Example 1: Basic Usage
155
+
156
+ ```typescript
157
+ import ShowroomVisualizer from '@clikvn/showroom-visualizer';
158
+
159
+ ShowroomVisualizer.initVisualizer({
160
+ apiHost: 'https://api.example.com',
161
+ config: { tourCode: 'TOUR_123' },
162
+ feature: {
163
+ // configuration
164
+ },
165
+ });
166
+ ```
167
+
168
+ ### Example 2: Advanced Usage
169
+
170
+ ```typescript
171
+ // More complex example
172
+ ```
173
+
174
+ ### Example 3: Integration with Other Features
175
+
176
+ ```typescript
177
+ // Example showing how it works with other features
178
+ ```
179
+
180
+ ## Error Handling
181
+
182
+ ### Common Errors
183
+
184
+ | Error Code | Description | Solution |
185
+ | ---------- | ----------- | ---------- |
186
+ | `ERR_001` | Description | How to fix |
187
+ | `ERR_002` | Description | How to fix |
188
+
189
+ ### Best Practices
190
+
191
+ - Best practice 1
192
+ - Best practice 2
193
+ - Best practice 3
194
+
195
+ ## Performance Considerations
196
+
197
+ - Performance note 1
198
+ - Performance note 2
199
+ - Benchmark: [metrics]
200
+
201
+ ## Browser Compatibility
202
+
203
+ | Browser | Minimum Version | Notes |
204
+ | ------- | --------------- | --------------- |
205
+ | Chrome | 90+ | Fully supported |
206
+ | Firefox | 88+ | Fully supported |
207
+ | Safari | 14+ | Fully supported |
208
+ | Edge | 90+ | Fully supported |
209
+
210
+ ## Migration Guide
211
+
212
+ ### From Version X to Y
213
+
214
+ If this feature introduces breaking changes:
215
+
216
+ **Breaking Changes:**
217
+
218
+ 1. Change 1
219
+ 2. Change 2
220
+
221
+ **Migration Steps:**
222
+
223
+ ```typescript
224
+ // Before
225
+ oldApi();
226
+
227
+ // After
228
+ newApi();
229
+ ```
230
+
231
+ ## Testing
232
+
233
+ ### Unit Tests
234
+
235
+ - Test case 1
236
+ - Test case 2
237
+
238
+ ### Integration Tests
239
+
240
+ - Test case 1
241
+ - Test case 2
242
+
243
+ ### Manual Testing Checklist
244
+
245
+ - [ ] Test scenario 1
246
+ - [ ] Test scenario 2
247
+ - [ ] Test on mobile
248
+ - [ ] Test on desktop
249
+
250
+ ## FAQ
251
+
252
+ **Q: Question 1?**
253
+ A: Answer 1
254
+
255
+ **Q: Question 2?**
256
+ A: Answer 2
257
+
258
+ ## References
259
+
260
+ - [Related documentation](link)
261
+ - [External resource](link)
262
+ - [API specification](link)
263
+
264
+ ## Changelog
265
+
266
+ ### Version 0.x.0 (YYYY-MM-DD)
267
+
268
+ - Initial implementation
269
+ - Feature 1 added
270
+ - Bug fix 1
package/README.md CHANGED
@@ -4,29 +4,195 @@
4
4
 
5
5
  Javascript library to display Clik Showroom Visualizer with UI on your website
6
6
 
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install @clikvn/showroom-visualizer
11
+ # or
12
+ yarn add @clikvn/showroom-visualizer
13
+ ```
14
+
15
+ ## Basic Usage
16
+
7
17
  ```html
8
18
  <!-- public/index.html -->
9
19
  <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
- });
20
+ import ShowroomVisualizer from 'http://localhost:3000/web.js';
21
+ ShowroomVisualizer.initVisualizer({
22
+ apiHost: 'https://ci-api.clik.vn/vt360',
23
+ config: {
24
+ tourCode: 'TOUR_FXYCEN7ZZVW6',
25
+ language: 'EN',
26
+ },
27
+ onLoaded: (tool) => {
28
+ window.tool = tool;
29
+ },
30
+ mobile: false,
31
+ });
22
32
  </script>
23
33
  <div style="width: 100vw; height: 100vh">
24
- <showroom-visualizer></showroom-visualizer>
34
+ <showroom-visualizer></showroom-visualizer>
25
35
  </div>
26
36
  ```
27
37
 
38
+ ## Features
39
+
40
+ - 🌐 **360° Virtual Tours** - Interactive panoramic experiences powered by Krpano
41
+ - 🎯 **Points of Interest (POI)** - Multiple POI types: Gallery, Video, Sound, Navigation, Texture, Promotions
42
+ - 🎬 **Automated Scenarios** - Guided tour playback with camera movements and narration
43
+ - 🗺️ **Floorplan/Minimap** - Interactive navigation with radar positioning
44
+ - 📱 **Mobile Optimized** - Touch controls and responsive layout for mobile devices
45
+ - 🌍 **Multi-language** - Support for EN, CN, JP, KR, VI
46
+ - 🎨 **Customizable UI** - Theme support and configurable components
47
+ - 📊 **Analytics Middleware** - Track user interactions for analytics (see below)
48
+
49
+ ## Middleware System for Analytics
50
+
51
+ The library includes a **tracking middleware** system that allows you to monitor all user interactions:
52
+
53
+ ```typescript
54
+ import ShowroomVisualizer from '@clikvn/showroom-visualizer';
55
+
56
+ ShowroomVisualizer.initVisualizer({
57
+ apiHost: 'https://api.clik.vn',
58
+ config: { tourCode: 'TOUR_123' },
59
+
60
+ // Add tracking middleware
61
+ middleware: (event) => {
62
+ console.log('Action:', event.actionName);
63
+ console.log('Payload:', event.payload);
64
+ console.log('Timestamp:', event.timestamp);
65
+
66
+ // Send to your analytics service
67
+ analytics.track(event.actionName, event.payload);
68
+ },
69
+ });
70
+ ```
71
+
72
+ ### Tracked Actions
73
+
74
+ The middleware tracks **12 user interactions**:
75
+
76
+ - **UI Layer**: Pin actions, scene navigation, scenario playback, hotspot interactions
77
+ - **POI Layer**: POI clicks, texture changes, gallery interactions
78
+ - **Controls**: Background sound, minimap, function buttons
79
+
80
+ See [`Planning/README-middleware.md`](./Planning/README-middleware.md) for complete documentation with all tracked actions and examples.
81
+
82
+ ## Available Listeners
83
+
84
+ The library provides **21+ event listeners** for custom app logic:
85
+
86
+ | Listener | Description | Payload |
87
+ | ----------------------- | --------------------- | ------------------------- |
88
+ | **POI Events** |
89
+ | `onPoiClicked` | POI clicked | POI object |
90
+ | `onPoiOver` | Mouse over POI | POI object |
91
+ | `onPoiHover` | Mouse hovering POI | POI object |
92
+ | `onPoiOut` | Mouse left POI | - |
93
+ | `onPoiInCenter` | POI nearest to center | POI object |
94
+ | **Scene Events** |
95
+ | `onSceneCompleted` | Scene loaded | `sceneCode, categoryCode` |
96
+ | `onSceneChanged` | Scene navigated | Scene object |
97
+ | **Scenario Events** |
98
+ | `onStartScenario` | Scenario started | `scenarioCode` |
99
+ | `onScenarioPaused` | Scenario paused | `scenarioCode` |
100
+ | `onScenarioEnded` | Scenario ended | `scenarioCode` |
101
+ | **UI Events** |
102
+ | `onToggleSlideIn` | Slide-in toggled | `{ open, offset }` |
103
+ | `onPlaybarOpen` | Playbar opened | - |
104
+ | `onPlaybarClosed` | Playbar closed | - |
105
+ | `onPinActionClicked` | Pin button clicked | Button key string |
106
+ | **Tour Lifecycle** |
107
+ | `onStartLoadingTour` | Tour load started | `tourCode` |
108
+ | `onFinishedLoadingTour` | Tour load finished | `tourCode` |
109
+ | `onLoaded` | Tool ready | Tool object |
110
+ | `onDataLoaded` | Tour data loaded | `tour, tourData` |
111
+ | **Product Events** |
112
+ | `onAIProductClicked` | AI product clicked | Product code |
113
+ | `onShareProductClicked` | Share product clicked | Product code |
114
+ | **Other Events** |
115
+ | `onChanged` | Config changed | Config object |
116
+ | `onTourSwitchLoaded` | Tour switch ready | TourSwitch object |
117
+ | `onStateChanged` | State changed | State values |
118
+
119
+ ## Tracked Actions (Middleware)
120
+
121
+ The middleware system tracks **12 user actions** (fires even without listeners):
122
+
123
+ | # | Action Name | Layer | Trigger | Payload |
124
+ | --- | ------------------------- | ------ | ----------------------- | ------------------------------- |
125
+ | 1 | `onPinActionClicked` | UI | Pin action button click | `string` (button key) |
126
+ | 2 | `onSceneChanged` | UI | Scene navigation | `{ scene, category }` |
127
+ | 3 | `onStartScenario` | UI | Scenario playback | `string` (scenario code) |
128
+ | 4 | `onPoiClicked` | Krpano | POI click | POI object |
129
+ | 5 | `onMovingPoiClick` | Krpano | Moving POI click | `{ sceneCode, floorPlanCode? }` |
130
+ | 6 | `onTexturePoiClick` | Krpano | Texture POI click | `{ poiCode, textureIndex }` |
131
+ | 7 | `onBackgroundSoundToggle` | Krpano | BG sound control | `{ playing }` |
132
+ | 8 | `onFunctionButtonOpen` | Krpano | Function button open | `{ buttonCode }` |
133
+ | 9 | `onMinimapToggle` | Krpano | Minimap toggle | `{ fullscreen }` |
134
+ | 10 | `onHotspotViewMore` | UI | View more button | `{ poiCode, poiType }` |
135
+ | 11 | `onGalleryItemClick` | UI | Gallery item click | `{ id, poiCode }` |
136
+ | 12 | `onTextureSelected` | UI | Texture selection | `{ index, poiCode }` |
137
+
138
+ **Key Differences**:
139
+
140
+ - **Listeners**: Optional callbacks for custom app logic (only fire if configured)
141
+ - **Tracked Actions**: Always fire through middleware for analytics (even without listeners)
142
+
143
+ ## Configuration Options
144
+
145
+ ```typescript
146
+ ShowroomVisualizer.initVisualizer({
147
+ // Required
148
+ apiHost: string; // API endpoint URL
149
+ config: {
150
+ tourCode: string; // Tour identifier
151
+ language?: string; // 'EN' | 'CN' | 'JP' | 'KR' | 'VI'
152
+ };
153
+
154
+ // Optional
155
+ mobile?: boolean; // Mobile mode
156
+ onLoaded?: (tool) => void; // Callback when loaded
157
+ middleware?: (event) => void; // Analytics tracking
158
+ listeners?: { // Event listeners (see table above)
159
+ onPoiClicked?: (poi) => void;
160
+ onSceneChanged?: (scene) => void;
161
+ onStartScenario?: (scenarioCode) => void;
162
+ onPinActionClicked?: (key) => void;
163
+ onSceneCompleted?: (sceneCode, categoryCode) => void;
164
+ // ... 16+ more listeners available
165
+ };
166
+ });
167
+ ```
168
+
169
+ ## Development
170
+
171
+ ```bash
172
+ # Development with hot reload
173
+ yarn dev
174
+
175
+ # Production build
176
+ yarn build
177
+
178
+ # Linting
179
+ yarn lint
180
+ yarn lint:fix
181
+
182
+ # Code formatting
183
+ yarn prettier
184
+
185
+ # Serve built files locally
186
+ serve dist --cors
187
+ ```
188
+
189
+ ## Documentation
28
190
 
191
+ - **[CLAUDE.md](./CLAUDE.md)** - Architecture overview and development guide
192
+ - **[Planning/](./Planning/)** - Feature planning and specifications
193
+ - [README-middleware.md](./Planning/README-middleware.md) - Middleware/analytics tracking system
194
+ - [TEMPLATE.md](./Planning/TEMPLATE.md) - Template for new feature planning
29
195
 
196
+ ## License
30
197
 
31
- add <Scripts /> in ShowroomVisualizer load js ÂR
32
- serve dist --cors
198
+ Proprietary - Clik Vietnam
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/HotspotOverview/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,EAAE,EAOH,MAAM,OAAO,CAAC;AA+Ef,QAAA,MAAM,eAAe,EAAE,EAwctB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/HotspotOverview/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,EAAE,EAOH,MAAM,OAAO,CAAC;AAgFf,QAAA,MAAM,eAAe,EAAE,EAydtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PinActionButtons/index.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAU5D,KAAK,mBAAmB,GAAG;IACzB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;CAChE,CAAC;;AAkgBF,wBAAgC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PinActionButtons/index.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAU5D,KAAK,mBAAmB,GAAG;IACzB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;CAChE,CAAC;;AAwgBF,wBAAgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/SceneCategories/index.tsx"],"names":[],"mappings":"AAuPA,QAAA,MAAM,mBAAmB,0CAAwB,CAAC;AAClD,OAAO,EAAE,mBAAmB,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/SceneCategories/index.tsx"],"names":[],"mappings":"AA4PA,QAAA,MAAM,mBAAmB,0CAAwB,CAAC;AAClD,OAAO,EAAE,mBAAmB,IAAI,eAAe,EAAE,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;AAajF,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,CAuKjD,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;AAajF,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,CAwKjD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/TourScenarios/index.tsx"],"names":[],"mappings":"AAyNA,QAAA,MAAM,iBAAiB,0CAAsB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/TourScenarios/index.tsx"],"names":[],"mappings":"AA8NA,QAAA,MAAM,iBAAiB,0CAAsB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { ProductType, VisualizerListenersType } from '../../types/SkinLayer';
2
+ import { ActionMiddleware, ProductType, VisualizerListenersType } from '../../types/SkinLayer';
3
3
  type VirtualTourVisualizerProps = {
4
4
  elementId?: string;
5
5
  apiHost?: string;
@@ -16,6 +16,7 @@ type VirtualTourVisualizerProps = {
16
16
  };
17
17
  listeners?: VisualizerListenersType;
18
18
  products?: ProductType[];
19
+ middleware?: ActionMiddleware;
19
20
  };
20
21
  declare const ShowroomVisualizer: FC<VirtualTourVisualizerProps>;
21
22
  export default ShowroomVisualizer;
@@ -1 +1 @@
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;AAO7E,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
+ {"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,EACL,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAO/B,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,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AACF,QAAA,MAAM,kBAAkB,EAAE,EAAE,CAAC,0BAA0B,CAuRtD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTourVisualizer.d.ts","sourceRoot":"","sources":["../../../src/hooks/Visualizer/useTourVisualizer.ts"],"names":[],"mappings":"AAuBA,QAAA,MAAM,iBAAiB,YAolBtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"useTourVisualizer.d.ts","sourceRoot":"","sources":["../../../src/hooks/Visualizer/useTourVisualizer.ts"],"names":[],"mappings":"AAwBA,QAAA,MAAM,iBAAiB,YA0mBtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Hook to execute middleware for component-level actions
3
+ * This allows tracking all actions regardless of whether listeners are configured
4
+ *
5
+ * @returns trackAction function to call from component handlers
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const { trackAction } = useActionMiddleware();
10
+ *
11
+ * const handleClick = () => {
12
+ * trackAction('onPoiClicked', poi);
13
+ *
14
+ * // Continue with action
15
+ * if (listeners?.onPoiClicked) {
16
+ * listeners.onPoiClicked(poi);
17
+ * }
18
+ * };
19
+ * ```
20
+ */
21
+ export declare const useActionMiddleware: () => {
22
+ trackAction: (actionName: string, payload?: any, sceneCode?: string) => void;
23
+ hasMiddleware: boolean;
24
+ };
25
+ //# sourceMappingURL=useActionMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useActionMiddleware.d.ts","sourceRoot":"","sources":["../../src/hooks/useActionMiddleware.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,mBAAmB;8BAWf,MAAM,YAAY,GAAG,cAAc,MAAM,KAAG,IAAI;;CAsChE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { InternalListenersType, OverrideConfigsType, TourSwitchType } from '../types/SkinLayer';
2
+ import { ActionMiddleware, InternalListenersType, OverrideConfigsType, TourSwitchType } from '../types/SkinLayer';
3
3
  import { ProductType } from '../types/SkinLayer/product.type';
4
4
  type ConfigurationData = {
5
5
  elementId?: string;
@@ -10,6 +10,8 @@ type ConfigurationData = {
10
10
  products: ProductType[];
11
11
  listeners: InternalListenersType;
12
12
  tool: TourSwitchType;
13
+ middleware?: ActionMiddleware;
14
+ tourCode?: string;
13
15
  };
14
16
  type ReturnType = ConfigurationData & {
15
17
  elementId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useConfiguration.d.ts","sourceRoot":"","sources":["../../src/hooks/useConfiguration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAIlE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,KAAK,iBAAiB,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,mBAAmB,CAAC;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,qBAAqB,CAAC;IACjC,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,KAAK,UAAU,GAAG,iBAAiB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAI5D,eAAO,MAAM,qBAAqB,GAAI,uBAGnC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;CAC3B,4CA6BA,CAAC;AAEF,eAAO,MAAM,gBAAgB,kBAQ5B,CAAC"}
1
+ {"version":3,"file":"useConfiguration.d.ts","sourceRoot":"","sources":["../../src/hooks/useConfiguration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAIlE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,KAAK,iBAAiB,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,mBAAmB,CAAC;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,qBAAqB,CAAC;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,UAAU,GAAG,iBAAiB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAI5D,eAAO,MAAM,qBAAqB,GAAI,uBAGnC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;CAC3B,4CA6BA,CAAC;AAEF,eAAO,MAAM,gBAAgB,kBAQ5B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export type { VirtualTourVisualizerType } from './types/SkinLayer/visualizer.type';
2
+ export type { ActionMiddleware, ActionEvent, } from './types/SkinLayer/middleware.type';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,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;AACnF,YAAY,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,mCAAmC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BasePlugin.d.ts","sourceRoot":"","sources":["../../../../src/models/Visualizer/Plugins/BasePlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasePlugin.d.ts","sourceRoot":"","sources":["../../../../src/models/Visualizer/Plugins/BasePlugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PoiLensFlare.d.ts","sourceRoot":"","sources":["../../../../src/models/Visualizer/Poi/PoiLensFlare.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,cAAM,YAAa,SAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;gBAEhB,KAAK,EAAE,YAAY;IAgBxB,MAAM,IAAI,IAAI;IAQd,OAAO,IAAI,IAAI;IAWtB,OAAO,CAAC,KAAK;IA0Bb,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,cAAc;IAsItB,OAAO,CAAC,gBAAgB,CAStB;IAEF,OAAO,CAAC,YAAY,CA4ClB;CACH;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"PoiLensFlare.d.ts","sourceRoot":"","sources":["../../../../src/models/Visualizer/Poi/PoiLensFlare.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,cAAM,YAAa,SAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;gBAEhB,KAAK,EAAE,YAAY;IAgBxB,MAAM,IAAI,IAAI;IAQd,OAAO,IAAI,IAAI;IAWtB,OAAO,CAAC,KAAK;IA0Bb,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,cAAc;IAsItB,OAAO,CAAC,gBAAgB,CAStB;IAEF,OAAO,CAAC,YAAY,CA4ClB;CACH;AAED,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PoiSound.d.ts","sourceRoot":"","sources":["../../../../../src/models/Visualizer/Poi/PoiMultimedia/PoiSound.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAQrE,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,cAAM,QAAS,SAAQ,aAAa;IAClC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAqB;gBAE5B,KAAK,EAAE,YAAY;IAa/B,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM;IAI1B,IAAI;IAYJ,KAAK;IAUL,IAAI;IAmCV,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAWlC,OAAO;IAgBP,MAAM;IAWN,OAAO,CAAC,WAAW,CAKjB;CACH;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"PoiSound.d.ts","sourceRoot":"","sources":["../../../../../src/models/Visualizer/Poi/PoiMultimedia/PoiSound.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAQrE,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,cAAM,QAAS,SAAQ,aAAa;IAClC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAqB;gBAE5B,KAAK,EAAE,YAAY;IAa/B,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM;IAI1B,IAAI;IAYJ,KAAK;IAUL,IAAI;IAmCV,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAWlC,OAAO;IAgBP,MAAM;IAWN,OAAO,CAAC,WAAW,CAKjB;CACH;AAED,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PoiVideo.d.ts","sourceRoot":"","sources":["../../../../../src/models/Visualizer/Poi/PoiMultimedia/PoiVideo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAGrE,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,cAAM,QAAS,SAAQ,aAAa;IAC3B,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;gBAExB,KAAK,EAAE,YAAY;IAWxB,IAAI;IAQJ,IAAI;IASJ,KAAK;IAQZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;CA+D3C;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"PoiVideo.d.ts","sourceRoot":"","sources":["../../../../../src/models/Visualizer/Poi/PoiMultimedia/PoiVideo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAGrE,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,cAAM,QAAS,SAAQ,aAAa;IAC3B,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;gBAExB,KAAK,EAAE,YAAY;IAWxB,IAAI;IAQJ,IAAI;IASJ,KAAK;IAQZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;CA+D3C;AAED,eAAe,QAAQ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ProductType, VirtualTourVisualizerType, VisualizerListenersType } from './types/SkinLayer';
1
+ import { ActionMiddleware, ProductType, VirtualTourVisualizerType, VisualizerListenersType } from './types/SkinLayer';
2
2
  export declare class VisualizerUIComponent extends HTMLElement {
3
3
  elementId?: string;
4
4
  apiHost?: string;
@@ -16,6 +16,7 @@ export declare class VisualizerUIComponent extends HTMLElement {
16
16
  };
17
17
  listeners?: VisualizerListenersType;
18
18
  products?: ProductType[];
19
+ middleware?: ActionMiddleware;
19
20
  constructor();
20
21
  updateAttributes(attributes: VirtualTourVisualizerType): void;
21
22
  connectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,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,CAAC,EAAE,OAAO,CAAC;IACjB,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;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;;IAOzB,gBAAgB,CAAC,UAAU,EAAE,yBAAyB;IAYtD,iBAAiB;IAMjB,MAAM;CAeP;AAED,eAAO,MAAM,qBAAqB,YAKjC,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,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,CAAC,EAAE,OAAO,CAAC;IACjB,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;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,CAAC;;IAO9B,gBAAgB,CAAC,UAAU,EAAE,yBAAyB;IAatD,iBAAiB;IAMjB,MAAM;CAgBP;AAED,eAAO,MAAM,qBAAqB,YAKjC,CAAC"}
@@ -8,4 +8,5 @@ export * from './listeners.type';
8
8
  export * from './store.type';
9
9
  export * from './product.type';
10
10
  export * from './overrideConfigs.type';
11
+ export * from './middleware.type';
11
12
  //# sourceMappingURL=index.d.ts.map