PageSourceSearch

https://www.ponoko.com/js/group-quote.5a6913fd.js

js ponoko.com collected 2026-10-02 11:06:20 UTC 215,451 bytes, 1 lines download raw bytes

1"use strict";(self["webpackChunkponoko_frontend_vue"]=self["webpackChunkponoko_frontend_vue"]||[]).push([[63],{4930:function(e,t,i){var s=i(62527),a=i(21114),n=(i(14564),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"b9207318",null);t.A=r.exports},3943:function(e,t,i){var s=i(52407);t.A={name:"BaseInternalButton",components:{BaseInternalBadge:s.A}}},56906:function(e,t,i){var s=i(46076),a=i(34090),n=(i(18879),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,null,null);t.A=r.exports},23055:function(e,t){t.A={name:"DesignFabricationSettingSwatch",props:{fill:{type:String,default:"",required:!1},stroke:{type:String,default:"",required:!1}},data(){return{}},computed:{hasFill(){return this.fill&&"none"!==this.fill},hasStroke(){return this.stroke&&"none"!==this.stroke}},methods:{},mounted(){},updated(){},beforeDestroy(){}}},16556:function(e,t,i){var s=i(28906),a=i(97198),n=(i(7309),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"607dc2c2",null);t.A=r.exports},47325:function(e,t,i){var s=i(95353),a=i(17334),n=i.n(a),r=i(93614),o=i(77522),l=i(77286);t.A={name:"PartRenderImage",props:{part:{type:Object,required:!0}},data(){return{displaySrc:null}},computed:{...(0,s.L8)(["unitPreference"]),apiThumbnailUrl(){return this.part?.thumbnail_url??null},renderIdentity(){const e=this.part,t=e?.configuration?.dimensions??{};return[e?.design?.id??"no-design",e?.material?.id??"NEUTRAL",e?.thickness?.mm??"n
1o-thickness",t.confirmed_width??"",t.confirmed_height??"",JSON.stringify(e?.configuration?.styles??[]),this.unitPreference].join("|")}},watch:{renderIdentity:"triggerRender",apiThumbnailUrl:"triggerRender"},created(){this._renderGeneration=0,this._localBlobUrl=null,this._intersectionObserver=null,this._priority=r.ex.NORMAL,this._scheduleUpload=n()(this.runUpload,500)},mounted(){this.setupIntersectionObserver()},beforeDestroy(){this._intersectionObserver&&(this._intersectionObserver.disconnect(),this._intersectionObserver=null),this._scheduleUpload?.clear?.(),this.cleanupLocalBlobUrl()},methods:{setupIntersectionObserver(){if("undefined"===typeof IntersectionObserver)return this._priority=r.ex.VISIBLE,void this.triggerRender();let e=!1;this._intersectionObserver=new IntersectionObserver(t=>{if(e)return;e=!0;const i=t[0];this._priority=i?.isIntersecting?r.ex.VISIBLE:r.ex.NORMAL,this.triggerRender(),this._intersectionObserver&&(this._intersectionObserver.disconnect(),this._intersectionObserver=null)}),this._intersectionObserver.observe(this.$el)},triggerRender(){const e=this.part?.thumbnail_url;if(e)return this.cleanupLocalBlobUrl(),void(this.displaySrc=e);this.localRender()},onImgError(){this.localRender()},async localRender(){const e=++this._renderGeneration,t=(0,o.vV)(this.part,this.unitPreference);try{const i=await r.Ay.render(this.part,{unit:this.unitPreference,priority:this._priority});if(e!==this._renderGeneration)return;this.cleanupLocalBlobUrl(),this._localBlobUrl=URL.createObjectURL(i),this.displaySrc=this._localBlobUrl,null!=t.designId&&this._scheduleUpload({...t,blob:i})}catch(i){if(e!==this._renderGeneration)return;console.error("PartRenderImage: failed to render thumbnail",i)}},async runUpload(e){try{await(0,l.Twk)(e)}catch(t){console.error("PartRenderImage: failed to upload thumbnail",t)}},cleanupLocalBlobUrl(){this._localBlobUrl&&(URL.revokeObjectURL(this._localBlobUrl),this._localBlobUrl=null)}}}},34448:function(e,t,i){var s=i(99609),a=i(25576),n=(i(86422),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"6be119dd",null);t.A=r.exports},50353:function(e,t,i){var s=i(77286),a=i(63519),n=i(66881),r=i(51022),o=i(65414);t.A={name:"QuoteAddressPicker",components:{QuoteStoredAddress:n.A,QuoteAddressInput
1:r.A,QuoteButton:o.A},data(){return{addresses:[],address:{},emptyAddress:{country:"US",name:"",company:"",addressLine1:"",addressLine2:"",phoneNumber:"",zip:"",stateProvince:"",city:"",errors:{}}}},mounted(){},props:{addressType:{type:String,required:!1,validator(e){return"shipping"===e||"billing"===e},default:()=>"shipping"},value:{type:Object,required:!1,default:()=>({})}},computed:{pickAddressModal(){return`pick${this.$options.filters.capitalize(this.addressType)}Address`},addAddressModal(){return`add${this.$options.filters.capitalize(this.addressType)}Address`}},methods:{async fetchAddresses(){this.address=this.value,this.addresses=await(0,s.IZv)(this.addressType),this.addresses=this.addresses.map(e=>(e.selected=e.id===this.address?.id,e)),1===this.addresses.length&&(this.addresses[0].selected=!0),this.addresses.length||this.switchToAddAddressModal()},async handleStoredAddressClick(e){},async selectAddress(e){e.needs_phone?this.editAddress(e):this.addresses=this.addresses.map(t=>(t.selected=t.id===e?.id,t))},async editAddress(e){this.address=(0,a.A)(e),this.validateAddress(),this.$modal.hide(this.pickAddressModal),this.$modal.show(this.addAddressModal)},async pickAddress(){const e=this.addresses.find(e=>e.selected);this.$emit("pickAddress",e),this.$modal.hide(this.pickAddressModal)},async switchToAddAddressModal(){this.address={...this.emptyAddress},this.$modal.hide(this.pickAddressModal),this.$modal.show(this.addAddressModal)},async switchToAddressPickerModal(){this.$modal.show(this.pickAddressModal),this.$modal.hide(this.addAddressModal)},async saveAddress(){const e=await this.validateAddress();if(e){const e=await(0,s.BTw)(this.address,this.addressType);this.$emit("pickAddress",e),this.$modal.hide(this.addAddressModal)}},async validateAddress(){this.$set(this.address,"errors",{});const e={name:"Full name is required.",addressLine1:"Address line 1 is required.",city:"City is required.",stateProvince:"State/Province is required.",zip:"Zip code is required.",phoneNumber:"Phone number is required."};if(Object.keys(e).forEach(t=>{this.address[t].trim()||this.$set(this.address.errors,t,e[t])}),"US"===this.address.country){const e=/^\d{5}(-\d{4})?$/;e.test(this.address.zip)||this.$set(this.address.errors,"zip","Zip code is invalid for the US.")}else{const e=/.*\S.*/;e.test(this.address.zip)||this.$set(this.address.errors,"zip","Zip code is required.")}if("US"===this.address.country){const e=this.address.phoneNumber.match(/\d/g)?.length||0;
1e<1?this.$set(this.address.errors,"phoneNumber","Phone number is required."):e<10&&this.$set(this.address.errors,"phoneNumber","Should be at least 10 digits.")}return!(Object.keys(this.address.errors).length>0)}}}},20547:function(e,t,i){var s=i(50984),a=i(45013),n=(i(84509),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"31c2c7fe",null);t.A=r.exports},78294:function(e,t,i){var s=i(63550),a=i(2513),n=i(56906),r=i(65414),o=i(85949),l=i(60801),c=i(25880),d=i(7273),u=i(30352),p=i(91529),h=i(95353);t.A={name:"ConfigurationModal",components:{BaseTooltipIcon:a.A,fabricationSettingSwatch:n.A,QuoteButton:r.A,QuoteUnitSwitcher:o.A,QuoteTextInput:l.A,QuoteDesignPreview:c.A,QuotePartRender:d.A,QuoteSegmentedControl:p.A},props:{part:{type:Object,default:()=>{},required:!1}},data(){return{renderType:"2d"===this.$store.state.account.partPreviewMode?"2d":"3d",styles:[],dimensions:{calculated_width:null,calculated_height:null,confirmed_height:null,confirmed_width:null},currentlyEditing:null,userWidth:null,userHeight:null,thinking:!1,showOrientation:!0,defaultBendAngle:90,defaultBendDirection:"up",allProcesses:[{label:"Cutting",key:"cutting"},{label:"Line engraving",key:"lineEngraving"},{label:"Area engraving",key:"areaEngraving"},{label:"Area and line engraving",key:"combinedEngraving"},{label:"Ignore",key:"ignore"},{label:"Metal bending",key:"metalBending"}],configurationIdleTracker:null,showTextWarning:!0,showClippingMaskWarning:!0}},methods:{onPartRenderState(e){"error"===e?.state&&"too-complex"===e?.reason&&"3d"===this.renderType&&(this._suppressRenderTypePersist=!0,this.renderType="2d",this.$segment.track("Part preview fell back to 2D",{reason:"too-complex",technical_message:e.technicalMessage}))},updateStyle(e,t){const i=e.target.value,s=this.styles.slice(),a=s[t];a.assignedTo[i]=!0,Object.keys(a.assignedTo).forEach(e=>{a.assignedTo[e]=e===i}),"metalBending"===i&&(a.bendAngle=a.bendAngle||this.defaultBendAngle,a.bendDirection=a.bendDirection||this.defaultBendDirection),this.$set(this.styles,t,a)},updateBendAngle(e,t){const i=this.styles.slice(),s=i[t];s.bendAngle=e.target.value;const a={dimensions:this.part.configuration.dimensions,styles:i};this.$emit("configure",a)},updateBendDirection(e,t){const i=this.styles.slice(),s=i[t];s.bendDirection=e.target.value;const a={dimensions:this.part.configuration.dimensions,styles:i};this.$emit("configure",a)},localize(e){return"in"===this.userUnits&&(e*=.0393701),this.round(e,this.decimalPlaces)},delocalize(e){return"in"===this.userUnits&&(e/=.0393701),this.round(e,this.decimalPlaces)},round(e,t){return Number(Math.round(e+"e"+t)+"e-"+t)},handleConfirmPartConfiguration(){const e={styles:this.styles,dimensions:{...this.part.configuration.dimensions,confirmed_width:this.widthInMM,confirmed_height:this.heightInMM,width:this.widthInMM,height:this.heightInMM,rotation:this.dimensions.rotation}};this.$emit("configure",e),this.$modal.hide(`part-configuration-modal-for-${this.part.id}`)},handleOrientationClick(){const e=this.dimensions.rotation,t=e?0:90;this.dimensions.rotation=t;const i=this.displayedHeight,s=this.displayedWidth;this.displayedWidth=i,this.displayedHeight=s}},computed:{...(0,h.aH)({userUnits:e=>e.account.units,selectedThickness:e=>e.catalog.selectedThickness}),hasUnconvertedText(){return!0===this.part?.dfm_results?.unconverted_text?.failed},hasClippingMask(){return!0===this.part?.dfm_results?.clipping_mask?.failed},previewPart(){return{...this.part,configuration:{styles:this.styles,dimensions:this.dimensions}}},ignoredStyles(){const e=this.styles;return e&&e.length?e.filter(e=>e.assignedTo&&e.assignedTo.ignore).map(e=>e.identifier):[]},availableProcesses(){let e=this.allProcesses;return!this.part.thickness||this.part.thickness.available_for_bending||this.styles.some(e=>e.assignedTo.metalBending)||(e=e.filter(e=>"metalBending"!==e.key)),e},maxDimensions(){return this.part?.thickness?.maximum_sheet_size?this.part.thickness.maximum_sheet_size:{width:{mm:3e3,in:118.1},height:{mm:1500,in:59}}},shouldDisable(){const e=this.allSwitchesAreOff,t=this.tooWide||this.tooTall||this.notWideEnough||this.notTallEnough,i=this.styleFeedback.some(e=>e.isInvalid);return e||t||i},allSwitchesAreOff(){const e=this.styles.every(e=>this.ignoredStyles.includes(e.identifier));return e},widthInMM(){return this.delocalize(this.displayedWidth)},heightInMM(){return this.delocalize(this.displayedHeight)},decimalPlaces(){return"mm"===this.userUnits?2:3},stepPrecision(){return"mm"===this.userUnits?.01:.001},wToHRatio(){const e=this.dimensions.calculated_width,t=this.dimensions.calculated_height;return this.dimensions.rotation?t/e:e/t},displayedWidth:{get(){return this.allSwitchesAreOff?0:this.dimensions.confirmed_width?this.localize(this.dimensions.confirmed_width):this.localize(this.dimensions.calculated_width)},set(e){if(0!==e&&""!==e&&!isNaN(e)&&(this.$set(this.dimensions,"confirmed_width",this.delocalize(e)),"width"===this.currentlyEditing)){const t=this.delocalize(e)/this.wToHRatio;this.displayedHeight=this.localize(t)}}},displayedHeight:{get(){return this.allSwitchesAreOff?0:this.dimensions.confirmed_height?this.localize(this.dimensions.confirmed_height):this.localize(this.dimensions.calculated_height)},set(e){if(0!==e&&""!==e&&!isNaN(e)&&(this.$set(this.dimensions,"confirmed_height",this.delocalize(e)),"height"===this.currentlyEditing)){const t=this.delocalize(e)*this.wToHRatio;this.displayedWidth=this.localize(t)}}},tooWide(){const e=this.displayedWidth,t=this.maxDimensions.width[this.userUnits];return e>t},notWideEnough(){return parseInt(this.widthInMM)<6},tooTall(){const e=this.displayedHeight,t=this.maxDimensions.height[this.userUnits];return e>t},notTallEnough(){return parseInt(this.heightInMM)<6},styleFeedback(){const e=this.styles,t=!this.styles.some(e=>e.assignedTo.cutting),i=this.selectedThickness&&!this.selectedThickness.available_for_bending,s=this.styles.some(e=>e.assignedTo.areaEngraving||e.assignedTo.lineEngraving||e.assignedTo.combinedEngraving);return e.map((e,a)=>{const n={isInvalid:!1,errors:[]};if(t&&!a&&(n.isInvalid=!0,n.errors.push("Part must contain at least one cutting line.")),!e.assignedTo.metalBending)return n;const r=e.bendAngle>130;return i&&(n.isInvalid=!0,n.errors.push("Metal bending is not available for this material.")),s&&(n.isInvalid=!0,n.errors.push("Metal bending is not available for engraved parts.")),r&&(n.isInvalid=!0,n.errors.push("Angles cannot be greater than 130°.")),n})},dimensionsFeedback(){const e={width:"",height:""},t=this.userUnits;return this.tooWide?e.width=`Max width is ${this.localize(this.maxDimensions.width.mm)}${t}`:this.notWideEnough&&(e.width=`Min width is ${this.localize(6)}${t}`),this.tooTall?e.height=`Max height is ${this.localize(this.maxDimensions.height.mm)}${t}`:this.notTallEnough&&(e.height=`Min height is ${this.localize(6)}${t}`),e}},watch:{renderType(e,t){e!==t&&(this._suppressRenderTypePersist?this._suppressRenderTypePersist=!1:e!==this.$store.state.account.partPreviewMode&&(this.$store.commit("setPartPreviewMode",e),this.$store.dispatch("updateUserProfile",{partPreviewMode:e}),this.$segment.track("Updated part preview mode.",{part_preview_mode:e})))},ignoredStyles(e,t){if(!t)return;if(e.length===this.styles.length)return;if(e.sort().join()===t.sort().join())return;const i=this.part.design?.calc_base_data,a=this.styles.map(e=>e.identifier).filter(t=>!e.includes(t)),n=(0,s.K)(i,a),r=n?.width||i?.metadata?.version&&i.width,o=n?.height||i?.metadata?.version&&i.height;if(!r||!o)return;const l=Boolean(this.dimensions.rotation);this.dimensions.calculated_width=l?o:r,this.dimensions.calculated_height=l?r:o,this.dimensions.confirmed_width=null,this.dimensions.confirmed_height=null}},mounted(){this.dimensions=Object.assign({},this.part.configuration?.dimensions),this.styles=this.part.configuration?.styles.slice(),this.$segment.track("Viewed Part Configuration",{render_type:this.renderType,part_preview_mode:this.$store.state.account.partPreviewMode}),this.configurationIdleTracker=new u.A({timeout:5e3,callback:()=>{this.$segment.track("Configuration Hesitation")}}).start()},beforeDestroy(){this.configurationIdleTracker.destroy()}}},73982:function(e,t,i){var s=i(48250),a=i(39302),n=(i(10195),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"014c24af",null);t.A=r.exports},30931:function(e,t,i){var s=i(31866),a=i(60801),n=i(65414),r=i(91529),o=i(40858),l=i(77286),c=i(17334),d=i.n(c);t.A={name:"QuoteCustomDeliveryModal",components:{AppModal:s.A,QuoteTextInput:a.A,QuoteButton:n.A,QuoteSegmentedControl:r.A,QuoteDeliveryMethodOption:o.A},props:{quote:{type:Object,required:!0}},data(){return{productionTypeOptions:[{label:"Business days",value:"business_days"},{label:"Specific ship date",value:"ship_date"}],productionType:"business_days",businessDays:"3",shipsBy:"",validUntil:"",shippingServiceName:"",shippingTransitDays:"3",productionPriceUsd:"0.00",shippingPriceUsd:"0.00",preview:null,previewLoading:!1,saving:!1}},computed:{isComplete(){return Object.values(this.payload).every(e=>""!==e&&!Number.isNaN(e))},payload(){const e={quoteId:this.quote.id,productionPriceUsd:parseFloat(this.productionPriceUsd)||0,shippingServiceName:this.shippingServiceName,shippingTransitDays:parseInt(this.shippingTransitDays,10),shippingPriceUsd:parseFloat(this.shippingPriceUsd)||0};return"business_days"===this.productionType?e.businessDays=parseInt(this.businessDays,10):(e.shipsBy=this.shipsBy,e.validUntil=this.validUntil),e}},watch:{payload(){this.previewLoading=this.isComplete,this.debouncedRefreshPreview()}},created(){this.debouncedRefreshPreview=d()(this.refreshPreview,300)},methods:{prefill(){const e=this.quote;e.custom_production_speed_ships_by?(this.productionType="ship_date",this.shipsBy=this.toDateInput(e.custom_production_speed_ships_by),this.validUntil=this.toDateInput(e.custom_valid_until),this.productionPriceUsd=String(e.production_speed_price_usd)):Number.isFinite(e.custom_production_speed_business_days)&&(this.productionType="business_days",this.businessDays=String(e.custom_production_speed_business_days),this.productionPriceUsd=String(e.production_speed_price_usd));const t=e.selected_shipping;"custom"===t?.service_code&&(this.shippingServiceName=t.service_name,this.shippingTransitDays=String(t.estimated_transit_time),this.shippingPriceUsd=String(t.price_usd)),this.debouncedRefreshPreview()},toDateInput(e){return e?new Date(e).toLocaleDateString("en-CA",{timeZone:"America/Los_Angeles"}):""},async refreshPreview(){if(!this.isComplete)return this.preview=null,void(this.previewLoading=!1);try{this.preview=await(0,l.Ggt)(this.payload)}finally{this.previewLoading=!1}},async save(){this.saving=!0;try{const e=await(0,l.e5k)(this.payload);this.$segment.track("Custom delivery saved",{quote_id:this.quote.id,variant:this.productionType,production_price_usd:this.payload.productionPriceUsd,shipping_price_usd:this.payload.shippingPriceUsd}),this.$emit("saved",e),this.$modal.hide("customDelivery")}finally{this.saving=!1}}}}},19948:function(e,t,i){var s=i(48348),a=i(46622),n=(i(4419),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"a00cfab4",null);t.A=r.exports},93117:function(e,t,i){var s=i(65414),a=i(63519),n=i(12761),r=i(26897),o=i(74797),l=i(91529),c=i(40216),d=i(65806),u=i(77286);i(95353);t.A={name:"QuoteCustomPart",components:{QuoteButton:s.A,QuoteDropdown:r.A,QuoteSegmentedControl:l.A,QuoteSpecDropdown:c.A,QuoteSpecPopover:d.A},mixins:[n.co],props:{accepted:{type:Boolean,required:!1,default:!1},partProp:{type:Object,required:!1,default:()=>({})},recentTechnologies:{type:Array,required:!1,default:()=>[]},serviceCatalog:{type:Object,required:!1,default:()=>({})}},data(){return{part:{isBeingEdited:!0},technologies:[],dragging:!1,showDebugParts:!1,modals:{actions:!1,configuration:!1,materials:!1,dfm:!1,finishing:!1}}},methods:{setModalState(e,t){this.$emit("modal"),this.$set(this.modals,e,t)},openModal(e){this.setModalState(e,!0)},closeModal(e){this.setModalState(e,!1)},toggleModal(e){const t=this.modals[e];this.setModalState(e,!t)},populateDummyPart(e){const{label:t,technologySlug:i,...s}=o.Q[e],a=i?this.technologies.find(e=>e.slug===i):null,n=this.normalizePart({...s,technologyId:a?a.id:null,customTechnologyName:a?null:s.customTechnologyName||i||null});n.id=this.part.id,this.$set(this,"part",n),this.constrainFulfillmentMethod(),this.closeModal("actions")},handleAddLineItem(){const e=`custom_line_item_${this.part.lineItems.length}`,t={label:"Custom line item",value:"",priceUsd:null,key:e,isCustomLineItem:!0};this.part.lineItems.push(t)},removeLineItem(e){const t=this.part.lineItems.indexOf(e);this.part.lineItems.splice(t,1)},handleDragOver(){this.dragging=!0},handleDragLeave(){this.dragging=!1},handleDrop(){this.dragging=!1},handleEditPart(){this.part.isBeingEdited=!0,this.closeModal("actions")},async handleDroppedFiles(e){const t=Array.from(e.target.files||e.dataTransfer.files);if(!t.length)return;const i=await(0,u.KS2)(t);this.part.productionFiles=[...this.part.productionFiles,...i],e.target.value=null},handleRemoveAttachedProductionFile(e){const t=this.part.productionFiles.indexOf(e);this.part.productionFiles.splice(t,1)},handleCancelEditingCustomPart(){this.part=this.normalizePart(this.partProp)},handleSaveCustomPart(){this.part.isBeingEdited=!1,this.$emit("saveCustomPart",this.part)},onSelectTechnology(e){e!==this.technologyDisplay&&(this.setTechnology(e),this.clearMaterial(),this.clearThickness())},onSelectMaterial(e){e!==this.materialDisplay&&(this.setMaterial(e),this.clearThickness())},onSelectThickness(e){this.setThickness(e);const t=this.part.configuration&&this.part.configuration.dimensions,i=parseFloat(e);!t||Number(t.thickness)||Number.isNaN(i)||(t.thickness=i)},focusPrice(){this.$nextTick(()=>{const e=this.$refs.specPrice,t=Array.isArray(e)?e[0]:e;t&&t.focus()})},commitPrice(){this.$refs.pricePopover.close()},setTechnology(e){const t=this.quotableTechnologyOptions.find(t=>t.label.toLowerCase()===e.trim().toLowerCase());this.part.technologyId=t?t.id:null,this.part.customTechnologyName=t?null:e,this.constrainFulfillmentMethod()},constrainFulfillmentMethod(){const e=this.supportedFulfillmentMethods;if(!e.length||e.includes(this.part.fulfillmentMethod))return;const t=e[0];if("external"===t&&!Number(this.part.productionAndMaterialPriceUsd)){const e=(Number(this.part.materialPriceUsd)||0)+(Number(this.part.productionPriceUsd)||0);e&&(this.part.productionAndMaterialPriceUsd=e)}this.part.fulfillmentMethod=t},setMaterial(e){const t=this.materialOptions.find(t=>t.label.toLowerCase()===e.trim().toLowerCase());this.part.materialId=t?t.id:null,this.part.customMaterialName=t?null:e},setThickness(e){const t=this.thicknessOptions.find(t=>t.label.toLowerCase()===e.trim().toLowerCase());this.part.materialOptionId=t?t.id:null,this.part.customMaterialSpec=t?null:e},clearMaterial(){this.part.materialId=null,this.part.customMaterialName=null},clearThickness(){this.part.materialOptionId=null,this.part.customMaterialSpec=null},onMoneyInput(e,t){const i=t.target.value.trim().startsWith("-"),s=t.target.value.replace(/[^0-9.]/g,"").replace(/(\..*)\./g,"$1");this.part[e]=i?`-${s}`:s},normalizePart(e){const t=(0,a.A)(e);return delete t.fabricationType,{...t,fulfillmentMethod:t.fulfillmentMethod||e.fabrication_type||"internal",technologyId:null!=t.technologyId?t.technologyId:null,customTechnologyName:null!=t.customTechnologyName?t.customTechnologyName:null,materialId:null!=t.materialId?t.materialId:null,customMaterialName:null!=t.customMaterialName?t.customMaterialName:null,materialOptionId:null!=t.materialOptionId?t.materialOptionId:null,customMaterialSpec:null!=t.customMaterialSpec?t.customMaterialSpec:null,materialPriceUsd:null!=t.materialPriceUsd?t.materialPriceUsd:null,productionPriceUsd:null!=t.productionPriceUsd?t.productionPriceUsd:null,productionAndMaterialPriceUsd:null!=t.productionAndMaterialPriceUsd?t.productionAndMaterialPriceUsd:null}}},computed:{exampleParts(){return o.Q},allMaterials(){return this.$store.state.catalog.allMaterials},displayLineItems(){const e=this.part.lineItems||[];return this.part.isBeingEdited?e.filter(e=>"production_and_material"!==e.key):e},finishingOptions(){const e=this.serviceCatalog.finishing_services||[];return(this.part.availableFinishingServiceIds||[]).map(t=>e.find(e=>
1e.id===t)).filter(Boolean).map(e=>({label:e.name,id:e.id}))},technologyOptions(){return this.technologies.map(e=>({label:e.name,id:e.id,fulfillmentMethods:e.customFulfillmentMethods||[]}))},quotableTechnologyOptions(){return this.technologyOptions.filter(e=>e.fulfillmentMethods.length)},supportedFulfillmentMethods(){const e=null!=this.part.technologyId?this.technologyOptions.find(e=>e.id===this.part.technologyId):null;return e?e.fulfillmentMethods:[]},fulfillmentOptions(){const e=this.supportedFulfillmentMethods;return[{label:"Make in-house",value:"internal"},{label:"Make externally",value:"external"}].map(t=>({...t,disabled:e.length>0&&!e.includes(t.value)}))},technologyGroups(){const e={heading:"Standard technologies",options:this.quotableTechnologyOptions},t=this.recentTechnologies.filter(e=>e&&!this.technologyOptions.some(t=>t.label.toLowerCase()===e.toLowerCase())).map(e=>({label:e,id:null}));return t.length?[{heading:"Recent",options:t},e]:[e]},materialOptions(){const e=null!=this.part.technologyId?this.technologies.find(e=>e.id===this.part.technologyId):null,t=e?e.name:null,i=new Set,s=[];return this.allMaterials.forEach(e=>{t&&e.technology_name!==t||i.has(e.display_name)||(i.add(e.display_name),s.push({label:e.display_name,id:e.id}))}),s.sort((e,t)=>e.label.localeCompare(t.label))},thicknessOptions(){if(null==this.part.materialId)return[];const e=this.allMaterials.find(e=>e.id===this.part.materialId);if(!e)return[];const t=this.$options.filters.consistentDecimals;return e.thicknesses.map(e=>({label:`${t(e.mm)}mm`,id:e.id}))},technologyDisplay(){if(null!=this.part.technologyId){const e=this.technologyOptions.find(e=>e.id===this.part.technologyId);if(e)return e.label}return this.part.customTechnologyName||""},materialDisplay(){if(null!=this.part.materialId){const e=this.allMaterials.find(e=>e.id===this.part.materialId);if(e)return e.display_name}return this.part.customMaterialName||""},thicknessDisplay(){if(null!=this.part.materialOptionId){const e=this.thicknessOptions.find(e=>e.id===this.part.materialOptionId);if(e)return e.label}return this.part.customMaterialSpec||""},materialHeading(){return null!=this.part.technologyId?`Common for ${this.technologyDisplay}`:"Standard materials"},thicknessHeading(){return null!=this.part.materialId?`Common for ${this.materialDisplay}`:"Thickness / spec"},rolledPrice(){return"internal"===this.part.fulfillmentMethod?(Number(this.part.materialPriceUsd)||0)+(Number(this.part.productionPriceUsd)||0):Number(this.part.productionAndMaterialPriceUsd)||0},totalDisplay(){return this.$options.filters.asDollars(this.rolledPrice)}},async mounted(){this.part=this.normalizePart(this.partProp),this.technologies=await(0,u.Fi3)(),this.part.isBeingEdited&&this.constrainFulfillmentMethod()},watch:{partProp(e){this.part=this.normalizePart(e)}}}},40858:function(e,t,i){var s=i(91132),a=i(8464),n=(i(65827),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"766e67f0",null);t.A=r.exports},10783:function(e,t,i){var s=i(56066);t.A={name:"QuoteDeliveryMethodOption",components:{DeliveryCertaintyBadge:s.A},props:{option:{type:Object,default:null},selected:{type:Boolean,default:!1},skeleton:{type:Boolean,default:!1},pulsing:{type:Boolean,default:!0}}}},25880:function(e,t,i){var s=i(64185),a=i(55376),n=(i(83129),i(60677),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"e2f89934",null);t.A=r.exports},26105:function(e,t,i){var s=i(95353),a=i(60703),n=i(21766),r=i(77286);t.A={name:"QuoteDesignPreview",props:{part:{type:Object,required:!1,default:()=>({material:!1,design:!1,configuration:!1})},showMaterialInBackgroundByDefault:{type:Boolean,default:!1,required:!1},currentlyEditing:{type:String,default:"false",required:!1},showZoomControls:{type:Boolean,default:!1,required:!1},showMeasurementTool:{type:Boolean,default:!1,required:!1},accepted:{type:Boolean,default:!1,required:!1}},data(){return{svgAsText:null,svgForPreviewPurposes:null,tags:["circle","ellipse","line","path","polyline","rect","polygon","use"],vX:0,vY:0,vH:0,vW:0,sheetPaddingInPx:10,styleSheet:document.head.appendChild(document.createElement("style")).sheet,yAxisStyle:{},xAxisStyle:{},bendParameterStyle:{},hasDismissedActiveDesignHasTextRemoved:!1,measurements:{width:0,height:0},measurementToolStyle:{visibility:"hidden",top:"",left:""},mouseIsDown:!1,minScale:1,maxScale:5,scaleSensitivity:25,zoomState:{originX:0,originY:0,translateX:0,translateY:0,scale:1},svgContainerStyle:{transform:"",transformOrigin:""},hatchPatternStyle:{backgroundSize:"24.649px",backgroundPosition:"0px 0px"},shouldAnimateSvgContainer:!1,resizeTimeout:null}},computed:{...(0,s.L8)(["unitPreference"]),showMaterialInBackgroun
1d(){return Boolean(this.material?.id)},currentlyEditingWidth(){return"width"===this.currentlyEditing},currentlyEditingHeight(){return"height"===this.currentlyEditing},material(){return this.part.material},design(){return this.part.design},configuration(){return this.part.configuration},styles(){return this.configuration.styles},dimensions(){return this.configuration.dimensions},materialColor(){return this.material?.render_properties?.material_color},cutColor(){return this.material?.render_properties?.cutting_color},vectorEngravingColor(){return this.material?.render_properties?.line_engraving_color},areaEngravingColor(){return this.material?.render_properties?.area_engraving_color},selectedMaterialIsFlipped(){return this.material?.reverse_file},width(){return this.dimensions?.confirmed_width||this.dimensions?.calculated_width},height(){return this.dimensions?.confirmed_height||this.dimensions?.calculated_height},showAxisLines(){return 1===this.zoomState.scale},axisLabel(){const e={x:0,y:0},t=this.part?.configuration?.dimensions;return t?.confirmed_width||t?.calculated_width||t.width?(e.x=this.localize(t.confirmed_width||t.calculated_width||t.width),e.y=this.localize(t.confirmed_height||t.calculated_height||t.width),e):e},cssRules(){return this.styles?.length&&this.showMaterialInBackground&&this.styles.some(e=>e.assignedTo)?this.styles.map(e=>{const t=e.assignedTo.cutting,i=e.assignedTo.lineEngraving||e.assignedTo.combinedEngraving,s=e.assignedTo.areaEngraving||e.assignedTo.combinedEngraving,a=e.assignedTo.metalBending,n=this.cutColor,r=this.vectorEngravingColor,o=this.areaEngravingColor,l=`[data-ponoko-part-id="${this.part.id}"] [data-ponoko-id="${e.identifier}"]`;if(a)return`${l} {\n            stroke: ${n} !important;\n            stroke-dasharray: 4;\n            fill: none !important;\n          }`;const c=t?n:i?r:"none",d=s?o:"none";return`${l} {\n          stroke: ${c} !important;\n          fill: ${d} !important;\n          stroke-dasharray: none !important;\n        }`}):[]},bendParameters(){return this.showMaterialInBackground?this.styles&&this.styles.filter(e=>e.assignedTo&&e.assignedTo.metalBending).map(e=>({identifier:e.identifier,bendAngle:e.bendAngle,bendDirection:e.bendDirection})):[]},showingTheSwitch(){return!1},ignoredStyles(){const e=this.part.configuration.styles;return e&&e.length?e.filter(e=>e.assignedTo&&e.assignedTo.ignore).map(e=>e.identifier):null}},methods:{localize(e){return(0,a.A)(e,this.unitPreference)},async updateSVG(){if(!this.design.eligible_for_instant_quote)return void(this.svgAsText=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">\n            <g><rect x="19" y="1" width="${this.width}mm" height="${this.height}mm" stroke="black"/></g>\n          </svg>`);this.svgAsText||(this.svgAsText=await(0,r.aUZ)(this.design.signed_url)),this.svgForPreviewPurposes||(this.svgForPreviewPurposes=await(0,n.f)(this.svgAsText,this.ignoredStyles,this.part.id),await this.$nextTick());const e=this.part.configuration?.dimensions?.rotation||0;this.svgForPreviewPurposes=(0,n.k)(e,this.part.id),this.$refs.svgContainer.innerHTML=this.svgForPreviewPurposes,await this.$nextTick();const t=this.$refs.svgContainer,i=t.firstChild;this.getViewBox(i),this.fitSVGtoContainer(i);const s=i.querySelectorAll(this.tags);for(let a=0;a<s.length;a++){const e=s[a];this.makeStrokeVisible(e)}this.showMaterialInBackground&&this.addSheetToProofSVG(i),this.updateBendParamaterPositions(),this.updateAxisPositions("updateSVG"),this.updatehatchPatternPositions()},makeStrokeVisible(e){e.style.strokeWidth="1",e.style.vectorEffect="non-scaling-stroke",e.style.opacity=null,e.style.strokeOpacity=null},getViewBox(e){let t=e.getAttribute("viewBox");t=t.split(/\s+|,/),this.vX=t[0],this.vY=t[1],this.vW=t[2],this.vH=t[3]},fitSVGtoContainer(e){e.setAttribute("width","100%"),e.setAttribute("height","100%"),e.setAttribute("preserveAspectRatio","xMidYMid meet")},addElement(e,t,i,s=!1){const a=document.createElementNS("http://www.w3.org/2000/svg",t);for(const n in i){const e=i[n];a.setAttributeNS(null,n,e)}s?e.appendChild(a):e.insertBefore(a,e.firstChild)},getBounds(e){e.style.strokeWidth="0";
1const t=e.getBBox();return e.style.strokeWidth="1",{height:t.height,width:t.width,x:t.x,y:t.y,x2:t.x+t.width,y2:t.y+t.height,cx:t.x+t.width-t.width/2,cy:t.y+t.height-t.height/2}},addSheetToProofSVG(){const e=this.$refs.svgContainer,t=e.firstChild,i=`part-${this.part.id}-material-sheet`,s=t.getElementById(i);s&&s.parentNode.removeChild(s);const a="http://www.w3.org/2000/svg",n=document.createElementNS(a,"rect");n.setAttribute("width",1),n.setAttribute("height",1),t.insertBefore(n,t.firstChild);const r=n.getBoundingClientRect(),o=this.sheetPaddingInPx/r.width;t.removeChild(n);let l=this.getBounds(t);const c=l.width+o,d=l.height+o,u=l.cx-c/2,p=l.cy-d/2,h=this.materialColor,m=this.cutColor;this.addElement(t,"rect",{width:c,height:d,x:u,y:p,fill:h,stroke:m,id:i,class:"the-sheet","vector-effect":"non-scaling-stroke"}),l=this.getBounds(t);const g=l.x,f=l.y,v=l.width,y=l.height;t.setAttribute("viewBox",`${g} ${f} ${v} ${y}`)},updateStyleSheet(){this.showMaterialInBackground?(this.styleSheet.disabled=!1,this.cssRules.forEach(e=>{const t=this.styleSheet.cssRules.length;this.styleSheet.insertRule(e,t)})):this.styleSheet.disabled=!0},updateAxisPositions(e="unknown"){if(!this.$refs.svgContainer||!this.$refs.svgContainer.firstChild||!this.axisLabel.y&&!this.axisLabel.x)return this.xAxisStyle={width:"100px",top:"90%",left:"50%"},void(this.yAxisStyle={height:"100px",left:"10%"});const t=this.$refs.svgContainer.firstChild;let i={};const s=t.querySelector("g");i=s.getBoundingClientRect();const a=this.$refs.axisLabelY.getBoundingClientRect(),n=this.$refs.previewContainer.getBoundingClientRect();this.xAxisStyle={width:i.width+"px",top:i.bottom-n.y+(this.showMaterialInBackground?this.sheetPaddingInPx/2:0)+"px",left:i.left-n.left+"px"},this.yAxisStyle={top:i.offsetTop+"px",height:i.height+"px",left:i.left-n.left-a.width+"px"};const r=document.createElement("div");this.$refs.previewContainer.appendChild(r),setTimeout(()=>{this.$refs.previewContainer.removeChild(r)},66)},updatehatchPatternPositions(){const e=this.$refs.svgContainer?.firstChild;if(!e)return;const t=e.querySelector("g"),i=t.getBoundingClientRect(),s=this.$refs.hatchPattern.getBoundingClientRect(),a=this.hatchPatternStyle.backgroundSize.replace(/[^0-9.]/g,""),n=a/2,r=(i.left-s.left)%a,o=(i.y-s.top)%a;this.hatchPatternStyle.backgroundPosition=`left ${r+n}px top ${o+n}px`},updateBendParamaterPositions(){if(!this.bendParameters?.length)return;const e=this.styles,t=this.$refs.svgContainer?.firstChild;t&&e.forEach((e,i,s)=>{if(!e.assignedTo.metalBending)return;
1const a=e.identifier,n=t.querySelector(`[data-ponoko-id="${a}"]`),r=this.$refs.previewContainer.getBoundingClientRect();if(!n||!r)return;const o=n.getBoundingClientRect();let l=o.top-r.y,c=o.left-r.left;const d=o.height>=o.width;d?l=l+o.height-25:c=c+o.width-25,this.bendParameterStyle[a]={top:`${l}px`,left:`${c}px`}})},handleBendParameterMouseEvent(e,t){const i=this.bendParameterStyle[t.identifier];switch(e.type){case"mouseenter":i.zIndex="2";break;case"mouseleave":i.zIndex="1";break;default:}this.bendParameterStyle={style:i,...this.bendParameterStyle}},resizeThrottler(){let e=this.resizeTimeout;e||(e=setTimeout(()=>{e=null,this.updateAxisPositions("resizeThrottler"),this.updateBendParamaterPositions(),this.updatehatchPatternPositions()},33))},handlePreviewMouseDown(e){if(!this.showMeasurementTool)return;if(0!==e.button)return;const t=this.$refs.svgContainer,i=t.firstChild,s=Array.from(i.querySelectorAll(this.tags));s.sort((e,t)=>{const i=this.getBounds(e),s=this.getBounds(t);return s.height*s.width-i.height*i.width});for(let a=0;a<s.length;a++){const e=s[a],t=this.getBounds(e),n=i.getAttribute("data-ponoko-pixel-to-mm-ratio")||1,r=i.createSVGTransform(),o=this.getTotalMatrix(e);r.setMatrix(o);const{a:l,b:c,c:d,d:u,e:p,f:h}=r.matrix,m=t.width*n*Math.abs(l),g=t.height*n*Math.abs(u);if(!m||!g)return;this.addElement(i,"rect",{width:Math.max(t.width,1),height:Math.max(t.height,1),x:t.x,y:t.y,fill:"white",opacity:"0",transform:`matrix(${l} ${c} ${d} ${u} ${p} ${h})`,stroke:"orange","stroke-width":"5","data-ponoko-measurement-tool":!0,"data-ponoko-measurement-tool-height":g,"data-ponoko-measurement-tool-width":m,"vector-effect":"non-scaling-stroke"},!0)}},handlePreviewMouseUp(e){if(!this.showMeasurementTool)return;if(0!==e.button)return;const t=e.target,i=t.dataset,s=i&&i.ponokoMeasurementTool;if(s){const e=this.measurements;e.width=t.dataset.ponokoMeasurementToolWidth,e.height=t.dataset.ponokoMeasurementToolHeight,t.setAttribute("stroke-width",1.8),t.setAttribute("stroke","#FFB71D"),t.setAttribute("opacity","1"),t.setAttribute("fill","none");const i=this.measurementToolStyle,s=t.getBoundingClientRect(),a=this.$refs.previewContainer.getBoundingClientRect();if(!s||!a)return;const n=s.top-a.y+s.height,r=s.left-a.left+s.width/2;i.top=n+2+"px",i.left=r+"px",i.visibility="visible"}const a=this.$refs.svgContainer,n=a.firstChild,r=n.querySelectorAll("[data-ponoko-measurement-tool]");for(let o=0;o<r.length;o++){const e=r[o];e!==t&&n.removeChild(e)}},handleBackgroundClick(e){const t=e.target,i=t.dataset;i&&i.ponokoMeasurementTool||this.hideMeasurementTool()},handleDocumentKeyup(e){"Escape"===e.code&&this.hideMeasurementTool(),"Equal"===e.code&&this.handleZoomInClick(),"Minus"===e.code&&this.handleZoomOutClick()},hideMeasurementTool(e){const t=this.measurementToolStyle;t.visibility="hidden";const i=this.$refs.svgContainer,s=i.firstChild,a=s.querySelectorAll("[data-ponoko-measurement-tool]");for(let n=0;n<a.length;n++){const e=a[n];s.removeChild(e)}},getTotalMatrix(e){const t=e=>{const t=e.transform&&e.transform.baseVal.consolidate();return t?t.matrix:e.ownerSVGElement.createSVGMatrix()};let i=t(e);while(null!=e.parentElement.ownerSVGElement)if(e=e.parentElement,e.transform){const s=t(e);i=s&&s.multiply(i)}return i},async handleZoomInClick(){this.shouldAnimateSvgContainer=!0,await this.$nextTick();const e=this.$refs.svgContainer,{height:t,width:i,left:s,top:a}=e.getBoundingClientRect(),n=5,r=i/2+s,o=t/2+a;this.zoomState.originX=i/2,this.zoomState.originY=t/2,this.zoom(n,r,o),this.shouldAnimateSvgContainer=!1},async handleZoomOutClick(){this.shouldAnimateSvgContainer=!0,await this.$nextTick();const e=this.$refs.svgContainer,{height:t,width:i,left:s,top:a}=e.getBoundingClientRect(),n=-5,r=i/2+s,o=t/2+a;this.zoomState.originX=i/2,this.zoomState.originY=t/2,this.zoom(n,r,o),this.shouldAnimateSvgContainer=!1},handleWheel(e){if(!this.showZoomControls)return!1;e.preventDefault();const t=Math.sign(e.deltaY)>0?-1:1,i=e.pageX,s=e.pageY;this.zoom(t,i,s)},zoom(e,t,i){const s=this.$refs.svgContainer,{left:a,top:n,width:r,height:o}=s.getBoundingClientRect(),[l,c]=this.getScale(e),d=t-a,u=i-n;if(1===c)return void this.panTo(0,0,1);const p=d/l,h=u/l,m=this.getTranslate(l),g=m({pos:d,prevPos:this.zoomState.originX,translate:this.zoomState.translateX}),f=m({pos:u,prevPos:this.zoomState.originY,translate:this.zoomState.translateY});this.svgContainerStyle.transformOrigin=`${p}px ${h}px`,this.svgContainerStyle.transform=this.getZoomMatrix({scale:c,translateX:g,translateY:f}),this.zoomState={originX:p,originY:h,translateX:g,translateY:f,scale:c}},getScale(e){const{minScale:t,maxScale:i,scaleSensitivity:s}=this,a=this.zoomState.scale;let n=a+e/(s/a);return n=Math.max(t,Math.min(n,i)),[a,n]},getTranslate(e){const{valueInRange:t,hasPositionChanged:i}=this;return({pos:s,prevPos:a,translate:n})=>t(e)&&i({pos:s,prevPos:a})?n+(s-a*e)*(1-1/e):n},getZoomMatrix({scale:e,translateX:t,translateY:i}){return`matrix(${e}, 0, 0, ${e}, ${t}, ${i})`},valueInRange(e){return e<=this.maxScale&&e>=this.minScale},hasPositionChanged({pos:e,prevPos:t}){return e!==t},handlemousemove(e){this.mouseIsDown&&1!==this.zoomState.scale&&(event.preventDefault(),this.panBy(event.movementX,event.movementY))},handledblclick(){this.panTo(0,0,1)},pan(e,t){this.zoomState.translateX+=e,this.zoomState.translateY+=t,this.svgContainerStyle.transform=this.getZoomMatrix({scale:this.zoomState.scale,translateX:this.zoomState.translateX,translateY:this.zoomState.translateY})},panTo(e,t,i){this.zoomState.scale=i;const s=e-this.zoomState.translateX,a=t-this.zoomState.translateY;this.pan(s,a)},panBy(e,t){this.pan(e,t)},async attachResizeObserver(){await new Promise(e=>setTimeout(e,1e3));const e=new ResizeObserver(this.resizeThrottler);e.observe(this.$refs.hatchPattern)}},watch:{width(){this.updateSVG("watcher: width")},styles(){this.updateStyleSheet()}
1,showMaterialInBackground(){this.updateStyleSheet(),this.updateAxisPositions("watch.showMaterialInBackground")},showingTheSwitch(){this.updateAxisPositions("watch.showingTheSwitch")},materialColor(){this.updateSVG("watch.materialColor"),this.updateStyleSheet()},bendParameters(){this.updateBendParamaterPositions()},async ignoredStyles(e,t){if(!t)return;const i=e.sort().join()!==t.sort().join();i&&(this.svgForPreviewPurposes=await(0,n.f)(this.svgAsText,e,this.part.id),await this.$nextTick())}},async mounted(){this.updateSVG("mounted"),this.updateStyleSheet(),this.attachResizeObserver(),document.addEventListener("keyup",this.handleDocumentKeyup,!1),this.$nextTick(()=>{this.selectedMaterialIsFlipped&&this.showMaterialInBackground&&this.$store.commit("notify",this.$store.state.notifications.presets.designHasBeenFlipped),this.design.error_message&&this.design.error_message.contains_image&&this.$store.commit("notify",this.$store.state.notifications.presets.imagesRemoved),this.design.error_message&&this.design.error_message.contains_text&&this.$store.commit("notify",this.$store.state.notifications.presets.textRemoved)})},updated(){},beforeDestroy(){const e=this.styleSheet.ownerNode,t=e.parentNode;t.removeChild(e),window.removeEventListener("resize",this.resizeThrottler,!1)}}},25006:function(e,t,i){var s=i(58927),a=i(26954),n=(i(22180),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"0e5f71f2",null);t.A=r.exports},75459:function(e,t,i){var s=i(12761);t.A={name:"QuoteInput",props:{label:{type:String,required:!0},value:{required:!1,default:"",validator(e){return"string"===typeof e||"number"===typeof e}},price:{validator(e){return"string"===typeof e||"number"===typeof e},default:"0",required:!1},showPrice:{type:Boolean,required:!1,default:!0},placeholder:{type:String,required:!1,default:""},requiresReview:{type:Boolean,required:!1,default:!1},displayPriceAsFree:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},accepted:{type:Boolean,required:!1,default:!1},autocomplete:{type:String,required:!1,default:"off"},name:{type:String,required:!1,default:null},readonly:{type:Boolean,required:!1,default:()=>!0}}
1,mixins:[s.co],data(){return{open:!1}},computed:{id(){return`quote-input-${this._uid}`},labelId(){return`${this.id}-label`},dropdownId(){return`${this.id}-dropdown`},computedType(){return"text"},computedReadOnly(){return this.readonly},computedName(){return this.name||this.label||this.placeholder||this._uid},free(){const e=0===Number(this.price);return this.displayPriceAsFree&&e},displayValue(){return null===this.value||void 0===this.value||""===this.value?this.placeholder||"-":this.value},hasDropdown(){return Boolean(this.$slots.default)},ariaExpanded(){return this.hasDropdown?String(this.open):null},ariaHaspopup(){return this.hasDropdown?"dialog":null},ariaControls(){return this.hasDropdown?this.dropdownId:null}},methods:{handleClickAway(){this.open=!1},close(){this.open=!1},focus(){this.accepted||this.disabled||this.$refs.input.focus()},openDropdown(){!this.hasDropdown||this.disabled||this.accepted||(this.open=!0)},toggleDropdown(){!this.hasDropdown||this.disabled||this.accepted||(this.open=!this.open)},handleClick(e){this.accepted||this.disabled||(this.$emit("click",e),this.toggleDropdown())},handleInputKeydown(e){if(!this.disabled&&!this.accepted){if("Escape"!==e.key)return"ArrowDown"===e.key?(e.preventDefault(),this.$emit("click",e),void this.openDropdown()):void(("Enter"===e.key||this.computedReadOnly&&" "===e.key)&&(e.preventDefault(),this.$emit("click",e),this.toggleDropdown()));this.close()}}}}},82683:function(e,t,i){var s=i(58114),a=i(84669),n=(i(1127),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"32683ff4",null);t.A=r.exports},52622:function(e,t,i){var s=i(26897),a=i(74277),n=i(60135),r=i(80177),o=i(59781),l=i(85949),c=i(85887),d=i(30352),u=i(95353),p=i(77286),h=i(17585),m=i(93259);t.A={name:"QuoteMaterialPicker",components:{QuoteMaterial:a.A,QuoteCheckboxInput:n.A,QuoteDropdown:s.A,QuoteInputOption:r.A,QuoteUnitSwitcher:l.A,QuoteRadioInput:o.A,QuoteCustomQuoteForm:c.A},props:{part:{type:Object,required:!1,default:()=>({})},showAssignToAll:{type:Boolean,required:!1,default:!1}},data(){return{currentlySortingBy:{slug:"popularity",label:"Most Popular"},sortingOptions:[{slug:"popularity",label:"Most Popular"},{slug:"display_name",label:"Name"},{slug:"price",label:"Least Price"},{slug:"color",label:"Color"}],showAllFilters:!1,showSortModal:!1,searchTerms:"",technologies:[],selectedTechnologySlug:this.part?.technology_slug||"laser-cutting",filterByAvailableForBending:this.part?.configuration?.styles?.some(e=>e.assignedTo.metalBending),materialIdleTracker:null}},methods:{async getTechnologies(){this.allTechnologies.length||await this.$store.dispatch("getTechnologies"),this.technologies=this.allTechnologies.map(e=>({...e,materialTypes:e.materialTypes.map(e=>({selected:!1,label:e})),materialKinds:e.materialKinds.map(e=>({selected:!1,label:e}))})),this.someTechnologiesAreCurrentlyFiltered&&(this.selectedTechnologySlug=this.filteredTechnologies[0].slug),this.materialIdleTracker.start()},async selectDefaultTechnology(){const e=this.filteredTechnologies.find(e=>e.exclusiveFiletypes.includes(this.fileType));e&&(this.selectedTechnologySlug=e.slug)},async handleSubmitCustomQuote(){const e=this.selectedTechnology.customQuoteFields;e.forEach(e=>{e.invalid=e.required&&e.value.length<1});const t=e.every(e=>!e.invalid);if(!t)return;const i={technology:this.selectedTechnology.name,attachments:this.selectedTechnology.customQuoteFiles,fields:e},s=await(0,p.AIl)(i);s.data.success&&(this.currentView="customQuoteSuccess")},handleWheel(e){},labelToCheckbox(e){return{selected:!1,label:e}}},computed:{...(0,u.aH)({allMaterials:e=>e.catalog.allMaterials,allTechnologies:e=>e.catalog.allTechnologies,recentMaterials:e=>e.account.recentMaterials,userUnits:e=>e.account.units}),selectedTechnology(){return this.technologies.find(e=>e.slug===this.selectedTechnologySlug)},fileType(){return this.part.design.original_file_extension.toUpperCase()},filteredTechnologies(){return this.technologies.filter(e=>e.acceptedFiletypes.includes(this.fileType))},someTechnologiesAreCurrentlyFiltered(){return this.allTechnologies.length!==this.filteredTechnologies.length},materialKinds(){return this.selectedTechnology.materialKinds},materialTypes(){return this.selectedTechnology.materialTypes},showingCustomQuote(){return this.selectedTechnology?.requiresCustomQuote},showEmptyState(){const e=0===this.materialsInSearchResults.length,t=this.searchTerms.length;return e&&t},resultCountText(){const e=this.materialsInSearchResults.length;return e+" results"},sortedMaterials(){const e=this.currentlySortingBy.slug;let t=[];const i=this.filteredMaterials.slice(),s="color"===e,a="price"===e,n="popularity"===e;if(t=s?(0,h.A)(i):a?i.sort((e,t)=>
1{if(e.requires_custom_quote||t.requires_custom_quote)return e.requires_custom_quote?1:t.requires_custom_quote?-1:0;const i=this.$store.getters.getPartPricing({...this.part,thickness:(0,m.A)(e.thicknesses)}).price?.productionAndMaterial,s=this.$store.getters.getPartPricing({...this.part,thickness:(0,m.A)(t.thicknesses)}).price?.productionAndMaterial;return i-s}):i.sort((t,i)=>t[e]>i[e]?1:t[e]<i[e]?-1:0),n){t=t.reverse();const e=this.recentMaterials.slice(),i=t.filter(t=>e.includes(t.id)),s=t.filter(t=>!e.includes(t.id));return i.sort((t,i)=>e.indexOf(t.id)-e.indexOf(i.id)),[...i,...s]}return t},materialsInSelectedTechnology(){const e=this.allMaterials.slice(),t=this.selectedTechnology,i=e.filter(e=>"sheet-metal-fabrication"===e.technology_slug&&"laser-cutting"===t.slug||e.technology_slug===t.slug);return i},materialsFilteredByBending(){const e=this.materialsInSelectedTechnology.slice(),t=this.filterByAvailableForBending;if(!t)return e;const i=[];return e.forEach(e=>{const t=e.thicknesses.filter(e=>e.available_for_bending);t.length&&(e.thicknesses=t,i.push(e))}),i},filteredMaterials(){const e=this.materialsFilteredByBending.slice(),t=this.materialKinds.filter(e=>e.selected).map(e=>e.label.toLowerCase()),i=this.materialTypes.filter(e=>e.selected).map(e=>e.label.toLowerCase());return t?.length||i?.length?e.filter(e=>{const s=e.kind.toLowerCase(),a=e.type.toLowerCase();return t.includes(s)||i.includes(a)}):e},materialsInSearchResults(){const e=this.sortedMaterials.slice(),t=this.searchTerms.toLowerCase();return t&&"*"!==t?e.filter(e=>{const i=e.display_name,s=e.kind,a=e.search_terms.join(),n=[i,s,a];if(n.some(e=>~e.toLowerCase().indexOf(t)))return!0;const r=t.split(" ");if(r.length>1){const t=i.split(" ").concat(e.search_terms).map(e=>e.toLowerCase());if(r.every(e=>t.find(t=>t.includes(e))))return!0}return!1}):e},showMaterialKinds(){return this.materialKinds.length>1},showMaterialTypes(){return!this.showMaterialKinds||this.showAllFilters},showAllFiltersButton(){return!this.showAllFilters&&!this.showMaterialTypes},showBendingFilter(){return this.materialsInSelectedTechnology.some(e=>e.thicknesses.some(e=>e.available_for_bending))},partHasBending(){return this.part.configuration?.styles?.some(e=>e.assignedTo.metalBending)},customQuoteFiles(){const e=this.part.design,t="https://us-central1-ponokocloud.cloudfunctions.net/jobs-production",i=`${t}/download-original-design?original_design_url=${e.original_design_url}`;return[{name:e.original_file_name,authenticated_url:i}]}},async mounted(){this.materialIdleTracker=new d.A({timeout:2e4,callback:()=>this.$segment.track("Material Hesitation")}),await this.getTechnologies(),await this.selectDefaultTechnology(),this.$segment.track("Viewed Material Picker")},beforeDestroy(){this.materialIdleTracker.destroy()}}},68689:function(e,t,i){var s=i(46175),a=i(10135),n=(i(91083),i(72723),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"58db2417",null);t.A=r.exports},3640:function(e,t,i){var s=i(51023),a=i(25006),n=i(80177),r=i(65414),o=i(82683),l=i(26897),c=i(60801),d=i(59781),u=i(20547),p=i(9043),h=i(86202),m=i(52407),g=i(17334),f=i.n(g),v=i(60703),y=i(12761),_=i(77286),b=i(95353);t.A={name:"QuotePart",components:{QuotePartThumbnail:s.A,QuoteInput:a.A,QuoteInputOption:n.A,QuoteMaterialPicker:o.A,QuoteButton:r.A,QuoteDropdown:l.A,QuoteTextInput:c.A,QuoteRadioInput:d.A,QuoteConfigurationModal:u.A,QuoteAdminPartDebuggingModal:p.A,BaseInternalPriceBreakdown:h.A,BaseInternalBadge:m.A},mixins:[y.co],props:{accepted:{type:Boolean,required:!1,default:!1},part:{type:Object,required:!1,default:()=>({})},showAssignToAll:{type:Boolean,required:!1,default:!1},serviceCatalog:{type:Object,required:!1,default:()=>({})}},data(){return{quantity:this.part.quantity,modals:{actions:!1,configuration:!1,materials:!1,dfm:!1,finishing:!1},attachedTechnicalDrawings:[],currentlyEditing:"",volumes:[{quantity:5,selected:!1},{quantity:10,selected:!1},{quantity:50,selected:!1},{quantity:100,selected:!1},{quantity:500,selected:!1},{quantity:1e3,selected:!1},{quantity:1e4,selected:!1}],selectedVolumeOption:""}},methods:{catalogServices(e,t){const i=this.serviceCatalog[e]||[];return(t||[]).map(e=>i.find(t=>
1t.id===e)).filter(Boolean)},getPrecisionServiceNameForPart(e){return this.getPrecisionServiceNameWithTolerance({name:e.precision_service_name,edge_to_edge_tolerance_upper:e.precision_service_edge_to_edge_tolerance_upper})},getPrecisionServiceNameWithTolerance(e){const t=this.precisionServiceIsStandard(e);let i=this.part.thickness?.edge_to_edge_tolerance_lower,s=this.part.thickness?.edge_to_edge_tolerance_upper;const a=this.userUnits;return t&&i&&s?(i=Number((0,v.A)(i,a)),s=Number((0,v.A)(s,a)),`${e.name} +${s} / ${i}${a}`):e.edge_to_edge_tolerance_upper?`± ${Number((0,v.A)(e.edge_to_edge_tolerance_upper,a))}${a}`:e.name},precisionServiceIsStandard(e){const t=e?.name?.toLowerCase().includes("standard");return t},getPrecisionServiceDescriptionWithTolerance(e){let t=e.edge_to_edge_tolerance_upper;if(t){const e=this.userUnits;return t=Number((0,v.A)(t,e)),` Tolerances will be held to +/- ${t}${e}`}return e.description},getFinishingServicePrice(e){const{price:t}=this.getPartPriceAndMinutes({...this.part,finishing_service_id:e.id,finishing_service_slug:e.key});return t.finishingServices},getDfmAnalysisPrice(e,t){const{price:i}=this.getPartPriceAndMinutes({...e,dfm_analysis_id:t.id,dfm_analysis_minutes:t.minutes,dfm_analysis_price_usd:t.price_usd});return i.dfmAnalysis},incrementPartQuantity(){this.quantity++,this.debouncedUpdatePart({quantity:this.quantity})},decrementPartQuantity(){this.quantity>1&&(this.quantity--,this.debouncedUpdatePart({quantity:this.quantity}))},updatePartQuantity(e=this.quantity){if(""===e)return;const t=Math.max(1,Math.round(Number(e)||1));String(e)!==String(t)?(this.quantity="",this.$nextTick(()=>{this.quantity=t})):this.quantity=t,this.debouncedUpdatePart({quantity:t})},debouncedUpdatePart:f()(function(e){this.updatePart(e)},200),updatePart(e){const t={...this.part,...e};this.$emit("update",t)},async handleSelectMaterial(e,t){this.$emit("selectMaterial",e),this.$modal.hide(`material-chooser-modal-for-${t.id}`)},async handleSelectMaterialForAllParts(e,t){this.$emit("selectMaterialForAllParts",e),this.$modal.hide(`material-chooser-modal-for-${t.id}`)},async handleSelectFinishingService(e,t){t||(t={exclusive:!0}),t.finishing_service_id=e.id;let i=[];i=t.exclusive?[e.id]:this.finishingServicesByCategory.filter(e=>e.finishing_service_id).filter(e=>!e.exclusive).map(e=>e.finishing_service_id),await this.updatePart({finishing_service_ids:i,finishing_service_slug:e.key}),this.$segment.track("Selected Finishing Service Option",{finishing_service_name:e.name,finishing_service_description:e.description,finishing_service_slug:e.key})},async handleSelectDfmAnalysisOption(e){await this.updatePart({dfm_analysis_id:e.id,dfm_analysis_minutes:e.minutes,dfm_analysis_price_usd:e.price_usd}),this.$segment.track("Selected DFM Analysis Option",{dfm_analysis_name:e.name,dfm_analysis_description:e.description,dfm_analysis_slug:e.slug})},async handleSelectQualityInspectionOption(e){e.requires_technical_drawing?this.$modal.show(`attach-drawing-modal-for-${this.part.id}`):await this.updatePart({quality_inspection_service_id:e.id,quality_inspection_service_price_usd:e.price_usd}),this.$segment.track("Selected Quality Inspection Option",{quality_inspection_service_name:e.name,quality_inspection_service_description:e.description,quality_inspection_service_slug:e.slug})},async handleSelectPostProcessingOption(e){await this.updatePart({post_processing_service_id:e.id}),this.$segment.track("Selected DFM Analysis Option",{post_processing_service_name:e.name,post_processing_service_description:e.description,post_processing_service_key:e.key})},async handleSelectPrecisionOption(e){await this.updatePart({precision_service_id:e.id}),this.$segment.track("Selected Precision Option",{precision_service_name:e.name,precision_service_description:e.description,precision_service_key:e.key})},async handleSelectCertificationOption(e){await this.updatePart({certification_service_id:e.id}),this.$segment.track("Selected Precision Option",{certification_service_name:e.name,certification_service_description:e.description,certification_service_key:e.key})},debugPartpricing(){0},getPartPriceAndMinutes(e,t=e.quantity){return this.$store.getters.getPartPricing({...e,quantity:t})},ignoredStyles(e){return e&&e.length?e.filter(e=>e.assignedTo&&e.assignedTo.ignore).map(e=>e.identifier):null},setModalState(e,t){this.$emit("modal"),this.$set(this.modals,e,t)},openModal(e){this.setModalState(e,!0)},closeModal(e){this.setModalState(e,!1)},toggleModal(e){const t=this.modals[e];this.setModalState(e,!t)},focusProductionAndMaterialInput(){this.$el.scrollIntoView({behavior:"smooth",block:"center"}),this.$refs.productionAndMaterial.focus()},handleTechnicalDrawingsFileChange(e){const t=e.target.files||e.dataTransfer.files;t.length&&this.attachedTechnicalDrawings.push(...t)},async handleAttachTechnicalDrawings(e){const t=this.availableQualityInspectionServices,i=t.find(e=>"dimensional_inspection_report"===e.slug),s=this.attachedTechnicalDrawings;s.length&&(await(0,_.WaT)(this.part.id,s),await this.updatePart({quality_inspection_service_id:i.id,quality_inspection_service_price_usd:i.price_usd})),this.$modal.hide(`attach-drawing-modal-for-${this.part.id}`)},async handleMaterialSearchInput(e){this.$modal.show(`material-chooser-modal-for-${this.part.id}`),await this.$nextTick();const t=this.$refs[`material-picker-for-${this.part.id}`];t.searchTerms=e,t.$refs.searchTerms.focus(),this.$refs.productionAndMaterial.$refs.input.value=""}
1,getSavings(e){const t=this.getPartPriceAndMinutes(this.part,1),i=t.price.total,s=this.getPartPriceAndMinutes(this.part,e),a=s.price.total/e,n=(i-a)/i,r=(100*n).toFixed(0);return isNaN(r)||0===r?"-":r},partExceedsMaximumSheetSizeForMaterial(e){}},computed:{...(0,b.L8)(["getPartPricing"]),availableFinishingServices(){return this.catalogServices("finishing_services",this.part.available_finishing_service_ids)},availablePostProcessingServices(){return this.catalogServices("post_processing_services",this.part.available_post_processing_service_ids)},availablePrecisionServices(){return this.catalogServices("precision_services",this.part.available_precision_service_ids)},availableQualityInspectionServices(){return this.serviceCatalog.quality_inspection_services||[]},availableDfmAnalyses(){return this.serviceCatalog.dfm_analyses||[]},availableCertificationServices(){return this.serviceCatalog.certification_services||[]},...(0,b.aH)({userUnits:e=>e.account.units}),finishingServicesByCategory(){const e=this.availableFinishingServices,t={};return e.forEach(e=>{const i=e.category_key||"uncategorized",s=e.category_name;t[i]||(t[i]={category_name:s,category_key:i,finishing_services:[],finishing_service_id:null,hidden:e.category_hidden,exclusive:e.category_exclusive}),t[i].finishing_services.push(e),e.selected=this.part.finishing_service_ids.includes(e.id),e.selected&&(t[i].finishing_service_id=e.id)}),Object.values(t)},plgSalesAssistVariant(){return"A"},obscurePrice(){return this.part.requires_custom_quote},customLineItems(){return!!this.part.is_custom_part&&this.part.line_items.filter(e=>e.is_custom_line_item)},technologyAndMaterialName(){const e=this.userUnits,t=this.part?.thickness?.[e];if(t){const i=this.$options.filters.consistentDecimals(t);return`${this.part.technology_and_material_name} - ${i}${e}`}return this.part.technology_and_material_name},volumeOptions(){const e=this.volumes,t=e.map(e=>{const t=e.quantity,{price:i}=this.getPartPriceAndMinutes(this.part,t),s=this.getSavings(t);return{pricePerPart:i.total/t,savings:s,quantity:t,key:`quantity-of-${t}`,...e}});return t}},mounted(){this.$nextTick(()=>{})}}},51023:function(e,t,i){var s=i(92711),a=i(38363),n=i(81656),r=(0,n.A)(a.A,s.X,s.Y,!1,null,null,null);t.A=r.exports},37138:function(e,t,i){var s=i(16556),a=i(25880);t.A={name:"QuotePartThumbnail",components:{PartRenderImage:s.A,QuoteDesignPreview:a.A},props:{part:{type:Object,required:!0},accepted:{type:Boolean,default:!1},showZoomControls:{type:Boolean,default:!1},showMeasurementTool:{type:Boolean,default:!1},showMaterialInBackgroundByDefault:{type:Boolean,default:!1},currentlyEditing:{type:String,default:"false"}},computed:{use3D(){return"2d"!==this.$store.state.account.partPreviewMode}}}},59157:function(e,t,i){var s=i(59977),a=i(98113),n=(i(11308),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"4d6fd2cb",null);t.A=r.exports},50204:function(e,t,i){var s=i(77286),a=i(18204),n=i(65414);t.A={name:"QuoteAddressPicker",components:{QuoteButton:n.A,QuoteCreditCardIcon:a.A},data(){return{paymentMethods:[],paymentMethod:!1}},mounted(){this.paymentMethod=this.value},props:{value:{type:Object,required:!1,default:()=>({})}},computed:{},methods:{async fetchPaymentMethods(){this.paymentMethod=this.value,this.paymentMethods=await(0,s._wH)(),this.paymentMethods=this.paymentMethods.map(e=>(e.selected=e.id===this.paymentMethod?.id,e))},async selectPaymentMethod(e){this.paymentMethods=this.paymentMethods.map(t=>(t.selected=t.id===e?.id,t))},async addNewPaymentMethod(){this.$emit("addNewPaymentMethod"),this.$modal.hide("pickPaymentMethod")},async pickPaymentMethod(){const e=this.paymentMethods.find(e=>e.selected);this.$emit("pickPaymentMethod",e),this.$modal.hide("pickPaymentMethod")},async saveAddress(){},async validateAddress(){}}}},4310:function(e,t,i){var s=i(3861),a=i(49782),n=(i(4506),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"bf1238b0",null);t.A=r.exports},78123:function(e,t){t.A={name:"QuoteProgressBar",props:{value:{type:Number,default:0},buffer:{type:Number,default:0},mode:{type:String,default:"determinate",validator(e){return["determinate","indeterminate","query","buffer"].includes(e)}}},computed:{isDeterminate(){return"determinate"===this.mode},isBuffer(){return"buffer"===this.mode},hasAmountFill(){return this.isBuffer||this.isDeterminate},progressClasses(){return this.mode},progressValueStyle(){if(this.hasAmountFill)return`width: ${this.value}%`},progressTrackStyle(){if(this.hasAmountFill)return`width: ${this.buffer}%`},progressBufferStyle(){if(this.hasAmountFill)return`left: calc(${this.buffer}% + 8px)`}}}},372:function(e,t,i){var s=i(60584),a=i(89990),n=(i(75499),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"46d084dc",
1null);t.A=r.exports},30469:function(e,t){t.A={name:"QuoteRemovedPartBar",props:{filename:{type:String,required:!0},busy:{type:Boolean,default:!1}}}},12144:function(e,t,i){var s=i(77628),a=i(26462),n=(i(41263),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"3069a7f1",null);t.A=r.exports},7249:function(e,t,i){var s=i(25006),a=i(82683),n=i(60801),r=i(39360),o=i(8864),l=i(9043),c=i(86202),d=i(17334),u=i.n(d),p=i(60703),h=i(12761),m=i(95353);t.A={name:"QuoteSample",components:{QuoteInput:s.A,QuoteMaterialPicker:a.A,QuoteTextInput:n.A,QuoteActionsDropdown:r.A,QuoteSampleSwatch:o.A,QuoteAdminPartDebuggingModal:l.A,BaseInternalPriceBreakdown:c.A},mixins:[h.co],props:{part:{type:Object,required:!1,default:()=>({})}},data(){return{quantity:this.part.quantity,modals:{actions:!1,configuration:!1,materials:!1,dfm:!1,finishing:!1}}},methods:{incrementPartQuantity(){this.quantity++,this.debouncedUpdatePart({quantity:this.quantity})},decrementPartQuantity(){this.quantity>1&&(this.quantity--,this.debouncedUpdatePart({quantity:this.quantity}))},updatePartQuantity(e=this.quantity){""!==e&&(0===e?e=1:Number(e).toFixed(0)!==e&&(e=Number(e).toFixed(0)),this.quantity=e,this.debouncedUpdatePart({quantity:e}))},debouncedUpdatePart:u()(function(e){this.updatePart(e)},200),updatePart(e){const t={...this.part,...e};this.$emit("updateSample",t)}},computed:{...(0,m.aH)({userUnits:e=>e.account.units}),axisLabel(){const e={x:0,y:0},t=this.part?.configuration?.dimensions;return t.width?(e.x=(0,p.A)(t.width,this.userUnits),e.y=(0,p.A)(t.height,this.userUnits),e):e},technologyAndMaterialName(){const e=this.userUnits,t=this.part?.thickness?.[e];if(t){const i=this.$options.filters.consistentDecimals(t);return`${this.part.technology_and_material_name} - ${i}${e}`}return this.part.technology_and_material_name}}}},40216:function(e,t,i){var s=i(52753),a=i(46102),n=(i(68908),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"3871b322",null);t.A=r.exports},14617:function(e,t,i){var s=i(65806);t.A={name:"QuoteSpecDropdown",components:{QuoteSpecPopover:s.A},props:{label:{type:String,required:!0},value:{type:String,default:""},options:{type:Array,default:()=>[]},groups:{type:Array,default:null},placeholder:{type:String,default:"Select…"},searchPlaceholder:{type:String,default:"Search or type…"},heading:{type:String,default:""},allowCustom:{type:Boolean,default:!0},alignRight:{type:Boolean,default:!1}},data(){return{query:""}},computed:{sections(){const e=e=>e.map(e=>"string"===typeof e?{label:e,id:null}:e);return this.groups?this.groups.filter(e=>e.options&&e.options.length).map(t=>({heading:t.heading,options:e(t.options)})):[{heading:this.heading,options:e(this.options)}]},flatOptions(){return this.sections.reduce((e,t)=>e.concat(t.options),[])},filteredSections(){const e=this.query.trim().toLowerCase();return this.sections.map(t=>({heading:t.heading,options:t.options.filter(t=>t.label.toLowerCase().includes(e))})).filter(e=>e.options.length)},showCreate(){const e=this.query.trim();return!(!e||!this.allowCustom)&&!this.flatOptions.some(t=>t.label.toLowerCase()===e.toLowerCase())},noResults(){return 0===this.filteredSections.length&&!this.showCreate}},methods:{onOpened(){const e=this.value&&!this.flatOptions.some(e=>e.label.toLowerCase()===this.value.toLowerCase());this.query=e?this.value:"",this.$nextTick(()=>this.$refs.search&&this.$refs.search.focus())},select(e){this.$emit("input",e),this.$refs.popover.close()},create(){const e=this.query.trim();e&&this.select(e)},onEnter(){const e=this.query.trim();if(!e)return;const t=this.flatOptions.find(t=>t.label.toLowerCase()===e.toLowerCase());if(t)return this.select(t.label);const i=this.flatOptions.find(t=>t.label.toLowerCase().includes(e.toLowerCase()));if(i)return this.select(i.label);this.allowCustom&&this.select(e)},onArrow(e){const t=this.$refs.options;if(!t)return;const i=Array.from(t.querySelectorAll(".spec-option"));if(!i.length)return;const s=i.indexOf(document.activeElement);e>0?i[s<0?0:Math.min(s+1,i.length-1)].focus():s<=0?this.$refs.search&&this.$refs.search.focus():i[s-1].focus()}}}},65806:function(e,t,i){var s=i(81134),a=i(76750),n=(i(65355),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"8d52ccb4",null);t.A=r.exports},96387:function(e,t,i){var s=i(12761);t.A={name:"QuoteSpecPopover",mixins:[s.co],props:{label:{type:String,required:!0},value:{type:String,default:""},placeholder:{type:String,default:"Select…"},alignRight:{type:Boolean,default:!1},haspopup:{type:String,default:"listbox"}},data(){return{open:!1}}
1,methods:{toggle(){this.open?this.close():(this.open=!0,this.$emit("opened"))},close(){this.open&&(this.open=!1,this.$emit("closed"))},closeToTrigger(){this.close(),this.$nextTick(()=>this.$refs.trigger&&this.$refs.trigger.focus())},onFocusOut(e){e.relatedTarget&&!this.$el.contains(e.relatedTarget)&&this.close()}}}},97514:function(e,t,i){i.r(t);var s=i(46421),a=i(60038),n=(i(79226),i(81656)),r=(0,n.A)(a.A,s.X,s.Y,!1,null,"68bdb022",null);t["default"]=r.exports},56111:function(e,t,i){var s=i(68689),a=i(12144),n=i(19948),r=i(65414),o=i(26897),l=i(4310),c=i(49769),d=i(60801),u=i(60135),p=i(40918),h=i(66881),m=i(34448),g=i(18204),f=i(59157),v=i(73982),y=i(40858),_=i(372),b=i(56066),w=i(23974),k=i(2513),C=i(4930),P=i(52407),S=i(12761),A=i(74870),q=i(73364),x=i(4931),M=i.n(x),T=i(48929),$=i.n(T),D=i(90280),I=i(56262),B=i(77286),O=i(95353),Q=i(17334),F=i.n(Q),E=i(73713),U=i(63519),N=i(30352),L=i(25971);const R=new Intl.DisplayNames(["en"],{type:"region"}),z="custom_production";t.A={name:"QuotePage",metaInfo:{title:"Quote - Ponoko"},components:{QuoteButton:r.A,AppUploader:c.A,QuoteDropdown:o.A,QuoteProgressBar:l.A,QuoteTextInput:d.A,QuoteCheckboxInput:u.A,QuoteSelectInput:p.A,CreditCardFields:D.A,AchBankAccountFields:I.Ay,QuotePart:s.A,QuoteSample:a.A,QuoteCustomPart:n.A,QuoteStoredAddress:h.A,QuoteAddressPicker:m.A,QuoteCreditCardIcon:g.A,QuotePaymentMethodPicker:f.A,QuoteCustomDeliveryModal:v.A,QuoteDeliveryMethodOption:y.A,QuoteRemovedPartBar:_.A,DeliveryCertaintyBadge:b.A,BaseTooltip:w.A,BaseTooltipIcon:k.A,BaseInternalButton:C.A,BaseInternalBadge:P.A},mixins:[S.co],data(){return{initialized:!1,quote:{id:this.$route.params.quoteId,parts:[],shipping_rate:{}},dropdowns:{sharing:!1,shippingLocation:!1,deliveryPreference:!1},deliveryPreference:null,deliveryPreferenceServices:[],locale:!1,currentlyDoingApiUpdate:0,email:"",password:"",createAccount:!1,emptyShippingAddress:{country:"US",name:"",company:"",addressLine1:"",addressLine2:"",phoneNumber:"",zip:"",stateProvince:"",city:"",errors:{}},shippingAddress:{country:"US",name:"",company:"",addressLine1:"",addressLine2:"",phoneNumber:"",zip:"",stateProvince:"",city:"",errors:{}},billingAddress:{country:"US",name:"",company:"",addressLine1:"",addressLine2:"",phoneNumber:"",zip:"",stateProvince:"",city:"",errors:{}},purchaseOrderNumber:"",showPurchaseOrderNumber:!1,shippingLocationZip:"",card:{number:"",expiration:"",cvc:""},saveThisCardForFutureOrders:!0,paymentMethod:"credit_card",basePaymentMethods:[{name:"Card",code:"credit_card"},{name:"30 day terms",code:"terms"},{name:"Bank account",code:"ach"}],processorResponseMessage:"",processorResponseMessages:{2001:"Insufficient funds - Please ensure you have sufficient funds available.",2002:"Limit exceeded - Your transaction exceeds your credit limit.",2003:"Cardholder's activity limit exceeded - You have exceeded the activity limit on your card.",2004:"Expired card - Please check the expiration date and try again.",2005:"Invalid credit card number - Please check your card details.",2006:"Invalid expiration date - Please check your card details.",2016:"Duplicate transaction - This transaction appears to be a duplicate.",81707:"CVC must be 4 digits for American Express and 3 digits for other card types.",2873:"Processor declined.",81717:"Card number not supported for testing.",91518:"Saved payment method is invalid."},external:{method:"wire",reference:"",notes:""},ach:(0,I.ub)(),achMandateText:'By clicking "Place your order", I authorize Braintree, a service of PayPal, on behalf of Ponoko (i) to verify my bank account information using bank information and consumer reports and (ii) to debit my bank account.',achErrorMessage:null,achErrorMessageDetails:null,quoteSharingLink:"https://www.ponoko.com/share/kAXJZX8Ixypw6SZUyIwOl",showCustomProductionSpeed:!1,storedAddresses:[],addingNewStoredAddress:!1,checkoutErrors:{},flatRateFiletypes:"pdf",customQuoteRequestedProductionSpeed:"Standard",customQuoteRequestedShippingSpeed:"Standard",customQuoteAdditionalNotes:"",selectedStoredPaymentMethod:!1,checkoutIdleTracker:null,quoteIdleTracker:null,exportingQuoteAsPdf:!1,deliverySpeedOptions:[],deliveryOptionsSettled:!1,removedParts:[]}},methods:{...(0,O.i0)(["getMaterials"]),async handleGoToCheckout(e){this.readyForCheckout?this.isGuest||!this.$store.state.account.isAuthenticated?(this.$router.push({path:this.$route.fullPath,query:{redirect:`/checkout/${this.quote.id}`}}),this.$modal.show("loginSignup",{view:"signup"})):await this.$router.push({name:"checkout",params:{quoteId:this.quote.id}}):this.promptUserForConfigurationOrMaterials()},async handleUpdateShippingAddressZip(){this.quote=await(0,B.B7Q)(this.shippingLocationZip,this.quote.id),this.dropdowns.shippingLocation=!1},getUserFriendlyProcessorResponseMessage(e){return console.log(e),this.processorResponseMessages[e]||"An unexpected error occurred."},async handleSubmitCustomQuoteRequest(){const e=await this.validateCheckout();if(!e)return!1;this.isGuest&&(this.quote=await(0,B.qid)(this.email,this.quote.id));const t={quoteId:this.quote.id,shippingAddressId:this.shippingAddress.id,additionalNotes:this.customQuoteAdditionalNotes,productionSpeed:this.customQuoteRequestedProductionSpeed,shippingSpeed:this.customQuoteRequestedShippingSpeed};try{const e=await(0,B.J3D)(t);if(!e.success)throw new Error(e);this.$router.push(`/account/orders/${this.quote.id}`),this.$store.commit("setQuote",{})}catch(i){}},async handlePayment(e){const t=await this.validateCheckout();if(this.createAccount){const e=await this.handleSignup();if(!e)return!1}else this.isGuest&&(this.quote=await(0,B.qid)(this.email,this.quote.id));if(!t)return!1;"credit_card"===this.paymentMethod&&await this.payWithCreditCard(),"terms"===this.paymentMethod&&await this.payWithTerms(),"ach"===this.paymentMethod&&await this.payWithAch(),"external"===this.paymentMethod&&await this.payWithExternal()},async validateCheckout(){this.checkoutErrors={};const e={};this.isGuest&&(e.email="Email is required"),this.createAccount&&(e.password="Password is required");const t=0===Number(this.quote.grand_total_usd),i=!t&&!this.quote.requires_custom_quote,s=this.displayedPaymentMethod?.token;if(Object.keys(e).forEach(t=>{this[t].trim()||this.$set(this.checkoutErrors,t,e[t])}),"credit_card"===this.paymentMethod&&i&&!s&&(this.card.number.trim()||this.$set(this.checkoutErrors,"cardNumber","Card number is required"),this.card.expiration.trim()||this.$set(this.checkoutErrors,"expiration","Expiration is required"),this.card.cvc.trim()||this.$set(this.checkoutErrors,"cvc","CVC is required")),"ach"===this.paymentMethod&&i&&!s){const e=(0,I.$b)(this.ach);Object.keys(e).length&&this.$set(this.checkoutErrors,"ach",e)}return!(Object.keys(this.checkoutErrors).length>0)},async payWithCreditCard(){const e={quote_id:this.quote.id,payment_type:this.paymentMethod,shipping_address_id:this.shippingAddress.id,billing_address_is_same_as_shipping:this.billingAddressIsSameAsShipping};this.displayedPaymentMethod?.token?e.credit_card_token_id=this.displayedPaymentMethod.token:(e.card_number=this.card.number,e.card_expiration_year=this.card.expiration.substr(5,2),e.card_expiration_month=this.card.expiration.substr(0,2),e.card_cvc=this.card.cvc,e.save_this_card_for_future_orders=this.saveThisCardForFutureOrders);try{const t=await(0,B.n5q)(e);if(!t.success)throw new Error(t);this.$router.push(`/account/orders/${t.quote_id}`),this.$store.commit("setQuote",{})}catch(t){this.handlePaymentError(t)}},handlePaymentError(e){if(409===e.response?.status&&e.response?.data?.quote_id)this.$router.push(`/account/orders/${e.response.data.quote_id}`);else if(e.response?.data?.message){const{processor_response_code:t}=e.response.data.message;this.processorResponseMessage=this.getUserFriendlyProcessorResponseMessage(t)}else this.processorResponseMessage="Something went wrong placing your order. Please check your connection and try again."},async payWithExternal(){const e={quote_id:this.quote.id,payment_type:"external",external_payment_method:this.external.method,shipping_address_id:this.shippingAddress.id,billing_address_is_same_as_shipping:this.billingAddressIsSameAsShipping};this.external.reference.trim()&&(e.external_reference=this.external.reference.trim()),this.external.notes.trim()&&(e.external_notes=this.external.notes.trim());try{const t=await(0,B.n5q)(e);if(!t.success)throw new Error(t);this.$router.push(`/account/orders/${t.quote_id}`),this.$store.commit("setQuote",{})}catch(t){this.handlePaymentError(t)}},async payWithTerms(){const e=window.location.origin,t="https://api.ponoko.com",i=t+"/api/v1/payments/resolvepay?format=html",s=e+this.$route.fullPath,a=this.quote.parts.map(e=>({name:e.name,sku:e.technology_and_material_name,unit_price:e.price.total/e.quantity,quantity:e.quantity}));a.push({name:`Production speed - ${this.productionSpeedValue}`,quantity:1,unit_price:this.quote.production_speed_price_usd}),this.showCreditsApplied&&a.push({name:"credit",quantity:1,unit_price:-Math.abs(this.quote.credits_applied.total_credit)});try{(0,q.d6)({sandbox:!1,modal:!0,merchant:{id:"ponoko",success_url:i,cancel_url:s},shipping:this.isPickupSelected?this.quote.pickup_location:this.quote.shipping_address,billing:this.quote.billing_address||(this.isPickupSelected?this.quote.pickup_location:this.quote.shipping_address),items:a,po_number:this.quote.purchase_order_number,order_number:this.quote.id,shipping_amount:this.selectedShippingRate?.price_usd,tax_amount:this.quote.sales_tax?.amount_to_collect,total_amount:this.quote.grand_total_usd})}catch(n){console.log(n),this.handlePaymentError(n)}},async payWithAch(){const e={quote_id:this.quote.id,payment_type:this.paymentMethod,shipping_address_id:this.shippingAddress?.id};try{if("bank_account"===this.displayedPaymentMethod?.type)e.payment_method_token=this.displayedPaymentMethod.token;else{const t=await(0,B.NNv)(),i=await M().create({authorization:t}),s=await $().create({client:i}
1),a=await s.tokenize({bankDetails:this.ach,mandateText:this.achMandateText});e.nonce=a.nonce,e.mandate_text=this.achMandateText}const t=await(0,B.n5q)(e);if(!t.success)throw new Error(t);this.$router.push(`/account/orders/${t.quote_id}`),this.$store.commit("setQuote",{})}catch(t){this.handlePaymentError(t)}},async handleSignup(){try{const{email:e,password:t}=this,i=await this.$store.dispatch("signup",{email:e,password:t});return i.isAuthenticated?(this.createAccount=!1,!0):(this.checkoutErrors={...i.errors,...this.checkoutErrors},!1)}catch(e){return console.error("Unexpected error during signup:",e.message),!1}},async ensureWeHaveQuoteData(e,t){this.allMaterials.length||await this.getMaterials();const i=this.$route.params.quoteId||this.$store.state.quote.id,s=i?await(0,B.TZO)(i):await(0,B.vFO)();!i&&s.id&&await this.$router.push({name:"quote",params:{quoteId:s.id}}),this.unaccepted&&s.accepted&&!s.paid_at&&await(0,B.oUO)(s.id);const a=s.parts.every(this.partHasBeenInitialized),n=this.accepted;a||n||(s.parts=await this.initializeParts(s.parts,s.id)),this.quote=s,this.initialized=!0,!n||this.displayedShippingAddress||this.isPickupSelected||this.$modal.show("pickShippingAddress"),this.deliverySpeedOptions.length||await this.getDeliverySpeedOptions(),await this.handleUserSelectedMaterialFromPublicCatalog(),await this.handleUserSelectedTechnologyFromFiletype(),this.promptUserForConfigurationOrMaterials()},async handleUserSelectedMaterialFromPublicCatalog(){const e=this.$route.params.userSelectedMaterialFromPublicCatalog;if(e){const{thicknessId:t,partId:i}=e,s=this.quote.parts.find(e=>e.id===i);await this.handleSelectMaterial(s,{thicknessId:t})}},async handleUserSelectedTechnologyFromFiletype(){const e=this.$route.params.userSelectedMaterialFromPublicCatalog;if(e){const{thicknessId:t,partId:i}=e,s=this.quote.parts.find(e=>e.id===i);await this.handleSelectMaterial(s,{thicknessId:t})}},async promptUserToConfigure(){await this.$nextTick();const e=this.partsRequiringConfiguration;e.length&&this.$modal.show(`part-configuration-modal-for-${e[0].id}`)},async promptUserToSelectMaterials(){if(await this.$nextTick(),this.$modal.showing)return;const e=this.partsRequiringMaterial;if(!e.length)return;const t=this.partsRequiringConfiguration;if(t.length||1!==e.length){const e=this.quote.parts.indexOf(this.partsRequiringMaterial[0]);this.$refs.parts[e].focusProductionAndMaterialInput()}else this.$modal.show(`material-chooser-modal-for-${this.partsRequiringMaterial[0].id}`)},async promptUserForConfigurationOrMaterials(){await this.promptUserToConfigure(),await this.promptUserToSelectMaterials()},handleCopyPart(e){return(0,B.fTx)(e.id).then(e=>{this.quote=e})},async handleCopyCustomPart(e){this.quote=await(0,B.IMM)(e.id)},async handleRemovePart(e){const t=JSON.parse(JSON.stringify({id:e.id,name:e.name,design_id:e.design_id,quantity:e.quantity,thickness:e.thickness&&{id:e.thickness.id},finishing_service_ids:e.finishing_service_ids,configuration:e.configuration,dfm_analysis_id:e.dfm_analysis_id,quality_inspection_service_id:e.quality_inspection_service_id,post_processing_service_id:e.post_processing_service_id,precision_service_id:e.precision_service_id,certification_service_id:e.certification_service_id,minutes:e.minutes,price:e.price})),i=this.quote.parts.indexOf(e);this.deliverySpeedOptions=[],this.deliveryOptionsSettled=!1,this.quote=await(0,B.KOc)(this.quote.id,e.id),this.removedParts.push({snapshot:t,index:i,busy:!1}),await this.getDeliverySpeedOptions()},dismissRemovedPartBar(e){this.removedParts=this.removedParts.filter(t=>t.snapshot.id!==e.snapshot.id)},async handleUndoRemovePart(e){if(console.log({key:e.snapshot.id,filename:e.snapshot.name}),e.busy)return;e.busy=!0;const{snapshot:t}=e;try{const s=new Set(this.quote.parts.map(e=>e.id)),a=e=>!s.has(e.id)&&e.design_id===t.design_id;let n=await(0,B.Uoh)([t.design_id],this.quote.id);const r=n.parts.find(a);if(t.thickness&&r){const e=Object.fromEntries(Object.entries({id:r.id,quantity:t.quantity,material_option_id:t.thickness.id,finishing_service_ids:t.finishing_service_ids,configuration:t.configuration,dfm_analysis_i
1d:t.dfm_analysis_id,quality_inspection_service_id:t.quality_inspection_service_id,post_processing_service_id:t.post_processing_service_id,precision_service_id:t.precision_service_id,certification_service_id:t.certification_service_id,minutes:t.minutes,price:t.price}).filter(([,e])=>void 0!==e));try{n=await(0,B.tDY)(e)}catch(i){n=await(0,B.TZO)(this.quote.id)}}n.parts=await this.initializeParts(n.parts,n.id),this.quote=n;const o=this.quote.parts,l=o.findIndex(a);if(-1!==l){const[t]=o.splice(l,1);o.splice(Math.min(e.index,o.length),0,t)}this.dismissRemovedPartBar(e),await this.getDeliverySpeedOptions()}catch(s){e.busy=!1,this.$store.commit("notify",{title:"Error",message:"Could not restore the part. Please try again."})}},async handleRemoveCustomPart(e){this.quote=await(0,B.S6U)(e.id)},async refreshQuote(){const e=await(0,B.TZO)(this.quote.id);e.parts=await this.initializeParts(e.parts,e.id),this.quote=e},async handleUpload(){this.removedParts=[],await this.refreshQuote(),await this.getDeliverySpeedOptions(),this.promptUserForConfigurationOrMaterials()},async handleAddStoredDesigns(e){this.removedParts=[];const t=e.map(e=>e.id);await(0,B.Uoh)(t,this.quote.id).then(async e=>{e.parts=await this.initializeParts(e.parts,e.id),this.quote=e,await this.getDeliverySpeedOptions(),this.promptUserForConfigurationOrMaterials()})},debouncedUpdatePart:F()(function(e){this.updatePart(e)},200),async pickShippingAddress(e){this.quote=await(0,B.RRb)(e.id,this.quote.id),await this.getDeliverySpeedOptions()},async pickBillingAddress(e){this.quote=await(0,B.Yt2)(e.id,this.quote.id)},async updatePart(e){const{minutes:t,price:i}=this.getPartPriceAndMinutes(e);try{this.quote=await(0,B.tDY)({...e,minutes:t,price:i})}catch(s){await this.refreshQuote()}this.getDeliverySpeedOptions()},async handleSelectMaterial(e,t){const{thicknessId:i}=t;e.thickness={id:i},e.size={id:t.sizeId},e.technology_slug=t.material?.technology_slug,e.material_option_id=i,await this.updatePart(e),t.materialId&&this.$store.commit("addRecentMaterial",t.materialId),this.reportMaterialAnalytics(t)},async handleSelectMaterialForAllParts(e){const{thicknessId:t,material:i}=e,s=await this.partsEligibleForBulkMaterialAssignment(i);if(!s.length)return;const a=s.map(e=>{e.thickness={id:t},e.technology_slug=i?.technology_slug,e.material_option_id=t;const{minutes:s,price:a}=this.getPartPriceAndMinutes(e);return{id:e.id,material_option_id:t,minutes:s,price:a}});try{this.quote=await(0,B.cCy)(this.quote.id,a)}catch(n){await this.refreshQuote()}this.getDeliverySpeedOptions(),e.materialId&&this.$store.commit("addRecentMaterial",e.materialId),this.$segment.track("Assigned Material To All Parts",{partCount:a.length})},async partsEligibleForBulkMaterialAssignment(e){this.allTechnologies.length||await this.$store.dispatch("getTechnologies");const t=this.allTechnologies.find(t=>t.slug===e?.technology_slug);return t?(this.quote.parts||[]).filter(e=>{if(e.is_custom_part||e.is_sample)return!1;if(!e.design?.eligible_for_instant_quote)return!1;const i=e.design?.original_file_extension?.toUpperCase();return t.acceptedFiletypes?.includes(i)}):[]},reportMaterialAnalytics(e){this.$segment.track("Selected Material")},reportConfigureAnalytics(e){this.$segment.track("Confirmed Part Configuration")},async handleConfigure(e,t){e.configuration=t,e.thumbnail_url=null,this.debouncedUpdatePart(e),this.reportConfigureAnalytics(t),this.promptUserForConfigurationOrMaterials()},async getDeliverySpeedOptions(){const e=this.hasCustomProductionSpeed&&!this.deliveryPreference;this.deliveryOptionsSettled=!1;const{options:t,availableServices:i}=await(0,B.aug)({quoteId:this.quote.id,serviceCode:this.deliveryPreference?.serviceCode,includeServices:!e});this.deliverySpeedOptions=t,this.deliveryOptionsSettled=!0,e||(this.deliveryPreferenceServices=i),this.syncSelectedDeliveryDate()},syncSelectedDeliveryDate(){const e=this.quote?.selected_delivery,t=e&&this.deliverySpeedOptions.find(t=>t.id===e.id);t&&(e.arrives_by=t.arrivesBy,e.title=t.title)},async handleSelectDeliveryPreference(e){if(this.dropdowns.deliveryPreference=!1,(e?.serviceCode??null)===(this.deliveryPreference?.serviceCode??null))return;this.deliveryPreference=e,await this.getDeliverySpeedOptions();const t=this.deliverySpeedOptions,i=t.some(e=>e.id===this.quote.selected_delivery?.id);if(e&&!i&&t.length){const e=t.find(e=>e.recommended)||t[t.length-1];await this.submitDeliverySelection(e,{autoSelected:!0})}},async handleSelectDeliverySpeedOption(e){e.id===z&&this.$store.getters.isStaff?this.$modal.show("customDelivery"):e.shippingRateToken&&e.id!==this.quote.selected_delivery?.id&&await this.submitDeliverySelection(e,{autoSelected:!1})},async submitDeliverySelection(e,{autoSelected:t}){this.$segment.track("Delivery Option Selected",{quote_id:this.quote.id,preference:this.deliveryPreference?.serviceCode??"recommended",auto_selected:t}),this.quote.selected_delivery={id:e.id,arrives_by:e.arrivesBy,is_guaranteed:e.isGuaranteed,price_usd:e.priceUsd,title:e.title,subtitle:e.subtitle,delivery_certainty:e.deliveryCertainty},this.quote=await(0,B.DD$)({quoteId:this.quote.id,productionSpeedId:e.productionSpeedId,shippingRateToken:e.shippingRateToken})},async initializeParts(e,t){const i=await Promise.all(e.map(async e=>await this.initializePart(e))),s=i.filter(this.partAwaitingGeometry);if(!s.length||!t)return i;await Promise.all(s.map(e=>this.waitForDesignAnalysis(e.design.id)));const a=await(0,B.TZO)(t);return Promise.all(a.parts.map(async e=>await this.initializePart(e)))},async initializePart(e){if(this.partHasBeenInitialized(e))return e;if(e.is_custom_part||e.is_sample)return e;const t=e.design;if(!t.eligible_for_instant_quote)return e;if(this.partAwaitingGeometry(e))return e;e.configuration={};const i=(0,E.A)(t);e.configuration.styles=i;const s={calculated_width:t.calc_base_data.width,calculated_height:t.calc_base_data.height};return e.configuration.dimensions=t.format?.confirmed_width?{...t.format,...s,width:t.format.confirmed_width,height:t.format.confirmed_height}:{...s,width:t.calc_base_data.width,height:t.calc_base_data.height},await this.updatePart(e),e},partAwaitingGeometry(e){if(e.is_custom_part||e.is_sample)return!1;const t=e.design;return!!t?.eligible_for_instant_quote&&(!t.format?.confirmed_width&&(!this.partHasBeenInitialized(e)&&!t.calc_base_data?.metadata?.version))},async waitForDesignAnalysis(e){const t=Date.now()+3e4;while(Date.now()<t){const{status:t}=await(0,B.zW$)(e);if("success"===t||"failed"===t)return;await new Promise(e=>setTimeout(e,500))}},partHasBeenInitialized(e){if(e.is_custom_part)return!0;const t=e.configuration,i=t?.dimensions,s=t?.dimensions?.calculated_width,a=t?.styles?.length;return i&&s&&a},getPartPriceAndMinutes(e){if(!e.thickness)return{minutes:{},price:{}};const t=this.$store.getters.getPartPricing(e);return t},getTotalPriceForAllParts(){const e=this.quote.parts||[];return Array.isArray(e)?e.reduce((e,t)=>
1{const i=t.price.total;return i?i+e:e},0):0},laTime(e=new Date){return new Date(e.toLocaleString("en-US",{timeZone:"America/Los_Angeles"}))},formatShortLaDate(e){const t={month:"short",day:"numeric",timeZone:"America/Los_Angeles"};return new Date(e).toLocaleDateString("en-US",t)},getRelativeDate(e){const t=this.laTime();t.setHours(0,0,0,0);const i=new Date(t);i.setDate(t.getDate()+1);const s=this.laTime(new Date(e));return s.setHours(0,0,0,0),s.getTime()===t.getTime()?"today":s.getTime()===i.getTime()?"tomorrow":this.formatShortLaDate(e)},populateDummyCheckout(){const e=!1;e&&(this.shippingAddress={country:"US",name:"Lenny K. Weir",company:"Friendly Interior Design",addressLine1:"908 Hedge Street",addressLine2:"ATTN: Benefits clerk",phoneNumber:"908-720-8332",zip:"46801",stateProvince:"IN",city:"Wayne"},this.card={number:"4111 1111 1111 1111",expiration:"11 / 31",cvc:"854"})},async handleShareLinkToQuoteClick(){if(!this.dropdowns.sharing){const e={redirect_to:this.unaccepted?"quote":"checkout",is_private:this.unaccepted};this.quoteSharingLink=await(0,B.oh)(this.quote.id,e)}this.dropdowns.sharing=!this.dropdowns.sharing},async handleExportFormalQuoteClick(){this.exportingQuoteAsPdf=!0;try{const e=await(0,B.bXZ)(this.quote.id),t=URL.createObjectURL(e),i=document.createElement("a");i.style.display="none",i.href=t,i.download=`Quote - ${this.quote.id} - Ponoko.pdf`,document.body.appendChild(i),i.click(),URL.revokeObjectURL(t),i.remove()}catch(e){console.log(e)}finally{this.exportingQuoteAsPdf=!1}},copyShareQuoteLinkToClipboard(){(0,A.t)(this.quoteSharingLink),this.dropdowns.sharing=!1},async handleSaveCustomPart(e,t){await this.saveOrCreateCustomPart(t)},async saveOrCreateCustomPart(e){e.quote_id=this.quote.id;const t=await(0,B.dF$)(e);this.quote=t,this.$store.commit("setQuote",t),this.getDeliverySpeedOptions()},async addCustomPart(){const e={quoteId:this.quote.id},t=await(0,B.dF$)(e);this.$store.commit("setQuote",t),this.quote.parts=t.parts},addInterceptors(){B.dYG.request.use(e=>(this.currentlyDoingApiUpdate++,e)),B.dYG.response.use(e=>(setTimeout(()=>{this.currentlyDoingApiUpdate--},0),e),e=>{throw setTimeout(()=>{this.currentlyDoingApiUpdate--},0),e})},async handleToggleDeliveryPreferenceDropdown(){if(this.dropdowns.deliveryPreference=!this.dropdowns.deliveryPreference,this.dropdowns.deliveryPreference&&!this.deliveryPreferenceServices.length&&this.hasCustomProductionSpeed){const{availableServices:e}=await(0,B.aug)({quoteId:this.quote.id});this.deliveryPreferenceServices=e}},handleOpenCustomDeliveryModal(){this.dropdowns.deliveryPreference=!1,this.$modal.show("customDelivery")},handleCustomDeliverySaved(e){this.quote=e,this.deliveryPreference=null,this.deliverySpeedOptions=[e.selected_delivery].filter(Boolean).map(U.A),this.deliveryOptionsSettled=!0},handleChangeShippingAddressClick(){this.$store.state.account.isAuthenticated?this.$modal.show("pickShippingAddress"):this.dropdowns.shippingLocation=!0},handleAddAPoNumber(){this.showPurchaseOrderNumber=!0},async addPurchaseOrderNumber(){this.quote=await(0,B.DkN)(this.purchaseOrderNumber,this.quote.id)},prepopulateAchDebug(){this.ach={...(0,I.ub)(),routingNumber:"011000015",accountNumber:"1000000000",businessName:"Conjectural Technologies",billingAddress:{streetAddress:"95  Oak Street",extendedAddress:"",locality:"Oswego",region:"NY",postalCode:"13126"}}},reportQuoteAnalytics(){const e=this.quote.parts?.some(e=>e.material&&e.thickness);if(!e)return;const t=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}),i={price:this.quote.grand_total_usd,grand_total_usd:this.quote.grand_total_usd,setup_fee_usd:this.quote.setup_fee_usd,shipping_speed_price_usd:this.quote.shipping_speed_price_usd,production_speed_price_usd:this.quote.production_speed_price_usd,discount_usd:this.quote.discount_usd,quote_id:this.quote.id,price_formatted:t.format(this.quote.grand_total_usd),design_uploader:this.quote.parts.every(e=>"sales"===e.design_uploader)?"sales":"user",quote_generator:this.quote.quote_generator,parts:this.quote.parts.map(e=>({name:e.name,design_id:e.design_id,design_thumbnail_url:e.design_thumbnail_url,technology_and_material_name:e.technology_and_material_name,material_name:e.material?.display_name,technology_name:e.material?.technology_name,material_option_id:e.material_option_id,quantity:e.quantity,price:e.price.total,minutes:e.minutes.total,price_formatted:t.format(e.price.total)}))};
1this.$modal.showing||(this.$segment.track("Viewed Quote",i),this.quoteIdleTracker.start())},handleCollaborateWithSalesEngineerClick(){this.$intercom.show();try{const e={quote_id:this.quote?.id,source:"quote page",parts:this.quote.parts.map(e=>({name:e.name}))};this.$segment.track("Sales Engineer Contact Requested",e)}catch(e){console.error("Failed to send Segment event",e)}},async pickPaymentMethod(e){this.selectedStoredPaymentMethod=e},async addNewPaymentMethod(){this.selectedStoredPaymentMethod=!1,this.quote.default_payment_method=!1},async updateSample(e){this.quote=await(0,B.U6f)(e),this.getDeliverySpeedOptions()},async removeSample(e){this.quote=await(0,B.HkB)(e),this.getDeliverySpeedOptions()},addIdleTimers(){this.checkoutIdleTracker=new N.A({timeout:5e3,callback:()=>{this.$segment.track("Checkout Hesitation")}}),this.quoteIdleTracker=new N.A({timeout:5e3,callback:()=>{this.$modal.showing||this.$segment.track("Quote Hesitation")}})},async handleNonAdminRedirectToCheckout(e,t,i){const s=this.quoteHasCustomParts,a=!this.$store.getters.isStaff,n="quote"===e.name;s&&a&&n&&i({name:"checkout",params:{quoteId:this.quote.id}})}},computed:{...(0,O.L8)(["getPartPricing"]),...(0,O.aH)({allMaterials:e=>e.catalog.allMaterials,allTechnologies:e=>e.catalog.allTechnologies,isGuest:e=>e.account.isGuest}),quoteHasMultipleStandardParts(){const e=(this.quote.parts||[]).filter(e=>!e.is_custom_part&&!e.is_sample);return e.length>1},recentCustomTechnologies(){const e=(this.quote.parts||[]).map(e=>e.custom_technology_name||e.customTechnologyName).filter(Boolean);return[...new Set(e)]},accepted(){return"checkout"===this.$route.name},unaccepted(){return"quote"===this.$route.name},userFriendlyLocale(){if(!this.quote||!this.quote?.shipping_address||this.quote?.shipping_rate?.is_pickup)return!1;const{name:e,city:t,zip:i,country:s}=this.quote.shipping_address;return e&&t&&i?`${e} - ${t} ${i}`:t&&i?`${t} - ${i}`:t||(i||!!s&&R.of(s))},isPickupSelected(){return!!this.quote.for_pickup},pickupLocale(){const e=this.quote?.pickup_location;return!!e&&`${e.name} - ${e.city} ${e.zip}`},deliveryPreferenceLabel(){return this.deliveryPreference?`Showing: ${this.deliveryPreference.serviceName}`:"More delivery options"},orderByMessage(){const e=this.quote?.selected_delivery?.arrives_by;if(!e)return null;const t=this.isPickupSelected?"pickup":"delivery",i=this.formatShortLaDate(e),s=this.getRelativeDate(e);if("today"===s||"tomorrow"===s)return`Order by 11 a.m. for ${t} by ${i}`;const a=this.laTime(),n=new Date(a);n.setHours(24,0,0,0);const r=Math.floor((n-a)/36e5);return r<1?`Order before midnight PT for ${t} by ${i}`:`Order in the next ${r} hours for ${t} by ${i}`},lineItems(){const e=[{label:"Setup",value:this.quote.setup_fee_usd},{label:"Parts",value:this.getTotalPriceForAllParts()}];return Math.abs(this.quote.discount_usd)&&e.push({label:"Multiple Part Discount",value:this.quote.discount_usd}),this.accepted?(this.quote.selected_delivery?e.push({label:`Delivery - ${this.quote.selected_delivery.title}`,value:this.quote.selected_delivery.price_usd,certainty:this.quote.selected_delivery.delivery_certainty}):(e.push({label:`Production speed - ${this.productionSpeedValue}`,value:this.quote.production_speed_price_usd}),e.push({label:`Shipping speed - ${this.shippingSpeedValue}`,value:this.selectedShippingRate?.price_usd})),e):e},checkoutBlocker(){return(0,L.Ay)(this.quote)},readyForCheckout(){return!this.checkoutBlocker},toolTipForDisabledCheckoutButton(){return this.checkoutBlocker?.tooltip||""},quoteIsEmpty(){return!(this.quote.parts||[]).length},partListItems(){const e=(this.quote.parts||[]).map(e=>({part:e}));return this.removedParts.forEach(t=>{e.splice(Math.min(t.index,e.length),0,{removedEntry:t})}),e},deliveryOptionsNotYetAvailable(){return!!this.quoteIsEmpty||this.deliveryOptionsSettled&&!this.deliverySpeedOptions.length},readyForPayment(){const e=this.isPickupSelected||!this.displayedShippingAddress?.needs_phone;return e&&!(0,L.u9)(this.quote)},selectedShippingRate(){return this.quote.selected_shipping},shippingSpeedValue(){if(this.quote.requires_custom_quote)return`Shipping speed - ${this.customQuoteRequestedShippingSpeed}`;const e=this.selectedShippingRate?.service_name;if(!e)return"-";const t=this.getRelativeDate(this.selectedShippingRate.arrives_by),i=this.selectedShippingRate.is_guaranteed&&this.quote.production_speed_is_guaranteed?"guaranteed":"estimated",s=this.isPickupSelected?"Pickup":"Delivered";return`${e} - ${s} ${t} (${i})`},productionSpeedValue(){if(this.quote.custom_production_speed_ships_by){const e=new Date(this.quote.custom_production_speed_ships_by),t={month:"short",day:"numeric",timeZone:"UTC"},i=e.toLocaleDateString("en-US",t);return`Ships ${i}`}if(Number.isFinite(this.quote.custom_production_speed_business_days)){const e=this.$options.filters.toDayString(this.quote.custom_production_speed_business_days),t=this.getRelativeDate(this.quote.production_speed_ships_by);return`${e} - Ships ${t} (guaranteed)`}if(this.quote.requires_custom_quote)return this.customQuoteRequestedProductionSpeed;{const e=this.$options.filters.toDayString(this.quote.production_speed_days),t=this.quote.production_speed_is_guaranteed?"guaranteed":"estimated",i=this.getRelativeDate(this.quote.production_speed_ships_by);return`${e} - Ships ${i} (${t})`}},partsRequiringConfiguration(){return this.quote.parts.filter(L.lc)},partsRequiringMaterial(){return this.quote.parts.filter(L.oj)},showExternalPaymentOption(){return this.$store.getters.isAdmin||this.$store.state.account.isImpersonating},paymentMethods(){return this.showExternalPaymentOption?[...this.basePaymentMethods,{name:"External",code:"external"}]:this.basePaymentMethods},paymentButtonSelectionClass(){const e=this.paymentMethods.findIndex(e=>e.code===this.paymentMethod);return`position-${Math.max(e,0)+1}`},netTermsDueDate(){if(this.quote.resolve_capture_on_shipment)return"30 days after shipment";const e=new Date;e.setDate(e.getDate()+30);const t={year:"numeric",month:"long",day:"numeric"};let i=e;
1try{i=e.toLocaleString("default",t)}catch(s){i=e.toLocaleString(void 0,t)}return i},showSharingOptions(){return!!this.accepted||!this.quote.parts.some(e=>e.is_custom_part)},quoteHasCustomParts(){return this.quote.parts.some(e=>e.is_custom_part)},canAddCustomParts(){return this.$store.getters.isStaff&&this.unaccepted},isCustomDeliverySelected(){return this.quote.selected_delivery?.id===z},hasCustomProductionSpeed(){return!!this.quote.custom_production_speed_ships_by||Number.isFinite(this.quote.custom_production_speed_business_days)},userFriendlyCustomValidUntil(){if(!this.quote?.custom_valid_until)return!1;const e=new Date(this.quote.custom_valid_until),t=new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0,timeZoneName:"short"}).format(e);return t},customValidUntilIsExpired(){return(0,L.xt)(this.quote)},shippingAddressIsValid(){const e=this.shippingAddress;return!Object.keys(e.errors).length>0},displayedShippingAddress(){const e=this.quote?.shipping_address;if(e&&e.id&&!e.geolocated)return e},displayedBillingAddress(){const e=this.quote?.billing_address;if(e&&e.id&&!e.geolocated)return e},displayedPaymentMethod(){const e=this.selectedStoredPaymentMethod||(0,U.A)(this.quote?.default_payment_method);if(e&&e.id)return e},showCreditsApplied(){const e=this.quote.credits_applied?.total_credit;return Math.abs(e)>0},billingAddressIsSameAsShipping:{get(){return!this.quote?.billing_address},async set(e){e?this.quote=await(0,B.ENz)(this.quote.id):this.$modal.show("pickBillingAddress")}}},async beforeRouteLeave(e,t,i){this.removedParts=[],await this.handleNonAdminRedirectToCheckout(e,t,i),"quote"!==e.name||e.params.quoteId!==t.params.quoteId||this.quote.paid_at||await(0,B.oUO)(this.quote.id),i()},async beforeRouteEnter(e,t,i){"checkout"===e.name&&e.params.quoteId?i(async e=>{e.quote=await(0,B.fo8)(e.quote.id),e.$segment.track("Checkout Started"),e.checkoutIdleTracker.start(),e.isPickupSelected?e.displayedBillingAddress||e.$modal.show("pickBillingAddress"):e.displayedShippingAddress||e.$modal.show("pickShippingAddress")}):i()},async updated(){0},async mounted(){this.addInterceptors(),this.addIdleTimers(),await this.ensureWeHaveQuoteData()},beforeDestroy(){this.checkoutIdleTracker.destroy(),this.quoteIdleTracker.destroy()},watch:{displayedPaymentMethod:{immediate:!0,handler(e){e?.type&&(this.paymentMethod="bank_account"===e.type?"ach":"credit_card")}},quote:{handler(e,t){e.grand_total_usd!==t.grand_total_usd&&this.reportQuoteAnalytics(),this.$store.commit("setQuote",Object.assign({},e))},deep:!0}}}},21114:function(e,t,i){var s=i(3943);t.A=s.A},34090:function(e,t,i){var s=i(23055);t.A=s.A},97198:function(e,t,i){var s=i(47325);t.A=s.A},25576:function(e,t,i){var s=i(50353);t.A=s.A},45013:function(e,t,i){var s=i(78294);t.A=s.A},39302:function(e,t,i){var s=i(30931);t.A=s.A},46622:function(e,t,i){var s=i(93117);t.A=s.A},8464:function(e,t,i){var s=i(10783);t.A=s.A},55376:function(e,t,i){var s=i(26105);t.A=s.A},26954:function(e,t,i){var s=i(75459);t.A=s.A},84669:function(e,t,i){var s=i(52622);t.A=s.A},10135:function(e,t,i){var s=i(3640);t.A=s.A},38363:function(e,t,i){var s=i(37138);t.A=s.A},98113:function(e,t,i){var s=i(50204);t.A=s.A},49782:function(e,t,i){var s=i(78123);t.A=s.A},89990:function(e,t,i){var s=i(30469);t.A=s.A},26462:function(e,t,i){var s=i(7249);t.A=s.A},46102:function(e,t,i){var s=i(14617);t.A=s.A},76750:function(e,t,i){var s=i(96387);t.A=s.A},60038:function(e,t,i){var s=i(56111);t.A=s.A},62527:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(82862)},46076:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(97433)},28906:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(97025)},99609:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(39956)},50984:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(32883)},48250:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(61679)},48348:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(42319)},91132:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(86683)},64185:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(41692)},58927:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(63014)},58114:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(12441)},46175:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(87884)},92711:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(82150)},59977:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(50856)},3861:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(78412)},60584:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(46051)}
1,77628:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(58095)},52753:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(47870)},81134:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(93435)},46421:function(e,t,i){i.d(t,{X:function(){return s.X},Y:function(){return s.Y}});var s=i(32220)},14564:function(e,t,i){i(27401)},18879:function(e,t,i){i(1282)},7309:function(e,t,i){i(90338)},86422:function(e,t,i){i(1535)},84509:function(e,t,i){i(19866)},10195:function(e,t,i){i(26370)},4419:function(e,t,i){i(81880)},65827:function(e,t,i){i(84848)},83129:function(e,t,i){i(78156)},60677:function(e,t,i){i(34028)},22180:function(e,t,i){i(35361)},1127:function(e,t,i){i(61208)},91083:function(e,t,i){i(53576)},72723:function(e,t,i){i(41011)},11308:function(e,t,i){i(27337)},4506:function(e,t,i){i(2747)},75499:function(e,t,i){i(21540)},41263:function(e,t,i){i(35624)},68908:function(e,t,i){i(36639)},65355:function(e,t,i){i(2958)},79226:function(e,t,i){i(27075)},82862:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("button",e._g({staticClass:"internal-button",attrs:{type:"button"}},e.$listeners),[e._t("default"),t("base-internal-badge",{attrs:{mini:""}})],2)},a=[]},97433:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"fabrication-setting-swatch",class:{"has-fill":e.hasFill,"no-stroke":!e.hasStroke}},[e.hasStroke?t("div",{staticClass:"stroke",style:{borderColor:e.stroke}}
1):e._e(),e.hasStroke?t("div",{staticClass:"stroke-knockout"}):e._e(),t("div",{staticClass:"fill",style:{backgroundColor:e.fill}})])},a=[]},97025:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"part-render-image"},[e.displaySrc?t("img",{staticClass:"part-render-image__img",attrs:{src:e.displaySrc,alt:""},on:{error:e.onImgError}}):t("div",{staticClass:"part-render-image__placeholder"})])},a=[]},39956:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",[t("AppModal",{staticClass:"address-picker-modal",attrs:{name:e.pickAddressModal,"close-on-click-outside":!1},on:{"before-open":e.fetchAddresses}},[t("div",{staticClass:"address-picker-heading"},[e._v(" Choose a "+e._s(e.addressType)+" address ")]),t("div",{staticClass:"stored-address-list"},[e._l(e.addresses,function(i){return t("div",{key:i.id,staticClass:"stored-address-option",class:{selected:i.selected},on:{click:function(t){return e.selectAddress(i)}}},[t("div",{staticClass:"stored-address-radio"},[t("div",{staticClass:"stored-address-radio-inner"})]),t("quote-stored-address",{attrs:{address:i}}),t("a",{staticClass:"stored-address-edit-link",attrs:{href:"javascript:;"},on:{click:function(t){return e.editAddress(i)}}},[e._v("Edit address")])],1)}),t("div",{staticClass:"add-new-stored-address"},[t("quote-button",{staticClass:"address-picker-action button-transparent button-small",on:{click:e.switchToAddAddressModal}},[t("img",{staticClass:"address-picker-add-new-address-button-icon",attrs:{src:i(18640),alt:""}}),e._v(" Add a new "+e._s(e.addressType)+" address ")])],1)],2),t("div",{staticClass:"address-picker-actions"},[t("quote-button",{staticClass:"address-picker-action",attrs:{label:"Close"},on:{click:function(t){return e.$modal.hide(e.pickAddressModal)}}}),t("quote-button",{staticClass:"address-picker-action button-dark",attrs:{label:"Use this address"},on:{click:e.pickAddress}})],1)]),t("AppModal",{staticClass:"add-address-modal",attrs:{name:e.addAddressModal,"close-on-click-outside":!1},on:{beforeOpen:function(t){e.address=e.value}}},[e.address.id?t("div",{staticClass:"address-picker-heading"},[e._v(" Edit "+e._s(e.addressType)+" address ")]):t("div",{staticClass:"address-picker-heading"},[e._v(" Add "+e._s(e.addressType)+" address ")]),t("quote-address-input",{staticClass:"add-new-saved-address-form",model:{value:e.address,callback:function(t){e.address=t},expression:"address"}}),t("div",{staticClass:"address-picker-actions"},[e.address?t("quote-button",{staticClass:"address-picker-action",attrs:{label:"Cancel"},on:{click:e.switchToAddressPickerModal}}):e._e(),t("quote-button",{staticClass:"address-picker-action button-dark",attrs:{label:"Save and continue"},on:{click:e.saveAddress}})],1)],1)],1)},a=[]},32883:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",[t("h5",{staticClass:"part-configuration-heading"},[e._v(" Part Configuration "),t("img",{staticClass:"caret-right",attrs:{src:i(20131),alt:""}}),t("span",{staticClass:"part-configuration-heading-part-name"},[e._v(" "+e._s(e.part.name)+" ")])]),t("div",{staticClass:"part-configuration-modal-container"},[t("div",{staticClass:"large-design-preview"},[t("div",{staticClass:"dfm-banners"},[e.hasUnconvertedText&&e.showTextWarning?t("div",{staticClass:"dfm-banner"},[e._m(0),t("button",{staticClass:"dfm-banner__dismiss",attrs:{title:"Dismiss"},on:{click:function(t){e.showTextWarning=!1}}},[e._v(" × ")])]):e._e(),e.hasClippingMask&&e.showClippingMaskWarning?t("div",{staticClass:"dfm-banner"},[e._m(1),t("button",{staticClass:"dfm-banner__dismiss",attrs:{title:"Dismiss"},on:{click:function(t){e.showClippingMaskWarning=!1}}},[e._v(" × ")])]):e._e()]),"3d"===e.renderType?t("QuotePartRender",{attrs:{"show-zoom-controls":!0,"show-measurement-tool":!0,part:e.previewPart,"currently-editing":e.currentlyEditing},on:{"render-state":e.onPartRenderState}}
1):t("QuoteDesignPreview",{attrs:{"show-zoom-controls":!0,"show-measurement-tool":!0,part:e.previewPart,"currently-editing":e.currentlyEditing}})],1),t("div",{staticClass:"configuration-and-dfm"},[t("div",{staticClass:"quote-configuration-tool"},[t("h5",{staticClass:"instruction-heading"},[e._v(" Set part size ")]),t("div",{staticClass:"width-height-and-orientation"},[t("div",{staticClass:"width"},[t("QuoteTextInput",{ref:"width",attrs:{label:"Width",type:"number",step:e.stepPrecision,error:e.dimensionsFeedback.width},on:{focus:function(t){e.currentlyEditing="width"},blur:function(t){e.currentlyEditing=null}},scopedSlots:e._u([{key:"right-section",fn:function(){return[e._v(" "+e._s(e.userUnits)+" ")]},proxy:!0}]),model:{value:e.displayedWidth,callback:function(t){e.displayedWidth=e._n(t)},expression:"displayedWidth"}})],1),t("div",{staticClass:"height"},[t("QuoteTextInput",{ref:"width",attrs:{label:"Height",type:"number",step:e.stepPrecision,error:e.dimensionsFeedback.height},on:{focus:function(t){e.currentlyEditing="height"},blur:function(t){e.currentlyEditing=null}},scopedSlots:e._u([{key:"right-section",fn:function(){return[e._v(" "+e._s(e.userUnits)+" ")]},proxy:!0}]),model:{value:e.displayedHeight,callback:function(t){e.displayedHeight=e._n(t)},expression:"displayedHeight"}})],1),t("div",{staticClass:"orientation"},[t("button",{staticClass:"btn orientation-button",attrs:{type:"button"},on:{click:e.handleOrientationClick}})])]),t("h5",{staticClass:"instruction-heading"},[e._v(" Select laser process ")]),e._l(e.styles,function(i,s){return t("div",{key:i.identifier,staticClass:"laser-process"},[t("div",{staticClass:"style-line",attrs:{"data-error":e.styleFeedback[s].isInvalid}},[t("select",{staticClass:"process-select",on:{input:function(t){return e.updateStyle(t,s)}}},e._l(e.availableProcesses,function(s){return t("option",{key:s.key,domProps:{selected:i.assignedTo[s.key],value:s.key}},[e._v(" "+e._s(s.label)+" ")])}),0),t("div",{staticClass:"swatch-wrap"},[t("fabricationSettingSwatch",{attrs:{fill:i.fill_color,stroke:i.stroke_color}})],1),t("transition",{attrs:{name:"grow"}},[i.assignedTo.metalBending?t("span",{staticClass:"metal-bending-options"},[t("div",{staticClass:"bend-angle"},[t("label",{staticClass:"bend-label",attrs:{for:`bend_angle_${s}`}},[e._v(" Angle "),t("base-tooltip-icon",[e._v(" The bend angle is measured on the outside of the bend. Angles cannot be greater than 130°. Read all of the "),t("a",{attrs:{href:"https://help.ponoko.com/en/articles/5471244-how-to-design-for-metal-bending",target:"_blank"}},[e._v(" metal bending guidelines here. ")])])],1),t("input",{directives:[{name:"model",rawName:"v-model.number",value:i.bendAngle,expression:"style.bendAngle",modifiers:{number:!0}}],staticClass:"form-control bend-angle-input",attrs:{id:`bend_angle_${s}`,type:"number",max:"130",min:"0",step:"1"},domProps:{value:i.bendAngle},on:{input:[function(t){t.target.composing||e.$set(i,"bendAngle",e._n(t.target.value))},function(t){return e.updateBendAngle(t,s)}],blur:function(t){return e.$forceUpdate()}}})]),t("div",{staticClass:"bend-direction"},[t("label",{staticClass:"bend-label",attrs:{for:`bend_direction_${s}`}},[e._v(" Direction ")]),i.assignedTo.metalBending?t("select",{directives:[{name:"model",rawName:"v-model",value:i.bendDirection,expression:"style.bendDirection"}],staticClass:"custom-select bend-direction-select",attrs:{id:`bend_direction_${s}`},on:{input:function(t){return e.updateBendDirection(t,s)},change:function(t){var s=Array.prototype.filter.call(t.target.options,function(e){return e.selected}).map(function(e){var t="_value"in e?e._value:e.value;return t});e.$set(i,"bendDirection",t.target.multiple?s:s[0])}}},[t("option",{attrs:{value:"up"}},[e._v("Up")]),t("option",{attrs:{value:"down"}},[e._v("Down")])]):e._e()])]):e._e()])],1),e.styleFeedback[s].isInvalid?t("div",{staticClass:"invalid-style-feedback"},e._l(e.styleFeedback[s].errors,function(i){return t("div",{},[e._v(" "+e._s(i)+" ")])}),0):e._e()])}),t("quote-button",{staticClass:"confirm-design button-dark",attrs:{disabled:e.shouldDisable,label:"Confirm part configuration"},on:{click:e.handleConfirmPartConfiguration}})],2),t("div",{staticClass:"unit-switcher-and-render-switcher"},[t("div",{staticClass:"unit-switcher-container"},[t("div",{staticClass:"unit-switcher-label"},[e._v(" Show measurements in ")]),t("quote-unit-switcher",{staticClass:"unit-switcher"})],1),t("div",{staticClass:"render-switcher-container"},[t("div",{staticClass:"render-switcher-label"},[e._v(" Show parts in ")]),t("quote-segmented-control",{staticClass:"render-switcher",attrs:{options:[{label:"3D",value:"3d"},{label:"2D Top",value:"2d"}]},model:{value:e.renderType,callback:function(t){e.renderType=t},expression:"renderType"}})],1)])])])])},a=[function(){var e=this,t=e._self._c;return t("span",{staticClass:"dfm-banner__message"},[e._v(" Non-vector text was removed. Convert text to outlines to include it in your quote. "),t("a",{attrs:{href:"https://help.ponoko.com/en/articles/2887502-where-did-the-text-in-my-design-go",target:"_blank",rel:"noopener"}},[e._v("Learn how")])])},function(){var e=this,t=e._self._c;return t("span",{staticClass:"dfm-banner__message"},[e._v(" Clipping masks were removed. Paths hidden by a mask are still part of your design and will be included in your quote - delete hidden elements in your design file instead. "),t("a",{attrs:{href:"https://help.ponoko.com/en/articles/4417647-why-does-my-online-design-proof-look-different-to-the-design-on-my-computer",target:"_blank",rel:"noopener"}},[e._v("Learn more")])])}]},61679:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;
1return t("AppModal",{staticClass:"custom-delivery-modal",attrs:{name:"customDelivery","close-on-click-outside":!1,"with-close-button":!0},on:{"before-open":e.prefill}},[t("h3",{staticClass:"custom-delivery-heading"},[e._v(" Custom delivery ")]),t("div",{staticClass:"custom-delivery-body"},[t("h5",{staticClass:"custom-delivery-section-heading"},[e._v(" Production ")]),t("QuoteSegmentedControl",{staticClass:"custom-delivery-type-toggle",attrs:{options:e.productionTypeOptions},model:{value:e.productionType,callback:function(t){e.productionType=t},expression:"productionType"}}),"business_days"===e.productionType?t("div",{staticClass:"custom-delivery-row"},[t("QuoteTextInput",{attrs:{label:"Production speed (business days)",type:"number"},model:{value:e.businessDays,callback:function(t){e.businessDays=t},expression:"businessDays"}})],1):t("div",{staticClass:"custom-delivery-row"},[t("QuoteTextInput",{attrs:{label:"Ship date",type:"date"},model:{value:e.shipsBy,callback:function(t){e.shipsBy=t},expression:"shipsBy"}}),t("QuoteTextInput",{attrs:{label:"Valid until",type:"date"},model:{value:e.validUntil,callback:function(t){e.validUntil=t},expression:"validUntil"}})],1),t("h5",{staticClass:"custom-delivery-section-heading"},[e._v(" Shipping ")]),t("div",{staticClass:"custom-delivery-row"},[t("QuoteTextInput",{attrs:{label:"Shipping method name",placeholder:"DHL Express"},model:{value:e.shippingServiceName,callback:function(t){e.shippingServiceName=t},expression:"shippingServiceName"}})],1),t("div",{staticClass:"custom-delivery-row"},[t("QuoteTextInput",{attrs:{label:"Transit days (business)",type:"number"},model:{value:e.shippingTransitDays,callback:function(t){e.shippingTransitDays=t},expression:"shippingTransitDays"}})],1),t("div",{staticClass:"custom-delivery-row"},[t("QuoteTextInput",{attrs:{label:"Production price",placeholder:"$0.00"},model:{value:e.productionPriceUsd,callback:function(t){e.productionPriceUsd=t},expression:"productionPriceUsd"}}),t("QuoteTextInput",{attrs:{label:"Shipping price",placeholder:"$0.00"},model:{value:e.shippingPriceUsd,callback:function(t){e.shippingPriceUsd=t},expression:"shippingPriceUsd"}})],1),e.preview||e.previewLoading?t("div",{staticClass:"custom-delivery-preview"},[t("div",{staticClass:"custom-delivery-preview-heading"},[e._v(" Customer will see… ")]),e.preview&&!e.previewLoading?t("quote-delivery-method-option",{attrs:{option:e.preview}}):t("quote-delivery-method-option",{attrs:{skeleton:""}})],1):e._e()],1),t("div",{staticClass:"custom-delivery-actions"},[t("quote-button",{attrs:{label:"Cancel"},on:{click:function(t){return e.$modal.hide("customDelivery")}}}),t("quote-button",{staticClass:"button-dark",attrs:{label:"Add custom delivery",disabled:!e.isComplete||e.saving},on:{click:e.save}})],1)])},a=[]},42319:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return e.part?t("div",{staticClass:"part",class:{"not-being-edited":!e.part.isBeingEdited}},[t("div",{staticClass:"part-top-panel"},[t("div",{staticClass:"part-name-wrapper"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.part.name,expression:"part.name"}],staticClass:"custom-part-input custom-part-name",attrs:{id:"part-name",disabled:!e.part.isBeingEdited,placeholder:"Custom part",type:"text"},domProps:{value:e.part.name},on:{input:function(t){t.target.composing||e.$set(e.part,"name",t.target.value)}}})]),t("div",{staticClass:"part-quantity-and-actions"},[t("div",{staticClass:"part-quantity"},[t("button",{staticClass:"quantity-button",attrs:{type:"button",disabled:e.part.quantity<=1},on:{mousedown:function(e){e.preventDefault()},click:function(t){e.part.quantity--}}},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"1rem",he
1ight:"1rem",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}},[t("path",{attrs:{d:"M5 12l14 0"}})])]),t("div",{staticClass:"quantity-input-wrapper"},[t("input",{directives:[{name:"model",rawName:"v-model.number",value:e.part.quantity,expression:"part.quantity",modifiers:{number:!0}}],staticClass:"quantity-input",attrs:{type:"number",max:"10",min:"1",step:"1","aria-invalid":"false",value:"1"},domProps:{value:e.part.quantity},on:{change:t=>e.part.quantity=t.target.value,input:function(t){t.target.composing||e.$set(e.part,"quantity",e._n(t.target.value))},blur:function(t){return e.$forceUpdate()}}})]),t("button",{staticClass:"quantity-button",attrs:{type:"button"},on:{mousedown:function(e){e.preventDefault()},click:function(t){e.part.quantity++}}},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}},[t("path",{attrs:{d:"M12 5l0 14"}}),t("path",{attrs:{d:"M5 12l14 0"}})])])]),t("div",{staticClass:"part-actions-menu"},[t("button",{staticClass:"part-actions-menu-button",attrs:{type:"button"},on:{click:function(t){return e.toggleModal("actions")}}},[t("svg",{staticClass:"ellipsis",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none"}},[t("path",{attrs:{stroke:"#4F4F4F",d:"M11 12a1 1 0 1 0 2 0 1 1 0 0 0-2 0ZM11 6a1 1 0 1 0 2 0 1 1 0 0 0-2 0ZM11 18a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z","clip-rule":"evenodd"}})])]),e.modals.actions?t("QuoteDropdown",{directives:[{name:"on-clickaway",rawName:"v-on-clickaway",value:()=>e.closeModal("actions"),expression:"() => closeModal('actions')"}],staticClass:"part-actions-dropdown"},[t("div",{staticClass:"part-actions-dropdown-list"},[t("button",{staticClass:"part-actions-dropdown-item",class:{"is-disabled":e.part.isBeingEdited},attrs:{type:"button",disabled:e.part.isBeingEdited},on:{click:e.handleEditPart}},[t("div",{staticClass:"part-action-button-inner"},[t("span",{staticClass:"part-action-button-icon"},[t("img",{attrs:{src:i(38247),alt:""}})]),t("span",{staticClass:"part-action-button-label"},[e._v("Edit")])])]),t("button",{staticClass:"part-actions-dropdown-item",attrs:{type:"button"},on:{click:function(t){e.$emit("copyPart"),e.modals.actions=!1}}},[t("div",{staticClass:"part-action-button-inner"},[t("span",{staticClass:"part-action-button-icon"},[t("img",{attrs:{src:i(12304),alt:""}})]),t("span",{staticClass:"part-action-button-label"},[e._v("Copy")])])]),t("button",{staticClass:"part-actions-dropdown-item",attrs:{type:"button"},on:{click:function(t){return e.$emit("removePart")}}},[t("div",{staticClass:"part-action-button-inner"},[t("span",{staticClass:"part-action-button-icon"},[t("img",{attrs:{src:i(43438),alt:""}})]),t("span",{staticClass:"part-action-button-label"},[e._v("Remove")])])]),e.part.isBeingEdited?[t("div",{staticClass:"dropdown-divider"}),t("button",{staticClass:"part-actions-dropdown-item",attrs:{type:"button","aria-expanded":e.showDebugParts?"true":"false"},on:{click:function(t){e.showDebugParts=!e.showDebugParts}}},[t("div",{staticClass:"part-action-button-inner"},[t("span",{staticClass:"part-action-button-icon"},[t("img",{attrs:{src:i(34052),alt:""}})]),t("span",{staticClass:"part-action-button-label"},[e._v("Debug parts "+e._s(e.showDebugParts?"▾":"▸"))])])]),e.showDebugParts?e._l(e.exampleParts,function(i,s){return t("button",{key:i.name,staticClass:"part-actions-dropdown-item is-nested",attrs:{type:"button"},on:{click:function(t){return e.populateDummyPart(s)}}},[t("div",{staticClass:"part-action-button-inner"},[t("span",{staticClass:"part-action-button-label"},[e._v(e._s(i.label||`Part ${s+1}`))])])])}):e._e()]:e._e()],2)]):e._e()],1)])]),t("div",{staticClass:"part-bottom-panel"},[t("div",{staticClass:"custom-part-production-files",class:{dragging:e.dragging},on:{dragover:function(t){return e.handleDragOver(e.part)}}},[t("h4",{staticClass:"custom-part-attached-files-heading"},[e._v(" Production files: ")]),e.part.productionFiles?.length?t("div",{staticClass:"custom-part-attached-files-list"},e._l(e.part.productionFiles,function(s){return t("div",{key:s.id,staticClass:"custom-part-attached-file"},[t("img",{staticClass:"custom-part-attached-file-icon",attrs:{src:i(72989),alt:""}}),e._v(" "+e._s(s.filename)+" "),e.part.isBeingEdited?t("span",{staticClass:"custom-part-delete-file-icon",on:{click:function(t){return e.handleRemoveAttachedProductionFile(s)}}},[t("img",{attrs:{src:i(42613),alt:""}}
1)]):e._e()])}),0):e._e(),e.part.isBeingEdited?t("div",{staticClass:"custom-part-upload-area"},[t("input",{directives:[{name:"show",rawName:"v-show",value:e.dragging,expression:"dragging"}],ref:"upload",staticClass:"custom-part-coverall",attrs:{type:"file",multiple:"multiple"},on:{change:function(t){return e.handleDroppedFiles(t,e.part)},dragleave:function(t){return e.handleDragLeave(e.part)},drop:function(t){return e.handleDrop(e.part)}}}),t("div",{staticClass:"custom-part-upload-area-cta",on:{click:function(t){return t.stopPropagation(),e.$refs.upload.click()}}},[t("img",{staticClass:"custom-part-upload-icon",attrs:{src:i(3888),alt:""}}),e._v(" Upload production files. ")])]):e._e()]),t("div",{staticClass:"part-configuration-and-total"},[t("div",{staticClass:"part-configuration"},[t("div",{staticClass:"spec"},[t("div",{staticClass:"spec-sourcing"},[t("quote-segmented-control",{staticClass:"spec-sourcing-value",attrs:{id:`part-${e.part.id}-fulfillment-method`,disabled:!e.part.isBeingEdited,options:e.fulfillmentOptions},model:{value:e.part.fulfillmentMethod,callback:function(t){e.$set(e.part,"fulfillmentMethod",t)},expression:"part.fulfillmentMethod"}})],1),e.part.isBeingEdited?t("div",{staticClass:"spec-bar"},[t("quote-spec-dropdown",{staticClass:"spec-bar-segment spec-bar-segment-tech",attrs:{label:"Technology",value:e.technologyDisplay,groups:e.technologyGroups,placeholder:"Select technology","search-placeholder":"Search or type a technology…"},on:{input:e.onSelectTechnology}}),t("div",{staticClass:"spec-segment-divider"}),t("quote-spec-dropdown",{staticClass:"spec-bar-segment spec-bar-segment-material",attrs:{label:"Material",value:e.materialDisplay,options:e.materialOptions,placeholder:"Select material",heading:e.materialHeading,"search-placeholder":"Search or type a material…"},on:{input:e.onSelectMaterial}}),t("div",{staticClass:"spec-segment-divider"}),t("quote-spec-dropdown",{staticClass:"spec-bar-segment spec-bar-segment-thickness",attrs:{label:"Thickness / spec",value:e.thicknessDisplay,options:e.thicknessOptions,placeholder:"Add thickness",heading:e.thicknessHeading,"align-right":"","search-placeholder":"Search or type a thickness, color or spec…"},on:{input:e.onSelectThickness}}),t("div",{staticClass:"spec-segment-divider"}),t("quote-spec-popover",{ref:"pricePopover",staticClass:"spec-bar-segment spec-bar-segment-price",attrs:{label:"Price",value:e.totalDisplay,haspopup:"dialog","align-right":""},on:{opened:e.focusPrice}},[t("div",{staticClass:"spec-price-popover"},["internal"===e.part.fulfillmentMethod?[t("div",{staticClass:"spec-price-field"},[t("label",{staticClass:"spec-price-label"},[e._v("Materials")]),t("div",{staticClass:"spec-price-input"},[t("span",{staticClass:"spec-price-prefix"},[e._v("$")]),t("input",{ref:"specPrice",attrs:{inputmode:"decimal",placeholder:"0.00",type:"text","aria-label":"Materials price"},domProps:{value:e.part.materialPriceUsd},on:{input:function(t){return e.onMoneyInput("materialPriceUsd",t)},keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.commitPrice.apply(null,arguments))}}})])]),t("div",{staticClass:"spec-price-field"},[t("label",{staticClass:"spec-price-label"},[e._v("Production")]),t("div",{staticClass:"spec-price-input"},[t("span",{staticClass:"spec-price-prefix"},[e._v("$")]),t("input",{attrs:{inputmode:"decimal",placeholder:"0.00",type:"text","aria-label":"Production price"},domProps:{value:e.part.productionPriceUsd},on:{input:function(t){return e.onMoneyInput("productionPriceUsd",t)},keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.commitPrice.apply(null,arguments))}}})])]),t("div",{staticClass:"spec-price-rule"}),t("div",{staticClass:"spec-price-total"},[t("span",[e._v("Line total")]),t("span",{staticClass:"spec-price-total-value"},[e._v(e._s(e.totalDisplay))])])]:t("div",{staticClass:"spec-price-field"},[t("label",{staticClass:"spec-price-label"},[e._v("Materials + Production")]),t("div",{staticClass:"spec-price-input"},[t("span",{staticClass:"spec-price-prefix"},[e._v("$")]),t("input",{ref:"specPrice",attrs:{inputmode:"decimal",placeholder:"0.00",type:"text","aria-label":"Materials and production price"},domProps:{value:e.part.productionAndMaterialPriceUsd},on:{input:function(t){return e.onMoneyInput("productionAndMaterialPriceUsd",t)},keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.commitPrice.apply(null,arguments))}}}
1)])])],2)])],1):e._e()]),e._l(e.displayLineItems,function(i){return["finishing_services"===i.key&&e.part.isBeingEdited?t("div",{key:i.key,staticClass:"spec-field"},[t("quote-spec-dropdown",{staticClass:"spec-field-dropdown",attrs:{label:"Finishing",value:i.value||"",options:e.finishingOptions,placeholder:"Select finishing",heading:"Standard finishing services","search-placeholder":"Search or type a finishing service…"},on:{input:function(e){i.value=e}}}),t("div",{staticClass:"custom-part-price-input-wrapper"},[t("div",{staticClass:"custom-part-price-input-prefix"},[e._v(" $ ")]),t("input",{directives:[{name:"model",rawName:"v-model",value:i.priceUsd,expression:"lineItem.priceUsd"}],staticClass:"custom-part-input custom-part-price-input",attrs:{inputmode:"decimal",placeholder:"0.00",type:"text"},domProps:{value:i.priceUsd},on:{input:function(t){t.target.composing||e.$set(i,"priceUsd",t.target.value)}}})])],1):t("div",{key:i.key,staticClass:"custom-part-input-wrapper",class:{"not-being-edited":!e.part.isBeingEdited}},[t("div",{staticClass:"custom-part-label-and-value"},[i.isCustomLineItem?t("input",{directives:[{name:"model",rawName:"v-model",value:i.label,expression:"lineItem.label"}],staticClass:"custom-part-input custom-part-input-label",attrs:{id:i.key,placeholder:"Custom",type:"text"},domProps:{value:i.label},on:{input:function(t){t.target.composing||e.$set(i,"label",t.target.value)}}}):t("label",{staticClass:"custom-part-input-label",attrs:{for:i.key}},[e._v(" "+e._s(i.label)+" ")]),t("input",{directives:[{name:"model",rawName:"v-model",value:i.value,expression:"lineItem.value"}],staticClass:"custom-part-input custom-part-value-input",attrs:{id:i.key,placeholder:"Custom",type:"text"},domProps:{value:i.value},on:{input:function(t){t.target.composing||e.$set(i,"value",t.target.value)}}})]),t("div",{staticClass:"custom-part-price-input-wrapper"},[t("div",{staticClass:"custom-part-price-input-prefix"},[e._v(" $ ")]),t("input",{directives:[{name:"model",rawName:"v-model",value:i.priceUsd,expression:"lineItem.priceUsd"}],staticClass:"custom-part-input custom-part-price-input",attrs:{inputmode:"decimal",placeholder:"0.00",type:"text"},domProps:{value:i.priceUsd},on:{input:function(t){t.target.composing||e.$set(i,"priceUsd",t.target.value)}}})]),i.isCustomLineItem&&e.part.isBeingEdited?t("button",{staticClass:"remove-line-item-button",attrs:{title:"Remove"},on:{click:function(t){return e.removeLineItem(i)}}},[t("svg",{attrs:{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[t("path",{attrs:{d:"M17.6569 17.6569L6.34319 6.34315",stroke:"currentColor","stroke-linecap":"round"}}),t("path",{attrs:{d:"M17.6568 6.34315L6.34311 17.6569",stroke:"currentColor","stroke-linecap":"round"}})])]):e._e()])]}),e.part.isBeingEdited?t("a",{staticClass:"add-line-item-link",attrs:{href:"javascript:;"},on:{click:function(t){return e.handleAddLineItem(e.part)}}},[e._v(" + Add line item ")]):e._e(),e.part.configuration?t("div",{staticClass:"custom-part-dimensions"},e._l(Object.keys(e.part.configuration.dimensions),function(i){return t("div",{key:i,staticClass:"custom-part-input-wrapper custom-part-dimension-wrapper"},[t("div",{staticClass:"custom-part-label-and-value"},[t("label",{staticClass:"custom-part-input-label",attrs:{for:`part-${e.part.id}-${i}`}},[e._v(" "+e._s(e._f("capitalize")(i))+" (mm) ")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.part.configuration.dimensions[i],expression:"part.configuration.dimensions[dimension]"}],staticClass:"custom-part-input custom-part-value-input",attrs:{id:`part-${e.part.id}-${i}`,placeholder:"Custom",type:"text"},domProps:{value:e.part.configuration.dimensions[i]},on:{input:function(t){t.target.composing||e.$set(e.part.configuration.dimensions,i,t.target.value)}}})])])}),0):e._e(),t("div",{staticClass:"custom-part-weight-and-time"},[t("div",{staticClass:"custom-part-input-wrapper custom-part-dimension-wrapper"},[t("div",{staticClass:"custom-part-label-and-value"},[t("label",{staticClass:"custom-part-input-label",attrs:{for:`part-${e.part.id}-estimated-weight`}},[e._v(" Weight (lbs) ")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.part.estimatedWeight,expression:"part.estimatedWeight"}],staticClass:"custom-part-input custom-part-value-input",attrs:{id:`part-${e.part.id}-estimated-weight`,placeholder:"0",type:"text"},domProps:{value:e.part.estimatedWeight},on:{input:function(t){t.target.composing||e.$set(e.part,"estimatedWeight",t.target.value)}}})])]),t("div",{staticClass:"custom-part-input-wrapper custom-part-dimension-wrapper"},[t("div",{staticClass:"custom-part-label-and-value"},[t("label",{staticClass:"custom-part-input-label",attrs:{for:`part-${e.part.id}-estimated-production-time`}},[e._v(" Production time (mins) ")]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.part.estimatedProductionTime,expression:"part.estimatedProductionTime"}],staticClass:"custom-part-input custom-part-value-input",attrs:{id:`part-${e.part.id}-estimated-production-time`,placeholder:"0",type:"text"},domProps:{value:e.part.estimatedProductionTime},on:{input:function(t){t.target.composing||e.$set(e.part,"estimatedProductionTime",t.target.value)}}})])])])],2),e.part.isBeingEdited?t("div",{staticClass:"custom-part-actions"},[t("quote-button",{staticClass:"cancel-editing-custom-part button-light ml-auto mr-1",attrs:{label:"Cancel"},on:{click:e.handleCancelEditingCustomPart}}),t("quote-button",{staticClass:"save-custom-part button-dark mt-2 mb-0",attrs:{label:"Save custom part"},on:{click:e.handleSaveCustomPart}}
1)],1):e._e()])])]):e._e()},a=[]},86683:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"delivery-method-option",class:{selected:e.selected,skeleton:e.skeleton,pulsing:e.skeleton&&e.pulsing,clickable:!e.skeleton&&!!e.$listeners.click},on:{click:function(t){return e.$emit("click")}}},[t("div",{staticClass:"delivery-method-option-body"},[t("div",{staticClass:"delivery-method-option-title-row"},[t("span",{staticClass:"delivery-method-option-title"},[e._v(e._s(e.skeleton?"Arrives by Mon Jun 00":e.option.title))]),e.skeleton?e._e():t("delivery-certainty-badge",{attrs:{certainty:e.option.deliveryCertainty}})],1),t("div",{staticClass:"delivery-method-option-subtitle"},[e._v(" "+e._s(e.skeleton?"Loading the delivery subtitle":e.option.subtitle)+" ")])]),t("div",{staticClass:"delivery-method-option-price"},[e.skeleton?[e._v(" $000.00 ")]:[e._v(" "+e._s(e._f("asDollars")(e.option.priceUsd))+" ")]],2)])},a=[]},41692:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",{ref:"hatchPattern",staticClass:"hatch-pattern",class:{accepted:e.accepted},style:e.hatchPatternStyle,on:{mouseup:e.handleBackgroundClick}},[e.design.eligible_for_instant_quote?e._e():[t("div",{staticClass:"preview-not-available"},[e._v(" Design preview not available. ")])],e.design.eligible_for_instant_quote?[t("div",{staticClass:"measurement-tool",style:e.measurementToolStyle},[t("div",{staticClass:"measurement-tool-arrow"}),t("div",{staticClass:"measurement-tool-body"},[t("div",{},[e._v(" Width: "+e._s(e.localize(e.measurements.width))+e._s(e.unitPreference)+" ")]),t("div",{},[e._v(" Height: "+e._s(e.localize(e.measurements.height))+e._s(e.unitPreference)+" ")])])]),t("div",{ref:"previewContainer",staticClass:"preview-container",class:{"show-switch":e.showingTheSwitch},on:{mousedown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:void(e.mouseIsDown=!0)},mouseup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:void(e.mouseIsDown=!1)}}},[e.dimensions?t("div",{ref:"axisLabelY",staticClass:"axis-line-container-y",class:{active:e.currentlyEditingHeight,visible:e.showAxisLines},style:e.yAxisStyle},[t("div",{staticClass:"axis-line-y top"}),t("div",{staticClass:"axis-label-y"},[e._v(" "+e._s(e.axisLabel.y)+e._s(e.unitPreference)+" ")]),t("div",{staticClass:"axis-line-y bottom"})]):e._e(),t("div",{ref:"svgContainer",staticClass:"svg-container",class:{"show-material":e.showMaterialInBackground,"with-transition":e.shouldAnimateSvgContainer},style:e.svgContainerStyle,attrs:{"data-ponoko-part-id":e.part.id},on:{mousedown:e.handlePreviewMouseDown,mouseup:e.handlePreviewMouseUp,wheel:e.handleWheel,mousemove:e.handlemousemove,dblclick:e.handledblclick}}),e.dimensions?t("div",{staticClass:"axis-line-container-x",class:{active:e.currentlyEditingWidth,visible:e.showAxisLines},style:e.xAxisStyle},[t("div",{staticClass:"axis-line-x left"}),t("div",{ref:"axisLabelX",staticClass:"axis-label-x"},[e._v(" "+e._s(e.axisLabel.x)+e._s(e.unitPreference)+" ")]),t("div",{staticClass:"axis-line-x right"})]):e._e(),e.showingTheSwitch?t("div",{staticClass:"switch-container"},[t("span",{staticClass:"switch-label"},[e._v(" Show design on material ")]),t("label",{staticClass:"switch"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.showMaterialInBackground,expression:"showMaterialInBackground"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.showMaterialInBackground)?e._i(e.showMaterialInBackground,null)>-1:e.showMaterialInBackground},on:{change:function(t){var i=e.showMaterialInBackground,s=t.target,a=!!s.checked;if(Array.isArray(i)){var n=null,r=e._i(i,n);s.checked?r<0&&(e.showMaterialInBackground=i.concat([n])):r>-1&&(e.showMaterialInBackground=i.slice(0,r).concat(i.slice(r+1)))}else e.showMaterialInBackground=a}}}),t("div",{staticClass:"slider"}
1)])]):e._e(),e._l(e.bendParameters,function(i,s){return t("div",{key:s,staticClass:"bend-parameter-container",style:e.bendParameterStyle[i.identifier],on:{mouseenter:function(t){return e.handleBendParameterMouseEvent(t,i)},mouseleave:function(t){return e.handleBendParameterMouseEvent(t,i)}}},[t("div",{},[e._v(" Angle: "+e._s(i.bendAngle)+"° ")]),t("div",{},[e._v(" Direction: "+e._s(i.bendDirection)+" ")])])}),e.showZoomControls?t("div",{staticClass:"controls-container"},[t("div",{staticClass:"zoom-container"},[t("button",{staticClass:"btn btn-outline-light zoom-button zoom-button-in",attrs:{type:"button",disabled:e.zoomState.scale>=e.maxScale},on:{click:e.handleZoomInClick}},[e._v(" + ")]),t("button",{staticClass:"btn btn-outline-light zoom-button zoom-button-out",attrs:{type:"button",disabled:e.zoomState.scale<=e.minScale},on:{click:e.handleZoomOutClick}},[e._v(" - ")])])]):e._e()],2)]:e._e()],2)},a=[]},63014:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",{directives:[{name:"on-clickaway",rawName:"v-on-clickaway",value:e.handleClickAway,expression:"handleClickAway"}],staticClass:"quote-input-wrapper",class:{active:e.open,accepted:e.accepted,disabled:e.disabled},on:{click:e.handleClick}},[e.accepted?t("div",{staticClass:"quote-input-label",attrs:{id:e.labelId}},[e._v(" "+e._s(e.label)+" ")]):t("label",{staticClass:"quote-input-label",attrs:{id:e.labelId,for:e.id}},[e._v(" "+e._s(e.label)+" ")]),e.accepted?t("div",{staticClass:"quote-input quote-input-static",attrs:{"aria-labelledby":e.labelId}},[e._v(" "+e._s(e.displayValue)+" ")]):t("input",{ref:"input",staticClass:"quote-input",attrs:{name:e.computedName,id:e.id,type:e.computedType,placeholder:e.placeholder,readonly:e.computedReadOnly,disabled:e.disabled,"aria-expanded":e.ariaExpanded,"aria-haspopup":e.ariaHaspopup,"aria-controls":e.ariaControls,"aria-invalid":"false",autocomplete:e.autocomplete},domProps:{value:e.value},on:{input:function(t){return e.$emit("input",t.target.value)},keydown:e.handleInputKeydown}}),t("div",{staticClass:"quote-input-right-section"},[e.showPrice?[e.requiresReview?t("app-badge",{staticClass:"badge-xs badge-light"},[e._v(" Get custom quote ")]):e.free?t("span",{staticClass:"quote-input-price"},[e._v(" Free ")]):e.price?t("span",{staticClass:"quote-input-price"},[e._v(" "+e._s(e._f("asDollars")(e.price))+" ")]):t("span",{staticClass:"quote-input-price"},[e._v(" - ")])]:e._e(),e.accepted?e._e():t("img",{staticClass:"chevrons",attrs:{src:i(7079),alt:""}})],2),e.open&&!e.disabled?t("div",{staticClass:"quote-dropdown",attrs:{id:e.dropdownId}},[e._t("default")],2):e._e()])},a=[]},12441:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return e.technologies.length?t("div",{staticClass:"browse-container",on:{wheel:e.handleWheel,click:function(e){e.stopPropagation()}}},[e.showingCustomQuote?e._e():t("h4",{staticClass:"browse-heading"},[e._v(" "+e._s(e.part.name)+" "),t("img",{staticClass:"caret-right",attrs:{src:i(22874),alt:""}}),e._v(" Select a material ")]),e.showingCustomQuote?t("h4",{staticClass:"browse-heading"},[e._v(" Get custom quote ")]):e._e(),t("section",{staticClass:"browse-main-section"},[e.selectedTechnology?.description?t("span",{staticClass:"browse-subheading"},[e._v(" "+e._s(e.selectedTechnology.description)+" ")]):e._e(),e.showingCustomQuote?e._e():[t("div",{staticClass:"search-container"},[t("img",{staticClass:"search-spyglass",attrs:{src:i(71478)}}),t("input",{directives:[{name:"model",rawName:"v-model",value:e.searchTerms,expression:"searchTerms"}],ref:"searchTerms",staticClass:"form-control search",attrs:{type:"search",placeholder:"Search by name, kind, color, finish or manufacturer code"},domProps:{value:e.searchTerms},on:{input:function(t){t.target.composing||(e.searchTerms=t.target.value)}}})]),t("div",{staticClass:"browse-results-heading"},[t("span",{staticClass:"result-count-text"},[e._v(" "+e._s(e.resultCountText)+" ")]),t("button",{staticClass:"sort-button",class:{active:e.showSortModal},attrs:{type:"button",pressed:e.showSortModal},on:{click:function(t){e.showSortModal=!e.showSortModal}}},[t("div",{staticClass:"sort-button-inner"},[e._m(0),t("span",{staticClass:"sort-button-label"},[e._v(e._s(e.currentlySortingBy.label))])]),e.showSortModal?t("QuoteDropdown",{staticClass:"sort-modal"},e._l(e.sortingOptions,function(i){return t("QuoteInputOption",{key:i.slug,attrs:{selected:i.slug===e.currentlySortingBy.slug},on:{click:function(t){e.currentlySortingBy=i}},scopedSlots:e._u([{key:"name",fn:function(){return[e._v(" "+e._s(i.label)+" ")]},proxy:!0}],null,!0)})}
1),1):e._e()],1)]),t("section",{ref:"materials",staticClass:"materials"},[e._l(e.materialsInSearchResults,function(i){return t("QuoteMaterial",{key:`${i.id}-${i.display_name}`,attrs:{material:i,part:e.part,"show-assign-to-all":e.showAssignToAll},on:{selectMaterial:function(t){return e.$emit("selectMaterial",t)},selectMaterialForAllParts:function(t){return e.$emit("selectMaterialForAllParts",t)},configure:function(t){return e.$emit("configure",t)}}})}),e.showEmptyState?t("div",{staticClass:"browse-empty-state"},[t("div",{staticClass:"browse-filter-heading"},[e._v(" No results ")]),t("div",{staticClass:"browse-empty-body"},[e._v(" You may want to try different keywords. ")])]):e._e()],2)],e.showingCustomQuote?t("section",{staticClass:"custom-quote"},[t("QuoteCustomQuoteForm",{staticClass:"custom-quote-form",attrs:{"show-additional-files-button":!0,"show-upload-area":!1,files:e.customQuoteFiles,technology:e.selectedTechnology}})],1):e._e()],2),t("section",{staticClass:"browse-filter-section"},[t("div",{staticClass:"browse-filter-heading"},[e._v(" Filter ")]),t("div",{staticClass:"browse-filter-container"},[t("div",{staticClass:"browse-filter-label"},[e._v(" Fabrication method ")]),t("div",{staticClass:"browse-filter-material-kind-container"},e._l(e.filteredTechnologies,function(i){return t("div",{key:i.slug},[t("QuoteRadioInput",{key:i.slug,staticClass:"browse-filter-material-kind-checkbox",attrs:{value:i.slug,id:i.slug,label:i.name,disabled:i.disabled},model:{value:e.selectedTechnologySlug,callback:function(t){e.selectedTechnologySlug=t},expression:"selectedTechnologySlug"}})],1)}),0),e.someTechnologiesAreCurrentlyFiltered?t("div",{staticClass:"browse-filter-notice"},[e._v(" Showing options for "),t("code",{staticClass:"browse-filter-filetype"},[e._v("."+e._s(e.fileType))]),e._v(" files. For additional options, upload a different filetype or "),t("a",{staticClass:"browse-filter-notice-link",attrs:{href:"mailto:[email protected]",label:"Contact sales engineer"},on:{click:function(t){return t.preventDefault(),e.$intercom.contactSales()}}},[e._v("chat with a sales engineer.")])]):e._e()]),e.showingCustomQuote?e._e():[t("div",{directives:[{name:"show",rawName:"v-show",value:e.showBendingFilter,expression:"showBendingFilter"}],staticClass:"browse-filter-material-kind-container"},[t("div",{staticClass:"browse-filter-label"},[e._v(" Bending ")]),t("QuoteCheckboxInput",{staticClass:"browse-filter-material-kind-checkbox",attrs:{disabled:e.partHasBending,label:"Available for bending"},model:{value:e.filterByAvailableForBending,callback:function(t){e.filterByAvailableForBending=t},expression:"filterByAvailableForBending"}})],1),t("transition",{attrs:{name:"expand"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.showMaterialKinds,expression:"showMaterialKinds"}],staticClass:"browse-filter-material-kind-container"},[t("div",{staticClass:"browse-filter-label"},[e._v(" Material Kinds ")]),e._l(e.materialKinds,function(i){return t("QuoteCheckboxInput",{key:i.label,staticClass:"browse-filter-material-kind-checkbox",attrs:{label:i.label},model:{value:i.selected,callback:function(t){e.$set(i,"selected",t)},expression:"kind.selected"}})})],2)]),t("transition",{attrs:{name:"expand"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.showMaterialTypes,expression:"showMaterialTypes"}]},[t("div",{staticClass:"browse-filter-label"},[e._v(" Material Types ")]),t("div",{staticClass:"browse-filter-all-filters-container"},e._l(e.materialTypes,function(i){return t("QuoteCheckboxInput",{key:i.label,staticClass:"browse-filter-material-kind-checkbox",attrs:{label:i.label},model:{value:i.selected,callback:function(t){e.$set(i,"selected",t)},expression:"kind.selected"}})}),1)])]),e.showAllFiltersButton?t("a",{staticClass:"show-all-filters-link",attrs:{href:"javascript:;"},on:{click:function(t){t.stopPropagation(),e.showAllFilters=!e.showAllFilters}}},[e._v(" More filters... ")]):e._e(),t("div",{staticClass:"unit-switcher-container"},[t("div",{staticClass:"browse-filter-label"},[e._v(" Show measurements in ")]),t("quote-unit-switcher",{staticClass:"unit-switcher"}
1)],1)]],2)]):e._e()},a=[function(){var e=this,t=e._self._c;return t("span",{staticClass:"sort-button-icon"},[t("img",{attrs:{src:i(98351),alt:""}})])}]},87884:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"part"},[t("div",{staticClass:"part-top-panel"},[t("div",{staticClass:"part-name-and-dfm-badge"},[t("h4",{staticClass:"part-name"},[e._v(" "+e._s(e.part.name)+" ")]),e.part.dfm_results?.maximum_part_size_for_material?.failed?t("div",{staticClass:"dfm-badge dfm-badge-failed",on:{click:function(t){return e.$modal.show(`part-configuration-modal-for-${e.part.id}`)}}},[t("img",{attrs:{src:i(24989),"aria-hidden":"true"}}),e._v(" DFM Analysis: "+e._s(e.part.dfm_results?.maximum_part_size_for_material.criteria)+" ")]):t("div",{staticClass:"dfm-badge"},[t("img",{attrs:{src:i(9925),"aria-hidden":"true"}}),e._v(" Auto DFM Analysis Success ")])]),t("div",{staticClass:"part-quantity-and-actions"},[t("div",{staticClass:"part-quantity"},[t("QuoteInput",{ref:"quantity",attrs:{label:"Quantity",value:e.part.quantity,"show-price":!1,placeholder:"1",accepted:e.accepted,readonly:!0}},[e.part.is_custom_part?e._e():t("QuoteDropdown",{staticClass:"part-quantity-modal"},[t("div",{staticClass:"quantity-options",on:{click:function(e){e.stopPropagation()}}},[t("quote-text-input",{ref:"quantity",staticClass:"quantity-input",attrs:{id:"editable-quantity-input",type:"number",label:"Quantity",step:"1",min:"1",autofocus:""},on:{focus:t=>{t.target.select(),e.selectedVolumeOption=""},input:e.updatePartQuantity},model:{value:e.quantity,callback:function(t){e.quantity=e._n(t)},expression:"quantity"}}),t("div",{staticClass:"editible-quantity-price-and-label"},[t("div",{directives:[{name:"show",rawName:"v-show",value:!e.obscurePrice,expression:"!obscurePrice"}],staticClass:"quantity-price-label"},[e._v(" Price each ")]),t("label",{directives:[{name:"show",rawName:"v-show",value:!e.obscurePrice,expression:"!obscurePrice"}],staticClass:"price-per-part",attrs:{for:"editable-quantity-input"}},[e._v(" "+e._s(e._f("asDollars")(e.getPartPriceAndMinutes(e.part,e.part.quantity).price.total/e.part.quantity))+" ")])]),e._l(e.volumeOptions,function(i){return[t("QuoteRadioInput",{key:`${i.key}-radio`,staticClass:"quantity-radio",attrs:{value:i.quantity,id:i.key,label:i.quantity.toLocaleString()},on:{change:function(t){return e.updatePartQuantity(i.quantity)}},model:{value:e.selectedVolumeOption,callback:function(t){e.selectedVolumeOption=t},expression:"selectedVolumeOption"}}),t("div",{key:`${i.key}-price`,staticClass:"quantity-price-and-savings"},[e.obscurePrice?e._e():t("label",{staticClass:"quantity-price",attrs:{for:i.key,"data-test-id":"price-per-part"}},[e._v(" "+e._s(e._f("asDollars")(i.pricePerPart))+" ")]),i.savings>1&&!e.obscurePrice?t("small",{staticClass:"quantity-savings"}
1,[e._v(" Save "+e._s(i.savings)+"% ")]):e._e()])]})],2)])],1)],1),t("div",{staticClass:"part-actions-menu"},[t("button",{staticClass:"part-actions-menu-button",attrs:{type:"button"},on:{click:function(t){return e.toggleModal("actions")}}},[t("svg",{staticClass:"ellipsis",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none"}},[t("path",{attrs:{stroke:"#4F4F4F",d:"M11 12a1 1 0 1 0 2 0 1 1 0 0 0-2 0ZM11 6a1 1 0 1 0 2 0 1 1 0 0 0-2 0ZM11 18a1 1 0 1 0 2 0 1 1 0 0 0-2 0Z","clip-rule":"evenodd"}})])]),e.modals.actions?t("QuoteDropdown",{directives:[{name:"on-clickaway",rawName:"v-on-clickaway",value:()=>e.closeModal("actions"),expression:"() => closeModal('actions')"}],staticClass:"part-actions-dropdown"},[t("div",{staticClass:"part-actions-dropdown-list"},[t("button",{staticClass:"part-actions-dropdown-item",attrs:{type:"button"},on:{click:function(t){return e.$emit("copyPart")}}},[t("div",{staticClass:"part-action-button-inner"},[t("span",{staticClass:"part-action-button-icon"},[t("img",{attrs:{src:i(12304),alt:""}})]),t("span",{staticClass:"part-action-button-label"},[e._v("Copy")])])]),t("button",{staticClass:"part-actions-dropdown-item",attrs:{type:"button"},on:{click:function(t){return e.$emit("removePart")}}},[t("div",{staticClass:"part-action-button-inner"},[t("span",{staticClass:"part-action-button-icon"},[t("img",{attrs:{src:i(43438),alt:""}})]),t("span",{staticClass:"part-action-button-label"},[e._v("Remove")])])]),e.$store.getters.isStaff&&e.part.is_custom_part&&!e.accepted?t("button",{staticClass:"part-actions-dropdown-item part-actions-internal-item",attrs:{type:"button"},on:{click:function(t){return e.$emit("editPart")}}},[t("div",{staticClass:"part-action-button-inner"},[t("span",{staticClass:"part-action-button-icon"},[t("img",{attrs:{src:i(38247),alt:""}})]),t("span",{staticClass:"part-action-button-label"},[e._v("Edit")])]),t("base-internal-badge")],1):e._e()])]):e._e()],1)])]),t("div",{staticClass:"part-bottom-panel"},[e.part.is_custom_part?e._e():t("div",{staticClass:"part-preview",on:{click:function(t){return e.$modal.show(`part-configuration-modal-for-${e.part.id}`)}}},[t("QuotePartThumbnail",{attrs:{"show-zoom-controls":!1,part:e.part,accepted:e.accepted}}),e.accepted?e._e():t("button",{staticClass:"configure-button",class:{"configure-button-error":e.part.dfm_results?.maximum_part_size_for_material?.failed},attrs:{type:"button"}},[t("span",{staticClass:"configure-button-icon"},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"17",height:"18",fill:"none","aria-hidden":"true"}},[t("path",{attrs:{stroke:"currentColor","stroke-linecap":"round",d:"M12.042 4.75v8.5M8.5 4.75v8.5M4.959 4.75v8.5M3.542 6.167h2.833M7.083 11.833h2.833M10.625 9h2.833"}})])]),t("span",{staticClass:"button-label"},[e._v("Configure")])])],1),e.part.is_custom_part?t("div",{staticClass:"part-preview"},[t("div",{staticClass:"custom-part-preview"},[e.part.production_files?.length?t("div",{staticClass:"custom-part-attached-files-list"},[t("h4",{staticClass:"custom-part-attached-files-heading"},[e._v(" Production files: ")]),e._l(e.part.production_files,function(s){return t("div",{staticClass:"custom-part-attached-file"},[t("img",{staticClass:"custom-part-attached-file-icon",attrs:{src:i(72989),alt:""}}),e._v(" "+e._s(s.filename)+" ")])})],2):e._e()])]):e._e(),t("AppModal",{staticClass:"part-configuration-modal",attrs:{name:`part-configuration-modal-for-${e.part.id}`,"with-close-button":!0,"close-on-click-outside":Boolean(e.part.configuration.dimensions?.confirmed_width)}},[t("QuoteConfigurationModal",{attrs:{part:e.part},on:{configure:function(t){return e.$emit("configure",t)}}})],1),t("div",{staticClass:"part-configuration-and-total"},[t("div",{staticClass:"part-configuration"},[t("QuoteInput",{ref:"productionAndMaterial",attrs:{label:"Production & Material",placeholder:"Search materials",readonly:!1,value:e.technologyAndMaterialName,open:e.modals.materials,price:e.obscurePrice?"-":e.part.price?.production_and_material,accepted:e.accepted},on:{click:function(t){return e.$modal.show(`material-chooser-modal-for-${e.part.id}`)}
1,input:e.handleMaterialSearchInput,"update:open":function(t){return e.$set(e.modals,"materials",t)}}}),t("AppModal",{staticClass:"material-selection-modal",attrs:{"close-on-click-outside":Boolean(e.part.material?.id),"with-close-button":Boolean(e.part.material?.id),name:`material-chooser-modal-for-${e.part.id}`}},[t("QuoteMaterialPicker",{ref:`material-picker-for-${e.part.id}`,attrs:{part:e.part,"show-assign-to-all":e.showAssignToAll},on:{selectMaterial:function(t){return e.handleSelectMaterial(t,e.part)},selectMaterialForAllParts:function(t){return e.handleSelectMaterialForAllParts(t,e.part)},configure:function(t){return e.$emit("configure",t)}}})],1),"B"===e.plgSalesAssistVariant?t("QuoteInput",{ref:"precisionServiceDropdown",attrs:{label:"Precision",placeholder:"Standard",value:e.getPrecisionServiceNameForPart(e.part),price:e.obscurePrice?"-":e.part.price?.precision_service,"display-price-as-free":"","requires-review":e.part.precision_service_requires_custom_quote,accepted:e.accepted}},[t("QuoteDropdown",e._l(e.availablePrecisionServices,function(i){return t("QuoteInputOption",{key:i.key,attrs:{selected:i.key===e.part.precision_service_key},on:{click:function(t){return e.handleSelectPrecisionOption(i)}},scopedSlots:e._u([{key:"name",fn:function(){return[e._v(" "+e._s(e.getPrecisionServiceNameWithTolerance(i))+" ")]},proxy:!0},e.precisionServiceIsStandard(i)?{key:"description",fn:function(){return[e._v(" Standard tolerances per material as outlined in "),t("a",{staticClass:"input-option-link",attrs:{target:"_blank",href:i.help_link},on:{click:function(e){e.stopPropagation()}}},[e._v("this table")]),e._v(". ")]},proxy:!0}:{key:"description",fn:function(){return[e._v(" "+e._s(e.getPrecisionServiceDescriptionWithTolerance(i))+" ")]},proxy:!0},i.requires_custom_quote?{key:"requires-review",fn:function(){return[e._v(" Get custom quote ")]},proxy:!0}:{key:"price",fn:function(){return[e._v(" "+e._s(0===Number(i.price_usd)?"Free":i.price_usd|e.asDollars)+" ")]},proxy:!0}],null,!0)})}),1)],1):e._e(),t("QuoteInput",{attrs:{label:"DFM Analysis",placeholder:"Automatic + Manual",value:e.part.dfm_analysis_name,price:e.obscurePrice?"-":e.part.price.dfm_analysis,"display-price-as-free":"",accepted:e.accepted}},[t("QuoteDropdown",e._l(e.availableDfmAnalyses,function(i){return t("QuoteInputOption",{key:i.slug,attrs:{selected:i.slug===e.part.dfm_analysis_slug},on:{click:function(t){return e.handleSelectDfmAnalysisOption(i)}},scopedSlots:e._u([{key:"name",fn:function(){return[e._v(" "+e._s(i.name)+" ")]},proxy:!0},{key:"description",fn:function(){return[e._v(" "+e._s(i.description)+" ")]},proxy:!0},{key:"price",fn:function(){return[e._v(" "+e._s(e._f("asDollars")(e.getDfmAnalysisPrice(e.part,i)))+" ")]},proxy:!0}],null,!0)})}),1)],1),"B"===e.plgSalesAssistVariant?t("QuoteInput",{attrs:{label:"Post-processing",placeholder:"Standard",value:e.part.post_processing_service_name,"requires-review":e.part.post_processing_service_requires_custom_quote,price:e.obscurePrice?"-":e.part.price?.post_processing_service,"display-price-as-free":"",accepted:e.accepted}},[t("QuoteDropdown",e._l(e.availablePostProcessingServices,function(i){return t("QuoteInputOption",{key:i.key,attrs:{selected:i.key===e.part.post_processing_service_key},on:{click:function(t){return e.handleSelectPostProcessingOption(i)}},scopedSlots:e._u([{key:"name",fn:function(){return[e._v(" "+e._s(i.name)+" ")]},proxy:!0},{key:"description",fn:function(){return[e._v(" "+e._s(i.description)+" ")]},proxy:!0},i.requires_custom_quote?{key:"requires-review",fn:function(){return[e._v(" Get custom quote ")]},proxy:!0}:{key:"price",fn:function(){return[e._v(" "+e._s(0===Number(i.price_usd)?"Free":i.price_usd|e.asDollars)+" ")]},proxy:!0}],null,!0)})}),1)],1):e._e(),"B"!==e.plgSalesAssistVariant||e.part.is_custom_part?t("QuoteInput",{attrs:{label:"Finishing",placeholder:"As cut",value:e.part.finishing_service_name,"requires-review":e.part.finishing_service_requires_custom_quote,price:e.obscurePrice?"-":e.part.price?.finishing_services,"display-price-as-free":"",disabled:!e.part.material,accepted:e.accepted}},[t("QuoteDropdown",e._l(e.availableFinishingServices,function(i){return t("QuoteInputOption",{key:i.key,attrs:{selected:i.key===e.part.finishing_service_slug},on:{click:function(t){return e.handleSelectFinishingService(i)}},scopedSlots:e._u([{key:"name",fn:function(){return[e._v(" "+e._s(i.name)+" ")]},proxy:!0},{key:"description",fn:function(){return[e._v(" "+e._s(i.details)+" ")]},proxy:!0},i.requires_custom_quote?{key:"requires-review",fn:function(){return[e._v(" Get custom quote ")]},proxy:!0}:{key:"price",fn:function(){return[e._v(" "+e._s(e._f("asDollars")(e.getFinis
1hingServicePrice(i)))+" ")]},proxy:!0}],null,!0)})}),1)],1):t("QuoteInput",{ref:"finishingServiceDropdown",attrs:{label:"Finishing",placeholder:"As cut",value:e.part.finishing_service_name,"requires-review":e.part.finishing_service_requires_custom_quote,price:e.obscurePrice?"-":e.part.price?.finishing_services,"display-price-as-free":"",disabled:!e.part.material,accepted:e.accepted}},[t("QuoteDropdown",{staticClass:"finishing-services-dropdown"},e._l(e.finishingServicesByCategory,function(i){return t("div",{key:i.key},[i.hidden?e._e():t("div",{staticClass:"listbox-divider"},[e._v(" "+e._s(i.category_name)+" ")]),e._l(i.finishing_services,function(s){return t("div",{key:s.key,staticClass:"listbox-option",on:{click:function(t){return t.stopPropagation(),e.handleSelectFinishingService(s,i)}}},[t("div",{staticClass:"listbox-radio-and-description"},[t("QuoteRadioInput",{staticClass:"listbox-radio",attrs:{value:s.id,id:s.key,label:s.name},model:{value:i.finishing_service_id,callback:function(t){e.$set(i,"finishing_service_id",t)},expression:"category.finishing_service_id"}}),t("div",{staticClass:"listbox-description"},[e._v(" "+e._s(s.details)+" ")])],1),s.requires_custom_quote?t("app-badge",{staticClass:"badge-xs badge-light"},[e._v(" Get custom quote ")]):t("div",{staticClass:"listbox-price"},[e._v(" "+e._s(e._f("asDollars")(e.getFinishingServicePrice(s)))+" ")])],1)})],2)}),0)],1),t("QuoteInput",{attrs:{label:"Quality inspection",placeholder:"Standard",value:e.part.quality_inspection_service_name,"display-price-as-free":"",price:e.obscurePrice?"-":e.part.price?.quality_inspection_service,"requires-review":e.part.quality_inspection_service_requires_custom_quote,accepted:e.accepted}},[t("QuoteDropdown",e._l(e.availableQualityInspectionServices,function(s){return t("QuoteInputOption",{key:s.slug,attrs:{selected:s.slug===e.part.quality_inspection_service_slug},on:{click:function(t){return e.handleSelectQualityInspectionOption(s)}},scopedSlots:e._u([{key:"name",fn:function(){return[e._v(" "+e._s(s.name)+" "),s.help_link?[t("a",{staticClass:"d-flex",attrs:{target:"_blank",href:s.help_link},on:{click:function(e){e.stopPropagation()}}},[t("img",{staticClass:"ml-1",attrs:{src:i(32491),alt:""}})])]:e._e()]},proxy:!0},{key:"description",fn:function(){return[e._v(" "+e._s(s.description)+" ")]},proxy:!0},s.requires_custom_quote?{key:"requires-review",fn:function(){return[e._v(" Get custom quote ")]},proxy:!0}:{key:"price",fn:function(){return[e._v(" "+e._s(e._f("asDollars")("0.0"===s.price_usd?"Free":s.price_usd))+" ")]},proxy:!0}],null,!0)})}),1)],1),e.part.customer_supplied_technical_drawings?.length&&e.part.quality_inspection_service_requires_technical_drawing?[t("div",{staticClass:"technical-drawings",class:{accepted:e.accepted}},[t("div",{staticClass:"techncal-drawings-header"},[e._v(" Attached drawings "),e.accepted?e._e():t("a",{staticClass:"attached-drawings-edit",attrs:{href:"javascript:;"},on:{click:function(t){return e.$modal.show(`attach-drawing-modal-for-${e.part.id}`)}}},[e._v(" edit ")])]),e._l(e.part.customer_supplied_technical_drawings,function(i){return t("div",{key:i.name,staticClass:"technical-drawings-file-list"},[t("div",{staticClass:"technical-drawing"},[e._v(" "+e._s(i.filename)+" ")])])})],2)]:e._e(),t("app-modal",{staticClass:"part-attach-drawing-modal",attrs:{name:`attach-drawing-modal-for-${e.part.id}`,"with-close-button":!0}},[t("div",{staticClass:"attach-drawing-body"},[t("div",{staticClass:"attach-drawing-heading"},[e._v(" A drawing is required for this inspection ")]),t("div",{staticClass:"attach-drawing-instuctions"},[e._v(" To proceed with the Dimensional Inspection Report, please upload a technical drawing of the part. Ensure that the drawing includes ballooned dimensions that clearly identify the measurements to be inspected. "),t("a",{staticClass:"attach-drawing-learn-more",attrs:{href:"https://help.ponoko.com/en/articles/9359034-cnc-laser-cutting-sheet-metal-fabrication-inspection-options",target:"_blank"}},[e._v("Learn more")])]),t("input",{ref:"attachedTechnicalDrawings",staticClass:"attach-drawing-input",attrs:{type:"file",multiple:"multiple"},on:{change:e.handleTechnicalDrawingsFileChange}})]),t("div",{staticClass:"attach-drawing-footer"},[t("quote-button",{staticClass:"button-dark",attrs:{disabled:e.attachedTechnicalDrawings.length<1},on:{click:e.handleAttachTechnicalDrawings}}
1,[e._v(" Continue ")])],1)]),"B"===e.plgSalesAssistVariant?t("QuoteInput",{attrs:{label:"Certifications",placeholder:"None",value:e.part.certification_service_name,price:e.obscurePrice?"-":e.part.price.certification_service,"requires-review":e.part.certification_service_requires_custom_quote,"display-price-as-free":"",accepted:e.accepted}},[t("QuoteDropdown",e._l(e.availableCertificationServices,function(i){return t("QuoteInputOption",{key:i.key,attrs:{selected:i.key===e.part.certification_service_key,"requires-review":i.requires_custom_quote},on:{click:function(t){return e.handleSelectCertificationOption(i)}},scopedSlots:e._u([{key:"name",fn:function(){return[e._v(" "+e._s(i.name)+" ")]},proxy:!0},{key:"description",fn:function(){return[e._v(" "+e._s(i.description)+" ")]},proxy:!0},i.requires_custom_quote?{key:"requires-review",fn:function(){return[e._v(" Get custom quote ")]},proxy:!0}:{key:"price",fn:function(){return[e._v(" "+e._s(0===Number(i.price_usd)?"Free":i.price_usd|e.asDollars)+" ")]},proxy:!0}],null,!0)})}),1)],1):e._e(),e.customLineItems?e._l(e.customLineItems,function(i){return t("QuoteInput",{key:i.key,attrs:{label:i.label,placeholder:"Standard",value:i.value,price:i.price_usd,"display-price-as-free":"",accepted:e.accepted}})}):e._e()],2),t("div",{staticClass:"part-line-item"},[t("div",{staticClass:"part-line-item-label",on:{click:e.debugPartpricing}},[e._v(" Total USD ")]),t("div",{staticClass:"part-line-item-total"},[e.$store.getters.isInternalViewer&&!e.part.is_custom_part?t("base-internal-price-breakdown",{attrs:{title:"Price components","modal-name":`part-price-components-for-${e.part.id}`}},[t("QuoteAdminPartDebuggingModal",{attrs:{part:e.part}})],1):e._e(),e.obscurePrice?t("div",{staticClass:"part-line-item-value"},[e._v(" - ")]):t("div",{staticClass:"part-line-item-value"},[e._v(" "+e._s(e._f("asDollars")(e.part.price.total))+" ")])],1)])])],1)])},a=[]},82150:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return e.use3D?t("PartRenderImage",{attrs:{part:e.part}}):t("QuoteDesignPreview",{attrs:{part:e.part,accepted:e.accepted,"show-zoom-controls":e.showZoomControls,"show-measurement-tool":e.showMeasurementTool,"show-material-in-background-by-default":e.showMaterialInBackgroundByDefault,"currently-editing":e.currentlyEditing}})},a=[]},50856:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",[t("AppModal",{staticClass:"payment-method-picker-modal",attrs:{name:"pickPaymentMethod","close-on-click-outside":!1},on:{"before-open":e.fetchPaymentMethods}},[t("div",{staticClass:"payment-method-picker-heading"},[e._v(" Choose a payment method ")]),t("div",{staticClass:"payment-method-list"},[e._l(e.paymentMethods,function(s){return t("div",{key:s.id,staticClass:"payment-method-option",class:{selected:s.selected},on:{click:function(t){return e.selectPaymentMethod(s)}}},[t("div",{staticClass:"payment-method-radio"},[t("div",{staticClass:"payment-method-radio-inner"})]),t("div",{staticClass:"selected-stored-payment-method-icon-and-label"},["bank_account"===s.type?t("img",{staticClass:"bank-account-icon",attrs:{src:i(98366),alt:""}}):t("quote-credit-card-icon",{attrs:{type:s.cardType}}),e._v(" "+e._s("bank_account"===s.type?s.bankName:s.cardType)+" ending in "+e._s(s.last4)+" ")],1)])}),t("div",{staticClass:"add-new-payment-method"},[t("quote-button",{staticClass:"payment-method-picker-action button-transparent button-small",on:{click:e.addNewPaymentMethod}},[t("img",{staticClass:"payment-method-picker-add-new-payment-method-button-icon",attrs:{src:i(18640),alt:""}}),e._v(" Add a new payment method ")])],1)],2),t("div",{staticClass:"payment-method-picker-actions"},[t("quote-button",{staticClass:"payment-method-picker-action",attrs:{label:"Close"},on:{click:function(t){return e.$modal.hide("pickPaymentMethod")}}}),t("quote-button",{staticClass:"payment-method-picker-action button-dark",attrs:{label:"Use this payment method"},on:{click:e.pickPaymentMethod}})],1)]),t("AppModal",{staticClass:"add-payment-method-modal",attrs:{name:"addPaymentmethodModal","close-on-click-outside":!1},on:{beforeOpen:function(t){e.paymentMethod=e.value}}},[e.paymentMethod.id?t("div",{staticClass:"payment-method-picker-heading"},[e._v(" Edit payment method ")]):t("div",{staticClass:"payment-method-picker-heading"},[e._v(" Add payment method ")]),t("div",{staticClass:"payment-method-picker-actions"},[e.paymentMethod?t("quote-button",{staticClass:"payment-method-picker-action",attrs:{label:"Cancel"},on:{click:function(e){}}}
1):e._e(),t("quote-button",{staticClass:"payment-method-picker-action button-dark",attrs:{label:"Save and continue"},on:{click:e.saveAddress}})],1)])],1)},a=[]},78412:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("transition",{attrs:{name:"progress-bar",appear:""}},[t("div",{staticClass:"progress-bar",class:[e.progressClasses]},[t("div",{staticClass:"progress-bar-track",style:e.progressTrackStyle}),t("div",{staticClass:"progress-bar-fill",style:e.progressValueStyle}),t("div",{staticClass:"progress-bar-buffer",attrs:{Style:e.progressBufferStyle}})])])},a=[]},46051:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"removed-part-bar"},[t("p",{staticClass:"removed-part-message"},[t("strong",[e._v(e._s(e.filename))]),e._v(" was removed. ")]),t("div",{staticClass:"removed-part-actions"},[t("a",{staticClass:"removed-part-undo-link",class:{busy:e.busy},attrs:{href:"javascript:void(0)"},on:{click:function(t){e.busy||e.$emit("undo")}}},[e._v(" "+e._s(e.busy?"Restoring…":"Undo")+" ")]),t("button",{staticClass:"removed-part-dismiss",attrs:{"aria-label":"Dismiss"},on:{click:function(t){return e.$emit("dismiss")}}},[e._v(" × ")])])])},a=[]},58095:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"part"},[t("div",{staticClass:"part-top-panel"},[t("div",{staticClass:"part-name-and-dfm-badge"},[t("h4",{staticClass:"part-name"},[e._v(" "+e._s(e.part.name)+" ")])]),t("div",{staticClass:"part-quantity-and-actions"},[t("div",{staticClass:"part-quantity"},[t("quote-text-input",{ref:"quantity",staticClass:"quantity-input",attrs:{id:"editable-quantity-input",type:"number",label:"Quantity",step:"1",min:"1"},on:{focus:t=>{t.target.select(),e.selectedVolumeOption=""},input:e.updatePartQuantity},model:{value:e.quantity,callback:function(t){e.quantity=e._n(t)},expression:"quantity"}})],1),t("div",{staticClass:"part-actions-menu"},[t("quote-actions-dropdown",{attrs:{actions:[{label:"Remove",emit:"removeSample",icon:i(43438)}]},on:{removeSample:function(t){return e.$emit("removeSample")}}})],1)])]),t("div",{staticClass:"part-bottom-panel"},[t("div",{staticClass:"part-preview"},[t("div",{staticClass:"sample-render-container hatch-pattern"},[t("quote-sample-swatch",{staticClass:"sample-render",attrs:{material:e.part.material}})],1)]),t("div",{staticClass:"part-configuration-and-total"},[t("div",{staticClass:"part-configuration"},[t("QuoteInput",{ref:"productionAndMaterial",attrs:{label:"Production & Material",placeholder:"Search materials",readonly:!0,value:e.technologyAndMaterialName,open:e.modals.materials,price:e.part.price?.production_and_material||"-",accepted:!0},on:{click:function(t){return e.$modal.show(`material-chooser-modal-for-${e.part.id}`)},"update:open":function(t){return e.$set(e.modals,"materials",t)}}}),t("AppModal",{staticClass:"material-selection-modal",attrs:{"close-on-click-outside":Boolean(e.part.material?.id),name:`material-chooser-modal-for-${e.part.id}`}},[t("QuoteMaterialPicker",{ref:`material-picker-for-${e.part.id}`,attrs:{part:e.part},on:{selectMaterial:function(t){return e.handleSelectMaterial(t,e.part)},configure:function(t){return e.$emit("configure",t)}}})],1)],1),t("div",{staticClass:"part-line-item"},[t("div",{staticClass:"part-line-item-label"},[e._v(" Total USD ")]),t("div",{staticClass:"part-line-item-total"},[e.$store.getters.isInternalViewer?t("base-internal-price-breakdown",{attrs:{title:"Price components","modal-name":`part-price-components-for-${e.part.id}`}},[t("QuoteAdminPartDebuggingModal",{attrs:{part:e.part}})],1):e._e(),t("div",{staticClass:"part-line-item-value"},[e._v(" "+e._s(e._f("asDollars")(e.part.price.total))+" ")])],1)])])])])},a=[]},47870:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("quote-spec-popover",{ref:"popover",attrs:{label:e.label,value:e.value,placeholder:e.placeholder,"align-right":e.alignRight},on:{opened:e.onOpened,closed:function(t){e.query=""}}},[t("div",{on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),e.onArrow(1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),e.onArrow(-1))}]}},[t("div",{staticClass:"spec-search"},[t("svg",{staticClass:"spec-search-icon",attrs:{viewBox:"0 0 24 24",width:"15",height:"15",fill:"none",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round"}},[t("circle",{attrs:{cx:"11",cy:"11",r:"7"}}),t("path",{attrs:{d:"m21 21-4.3-4.3"}})]),t("input",{directives:[{name:"model",rawName:"v-model",value:e.query,expression:"query"}],ref:"search",staticClass:"spec-search-input",attrs:{placeholder:e.searchPlaceholder,"aria-label":e.label,type:"text",autocomplete:"off"},domProps:{value:e.query},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.onEnter.apply(null,arguments))},input:function(t){t.target.composing||(e.query=t.target.value)}}})]),t("div",{ref:"options",staticClass:"spec-options"},[e._l(e.filteredSections,function(i,s){return[i.heading?t("div",{key:`heading-${s}`,staticClass:"spec-list-heading"}
1,[e._v(" "+e._s(i.heading)+" ")]):e._e(),e._l(i.options,function(i){return t("button",{key:`${s}-${null!=i.id?i.id:i.label}`,staticClass:"spec-option",attrs:{type:"button",tabindex:"-1","aria-pressed":i.label===e.value?"true":"false"},on:{click:function(t){return e.select(i.label)}}},[t("span",{staticClass:"spec-option-check"},[i.label===e.value?t("svg",{attrs:{viewBox:"0 0 24 24",width:"15",height:"15",fill:"none",stroke:"currentColor","stroke-width":"2.25","stroke-linecap":"round","stroke-linejoin":"round"}},[t("path",{attrs:{d:"M20 6 9 17l-5-5"}})]):e._e()]),t("span",{staticClass:"spec-option-label"},[e._v(" "+e._s(i.label)+" ")])])})]}),e.showCreate?t("button",{staticClass:"spec-option spec-option-create",attrs:{type:"button",tabindex:"-1"},on:{click:e.create}},[t("span",{staticClass:"spec-option-plus"},[e._v("+")]),t("span",{staticClass:"spec-option-label"},[e._v("Use “"),t("strong",[e._v(e._s(e.query.trim()))]),e._v("”")])]):e._e(),e.noResults?t("div",{staticClass:"spec-empty"},[e._v(" No standard match — type to add a custom value. ")]):e._e()],2)])])},a=[]},93435:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",{directives:[{name:"on-clickaway",rawName:"v-on-clickaway",value:e.close,expression:"close"}],staticClass:"spec-popover-field",on:{focusout:e.onFocusOut}}
1,[t("button",{ref:"trigger",staticClass:"spec-trigger",attrs:{type:"button","aria-expanded":e.open?"true":"false","aria-haspopup":e.haspopup},on:{click:e.toggle}},[t("span",{staticClass:"spec-trigger-label"},[e._v(e._s(e.label))]),t("div",{staticClass:"spec-trigger-value-row"},[t("span",{staticClass:"spec-trigger-value",class:{"spec-placeholder":!e.value}},[e._v(" "+e._s(e.value||e.placeholder)+" ")]),t("svg",{staticClass:"spec-chevron",class:{open:e.open},attrs:{viewBox:"0 0 24 24",width:"16",height:"16",fill:"none",stroke:"currentColor","stroke-width":"1.85","stroke-linecap":"round","stroke-linejoin":"round"}},[t("path",{attrs:{d:"m6 9 6 6 6-6"}})])])]),e.open?t("div",{staticClass:"spec-dropdown",class:{"align-right":e.alignRight},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:(t.stopPropagation(),t.preventDefault(),e.closeToTrigger.apply(null,arguments))}}},[e._t("default")],2):e._e()])},a=[]},32220:function(e,t,i){i.d(t,{X:function(){return s},Y:function(){return a}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"quote-page",class:{accepted:e.accepted,initialized:e.initialized}},[e.currentlyDoingApiUpdate?t("QuoteProgressBar",{staticClass:"quote-progress-bar",attrs:{mode:"indeterminate"}}):e._e(),t("div",{staticClass:"row no-gutters"},[t("div",{staticClass:"left-side"},[t("div",{staticClass:"container px-4"},[t("div",{staticClass:"py-2"}),e._l(e.partListItems,function(i){return[i.removedEntry?t("quote-removed-part-bar",{key:i.removedEntry.snapshot.id,attrs:{filename:i.removedEntry.snapshot.name,busy:i.removedEntry.busy},on:{undo:function(t){return e.handleUndoRemovePart(i.removedEntry)},dismiss:function(t){return e.dismissRemovedPartBar(i.removedEntry)}}}):t("div",{key:i.part.id},[e.unaccepted&&i.part.is_custom_part?t("quote-custom-part",{ref:"parts",refInFor:!0,attrs:{"part-prop":i.part,"service-catalog":e.quote.service_catalog,"recent-technologies":e.recentCustomTechnologies},on:{saveCustomPart:function(t){return e.handleSaveCustomPart(i.part,t)},copyPart:function(t){return e.handleCopyCustomPart(i.part)},removePart:function(t){return e.handleRemoveCustomPart(i.part)}}}):i.part.is_sample?t("quote-sample",{ref:"parts",refInFor:!0,attrs:{part:i.part,accepted:e.accepted},on:{removeSample:function(t){return e.removeSample(i.part)},updateSample:e.updateSample}}):t("quote-part",{ref:"parts",refInFor:!0,attrs:{part:i.part,"service-catalog":e.quote.service_catalog,accepted:e.accepted,"show-assign-to-all":e.quoteHasMultipleStandardParts},on:{configure:function(t){return e.handleConfigure(i.part,t)},selectMaterial:function(t){return e.handleSelectMaterial(i.part,t)},selectMaterialForAllParts:e.handleSelectMaterialForAllParts,copyPart:function(t){return e.handleCopyPart(i.part)},removePart:function(t){return e.handleRemovePart(i.part)},update:e.updatePart}})],1)]}),e.canAddCustomParts?t("div",{staticClass:"add-part-button-container"},[t("base-internal-button",{on:{click:e.addCustomPart}},[e._v(" + Add custom part ")])],1):e._e(),t("transition",{attrs:{name:"fade"}},[t("AppUploader",{directives:[{name:"show",rawName:"v-show",value:!e.accepted,expression:"!accepted"}],staticClass:"quote-upload-area",attrs:{variant:"quote",headline:e.quoteIsEmpty?"Add a part to continue.":"Get multiple part quotes."},on:{successfulUpload:e.handleUpload,addStoredDesigns:e.handleAddStoredDesigns}})],1)],2)]),t("div",{staticClass:"right-side"},[t("div",{staticClass:"sticky-sidebar"},[e.accepted&&e.quote.custom_valid_until&&!e.customValidUntilIsExpired?t("section",{staticClass:"custom-valid-until-message"},[t("p",{staticClass:"custom-valid-until-body"},[e._v(" To meet your requested delivery date, this order must be completed by "),t("strong",[e._v(e._s(e.userFriendlyCustomValidUntil))]),e._v(". ")])]):e._e(),e.accepted&&e.customValidUntilIsExpired?t("section",{staticClass:"expired-custom-valid-until-message"},[t("p",{staticClass:"custom-valid-until-body"},[e._v(" This quote included a guaranteed ship date that required ordering by "),t("strong",[e._v(e._s(e.userFriendlyCustomValidUntil))]),e._v(". To proceed, you’ll need an updated quote with a new delivery date. "),t("a",{staticClass:"intercom-launcher expired-custom-valid-u
1ntil-link",attrs:{href:"mailto:[email protected]"},on:{click:function(t){return t.preventDefault(),e.handleCollaborateWithSalesEngineerClick.apply(null,arguments)}}},[e._v("Request updated quote"),t("base-inline-arrow")],1)])]):e._e(),t("h2",{staticClass:"headline"},[e._v(" Order Summary ")]),t("div",{staticClass:"order-summary",class:{"quote-empty":e.quoteIsEmpty}},e._l(e.lineItems,function(i){return t("div",{key:i.label,staticClass:"line-item"},[t("div",{staticClass:"line-item-label"},[e._v(" "+e._s(i.label)+" "),i.certainty?t("delivery-certainty-badge",{attrs:{certainty:i.certainty}}):e._e()],1),t("div",{staticClass:"line-item-value"},[e._v(" "+e._s(e._f("asDollars")(i.value))+" ")])])}),0),e.accepted?e._e():[t("div",{staticClass:"delivery-method-container"},[e.deliveryOptionsNotYetAvailable?t("div",{staticClass:"delivery-method-empty-note"},[e._v(" Pricing and delivery options will appear here once your quote has at least one part. ")]):[t("h2",{staticClass:"listbox-heading delivery-method-heading"},[e._v(" Delivery method: ")]),t("div",{staticClass:"delivery-method-listbox"},e._l(e.deliverySpeedOptions,function(i){return t("quote-delivery-method-option",{key:i.id,attrs:{option:i,selected:i.id===e.quote.selected_delivery?.id},on:{click:function(t){return e.handleSelectDeliverySpeedOption(i)}}})}),1),e.deliveryPreferenceServices.length||e.$store.getters.isStaff?t("div",{staticClass:"delivery-method-more-options"},[t("a",{staticClass:"delivery-method-more-options-toggle",attrs:{href:"javascript:void(0)"},on:{click:e.handleToggleDeliveryPreferenceDropdown}},[e._v(" "+e._s(e.deliveryPreferenceLabel)+" "),t("svg",{staticClass:"delivery-method-more-options-chevron",attrs:{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[t("path",{attrs:{d:"M6 10l6 6 6-6",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}})])]),e.dropdowns.deliveryPreference?t("QuoteDropdown",{directives:[{name:"on-clickaway",rawName:"v-on-clickaway",value:()=>e.dropdowns.deliveryPreference=!1,expression:"() => dropdowns.deliveryPreference = false"}],staticClass:"delivery-preference-dropdown"},[t("div",{staticClass:"delivery-preference-option",class:{active:!e.deliveryPreference},on:{click:function(t){return e.handleSelectDeliveryPreference(null)}}},[t("span",[e._v("Recommended")]),e.deliveryPreference?e._e():t("img",{staticClass:"delivery-preference-check",attrs:{src:i(99993),alt:""}})]),e._l(e.deliveryPreferenceServices,function(s){return t("div",{key:s.serviceCode,staticClass:"delivery-preference-option",class:{active:s.serviceCode===e.deliveryPreference?.serviceCode},on:{click:function(t){return e.handleSelectDeliveryPreference(s)}}},[t("span",[e._v(e._s(s.serviceName))]),s.serviceCode===e.deliveryPreference?.serviceCode?t("img",{staticClass:"delivery-preference-check",attrs:{src:i(99993),alt:""}}):e._e()])}),e.$store.getters.isStaff?t("div",{staticClass:"delivery-preference-option delivery-preference-custom",class:{active:e.isCustomDeliverySelected},on:{click:e.handleOpenCustomDeliveryModal}},[t("span",[e._v("Custom…")]),t("span",{staticClass:"delivery-preference-custom-marks"},[e.isCustomDeliverySelected?t("img",{staticClass:"delivery-preference-check",attrs:{src:i(99993),alt:""}}):e._e(),t("base-internal-badge")],1)]):e._e()],2):e._e()],1):e._e()],t("div",{staticClass:"delivery-method-footer"},[t("div",{staticClass:"delivery-method-footer-row"},[t("div",{staticClass:"delivery-method-footer-label"},[e._v(" "+e._s(e.isPickupSelected?"Pick up at:":"Deliver to:")+" ")]),t("div",{staticClass:"delivery-method-footer-value-row"},[(e.isPickupSelected?e.pickupLocale:e.userFriendlyLocale)?[t("span",{staticClass:"delivery-method-footer-value"},[e._v(e._s(e.isPickupSelected?e.pickupLocale:e.userFriendlyLocale))]),e.isPickupSelected?e._e():t("a",{staticClass:"zip-link",attrs:{href:"javascript:void(0)"},on:{click:e.handleChangeShippingAddressClick}},[e._v(" Change ")])]:t("a",{staticClass:"zip-link",attrs:{href:"javascript:void(0)"},on:{click:e.handleChangeShippingAddressClick}},[e._v(" Add delivery location ")]),e.dropdowns.shippingLocation?t("QuoteDropdown",{directives:[{name:"on-clickaway",rawName:"v-on-clickaway",value:()=>e.dropdowns.shippingLocation=!1,expression:"() => dropdowns.shippingLocation = false"}],staticClass:"shipping-location-modal"},[t("h4",{staticClass:"shipping-location-title"},[e._v(" Choose your location ")]),t("div",{staticClass:"shipping-location-body"},[e._v(" Or "),t("a",{staticClass:"zip-link",attrs:{href:"javascript:void(0)"},on:{click:function(e){e.stopPropagation()}}},[e._v(" login")]),e._v(" to see your saved addresses ")]),t("div",{staticClass:"shipping-location-input-wrapper"},[t("QuoteTextInput",{staticClass:"shipping-location-modal-input",attrs:{pattern:e.zipPattern,label:"Zip code",type:"text",autocomplete:"shipping postal-code"},model:{value:e.shippingLocationZip,callback:function(t){e.shippingLocationZip=t},expression:"shippingLocationZip"}}),e.unaccepted?t("quote-button",{staticClass:"button-dark shipping-location-update-button",attrs:{label:"Update",disabled:!e.shippingLocationZip},on:{click:e.handleUpdateShippingAddressZip}}
1):e._e()],1)]):e._e()],2)]),e.orderByMessage?t("div",{staticClass:"delivery-method-footer-message"},[e._v(" "+e._s(e.orderByMessage)+" ")]):e._e()])],2)],e.quote.sales_tax?.amount_to_collect?t("div",{staticClass:"line-item"},[t("div",{staticClass:"line-item-label"},[e._v(" Sales tax "),t("base-tooltip-icon",[e._v(" Sales tax is based on your shipping address. Eligible businesses (reseller, government, nonprofit) can "),t("router-link",{attrs:{to:"/account/profile/",target:"_blank","aria-label":"Open my Ponoko account in a new tab"}},[e._v(" apply for exemption ")]),t("base-inline-arrow")],1)],1),t("div",{staticClass:"line-item-value"},[e._v(" "+e._s(e._f("asDollars")(e.quote.sales_tax.amount_to_collect))+" ")])]):e._e(),e.showCreditsApplied?t("div",{staticClass:"line-item"},[t("div",{staticClass:"line-item-label"},[e._v(" "+e._s(e.quote.credits_applied.prepayment_credit_label||e.quote.credits_applied.order_credit_label||e.quote.credits_applied.user_credit_label)+" ")]),t("div",{staticClass:"line-item-value"},[e._v(" - "+e._s(e._f("asDollars")(e.quote.credits_applied.total_credit))+" ")])]):e._e(),t("div",{staticClass:"line-item grand-total",class:{"quote-empty":e.quoteIsEmpty}},[t("div",{staticClass:"line-item-label"},[e._v(" Grand Total USD ")]),t("div",{staticClass:"line-item-value"},[e._v(" "+e._s(e._f("asDollars")(e.quote.grand_total_usd))+" ")])]),e.accepted?[e.$store.state.account.isGuest?t("section",[t("h2",{staticClass:"headline"},[e._v(" Contact information ")]),t("QuoteTextInput",{attrs:{placeholder:"[email protected]",label:"Enter your email",type:"email",error:e.checkoutErrors?.email,autocomplete:"email"},model:{value:e.email,callback:function(t){e.email=t},expression:"email"}}),t("transition",{attrs:{name:"fade"}},[e.createAccount?t("QuoteTextInput",{attrs:{label:"Enter your password",type:"password",error:e.checkoutErrors?.password,autocomplete:"new-password"},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}}):e._e()],1),t("QuoteCheckboxInput",{staticClass:"mb-2",attrs:{label:"Create an account","helper-text":"Track production progress & get 1-click quotes next time."},model:{value:e.createAccount,callback:function(t){e.createAccount=t},expression:"createAccount"}})],1):e._e(),t("section",{staticClass:"shipping"},[t("h2",{staticClass:"headline"},[e._v(" "+e._s(e.isPickupSelected?"Pickup":"Shipping")+" information ")]),e.isPickupSelected?[t("quote-stored-address",{staticClass:"displayed-pickup-address",attrs:{address:e.quote.pickup_location}})]:e.displayedShippingAddress?[t("div",{staticClass:"displayed-shipping-address-and-change-link",on:{click:function(t){return t.preventDefault(),e.$modal.show("pickShippingAddress")}}},[t("quote-stored-address",{attrs:{address:e.displayedShippingAddress}}),t("a",{staticClass:"change-shipping-address-link",attrs:{href:"javascript:;"}},[e._v("Change address")])],1)]:[t("a",{staticClass:"add-shipping-address-link",attrs:{href:"javascript:;"},on:{click:function(t){return e.$modal.show("pickShippingAddress")}}},[e._v("Add shipping address")])]],2),t("section",{staticClass:"po-number"},[e.showPurchaseOrderNumber?e._e():t("a",{staticClass:"add-a-po-number",attrs:{href:"javascript:void(0)"},on:{click:function(t){return t.preventDefault(),e.handleAddAPoNumber.apply(null,arguments)}}},[e._v(" Add a PO number ")]),e.quote.purchase_order_number||e.showPurchaseOrderNumber?[t("QuoteTextInput",{attrs:{label:"PO Number",type:"text",autocomplete:"",error:e.checkoutErrors.purchaseOrderNumber},on:{blur:e.addPurchaseOrderNumber},model:{value:e.purchaseOrderNumber,callback:function(t){e.purchaseOrderNumber=t},expression:"purchaseOrderNumber"}})]:e._e()],2),e.quote.grand_total_usd>0?t("section",{staticClass:"payment-information"},[t("h2",{staticClass:"headline",on:{dblclick:e.populateDummyCheckout}},[e._v(" Payment information ")]),e.displayedPaymentMethod?t("div",{staticClass:"selected-stored-payment-method"},[t("div",{staticClass:"selected-stored-payment-method-icon-and-label"},["bank_account"===e.displayedPaymentMethod.type?t("img",{staticClass:"selected-stored-bank-account-icon",attrs:{src:i(98366),alt:""}}
1):t("quote-credit-card-icon",{attrs:{type:e.displayedPaymentMethod.cardType}}),e._v(" "+e._s("bank_account"===e.displayedPaymentMethod.type?e.displayedPaymentMethod.bankName:e.displayedPaymentMethod.cardType)+" ending in "+e._s(e.displayedPaymentMethod.last4)+" ")],1),t("a",{staticClass:"change-payment-method-link",attrs:{href:"javascript:;"},on:{click:function(t){return t.preventDefault(),e.$modal.show("pickPaymentMethod")}}},[e._v("Change payment")])]):e._e(),!e.displayedPaymentMethod||e.showExternalPaymentOption?[t("div",{staticClass:"payment-method-button-group",class:{"four-methods":4===e.paymentMethods.length}},[e._l(e.paymentMethods,function(i){return t("button",{key:i.code,staticClass:"payment-method-button",class:{active:e.paymentMethod===i.code},attrs:{type:"button"},on:{click:function(t){e.paymentMethod=i.code}}},[e._v(" "+e._s(i.name)+" ")])}),t("span",{staticClass:"payment-method-button-selection",class:e.paymentButtonSelectionClass})],2),"credit_card"===e.paymentMethod?[e.displayedPaymentMethod?e._e():t("CreditCardFields",{attrs:{errors:e.checkoutErrors},model:{value:e.card,callback:function(t){e.card=t},expression:"card"}}),e.displayedBillingAddress?t("section",{staticClass:"billing"},[t("div",{staticClass:"billing-to"},[e._v(" Billing to: ")]),t("div",{staticClass:"displayed-shipping-address-and-change-link",on:{click:function(t){return t.preventDefault(),e.$modal.show("pickBillingAddress")}}},[t("quote-stored-address",{attrs:{address:e.displayedBillingAddress}}),t("a",{staticClass:"change-shipping-address-link",attrs:{href:"javascript:;"}},[e._v("Change address")])],1),!e.displayedBillingAddress&&e.isPickupSelected?[t("a",{staticClass:"add-billing-address-link",attrs:{href:"javascript:;"},on:{click:function(t){return e.$modal.show("pickBillingAddress")}}},[e._v("Add billing address")])]:e._e()],2):e._e(),t("section",{staticClass:"billing address"}),e.isPickupSelected?e._e():t("QuoteCheckboxInput",{staticClass:"mb-2 w-100",attrs:{label:"Billing address is same as shipping","helper-text":""},model:{value:e.billingAddressIsSameAsShipping,callback:function(t){e.billingAddressIsSameAsShipping=t},expression:"billingAddressIsSameAsShipping"}}),t("QuoteCheckboxInput",{staticClass:"mb-2",attrs:{label:"Save this card for future orders","helper-text":""},model:{value:e.saveThisCardForFutureOrders,callback:function(t){e.saveThisCardForFutureOrders=t},expression:"saveThisCardForFutureOrders"}})]:e._e(),"terms"===e.paymentMethod?[t("div",{staticClass:"net-terms"},[e._m(0),t("div",{staticClass:"net-term"},[t("label",{staticClass:"net-terms-label",attrs:{for:""}},[e._v(" Amount ")]),t("div",{staticClass:"net-terms-value"},[e._v(" "+e._s(e._f("asDollars")(e.quote.grand_total_usd))+" ")])]),t("div",{staticClass:"net-term net-term-due-date"},[t("label",{staticClass:"net-terms-label",attrs:{for:""}},[e._v(" Payment Due Date ")]),t("div",{staticClass:"net-terms-value"},[e._v(" "+e._s(e.netTermsDueDate)+" ")])])])]:e._e(),"ach"===e.paymentMethod&&"bank_account"!==e.displayedPaymentMethod?.type?[t("AchBankAccountFields",{attrs:{errors:e.checkoutErrors.ach||{}},model:{value:e.ach,callback:function(t){e.ach=t},expression:"ach"}}),t("div",{staticClass:"pt-2 pl-1 pb-2"},[t("small",{staticClass:"form-text text-muted"},[e._v(" "+e._s(e.achMandateText)+" ")])])]:e._e(),"external"===e.paymentMethod?[t("QuoteSelectInput",{staticClass:"half-width",attrs:{options:[{label:"Wire",value:"wire"},{label:"ACH",value:"ach"},{label:"Check",value:"check"},{label:"Other",value:"other"}],label:"Payment method"},model:{value:e.external.method,callback:function(t){e.$set(e.external,"method",t)},expression:"external.method"}}),t("QuoteTextInput",{attrs:{label:"Reference or transaction number (optional)",type:"text",autocomplete:""},model:{value:e.external.reference,callback:function(t){e.$set(e.external,"reference",t)},expression:"external.reference"}}),t("QuoteTextInput",{attrs:{label:"Internal notes (optional)",type:"text",autocomplete:""},model:{value:e.external.notes,callback:function(t){e.$set(e.external,"notes",t)},expression:"external.notes"}}),e._m(1)]:e._e()]:e._e()],2):e._e()]:e._e(),e.processorResponseMessage?t("section",{staticClass:"processor-response-messages"},[t("h3",{staticClass:"processor-response-heading"},[e._v(" Your payment details couldn’t be verified. Check your card details and try again. ")]),t("p",{staticClass:"processor-response-body"}
1,[e._v(" "+e._s(e.processorResponseMessage)+" ")])]):e._e(),t("section",{staticClass:"need-help-with-pricing"},[t("span",{},[e._v(" Need help with pricing? ")]),t("a",{staticClass:"intercom-launcher need-help-with-pricing-link",attrs:{href:"mailto:[email protected]"},on:{click:function(t){return t.preventDefault(),e.handleCollaborateWithSalesEngineerClick.apply(null,arguments)}}},[e._v("Talk to an engineer"),t("base-inline-arrow")],1)]),e.unaccepted?t("base-tooltip",{attrs:{block:"",label:e.toolTipForDisabledCheckoutButton}},[t("quote-button",{staticClass:"go-to-checkout button-dark button-large w-100",attrs:{label:"Go to checkout",disabled:!e.readyForCheckout},on:{click:e.handleGoToCheckout}})],1):e._e(),e.accepted&&e.quote.requires_custom_quote?t("quote-button",{staticClass:"go-to-checkout button-dark button-large w-100",attrs:{label:"Get custom quote",disabled:!e.readyForPayment},on:{click:e.handleSubmitCustomQuoteRequest}}):e._e(),e.accepted&&!e.quote.requires_custom_quote?t("quote-button",{staticClass:"go-to-checkout button-dark button-large w-100",attrs:{label:"Place your order",disabled:!e.readyForPayment},on:{click:e.handlePayment}}):e._e(),e.checkoutBlocker?t("p",{staticClass:"checkout-blocked-caption"},[e._v(" "+e._s(e.checkoutBlocker.caption)+" ")]):e.showSharingOptions?t("div",{staticClass:"sharing-container"},[t("quote-button",{staticClass:"button-small button-transparent sharing-link",attrs:{label:"Copy Link"},on:{click:e.handleShareLinkToQuoteClick}},[t("img",{staticClass:"sharing-icon",attrs:{src:i(38263),alt:""}}),e._v(" Copy link ")]),t("quote-button",{staticClass:"button-small button-transparent sharing-link",attrs:{label:"Export formal quote"},on:{click:e.handleExportFormalQuoteClick}},[e.exportingQuoteAsPdf?[t("base-spinner",{staticClass:"sharing-icon",attrs:{color:"#1A1919"}}),e._v(" Exporting formal quote ")]:[t("img",{staticClass:"sharing-icon",attrs:{src:i(29581),alt:""}}),e._v(" Export formal quote ")]],2),e.dropdowns.sharing?t("QuoteDropdown",{directives:[{name:"on-clickaway",rawName:"v-on-clickaway",value:()=>e.dropdowns.sharing=!1,expression:"() => dropdowns.sharing = false"}],staticClass:"quote-sharing-modal"},[t("button",{staticClass:"quote-modal-close-button",attrs:{type:"button"},on:{click:function(t){e.dropdowns.sharing=!1}}},[t("svg",{staticClass:"quote-modal-close-icon",attrs:{width:"26",height:"24",viewBox:"0 0 26 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[t("path",{attrs:{d:"M19.1646 17.657L7.46246 6.34334",stroke:"black","stroke-linecap":"round"}}),t("path",{attrs:{d:"M19.1645 6.34334L7.46233 17.657",stroke:"black","stroke-linecap":"round"}})])]),e.unaccepted?[t("h4",{staticClass:"quote-sharing-title"},[e._v(" Share link to quote ")]),t("div",{staticClass:"quote-sharing-body"},[e._v(" Anyone with this link can view this quote. ")])]:e._e(),e.accepted?[t("h4",{staticClass:"quote-sharing-title"},[e._v(" Share link to checkout ")]),t("div",{staticClass:"quote-sharing-body"},[e._v(" Anyone with this link can checkout and pay for this order. ")])]:e._e(),t("div",{staticClass:"quote-sharing-link-group"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.quoteSharingLink,expression:"quoteSharingLink"}],staticClass:"quote-sharing-link-input",attrs:{type:"text",id:"quote-sharing-link"},domProps:{value:e.quoteSharingLink},on:{input:function(t){t.target.composing||(e.quoteSharingLink=t.target.value)}}}),t("button",{staticClass:"quote-sharing-copy-link-button",attrs:{type:"button"},on:{click:e.copyShareQuoteLinkToClipboard}},[e._v(" Copy Link ")])])],2):e._e()],1):e._e()],2)])]),e.$store.getters.isStaff?t("quote-custom-delivery-modal",{attrs:{quote:e.quote},on:{saved:e.handleCustomDeliverySaved}}):e._e(),t("quote-address-picker",{attrs:{"address-type":"shipping",value:e.displayedShippingAddress},on:{pickAddress:e.pickShippingAddress}}),t("quote-address-picker",{attrs:{"address-type":"billing"},on:{pickAddress:e.pickBillingAddress},model:{value:e.displayedBillingAddress,callback:function(t){e.displayedBillingAddress=t},expression:"displayedBillingAddress"}}),t("quote-payment-method-picker",{on:{addNewPaymentMethod:e.addNewPaymentMethod,pickPaymentMethod:e.pickPaymentMethod},model:{value:e.displayedPaymentMethod,callback:function(t){e.displayedPaymentMethod=t},expression:"displayedPaymentMethod"}})],1)},a=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"net-term"},[t("label",{staticClass:"net-terms-label",attrs:{for:""}},[e._v(" Terms ")]),t("div",{staticClass:"net-terms-value"},[e._v(" Net 30 ")])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"pt-2 pl-1 pb-2"},[t("small",{staticClass:"form-text text-muted"},[e._v(" Admin only — records a payment made outside Ponoko checkout (wire, check, offline ACH). No card or bank account is charged; the order proceeds into production. ")])])}]},27401:function(){},1282:function(){},90338:function(){},1535:function(){},19866:function(){},26370:function(){},81880:function(){},84848:function(){},78156:function(){},34028:function(){},35361:function(){},61208:function(){},53576:function(){},41011:function(){},27337:function(){},2747:function(){},21540:function(){},35624:function(){},36639:function(){},2958:function(){},27075:function(){},18640:function(e,t,i){e.exports=i.p+"img/Quote-Add.2ab0e5b3.svg"},22874:function(e,t,i){e.exports=i.p+"img/Quote-CaretRight.918d6294.svg"},20131:function(e,t,i){e.exports=i.p+"img/Quote-CaretRightGrey.0d3c9c76.svg"},99993:function(e,t,i){e.exports=i.p+"img/Quote-Check.de8c5468.svg"},9925:function(e,t,i){e.exports=i.p+"img/Quote-CircleOk.69a37d9f.svg"},24989:function(e,t,i){e.exports=i.p+"img/Quote-CircleX.2527ad40.svg"},12304:function(e,t,i){e.exports=i.p+"img/Quote-Copy.57a830c6.svg"},34052:function(e,t,i){e.exports=i.p+"img/Quote-Debug.020607bf.svg"},29581:function(e,t,i){e.exports=i.p+"img/Quote-Export.90720522.svg"},32491:function(e,t,i){e.exports=i.p+"img/Quote-Info.e505f3a8.svg"},38263:function(e,t,i){e.exports=i.p+"img/Quote-Link.160ec0fa.svg"},3888:function(e,t,i){e.exports=i.p+"img/Quote-Upload.012b8855.svg"},73713:function(e,t,i){var s=i(38395),a=i(62224);const n=e=>{let t=e.calc_base_data.styles.map(e=>(e.identifier=(0,a.A)(e),e.lengthOfLines=e.length_straight,e.lengthOfCurves=e.length_curve,e));const i=e.styles,n=Array.isArray(i)&&i.length;return n?t=t.map((e,t)=>{if(i[t].assignedTo){const e=!Object.values(i[t].assignedTo).some(e=>null!==e);return e&&(i[t].assignedTo.ignore=!0),i[t]}console.log("...parsing legacy styles");const s=i[t].fabricationSettings;if(s){e.assignedTo={};for(const t in s){const i=s[t];i&&("cutting"===t?e.assignedTo.cutting=!0:"vectorEngraving"===t?e.assignedTo.lineEngraving=!0:"rasterEngraving"===t&&(e.assignedTo.areaEngraving=!0))}Object.keys(e.assignedTo).every(e=>!e)&&(e.assignedTo.ignore=!0)}return e}
1):t.forEach(e=>{if(e.assignedTo=e.assignedTo||{},1===t.length)e.assignedTo.cutting=!0;else{if(e.bend_angle&&e.bend_direction)e.assignedTo.metalBending=!0,e.bendAngle=e.bend_angle,e.bendDirection=e.bend_direction;else if(e.stroke_color&&"none"!==e.stroke_color){const t=(0,s.A)(e.stroke_color),i=t.replace("#",""),a=parseInt(i.substring(0,2),16),n=parseInt(i.substring(2,4),16),r=parseInt(i.substring(4,6),16);a>n&&a>=r&&(e.assignedTo.lineEngraving=!0),(r>a||n>a||a===n&&n===r)&&(e.assignedTo.cutting=!0)}else e.fill_color.length&&"#FFFFFF"!==e.fill_color&&(e.assignedTo.areaEngraving=!0);const t=!Object.values(e.assignedTo).some(e=>null!==e);t&&(e.assignedTo.ignore=!0)}}),t};t.A=n},25971:function(e,t,i){const s=e=>!e.is_custom_part&&!e.is_sample&&Boolean(e.design?.eligible_for_instant_quote)&&!e.configuration?.dimensions?.confirmed_width,a=e=>!e.is_custom_part&&!e.material,n=e=>{if(!e?.custom_valid_until)return!1;const t=new Date(e.custom_valid_until);return!Number.isNaN(t.getTime())&&t<new Date},r=e=>e?.paid_at?{caption:"This order has already been placed.",tooltip:"This quote has already been paid. You can find the order in your account."}:n(e)?{caption:"Request an updated quote to checkout.",tooltip:"This quote included a guaranteed ship date that has passed. Request an updated quote from our team to continue."}:null,o=e=>{const t=r(e);if(t)return t;const i=e?.parts||[];return i.length?i.some(s)?{caption:"Configure your parts to checkout.",tooltip:"One or more parts has not been configured. Click Configure and confirm your part configuration to checkout."}:i.some(a)?{caption:"Select materials to checkout",tooltip:"One or more parts does not have a selected material. Select a material to checkout."}:i.some(e=>e.is_being_edited)?{caption:"Save part changes to checkout.",tooltip:"One or more parts have unsaved changes. Save or cancel them to checkout."}:i.some(e=>e.dfm_results?.maximum_part_size_for_material?.failed)?{caption:"Resolve part issues to checkout",tooltip:"Checkout is disabled because one or more parts exceed the maximum size for the selected material."}:null:{caption:"Add a part to checkout.",tooltip:"This quote has no parts. Upload a design and select a material to get a quote."}};t.Ay=o,i.d(t,["lc",0,s,"oj",0,a,"u9",0,r,"xt",0,n])},17585:function(e,t,i){function s(e){for(var t=0;t<e.length;t++){if(e[t].render_properties?.material_color)var i=e[t].render_properties.material_color.substring(1);else i="000000";var s=parseInt(i.substring(0,2),16)/255,a=parseInt(i.substring(2,4),16)/255,n=parseInt(i.substring(4,6),16)/255,r=Math.max.apply(Math,[s,a,n]),o=Math.min.apply(Math,[s,a,n]),l=Math.sqrt(.241*s+.691*a+.068*n),c=r-o,d=0,u=r,p=0;u>.2&&(p=c/u,p>0&&(s===r?(d=(a-o-(n-o))/c*60,d<0&&(d+=360)):a===r?d=120+(n-o-(s-o))/c*60:n===r&&(d=240+(s-o-(a-o))/c*60))),e[t].hue=d,e[t].sat=p,e[t].val=u,e[t].lum=l,e[t].chr=c,e[t].r=s,e[t].g=a,e[t].b=n}var h=e.sort(function(e,t){return t.hue-e.hue});const m=8,g=h.length/m;for(var f=[],v=0;v<h.length;v+=g)f.push(h.slice(v,v+g));var y=[];for(v=0;v<f.length;v++)v%2===1?f[v].sort(function(e,t){return e.lum-t.lum}):f[v].sort(function(e,t){return t.lum-e.lum}),y.push.apply(y,f[v]);var _=y.length-1,b=[];for(_;_>=0;_--)y[_].chr<.05&&b.push.apply(b,y.splice(_,1));return b.sort(function(e,t){return e.val-t.val}),y.push.apply(y,b),y}i.d(t,{A:function(){return s}})},38395:function(e,t){const i={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",s
1almon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},s=e=>{if(!e)return"none";e=String(e).trim();const t=e.toLowerCase();if("none"===t||"transparent"===t)return"none";if(Object.prototype.hasOwnProperty.call(i,t))return i[t];if("&"!==e.substr(0,1)&&"#"===e.substr(0,1)){if(4===e.length){const t=e,i=`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`;return i}return e}const s=e.match(/(0?\.?\d{1,3})%?\b/g);if(!s||s.length<3)return"none";const a=/^(rgba|hsla)\(/.test(t)||t.includes("/");if(a&&s.length>=4&&0===Number(s[3]))return"none";const[n,r,o]=s.map(Number),l=(o|r<<8|n<<16|1<<24).toString(16).slice(1);return"#"+l};t.A=s},63550:function(e,t,i){var s=i(62224);const a=[0,0,4],n=e=>{const t=e?.metadata?.version;if(!t)return!1;const i=t.split(".").map(Number);for(let s=0;s<a.length;s++){const e=i[s]||0;if(e!==a[s])return e>a[s]}return!0},r=(e,t)=>{if(!n(e))return null;const i=new Set(t),a=e.styles.filter(e=>i.has((0,s.A)(e))).map(e=>e.boundingBox);if(!a.length||a.some(e=>!e))return null;const r=Math.min(...a.map(e=>e.x)),o=Math.min(...a.map(e=>e.y)),l=Math.max(...a.map(e=>e.x+e.width))-r,c=Math.max(...a.map(e=>e.y+e.height))-o;return{x:r,y:o,width:l,height:c}};i.d(t,["K",0,r])},74797:function(e,t,i){const s={filename:"box_back.svg",public_url:"https://storage.googleapis.com/production-files-staging/a56a5737-5cdf-4f06-a356-a0232f1627fe/box_back.svg",name:"a56a5737-5cdf-4f06-a356-a0232f1627fe/box_back.svg",type:"image/svg+xml",id:"production-files-staging/a56a5737-5cdf-4f06-a356-a0232f1627fe/box_back.svg/1709752924262774",bucket:"production-files-staging"},a=(e,t)=>[{key:"production_and_material",label:"Production & Material",value:e,priceUsd:t},{key:"dfm_analysis",label:"DFM Analysis",value:"Human DFM Analysis",priceUsd:0},{key:"finishing_services",label:"Finishing",value:"As cut",priceUsd:0},{key:"quality_inspection_service",label:"Quality inspection",value:"Standard inspection",priceUsd:0}],n=(e,t,i)=>({dimensions:{width:e,height:t,thickness:i}}),r=({label:e,name:t,quantity:i,size:r,value:o,external:l,material:c,production:d,lineItemPrice:u,technologySlug:p,customTechnologyName:h,materialName:m,materialSpec:g,fulfillmentMethod:f,extraLineItems:v=[]})=>({label:e,name:t,quantity:i,configuration:n(...r),lineItems:[...a(o,null!=u?u:l||(c||0)+(d||0)),...v],estimatedWeight:"1",estimatedProductionTime:"internal"===f?"30":"0",fulfillmentMethod:f,productionAndMaterialPriceUsd:l||null,materialPriceUsd:c||null,productionPriceUsd:d||null,technologySlug:p||null,customTechnologyName:h||null,customMaterialName:void 0!==m?m:o.split(" - ")[1]||null,customMaterialSpec:void 0!==g?g:o.split(" - ")[2]||null,productionFiles:[s],isBeingEdited:!0}),o=[r({label:"Sheet metal, external",name:"Battery pin [SMF external → 20085]",quantity:60,size:["10.64","3.4","0.81"],value:"Sheet Metal Fabrication - 101 Annealed Copper - 0.81 mm",technologySlug:"sheet-metal-fabrication",fulfillmentMethod:"external",external:795}),r({label:"Digital printing, in-house",name:"Actuator drive cover print [Digital Printing in-house → 20040 + 20040]",quantity:1,size:["402.844","165.1","165.1"],value:"Digital Printing - Customer Supplied Material - Black First Surface",technologySlug:"digital-printing",fulfillmentMethod:"internal",production:94}),r({label:"3D printing, in-house → forced external",name:"3D printed housing [3D Printing → forced external → 20055]",quantity:4,size:["60","40","30"],value:"3D Printing - Nylon PA12 - Natural",technologySlug:"3d-printing",fulfillmentMethod:"internal",material:20,production:65}),r({label:"Legacy part, no technology",name:"VHB mount, legacy format [no technology → UNMAPPED 20090 + alert]",quantity:24,size:["153.3","57.7","1.1"],value:"Laser Cutting - VHB 5952",lineItemPrice:335,materialName:null,materialSpec:null,fulfillmentMethod:"internal"}),r({label:"Laser cutting, external",name:"Laser cut faceplate [Laser external → 20086]",quantity:25,size:["200","100","3"],value:"Laser Cutting - Acrylic - 3.0mm",technologySlug:"laser-cutting",fulfillmentMethod:"external",external:73.25}),r({label:"Die cutting, external",name:"Antistatic foam insert [Die Cutting external → 20075]",quantity:50,size:["150","150","50.8"],value:'Die Cutting - Pink 1.4# PU foam Antistatic - 2" Thick',technologySlug:"die-cutt
1ing",fulfillmentMethod:"external",external:412}),r({label:"Sheet metal, in-house",name:"Pixy adapter [SMF in-house → 20001 + 20006]",quantity:20,size:["55","55","2"],value:"Sheet Metal Fabrication - 6061-T6 Aluminum - 2",technologySlug:"sheet-metal-fabrication",fulfillmentMethod:"internal",material:13,production:318.6}),r({label:"Laser cutting, in-house",name:"Bottom insulation [Laser in-house → 20000 + 20005]",quantity:12,size:["215","226.43","0.0508"],value:"Laser Cutting - Kapton Polyimide Film - 2271K72",technologySlug:"laser-cutting",fulfillmentMethod:"internal",material:655.68,production:257.63}),r({label:"3D printing, external",name:"Fixed hinge [3D Printing external → 20055]",quantity:4,size:["106.18","96.66","51.78"],value:"3D Printing - Aluminum AlSi10Mg",technologySlug:"3d-printing",fulfillmentMethod:"external",external:354}),r({label:"Waterjet cutting, external",name:"EPDM gasket [Waterjet external → 20065]",quantity:12,size:["152","237","1.6"],value:"Waterjet Cutting - Ultra-Weather-Resistant EPDM Foam - 93725K219",technologySlug:"waterjet-cutt
1ing",fulfillmentMethod:"external",external:348}),r({label:"CNC machining, external",name:"Mirror nest cell [CNC Machining external → 20070]",quantity:10,size:["157","109","3"],value:"CNC Machining - First Surface Mirror - 3mm",technologySlug:"cnc-machining",fulfillmentMethod:"external",external:2650}),r({label:"PCM, external",name:"PCM etched mesh [PCM external → 20007]",quantity:100,size:["50","50","0.2"],value:"Photochemical Machining - Stainless Steel 316 - 0.2mm",technologySlug:"photochemical-machining",fulfillmentMethod:"external",external:340}),r({label:"Injection molding, external",name:"Injection molded cap [Injection Molding → 20090 on purpose]",quantity:1e3,size:["30","30","12"],value:"Injection Molding - ABS - Black",technologySlug:"injection-molding",fulfillmentMethod:"external",external:1250}),r({label:"Glass (free text), external",name:'First surface mirror [free text "Glass" external → 20090 on purpose]',quantity:80,size:["157","109","3"],value:"Glass - First Surface Mirror - 3mm",customTechnologyName:"Glass",fulfillmentMethod:"external",external:21200}),r({label:"Saw cutting (free text), in-house",name:'Acrylic sheets, one per design [free text "Saw Cutting" in-house → 20090 on purpose]',quantity:3,size:["609.6","914.4","3"],value:"Saw Cutting - Clear Acrylic - 3.0 mm",customTechnologyName:"Saw Cutting",fulfillmentMethod:"internal",material:40,production:550}),r({label:"Laser in-house, no P&M price",name:"Laser cut sample [Laser in-house, no P&M price → only the custom line]",quantity:1,size:["50","50","3"],value:"Laser Cutting - Plywood - 3.0mm",technologySlug:"laser-cutting",fulfillmentMethod:"internal",extraLineItems:[{key:"custom_line_item_4",label:"Handling",value:"Sample prep",priceUsd:12,isCustomLineItem:!0}]})],l=o;i.d(t,["Q",0,l])},30352:function(e,t,i){i.d(t,{A:function(){return s}});class s{constructor({timeout:e=5e3,callback:t=()=>{},triggerOnce:i=!0,rootElement:s=document,activityEvents:a=["mousedown","keydown","scroll","touchstart","mousemove"]}={}){this.timeout=e,this.callback=t,this.triggerOnce=i,this.rootElement=s,this.activityEvents=a,this.timerId=null,this.hasFired=!1,this.handleActivity=this._resetTimer.bind(this)}start(){return this.activityEvents.forEach(e=>this.rootElement.addEventListener(e,this.handleActivity,{passive:!0})),this._resetTimer(),this}stop(){clearTimeout(this.timerId),this.activityEvents.forEach(e=>this.rootElement.removeEventListener(e,this.handleActivity))}destroy(){this.stop()}_resetTimer(){clearTimeout(this.timerId),this.triggerOnce&&this.hasFired||(this.timerId=setTimeout(()=>{this.hasFired=!0,this.callback(),this.triggerOnce&&this.stop()},this.timeout))}}},62224:function(e,t,i){var s=i(38395);const a=e=>{const t=(0,s.A)(e.stroke_color||"none"),i=(0,s.A)(e.fill_color||"none");return`${t};${i}`.replace(/\W/g,"").toLowerCase()};t.A=a},21766:function(e,t,i){var s=i(38395);const a=["circle","ellipse","line","path","polyline","rect","polygon","use"];let n="";const r="data-ponoko-id",o="data-ponoko-original-stroke",l="data-ponoko-original-fill",c="data-ponoko-rotation";let d=!1;d=!1;let u=!1;const p=[];let h=[];const m=e=>{const t="functional_svg_container";n=`${t}_for_part_${e}`},g=()=>{let e=document.getElementById(n);return e||(e=document.createElement("div"),e.setAttribute("id",n),e.setAttribute("style","opacity:0;width:0;height:0;position:absolute;visibility:hidden;overflow:hidden;"),document.body.appendChild(e))},f=()=>{const e=g().firstChild;return e},v=e=>(e=Q(e),g().innerHTML=e,F(f()),y()),y=()=>new Promise((e,t)=>{const i=f().querySelectorAll(a),s=i.length;for(let a=0;a<s;a++){const e=i[a];_(e),b(e)||(C(e),P(e),w(e))}S(),q(),e()}),_=e=>{const t=["fill","stroke"];for(const i of t){const t=e.style?.[i];if(t&&"none"!==t)return;const a=e.getAttribute(i)||getComputedStyle(e)?.[i]||t;e.style[i]=(0,s.A)(a)}},b=e=>!e.style.stroke&&!e.style.fill,w=e=>{const t=e.getAttribute(r),i=h.includes(t);i&&k(e)},k=e=>{p.push(e.parentNode.removeChild(e))},C=e=>{const t=(0,s.A)(e.style.stroke),i=(0,s.A)(e.style.fill);let a=t+i;a=a.replace(/\W/g,"").toLowerCase(),e.setAttributeNS(null,r,a)},P=e=>{const t=e.style.stroke,i=e.style.fill;
1e.setAttributeNS(null,o,t),e.setAttributeNS(null,l,i)},S=()=>{const e=f(),t=e.width.baseVal.unitType;B(`Detected unit type: ${A[t].string} (${t})`);let i=1;if(e.viewBox&&e.viewBox.baseVal&&2!==t&&0!==e.viewBox.baseVal.width){const s=e.viewBox.baseVal,a=e.width.baseVal.valueInSpecifiedUnits,n=a*A[t].toPx,r=s.width*A[t].fromPx;i=n/r}if(x()){const e=90/96;i*=e}if(M()){const e=.24;i*=e}e.setAttributeNS(null,"data-ponoko-pixel-to-mm-ratio",A[t].toMm*i)},A={0:{unitType:0,string:"unknown",toMm:.352778,toPx:1,fromPx:1},1:{unitType:1,string:"number",toMm:.352778,toPx:1,fromPx:1},2:{unitType:2,string:"percentage",toMm:.352778,toPx:1,fromPx:1},3:{unitType:3,string:"ems",toMm:.352778,toPx:28.3465,fromPx:1},4:{unitType:4,string:"exs",toMm:.352778,toPx:1,fromPx:1},5:{unitType:5,string:"px",toMm:.352778,toPx:1,fromPx:.75},6:{unitType:6,string:"cm",toMm:.352778,toPx:28.3465,fromPx:1},7:{unitType:7,string:"mm",toMm:.282223,toPx:2.8346,fromPx:.8},8:{unitType:8,string:"in",toMm:.265,toPx:72,fromPx:.75},9:{unitType:9,string:"pt",toMm:.352778,toPx:1,fromPx:1},10:{unitType:10,string:"pc",toMm:.352778,toPx:1,fromPx:1}},q=()=>{const e=T(),t=parseFloat(e.x).toFixed(2),i=parseFloat(e.y).toFixed(2),s=parseFloat(e.width).toFixed(2),a=parseFloat(e.height).toFixed(2);B(`Original viewBox: ${f().getAttribute("viewBox")}`),B(`Resizing viewbox: ${t} ${i} ${s} ${a}`),f().setAttribute("viewBox",`${t} ${i} ${s} ${a}`)},x=()=>{const e=f().getAttribute("inkscape:version"),t="string"===typeof e&&e.length>0;if(t){const e=f().getAttribute("inkscape:version"),t=Number(e.slice(0,4));return B(`detected inkscape ${e}`),t<=.91}return!1},M=()=>{const e=f().getAttribute("xmlns:serif"),t="string"===typeof e&&e.length>0;return!!t&&(B("detected Affinity"),!0)},T=()=>{const e=f().getBBox();return e},$=async(e,t,i)=>(u||O(),m(i),I(t),await v(e,i),f().outerHTML),D=(e,t)=>{B(`Rotating svg ${e} degrees`),m(t);const i=f().firstChild,s=T(),a=parseFloat(s.width/2+s.x),n=parseFloat(s.height/2+s.y);return i.setAttribute("transform",`rotate(${e}, ${a}, ${n})`),i.setAttributeNS(null,c,e),q(),f().outerHTML},I=e=>{e?h=e:B("setStylesToIgnore: no styles to ignore.")},B=e=>{if(d){const t={green:"background-color: #7ED321; padding-left: .25rem; padding-right: .25rem; border-radius: 2px; font-family: Avenir;",white:"font-family: Avenir; color: #5E6B7A;"};console.log(`%cAnalyzer%c ${e}`,t.green,t.white)}},O=()=>{function e(e){let t="";const i="38384040373937396665";document.addEventListener("keydown",s=>{if(t+=""+s.keyCode,t===i)return e();i.indexOf(t)&&(t=""+s.keyCode)}),u=!0}e(()=>{d?(B("Logging deactivated."),d=!1):(d=!0,B("Logging activated."))})},Q=e=>e.replace(' viewbox="',' viewBox="'),F=e=>{if(!(e instanceof SVGSVGElement))return void console.error("The provided element is not an <svg> element.");const t=document.createElementNS("http://www.w3.org/2000/svg","g");while(e.firstChild)t.appendChild(e.firstChild);e.appendChild(t)};i.d(t,["f",0,$,"k",0,D])}}]);

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.