@r2u/javascript-ar-sdk 6.22.0 → 6.22.1

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 (128) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/init.bundle.js +1 -1
  3. package/dist/public/locales/en/translation.json +36 -0
  4. package/dist/sku.bundle.js +1 -1
  5. package/dist/src/assets/icons.js +18 -0
  6. package/dist/src/assets/icons.js.map +1 -0
  7. package/dist/src/components/Modal/Canvas/index.js +11 -0
  8. package/dist/src/components/Modal/Canvas/index.js.map +1 -0
  9. package/dist/src/components/Modal/Canvas/styles.js +34 -0
  10. package/dist/src/components/Modal/Canvas/styles.js.map +1 -0
  11. package/dist/src/components/Modal/Context.js +27 -0
  12. package/dist/src/components/Modal/Context.js.map +1 -0
  13. package/dist/src/components/Modal/Feedback/Confirm.js +16 -0
  14. package/dist/src/components/Modal/Feedback/Confirm.js.map +1 -0
  15. package/dist/src/components/Modal/Feedback/Main.js +16 -0
  16. package/dist/src/components/Modal/Feedback/Main.js.map +1 -0
  17. package/dist/src/components/Modal/Feedback/index.js +31 -0
  18. package/dist/src/components/Modal/Feedback/index.js.map +1 -0
  19. package/dist/src/components/Modal/Feedback/styles.js +100 -0
  20. package/dist/src/components/Modal/Feedback/styles.js.map +1 -0
  21. package/dist/src/components/Modal/Instructions/index.js +50 -0
  22. package/dist/src/components/Modal/Instructions/index.js.map +1 -0
  23. package/dist/src/components/Modal/Instructions/styles.js +137 -0
  24. package/dist/src/components/Modal/Instructions/styles.js.map +1 -0
  25. package/dist/src/components/Modal/InstructionsAmericanas/index.js +50 -0
  26. package/dist/src/components/Modal/InstructionsAmericanas/index.js.map +1 -0
  27. package/dist/src/components/Modal/InstructionsAmericanas/styles.js +116 -0
  28. package/dist/src/components/Modal/InstructionsAmericanas/styles.js.map +1 -0
  29. package/dist/src/components/Modal/InstructionsMolduraMinuto/index.js +103 -0
  30. package/dist/src/components/Modal/InstructionsMolduraMinuto/index.js.map +1 -0
  31. package/dist/src/components/Modal/InstructionsMolduraMinuto/styles.js +77 -0
  32. package/dist/src/components/Modal/InstructionsMolduraMinuto/styles.js.map +1 -0
  33. package/dist/src/components/Modal/InstructionsYDigital/index.js +50 -0
  34. package/dist/src/components/Modal/InstructionsYDigital/index.js.map +1 -0
  35. package/dist/src/components/Modal/InstructionsYDigital/styles.js +137 -0
  36. package/dist/src/components/Modal/InstructionsYDigital/styles.js.map +1 -0
  37. package/dist/src/components/Modal/InstructionsYDigitalVideo/index.js +44 -0
  38. package/dist/src/components/Modal/InstructionsYDigitalVideo/index.js.map +1 -0
  39. package/dist/src/components/Modal/InstructionsYDigitalVideo/styles.js +137 -0
  40. package/dist/src/components/Modal/InstructionsYDigitalVideo/styles.js.map +1 -0
  41. package/dist/src/components/Modal/Social/index.js +20 -0
  42. package/dist/src/components/Modal/Social/index.js.map +1 -0
  43. package/dist/src/components/Modal/Social/styles.js +85 -0
  44. package/dist/src/components/Modal/Social/styles.js.map +1 -0
  45. package/dist/src/components/Modal/Viewer/index.js +26 -0
  46. package/dist/src/components/Modal/Viewer/index.js.map +1 -0
  47. package/dist/src/components/Modal/Viewer/styles.js +56 -0
  48. package/dist/src/components/Modal/Viewer/styles.js.map +1 -0
  49. package/dist/src/components/Modal/ViewerFull/index.js +15 -0
  50. package/dist/src/components/Modal/ViewerFull/index.js.map +1 -0
  51. package/dist/src/components/Modal/ViewerFull/styles.js +12 -0
  52. package/dist/src/components/Modal/ViewerFull/styles.js.map +1 -0
  53. package/dist/src/components/R2UModelViewer/ProgressBar/index.js +9 -0
  54. package/dist/src/components/R2UModelViewer/ProgressBar/index.js.map +1 -0
  55. package/dist/src/components/R2UModelViewer/ProgressBar/styles.js +54 -0
  56. package/dist/src/components/R2UModelViewer/ProgressBar/styles.js.map +1 -0
  57. package/dist/src/components/R2UModelViewer/ProgressBar/types.js +1 -0
  58. package/dist/src/components/R2UModelViewer/ProgressBar/types.js.map +1 -0
  59. package/dist/src/components/R2UModelViewer/index.d.ts +1 -1
  60. package/dist/src/components/R2UModelViewer/index.js +63 -0
  61. package/dist/src/components/R2UModelViewer/index.js.map +1 -0
  62. package/dist/src/components/R2UModelViewer/styles.js +128 -0
  63. package/dist/src/components/R2UModelViewer/styles.js.map +1 -0
  64. package/dist/src/components/WaterMark/index.js +9 -0
  65. package/dist/src/components/WaterMark/index.js.map +1 -0
  66. package/dist/src/components/WaterMark/styles.js +26 -0
  67. package/dist/src/components/WaterMark/styles.js.map +1 -0
  68. package/dist/src/config/i18n.js +69 -0
  69. package/dist/src/config/i18n.js.map +1 -0
  70. package/dist/src/error/ViewerError.js +7 -0
  71. package/dist/src/error/ViewerError.js.map +1 -0
  72. package/dist/src/fonts/index.js +9 -0
  73. package/dist/src/fonts/index.js.map +1 -0
  74. package/dist/src/index.d.ts +1 -1
  75. package/dist/src/index.js +25 -0
  76. package/dist/src/index.js.map +1 -0
  77. package/dist/src/methods/analytics.js +17 -0
  78. package/dist/src/methods/analytics.js.map +1 -0
  79. package/dist/src/methods/ar.js +372 -0
  80. package/dist/src/methods/ar.js.map +1 -0
  81. package/dist/src/methods/config.js +40 -0
  82. package/dist/src/methods/config.js.map +1 -0
  83. package/dist/src/methods/init.js +51 -0
  84. package/dist/src/methods/init.js.map +1 -0
  85. package/dist/src/methods/qrCode.js +48 -0
  86. package/dist/src/methods/qrCode.js.map +1 -0
  87. package/dist/src/methods/sku.d.ts +1 -1
  88. package/dist/src/methods/sku.js +47 -0
  89. package/dist/src/methods/sku.js.map +1 -0
  90. package/dist/src/methods/types.js +1 -0
  91. package/dist/src/methods/types.js.map +1 -0
  92. package/dist/src/methods/viewer.js +310 -0
  93. package/dist/src/methods/viewer.js.map +1 -0
  94. package/dist/src/screens/Fallback/index.js +22 -0
  95. package/dist/src/screens/Fallback/index.js.map +1 -0
  96. package/dist/src/screens/Feedback/index.d.ts +1 -1
  97. package/dist/src/screens/Feedback/index.js +21 -0
  98. package/dist/src/screens/Feedback/index.js.map +1 -0
  99. package/dist/src/screens/Instructions/index.d.ts +1 -1
  100. package/dist/src/screens/Instructions/index.js +48 -0
  101. package/dist/src/screens/Instructions/index.js.map +1 -0
  102. package/dist/src/screens/Social/index.js +9 -0
  103. package/dist/src/screens/Social/index.js.map +1 -0
  104. package/dist/src/services/analytics.js +219 -0
  105. package/dist/src/services/analytics.js.map +1 -0
  106. package/dist/src/services/constants.js +65 -0
  107. package/dist/src/services/constants.js.map +1 -0
  108. package/dist/src/services/cookies.js +19 -0
  109. package/dist/src/services/cookies.js.map +1 -0
  110. package/dist/src/services/customer.js +17 -0
  111. package/dist/src/services/customer.js.map +1 -0
  112. package/dist/src/services/customization.js +73 -0
  113. package/dist/src/services/customization.js.map +1 -0
  114. package/dist/src/services/product.js +49 -0
  115. package/dist/src/services/product.js.map +1 -0
  116. package/dist/src/services/requests.js +55 -0
  117. package/dist/src/services/requests.js.map +1 -0
  118. package/dist/src/state.d.ts +1 -1
  119. package/dist/src/state.js +23 -0
  120. package/dist/src/state.js.map +1 -0
  121. package/dist/src/types/Viewer.js +1 -0
  122. package/dist/src/types/Viewer.js.map +1 -0
  123. package/dist/src/types/index.js +1 -0
  124. package/dist/src/types/index.js.map +1 -0
  125. package/dist/src/utils/sortCustomization.js +10 -0
  126. package/dist/src/utils/sortCustomization.js.map +1 -0
  127. package/dist/{vendors.fe050b32669a2a3c34a3.bundle.js → vendors.8c5a3e61e714fd2ec175.bundle.js} +1 -1
  128. package/package.json +6 -4
