1 | (function webpackUniversalModuleDefinition(root, factory) {
|
2 | if(typeof exports === 'object' && typeof module === 'object')
|
3 | module.exports = factory();
|
4 | else if(typeof define === 'function' && define.amd)
|
5 | define("app-bridge", [], factory);
|
6 | else if(typeof exports === 'object')
|
7 | exports["app-bridge"] = factory();
|
8 | else
|
9 | root["app-bridge"] = factory();
|
10 | })(window, function() {
|
11 | return (function(modules) {
|
12 |
|
13 | var installedModules = {};
|
14 |
|
15 |
|
16 | function __webpack_require__(moduleId) {
|
17 |
|
18 |
|
19 | if(installedModules[moduleId]) {
|
20 | return installedModules[moduleId].exports;
|
21 | }
|
22 |
|
23 | var module = installedModules[moduleId] = {
|
24 | i: moduleId,
|
25 | l: false,
|
26 | exports: {}
|
27 | };
|
28 |
|
29 |
|
30 | modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
31 |
|
32 |
|
33 | module.l = true;
|
34 |
|
35 |
|
36 | return module.exports;
|
37 | }
|
38 |
|
39 |
|
40 |
|
41 | __webpack_require__.m = modules;
|
42 |
|
43 |
|
44 | __webpack_require__.c = installedModules;
|
45 |
|
46 |
|
47 | __webpack_require__.d = function(exports, name, getter) {
|
48 | if(!__webpack_require__.o(exports, name)) {
|
49 | Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
50 | }
|
51 | };
|
52 |
|
53 |
|
54 | __webpack_require__.r = function(exports) {
|
55 | if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
56 | Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
57 | }
|
58 | Object.defineProperty(exports, '__esModule', { value: true });
|
59 | };
|
60 |
|
61 |
|
62 |
|
63 |
|
64 |
|
65 |
|
66 | __webpack_require__.t = function(value, mode) {
|
67 | if(mode & 1) value = __webpack_require__(value);
|
68 | if(mode & 8) return value;
|
69 | if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
70 | var ns = Object.create(null);
|
71 | __webpack_require__.r(ns);
|
72 | Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
73 | if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
74 | return ns;
|
75 | };
|
76 |
|
77 |
|
78 | __webpack_require__.n = function(module) {
|
79 | var getter = module && module.__esModule ?
|
80 | function getDefault() { return module['default']; } :
|
81 | function getModuleExports() { return module; };
|
82 | __webpack_require__.d(getter, 'a', getter);
|
83 | return getter;
|
84 | };
|
85 |
|
86 |
|
87 | __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
88 |
|
89 |
|
90 | __webpack_require__.p = "";
|
91 |
|
92 |
|
93 |
|
94 | return __webpack_require__(__webpack_require__.s = 48);
|
95 | })
|
96 |
|
97 | ([
|
98 |
|
99 | (function(module, exports, __webpack_require__) {
|
100 |
|
101 | "use strict";
|
102 |
|
103 | var __extends = (this && this.__extends) || (function () {
|
104 | var extendStatics = function (d, b) {
|
105 | extendStatics = Object.setPrototypeOf ||
|
106 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
107 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
108 | return extendStatics(d, b);
|
109 | };
|
110 | return function (d, b) {
|
111 | extendStatics(d, b);
|
112 | function __() { this.constructor = d; }
|
113 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
114 | };
|
115 | })();
|
116 | var __assign = (this && this.__assign) || function () {
|
117 | __assign = Object.assign || function(t) {
|
118 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
119 | s = arguments[i];
|
120 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
121 | t[p] = s[p];
|
122 | }
|
123 | return t;
|
124 | };
|
125 | return __assign.apply(this, arguments);
|
126 | };
|
127 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
128 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
129 | };
|
130 | Object.defineProperty(exports, "__esModule", { value: true });
|
131 | var Error_1 = __webpack_require__(5);
|
132 | var types_1 = __webpack_require__(8);
|
133 | var collection_1 = __webpack_require__(9);
|
134 | var constants_1 = __webpack_require__(14);
|
135 | var merge_1 = __importDefault(__webpack_require__(52));
|
136 | var types_2 = __webpack_require__(1);
|
137 | var constants_2 = __webpack_require__(14);
|
138 | var uuid_1 = __importDefault(__webpack_require__(53));
|
139 | var packageJson = __webpack_require__(54);
|
140 | function actionWrapper(action) {
|
141 | return __assign({}, action, { version: getVersion(), clientInterface: {
|
142 | name: packageJson.name,
|
143 | version: getVersion(),
|
144 | } });
|
145 | }
|
146 | exports.actionWrapper = actionWrapper;
|
147 | function getVersion() {
|
148 | return packageJson.version;
|
149 | }
|
150 | exports.getVersion = getVersion;
|
151 |
|
152 |
|
153 |
|
154 |
|
155 | function getEventNameSpace(group, eventName, component) {
|
156 | var eventNameSpace = groupToEventNameSpace(group);
|
157 | if (component) {
|
158 | var subgroups_1 = component.subgroups, type = component.type;
|
159 | if (subgroups_1 && subgroups_1.length > 0) {
|
160 | eventNameSpace += eventNameSpace.length > 0 ? constants_2.SEPARATOR : '';
|
161 | subgroups_1.forEach(function (subgroup, index) {
|
162 | eventNameSpace += "" + subgroup.toUpperCase() + (index < subgroups_1.length - 1 ? constants_2.SEPARATOR : '');
|
163 | });
|
164 | }
|
165 | if (type !== group && type) {
|
166 | eventNameSpace += "" + (eventNameSpace.length > 0 ? constants_2.SEPARATOR : '') + type.toUpperCase();
|
167 | }
|
168 | }
|
169 | if (eventNameSpace) {
|
170 | eventNameSpace += "" + (eventNameSpace.length > 0 ? constants_2.SEPARATOR : '') + eventName.toUpperCase();
|
171 | }
|
172 | return "" + constants_1.PREFIX + constants_2.SEPARATOR + eventNameSpace;
|
173 | }
|
174 | exports.getEventNameSpace = getEventNameSpace;
|
175 | function isValidOptionalNumber(value) {
|
176 | return value === null || value === undefined || typeof value === 'number';
|
177 | }
|
178 | exports.isValidOptionalNumber = isValidOptionalNumber;
|
179 | function isValidOptionalString(value) {
|
180 | return value === null || value === undefined || typeof value === 'string';
|
181 | }
|
182 | exports.isValidOptionalString = isValidOptionalString;
|
183 | var ActionSet = (function () {
|
184 | function ActionSet(app, type, group, id) {
|
185 | var _this = this;
|
186 | this.app = app;
|
187 | this.type = type;
|
188 | this.group = group;
|
189 | this.subgroups = [];
|
190 | this.subscriptions = [];
|
191 | if (!app) {
|
192 | Error_1.throwError(Error_1.ActionType.INVALID_OPTIONS, 'Missing required `app`');
|
193 | }
|
194 | this.id = id || uuid_1.default();
|
195 | this.defaultGroup = group;
|
196 | var defaultSet = this.set;
|
197 | this.set = function () {
|
198 | var _a;
|
199 | var args = [];
|
200 | for (var _i = 0; _i < arguments.length; _i++) {
|
201 | args[_i] = arguments[_i];
|
202 | }
|
203 | if (!_this.app.hooks) {
|
204 | return defaultSet.apply(_this, args);
|
205 | }
|
206 | return (_a = _this.app.hooks).run.apply(_a, [types_1.LifecycleHook.UpdateAction, defaultSet, _this].concat(args));
|
207 | };
|
208 | }
|
209 | ActionSet.prototype.set = function () {
|
210 | var _ = [];
|
211 | for (var _i = 0; _i < arguments.length; _i++) {
|
212 | _[_i] = arguments[_i];
|
213 | }
|
214 | };
|
215 | Object.defineProperty(ActionSet.prototype, "component", {
|
216 | get: function () {
|
217 | return {
|
218 | id: this.id,
|
219 | subgroups: this.subgroups,
|
220 | type: this.type,
|
221 | };
|
222 | },
|
223 | enumerable: true,
|
224 | configurable: true
|
225 | });
|
226 | ActionSet.prototype.updateSubscription = function (subscriptionToRemove, group, subgroups) {
|
227 | var eventType = subscriptionToRemove.eventType, callback = subscriptionToRemove.callback, component = subscriptionToRemove.component;
|
228 | var currentIndex;
|
229 | currentIndex = this.subscriptions.findIndex(function (subscription) { return subscription === subscriptionToRemove; });
|
230 | if (currentIndex >= 0) {
|
231 | this.subscriptions[currentIndex].unsubscribe();
|
232 | }
|
233 | else {
|
234 | currentIndex = undefined;
|
235 | }
|
236 | this.group = group;
|
237 | this.subgroups = subgroups;
|
238 | Object.assign(component, { subgroups: this.subgroups });
|
239 | return this.subscribe(eventType, callback, component, currentIndex);
|
240 | };
|
241 | ActionSet.prototype.error = function (callback) {
|
242 | var _this = this;
|
243 | var subscriptionIndices = [];
|
244 | forEachInEnum(Error_1.Action, function (eventNameSpace) {
|
245 |
|
246 |
|
247 | subscriptionIndices.push(_this.subscriptions.length);
|
248 | _this.subscribe(eventNameSpace, callback);
|
249 | });
|
250 | return function () {
|
251 | var subscriptionsToRemove = subscriptionIndices.map(function (index) { return _this.subscriptions[index]; });
|
252 | subscriptionsToRemove.forEach(function (toRemove) {
|
253 | collection_1.removeFromCollection(_this.subscriptions, toRemove, function (removed) {
|
254 | removed.unsubscribe();
|
255 | });
|
256 | });
|
257 | };
|
258 | };
|
259 | ActionSet.prototype.subscribe = function (eventName, callback, component, currentIndex) {
|
260 | var _this = this;
|
261 | var eventComponent = component || this.component;
|
262 | var eventType = eventName.toUpperCase();
|
263 | var boundedCallback = typeof currentIndex === 'number' ? callback : callback.bind(this);
|
264 | var eventNameSpace;
|
265 | if (Error_1.isErrorEventName(eventName)) {
|
266 | eventNameSpace = getEventNameSpace(types_2.Group.Error, eventName, __assign({}, eventComponent, { type: '' }));
|
267 | }
|
268 | else {
|
269 | eventNameSpace = getEventNameSpace(this.group, eventName, eventComponent);
|
270 | }
|
271 | var unsubscribe = this.app.subscribe(eventNameSpace, boundedCallback, component ? component.id : this.id);
|
272 | var subscription = {
|
273 | eventType: eventType,
|
274 | unsubscribe: unsubscribe,
|
275 | callback: boundedCallback,
|
276 | component: eventComponent,
|
277 | updateSubscribe: function (group, subgroups) {
|
278 | return _this.updateSubscription.call(_this, subscription, group, subgroups);
|
279 | },
|
280 | };
|
281 | if (typeof currentIndex === 'number' &&
|
282 | currentIndex >= 0 &&
|
283 | currentIndex < this.subscriptions.length) {
|
284 | this.subscriptions[currentIndex] = subscription;
|
285 | }
|
286 | else {
|
287 | this.subscriptions.push(subscription);
|
288 | }
|
289 | return unsubscribe;
|
290 | };
|
291 | ActionSet.prototype.unsubscribe = function (resetOnly) {
|
292 | if (resetOnly === void 0) { resetOnly = false; }
|
293 | unsubscribeActions(this.subscriptions, this.defaultGroup, resetOnly);
|
294 | return this;
|
295 | };
|
296 | return ActionSet;
|
297 | }());
|
298 | exports.ActionSet = ActionSet;
|
299 | var ActionSetWithChildren = (function (_super) {
|
300 | __extends(ActionSetWithChildren, _super);
|
301 | function ActionSetWithChildren() {
|
302 | var _this = _super !== null && _super.apply(this, arguments) || this;
|
303 | _this.children = [];
|
304 | return _this;
|
305 | }
|
306 | ActionSetWithChildren.prototype.unsubscribe = function (unsubscribeChildren, resetParentOnly) {
|
307 | if (unsubscribeChildren === void 0) { unsubscribeChildren = true; }
|
308 | if (resetParentOnly === void 0) { resetParentOnly = false; }
|
309 | unsubscribeActions(this.subscriptions, this.defaultGroup, resetParentOnly);
|
310 | this.children.forEach(function (child) {
|
311 | if (ActionSetWithChildren.prototype.isPrototypeOf(child)) {
|
312 | child.unsubscribe(unsubscribeChildren, unsubscribeChildren ? false : true);
|
313 | }
|
314 | else {
|
315 | child.unsubscribe(unsubscribeChildren ? false : true);
|
316 | }
|
317 | });
|
318 | return this;
|
319 | };
|
320 | ActionSetWithChildren.prototype.getChild = function (id) {
|
321 | var childIndex = this.children.findIndex(function (child) { return child.id === id; });
|
322 | return childIndex >= 0 ? this.children[childIndex] : undefined;
|
323 | };
|
324 | ActionSetWithChildren.prototype.getChildIndex = function (id) {
|
325 | return this.children.findIndex(function (child) { return child.id === id; });
|
326 | };
|
327 | ActionSetWithChildren.prototype.getChildSubscriptions = function (id, eventType) {
|
328 | return this.subscriptions.filter(function (sub) { return sub.component.id === id && (!eventType || eventType === sub.eventType); });
|
329 | };
|
330 | ActionSetWithChildren.prototype.addChild = function (child, group, subgroups) {
|
331 | var _this = this;
|
332 | var subscriptions = child.subscriptions;
|
333 | var existingChild = this.getChild(child.id);
|
334 |
|
335 | if (!existingChild) {
|
336 | this.children.push(child);
|
337 | }
|
338 | if (!subscriptions || (group === child.group && subgroups === child.subgroups)) {
|
339 | return this;
|
340 | }
|
341 | subscriptions.forEach(function (subscription) {
|
342 | var updateSubscribe = subscription.updateSubscribe;
|
343 | updateSubscribe(group, subgroups);
|
344 | });
|
345 |
|
346 | Object.assign(child, { group: group, subgroups: subgroups });
|
347 |
|
348 | if (ActionSetWithChildren.prototype.isPrototypeOf(child)) {
|
349 | child.children.forEach(function (c) { return _this.addChild(c, group, subgroups); });
|
350 | }
|
351 | return this;
|
352 | };
|
353 | ActionSetWithChildren.prototype.removeChild = function (id) {
|
354 | var _this = this;
|
355 | collection_1.removeFromCollection(this.children, this.getChild(id), function () {
|
356 | var toBeRemoved = _this.subscriptions.filter(function (subs) { return subs.component.id === id; });
|
357 | toBeRemoved.forEach(function (toRemove) {
|
358 | collection_1.removeFromCollection(_this.subscriptions, toRemove, function (removed) {
|
359 | removed.unsubscribe();
|
360 | });
|
361 | });
|
362 | });
|
363 | return this;
|
364 | };
|
365 | ActionSetWithChildren.prototype.subscribeToChild = function (child, eventName, callback) {
|
366 | var _this = this;
|
367 | var boundedCallback = callback.bind(this);
|
368 | if (eventName instanceof Array) {
|
369 | eventName.forEach(function (e) { return _this.subscribeToChild(child, e, callback); });
|
370 | return this;
|
371 | }
|
372 | if (typeof eventName !== 'string') {
|
373 | return this;
|
374 | }
|
375 | var eventType = eventName.toUpperCase();
|
376 | var currentSubscriptions = this.getChildSubscriptions(child.id, eventType);
|
377 | if (currentSubscriptions.length > 0) {
|
378 |
|
379 | currentSubscriptions.forEach(function (subs) { return subs.updateSubscribe(_this.group, child.subgroups); });
|
380 | }
|
381 | else {
|
382 | var childComponent = {
|
383 | id: child.id,
|
384 | subgroups: child.subgroups,
|
385 | type: child.type,
|
386 | };
|
387 | this.subscribe(eventType, boundedCallback, childComponent);
|
388 | }
|
389 | return this;
|
390 | };
|
391 | ActionSetWithChildren.prototype.getUpdatedChildActions = function (newActions, currentActions) {
|
392 | if (newActions.length === 0) {
|
393 | while (currentActions.length > 0) {
|
394 | var action = currentActions.pop();
|
395 | if (!action) {
|
396 | break;
|
397 | }
|
398 | this.removeChild(action.id);
|
399 | }
|
400 | return undefined;
|
401 | }
|
402 |
|
403 | var uniqueActions = newActions.filter(function (action, index, actionsArr) { return index === actionsArr.indexOf(action); });
|
404 | var newActionIds = uniqueActions.map(function (action) { return action.id; });
|
405 |
|
406 | var unusedActions = currentActions.filter(function (action) {
|
407 | return newActionIds.indexOf(action.id) < 0;
|
408 | });
|
409 | while (unusedActions.length > 0) {
|
410 | var action = unusedActions.pop();
|
411 | if (!action) {
|
412 | break;
|
413 | }
|
414 | this.removeChild(action.id);
|
415 | }
|
416 | return uniqueActions;
|
417 | };
|
418 | return ActionSetWithChildren;
|
419 | }(ActionSet));
|
420 | exports.ActionSetWithChildren = ActionSetWithChildren;
|
421 | function unsubscribeActions(subscriptions, defaultGroup, reassign) {
|
422 | if (reassign === void 0) { reassign = false; }
|
423 | subscriptions.forEach(function (subscription) {
|
424 | if (reassign) {
|
425 | var updateSubscribe = subscription.updateSubscribe;
|
426 |
|
427 | updateSubscribe(defaultGroup, []);
|
428 | }
|
429 | else {
|
430 | var unsubscribe = subscription.unsubscribe;
|
431 | unsubscribe();
|
432 | }
|
433 | });
|
434 | if (!reassign) {
|
435 | subscriptions.length = 0;
|
436 | }
|
437 | }
|
438 | function updateActionFromPayload(action, newProps) {
|
439 | var id = action.id;
|
440 | if (id === newProps.id) {
|
441 |
|
442 | Object.assign(action, getMergedProps(action, newProps));
|
443 | return true;
|
444 | }
|
445 | return false;
|
446 | }
|
447 | exports.updateActionFromPayload = updateActionFromPayload;
|
448 | function getMergedProps(props, newProps) {
|
449 | var merged = merge_1.default(props, newProps);
|
450 | if (!merged) {
|
451 |
|
452 | var cloned = Object.assign(props, newProps);
|
453 | return cloned;
|
454 | }
|
455 | return merged;
|
456 | }
|
457 | exports.getMergedProps = getMergedProps;
|
458 | function forEachInEnum(types, callback) {
|
459 | Object.keys(types).forEach(function (key) {
|
460 | callback(types[key]);
|
461 | });
|
462 | }
|
463 | exports.forEachInEnum = forEachInEnum;
|
464 | function findMatchInEnum(types, lookup) {
|
465 | var match = Object.keys(types).find(function (key) {
|
466 | return lookup === types[key];
|
467 | });
|
468 | return match ? types[match] : undefined;
|
469 | }
|
470 | exports.findMatchInEnum = findMatchInEnum;
|
471 | function camelCaseToSnakeCase(value) {
|
472 | return value.replace(/([A-Z])/g, function (matcher, _val, index) {
|
473 | return "" + (index !== 0 ? '_' : '') + matcher[0].toLowerCase();
|
474 | });
|
475 | }
|
476 |
|
477 |
|
478 |
|
479 |
|
480 |
|
481 |
|
482 |
|
483 | function groupToEventNameSpace(group) {
|
484 | switch (group) {
|
485 | case types_2.Group.ContextualSaveBar:
|
486 | return camelCaseToSnakeCase(group).toUpperCase();
|
487 | default:
|
488 | return group.toUpperCase();
|
489 | }
|
490 | }
|
491 |
|
492 |
|
493 | }),
|
494 |
|
495 | (function(module, exports, __webpack_require__) {
|
496 |
|
497 | "use strict";
|
498 |
|
499 | Object.defineProperty(exports, "__esModule", { value: true });
|
500 |
|
501 |
|
502 |
|
503 |
|
504 | var Group;
|
505 | (function (Group) {
|
506 | Group["AuthCode"] = "AuthCode";
|
507 | Group["Button"] = "Button";
|
508 | Group["ButtonGroup"] = "ButtonGroup";
|
509 | Group["Cart"] = "Cart";
|
510 | Group["ContextualSaveBar"] = "ContextualSaveBar";
|
511 | Group["Error"] = "Error";
|
512 | Group["Features"] = "Features";
|
513 | Group["Fullscreen"] = "Fullscreen";
|
514 | Group["Link"] = "Link";
|
515 | Group["Loading"] = "Loading";
|
516 | Group["Menu"] = "Menu";
|
517 | Group["Modal"] = "Modal";
|
518 | Group["Navigation"] = "Navigation";
|
519 | Group["Pos"] = "Pos";
|
520 | Group["Print"] = "Print";
|
521 | Group["ResourcePicker"] = "Resource_Picker";
|
522 | Group["Scanner"] = "Scanner";
|
523 | Group["SessionToken"] = "SessionToken";
|
524 | Group["Share"] = "Share";
|
525 | Group["TitleBar"] = "TitleBar";
|
526 | Group["Toast"] = "Toast";
|
527 | })(Group = exports.Group || (exports.Group = {}));
|
528 |
|
529 |
|
530 |
|
531 | var ComponentType;
|
532 | (function (ComponentType) {
|
533 | ComponentType["Button"] = "Button";
|
534 | ComponentType["ButtonGroup"] = "ButtonGroup";
|
535 | })(ComponentType = exports.ComponentType || (exports.ComponentType = {}));
|
536 |
|
537 |
|
538 | }),
|
539 |
|
540 | (function(module, exports, __webpack_require__) {
|
541 |
|
542 | "use strict";
|
543 |
|
544 | var __assign = (this && this.__assign) || function () {
|
545 | __assign = Object.assign || function(t) {
|
546 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
547 | s = arguments[i];
|
548 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
549 | t[p] = s[p];
|
550 | }
|
551 | return t;
|
552 | };
|
553 | return __assign.apply(this, arguments);
|
554 | };
|
555 | Object.defineProperty(exports, "__esModule", { value: true });
|
556 | var TYPE_ERROR = 'type_error_expected';
|
557 | function constructErrors(value, error, options) {
|
558 | if (options === void 0) { options = { message: undefined }; }
|
559 | return [
|
560 | {
|
561 | value: value,
|
562 | error: error,
|
563 | message: typeof options.message === 'function' ? options.message(error, value) : options.message,
|
564 | },
|
565 | ];
|
566 | }
|
567 | function getErrors(obj, validator, key) {
|
568 | var value = key ? obj[key] : obj;
|
569 | var path = key ? "['" + key + "']" : undefined;
|
570 | var error = validator(value);
|
571 | if (!error) {
|
572 | return;
|
573 | }
|
574 | return error.map(function (o) { return (__assign({}, o, { path: "" + (path || '') + (o.path || '') || undefined })); });
|
575 | }
|
576 | function matchesBoolean(options) {
|
577 | return function (value) {
|
578 | return typeof value === 'boolean'
|
579 | ? undefined
|
580 | : constructErrors(value, TYPE_ERROR + "_boolean", options);
|
581 | };
|
582 | }
|
583 | exports.matchesBoolean = matchesBoolean;
|
584 | function matchesString(options) {
|
585 | return function (value) {
|
586 | return typeof value === 'string' ? undefined : constructErrors(value, TYPE_ERROR + "_string", options);
|
587 | };
|
588 | }
|
589 | exports.matchesString = matchesString;
|
590 | function matchesPositiveInteger(options) {
|
591 | return function (value) {
|
592 | return !Number.isInteger(value) || value < 0
|
593 | ? constructErrors(value, TYPE_ERROR + "_integer", options)
|
594 | : undefined;
|
595 | };
|
596 | }
|
597 | exports.matchesPositiveInteger = matchesPositiveInteger;
|
598 | function matchesPositiveNumber(options) {
|
599 | return function (value) {
|
600 | return Number.isNaN(value) || !Number.isFinite(value) || value < 0
|
601 | ? constructErrors(value, TYPE_ERROR + "_number", options)
|
602 | : undefined;
|
603 | };
|
604 | }
|
605 | exports.matchesPositiveNumber = matchesPositiveNumber;
|
606 |
|
607 |
|
608 |
|
609 |
|
610 |
|
611 | function matchesEnum(types, options) {
|
612 | return function (value) {
|
613 | var values = Object.keys(types).map(function (key) { return types[key]; });
|
614 | var message = (options && options.message) || "expected:" + values.map(function (val) { return "`" + val + "`"; }).join(' or ');
|
615 | return values.includes(value)
|
616 | ? undefined
|
617 | : constructErrors(value, 'invalid_enum_value', __assign({}, options, { message: message }));
|
618 | };
|
619 | }
|
620 | exports.matchesEnum = matchesEnum;
|
621 | function matchesArray(validator, options) {
|
622 | return function (value) {
|
623 | if (!Array.isArray(value)) {
|
624 | return constructErrors(value, TYPE_ERROR + "_array", options);
|
625 | }
|
626 | if (!validator) {
|
627 | return;
|
628 | }
|
629 | var errors = [];
|
630 | value.forEach(function (val, key) {
|
631 | var objectError = validator(val);
|
632 | if (objectError) {
|
633 | errors = errors.concat(objectError.map(function (error) { return (__assign({}, error, { path: "['" + key + "']" + (error.path || '') })); }));
|
634 | }
|
635 | });
|
636 | return errors.length ? errors : undefined;
|
637 | };
|
638 | }
|
639 | exports.matchesArray = matchesArray;
|
640 | function matchesObject(schema, options) {
|
641 | return function (val) {
|
642 | if (typeof val !== 'object' || !val || Array.isArray(val)) {
|
643 | return constructErrors(val, TYPE_ERROR + "_object", options);
|
644 | }
|
645 | var flattened = Object.keys(schema).reduce(function (acc, key) {
|
646 | return acc.concat((getErrors(val, schema[key], key) || []));
|
647 | }, []);
|
648 | return flattened.length ? flattened : undefined;
|
649 | };
|
650 | }
|
651 | exports.matchesObject = matchesObject;
|
652 | function makeOptional(validator) {
|
653 | return function (value) {
|
654 | if (value === undefined || value === null) {
|
655 | return undefined;
|
656 | }
|
657 | return validator(value);
|
658 | };
|
659 | }
|
660 | exports.makeOptional = makeOptional;
|
661 | function composeSchemas() {
|
662 | var validators = [];
|
663 | for (var _i = 0; _i < arguments.length; _i++) {
|
664 | validators[_i] = arguments[_i];
|
665 | }
|
666 | return function (val) {
|
667 | var error;
|
668 | var i = 0;
|
669 | var len = validators.length;
|
670 | while (!error && i < len) {
|
671 | error = validators[i](val);
|
672 | if (error) {
|
673 | return error;
|
674 | }
|
675 | i++;
|
676 | }
|
677 | };
|
678 | }
|
679 | exports.composeSchemas = composeSchemas;
|
680 | function validate(obj, validator) {
|
681 | return getErrors(obj, validator);
|
682 | }
|
683 | exports.validate = validate;
|
684 |
|
685 |
|
686 | }),
|
687 |
|
688 | (function(module, exports, __webpack_require__) {
|
689 |
|
690 | "use strict";
|
691 |
|
692 | Object.defineProperty(exports, "__esModule", { value: true });
|
693 | var type_validate_1 = __webpack_require__(2);
|
694 | function createActionValidator(type, payloadSchema, payloadRequired, idRequired) {
|
695 | if (payloadSchema === void 0) { payloadSchema = undefined; }
|
696 | if (payloadRequired === void 0) { payloadRequired = false; }
|
697 | if (idRequired === void 0) { idRequired = false; }
|
698 | var idSchema = type_validate_1.matchesObject({
|
699 | id: idRequired ? type_validate_1.matchesString() : type_validate_1.makeOptional(type_validate_1.matchesString()),
|
700 | });
|
701 | var schema = payloadSchema ? type_validate_1.composeSchemas(idSchema, payloadSchema) : idSchema;
|
702 | return type_validate_1.matchesObject({
|
703 | type: type_validate_1.matchesEnum(type, {
|
704 | message: function (_, val) { return "The action type `" + val + "` is invalid or unsupported"; },
|
705 | }),
|
706 | payload: payloadRequired ? schema : type_validate_1.makeOptional(schema),
|
707 | });
|
708 | }
|
709 | exports.createActionValidator = createActionValidator;
|
710 | function actionMessage(errors) {
|
711 | return errors
|
712 | .map(function (err) {
|
713 | var path = err.path, error = err.error, message = err.message, value = err.value;
|
714 | var valueStr = typeof value === 'object' ? JSON.stringify(value) : value;
|
715 | return "`" + error + "` thrown for" + (path ? " path: " + path + " and" : '') + " value: `" + valueStr + "`" + (message ? " with message: " + message : '');
|
716 | })
|
717 | .join(' | ');
|
718 | }
|
719 | exports.actionMessage = actionMessage;
|
720 | function isValidRelativePath(path) {
|
721 | return typeof path === 'string' && (path === '' || path.startsWith('/'));
|
722 | }
|
723 | exports.isValidRelativePath = isValidRelativePath;
|
724 | exports.relativeUrlSchema = type_validate_1.composeSchemas(type_validate_1.matchesString(), function (value) {
|
725 | return isValidRelativePath(value)
|
726 | ? undefined
|
727 | : [{ error: 'invalid_relative_path', value: value, message: 'expected string to start with `/`' }];
|
728 | });
|
729 | exports.relativePathSchema = type_validate_1.matchesObject({
|
730 | path: exports.relativeUrlSchema,
|
731 | });
|
732 | function mixedAppClientCheck(window) {
|
733 | window.addEventListener('DOMContentLoaded', function () {
|
734 | if (!window.hasOwnProperty('ShopifyApp')) {
|
735 | return;
|
736 | }
|
737 | console.error("%cException Detected \uD83D\uDEAB\n\n%cAn instance of the EASDK client was detected while initializing Shopify App Bridge. Using Shopify App Bridge and the EASDK simultaneously is not supported.\n\nIf you're migrating an existing app that was built with the shopify_app gem, then the EASDK client might have been included in the home page view template. In this case, remove it from your app before initializing Shopify App Bridge again.", 'font-size: large;', 'font-size: normal;');
|
738 | }, { once: true });
|
739 | }
|
740 | exports.mixedAppClientCheck = mixedAppClientCheck;
|
741 |
|
742 |
|
743 | }),
|
744 |
|
745 | (function(module, exports, __webpack_require__) {
|
746 |
|
747 | "use strict";
|
748 |
|
749 | function __export(m) {
|
750 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
751 | }
|
752 | Object.defineProperty(exports, "__esModule", { value: true });
|
753 | __export(__webpack_require__(55));
|
754 | __export(__webpack_require__(24));
|
755 |
|
756 |
|
757 | }),
|
758 |
|
759 | (function(module, exports, __webpack_require__) {
|
760 |
|
761 | "use strict";
|
762 |
|
763 | function __export(m) {
|
764 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
765 | }
|
766 | Object.defineProperty(exports, "__esModule", { value: true });
|
767 | __export(__webpack_require__(50));
|
768 | __export(__webpack_require__(21));
|
769 |
|
770 |
|
771 | }),
|
772 |
|
773 | (function(module, exports, __webpack_require__) {
|
774 |
|
775 | "use strict";
|
776 |
|
777 | function __export(m) {
|
778 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
779 | }
|
780 | var __importStar = (this && this.__importStar) || function (mod) {
|
781 | if (mod && mod.__esModule) return mod;
|
782 | var result = {};
|
783 | if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
784 | result["default"] = mod;
|
785 | return result;
|
786 | };
|
787 | Object.defineProperty(exports, "__esModule", { value: true });
|
788 | var AuthCode = __importStar(__webpack_require__(49));
|
789 | exports.AuthCode = AuthCode;
|
790 | var Button = __importStar(__webpack_require__(4));
|
791 | exports.Button = Button;
|
792 | var ButtonGroup = __importStar(__webpack_require__(7));
|
793 | exports.ButtonGroup = ButtonGroup;
|
794 | var Cart = __importStar(__webpack_require__(26));
|
795 | exports.Cart = Cart;
|
796 | var Error = __importStar(__webpack_require__(5));
|
797 | exports.Error = Error;
|
798 | var Flash = __importStar(__webpack_require__(58));
|
799 | exports.Flash = Flash;
|
800 | var Features = __importStar(__webpack_require__(61));
|
801 | exports.Features = Features;
|
802 | var Fullscreen = __importStar(__webpack_require__(29));
|
803 | exports.Fullscreen = Fullscreen;
|
804 | var Loading = __importStar(__webpack_require__(30));
|
805 | exports.Loading = Loading;
|
806 | var Modal = __importStar(__webpack_require__(32));
|
807 | exports.Modal = Modal;
|
808 | var History = __importStar(__webpack_require__(65));
|
809 | exports.History = History;
|
810 | var Redirect = __importStar(__webpack_require__(17));
|
811 | exports.Redirect = Redirect;
|
812 | var Print = __importStar(__webpack_require__(18));
|
813 | exports.Print = Print;
|
814 | var ResourcePicker = __importStar(__webpack_require__(37));
|
815 | exports.ResourcePicker = ResourcePicker;
|
816 | var Scanner = __importStar(__webpack_require__(39));
|
817 | exports.Scanner = Scanner;
|
818 | var SessionToken = __importStar(__webpack_require__(71));
|
819 | exports.SessionToken = SessionToken;
|
820 | var TitleBar = __importStar(__webpack_require__(41));
|
821 | exports.TitleBar = TitleBar;
|
822 | var Toast = __importStar(__webpack_require__(10));
|
823 | exports.Toast = Toast;
|
824 | var ContextualSaveBar = __importStar(__webpack_require__(43));
|
825 | exports.ContextualSaveBar = ContextualSaveBar;
|
826 | var Share = __importStar(__webpack_require__(74));
|
827 | exports.Share = Share;
|
828 | var NavigationMenu = __importStar(__webpack_require__(75));
|
829 | exports.NavigationMenu = NavigationMenu;
|
830 | var ChannelMenu = __importStar(__webpack_require__(77));
|
831 | exports.ChannelMenu = ChannelMenu;
|
832 | var AppLink = __importStar(__webpack_require__(11));
|
833 | exports.AppLink = AppLink;
|
834 | var Pos = __importStar(__webpack_require__(79));
|
835 | exports.Pos = Pos;
|
836 | var validator_1 = __webpack_require__(22);
|
837 | exports.isAppBridgeAction = validator_1.isAppBridgeAction;
|
838 | __export(__webpack_require__(1));
|
839 |
|
840 |
|
841 | }),
|
842 |
|
843 | (function(module, exports, __webpack_require__) {
|
844 |
|
845 | "use strict";
|
846 |
|
847 | function __export(m) {
|
848 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
849 | }
|
850 | Object.defineProperty(exports, "__esModule", { value: true });
|
851 | __export(__webpack_require__(56));
|
852 | __export(__webpack_require__(25));
|
853 |
|
854 |
|
855 | }),
|
856 |
|
857 | (function(module, exports, __webpack_require__) {
|
858 |
|
859 | "use strict";
|
860 |
|
861 | Object.defineProperty(exports, "__esModule", { value: true });
|
862 | var types_1 = __webpack_require__(1);
|
863 | exports.AnyAction = types_1.AnyAction;
|
864 | exports.Dispatch = types_1.Dispatch;
|
865 | exports.Unsubscribe = types_1.Unsubscribe;
|
866 | var MessageTransport_1 = __webpack_require__(13);
|
867 | exports.Handler = MessageTransport_1.Handler;
|
868 | exports.HandlerData = MessageTransport_1.HandlerData;
|
869 |
|
870 |
|
871 |
|
872 | var PermissionType;
|
873 | (function (PermissionType) {
|
874 | PermissionType["Dispatch"] = "Dispatch";
|
875 | PermissionType["Subscribe"] = "Subscribe";
|
876 | })(PermissionType = exports.PermissionType || (exports.PermissionType = {}));
|
877 |
|
878 |
|
879 |
|
880 | var MessageType;
|
881 | (function (MessageType) {
|
882 | MessageType["GetState"] = "getState";
|
883 | MessageType["Dispatch"] = "dispatch";
|
884 | MessageType["Subscribe"] = "subscribe";
|
885 | MessageType["Unsubscribe"] = "unsubscribe";
|
886 | })(MessageType = exports.MessageType || (exports.MessageType = {}));
|
887 |
|
888 |
|
889 |
|
890 |
|
891 |
|
892 |
|
893 |
|
894 |
|
895 |
|
896 |
|
897 |
|
898 |
|
899 |
|
900 |
|
901 |
|
902 |
|
903 |
|
904 |
|
905 |
|
906 |
|
907 | var LifecycleHook;
|
908 | (function (LifecycleHook) {
|
909 | LifecycleHook["UpdateAction"] = "UpdateAction";
|
910 | LifecycleHook["DispatchAction"] = "DispatchAction";
|
911 | })(LifecycleHook = exports.LifecycleHook || (exports.LifecycleHook = {}));
|
912 |
|
913 |
|
914 | }),
|
915 |
|
916 | (function(module, exports, __webpack_require__) {
|
917 |
|
918 | "use strict";
|
919 |
|
920 | Object.defineProperty(exports, "__esModule", { value: true });
|
921 |
|
922 |
|
923 |
|
924 |
|
925 |
|
926 |
|
927 |
|
928 | function addAndRemoveFromCollection(collection, item, then) {
|
929 | collection.push(item);
|
930 | return function () {
|
931 | return removeFromCollection(collection, item, then);
|
932 | };
|
933 | }
|
934 | exports.addAndRemoveFromCollection = addAndRemoveFromCollection;
|
935 |
|
936 |
|
937 |
|
938 |
|
939 |
|
940 |
|
941 | function removeFromCollection(collection, item, then) {
|
942 | var idx = collection.findIndex(function (i) { return i === item; });
|
943 | if (idx >= 0) {
|
944 | collection.splice(idx, 1);
|
945 | if (then) {
|
946 | then(item);
|
947 | }
|
948 | return true;
|
949 | }
|
950 | return false;
|
951 | }
|
952 | exports.removeFromCollection = removeFromCollection;
|
953 |
|
954 |
|
955 | }),
|
956 |
|
957 | (function(module, exports, __webpack_require__) {
|
958 |
|
959 | "use strict";
|
960 |
|
961 | function __export(m) {
|
962 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
963 | }
|
964 | Object.defineProperty(exports, "__esModule", { value: true });
|
965 | __export(__webpack_require__(60));
|
966 | __export(__webpack_require__(16));
|
967 |
|
968 |
|
969 | }),
|
970 |
|
971 | (function(module, exports, __webpack_require__) {
|
972 |
|
973 | "use strict";
|
974 |
|
975 | var __extends = (this && this.__extends) || (function () {
|
976 | var extendStatics = function (d, b) {
|
977 | extendStatics = Object.setPrototypeOf ||
|
978 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
979 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
980 | return extendStatics(d, b);
|
981 | };
|
982 | return function (d, b) {
|
983 | extendStatics(d, b);
|
984 | function __() { this.constructor = d; }
|
985 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
986 | };
|
987 | })();
|
988 | Object.defineProperty(exports, "__esModule", { value: true });
|
989 | var helper_1 = __webpack_require__(0);
|
990 | var types_1 = __webpack_require__(1);
|
991 | var Redirect_1 = __webpack_require__(17);
|
992 | var Action;
|
993 | (function (Action) {
|
994 | Action["UPDATE"] = "UPDATE";
|
995 | })(Action = exports.Action || (exports.Action = {}));
|
996 | var ActionType;
|
997 | (function (ActionType) {
|
998 | ActionType["UPDATE"] = "APP::LINK::UPDATE";
|
999 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1000 | function update(updatePayload) {
|
1001 | return helper_1.actionWrapper({
|
1002 | group: types_1.Group.Link,
|
1003 | type: ActionType.UPDATE,
|
1004 | payload: updatePayload,
|
1005 | });
|
1006 | }
|
1007 | exports.update = update;
|
1008 | var AppLink = (function (_super) {
|
1009 | __extends(AppLink, _super);
|
1010 | function AppLink(app, options) {
|
1011 | var _this = _super.call(this, app, types_1.Group.Link, types_1.Group.Link) || this;
|
1012 | _this.label = '';
|
1013 | _this.destination = '';
|
1014 | _this.set(options, false);
|
1015 | return _this;
|
1016 | }
|
1017 | Object.defineProperty(AppLink.prototype, "options", {
|
1018 | get: function () {
|
1019 | var _a = this, label = _a.label, destination = _a.destination;
|
1020 | return {
|
1021 | label: label,
|
1022 | destination: destination,
|
1023 | redirectType: Redirect_1.Action.APP,
|
1024 | };
|
1025 | },
|
1026 | enumerable: true,
|
1027 | configurable: true
|
1028 | });
|
1029 | Object.defineProperty(AppLink.prototype, "payload", {
|
1030 | get: function () {
|
1031 | var _a = this.options, label = _a.label, destination = _a.destination, redirectType = _a.redirectType;
|
1032 | var path = destination;
|
1033 | return {
|
1034 | id: this.id,
|
1035 | label: label,
|
1036 | destination: { path: path },
|
1037 | redirectType: redirectType,
|
1038 | };
|
1039 | },
|
1040 | enumerable: true,
|
1041 | configurable: true
|
1042 | });
|
1043 | AppLink.prototype.set = function (options, shouldUpdate) {
|
1044 | if (shouldUpdate === void 0) { shouldUpdate = true; }
|
1045 | var _a = helper_1.getMergedProps(this.options, options), label = _a.label, destination = _a.destination;
|
1046 | this.label = label;
|
1047 | this.destination = destination;
|
1048 | if (shouldUpdate) {
|
1049 | this.dispatch(ActionType.UPDATE);
|
1050 | }
|
1051 | return this;
|
1052 | };
|
1053 | AppLink.prototype.dispatch = function (action) {
|
1054 | switch (action) {
|
1055 | case ActionType.UPDATE:
|
1056 | this.app.dispatch(update(this.payload));
|
1057 | break;
|
1058 | }
|
1059 | return this;
|
1060 | };
|
1061 | return AppLink;
|
1062 | }(helper_1.ActionSet));
|
1063 | exports.AppLink = AppLink;
|
1064 | function create(app, options) {
|
1065 | return new AppLink(app, options);
|
1066 | }
|
1067 | exports.create = create;
|
1068 |
|
1069 |
|
1070 | }),
|
1071 |
|
1072 | (function(module, exports, __webpack_require__) {
|
1073 |
|
1074 | "use strict";
|
1075 |
|
1076 | Object.defineProperty(exports, "__esModule", { value: true });
|
1077 | var Button_1 = __webpack_require__(4);
|
1078 | exports.ActionType = Button_1.ActionType;
|
1079 | var type_validate_1 = __webpack_require__(2);
|
1080 | var utils_1 = __webpack_require__(3);
|
1081 | exports.buttonSchema = type_validate_1.matchesObject({
|
1082 | disabled: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
1083 | label: type_validate_1.matchesString(),
|
1084 | style: type_validate_1.makeOptional(type_validate_1.matchesEnum(Button_1.Style)),
|
1085 | icon: type_validate_1.makeOptional(type_validate_1.matchesEnum(Button_1.Icon)),
|
1086 | loading: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
1087 | });
|
1088 | exports.buttonSchemaWithId = type_validate_1.composeSchemas(type_validate_1.matchesObject({
|
1089 | id: type_validate_1.matchesString(),
|
1090 | }), exports.buttonSchema);
|
1091 | function validateProps(props) {
|
1092 | return type_validate_1.validate(props, exports.buttonSchema);
|
1093 | }
|
1094 | exports.validateProps = validateProps;
|
1095 | function validateAction(action) {
|
1096 | var validator = utils_1.createActionValidator(Button_1.ActionType, action.type === Button_1.ActionType.UPDATE ? exports.buttonSchema : undefined, true, true);
|
1097 | return type_validate_1.validate(action, validator);
|
1098 | }
|
1099 | exports.validateAction = validateAction;
|
1100 |
|
1101 |
|
1102 | }),
|
1103 |
|
1104 | (function(module, exports, __webpack_require__) {
|
1105 |
|
1106 | "use strict";
|
1107 |
|
1108 | Object.defineProperty(exports, "__esModule", { value: true });
|
1109 | var Error_1 = __webpack_require__(5);
|
1110 | var validator_1 = __webpack_require__(22);
|
1111 | var collection_1 = __webpack_require__(9);
|
1112 | var env_1 = __webpack_require__(23);
|
1113 | var Context;
|
1114 | (function (Context) {
|
1115 | Context["Modal"] = "Modal";
|
1116 | Context["Main"] = "Main";
|
1117 | })(Context = exports.Context || (exports.Context = {}));
|
1118 |
|
1119 |
|
1120 |
|
1121 |
|
1122 |
|
1123 |
|
1124 | function fromFrame(frame, localOrigin, context) {
|
1125 | var handlers = [];
|
1126 | if (typeof frame === 'undefined' || !frame.ownerDocument || !frame.ownerDocument.defaultView) {
|
1127 | throw Error_1.fromAction('App frame is undefined', Error_1.AppActionType.WINDOW_UNDEFINED);
|
1128 | }
|
1129 | var parent = frame.ownerDocument.defaultView;
|
1130 | parent.addEventListener('message', function (event) {
|
1131 | if (event.origin !== localOrigin || !validator_1.isAppMessage(event)) {
|
1132 | return;
|
1133 | }
|
1134 | for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {
|
1135 | var handler = handlers_1[_i];
|
1136 | handler(event);
|
1137 | }
|
1138 | });
|
1139 | return {
|
1140 | context: context,
|
1141 | localOrigin: localOrigin,
|
1142 | frameWindow: frame.contentWindow,
|
1143 | hostFrame: parent,
|
1144 | dispatch: function (message) {
|
1145 | var contentWindow = frame.contentWindow;
|
1146 | if (contentWindow) {
|
1147 | contentWindow.postMessage(message, localOrigin);
|
1148 | }
|
1149 | },
|
1150 | subscribe: function (handler) {
|
1151 | return collection_1.addAndRemoveFromCollection(handlers, handler);
|
1152 | },
|
1153 | };
|
1154 | }
|
1155 | exports.fromFrame = fromFrame;
|
1156 |
|
1157 |
|
1158 |
|
1159 |
|
1160 |
|
1161 |
|
1162 |
|
1163 |
|
1164 | function fromWindow(contentWindow, localOrigin) {
|
1165 | var handlers = [];
|
1166 | if (typeof window !== undefined) {
|
1167 | window.addEventListener('message', function (event) {
|
1168 | if ((window === contentWindow && !env_1.isFrameless) ||
|
1169 | event.source !== contentWindow ||
|
1170 | !(validator_1.isAppBridgeAction(event.data.payload) || validator_1.isAppMessage(event))) {
|
1171 | return;
|
1172 | }
|
1173 | for (var _i = 0, handlers_2 = handlers; _i < handlers_2.length; _i++) {
|
1174 | var handler = handlers_2[_i];
|
1175 | handler(event);
|
1176 | }
|
1177 | });
|
1178 | }
|
1179 | return {
|
1180 | localOrigin: localOrigin,
|
1181 | hostFrame: contentWindow,
|
1182 | dispatch: function (message) {
|
1183 | if (!message.source || !message.source.shopOrigin) {
|
1184 | return;
|
1185 | }
|
1186 | if (env_1.isFrameless && window && window.SmartWebView) {
|
1187 | window.SmartWebView.handleMessage('frameless://fromClient', JSON.stringify(message));
|
1188 | return;
|
1189 | }
|
1190 | var messageOrigin = "https://" + message.source.shopOrigin;
|
1191 | contentWindow.postMessage(message, messageOrigin);
|
1192 | },
|
1193 | subscribe: function (handler) {
|
1194 | return collection_1.addAndRemoveFromCollection(handlers, handler);
|
1195 | },
|
1196 | };
|
1197 | }
|
1198 | exports.fromWindow = fromWindow;
|
1199 |
|
1200 |
|
1201 | }),
|
1202 |
|
1203 | (function(module, exports, __webpack_require__) {
|
1204 |
|
1205 | "use strict";
|
1206 |
|
1207 | Object.defineProperty(exports, "__esModule", { value: true });
|
1208 | exports.PREFIX = 'APP';
|
1209 | exports.SEPARATOR = '::';
|
1210 |
|
1211 |
|
1212 | }),
|
1213 |
|
1214 | (function(module, exports, __webpack_require__) {
|
1215 |
|
1216 | "use strict";
|
1217 |
|
1218 | Object.defineProperty(exports, "__esModule", { value: true });
|
1219 | var Button_1 = __webpack_require__(4);
|
1220 | function getSingleButton(action, button, subgroups, updateCb) {
|
1221 | action.addChild(button, action.group, subgroups);
|
1222 | action.subscribeToChild(button, Button_1.Action.UPDATE, updateCb);
|
1223 | return button.payload;
|
1224 | }
|
1225 | exports.getSingleButton = getSingleButton;
|
1226 |
|
1227 |
|
1228 | }),
|
1229 |
|
1230 | (function(module, exports, __webpack_require__) {
|
1231 |
|
1232 | "use strict";
|
1233 |
|
1234 | Object.defineProperty(exports, "__esModule", { value: true });
|
1235 | var ActionType;
|
1236 | (function (ActionType) {
|
1237 | ActionType["SHOW"] = "APP::TOAST::SHOW";
|
1238 | ActionType["CLEAR"] = "APP::TOAST::CLEAR";
|
1239 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1240 | var Action;
|
1241 | (function (Action) {
|
1242 | Action["SHOW"] = "SHOW";
|
1243 | Action["CLEAR"] = "CLEAR";
|
1244 | })(Action = exports.Action || (exports.Action = {}));
|
1245 |
|
1246 |
|
1247 | }),
|
1248 |
|
1249 | (function(module, exports, __webpack_require__) {
|
1250 |
|
1251 | "use strict";
|
1252 |
|
1253 | function __export(m) {
|
1254 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
1255 | }
|
1256 | Object.defineProperty(exports, "__esModule", { value: true });
|
1257 | __export(__webpack_require__(67));
|
1258 | __export(__webpack_require__(35));
|
1259 |
|
1260 |
|
1261 | }),
|
1262 |
|
1263 | (function(module, exports, __webpack_require__) {
|
1264 |
|
1265 | "use strict";
|
1266 |
|
1267 | function __export(m) {
|
1268 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
1269 | }
|
1270 | Object.defineProperty(exports, "__esModule", { value: true });
|
1271 | __export(__webpack_require__(68));
|
1272 | __export(__webpack_require__(36));
|
1273 |
|
1274 |
|
1275 | }),
|
1276 |
|
1277 | (function(module, exports, __webpack_require__) {
|
1278 |
|
1279 | "use strict";
|
1280 |
|
1281 | function __export(m) {
|
1282 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
1283 | }
|
1284 | Object.defineProperty(exports, "__esModule", { value: true });
|
1285 | var Client_1 = __webpack_require__(44);
|
1286 | __export(__webpack_require__(8));
|
1287 | __export(__webpack_require__(44));
|
1288 | exports.default = Client_1.createClientApp;
|
1289 |
|
1290 |
|
1291 | }),
|
1292 |
|
1293 | (function(module, exports, __webpack_require__) {
|
1294 |
|
1295 | "use strict";
|
1296 |
|
1297 | Object.defineProperty(exports, "__esModule", { value: true });
|
1298 | function shouldRedirect(frame) {
|
1299 | return frame === window;
|
1300 | }
|
1301 | exports.shouldRedirect = shouldRedirect;
|
1302 | function redirect(url) {
|
1303 | var location = getLocation();
|
1304 | if (!location) {
|
1305 | return;
|
1306 | }
|
1307 | location.assign(url);
|
1308 | }
|
1309 | exports.redirect = redirect;
|
1310 | function getLocation() {
|
1311 | return hasWindow() ? window.location : undefined;
|
1312 | }
|
1313 | exports.getLocation = getLocation;
|
1314 | function getWindow() {
|
1315 | return hasWindow() ? window : undefined;
|
1316 | }
|
1317 | exports.getWindow = getWindow;
|
1318 | function hasWindow() {
|
1319 | return typeof window !== 'undefined';
|
1320 | }
|
1321 |
|
1322 |
|
1323 | }),
|
1324 |
|
1325 | (function(module, exports, __webpack_require__) {
|
1326 |
|
1327 | "use strict";
|
1328 |
|
1329 | Object.defineProperty(exports, "__esModule", { value: true });
|
1330 | var Action;
|
1331 | (function (Action) {
|
1332 | Action["INVALID_ACTION"] = "INVALID_ACTION";
|
1333 | Action["INVALID_ACTION_TYPE"] = "INVALID_ACTION_TYPE";
|
1334 | Action["INVALID_OPTIONS"] = "INVALID_OPTIONS";
|
1335 | Action["INVALID_PAYLOAD"] = "INVALID_PAYLOAD";
|
1336 | Action["UNEXPECTED_ACTION"] = "UNEXPECTED_ACTION";
|
1337 | Action["PERSISTENCE"] = "PERSISTENCE";
|
1338 | Action["UNSUPPORTED_OPERATION"] = "UNSUPPORTED_OPERATION";
|
1339 | Action["NETWORK"] = "NETWORK";
|
1340 | Action["PERMISSION"] = "PERMISSION";
|
1341 | })(Action = exports.Action || (exports.Action = {}));
|
1342 | var ActionType;
|
1343 | (function (ActionType) {
|
1344 | ActionType["INVALID_ACTION"] = "APP::ERROR::INVALID_ACTION";
|
1345 | ActionType["INVALID_ACTION_TYPE"] = "APP::ERROR::INVALID_ACTION_TYPE";
|
1346 | ActionType["INVALID_PAYLOAD"] = "APP::ERROR::INVALID_PAYLOAD";
|
1347 | ActionType["INVALID_OPTIONS"] = "APP::ERROR::INVALID_OPTIONS";
|
1348 | ActionType["UNEXPECTED_ACTION"] = "APP::ERROR::UNEXPECTED_ACTION";
|
1349 | ActionType["PERSISTENCE"] = "APP::ERROR::PERSISTENCE";
|
1350 | ActionType["UNSUPPORTED_OPERATION"] = "APP::ERROR::UNSUPPORTED_OPERATION";
|
1351 | ActionType["NETWORK"] = "APP::ERROR::NETWORK";
|
1352 | ActionType["PERMISSION"] = "APP::ERROR::PERMISSION";
|
1353 | ActionType["FAILED_AUTHENTICATION"] = "APP::ERROR::FAILED_AUTHENTICATION";
|
1354 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1355 | var AppActionType;
|
1356 | (function (AppActionType) {
|
1357 | AppActionType["INVALID_CONFIG"] = "APP::ERROR::INVALID_CONFIG";
|
1358 | AppActionType["MISSING_CONFIG"] = "APP::APP_ERROR::MISSING_CONFIG";
|
1359 | AppActionType["MISSING_APP_BRIDGE_MIDDLEWARE"] = "APP::APP_ERROR::MISSING_APP_BRIDGE_MIDDLEWARE";
|
1360 | AppActionType["WINDOW_UNDEFINED"] = "APP::APP_ERROR::WINDOW_UNDEFINED";
|
1361 | AppActionType["MISSING_LOCAL_ORIGIN"] = "APP::APP_ERROR::MISSING_LOCAL_ORIGIN";
|
1362 | AppActionType["MISSING_HOST_PROVIDER"] = "APP::APP_ERROR::MISSING_HOST_PROVIDER";
|
1363 | AppActionType["MISSING_ROUTER_CONTEXT"] = "APP::APP_ERROR::MISSING_ROUTER_CONTEXT";
|
1364 | AppActionType["MISSING_HISTORY_BLOCK"] = "APP::APP_ERROR::MISSING_HISTORY_BLOCK";
|
1365 | })(AppActionType = exports.AppActionType || (exports.AppActionType = {}));
|
1366 |
|
1367 |
|
1368 | }),
|
1369 |
|
1370 | (function(module, exports, __webpack_require__) {
|
1371 |
|
1372 | "use strict";
|
1373 |
|
1374 | Object.defineProperty(exports, "__esModule", { value: true });
|
1375 | var constants_1 = __webpack_require__(14);
|
1376 | var types_1 = __webpack_require__(8);
|
1377 | var helper_1 = __webpack_require__(0);
|
1378 |
|
1379 |
|
1380 |
|
1381 |
|
1382 | function isAppBridgeAction(action) {
|
1383 | return (action instanceof Object &&
|
1384 | action.hasOwnProperty('type') &&
|
1385 | action.type.toString().startsWith(constants_1.PREFIX));
|
1386 | }
|
1387 | exports.isAppBridgeAction = isAppBridgeAction;
|
1388 |
|
1389 |
|
1390 |
|
1391 |
|
1392 | function isFromApp(action) {
|
1393 | if (typeof action !== 'object' || typeof action.source !== 'object') {
|
1394 | return false;
|
1395 | }
|
1396 | return typeof action.source.apiKey === 'string';
|
1397 | }
|
1398 | exports.isFromApp = isFromApp;
|
1399 |
|
1400 |
|
1401 |
|
1402 |
|
1403 | function getPermissionKey(type) {
|
1404 | return type.replace(new RegExp("^" + constants_1.PREFIX + constants_1.SEPARATOR + "\\w+" + constants_1.SEPARATOR), '');
|
1405 | }
|
1406 | exports.getPermissionKey = getPermissionKey;
|
1407 |
|
1408 |
|
1409 |
|
1410 |
|
1411 | function isPermitted(features, _a, permissionType) {
|
1412 | var group = _a.group, type = _a.type;
|
1413 | if (!group || !features.hasOwnProperty(group)) {
|
1414 | return false;
|
1415 | }
|
1416 | var feature = features[group];
|
1417 | if (!feature) {
|
1418 | return false;
|
1419 | }
|
1420 | var actionType = getPermissionKey(type);
|
1421 | return feature[actionType] ? feature[actionType][permissionType] === true : false;
|
1422 | }
|
1423 | exports.isPermitted = isPermitted;
|
1424 |
|
1425 |
|
1426 |
|
1427 |
|
1428 | function isAppMessage(event) {
|
1429 | if (typeof event !== 'object' || !event.data || typeof event.data !== 'object') {
|
1430 | return false;
|
1431 | }
|
1432 | var data = event.data;
|
1433 | return data.hasOwnProperty('type') && helper_1.findMatchInEnum(types_1.MessageType, data.type) !== undefined;
|
1434 | }
|
1435 | exports.isAppMessage = isAppMessage;
|
1436 |
|
1437 |
|
1438 | }),
|
1439 |
|
1440 | (function(module, exports, __webpack_require__) {
|
1441 |
|
1442 | "use strict";
|
1443 | (function(process) {
|
1444 | Object.defineProperty(exports, "__esModule", { value: true });
|
1445 | exports.isServer = typeof window === 'undefined';
|
1446 | exports.isClient = !exports.isServer;
|
1447 | exports.isDevelopment = typeof process !== 'undefined' && process.env && "production" === 'development';
|
1448 | exports.isProduction = !exports.isDevelopment;
|
1449 | exports.isDevelopmentClient = exports.isDevelopment && exports.isClient;
|
1450 | exports.isFrameless = !exports.isServer && window.navigator.userAgent.indexOf(' Frameless ') > 0;
|
1451 |
|
1452 | }.call(this, __webpack_require__(51)))
|
1453 |
|
1454 | }),
|
1455 |
|
1456 | (function(module, exports, __webpack_require__) {
|
1457 |
|
1458 | "use strict";
|
1459 |
|
1460 | Object.defineProperty(exports, "__esModule", { value: true });
|
1461 | var Action;
|
1462 | (function (Action) {
|
1463 | Action["CLICK"] = "CLICK";
|
1464 | Action["UPDATE"] = "UPDATE";
|
1465 | })(Action = exports.Action || (exports.Action = {}));
|
1466 | var ActionType;
|
1467 | (function (ActionType) {
|
1468 | ActionType["CLICK"] = "APP::BUTTON::CLICK";
|
1469 | ActionType["UPDATE"] = "APP::BUTTON::UPDATE";
|
1470 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1471 | var Icon;
|
1472 | (function (Icon) {
|
1473 | Icon["Print"] = "print";
|
1474 | })(Icon = exports.Icon || (exports.Icon = {}));
|
1475 | var Style;
|
1476 | (function (Style) {
|
1477 | Style["Danger"] = "danger";
|
1478 | })(Style = exports.Style || (exports.Style = {}));
|
1479 |
|
1480 |
|
1481 | }),
|
1482 |
|
1483 | (function(module, exports, __webpack_require__) {
|
1484 |
|
1485 | "use strict";
|
1486 |
|
1487 | Object.defineProperty(exports, "__esModule", { value: true });
|
1488 | var Action;
|
1489 | (function (Action) {
|
1490 | Action["UPDATE"] = "UPDATE";
|
1491 | })(Action = exports.Action || (exports.Action = {}));
|
1492 | var ActionType;
|
1493 | (function (ActionType) {
|
1494 | ActionType["UPDATE"] = "APP::BUTTONGROUP::UPDATE";
|
1495 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1496 |
|
1497 |
|
1498 | }),
|
1499 |
|
1500 | (function(module, exports, __webpack_require__) {
|
1501 |
|
1502 | "use strict";
|
1503 |
|
1504 | function __export(m) {
|
1505 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
1506 | }
|
1507 | Object.defineProperty(exports, "__esModule", { value: true });
|
1508 | __export(__webpack_require__(57));
|
1509 | __export(__webpack_require__(27));
|
1510 |
|
1511 |
|
1512 | }),
|
1513 |
|
1514 | (function(module, exports, __webpack_require__) {
|
1515 |
|
1516 | "use strict";
|
1517 |
|
1518 | Object.defineProperty(exports, "__esModule", { value: true });
|
1519 | var ActionType;
|
1520 | (function (ActionType) {
|
1521 | ActionType["FETCH"] = "APP::CART::FETCH";
|
1522 | ActionType["UPDATE"] = "APP::CART::UPDATE";
|
1523 | ActionType["SET_CUSTOMER"] = "APP::CART::SET_CUSTOMER";
|
1524 | ActionType["REMOVE_CUSTOMER"] = "APP::CART::REMOVE_CUSTOMER";
|
1525 | ActionType["ADD_CUSTOMER_ADDRESS"] = "APP::CART::ADD_CUSTOMER_ADDRESS";
|
1526 | ActionType["UPDATE_CUSTOMER_ADDRESS"] = "APP::CART::UPDATE_CUSTOMER_ADDRESS";
|
1527 | ActionType["SET_DISCOUNT"] = "APP::CART::SET_DISCOUNT";
|
1528 | ActionType["REMOVE_DISCOUNT"] = "APP::CART::REMOVE_DISCOUNT";
|
1529 | ActionType["SET_PROPERTIES"] = "APP::CART::SET_PROPERTIES";
|
1530 | ActionType["REMOVE_PROPERTIES"] = "APP::CART::REMOVE_PROPERTIES";
|
1531 | ActionType["CLEAR"] = "APP::CART::CLEAR";
|
1532 | ActionType["ADD_LINE_ITEM"] = "APP::CART::ADD_LINE_ITEM";
|
1533 | ActionType["UPDATE_LINE_ITEM"] = "APP::CART::UPDATE_LINE_ITEM";
|
1534 | ActionType["REMOVE_LINE_ITEM"] = "APP::CART::REMOVE_LINE_ITEM";
|
1535 | ActionType["SET_LINE_ITEM_DISCOUNT"] = "APP::CART::SET_LINE_ITEM_DISCOUNT";
|
1536 | ActionType["REMOVE_LINE_ITEM_DISCOUNT"] = "APP::CART::REMOVE_LINE_ITEM_DISCOUNT";
|
1537 | ActionType["SET_LINE_ITEM_PROPERTIES"] = "APP::CART::SET_LINE_ITEM_PROPERTIES";
|
1538 | ActionType["REMOVE_LINE_ITEM_PROPERTIES"] = "APP::CART::REMOVE_LINE_ITEM_PROPERTIES";
|
1539 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1540 | var Action;
|
1541 | (function (Action) {
|
1542 | Action["FETCH"] = "FETCH";
|
1543 | Action["UPDATE"] = "UPDATE";
|
1544 | Action["SET_CUSTOMER"] = "SET_CUSTOMER";
|
1545 | Action["REMOVE_CUSTOMER"] = "REMOVE_CUSTOMER";
|
1546 | Action["ADD_CUSTOMER_ADDRESS"] = "ADD_CUSTOMER_ADDRESS";
|
1547 | Action["UPDATE_CUSTOMER_ADDRESS"] = "UPDATE_CUSTOMER_ADDRESS";
|
1548 | Action["SET_DISCOUNT"] = "SET_DISCOUNT";
|
1549 | Action["REMOVE_DISCOUNT"] = "REMOVE_DISCOUNT";
|
1550 | Action["SET_PROPERTIES"] = "SET_PROPERTIES";
|
1551 | Action["REMOVE_PROPERTIES"] = "REMOVE_PROPERTIES";
|
1552 | Action["CLEAR"] = "CLEAR";
|
1553 | Action["ADD_LINE_ITEM"] = "ADD_LINE_ITEM";
|
1554 | Action["UPDATE_LINE_ITEM"] = "UPDATE_LINE_ITEM";
|
1555 | Action["REMOVE_LINE_ITEM"] = "REMOVE_LINE_ITEM";
|
1556 | Action["SET_LINE_ITEM_DISCOUNT"] = "SET_LINE_ITEM_DISCOUNT";
|
1557 | Action["REMOVE_LINE_ITEM_DISCOUNT"] = "REMOVE_LINE_ITEM_DISCOUNT";
|
1558 | Action["SET_LINE_ITEM_PROPERTIES"] = "SET_LINE_ITEM_PROPERTIES";
|
1559 | Action["REMOVE_LINE_ITEM_PROPERTIES"] = "REMOVE_LINE_ITEM_PROPERTIES";
|
1560 | })(Action = exports.Action || (exports.Action = {}));
|
1561 |
|
1562 |
|
1563 | }),
|
1564 |
|
1565 | (function(module, exports, __webpack_require__) {
|
1566 |
|
1567 | "use strict";
|
1568 |
|
1569 | Object.defineProperty(exports, "__esModule", { value: true });
|
1570 |
|
1571 |
|
1572 |
|
1573 |
|
1574 | var ActionType;
|
1575 | (function (ActionType) {
|
1576 | ActionType["UPDATE"] = "APP::FEATURES::UPDATE";
|
1577 | ActionType["REQUEST"] = "APP::FEATURES::REQUEST";
|
1578 | ActionType["REQUEST_UPDATE"] = "APP::FEATURES::REQUEST::UPDATE";
|
1579 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1580 |
|
1581 |
|
1582 |
|
1583 |
|
1584 | var Action;
|
1585 | (function (Action) {
|
1586 | Action["UPDATE"] = "UPDATE";
|
1587 | Action["REQUEST"] = "REQUEST";
|
1588 | Action["REQUEST_UPDATE"] = "REQUEST::UPDATE";
|
1589 | })(Action = exports.Action || (exports.Action = {}));
|
1590 |
|
1591 |
|
1592 | }),
|
1593 |
|
1594 | (function(module, exports, __webpack_require__) {
|
1595 |
|
1596 | "use strict";
|
1597 |
|
1598 | var __extends = (this && this.__extends) || (function () {
|
1599 | var extendStatics = function (d, b) {
|
1600 | extendStatics = Object.setPrototypeOf ||
|
1601 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
1602 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
1603 | return extendStatics(d, b);
|
1604 | };
|
1605 | return function (d, b) {
|
1606 | extendStatics(d, b);
|
1607 | function __() { this.constructor = d; }
|
1608 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
1609 | };
|
1610 | })();
|
1611 | Object.defineProperty(exports, "__esModule", { value: true });
|
1612 | var helper_1 = __webpack_require__(0);
|
1613 | var types_1 = __webpack_require__(1);
|
1614 |
|
1615 |
|
1616 |
|
1617 |
|
1618 | var Action;
|
1619 | (function (Action) {
|
1620 | Action["ENTER"] = "ENTER";
|
1621 | Action["EXIT"] = "EXIT";
|
1622 | })(Action = exports.Action || (exports.Action = {}));
|
1623 |
|
1624 |
|
1625 |
|
1626 |
|
1627 |
|
1628 |
|
1629 | var ActionType;
|
1630 | (function (ActionType) {
|
1631 | ActionType["ENTER"] = "APP::FULLSCREEN::ENTER";
|
1632 | ActionType["EXIT"] = "APP::FULLSCREEN::EXIT";
|
1633 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1634 | function enter() {
|
1635 | return helper_1.actionWrapper({
|
1636 | group: types_1.Group.Fullscreen,
|
1637 | type: ActionType.ENTER,
|
1638 | });
|
1639 | }
|
1640 | exports.enter = enter;
|
1641 | function exit() {
|
1642 | return helper_1.actionWrapper({
|
1643 | group: types_1.Group.Fullscreen,
|
1644 | type: ActionType.EXIT,
|
1645 | });
|
1646 | }
|
1647 | exports.exit = exit;
|
1648 |
|
1649 |
|
1650 |
|
1651 |
|
1652 | var Fullscreen = (function (_super) {
|
1653 | __extends(Fullscreen, _super);
|
1654 | |
1655 |
|
1656 |
|
1657 |
|
1658 | function Fullscreen(app) {
|
1659 | return _super.call(this, app, types_1.Group.Fullscreen, types_1.Group.Fullscreen) || this;
|
1660 | }
|
1661 | Object.defineProperty(Fullscreen.prototype, "payload", {
|
1662 | |
1663 |
|
1664 |
|
1665 | get: function () {
|
1666 | return { id: this.id };
|
1667 | },
|
1668 | enumerable: true,
|
1669 | configurable: true
|
1670 | });
|
1671 | |
1672 |
|
1673 |
|
1674 |
|
1675 |
|
1676 | Fullscreen.prototype.dispatch = function (action) {
|
1677 | this.app.dispatch(helper_1.actionWrapper({
|
1678 | group: this.group,
|
1679 | type: ActionType[action],
|
1680 | payload: this.payload,
|
1681 | }));
|
1682 | return this;
|
1683 | };
|
1684 | return Fullscreen;
|
1685 | }(helper_1.ActionSet));
|
1686 | exports.Fullscreen = Fullscreen;
|
1687 |
|
1688 |
|
1689 |
|
1690 |
|
1691 |
|
1692 |
|
1693 | function create(app) {
|
1694 | return new Fullscreen(app);
|
1695 | }
|
1696 | exports.create = create;
|
1697 |
|
1698 |
|
1699 | }),
|
1700 |
|
1701 | (function(module, exports, __webpack_require__) {
|
1702 |
|
1703 | "use strict";
|
1704 |
|
1705 | function __export(m) {
|
1706 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
1707 | }
|
1708 | Object.defineProperty(exports, "__esModule", { value: true });
|
1709 | __export(__webpack_require__(63));
|
1710 | __export(__webpack_require__(31));
|
1711 |
|
1712 |
|
1713 | }),
|
1714 |
|
1715 | (function(module, exports, __webpack_require__) {
|
1716 |
|
1717 | "use strict";
|
1718 |
|
1719 | Object.defineProperty(exports, "__esModule", { value: true });
|
1720 | var ActionType;
|
1721 | (function (ActionType) {
|
1722 | ActionType["START"] = "APP::LOADING::START";
|
1723 | ActionType["STOP"] = "APP::LOADING::STOP";
|
1724 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1725 | var Action;
|
1726 | (function (Action) {
|
1727 | Action["START"] = "START";
|
1728 | Action["STOP"] = "STOP";
|
1729 | })(Action = exports.Action || (exports.Action = {}));
|
1730 |
|
1731 |
|
1732 | }),
|
1733 |
|
1734 | (function(module, exports, __webpack_require__) {
|
1735 |
|
1736 | "use strict";
|
1737 |
|
1738 | function __export(m) {
|
1739 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
1740 | }
|
1741 | Object.defineProperty(exports, "__esModule", { value: true });
|
1742 | __export(__webpack_require__(64));
|
1743 | __export(__webpack_require__(33));
|
1744 |
|
1745 |
|
1746 | }),
|
1747 |
|
1748 | (function(module, exports, __webpack_require__) {
|
1749 |
|
1750 | "use strict";
|
1751 |
|
1752 | Object.defineProperty(exports, "__esModule", { value: true });
|
1753 | var Action;
|
1754 | (function (Action) {
|
1755 | Action["OPEN"] = "OPEN";
|
1756 | Action["CLOSE"] = "CLOSE";
|
1757 | Action["UPDATE"] = "UPDATE";
|
1758 | Action["UPDATE_SIZE"] = "UPDATE_SIZE";
|
1759 | })(Action = exports.Action || (exports.Action = {}));
|
1760 |
|
1761 |
|
1762 |
|
1763 |
|
1764 | var ActionType;
|
1765 | (function (ActionType) {
|
1766 | ActionType["OPEN"] = "APP::MODAL::OPEN";
|
1767 | ActionType["CLOSE"] = "APP::MODAL::CLOSE";
|
1768 | ActionType["UPDATE"] = "APP::MODAL::UPDATE";
|
1769 | ActionType["FOOTER_BUTTON_CLICK"] = "APP::MODAL::FOOTER::BUTTON::CLICK";
|
1770 | ActionType["FOOTER_BUTTON_UPDATE"] = "APP::MODAL::FOOTER::BUTTON::UPDATE";
|
1771 | ActionType["UPDATE_SIZE"] = "APP::MODAL::UPDATE_SIZE";
|
1772 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1773 |
|
1774 |
|
1775 |
|
1776 |
|
1777 | var Size;
|
1778 | (function (Size) {
|
1779 |
|
1780 | Size["Small"] = "small";
|
1781 |
|
1782 | Size["Medium"] = "medium";
|
1783 |
|
1784 | Size["Large"] = "large";
|
1785 |
|
1786 | Size["Full"] = "full";
|
1787 | |
1788 |
|
1789 |
|
1790 |
|
1791 |
|
1792 |
|
1793 | Size["Auto"] = "auto";
|
1794 | })(Size = exports.Size || (exports.Size = {}));
|
1795 |
|
1796 |
|
1797 | }),
|
1798 |
|
1799 | (function(module, exports, __webpack_require__) {
|
1800 |
|
1801 | "use strict";
|
1802 |
|
1803 | Object.defineProperty(exports, "__esModule", { value: true });
|
1804 | var ActionType;
|
1805 | (function (ActionType) {
|
1806 | ActionType["PUSH"] = "APP::NAVIGATION::HISTORY::PUSH";
|
1807 | ActionType["REPLACE"] = "APP::NAVIGATION::HISTORY::REPLACE";
|
1808 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1809 | var Action;
|
1810 | (function (Action) {
|
1811 | Action["PUSH"] = "PUSH";
|
1812 | Action["REPLACE"] = "REPLACE";
|
1813 | })(Action = exports.Action || (exports.Action = {}));
|
1814 |
|
1815 |
|
1816 | }),
|
1817 |
|
1818 | (function(module, exports, __webpack_require__) {
|
1819 |
|
1820 | "use strict";
|
1821 |
|
1822 | Object.defineProperty(exports, "__esModule", { value: true });
|
1823 | var Action;
|
1824 | (function (Action) {
|
1825 | Action["ADMIN_PATH"] = "ADMIN::PATH";
|
1826 | Action["ADMIN_SECTION"] = "ADMIN::SECTION";
|
1827 | Action["REMOTE"] = "REMOTE";
|
1828 | Action["APP"] = "APP";
|
1829 | })(Action = exports.Action || (exports.Action = {}));
|
1830 | var ActionType;
|
1831 | (function (ActionType) {
|
1832 | ActionType["ADMIN_SECTION"] = "APP::NAVIGATION::REDIRECT::ADMIN::SECTION";
|
1833 | ActionType["ADMIN_PATH"] = "APP::NAVIGATION::REDIRECT::ADMIN::PATH";
|
1834 | ActionType["REMOTE"] = "APP::NAVIGATION::REDIRECT::REMOTE";
|
1835 | ActionType["APP"] = "APP::NAVIGATION::REDIRECT::APP";
|
1836 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1837 | var ResourceType;
|
1838 | (function (ResourceType) {
|
1839 | ResourceType["Product"] = "products";
|
1840 | ResourceType["Collection"] = "collections";
|
1841 | ResourceType["Order"] = "orders";
|
1842 | ResourceType["Customer"] = "customers";
|
1843 | ResourceType["Discount"] = "discounts";
|
1844 | })(ResourceType = exports.ResourceType || (exports.ResourceType = {}));
|
1845 |
|
1846 |
|
1847 | }),
|
1848 |
|
1849 | (function(module, exports, __webpack_require__) {
|
1850 |
|
1851 | "use strict";
|
1852 |
|
1853 | Object.defineProperty(exports, "__esModule", { value: true });
|
1854 | var ActionType;
|
1855 | (function (ActionType) {
|
1856 | ActionType["APP"] = "APP::PRINT::APP";
|
1857 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1858 | var Action;
|
1859 | (function (Action) {
|
1860 | Action["APP"] = "APP";
|
1861 | })(Action = exports.Action || (exports.Action = {}));
|
1862 |
|
1863 |
|
1864 | }),
|
1865 |
|
1866 | (function(module, exports, __webpack_require__) {
|
1867 |
|
1868 | "use strict";
|
1869 |
|
1870 | function __export(m) {
|
1871 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
1872 | }
|
1873 | Object.defineProperty(exports, "__esModule", { value: true });
|
1874 | __export(__webpack_require__(69));
|
1875 | __export(__webpack_require__(38));
|
1876 |
|
1877 |
|
1878 | }),
|
1879 |
|
1880 | (function(module, exports, __webpack_require__) {
|
1881 |
|
1882 | "use strict";
|
1883 |
|
1884 | Object.defineProperty(exports, "__esModule", { value: true });
|
1885 | var Action;
|
1886 | (function (Action) {
|
1887 | Action["OPEN"] = "OPEN";
|
1888 | Action["SELECT"] = "SELECT";
|
1889 | Action["CLOSE"] = "CLOSE";
|
1890 | Action["UPDATE"] = "UPDATE";
|
1891 | Action["CANCEL"] = "CANCEL";
|
1892 | })(Action = exports.Action || (exports.Action = {}));
|
1893 | var ActionType;
|
1894 | (function (ActionType) {
|
1895 | ActionType["OPEN"] = "APP::RESOURCE_PICKER::OPEN";
|
1896 | ActionType["SELECT"] = "APP::RESOURCE_PICKER::SELECT";
|
1897 | ActionType["CLOSE"] = "APP::RESOURCE_PICKER::CLOSE";
|
1898 | ActionType["UPDATE"] = "APP::RESOURCE_PICKER::UPDATE";
|
1899 | ActionType["CANCEL"] = "APP::RESOURCE_PICKER::CANCEL";
|
1900 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1901 | var CollectionSortOrder;
|
1902 | (function (CollectionSortOrder) {
|
1903 | CollectionSortOrder["Manual"] = "MANUAL";
|
1904 | CollectionSortOrder["BestSelling"] = "BEST_SELLING";
|
1905 | CollectionSortOrder["AlphaAsc"] = "ALPHA_ASC";
|
1906 | CollectionSortOrder["AlphaDesc"] = "ALPHA_DESC";
|
1907 | CollectionSortOrder["PriceDesc"] = "PRICE_DESC";
|
1908 | CollectionSortOrder["PriceAsc"] = "PRICE_ASC";
|
1909 | CollectionSortOrder["CreatedDesc"] = "CREATED_DESC";
|
1910 | CollectionSortOrder["Created"] = "CREATED";
|
1911 | })(CollectionSortOrder = exports.CollectionSortOrder || (exports.CollectionSortOrder = {}));
|
1912 | var FulfillmentServiceType;
|
1913 | (function (FulfillmentServiceType) {
|
1914 | FulfillmentServiceType["GiftCard"] = "GIFT_CARD";
|
1915 | FulfillmentServiceType["Manual"] = "MANUAL";
|
1916 | FulfillmentServiceType["ThirdParty"] = "THIRD_PARTY";
|
1917 | })(FulfillmentServiceType = exports.FulfillmentServiceType || (exports.FulfillmentServiceType = {}));
|
1918 | var WeightUnit;
|
1919 | (function (WeightUnit) {
|
1920 | WeightUnit["Kilograms"] = "KILOGRAMS";
|
1921 | WeightUnit["Grams"] = "GRAMS";
|
1922 | WeightUnit["Pounds"] = "POUNDS";
|
1923 | WeightUnit["Ounces"] = "OUNCES";
|
1924 | })(WeightUnit = exports.WeightUnit || (exports.WeightUnit = {}));
|
1925 | var ProductVariantInventoryPolicy;
|
1926 | (function (ProductVariantInventoryPolicy) {
|
1927 | ProductVariantInventoryPolicy["Deny"] = "DENY";
|
1928 | ProductVariantInventoryPolicy["Continue"] = "CONTINUE";
|
1929 | })(ProductVariantInventoryPolicy = exports.ProductVariantInventoryPolicy || (exports.ProductVariantInventoryPolicy = {}));
|
1930 | var ProductVariantInventoryManagement;
|
1931 | (function (ProductVariantInventoryManagement) {
|
1932 | ProductVariantInventoryManagement["Shopify"] = "SHOPIFY";
|
1933 | ProductVariantInventoryManagement["NotManaged"] = "NOT_MANAGED";
|
1934 | ProductVariantInventoryManagement["FulfillmentService"] = "FULFILLMENT_SERVICE";
|
1935 | })(ProductVariantInventoryManagement = exports.ProductVariantInventoryManagement || (exports.ProductVariantInventoryManagement = {}));
|
1936 | var ResourceType;
|
1937 | (function (ResourceType) {
|
1938 | ResourceType["Product"] = "product";
|
1939 | ResourceType["ProductVariant"] = "variant";
|
1940 | ResourceType["Collection"] = "collection";
|
1941 | })(ResourceType = exports.ResourceType || (exports.ResourceType = {}));
|
1942 | var ActionVerb;
|
1943 | (function (ActionVerb) {
|
1944 | ActionVerb["Add"] = "add";
|
1945 | ActionVerb["Select"] = "select";
|
1946 | })(ActionVerb = exports.ActionVerb || (exports.ActionVerb = {}));
|
1947 |
|
1948 |
|
1949 | }),
|
1950 |
|
1951 | (function(module, exports, __webpack_require__) {
|
1952 |
|
1953 | "use strict";
|
1954 |
|
1955 | function __export(m) {
|
1956 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
1957 | }
|
1958 | Object.defineProperty(exports, "__esModule", { value: true });
|
1959 | __export(__webpack_require__(70));
|
1960 | __export(__webpack_require__(40));
|
1961 |
|
1962 |
|
1963 | }),
|
1964 |
|
1965 | (function(module, exports, __webpack_require__) {
|
1966 |
|
1967 | "use strict";
|
1968 |
|
1969 |
|
1970 |
|
1971 |
|
1972 |
|
1973 | Object.defineProperty(exports, "__esModule", { value: true });
|
1974 | var ActionType;
|
1975 | (function (ActionType) {
|
1976 | ActionType["OPEN_CAMERA"] = "APP::SCANNER::OPEN::CAMERA";
|
1977 | ActionType["OPEN_NFC"] = "APP::SCANNER::OPEN::NFC";
|
1978 | ActionType["CAPTURE"] = "APP::SCANNER::CAPTURE";
|
1979 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
1980 |
|
1981 |
|
1982 |
|
1983 |
|
1984 | var Action;
|
1985 | (function (Action) {
|
1986 | Action["OPEN_CAMERA"] = "OPEN::CAMERA";
|
1987 | Action["OPEN_NFC"] = "OPEN::NFC";
|
1988 | Action["CAPTURE"] = "CAPTURE";
|
1989 | })(Action = exports.Action || (exports.Action = {}));
|
1990 |
|
1991 |
|
1992 | }),
|
1993 |
|
1994 | (function(module, exports, __webpack_require__) {
|
1995 |
|
1996 | "use strict";
|
1997 |
|
1998 | function __export(m) {
|
1999 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
2000 | }
|
2001 | Object.defineProperty(exports, "__esModule", { value: true });
|
2002 | __export(__webpack_require__(72));
|
2003 | __export(__webpack_require__(42));
|
2004 |
|
2005 |
|
2006 | }),
|
2007 |
|
2008 | (function(module, exports, __webpack_require__) {
|
2009 |
|
2010 | "use strict";
|
2011 |
|
2012 | Object.defineProperty(exports, "__esModule", { value: true });
|
2013 | var Action;
|
2014 | (function (Action) {
|
2015 | Action["UPDATE"] = "UPDATE";
|
2016 | })(Action = exports.Action || (exports.Action = {}));
|
2017 | var ActionType;
|
2018 | (function (ActionType) {
|
2019 | ActionType["UPDATE"] = "APP::TITLEBAR::UPDATE";
|
2020 | ActionType["BUTTON_CLICK"] = "APP::TITLEBAR::BUTTONS::BUTTON::CLICK";
|
2021 | ActionType["BUTTON_UPDATE"] = "APP::TITLEBAR::BUTTONS::BUTTON::UPDATE";
|
2022 | ActionType["BUTTON_GROUP_UPDATE"] = "APP::TITLEBAR::BUTTONS::BUTTONGROUP::UPDATE";
|
2023 | ActionType["BREADCRUMBS_CLICK"] = "APP::TITLEBAR::BREADCRUMBS::BUTTON::CLICK";
|
2024 | ActionType["BREADCRUMBS_UPDATE"] = "APP::TITLEBAR::BREADCRUMBS::BUTTON::UPDATE";
|
2025 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
2026 |
|
2027 |
|
2028 | }),
|
2029 |
|
2030 | (function(module, exports, __webpack_require__) {
|
2031 |
|
2032 | "use strict";
|
2033 |
|
2034 | var __extends = (this && this.__extends) || (function () {
|
2035 | var extendStatics = function (d, b) {
|
2036 | extendStatics = Object.setPrototypeOf ||
|
2037 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
2038 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
2039 | return extendStatics(d, b);
|
2040 | };
|
2041 | return function (d, b) {
|
2042 | extendStatics(d, b);
|
2043 | function __() { this.constructor = d; }
|
2044 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
2045 | };
|
2046 | })();
|
2047 | var __assign = (this && this.__assign) || function () {
|
2048 | __assign = Object.assign || function(t) {
|
2049 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
2050 | s = arguments[i];
|
2051 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
2052 | t[p] = s[p];
|
2053 | }
|
2054 | return t;
|
2055 | };
|
2056 | return __assign.apply(this, arguments);
|
2057 | };
|
2058 | Object.defineProperty(exports, "__esModule", { value: true });
|
2059 | var helper_1 = __webpack_require__(0);
|
2060 | var types_1 = __webpack_require__(1);
|
2061 |
|
2062 |
|
2063 |
|
2064 | var Action;
|
2065 | (function (Action) {
|
2066 | Action["DISCARD"] = "DISCARD";
|
2067 | Action["SAVE"] = "SAVE";
|
2068 | Action["SHOW"] = "SHOW";
|
2069 | Action["HIDE"] = "HIDE";
|
2070 | Action["UPDATE"] = "UPDATE";
|
2071 | })(Action = exports.Action || (exports.Action = {}));
|
2072 |
|
2073 |
|
2074 |
|
2075 |
|
2076 |
|
2077 | var ActionType;
|
2078 | (function (ActionType) {
|
2079 | ActionType["DISCARD"] = "APP::CONTEXTUAL_SAVE_BAR::DISCARD";
|
2080 | ActionType["SAVE"] = "APP::CONTEXTUAL_SAVE_BAR::SAVE";
|
2081 | ActionType["SHOW"] = "APP::CONTEXTUAL_SAVE_BAR::SHOW";
|
2082 | ActionType["HIDE"] = "APP::CONTEXTUAL_SAVE_BAR::HIDE";
|
2083 | ActionType["UPDATE"] = "APP::CONTEXTUAL_SAVE_BAR::UPDATE";
|
2084 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
2085 | function createContextBarAction(action, payload) {
|
2086 | return helper_1.actionWrapper({
|
2087 | group: types_1.Group.ContextualSaveBar,
|
2088 | type: ActionType[action],
|
2089 | payload: payload,
|
2090 | });
|
2091 | }
|
2092 | function show(payload) {
|
2093 | return createContextBarAction(Action.SHOW, payload);
|
2094 | }
|
2095 | exports.show = show;
|
2096 | function hide(payload) {
|
2097 | return createContextBarAction(Action.HIDE, payload);
|
2098 | }
|
2099 | exports.hide = hide;
|
2100 | function save(payload) {
|
2101 | return createContextBarAction(Action.SAVE, payload);
|
2102 | }
|
2103 | exports.save = save;
|
2104 | function discard(payload) {
|
2105 | return createContextBarAction(Action.DISCARD, payload);
|
2106 | }
|
2107 | exports.discard = discard;
|
2108 |
|
2109 |
|
2110 |
|
2111 | var ContextualSaveBar = (function (_super) {
|
2112 | __extends(ContextualSaveBar, _super);
|
2113 | |
2114 |
|
2115 |
|
2116 |
|
2117 | function ContextualSaveBar(app, options) {
|
2118 | if (options === void 0) { options = {}; }
|
2119 | var _this = _super.call(this, app, types_1.Group.ContextualSaveBar, types_1.Group.ContextualSaveBar) || this;
|
2120 | _this.options = options;
|
2121 | _this.set(options, false);
|
2122 | return _this;
|
2123 | }
|
2124 | Object.defineProperty(ContextualSaveBar.prototype, "payload", {
|
2125 | |
2126 |
|
2127 |
|
2128 | get: function () {
|
2129 | return __assign({ id: this.id }, this.options);
|
2130 | },
|
2131 | enumerable: true,
|
2132 | configurable: true
|
2133 | });
|
2134 | ContextualSaveBar.prototype.set = function (options, shouldUpdate) {
|
2135 | if (shouldUpdate === void 0) { shouldUpdate = true; }
|
2136 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
2137 | this.options = mergedOptions;
|
2138 | if (shouldUpdate) {
|
2139 | this.dispatch(Action.UPDATE);
|
2140 | }
|
2141 | return this;
|
2142 | };
|
2143 | |
2144 |
|
2145 |
|
2146 |
|
2147 |
|
2148 | ContextualSaveBar.prototype.dispatch = function (action) {
|
2149 | this.app.dispatch(createContextBarAction(action, this.payload));
|
2150 | return this;
|
2151 | };
|
2152 | return ContextualSaveBar;
|
2153 | }(helper_1.ActionSet));
|
2154 | exports.ContextualSaveBar = ContextualSaveBar;
|
2155 |
|
2156 |
|
2157 |
|
2158 |
|
2159 |
|
2160 | function create(app, options) {
|
2161 | return new ContextualSaveBar(app, options);
|
2162 | }
|
2163 | exports.create = create;
|
2164 |
|
2165 |
|
2166 | }),
|
2167 |
|
2168 | (function(module, exports, __webpack_require__) {
|
2169 |
|
2170 | "use strict";
|
2171 |
|
2172 | var __assign = (this && this.__assign) || function () {
|
2173 | __assign = Object.assign || function(t) {
|
2174 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
2175 | s = arguments[i];
|
2176 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
2177 | t[p] = s[p];
|
2178 | }
|
2179 | return t;
|
2180 | };
|
2181 | return __assign.apply(this, arguments);
|
2182 | };
|
2183 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
2184 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
2185 | };
|
2186 | Object.defineProperty(exports, "__esModule", { value: true });
|
2187 | var helper_1 = __webpack_require__(0);
|
2188 | var Error_1 = __webpack_require__(5);
|
2189 | var Print_1 = __webpack_require__(18);
|
2190 | var MessageTransport_1 = __webpack_require__(13);
|
2191 | var collection_1 = __webpack_require__(9);
|
2192 | var shared_1 = __webpack_require__(45);
|
2193 | var env_1 = __webpack_require__(23);
|
2194 | var print_1 = __webpack_require__(82);
|
2195 | var redirect_1 = __webpack_require__(20);
|
2196 | var types_1 = __webpack_require__(8);
|
2197 | var Hooks_1 = __importDefault(__webpack_require__(83));
|
2198 | exports.WINDOW_UNDEFINED_MESSAGE = 'window is not defined. Running an app outside a browser is not supported';
|
2199 | function redirectHandler(hostFrame, config) {
|
2200 | var apiKey = config.apiKey, shopOrigin = config.shopOrigin, _a = config.forceRedirect, forceRedirect = _a === void 0 ? !env_1.isDevelopmentClient : _a;
|
2201 | var location = redirect_1.getLocation();
|
2202 | if (env_1.isFrameless ||
|
2203 | !location ||
|
2204 | !apiKey ||
|
2205 | !shopOrigin ||
|
2206 | !forceRedirect ||
|
2207 | !redirect_1.shouldRedirect(hostFrame)) {
|
2208 | return;
|
2209 | }
|
2210 | var url = "https://" + shopOrigin + "/admin/apps/" + apiKey + location.pathname + (location.search ||
|
2211 | '');
|
2212 | redirect_1.redirect(url);
|
2213 | }
|
2214 | function appSetUp(app) {
|
2215 | app.subscribe(Print_1.ActionType.APP, print_1.handleAppPrint);
|
2216 | }
|
2217 |
|
2218 |
|
2219 |
|
2220 |
|
2221 |
|
2222 | function getUrlParams() {
|
2223 | var params = {};
|
2224 | var location = redirect_1.getLocation();
|
2225 | if (!location) {
|
2226 | return params;
|
2227 | }
|
2228 | var hashes = location.search.slice(location.search.indexOf('?') + 1).split('&');
|
2229 | return hashes.reduce(function (acc, hash) {
|
2230 | var _a;
|
2231 | var _b = hash.split('='), key = _b[0], val = _b[1];
|
2232 | return __assign({}, acc, (_a = {}, _a[decodeURIComponent(key)] = decodeURIComponent(val), _a));
|
2233 | }, params);
|
2234 | }
|
2235 | exports.getUrlParams = getUrlParams;
|
2236 |
|
2237 |
|
2238 |
|
2239 |
|
2240 |
|
2241 | function getShopOrigin() {
|
2242 | var params = getUrlParams();
|
2243 | return params.shop;
|
2244 | }
|
2245 | exports.getShopOrigin = getShopOrigin;
|
2246 |
|
2247 |
|
2248 |
|
2249 | exports.createClientApp = function (transport, middlewares) {
|
2250 | if (middlewares === void 0) { middlewares = []; }
|
2251 | var getStateListeners = [];
|
2252 | var listeners = [];
|
2253 | var actionListeners = {};
|
2254 | var invokeCallbacks = function (type, payload) {
|
2255 | var hasCallback = false;
|
2256 | if (actionListeners.hasOwnProperty(type)) {
|
2257 | for (var _i = 0, _a = actionListeners[type]; _i < _a.length; _i++) {
|
2258 | var listener = _a[_i];
|
2259 | var id = listener.id, callback = listener.callback;
|
2260 | var matchId = payload && payload.id === id;
|
2261 | if (matchId || !id) {
|
2262 | callback(payload);
|
2263 | hasCallback = true;
|
2264 | }
|
2265 | }
|
2266 | }
|
2267 | if (hasCallback) {
|
2268 | return;
|
2269 | }
|
2270 |
|
2271 | var errorType = helper_1.findMatchInEnum(Error_1.ActionType, type);
|
2272 | if (errorType) {
|
2273 | Error_1.throwError(errorType, payload);
|
2274 | }
|
2275 | };
|
2276 | var handler = function (event) {
|
2277 | var action = event.data;
|
2278 | switch (action.type) {
|
2279 | case 'getState':
|
2280 | var resolvers = getStateListeners.splice(0);
|
2281 | resolvers.forEach(function (resolver) { return resolver(action.payload); });
|
2282 | break;
|
2283 | case 'dispatch':
|
2284 | var payload_1 = action.payload;
|
2285 | invokeCallbacks(payload_1.type, payload_1.payload);
|
2286 | listeners.forEach(function (listener) { return listener.callback(payload_1); });
|
2287 | break;
|
2288 | default:
|
2289 |
|
2290 | }
|
2291 | };
|
2292 | transport.subscribe(handler);
|
2293 | return function (config) {
|
2294 | if (!config.shopOrigin) {
|
2295 | throw Error_1.fromAction('shopOrigin must be provided', Error_1.AppActionType.INVALID_CONFIG);
|
2296 | }
|
2297 | var protocol = /^https?:\/\//;
|
2298 | if (protocol.test(config.shopOrigin)) {
|
2299 | var message = "shopOrigin should not include protocol, please use: " + config.shopOrigin.replace(protocol, '');
|
2300 | throw Error_1.fromAction(message, Error_1.AppActionType.INVALID_CONFIG);
|
2301 | }
|
2302 | if (!config.apiKey) {
|
2303 | throw Error_1.fromAction('apiKey must be provided', Error_1.AppActionType.INVALID_CONFIG);
|
2304 | }
|
2305 | var dispatcher = createDispatcher(transport, config);
|
2306 |
|
2307 |
|
2308 | dispatcher(types_1.MessageType.Unsubscribe);
|
2309 | function dispatch(action) {
|
2310 | dispatcher(types_1.MessageType.Dispatch, action);
|
2311 | return action;
|
2312 | }
|
2313 | redirectHandler(transport.hostFrame, config);
|
2314 | var hooks = new Hooks_1.default();
|
2315 | var app = {
|
2316 | localOrigin: transport.localOrigin,
|
2317 | hooks: hooks,
|
2318 | dispatch: function (action) {
|
2319 | if (!app.hooks) {
|
2320 | return dispatch(action);
|
2321 | }
|
2322 | return app.hooks.run(types_1.LifecycleHook.DispatchAction, dispatch, app, action);
|
2323 | },
|
2324 | featuresAvailable: function (features) {
|
2325 | return app.getState('features').then(function (state) {
|
2326 | if (features) {
|
2327 | Object.keys(state).forEach(function (feature) {
|
2328 | if (!features.includes(feature)) {
|
2329 | delete state[feature];
|
2330 | }
|
2331 | });
|
2332 | }
|
2333 | return state;
|
2334 | });
|
2335 | },
|
2336 | getState: function (query) {
|
2337 | return new Promise(function (resolve) {
|
2338 | getStateListeners.push(resolve);
|
2339 | dispatcher(types_1.MessageType.GetState);
|
2340 | }).then(function (state) {
|
2341 | if (query) {
|
2342 | return query.split('.').reduce(function (value, key) {
|
2343 | if (typeof state !== 'object' || Array.isArray(state)) {
|
2344 | return undefined;
|
2345 | }
|
2346 | value = state[key];
|
2347 | state = value;
|
2348 | return value;
|
2349 | }, undefined);
|
2350 | }
|
2351 | return state;
|
2352 | });
|
2353 | },
|
2354 | subscribe: function () {
|
2355 | if (arguments.length < 2) {
|
2356 | return collection_1.addAndRemoveFromCollection(listeners, { callback: arguments[0] });
|
2357 | }
|
2358 | var type = arguments[0];
|
2359 | var callback = arguments[1];
|
2360 | var id = arguments[2];
|
2361 | var actionCallback = { callback: callback, id: id };
|
2362 | var payload = { type: type, id: id };
|
2363 | if (!actionListeners.hasOwnProperty(type)) {
|
2364 | actionListeners[type] = [];
|
2365 | }
|
2366 | dispatcher(types_1.MessageType.Subscribe, payload);
|
2367 | return collection_1.addAndRemoveFromCollection(actionListeners[type], actionCallback, function () {
|
2368 | return dispatcher(types_1.MessageType.Unsubscribe, payload);
|
2369 | });
|
2370 | },
|
2371 | error: function (listener, id) {
|
2372 | var _this = this;
|
2373 | var unsubscribeCb = [];
|
2374 | helper_1.forEachInEnum(Error_1.ActionType, function (eventNameSpace) {
|
2375 |
|
2376 | unsubscribeCb.push(_this.subscribe(eventNameSpace, listener, id));
|
2377 | });
|
2378 | return function () {
|
2379 | unsubscribeCb.forEach(function (unsubscribe) { return unsubscribe(); });
|
2380 | };
|
2381 | },
|
2382 | };
|
2383 | for (var _i = 0, middlewares_1 = middlewares; _i < middlewares_1.length; _i++) {
|
2384 | var middleware = middlewares_1[_i];
|
2385 | middleware(hooks, app);
|
2386 | }
|
2387 | appSetUp(app);
|
2388 | return app;
|
2389 | };
|
2390 | };
|
2391 |
|
2392 |
|
2393 |
|
2394 | function createAppWrapper(frame, localOrigin, middleware) {
|
2395 | if (middleware === void 0) { middleware = []; }
|
2396 | if (!frame) {
|
2397 | throw Error_1.fromAction(exports.WINDOW_UNDEFINED_MESSAGE, Error_1.AppActionType.WINDOW_UNDEFINED);
|
2398 | }
|
2399 | var location = redirect_1.getLocation();
|
2400 | var origin = localOrigin || (location && location.origin);
|
2401 | if (!origin) {
|
2402 | throw Error_1.fromAction('local origin cannot be blank', Error_1.AppActionType.MISSING_LOCAL_ORIGIN);
|
2403 | }
|
2404 | var transport = MessageTransport_1.fromWindow(frame, origin);
|
2405 | var appCreator = exports.createClientApp(transport, middleware);
|
2406 | return appCreator;
|
2407 | }
|
2408 | exports.createAppWrapper = createAppWrapper;
|
2409 |
|
2410 |
|
2411 |
|
2412 |
|
2413 |
|
2414 |
|
2415 |
|
2416 | function createApp(config) {
|
2417 | var currentWindow = redirect_1.getWindow();
|
2418 | if (!currentWindow) {
|
2419 | return shared_1.serverAppBridge;
|
2420 | }
|
2421 | return createAppWrapper(currentWindow.top)(config);
|
2422 | }
|
2423 | exports.createApp = createApp;
|
2424 | function createDispatcher(transport, config) {
|
2425 | return function (type, payload) {
|
2426 | transport.dispatch({
|
2427 | payload: payload,
|
2428 | source: config,
|
2429 | type: type,
|
2430 | });
|
2431 | };
|
2432 | }
|
2433 |
|
2434 |
|
2435 |
|
2436 |
|
2437 | exports.default = createApp;
|
2438 |
|
2439 |
|
2440 | }),
|
2441 |
|
2442 | (function(module, exports, __webpack_require__) {
|
2443 |
|
2444 | "use strict";
|
2445 |
|
2446 | Object.defineProperty(exports, "__esModule", { value: true });
|
2447 | var Error_1 = __webpack_require__(5);
|
2448 | var noop = function () { };
|
2449 |
|
2450 |
|
2451 |
|
2452 | exports.serverAppBridge = {
|
2453 | dispatch: function () {
|
2454 | return {};
|
2455 | },
|
2456 | error: function () {
|
2457 | return noop;
|
2458 | },
|
2459 | featuresAvailable: function () {
|
2460 | return Promise.reject(Error_1.fromAction('Feature detection is only available on the client side.', Error_1.AppActionType.WINDOW_UNDEFINED));
|
2461 | },
|
2462 | getState: function () {
|
2463 | return Promise.reject(Error_1.fromAction('State is only available on the client side.', Error_1.AppActionType.WINDOW_UNDEFINED));
|
2464 | },
|
2465 | localOrigin: '',
|
2466 | subscribe: function () {
|
2467 | return noop;
|
2468 | },
|
2469 | };
|
2470 |
|
2471 |
|
2472 | }),
|
2473 |
|
2474 | (function(module, exports, __webpack_require__) {
|
2475 |
|
2476 | "use strict";
|
2477 |
|
2478 | Object.defineProperty(exports, "__esModule", { value: true });
|
2479 | var ButtonGroup_1 = __webpack_require__(7);
|
2480 | exports.ActionType = ButtonGroup_1.ActionType;
|
2481 | var button_1 = __webpack_require__(12);
|
2482 | var type_validate_1 = __webpack_require__(2);
|
2483 | var utils_1 = __webpack_require__(3);
|
2484 | exports.buttonGroupSchema = type_validate_1.composeSchemas(button_1.buttonSchema, type_validate_1.matchesObject({
|
2485 | buttons: type_validate_1.matchesArray(type_validate_1.makeOptional(button_1.buttonSchemaWithId)),
|
2486 | }));
|
2487 | function validateProps(props) {
|
2488 | return type_validate_1.validate(props, exports.buttonGroupSchema);
|
2489 | }
|
2490 | exports.validateProps = validateProps;
|
2491 | function validateAction(action) {
|
2492 | var validator = utils_1.createActionValidator(ButtonGroup_1.ActionType, exports.buttonGroupSchema, true, true);
|
2493 | return type_validate_1.validate(action, validator);
|
2494 | }
|
2495 | exports.validateAction = validateAction;
|
2496 |
|
2497 |
|
2498 | }),
|
2499 |
|
2500 | (function(module, exports, __webpack_require__) {
|
2501 |
|
2502 | "use strict";
|
2503 |
|
2504 | Object.defineProperty(exports, "__esModule", { value: true });
|
2505 | var actions_1 = __webpack_require__(6);
|
2506 | var Redirect_1 = __webpack_require__(17);
|
2507 | var type_validate_1 = __webpack_require__(2);
|
2508 | var utils_1 = __webpack_require__(3);
|
2509 | var AppLink_1 = __webpack_require__(11);
|
2510 | exports.ActionType = AppLink_1.ActionType;
|
2511 | var allowedRedirectTypes;
|
2512 | (function (allowedRedirectTypes) {
|
2513 | allowedRedirectTypes[allowedRedirectTypes["APP"] = Redirect_1.Action.APP] = "APP";
|
2514 | })(allowedRedirectTypes || (allowedRedirectTypes = {}));
|
2515 | exports.linkPropsSchema = type_validate_1.matchesObject({
|
2516 | label: type_validate_1.matchesString(),
|
2517 | destination: utils_1.relativeUrlSchema,
|
2518 | redirectType: type_validate_1.matchesEnum(allowedRedirectTypes),
|
2519 | });
|
2520 | exports.linkActionSchema = type_validate_1.matchesObject({
|
2521 | label: type_validate_1.matchesString(),
|
2522 | destination: utils_1.relativePathSchema,
|
2523 | redirectType: type_validate_1.matchesEnum(allowedRedirectTypes),
|
2524 | });
|
2525 | function validateProps(props) {
|
2526 | return type_validate_1.validate(props, exports.linkPropsSchema);
|
2527 | }
|
2528 | exports.validateProps = validateProps;
|
2529 | function validateAction(action) {
|
2530 | var actionType = actions_1.AppLink.ActionType;
|
2531 | var schema;
|
2532 | switch (action.type) {
|
2533 | case actions_1.AppLink.ActionType.UPDATE:
|
2534 | actionType = actions_1.AppLink.ActionType;
|
2535 | schema = exports.linkActionSchema;
|
2536 | }
|
2537 | return type_validate_1.validate(action, utils_1.createActionValidator(actionType, schema, true, true));
|
2538 | }
|
2539 | exports.validateAction = validateAction;
|
2540 |
|
2541 |
|
2542 | }),
|
2543 |
|
2544 | (function(module, exports, __webpack_require__) {
|
2545 |
|
2546 | "use strict";
|
2547 |
|
2548 | function __export(m) {
|
2549 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
2550 | }
|
2551 | var __importStar = (this && this.__importStar) || function (mod) {
|
2552 | if (mod && mod.__esModule) return mod;
|
2553 | var result = {};
|
2554 | if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
2555 | result["default"] = mod;
|
2556 | return result;
|
2557 | };
|
2558 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
2559 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
2560 | };
|
2561 | Object.defineProperty(exports, "__esModule", { value: true });
|
2562 | var actions = __importStar(__webpack_require__(6));
|
2563 | exports.actions = actions;
|
2564 | var validate_1 = __importDefault(__webpack_require__(80));
|
2565 | var utils_1 = __webpack_require__(3);
|
2566 | var redirect_1 = __webpack_require__(20);
|
2567 | var client_1 = __webpack_require__(19);
|
2568 | var shared_1 = __webpack_require__(45);
|
2569 |
|
2570 |
|
2571 |
|
2572 |
|
2573 |
|
2574 |
|
2575 |
|
2576 |
|
2577 |
|
2578 |
|
2579 | function createApp(config) {
|
2580 | var currentWindow = redirect_1.getWindow();
|
2581 | if (!currentWindow) {
|
2582 | return shared_1.serverAppBridge;
|
2583 | }
|
2584 | utils_1.mixedAppClientCheck(currentWindow);
|
2585 | return client_1.createAppWrapper(currentWindow.top, currentWindow.location.origin, [validate_1.default])(config);
|
2586 | }
|
2587 | exports.createApp = createApp;
|
2588 | exports.default = createApp;
|
2589 | __export(__webpack_require__(13));
|
2590 | __export(__webpack_require__(19));
|
2591 |
|
2592 |
|
2593 | }),
|
2594 |
|
2595 | (function(module, exports, __webpack_require__) {
|
2596 |
|
2597 | "use strict";
|
2598 |
|
2599 | Object.defineProperty(exports, "__esModule", { value: true });
|
2600 | var helper_1 = __webpack_require__(0);
|
2601 | var types_1 = __webpack_require__(1);
|
2602 | var ActionType;
|
2603 | (function (ActionType) {
|
2604 | ActionType["REQUEST"] = "APP::AUTH_CODE::REQUEST";
|
2605 | ActionType["RESPOND"] = "APP::AUTH_CODE::RESPOND";
|
2606 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
2607 | var Action;
|
2608 | (function (Action) {
|
2609 | Action["REQUEST"] = "REQUEST";
|
2610 | Action["RESPOND"] = "RESPOND";
|
2611 | })(Action = exports.Action || (exports.Action = {}));
|
2612 | function request() {
|
2613 | return helper_1.actionWrapper({
|
2614 | group: types_1.Group.AuthCode,
|
2615 | type: ActionType.REQUEST,
|
2616 | });
|
2617 | }
|
2618 | exports.request = request;
|
2619 | function respond(payload) {
|
2620 | return helper_1.actionWrapper({
|
2621 | payload: payload,
|
2622 | group: types_1.Group.AuthCode,
|
2623 | type: ActionType.RESPOND,
|
2624 | });
|
2625 | }
|
2626 | exports.respond = respond;
|
2627 |
|
2628 |
|
2629 | }),
|
2630 |
|
2631 | (function(module, exports, __webpack_require__) {
|
2632 |
|
2633 | "use strict";
|
2634 |
|
2635 | Object.defineProperty(exports, "__esModule", { value: true });
|
2636 | var helper_1 = __webpack_require__(0);
|
2637 | var types_1 = __webpack_require__(1);
|
2638 | var types_2 = __webpack_require__(21);
|
2639 | function errorActionWrapperWithId(type, action, message) {
|
2640 | var castPayload = action.payload;
|
2641 | return helper_1.actionWrapper({
|
2642 | type: type,
|
2643 | group: types_1.Group.Error,
|
2644 | payload: {
|
2645 | action: action,
|
2646 | message: message,
|
2647 | type: type,
|
2648 | id: castPayload && castPayload.id ? castPayload.id : undefined,
|
2649 | },
|
2650 | });
|
2651 | }
|
2652 | var Message;
|
2653 | (function (Message) {
|
2654 | Message["MISSING_PAYLOAD"] = "Missing payload";
|
2655 | Message["INVALID_PAYLOAD_ID"] = "Id in payload is missing or invalid";
|
2656 | })(Message = exports.Message || (exports.Message = {}));
|
2657 | function invalidPayload(action, message) {
|
2658 | return errorActionWrapperWithId(types_2.ActionType.INVALID_PAYLOAD, action, message || "The action's payload is missing required properties or has invalid properties");
|
2659 | }
|
2660 | exports.invalidPayload = invalidPayload;
|
2661 | function invalidActionType(action, message) {
|
2662 | return helper_1.actionWrapper({
|
2663 | group: types_1.Group.Error,
|
2664 | payload: {
|
2665 | action: action,
|
2666 | message: message || 'The action type is invalid or unsupported',
|
2667 | type: types_2.ActionType.INVALID_ACTION_TYPE,
|
2668 | },
|
2669 | type: types_2.ActionType.INVALID_ACTION_TYPE,
|
2670 | });
|
2671 | }
|
2672 | exports.invalidActionType = invalidActionType;
|
2673 | function invalidAction(action, message) {
|
2674 | return helper_1.actionWrapper({
|
2675 | group: types_1.Group.Error,
|
2676 | payload: {
|
2677 | action: action,
|
2678 | message: message || "The action's has missing/invalid values for `group`, `type` or `version`",
|
2679 | type: types_2.ActionType.INVALID_ACTION,
|
2680 | },
|
2681 | type: types_2.ActionType.INVALID_ACTION,
|
2682 | });
|
2683 | }
|
2684 | exports.invalidAction = invalidAction;
|
2685 | function unexpectedAction(action, message) {
|
2686 | return helper_1.actionWrapper({
|
2687 | group: types_1.Group.Error,
|
2688 | payload: {
|
2689 | action: action,
|
2690 | message: message || 'Action cannot be called at this time',
|
2691 | type: types_2.ActionType.UNEXPECTED_ACTION,
|
2692 | },
|
2693 | type: types_2.ActionType.UNEXPECTED_ACTION,
|
2694 | });
|
2695 | }
|
2696 | exports.unexpectedAction = unexpectedAction;
|
2697 | function unsupportedOperationAction(action, message) {
|
2698 | return errorActionWrapperWithId(types_2.ActionType.UNSUPPORTED_OPERATION, action, message || 'The action type is unsupported');
|
2699 | }
|
2700 | exports.unsupportedOperationAction = unsupportedOperationAction;
|
2701 | function persistenceAction(action, message) {
|
2702 | return errorActionWrapperWithId(types_2.ActionType.PERSISTENCE, action, message || 'Action cannot be persisted on server');
|
2703 | }
|
2704 | exports.persistenceAction = persistenceAction;
|
2705 | function networkAction(action, message) {
|
2706 | return errorActionWrapperWithId(types_2.ActionType.NETWORK, action, message || 'Network error');
|
2707 | }
|
2708 | exports.networkAction = networkAction;
|
2709 | function permissionAction(action, message) {
|
2710 | return errorActionWrapperWithId(types_2.ActionType.PERMISSION, action, message || 'Action is not permitted');
|
2711 | }
|
2712 | exports.permissionAction = permissionAction;
|
2713 | function isErrorEventName(eventName) {
|
2714 | var match = helper_1.findMatchInEnum(types_2.Action, eventName);
|
2715 | return typeof match === 'string';
|
2716 | }
|
2717 | exports.isErrorEventName = isErrorEventName;
|
2718 | var AppBridgeError = (function () {
|
2719 | function AppBridgeError(message) {
|
2720 | this.name = 'AppBridgeError';
|
2721 | this.message = message;
|
2722 | if (typeof Error.captureStackTrace === 'function') {
|
2723 | Error.captureStackTrace(this, this.constructor);
|
2724 | }
|
2725 | else {
|
2726 | this.stack = new Error(this.message).stack;
|
2727 | }
|
2728 | }
|
2729 | return AppBridgeError;
|
2730 | }());
|
2731 | exports.AppBridgeError = AppBridgeError;
|
2732 | AppBridgeError.prototype = Object.create(Error.prototype);
|
2733 | function fromAction(message, type, action) {
|
2734 | var errorMessage = message ? type + ": " + message : type;
|
2735 | var error = new AppBridgeError(errorMessage);
|
2736 | error.action = action;
|
2737 | error.type = type;
|
2738 | return error;
|
2739 | }
|
2740 | exports.fromAction = fromAction;
|
2741 | function throwError() {
|
2742 | var type = arguments[0];
|
2743 | var message;
|
2744 | var action;
|
2745 | if (typeof arguments[1] === 'string') {
|
2746 | message = arguments[1];
|
2747 | }
|
2748 | else {
|
2749 | action = arguments[1];
|
2750 | message = arguments[2] || '';
|
2751 | }
|
2752 | throw fromAction(message, type, action);
|
2753 | }
|
2754 | exports.throwError = throwError;
|
2755 |
|
2756 |
|
2757 | }),
|
2758 |
|
2759 | (function(module, exports) {
|
2760 |
|
2761 |
|
2762 | var process = module.exports = {};
|
2763 |
|
2764 |
|
2765 |
|
2766 |
|
2767 |
|
2768 |
|
2769 | var cachedSetTimeout;
|
2770 | var cachedClearTimeout;
|
2771 |
|
2772 | function defaultSetTimout() {
|
2773 | throw new Error('setTimeout has not been defined');
|
2774 | }
|
2775 | function defaultClearTimeout () {
|
2776 | throw new Error('clearTimeout has not been defined');
|
2777 | }
|
2778 | (function () {
|
2779 | try {
|
2780 | if (typeof setTimeout === 'function') {
|
2781 | cachedSetTimeout = setTimeout;
|
2782 | } else {
|
2783 | cachedSetTimeout = defaultSetTimout;
|
2784 | }
|
2785 | } catch (e) {
|
2786 | cachedSetTimeout = defaultSetTimout;
|
2787 | }
|
2788 | try {
|
2789 | if (typeof clearTimeout === 'function') {
|
2790 | cachedClearTimeout = clearTimeout;
|
2791 | } else {
|
2792 | cachedClearTimeout = defaultClearTimeout;
|
2793 | }
|
2794 | } catch (e) {
|
2795 | cachedClearTimeout = defaultClearTimeout;
|
2796 | }
|
2797 | } ())
|
2798 | function runTimeout(fun) {
|
2799 | if (cachedSetTimeout === setTimeout) {
|
2800 |
|
2801 | return setTimeout(fun, 0);
|
2802 | }
|
2803 |
|
2804 | if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
2805 | cachedSetTimeout = setTimeout;
|
2806 | return setTimeout(fun, 0);
|
2807 | }
|
2808 | try {
|
2809 |
|
2810 | return cachedSetTimeout(fun, 0);
|
2811 | } catch(e){
|
2812 | try {
|
2813 |
|
2814 | return cachedSetTimeout.call(null, fun, 0);
|
2815 | } catch(e){
|
2816 |
|
2817 | return cachedSetTimeout.call(this, fun, 0);
|
2818 | }
|
2819 | }
|
2820 |
|
2821 |
|
2822 | }
|
2823 | function runClearTimeout(marker) {
|
2824 | if (cachedClearTimeout === clearTimeout) {
|
2825 |
|
2826 | return clearTimeout(marker);
|
2827 | }
|
2828 |
|
2829 | if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
2830 | cachedClearTimeout = clearTimeout;
|
2831 | return clearTimeout(marker);
|
2832 | }
|
2833 | try {
|
2834 |
|
2835 | return cachedClearTimeout(marker);
|
2836 | } catch (e){
|
2837 | try {
|
2838 |
|
2839 | return cachedClearTimeout.call(null, marker);
|
2840 | } catch (e){
|
2841 |
|
2842 |
|
2843 | return cachedClearTimeout.call(this, marker);
|
2844 | }
|
2845 | }
|
2846 |
|
2847 |
|
2848 |
|
2849 | }
|
2850 | var queue = [];
|
2851 | var draining = false;
|
2852 | var currentQueue;
|
2853 | var queueIndex = -1;
|
2854 |
|
2855 | function cleanUpNextTick() {
|
2856 | if (!draining || !currentQueue) {
|
2857 | return;
|
2858 | }
|
2859 | draining = false;
|
2860 | if (currentQueue.length) {
|
2861 | queue = currentQueue.concat(queue);
|
2862 | } else {
|
2863 | queueIndex = -1;
|
2864 | }
|
2865 | if (queue.length) {
|
2866 | drainQueue();
|
2867 | }
|
2868 | }
|
2869 |
|
2870 | function drainQueue() {
|
2871 | if (draining) {
|
2872 | return;
|
2873 | }
|
2874 | var timeout = runTimeout(cleanUpNextTick);
|
2875 | draining = true;
|
2876 |
|
2877 | var len = queue.length;
|
2878 | while(len) {
|
2879 | currentQueue = queue;
|
2880 | queue = [];
|
2881 | while (++queueIndex < len) {
|
2882 | if (currentQueue) {
|
2883 | currentQueue[queueIndex].run();
|
2884 | }
|
2885 | }
|
2886 | queueIndex = -1;
|
2887 | len = queue.length;
|
2888 | }
|
2889 | currentQueue = null;
|
2890 | draining = false;
|
2891 | runClearTimeout(timeout);
|
2892 | }
|
2893 |
|
2894 | process.nextTick = function (fun) {
|
2895 | var args = new Array(arguments.length - 1);
|
2896 | if (arguments.length > 1) {
|
2897 | for (var i = 1; i < arguments.length; i++) {
|
2898 | args[i - 1] = arguments[i];
|
2899 | }
|
2900 | }
|
2901 | queue.push(new Item(fun, args));
|
2902 | if (queue.length === 1 && !draining) {
|
2903 | runTimeout(drainQueue);
|
2904 | }
|
2905 | };
|
2906 |
|
2907 |
|
2908 | function Item(fun, array) {
|
2909 | this.fun = fun;
|
2910 | this.array = array;
|
2911 | }
|
2912 | Item.prototype.run = function () {
|
2913 | this.fun.apply(null, this.array);
|
2914 | };
|
2915 | process.title = 'browser';
|
2916 | process.browser = true;
|
2917 | process.env = {};
|
2918 | process.argv = [];
|
2919 | process.version = '';
|
2920 | process.versions = {};
|
2921 |
|
2922 | function noop() {}
|
2923 |
|
2924 | process.on = noop;
|
2925 | process.addListener = noop;
|
2926 | process.once = noop;
|
2927 | process.off = noop;
|
2928 | process.removeListener = noop;
|
2929 | process.removeAllListeners = noop;
|
2930 | process.emit = noop;
|
2931 | process.prependListener = noop;
|
2932 | process.prependOnceListener = noop;
|
2933 |
|
2934 | process.listeners = function (name) { return [] }
|
2935 |
|
2936 | process.binding = function (name) {
|
2937 | throw new Error('process.binding is not supported');
|
2938 | };
|
2939 |
|
2940 | process.cwd = function () { return '/' };
|
2941 | process.chdir = function (dir) {
|
2942 | throw new Error('process.chdir is not supported');
|
2943 | };
|
2944 | process.umask = function() { return 0; };
|
2945 |
|
2946 |
|
2947 | }),
|
2948 |
|
2949 | (function(module, exports, __webpack_require__) {
|
2950 |
|
2951 | "use strict";
|
2952 |
|
2953 | Object.defineProperty(exports, "__esModule", { value: true });
|
2954 |
|
2955 |
|
2956 |
|
2957 |
|
2958 |
|
2959 |
|
2960 | function mergeProps(obj, newObj) {
|
2961 | if (newObj == undefined) {
|
2962 | return newObj;
|
2963 | }
|
2964 |
|
2965 | if (typeof obj === 'undefined' ||
|
2966 | !Object.getPrototypeOf(obj).isPrototypeOf(newObj) ||
|
2967 | (newObj.constructor.name !== 'Object' && newObj.constructor.name !== 'Array')) {
|
2968 | return newObj;
|
2969 | }
|
2970 | var clone = {};
|
2971 | Object.keys(newObj).forEach(function (key) {
|
2972 | var exists = obj.hasOwnProperty(key);
|
2973 | if (!exists) {
|
2974 | clone[key] = newObj[key];
|
2975 | }
|
2976 | else {
|
2977 | if (typeof obj[key] === 'object' && !Array.isArray(obj[key])) {
|
2978 | clone[key] = mergeProps(obj[key], newObj[key]);
|
2979 | }
|
2980 | else {
|
2981 | clone[key] = newObj[key];
|
2982 | }
|
2983 | }
|
2984 | });
|
2985 |
|
2986 | Object.keys(obj).forEach(function (key) {
|
2987 | var exists = newObj.hasOwnProperty(key);
|
2988 | if (!exists) {
|
2989 | clone[key] = obj[key];
|
2990 | }
|
2991 | });
|
2992 |
|
2993 | Object.setPrototypeOf(clone, Object.getPrototypeOf(obj));
|
2994 | return clone;
|
2995 | }
|
2996 | exports.default = mergeProps;
|
2997 |
|
2998 |
|
2999 | }),
|
3000 |
|
3001 | (function(module, exports, __webpack_require__) {
|
3002 |
|
3003 | "use strict";
|
3004 |
|
3005 | Object.defineProperty(exports, "__esModule", { value: true });
|
3006 |
|
3007 |
|
3008 |
|
3009 | function asHex(value) {
|
3010 | return Array.from(value)
|
3011 | .map(function (i) { return ("00" + i.toString(16)).slice(-2); })
|
3012 | .join('');
|
3013 | }
|
3014 |
|
3015 |
|
3016 |
|
3017 | function getRandomBytes(size) {
|
3018 |
|
3019 | if (typeof Uint8Array === 'function' && typeof window === 'object' && window.crypto) {
|
3020 | var buffer = new Uint8Array(size);
|
3021 | var randomValues = window.crypto.getRandomValues(buffer);
|
3022 | if (randomValues) {
|
3023 | return randomValues;
|
3024 | }
|
3025 | }
|
3026 |
|
3027 | return Array.from(new Array(size), function () { return (Math.random() * 255) | 0; });
|
3028 | }
|
3029 |
|
3030 |
|
3031 |
|
3032 |
|
3033 |
|
3034 | function generateUuid() {
|
3035 | var version = 64;
|
3036 | var clockSeqHiAndReserved = getRandomBytes(1);
|
3037 | var timeHiAndVersion = getRandomBytes(2);
|
3038 | clockSeqHiAndReserved[0] &= 63 | 128;
|
3039 |
|
3040 | timeHiAndVersion[0] &= 15 | version;
|
3041 | return [
|
3042 | asHex(getRandomBytes(4)),
|
3043 | '-',
|
3044 | asHex(getRandomBytes(2)),
|
3045 | '-',
|
3046 | asHex(timeHiAndVersion),
|
3047 | '-',
|
3048 | asHex(clockSeqHiAndReserved),
|
3049 | asHex(getRandomBytes(1)),
|
3050 | '-',
|
3051 | asHex(getRandomBytes(6)),
|
3052 | ].join('');
|
3053 | }
|
3054 | exports.generateUuid = generateUuid;
|
3055 |
|
3056 | exports.default = generateUuid;
|
3057 |
|
3058 |
|
3059 | }),
|
3060 |
|
3061 | (function(module) {
|
3062 |
|
3063 | module.exports = JSON.parse("{\"name\":\"@shopify/app-bridge\",\"version\":\"1.24.0\",\"types\":\"index.d.ts\",\"main\":\"index.js\",\"unpkg\":\"umd/index.js\",\"jsdelivr\":\"umd/index.js\",\"files\":[\"/actions/\",\"/client/\",\"/umd/\",\"/util/\",\"/validate/\",\"/MessageTransport.d.ts\",\"/MessageTransport.js\",\"/development.d.ts\",\"/development.js\",\"/index.d.ts\",\"/index.js\",\"/production.d.ts\",\"/production.js\"],\"private\":false,\"publishConfig\":{\"access\":\"public\",\"@shopify:registry\":\"https://registry.npmjs.org\"},\"repository\":\"git@github.com:Shopify/app-bridge.git\",\"author\":\"Shopify Inc.\",\"license\":\"MIT\",\"scripts\":{\"build\":\"yarn build:tsc && yarn build:umd\",\"build:tsc\":\"NODE_ENV=production tsc\",\"build:umd\":\"NODE_ENV=production webpack -p\",\"check\":\"tsc --pretty --noEmit\",\"clean\":\"cat package.json | node -pe \\\"JSON.parse(require('fs').readFileSync('/dev/stdin').toString()).files.map(f => './'+f).join(' ')\\\" | xargs rm -rf\",\"pack\":\"yarn pack\",\"size\":\"size-limit\"},\"sideEffects\":false,\"size-limit\":[{\"limit\":\"16 KB\",\"path\":\"production.js\"}],\"devDependencies\":{\"@types/node\":\"^10.12.5\",\"typescript\":\"3.2.1\"}}");
|
3064 |
|
3065 | }),
|
3066 |
|
3067 | (function(module, exports, __webpack_require__) {
|
3068 |
|
3069 | "use strict";
|
3070 |
|
3071 | var __extends = (this && this.__extends) || (function () {
|
3072 | var extendStatics = function (d, b) {
|
3073 | extendStatics = Object.setPrototypeOf ||
|
3074 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
3075 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
3076 | return extendStatics(d, b);
|
3077 | };
|
3078 | return function (d, b) {
|
3079 | extendStatics(d, b);
|
3080 | function __() { this.constructor = d; }
|
3081 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
3082 | };
|
3083 | })();
|
3084 | var __assign = (this && this.__assign) || function () {
|
3085 | __assign = Object.assign || function(t) {
|
3086 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
3087 | s = arguments[i];
|
3088 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
3089 | t[p] = s[p];
|
3090 | }
|
3091 | return t;
|
3092 | };
|
3093 | return __assign.apply(this, arguments);
|
3094 | };
|
3095 | Object.defineProperty(exports, "__esModule", { value: true });
|
3096 | var helper_1 = __webpack_require__(0);
|
3097 | var types_1 = __webpack_require__(1);
|
3098 | var types_2 = __webpack_require__(24);
|
3099 | function clickButton(group, component, payload) {
|
3100 | var id = component.id;
|
3101 | var action = helper_1.getEventNameSpace(group, types_2.Action.CLICK, component);
|
3102 | var buttonPayload = {
|
3103 | id: id,
|
3104 | payload: payload,
|
3105 | };
|
3106 | return helper_1.actionWrapper({ type: action, group: group, payload: buttonPayload });
|
3107 | }
|
3108 | exports.clickButton = clickButton;
|
3109 | function update(group, component, props) {
|
3110 | var id = component.id;
|
3111 | var label = props.label;
|
3112 | var action = helper_1.getEventNameSpace(group, types_2.Action.UPDATE, component);
|
3113 | var buttonPayload = __assign({ id: id,
|
3114 | label: label }, props);
|
3115 | return helper_1.actionWrapper({ type: action, group: group, payload: buttonPayload });
|
3116 | }
|
3117 | exports.update = update;
|
3118 | function isValidButtonProps(button) {
|
3119 | return typeof button.id === 'string' && typeof button.label === 'string';
|
3120 | }
|
3121 | exports.isValidButtonProps = isValidButtonProps;
|
3122 | var Button = (function (_super) {
|
3123 | __extends(Button, _super);
|
3124 | function Button(app, options) {
|
3125 | var _this = _super.call(this, app, types_1.ComponentType.Button, types_1.Group.Button) || this;
|
3126 | _this.disabled = false;
|
3127 | _this.loading = false;
|
3128 | _this.set(options, false);
|
3129 | return _this;
|
3130 | }
|
3131 | Object.defineProperty(Button.prototype, "options", {
|
3132 | get: function () {
|
3133 | return {
|
3134 | disabled: this.disabled,
|
3135 | icon: this.icon,
|
3136 | label: this.label,
|
3137 | style: this.style,
|
3138 | loading: this.loading,
|
3139 | };
|
3140 | },
|
3141 | enumerable: true,
|
3142 | configurable: true
|
3143 | });
|
3144 | Object.defineProperty(Button.prototype, "payload", {
|
3145 | get: function () {
|
3146 | return __assign({ id: this.id }, this.options);
|
3147 | },
|
3148 | enumerable: true,
|
3149 | configurable: true
|
3150 | });
|
3151 | Button.prototype.set = function (options, shouldUpdate) {
|
3152 | if (shouldUpdate === void 0) { shouldUpdate = true; }
|
3153 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
3154 | var label = mergedOptions.label, disabled = mergedOptions.disabled, icon = mergedOptions.icon, style = mergedOptions.style, loading = mergedOptions.loading;
|
3155 | this.label = label;
|
3156 | this.disabled = !!disabled;
|
3157 | this.icon = icon;
|
3158 | this.style = style;
|
3159 | this.loading = !!loading;
|
3160 | if (shouldUpdate) {
|
3161 | this.dispatch(types_2.Action.UPDATE);
|
3162 | }
|
3163 | return this;
|
3164 | };
|
3165 | Button.prototype.dispatch = function (action, payload) {
|
3166 | switch (action) {
|
3167 | case types_2.Action.CLICK:
|
3168 | this.app.dispatch(clickButton(this.group, this.component, payload));
|
3169 | break;
|
3170 | case types_2.Action.UPDATE:
|
3171 | var updateAction = update(this.group, this.component, this.payload);
|
3172 | this.app.dispatch(updateAction);
|
3173 | break;
|
3174 | }
|
3175 | return this;
|
3176 | };
|
3177 | return Button;
|
3178 | }(helper_1.ActionSet));
|
3179 | exports.Button = Button;
|
3180 | function create(app, options) {
|
3181 | return new Button(app, options);
|
3182 | }
|
3183 | exports.create = create;
|
3184 |
|
3185 |
|
3186 | }),
|
3187 |
|
3188 | (function(module, exports, __webpack_require__) {
|
3189 |
|
3190 | "use strict";
|
3191 |
|
3192 | var __extends = (this && this.__extends) || (function () {
|
3193 | var extendStatics = function (d, b) {
|
3194 | extendStatics = Object.setPrototypeOf ||
|
3195 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
3196 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
3197 | return extendStatics(d, b);
|
3198 | };
|
3199 | return function (d, b) {
|
3200 | extendStatics(d, b);
|
3201 | function __() { this.constructor = d; }
|
3202 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
3203 | };
|
3204 | })();
|
3205 | var __assign = (this && this.__assign) || function () {
|
3206 | __assign = Object.assign || function(t) {
|
3207 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
3208 | s = arguments[i];
|
3209 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
3210 | t[p] = s[p];
|
3211 | }
|
3212 | return t;
|
3213 | };
|
3214 | return __assign.apply(this, arguments);
|
3215 | };
|
3216 | Object.defineProperty(exports, "__esModule", { value: true });
|
3217 | var buttonHelper_1 = __webpack_require__(15);
|
3218 | var helper_1 = __webpack_require__(0);
|
3219 | var types_1 = __webpack_require__(1);
|
3220 | var types_2 = __webpack_require__(25);
|
3221 | function update(group, component, props) {
|
3222 | return buttonActionWrapper(group, component, types_2.Action.UPDATE, props);
|
3223 | }
|
3224 | exports.update = update;
|
3225 | function isGroupedButton(options) {
|
3226 | var castOptions = options;
|
3227 | return castOptions.buttons && castOptions.buttons.length > 0 && castOptions.label !== undefined;
|
3228 | }
|
3229 | exports.isGroupedButton = isGroupedButton;
|
3230 | function isGroupedButtonPayload(payload) {
|
3231 | var castOptions = payload;
|
3232 | return (Array.isArray(castOptions.buttons) &&
|
3233 | typeof castOptions.id === 'string' &&
|
3234 | typeof castOptions.label === 'string');
|
3235 | }
|
3236 | exports.isGroupedButtonPayload = isGroupedButtonPayload;
|
3237 | var ButtonGroup = (function (_super) {
|
3238 | __extends(ButtonGroup, _super);
|
3239 | function ButtonGroup(app, options) {
|
3240 | var _this = _super.call(this, app, types_1.ComponentType.ButtonGroup, types_1.Group.ButtonGroup) || this;
|
3241 | _this.disabled = false;
|
3242 | _this.buttonsOptions = [];
|
3243 | _this.buttons = [];
|
3244 | _this.set(options, false);
|
3245 | return _this;
|
3246 | }
|
3247 | Object.defineProperty(ButtonGroup.prototype, "options", {
|
3248 | get: function () {
|
3249 | return {
|
3250 | buttons: this.buttonsOptions,
|
3251 | disabled: this.disabled,
|
3252 | label: this.label,
|
3253 | };
|
3254 | },
|
3255 | enumerable: true,
|
3256 | configurable: true
|
3257 | });
|
3258 | Object.defineProperty(ButtonGroup.prototype, "payload", {
|
3259 | get: function () {
|
3260 | return __assign({}, this.options, { buttons: this.buttons, id: this.id });
|
3261 | },
|
3262 | enumerable: true,
|
3263 | configurable: true
|
3264 | });
|
3265 | ButtonGroup.prototype.set = function (options, shouldUpdate) {
|
3266 | if (shouldUpdate === void 0) { shouldUpdate = true; }
|
3267 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
3268 | var label = mergedOptions.label, disabled = mergedOptions.disabled, buttons = mergedOptions.buttons;
|
3269 | this.label = label;
|
3270 | this.disabled = !!disabled;
|
3271 | this.buttons = this.getButtons(buttons);
|
3272 | if (shouldUpdate) {
|
3273 | this.dispatch(types_2.Action.UPDATE);
|
3274 | }
|
3275 | return this;
|
3276 | };
|
3277 | ButtonGroup.prototype.dispatch = function (action) {
|
3278 | switch (action) {
|
3279 | case types_2.Action.UPDATE:
|
3280 | var updateAction = update(this.group, this.component, this.payload);
|
3281 | this.app.dispatch(updateAction);
|
3282 | break;
|
3283 | }
|
3284 | return this;
|
3285 | };
|
3286 | ButtonGroup.prototype.updateButtons = function (newPayload) {
|
3287 | if (!this.buttons || this.buttons.length === 0) {
|
3288 | return;
|
3289 | }
|
3290 | var updated;
|
3291 | for (var _i = 0, _a = this.buttons; _i < _a.length; _i++) {
|
3292 | var action = _a[_i];
|
3293 | updated = helper_1.updateActionFromPayload(action, newPayload);
|
3294 | if (updated) {
|
3295 | break;
|
3296 | }
|
3297 | }
|
3298 | if (updated) {
|
3299 | this.dispatch(types_2.Action.UPDATE);
|
3300 | }
|
3301 | };
|
3302 | ButtonGroup.prototype.getSingleButton = function (button) {
|
3303 | return buttonHelper_1.getSingleButton(this, button, this.subgroups, this.updateButtons);
|
3304 | };
|
3305 | ButtonGroup.prototype.getButtons = function (buttonOptions) {
|
3306 | var _this = this;
|
3307 | var buttons = [];
|
3308 | if (!buttonOptions) {
|
3309 | return [];
|
3310 | }
|
3311 | buttonOptions.forEach(function (button) {
|
3312 | var singleButton = buttonHelper_1.getSingleButton(_this, button, _this.subgroups, _this.updateButtons);
|
3313 | buttons.push(singleButton);
|
3314 | });
|
3315 | this.buttonsOptions = buttonOptions;
|
3316 | return buttons;
|
3317 | };
|
3318 | return ButtonGroup;
|
3319 | }(helper_1.ActionSetWithChildren));
|
3320 | exports.ButtonGroup = ButtonGroup;
|
3321 | function create(app, options) {
|
3322 | return new ButtonGroup(app, options);
|
3323 | }
|
3324 | exports.create = create;
|
3325 | function buttonActionWrapper(group, component, eventName, props, payload) {
|
3326 | var id = component.id;
|
3327 | var label = props.label;
|
3328 | var action = helper_1.getEventNameSpace(group, eventName, component);
|
3329 | var buttonPayload = __assign({ id: id,
|
3330 | label: label }, props, { payload: payload });
|
3331 | return helper_1.actionWrapper({ type: action, group: group, payload: buttonPayload });
|
3332 | }
|
3333 |
|
3334 |
|
3335 | }),
|
3336 |
|
3337 | (function(module, exports, __webpack_require__) {
|
3338 |
|
3339 | "use strict";
|
3340 |
|
3341 | var __extends = (this && this.__extends) || (function () {
|
3342 | var extendStatics = function (d, b) {
|
3343 | extendStatics = Object.setPrototypeOf ||
|
3344 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
3345 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
3346 | return extendStatics(d, b);
|
3347 | };
|
3348 | return function (d, b) {
|
3349 | extendStatics(d, b);
|
3350 | function __() { this.constructor = d; }
|
3351 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
3352 | };
|
3353 | })();
|
3354 | var __assign = (this && this.__assign) || function () {
|
3355 | __assign = Object.assign || function(t) {
|
3356 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
3357 | s = arguments[i];
|
3358 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
3359 | t[p] = s[p];
|
3360 | }
|
3361 | return t;
|
3362 | };
|
3363 | return __assign.apply(this, arguments);
|
3364 | };
|
3365 | Object.defineProperty(exports, "__esModule", { value: true });
|
3366 | var helper_1 = __webpack_require__(0);
|
3367 | var types_1 = __webpack_require__(1);
|
3368 | var types_2 = __webpack_require__(27);
|
3369 |
|
3370 |
|
3371 |
|
3372 | var Cart = (function (_super) {
|
3373 | __extends(Cart, _super);
|
3374 | function Cart(app, options) {
|
3375 | return _super.call(this, app, types_1.Group.Cart, types_1.Group.Cart, options ? options.id : undefined) || this;
|
3376 | }
|
3377 | Cart.prototype.dispatch = function (action, payload) {
|
3378 | switch (action) {
|
3379 | case types_2.Action.FETCH:
|
3380 | this.dispatchCartAction(types_2.ActionType.FETCH);
|
3381 | break;
|
3382 | case types_2.Action.UPDATE:
|
3383 | this.dispatchCartAction(types_2.ActionType.UPDATE, payload);
|
3384 | break;
|
3385 | case types_2.Action.SET_CUSTOMER:
|
3386 | this.dispatchCartAction(types_2.ActionType.SET_CUSTOMER, payload);
|
3387 | break;
|
3388 | case types_2.Action.REMOVE_CUSTOMER:
|
3389 | this.dispatchCartAction(types_2.ActionType.REMOVE_CUSTOMER, payload);
|
3390 | break;
|
3391 | case types_2.Action.ADD_CUSTOMER_ADDRESS:
|
3392 | this.dispatchCartAction(types_2.ActionType.ADD_CUSTOMER_ADDRESS, payload);
|
3393 | break;
|
3394 | case types_2.Action.UPDATE_CUSTOMER_ADDRESS:
|
3395 | this.dispatchCartAction(types_2.ActionType.UPDATE_CUSTOMER_ADDRESS, payload);
|
3396 | break;
|
3397 | case types_2.Action.SET_DISCOUNT:
|
3398 | this.dispatchCartAction(types_2.ActionType.SET_DISCOUNT, payload);
|
3399 | break;
|
3400 | case types_2.Action.REMOVE_DISCOUNT:
|
3401 | this.dispatchCartAction(types_2.ActionType.REMOVE_DISCOUNT, payload);
|
3402 | break;
|
3403 | case types_2.Action.SET_PROPERTIES:
|
3404 | this.dispatchCartAction(types_2.ActionType.SET_PROPERTIES, payload);
|
3405 | break;
|
3406 | case types_2.Action.REMOVE_PROPERTIES:
|
3407 | this.dispatchCartAction(types_2.ActionType.REMOVE_PROPERTIES, payload);
|
3408 | break;
|
3409 | case types_2.Action.CLEAR:
|
3410 | this.dispatchCartAction(types_2.ActionType.CLEAR, payload);
|
3411 | break;
|
3412 | case types_2.Action.ADD_LINE_ITEM:
|
3413 | this.dispatchCartAction(types_2.ActionType.ADD_LINE_ITEM, payload);
|
3414 | break;
|
3415 | case types_2.Action.UPDATE_LINE_ITEM:
|
3416 | this.dispatchCartAction(types_2.ActionType.UPDATE_LINE_ITEM, payload);
|
3417 | break;
|
3418 | case types_2.Action.REMOVE_LINE_ITEM:
|
3419 | this.dispatchCartAction(types_2.ActionType.REMOVE_LINE_ITEM, payload);
|
3420 | break;
|
3421 | case types_2.Action.SET_LINE_ITEM_DISCOUNT:
|
3422 | this.dispatchCartAction(types_2.ActionType.SET_LINE_ITEM_DISCOUNT, payload);
|
3423 | break;
|
3424 | case types_2.Action.REMOVE_LINE_ITEM_DISCOUNT:
|
3425 | this.dispatchCartAction(types_2.ActionType.REMOVE_LINE_ITEM_DISCOUNT, payload);
|
3426 | break;
|
3427 | case types_2.Action.SET_LINE_ITEM_PROPERTIES:
|
3428 | this.dispatchCartAction(types_2.ActionType.SET_LINE_ITEM_PROPERTIES, payload);
|
3429 | break;
|
3430 | case types_2.Action.REMOVE_LINE_ITEM_PROPERTIES:
|
3431 | this.dispatchCartAction(types_2.ActionType.REMOVE_LINE_ITEM_PROPERTIES, payload);
|
3432 | break;
|
3433 | }
|
3434 | return this;
|
3435 | };
|
3436 | Cart.prototype.dispatchCartAction = function (type, payload) {
|
3437 | this.app.dispatch(helper_1.actionWrapper({
|
3438 | type: type,
|
3439 | group: types_1.Group.Cart,
|
3440 | payload: __assign({}, (payload || {}), { id: this.id }),
|
3441 | }));
|
3442 | };
|
3443 | return Cart;
|
3444 | }(helper_1.ActionSet));
|
3445 | exports.Cart = Cart;
|
3446 | function create(app, options) {
|
3447 | return new Cart(app, options);
|
3448 | }
|
3449 | exports.create = create;
|
3450 |
|
3451 |
|
3452 | }),
|
3453 |
|
3454 | (function(module, exports, __webpack_require__) {
|
3455 |
|
3456 | "use strict";
|
3457 |
|
3458 | function __export(m) {
|
3459 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
3460 | }
|
3461 | Object.defineProperty(exports, "__esModule", { value: true });
|
3462 | __export(__webpack_require__(59));
|
3463 | __export(__webpack_require__(16));
|
3464 |
|
3465 |
|
3466 | }),
|
3467 |
|
3468 | (function(module, exports, __webpack_require__) {
|
3469 |
|
3470 | "use strict";
|
3471 |
|
3472 | var __extends = (this && this.__extends) || (function () {
|
3473 | var extendStatics = function (d, b) {
|
3474 | extendStatics = Object.setPrototypeOf ||
|
3475 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
3476 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
3477 | return extendStatics(d, b);
|
3478 | };
|
3479 | return function (d, b) {
|
3480 | extendStatics(d, b);
|
3481 | function __() { this.constructor = d; }
|
3482 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
3483 | };
|
3484 | })();
|
3485 | Object.defineProperty(exports, "__esModule", { value: true });
|
3486 | var Toast_1 = __webpack_require__(10);
|
3487 | var Toast_2 = __webpack_require__(10);
|
3488 | exports.ActionBase = Toast_2.ActionBase;
|
3489 | exports.clear = Toast_2.clear;
|
3490 | exports.ClearAction = Toast_2.ClearAction;
|
3491 | exports.show = Toast_2.show;
|
3492 | exports.ShowAction = Toast_2.ShowAction;
|
3493 | exports.FlashAction = Toast_2.ToastAction;
|
3494 | var Flash = (function (_super) {
|
3495 | __extends(Flash, _super);
|
3496 | function Flash() {
|
3497 | return _super !== null && _super.apply(this, arguments) || this;
|
3498 | }
|
3499 | return Flash;
|
3500 | }(Toast_1.Toast));
|
3501 | exports.Flash = Flash;
|
3502 | function create(app, options) {
|
3503 | return new Flash(app, options);
|
3504 | }
|
3505 | exports.create = create;
|
3506 |
|
3507 |
|
3508 | }),
|
3509 |
|
3510 | (function(module, exports, __webpack_require__) {
|
3511 |
|
3512 | "use strict";
|
3513 |
|
3514 | var __extends = (this && this.__extends) || (function () {
|
3515 | var extendStatics = function (d, b) {
|
3516 | extendStatics = Object.setPrototypeOf ||
|
3517 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
3518 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
3519 | return extendStatics(d, b);
|
3520 | };
|
3521 | return function (d, b) {
|
3522 | extendStatics(d, b);
|
3523 | function __() { this.constructor = d; }
|
3524 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
3525 | };
|
3526 | })();
|
3527 | var __assign = (this && this.__assign) || function () {
|
3528 | __assign = Object.assign || function(t) {
|
3529 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
3530 | s = arguments[i];
|
3531 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
3532 | t[p] = s[p];
|
3533 | }
|
3534 | return t;
|
3535 | };
|
3536 | return __assign.apply(this, arguments);
|
3537 | };
|
3538 | Object.defineProperty(exports, "__esModule", { value: true });
|
3539 | var helper_1 = __webpack_require__(0);
|
3540 | var types_1 = __webpack_require__(1);
|
3541 | var types_2 = __webpack_require__(16);
|
3542 | function show(toastMessage) {
|
3543 | return helper_1.actionWrapper({
|
3544 | group: types_1.Group.Toast,
|
3545 | payload: toastMessage,
|
3546 | type: types_2.ActionType.SHOW,
|
3547 | });
|
3548 | }
|
3549 | exports.show = show;
|
3550 | function clear(payload) {
|
3551 | return helper_1.actionWrapper({
|
3552 | payload: payload,
|
3553 | group: types_1.Group.Toast,
|
3554 | type: types_2.ActionType.CLEAR,
|
3555 | });
|
3556 | }
|
3557 | exports.clear = clear;
|
3558 | var Toast = (function (_super) {
|
3559 | __extends(Toast, _super);
|
3560 | function Toast(app, options) {
|
3561 | var _this = _super.call(this, app, types_1.Group.Toast, types_1.Group.Toast) || this;
|
3562 | _this.message = '';
|
3563 | _this.duration = 5000;
|
3564 | _this.set(options);
|
3565 | return _this;
|
3566 | }
|
3567 | Object.defineProperty(Toast.prototype, "options", {
|
3568 | get: function () {
|
3569 | return {
|
3570 | duration: this.duration,
|
3571 | isError: this.isError,
|
3572 | message: this.message,
|
3573 | };
|
3574 | },
|
3575 | enumerable: true,
|
3576 | configurable: true
|
3577 | });
|
3578 | Object.defineProperty(Toast.prototype, "payload", {
|
3579 | get: function () {
|
3580 | return __assign({ id: this.id }, this.options);
|
3581 | },
|
3582 | enumerable: true,
|
3583 | configurable: true
|
3584 | });
|
3585 | Toast.prototype.set = function (options) {
|
3586 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
3587 | var message = mergedOptions.message, duration = mergedOptions.duration, isError = mergedOptions.isError;
|
3588 | this.message = message;
|
3589 | this.duration = duration;
|
3590 | this.isError = isError;
|
3591 | return this;
|
3592 | };
|
3593 | Toast.prototype.dispatch = function (action) {
|
3594 | switch (action) {
|
3595 | case types_2.Action.SHOW:
|
3596 | var openAction = show(this.payload);
|
3597 | this.app.dispatch(openAction);
|
3598 | break;
|
3599 | case types_2.Action.CLEAR:
|
3600 | this.app.dispatch(clear({ id: this.id }));
|
3601 | break;
|
3602 | }
|
3603 | return this;
|
3604 | };
|
3605 | return Toast;
|
3606 | }(helper_1.ActionSet));
|
3607 | exports.Toast = Toast;
|
3608 | function create(app, options) {
|
3609 | return new Toast(app, options);
|
3610 | }
|
3611 | exports.create = create;
|
3612 |
|
3613 |
|
3614 | }),
|
3615 |
|
3616 | (function(module, exports, __webpack_require__) {
|
3617 |
|
3618 | "use strict";
|
3619 |
|
3620 | function __export(m) {
|
3621 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
3622 | }
|
3623 | Object.defineProperty(exports, "__esModule", { value: true });
|
3624 | __export(__webpack_require__(62));
|
3625 | __export(__webpack_require__(28));
|
3626 |
|
3627 |
|
3628 | }),
|
3629 |
|
3630 | (function(module, exports, __webpack_require__) {
|
3631 |
|
3632 | "use strict";
|
3633 |
|
3634 | var __extends = (this && this.__extends) || (function () {
|
3635 | var extendStatics = function (d, b) {
|
3636 | extendStatics = Object.setPrototypeOf ||
|
3637 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
3638 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
3639 | return extendStatics(d, b);
|
3640 | };
|
3641 | return function (d, b) {
|
3642 | extendStatics(d, b);
|
3643 | function __() { this.constructor = d; }
|
3644 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
3645 | };
|
3646 | })();
|
3647 | var __assign = (this && this.__assign) || function () {
|
3648 | __assign = Object.assign || function(t) {
|
3649 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
3650 | s = arguments[i];
|
3651 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
3652 | t[p] = s[p];
|
3653 | }
|
3654 | return t;
|
3655 | };
|
3656 | return __assign.apply(this, arguments);
|
3657 | };
|
3658 | Object.defineProperty(exports, "__esModule", { value: true });
|
3659 | var helper_1 = __webpack_require__(0);
|
3660 | var types_1 = __webpack_require__(1);
|
3661 | var types_2 = __webpack_require__(28);
|
3662 |
|
3663 |
|
3664 |
|
3665 |
|
3666 | var Features = (function (_super) {
|
3667 | __extends(Features, _super);
|
3668 | function Features(app, options) {
|
3669 | return _super.call(this, app, types_1.Group.Features, types_1.Group.Features, options ? options.id : undefined) || this;
|
3670 | }
|
3671 | |
3672 |
|
3673 |
|
3674 | Features.prototype.dispatch = function (action, payload) {
|
3675 | switch (action) {
|
3676 | case types_2.Action.REQUEST:
|
3677 | this.dispatchFeaturesAction(types_2.ActionType.REQUEST, payload);
|
3678 | break;
|
3679 | }
|
3680 | return this;
|
3681 | };
|
3682 | |
3683 |
|
3684 |
|
3685 | Features.prototype.dispatchFeaturesAction = function (type, payload) {
|
3686 | this.app.dispatch(helper_1.actionWrapper({
|
3687 | group: types_1.Group.Features,
|
3688 | type: type,
|
3689 | payload: __assign({}, (payload || {}), { id: this.id }),
|
3690 | }));
|
3691 | };
|
3692 | return Features;
|
3693 | }(helper_1.ActionSet));
|
3694 | exports.Features = Features;
|
3695 |
|
3696 |
|
3697 |
|
3698 | function create(app, options) {
|
3699 | return new Features(app, options);
|
3700 | }
|
3701 | exports.create = create;
|
3702 |
|
3703 |
|
3704 | }),
|
3705 |
|
3706 | (function(module, exports, __webpack_require__) {
|
3707 |
|
3708 | "use strict";
|
3709 |
|
3710 | var __extends = (this && this.__extends) || (function () {
|
3711 | var extendStatics = function (d, b) {
|
3712 | extendStatics = Object.setPrototypeOf ||
|
3713 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
3714 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
3715 | return extendStatics(d, b);
|
3716 | };
|
3717 | return function (d, b) {
|
3718 | extendStatics(d, b);
|
3719 | function __() { this.constructor = d; }
|
3720 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
3721 | };
|
3722 | })();
|
3723 | Object.defineProperty(exports, "__esModule", { value: true });
|
3724 | var helper_1 = __webpack_require__(0);
|
3725 | var types_1 = __webpack_require__(1);
|
3726 | var types_2 = __webpack_require__(31);
|
3727 | function start(payload) {
|
3728 | return helper_1.actionWrapper({
|
3729 | payload: payload,
|
3730 | group: types_1.Group.Loading,
|
3731 | type: types_2.ActionType.START,
|
3732 | });
|
3733 | }
|
3734 | exports.start = start;
|
3735 | function stop(payload) {
|
3736 | return helper_1.actionWrapper({
|
3737 | payload: payload,
|
3738 | group: types_1.Group.Loading,
|
3739 | type: types_2.ActionType.STOP,
|
3740 | });
|
3741 | }
|
3742 | exports.stop = stop;
|
3743 | var Loading = (function (_super) {
|
3744 | __extends(Loading, _super);
|
3745 | function Loading(app) {
|
3746 | return _super.call(this, app, types_1.Group.Loading, types_1.Group.Loading) || this;
|
3747 | }
|
3748 | Object.defineProperty(Loading.prototype, "payload", {
|
3749 | get: function () {
|
3750 | return { id: this.id };
|
3751 | },
|
3752 | enumerable: true,
|
3753 | configurable: true
|
3754 | });
|
3755 | Loading.prototype.dispatch = function (action) {
|
3756 | switch (action) {
|
3757 | case types_2.Action.START:
|
3758 | this.app.dispatch(start(this.payload));
|
3759 | break;
|
3760 | case types_2.Action.STOP:
|
3761 | this.app.dispatch(stop(this.payload));
|
3762 | break;
|
3763 | }
|
3764 | return this;
|
3765 | };
|
3766 | return Loading;
|
3767 | }(helper_1.ActionSet));
|
3768 | exports.Loading = Loading;
|
3769 | function create(app) {
|
3770 | return new Loading(app);
|
3771 | }
|
3772 | exports.create = create;
|
3773 |
|
3774 |
|
3775 | }),
|
3776 |
|
3777 | (function(module, exports, __webpack_require__) {
|
3778 |
|
3779 | "use strict";
|
3780 |
|
3781 | var __extends = (this && this.__extends) || (function () {
|
3782 | var extendStatics = function (d, b) {
|
3783 | extendStatics = Object.setPrototypeOf ||
|
3784 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
3785 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
3786 | return extendStatics(d, b);
|
3787 | };
|
3788 | return function (d, b) {
|
3789 | extendStatics(d, b);
|
3790 | function __() { this.constructor = d; }
|
3791 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
3792 | };
|
3793 | })();
|
3794 | var __assign = (this && this.__assign) || function () {
|
3795 | __assign = Object.assign || function(t) {
|
3796 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
3797 | s = arguments[i];
|
3798 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
3799 | t[p] = s[p];
|
3800 | }
|
3801 | return t;
|
3802 | };
|
3803 | return __assign.apply(this, arguments);
|
3804 | };
|
3805 | Object.defineProperty(exports, "__esModule", { value: true });
|
3806 | var buttonHelper_1 = __webpack_require__(15);
|
3807 | var helper_1 = __webpack_require__(0);
|
3808 | var types_1 = __webpack_require__(1);
|
3809 | var Button_1 = __webpack_require__(4);
|
3810 | var types_2 = __webpack_require__(33);
|
3811 | var FOOTER_BUTTON_PROPS = {
|
3812 | group: types_1.Group.Modal,
|
3813 | subgroups: ['Footer'],
|
3814 | type: types_1.ComponentType.Button,
|
3815 | };
|
3816 | function openModal(modalPayload) {
|
3817 | return helper_1.actionWrapper({
|
3818 | group: types_1.Group.Modal,
|
3819 | payload: modalPayload,
|
3820 | type: types_2.ActionType.OPEN,
|
3821 | });
|
3822 | }
|
3823 | exports.openModal = openModal;
|
3824 | function closeModal(modalClosePayload) {
|
3825 | return helper_1.actionWrapper({
|
3826 | group: types_1.Group.Modal,
|
3827 | payload: modalClosePayload,
|
3828 | type: types_2.ActionType.CLOSE,
|
3829 | });
|
3830 | }
|
3831 | exports.closeModal = closeModal;
|
3832 |
|
3833 |
|
3834 |
|
3835 |
|
3836 | function updateModalSize(updateSizePayload) {
|
3837 | return helper_1.actionWrapper({
|
3838 | group: types_1.Group.Modal,
|
3839 | payload: updateSizePayload,
|
3840 | type: types_2.ActionType.UPDATE_SIZE,
|
3841 | });
|
3842 | }
|
3843 | exports.updateModalSize = updateModalSize;
|
3844 | function clickFooterButton(id, payload) {
|
3845 | var component = __assign({ id: id }, FOOTER_BUTTON_PROPS);
|
3846 | return Button_1.clickButton(types_1.Group.Modal, component, payload);
|
3847 | }
|
3848 | exports.clickFooterButton = clickFooterButton;
|
3849 | function update(payload) {
|
3850 | return helper_1.actionWrapper({
|
3851 | payload: payload,
|
3852 | group: types_1.Group.Modal,
|
3853 | type: types_2.ActionType.UPDATE,
|
3854 | });
|
3855 | }
|
3856 | exports.update = update;
|
3857 | function isIframeModal(options) {
|
3858 | return (typeof options.url === 'string' ||
|
3859 | typeof options.path === 'string');
|
3860 | }
|
3861 | exports.isIframeModal = isIframeModal;
|
3862 | function isMessageModal(options) {
|
3863 | return typeof options.message === 'string';
|
3864 | }
|
3865 | exports.isMessageModal = isMessageModal;
|
3866 | var Modal = (function (_super) {
|
3867 | __extends(Modal, _super);
|
3868 | function Modal() {
|
3869 | var _this = _super !== null && _super.apply(this, arguments) || this;
|
3870 | _this.size = types_2.Size.Small;
|
3871 | return _this;
|
3872 | }
|
3873 | Object.defineProperty(Modal.prototype, "footer", {
|
3874 | get: function () {
|
3875 | if (!this.footerPrimary && !this.footerSecondary) {
|
3876 | return undefined;
|
3877 | }
|
3878 | return {
|
3879 | buttons: {
|
3880 | primary: this.footerPrimary,
|
3881 | secondary: this.footerSecondary,
|
3882 | },
|
3883 | };
|
3884 | },
|
3885 | enumerable: true,
|
3886 | configurable: true
|
3887 | });
|
3888 | Object.defineProperty(Modal.prototype, "footerOptions", {
|
3889 | get: function () {
|
3890 | if (!this.footerPrimaryOptions && !this.footerSecondaryOptions) {
|
3891 | return undefined;
|
3892 | }
|
3893 | return {
|
3894 | buttons: {
|
3895 | primary: this.footerPrimaryOptions,
|
3896 | secondary: this.footerSecondaryOptions,
|
3897 | },
|
3898 | };
|
3899 | },
|
3900 | enumerable: true,
|
3901 | configurable: true
|
3902 | });
|
3903 | Modal.prototype.close = function () {
|
3904 | this.app.dispatch(closeModal({ id: this.id }));
|
3905 | };
|
3906 | Modal.prototype.setFooterPrimaryButton = function (newOptions, updateCb) {
|
3907 | var _this = this;
|
3908 | var subgroups = FOOTER_BUTTON_PROPS.subgroups;
|
3909 | this.footerPrimaryOptions = this.getChildButton(newOptions, this.footerPrimaryOptions);
|
3910 | this.footerPrimary = this.footerPrimaryOptions
|
3911 | ? buttonHelper_1.getSingleButton(this, this.footerPrimaryOptions, subgroups, function (newPayload) {
|
3912 | _this.updatePrimaryFooterButton(newPayload, updateCb);
|
3913 | })
|
3914 | : undefined;
|
3915 | };
|
3916 | Modal.prototype.setFooterSecondaryButtons = function (newOptions, updateCb) {
|
3917 | var _this = this;
|
3918 | var subgroups = FOOTER_BUTTON_PROPS.subgroups;
|
3919 | var newButtons = newOptions || [];
|
3920 | var currentOptions = (this.footerOptions && this.footerOptions.buttons.secondary) || [];
|
3921 | this.footerSecondaryOptions = this.getUpdatedChildActions(newButtons, currentOptions);
|
3922 | this.footerSecondary = this.footerSecondaryOptions
|
3923 | ? this.footerSecondaryOptions.map(function (action) {
|
3924 | return buttonHelper_1.getSingleButton(_this, action, subgroups, function (newPayload) {
|
3925 | _this.updateSecondaryFooterButton(newPayload, updateCb);
|
3926 | });
|
3927 | })
|
3928 | : undefined;
|
3929 | };
|
3930 | Modal.prototype.getChildButton = function (newAction, currentAction) {
|
3931 | var newButtons = newAction ? [newAction] : [];
|
3932 | var currentButtons = currentAction ? [currentAction] : [];
|
3933 | var updatedButton = this.getUpdatedChildActions(newButtons, currentButtons);
|
3934 | return updatedButton ? updatedButton[0] : undefined;
|
3935 | };
|
3936 | Modal.prototype.updatePrimaryFooterButton = function (newPayload, updateCb) {
|
3937 | if (!this.footer || !this.footer.buttons.primary) {
|
3938 | return;
|
3939 | }
|
3940 | if (helper_1.updateActionFromPayload(this.footer.buttons.primary, newPayload)) {
|
3941 | updateCb();
|
3942 | }
|
3943 | };
|
3944 | Modal.prototype.updateSecondaryFooterButton = function (newPayload, updateCb) {
|
3945 | if (!this.footer || !this.footer.buttons || !this.footer.buttons.secondary) {
|
3946 | return;
|
3947 | }
|
3948 | var updated;
|
3949 | for (var _i = 0, _a = this.footer.buttons.secondary; _i < _a.length; _i++) {
|
3950 | var action = _a[_i];
|
3951 | updated = helper_1.updateActionFromPayload(action, newPayload);
|
3952 | if (updated) {
|
3953 | break;
|
3954 | }
|
3955 | }
|
3956 | if (updated) {
|
3957 | updateCb();
|
3958 | }
|
3959 | };
|
3960 | return Modal;
|
3961 | }(helper_1.ActionSetWithChildren));
|
3962 | exports.Modal = Modal;
|
3963 | var ModalMessage = (function (_super) {
|
3964 | __extends(ModalMessage, _super);
|
3965 | function ModalMessage(app, options) {
|
3966 | var _this = _super.call(this, app, types_1.Group.Modal, types_1.Group.Modal) || this;
|
3967 | _this.set(options, false);
|
3968 | return _this;
|
3969 | }
|
3970 | Object.defineProperty(ModalMessage.prototype, "payload", {
|
3971 | get: function () {
|
3972 | return __assign({}, this.options, { footer: this.footer, id: this.id });
|
3973 | },
|
3974 | enumerable: true,
|
3975 | configurable: true
|
3976 | });
|
3977 | Object.defineProperty(ModalMessage.prototype, "options", {
|
3978 | get: function () {
|
3979 | return {
|
3980 | footer: this.footerOptions,
|
3981 | message: this.message,
|
3982 | size: this.size,
|
3983 | title: this.title,
|
3984 | };
|
3985 | },
|
3986 | enumerable: true,
|
3987 | configurable: true
|
3988 | });
|
3989 | ModalMessage.prototype.set = function (options, shouldUpdate) {
|
3990 | var _this = this;
|
3991 | if (shouldUpdate === void 0) { shouldUpdate = true; }
|
3992 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
3993 | var title = mergedOptions.title, footer = mergedOptions.footer, message = mergedOptions.message, size = mergedOptions.size;
|
3994 | this.title = title;
|
3995 | this.message = message;
|
3996 | this.size = size;
|
3997 | this.setFooterPrimaryButton(footer ? footer.buttons.primary : undefined, function () {
|
3998 | _this.dispatch(types_2.Action.UPDATE);
|
3999 | });
|
4000 | this.setFooterSecondaryButtons(footer ? footer.buttons.secondary : undefined, function () {
|
4001 | _this.dispatch(types_2.Action.UPDATE);
|
4002 | });
|
4003 | if (shouldUpdate) {
|
4004 | this.dispatch(types_2.Action.UPDATE);
|
4005 | }
|
4006 | return this;
|
4007 | };
|
4008 | ModalMessage.prototype.dispatch = function (action) {
|
4009 | switch (action) {
|
4010 | case types_2.Action.OPEN:
|
4011 | this.app.dispatch(openModal(this.payload));
|
4012 | break;
|
4013 | case types_2.Action.CLOSE:
|
4014 | this.close();
|
4015 | break;
|
4016 | case types_2.Action.UPDATE:
|
4017 | this.app.dispatch(update(this.payload));
|
4018 | break;
|
4019 | }
|
4020 | return this;
|
4021 | };
|
4022 | return ModalMessage;
|
4023 | }(Modal));
|
4024 | exports.ModalMessage = ModalMessage;
|
4025 | var ModalIframe = (function (_super) {
|
4026 | __extends(ModalIframe, _super);
|
4027 | function ModalIframe(app, options) {
|
4028 | var _this = _super.call(this, app, types_1.Group.Modal, types_1.Group.Modal) || this;
|
4029 | _this.set(options, false);
|
4030 | return _this;
|
4031 | }
|
4032 | Object.defineProperty(ModalIframe.prototype, "payload", {
|
4033 | get: function () {
|
4034 | return __assign({}, this.options, { footer: this.footer, id: this.id });
|
4035 | },
|
4036 | enumerable: true,
|
4037 | configurable: true
|
4038 | });
|
4039 | Object.defineProperty(ModalIframe.prototype, "options", {
|
4040 | get: function () {
|
4041 | return {
|
4042 | footer: this.footerOptions,
|
4043 | path: this.path,
|
4044 | size: this.size,
|
4045 | title: this.title,
|
4046 | url: this.url,
|
4047 | };
|
4048 | },
|
4049 | enumerable: true,
|
4050 | configurable: true
|
4051 | });
|
4052 | ModalIframe.prototype.set = function (options, shouldUpdate) {
|
4053 | var _this = this;
|
4054 | if (shouldUpdate === void 0) { shouldUpdate = true; }
|
4055 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
4056 | var title = mergedOptions.title, footer = mergedOptions.footer, path = mergedOptions.path, url = mergedOptions.url, size = mergedOptions.size;
|
4057 | this.title = title;
|
4058 | this.url = url;
|
4059 | this.path = path;
|
4060 | this.size = size;
|
4061 | this.setFooterPrimaryButton(footer ? footer.buttons.primary : undefined, function () {
|
4062 | _this.dispatch(types_2.Action.UPDATE);
|
4063 | });
|
4064 | this.setFooterSecondaryButtons(footer ? footer.buttons.secondary : undefined, function () {
|
4065 | _this.dispatch(types_2.Action.UPDATE);
|
4066 | });
|
4067 | if (shouldUpdate) {
|
4068 | this.dispatch(types_2.Action.UPDATE);
|
4069 | }
|
4070 | return this;
|
4071 | };
|
4072 | ModalIframe.prototype.dispatch = function (action) {
|
4073 | switch (action) {
|
4074 | case types_2.Action.OPEN:
|
4075 | this.app.dispatch(openModal(this.payload));
|
4076 | break;
|
4077 | case types_2.Action.CLOSE:
|
4078 | this.close();
|
4079 | break;
|
4080 | case types_2.Action.UPDATE:
|
4081 | this.app.dispatch(update(this.payload));
|
4082 | break;
|
4083 | }
|
4084 | return this;
|
4085 | };
|
4086 | return ModalIframe;
|
4087 | }(Modal));
|
4088 | exports.ModalIframe = ModalIframe;
|
4089 | exports.create = function (app, options) {
|
4090 | if (isIframeModal(options)) {
|
4091 | return new ModalIframe(app, options);
|
4092 | }
|
4093 | return new ModalMessage(app, options);
|
4094 | };
|
4095 |
|
4096 |
|
4097 | }),
|
4098 |
|
4099 | (function(module, exports, __webpack_require__) {
|
4100 |
|
4101 | "use strict";
|
4102 |
|
4103 | function __export(m) {
|
4104 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
4105 | }
|
4106 | Object.defineProperty(exports, "__esModule", { value: true });
|
4107 | __export(__webpack_require__(66));
|
4108 | __export(__webpack_require__(34));
|
4109 |
|
4110 |
|
4111 | }),
|
4112 |
|
4113 | (function(module, exports, __webpack_require__) {
|
4114 |
|
4115 | "use strict";
|
4116 |
|
4117 | var __extends = (this && this.__extends) || (function () {
|
4118 | var extendStatics = function (d, b) {
|
4119 | extendStatics = Object.setPrototypeOf ||
|
4120 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
4121 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
4122 | return extendStatics(d, b);
|
4123 | };
|
4124 | return function (d, b) {
|
4125 | extendStatics(d, b);
|
4126 | function __() { this.constructor = d; }
|
4127 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
4128 | };
|
4129 | })();
|
4130 | var __assign = (this && this.__assign) || function () {
|
4131 | __assign = Object.assign || function(t) {
|
4132 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4133 | s = arguments[i];
|
4134 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
4135 | t[p] = s[p];
|
4136 | }
|
4137 | return t;
|
4138 | };
|
4139 | return __assign.apply(this, arguments);
|
4140 | };
|
4141 | Object.defineProperty(exports, "__esModule", { value: true });
|
4142 | var helper_1 = __webpack_require__(0);
|
4143 | var types_1 = __webpack_require__(1);
|
4144 | var types_2 = __webpack_require__(34);
|
4145 | function push(payload) {
|
4146 | return helper_1.actionWrapper({
|
4147 | payload: payload,
|
4148 | group: types_1.Group.Navigation,
|
4149 | type: types_2.ActionType.PUSH,
|
4150 | });
|
4151 | }
|
4152 | exports.push = push;
|
4153 | function replace(payload) {
|
4154 | return helper_1.actionWrapper({
|
4155 | payload: payload,
|
4156 | group: types_1.Group.Navigation,
|
4157 | type: types_2.ActionType.REPLACE,
|
4158 | });
|
4159 | }
|
4160 | exports.replace = replace;
|
4161 | var History = (function (_super) {
|
4162 | __extends(History, _super);
|
4163 | function History(app) {
|
4164 | return _super.call(this, app, 'History', types_1.Group.Navigation) || this;
|
4165 | }
|
4166 | Object.defineProperty(History.prototype, "payload", {
|
4167 | get: function () {
|
4168 | return { id: this.id };
|
4169 | },
|
4170 | enumerable: true,
|
4171 | configurable: true
|
4172 | });
|
4173 | History.prototype.dispatch = function (type, path) {
|
4174 | var payload = __assign({}, this.payload, { path: path });
|
4175 | switch (type) {
|
4176 | case types_2.Action.PUSH:
|
4177 | this.app.dispatch(push(payload));
|
4178 | break;
|
4179 | case types_2.Action.REPLACE:
|
4180 | this.app.dispatch(replace(payload));
|
4181 | break;
|
4182 | }
|
4183 | return this;
|
4184 | };
|
4185 | return History;
|
4186 | }(helper_1.ActionSet));
|
4187 | exports.History = History;
|
4188 | function create(app) {
|
4189 | return new History(app);
|
4190 | }
|
4191 | exports.create = create;
|
4192 |
|
4193 |
|
4194 | }),
|
4195 |
|
4196 | (function(module, exports, __webpack_require__) {
|
4197 |
|
4198 | "use strict";
|
4199 |
|
4200 | var __extends = (this && this.__extends) || (function () {
|
4201 | var extendStatics = function (d, b) {
|
4202 | extendStatics = Object.setPrototypeOf ||
|
4203 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
4204 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
4205 | return extendStatics(d, b);
|
4206 | };
|
4207 | return function (d, b) {
|
4208 | extendStatics(d, b);
|
4209 | function __() { this.constructor = d; }
|
4210 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
4211 | };
|
4212 | })();
|
4213 | var __assign = (this && this.__assign) || function () {
|
4214 | __assign = Object.assign || function(t) {
|
4215 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4216 | s = arguments[i];
|
4217 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
4218 | t[p] = s[p];
|
4219 | }
|
4220 | return t;
|
4221 | };
|
4222 | return __assign.apply(this, arguments);
|
4223 | };
|
4224 | Object.defineProperty(exports, "__esModule", { value: true });
|
4225 | var helper_1 = __webpack_require__(0);
|
4226 | var types_1 = __webpack_require__(1);
|
4227 | var types_2 = __webpack_require__(35);
|
4228 | function isResourcePayload(resource) {
|
4229 |
|
4230 | return typeof resource.id === 'string';
|
4231 | }
|
4232 | exports.isResourcePayload = isResourcePayload;
|
4233 | function isCreateResourcePayload(resource) {
|
4234 |
|
4235 | return resource.create === true;
|
4236 | }
|
4237 | exports.isCreateResourcePayload = isCreateResourcePayload;
|
4238 | function isProductVariantResourcePayload(resource) {
|
4239 | var castResource = resource;
|
4240 |
|
4241 | return castResource.id !== undefined && castResource.variant !== undefined;
|
4242 | }
|
4243 | exports.isProductVariantResourcePayload = isProductVariantResourcePayload;
|
4244 | function isProductVariantCreateResourcePayload(resource) {
|
4245 | if (!isProductVariantResourcePayload(resource)) {
|
4246 | return false;
|
4247 | }
|
4248 | return isCreateResourcePayload(resource.variant);
|
4249 | }
|
4250 | exports.isProductVariantCreateResourcePayload = isProductVariantCreateResourcePayload;
|
4251 | function toAdminPath(payload) {
|
4252 | return helper_1.actionWrapper({
|
4253 | payload: payload,
|
4254 | group: types_1.Group.Navigation,
|
4255 | type: types_2.ActionType.ADMIN_PATH,
|
4256 | });
|
4257 | }
|
4258 | exports.toAdminPath = toAdminPath;
|
4259 | function toAdminSection(payload) {
|
4260 | return helper_1.actionWrapper({
|
4261 | payload: payload,
|
4262 | group: types_1.Group.Navigation,
|
4263 | type: types_2.ActionType.ADMIN_SECTION,
|
4264 | });
|
4265 | }
|
4266 | exports.toAdminSection = toAdminSection;
|
4267 | function toRemote(payload) {
|
4268 | return helper_1.actionWrapper({
|
4269 | payload: payload,
|
4270 | group: types_1.Group.Navigation,
|
4271 | type: types_2.ActionType.REMOTE,
|
4272 | });
|
4273 | }
|
4274 | exports.toRemote = toRemote;
|
4275 | function toApp(payload) {
|
4276 | return helper_1.actionWrapper({
|
4277 | payload: payload,
|
4278 | group: types_1.Group.Navigation,
|
4279 | type: types_2.ActionType.APP,
|
4280 | });
|
4281 | }
|
4282 | exports.toApp = toApp;
|
4283 | function toDestination(action, payload, id) {
|
4284 | switch (action) {
|
4285 | case types_2.Action.APP:
|
4286 | var appPayload = isAppPayload(payload) ? payload : { path: payload };
|
4287 | return toApp(__assign({ id: id }, appPayload));
|
4288 | case types_2.Action.ADMIN_PATH:
|
4289 | var adminPathPayload = isAdminPathPayload(payload) ? payload : { path: payload };
|
4290 | return toAdminPath(__assign({ id: id }, adminPathPayload));
|
4291 | case types_2.Action.ADMIN_SECTION:
|
4292 | var adminSectionPayload = isAdminSectionPayload(payload)
|
4293 | ? payload
|
4294 | : { section: payload };
|
4295 | return toAdminSection(__assign({ id: id }, adminSectionPayload));
|
4296 | case types_2.Action.REMOTE:
|
4297 | var remotePayload = isRemotePayload(payload) ? payload : { url: payload };
|
4298 | return toRemote(__assign({ id: id }, remotePayload));
|
4299 | }
|
4300 | }
|
4301 | exports.toDestination = toDestination;
|
4302 | function isAppPayload(payload) {
|
4303 | return typeof payload === 'object' && payload.hasOwnProperty('path');
|
4304 | }
|
4305 | exports.isAppPayload = isAppPayload;
|
4306 | function isAdminPathPayload(payload) {
|
4307 | return typeof payload === 'object' && payload.hasOwnProperty('path');
|
4308 | }
|
4309 | exports.isAdminPathPayload = isAdminPathPayload;
|
4310 | function isAdminSectionPayload(payload) {
|
4311 | return (typeof payload === 'object' &&
|
4312 | typeof payload.section === 'object' &&
|
4313 | payload.section.hasOwnProperty('name'));
|
4314 | }
|
4315 | exports.isAdminSectionPayload = isAdminSectionPayload;
|
4316 | function isRemotePayload(payload) {
|
4317 | return typeof payload === 'object' && payload.hasOwnProperty('url');
|
4318 | }
|
4319 | exports.isRemotePayload = isRemotePayload;
|
4320 | var Redirect = (function (_super) {
|
4321 | __extends(Redirect, _super);
|
4322 | function Redirect(app) {
|
4323 | return _super.call(this, app, 'Redirect', types_1.Group.Navigation) || this;
|
4324 | }
|
4325 | Object.defineProperty(Redirect.prototype, "payload", {
|
4326 | get: function () {
|
4327 | return { id: this.id };
|
4328 | },
|
4329 | enumerable: true,
|
4330 | configurable: true
|
4331 | });
|
4332 | Redirect.prototype.dispatch = function (action, payload) {
|
4333 | var redirectAction = toDestination(action, payload, this.payload.id);
|
4334 | this.app.dispatch(redirectAction);
|
4335 | return this;
|
4336 | };
|
4337 | return Redirect;
|
4338 | }(helper_1.ActionSet));
|
4339 | exports.Redirect = Redirect;
|
4340 | function create(app) {
|
4341 | return new Redirect(app);
|
4342 | }
|
4343 | exports.create = create;
|
4344 |
|
4345 |
|
4346 | }),
|
4347 |
|
4348 | (function(module, exports, __webpack_require__) {
|
4349 |
|
4350 | "use strict";
|
4351 |
|
4352 | Object.defineProperty(exports, "__esModule", { value: true });
|
4353 | var helper_1 = __webpack_require__(0);
|
4354 | var types_1 = __webpack_require__(1);
|
4355 | var types_2 = __webpack_require__(36);
|
4356 | function app() {
|
4357 | return helper_1.actionWrapper({
|
4358 | group: types_1.Group.Print,
|
4359 | type: types_2.ActionType.APP,
|
4360 | });
|
4361 | }
|
4362 | exports.app = app;
|
4363 |
|
4364 |
|
4365 | }),
|
4366 |
|
4367 | (function(module, exports, __webpack_require__) {
|
4368 |
|
4369 | "use strict";
|
4370 |
|
4371 | var __extends = (this && this.__extends) || (function () {
|
4372 | var extendStatics = function (d, b) {
|
4373 | extendStatics = Object.setPrototypeOf ||
|
4374 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
4375 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
4376 | return extendStatics(d, b);
|
4377 | };
|
4378 | return function (d, b) {
|
4379 | extendStatics(d, b);
|
4380 | function __() { this.constructor = d; }
|
4381 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
4382 | };
|
4383 | })();
|
4384 | var __assign = (this && this.__assign) || function () {
|
4385 | __assign = Object.assign || function(t) {
|
4386 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4387 | s = arguments[i];
|
4388 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
4389 | t[p] = s[p];
|
4390 | }
|
4391 | return t;
|
4392 | };
|
4393 | return __assign.apply(this, arguments);
|
4394 | };
|
4395 | Object.defineProperty(exports, "__esModule", { value: true });
|
4396 | var helper_1 = __webpack_require__(0);
|
4397 | var types_1 = __webpack_require__(1);
|
4398 | var types_2 = __webpack_require__(38);
|
4399 | function select(payload) {
|
4400 | return helper_1.actionWrapper({
|
4401 | payload: payload,
|
4402 | group: types_1.Group.ResourcePicker,
|
4403 | type: types_2.ActionType.SELECT,
|
4404 | });
|
4405 | }
|
4406 | exports.select = select;
|
4407 | function open(payload) {
|
4408 | return helper_1.actionWrapper({
|
4409 | payload: payload,
|
4410 | group: types_1.Group.ResourcePicker,
|
4411 | type: types_2.ActionType.OPEN,
|
4412 | });
|
4413 | }
|
4414 | exports.open = open;
|
4415 | function cancel(payload) {
|
4416 | return helper_1.actionWrapper({
|
4417 | payload: payload,
|
4418 | group: types_1.Group.ResourcePicker,
|
4419 | type: types_2.ActionType.CANCEL,
|
4420 | });
|
4421 | }
|
4422 | exports.cancel = cancel;
|
4423 | function close(payload) {
|
4424 | return helper_1.actionWrapper({
|
4425 | payload: payload,
|
4426 | group: types_1.Group.ResourcePicker,
|
4427 | type: types_2.ActionType.CANCEL,
|
4428 | });
|
4429 | }
|
4430 | exports.close = close;
|
4431 | function update(payload) {
|
4432 | return helper_1.actionWrapper({
|
4433 | payload: payload,
|
4434 | group: types_1.Group.ResourcePicker,
|
4435 | type: types_2.ActionType.UPDATE,
|
4436 | });
|
4437 | }
|
4438 | exports.update = update;
|
4439 | var ResourcePicker = (function (_super) {
|
4440 | __extends(ResourcePicker, _super);
|
4441 | function ResourcePicker(app, options, resourceType) {
|
4442 | var _this = _super.call(this, app, types_1.Group.ResourcePicker, types_1.Group.ResourcePicker) || this;
|
4443 | _this.initialSelectionIds = [];
|
4444 | _this.selection = [];
|
4445 | _this.resourceType = resourceType;
|
4446 | _this.set(options, false);
|
4447 | return _this;
|
4448 | }
|
4449 | Object.defineProperty(ResourcePicker.prototype, "payload", {
|
4450 | get: function () {
|
4451 | return __assign({}, this.options, { id: this.id, resourceType: this.resourceType });
|
4452 | },
|
4453 | enumerable: true,
|
4454 | configurable: true
|
4455 | });
|
4456 | Object.defineProperty(ResourcePicker.prototype, "options", {
|
4457 | get: function () {
|
4458 | var options = {
|
4459 | initialQuery: this.initialQuery,
|
4460 | selectMultiple: this.selectMultiple,
|
4461 | initialSelectionIds: this.initialSelectionIds,
|
4462 | showHidden: this.showHidden,
|
4463 | actionVerb: this.actionVerb,
|
4464 | };
|
4465 | if (this.resourceType === types_2.ResourceType.Product) {
|
4466 | var productOptions = __assign({}, options, { showVariants: this.showVariants });
|
4467 | return productOptions;
|
4468 | }
|
4469 | return options;
|
4470 | },
|
4471 | enumerable: true,
|
4472 | configurable: true
|
4473 | });
|
4474 | ResourcePicker.prototype.set = function (options, shouldUpdate) {
|
4475 | if (shouldUpdate === void 0) { shouldUpdate = true; }
|
4476 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
4477 | var initialQuery = mergedOptions.initialQuery, _a = mergedOptions.initialSelectionIds, initialSelectionIds = _a === void 0 ? [] : _a, _b = mergedOptions.showHidden, showHidden = _b === void 0 ? true : _b, _c = mergedOptions.showVariants, showVariants = _c === void 0 ? true : _c, _d = mergedOptions.selectMultiple, selectMultiple = _d === void 0 ? true : _d, _e = mergedOptions.actionVerb, actionVerb = _e === void 0 ? types_2.ActionVerb.Add : _e;
|
4478 | this.initialQuery = initialQuery;
|
4479 | this.initialSelectionIds = initialSelectionIds;
|
4480 | this.showHidden = Boolean(showHidden);
|
4481 | this.showVariants = Boolean(showVariants);
|
4482 | this.selectMultiple = Boolean(selectMultiple);
|
4483 | this.actionVerb = actionVerb;
|
4484 | if (shouldUpdate) {
|
4485 | this.update();
|
4486 | }
|
4487 | return this;
|
4488 | };
|
4489 | ResourcePicker.prototype.dispatch = function (action, selection) {
|
4490 | if (action === types_2.Action.OPEN) {
|
4491 | this.open();
|
4492 | }
|
4493 | else if (action === types_2.Action.UPDATE) {
|
4494 | this.update();
|
4495 | }
|
4496 | else if (action === types_2.Action.CLOSE || action === types_2.Action.CANCEL) {
|
4497 | this.cancel();
|
4498 | }
|
4499 | else if (action === types_2.Action.SELECT) {
|
4500 | this.selection = selection;
|
4501 | this.app.dispatch(select({ id: this.id, selection: this.selection }));
|
4502 | }
|
4503 | return this;
|
4504 | };
|
4505 | ResourcePicker.prototype.update = function () {
|
4506 | this.app.dispatch(update(this.payload));
|
4507 | };
|
4508 | ResourcePicker.prototype.open = function () {
|
4509 | this.app.dispatch(open(this.payload));
|
4510 | };
|
4511 | ResourcePicker.prototype.cancel = function () {
|
4512 | this.app.dispatch(cancel({ id: this.id }));
|
4513 | };
|
4514 | ResourcePicker.prototype.close = function () {
|
4515 | this.cancel();
|
4516 | };
|
4517 | return ResourcePicker;
|
4518 | }(helper_1.ActionSet));
|
4519 | exports.ResourcePicker = ResourcePicker;
|
4520 | exports.create = function (app, baseOptions) {
|
4521 | var resourceType = baseOptions.resourceType, _a = baseOptions.options, options = _a === void 0 ? {} : _a;
|
4522 | return new ResourcePicker(app, options, resourceType);
|
4523 | };
|
4524 |
|
4525 |
|
4526 | }),
|
4527 |
|
4528 | (function(module, exports, __webpack_require__) {
|
4529 |
|
4530 | "use strict";
|
4531 |
|
4532 | var __extends = (this && this.__extends) || (function () {
|
4533 | var extendStatics = function (d, b) {
|
4534 | extendStatics = Object.setPrototypeOf ||
|
4535 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
4536 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
4537 | return extendStatics(d, b);
|
4538 | };
|
4539 | return function (d, b) {
|
4540 | extendStatics(d, b);
|
4541 | function __() { this.constructor = d; }
|
4542 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
4543 | };
|
4544 | })();
|
4545 | Object.defineProperty(exports, "__esModule", { value: true });
|
4546 | var helper_1 = __webpack_require__(0);
|
4547 | var types_1 = __webpack_require__(1);
|
4548 | var types_2 = __webpack_require__(40);
|
4549 |
|
4550 |
|
4551 |
|
4552 |
|
4553 | var Scanner = (function (_super) {
|
4554 | __extends(Scanner, _super);
|
4555 | function Scanner(app, options) {
|
4556 | return _super.call(this, app, types_1.Group.Scanner, types_1.Group.Scanner, options ? options.id : undefined) || this;
|
4557 | }
|
4558 | |
4559 |
|
4560 |
|
4561 | Scanner.prototype.dispatch = function (action) {
|
4562 | switch (action) {
|
4563 | case types_2.Action.OPEN_CAMERA:
|
4564 | this.dispatchScannerAction(types_2.ActionType.OPEN_CAMERA);
|
4565 | break;
|
4566 | case types_2.Action.OPEN_NFC:
|
4567 | this.dispatchScannerAction(types_2.ActionType.OPEN_NFC);
|
4568 | break;
|
4569 | }
|
4570 | return this;
|
4571 | };
|
4572 | |
4573 |
|
4574 |
|
4575 | Scanner.prototype.dispatchScannerAction = function (type) {
|
4576 | this.app.dispatch(helper_1.actionWrapper({
|
4577 | type: type,
|
4578 | group: types_1.Group.Scanner,
|
4579 | payload: {
|
4580 | id: this.id,
|
4581 | },
|
4582 | }));
|
4583 | };
|
4584 | return Scanner;
|
4585 | }(helper_1.ActionSet));
|
4586 | exports.Scanner = Scanner;
|
4587 |
|
4588 |
|
4589 |
|
4590 | function create(app, options) {
|
4591 | return new Scanner(app, options);
|
4592 | }
|
4593 | exports.create = create;
|
4594 |
|
4595 |
|
4596 | }),
|
4597 |
|
4598 | (function(module, exports, __webpack_require__) {
|
4599 |
|
4600 | "use strict";
|
4601 |
|
4602 | Object.defineProperty(exports, "__esModule", { value: true });
|
4603 | var helper_1 = __webpack_require__(0);
|
4604 | var types_1 = __webpack_require__(1);
|
4605 | var ActionType;
|
4606 | (function (ActionType) {
|
4607 | ActionType["REQUEST"] = "APP::SESSION_TOKEN::REQUEST";
|
4608 | ActionType["RESPOND"] = "APP::SESSION_TOKEN::RESPOND";
|
4609 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
4610 | var Action;
|
4611 | (function (Action) {
|
4612 | Action["REQUEST"] = "REQUEST";
|
4613 | Action["RESPOND"] = "RESPOND";
|
4614 | })(Action = exports.Action || (exports.Action = {}));
|
4615 | function request() {
|
4616 | return helper_1.actionWrapper({
|
4617 | group: types_1.Group.SessionToken,
|
4618 | type: ActionType.REQUEST,
|
4619 | });
|
4620 | }
|
4621 | exports.request = request;
|
4622 | function respond(sessionToken) {
|
4623 | return helper_1.actionWrapper({
|
4624 | payload: sessionToken,
|
4625 | group: types_1.Group.SessionToken,
|
4626 | type: ActionType.RESPOND,
|
4627 | });
|
4628 | }
|
4629 | exports.respond = respond;
|
4630 |
|
4631 |
|
4632 | }),
|
4633 |
|
4634 | (function(module, exports, __webpack_require__) {
|
4635 |
|
4636 | "use strict";
|
4637 |
|
4638 | var __extends = (this && this.__extends) || (function () {
|
4639 | var extendStatics = function (d, b) {
|
4640 | extendStatics = Object.setPrototypeOf ||
|
4641 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
4642 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
4643 | return extendStatics(d, b);
|
4644 | };
|
4645 | return function (d, b) {
|
4646 | extendStatics(d, b);
|
4647 | function __() { this.constructor = d; }
|
4648 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
4649 | };
|
4650 | })();
|
4651 | var __assign = (this && this.__assign) || function () {
|
4652 | __assign = Object.assign || function(t) {
|
4653 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4654 | s = arguments[i];
|
4655 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
4656 | t[p] = s[p];
|
4657 | }
|
4658 | return t;
|
4659 | };
|
4660 | return __assign.apply(this, arguments);
|
4661 | };
|
4662 | Object.defineProperty(exports, "__esModule", { value: true });
|
4663 | var Button_1 = __webpack_require__(4);
|
4664 | var ButtonGroup_1 = __webpack_require__(7);
|
4665 | var buttonGroupHelper_1 = __webpack_require__(73);
|
4666 | var buttonHelper_1 = __webpack_require__(15);
|
4667 | var helper_1 = __webpack_require__(0);
|
4668 | var types_1 = __webpack_require__(1);
|
4669 | var types_2 = __webpack_require__(42);
|
4670 | var TITLEBAR_BUTTON_PROPS = {
|
4671 | group: types_1.Group.TitleBar,
|
4672 | subgroups: ['Buttons'],
|
4673 | };
|
4674 | var BREADCRUMB_BUTTON_PROPS = {
|
4675 | group: types_1.Group.TitleBar,
|
4676 | subgroups: ['Breadcrumbs'],
|
4677 | type: types_1.ComponentType.Button,
|
4678 | };
|
4679 | function clickActionButton(id, payload) {
|
4680 | var type = types_1.ComponentType.Button;
|
4681 | var component = __assign({ id: id, type: type }, TITLEBAR_BUTTON_PROPS);
|
4682 | return Button_1.clickButton(types_1.Group.TitleBar, component, payload);
|
4683 | }
|
4684 | exports.clickActionButton = clickActionButton;
|
4685 | function clickBreadcrumb(id, payload) {
|
4686 | var component = __assign({ id: id }, BREADCRUMB_BUTTON_PROPS);
|
4687 | return Button_1.clickButton(types_1.Group.TitleBar, component, payload);
|
4688 | }
|
4689 | exports.clickBreadcrumb = clickBreadcrumb;
|
4690 | function update(payload) {
|
4691 | return helper_1.actionWrapper({
|
4692 | payload: payload,
|
4693 | group: types_1.Group.TitleBar,
|
4694 | type: types_2.ActionType.UPDATE,
|
4695 | });
|
4696 | }
|
4697 | exports.update = update;
|
4698 | var TitleBar = (function (_super) {
|
4699 | __extends(TitleBar, _super);
|
4700 | function TitleBar(app, options) {
|
4701 | var _this = _super.call(this, app, types_1.Group.TitleBar, types_1.Group.TitleBar) || this;
|
4702 |
|
4703 | _this.set(options);
|
4704 | return _this;
|
4705 | }
|
4706 | Object.defineProperty(TitleBar.prototype, "buttons", {
|
4707 | get: function () {
|
4708 | if (!this.primary && !this.secondary) {
|
4709 | return undefined;
|
4710 | }
|
4711 | return {
|
4712 | primary: this.primary,
|
4713 | secondary: this.secondary,
|
4714 | };
|
4715 | },
|
4716 | enumerable: true,
|
4717 | configurable: true
|
4718 | });
|
4719 | Object.defineProperty(TitleBar.prototype, "buttonsOptions", {
|
4720 | get: function () {
|
4721 | if (!this.primaryOptions && !this.secondaryOptions) {
|
4722 | return undefined;
|
4723 | }
|
4724 | return {
|
4725 | primary: this.primaryOptions,
|
4726 | secondary: this.secondaryOptions,
|
4727 | };
|
4728 | },
|
4729 | enumerable: true,
|
4730 | configurable: true
|
4731 | });
|
4732 | Object.defineProperty(TitleBar.prototype, "options", {
|
4733 | get: function () {
|
4734 | return {
|
4735 | breadcrumbs: this.breadcrumbsOption,
|
4736 | buttons: this.buttonsOptions,
|
4737 | title: this.title,
|
4738 | };
|
4739 | },
|
4740 | enumerable: true,
|
4741 | configurable: true
|
4742 | });
|
4743 | Object.defineProperty(TitleBar.prototype, "payload", {
|
4744 | get: function () {
|
4745 | return __assign({}, this.options, { breadcrumbs: this.breadcrumb, buttons: this.buttons, id: this.id });
|
4746 | },
|
4747 | enumerable: true,
|
4748 | configurable: true
|
4749 | });
|
4750 | TitleBar.prototype.set = function (options, shouldUpdate) {
|
4751 | if (shouldUpdate === void 0) { shouldUpdate = true; }
|
4752 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
4753 | var title = mergedOptions.title, buttons = mergedOptions.buttons, breadcrumbs = mergedOptions.breadcrumbs;
|
4754 | this.title = title;
|
4755 | this.setBreadcrumbs(breadcrumbs);
|
4756 | this.setPrimaryButton(buttons ? buttons.primary : undefined);
|
4757 | this.setSecondaryButton(buttons ? buttons.secondary : undefined);
|
4758 | if (shouldUpdate) {
|
4759 | this.dispatch(types_2.Action.UPDATE);
|
4760 | }
|
4761 | return this;
|
4762 | };
|
4763 | TitleBar.prototype.dispatch = function (action) {
|
4764 | switch (action) {
|
4765 | case types_2.Action.UPDATE:
|
4766 | this.app.dispatch(update(this.payload));
|
4767 | break;
|
4768 | }
|
4769 | return this;
|
4770 | };
|
4771 | TitleBar.prototype.getButton = function (button, subgroups, updateCb) {
|
4772 | if (button instanceof ButtonGroup_1.ButtonGroup) {
|
4773 | return buttonGroupHelper_1.getGroupedButton(this, button, subgroups, updateCb);
|
4774 | }
|
4775 | return buttonHelper_1.getSingleButton(this, button, subgroups, updateCb);
|
4776 | };
|
4777 | TitleBar.prototype.updatePrimaryButton = function (newPayload) {
|
4778 | if (!this.primary) {
|
4779 | return;
|
4780 | }
|
4781 | if (helper_1.updateActionFromPayload(this.primary, newPayload)) {
|
4782 | this.dispatch(types_2.Action.UPDATE);
|
4783 | }
|
4784 | };
|
4785 | TitleBar.prototype.updateSecondaryButtons = function (newPayload) {
|
4786 | if (!this.secondary) {
|
4787 | return;
|
4788 | }
|
4789 | var buttonToUpdate = this.secondary.find(function (action) { return action.id === newPayload.id; });
|
4790 | if (!buttonToUpdate) {
|
4791 | return;
|
4792 | }
|
4793 | var updated = false;
|
4794 | if (ButtonGroup_1.isGroupedButtonPayload(newPayload)) {
|
4795 | updated = helper_1.updateActionFromPayload(buttonToUpdate, newPayload);
|
4796 | }
|
4797 | else {
|
4798 | updated = helper_1.updateActionFromPayload(buttonToUpdate, newPayload);
|
4799 | }
|
4800 | if (updated) {
|
4801 | this.dispatch(types_2.Action.UPDATE);
|
4802 | }
|
4803 | };
|
4804 | TitleBar.prototype.updateBreadcrumbButton = function (newPayload) {
|
4805 | if (!this.breadcrumb) {
|
4806 | return;
|
4807 | }
|
4808 | if (helper_1.updateActionFromPayload(this.breadcrumb, newPayload)) {
|
4809 | this.dispatch(types_2.Action.UPDATE);
|
4810 | }
|
4811 | };
|
4812 | TitleBar.prototype.setPrimaryButton = function (newOptions) {
|
4813 | this.primaryOptions = this.getChildButton(newOptions, this.primaryOptions);
|
4814 | this.primary = this.primaryOptions
|
4815 | ? this.getButton(this.primaryOptions, TITLEBAR_BUTTON_PROPS.subgroups, this.updatePrimaryButton)
|
4816 | : undefined;
|
4817 | };
|
4818 | TitleBar.prototype.setSecondaryButton = function (newOptions) {
|
4819 | var _this = this;
|
4820 | var newButtons = newOptions || [];
|
4821 | var currentButtons = this.secondaryOptions || [];
|
4822 | this.secondaryOptions = this.getUpdatedChildActions(newButtons, currentButtons);
|
4823 | this.secondary = this.secondaryOptions
|
4824 | ? this.secondaryOptions.map(function (action) {
|
4825 | return _this.getButton(action, TITLEBAR_BUTTON_PROPS.subgroups, _this.updateSecondaryButtons);
|
4826 | })
|
4827 | : undefined;
|
4828 | };
|
4829 | TitleBar.prototype.setBreadcrumbs = function (breadcrumb) {
|
4830 | this.breadcrumbsOption = this.getChildButton(breadcrumb, this.breadcrumbsOption);
|
4831 | this.breadcrumb = this.breadcrumbsOption
|
4832 | ? this.getButton(this.breadcrumbsOption, BREADCRUMB_BUTTON_PROPS.subgroups, this.updateBreadcrumbButton)
|
4833 | : undefined;
|
4834 | };
|
4835 | TitleBar.prototype.getChildButton = function (newAction, currentAction) {
|
4836 | var newButtons = newAction ? [newAction] : [];
|
4837 | var currentButtons = currentAction ? [currentAction] : [];
|
4838 | var updatedButton = this.getUpdatedChildActions(newButtons, currentButtons);
|
4839 | return updatedButton ? updatedButton[0] : undefined;
|
4840 | };
|
4841 | return TitleBar;
|
4842 | }(helper_1.ActionSetWithChildren));
|
4843 | exports.TitleBar = TitleBar;
|
4844 | function create(app, options) {
|
4845 | return new TitleBar(app, options);
|
4846 | }
|
4847 | exports.create = create;
|
4848 |
|
4849 |
|
4850 | }),
|
4851 |
|
4852 | (function(module, exports, __webpack_require__) {
|
4853 |
|
4854 | "use strict";
|
4855 |
|
4856 | Object.defineProperty(exports, "__esModule", { value: true });
|
4857 | var ButtonGroup_1 = __webpack_require__(7);
|
4858 | function getGroupedButton(action, button, subgroups, updateCb) {
|
4859 | action.addChild(button, action.group, subgroups);
|
4860 | var id = button.id, label = button.label, disabled = button.disabled, buttons = button.buttons;
|
4861 | action.subscribeToChild(button, ButtonGroup_1.Action.UPDATE, updateCb);
|
4862 | return { id: id, label: label, buttons: buttons, disabled: disabled };
|
4863 | }
|
4864 | exports.getGroupedButton = getGroupedButton;
|
4865 |
|
4866 |
|
4867 | }),
|
4868 |
|
4869 | (function(module, exports, __webpack_require__) {
|
4870 |
|
4871 | "use strict";
|
4872 |
|
4873 | var __extends = (this && this.__extends) || (function () {
|
4874 | var extendStatics = function (d, b) {
|
4875 | extendStatics = Object.setPrototypeOf ||
|
4876 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
4877 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
4878 | return extendStatics(d, b);
|
4879 | };
|
4880 | return function (d, b) {
|
4881 | extendStatics(d, b);
|
4882 | function __() { this.constructor = d; }
|
4883 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
4884 | };
|
4885 | })();
|
4886 | var __assign = (this && this.__assign) || function () {
|
4887 | __assign = Object.assign || function(t) {
|
4888 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4889 | s = arguments[i];
|
4890 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
4891 | t[p] = s[p];
|
4892 | }
|
4893 | return t;
|
4894 | };
|
4895 | return __assign.apply(this, arguments);
|
4896 | };
|
4897 | Object.defineProperty(exports, "__esModule", { value: true });
|
4898 | var types_1 = __webpack_require__(1);
|
4899 | var helper_1 = __webpack_require__(0);
|
4900 |
|
4901 |
|
4902 |
|
4903 |
|
4904 |
|
4905 |
|
4906 | var ActionType;
|
4907 | (function (ActionType) {
|
4908 | ActionType["SHOW"] = "APP::SHARE::SHOW";
|
4909 | ActionType["CLOSE"] = "APP::SHARE::CLOSE";
|
4910 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
4911 |
|
4912 |
|
4913 |
|
4914 | var Action;
|
4915 | (function (Action) {
|
4916 | Action["SHOW"] = "SHOW";
|
4917 | Action["CLOSE"] = "CLOSE";
|
4918 | })(Action = exports.Action || (exports.Action = {}));
|
4919 |
|
4920 |
|
4921 |
|
4922 |
|
4923 |
|
4924 |
|
4925 |
|
4926 | var Share = (function (_super) {
|
4927 | __extends(Share, _super);
|
4928 | function Share(app) {
|
4929 | return _super.call(this, app, types_1.Group.Share, types_1.Group.Share) || this;
|
4930 | }
|
4931 | |
4932 |
|
4933 |
|
4934 | Share.prototype.dispatch = function (action, payload) {
|
4935 | switch (action) {
|
4936 | case Action.SHOW:
|
4937 | this.dispatchShareAction(ActionType.SHOW, payload);
|
4938 | break;
|
4939 | default:
|
4940 | throw "Action: " + action + " not supported";
|
4941 | }
|
4942 | return this;
|
4943 | };
|
4944 | |
4945 |
|
4946 |
|
4947 | Share.prototype.dispatchShareAction = function (actionType, payload) {
|
4948 | this.app.dispatch(helper_1.actionWrapper({
|
4949 | type: actionType,
|
4950 | group: types_1.Group.Share,
|
4951 | payload: __assign({ id: this.id }, payload),
|
4952 | }));
|
4953 | };
|
4954 | return Share;
|
4955 | }(helper_1.ActionSet));
|
4956 | exports.Share = Share;
|
4957 |
|
4958 |
|
4959 |
|
4960 | function create(app) {
|
4961 | return new Share(app);
|
4962 | }
|
4963 | exports.create = create;
|
4964 |
|
4965 |
|
4966 | }),
|
4967 |
|
4968 | (function(module, exports, __webpack_require__) {
|
4969 |
|
4970 | "use strict";
|
4971 |
|
4972 | function __export(m) {
|
4973 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
4974 | }
|
4975 | Object.defineProperty(exports, "__esModule", { value: true });
|
4976 | __export(__webpack_require__(76));
|
4977 |
|
4978 |
|
4979 | }),
|
4980 |
|
4981 | (function(module, exports, __webpack_require__) {
|
4982 |
|
4983 | "use strict";
|
4984 |
|
4985 | var __extends = (this && this.__extends) || (function () {
|
4986 | var extendStatics = function (d, b) {
|
4987 | extendStatics = Object.setPrototypeOf ||
|
4988 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
4989 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
4990 | return extendStatics(d, b);
|
4991 | };
|
4992 | return function (d, b) {
|
4993 | extendStatics(d, b);
|
4994 | function __() { this.constructor = d; }
|
4995 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
4996 | };
|
4997 | })();
|
4998 | var __assign = (this && this.__assign) || function () {
|
4999 | __assign = Object.assign || function(t) {
|
5000 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5001 | s = arguments[i];
|
5002 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
5003 | t[p] = s[p];
|
5004 | }
|
5005 | return t;
|
5006 | };
|
5007 | return __assign.apply(this, arguments);
|
5008 | };
|
5009 | Object.defineProperty(exports, "__esModule", { value: true });
|
5010 | var AppLink_1 = __webpack_require__(11);
|
5011 | var helper_1 = __webpack_require__(0);
|
5012 | var types_1 = __webpack_require__(1);
|
5013 | var SUBGROUPS = ['Navigation_Menu'];
|
5014 | var Action;
|
5015 | (function (Action) {
|
5016 | Action["UPDATE"] = "UPDATE";
|
5017 | Action["LINK_UPDATE"] = "LINK::UPDATE";
|
5018 | })(Action = exports.Action || (exports.Action = {}));
|
5019 | var ActionType;
|
5020 | (function (ActionType) {
|
5021 | ActionType["UPDATE"] = "APP::MENU::NAVIGATION_MENU::UPDATE";
|
5022 | ActionType["LINK_UPDATE"] = "APP::MENU::NAVIGATION_MENU::LINK::UPDATE";
|
5023 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
5024 | function update(payload) {
|
5025 | return helper_1.actionWrapper({
|
5026 | payload: payload,
|
5027 | group: types_1.Group.Menu,
|
5028 | type: ActionType.UPDATE,
|
5029 | });
|
5030 | }
|
5031 | exports.update = update;
|
5032 | var NavigationMenu = (function (_super) {
|
5033 | __extends(NavigationMenu, _super);
|
5034 | function NavigationMenu(app, options) {
|
5035 | var _this = _super.call(this, app, 'Navigation_Menu', types_1.Group.Menu) || this;
|
5036 | _this.items = [];
|
5037 |
|
5038 | _this.set(options);
|
5039 | return _this;
|
5040 | }
|
5041 | Object.defineProperty(NavigationMenu.prototype, "options", {
|
5042 | get: function () {
|
5043 | return {
|
5044 | items: this.itemsOptions,
|
5045 | active: this.activeOptions,
|
5046 | };
|
5047 | },
|
5048 | enumerable: true,
|
5049 | configurable: true
|
5050 | });
|
5051 | Object.defineProperty(NavigationMenu.prototype, "payload", {
|
5052 | get: function () {
|
5053 | return __assign({}, this.options, { active: this.active, items: this.items, id: this.id });
|
5054 | },
|
5055 | enumerable: true,
|
5056 | configurable: true
|
5057 | });
|
5058 | NavigationMenu.prototype.set = function (options, shouldUpdate) {
|
5059 | if (shouldUpdate === void 0) { shouldUpdate = true; }
|
5060 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
5061 | var items = mergedOptions.items, active = mergedOptions.active;
|
5062 | this.setItems(items);
|
5063 | this.activeOptions = active;
|
5064 | this.active = active && active.id;
|
5065 | if (shouldUpdate) {
|
5066 | this.dispatch(Action.UPDATE);
|
5067 | }
|
5068 | return this;
|
5069 | };
|
5070 | NavigationMenu.prototype.dispatch = function (action) {
|
5071 | switch (action) {
|
5072 | case Action.UPDATE:
|
5073 | this.app.dispatch(update(this.payload));
|
5074 | break;
|
5075 | }
|
5076 | return this;
|
5077 | };
|
5078 | NavigationMenu.prototype.updateItem = function (newPayload) {
|
5079 | if (!this.items) {
|
5080 | return;
|
5081 | }
|
5082 | var itemToUpdate = this.items.find(function (action) { return action.id === newPayload.id; });
|
5083 | if (!itemToUpdate) {
|
5084 | return;
|
5085 | }
|
5086 | if (helper_1.updateActionFromPayload(itemToUpdate, newPayload)) {
|
5087 | this.dispatch(Action.UPDATE);
|
5088 | }
|
5089 | };
|
5090 | NavigationMenu.prototype.setItems = function (newOptions) {
|
5091 | var _this = this;
|
5092 | var newItems = newOptions || [];
|
5093 | var currentItems = this.itemsOptions || [];
|
5094 | this.itemsOptions = this.getUpdatedChildActions(newItems, currentItems);
|
5095 | this.items = this.itemsOptions
|
5096 | ? this.itemsOptions.map(function (action) {
|
5097 | _this.addChild(action, _this.group, SUBGROUPS);
|
5098 | _this.subscribeToChild(action, AppLink_1.Action.UPDATE, _this.updateItem);
|
5099 | return action.payload;
|
5100 | })
|
5101 | : [];
|
5102 | };
|
5103 | return NavigationMenu;
|
5104 | }(helper_1.ActionSetWithChildren));
|
5105 | exports.NavigationMenu = NavigationMenu;
|
5106 | function create(app, options) {
|
5107 | return new NavigationMenu(app, options);
|
5108 | }
|
5109 | exports.create = create;
|
5110 |
|
5111 |
|
5112 | }),
|
5113 |
|
5114 | (function(module, exports, __webpack_require__) {
|
5115 |
|
5116 | "use strict";
|
5117 |
|
5118 | function __export(m) {
|
5119 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
5120 | }
|
5121 | Object.defineProperty(exports, "__esModule", { value: true });
|
5122 | __export(__webpack_require__(78));
|
5123 |
|
5124 |
|
5125 | }),
|
5126 |
|
5127 | (function(module, exports, __webpack_require__) {
|
5128 |
|
5129 | "use strict";
|
5130 |
|
5131 | var __extends = (this && this.__extends) || (function () {
|
5132 | var extendStatics = function (d, b) {
|
5133 | extendStatics = Object.setPrototypeOf ||
|
5134 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
5135 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
5136 | return extendStatics(d, b);
|
5137 | };
|
5138 | return function (d, b) {
|
5139 | extendStatics(d, b);
|
5140 | function __() { this.constructor = d; }
|
5141 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
5142 | };
|
5143 | })();
|
5144 | var __assign = (this && this.__assign) || function () {
|
5145 | __assign = Object.assign || function(t) {
|
5146 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5147 | s = arguments[i];
|
5148 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
5149 | t[p] = s[p];
|
5150 | }
|
5151 | return t;
|
5152 | };
|
5153 | return __assign.apply(this, arguments);
|
5154 | };
|
5155 | Object.defineProperty(exports, "__esModule", { value: true });
|
5156 | var AppLink_1 = __webpack_require__(11);
|
5157 | var helper_1 = __webpack_require__(0);
|
5158 | var types_1 = __webpack_require__(1);
|
5159 | var SUBGROUPS = ['Channel_Menu'];
|
5160 | var Action;
|
5161 | (function (Action) {
|
5162 | Action["UPDATE"] = "UPDATE";
|
5163 | Action["LINK_UPDATE"] = "LINK::UPDATE";
|
5164 | })(Action = exports.Action || (exports.Action = {}));
|
5165 | var ActionType;
|
5166 | (function (ActionType) {
|
5167 | ActionType["UPDATE"] = "APP::MENU::CHANNEL_MENU::UPDATE";
|
5168 | ActionType["LINK_UPDATE"] = "APP::MENU::CHANNEL_MENU::LINK::UPDATE";
|
5169 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
5170 | function update(payload) {
|
5171 | return helper_1.actionWrapper({
|
5172 | payload: payload,
|
5173 | group: types_1.Group.Menu,
|
5174 | type: ActionType.UPDATE,
|
5175 | });
|
5176 | }
|
5177 | exports.update = update;
|
5178 | var ChannelMenu = (function (_super) {
|
5179 | __extends(ChannelMenu, _super);
|
5180 | function ChannelMenu(app, options) {
|
5181 | var _this = _super.call(this, app, 'Channel_Menu', types_1.Group.Menu) || this;
|
5182 | _this.items = [];
|
5183 |
|
5184 | _this.set(options);
|
5185 | return _this;
|
5186 | }
|
5187 | Object.defineProperty(ChannelMenu.prototype, "options", {
|
5188 | get: function () {
|
5189 | return {
|
5190 | items: this.itemsOptions,
|
5191 | active: this.activeOptions,
|
5192 | };
|
5193 | },
|
5194 | enumerable: true,
|
5195 | configurable: true
|
5196 | });
|
5197 | Object.defineProperty(ChannelMenu.prototype, "payload", {
|
5198 | get: function () {
|
5199 | return __assign({}, this.options, { active: this.active, items: this.items, id: this.id });
|
5200 | },
|
5201 | enumerable: true,
|
5202 | configurable: true
|
5203 | });
|
5204 | ChannelMenu.prototype.set = function (options, shouldUpdate) {
|
5205 | if (shouldUpdate === void 0) { shouldUpdate = true; }
|
5206 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
5207 | var items = mergedOptions.items, active = mergedOptions.active;
|
5208 | this.setItems(items);
|
5209 | this.activeOptions = active;
|
5210 | this.active = active && active.id;
|
5211 | if (shouldUpdate) {
|
5212 | this.dispatch(Action.UPDATE);
|
5213 | }
|
5214 | return this;
|
5215 | };
|
5216 | ChannelMenu.prototype.dispatch = function (action) {
|
5217 | switch (action) {
|
5218 | case Action.UPDATE:
|
5219 | this.app.dispatch(update(this.payload));
|
5220 | break;
|
5221 | }
|
5222 | return this;
|
5223 | };
|
5224 | ChannelMenu.prototype.updateItem = function (newPayload) {
|
5225 | if (!this.items) {
|
5226 | return;
|
5227 | }
|
5228 | var itemToUpdate = this.items.find(function (action) { return action.id === newPayload.id; });
|
5229 | if (!itemToUpdate) {
|
5230 | return;
|
5231 | }
|
5232 | if (helper_1.updateActionFromPayload(itemToUpdate, newPayload)) {
|
5233 | this.dispatch(Action.UPDATE);
|
5234 | }
|
5235 | };
|
5236 | ChannelMenu.prototype.setItems = function (newOptions) {
|
5237 | var _this = this;
|
5238 | var newItems = newOptions || [];
|
5239 | var currentItems = this.itemsOptions || [];
|
5240 | this.itemsOptions = this.getUpdatedChildActions(newItems, currentItems);
|
5241 | this.items = this.itemsOptions
|
5242 | ? this.itemsOptions.map(function (action) {
|
5243 | _this.addChild(action, _this.group, SUBGROUPS);
|
5244 | _this.subscribeToChild(action, AppLink_1.Action.UPDATE, _this.updateItem);
|
5245 | return action.payload;
|
5246 | })
|
5247 | : [];
|
5248 | };
|
5249 | return ChannelMenu;
|
5250 | }(helper_1.ActionSetWithChildren));
|
5251 | exports.ChannelMenu = ChannelMenu;
|
5252 | function create(app, options) {
|
5253 | return new ChannelMenu(app, options);
|
5254 | }
|
5255 | exports.create = create;
|
5256 |
|
5257 |
|
5258 | }),
|
5259 |
|
5260 | (function(module, exports, __webpack_require__) {
|
5261 |
|
5262 | "use strict";
|
5263 |
|
5264 | var __extends = (this && this.__extends) || (function () {
|
5265 | var extendStatics = function (d, b) {
|
5266 | extendStatics = Object.setPrototypeOf ||
|
5267 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
5268 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
5269 | return extendStatics(d, b);
|
5270 | };
|
5271 | return function (d, b) {
|
5272 | extendStatics(d, b);
|
5273 | function __() { this.constructor = d; }
|
5274 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
5275 | };
|
5276 | })();
|
5277 | Object.defineProperty(exports, "__esModule", { value: true });
|
5278 | var helper_1 = __webpack_require__(0);
|
5279 | var types_1 = __webpack_require__(1);
|
5280 | var Action;
|
5281 | (function (Action) {
|
5282 | Action["CLOSE"] = "CLOSE";
|
5283 | })(Action = exports.Action || (exports.Action = {}));
|
5284 |
|
5285 |
|
5286 |
|
5287 |
|
5288 |
|
5289 | var ActionType;
|
5290 | (function (ActionType) {
|
5291 | ActionType["CLOSE"] = "APP::POS::CLOSE";
|
5292 | ActionType["LOCATION_UPDATE"] = "APP::POS::LOCATION::UPDATE";
|
5293 | ActionType["USER_UPDATE"] = "APP::POS::USER::UPDATE";
|
5294 | ActionType["DEVICE_UPDATE"] = "APP::POS::DEVICE::UPDATE";
|
5295 | })(ActionType = exports.ActionType || (exports.ActionType = {}));
|
5296 | function close() {
|
5297 | return helper_1.actionWrapper({
|
5298 | group: types_1.Group.Pos,
|
5299 | type: ActionType.CLOSE,
|
5300 | });
|
5301 | }
|
5302 | exports.close = close;
|
5303 | var Pos = (function (_super) {
|
5304 | __extends(Pos, _super);
|
5305 | function Pos(app) {
|
5306 | return _super.call(this, app, types_1.Group.Pos, types_1.Group.Pos) || this;
|
5307 | }
|
5308 | Pos.prototype.dispatch = function (action) {
|
5309 | switch (action) {
|
5310 | case ActionType.CLOSE:
|
5311 | this.app.dispatch(close());
|
5312 | break;
|
5313 | }
|
5314 | return this;
|
5315 | };
|
5316 | return Pos;
|
5317 | }(helper_1.ActionSet));
|
5318 | exports.Pos = Pos;
|
5319 | function create(app) {
|
5320 | return new Pos(app);
|
5321 | }
|
5322 | exports.create = create;
|
5323 |
|
5324 |
|
5325 | }),
|
5326 |
|
5327 | (function(module, exports, __webpack_require__) {
|
5328 |
|
5329 | "use strict";
|
5330 |
|
5331 | Object.defineProperty(exports, "__esModule", { value: true });
|
5332 | var validator_1 = __webpack_require__(81);
|
5333 | exports.default = validator_1.validatorMiddleware;
|
5334 |
|
5335 |
|
5336 | }),
|
5337 |
|
5338 | (function(module, exports, __webpack_require__) {
|
5339 |
|
5340 | "use strict";
|
5341 |
|
5342 | Object.defineProperty(exports, "__esModule", { value: true });
|
5343 | var client_1 = __webpack_require__(19);
|
5344 | var actions_1 = __webpack_require__(6);
|
5345 | var Error_1 = __webpack_require__(5);
|
5346 | var actions_2 = __webpack_require__(84);
|
5347 | var type_validate_1 = __webpack_require__(2);
|
5348 | var utils_1 = __webpack_require__(3);
|
5349 | var helper_1 = __webpack_require__(0);
|
5350 | function updateValidator(localOrigin, group, options) {
|
5351 | switch (group) {
|
5352 | case actions_1.Group.Button:
|
5353 | return actions_2.Button.validateProps(options);
|
5354 | case actions_1.Group.ButtonGroup:
|
5355 | return actions_2.ButtonGroup.validateProps(options);
|
5356 | case actions_1.Group.Modal:
|
5357 | return actions_2.Modal.validateProps(options, localOrigin);
|
5358 | case actions_1.Group.Menu:
|
5359 | return actions_2.Menu.validateProps(options);
|
5360 | case actions_1.Group.Link:
|
5361 | return actions_2.Link.validateProps(options);
|
5362 | case actions_1.Group.TitleBar:
|
5363 | return actions_2.TitleBar.validateProps(options);
|
5364 | case actions_1.Group.ResourcePicker:
|
5365 | return actions_2.ResourcePicker.validateProps(options);
|
5366 | case actions_1.Group.Toast:
|
5367 | return actions_2.Toast.validateProps(options);
|
5368 | case actions_1.Group.ContextualSaveBar:
|
5369 | return actions_2.ContextualSaveBar.validateProps(options);
|
5370 | }
|
5371 | }
|
5372 | function dispatchPayloadValidator(action, localOrigin) {
|
5373 | switch (action.group) {
|
5374 | case actions_1.Group.Button:
|
5375 | return actions_2.Button.validateAction(action);
|
5376 | case actions_1.Group.ButtonGroup:
|
5377 | return actions_2.ButtonGroup.validateAction(action);
|
5378 | case actions_1.Group.Modal:
|
5379 | return actions_2.Modal.validateAction(action, localOrigin);
|
5380 | case actions_1.Group.Menu:
|
5381 | return actions_2.Menu.validateAction(action);
|
5382 | case actions_1.Group.TitleBar:
|
5383 | return actions_2.TitleBar.validateAction(action);
|
5384 | case actions_1.Group.ResourcePicker:
|
5385 | return actions_2.ResourcePicker.validateAction(action);
|
5386 | case actions_1.Group.Loading:
|
5387 | return actions_2.Loading.validateAction(action);
|
5388 | case actions_1.Group.Toast:
|
5389 | return actions_2.Toast.validateAction(action);
|
5390 | case actions_1.Group.Cart:
|
5391 | return actions_2.Cart.validateAction(action);
|
5392 | case actions_1.Group.Navigation:
|
5393 | return actions_2.Navigation.validateAction(action);
|
5394 | case actions_1.Group.Print:
|
5395 | return actions_2.Print.validateAction(action);
|
5396 | case actions_1.Group.Scanner:
|
5397 | return actions_2.Scanner.validateAction(action);
|
5398 | case actions_1.Group.Fullscreen:
|
5399 | return actions_2.Fullscreen.validateAction(action);
|
5400 | case actions_1.Group.ContextualSaveBar:
|
5401 | return actions_2.ContextualSaveBar.validateAction(action);
|
5402 | case actions_1.Group.Link:
|
5403 | return actions_2.Link.validateAction(action);
|
5404 | }
|
5405 | }
|
5406 | function dispatchValidator(action, origin) {
|
5407 | var errors = type_validate_1.validate(action, type_validate_1.matchesObject({
|
5408 | group: type_validate_1.matchesEnum(actions_1.Group, {
|
5409 | message: function (_, value) { return "Unknown or unsupported action group `" + value + "`"; },
|
5410 | }),
|
5411 | version: type_validate_1.matchesString(),
|
5412 | }));
|
5413 | if (errors) {
|
5414 | return Error_1.invalidAction(action, utils_1.actionMessage(errors));
|
5415 | }
|
5416 | var payloadErrors = dispatchPayloadValidator(action, origin);
|
5417 | return payloadErrors ? Error_1.invalidPayload(action, utils_1.actionMessage(payloadErrors)) : action;
|
5418 | }
|
5419 | exports.connectValidatorToUpdateHook = function (next) {
|
5420 | return function (options) {
|
5421 | var args = [];
|
5422 | for (var _i = 1; _i < arguments.length; _i++) {
|
5423 | args[_i - 1] = arguments[_i];
|
5424 | }
|
5425 |
|
5426 |
|
5427 |
|
5428 | var mergedOptions = helper_1.getMergedProps(this.options, options);
|
5429 | var errors = updateValidator(this.app.localOrigin, this.defaultGroup, mergedOptions);
|
5430 | if (errors) {
|
5431 | throw Error_1.fromAction(utils_1.actionMessage(errors), Error_1.ActionType.INVALID_OPTIONS);
|
5432 | }
|
5433 | return next.apply(void 0, [options].concat(args));
|
5434 | };
|
5435 | };
|
5436 | exports.connectValidatorToDispatchHook = function (next) {
|
5437 | return function (action) {
|
5438 | var finalAction = dispatchValidator(action, this.localOrigin);
|
5439 | return next(finalAction);
|
5440 | };
|
5441 | };
|
5442 | exports.validatorMiddleware = function (hooks) {
|
5443 | hooks.set(client_1.LifecycleHook.UpdateAction, exports.connectValidatorToUpdateHook);
|
5444 | hooks.set(client_1.LifecycleHook.DispatchAction, exports.connectValidatorToDispatchHook);
|
5445 | };
|
5446 |
|
5447 |
|
5448 | }),
|
5449 |
|
5450 | (function(module, exports, __webpack_require__) {
|
5451 |
|
5452 | "use strict";
|
5453 |
|
5454 | Object.defineProperty(exports, "__esModule", { value: true });
|
5455 | var redirect_1 = __webpack_require__(20);
|
5456 | function isRunningOniOS() {
|
5457 | return navigator.userAgent.indexOf('iOS') >= 0;
|
5458 | }
|
5459 | function createHiddenInput() {
|
5460 | var currentWindow = redirect_1.getWindow();
|
5461 | if (!currentWindow || !currentWindow.document || !currentWindow.document.body) {
|
5462 | return;
|
5463 | }
|
5464 | var inputElement = window.document.createElement('input');
|
5465 | inputElement.style.display = 'none';
|
5466 | window.document.body.appendChild(inputElement);
|
5467 | return inputElement;
|
5468 | }
|
5469 | function printWindow() {
|
5470 | if (!redirect_1.getWindow()) {
|
5471 | return;
|
5472 | }
|
5473 |
|
5474 | window.print();
|
5475 | }
|
5476 | function handleMobileAppPrint() {
|
5477 | var input = createHiddenInput();
|
5478 | if (!input) {
|
5479 | return;
|
5480 | }
|
5481 | input.select();
|
5482 | printWindow();
|
5483 | input.remove();
|
5484 | }
|
5485 | function handleAppPrint() {
|
5486 | if (isRunningOniOS()) {
|
5487 | handleMobileAppPrint();
|
5488 | }
|
5489 | else {
|
5490 | printWindow();
|
5491 | }
|
5492 | }
|
5493 | exports.handleAppPrint = handleAppPrint;
|
5494 |
|
5495 |
|
5496 | }),
|
5497 |
|
5498 | (function(module, exports, __webpack_require__) {
|
5499 |
|
5500 | "use strict";
|
5501 |
|
5502 | Object.defineProperty(exports, "__esModule", { value: true });
|
5503 | var collection_1 = __webpack_require__(9);
|
5504 |
|
5505 |
|
5506 |
|
5507 |
|
5508 |
|
5509 |
|
5510 |
|
5511 |
|
5512 |
|
5513 |
|
5514 |
|
5515 |
|
5516 |
|
5517 |
|
5518 |
|
5519 |
|
5520 |
|
5521 |
|
5522 |
|
5523 |
|
5524 |
|
5525 |
|
5526 |
|
5527 |
|
5528 |
|
5529 |
|
5530 |
|
5531 |
|
5532 |
|
5533 |
|
5534 |
|
5535 |
|
5536 |
|
5537 |
|
5538 |
|
5539 |
|
5540 |
|
5541 |
|
5542 |
|
5543 |
|
5544 |
|
5545 |
|
5546 | var Hooks = (function () {
|
5547 | function Hooks() {
|
5548 | this.map = {};
|
5549 | }
|
5550 | Hooks.prototype.set = function (hook, handler) {
|
5551 | if (!this.map.hasOwnProperty(hook)) {
|
5552 | this.map[hook] = [];
|
5553 | }
|
5554 | var value = { handler: handler, remove: function () { } };
|
5555 | var remove = collection_1.addAndRemoveFromCollection(this.map[hook], value);
|
5556 | value = { handler: handler, remove: remove };
|
5557 | return remove;
|
5558 | };
|
5559 | Hooks.prototype.get = function (hook) {
|
5560 | var value = this.map[hook];
|
5561 | return value ? value.map(function (val) { return val.handler; }) : undefined;
|
5562 | };
|
5563 | Hooks.prototype.run = function (hook, final, context) {
|
5564 | var initialArgs = [];
|
5565 | for (var _i = 3; _i < arguments.length; _i++) {
|
5566 | initialArgs[_i - 3] = arguments[_i];
|
5567 | }
|
5568 | var index = 0;
|
5569 | var handlers = this.get(hook) || [];
|
5570 | function handler() {
|
5571 | var args = [];
|
5572 | for (var _i = 0; _i < arguments.length; _i++) {
|
5573 | args[_i] = arguments[_i];
|
5574 | }
|
5575 | var childHandler = handlers[index++];
|
5576 | if (childHandler) {
|
5577 | return childHandler(handler).apply(context, args);
|
5578 | }
|
5579 | return final.apply(context, args);
|
5580 | }
|
5581 | return handler.apply(context, initialArgs);
|
5582 | };
|
5583 | return Hooks;
|
5584 | }());
|
5585 | exports.default = Hooks;
|
5586 |
|
5587 |
|
5588 | }),
|
5589 |
|
5590 | (function(module, exports, __webpack_require__) {
|
5591 |
|
5592 | "use strict";
|
5593 |
|
5594 | var __importStar = (this && this.__importStar) || function (mod) {
|
5595 | if (mod && mod.__esModule) return mod;
|
5596 | var result = {};
|
5597 | if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
5598 | result["default"] = mod;
|
5599 | return result;
|
5600 | };
|
5601 | Object.defineProperty(exports, "__esModule", { value: true });
|
5602 | var Button = __importStar(__webpack_require__(12));
|
5603 | exports.Button = Button;
|
5604 | var Scanner = __importStar(__webpack_require__(85));
|
5605 | exports.Scanner = Scanner;
|
5606 | var Cart = __importStar(__webpack_require__(86));
|
5607 | exports.Cart = Cart;
|
5608 | var ContextualSaveBar = __importStar(__webpack_require__(87));
|
5609 | exports.ContextualSaveBar = ContextualSaveBar;
|
5610 | var Fullscreen = __importStar(__webpack_require__(88));
|
5611 | exports.Fullscreen = Fullscreen;
|
5612 | var Loading = __importStar(__webpack_require__(89));
|
5613 | exports.Loading = Loading;
|
5614 | var Modal = __importStar(__webpack_require__(90));
|
5615 | exports.Modal = Modal;
|
5616 | var Navigation = __importStar(__webpack_require__(92));
|
5617 | exports.Navigation = Navigation;
|
5618 | var Print = __importStar(__webpack_require__(93));
|
5619 | exports.Print = Print;
|
5620 | var ButtonGroup = __importStar(__webpack_require__(46));
|
5621 | exports.ButtonGroup = ButtonGroup;
|
5622 | var ResourcePicker = __importStar(__webpack_require__(94));
|
5623 | exports.ResourcePicker = ResourcePicker;
|
5624 | var Toast = __importStar(__webpack_require__(95));
|
5625 | exports.Toast = Toast;
|
5626 | var TitleBar = __importStar(__webpack_require__(96));
|
5627 | exports.TitleBar = TitleBar;
|
5628 | var Menu = __importStar(__webpack_require__(97));
|
5629 | exports.Menu = Menu;
|
5630 | var Link = __importStar(__webpack_require__(47));
|
5631 | exports.Link = Link;
|
5632 |
|
5633 |
|
5634 | }),
|
5635 |
|
5636 | (function(module, exports, __webpack_require__) {
|
5637 |
|
5638 | "use strict";
|
5639 |
|
5640 | Object.defineProperty(exports, "__esModule", { value: true });
|
5641 | var Scanner_1 = __webpack_require__(39);
|
5642 | exports.ActionType = Scanner_1.ActionType;
|
5643 | var type_validate_1 = __webpack_require__(2);
|
5644 | var utils_1 = __webpack_require__(3);
|
5645 | function validateAction(action) {
|
5646 | return type_validate_1.validate(action, utils_1.createActionValidator(Scanner_1.ActionType));
|
5647 | }
|
5648 | exports.validateAction = validateAction;
|
5649 |
|
5650 |
|
5651 | }),
|
5652 |
|
5653 | (function(module, exports, __webpack_require__) {
|
5654 |
|
5655 | "use strict";
|
5656 |
|
5657 | Object.defineProperty(exports, "__esModule", { value: true });
|
5658 | var Cart_1 = __webpack_require__(26);
|
5659 | exports.ActionType = Cart_1.ActionType;
|
5660 | var type_validate_1 = __webpack_require__(2);
|
5661 | var utils_1 = __webpack_require__(3);
|
5662 | var addressSchema = type_validate_1.matchesObject({
|
5663 | address1: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5664 | address2: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5665 | city: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5666 | company: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5667 | firstName: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5668 | lastName: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5669 | phone: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5670 | province: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5671 | country: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5672 | zip: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5673 | name: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5674 | provinceCode: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5675 | countryCode: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5676 | });
|
5677 | var discountSchema = type_validate_1.matchesObject({
|
5678 | amount: type_validate_1.makeOptional(type_validate_1.matchesPositiveInteger()),
|
5679 | discountDescription: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5680 | type: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5681 | discountCode: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5682 | });
|
5683 | var discountAmount = type_validate_1.matchesObject({
|
5684 | amount: type_validate_1.matchesPositiveNumber(),
|
5685 | discountDescription: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5686 | type: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5687 | });
|
5688 | var discountCode = type_validate_1.matchesObject({
|
5689 | discountCode: type_validate_1.matchesString(),
|
5690 | });
|
5691 | var lineItemSchema = type_validate_1.matchesObject({
|
5692 | price: type_validate_1.makeOptional(type_validate_1.matchesPositiveNumber()),
|
5693 | quantity: type_validate_1.makeOptional(type_validate_1.matchesPositiveInteger()),
|
5694 | title: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5695 | variantId: type_validate_1.makeOptional(type_validate_1.matchesPositiveInteger()),
|
5696 | discount: type_validate_1.makeOptional(discountAmount),
|
5697 | });
|
5698 | var updateLineItemSchema = type_validate_1.matchesObject({
|
5699 | quantity: type_validate_1.matchesPositiveInteger(),
|
5700 | });
|
5701 | var customerSchema = type_validate_1.matchesObject({
|
5702 | id: type_validate_1.makeOptional(type_validate_1.matchesPositiveInteger()),
|
5703 | email: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5704 | firstName: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5705 | lastName: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5706 | note: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5707 | addresses: type_validate_1.makeOptional(type_validate_1.matchesArray(addressSchema)),
|
5708 | });
|
5709 | var noteSchema = type_validate_1.matchesObject({
|
5710 | name: type_validate_1.matchesString(),
|
5711 | value: type_validate_1.matchesString(),
|
5712 | });
|
5713 | var cartSchema = type_validate_1.matchesObject({
|
5714 | cartDiscount: type_validate_1.makeOptional(discountSchema),
|
5715 | customer: type_validate_1.makeOptional(customerSchema),
|
5716 | grandTotal: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5717 | lineItems: type_validate_1.makeOptional(type_validate_1.matchesArray(lineItemSchema)),
|
5718 | noteAttributes: type_validate_1.makeOptional(type_validate_1.matchesArray(noteSchema)),
|
5719 | subTotal: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5720 | taxTotal: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5721 | });
|
5722 | var propertiesSchema = type_validate_1.composeSchemas(type_validate_1.matchesObject({}), function (value) {
|
5723 | var validator = type_validate_1.matchesString();
|
5724 | var schema = Object.keys(value).reduce(function (acc, key) {
|
5725 | acc[key] = validator;
|
5726 | return acc;
|
5727 | }, {});
|
5728 | return type_validate_1.validate(value, type_validate_1.matchesObject(schema));
|
5729 | });
|
5730 | var matchesStringArray = type_validate_1.matchesArray(type_validate_1.matchesString());
|
5731 | function createDataValidator(data) {
|
5732 | return utils_1.createActionValidator(Cart_1.ActionType, data ? type_validate_1.matchesObject({ data: data }) : undefined, true, true);
|
5733 | }
|
5734 | function createDataValidatorWithIndex(data) {
|
5735 | var indexSchema = type_validate_1.matchesObject({ index: type_validate_1.matchesPositiveInteger() });
|
5736 | if (data) {
|
5737 | var dataSchema = type_validate_1.matchesObject({ data: data });
|
5738 | return utils_1.createActionValidator(Cart_1.ActionType, type_validate_1.composeSchemas(indexSchema, dataSchema), true, true);
|
5739 | }
|
5740 | return utils_1.createActionValidator(Cart_1.ActionType, indexSchema, true, true);
|
5741 | }
|
5742 | function getDiscountSchema(data) {
|
5743 | if (data.amount) {
|
5744 | return discountAmount;
|
5745 | }
|
5746 | return discountCode;
|
5747 | }
|
5748 | function validateAction(action) {
|
5749 | switch (action.type) {
|
5750 | case Cart_1.ActionType.UPDATE:
|
5751 | return type_validate_1.validate(action, createDataValidator(cartSchema));
|
5752 | case Cart_1.ActionType.SET_CUSTOMER:
|
5753 | return type_validate_1.validate(action, createDataValidator(customerSchema));
|
5754 | case Cart_1.ActionType.ADD_CUSTOMER_ADDRESS:
|
5755 | return type_validate_1.validate(action, createDataValidator(addressSchema));
|
5756 | case Cart_1.ActionType.UPDATE_CUSTOMER_ADDRESS:
|
5757 | return type_validate_1.validate(action, createDataValidatorWithIndex(addressSchema));
|
5758 | case Cart_1.ActionType.SET_DISCOUNT:
|
5759 | return type_validate_1.validate(action, createDataValidator(getDiscountSchema(action.payload.data)));
|
5760 | case Cart_1.ActionType.SET_PROPERTIES:
|
5761 | return type_validate_1.validate(action, createDataValidator(propertiesSchema));
|
5762 | case Cart_1.ActionType.REMOVE_PROPERTIES:
|
5763 | return type_validate_1.validate(action, createDataValidator(matchesStringArray));
|
5764 | case Cart_1.ActionType.ADD_LINE_ITEM:
|
5765 | return type_validate_1.validate(action, createDataValidator(lineItemSchema));
|
5766 | case Cart_1.ActionType.UPDATE_LINE_ITEM:
|
5767 | return type_validate_1.validate(action, createDataValidatorWithIndex(updateLineItemSchema));
|
5768 | case Cart_1.ActionType.REMOVE_LINE_ITEM:
|
5769 | return type_validate_1.validate(action, createDataValidatorWithIndex());
|
5770 | case Cart_1.ActionType.SET_LINE_ITEM_DISCOUNT:
|
5771 | return type_validate_1.validate(action, createDataValidatorWithIndex(discountAmount));
|
5772 | case Cart_1.ActionType.REMOVE_LINE_ITEM_DISCOUNT:
|
5773 | return type_validate_1.validate(action, createDataValidatorWithIndex());
|
5774 | case Cart_1.ActionType.SET_LINE_ITEM_PROPERTIES:
|
5775 | return type_validate_1.validate(action, createDataValidatorWithIndex(propertiesSchema));
|
5776 | case Cart_1.ActionType.REMOVE_LINE_ITEM_PROPERTIES:
|
5777 | return type_validate_1.validate(action, createDataValidatorWithIndex(matchesStringArray));
|
5778 | case Cart_1.ActionType.FETCH:
|
5779 | case Cart_1.ActionType.REMOVE_CUSTOMER:
|
5780 | case Cart_1.ActionType.REMOVE_DISCOUNT:
|
5781 | case Cart_1.ActionType.CLEAR:
|
5782 | default:
|
5783 | return type_validate_1.validate(action, utils_1.createActionValidator(Cart_1.ActionType, undefined, false, true));
|
5784 | }
|
5785 | }
|
5786 | exports.validateAction = validateAction;
|
5787 |
|
5788 |
|
5789 | }),
|
5790 |
|
5791 | (function(module, exports, __webpack_require__) {
|
5792 |
|
5793 | "use strict";
|
5794 |
|
5795 | Object.defineProperty(exports, "__esModule", { value: true });
|
5796 | var type_validate_1 = __webpack_require__(2);
|
5797 | var ContextualSaveBar_1 = __webpack_require__(43);
|
5798 | exports.ActionType = ContextualSaveBar_1.ActionType;
|
5799 | var utils_1 = __webpack_require__(3);
|
5800 | exports.contextSaveBarSchema = type_validate_1.makeOptional(type_validate_1.matchesObject({
|
5801 | fullWidth: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
5802 | discardAction: type_validate_1.makeOptional(type_validate_1.matchesObject({
|
5803 | disabled: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
5804 | discardConfirmationModal: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
5805 | })),
|
5806 | saveAction: type_validate_1.makeOptional(type_validate_1.matchesObject({
|
5807 | disabled: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
5808 | })),
|
5809 | }));
|
5810 | function validateProps(props) {
|
5811 | return type_validate_1.validate(props, exports.contextSaveBarSchema);
|
5812 | }
|
5813 | exports.validateProps = validateProps;
|
5814 | function validateAction(action) {
|
5815 | var validator = utils_1.createActionValidator(ContextualSaveBar_1.ActionType, exports.contextSaveBarSchema);
|
5816 | return type_validate_1.validate(action, validator);
|
5817 | }
|
5818 | exports.validateAction = validateAction;
|
5819 |
|
5820 |
|
5821 | }),
|
5822 |
|
5823 | (function(module, exports, __webpack_require__) {
|
5824 |
|
5825 | "use strict";
|
5826 |
|
5827 | Object.defineProperty(exports, "__esModule", { value: true });
|
5828 | var Fullscreen_1 = __webpack_require__(29);
|
5829 | exports.ActionType = Fullscreen_1.ActionType;
|
5830 | var type_validate_1 = __webpack_require__(2);
|
5831 | var utils_1 = __webpack_require__(3);
|
5832 |
|
5833 |
|
5834 |
|
5835 |
|
5836 |
|
5837 |
|
5838 |
|
5839 | function validateAction(action) {
|
5840 | var validator = utils_1.createActionValidator(Fullscreen_1.ActionType);
|
5841 | return type_validate_1.validate(action, validator);
|
5842 | }
|
5843 | exports.validateAction = validateAction;
|
5844 |
|
5845 |
|
5846 | }),
|
5847 |
|
5848 | (function(module, exports, __webpack_require__) {
|
5849 |
|
5850 | "use strict";
|
5851 |
|
5852 | Object.defineProperty(exports, "__esModule", { value: true });
|
5853 | var Loading_1 = __webpack_require__(30);
|
5854 | exports.ActionType = Loading_1.ActionType;
|
5855 | var type_validate_1 = __webpack_require__(2);
|
5856 | var utils_1 = __webpack_require__(3);
|
5857 | function validateAction(action) {
|
5858 | var validator = utils_1.createActionValidator(Loading_1.ActionType);
|
5859 | return type_validate_1.validate(action, validator);
|
5860 | }
|
5861 | exports.validateAction = validateAction;
|
5862 |
|
5863 |
|
5864 | }),
|
5865 |
|
5866 | (function(module, exports, __webpack_require__) {
|
5867 |
|
5868 | "use strict";
|
5869 |
|
5870 | var __assign = (this && this.__assign) || function () {
|
5871 | __assign = Object.assign || function(t) {
|
5872 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5873 | s = arguments[i];
|
5874 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
5875 | t[p] = s[p];
|
5876 | }
|
5877 | return t;
|
5878 | };
|
5879 | return __assign.apply(this, arguments);
|
5880 | };
|
5881 | Object.defineProperty(exports, "__esModule", { value: true });
|
5882 | var type_validate_1 = __webpack_require__(2);
|
5883 | var utils_1 = __webpack_require__(3);
|
5884 | var button_1 = __webpack_require__(12);
|
5885 | var Modal_1 = __webpack_require__(32);
|
5886 | exports.ActionType = Modal_1.ActionType;
|
5887 | var Button_1 = __webpack_require__(4);
|
5888 | var safe_redirect_1 = __webpack_require__(91);
|
5889 | function matchesSafeOrigin(value, localOrigin) {
|
5890 | var hostName;
|
5891 | try {
|
5892 | hostName = new URL(localOrigin).hostname;
|
5893 | }
|
5894 | catch (error) {
|
5895 | return [
|
5896 | {
|
5897 | error: 'invalid_app_origin',
|
5898 | value: localOrigin,
|
5899 | message: "Provided value for app origin: `" + localOrigin + "` is invalid",
|
5900 | },
|
5901 | ];
|
5902 | }
|
5903 | var isSafeSrc = safe_redirect_1.isSafe(value, {
|
5904 | requireAbsolute: true,
|
5905 | requireSSL: true,
|
5906 | whitelist: [hostName],
|
5907 | });
|
5908 | if (!isSafeSrc) {
|
5909 | return [
|
5910 | {
|
5911 | error: 'unsafe_origin',
|
5912 | value: value,
|
5913 | message: "Provided value is not whitelisted",
|
5914 | },
|
5915 | ];
|
5916 | }
|
5917 | }
|
5918 | function matchesSize() {
|
5919 | return function (value) {
|
5920 | var values = [Modal_1.Size.Small, Modal_1.Size.Medium, Modal_1.Size.Large];
|
5921 | if (values.includes(value)) {
|
5922 | return;
|
5923 | }
|
5924 | var message = "expected:" + values.map(function (val) { return "`" + val + "`"; }).join(' or ');
|
5925 | if (value === Modal_1.Size.Full) {
|
5926 | message += ". Size `" + value + "` is deprecated as of version 1.6.5 and will fall back to size `medium`";
|
5927 | }
|
5928 | if (value === Modal_1.Size.Auto) {
|
5929 | message += ". Size `" + value + "` is deprecated as of version 1.12.x and will fall back to size `medium`. Use the `setUpModalAutoSizing` utility from `app-bridge-utils` instead";
|
5930 | }
|
5931 | return [
|
5932 | {
|
5933 | error: 'invalid_enum_value',
|
5934 | value: value,
|
5935 | message: message,
|
5936 | },
|
5937 | ];
|
5938 | };
|
5939 | }
|
5940 | function getModalSchema(props, localOrigin) {
|
5941 | if (props === void 0) { props = {}; }
|
5942 | var baseModalSchema = type_validate_1.matchesObject({
|
5943 | title: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
5944 | footer: type_validate_1.makeOptional(type_validate_1.matchesObject({
|
5945 | buttons: type_validate_1.matchesObject({
|
5946 | primary: type_validate_1.makeOptional(button_1.buttonSchemaWithId),
|
5947 | secondary: type_validate_1.makeOptional(type_validate_1.matchesArray(button_1.buttonSchemaWithId)),
|
5948 | }),
|
5949 | })),
|
5950 | size: type_validate_1.makeOptional(matchesSize()),
|
5951 | });
|
5952 | if (Modal_1.isIframeModal(props)) {
|
5953 | if (props.url) {
|
5954 | var urlSchema = type_validate_1.matchesObject({
|
5955 | url: type_validate_1.composeSchemas(type_validate_1.matchesString(), function (value) {
|
5956 | return value.startsWith('https://')
|
5957 | ? undefined
|
5958 | : [
|
5959 | {
|
5960 | error: 'invalid_secure_url',
|
5961 | value: value,
|
5962 | message: 'expected string to start with `https://`',
|
5963 | },
|
5964 | ];
|
5965 | }, function (value) { return (localOrigin ? matchesSafeOrigin(value, localOrigin) : undefined); }),
|
5966 | });
|
5967 | return type_validate_1.composeSchemas(baseModalSchema, urlSchema);
|
5968 | }
|
5969 | return type_validate_1.composeSchemas(baseModalSchema, utils_1.relativePathSchema);
|
5970 | }
|
5971 | return type_validate_1.composeSchemas(baseModalSchema, type_validate_1.matchesObject({ message: type_validate_1.matchesString() }));
|
5972 | }
|
5973 | function validateProps(props, localOrigin) {
|
5974 | return type_validate_1.validate(props, getModalSchema(props, localOrigin));
|
5975 | }
|
5976 | exports.validateProps = validateProps;
|
5977 | function validateAction(action, localOrigin) {
|
5978 | var schema = getModalSchema(action.payload, localOrigin);
|
5979 | switch (action.type) {
|
5980 | case Modal_1.ActionType.OPEN:
|
5981 | case Modal_1.ActionType.UPDATE:
|
5982 | return type_validate_1.validate(action, utils_1.createActionValidator(Modal_1.ActionType, schema, true, action.type === Modal_1.ActionType.UPDATE));
|
5983 | case Modal_1.ActionType.FOOTER_BUTTON_CLICK:
|
5984 | return button_1.validateAction(__assign({}, action, { type: Button_1.ActionType.CLICK }));
|
5985 | case Modal_1.ActionType.FOOTER_BUTTON_UPDATE:
|
5986 | return button_1.validateAction(__assign({}, action, { type: Button_1.ActionType.UPDATE }));
|
5987 | case Modal_1.ActionType.CLOSE:
|
5988 | default:
|
5989 | return type_validate_1.validate(action, utils_1.createActionValidator(Modal_1.ActionType));
|
5990 | }
|
5991 | }
|
5992 | exports.validateAction = validateAction;
|
5993 |
|
5994 |
|
5995 | }),
|
5996 |
|
5997 | (function(module, exports, __webpack_require__) {
|
5998 |
|
5999 | "use strict";
|
6000 |
|
6001 | Object.defineProperty(exports, "__esModule", { value: true });
|
6002 | var FILE_URI_MATCH = /\/\/\//;
|
6003 | var INVALID_RELATIVE_URL = /[/\\][/\\]/;
|
6004 | var VALID_PROTOCOLS = ['https:', 'http:'];
|
6005 | var DUMMY_HOSTNAME = 'http://test.com';
|
6006 | function isSafe(redirectUrl, _a) {
|
6007 | var _b = _a === void 0 ? {} : _a, _c = _b.whitelist, whitelist = _c === void 0 ? [] : _c, _d = _b.subdomains, subdomains = _d === void 0 ? [] : _d, matchPath = _b.matchPath, requireAbsolute = _b.requireAbsolute, requireSSL = _b.requireSSL;
|
6008 | if (FILE_URI_MATCH.test(redirectUrl)) {
|
6009 | return false;
|
6010 | }
|
6011 | if (redirectUrl.startsWith('/')) {
|
6012 | if (whitelist.length > 0 || subdomains.length > 0 || requireAbsolute || requireSSL) {
|
6013 | return false;
|
6014 | }
|
6015 | if (matchPath) {
|
6016 |
|
6017 | return pathMatches(new URL(redirectUrl, DUMMY_HOSTNAME), redirectUrl, matchPath);
|
6018 | }
|
6019 | return !INVALID_RELATIVE_URL.test(redirectUrl);
|
6020 | }
|
6021 | var url;
|
6022 | try {
|
6023 | url = new URL(redirectUrl);
|
6024 | }
|
6025 | catch (error) {
|
6026 | return false;
|
6027 | }
|
6028 | if (!VALID_PROTOCOLS.includes(url.protocol)) {
|
6029 | return false;
|
6030 | }
|
6031 | if (requireSSL && url.protocol !== 'https:') {
|
6032 | return false;
|
6033 | }
|
6034 | if (url.username || url.password) {
|
6035 | return false;
|
6036 | }
|
6037 | if (matchPath && !pathMatches(url, redirectUrl, matchPath)) {
|
6038 | return false;
|
6039 | }
|
6040 | if (!hostIsValid(url, whitelist, subdomains)) {
|
6041 | return false;
|
6042 | }
|
6043 | return true;
|
6044 | }
|
6045 | exports.isSafe = isSafe;
|
6046 | function hostIsValid(url, whitelist, subdomains) {
|
6047 | if (!subdomains.every(function (subdomain) { return subdomain.startsWith('.'); })) {
|
6048 | throw new TypeError('Subdomains must begin with .');
|
6049 | }
|
6050 | var hostname = url.hostname;
|
6051 | return ((whitelist.length === 0 && subdomains.length === 0) ||
|
6052 | whitelist.includes(hostname) ||
|
6053 | subdomains.some(function (subdomain) { return hostname.endsWith(subdomain); }));
|
6054 | }
|
6055 | function pathMatches(url, originalUrl, matcher) {
|
6056 | var pathname = url.pathname;
|
6057 |
|
6058 | var originalPathname = originalUrl.replace(url.origin, '').split('?')[0];
|
6059 | return typeof matcher === 'string'
|
6060 | ? pathname === matcher && originalPathname === matcher
|
6061 | : matcher.test(pathname) && matcher.test(originalPathname);
|
6062 | }
|
6063 | function makeSafe(url, fallback, options) {
|
6064 | return isSafe(url, options) ? encodeURI(url) : fallback;
|
6065 | }
|
6066 | exports.makeSafe = makeSafe;
|
6067 |
|
6068 |
|
6069 | }),
|
6070 |
|
6071 | (function(module, exports, __webpack_require__) {
|
6072 |
|
6073 | "use strict";
|
6074 |
|
6075 | var __assign = (this && this.__assign) || function () {
|
6076 | __assign = Object.assign || function(t) {
|
6077 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
6078 | s = arguments[i];
|
6079 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
6080 | t[p] = s[p];
|
6081 | }
|
6082 | return t;
|
6083 | };
|
6084 | return __assign.apply(this, arguments);
|
6085 | };
|
6086 | Object.defineProperty(exports, "__esModule", { value: true });
|
6087 | var actions_1 = __webpack_require__(6);
|
6088 | var type_validate_1 = __webpack_require__(2);
|
6089 | var utils_1 = __webpack_require__(3);
|
6090 | function matchesAbsolutePath(value) {
|
6091 | return value.match('^https?://')
|
6092 | ? undefined
|
6093 | : [
|
6094 | {
|
6095 | value: value,
|
6096 | error: 'invalid_absolute_url',
|
6097 | message: 'expected string to start with `https://` or `http://`',
|
6098 | },
|
6099 | ];
|
6100 | }
|
6101 | exports.matchesAbsolutePath = matchesAbsolutePath;
|
6102 | function getSectionSchema(payload) {
|
6103 | var isProductVariant = payload &&
|
6104 | payload.section &&
|
6105 | payload.section.resource &&
|
6106 | payload.section.name === actions_1.Redirect.ResourceType.Product;
|
6107 | var resourceSchema = {
|
6108 | create: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
6109 | id: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
6110 | };
|
6111 | var productVariantSchema = __assign({}, resourceSchema, { variant: type_validate_1.makeOptional(type_validate_1.matchesObject(resourceSchema)) });
|
6112 | return type_validate_1.matchesObject({
|
6113 | section: type_validate_1.matchesObject({
|
6114 | name: type_validate_1.matchesEnum(actions_1.Redirect.ResourceType),
|
6115 | resource: type_validate_1.makeOptional(type_validate_1.matchesObject(isProductVariant ? productVariantSchema : resourceSchema)),
|
6116 | }),
|
6117 | });
|
6118 | }
|
6119 | exports.getSectionSchema = getSectionSchema;
|
6120 | function validateAction(action) {
|
6121 | var newContextSchema = type_validate_1.matchesObject({ newContext: type_validate_1.makeOptional(type_validate_1.matchesBoolean()) });
|
6122 | var actionType = actions_1.Redirect.ActionType;
|
6123 | var schema;
|
6124 | switch (action.type) {
|
6125 | case actions_1.History.ActionType.PUSH:
|
6126 | case actions_1.History.ActionType.REPLACE:
|
6127 | actionType = actions_1.History.ActionType;
|
6128 | schema = utils_1.relativePathSchema;
|
6129 | break;
|
6130 | case actions_1.Redirect.ActionType.APP:
|
6131 | schema = utils_1.relativePathSchema;
|
6132 | break;
|
6133 | case actions_1.Redirect.ActionType.REMOTE:
|
6134 | schema = type_validate_1.composeSchemas(type_validate_1.matchesObject({
|
6135 | url: type_validate_1.composeSchemas(type_validate_1.matchesString(), function (value) { return matchesAbsolutePath(value); }),
|
6136 | }), newContextSchema);
|
6137 | break;
|
6138 | case actions_1.Redirect.ActionType.ADMIN_PATH:
|
6139 | schema = type_validate_1.composeSchemas(utils_1.relativePathSchema, newContextSchema);
|
6140 | break;
|
6141 | case actions_1.Redirect.ActionType.ADMIN_SECTION:
|
6142 | schema = type_validate_1.composeSchemas(getSectionSchema(action.payload), newContextSchema);
|
6143 | break;
|
6144 | }
|
6145 | return type_validate_1.validate(action, utils_1.createActionValidator(actionType, schema));
|
6146 | }
|
6147 | exports.validateAction = validateAction;
|
6148 |
|
6149 |
|
6150 | }),
|
6151 |
|
6152 | (function(module, exports, __webpack_require__) {
|
6153 |
|
6154 | "use strict";
|
6155 |
|
6156 | Object.defineProperty(exports, "__esModule", { value: true });
|
6157 | var Print_1 = __webpack_require__(18);
|
6158 | exports.ActionType = Print_1.ActionType;
|
6159 | var type_validate_1 = __webpack_require__(2);
|
6160 | var utils_1 = __webpack_require__(3);
|
6161 | function validateAction(action) {
|
6162 | return type_validate_1.validate(action, utils_1.createActionValidator(Print_1.ActionType));
|
6163 | }
|
6164 | exports.validateAction = validateAction;
|
6165 |
|
6166 |
|
6167 | }),
|
6168 |
|
6169 | (function(module, exports, __webpack_require__) {
|
6170 |
|
6171 | "use strict";
|
6172 |
|
6173 | Object.defineProperty(exports, "__esModule", { value: true });
|
6174 | var ResourcePicker_1 = __webpack_require__(37);
|
6175 | exports.ActionType = ResourcePicker_1.ActionType;
|
6176 | var type_validate_1 = __webpack_require__(2);
|
6177 | var utils_1 = __webpack_require__(3);
|
6178 | var resourceSelectionSchema = type_validate_1.matchesArray(type_validate_1.matchesObject({
|
6179 | id: type_validate_1.matchesString(),
|
6180 | }));
|
6181 | var resourcePickerOptions = type_validate_1.matchesObject({
|
6182 | initialQuery: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
6183 | initialSelectionIds: type_validate_1.makeOptional(resourceSelectionSchema),
|
6184 | selectMultiple: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
6185 | showHidden: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
6186 | showVariants: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
6187 | actionVerb: type_validate_1.makeOptional(type_validate_1.matchesEnum(ResourcePicker_1.ActionVerb)),
|
6188 | });
|
6189 | var resourcePickerActionSchema = type_validate_1.matchesObject({
|
6190 | resourceType: type_validate_1.matchesEnum(ResourcePicker_1.ResourceType),
|
6191 | options: type_validate_1.makeOptional(resourcePickerOptions),
|
6192 | });
|
6193 | var selectionSchema = type_validate_1.matchesObject({
|
6194 | selection: resourceSelectionSchema,
|
6195 | });
|
6196 | function validateProps(props) {
|
6197 | return type_validate_1.validate(props, resourcePickerOptions);
|
6198 | }
|
6199 | exports.validateProps = validateProps;
|
6200 | function validateAction(action) {
|
6201 | switch (action.type) {
|
6202 | case ResourcePicker_1.ActionType.UPDATE:
|
6203 | case ResourcePicker_1.ActionType.OPEN:
|
6204 | return type_validate_1.validate(action, utils_1.createActionValidator(ResourcePicker_1.ActionType, resourcePickerActionSchema, false, true));
|
6205 | case ResourcePicker_1.ActionType.SELECT:
|
6206 | return type_validate_1.validate(action, utils_1.createActionValidator(ResourcePicker_1.ActionType, selectionSchema, true, true));
|
6207 | case ResourcePicker_1.ActionType.CANCEL:
|
6208 | case ResourcePicker_1.ActionType.CLOSE:
|
6209 | default:
|
6210 | return type_validate_1.validate(action, utils_1.createActionValidator(ResourcePicker_1.ActionType));
|
6211 | }
|
6212 | }
|
6213 | exports.validateAction = validateAction;
|
6214 |
|
6215 |
|
6216 | }),
|
6217 |
|
6218 | (function(module, exports, __webpack_require__) {
|
6219 |
|
6220 | "use strict";
|
6221 |
|
6222 | Object.defineProperty(exports, "__esModule", { value: true });
|
6223 | var Toast_1 = __webpack_require__(10);
|
6224 | exports.ActionType = Toast_1.ActionType;
|
6225 | var type_validate_1 = __webpack_require__(2);
|
6226 | var utils_1 = __webpack_require__(3);
|
6227 | exports.toastSchema = type_validate_1.matchesObject({
|
6228 | message: type_validate_1.matchesString(),
|
6229 | duration: type_validate_1.matchesPositiveInteger(),
|
6230 | isError: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
6231 | });
|
6232 | function validateProps(props) {
|
6233 | return type_validate_1.validate(props, exports.toastSchema);
|
6234 | }
|
6235 | exports.validateProps = validateProps;
|
6236 | function validateAction(action) {
|
6237 | switch (action.type) {
|
6238 | case Toast_1.ActionType.SHOW:
|
6239 | return type_validate_1.validate(action, utils_1.createActionValidator(Toast_1.ActionType, exports.toastSchema, true));
|
6240 | default:
|
6241 | return type_validate_1.validate(action, utils_1.createActionValidator(Toast_1.ActionType));
|
6242 | }
|
6243 | }
|
6244 | exports.validateAction = validateAction;
|
6245 |
|
6246 |
|
6247 | }),
|
6248 |
|
6249 | (function(module, exports, __webpack_require__) {
|
6250 |
|
6251 | "use strict";
|
6252 |
|
6253 | var __assign = (this && this.__assign) || function () {
|
6254 | __assign = Object.assign || function(t) {
|
6255 | for (var s, i = 1, n = arguments.length; i < n; i++) {
|
6256 | s = arguments[i];
|
6257 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
6258 | t[p] = s[p];
|
6259 | }
|
6260 | return t;
|
6261 | };
|
6262 | return __assign.apply(this, arguments);
|
6263 | };
|
6264 | Object.defineProperty(exports, "__esModule", { value: true });
|
6265 | var TitleBar_1 = __webpack_require__(41);
|
6266 | exports.ActionType = TitleBar_1.ActionType;
|
6267 | var Button_1 = __webpack_require__(4);
|
6268 | var ButtonGroup_1 = __webpack_require__(7);
|
6269 | var type_validate_1 = __webpack_require__(2);
|
6270 | var utils_1 = __webpack_require__(3);
|
6271 | var button_1 = __webpack_require__(12);
|
6272 | var buttonGroup_1 = __webpack_require__(46);
|
6273 | var buttonSchemaWithId = type_validate_1.composeSchemas(button_1.buttonSchema, type_validate_1.matchesObject({
|
6274 | id: type_validate_1.matchesString(),
|
6275 | }));
|
6276 | exports.titleBarSchema = type_validate_1.matchesObject({
|
6277 | breadcrumbs: type_validate_1.makeOptional(button_1.buttonSchema),
|
6278 | title: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
6279 | buttons: type_validate_1.makeOptional(type_validate_1.matchesObject({
|
6280 | primary: type_validate_1.makeOptional(buttonSchemaWithId),
|
6281 | secondary: type_validate_1.makeOptional(type_validate_1.matchesArray(type_validate_1.composeSchemas(buttonSchemaWithId, type_validate_1.matchesObject({
|
6282 | buttons: type_validate_1.makeOptional(type_validate_1.matchesArray(buttonSchemaWithId)),
|
6283 | })))),
|
6284 | })),
|
6285 | });
|
6286 | function validateProps(props) {
|
6287 | return type_validate_1.validate(props, exports.titleBarSchema);
|
6288 | }
|
6289 | exports.validateProps = validateProps;
|
6290 | function validateAction(action) {
|
6291 | switch (action.type) {
|
6292 | default:
|
6293 | case TitleBar_1.ActionType.UPDATE:
|
6294 | return type_validate_1.validate(action, utils_1.createActionValidator(TitleBar_1.ActionType, exports.titleBarSchema, true, false));
|
6295 | case TitleBar_1.ActionType.BUTTON_CLICK:
|
6296 | case TitleBar_1.ActionType.BREADCRUMBS_CLICK:
|
6297 | return button_1.validateAction(__assign({}, action, { type: Button_1.ActionType.CLICK }));
|
6298 | case TitleBar_1.ActionType.BUTTON_UPDATE:
|
6299 | case TitleBar_1.ActionType.BREADCRUMBS_UPDATE:
|
6300 | return button_1.validateAction(__assign({}, action, { type: Button_1.ActionType.UPDATE }));
|
6301 | case TitleBar_1.ActionType.BUTTON_GROUP_UPDATE:
|
6302 | return buttonGroup_1.validateAction(__assign({}, action, { type: ButtonGroup_1.ActionType.UPDATE }));
|
6303 | }
|
6304 | }
|
6305 | exports.validateAction = validateAction;
|
6306 |
|
6307 |
|
6308 | }),
|
6309 |
|
6310 | (function(module, exports, __webpack_require__) {
|
6311 |
|
6312 | "use strict";
|
6313 |
|
6314 | Object.defineProperty(exports, "__esModule", { value: true });
|
6315 | var actions_1 = __webpack_require__(6);
|
6316 | var type_validate_1 = __webpack_require__(2);
|
6317 | var utils_1 = __webpack_require__(3);
|
6318 | var link_1 = __webpack_require__(47);
|
6319 | var linkOptionsValidator = type_validate_1.matchesObject({ id: type_validate_1.matchesString(), options: link_1.linkPropsSchema });
|
6320 | function activeLinkError(value) {
|
6321 | return [
|
6322 | {
|
6323 | error: 'invalid_active_item',
|
6324 | value: value,
|
6325 | message: 'expected active item to exist in menu items',
|
6326 | },
|
6327 | ];
|
6328 | }
|
6329 | function getOptionsSchema(options) {
|
6330 | var baseSchema = type_validate_1.matchesObject({
|
6331 | items: type_validate_1.makeOptional(type_validate_1.matchesArray(linkOptionsValidator)),
|
6332 | active: type_validate_1.makeOptional(linkOptionsValidator),
|
6333 | });
|
6334 | var items = options.items, active = options.active;
|
6335 | if (items && active) {
|
6336 | var activeItemSchema = type_validate_1.matchesObject({
|
6337 | active: type_validate_1.composeSchemas(linkOptionsValidator, function (value) {
|
6338 | return items.find(function (item) { return item.id === value.id; }) ? undefined : activeLinkError(value);
|
6339 | }),
|
6340 | });
|
6341 | return type_validate_1.composeSchemas(baseSchema, activeItemSchema);
|
6342 | }
|
6343 | return baseSchema;
|
6344 | }
|
6345 | function getPayloadSchema(payload) {
|
6346 | var baseSchema = type_validate_1.matchesObject({
|
6347 | items: type_validate_1.makeOptional(type_validate_1.matchesArray(link_1.linkActionSchema)),
|
6348 | active: type_validate_1.makeOptional(type_validate_1.matchesString()),
|
6349 | });
|
6350 | var items = payload.items, active = payload.active;
|
6351 | if (items && active) {
|
6352 | var activeItemSchema = type_validate_1.matchesObject({
|
6353 | active: type_validate_1.composeSchemas(type_validate_1.matchesString(), function (value) {
|
6354 | return items.find(function (item) { return item.id === value; })
|
6355 | ? undefined
|
6356 | : activeLinkError(value);
|
6357 | }),
|
6358 | });
|
6359 | return type_validate_1.composeSchemas(baseSchema, activeItemSchema);
|
6360 | }
|
6361 | return baseSchema;
|
6362 | }
|
6363 | function validateProps(props) {
|
6364 | var result = type_validate_1.validate(props, getOptionsSchema(props));
|
6365 | return result;
|
6366 | }
|
6367 | exports.validateProps = validateProps;
|
6368 | function validateAction(action) {
|
6369 | var actionType = actions_1.NavigationMenu.ActionType;
|
6370 | if (action.type === actions_1.ChannelMenu.ActionType.LINK_UPDATE ||
|
6371 | action.type === actions_1.ChannelMenu.ActionType.UPDATE) {
|
6372 | actionType = actions_1.ChannelMenu.ActionType;
|
6373 | }
|
6374 | return type_validate_1.validate(action, utils_1.createActionValidator(actionType, getPayloadSchema(action.payload), true, false));
|
6375 | }
|
6376 | exports.validateAction = validateAction;
|
6377 |
|
6378 |
|
6379 | })
|
6380 | ]);
|
6381 | }); |
\ | No newline at end of file |