{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@shopify/app-bridge/actions/helper.js","webpack:///./node_modules/@shopify/app-bridge/actions/Button/index.js","webpack:///./node_modules/@shopify/app-bridge/actions/constants.js","webpack:///./node_modules/@shopify/app-bridge/actions/ActionSet.js","webpack:///./app/javascript/packs/skeleton.js","webpack:///./node_modules/@shopify/app-bridge/util/collection.js","webpack:///./node_modules/@shopify/app-bridge/actions/uuid.js","webpack:///./node_modules/@shopify/app-bridge/util/env.js","webpack:///./node_modules/@shopify/app-bridge/actions/types.js","webpack:///./node_modules/@shopify/app-bridge-utils/utilities/platform.js","webpack:///./node_modules/@shopify/app-bridge-utils/utilities/session-token/session-token.js","webpack:///./node_modules/@shopify/app-bridge-utils/utilities/authorization-code/authorization-code.js","webpack:///./node_modules/@shopify/app-bridge-utils/index.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@shopify/app-bridge/actions/Error/index.js","webpack:///./node_modules/@shopify/app-bridge-utils/utilities/index.js","webpack:///./node_modules/@shopify/app-bridge-utils/utilities/modal.js","webpack:///./node_modules/@shopify/app-bridge/actions/Modal/index.js","webpack:///./node_modules/@shopify/app-bridge/actions/buttonHelper.js","webpack:///./node_modules/@shopify/app-bridge/actions/merge.js","webpack:///./node_modules/@shopify/app-bridge/MessageTransport.js","webpack:///./node_modules/@shopify/app-bridge/actions/validator.js","webpack:///./node_modules/@shopify/app-bridge-utils/utilities/session-token/index.js","webpack:///./node_modules/@shopify/app-bridge/actions/SessionToken/index.js","webpack:///./node_modules/@shopify/app-bridge-utils/utilities/session-token/authenticated-fetch.js","webpack:///./node_modules/@shopify/app-bridge-utils/utilities/authorization-code/index.js","webpack:///./node_modules/@shopify/app-bridge/actions/AuthCode/index.js","webpack:///./node_modules/@shopify/app-bridge-utils/utilities/authorization-code/user-authorized-fetch.js","webpack:///./node_modules/@shopify/app-bridge/client/types.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__assign","this","assign","arguments","length","apply","__importDefault","mod","NonSnakeCaseGroup","findMatchInEnum","forEachInEnum","getMergedProps","updateActionFromPayload","isValidOptionalString","isValidOptionalNumber","getEventNameSpace","getVersion","actionWrapper","constants_1","merge_1","types_1","packageJson","version","props","newProps","merged","default","action","clientInterface","group","eventName","component","startsWith","PREFIX","SEPARATOR","eventNameSpace","includes","toUpperCase","replace","matcher","_val","index","toLowerCase","groupToEventNameSpace","subgroups_1","subgroups","type","forEach","subgroup","undefined","id","types","callback","keys","lookup","match","find","Group","AuthCode","Button","ButtonGroup","Cart","Error","Features","Fullscreen","Link","Loading","Menu","Modal","Navigation","Pos","Print","ResourcePicker","Scanner","SessionToken","Share","TitleBar","Toast","unstable_Picker","_extendStatics","__extends","b","setPrototypeOf","__proto__","Array","TypeError","String","__","constructor","isValidButtonProps","update","clickButton","Style","Icon","Action","helper_1","ActionSet_1","payload","CLICK","buttonPayload","label","UPDATE","button","_super","app","options","_this","ComponentType","disabled","loading","plain","set","icon","style","configurable","shouldUpdate","mergedOptions","Boolean","dispatch","updateAction","ActionSet","__spreadArray","to","from","il","j","ActionSetWithChildren","collection_1","Error_1","types_2","uuid_1","subscriptions","throwError","INVALID_ACTION","defaultGroup","defaultSet","_a","args","_i","hooks","run","LifecycleHook","UpdateAction","_","updateSubscription","subscriptionToRemove","currentIndex","eventType","findIndex","subscription","unsubscribe","subscribe","error","subscriptionIndices","push","map","toRemove","removeFromCollection","removed","eventComponent","boundedCallback","isErrorEventName","updateSubscribe","resetOnly","unsubscribeActions","children","unsubscribeChildren","resetParentOnly","child","getChild","childIndex","getChildIndex","getChildSubscriptions","filter","sub","addChild","childIter","removeChild","subs","subscribeToChild","eventNameIter","currentSubscriptions","childComponent","getUpdatedChildActions","newActions","currentActions","uniqueActions","actionsArr","indexOf","newActionIds","unusedActions","pop","reassign","window","getSessionToken","collection","item","then","idx","splice","addAndRemoveFromCollection","_typeof","obj","iterator","asHex","toString","slice","join","getRandomBytes","size","Uint8Array","crypto","buffer","randomValues","getRandomValues","Math","random","generateUuid","clockSeqHiAndReserved","timeHiAndVersion","_b","isUnframed","isDevelopmentClient","isProduction","isDevelopment","isClient","isServer","process","env","navigator","userAgent","isShopifyPing","isShopifyPOS","isShopifyMobile","isShopifyEmbedded","isMobile","env_1","top","self","__createBinding","k","k2","__setModuleDefault","v","__importStar","result","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","done","__generator","body","f","y","g","sent","trys","ops","verb","op","appBridge","RESPOND","sessionToken","fromAction","FAILED_AUTHENTICATION","request","getAuthorizationCodePayload","requestId","status","__exportStar","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","marker","runClearTimeout","Item","array","noop","nextTick","title","browser","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","AppBridgeError","invalidOriginAction","permissionAction","networkAction","persistenceAction","unsupportedOperationAction","unexpectedAction","invalidAction","invalidActionType","invalidPayload","Message","AppActionType","errorActionWrapperWithId","message","castPayload","INVALID_PAYLOAD","INVALID_ACTION_TYPE","UNEXPECTED_ACTION","UNSUPPORTED_OPERATION","PERSISTENCE","NETWORK","PERMISSION","INVALID_ORIGIN","captureStackTrace","stack","createMutationObserver","setupModalAutoSizing","Modal_1","MessageTransport_1","platform_1","AUTO_SIZE_CLASS","autoSizeStylesheet","document","createElement","innerHTML","createAutoSizeStylesheet","mutationTimeoutId","lastKnownWindowHeight","mutationObserver","MutationObserver","updateHeight","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","height","scrollHeight","updateModalSize","cleanup","removeAutoSizing","handleModalSizeUpdate","appState","context","modal","Context","head","getElementsByTagName","classList","appendChild","add","remove","contains","disconnect","addAutoSizing","getState","ModalIframe","ModalMessage","isMessageModal","isIframeModal","data","clickFooterButton","closeModal","openModal","Size","buttonHelper_1","Button_1","FOOTER_BUTTON_PROPS","modalPayload","OPEN","modalClosePayload","CLOSE","DATA","url","path","updateSizePayload","UPDATE_SIZE","Small","footerPrimary","footerSecondary","buttons","primary","secondary","footerPrimaryOptions","footerSecondaryOptions","close","setFooterPrimaryButton","newOptions","updateCb","getChildButton","getSingleButton","newPayload","updatePrimaryFooterButton","setFooterSecondaryButtons","newButtons","currentOptions","footerOptions","updateSecondaryFooterButton","newAction","currentAction","currentButtons","updatedButton","footer","updated","mergeProps","newObj","isPrototypeOf","getPrototypeOf","clone","isArray","createTransportListener","fromWindow","fromFrame","validator_1","frame","localOrigin","handlers","host","frameWindow","WINDOW_UNDEFINED","MobileWebView","postMessageToIframe","origin","postMessage","isDispatchAction","JSON","stringify","location","updateIframeUrl","newUrl","currentWindowLocation","frameWindowLocation","URL","href","addEventListener","event","source","isAppMessage","handlers_1","handler","errorMessage","hostFrame","contentWindow","isAppBridgeAction","handlers_2","messageOrigin","actionListeners","createSubscribeHandler","dispatcher","actionCallback","MessageType","Subscribe","Unsubscribe","handleMessage","listener","handleActionDispatch","hasCallback","isPermitted","getPermissionKey","isFromApp","isPerformanceOrWebVitalsAction","RegExp","apiKey","features","permissionType","feature","actionType","respond","REQUEST","authenticatedFetch","session_token_1","fetchOperation","fetch","uri","headers","finalHeaders","Headers","append","userAuthorizedFetch","authorization_code_1","needsAuthorizationCode","response","headerValue","callbackUri","_c","isAuthorizationCodeRequired","code","hmac","shop","timestamp","formattedCallbackUri","encodeURI","hostname","ok","PermissionType","isV1Config","config"],"mappings":"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","file":"js/skeleton-6a57c6c2041bf7e2990c.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://v2.ruby.api.coolify.productcustomizer.com/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 169);\n","\"use strict\";\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NonSnakeCaseGroup = exports.findMatchInEnum = exports.forEachInEnum = exports.getMergedProps = exports.updateActionFromPayload = exports.isValidOptionalString = exports.isValidOptionalNumber = exports.getEventNameSpace = exports.getVersion = exports.actionWrapper = void 0;\n\nvar constants_1 = require(\"./constants\");\n\nvar merge_1 = __importDefault(require(\"./merge\"));\n\nvar types_1 = require(\"./types\"); // eslint-disable-next-line @typescript-eslint/no-var-requires\n\n\nvar packageJson = require('../package.json');\n\nfunction actionWrapper(action) {\n return __assign(__assign({}, action), {\n version: getVersion(),\n clientInterface: {\n name: packageJson.name,\n version: getVersion()\n }\n });\n}\n\nexports.actionWrapper = actionWrapper;\n\nfunction getVersion() {\n return packageJson.version;\n}\n\nexports.getVersion = getVersion;\n/**\n * Returns full event name with prefix, group, subgroups and type formatted with separators\n * @internal\n * */\n\nfunction getEventNameSpace(group, eventName, component) {\n if (eventName.startsWith(\"\" + constants_1.PREFIX + constants_1.SEPARATOR)) {\n return eventName;\n }\n\n var eventNameSpace = groupToEventNameSpace(group);\n\n if (component) {\n var subgroups_1 = component.subgroups,\n type = component.type;\n\n if (subgroups_1 && subgroups_1.length > 0) {\n eventNameSpace += eventNameSpace.length > 0 ? constants_1.SEPARATOR : '';\n subgroups_1.forEach(function (subgroup, index) {\n eventNameSpace += \"\" + subgroup.toUpperCase() + (index < subgroups_1.length - 1 ? constants_1.SEPARATOR : '');\n });\n }\n\n if (type !== group && type) {\n eventNameSpace += \"\" + (eventNameSpace.length > 0 ? constants_1.SEPARATOR : '') + type.toUpperCase();\n }\n }\n\n if (eventNameSpace) {\n eventNameSpace += \"\" + (eventNameSpace.length > 0 ? constants_1.SEPARATOR : '') + eventName.toUpperCase();\n }\n\n return \"\" + constants_1.PREFIX + constants_1.SEPARATOR + eventNameSpace;\n}\n\nexports.getEventNameSpace = getEventNameSpace;\n\nfunction isValidOptionalNumber(value) {\n return value === null || value === undefined || typeof value === 'number';\n}\n\nexports.isValidOptionalNumber = isValidOptionalNumber;\n\nfunction isValidOptionalString(value) {\n return value === null || value === undefined || typeof value === 'string';\n}\n\nexports.isValidOptionalString = isValidOptionalString;\n\nfunction updateActionFromPayload(action, newProps) {\n var id = action.id;\n\n if (id === newProps.id) {\n // Merge new properties\n Object.assign(action, getMergedProps(action, newProps));\n return true;\n }\n\n return false;\n}\n\nexports.updateActionFromPayload = updateActionFromPayload;\n\nfunction getMergedProps(props, newProps) {\n var merged = merge_1.default(props, newProps);\n\n if (!merged) {\n // tslint:disable-next-line:prefer-object-spread\n var cloned = Object.assign(props, newProps);\n return cloned;\n }\n\n return merged;\n}\n\nexports.getMergedProps = getMergedProps;\n\nfunction forEachInEnum(types, callback) {\n Object.keys(types).forEach(function (key) {\n callback(types[key]);\n });\n}\n\nexports.forEachInEnum = forEachInEnum;\n\nfunction findMatchInEnum(types, lookup) {\n var match = Object.keys(types).find(function (key) {\n return lookup === types[key];\n });\n return match ? types[match] : undefined;\n}\n\nexports.findMatchInEnum = findMatchInEnum;\n\nfunction camelCaseToSnakeCase(value) {\n return value.replace(/([A-Z])/g, function (matcher, _val, index) {\n return \"\" + (index === 0 ? '' : '_') + matcher[0].toLowerCase();\n });\n}\n\nexports.NonSnakeCaseGroup = [types_1.Group.AuthCode, types_1.Group.Button, types_1.Group.ButtonGroup, types_1.Group.Cart, types_1.Group.Error, types_1.Group.Features, types_1.Group.Fullscreen, types_1.Group.Link, types_1.Group.Loading, types_1.Group.Menu, types_1.Group.Modal, types_1.Group.Navigation, types_1.Group.Pos, types_1.Group.Print, types_1.Group.ResourcePicker, types_1.Group.Scanner, types_1.Group.SessionToken, types_1.Group.Share, types_1.Group.TitleBar, types_1.Group.Toast, types_1.Group.unstable_Picker];\n/**\n * Maps the group name to its event name\n * @internal\n * @remarks - This method is necessary for the new pattern of using snake case\n * which makes it more readable and easier to reconstruct the group from an event name.\n * Example: `ContextualSaveBar` becomes `CONTEXTUAL_SAVE_BAR`\n * */\n\nfunction groupToEventNameSpace(group) {\n if (exports.NonSnakeCaseGroup.includes(group)) {\n return group.toUpperCase();\n }\n\n return camelCaseToSnakeCase(group).toUpperCase();\n}","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = exports.Button = exports.isValidButtonProps = exports.update = exports.clickButton = exports.Style = exports.Icon = exports.Action = void 0;\n\nvar helper_1 = require(\"../helper\");\n\nvar ActionSet_1 = require(\"../ActionSet\");\n\nvar types_1 = require(\"../types\");\n\nvar Action;\n\n(function (Action) {\n Action[\"CLICK\"] = \"CLICK\";\n Action[\"UPDATE\"] = \"UPDATE\";\n})(Action = exports.Action || (exports.Action = {}));\n\nvar Icon;\n\n(function (Icon) {\n Icon[\"Print\"] = \"print\";\n})(Icon = exports.Icon || (exports.Icon = {}));\n\nvar Style;\n\n(function (Style) {\n Style[\"Danger\"] = \"danger\";\n})(Style = exports.Style || (exports.Style = {}));\n\nfunction clickButton(group, component, payload) {\n var id = component.id;\n var action = helper_1.getEventNameSpace(group, Action.CLICK, component);\n var buttonPayload = {\n id: id,\n payload: payload\n };\n return helper_1.actionWrapper({\n type: action,\n group: group,\n payload: buttonPayload\n });\n}\n\nexports.clickButton = clickButton;\n\nfunction update(group, component, props) {\n var id = component.id;\n var label = props.label;\n var action = helper_1.getEventNameSpace(group, Action.UPDATE, component);\n\n var buttonPayload = __assign(__assign({}, props), {\n id: id,\n label: label\n });\n\n return helper_1.actionWrapper({\n type: action,\n group: group,\n payload: buttonPayload\n });\n}\n\nexports.update = update;\n\nfunction isValidButtonProps(button) {\n return typeof button.id === 'string' && typeof button.label === 'string';\n}\n\nexports.isValidButtonProps = isValidButtonProps;\n\nvar Button =\n/** @class */\nfunction (_super) {\n __extends(Button, _super);\n\n function Button(app, options) {\n var _this = _super.call(this, app, types_1.ComponentType.Button, types_1.Group.Button) || this;\n\n _this.disabled = false;\n _this.loading = false;\n _this.plain = false;\n\n _this.set(options, false);\n\n return _this;\n }\n\n Object.defineProperty(Button.prototype, \"options\", {\n get: function get() {\n return {\n disabled: this.disabled,\n icon: this.icon,\n label: this.label,\n style: this.style,\n loading: this.loading,\n plain: this.plain\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Button.prototype, \"payload\", {\n get: function get() {\n return __assign(__assign({}, this.options), {\n id: this.id\n });\n },\n enumerable: false,\n configurable: true\n });\n\n Button.prototype.set = function (options, shouldUpdate) {\n if (shouldUpdate === void 0) {\n shouldUpdate = true;\n }\n\n var mergedOptions = helper_1.getMergedProps(this.options, options);\n var label = mergedOptions.label,\n disabled = mergedOptions.disabled,\n icon = mergedOptions.icon,\n style = mergedOptions.style,\n loading = mergedOptions.loading,\n plain = mergedOptions.plain;\n this.label = label;\n this.disabled = Boolean(disabled);\n this.icon = icon;\n this.style = style;\n this.loading = Boolean(loading);\n this.plain = Boolean(plain);\n\n if (shouldUpdate) {\n this.dispatch(Action.UPDATE);\n }\n\n return this;\n };\n\n Button.prototype.dispatch = function (action, payload) {\n switch (action) {\n case Action.CLICK:\n this.app.dispatch(clickButton(this.group, this.component, payload));\n break;\n\n case Action.UPDATE:\n {\n var updateAction = update(this.group, this.component, this.payload);\n this.app.dispatch(updateAction);\n break;\n }\n }\n\n return this;\n };\n\n return Button;\n}(ActionSet_1.ActionSet);\n\nexports.Button = Button;\n\nfunction create(app, options) {\n return new Button(app, options);\n}\n\nexports.create = create;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SEPARATOR = exports.PREFIX = void 0;\nexports.PREFIX = 'APP';\nexports.SEPARATOR = '::';","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __spreadArray = this && this.__spreadArray || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\n to[j] = from[i];\n }\n\n return to;\n};\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ActionSetWithChildren = exports.ActionSet = void 0;\n\nvar types_1 = require(\"../client/types\");\n\nvar collection_1 = require(\"../util/collection\");\n\nvar Error_1 = require(\"./Error\");\n\nvar types_2 = require(\"./types\");\n\nvar uuid_1 = __importDefault(require(\"./uuid\"));\n\nvar helper_1 = require(\"./helper\");\n\nvar ActionSet =\n/** @class */\nfunction () {\n function ActionSet(app, type, group, id) {\n var _this = this;\n\n this.app = app;\n this.type = type;\n this.group = group;\n this.subgroups = [];\n this.subscriptions = [];\n\n if (!app) {\n Error_1.throwError(Error_1.Action.INVALID_ACTION, 'Missing required `app`');\n }\n\n this.id = id || uuid_1.default();\n this.defaultGroup = group;\n var defaultSet = this.set;\n\n this.set = function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (!_this.app.hooks) {\n return defaultSet.apply(_this, args);\n }\n\n return (_a = _this.app.hooks).run.apply(_a, __spreadArray([types_1.LifecycleHook.UpdateAction, defaultSet, _this], args));\n };\n }\n\n ActionSet.prototype.set = function () {\n var _ = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n _[_i] = arguments[_i];\n }\n };\n\n Object.defineProperty(ActionSet.prototype, \"component\", {\n get: function get() {\n return {\n id: this.id,\n subgroups: this.subgroups,\n type: this.type\n };\n },\n enumerable: false,\n configurable: true\n });\n\n ActionSet.prototype.updateSubscription = function (subscriptionToRemove, group, subgroups) {\n var eventType = subscriptionToRemove.eventType,\n callback = subscriptionToRemove.callback,\n component = subscriptionToRemove.component;\n var currentIndex;\n currentIndex = this.subscriptions.findIndex(function (subscription) {\n return subscription === subscriptionToRemove;\n });\n\n if (currentIndex >= 0) {\n this.subscriptions[currentIndex].unsubscribe();\n } else {\n currentIndex = undefined;\n }\n\n this.group = group;\n this.subgroups = subgroups;\n Object.assign(component, {\n subgroups: this.subgroups\n });\n return this.subscribe(eventType, callback, component, currentIndex);\n };\n\n ActionSet.prototype.error = function (callback) {\n var _this = this;\n\n var subscriptionIndices = [];\n helper_1.forEachInEnum(Error_1.Action, function (eventNameSpace) {\n // Keep track of subscription index so we can call unsubscribe later\n // This ensure it will continue to work even when the subscription has been updated\n subscriptionIndices.push(_this.subscriptions.length);\n\n _this.subscribe(eventNameSpace, callback);\n });\n return function () {\n var subscriptionsToRemove = subscriptionIndices.map(function (index) {\n return _this.subscriptions[index];\n });\n subscriptionsToRemove.forEach(function (toRemove) {\n collection_1.removeFromCollection(_this.subscriptions, toRemove, function (removed) {\n removed.unsubscribe();\n });\n });\n };\n };\n\n ActionSet.prototype.subscribe = function (eventName, callback, component, currentIndex) {\n var _this = this;\n\n var eventComponent = component || this.component;\n var eventType = eventName.toUpperCase();\n var boundedCallback = typeof currentIndex === 'number' ? callback : callback.bind(this);\n var eventNameSpace;\n\n if (Error_1.isErrorEventName(eventName)) {\n eventNameSpace = helper_1.getEventNameSpace(types_2.Group.Error, eventName, __assign(__assign({}, eventComponent), {\n type: ''\n }));\n } else {\n eventNameSpace = helper_1.getEventNameSpace(this.group, eventName, eventComponent);\n }\n\n var unsubscribe = this.app.subscribe(eventNameSpace, boundedCallback, component ? component.id : this.id);\n var subscription = {\n eventType: eventType,\n unsubscribe: unsubscribe,\n callback: boundedCallback,\n component: eventComponent,\n updateSubscribe: function updateSubscribe(group, subgroups) {\n return _this.updateSubscription(subscription, group, subgroups);\n }\n };\n\n if (typeof currentIndex === 'number' && currentIndex >= 0 && currentIndex < this.subscriptions.length) {\n this.subscriptions[currentIndex] = subscription;\n } else {\n this.subscriptions.push(subscription);\n }\n\n return unsubscribe;\n };\n\n ActionSet.prototype.unsubscribe = function (resetOnly) {\n if (resetOnly === void 0) {\n resetOnly = false;\n }\n\n unsubscribeActions(this.subscriptions, this.defaultGroup, resetOnly);\n return this;\n };\n\n return ActionSet;\n}();\n\nexports.ActionSet = ActionSet;\n\nvar ActionSetWithChildren =\n/** @class */\nfunction (_super) {\n __extends(ActionSetWithChildren, _super);\n\n function ActionSetWithChildren() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.children = [];\n return _this;\n }\n\n ActionSetWithChildren.prototype.unsubscribe = function (unsubscribeChildren, resetParentOnly) {\n if (unsubscribeChildren === void 0) {\n unsubscribeChildren = true;\n }\n\n if (resetParentOnly === void 0) {\n resetParentOnly = false;\n }\n\n unsubscribeActions(this.subscriptions, this.defaultGroup, resetParentOnly);\n this.children.forEach(function (child) {\n if (child instanceof ActionSetWithChildren) {\n child.unsubscribe(unsubscribeChildren, !unsubscribeChildren);\n } else {\n child.unsubscribe(!unsubscribeChildren);\n }\n });\n return this;\n };\n\n ActionSetWithChildren.prototype.getChild = function (id) {\n var childIndex = this.children.findIndex(function (child) {\n return child.id === id;\n });\n return childIndex >= 0 ? this.children[childIndex] : undefined;\n };\n\n ActionSetWithChildren.prototype.getChildIndex = function (id) {\n return this.children.findIndex(function (child) {\n return child.id === id;\n });\n };\n\n ActionSetWithChildren.prototype.getChildSubscriptions = function (id, eventType) {\n return this.subscriptions.filter(function (sub) {\n return sub.component.id === id && (!eventType || eventType === sub.eventType);\n });\n };\n\n ActionSetWithChildren.prototype.addChild = function (child, group, subgroups) {\n var _this = this;\n\n var subscriptions = child.subscriptions;\n var existingChild = this.getChild(child.id); // Add child if it doesn't already exist\n\n if (!existingChild) {\n this.children.push(child);\n }\n\n if (!subscriptions || group === child.group && subgroups === child.subgroups) {\n return this;\n }\n\n subscriptions.forEach(function (subscription) {\n var updateSubscribe = subscription.updateSubscribe;\n updateSubscribe(group, subgroups);\n }); // Update child's group and subgroups\n\n Object.assign(child, {\n group: group,\n subgroups: subgroups\n }); // Update child's children subscriptions\n\n if (child instanceof ActionSetWithChildren) {\n child.children.forEach(function (childIter) {\n return _this.addChild(childIter, group, subgroups);\n });\n }\n\n return this;\n };\n\n ActionSetWithChildren.prototype.removeChild = function (id) {\n var _this = this;\n\n collection_1.removeFromCollection(this.children, this.getChild(id), function () {\n var toBeRemoved = _this.subscriptions.filter(function (subs) {\n return subs.component.id === id;\n });\n\n toBeRemoved.forEach(function (toRemove) {\n collection_1.removeFromCollection(_this.subscriptions, toRemove, function (removed) {\n removed.unsubscribe();\n });\n });\n });\n return this;\n };\n\n ActionSetWithChildren.prototype.subscribeToChild = function (child, eventName, callback) {\n var _this = this;\n\n var boundedCallback = callback.bind(this);\n\n if (eventName instanceof Array) {\n eventName.forEach(function (eventNameIter) {\n return _this.subscribeToChild(child, eventNameIter, callback);\n });\n return this;\n }\n\n if (typeof eventName !== 'string') {\n return this;\n }\n\n var eventType = eventName.toUpperCase();\n var currentSubscriptions = this.getChildSubscriptions(child.id, eventType);\n\n if (currentSubscriptions.length > 0) {\n // Subscription is already there, simply update it\n currentSubscriptions.forEach(function (subs) {\n return subs.updateSubscribe(_this.group, child.subgroups);\n });\n } else {\n var childComponent = {\n id: child.id,\n subgroups: child.subgroups,\n type: child.type\n };\n this.subscribe(eventType, boundedCallback, childComponent);\n }\n\n return this;\n };\n\n ActionSetWithChildren.prototype.getUpdatedChildActions = function (newActions, currentActions) {\n if (newActions.length === 0) {\n while (currentActions.length > 0) {\n var action = currentActions.pop();\n\n if (!action) {\n break;\n }\n\n this.removeChild(action.id);\n }\n\n return undefined;\n } // Only allow unique actions\n\n\n var uniqueActions = newActions.filter(function (action, index, actionsArr) {\n return index === actionsArr.indexOf(action);\n });\n var newActionIds = uniqueActions.map(function (action) {\n return action.id;\n }); // Remove unused actions\n\n var unusedActions = currentActions.filter(function (action) {\n return newActionIds.indexOf(action.id) < 0;\n });\n\n while (unusedActions.length > 0) {\n var action = unusedActions.pop();\n\n if (!action) {\n break;\n }\n\n this.removeChild(action.id);\n }\n\n return uniqueActions;\n };\n\n return ActionSetWithChildren;\n}(ActionSet);\n\nexports.ActionSetWithChildren = ActionSetWithChildren;\n\nfunction unsubscribeActions(subscriptions, defaultGroup, reassign) {\n if (reassign === void 0) {\n reassign = false;\n }\n\n subscriptions.forEach(function (subscription) {\n if (reassign) {\n var updateSubscribe = subscription.updateSubscribe; // eslint-disable-next-line no-warning-comments\n // TODO: Support cases where we don't wipe out group and subgroups to defaults\n\n updateSubscribe(defaultGroup, []);\n } else {\n var unsubscribe = subscription.unsubscribe;\n unsubscribe();\n }\n });\n\n if (!reassign) {\n subscriptions.length = 0;\n }\n}","import { getSessionToken } from '@shopify/app-bridge-utils'\n\nwindow.getSessionToken = getSessionToken;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeFromCollection = exports.addAndRemoveFromCollection = void 0;\n/**\n * Add an item to a collection, return a function that can then be used to\n * remove the item from the collection. Optionally accepting a callback that is\n * invoked when the item is removed from the collection.\n *\n * @internal\n */\n\nfunction addAndRemoveFromCollection(collection, item, then) {\n collection.push(item);\n return function () {\n return removeFromCollection(collection, item, then);\n };\n}\n\nexports.addAndRemoveFromCollection = addAndRemoveFromCollection;\n/**\n * Remove the item from the collection. Optionally accepting a callback that is\n * invoked when the item is removed from the collection.\n *\n * @internal\n */\n\nfunction removeFromCollection(collection, item, then) {\n var idx = collection.findIndex(function (i) {\n return i === item;\n });\n\n if (idx >= 0) {\n collection.splice(idx, 1);\n\n if (then) {\n then(item);\n }\n\n return true;\n }\n\n return false;\n}\n\nexports.removeFromCollection = removeFromCollection;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.generateUuid = void 0;\n/**\n * Convert a number or array of integers to a string of padded hex octets.\n */\n\nfunction asHex(value) {\n return Array.from(value).map(function (i) {\n return (\"00\" + i.toString(16)).slice(-2);\n }).join('');\n}\n/**\n * Attempt to securely generate random bytes/\n */\n\n\nfunction getRandomBytes(size) {\n // SPRNG\n if (typeof Uint8Array === 'function' && (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && window.crypto) {\n var buffer = new Uint8Array(size);\n var randomValues = window.crypto.getRandomValues(buffer);\n\n if (randomValues) {\n return randomValues;\n }\n } // Insecure random\n\n\n return Array.from(new Array(size), function () {\n return Math.random() * 255 | 0;\n });\n}\n/**\n * Generate a RFC4122-compliant v4 UUID.\n *\n * @see http://www.ietf.org/rfc/rfc4122.txt\n */\n\n\nfunction generateUuid() {\n var version = 64;\n var clockSeqHiAndReserved = getRandomBytes(1);\n var timeHiAndVersion = getRandomBytes(2);\n clockSeqHiAndReserved[0] &= 63 | 128; // tslint:disable-next-line:binary-expression-operand-order\n\n timeHiAndVersion[0] &= 15 | version;\n return [// time-low\n asHex(getRandomBytes(4)), '-', // time-mid\n asHex(getRandomBytes(2)), '-', // time-high-and-version\n asHex(timeHiAndVersion), '-', // clock-seq-and-reserved\n asHex(clockSeqHiAndReserved), // clock-seq-loq\n asHex(getRandomBytes(1)), '-', // node\n asHex(getRandomBytes(6))].join('');\n}\n\nexports.generateUuid = generateUuid; // Default\n\nexports.default = generateUuid;","\"use strict\";\n\nvar _a, _b;\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isUnframed = exports.isDevelopmentClient = exports.isProduction = exports.isDevelopment = exports.isClient = exports.isServer = void 0;\nexports.isServer = typeof window === 'undefined';\nexports.isClient = !exports.isServer;\nexports.isDevelopment = typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'development';\nexports.isProduction = !exports.isDevelopment;\nexports.isDevelopmentClient = exports.isDevelopment && exports.isClient; // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n\nexports.isUnframed = exports.isClient && ((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.indexOf('Unframed')) > 0;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ComponentType = exports.Group = void 0;\n/**\n * Various action groups.\n * @public\n */\n\nvar Group;\n\n(function (Group) {\n Group[\"AuthCode\"] = \"AuthCode\";\n Group[\"Button\"] = \"Button\";\n Group[\"ButtonGroup\"] = \"ButtonGroup\";\n Group[\"Cart\"] = \"Cart\";\n Group[\"Client\"] = \"Client\";\n Group[\"ContextualSaveBar\"] = \"ContextualSaveBar\";\n Group[\"Error\"] = \"Error\";\n Group[\"Features\"] = \"Features\";\n Group[\"FeedbackModal\"] = \"FeedbackModal\";\n Group[\"Fullscreen\"] = \"Fullscreen\";\n Group[\"LeaveConfirmation\"] = \"LeaveConfirmation\";\n Group[\"Link\"] = \"Link\";\n Group[\"Loading\"] = \"Loading\";\n Group[\"Menu\"] = \"Menu\";\n Group[\"Modal\"] = \"Modal\";\n Group[\"Navigation\"] = \"Navigation\";\n Group[\"Performance\"] = \"Performance\";\n Group[\"Pos\"] = \"Pos\";\n Group[\"Print\"] = \"Print\";\n Group[\"ResourcePicker\"] = \"Resource_Picker\";\n /**\n * @unstable This API may be updated without warning in the future\n */\n\n Group[\"unstable_Picker\"] = \"unstable_Picker\";\n Group[\"Scanner\"] = \"Scanner\";\n Group[\"SessionToken\"] = \"SessionToken\";\n Group[\"Share\"] = \"Share\";\n Group[\"TitleBar\"] = \"TitleBar\";\n Group[\"Toast\"] = \"Toast\";\n Group[\"MarketingExternalActivityTopBar\"] = \"MarketingExternalActivityTopBar\";\n Group[\"WebVitals\"] = \"WebVitals\";\n})(Group = exports.Group || (exports.Group = {}));\n/**\n * @internal\n */\n\n\nvar ComponentType;\n\n(function (ComponentType) {\n ComponentType[\"Button\"] = \"Button\";\n ComponentType[\"ButtonGroup\"] = \"ButtonGroup\";\n})(ComponentType = exports.ComponentType || (exports.ComponentType = {}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isShopifyPing = exports.isShopifyPOS = exports.isShopifyMobile = exports.isShopifyEmbedded = exports.isMobile = void 0;\n\nvar env_1 = require(\"@shopify/app-bridge/util/env\");\n\nfunction isMobile() {\n return isShopifyMobile() || isShopifyPOS() || isShopifyPing();\n}\n\nexports.isMobile = isMobile;\n\nfunction isShopifyEmbedded() {\n return env_1.isClient && window.top !== window.self || env_1.isUnframed;\n}\n\nexports.isShopifyEmbedded = isShopifyEmbedded;\n\nfunction isShopifyMobile() {\n return typeof navigator !== 'undefined' && navigator.userAgent.indexOf('Shopify Mobile') >= 0;\n}\n\nexports.isShopifyMobile = isShopifyMobile;\n\nfunction isShopifyPOS() {\n return typeof navigator !== 'undefined' && navigator.userAgent.indexOf('Shopify POS') >= 0;\n}\n\nexports.isShopifyPOS = isShopifyPOS;\n\nfunction isShopifyPing() {\n return typeof navigator !== 'undefined' && navigator.userAgent.indexOf('Shopify Ping') >= 0;\n}\n\nexports.isShopifyPing = isShopifyPing;","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSessionToken = void 0;\n\nvar SessionToken = __importStar(require(\"@shopify/app-bridge/actions/SessionToken\"));\n\nvar Error_1 = require(\"@shopify/app-bridge/actions/Error\");\n\nfunction getSessionToken(appBridge) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2\n /*return*/\n , new Promise(function (resolve, reject) {\n var unsubscribe = appBridge.subscribe(SessionToken.Action.RESPOND, function (_a) {\n var sessionToken = _a.sessionToken;\n\n if (sessionToken) {\n resolve(sessionToken);\n } else {\n reject(Error_1.fromAction('Failed to retrieve a session token', Error_1.Action.FAILED_AUTHENTICATION));\n }\n\n unsubscribe();\n });\n appBridge.dispatch(SessionToken.request());\n })];\n });\n });\n}\n\nexports.getSessionToken = getSessionToken;","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getAuthorizationCodePayload = void 0;\n\nvar AuthCode = __importStar(require(\"@shopify/app-bridge/actions/AuthCode\"));\n\nvar Error_1 = require(\"@shopify/app-bridge/actions/Error\");\n\nvar uuid_1 = __importDefault(require(\"@shopify/app-bridge/actions/uuid\"));\n\nfunction getAuthorizationCodePayload(app) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2\n /*return*/\n , new Promise(function (resolve, reject) {\n var requestId = uuid_1.default();\n var unsubscribe = app.subscribe(AuthCode.Action.RESPOND, function (payload) {\n switch (payload === null || payload === void 0 ? void 0 : payload.status) {\n case 'needsExchange':\n resolve(payload);\n break;\n\n default:\n reject(Error_1.fromAction('Failed to retrieve an authorization code', Error_1.Action.FAILED_AUTHENTICATION));\n }\n\n unsubscribe();\n }, requestId);\n app.dispatch(AuthCode.request(requestId));\n })];\n });\n });\n}\n\nexports.getAuthorizationCodePayload = getAuthorizationCodePayload;","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./utilities\"), exports);","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.throwError = exports.fromAction = exports.AppBridgeError = exports.invalidOriginAction = exports.isErrorEventName = exports.permissionAction = exports.networkAction = exports.persistenceAction = exports.unsupportedOperationAction = exports.unexpectedAction = exports.invalidAction = exports.invalidActionType = exports.invalidPayload = exports.Message = exports.AppActionType = exports.Action = void 0;\n\nvar helper_1 = require(\"../helper\");\n\nvar types_1 = require(\"../types\"); // Errors triggered in response to an action\n\n\nvar Action;\n\n(function (Action) {\n Action[\"INVALID_ACTION\"] = \"APP::ERROR::INVALID_ACTION\";\n Action[\"INVALID_ACTION_TYPE\"] = \"APP::ERROR::INVALID_ACTION_TYPE\";\n Action[\"INVALID_PAYLOAD\"] = \"APP::ERROR::INVALID_PAYLOAD\";\n Action[\"INVALID_OPTIONS\"] = \"APP::ERROR::INVALID_OPTIONS\";\n Action[\"UNEXPECTED_ACTION\"] = \"APP::ERROR::UNEXPECTED_ACTION\";\n Action[\"PERSISTENCE\"] = \"APP::ERROR::PERSISTENCE\";\n Action[\"UNSUPPORTED_OPERATION\"] = \"APP::ERROR::UNSUPPORTED_OPERATION\";\n Action[\"NETWORK\"] = \"APP::ERROR::NETWORK\";\n Action[\"PERMISSION\"] = \"APP::ERROR::PERMISSION\";\n Action[\"FAILED_AUTHENTICATION\"] = \"APP::ERROR::FAILED_AUTHENTICATION\";\n Action[\"INVALID_ORIGIN\"] = \"APP::ERROR::INVALID_ORIGIN\";\n})(Action = exports.Action || (exports.Action = {})); // Errors thrown in response to app setup\n\n\nvar AppActionType;\n\n(function (AppActionType) {\n AppActionType[\"INVALID_CONFIG\"] = \"APP::ERROR::INVALID_CONFIG\";\n AppActionType[\"MISSING_CONFIG\"] = \"APP::APP_ERROR::MISSING_CONFIG\";\n AppActionType[\"MISSING_APP_BRIDGE_MIDDLEWARE\"] = \"APP::APP_ERROR::MISSING_APP_BRIDGE_MIDDLEWARE\";\n AppActionType[\"WINDOW_UNDEFINED\"] = \"APP::APP_ERROR::WINDOW_UNDEFINED\";\n AppActionType[\"REDUX_REINSTANTIATED\"] = \"APP::APP_ERROR::REDUX_REINSTANTIATED\";\n AppActionType[\"MISSING_LOCAL_ORIGIN\"] = \"APP::APP_ERROR::MISSING_LOCAL_ORIGIN\";\n AppActionType[\"MISSING_HOST_PROVIDER\"] = \"APP::APP_ERROR::MISSING_HOST_PROVIDER\";\n AppActionType[\"MISSING_ROUTER_CONTEXT\"] = \"APP::APP_ERROR::MISSING_ROUTER_CONTEXT\";\n AppActionType[\"MISSING_HISTORY_BLOCK\"] = \"APP::APP_ERROR::MISSING_HISTORY_BLOCK\";\n})(AppActionType = exports.AppActionType || (exports.AppActionType = {}));\n\nfunction errorActionWrapperWithId(type, action, message) {\n var castPayload = action.payload;\n return helper_1.actionWrapper({\n type: type,\n group: types_1.Group.Error,\n payload: {\n action: action,\n message: message,\n type: type,\n id: castPayload && castPayload.id ? castPayload.id : undefined\n }\n });\n}\n\nvar Message;\n\n(function (Message) {\n Message[\"MISSING_PAYLOAD\"] = \"Missing payload\";\n Message[\"INVALID_PAYLOAD_ID\"] = \"Id in payload is missing or invalid\";\n})(Message = exports.Message || (exports.Message = {}));\n\nfunction invalidPayload(action, message) {\n return errorActionWrapperWithId(Action.INVALID_PAYLOAD, action, message || \"The action's payload is missing required properties or has invalid properties\");\n}\n\nexports.invalidPayload = invalidPayload;\n\nfunction invalidActionType(action, message) {\n return helper_1.actionWrapper({\n group: types_1.Group.Error,\n payload: {\n action: action,\n message: message || 'The action type is invalid or unsupported',\n type: Action.INVALID_ACTION_TYPE\n },\n type: Action.INVALID_ACTION_TYPE\n });\n}\n\nexports.invalidActionType = invalidActionType;\n\nfunction invalidAction(action, message) {\n return helper_1.actionWrapper({\n group: types_1.Group.Error,\n payload: {\n action: action,\n message: message || \"The action's has missing/invalid values for `group`, `type` or `version`\",\n type: Action.INVALID_ACTION\n },\n type: Action.INVALID_ACTION\n });\n}\n\nexports.invalidAction = invalidAction;\n\nfunction unexpectedAction(action, message) {\n return helper_1.actionWrapper({\n group: types_1.Group.Error,\n payload: {\n action: action,\n message: message || 'Action cannot be called at this time',\n type: Action.UNEXPECTED_ACTION\n },\n type: Action.UNEXPECTED_ACTION\n });\n}\n\nexports.unexpectedAction = unexpectedAction;\n\nfunction unsupportedOperationAction(action, message) {\n return errorActionWrapperWithId(Action.UNSUPPORTED_OPERATION, action, message || 'The action type is unsupported');\n}\n\nexports.unsupportedOperationAction = unsupportedOperationAction;\n\nfunction persistenceAction(action, message) {\n return errorActionWrapperWithId(Action.PERSISTENCE, action, message || 'Action cannot be persisted on server');\n}\n\nexports.persistenceAction = persistenceAction;\n\nfunction networkAction(action, message) {\n return errorActionWrapperWithId(Action.NETWORK, action, message || 'Network error');\n}\n\nexports.networkAction = networkAction;\n\nfunction permissionAction(action, message) {\n return errorActionWrapperWithId(Action.PERMISSION, action, message || 'Action is not permitted');\n}\n\nexports.permissionAction = permissionAction;\n\nfunction isErrorEventName(eventName) {\n var match = helper_1.findMatchInEnum(Action, eventName);\n return typeof match === 'string';\n}\n\nexports.isErrorEventName = isErrorEventName;\n\nfunction invalidOriginAction(message) {\n return helper_1.actionWrapper({\n group: types_1.Group.Error,\n payload: {\n message: message,\n type: Action.INVALID_ORIGIN\n },\n type: Action.INVALID_ORIGIN\n });\n}\n\nexports.invalidOriginAction = invalidOriginAction;\n\nvar AppBridgeError =\n/** @class */\nfunction () {\n function AppBridgeError(message) {\n this.name = 'AppBridgeError';\n this.message = message;\n\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = new Error(this.message).stack;\n }\n }\n\n return AppBridgeError;\n}();\n\nexports.AppBridgeError = AppBridgeError;\nAppBridgeError.prototype = Object.create(Error.prototype);\n\nfunction fromAction(message, type, action) {\n var errorMessage = message ? type + \": \" + message : type;\n var error = new AppBridgeError(errorMessage);\n error.action = action;\n error.type = type;\n return error;\n}\n\nexports.fromAction = fromAction;\n\nfunction throwError() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var type = args[0];\n var message;\n var action;\n\n if (typeof args[1] === 'string') {\n message = args[1];\n } else {\n action = args[1];\n message = args[2] || '';\n }\n\n throw fromAction(message, type, action);\n}\n\nexports.throwError = throwError;","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./modal\"), exports);\n\n__exportStar(require(\"./platform\"), exports);\n\n__exportStar(require(\"./session-token\"), exports);\n\n__exportStar(require(\"./authorization-code\"), exports);","\"use strict\";\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createMutationObserver = exports.setupModalAutoSizing = void 0;\n\nvar Modal_1 = require(\"@shopify/app-bridge/actions/Modal\");\n\nvar MessageTransport_1 = require(\"@shopify/app-bridge/MessageTransport\");\n\nvar platform_1 = require(\"./platform\");\n\nvar AUTO_SIZE_CLASS = 'app-bridge-utils-modal-auto-size';\nvar autoSizeStylesheet = createAutoSizeStylesheet();\n\nfunction createAutoSizeStylesheet() {\n if (typeof document === 'undefined') {\n return null;\n }\n\n var autoSizeStylesheet = document.createElement('style');\n autoSizeStylesheet.type = 'text/css';\n autoSizeStylesheet.innerHTML = \".\" + AUTO_SIZE_CLASS + \" { overflow: hidden; height: auto; min-height: auto; }\";\n return autoSizeStylesheet;\n}\n\nfunction addAutoSizing(app, id) {\n if (!autoSizeStylesheet) {\n return function () {};\n }\n\n var head = document.getElementsByTagName('head')[0];\n var classList = document.body.classList;\n head.appendChild(autoSizeStylesheet);\n classList.add(AUTO_SIZE_CLASS);\n var mutationObserver = createMutationObserver(app, id);\n return function () {\n classList.remove(AUTO_SIZE_CLASS);\n\n if (head.contains(autoSizeStylesheet)) {\n head.removeChild(autoSizeStylesheet);\n }\n\n if (mutationObserver) {\n mutationObserver.disconnect();\n }\n };\n}\n/**\n * Automatically track changes to the document.body height and dispatch and action to update the modal size\n * @remarks This utility should only be used for an app that is meant to open inside a Modal\n * @param app App Bridge client application instance\n * @returns function to remove the auto-size tracker for the document.body\n *\n * @public\n */\n\n\nfunction setupModalAutoSizing(app) {\n return __awaiter(this, void 0, void 0, function () {\n function cleanup() {\n if (removeAutoSizing) {\n removeAutoSizing();\n removeAutoSizing = undefined;\n }\n }\n\n function handleModalSizeUpdate(appState) {\n var context = appState.context,\n id = appState.modal.id;\n\n if (platform_1.isMobile() || context !== MessageTransport_1.Context.Modal) {\n cleanup();\n return cleanup;\n }\n\n if (!removeAutoSizing) {\n removeAutoSizing = addAutoSizing(app, id);\n }\n\n return cleanup;\n }\n\n var removeAutoSizing;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4\n /*yield*/\n , app.getState().then(handleModalSizeUpdate)];\n\n case 1:\n _a.sent();\n\n return [2\n /*return*/\n , cleanup];\n }\n });\n });\n}\n\nexports.setupModalAutoSizing = setupModalAutoSizing;\n/**\n * Sets up modal auto sizing, using a MutationObserver.\n *\n * @param app App Bridge client application instance\n * @param id Currently active modal instance ID\n *\n * @internal\n */\n\nfunction createMutationObserver(app, id) {\n if (typeof document === 'undefined') {\n return;\n }\n\n var lastKnownWindowHeight = -1;\n var mutationTimeoutId;\n var mutationObserverConfig = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n };\n var mutationObserver = new MutationObserver(debouncedResizeHandler);\n mutationObserver.observe(document, mutationObserverConfig);\n updateHeight();\n\n function debouncedResizeHandler() {\n if (mutationTimeoutId) {\n window.clearTimeout(mutationTimeoutId);\n }\n\n mutationTimeoutId = window.setTimeout(updateHeight, 16);\n }\n\n function updateHeight() {\n var height = document.body.scrollHeight;\n\n if (height !== lastKnownWindowHeight) {\n lastKnownWindowHeight = height;\n app.dispatch(Modal_1.updateModalSize({\n id: id,\n height: String(height)\n }));\n }\n }\n\n return mutationObserver;\n}\n\nexports.createMutationObserver = createMutationObserver;","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = exports.ModalIframe = exports.ModalMessage = exports.Modal = exports.isMessageModal = exports.isIframeModal = exports.data = exports.update = exports.clickFooterButton = exports.updateModalSize = exports.closeModal = exports.openModal = exports.Size = exports.Action = void 0;\n\nvar buttonHelper_1 = require(\"../buttonHelper\");\n\nvar helper_1 = require(\"../helper\");\n\nvar ActionSet_1 = require(\"../ActionSet\");\n\nvar types_1 = require(\"../types\");\n\nvar Button_1 = require(\"../Button\");\n\nvar Action;\n\n(function (Action) {\n Action[\"OPEN\"] = \"APP::MODAL::OPEN\";\n Action[\"CLOSE\"] = \"APP::MODAL::CLOSE\";\n Action[\"UPDATE\"] = \"APP::MODAL::UPDATE\";\n Action[\"UPDATE_CONTENT\"] = \"APP::MODAL::CONTENT::UPDATE\";\n Action[\"FOOTER_BUTTON_CLICK\"] = \"APP::MODAL::FOOTER::BUTTON::CLICK\";\n Action[\"FOOTER_BUTTON_UPDATE\"] = \"APP::MODAL::FOOTER::BUTTON::UPDATE\";\n Action[\"UPDATE_SIZE\"] = \"APP::MODAL::UPDATE_SIZE\";\n Action[\"DATA\"] = \"APP::MODAL::DATA\";\n})(Action = exports.Action || (exports.Action = {}));\n/**\n * Options available to the Modal `size` param\n * @public\n */\n\n\nvar Size;\n\n(function (Size) {\n /** Small modal size */\n Size[\"Small\"] = \"small\";\n /** Medium modal size */\n\n Size[\"Medium\"] = \"medium\";\n /** Large modal size (wider than medium) */\n\n Size[\"Large\"] = \"large\";\n /** @deprecated as of 1.6.5 */\n\n Size[\"Full\"] = \"full\";\n /**\n * @deprecated as of 1.12.x\n * @remarks\n * This option has been removed in favour of the `setUpModalAutoSizing` utility.\n */\n\n Size[\"Auto\"] = \"auto\";\n})(Size = exports.Size || (exports.Size = {}));\n\nvar FOOTER_BUTTON_PROPS = {\n group: types_1.Group.Modal,\n subgroups: ['Footer'],\n type: types_1.ComponentType.Button\n};\n\nfunction openModal(modalPayload) {\n return helper_1.actionWrapper({\n group: types_1.Group.Modal,\n payload: modalPayload,\n type: Action.OPEN\n });\n}\n\nexports.openModal = openModal;\n\nfunction closeModal(modalClosePayload) {\n return helper_1.actionWrapper({\n group: types_1.Group.Modal,\n payload: modalClosePayload,\n type: Action.CLOSE\n });\n}\n\nexports.closeModal = closeModal;\n/**\n * Action creator for modal update size action\n * @internal\n */\n\nfunction updateModalSize(updateSizePayload) {\n return helper_1.actionWrapper({\n group: types_1.Group.Modal,\n payload: updateSizePayload,\n type: Action.UPDATE_SIZE\n });\n}\n\nexports.updateModalSize = updateModalSize;\n\nfunction clickFooterButton(id, payload) {\n var component = __assign({\n id: id\n }, FOOTER_BUTTON_PROPS);\n\n return Button_1.clickButton(types_1.Group.Modal, component, payload);\n}\n\nexports.clickFooterButton = clickFooterButton;\n\nfunction update(payload) {\n return helper_1.actionWrapper({\n payload: payload,\n group: types_1.Group.Modal,\n type: Action.UPDATE\n });\n}\n\nexports.update = update;\n\nfunction data(payload) {\n return helper_1.actionWrapper({\n payload: payload,\n group: types_1.Group.Modal,\n type: Action.DATA\n });\n}\n\nexports.data = data;\n\nfunction isIframeModal(options) {\n return typeof options.url === 'string' || typeof options.path === 'string';\n}\n\nexports.isIframeModal = isIframeModal;\n\nfunction isMessageModal(options) {\n return typeof options.message === 'string';\n}\n\nexports.isMessageModal = isMessageModal;\n\nvar Modal =\n/** @class */\nfunction (_super) {\n __extends(Modal, _super);\n\n function Modal() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.size = Size.Small;\n return _this;\n }\n\n Object.defineProperty(Modal.prototype, \"footer\", {\n get: function get() {\n if (!this.footerPrimary && !this.footerSecondary) {\n return undefined;\n }\n\n return {\n buttons: {\n primary: this.footerPrimary,\n secondary: this.footerSecondary\n }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Modal.prototype, \"footerOptions\", {\n get: function get() {\n if (!this.footerPrimaryOptions && !this.footerSecondaryOptions) {\n return undefined;\n }\n\n return {\n buttons: {\n primary: this.footerPrimaryOptions,\n secondary: this.footerSecondaryOptions\n }\n };\n },\n enumerable: false,\n configurable: true\n });\n\n Modal.prototype.close = function () {\n this.app.dispatch(closeModal({\n id: this.id\n }));\n };\n\n Modal.prototype.setFooterPrimaryButton = function (newOptions, updateCb) {\n var _this = this;\n\n var subgroups = FOOTER_BUTTON_PROPS.subgroups;\n this.footerPrimaryOptions = this.getChildButton(newOptions, this.footerPrimaryOptions);\n this.footerPrimary = this.footerPrimaryOptions ? buttonHelper_1.getSingleButton(this, this.footerPrimaryOptions, subgroups, function (newPayload) {\n _this.updatePrimaryFooterButton(newPayload, updateCb);\n }) : undefined;\n };\n\n Modal.prototype.setFooterSecondaryButtons = function (newOptions, updateCb) {\n var _this = this;\n\n var subgroups = FOOTER_BUTTON_PROPS.subgroups;\n var newButtons = newOptions || [];\n var currentOptions = this.footerOptions && this.footerOptions.buttons.secondary || [];\n this.footerSecondaryOptions = this.getUpdatedChildActions(newButtons, currentOptions);\n this.footerSecondary = this.footerSecondaryOptions ? this.footerSecondaryOptions.map(function (action) {\n return buttonHelper_1.getSingleButton(_this, action, subgroups, function (newPayload) {\n _this.updateSecondaryFooterButton(newPayload, updateCb);\n });\n }) : undefined;\n };\n\n Modal.prototype.getChildButton = function (newAction, currentAction) {\n var newButtons = newAction ? [newAction] : [];\n var currentButtons = currentAction ? [currentAction] : [];\n var updatedButton = this.getUpdatedChildActions(newButtons, currentButtons);\n return updatedButton ? updatedButton[0] : undefined;\n };\n\n Modal.prototype.updatePrimaryFooterButton = function (newPayload, updateCb) {\n if (!this.footer || !this.footer.buttons.primary) {\n return;\n }\n\n if (helper_1.updateActionFromPayload(this.footer.buttons.primary, newPayload)) {\n updateCb();\n }\n };\n\n Modal.prototype.updateSecondaryFooterButton = function (newPayload, updateCb) {\n if (!this.footer || !this.footer.buttons || !this.footer.buttons.secondary) {\n return;\n }\n\n var updated;\n\n for (var _i = 0, _a = this.footer.buttons.secondary; _i < _a.length; _i++) {\n var action = _a[_i];\n updated = helper_1.updateActionFromPayload(action, newPayload);\n\n if (updated) {\n break;\n }\n }\n\n if (updated) {\n updateCb();\n }\n };\n\n return Modal;\n}(ActionSet_1.ActionSetWithChildren);\n\nexports.Modal = Modal;\n\nvar ModalMessage =\n/** @class */\nfunction (_super) {\n __extends(ModalMessage, _super);\n\n function ModalMessage(app, options) {\n var _this = _super.call(this, app, types_1.Group.Modal, types_1.Group.Modal) || this;\n\n _this.set(options, false);\n\n return _this;\n }\n\n Object.defineProperty(ModalMessage.prototype, \"payload\", {\n get: function get() {\n return __assign(__assign({}, this.options), {\n footer: this.footer,\n id: this.id\n });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ModalMessage.prototype, \"options\", {\n get: function get() {\n return {\n footer: this.footerOptions,\n message: this.message,\n size: this.size,\n title: this.title\n };\n },\n enumerable: false,\n configurable: true\n });\n\n ModalMessage.prototype.set = function (options, shouldUpdate) {\n var _this = this;\n\n if (shouldUpdate === void 0) {\n shouldUpdate = true;\n }\n\n var mergedOptions = helper_1.getMergedProps(this.options, options);\n var title = mergedOptions.title,\n footer = mergedOptions.footer,\n message = mergedOptions.message,\n size = mergedOptions.size;\n this.title = title;\n this.message = message;\n this.size = size;\n this.setFooterPrimaryButton(footer ? footer.buttons.primary : undefined, function () {\n _this.dispatch(Action.UPDATE);\n });\n this.setFooterSecondaryButtons(footer ? footer.buttons.secondary : undefined, function () {\n _this.dispatch(Action.UPDATE);\n });\n\n if (shouldUpdate) {\n this.dispatch(Action.UPDATE);\n }\n\n return this;\n };\n\n ModalMessage.prototype.dispatch = function (action) {\n switch (action) {\n case Action.OPEN:\n this.app.dispatch(openModal(this.payload));\n break;\n\n case Action.CLOSE:\n this.close();\n break;\n\n case Action.UPDATE:\n this.app.dispatch(update(this.payload));\n break;\n }\n\n return this;\n };\n\n return ModalMessage;\n}(Modal);\n\nexports.ModalMessage = ModalMessage;\n\nvar ModalIframe =\n/** @class */\nfunction (_super) {\n __extends(ModalIframe, _super);\n\n function ModalIframe(app, options) {\n var _this = _super.call(this, app, types_1.Group.Modal, types_1.Group.Modal) || this;\n\n _this.set(options, false);\n\n return _this;\n }\n\n Object.defineProperty(ModalIframe.prototype, \"payload\", {\n get: function get() {\n return __assign(__assign({}, this.options), {\n footer: this.footer,\n id: this.id\n });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ModalIframe.prototype, \"options\", {\n get: function get() {\n return {\n footer: this.footerOptions,\n path: this.path,\n size: this.size,\n title: this.title,\n url: this.url,\n loading: this.loading\n };\n },\n enumerable: false,\n configurable: true\n });\n\n ModalIframe.prototype.set = function (options, shouldUpdate) {\n var _this = this;\n\n if (shouldUpdate === void 0) {\n shouldUpdate = true;\n }\n\n var mergedOptions = helper_1.getMergedProps(this.options, options);\n var title = mergedOptions.title,\n footer = mergedOptions.footer,\n path = mergedOptions.path,\n url = mergedOptions.url,\n size = mergedOptions.size,\n loading = mergedOptions.loading;\n this.title = title;\n this.url = url;\n this.path = path;\n this.size = size;\n this.loading = loading;\n this.setFooterPrimaryButton(footer ? footer.buttons.primary : undefined, function () {\n _this.dispatch(Action.UPDATE);\n });\n this.setFooterSecondaryButtons(footer ? footer.buttons.secondary : undefined, function () {\n _this.dispatch(Action.UPDATE);\n });\n\n if (shouldUpdate) {\n this.dispatch(Action.UPDATE);\n }\n\n return this;\n };\n\n ModalIframe.prototype.dispatch = function (action, payload) {\n switch (action) {\n case Action.OPEN:\n this.app.dispatch(openModal(this.payload));\n break;\n\n case Action.CLOSE:\n this.close();\n break;\n\n case Action.UPDATE:\n this.app.dispatch(update(this.payload));\n break;\n\n case Action.DATA:\n this.app.dispatch(data(payload || {}));\n break;\n }\n\n return this;\n };\n\n return ModalIframe;\n}(Modal);\n\nexports.ModalIframe = ModalIframe;\n\nvar create = function create(app, options) {\n if (isIframeModal(options)) {\n return new ModalIframe(app, options);\n }\n\n return new ModalMessage(app, options);\n};\n\nexports.create = create;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSingleButton = void 0;\n\nvar Button_1 = require(\"./Button\");\n\nfunction getSingleButton(action, button, subgroups, updateCb) {\n action.addChild(button, action.group, subgroups);\n action.subscribeToChild(button, Button_1.Action.UPDATE, updateCb);\n return button.payload;\n}\n\nexports.getSingleButton = getSingleButton;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Returns a deeply merged object with properties from the 2 provided objects\n * @remarks - Only deeply merge objects. The second argument overrides the\n * first if it is provided as `null`, `undefined` or an array.\n * @public\n * */\n\nfunction mergeProps(obj, newObj) {\n if (newObj == null) {\n return newObj;\n } // If setting to a different prototype or a non-object or non-array, don't merge any props\n\n\n if (typeof obj === 'undefined' || !Object.prototype.isPrototypeOf.call(Object.getPrototypeOf(obj), newObj) || newObj.constructor.name !== 'Object' && newObj.constructor.name !== 'Array') {\n return newObj;\n }\n\n var clone = {};\n Object.keys(newObj).forEach(function (key) {\n var exists = Object.prototype.hasOwnProperty.call(obj, key);\n\n if (!exists) {\n clone[key] = newObj[key];\n } else if (_typeof(obj[key]) === 'object' && !Array.isArray(obj[key])) {\n clone[key] = mergeProps(obj[key], newObj[key]);\n } else {\n clone[key] = newObj[key];\n }\n }); // Copy old props that are not present in new object only if this is a simple object\n\n Object.keys(obj).forEach(function (key) {\n var exists = Object.prototype.hasOwnProperty.call(newObj, key);\n\n if (!exists) {\n clone[key] = obj[key];\n }\n }); // Set prototype of cloned object to match original\n\n Object.setPrototypeOf(clone, Object.getPrototypeOf(obj));\n return clone;\n}\n\nexports.default = mergeProps;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createTransportListener = exports.fromWindow = exports.fromFrame = exports.Context = void 0;\n\nvar Error_1 = require(\"./actions/Error\");\n\nvar validator_1 = require(\"./actions/validator\");\n\nvar types_1 = require(\"./client/types\");\n\nvar collection_1 = require(\"./util/collection\");\n\nvar env_1 = require(\"./util/env\");\n\nvar Context;\n\n(function (Context) {\n Context[\"Modal\"] = \"Modal\";\n Context[\"Main\"] = \"Main\";\n})(Context = exports.Context || (exports.Context = {}));\n/**\n * Create a MessageTransport from a Frame.\n * @remarks\n * Used on the host-side to create a postMessage MessageTransport.\n * @beta\n */\n\n\nfunction fromFrame(frame, localOrigin, context) {\n var handlers = [];\n var host = frame.host,\n frameWindow = frame.window;\n\n if (!host) {\n throw Error_1.fromAction('App frame is undefined', Error_1.AppActionType.WINDOW_UNDEFINED);\n }\n\n if (env_1.isUnframed && window.MobileWebView) {\n Object.assign(window.MobileWebView, {\n postMessageToIframe: function postMessageToIframe(message, origin) {\n frameWindow === null || frameWindow === void 0 ? void 0 : frameWindow.postMessage(message, origin);\n\n if (isDispatchAction(message)) {\n host.postMessage(JSON.stringify(message.payload), location.origin);\n }\n },\n updateIframeUrl: function updateIframeUrl(newUrl) {\n var currentWindowLocation = window.location;\n var frameWindowLocation = (frame.window || {}).location;\n\n try {\n var newUrlOrigin = new URL(newUrl).origin;\n\n if (newUrlOrigin === localOrigin && frameWindowLocation) {\n frameWindowLocation.replace(newUrl);\n } else {\n currentWindowLocation.href = newUrl;\n }\n } catch (_) {// Noop\n }\n }\n });\n }\n\n host.addEventListener('message', function (event) {\n if (event.source === host || !validator_1.isAppMessage(event)) {\n return;\n }\n\n if (event.origin !== localOrigin) {\n var errorMessage = \"Message origin '\" + event.origin + \"' does not match app origin '\" + localOrigin + \"'.\";\n var payload = Error_1.invalidOriginAction(errorMessage);\n var message = {\n type: 'dispatch',\n payload: payload\n };\n frameWindow === null || frameWindow === void 0 ? void 0 : frameWindow.postMessage(message, event.origin);\n return;\n }\n\n if (env_1.isUnframed && window.MobileWebView) {\n var payload = JSON.stringify({\n id: 'unframed://fromClient',\n origin: localOrigin,\n data: event.data\n });\n window.MobileWebView.postMessage(payload);\n return;\n }\n\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n handler(event);\n }\n });\n return {\n context: context,\n localOrigin: localOrigin,\n frameWindow: frameWindow,\n hostFrame: host,\n dispatch: function dispatch(message) {\n frameWindow === null || frameWindow === void 0 ? void 0 : frameWindow.postMessage(message, localOrigin);\n },\n subscribe: function subscribe(handler) {\n return collection_1.addAndRemoveFromCollection(handlers, handler);\n }\n };\n}\n\nexports.fromFrame = fromFrame;\n/**\n * Create a MessageTransport from a parent window.\n * @remarks\n * Used on the client-side to create a postMessage MessageTransport.\n * @internalremarks\n * In unframed mode, message should be dispatched via MobileWebView.postMessage instead of postMessage.\n * @beta\n */\n\nfunction fromWindow(contentWindow, localOrigin) {\n var handlers = [];\n\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined) {\n window.addEventListener('message', function (event) {\n if (window === contentWindow && !env_1.isUnframed || event.source !== contentWindow || !(validator_1.isAppBridgeAction(event.data.payload) || validator_1.isAppMessage(event))) {\n return;\n }\n\n for (var _i = 0, handlers_2 = handlers; _i < handlers_2.length; _i++) {\n var handler = handlers_2[_i];\n handler(event);\n }\n });\n }\n\n return {\n localOrigin: localOrigin,\n hostFrame: contentWindow,\n dispatch: function dispatch(message) {\n var _a;\n\n if (!((_a = message.source) === null || _a === void 0 ? void 0 : _a.host)) {\n return;\n }\n\n if (env_1.isUnframed && window && window.MobileWebView) {\n var payload = JSON.stringify({\n id: 'unframed://fromClient',\n origin: localOrigin,\n data: message\n });\n window.MobileWebView.postMessage(payload);\n return;\n }\n\n var messageOrigin = new URL(\"https://\" + message.source.host).origin;\n contentWindow.postMessage(message, messageOrigin);\n },\n subscribe: function subscribe(handler) {\n return collection_1.addAndRemoveFromCollection(handlers, handler);\n }\n };\n}\n\nexports.fromWindow = fromWindow;\n\nfunction createTransportListener() {\n var listeners = [];\n var actionListeners = {};\n\n function createSubscribeHandler(dispatcher) {\n function subscribe() {\n if (arguments.length < 2) {\n // eslint-disable-next-line prefer-rest-params\n return collection_1.addAndRemoveFromCollection(listeners, {\n callback: arguments[0]\n });\n } // eslint-disable-next-line prefer-rest-params\n\n\n var _a = Array.from(arguments),\n type = _a[0],\n callback = _a[1],\n id = _a[2];\n\n var actionCallback = {\n callback: callback,\n id: id\n };\n var payload = {\n type: type,\n id: id\n };\n\n if (!Object.prototype.hasOwnProperty.call(actionListeners, type)) {\n actionListeners[type] = [];\n }\n\n if (dispatcher) {\n dispatcher(types_1.MessageType.Subscribe, payload);\n }\n\n return collection_1.addAndRemoveFromCollection(actionListeners[type], actionCallback, function () {\n if (dispatcher) {\n dispatcher(types_1.MessageType.Unsubscribe, payload);\n }\n });\n }\n\n return subscribe;\n }\n\n return {\n createSubscribeHandler: createSubscribeHandler,\n handleMessage: function handleMessage(message) {\n listeners.forEach(function (listener) {\n return listener.callback(message);\n });\n },\n handleActionDispatch: function handleActionDispatch(_a) {\n var type = _a.type,\n payload = _a.payload;\n var hasCallback = false;\n\n if (Object.prototype.hasOwnProperty.call(actionListeners, type)) {\n for (var _i = 0, _b = actionListeners[type]; _i < _b.length; _i++) {\n var listener = _b[_i];\n var id = listener.id,\n callback = listener.callback;\n var matchId = payload && payload.id === id;\n\n if (matchId || !id) {\n callback(payload);\n hasCallback = true;\n }\n }\n }\n\n return hasCallback;\n }\n };\n}\n\nexports.createTransportListener = createTransportListener;\n\nfunction isDispatchAction(message) {\n return message !== null && _typeof(message) === 'object' && !Array.isArray(message) && message.type === 'dispatch' && _typeof(message.payload) === 'object';\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isAppMessage = exports.isPermitted = exports.getPermissionKey = exports.isFromApp = exports.isPerformanceOrWebVitalsAction = exports.isAppBridgeAction = void 0;\n\nvar types_1 = require(\"../client/types\");\n\nvar constants_1 = require(\"./constants\");\n\nvar helper_1 = require(\"./helper\");\n/**\n * Predicate to determine if an action is an App Bridge action.\n * @public\n */\n\n\nfunction isAppBridgeAction(action) {\n return action instanceof Object && Object.prototype.hasOwnProperty.call(action, 'type') && action.type.toString().startsWith(constants_1.PREFIX);\n}\n\nexports.isAppBridgeAction = isAppBridgeAction;\n/**\n * Function used to determine if an action is in the Performance or WebVitals groups\n * @public\n */\n\nfunction isPerformanceOrWebVitalsAction(_a) {\n var type = _a.type;\n return type.match(/^APP::(PERFORMANCE|WEB_VITALS)::/);\n}\n\nexports.isPerformanceOrWebVitalsAction = isPerformanceOrWebVitalsAction;\n/**\n * Predicate to determine if an action originated from an application.\n * @internal\n */\n\nfunction isFromApp(action) {\n if (_typeof(action) !== 'object' || _typeof(action.source) !== 'object') {\n return false;\n }\n\n return typeof action.source.apiKey === 'string';\n}\n\nexports.isFromApp = isFromApp;\n/**\n * Returns the action type without the prefix and group\n * @internal\n */\n\nfunction getPermissionKey(type) {\n return type.replace(new RegExp(\"^\" + constants_1.PREFIX + constants_1.SEPARATOR + \"\\\\w+\" + constants_1.SEPARATOR), '');\n}\n\nexports.getPermissionKey = getPermissionKey;\n/**\n * Predicate to determine if an action is permitted\n * @internal\n */\n\nfunction isPermitted(features, _a, permissionType) {\n var group = _a.group,\n type = _a.type;\n\n if (!group || !Object.prototype.hasOwnProperty.call(features, group)) {\n return false;\n }\n\n var feature = features[group];\n\n if (!feature) {\n return false;\n }\n\n var actionType = getPermissionKey(type);\n return feature[actionType] ? feature[actionType][permissionType] === true : false;\n}\n\nexports.isPermitted = isPermitted;\n/**\n * Predicate to determine if an event originated from an application.\n * @internal\n */\n\nfunction isAppMessage(event) {\n if (_typeof(event) !== 'object' || !event.data || _typeof(event.data) !== 'object') {\n return false;\n }\n\n var data = event.data;\n return Object.prototype.hasOwnProperty.call(data, 'type') && helper_1.findMatchInEnum(types_1.MessageType, data.type) !== undefined;\n}\n\nexports.isAppMessage = isAppMessage;","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./session-token\"), exports);\n\n__exportStar(require(\"./authenticated-fetch\"), exports);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.respond = exports.request = exports.Action = void 0;\n\nvar helper_1 = require(\"../helper\");\n\nvar types_1 = require(\"../types\");\n\nvar Action;\n\n(function (Action) {\n Action[\"REQUEST\"] = \"APP::SESSION_TOKEN::REQUEST\";\n Action[\"RESPOND\"] = \"APP::SESSION_TOKEN::RESPOND\";\n})(Action = exports.Action || (exports.Action = {}));\n\nfunction request() {\n return helper_1.actionWrapper({\n group: types_1.Group.SessionToken,\n type: Action.REQUEST\n });\n}\n\nexports.request = request;\n\nfunction respond(sessionToken) {\n return helper_1.actionWrapper({\n payload: sessionToken,\n group: types_1.Group.SessionToken,\n type: Action.RESPOND\n });\n}\n\nexports.respond = respond;","\"use strict\";\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.authenticatedFetch = void 0;\n\nvar session_token_1 = require(\"./session-token\");\n\nfunction authenticatedFetch(app, fetchOperation) {\n var _this = this;\n\n if (fetchOperation === void 0) {\n fetchOperation = fetch;\n }\n\n return function (uri, options) {\n if (options === void 0) {\n options = {};\n }\n\n return __awaiter(_this, void 0, void 0, function () {\n var sessionToken, headers, finalHeaders;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4\n /*yield*/\n , session_token_1.getSessionToken(app)];\n\n case 1:\n sessionToken = _a.sent();\n headers = new Headers(options.headers);\n headers.append('Authorization', \"Bearer \" + sessionToken);\n headers.append('X-Requested-With', 'XMLHttpRequest');\n finalHeaders = {};\n headers.forEach(function (value, key) {\n finalHeaders[key] = value;\n });\n return [2\n /*return*/\n , fetchOperation(uri, __assign(__assign({}, options), {\n headers: finalHeaders\n }))];\n }\n });\n });\n };\n}\n\nexports.authenticatedFetch = authenticatedFetch;","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n__exportStar(require(\"./authorization-code\"), exports);\n\n__exportStar(require(\"./user-authorized-fetch\"), exports);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.respond = exports.request = exports.Action = void 0;\n\nvar helper_1 = require(\"../helper\");\n\nvar types_1 = require(\"../types\");\n\nvar Action;\n\n(function (Action) {\n Action[\"REQUEST\"] = \"APP::AUTH_CODE::REQUEST\";\n Action[\"RESPOND\"] = \"APP::AUTH_CODE::RESPOND\";\n})(Action = exports.Action || (exports.Action = {}));\n\nfunction request(id) {\n return helper_1.actionWrapper({\n group: types_1.Group.AuthCode,\n type: Action.REQUEST,\n payload: {\n id: id\n }\n });\n}\n\nexports.request = request;\n\nfunction respond(payload) {\n return helper_1.actionWrapper({\n payload: payload,\n group: types_1.Group.AuthCode,\n type: Action.RESPOND\n });\n}\n\nexports.respond = respond;","\"use strict\";\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.userAuthorizedFetch = void 0;\n\nvar authorization_code_1 = require(\"./authorization-code\");\n\nvar DEFAULT_CALLBACK_URI = 'auth/shopify/callback';\n\nfunction needsAuthorizationCode(response) {\n var headerValue = response.headers.get('X-Shopify-API-Request-Failure-Unauthorized');\n\n if (headerValue) {\n return headerValue.toLowerCase() === 'true';\n }\n\n return false;\n}\n\nfunction userAuthorizedFetch(_a) {\n var _this = this;\n\n var app = _a.app,\n _b = _a.callbackUri,\n callbackUri = _b === void 0 ? DEFAULT_CALLBACK_URI : _b,\n _c = _a.isAuthorizationCodeRequired,\n isAuthorizationCodeRequired = _c === void 0 ? needsAuthorizationCode : _c,\n fetchOperation = _a.fetchOperation;\n return function (uri, options) {\n return __awaiter(_this, void 0, void 0, function () {\n var response, _a, code, hmac, shop, timestamp, formattedCallbackUri, callbackResponse;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n return [4\n /*yield*/\n , fetchOperation(uri, options)];\n\n case 1:\n response = _b.sent();\n\n if (!isAuthorizationCodeRequired(response)) {\n return [2\n /*return*/\n , response];\n }\n\n return [4\n /*yield*/\n , authorization_code_1.getAuthorizationCodePayload(app)];\n\n case 2:\n _a = _b.sent(), code = _a.code, hmac = _a.hmac, shop = _a.shop, timestamp = _a.timestamp;\n formattedCallbackUri = encodeURI(\"https://\" + window.location.hostname + \"/\" + callbackUri + \"?code=\" + code + \"&hmac=\" + hmac + \"&shop=\" + shop + \"×tamp=\" + timestamp);\n return [4\n /*yield*/\n , fetchOperation(formattedCallbackUri, {})];\n\n case 3:\n callbackResponse = _b.sent();\n\n if (!callbackResponse.ok) {\n throw new Error('Failed to authorize request.');\n }\n\n return [2\n /*return*/\n , fetchOperation(uri, options)];\n }\n });\n });\n };\n}\n\nexports.userAuthorizedFetch = userAuthorizedFetch;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LifecycleHook = exports.MessageType = exports.PermissionType = exports.isV1Config = void 0;\n/**\n * @internal\n * @param config\n */\n\nfunction isV1Config(config) {\n return !config.host;\n}\n\nexports.isV1Config = isV1Config;\n/**\n * @internal\n */\n\nvar PermissionType;\n\n(function (PermissionType) {\n PermissionType[\"Dispatch\"] = \"Dispatch\";\n PermissionType[\"Subscribe\"] = \"Subscribe\";\n})(PermissionType = exports.PermissionType || (exports.PermissionType = {}));\n/**\n * @internal\n */\n\n\nvar MessageType;\n\n(function (MessageType) {\n MessageType[\"GetState\"] = \"getState\";\n MessageType[\"Dispatch\"] = \"dispatch\";\n MessageType[\"Subscribe\"] = \"subscribe\";\n MessageType[\"Unsubscribe\"] = \"unsubscribe\";\n})(MessageType = exports.MessageType || (exports.MessageType = {}));\n/**\n *\n * There are two types of hooks: `LifecycleHook.DispatchAction` and `LifecycleHook.UpdateAction`.\n *\n * @remarks\n * `DispatchAction` hooks are run when an action is dispatched with the `.dispatch()` function:\n *\n * ```js\n * const toastNotice = Toast.create(app, {message: 'Product saved'});\n * toastNotice.dispatch(Toast.Action.SHOW);\n * ```\n *\n * `UpdateAction` hooks are run when an action is updated, using the `.set()` function:\n *\n * ```js\n * toastNotice.set({message: 'Product could not be saved', isError: true});\n * ```\n *\n * @public\n */\n\n\nvar LifecycleHook;\n\n(function (LifecycleHook) {\n LifecycleHook[\"UpdateAction\"] = \"UpdateAction\";\n LifecycleHook[\"DispatchAction\"] = \"DispatchAction\";\n})(LifecycleHook = exports.LifecycleHook || (exports.LifecycleHook = {}));"],"sourceRoot":""}