@@ -0,0 +1,219 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import Analytics, { dimensions, webxrDimensions, webxrEvents, events, fingerprint, } from '@r2u/analytics';
11
+ import { v4 } from 'uuid';
12
+ import state from '../state';
13
+ const placements = {
14
+ arLink: 'ar_link',
15
+ arModelViewer: 'ar_model_viewer',
16
+ cta: 'cta',
17
+ };
18
+ const arLink = {
19
+ componentDidMount: () => {
20
+ return state.analytics.send({
21
+ event: events.impression,
22
+ data: { [dimensions.placement]: placements.arLink },
23
+ scope: 'page',
24
+ });
25
+ },
26
+ onClick: () => {
27
+ return state.analytics.send({
28
+ event: events.click,
29
+ data: { [dimensions.placement]: placements.arLink },
30
+ });
31
+ },
32
+ onFallback: () => {
33
+ return state.analytics.send({
34
+ event: events.fallback,
35
+ data: { [dimensions.placement]: placements.arLink },
36
+ });
37
+ },
38
+ onLike: () => {
39
+ return state.analytics.send({
40
+ event: events.like,
41
+ data: { [dimensions.placement]: placements.arLink },
42
+ });
43
+ },
44
+ onDislike: () => {
45
+ return state.analytics.send({
46
+ event: events.dislike,
47
+ data: { [dimensions.placement]: placements.arLink },
48
+ });
49
+ },
50
+ onSessionTimeCollect: (time) => {
51
+ return state.analytics.send({
52
+ event: events.interaction_duration,
53
+ eventCount: time,
54
+ data: { [dimensions.placement]: placements.arLink },
55
+ });
56
+ },
57
+ };
58
+ const arModelViewer = {
59
+ componentDidMount: () => {
60
+ return state.analytics.send({
61
+ event: events.impression,
62
+ data: { [dimensions.placement]: placements.arModelViewer },
63
+ scope: 'page',
64
+ });
65
+ },
66
+ onClick: () => {
67
+ return state.analytics.send({
68
+ event: events.click,
69
+ data: { [dimensions.placement]: placements.arModelViewer },
70
+ });
71
+ },
72
+ onSessionTimeCollect: (time) => {
73
+ return state.analytics.send({
74
+ event: events.interaction_duration,
75
+ eventCount: time,
76
+ data: { [dimensions.placement]: placements.arModelViewer },
77
+ });
78
+ },
79
+ };
80
+ const webXR = {
81
+ onSessionStart: () => {
82
+ return state.analytics.webxrSend({
83
+ webxrEvent: webxrEvents.session_start,
84
+ });
85
+ },
86
+ onSessionEnd: () => {
87
+ return state.analytics.webxrSend({
88
+ webxrEvent: webxrEvents.session_end,
89
+ });
90
+ },
91
+ setSession: () => {
92
+ state.analytics.webxrSet(webxrDimensions.session_id, v4());
93
+ },
94
+ setCompatible: (compatible) => {
95
+ state.analytics.webxrSet(webxrDimensions.compatible, `${compatible}`);
96
+ },
97
+ onSceneViewerFallback: () => {
98
+ return Promise.all([
99
+ state.analytics.webxrSend({
100
+ webxrEvent: webxrEvents.scene_viewer_fallback,
101
+ }),
102
+ state.analytics.send({
103
+ event: events.fallback,
104
+ data: { [dimensions.placement]: placements.arLink },
105
+ context: 'webxr',
106
+ }),
107
+ ]);
108
+ },
109
+ onFallback: () => {
110
+ return state.analytics.webxrSend({
111
+ webxrEvent: webxrEvents.fallback,
112
+ });
113
+ },
114
+ setPlaneMapped: () => {
115
+ state.analytics.webxrSet(webxrDimensions.plane_mapped, new Date().toISOString());
116
+ },
117
+ setObjectPlaced: () => {
118
+ state.analytics.webxrSet(webxrDimensions.object_placed, new Date().toISOString());
119
+ },
120
+ setTranslateInstructions: () => {
121
+ state.analytics.webxrSet(webxrDimensions.translate_instructions, new Date().toISOString());
122
+ },
123
+ setRotateInstructions: () => {
124
+ state.analytics.webxrSet(webxrDimensions.rotate_instructions, new Date().toISOString());
125
+ },
126
+ setFirstTranslation: () => {
127
+ state.analytics.webxrSet(webxrDimensions.first_translation, new Date().toISOString());
128
+ },
129
+ setFirstRotation: () => {
130
+ state.analytics.webxrSet(webxrDimensions.first_rotation, new Date().toISOString());
131
+ },
132
+ setReset: () => {
133
+ state.analytics.webxrSet(webxrDimensions.reset, new Date().toISOString());
134
+ },
135
+ onShare: () => {
136
+ return state.analytics.webxrSend({
137
+ webxrEvent: webxrEvents.share,
138
+ });
139
+ },
140
+ onExit: () => {
141
+ return state.analytics.webxrSend({
142
+ webxrEvent: webxrEvents.exit,
143
+ });
144
+ },
145
+ onLike: () => {
146
+ return state.analytics.webxrSend({
147
+ webxrEvent: webxrEvents.like,
148
+ });
149
+ },
150
+ onDislike: () => {
151
+ return state.analytics.webxrSend({
152
+ webxrEvent: webxrEvents.dislike,
153
+ });
154
+ },
155
+ onCallToAction: () => {
156
+ return state.analytics.webxrSend({
157
+ webxrEvent: webxrEvents.call_to_action,
158
+ });
159
+ },
160
+ onTranslation: () => {
161
+ return state.analytics.webxrSend({
162
+ webxrEvent: webxrEvents.translation,
163
+ });
164
+ },
165
+ onRotation: () => {
166
+ return state.analytics.webxrSend({
167
+ webxrEvent: webxrEvents.rotation,
168
+ });
169
+ },
170
+ };
171
+ const cta = {
172
+ onClick: () => {
173
+ return state.analytics.send({
174
+ event: events.click,
175
+ data: { [dimensions.placement]: placements.cta },
176
+ context: 'cart',
177
+ });
178
+ },
179
+ };
180
+ const setSku = (sku) => {
181
+ state.analytics.set(dimensions.sku, sku);
182
+ };
183
+ const setManufacturerId = (manufacturerId) => {
184
+ state.analytics.set(dimensions.manufacturer_id, manufacturerId);
185
+ };
186
+ const isActive3D = (isActive) => {
187
+ state.analytics.set(dimensions.is_active_3d, `${isActive}`);
188
+ state.analytics.send({
189
+ event: events.product_page_view,
190
+ });
191
+ };
192
+ const setExperimentId = (experimentId) => {
193
+ state.analytics.set(dimensions.experiment_id, experimentId);
194
+ };
195
+ const setVariationId = (variationId) => {
196
+ state.analytics.set(dimensions.variation_id, variationId);
197
+ };
198
+ const getFingerprint = () => __awaiter(void 0, void 0, void 0, function* () {
199
+ const userFingerprint = yield fingerprint();
200
+ state.analytics.set(dimensions.fingerprint, userFingerprint);
201
+ return userFingerprint;
202
+ });
203
+ const getAnalytics = ({ client, dataLayerIntegration, sessionDurationMinutes, info = {}, }) => __awaiter(void 0, void 0, void 0, function* () {
204
+ const params = {
205
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
206
+ version: process.env.REACT_APP_VERSION,
207
+ gcpAnalyticsUrl: 'https://us-central1-r2u-analytics.cloudfunctions.net/reportEvent',
208
+ webxrGcpAnalyticsUrl: 'https://us-central1-r2u-analytics.cloudfunctions.net/reportWebXREvent',
209
+ debug: !!new URLSearchParams(window.location.search).get('realidade-aumentada-debug'),
210
+ sessionDurationMinutes,
211
+ dataLayerIntegration,
212
+ };
213
+ const analytics = new Analytics(params, Object.assign(Object.assign({}, info), { [dimensions.client]: client }));
214
+ yield analytics.init();
215
+ return analytics;
216
+ });
217
+ export { arLink, arModelViewer, webXR, cta, setExperimentId, setVariationId, setSku, setManufacturerId, isActive3D, getFingerprint, };
218
+ export default getAnalytics;
219
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/services/analytics.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,SAAS,EAAE,EAChB,UAAU,EACV,eAAe,EACf,WAAW,EACX,MAAM,EACN,WAAW,GACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AAEzB,OAAO,KAAK,MAAM,UAAU,CAAA;AAS5B,MAAM,UAAU,GAAG;IACjB,MAAM,EAAE,SAAS;IACjB,aAAa,EAAE,iBAAiB;IAChC,GAAG,EAAE,KAAK;CACX,CAAA;AAED,MAAM,MAAM,GAAG;IACb,iBAAiB,EAAE,GAAqB,EAAE;QACxC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE;YACnD,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,EAAE,GAAqB,EAAE;QAC9B,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE;SACpD,CAAC,CAAA;IACJ,CAAC;IACD,UAAU,EAAE,GAAqB,EAAE;QACjC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE;SACpD,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,EAAE,GAAqB,EAAE;QAC7B,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,IAAI;YAClB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE;SACpD,CAAC,CAAA;IACJ,CAAC;IACD,SAAS,EAAE,GAAqB,EAAE;QAChC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,OAAO;YACrB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE;SACpD,CAAC,CAAA;IACJ,CAAC;IACD,oBAAoB,EAAE,CAAC,IAAY,EAAoB,EAAE;QACvD,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,oBAAoB;YAClC,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE;SACpD,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,iBAAiB,EAAE,GAAqB,EAAE;QACxC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,aAAa,EAAE;YAC1D,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,EAAE,GAAqB,EAAE;QAC9B,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,aAAa,EAAE;SAC3D,CAAC,CAAA;IACJ,CAAC;IACD,oBAAoB,EAAE,CAAC,IAAY,EAAoB,EAAE;QACvD,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,oBAAoB;YAClC,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,aAAa,EAAE;SAC3D,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,MAAM,KAAK,GAAG;IACZ,cAAc,EAAE,GAAqB,EAAE;QACrC,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,aAAa;SACtC,CAAC,CAAA;IACJ,CAAC;IACD,YAAY,EAAE,GAAqB,EAAE;QACnC,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,WAAW;SACpC,CAAC,CAAA;IACJ,CAAC;IACD,UAAU,EAAE,GAAS,EAAE;QACrB,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;IAC5D,CAAC;IACD,aAAa,EAAE,CAAC,UAAmB,EAAQ,EAAE;QAC3C,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC,CAAA;IACvE,CAAC;IACD,qBAAqB,EAAE,GAAqB,EAAE;QAC5C,OAAO,OAAO,CAAC,GAAG,CAAC;YACjB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;gBACxB,UAAU,EAAE,WAAW,CAAC,qBAAqB;aAC9C,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC,QAAQ;gBACtB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE;gBACnD,OAAO,EAAE,OAAO;aACjB,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;IACD,UAAU,EAAE,GAAqB,EAAE;QACjC,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,QAAQ;SACjC,CAAC,CAAA;IACJ,CAAC;IACD,cAAc,EAAE,GAAS,EAAE;QACzB,KAAK,CAAC,SAAS,CAAC,QAAQ,CACtB,eAAe,CAAC,YAAY,EAC5B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAA;IACH,CAAC;IACD,eAAe,EAAE,GAAS,EAAE;QAC1B,KAAK,CAAC,SAAS,CAAC,QAAQ,CACtB,eAAe,CAAC,aAAa,EAC7B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAA;IACH,CAAC;IACD,wBAAwB,EAAE,GAAS,EAAE;QACnC,KAAK,CAAC,SAAS,CAAC,QAAQ,CACtB,eAAe,CAAC,sBAAsB,EACtC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAA;IACH,CAAC;IACD,qBAAqB,EAAE,GAAS,EAAE;QAChC,KAAK,CAAC,SAAS,CAAC,QAAQ,CACtB,eAAe,CAAC,mBAAmB,EACnC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAA;IACH,CAAC;IACD,mBAAmB,EAAE,GAAS,EAAE;QAC9B,KAAK,CAAC,SAAS,CAAC,QAAQ,CACtB,eAAe,CAAC,iBAAiB,EACjC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAA;IACH,CAAC;IACD,gBAAgB,EAAE,GAAS,EAAE;QAC3B,KAAK,CAAC,SAAS,CAAC,QAAQ,CACtB,eAAe,CAAC,cAAc,EAC9B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAA;IACH,CAAC;IACD,QAAQ,EAAE,GAAS,EAAE;QACnB,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,EAAE,GAAqB,EAAE;QAC9B,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,KAAK;SAC9B,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,EAAE,GAAqB,EAAE;QAC7B,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,IAAI;SAC7B,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,EAAE,GAAqB,EAAE;QAC7B,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,IAAI;SAC7B,CAAC,CAAA;IACJ,CAAC;IACD,SAAS,EAAE,GAAqB,EAAE;QAChC,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,OAAO;SAChC,CAAC,CAAA;IACJ,CAAC;IACD,cAAc,EAAE,GAAqB,EAAE;QACrC,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,cAAc;SACvC,CAAC,CAAA;IACJ,CAAC;IACD,aAAa,EAAE,GAAqB,EAAE;QACpC,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,WAAW;SACpC,CAAC,CAAA;IACJ,CAAC;IACD,UAAU,EAAE,GAAqB,EAAE;QACjC,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,WAAW,CAAC,QAAQ;SACjC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,MAAM,GAAG,GAAG;IACV,OAAO,EAAE,GAAqB,EAAE;QAC9B,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE;YAChD,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,GAAW,EAAQ,EAAE;IACnC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,cAAsB,EAAQ,EAAE;IACzD,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,cAAc,CAAC,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,QAAiB,EAAQ,EAAE;IAC7C,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAA;IAC3D,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC,iBAAiB;KAChC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAQ,EAAE;IACrD,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAQ,EAAE;IACnD,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,GAA0B,EAAE;IACjD,MAAM,eAAe,GAAG,MAAM,WAAW,EAAE,CAAA;IAC3C,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;IAC5D,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA,CAAA;AAED,MAAM,YAAY,GAAG,CAAO,EAC1B,MAAM,EACN,oBAAoB,EACpB,sBAAsB,EACtB,IAAI,GAAG,EAAE,GACU,EAAsB,EAAE;IAC3C,MAAM,MAAM,GAAG;QACb,oEAAoE;QACpE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAkB;QACvC,eAAe,EACb,kEAAkE;QACpE,oBAAoB,EAClB,uEAAuE;QACzE,KAAK,EAAE,CAAC,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CACtD,2BAA2B,CAC5B;QACD,sBAAsB;QACtB,oBAAoB;KACrB,CAAA;IAED,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,kCACjC,IAAI,KACP,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,IAC3B,CAAA;IACF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;IACtB,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA,CAAA;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,KAAK,EACL,GAAG,EACH,eAAe,EACf,cAAc,EACd,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,cAAc,GACf,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,65 @@
1
+ /* @license
2
+ * Copyright 2019 Google LLC. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the 'License');
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an 'AS IS' BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+ /* eslint-disable */
16
+ // NOTE(cdata): The HAS_WEBXR_* constants can be enabled in Chrome by turning on
17
+ // the appropriate flags. However, just because we have the API does not
18
+ // guarantee that AR will work.
19
+ export const HAS_WEBXR_DEVICE_API = navigator.xr != null &&
20
+ self.XRSession != null &&
21
+ navigator.xr.isSessionSupported != null;
22
+ export const HAS_WEBXR_HIT_TEST_API = HAS_WEBXR_DEVICE_API &&
23
+ self.XRSession.prototype.requestHitTestSource;
24
+ export const HAS_RESIZE_OBSERVER = self.ResizeObserver != null;
25
+ export const HAS_INTERSECTION_OBSERVER = self.IntersectionObserver != null;
26
+ export const IS_WEBXR_AR_CANDIDATE = HAS_WEBXR_HIT_TEST_API;
27
+ export const IS_MOBILE = (() => {
28
+ const userAgent = navigator.userAgent || navigator.vendor || self.opera;
29
+ let check = false;
30
+ // eslint-disable-next-line
31
+ if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(userAgent) ||
32
+ /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(userAgent.substr(0, 4))) {
33
+ check = true;
34
+ }
35
+ return check;
36
+ })();
37
+ export const IS_CHROMEOS = /\bCrOS\b/.test(navigator.userAgent);
38
+ export const IS_ANDROID = /android/i.test(navigator.userAgent);
39
+ // Prior to iOS 13, detecting iOS Safari was relatively straight-forward.
40
+ // As of iOS 13, Safari on iPad (in its default configuration) reports the same
41
+ // user-agent string as Safari on desktop MacOS. Strictly speaking, we only care
42
+ // about iOS for the purposes if selecting for cases where Quick Look is known
43
+ // to be supported. However, for API correctness purposes, we must rely on
44
+ // known, detectable signals to distinguish iOS Safari from MacOS Safari. At the
45
+ // time of this writing, there are no non-iOS/iPadOS Apple devices with
46
+ // multi-touch displays.
47
+ // @see https://stackoverflow.com/questions/57765958/how-to-detect-ipad-and-ipad-os-version-in-ios-13-and-up
48
+ // @see https://forums.developer.apple.com/thread/119186
49
+ // @see https://github.com/google/model-viewer/issues/758
50
+ export const IS_IOS = (/iPad|iPhone|iPod/.test(navigator.userAgent) && !self.MSStream) ||
51
+ (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
52
+ export const IS_AR_QUICKLOOK_CANDIDATE = (() => {
53
+ const tempAnchor = document.createElement('a');
54
+ return Boolean(tempAnchor.relList &&
55
+ tempAnchor.relList.supports &&
56
+ tempAnchor.relList.supports('ar'));
57
+ })();
58
+ // @see https://developer.chrome.com/multidevice/user-agent
59
+ export const IS_SAFARI = /Safari\//.test(navigator.userAgent);
60
+ export const IS_FIREFOX = /firefox/i.test(navigator.userAgent);
61
+ export const IS_OCULUS = /OculusBrowser/.test(navigator.userAgent);
62
+ export const IS_IOS_CHROME = IS_IOS && /CriOS\//.test(navigator.userAgent);
63
+ export const IS_IOS_SAFARI = IS_IOS && IS_SAFARI;
64
+ export const IS_SCENEVIEWER_CANDIDATE = IS_ANDROID && !IS_FIREFOX && !IS_OCULUS;
65
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/services/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export function getActionAlreadySeen(action) {
2
+ const key = `r2u-webxr-seen-${action}`;
3
+ const alreadyOpened = Boolean(JSON.parse(localStorage.getItem(key) || 'false'));
4
+ return alreadyOpened;
5
+ }
6
+ export function setActionAlreadySeen(action) {
7
+ const key = `r2u-webxr-seen-${action}`;
8
+ localStorage.setItem(key, JSON.stringify(true));
9
+ }
10
+ export function getScreenAlreadyOpened(screen) {
11
+ const key = `r2u-ar-opened-${screen}`;
12
+ const alreadyOpened = Boolean(JSON.parse(localStorage.getItem(key) || 'false'));
13
+ return alreadyOpened;
14
+ }
15
+ export function setScreenAlreadyOpened(screen) {
16
+ const key = `r2u-ar-opened-${screen}`;
17
+ localStorage.setItem(key, JSON.stringify(true));
18
+ }
19
+ //# sourceMappingURL=cookies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../../src/services/cookies.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,MAA8B;IACjE,MAAM,GAAG,GAAG,kBAAkB,MAAM,EAAE,CAAA;IACtC,MAAM,aAAa,GAAG,OAAO,CAC3B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CACjD,CAAA;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA8B;IACjE,MAAM,GAAG,GAAG,kBAAkB,MAAM,EAAE,CAAA;IACtC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAmC;IAEnC,MAAM,GAAG,GAAG,iBAAiB,MAAM,EAAE,CAAA;IACrC,MAAM,aAAa,GAAG,OAAO,CAC3B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CACjD,CAAA;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAmC;IAEnC,MAAM,GAAG,GAAG,iBAAiB,MAAM,EAAE,CAAA;IACrC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AACjD,CAAC"}
@@ -0,0 +1,17 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { get } from './requests';
11
+ export function getCustomer(id) {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ const customer = (yield get(`/customers/${id}`));
14
+ return customer;
15
+ });
16
+ }
17
+ //# sourceMappingURL=customer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer.js","sourceRoot":"","sources":["../../../src/services/customer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAGhC,MAAM,UAAgB,WAAW,CAAC,EAAU;;QAC1C,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAa,CAAA;QAC5D,OAAO,QAAQ,CAAA;IACjB,CAAC;CAAA"}
@@ -0,0 +1,73 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { get, post } from './requests';
11
+ import state from '../../src/state';
12
+ export function getCustomizedModel(sku, customization) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ try {
15
+ const url = `/viewer-customization/customer/${state.customer._id}/products/${sku}?customization=${encodeURI(JSON.stringify(customization))}`;
16
+ const customizedModel = (yield get(url)) || {};
17
+ return customizedModel;
18
+ }
19
+ catch (e) {
20
+ console.error(`Error on getting customized model: ${e.message}`);
21
+ return Promise.reject(e);
22
+ }
23
+ });
24
+ }
25
+ export function uploadCustomization(sku, customization, customizationModel) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ try {
28
+ const url = `/viewer-customization/customer/${state.customer._id}/products/${sku}/upload-customization-data?customization=${encodeURI(JSON.stringify(customization))}`;
29
+ const signedUpload = (yield get(url));
30
+ const file = new File([customizationModel], signedUpload.filename);
31
+ const formData = new FormData();
32
+ Object.keys(signedUpload.fields).forEach((field) => formData.append(field, signedUpload.fields[field]));
33
+ formData.append('file', file);
34
+ yield fetch(signedUpload.url, {
35
+ method: 'POST',
36
+ body: formData,
37
+ });
38
+ return signedUpload.url.concat(signedUpload.fields['key']);
39
+ }
40
+ catch (e) {
41
+ console.error(`Error on upload customization: ${e.message}`);
42
+ return Promise.reject(e);
43
+ }
44
+ });
45
+ }
46
+ export function requestConversion(sku, filename) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ try {
49
+ const url = `/viewer-customization/customers/${state.customer._id}/products/${sku}/convert`;
50
+ const response = yield post(url, { filename });
51
+ return response;
52
+ }
53
+ catch (e) {
54
+ console.error(`Error on request sku conversion: ${e.message}`);
55
+ return Promise.reject(e);
56
+ }
57
+ });
58
+ }
59
+ export function retryCheckConversion(jobId) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ try {
62
+ const { status } = (yield get(`/job-status/${jobId}`));
63
+ if (['waiting', 'processing'].includes(status))
64
+ return retryCheckConversion(jobId);
65
+ return status;
66
+ }
67
+ catch (e) {
68
+ console.error(`Error on retry check conversion: ${e.message}`);
69
+ return Promise.reject(e);
70
+ }
71
+ });
72
+ }
73
+ //# sourceMappingURL=customization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customization.js","sourceRoot":"","sources":["../../../src/services/customization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { get } from './requests';
11
+ import state from '../state';
12
+ import querystring from 'querystring';
13
+ export default function (sku) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ if (state.products[sku])
16
+ return Promise.resolve(state.products[sku]);
17
+ const query = querystring.encode({
18
+ 'product.sku': sku,
19
+ 'asset.types': ['GLB', 'USDZ'].join(','),
20
+ 'product_review.status': 'RUNNING',
21
+ });
22
+ const [customerProduct] = (yield get(`/customers/${state.customer._id}/products/assets?${query}`));
23
+ if (!customerProduct)
24
+ throw new Error('R2U - SKU not found');
25
+ const assets = customerProduct.assets || [];
26
+ const productReviews = customerProduct.product_reviews || [];
27
+ const glbAsset = assets.find((asset) => asset.type === 'GLB');
28
+ const usdzAsset = assets.find((asset) => asset.type === 'USDZ');
29
+ const product = {
30
+ glb: glbAsset ? glbAsset.url : '',
31
+ usdz: usdzAsset ? usdzAsset.url : '',
32
+ isActive: productReviews.length > 0,
33
+ name: customerProduct.name,
34
+ placement: customerProduct.placement || 'floor',
35
+ resize: customerProduct.resize || false,
36
+ sound: customerProduct.soundUrl,
37
+ modelId: customerProduct.modelId,
38
+ manufacturerId: customerProduct.manufacturerId,
39
+ pdpUrl: customerProduct.pdpUrl,
40
+ hdri: customerProduct.hdri,
41
+ exposure: customerProduct.exposure,
42
+ bloom: customerProduct.bloom,
43
+ viewerOptions: customerProduct.viewerOptions || {},
44
+ };
45
+ state.products[sku] = product;
46
+ return product;
47
+ });
48
+ }
49
+ //# sourceMappingURL=product.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../src/services/product.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAChC,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,WAAW,MAAM,aAAa,CAAA;AA8CrC,MAAM,CAAC,OAAO,WAAiB,GAAW;;QACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAEpE,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;YAC/B,aAAa,EAAE,GAAG;YAClB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,uBAAuB,EAAE,SAAS;SACnC,CAAC,CAAA;QACF,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,GAAG,CAClC,cAAc,KAAK,CAAC,QAAQ,CAAC,GAAG,oBAAoB,KAAK,EAAE,CAC5D,CAAsB,CAAA;QAEvB,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAE5D,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,IAAI,EAAE,CAAA;QAC3C,MAAM,cAAc,GAAG,eAAe,CAAC,eAAe,IAAI,EAAE,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;QACpE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;QAEtE,MAAM,OAAO,GAAY;YACvB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACjC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACpC,QAAQ,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC;YACnC,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,SAAS,EAAE,eAAe,CAAC,SAAS,IAAI,OAAO;YAC/C,MAAM,EAAE,eAAe,CAAC,MAAM,IAAI,KAAK;YACvC,KAAK,EAAE,eAAe,CAAC,QAAQ;YAC/B,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,cAAc,EAAE,eAAe,CAAC,cAAc;YAC9C,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,QAAQ,EAAE,eAAe,CAAC,QAAQ;YAClC,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,aAAa,EAAE,eAAe,CAAC,aAAa,IAAK,EAAoB;SACtE,CAAA;QAED,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAA;QAE7B,OAAO,OAAO,CAAA;IAChB,CAAC;CAAA"}
@@ -0,0 +1,55 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import state from '../state';
11
+ const endpoint = process.env.NODE_ENV === 'development'
12
+ ? 'https://dev-api.r2u.io'
13
+ : 'https://api.r2u.io';
14
+ export function get(path) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ const headers = {};
17
+ if (state.refreshCache) {
18
+ headers['Cache-Control'] = 'max-age=0';
19
+ }
20
+ const response = yield fetch(`${endpoint}${path}`, {
21
+ method: 'get',
22
+ headers,
23
+ });
24
+ return response.json();
25
+ });
26
+ }
27
+ export function post(path, body) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ const response = yield fetch(`${endpoint}${path}`, {
30
+ method: 'POST',
31
+ body: JSON.stringify(body),
32
+ });
33
+ return response.json();
34
+ });
35
+ }
36
+ export function fileExists(url) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ try {
39
+ const { status } = yield fetch(url, {
40
+ method: 'HEAD',
41
+ });
42
+ return status === 200;
43
+ }
44
+ catch (err) {
45
+ console.error(err);
46
+ return false;
47
+ }
48
+ });
49
+ }
50
+ export const getRoute = () => {
51
+ return process.env.NODE_ENV === 'development'
52
+ ? 'http://localhost:8080'
53
+ : 'https://sdk.r2u.io';
54
+ };
55
+ //# sourceMappingURL=requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../src/services/requests.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,UAAU,CAAA;AAE5B,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;IACpC,CAAC,CAAC,wBAAwB;IAC1B,CAAC,CAAC,oBAAoB,CAAA;AAE1B,MAAM,UAAgB,GAAG,CAAC,IAAY;;QACpC,MAAM,OAAO,GAAgB,EAAE,CAAA;QAC/B,IAAI,KAAK,CAAC,YAAY,EAAE;YACtB,OAAO,CAAC,eAAe,CAAC,GAAG,WAAW,CAAA;SACvC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,EAAE;YACjD,MAAM,EAAE,KAAK;YACb,OAAO;SACR,CAAC,CAAA;QACF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;CAAA;AAED,MAAM,UAAgB,IAAI,CAAC,IAAY,EAAE,IAAa;;QACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,EAAE;YACjD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC;CAAA;AAED,MAAM,UAAgB,UAAU,CAAC,GAAW;;QAC1C,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAClC,MAAM,EAAE,MAAM;aACf,CAAC,CAAA;YACF,OAAO,MAAM,KAAK,GAAG,CAAA;SACtB;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,OAAO,KAAK,CAAA;SACb;IACH,CAAC;CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAW,EAAE;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;QAC3C,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,oBAAoB,CAAA;AAC1B,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import Analytics from '@r2u/analytics';
2
- import { Product } from '@services/product';
2
+ import { Product } from './services/product';
3
3
  import { GrowthBook, ExperimentOverride } from '@growthbook/growthbook';
