PageSourceSearch

https://s1.48hourprint.com/assets/scripts_min/angular_app/sms-homepage.min.js

js 48hourprint.com collected 2026-10-03 22:11:49 UTC 15,820 bytes, 2 lines download raw bytes

1/*! up-static 2026-09-25 */
2!function(){"use strict";angular.module("48HourprintApp").requires.push("siteCommon"),angular.module("siteCommon",[])}(),function(){function a(){function a(a,b,c,d){d.$parsers.push(function(a){if(void 0==a)return"";var b=a.toString().replace(/[^0-9]/g,"");return b!=a&&(d.$setViewValue(b),d.$render()),b})}return{restrict:"A",link:a,require:"ngModel"}}angular.module("siteCommon").directive("numberOnly",a)}(),function(){angular.module("siteCommon").filter("htmldecode",[function(){return function(a){if(a){var b=document.createElement("div");return b.innerHTML=a,b.childNodes[0].nodeValue}}}])}(),function(){angular.module("siteCommon").filter("trusted",["$sce",function(a){return function(b){return a.trustAsHtml(b)}}])}(),function(){angular.module("siteCommon").filter("number",[function(){return function(a){return isNaN(a)?a:Number(a)}}])}(),function(){function a(a){function b(b,c,d,e){if(!d.ngTrim||"true"==d.ngTrim)throw"ng-trim='false' not set.";var f;e.$parsers.push(function(b){var d=b,g=d.replace(/\D/gi,"");return g=10!=g.length?g:"("+g.substr(0,3)+") "+g.substr(3,3)+"-"+g.substr(6),f&&a.cancel(f),f=a(function(){e.$setViewValue(g),c.val(g)}),g})}return{restrict:"A",link:b,require:"ngModel"}}angular.module("siteCommon").directive("formatPhone",a),a.$inject=["$timeout"]}(),function(){function a(){return{restrict:"A",link:function(a,b,c){var d=c.elementClicker.split("|"),e=d[0],f=d[1];b.on("click",function(a){switch(f){case"enter":var a=$.Event("keyup",{which:13});$("#"+e).trigger(a);break;case"submit":$("#"+e).submit();break;case"dblclick":a.preventDefault(),a.stopPropagation(),$("#"+e).click().click();break;case"click":a.preventDefault(),a.stopPropagation(),$("#"+e).click()}})}}}function b(){function a(a,b,c){c.showBackdrop}return{restrict:"A",link:a}}function c(){function a(a,b,c){var d=c.toggleElementDisplay,e="ontouchstart"in document.documentElement;a.timer=null,a.isVisible=!1,a.showElement=function(){a.timer=setTimeout(function(){$(d).show(),$(b).addClass("active"),$(".comp-page-backdrop").show(),$(b).css({"z-index":3e3}),$(d).css({"z-index":3e3})},300)},a.hideElement=function(){clearTimeout(a.timer),$(d).hide(),$(b).removeClass("active"),$(".comp-page-backdrop").hide(),$(b).css({"z-index":1})},e?(b.on("click",function(){1==a.isVisible?($(d).hide(),$(b).removeClass("active"),$(".comp-page-backdrop").hide(),$(b).css({"z-index":1}),a.isVisible=!1):($(d).show(),$(b).addClass("active"),$(".comp-page-backdrop").show(),$(b).css({"z-index":3e3}),$(d).css({"z-index":3e3}),a.isVisible=!0)}),$(".comp-page-backdrop").mousedown(function(){$(d).hide(),$(b).removeClass("active"),$(b).css({"z-index":1}),a.isVisible=!1})):(b.on("mouseenter",function(){a.showElement()}),b.on("mouseleave",function(){a.hideElement()}),b.on("focusout",function(c){document.getElementById(b[0].id).contains(c.relatedTarget)||a.hideElement()}),b.on("keydown",function(c){a.isVisible=b.hasClass("active");var d=[9,13,27],e=[13],f=[13,27],g=-1!=d.indexOf(c.keyCode),h=-1!=e.indexOf(c.keyCode),i=-1!=f.indexOf(c.keyCode);g&&(a.isVisible&&i?(a.isVisible=!1,a.hideElement()):!a.isVisible&&h&&(a.isVisible=!0,a.showElement()))}))}return{restrict:"A",link:a}}function d(){return function(a,b,c){b.bind("keydown keypress",function(b){13===b.which&&(a.$apply(function(){a.$eval(c.ngEnter)}),b.preventDefault())})}}angular.module("siteCommon").directive("toggleElementDisplay",c).directive("showBackdrop",b).directive("elementClicker",a).directive("ngEnter",d)}(),function(){function a(a,b,c){function d(d,e,f){var g,h,i,j;return b=angular.element(b),i=0,null!=f.infiniteScrollDistance&&d.$watch(f.infiniteScrollDistance,function(a){return i=parseInt(a,10)}),j=!0,g=!1,null!=f.infiniteScrollDisabled&&d.$watch(f.infiniteScrollDisabled,function(a){if((j=!a)&&g)return g=!1,h()}),h=function(){var c,h,k,l;return l=b.height()+b.scrollTop(),c=e.offset().top+e.height(),h=c-l,k=h<=b.height()*i,k&&j?a.$$phase?d.$eval(f.infiniteScroll):d.$apply(f.infiniteScroll):k?g=!0:void 0},b.on("scroll",h),d.$on("$destroy",function(){return b.off("scroll",h)}),c(function(){return f.infiniteScrollImmediateCheck?d.$eval(f.infiniteScrollImmediateCheck)?h():void 0:h()},0)}return{restrict:"A",link:d}}angular.module("siteCommon").directive("infiniteScroll",a),a.$inject=["$rootScope","$
2window","$timeout"]}(),function(){function a(a,b,c){function d(b,d,e,f){b.textAccessibilityService=c,b.element=d[0];var g=new CustomDropdownLibrary.CustomDropdownLibrary,h=g.prepareFormDropdowns(b.element);b.$on("$destroy",function(){for(var a=0;a<h.length;a++)g.destroyElement(h[a]);g=null}),b.setSelectedValue=function(a){-1==a.toString().toLowerCase().indexOf("custom")&&(b.selectedValue=a),b.triggered=!0,b.$emit("change",a)},b.setSelectedValueOnKeyDown=function(a,c){13==a.keyCode&&(a.preventDefault(),b.setSelectedValue(c))},b.customDropDownLibrary=g,a.$on("showNav",function(a,c){if(c){var d={};document.createEvent?(d=document.createEvent("MouseEvent"),d.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null)):d=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}),b.element.parentNode.dispatchEvent(d),b.customDropDownLibrary.hideDropdownEventHandler(b.element.parentNode)}}),b.emitFocus=function(){b.$emit("touched",!0)},b.getGroupClass=function(a){var b=!1;return angular.forEach(a,function(a,c){a.option_group&&(b=!0)}),b?"site-dropdown-group":""}}return{restrict:"E",link:d,scope:{options:"=",activeOption:"=",triggered:"=?",attributeId:"=?"},template:'<div class="site-dropdown dropdown" ng-class="getGroupClass(options)"><button class="dropdown-toggle val-wrap" aria-haspopup="listbox" ng-class="{active : triggered}" type="button" ng-click="emitFocus()" aria-label="{{textAccessibilityService.makeTextScreenReaderReadable(activeOption.value) + (activeOption.label ? \' \' + activeOption.label : \'\') }}"><span class="icon" ng-if="activeOption.icon"><img ng-src="{{activeOption.icon}}" alt="{{activeOption.altText}}"></span><div class="dropdown-toggle-label-icon-container"><span class="dropdown-toggle-label val" title="{{activeOption.value | htmldecode}}"><span class="dropdown-toggle-label-title" ng-class="{\'has-subtitle\': activeOption.label}">{{ activeOption.value | htmldecode }}</span><span class="dropdown-menu-link-subtitle val" ng-if="activeOption.label">{{activeOption.label | htmldecode}}</span></span><i class="fehp-arrow-bottom" aria-hidden="true"></i></div></button><ul class="dropdown-menu" role="listbox" tabindex="-1"><li class="dropdown-menu-item {{option.option_group_class}}" role="option" tabindex="0" ng-repeat="(key, option) in options" ng-class="{\'selected\': option.selected}" ng-click="setSelectedValue(option.key)" ng-keydown="setSelectedValueOnKeyDown($event, option.key)"><a class="dropdown-menu-link val-wrap" role="menuitem" ng-if="!option.option_group"><span class="icon" ng-if="option.icon"><img ng-src="{{option.icon}}" alt="{{option.altText}}"></span><span class="dropdown-toggle-label-icon-container"><span class="dropdown-menu-link-title val" aria-label="{{textAccessibilityService.makeTextScreenReaderReadable(option.val)}}">{{option.val | htmldecode}}</span><span class="dropdown-menu-link-subtitle val" ng-if="option.label">{{option.label | htmldecode}}</span></span></a><i class="dropdown-menu-selected-icon fehp-checkmark" aria-hidden="true" ng-if="option.selected"></i></li></ul></div>'}}angular.module("siteCommon").directive("customDropdown",a),a.$inject=["$rootScope","$window","textAccessibilityService"]}(),angular.module("siteCommon").service("PreviewService",["AjaxService",function(a){var b={};return b.getPreviewFromServer=function(b){var c="json"==b.design_type?"POST":"GET",d="template"==b.design_type?design_api_url:print_api_url;return a.call(d+"/getPreview/"+preview_token,c,b)},b.getPreviewKey=function(a){var b="template"==a.design_type?a.template_id:a.design_id;return a.design_type+"_"+b+"_"+a.preview_profile_code+"_"+a.page_no+"_"+a.theme_id+"_"+a.stage_id+"_"+a.size_id},b}]),function(){function a(a,b,c){function d(a){var b=c.defer(),d=[];for(var f in a)if(-1==h.indexOf(f)){var g=a[f],i=e(f,g);d.push(i)}return d.length?c.all(d).then(function(a){b.resolve(!0)}):b.resolve(!0),b.promise}function e(d,e){return c(function(c,f){b.get(e,{cache:!0}).then(function(b){var e=b.data;a.put(d,e),h.push(d),c(!0)},function(a){f(a)})})}function f(a){return g[a]?g[a]:null}var g={"grid/standard.html":website_config.site_url+"/html/angular-app/modules/sm
2s-product/directives/calculator/grid/standard.directive.html"+website_config.site_version,"list/standard.html":website_config.site_url+"/html/angular-app/modules/sms-product/directives/calculator/list/standard.directive.html"+website_config.site_version,"multi-calc-switch.html":website_config.site_url+"/html/angular-app/modules/sms-product/directives/calculator/multi-calc-switch.directive.html"+website_config.site_version,"multi-calc-dropdown.html":website_config.site_url+"/html/angular-app/modules/sms-product/directives/calculator/multicalc-switch-dropdown.directive.html"+website_config.site_version,"multi-calc-box.html":website_config.site_url+"/html/angular-app/modules/sms-product/directives/calculator/multicalc-switch-box.directive.html"+website_config.site_version,"calculator-price.html":website_config.site_url+"/html/angular-app/modules/sms-product/directives/calculator/calculator-price.directive.html"+website_config.site_version},h=[];return{getTemplate:d,getTemplatePath:f}}angular.module("siteCommon").factory("siteTemplateCache",a),a.$inject=["$templateCache","$http","$q"]}(),function(){function a(){function a(a){var c=a;if(a)for(var d in b.textAccessibilityDictionary)if(b.textAccessibilityDictionary.hasOwnProperty(d)){var e=new RegExp(d,"g");c=c.replace(e,function(a){return b.textAccessibilityDictionary[d].replaceOnly?a.replace(b.textAccessibilityDictionary[d].replaceOnly,b.textAccessibilityDictionary[d].replaceWith):b.textAccessibilityDictionary[d].replaceWith})}return c}this.textAccessibilityDictionary={'"':{replaceWith:" inch"}," pt.":{replaceWith:" point"}," x ":{replaceWith:" by "},"[0-9]x[0-9]":{replaceOnly:"x",replaceWith:" by "}};var b=this;return{makeTextScreenReaderReadable:a}}angular.module("siteCommon").factory("textAccessibilityService",a),a.$inject=[]}(),function(){"use strict";angular.module("48HourprintApp").requires.push("smsHomepage"),angular.module("smsHomepage",[])}(),function(){function a(a,b,c){function d(){if("undefined"!=typeof CookieService){var b=CookieService.readCookie(c.config.auth.act_field),d={};b&&(d={headers:{Authorization:"Bearer "+b}});var e=c.config.portal_api+"/buy-again-list?website_code="+c.config.website_code;return a.get(e,d)}}function e(a,b){if("undefined"!=typeof AppCrossStorageService){var c=new AppCrossStorageService({});c.model.storage.onConnect().then(function(){return c.model.storage.set(a,b),!0})}}function f(a){var b=new Date;return b.setHours(b.getHours()+parseInt(a)),timestamp=Math.round(b.getTime()/1e3),timestamp}function g(a){return new Promise(function(b,c){b(("undefined"!=typeof Storage?localStorage:null).getItem(a))})}function h(a){if("undefined"!=typeof AppCrossStorageService){var b=new AppCrossStorageService({});b.model.storage.onConnect().then(function(){return b.model.storage.del(a),!0})}}return{setLocalStorage:e,getTimestamp:f,getLocalStorage:g,clearLocalStorageWithExpiration:h,getBuyAgainOrders:d}}angular.module("smsHomepage").service("BuyAgainService",a),a.$inject=["$http","$window","$rootScope"]}(),function(){function a(a,b,c,d,e){function f(){function a(a){var b=$(a.currentTarget).find("a").attr("href");b&&(window.location.href=b),void 0!==window.ABTest&&window.ABTest.pushEvent({type:"event",eventName:"homepage_item_click",tags:{revenue:0,value:0}})}function f(a){setTimeout(function(){b.$broadcast("buyAgainVar",a)},500)}function g(a){setTimeout(function(){b.$broadcast("buyAgainData",a)},500)}b.slick_config_models={},b.actions={redirect:a,triggerVariation:f},b.states={};var h=d.getTimestamp(0),i=c.config.buy_again,j={storage_key:i.storage_key,timeout_storage_key:i.timeout_storage_key,expires_in:i.expires_in},k=e.parseAccessTokenData();if(!k||"REPEAT"!=k.data.customer_type||window.innerWidth<992)return!1;d.getLocalStorage(j.timeout_storage_key).then(function(a){a&&h<a?d.getLocalStorage(j.storage_key).then(function(a){if(!a)return!1;var b=JSON.parse(a);b.items.length>0&&(void 0!==window.ABTest&&window.ABTest.pushEvent({type:"page",pageName:c.config.buy_again.optimizely_page_name}),g(b))}):d.getBuyAgainOrders().then(function(a){if(200==a.status){if(!a.data&&!a.data.items)return!1;a.data.items.length>0&&(void 0!==window.ABTest&&window.ABTest.pushEvent({type:"page",pageName:c.config.buy_again.optimizely_page_name}),g(a.data));var b=d.getTimestamp(j.expires_in);d.setLocalStorage(j.timeout_storage_key,b),d.setLocalStorage(j.storage_key,JSON.stringify(a.data))}})})}f()}
2angular.module("smsHomepage").controller("HomepageController",a),a.$inject=["$http","$scope","$rootScope","BuyAgainService","AuthService"]}(),function(){function a(a,b,c){function d(b,d){function e(a){return a.charAt(0).toUpperCase()+a.slice(1)}b.isEnabled=!1,b.customerData=c.parseAccessTokenData(),b.previewOrigin=a.config.preview_url,b.$on("buyAgainVar",function(a,c){void 0!==c&&2==c&&setTimeout(function(){b.$apply(function(){b.isEnabled=!0})})}),b.$on("buyAgainData",function(a,c){void 0!==c&&(setTimeout(function(){b.$apply(function(){b.buyAgainData=c})}),b.userFirstName=e(b.customerData.data.first_name))}),b.getFlyoutElements=function(){b.flyoutContent=document.getElementById("flyout_content"),b.flyoutSalutation=document.getElementById("flyout_salutation")},b.showBuyAgainProducts=function(){b.flyoutContent.classList.add("active"),b.flyoutSalutation.classList.remove("active")},b.closeBuyAgainProducts=function(){b.flyoutContent.classList.remove("active")},b.redirectToOrderItemLevel=function(b,c){void 0!==window.ABTest&&window.ABTest.pushEvent({type:"event",eventName:"buy_again_item_click",tags:{revenue:0,value:0}}),window.location.href=a.config.account_orders_client+"/order/"+b+"/item/"+c}}return{restrict:"E",link:d,scope:{},templateUrl:a.config.site_url+"/html/angular-app/modules/sms-homepage/directives/buy-again-flyout.directive.html"+website_config.site_version}}angular.module("smsHomepage").directive("buyAgainFlyout",a),a.$inject=["$rootScope","$http","AuthService"]}(),function(){function a(a,b,c){function d(b,c){b.isEnabled=!1,b.previewOrigin=a.config.preview_url,b.$on("buyAgainVar",function(a,c){void 0!==c&&1==c&&setTimeout(function(){b.$apply(function(){b.isEnabled=!0})})}),b.$on("buyAgainData",function(a,c){void 0!==c&&(setTimeout(function(){b.$apply(function(){b.buyAgainData=c})}),b.initCarousel())}),b.redirectToOrderItemLevel=function(b,c){void 0!==window.ABTest&&window.ABTest.pushEvent({type:"event",eventName:"buy_again_item_click",tags:{revenue:0,value:0}}),window.location.href=a.config.account_orders_client+"/order/"+b+"/item/"+c},b.initCarousel=function(a){setTimeout(function(){$(".js-buy-again-carousel .js-owl-item-dummy").each(function(){var a=$(this).contents();$(this).replaceWith(a)}),$(".js-buy-again-carousel .js-carousel-container").each(function(){var a=$(this).contents();$(this).replaceWith(a)}),angular.element(c[0].querySelector(".js-buy-again-carousel")).owlCarousel({navText:['<i class="fehp-arrow-left-in-circle" aria-hidden="true"></i>','<i class="fehp-arrow-right-in-circle" aria-hidden="true"></i>'],margin:22,items:2,slideBy:1,nav:!0,dots:!0,lazyLoad:!0,loop:b.buyAgainData.items.length>1})},100)}}return{restrict:"E",link:d,scope:{},templateUrl:a.config.site_url+"/html/angular-app/modules/sms-homepage/directives/buy-again-carousel.directive.html"+website_config.site_version}}angular.module("smsHomepage").directive("buyAgainCarousel",a),a.$inject=["$rootScope","$window","$http"]}();

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.