@clikvn/showroom-visualizer 0.5.1 → 0.5.2
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/dist/components/SkinLayer/HotspotOverview/index.d.ts.map +1 -1
- package/dist/features/ShowroomVisualizer/index.d.ts +1 -0
- package/dist/features/ShowroomVisualizer/index.d.ts.map +1 -1
- package/dist/hooks/SkinLayer/useAutoPlayer.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/models/Visualizer/Poi/PoiListMoving.d.ts.map +1 -1
- package/dist/web.js +1 -1
- package/example/src/App.tsx +195 -0
- package/example/src/components/ControlPanel.tsx +736 -0
- package/example/src/components/CustomComponents/FloorplanComponents.tsx +37 -0
- package/example/src/components/CustomComponents/HotspotCategoryComponents.tsx +106 -0
- package/example/src/components/CustomComponents/PinActionsComponents.tsx +45 -0
- package/example/src/components/CustomComponents/PlayBarComponents.tsx +41 -0
- package/example/src/components/CustomComponents/PoiDetailComponents.tsx +296 -0
- package/example/src/components/CustomComponents/SearchAndDiscoveryComponents.tsx +207 -0
- package/example/src/components/CustomComponents/index.tsx +7 -0
- package/example/src/css-modules.d.ts +4 -0
- package/example/src/hooks/useCustomLayout.ts +328 -0
- package/example/src/index.css +31 -0
- package/example/src/main.tsx +11 -0
- package/package.json +1 -1
- package/.idea/inspectionProfiles/Project_Default.xml +0 -36
- package/.idea/jsLinters/eslint.xml +0 -7
- package/.idea/misc.xml +0 -9
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -8
- package/.idea/showroom-visualizer.iml +0 -9
- package/.idea/vcs.xml +0 -6
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SearchAndDiscoverySlideIn as SearchAndDiscoverySlideInDefault,
|
|
3
|
+
TourInfoActionPart as TourInfoActionPartDefault,
|
|
4
|
+
ScenarioPart as ScenarioPartDefault,
|
|
5
|
+
PromotionPart as PromotionPartDefault,
|
|
6
|
+
PoiInfoActionPart as PoiInfoActionPartDefault,
|
|
7
|
+
DisplayActionPart as DisplayActionPartDefault,
|
|
8
|
+
HelpActionPart as HelpActionPartDefault,
|
|
9
|
+
} from '@clikvn/showroom-visualizer';
|
|
10
|
+
|
|
11
|
+
// 🔍 Custom SearchAndDiscoverySlideIn Component
|
|
12
|
+
export const CustomSearchAndDiscoverySlideIn = (props: any) => {
|
|
13
|
+
return <SearchAndDiscoverySlideInDefault {...props} />;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// 🏢 Custom TourInfoActionPart
|
|
17
|
+
export const CustomTourInfoActionPart = (props: any) => {
|
|
18
|
+
return (
|
|
19
|
+
<div
|
|
20
|
+
style={{
|
|
21
|
+
background: 'linear-gradient(45deg, #ff6b6b, #4ecdc4)',
|
|
22
|
+
padding: '15px',
|
|
23
|
+
borderRadius: '8px',
|
|
24
|
+
margin: '10px 0',
|
|
25
|
+
}}
|
|
26
|
+
>
|
|
27
|
+
<h4 style={{ color: 'white', margin: '0 0 10px 0' }}>
|
|
28
|
+
🏢 Tour Information
|
|
29
|
+
</h4>
|
|
30
|
+
<div style={{ opacity: 0.9 }}>
|
|
31
|
+
<TourInfoActionPartDefault {...props} />
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// 🎬 Custom ScenarioPart
|
|
38
|
+
export const CustomScenarioPart = (props: any) => {
|
|
39
|
+
return (
|
|
40
|
+
<div
|
|
41
|
+
style={{
|
|
42
|
+
background: 'linear-gradient(45deg, #f093fb, #f5576c)',
|
|
43
|
+
padding: '15px',
|
|
44
|
+
borderRadius: '8px',
|
|
45
|
+
margin: '10px 0',
|
|
46
|
+
}}
|
|
47
|
+
>
|
|
48
|
+
<h4 style={{ color: 'white', margin: '0 0 10px 0' }}>🎬 Scenarios</h4>
|
|
49
|
+
<div style={{ filter: 'brightness(1.1)' }}>
|
|
50
|
+
<ScenarioPartDefault {...props} />
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// 🎁 Custom PromotionPart
|
|
57
|
+
export const CustomPromotionPart = (props: any) => {
|
|
58
|
+
return (
|
|
59
|
+
<div
|
|
60
|
+
style={{
|
|
61
|
+
background: 'linear-gradient(45deg, #fa709a, #fee140)',
|
|
62
|
+
padding: '15px',
|
|
63
|
+
borderRadius: '8px',
|
|
64
|
+
margin: '10px 0',
|
|
65
|
+
border: '2px dashed #fff',
|
|
66
|
+
}}
|
|
67
|
+
>
|
|
68
|
+
<h4 style={{ color: 'white', margin: '0 0 10px 0' }}>
|
|
69
|
+
🎁 Special Promotions
|
|
70
|
+
</h4>
|
|
71
|
+
<PromotionPartDefault {...props} />
|
|
72
|
+
</div>
|
|
73
|
+
);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
// 📍 Custom PoiInfoActionPart
|
|
77
|
+
export const CustomPoiInfoActionPart = (props: any) => {
|
|
78
|
+
return (
|
|
79
|
+
<div
|
|
80
|
+
style={{
|
|
81
|
+
background: 'linear-gradient(45deg, #a8edea, #fed6e3)',
|
|
82
|
+
padding: '15px',
|
|
83
|
+
borderRadius: '8px',
|
|
84
|
+
margin: '10px 0',
|
|
85
|
+
}}
|
|
86
|
+
>
|
|
87
|
+
<h4 style={{ color: '#333', margin: '0 0 10px 0' }}>
|
|
88
|
+
📍 Points of Interest
|
|
89
|
+
</h4>
|
|
90
|
+
<PoiInfoActionPartDefault {...props} />
|
|
91
|
+
</div>
|
|
92
|
+
);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
// 🎨 Custom DisplayActionPart
|
|
96
|
+
export const CustomDisplayActionPart = (props: any) => {
|
|
97
|
+
return (
|
|
98
|
+
<div
|
|
99
|
+
style={{
|
|
100
|
+
background: 'linear-gradient(45deg, #ffecd2, #fcb69f)',
|
|
101
|
+
padding: '15px',
|
|
102
|
+
borderRadius: '8px',
|
|
103
|
+
margin: '10px 0',
|
|
104
|
+
}}
|
|
105
|
+
>
|
|
106
|
+
<h4 style={{ color: '#333', margin: '0 0 10px 0' }}>
|
|
107
|
+
🎨 Display Options
|
|
108
|
+
</h4>
|
|
109
|
+
<DisplayActionPartDefault {...props} />
|
|
110
|
+
</div>
|
|
111
|
+
);
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
// ❓ Custom HelpActionPart
|
|
115
|
+
export const CustomHelpActionPart = (props: any) => {
|
|
116
|
+
return (
|
|
117
|
+
<div
|
|
118
|
+
style={{
|
|
119
|
+
background: 'linear-gradient(45deg, #89f7fe, #66a6ff)',
|
|
120
|
+
padding: '15px',
|
|
121
|
+
borderRadius: '8px',
|
|
122
|
+
margin: '10px 0',
|
|
123
|
+
boxShadow: '0 3px 10px rgba(0,0,0,0.2)',
|
|
124
|
+
}}
|
|
125
|
+
>
|
|
126
|
+
<h4 style={{ color: 'white', margin: '0 0 10px 0' }}>
|
|
127
|
+
❓ Help & Support
|
|
128
|
+
</h4>
|
|
129
|
+
<HelpActionPartDefault {...props} />
|
|
130
|
+
</div>
|
|
131
|
+
);
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// 🎯 Custom ContentItem Component
|
|
135
|
+
export const CustomContentItem = (props: any) => {
|
|
136
|
+
const {
|
|
137
|
+
dataKey,
|
|
138
|
+
icon,
|
|
139
|
+
title,
|
|
140
|
+
onClick,
|
|
141
|
+
type,
|
|
142
|
+
itemRight,
|
|
143
|
+
handleTitleRenderer,
|
|
144
|
+
} = props;
|
|
145
|
+
|
|
146
|
+
const handleClick = (e: React.MouseEvent<HTMLDivElement>) => {
|
|
147
|
+
e.preventDefault();
|
|
148
|
+
e.stopPropagation();
|
|
149
|
+
if (onClick) onClick(dataKey);
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
return (
|
|
153
|
+
<div
|
|
154
|
+
onClick={handleClick}
|
|
155
|
+
style={{
|
|
156
|
+
display: 'flex',
|
|
157
|
+
alignItems: 'center',
|
|
158
|
+
justifyContent: 'space-between',
|
|
159
|
+
padding: '12px 16px',
|
|
160
|
+
margin: '4px 0',
|
|
161
|
+
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
|
162
|
+
borderRadius: '8px',
|
|
163
|
+
cursor: type === 'button' ? 'pointer' : 'default',
|
|
164
|
+
transition: 'all 0.3s ease',
|
|
165
|
+
boxShadow: '0 2px 8px rgba(0,0,0,0.1)',
|
|
166
|
+
}}
|
|
167
|
+
onMouseEnter={(e) => {
|
|
168
|
+
e.currentTarget.style.transform = 'translateX(5px)';
|
|
169
|
+
e.currentTarget.style.boxShadow = '0 4px 12px rgba(0,0,0,0.2)';
|
|
170
|
+
}}
|
|
171
|
+
onMouseLeave={(e) => {
|
|
172
|
+
e.currentTarget.style.transform = 'translateX(0)';
|
|
173
|
+
e.currentTarget.style.boxShadow = '0 2px 8px rgba(0,0,0,0.1)';
|
|
174
|
+
}}
|
|
175
|
+
>
|
|
176
|
+
<div style={{ display: 'flex', alignItems: 'center', gap: '12px' }}>
|
|
177
|
+
{icon && (
|
|
178
|
+
<div
|
|
179
|
+
style={{
|
|
180
|
+
width: '32px',
|
|
181
|
+
height: '32px',
|
|
182
|
+
borderRadius: '50%',
|
|
183
|
+
background: 'rgba(255,255,255,0.2)',
|
|
184
|
+
display: 'flex',
|
|
185
|
+
alignItems: 'center',
|
|
186
|
+
justifyContent: 'center',
|
|
187
|
+
}}
|
|
188
|
+
>
|
|
189
|
+
<i className={icon} style={{ color: 'white', fontSize: '16px' }} />
|
|
190
|
+
</div>
|
|
191
|
+
)}
|
|
192
|
+
<span style={{ color: 'white', fontWeight: '500', fontSize: '14px' }}>
|
|
193
|
+
{handleTitleRenderer ? handleTitleRenderer() : title}
|
|
194
|
+
</span>
|
|
195
|
+
</div>
|
|
196
|
+
{itemRight && <div style={{ color: 'white' }}>{itemRight}</div>}
|
|
197
|
+
</div>
|
|
198
|
+
);
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
export const CustomScenarioItem = (props: any) => {
|
|
202
|
+
return <div>test</div>;
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
export const CustomCardItem = (props: any) => {
|
|
206
|
+
return <div>test card item</div>;
|
|
207
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Export all custom components from a single entry point
|
|
2
|
+
export * from './FloorplanComponents';
|
|
3
|
+
export * from './PinActionsComponents';
|
|
4
|
+
export * from './SearchAndDiscoveryComponents';
|
|
5
|
+
export * from './HotspotCategoryComponents';
|
|
6
|
+
export * from './PlayBarComponents';
|
|
7
|
+
export * from './PoiDetailComponents';
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CustomMarker,
|
|
3
|
+
FloorplanMinimapDefault,
|
|
4
|
+
CustomPinActions,
|
|
5
|
+
CustomPinActionButton,
|
|
6
|
+
CustomPinActionButtonWithTooltip,
|
|
7
|
+
CustomSearchAndDiscoverySlideIn,
|
|
8
|
+
CustomTourInfoActionPart,
|
|
9
|
+
CustomScenarioPart,
|
|
10
|
+
CustomPromotionPart,
|
|
11
|
+
CustomPoiInfoActionPart,
|
|
12
|
+
CustomDisplayActionPart,
|
|
13
|
+
CustomHelpActionPart,
|
|
14
|
+
CustomContentItem,
|
|
15
|
+
CustomScenarioItem,
|
|
16
|
+
CustomCardItem,
|
|
17
|
+
CustomHotspotCategorySlideIn,
|
|
18
|
+
CustomScenarioSlideIn,
|
|
19
|
+
CustomSpaceAndSceneSlideIn,
|
|
20
|
+
CustomFeatureSlideIn,
|
|
21
|
+
CustomProductSlideIn,
|
|
22
|
+
CustomPoiSlideIn,
|
|
23
|
+
CustomPlayBarTooltip,
|
|
24
|
+
CustomPlayBarButton,
|
|
25
|
+
CustomPoiDetailDrawer,
|
|
26
|
+
CustomPoiDetailBottomSheet,
|
|
27
|
+
CustomProductDetailHeader,
|
|
28
|
+
CustomGroupActionButton,
|
|
29
|
+
CustomTabs,
|
|
30
|
+
CustomTabsContent,
|
|
31
|
+
CustomInfo,
|
|
32
|
+
CustomGallery,
|
|
33
|
+
CustomArTab,
|
|
34
|
+
} from '../components/CustomComponents';
|
|
35
|
+
|
|
36
|
+
type CustomLayoutState = {
|
|
37
|
+
// General
|
|
38
|
+
enableCustomLayout: boolean;
|
|
39
|
+
|
|
40
|
+
// Floorplan/Minimap
|
|
41
|
+
customMinimap: boolean;
|
|
42
|
+
customMarker: boolean;
|
|
43
|
+
|
|
44
|
+
// PinActions
|
|
45
|
+
customPinActions: boolean;
|
|
46
|
+
customPinActionButton: boolean;
|
|
47
|
+
customPinActionButtonWithTooltip: boolean;
|
|
48
|
+
|
|
49
|
+
// SearchAndDiscoverySlideIn
|
|
50
|
+
customSearchAndDiscovery: boolean;
|
|
51
|
+
customTourInfoActionPart: boolean;
|
|
52
|
+
customScenarioPart: boolean;
|
|
53
|
+
customPromotionPart: boolean;
|
|
54
|
+
customPoiInfoActionPart: boolean;
|
|
55
|
+
customDisplayActionPart: boolean;
|
|
56
|
+
customHelpActionPart: boolean;
|
|
57
|
+
customContentItem: boolean;
|
|
58
|
+
customScenarioItem: boolean;
|
|
59
|
+
customCardItem: boolean;
|
|
60
|
+
|
|
61
|
+
// HotspotCategorySlideIn
|
|
62
|
+
customHotspotCategorySlideIn: boolean;
|
|
63
|
+
customScenarioSlideIn: boolean;
|
|
64
|
+
customSpaceAndSceneSlideIn: boolean;
|
|
65
|
+
customFeatureSlideIn: boolean;
|
|
66
|
+
customProductSlideIn: boolean;
|
|
67
|
+
customPoiSlideIn: boolean;
|
|
68
|
+
|
|
69
|
+
// PlayBar
|
|
70
|
+
customPlayBarTooltip: boolean;
|
|
71
|
+
customPlayBarButton: boolean;
|
|
72
|
+
|
|
73
|
+
// PoiDetailSlideIn
|
|
74
|
+
customPoiDetailDrawer: boolean;
|
|
75
|
+
customPoiDetailBottomSheet: boolean;
|
|
76
|
+
customProductDetailHeader: boolean;
|
|
77
|
+
customGroupActionButton: boolean;
|
|
78
|
+
customTabs: boolean;
|
|
79
|
+
customTabsContent: boolean;
|
|
80
|
+
customInfo: boolean;
|
|
81
|
+
customGallery: boolean;
|
|
82
|
+
customArTab: boolean;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const useCustomLayout = (state: CustomLayoutState) => {
|
|
86
|
+
const buildCustomLayout = () => {
|
|
87
|
+
if (!state.enableCustomLayout) return {};
|
|
88
|
+
|
|
89
|
+
const layout: any = {};
|
|
90
|
+
|
|
91
|
+
// Floorplan/Minimap customizations
|
|
92
|
+
if (state.customMinimap || state.customMarker) {
|
|
93
|
+
layout.Floorplan = {};
|
|
94
|
+
if (state.customMinimap) {
|
|
95
|
+
layout.Floorplan.Minimap = {};
|
|
96
|
+
layout.Floorplan.Minimap.default = FloorplanMinimapDefault;
|
|
97
|
+
if (state.customMarker) {
|
|
98
|
+
layout.Floorplan.Minimap.Marker = CustomMarker;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// PinActions customizations
|
|
104
|
+
if (
|
|
105
|
+
state.customPinActions ||
|
|
106
|
+
state.customPinActionButton ||
|
|
107
|
+
state.customPinActionButtonWithTooltip
|
|
108
|
+
) {
|
|
109
|
+
layout.PinActions = layout.PinActions || {};
|
|
110
|
+
if (state.customPinActions) {
|
|
111
|
+
layout.PinActions.default = CustomPinActions;
|
|
112
|
+
}
|
|
113
|
+
if (state.customPinActionButton) {
|
|
114
|
+
layout.PinActions.Button = CustomPinActionButton;
|
|
115
|
+
}
|
|
116
|
+
if (state.customPinActionButtonWithTooltip) {
|
|
117
|
+
layout.PinActions.ButtonWithTooltip = CustomPinActionButtonWithTooltip;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// SearchAndDiscoverySlideIn customizations
|
|
122
|
+
if (
|
|
123
|
+
state.customSearchAndDiscovery ||
|
|
124
|
+
state.customTourInfoActionPart ||
|
|
125
|
+
state.customScenarioPart ||
|
|
126
|
+
state.customPromotionPart ||
|
|
127
|
+
state.customPoiInfoActionPart ||
|
|
128
|
+
state.customDisplayActionPart ||
|
|
129
|
+
state.customHelpActionPart ||
|
|
130
|
+
state.customContentItem ||
|
|
131
|
+
state.customScenarioItem ||
|
|
132
|
+
state.customCardItem
|
|
133
|
+
) {
|
|
134
|
+
layout.SearchAndDiscoverySlideIn = {};
|
|
135
|
+
if (state.customSearchAndDiscovery) {
|
|
136
|
+
layout.SearchAndDiscoverySlideIn.default =
|
|
137
|
+
CustomSearchAndDiscoverySlideIn;
|
|
138
|
+
}
|
|
139
|
+
if (state.customTourInfoActionPart || state.customContentItem) {
|
|
140
|
+
layout.SearchAndDiscoverySlideIn.TourInfoActionPart = {};
|
|
141
|
+
if (state.customTourInfoActionPart) {
|
|
142
|
+
layout.SearchAndDiscoverySlideIn.TourInfoActionPart.default =
|
|
143
|
+
CustomTourInfoActionPart;
|
|
144
|
+
}
|
|
145
|
+
if (state.customContentItem) {
|
|
146
|
+
layout.SearchAndDiscoverySlideIn.TourInfoActionPart.ContentItem =
|
|
147
|
+
CustomContentItem;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (state.customScenarioPart || state.customScenarioItem) {
|
|
151
|
+
layout.SearchAndDiscoverySlideIn.ScenarioPart = {};
|
|
152
|
+
if (state.customScenarioPart) {
|
|
153
|
+
layout.SearchAndDiscoverySlideIn.ScenarioPart.default =
|
|
154
|
+
CustomScenarioPart;
|
|
155
|
+
}
|
|
156
|
+
if (state.customScenarioItem) {
|
|
157
|
+
layout.SearchAndDiscoverySlideIn.ScenarioPart.ScenarioItem =
|
|
158
|
+
CustomScenarioItem;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (state.customPromotionPart || state.customCardItem) {
|
|
162
|
+
layout.SearchAndDiscoverySlideIn.PromotionPart = {};
|
|
163
|
+
if (state.customPromotionPart) {
|
|
164
|
+
layout.SearchAndDiscoverySlideIn.PromotionPart.default =
|
|
165
|
+
CustomPromotionPart;
|
|
166
|
+
}
|
|
167
|
+
if (state.customCardItem) {
|
|
168
|
+
layout.SearchAndDiscoverySlideIn.PromotionPart.CardItem =
|
|
169
|
+
CustomCardItem;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
if (state.customPoiInfoActionPart || state.customContentItem) {
|
|
173
|
+
layout.SearchAndDiscoverySlideIn.PoiInfoActionPart =
|
|
174
|
+
layout.SearchAndDiscoverySlideIn.PoiInfoActionPart || {};
|
|
175
|
+
if (state.customPoiInfoActionPart) {
|
|
176
|
+
layout.SearchAndDiscoverySlideIn.PoiInfoActionPart.default =
|
|
177
|
+
CustomPoiInfoActionPart;
|
|
178
|
+
}
|
|
179
|
+
if (state.customContentItem) {
|
|
180
|
+
layout.SearchAndDiscoverySlideIn.PoiInfoActionPart.ContentItem =
|
|
181
|
+
CustomContentItem;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (state.customDisplayActionPart || state.customContentItem) {
|
|
185
|
+
layout.SearchAndDiscoverySlideIn.DisplayActionPart =
|
|
186
|
+
layout.SearchAndDiscoverySlideIn.DisplayActionPart || {};
|
|
187
|
+
if (state.customDisplayActionPart) {
|
|
188
|
+
layout.SearchAndDiscoverySlideIn.DisplayActionPart.default =
|
|
189
|
+
CustomDisplayActionPart;
|
|
190
|
+
}
|
|
191
|
+
if (state.customContentItem) {
|
|
192
|
+
layout.SearchAndDiscoverySlideIn.DisplayActionPart.ContentItem =
|
|
193
|
+
CustomContentItem;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
if (state.customHelpActionPart || state.customContentItem) {
|
|
197
|
+
layout.SearchAndDiscoverySlideIn.HelpActionPart =
|
|
198
|
+
layout.SearchAndDiscoverySlideIn.HelpActionPart || {};
|
|
199
|
+
if (state.customHelpActionPart) {
|
|
200
|
+
layout.SearchAndDiscoverySlideIn.HelpActionPart.default =
|
|
201
|
+
CustomHelpActionPart;
|
|
202
|
+
}
|
|
203
|
+
if (state.customContentItem) {
|
|
204
|
+
layout.SearchAndDiscoverySlideIn.HelpActionPart.ContentItem =
|
|
205
|
+
CustomContentItem;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// HotspotCategorySlideIn customizations
|
|
211
|
+
if (
|
|
212
|
+
state.customHotspotCategorySlideIn ||
|
|
213
|
+
state.customScenarioSlideIn ||
|
|
214
|
+
state.customSpaceAndSceneSlideIn ||
|
|
215
|
+
state.customFeatureSlideIn ||
|
|
216
|
+
state.customProductSlideIn ||
|
|
217
|
+
state.customPoiSlideIn
|
|
218
|
+
) {
|
|
219
|
+
layout.HotspotCategorySlideIn = {};
|
|
220
|
+
if (state.customHotspotCategorySlideIn) {
|
|
221
|
+
layout.HotspotCategorySlideIn.default = CustomHotspotCategorySlideIn;
|
|
222
|
+
}
|
|
223
|
+
if (state.customScenarioSlideIn) {
|
|
224
|
+
layout.HotspotCategorySlideIn.ScenarioSlideIn = CustomScenarioSlideIn;
|
|
225
|
+
}
|
|
226
|
+
if (state.customSpaceAndSceneSlideIn) {
|
|
227
|
+
layout.HotspotCategorySlideIn.SpaceAndSceneSlideIn =
|
|
228
|
+
CustomSpaceAndSceneSlideIn;
|
|
229
|
+
}
|
|
230
|
+
if (state.customFeatureSlideIn) {
|
|
231
|
+
layout.HotspotCategorySlideIn.FeatureSlideIn = CustomFeatureSlideIn;
|
|
232
|
+
}
|
|
233
|
+
if (state.customProductSlideIn) {
|
|
234
|
+
layout.HotspotCategorySlideIn.ProductSlideIn = CustomProductSlideIn;
|
|
235
|
+
}
|
|
236
|
+
if (state.customPoiSlideIn) {
|
|
237
|
+
layout.HotspotCategorySlideIn.PoiSlideIn = CustomPoiSlideIn;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// PlayBar customizations
|
|
242
|
+
if (state.customPlayBarTooltip || state.customPlayBarButton) {
|
|
243
|
+
layout.PlayBar = {};
|
|
244
|
+
if (state.customPlayBarTooltip) {
|
|
245
|
+
layout.PlayBar.Tooltip = CustomPlayBarTooltip;
|
|
246
|
+
}
|
|
247
|
+
if (state.customPlayBarButton) {
|
|
248
|
+
layout.PlayBar.Button = CustomPlayBarButton;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
// PoiDetailSlideIn customizations
|
|
253
|
+
if (
|
|
254
|
+
state.customPoiDetailDrawer ||
|
|
255
|
+
state.customPoiDetailBottomSheet ||
|
|
256
|
+
state.customProductDetailHeader ||
|
|
257
|
+
state.customGroupActionButton ||
|
|
258
|
+
state.customTabs ||
|
|
259
|
+
state.customTabsContent ||
|
|
260
|
+
state.customInfo ||
|
|
261
|
+
state.customGallery ||
|
|
262
|
+
state.customArTab
|
|
263
|
+
) {
|
|
264
|
+
layout.PoiDetailSlideIn = {};
|
|
265
|
+
|
|
266
|
+
if (state.customPoiDetailDrawer) {
|
|
267
|
+
layout.PoiDetailSlideIn.Drawer = CustomPoiDetailDrawer;
|
|
268
|
+
}
|
|
269
|
+
if (state.customPoiDetailBottomSheet) {
|
|
270
|
+
layout.PoiDetailSlideIn.BottomSheet = CustomPoiDetailBottomSheet;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (
|
|
274
|
+
state.customProductDetailHeader ||
|
|
275
|
+
state.customGroupActionButton ||
|
|
276
|
+
state.customTabs ||
|
|
277
|
+
state.customTabsContent ||
|
|
278
|
+
state.customInfo ||
|
|
279
|
+
state.customGallery ||
|
|
280
|
+
state.customArTab
|
|
281
|
+
) {
|
|
282
|
+
layout.PoiDetailSlideIn.ProductDetail = {};
|
|
283
|
+
|
|
284
|
+
if (state.customProductDetailHeader) {
|
|
285
|
+
layout.PoiDetailSlideIn.ProductDetail.Header =
|
|
286
|
+
CustomProductDetailHeader;
|
|
287
|
+
}
|
|
288
|
+
if (state.customGroupActionButton) {
|
|
289
|
+
layout.PoiDetailSlideIn.ProductDetail.GroupActionButton =
|
|
290
|
+
CustomGroupActionButton;
|
|
291
|
+
}
|
|
292
|
+
if (state.customTabs) {
|
|
293
|
+
layout.PoiDetailSlideIn.ProductDetail.Tabs = CustomTabs;
|
|
294
|
+
}
|
|
295
|
+
if (state.customTabsContent) {
|
|
296
|
+
layout.PoiDetailSlideIn.ProductDetail.TabsContent = CustomTabsContent;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
if (state.customInfo || state.customGallery || state.customArTab) {
|
|
300
|
+
layout.PoiDetailSlideIn.ProductDetail.TabsContent =
|
|
301
|
+
layout.PoiDetailSlideIn.ProductDetail.TabsContent || {};
|
|
302
|
+
if (
|
|
303
|
+
typeof layout.PoiDetailSlideIn.ProductDetail.TabsContent !==
|
|
304
|
+
'object'
|
|
305
|
+
) {
|
|
306
|
+
layout.PoiDetailSlideIn.ProductDetail.TabsContent = {};
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
if (state.customInfo) {
|
|
310
|
+
layout.PoiDetailSlideIn.ProductDetail.TabsContent.Info = CustomInfo;
|
|
311
|
+
}
|
|
312
|
+
if (state.customGallery) {
|
|
313
|
+
layout.PoiDetailSlideIn.ProductDetail.TabsContent.Gallery =
|
|
314
|
+
CustomGallery;
|
|
315
|
+
}
|
|
316
|
+
if (state.customArTab) {
|
|
317
|
+
layout.PoiDetailSlideIn.ProductDetail.TabsContent.ArTab =
|
|
318
|
+
CustomArTab;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
return layout;
|
|
325
|
+
};
|
|
326
|
+
|
|
327
|
+
return { buildCustomLayout };
|
|
328
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
* {
|
|
2
|
+
margin: 0;
|
|
3
|
+
padding: 0;
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
body {
|
|
8
|
+
font-family:
|
|
9
|
+
-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu',
|
|
10
|
+
'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
|
11
|
+
-webkit-font-smoothing: antialiased;
|
|
12
|
+
-moz-osx-font-smoothing: grayscale;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
code {
|
|
16
|
+
font-family:
|
|
17
|
+
source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
|
|
18
|
+
background: #f4f4f4;
|
|
19
|
+
padding: 2px 6px;
|
|
20
|
+
border-radius: 3px;
|
|
21
|
+
font-size: 13px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
#root {
|
|
25
|
+
height: 100vh;
|
|
26
|
+
width: 100vw;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.custom-minimap-marker .marker__content {
|
|
30
|
+
background-color: red !important;
|
|
31
|
+
}
|
package/package.json
CHANGED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
<component name="InspectionProjectProfileManager">
|
|
2
|
-
<profile version="1.0">
|
|
3
|
-
<option name="myName" value="Project Default" />
|
|
4
|
-
<inspection_tool class="AngularAmbiguousComponentTag" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
5
|
-
<inspection_tool class="AngularCliAddDependency" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
6
|
-
<inspection_tool class="AngularInaccessibleComponentMemberInAotMode" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
7
|
-
<inspection_tool class="AngularIncorrectTemplateDefinition" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
8
|
-
<inspection_tool class="AngularInsecureBindingToEvent" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
9
|
-
<inspection_tool class="AngularInvalidAnimationTriggerAssignment" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
10
|
-
<inspection_tool class="AngularInvalidEntryComponent" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
11
|
-
<inspection_tool class="AngularInvalidI18nAttribute" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
12
|
-
<inspection_tool class="AngularInvalidImportedOrDeclaredSymbol" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
13
|
-
<inspection_tool class="AngularInvalidSelector" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
14
|
-
<inspection_tool class="AngularInvalidTemplateReferenceVariable" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
15
|
-
<inspection_tool class="AngularMissingEventHandler" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
16
|
-
<inspection_tool class="AngularMissingOrInvalidDeclarationInModule" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
17
|
-
<inspection_tool class="AngularMissingRequiredDirectiveInputBinding" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
18
|
-
<inspection_tool class="AngularMultipleStructuralDirectives" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
19
|
-
<inspection_tool class="AngularNgOptimizedImage" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
|
|
20
|
-
<inspection_tool class="AngularNonEmptyNgContent" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
21
|
-
<inspection_tool class="AngularRecursiveModuleImportExport" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
22
|
-
<inspection_tool class="AngularUndefinedBinding" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
23
|
-
<inspection_tool class="AngularUndefinedModuleExport" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
24
|
-
<inspection_tool class="AngularUndefinedTag" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
25
|
-
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
26
|
-
<inspection_tool class="MicronautDataMethodInconsistency" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
27
|
-
<inspection_tool class="MicronautDataRepositoryMethodParameters" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
28
|
-
<inspection_tool class="MicronautDataRepositoryMethodReturnType" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
29
|
-
<inspection_tool class="MnCacheAnnotationParameters" enabled="false" level="ERROR" enabled_by_default="false" />
|
|
30
|
-
<inspection_tool class="MnInjectionPoints" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
31
|
-
<inspection_tool class="MnPropertiesConfig" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
32
|
-
<inspection_tool class="MnUnresolvedPathVariable" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
33
|
-
<inspection_tool class="MnYamlConfig" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
34
|
-
<inspection_tool class="TsLint" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
35
|
-
</profile>
|
|
36
|
-
</component>
|
package/.idea/misc.xml
DELETED
package/.idea/modules.xml
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="ProjectModuleManager">
|
|
4
|
-
<modules>
|
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/.idea/showroom-visualizer.iml" filepath="$PROJECT_DIR$/.idea/showroom-visualizer.iml" />
|
|
6
|
-
</modules>
|
|
7
|
-
</component>
|
|
8
|
-
</project>
|
package/.idea/prettier.xml
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="PrettierConfiguration">
|
|
4
|
-
<option name="myConfigurationMode" value="MANUAL" />
|
|
5
|
-
<option name="myRunOnSave" value="true" />
|
|
6
|
-
<option name="myRunOnReformat" value="true" />
|
|
7
|
-
</component>
|
|
8
|
-
</project>
|