@clikvn/showroom-visualizer 0.3.0-dev-05 → 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.
- package/CLAUDE.md +140 -0
- package/Planning/README-middleware.md +582 -0
- package/Planning/README.md +67 -0
- package/Planning/TEMPLATE.md +270 -0
- package/README.md +181 -15
- package/dist/commons/SkinLayer/components/LazyImage/index.d.ts +15 -1
- package/dist/commons/SkinLayer/components/LazyImage/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/GalleryFullScreen/Content/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/HotspotOverview/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/PinActionButtons/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/SceneCategories/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/PoiInfoActionPart/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/TourScenarios/index.d.ts.map +1 -1
- package/dist/features/ShowroomVisualizer/index.d.ts +2 -1
- package/dist/features/ShowroomVisualizer/index.d.ts.map +1 -1
- package/dist/hooks/Visualizer/useTourVisualizer.d.ts.map +1 -1
- package/dist/hooks/useActionMiddleware.d.ts +25 -0
- package/dist/hooks/useActionMiddleware.d.ts.map +1 -0
- package/dist/hooks/useConfiguration.d.ts +3 -1
- package/dist/hooks/useConfiguration.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/models/Visualizer/Plugins/BasePlugin.d.ts.map +1 -1
- package/dist/models/Visualizer/Poi/PoiLensFlare.d.ts.map +1 -1
- package/dist/models/Visualizer/Poi/PoiMultimedia/PoiSound.d.ts.map +1 -1
- package/dist/models/Visualizer/Poi/PoiMultimedia/PoiVideo.d.ts.map +1 -1
- package/dist/register.d.ts +2 -1
- package/dist/register.d.ts.map +1 -1
- package/dist/types/SkinLayer/index.d.ts +1 -0
- package/dist/types/SkinLayer/index.d.ts.map +1 -1
- package/dist/types/SkinLayer/middleware.type.d.ts +41 -0
- package/dist/types/SkinLayer/middleware.type.d.ts.map +1 -0
- package/dist/types/SkinLayer/visualizer.type.d.ts +2 -0
- package/dist/types/SkinLayer/visualizer.type.d.ts.map +1 -1
- package/dist/types/Visualizer/tourScenario/tourScenario.type.d.ts.map +1 -1
- package/dist/utils/Visualizer/image.utils.d.ts.map +1 -1
- package/dist/utils/middleware/listenerWrapper.d.ts +31 -0
- package/dist/utils/middleware/listenerWrapper.d.ts.map +1 -0
- package/dist/web.js +1 -1
- package/package.json +3 -3
- package/.claude/settings.local.json +0 -19
- package/dist/components/SkinLayer/DefaultLayout/index.d.ts +0 -8
- package/dist/components/SkinLayer/DefaultLayout/index.d.ts.map +0 -1
- package/dist/context/CustomLayoutContext.d.ts +0 -20
- package/dist/context/CustomLayoutContext.d.ts.map +0 -1
- package/dist/context/SwizzleContext.d.ts +0 -21
- package/dist/context/SwizzleContext.d.ts.map +0 -1
- package/dist/hooks/headless/index.d.ts +0 -150
- package/dist/hooks/headless/index.d.ts.map +0 -1
- package/dist/hooks/headless/useFloorplanControl.d.ts +0 -18
- package/dist/hooks/headless/useFloorplanControl.d.ts.map +0 -1
- package/dist/hooks/headless/usePOIInteraction.d.ts +0 -23
- package/dist/hooks/headless/usePOIInteraction.d.ts.map +0 -1
- package/dist/hooks/headless/useScenarioControl.d.ts +0 -22
- package/dist/hooks/headless/useScenarioControl.d.ts.map +0 -1
- package/dist/hooks/headless/useSceneNavigation.d.ts +0 -26
- package/dist/hooks/headless/useSceneNavigation.d.ts.map +0 -1
- package/dist/hooks/headless/useTourCore.d.ts +0 -23
- package/dist/hooks/headless/useTourCore.d.ts.map +0 -1
- package/dist/hooks/headless/useViewportControl.d.ts +0 -22
- package/dist/hooks/headless/useViewportControl.d.ts.map +0 -1
- package/dist/index.html +0 -110
- package/dist/index.js +0 -1
- package/dist/types/custom-layout.d.ts +0 -63
- package/dist/types/custom-layout.d.ts.map +0 -1
- package/dist/types/swizzle.d.ts +0 -59
- 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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
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
|
-
|
|
32
|
-
serve dist --cors
|
|
198
|
+
Proprietary - Clik Vietnam
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
|
+
import { ReactZoomPanPinchRef } from 'react-zoom-pan-pinch';
|
|
2
3
|
import { FileModel } from 'types/SkinLayer';
|
|
3
4
|
type LazyImageProps = {
|
|
4
5
|
image?: FileModel;
|
|
@@ -12,7 +13,20 @@ type LazyImageProps = {
|
|
|
12
13
|
isPanZoom?: boolean;
|
|
13
14
|
minScale?: number;
|
|
14
15
|
maxScale?: number;
|
|
16
|
+
showControls?: boolean;
|
|
17
|
+
onTransformRef?: (ref: ReactZoomPanPinchRef | null) => void;
|
|
18
|
+
onScaleChange?: (scale: number) => void;
|
|
15
19
|
};
|
|
20
|
+
type ControlProps = {
|
|
21
|
+
zoomIn: () => void;
|
|
22
|
+
zoomOut: () => void;
|
|
23
|
+
disabledZoomIn: boolean;
|
|
24
|
+
disabledZoomOut: boolean;
|
|
25
|
+
className?: string;
|
|
26
|
+
};
|
|
27
|
+
declare const Controls: FC<ControlProps>;
|
|
28
|
+
export { Controls };
|
|
29
|
+
export type { ControlProps };
|
|
16
30
|
declare const _default: React.NamedExoticComponent<LazyImageProps>;
|
|
17
31
|
export default _default;
|
|
18
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commons/SkinLayer/components/LazyImage/index.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commons/SkinLayer/components/LazyImage/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,EAA4C,MAAM,OAAO,CAAC;AAE5E,OAAO,EACL,oBAAoB,EAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,KAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AA4HF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,YAAY,CAuB9B,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,YAAY,EAAE,CAAC;;AAC7B,wBAAqC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/GalleryFullScreen/Content/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/GalleryFullScreen/Content/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAA4C,MAAM,OAAO,CAAC;AAQrE,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAOpD,KAAK,cAAc,GAAG;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AACF,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA4BxC,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,uBAAuB,CAyJ/C,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -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;
|
|
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":"
|
|
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":"
|
|
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"}
|
package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/PoiInfoActionPart/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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":"
|
|
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,
|
|
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":"
|
|
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;
|
|
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
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,
|
|
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":"
|
|
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":"
|
|
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"}
|