UNPKG

merchi_checkout

Version:
104 lines 15.7 kB
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } import { isProductSupplierMOD } from './utils'; import { faAddressCard, faCheckCircle, faCreditCard, faShoppingCart, faThumbsUp, faTruck } from '@fortawesome/free-solid-svg-icons'; function makeTabData(icon, id, title) { return { disabled: true, icon: icon, id: id, title: title }; } export var tabIdCustomerInfo = 'customer'; export var tabCustomerInfo = makeTabData(faAddressCard, tabIdCustomerInfo, 'Customer'); export var tabIdShipment = 'shipment'; export var tabShipment = makeTabData(faTruck, tabIdShipment, 'Address'); export var tabIdConfirm = 'confirm'; export var tabConfirm = makeTabData(faShoppingCart, tabIdConfirm, 'Confirm'); export var tabMODConfirm = makeTabData(faCheckCircle, tabIdConfirm, 'Confirm'); export var tabIdPayment = 'payment'; export var tabPayment = makeTabData(faCreditCard, tabIdPayment, 'Checkout'); export var tabIdComplete = 'complete'; export var tabCompleteQuote = makeTabData(faThumbsUp, tabIdComplete, 'Submitted'); export var tabComplete = makeTabData(faThumbsUp, tabIdComplete, 'Complete'); export function tabsProductMOD(_ref) { var includeDomainSignup = _ref.includeDomainSignup, job = _ref.job; var client = job.client, product = job.product; var hasClient = client && client.id > 0; var clientHasDomain = client && client.hasStore; var tabs = {}; var needsDrafting = product.needsDrafting; // if the current user doesn't have an account ask them to sign up if (!hasClient) { tabs[tabIdCustomerInfo] = needsDrafting ? tabCustomerInfo : _objectSpread(_objectSpread({}, tabCustomerInfo), {}, { disabled: false }); } // if the current user doesn't have domain ask them to make a domain // if (!clientHasDomain && includeDomainSignup) { // tabs[tabIdNewDomain] = // hasClient ? // {...tabNewDomain, disabled: needsDrafting} : // tabNewDomain; // } tabs[tabIdConfirm] = tabMODConfirm; tabs[tabIdComplete] = tabCompleteQuote; return tabs; } export function tabsProductSupplier(_ref2) { var includeDomainSignup = _ref2.includeDomainSignup, job = _ref2.job, isBuyRequest = _ref2.isBuyRequest; var client = job.client, product = job.product; var tabs = {}; var hasClient = client && client.id > 0; var needsDrafting = product.needsDrafting, needsShipping = product.needsShipping; // if the current user doesn't have an account ask them to sign up tabs[tabIdCustomerInfo] = needsDrafting ? tabCustomerInfo : _objectSpread(_objectSpread({}, tabCustomerInfo), {}, { disabled: false }); if (needsShipping) { tabs[tabIdShipment] = _objectSpread(_objectSpread({}, tabShipment), {}, { disabled: !hasClient || needsDrafting }); } tabs[tabIdConfirm] = _objectSpread(_objectSpread({}, tabConfirm), {}, { disabled: !hasClient || needsDrafting || needsShipping }); if (isBuyRequest) { tabs[tabIdPayment] = tabPayment; tabs[tabIdComplete] = tabComplete; } else { tabs[tabIdComplete] = tabCompleteQuote; } return tabs; } export function tabsInit(settings) { var includeDomainSignup = settings.includeDomainSignup, _settings$isBuyReques = settings.isBuyRequest, isBuyRequest = _settings$isBuyReques === void 0 ? false : _settings$isBuyReques, job = settings.job; var product = job.product; var isSupplierMOD = isProductSupplierMOD(product); if (isSupplierMOD) { return Object.values(tabsProductMOD({ includeDomainSignup: includeDomainSignup, job: job })); } return Object.values(tabsProductSupplier({ includeDomainSignup: includeDomainSignup, isBuyRequest: isBuyRequest, job: job })); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1Byb2R1Y3RTdXBwbGllck1PRCIsImZhQWRkcmVzc0NhcmQiLCJmYUNoZWNrQ2lyY2xlIiwiZmFDcmVkaXRDYXJkIiwiZmFTaG9wcGluZ0NhcnQiLCJmYVRodW1ic1VwIiwiZmFUcnVjayIsIm1ha2VUYWJEYXRhIiwiaWNvbiIsImlkIiwidGl0bGUiLCJkaXNhYmxlZCIsInRhYklkQ3VzdG9tZXJJbmZvIiwidGFiQ3VzdG9tZXJJbmZvIiwidGFiSWRTaGlwbWVudCIsInRhYlNoaXBtZW50IiwidGFiSWRDb25maXJtIiwidGFiQ29uZmlybSIsInRhYk1PRENvbmZpcm0iLCJ0YWJJZFBheW1lbnQiLCJ0YWJQYXltZW50IiwidGFiSWRDb21wbGV0ZSIsInRhYkNvbXBsZXRlUXVvdGUiLCJ0YWJDb21wbGV0ZSIsInRhYnNQcm9kdWN0TU9EIiwiX3JlZiIsImluY2x1ZGVEb21haW5TaWdudXAiLCJqb2IiLCJjbGllbnQiLCJwcm9kdWN0IiwiaGFzQ2xpZW50IiwiY2xpZW50SGFzRG9tYWluIiwiaGFzU3RvcmUiLCJ0YWJzIiwibmVlZHNEcmFmdGluZyIsIl9vYmplY3RTcHJlYWQiLCJ0YWJzUHJvZHVjdFN1cHBsaWVyIiwiX3JlZjIiLCJpc0J1eVJlcXVlc3QiLCJuZWVkc1NoaXBwaW5nIiwidGFic0luaXQiLCJzZXR0aW5ncyIsIl9zZXR0aW5ncyRpc0J1eVJlcXVlcyIsImlzU3VwcGxpZXJNT0QiLCJPYmplY3QiLCJ2YWx1ZXMiXSwic291cmNlcyI6WyIuLi9zcmMvdGFic191dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1Byb2R1Y3RTdXBwbGllck1PRCwgdXNlckFkbWluRG9tYWlucyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgZmFBZGRyZXNzQ2FyZCxcbiAgZmFDaGVja0NpcmNsZSxcbiAgZmFDcmVkaXRDYXJkLFxuICBmYURyYWZ0aW5nQ29tcGFzcyxcbiAgZmFTaG9wcGluZ0NhcnQsXG4gIGZhU3RvcmUsXG4gIGZhVGh1bWJzVXAsXG4gIGZhVHJ1Y2ssXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBNZXJjaGlDaGVja291dFRhYiB9IGZyb20gJy4vdHlwZXMnO1xuXG5mdW5jdGlvbiBtYWtlVGFiRGF0YShpY29uOiBhbnksIGlkOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHtcbiAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICBpY29uLFxuICAgIGlkLFxuICAgIHRpdGxlLFxuICB9IGFzIE1lcmNoaUNoZWNrb3V0VGFiO1xufVxuXG5leHBvcnQgY29uc3QgdGFiSWRDdXN0b21lckluZm8gPSAnY3VzdG9tZXInO1xuZXhwb3J0IGNvbnN0IHRhYkN1c3RvbWVySW5mbyA9IG1ha2VUYWJEYXRhKFxuICBmYUFkZHJlc3NDYXJkLFxuICB0YWJJZEN1c3RvbWVySW5mbyxcbiAgJ0N1c3RvbWVyJ1xuKTtcbmV4cG9ydCBjb25zdCB0YWJJZFNoaXBtZW50ID0gJ3NoaXBtZW50JztcbmV4cG9ydCBjb25zdCB0YWJTaGlwbWVudCA9IG1ha2VUYWJEYXRhKGZhVHJ1Y2ssIHRhYklkU2hpcG1lbnQsICdBZGRyZXNzJyk7XG5leHBvcnQgY29uc3QgdGFiSWRDb25maXJtID0gJ2NvbmZpcm0nO1xuZXhwb3J0IGNvbnN0IHRhYkNvbmZpcm0gPSBtYWtlVGFiRGF0YShmYVNob3BwaW5nQ2FydCwgdGFiSWRDb25maXJtLCAnQ29uZmlybScpO1xuZXhwb3J0IGNvbnN0IHRhYk1PRENvbmZpcm0gPSBtYWtlVGFiRGF0YShcbiAgZmFDaGVja0NpcmNsZSxcbiAgdGFiSWRDb25maXJtLFxuICAnQ29uZmlybSdcbik7XG5leHBvcnQgY29uc3QgdGFiSWRQYXltZW50ID0gJ3BheW1lbnQnO1xuZXhwb3J0IGNvbnN0IHRhYlBheW1lbnQgPSBtYWtlVGFiRGF0YShmYUNyZWRpdENhcmQsIHRhYklkUGF5bWVudCwgJ0NoZWNrb3V0Jyk7XG5leHBvcnQgY29uc3QgdGFiSWRDb21wbGV0ZSA9ICdjb21wbGV0ZSc7XG5leHBvcnQgY29uc3QgdGFiQ29tcGxldGVRdW90ZSA9IG1ha2VUYWJEYXRhKFxuICBmYVRodW1ic1VwLFxuICB0YWJJZENvbXBsZXRlLFxuICAnU3VibWl0dGVkJ1xuKTtcbmV4cG9ydCBjb25zdCB0YWJDb21wbGV0ZSA9IG1ha2VUYWJEYXRhKGZhVGh1bWJzVXAsIHRhYklkQ29tcGxldGUsICdDb21wbGV0ZScpO1xuXG5pbnRlcmZhY2UgVGFic1Byb2R1Y3RNT0Qge1xuICBpbmNsdWRlRG9tYWluU2lnbnVwPzogYm9vbGVhbjtcbiAgam9iOiBhbnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJzUHJvZHVjdE1PRCh7XG4gIGluY2x1ZGVEb21haW5TaWdudXAsXG4gIGpvYixcbn06IFRhYnNQcm9kdWN0TU9EKSB7XG4gIGNvbnN0IHsgY2xpZW50LCBwcm9kdWN0IH0gPSBqb2I7XG4gIGNvbnN0IGhhc0NsaWVudCA9IGNsaWVudCAmJiAoY2xpZW50IGFzIGFueSkuaWQgPiAwO1xuICBjb25zdCBjbGllbnRIYXNEb21haW4gPSBjbGllbnQgJiYgY2xpZW50Lmhhc1N0b3JlO1xuICBjb25zdCB0YWJzID0ge30gYXMgYW55O1xuICBjb25zdCB7IG5lZWRzRHJhZnRpbmcgfSA9IHByb2R1Y3Q7XG4gIC8vIGlmIHRoZSBjdXJyZW50IHVzZXIgZG9lc24ndCBoYXZlIGFuIGFjY291bnQgYXNrIHRoZW0gdG8gc2lnbiB1cFxuICBpZiAoIWhhc0NsaWVudCkge1xuICAgIHRhYnNbdGFiSWRDdXN0b21lckluZm9dID0gbmVlZHNEcmFmdGluZ1xuICAgICAgPyB0YWJDdXN0b21lckluZm9cbiAgICAgIDogeyAuLi50YWJDdXN0b21lckluZm8sIGRpc2FibGVkOiBmYWxzZSB9O1xuICB9XG4gIC8vIGlmIHRoZSBjdXJyZW50IHVzZXIgZG9lc24ndCBoYXZlIGRvbWFpbiBhc2sgdGhlbSB0byBtYWtlIGEgZG9tYWluXG4gIC8vIGlmICghY2xpZW50SGFzRG9tYWluICYmIGluY2x1ZGVEb21haW5TaWdudXApIHtcbiAgLy8gICB0YWJzW3RhYklkTmV3RG9tYWluXSA9XG4gIC8vICAgICBoYXNDbGllbnQgP1xuICAvLyAgICAgICB7Li4udGFiTmV3RG9tYWluLCBkaXNhYmxlZDogbmVlZHNEcmFmdGluZ30gOlxuICAvLyAgICAgICB0YWJOZXdEb21haW47XG4gIC8vIH1cbiAgdGFic1t0YWJJZENvbmZpcm1dID0gdGFiTU9EQ29uZmlybTtcbiAgdGFic1t0YWJJZENvbXBsZXRlXSA9IHRhYkNvbXBsZXRlUXVvdGU7XG4gIHJldHVybiB0YWJzO1xufVxuXG5pbnRlcmZhY2UgVGFic1Byb2R1Y3RTdXBwbGllciB7XG4gIGluY2x1ZGVEb21haW5TaWdudXA/OiBib29sZWFuO1xuICBpc0J1eVJlcXVlc3Q6IGJvb2xlYW47XG4gIGpvYjogYW55O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFic1Byb2R1Y3RTdXBwbGllcih7XG4gIGluY2x1ZGVEb21haW5TaWdudXAsXG4gIGpvYixcbiAgaXNCdXlSZXF1ZXN0LFxufTogVGFic1Byb2R1Y3RTdXBwbGllcikge1xuICBjb25zdCB7IGNsaWVudCwgcHJvZHVjdCB9ID0gam9iO1xuICBjb25zdCB0YWJzID0ge30gYXMgYW55O1xuICBjb25zdCBoYXNDbGllbnQgPSBjbGllbnQgJiYgKGNsaWVudCBhcyBhbnkpLmlkID4gMDtcbiAgY29uc3QgeyBuZWVkc0RyYWZ0aW5nLCBuZWVkc1NoaXBwaW5nIH0gPSBwcm9kdWN0O1xuICAvLyBpZiB0aGUgY3VycmVudCB1c2VyIGRvZXNuJ3QgaGF2ZSBhbiBhY2NvdW50IGFzayB0aGVtIHRvIHNpZ24gdXBcbiAgdGFic1t0YWJJZEN1c3RvbWVySW5mb10gPVxuICAgIG5lZWRzRHJhZnRpbmdcbiAgICAgID8gdGFiQ3VzdG9tZXJJbmZvXG4gICAgICA6IHsgLi4udGFiQ3VzdG9tZXJJbmZvLCBkaXNhYmxlZDogZmFsc2UgfTtcbiAgaWYgKG5lZWRzU2hpcHBpbmcpIHtcbiAgICB0YWJzW3RhYklkU2hpcG1lbnRdID0ge1xuICAgICAgLi4udGFiU2hpcG1lbnQsXG4gICAgICBkaXNhYmxlZDogIWhhc0NsaWVudCB8fCBuZWVkc0RyYWZ0aW5nLFxuICAgIH07XG4gIH1cbiAgdGFic1t0YWJJZENvbmZpcm1dID0ge1xuICAgIC4uLnRhYkNvbmZpcm0sXG4gICAgZGlzYWJsZWQ6ICFoYXNDbGllbnQgfHwgbmVlZHNEcmFmdGluZyB8fCBuZWVkc1NoaXBwaW5nLFxuICB9O1xuICBpZiAoaXNCdXlSZXF1ZXN0KSB7XG4gICAgdGFic1t0YWJJZFBheW1lbnRdID0gdGFiUGF5bWVudDtcbiAgICB0YWJzW3RhYklkQ29tcGxldGVdID0gdGFiQ29tcGxldGU7XG4gIH0gZWxzZSB7XG4gICAgdGFic1t0YWJJZENvbXBsZXRlXSA9IHRhYkNvbXBsZXRlUXVvdGU7XG4gIH1cbiAgcmV0dXJuIHRhYnM7XG59XG5cbmludGVyZmFjZSBUYWJzSW5pdCB7XG4gIGluY2x1ZGVEb21haW5TaWdudXA/OiBib29sZWFuO1xuICBpc0J1eVJlcXVlc3Q/OiBib29sZWFuO1xuICBqb2I6IGFueTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRhYnNJbml0KHNldHRpbmdzOiBUYWJzSW5pdCkge1xuICBjb25zdCB7XG4gICAgaW5jbHVkZURvbWFpblNpZ251cCxcbiAgICBpc0J1eVJlcXVlc3QgPSBmYWxzZSxcbiAgICBqb2IsXG4gIH0gPSBzZXR0aW5ncztcbiAgY29uc3QgeyBwcm9kdWN0IH0gPSBqb2I7XG4gIGNvbnN0IGlzU3VwcGxpZXJNT0QgPSBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0KTtcbiAgaWYgKGlzU3VwcGxpZXJNT0QpIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhcbiAgICAgIHRhYnNQcm9kdWN0TU9EKHsgaW5jbHVkZURvbWFpblNpZ251cCwgam9iIH0pXG4gICAgKTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhcbiAgICB0YWJzUHJvZHVjdFN1cHBsaWVyKHtcbiAgICAgIGluY2x1ZGVEb21haW5T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