4
4
  import { ViewerOptions } from './methods/types';
5
5
  export interface Customer {
@@ -0,0 +1,23 @@
1
+ const state = {
2
+ init: false,
3
+ customer: {
4
+ _id: '',
5
+ slug: '',
6
+ language: 'en',
7
+ hdri: null,
8
+ exposure: null,
9
+ bloom: null,
10
+ experiments: { overrides: {} },
11
+ viewerOptions: {},
12
+ },
13
+ analytics: {
14
+ set: (_key, _value) => undefined,
15
+ send: ({ event, data, scope }) => Promise.resolve(),
16
+ },
17
+ products: {},
18
+ hasAutoOpenedAR: false,
19
+ growthbook: {},
20
+ refreshCache: false,
21
+ };
22
+ export default state;
23
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AA8BA,MAAM,KAAK,GAAU;IACnB,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE;QACR,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC9B,aAAa,EAAE,EAAmB;KACnC;IACD,SAAS,EAAE;QACT,GAAG,EAAE,CAAC,IAAY,EAAE,MAAc,EAAW,EAAE,CAAC,SAAS;QACzD,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAmB,EAAoB,EAAE,CAClE,OAAO,CAAC,OAAO,EAAE;KACP;IACd,QAAQ,EAAE,EAAE;IACZ,eAAe,EAAE,KAAK;IACtB,UAAU,EAAE,EAAgB;IAC5B,YAAY,EAAE,KAAK;CACpB,CAAA;AAED,eAAe,KAAK,CAAA"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=Viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Viewer.js","sourceRoot":"","sources":["../../../src/types/Viewer.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ const sortCustomization = ({ materialSlots, modelSlots, }) => {
2
+ materialSlots.sort((a, b) => (a.slot > b.slot ? 1 : a.slot < b.slot ? -1 : 0));
3
+ modelSlots.sort((a, b) => (a.slot > b.slot ? 1 : a.slot < b.slot ? -1 : 0));
4
+ modelSlots.forEach((slot) => {
5
+ if (slot.activeModel)
6
+ sortCustomization(slot.activeModel);
7
+ });
8
+ };
9
+ export default sortCustomization;
10
+ //# sourceMappingURL=sortCustomization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortCustomization.js","sourceRoot":"","sources":["../../../src/utils/sortCustomization.ts"],"names":[],"mappings":"AAYA,MAAM,iBAAiB,GAAG,CAAC,EACzB,aAAa,EACb,UAAU,GACI,EAAQ,EAAE;IACxB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9E,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3E,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,WAAW;YAAE,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,eAAe,iBAAiB,CAAA"}