@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,372 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
11
+ var t = {};
12
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
+ t[p] = s[p];
14
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
+ t[p[i]] = s[p[i]];
18
+ }
19
+ return t;
20
+ };
21
+ import React from 'react';
22
+ import ReactDOM from 'react-dom';
23
+ import * as arComponents from '@r2u/react-ar-components';
24
+ import state from '../state';
25
+ import { getActionAlreadySeen, getScreenAlreadyOpened, setActionAlreadySeen, setScreenAlreadyOpened, } from '../services/cookies';
26
+ import product from '../services/product';
27
+ import * as analytics from '../services/analytics';
28
+ import { get } from '../services/requests';
29
+ import Fallback from '../screens/Fallback';
30
+ import InstructionsScreen from '../screens/Instructions';
31
+ import FeedbackScreen from '../screens/Feedback';
32
+ import SocialScreen from '../screens/Social';
33
+ import GrowthBook from '@growthbook/growthbook';
34
+ import { IS_ANDROID, IS_IOS } from '../services/constants';
35
+ const isIOSInAppBrowser = () => IS_IOS && /instagram|FBAN|FBAV|LinkedInApp/i.test(navigator.userAgent);
36
+ const HASH_FALLBACK = '#no-ar-fallback';
37
+ const createFallbackScreen = ({ glb, fallbackOptions, }) => {
38
+ const root = document.createElement('div');
39
+ const rootEvent = 'r2u-open-fallback';
40
+ document.body.appendChild(root);
41
+ const render = (props) => {
42
+ ReactDOM.render(React.createElement(Fallback, Object.assign({ openerElement: root, openerEvent: rootEvent, fallbackOptions: fallbackOptions }, props)), root);
43
+ };
44
+ render({ glb });
45
+ return {
46
+ open: () => {
47
+ root.dispatchEvent(new Event(rootEvent));
48
+ },
49
+ render,
50
+ };
51
+ };
52
+ const createInstructionsScreen = (_a) => {
53
+ var { hasWaterMark, onOpen, activateAR, sku } = _a, arProps = __rest(_a, ["hasWaterMark", "onOpen", "activateAR", "sku"]);
54
+ const root = document.createElement('div');
55
+ const rootEvent = 'r2u-open-instructions';
56
+ document.body.appendChild(root);
57
+ const render = (props) => {
58
+ ReactDOM.render(React.createElement(InstructionsScreen, Object.assign({ openerElement: root, openerEvent: rootEvent, onOpen: onOpen, hasWaterMark: hasWaterMark, activateAR: activateAR, customerId: state.customer._id, sku: sku }, props)), root);
59
+ };
60
+ render(arProps);
61
+ return {
62
+ open: () => {
63
+ root.dispatchEvent(new Event(rootEvent));
64
+ },
65
+ render,
66
+ };
67
+ };
68
+ const createSocialFallbackScreen = () => {
69
+ const root = document.createElement('div');
70
+ const rootEvent = 'r2u-open-social-fallback';
71
+ document.body.appendChild(root);
72
+ ReactDOM.render(React.createElement(SocialScreen, { openerElement: root, openerEvent: rootEvent }), root);
73
+ return {
74
+ open: () => {
75
+ root.dispatchEvent(new Event(rootEvent));
76
+ },
77
+ render: () => undefined,
78
+ };
79
+ };
80
+ const createFeedbackScreen = (_a) => {
81
+ var { container } = _a, feedbackProps = __rest(_a, ["container"]);
82
+ const openerEvent = 'r2u-feedback-open';
83
+ const root = document.createElement('div');
84
+ root.className = 'feedback';
85
+ container.appendChild(root);
86
+ ReactDOM.render(React.createElement(FeedbackScreen, Object.assign({ openerElement: root, openerEvent: openerEvent }, feedbackProps)), root);
87
+ return {
88
+ open: () => {
89
+ root.dispatchEvent(new Event(openerEvent));
90
+ },
91
+ render: () => undefined,
92
+ };
93
+ };
94
+ function open({ element, event = 'click' }) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ element.dispatchEvent(new Event(event));
97
+ });
98
+ }
99
+ const alertMessage = 'Sentimos muito, mas infelizmente seu dispositivo não é compatível com a visualização em Realidade Aumentada';
100
+ const attachWebXREventListeners = (Events) => {
101
+ analytics.webXR.setSession();
102
+ // WebXR Session Start
103
+ document.addEventListener(Events.r2uWebxrSessionStart, analytics.webXR.onSessionStart, { once: true });
104
+ // WebXR Session End
105
+ document.addEventListener(Events.r2uWebxrSessionEnd, analytics.webXR.onSessionEnd, { once: true });
106
+ // WebXR Compatibility
107
+ document.addEventListener(Events.r2uWebxrCompatible, () => analytics.webXR.setCompatible(true), { once: true });
108
+ document.addEventListener(Events.r2uWebxrNotCompatible, () => analytics.webXR.setCompatible(false), { once: true });
109
+ // Session events
110
+ document.addEventListener(Events.r2uWebxrPlaneMapped, analytics.webXR.setPlaneMapped, { once: true });
111
+ document.addEventListener(Events.r2uWebxrObjectPlaced, analytics.webXR.setObjectPlaced, { once: true });
112
+ document.addEventListener(Events.r2uWebxrShowTranslatingInstructions, () => {
113
+ analytics.webXR.setTranslateInstructions();
114
+ setActionAlreadySeen('translate');
115
+ }, { once: true });
116
+ document.addEventListener(Events.r2uWebxrShowRotatingInstructions, () => {
117
+ analytics.webXR.setRotateInstructions();
118
+ setActionAlreadySeen('rotate');
119
+ }, { once: true });
120
+ document.addEventListener(Events.r2uWebxrTranslating, () => {
121
+ analytics.webXR.setFirstTranslation();
122
+ setActionAlreadySeen('translate');
123
+ }, { once: true });
124
+ document.addEventListener(Events.r2uWebxrRotating, () => {
125
+ analytics.webXR.setFirstRotation();
126
+ setActionAlreadySeen('rotate');
127
+ }, { once: true });
128
+ document.addEventListener(Events.r2uWebxrReset, analytics.webXR.setReset, {
129
+ once: true,
130
+ });
131
+ // Fallback
132
+ document.addEventListener(Events.r2uWebxrFallbackToSceneviewer, analytics.webXR.onSceneViewerFallback, { once: true });
133
+ window.addEventListener('hashchange', () => {
134
+ if (window.location.hash === HASH_FALLBACK)
135
+ analytics.webXR.onFallback();
136
+ }, {
137
+ once: true,
138
+ });
139
+ // Stopper events
140
+ document.addEventListener(Events.r2uWebxrShare, analytics.webXR.onShare);
141
+ document.addEventListener(Events.r2uWebxrExit, analytics.webXR.onExit);
142
+ document.addEventListener(Events.r2uWebxrCallToAction, analytics.webXR.onCallToAction);
143
+ // onLike | onDislike added to modal buttons
144
+ // Count occurrences events
145
+ document.addEventListener(Events.r2uWebxrTranslating, analytics.webXR.onTranslation);
146
+ document.addEventListener(Events.r2uWebxrRotating, analytics.webXR.onRotation);
147
+ };
148
+ function attach({ sku, price, element, callToAction, event = 'click', showInstructions = 'once', showFeedback = true, fallbackOptions = { alertMessage }, }) {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ if (!state.init)
151
+ return Promise.reject(new Error('R2U - Not initialized'));
152
+ if (!sku)
153
+ return Promise.reject(new Error('R2U - Missing SKU'));
154
+ const { activateWebXR, activateAR, WebXREvents } = yield arComponents;
155
+ const shouldShowWebXR = () => __awaiter(this, void 0, void 0, function* () {
156
+ const params = new URLSearchParams(window.location.search);
157
+ if (params.has('r2u_ar_mode')) {
158
+ return params.get('r2u_ar_mode') === 'webxr';
159
+ }
160
+ const userFingerprint = yield analytics.getFingerprint();
161
+ state.growthbook = new GrowthBook({
162
+ user: {
163
+ id: userFingerprint,
164
+ },
165
+ overrides: state.customer.experiments.overrides,
166
+ });
167
+ const experimentId = 'webxr-vs-sceneviewer-v3';
168
+ const { value: variationId } = state.growthbook.run({
169
+ key: experimentId,
170
+ variations: ['sceneviewer-v3', 'webxr-v3'],
171
+ });
172
+ analytics.setExperimentId(experimentId);
173
+ analytics.setVariationId(variationId);
174
+ return variationId === 'webxr-v3';
175
+ });
176
+ const { glb, usdz, name, placement, sound, resize, pdpUrl } = yield product(sku);
177
+ const scale = resize ? 'resizable' : 'fixed';
178
+ const [currencyLocale, currencyFormat] = state.customer.language === 'pt' ? ['pt-BR', 'BRL'] : ['en-US', 'USD'];
179
+ const cta = callToAction
180
+ ? Object.assign(Object.assign({}, callToAction), { onClick: () => {
181
+ callToAction.onClick();
182
+ document.dispatchEvent(new Event('r2u-webxr-close'));
183
+ analytics.cta.onClick();
184
+ } }) : undefined;
185
+ const arProps = {
186
+ glb,
187
+ usdz,
188
+ price,
189
+ placement,
190
+ scale,
191
+ sound,
192
+ callToAction: cta,
193
+ pdpUrl,
194
+ title: name,
195
+ mode: 'ar_preferred',
196
+ };
197
+ const hasWaterMark = Boolean(state.customer.waterMarkPosition);
198
+ const shouldShowFeedback = () => {
199
+ const hasOpenedFeedback = getScreenAlreadyOpened('feedback');
200
+ const customerShowFeedback = showFeedback && !hasOpenedFeedback;
201
+ return customerShowFeedback;
202
+ };
203
+ const beforeClose = (container) => {
204
+ const { open: openFeedback } = createFeedbackScreen({
205
+ container,
206
+ onLike: () => {
207
+ analytics.arLink.onLike();
208
+ analytics.webXR.onLike();
209
+ },
210
+ onDislike: () => {
211
+ analytics.arLink.onDislike();
212
+ analytics.webXR.onDislike();
213
+ },
214
+ onClose: () => document.dispatchEvent(new Event('r2u-webxr-close')),
215
+ onOpen: () => setScreenAlreadyOpened('feedback'),
216
+ });
217
+ shouldShowFeedback()
218
+ ? openFeedback()
219
+ : document.dispatchEvent(new Event('r2u-webxr-close'));
220
+ };
221
+ const shouldShowInstructions = () => {
222
+ switch (showInstructions) {
223
+ case 'always':
224
+ return true;
225
+ case 'never':
226
+ return false;
227
+ default:
228
+ case 'once':
229
+ const hasOpenedInstructions = getScreenAlreadyOpened('instructions');
230
+ return !hasOpenedInstructions;
231
+ }
232
+ };
233
+ const showWebXRInstructions = () => {
234
+ switch (showInstructions) {
235
+ case 'always':
236
+ return { translate: true, rotate: true };
237
+ case 'never':
238
+ return { translate: false, rotate: false };
239
+ default:
240
+ case 'once':
241
+ const hasSeenTranslate = getActionAlreadySeen('translate');
242
+ const hasSeenRotate = getActionAlreadySeen('rotate');
243
+ return { translate: !hasSeenTranslate, rotate: !hasSeenRotate };
244
+ }
245
+ };
246
+ const webXRProps = {
247
+ model: {
248
+ name,
249
+ description: price
250
+ ? new Intl.NumberFormat(currencyLocale, {
251
+ style: 'currency',
252
+ currency: currencyFormat,
253
+ }).format(Number(price))
254
+ : '',
255
+ glb,
256
+ placement,
257
+ resizable: resize,
258
+ url: pdpUrl,
259
+ showInstructions: showWebXRInstructions(),
260
+ },
261
+ beforeClose,
262
+ callToAction: cta,
263
+ language: state.customer.language,
264
+ };
265
+ analytics.arLink.componentDidMount();
266
+ const { open: openFallback, render: renderFallback } = createFallbackScreen({
267
+ fallbackOptions,
268
+ glb: arProps.glb,
269
+ });
270
+ const { open: openInstructions, render: renderInstructions } = createInstructionsScreen(Object.assign({ hasWaterMark,
271
+ sku,
272
+ activateAR, onOpen: () => setScreenAlreadyOpened('instructions') }, arProps));
273
+ const { open: openFeedback } = createFeedbackScreen({
274
+ container: document.body.appendChild(document.createElement('div')),
275
+ onLike: () => analytics.arLink.onLike(),
276
+ onDislike: () => analytics.arLink.onDislike(),
277
+ onClose: () => undefined,
278
+ onOpen: () => setScreenAlreadyOpened('feedback'),
279
+ });
280
+ const { open: openSocialFallback } = createSocialFallbackScreen();
281
+ const setSku = (sku) => __awaiter(this, void 0, void 0, function* () {
282
+ const newProduct = yield product(sku);
283
+ arProps.glb = newProduct.glb;
284
+ arProps.usdz = newProduct.usdz;
285
+ arProps.placement = newProduct.placement;
286
+ arProps.sound = newProduct.sound;
287
+ arProps.scale = newProduct.resize ? 'resizable' : 'fixed';
288
+ arProps.title = newProduct.name;
289
+ webXRProps.model.glb = newProduct.glb;
290
+ webXRProps.model.name = newProduct.name;
291
+ webXRProps.model.placement = newProduct.placement;
292
+ webXRProps.model.url = newProduct.pdpUrl;
293
+ webXRProps.model.resizable = newProduct.resize;
294
+ renderInstructions(arProps);
295
+ renderFallback(arProps);
296
+ });
297
+ const arSessionListener = () => __awaiter(this, void 0, void 0, function* () {
298
+ if (isIOSInAppBrowser()) {
299
+ openSocialFallback();
300
+ return;
301
+ }
302
+ // If on android, get A/B test data to show webXR or scene-viewer
303
+ // If product placement equals to wall, show AR in scene-viewer
304
+ // Do not await webXR to compute analytics click event
305
+ if (IS_ANDROID && placement !== 'wall' && (yield shouldShowWebXR())) {
306
+ attachWebXREventListeners(WebXREvents);
307
+ activateWebXR(webXRProps);
308
+ }
309
+ // If it falls to scene-viewer, check if should show instructions screen
310
+ else if (shouldShowInstructions())
311
+ openInstructions();
312
+ // If it does not show instructions, open scene-viewer AR experience
313
+ else
314
+ activateAR(arProps);
315
+ yield analytics.arLink.onClick();
316
+ const timeOnEvent = new Date().getTime();
317
+ const sceneViewerEndHandler = () => {
318
+ if (document.hidden)
319
+ return;
320
+ const timeOnClose = new Date().getTime();
321
+ analytics.arLink.onSessionTimeCollect(timeOnClose - timeOnEvent);
322
+ shouldShowFeedback() && openFeedback();
323
+ document.removeEventListener('visibilitychange', sceneViewerEndHandler);
324
+ };
325
+ const webxrEndHandler = () => {
326
+ const timeOnClose = new Date().getTime();
327
+ analytics.arLink.onSessionTimeCollect(timeOnClose - timeOnEvent);
328
+ document.removeEventListener('r2u-webxr-close', webxrEndHandler);
329
+ document.removeEventListener('visibilitychange', sceneViewerEndHandler);
330
+ };
331
+ document.addEventListener('r2u-webxr-close', webxrEndHandler);
332
+ document.addEventListener('visibilitychange', sceneViewerEndHandler);
333
+ });
334
+ element.addEventListener(event, arSessionListener);
335
+ const locationUrl = new URL(window.location.href);
336
+ const autoOpenAR = locationUrl.searchParams.get('r2u_redirect') === 'true';
337
+ const autoOpenARSku = locationUrl.searchParams.get('r2u_sku');
338
+ if (autoOpenAR && !state.hasAutoOpenedAR) {
339
+ state.hasAutoOpenedAR = true;
340
+ if (autoOpenARSku) {
341
+ yield setSku(autoOpenARSku);
342
+ }
343
+ open({ element, event });
344
+ }
345
+ window.addEventListener('hashchange', () => {
346
+ if (window.location.hash === HASH_FALLBACK) {
347
+ analytics.arLink.onFallback();
348
+ element.removeEventListener(event, arSessionListener);
349
+ element.addEventListener(event, openFallback);
350
+ open({ element, event });
351
+ }
352
+ }, { once: true });
353
+ return { setSku };
354
+ });
355
+ }
356
+ function getLink(sku) {
357
+ return __awaiter(this, void 0, void 0, function* () {
358
+ if (!state.init)
359
+ return Promise.reject(new Error('R2U - Not initialized'));
360
+ if (!sku)
361
+ return Promise.reject(new Error('R2U - Missing SKU'));
362
+ const customerId = state.customer._id;
363
+ const link = (yield get(`/sdk-ar/openar-link?customerId=${customerId}&productSku=${sku}`));
364
+ return Promise.resolve(link);
365
+ });
366
+ }
367
+ export default {
368
+ attach,
369
+ open,
370
+ getLink,
371
+ };
372
+ //# sourceMappingURL=ar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar.js","sourceRoot":"","sources":["../../../src/methods/ar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,QAAQ,MAAM,WAAW,CAAA;AAQhC,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA;AAExD,OAAO,KAAK,MAAM,UAAU,CAAA;AAG5B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,OAAO,MAAM,mBAAmB,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAExC,OAAO,QAA2B,MAAM,mBAAmB,CAAA;AAC3D,OAAO,kBAAkB,MAAM,uBAAuB,CAAA;AACtD,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,YAAY,MAAM,iBAAiB,CAAA;AAI1C,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,iBAAiB,GAAG,GAAY,EAAE,CACtC,MAAM,IAAI,kCAAkC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;AAExE,MAAM,aAAa,GAAG,iBAAiB,CAAA;AA4BvC,MAAM,oBAAoB,GAAG,CAAC,EAC5B,GAAG,EACH,eAAe,GACD,EAAmB,EAAE;IACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,mBAAmB,CAAA;IACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAE/B,MAAM,MAAM,GAAG,CAAC,KAAc,EAAQ,EAAE;QACtC,QAAQ,CAAC,MAAM,CACb,oBAAC,QAAQ,kBACP,aAAa,EAAE,IAAI,EACnB,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,eAAe,IAC5B,KAAK,EACT,EACF,IAAI,CACL,CAAA;IACH,CAAC,CAAA;IAED,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAEf,OAAO;QACL,IAAI,EAAE,GAAS,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM;KACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAAC,EAMd,EAAmB,EAAE;QANP,EAChC,YAAY,EACZ,MAAM,EACN,UAAU,EACV,GAAG,OAEe,EADf,OAAO,cALsB,+CAMjC,CADW;IAEV,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,uBAAuB,CAAA;IACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAE/B,MAAM,MAAM,GAAG,CAAC,KAAc,EAAQ,EAAE;QACtC,QAAQ,CAAC,MAAM,CACb,oBAAC,kBAAkB,kBACjB,aAAa,EAAE,IAAI,EACnB,WAAW,EAAE,SAAS,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAC9B,GAAG,EAAE,GAAG,IACJ,KAAK,EACT,EACF,IAAI,CACL,CAAA;IACH,CAAC,CAAA;IAED,MAAM,CAAC,OAAO,CAAC,CAAA;IAEf,OAAO;QACL,IAAI,EAAE,GAAS,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM;KACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,0BAA0B,GAAG,GAAoB,EAAE;IACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,0BAA0B,CAAA;IAC5C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC/B,QAAQ,CAAC,MAAM,CACb,oBAAC,YAAY,IAAC,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,GAAI,EAC7D,IAAI,CACL,CAAA;IAED,OAAO;QACL,IAAI,EAAE,GAAS,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM,EAAE,GAAS,EAAE,CAAC,SAAS;KAC9B,CAAA;AACH,CAAC,CAAA;AAMD,MAAM,oBAAoB,GAAG,CAAC,EAGR,EAAmB,EAAE;QAHb,EAC5B,SAAS,OAEW,EADjB,aAAa,cAFY,aAG7B,CADiB;IAEhB,MAAM,WAAW,GAAG,mBAAmB,CAAA;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAA;IAC3B,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC3B,QAAQ,CAAC,MAAM,CACb,oBAAC,cAAc,kBACb,aAAa,EAAE,IAAI,EACnB,WAAW,EAAE,WAAW,IACpB,aAAa,EACjB,EACF,IAAI,CACL,CAAA;IAED,OAAO;QACL,IAAI,EAAE,GAAS,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,MAAM,EAAE,GAAS,EAAE,CAAC,SAAS;KAC9B,CAAA;AACH,CAAC,CAAA;AAED,SAAe,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,EAAa;;QACzD,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACzC,CAAC;CAAA;AAED,MAAM,YAAY,GAChB,6GAA6G,CAAA;AAE/G,MAAM,yBAAyB,GAAG,CAAC,MAA0B,EAAQ,EAAE;IACrE,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;IAE5B,sBAAsB;IACtB,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,oBAAoB,EAC3B,SAAS,CAAC,KAAK,CAAC,cAAc,EAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IAED,oBAAoB;IACpB,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,kBAAkB,EACzB,SAAS,CAAC,KAAK,CAAC,YAAY,EAC5B,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IAED,sBAAsB;IACtB,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,kBAAkB,EACzB,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EACzC,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IACD,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,qBAAqB,EAC5B,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAC1C,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IAED,iBAAiB;IACjB,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,mBAAmB,EAC1B,SAAS,CAAC,KAAK,CAAC,cAAc,EAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IACD,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,oBAAoB,EAC3B,SAAS,CAAC,KAAK,CAAC,eAAe,EAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IACD,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,mCAAmC,EAC1C,GAAG,EAAE;QACH,SAAS,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAA;QAC1C,oBAAoB,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IACD,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,gCAAgC,EACvC,GAAG,EAAE;QACH,SAAS,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAA;QACvC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IACD,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,mBAAmB,EAC1B,GAAG,EAAE;QACH,SAAS,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAA;QACrC,oBAAoB,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IACD,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,gBAAgB,EACvB,GAAG,EAAE;QACH,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;QAClC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IACD,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE;QACxE,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,WAAW;IACX,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,6BAA6B,EACpC,SAAS,CAAC,KAAK,CAAC,qBAAqB,EACrC,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IACD,MAAM,CAAC,gBAAgB,CACrB,YAAY,EACZ,GAAG,EAAE;QACH,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,aAAa;YAAE,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;IAC1E,CAAC,EACD;QACE,IAAI,EAAE,IAAI;KACX,CACF,CAAA;IAED,iBAAiB;IACjB,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACxE,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACtE,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,oBAAoB,EAC3B,SAAS,CAAC,KAAK,CAAC,cAAc,CAC/B,CAAA;IACD,4CAA4C;IAE5C,2BAA2B;IAC3B,QAAQ,CAAC,gBAAgB,CACvB,MAAM,CAAC,mBAAmB,EAC1B,SAAS,CAAC,KAAK,CAAC,aAAa,CAC9B,CAAA;IACD,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;AAChF,CAAC,CAAA;AAED,SAAe,MAAM,CAAC,EACpB,GAAG,EACH,KAAK,EACL,OAAO,EACP,YAAY,EACZ,KAAK,GAAG,OAAO,EACf,gBAAgB,GAAG,MAAM,EACzB,YAAY,GAAG,IAAI,EACnB,eAAe,GAAG,EAAE,YAAY,EAAE,GACtB;;QACZ,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAC1E,IAAI,CAAC,GAAG;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAE/D,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAAA;QAErE,MAAM,eAAe,GAAG,GAA2B,EAAE;YACnD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAE1D,IAAI,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;gBAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,OAAO,CAAA;aAC7C;YAED,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,cAAc,EAAE,CAAA;YAExD,KAAK,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC;gBAChC,IAAI,EAAE;oBACJ,EAAE,EAAE,eAAe;iBACpB;gBACD,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS;aAChD,CAAC,CAAA;YAEF,MAAM,YAAY,GAAG,yBAAyB,CAAA;YAC9C,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBAClD,GAAG,EAAE,YAAY;gBACjB,UAAU,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC;aAC3C,CAAC,CAAA;YAEF,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;YACvC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YAErC,OAAO,WAAW,KAAK,UAAU,CAAA;QACnC,CAAC,CAAA,CAAA;QAED,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CACzE,GAAG,CACJ,CAAA;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAA;QAE5C,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,GACpC,KAAK,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAExE,MAAM,GAAG,GAAG,YAAY;YACtB,CAAC,iCACM,YAAY,KACf,OAAO,EAAE,GAAS,EAAE;oBAClB,YAAY,CAAC,OAAO,EAAE,CAAA;oBACtB,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;oBACpD,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;gBACzB,CAAC,IAEL,CAAC,CAAC,SAAS,CAAA;QAEb,MAAM,OAAO,GAAY;YACvB,GAAG;YACH,IAAI;YACJ,KAAK;YACL,SAAS;YACT,KAAK;YACL,KAAK;YACL,YAAY,EAAE,GAAG;YACjB,MAAM;YACN,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,cAAc;SACrB,CAAA;QACD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;QAE9D,MAAM,kBAAkB,GAAG,GAAY,EAAE;YACvC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAA;YAC5D,MAAM,oBAAoB,GAAG,YAAY,IAAI,CAAC,iBAAiB,CAAA;YAC/D,OAAO,oBAAoB,CAAA;QAC7B,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,CAAC,SAAsB,EAAQ,EAAE;YACnD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC;gBAClD,SAAS;gBACT,MAAM,EAAE,GAAG,EAAE;oBACX,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;oBACzB,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;gBAC1B,CAAC;gBACD,SAAS,EAAE,GAAG,EAAE;oBACd,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;oBAC5B,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,CAAA;gBAC7B,CAAC;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACnE,MAAM,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC;aACjD,CAAC,CAAA;YAEF,kBAAkB,EAAE;gBAClB,CAAC,CAAC,YAAY,EAAE;gBAChB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAC1D,CAAC,CAAA;QAED,MAAM,sBAAsB,GAAG,GAAY,EAAE;YAC3C,QAAQ,gBAAgB,EAAE;gBACxB,KAAK,QAAQ;oBACX,OAAO,IAAI,CAAA;gBACb,KAAK,OAAO;oBACV,OAAO,KAAK,CAAA;gBACd,QAAQ;gBACR,KAAK,MAAM;oBACT,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAA;oBACpE,OAAO,CAAC,qBAAqB,CAAA;aAChC;QACH,CAAC,CAAA;QAED,MAAM,qBAAqB,GAAG,GAAqB,EAAE;YACnD,QAAQ,gBAAgB,EAAE;gBACxB,KAAK,QAAQ;oBACX,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1C,KAAK,OAAO;oBACV,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAC5C,QAAQ;gBACR,KAAK,MAAM;oBACT,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;oBAC1D,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;oBACpD,OAAO,EAAE,SAAS,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC,aAAa,EAAE,CAAA;aAClE;QACH,CAAC,CAAA;QAED,MAAM,UAAU,GAAuB;YACrC,KAAK,EAAE;gBACL,IAAI;gBACJ,WAAW,EAAE,KAAK;oBAChB,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;wBACpC,KAAK,EAAE,UAAU;wBACjB,QAAQ,EAAE,cAAc;qBACzB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC,CAAC,EAAE;gBACN,GAAG;gBACH,SAAS;gBACT,SAAS,EAAE,MAAM;gBACjB,GAAG,EAAE,MAAM;gBACX,gBAAgB,EAAE,qBAAqB,EAAE;aAC1C;YACD,WAAW;YACX,YAAY,EAAE,GAAG;YACjB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ;SAClC,CAAA;QAED,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAA;QAEpC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;YAC1E,eAAe;YACf,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAC1D,wBAAwB,iBACtB,YAAY;YACZ,GAAG;YACH,UAAU,EACV,MAAM,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,cAAc,CAAC,IACjD,OAAO,EACV,CAAA;QAEJ,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC;YAClD,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;YACvC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;YAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC;SACjD,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,0BAA0B,EAAE,CAAA;QAEjE,MAAM,MAAM,GAAG,CAAO,GAAW,EAAiB,EAAE;YAClD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;YACrC,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAA;YAC5B,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;YAC9B,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;YACxC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;YAChC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAA;YACzD,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAA;YAE/B,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAA;YACrC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;YACvC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;YACjD,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAA;YACxC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAAA;YAE9C,kBAAkB,CAAC,OAAO,CAAC,CAAA;YAC3B,cAAc,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC,CAAA,CAAA;QAED,MAAM,iBAAiB,GAAG,GAAwB,EAAE;YAClD,IAAI,iBAAiB,EAAE,EAAE;gBACvB,kBAAkB,EAAE,CAAA;gBACpB,OAAM;aACP;YAED,iEAAiE;YACjE,+DAA+D;YAC/D,sDAAsD;YACtD,IAAI,UAAU,IAAI,SAAS,KAAK,MAAM,IAAI,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE;gBACnE,yBAAyB,CAAC,WAAW,CAAC,CAAA;gBACtC,aAAa,CAAC,UAAU,CAAC,CAAA;aAC1B;YACD,wEAAwE;iBACnE,IAAI,sBAAsB,EAAE;gBAAE,gBAAgB,EAAE,CAAA;YACrD,oEAAoE;;gBAC/D,UAAU,CAAC,OAAO,CAAC,CAAA;YAExB,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;YAEhC,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;YAExC,MAAM,qBAAqB,GAAG,GAAS,EAAE;gBACvC,IAAI,QAAQ,CAAC,MAAM;oBAAE,OAAM;gBAC3B,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;gBACxC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,GAAG,WAAW,CAAC,CAAA;gBAChE,kBAAkB,EAAE,IAAI,YAAY,EAAE,CAAA;gBACtC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAA;YACzE,CAAC,CAAA;YAED,MAAM,eAAe,GAAG,GAAS,EAAE;gBACjC,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;gBACxC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,GAAG,WAAW,CAAC,CAAA;gBAChE,QAAQ,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAA;gBAChE,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAA;YACzE,CAAC,CAAA;YAED,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAA;YAC7D,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAA;QACtE,CAAC,CAAA,CAAA;QAED,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;QAElD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,CAAA;QAC1E,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAE7D,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;YACxC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAA;YAC5B,IAAI,aAAa,EAAE;gBACjB,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;aAC5B;YACD,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;SACzB;QAED,MAAM,CAAC,gBAAgB,CACrB,YAAY,EACZ,GAAG,EAAE;YACH,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE;gBAC1C,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;gBAC7B,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;gBACrD,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;gBAC7C,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;aACzB;QACH,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;QAED,OAAO,EAAE,MAAM,EAAE,CAAA;IACnB,CAAC;CAAA;AAED,SAAe,OAAO,CAAC,GAAW;;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAC1E,IAAI,CAAC,GAAG;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAE/D,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAA;QAErC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CACrB,kCAAkC,UAAU,eAAe,GAAG,EAAE,CACjE,CAAW,CAAA;QAEZ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;CAAA;AAED,eAAe;IACb,MAAM;IACN,IAAI;IACJ,OAAO;CACR,CAAA"}
@@ -0,0 +1,40 @@
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 i18next from 'i18next';
11
+ /**
12
+ **Disclaimer
13
+ * These commentaries are for the custom user translation that currently is not being used because of the 404 console
14
+ * error that the fetch head shows.
15
+ */
16
+ // import { fileExists, getRoute } from '../services/requests'
17
+ // import state from '../../src/state'
18
+ function changeLanguage(language) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ // const customerNS = state.customer.slug
21
+ // const route = getRoute()
22
+ // const nsFileExists = await fileExists(
23
+ // `${route}/locales/${language}/${customerNS}.json`
24
+ // )
25
+ const nsFileExists = false;
26
+ return new Promise((resolve, reject) => {
27
+ if (!nsFileExists)
28
+ i18next.setDefaultNamespace('translation');
29
+ i18next.changeLanguage(language, (err) => {
30
+ if (err)
31
+ reject(new Error('R2U - Change language failed'));
32
+ resolve();
33
+ });
34
+ });
35
+ });
36
+ }
37
+ export default {
38
+ changeLanguage,
39
+ };
40
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/methods/config.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B;;;;GAIG;AAEH,4DAA4D;AAC5D,gCAAgC;AAEhC,SAAe,cAAc,CAAC,QAA4B;;QACxD,yCAAyC;QACzC,2BAA2B;QAC3B,yCAAyC;QACzC,sDAAsD;QACtD,IAAI;QACJ,MAAM,YAAY,GAAG,KAAK,CAAA;QAE1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,YAAY;gBAAE,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA;YAC7D,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gBACvC,IAAI,GAAG;oBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAA;gBAC1D,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAED,eAAe;IACb,cAAc;CACf,CAAA"}
@@ -0,0 +1,51 @@
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
+ import getAnalytics from '../services/analytics';
12
+ import { getCustomer } from '../services/customer';
13
+ import i18n from '../config/i18n';
14
+ export default function init({ customerId, language, analyticsParams = {
15
+ dataLayerIntegration: true,
16
+ sessionDuration: 30,
17
+ }, refreshCache = false, }) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ const ObjectIdRegex = /^(?=[a-f\d]{24}$)(\d+[a-f]|[a-f]+\d)/i;
20
+ const UUIDv4Regex = /^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i;
21
+ if (!ObjectIdRegex.test(customerId) && !UUIDv4Regex.test(customerId)) {
22
+ throw new Error(`Invalid customer '${customerId}'`);
23
+ }
24
+ state.init = true;
25
+ state.refreshCache = refreshCache;
26
+ const customer = yield getCustomer(customerId);
27
+ // Uncomment block to run a growthbook experiment
28
+ // Remember to change values to current running experiment
29
+ // const userId = await getUserId()
30
+ // state.growthbook = new GrowthBook({
31
+ // user: {
32
+ // id: userId,
33
+ // },
34
+ // overrides: customer.experiments.overrides,
35
+ // })
36
+ // const experimentId = 'experiment-id'
37
+ // const { value: variationId } = state.growthbook.run({
38
+ // key: experimentId,
39
+ // variations: ['A', 'B', 'C'],
40
+ // })
41
+ const analytics = yield getAnalytics({
42
+ client: customerId,
43
+ dataLayerIntegration: analyticsParams.dataLayerIntegration,
44
+ sessionDurationMinutes: analyticsParams.sessionDuration,
45
+ });
46
+ state.analytics = analytics;
47
+ state.customer = customer;
48
+ yield Promise.all([i18n.init({ language })]);
49
+ });
50
+ }
51
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/methods/init.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,UAAU,CAAA;AAE5B,OAAO,YAAY,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,IAAI,MAAM,gBAAgB,CAAA;AAYjC,MAAM,CAAC,OAAO,UAAgB,IAAI,CAAC,EACjC,UAAU,EACV,QAAQ,EACR,eAAe,GAAG;IAChB,oBAAoB,EAAE,IAAI;IAC1B,eAAe,EAAE,EAAE;CACpB,EACD,YAAY,GAAG,KAAK,GACb;;QACP,MAAM,aAAa,GAAG,uCAAuC,CAAA;QAC7D,MAAM,WAAW,GACf,0EAA0E,CAAA;QAC5E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACpE,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,GAAG,CAAC,CAAA;SACpD;QAED,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;QACjB,KAAK,CAAC,YAAY,GAAG,YAAY,CAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAA;QAE9C,iDAAiD;QACjD,0DAA0D;QAE1D,mCAAmC;QAEnC,sCAAsC;QACtC,YAAY;QACZ,kBAAkB;QAClB,OAAO;QACP,+CAA+C;QAC/C,KAAK;QAEL,uCAAuC;QACvC,wDAAwD;QACxD,uBAAuB;QACvB,iCAAiC;QACjC,KAAK;QAEL,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC;YACnC,MAAM,EAAE,UAAU;YAClB,oBAAoB,EAAE,eAAe,CAAC,oBAAoB;YAC1D,sBAAsB,EAAE,eAAe,CAAC,eAAe;SAMxD,CAAC,CAAA;QAEF,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAEzB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;CAAA"}
@@ -0,0 +1,48 @@
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 React from 'react';
11
+ import ReactDOM from 'react-dom';
12
+ import QRCode from 'qrcode.react';
13
+ import state from '../state';
14
+ const renderQRCode = ({ element, sku, showInstructions = 'always', }) => {
15
+ const { language, _id: customerId } = state.customer;
16
+ const baseURL = 'https://viewer.r2u.io';
17
+ const url = new URL(baseURL);
18
+ url.searchParams.set('customerId', customerId);
19
+ url.searchParams.set('sku', sku);
20
+ url.searchParams.set('showInstructions', showInstructions);
21
+ if (language) {
22
+ url.searchParams.set('lng', language);
23
+ }
24
+ ReactDOM.render(React.createElement(QRCode, Object.assign({}, { 'data-url': url }, { value: url.toString(), style: { width: '100%', height: '100%' }, renderAs: "svg" })), element);
25
+ };
26
+ function create({ element, sku, showInstructions, }) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ if (!state.init)
29
+ return Promise.reject(new Error('R2U - Not initialized'));
30
+ renderQRCode({
31
+ element,
32
+ sku,
33
+ showInstructions,
34
+ });
35
+ const setSku = (newSku) => __awaiter(this, void 0, void 0, function* () {
36
+ renderQRCode({
37
+ element,
38
+ sku: newSku,
39
+ showInstructions,
40
+ });
41
+ });
42
+ return { setSku };
43
+ });
44
+ }
45
+ export default {
46
+ create,
47
+ };
48
+ //# sourceMappingURL=qrCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrCode.js","sourceRoot":"","sources":["../../../src/methods/qrCode.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,MAAM,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,MAAM,UAAU,CAAA;AAS5B,MAAM,YAAY,GAAG,CAAC,EACpB,OAAO,EACP,GAAG,EACH,gBAAgB,GAAG,QAAQ,GACrB,EAAQ,EAAE;IAChB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAA;IAEpD,MAAM,OAAO,GAAG,uBAAuB,CAAA;IACvC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;IAE5B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAC9C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAChC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;IAE1D,IAAI,QAAQ,EAAE;QACZ,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;KACtC;IAED,QAAQ,CAAC,MAAM,CACb,oBAAC,MAAM,oBACD,EAAE,UAAU,EAAE,GAAG,EAAE,IACvB,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EACrB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EACxC,QAAQ,EAAC,KAAK,IACd,EACF,OAAO,CACR,CAAA;AACH,CAAC,CAAA;AAED,SAAe,MAAM,CAAC,EACpB,OAAO,EACP,GAAG,EACH,gBAAgB,GACV;;QACN,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAE1E,YAAY,CAAC;YACX,OAAO;YACP,GAAG;YACH,gBAAgB;SACjB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,CAAO,MAAc,EAAiB,EAAE;YACrD,YAAY,CAAC;gBACX,OAAO;gBACP,GAAG,EAAE,MAAM;gBACX,gBAAgB;aACjB,CAAC,CAAA;QACJ,CAAC,CAAA,CAAA;QAED,OAAO,EAAE,MAAM,EAAE,CAAA;IACnB,CAAC;CAAA;AACD,eAAe;IACb,MAAM;CACP,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Product } from '@services/product';
1
+ import { Product } from '../services/product';
2
2
  declare function isActive(sku: string): Promise<boolean>;
