PageSourceSearch

https://gotenna.com/cdn/shop/t/74/assets/5.js?v=8732d3c052e38461ad9d&ver=8732d3c052e38461ad9d

js gotenna.com collected 2026-09-24 17:52:25 UTC 10,636 bytes, 2 lines download raw bytes

1(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{
1"./src/assets/ts/directives/add-to-cart.directive.ts":(function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AddToCart", function() { return AddToCart; });\n/* harmony import */ var gsap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! gsap */ "./node_modules/gsap/index.js");\n/* harmony import */ var autobind_decorator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! autobind-decorator */ "./node_modules/autobind-decorator/lib/esm/index.js");\n/* harmony import */ var lit_html__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lit-html */ "./node_modules/lit-html/lit-html.js");\n/* harmony import */ var _utilities_Ohm_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utilities/Ohm/core */ "./src/assets/ts/utilities/Ohm/core/index.ts");\n/* harmony import */ var _managers_CartManager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../managers/CartManager */ "./src/assets/ts/managers/CartManager.ts");\n/* harmony import */ var _utilities_ShopifyUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utilities/ShopifyUtils */ "./src/assets/ts/utilities/ShopifyUtils.ts");\nvar _templateObject;\n\nfunction _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {\n  var c = arguments.length,\n      r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n      d;\n  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n    if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n  }\n  return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\nvar __metadata = undefined && undefined.__metadata || function (k, v) {\n  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\nvar AddToCart = /*#__PURE__*/function (_Directive) {\n  _inheritsLoose(AddToCart, _Directive);\n\n  function AddToCart(host) {\n    var _this;\n\n    _this = _Directive.call(this, host) || this;\n    _this.host = host;\n    _this.addingText = \'Adding...\'; //#endregion\n\n    _this.defaultText = _this.host.textContent;\n    _this.cartManager = _managers_CartManager__WEBPACK_IMPORTED_MODULE_4__["CartManager"].getInstance();\n    _this.cartBanner = document.querySelector(\'.cartBanner\');\n    _this.productHolder = _this.cartBanner.querySelector(\'.cartBanner__productHolder\');\n    _this.qtyHolder = _this.cartBanner.querySelector(\'.cartBanner__qtyValue\');\n\n    _this.productTemplate = function (item) {\n      return Object(lit_html__WEBPACK_IMPORTED_MODULE_2__["html"])(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\\n    <div class=\\"cartBanner__product\\">\\n      <div class=\\"cartBanner__product-media\\">\\n        <img src=\\"", "\\" alt=\\"", "\\"/>\\n      </div>\\n      <div class=\\"cartBanner__product-info\\">\\n        <span class=\\"cartBanner__product-title\\">", "</span>\\n        <span class=\\"cartBanner__product-tags\\">", "</span>\\n      </div>\\n    </div>\\n  "])), Object(_utilities_ShopifyUtils__WEBPACK_IMPORTED_MODULE_5__["imgURL"])(item.image, \'70x70\'), item.title, item.title, item.variant_options.filter(function (x) {\n        return x !== \'Default Title\';\n      }).join(\' | \'));\n    };\n\n    _this.bindEvents();\n\n    return _this;\n  }\n\n  var _proto = AddToCart.prototype;\n\n  _proto.bindEvents = function bindEvents() {\n    this.host.addEventListener(\'click\', this.onClick);\n  };
1\n\n  _proto.onClick = function onClick() {\n    var id = this.id; // Prevent jump\n\n    gsap__WEBPACK_IMPORTED_MODULE_0__["default"].set(this.host, {\n      width: this.host.offsetWidth\n    });\n    this.host.textContent = this.addingText;\n    this.host.disabled = true;\n    this.cartManager.add(id, 1, {}, true).then(this.onAddCallback);\n  };\n\n  _proto.onAddCallback = function onAddCallback(data) {\n    this.host.textContent = this.defaultText;\n    this.host.disabled = false;\n    this.host.removeAttribute(\'style\');\n    this.updateBanner(data.items[0]);\n    this.peek(3);\n  };\n\n  _proto.updateBanner = function updateBanner(item) {\n    this.renderProductTemplate(item);\n    this.updateQTY(item);\n  };\n\n  _proto.renderProductTemplate = function renderProductTemplate(item) {\n    Object(lit_html__WEBPACK_IMPORTED_MODULE_2__["render"])(this.productTemplate(item), this.productHolder);\n  };\n\n  _proto.updateQTY = function updateQTY(item) {\n    this.qtyHolder.textContent = "" + item.quantity;\n  };\n\n  _proto.open = function open() {\n    var child = this.cartBanner.querySelectorAll(\'.cartBanner__text, .cartBanner__productHolder, .cartBanner__right\');\n    this.cartBanner.classList.add(\'cartBanner--ready\');\n    gsap__WEBPACK_IMPORTED_MODULE_0__["default"].set(this.cartBanner, {\n      pointerEvents: \'all\'\n    });\n    gsap__WEBPACK_IMPORTED_MODULE_0__["default"].to(this.cartBanner, {\n      y: 0,\n      duration: 1,\n      ease: \'power4.out\'\n    });\n    gsap__WEBPACK_IMPORTED_MODULE_0__["default"].to(child, {\n      autoAlpha: 1,\n      y: 0,\n      stagger: 0.1,\n      duration: 1,\n      ease: \'power4.out\'\n    });\n  };\n\n  _proto.close = function close() {\n    var _this2 = this;\n\n    var child = this.cartBanner.querySelectorAll(\'.cartBanner__text, .cartBanner__productHolder, .cartBanner__right\');\n    this.cartBanner.classList.remove(\'cartBanner--ready\');\n    gsap__WEBPACK_IMPORTED_MODULE_0__["default"].set(this.cartBanner, {\n      pointerEvents: \'none\'\n    });\n    gsap__WEBPACK_IMPORTED_MODULE_0__["default"].to(child, {\n      autoAlpha: 0,\n      y: -100,\n      stagger: 0.1,\n      duration: 0.5,\n      ease: \'power4.in\'\n    });\n    gsap__WEBPACK_IMPORTED_MODULE_0__["default"].to(this.cartBanner, {\n      y: -this.cartBanner.offsetHeight,\n      duration: .7,\n      ease: \'power4.in\',\n      onComplete: function onComplete() {\n        _this2.cartBanner.removeAttribute(\'style\');\n      }\n    });\n  };\n\n  _proto.peek = function peek(duration) {\n    if (duration === void 0) {\n      duration = 5;\n    }\n\n    this.open();\n    clearTimeout(this.closeTimer);\n    this.closeTimer = window.setTimeout(this.close, duration * 1000);\n  };\n\n  return AddToCart;\n}(_utilities_Ohm_core__WEBPACK_IMPORTED_MODULE_3__["Directive"]);\nAddToCart.selector = \'[add-to-cart]\';\n\n__decorate([Object(_utilities_Ohm_core__WEBPACK_IMPORTED_MODULE_3__["HostAttr"])(\'#add-to-cart\'), __metadata("design:type", Number)], AddToCart.prototype, "id", void 0);\n\n__decorate([Object(_utilities_Ohm_core__WEBPACK_IMPORTED_MODULE_3__["HostAttr"])(\'adding-text\'), __metadata("design:type", String)], AddToCart.prototype, "addingText", void 0);\n\n__decorate([autobind_decorator__WEBPACK_IMPORTED_MODULE_1__["default"], __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0)], AddToCart.prototype, "onClick", null);\n\n__decorate([autobind_decorator__WEBPACK_IMPORTED_MODULE_1__["default"], __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0)], AddToCart.prototype, "onAddCallback", null);\n\n__decorate([autobind_decorator__WEBPACK_IMPORTED_MODULE_1__["default"], __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0)], AddToCart.prototype, "close", null);\n\n//# sourceURL=webpack:///./src/assets/ts/directives/add-to-cart.directive.ts?')}),
1"./src/assets/ts/utilities/ShopifyUtils.ts":(function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatMoney\", function() { return formatMoney; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"imgURL\", function() { return imgURL; });\nfunction formatMoney(cents, format) {\n  if (format === void 0) {\n    format = '${{amount}}';\n  }\n\n  if (typeof cents == 'string') {\n    cents = ~~cents.replace('.', '');\n  }\n\n  var value = '';\n  var placeholderRegex = /\\{\\{\\s*(\\w+)\\s*\\}\\}/;\n  var formatString = format || this.money_format;\n\n  function formatWithDelimiters(number, precision, thousands, decimal) {\n    if (precision === void 0) {\n      precision = 2;\n    }\n\n    if (thousands === void 0) {\n      thousands = ',';\n    }\n\n    if (decimal === void 0) {\n      decimal = '.';\n    }\n\n    var sNumber = (number / 100.0).toFixed(precision);\n    var parts = sNumber.split('.'),\n        dollars = parts[0].replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, '$1' + thousands),\n        cents = parts[1] ? decimal + parts[1] : '';\n    return dollars + cents;\n  }\n\n  switch (formatString.match(placeholderRegex)[1]) {\n    case 'amount':\n      value = formatWithDelimiters(cents, 2);\n      break;\n\n    case 'amount_no_decimals':\n      value = formatWithDelimiters(cents, 0);\n      break;\n\n    case 'amount_with_comma_separator':\n      value = formatWithDelimiters(cents, 2, '.', ',');\n      break;\n\n    case 'amount_no_decimals_with_comma_separator':\n      value = formatWithDelimiters(cents, 0, '.', ',');\n      break;\n  }\n\n  return formatString.replace(placeholderRegex, value);\n}\nfunction imgURL(src, size) {\n  // remove any current image size then add the new image size\n  return src.replace(/_(pico|icon|thumb|small|compact|medium|large|grande|original|1024x1024|2048x2048|master)+\\./g, '.').replace(/\\.jpg|\\.png|\\.gif|\\.jpeg/g, function (match) {\n    return '_' + size + match;\n  });\n}\n\n//# sourceURL=webpack:///./src/assets/ts/utilities/ShopifyUtils.ts?")})
1}]);
2//# sourceMappingURL=/cdn/shop/t/74/assets/5.js.map?v=8732d3c052e38461ad9d&ver=8732d3c052e38461ad9d

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.