3
3
  declare function getData(sku: string): Promise<Product>;
4
4
  declare const _default: {
@@ -0,0 +1,47 @@
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
+ import product from '../services/product';
12
+ import * as analytics from '../services/analytics';
13
+ function isActive(sku) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ if (!state.init)
16
+ return Promise.reject(new Error('R2U - Not initialized'));
17
+ if (!sku)
18
+ return Promise.reject(new Error('R2U - Missing SKU'));
19
+ analytics.setSku(sku);
20
+ try {
21
+ const { isActive, manufacturerId } = yield product(sku);
22
+ if (manufacturerId)
23
+ analytics.setManufacturerId(manufacturerId);
24
+ analytics.isActive3D(isActive);
25
+ return isActive;
26
+ }
27
+ catch (err) {
28
+ // `product` throws error if SKU not found
29
+ return false;
30
+ }
31
+ });
32
+ }
33
+ function getData(sku) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ if (!state.init)
36
+ return Promise.reject(new Error('R2U - Not initialized'));
37
+ if (!sku)
38
+ return Promise.reject(new Error('R2U - Missing SKU'));
39
+ const productData = yield product(sku);
40
+ return productData;
41
+ });
42
+ }
43
+ export default {
44
+ isActive,
45
+ getData,
46
+ };
47
+ //# sourceMappingURL=sku.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sku.js","sourceRoot":"","sources":["../../../src/methods/sku.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,UAAU,CAAA;AAE5B,OAAO,OAAoB,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAEhD,SAAe,QAAQ,CAAC,GAAW;;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAC1E,IAAI,CAAC,GAAG;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAE/D,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAErB,IAAI;YACF,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;YAEvD,IAAI,cAAc;gBAAE,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;YAE/D,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;YAE9B,OAAO,QAAQ,CAAA;SAChB;QAAC,OAAO,GAAG,EAAE;YACZ,0CAA0C;YAC1C,OAAO,KAAK,CAAA;SACb;IACH,CAAC;CAAA;AAED,SAAe,OAAO,CAAC,GAAW;;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAC1E,IAAI,CAAC,GAAG;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAE/D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QAEtC,OAAO,WAAW,CAAA;IACpB,CAAC;CAAA;AAED,eAAe;IACb,QAAQ;IACR,OAAO;CACR,CAAA"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/methods/types.ts"],"names":[],"mappings":""}