hemfixarna-web-components 1.3.6 → 1.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{hemfixarna-address_23.cjs.entry.js → hemfixarna-address_24.cjs.entry.js} +33 -14
- package/dist/{esm/hemfixarna-address_23.entry.js.map → cjs/hemfixarna-address_24.cjs.entry.js.map} +1 -1
- package/dist/cjs/hemfixarna-components.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +9 -8
- package/dist/collection/components/{hemfixarna-byggmax → customers/hemfixarna-byggmax}/hemfixarna-byggmax.js +2 -2
- package/dist/collection/components/customers/hemfixarna-byggmax/hemfixarna-byggmax.js.map +1 -0
- package/dist/collection/components/{hemfixarna-doro → customers/hemfixarna-doro}/hemfixarna-doro.js +2 -2
- package/dist/collection/components/customers/hemfixarna-doro/hemfixarna-doro.js.map +1 -0
- package/dist/collection/components/customers/hemfixarna-elfa/hemfixarna-elfa.js +123 -0
- package/dist/collection/components/customers/hemfixarna-elfa/hemfixarna-elfa.js.map +1 -0
- package/dist/collection/components/{hemfixarna-forebygg → customers/hemfixarna-forebygg}/hemfixarna-forebygg.js +2 -2
- package/dist/collection/components/customers/hemfixarna-forebygg/hemfixarna-forebygg.js.map +1 -0
- package/dist/collection/components/{hemfixarna-hornbach → customers/hemfixarna-hornbach}/hemfixarna-hornbach.js +2 -2
- package/dist/collection/components/customers/hemfixarna-hornbach/hemfixarna-hornbach.js.map +1 -0
- package/dist/collection/components/{hemfixarna-kund → customers/hemfixarna-kund}/hemfixarna-kund.js +2 -2
- package/dist/collection/components/customers/hemfixarna-kund/hemfixarna-kund.js.map +1 -0
- package/dist/collection/components/{hemfixarna-skanska → customers/hemfixarna-skanska}/hemfixarna-skanska.js +2 -2
- package/dist/collection/components/customers/hemfixarna-skanska/hemfixarna-skanska.js.map +1 -0
- package/dist/collection/components/{hemfixarna-string → customers/hemfixarna-string}/hemfixarna-string-furniture.js +2 -2
- package/dist/collection/components/customers/hemfixarna-string/hemfixarna-string-furniture.js.map +1 -0
- package/dist/collection/components/customers/hemfixarna-string/hemfixarna-string.css +0 -0
- package/dist/collection/components/hemfixarna-component/hemfixarna-component.js +1 -1
- package/dist/collection/components/hemfixarna-demo/hemfixarna-demo.js +1 -1
- package/dist/collection/components/hemfixarna-demo/hemfixarna-demo.js.map +1 -1
- package/dist/collection/types/index.js +1 -0
- package/dist/collection/types/index.js.map +1 -1
- package/dist/esm/{hemfixarna-address_23.entry.js → hemfixarna-address_24.entry.js} +30 -12
- package/dist/{cjs/hemfixarna-address_23.cjs.entry.js.map → esm/hemfixarna-address_24.entry.js.map} +1 -1
- package/dist/esm/hemfixarna-components.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/hemfixarna-components/hemfixarna-components.esm.js +1 -1
- package/dist/hemfixarna-components/p-e1950643.entry.js +2 -0
- package/dist/types/components/{hemfixarna-byggmax → customers/hemfixarna-byggmax}/hemfixarna-byggmax.d.ts +1 -1
- package/dist/types/components/{hemfixarna-doro → customers/hemfixarna-doro}/hemfixarna-doro.d.ts +1 -1
- package/dist/types/components/customers/hemfixarna-elfa/hemfixarna-elfa.d.ts +9 -0
- package/dist/types/components/{hemfixarna-forebygg → customers/hemfixarna-forebygg}/hemfixarna-forebygg.d.ts +1 -1
- package/dist/types/components/{hemfixarna-hornbach → customers/hemfixarna-hornbach}/hemfixarna-hornbach.d.ts +1 -1
- package/dist/types/components/{hemfixarna-kund → customers/hemfixarna-kund}/hemfixarna-kund.d.ts +1 -1
- package/dist/types/components/{hemfixarna-skanska → customers/hemfixarna-skanska}/hemfixarna-skanska.d.ts +1 -1
- package/dist/types/components/{hemfixarna-string → customers/hemfixarna-string}/hemfixarna-string-furniture.d.ts +1 -1
- package/dist/types/components/hemfixarna-demo/hemfixarna-demo.d.ts +1 -1
- package/dist/types/components.d.ts +23 -0
- package/dist/types/types/index.d.ts +2 -1
- package/package.json +1 -1
- package/dist/collection/components/hemfixarna-byggmax/hemfixarna-byggmax.js.map +0 -1
- package/dist/collection/components/hemfixarna-doro/hemfixarna-doro.js.map +0 -1
- package/dist/collection/components/hemfixarna-forebygg/hemfixarna-forebygg.js.map +0 -1
- package/dist/collection/components/hemfixarna-hornbach/hemfixarna-hornbach.js.map +0 -1
- package/dist/collection/components/hemfixarna-kund/hemfixarna-kund.js.map +0 -1
- package/dist/collection/components/hemfixarna-skanska/hemfixarna-skanska.js.map +0 -1
- package/dist/collection/components/hemfixarna-string/hemfixarna-string-furniture.js.map +0 -1
- package/dist/hemfixarna-components/p-7ad71b65.entry.js +0 -2
- /package/dist/collection/components/{hemfixarna-byggmax → customers/hemfixarna-byggmax}/hemfixarna-byggmax.css +0 -0
- /package/dist/collection/components/{hemfixarna-doro → customers/hemfixarna-doro}/hemfixarna-doro.css +0 -0
- /package/dist/collection/components/{hemfixarna-forebygg/hemfixarna-forebygg.css → customers/hemfixarna-elfa/hemfixarna-elfa.css} +0 -0
- /package/dist/collection/components/{hemfixarna-hornbach/hemfixarna-hornbach.css → customers/hemfixarna-forebygg/hemfixarna-forebygg.css} +0 -0
- /package/dist/collection/components/{hemfixarna-skanska/hemfixarna-skanska.css → customers/hemfixarna-hornbach/hemfixarna-hornbach.css} +0 -0
- /package/dist/collection/components/{hemfixarna-string/hemfixarna-string.css → customers/hemfixarna-skanska/hemfixarna-skanska.css} +0 -0
- /package/dist/hemfixarna-components/{p-7ad71b65.entry.js.map → p-e1950643.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
|
|
1
|
+
import{g as t,f as i,r as e,h as n,a as s,F as a,c as r}from"./p-33d37833.js";const o=(t,i,e)=>{const n=t.get(i);if(!n){t.set(i,[e])}else if(!n.includes(e)){n.push(e)}};const l=(t,i)=>{let e;return(...n)=>{if(e){clearTimeout(e)}e=setTimeout((()=>{e=0;t(...n)}),i)}};const h=t=>!("isConnected"in t)||t.isConnected;const c=l((t=>{for(let i of t.keys()){t.set(i,t.get(i).filter(h))}}),2e3);const d=()=>{if(typeof t!=="function"){return{}}const e=new Map;return{dispose:()=>e.clear(),get:i=>{const n=t();if(n){o(e,i,n)}},set:t=>{const n=e.get(t);if(n){e.set(t,n.filter(i))}c(e)},reset:()=>{e.forEach((t=>t.forEach(i)));c(e)}}};const u=t=>typeof t==="function"?t():t;const p=(t,i=((t,i)=>t!==i))=>{const e=u(t);let n=new Map(Object.entries(e!==null&&e!==void 0?e:{}));const s={dispose:[],get:[],set:[],reset:[]};const a=()=>{var i;n=new Map(Object.entries((i=u(t))!==null&&i!==void 0?i:{}));s.reset.forEach((t=>t()))};const r=()=>{s.dispose.forEach((t=>t()));a()};const o=t=>{s.get.forEach((i=>i(t)));return n.get(t)};const l=(t,e)=>{const a=n.get(t);if(i(e,a,t)){n.set(t,e);s.set.forEach((i=>i(t,e,a)))}};const h=typeof Proxy==="undefined"?{}:new Proxy(e,{get(t,i){return o(i)},ownKeys(t){return Array.from(n.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(t,i){return n.has(i)},set(t,i,e){l(i,e);return true}});const c=(t,i)=>{s[t].push(i);return()=>{f(s[t],i)}};const d=(i,e)=>{const n=c("set",((t,n)=>{if(t===i){e(n)}}));const s=c("reset",(()=>e(u(t)[i])));return()=>{n();s()}};const p=(...t)=>{const i=t.reduce(((t,i)=>{if(i.set){t.push(c("set",i.set))}if(i.get){t.push(c("get",i.get))}if(i.reset){t.push(c("reset",i.reset))}if(i.dispose){t.push(c("dispose",i.dispose))}return t}),[]);return()=>i.forEach((t=>t()))};const m=t=>{const i=n.get(t);s.set.forEach((e=>e(t,i,i)))};return{state:h,get:o,set:l,on:c,onChange:d,use:p,dispose:r,reset:a,forceUpdate:m}};const f=(t,i)=>{const e=t.indexOf(i);if(e>=0){t[e]=t[t.length-1];t.length--}};const m=(t,i)=>{const e=p(t,i);e.use(d());return e};const{state:x,onChange:g}=m({step:1,checkoutStep:1,checkoutEdit:false,selectedCategory:null,selectedService:null,selectedProduct:null,cart:[],business:"undefined",options:null,rut:true,rot:true,token:null,user:null,modal:null,rutOptions:null,rotOptions:null,customer:null,selectedCustomerCategory:null,parentCategory:null,creditSafeUser:null,checkoutInvoice:false});g("cart",(t=>{window.sessionStorage.setItem(`hemfixarna-${x.business}-cart`,JSON.stringify(t))}));g("user",(t=>{window.sessionStorage.setItem(`hemfixarna-${x.business}-user`,JSON.stringify(t))}));g("creditSafeUser",(t=>{window.sessionStorage.setItem(`hemfixarna-${x.business}-creditSafeUser`,JSON.stringify(t))}));g("selectedProduct",(t=>{if(!x.customer||!t)return;const i=[...x.customer.categories,...x.customer.categories.map((t=>{var i;return(i=t.sub_categories)!==null&&i!==void 0?i:[]}))].flat();const e=i.find((i=>i&&i.id===t.category));if(e){x.parentCategory=e;return}x.parentCategory=null}));g("selectedCustomerCategory",(t=>{if(!x.customer||!t)return;if(t.parent){const i=x.customer.categories.find((i=>i.id===t.parent));if(i){x.parentCategory=i;return}}x.parentCategory=null}));const b=t=>t.split(" ").reduce(((t,i)=>{if(i.length<=2){return t+i.slice(0,1)+"* "}else{return t+i.slice(0,1)+"*".repeat(i.length-2)+i.slice(-1)+" "}}),"");const v=t=>{if(!t)return;t.scrollTo({top:0,behavior:"smooth"})};const _=class{constructor(t){e(this,t);this.handleSubmit=t=>{t.preventDefault();const i=this.street.length>0;if(!i){this.streetError="Ange en gatuadress"}const e=this.zip.length>0;const n=/^\s*\d[\d\s]*$/.test(this.zip);if(!n){this.zipError="Postnummer får endast innehålla siffror"}if(!e){this.zipError="Ange ett postnummer"}const s=/^[^\d\s]{2,}$/.test(this.town);if(!s){this.townError="Ange en ort"}if(i&&e&&s&&n){x.user=Object.assign(Object.assign({},x.user),{street:this.street,zip:this.zip,town:this.town});x.checkoutStep=2;x.checkoutEdit=false;const t=this.el.closest(".hemfixarna_content");v(t)}};this.handleChangeStreet=t=>{this.streetError=null;this.street=this.street===x.user.street?"":t.target.value};this.handleChangeZip=t=>{this.zipError=null;this.zip=this.zip===x.user.zip?"":t.target.value};this.handleChangeTown=t=>{this.townError=null;this.town=this.town===x.user.town?"":t.target.value};this.render=()=>n("form",{class:"hemfixarna_address",onSubmit:t=>this.handleSubmit(t)},n("div",null,n("input",{class:`${this.street.length?"input_active":""}`,onInput:this.handleChangeStreet,type:"text",name:"street",value:this.street===x.user.street?b(this.street):this.street}),n("label",{htmlFor:"street"},"Gatuaddress ")),this.streetError&&n("span",null,this.streetError),n("div",null,n("input",{class:`${this.zip.length?"input_active":""}`,onInput:this.handleChangeZip,type:"tel",name:"zip",value:this.zip===x.user.zip?b(this.zip):this.zip}),n("label",{htmlFor:"zip"},"Postnummer ")),this.zipError&&n("span",null,this.zipError),n("div",null,n("input",{class:`${this.town.length?"input_active":""}`,onInput:this.handleChangeTown,type:"text",name:"town",value:this.town===x.user.town?b(this.town):this.town}),n("label",{htmlFor:"town"},"Ort ")),this.townError&&n("span",null,this.townError),n("input",{type:"submit",value:"Fortsätt"}));this.street="";this.streetError=null;this.zip="";this.zipError=null;this.town="";this.townError=null}componentWillLoad(){if(x.user){this.street=x.user.street;this.zip=x.user.zip;this.town=x.user.town}}get el(){return s(this)}};const y=t=>Math.ceil(t/2);const w=t=>Math.ceil(t*.7);const k=(t,i,e=1)=>{if(t.rot&&x.rot){return w((i||t.price)*e)}else if(t.rut&&x.rut){return y((i||t.price)*e)}else{return(i||t.price)*e}};const C=t=>{if(t.rot){return w(t.price)}else if(t.rut&&x.rut){return y(t.price)}else{return t.price}};const $=(t,i,e=1)=>{if(i.rot&&x.rot){return w(t.price*e)}else if(i.rut&&x.rut){return y(t.price*e)}else{return t.price*e}};const S=()=>{if(!x.cart)return{rut:0,rot:0};const t=x.cart.some((t=>t.rut&&t.start_fee));const i=x.cart.some((t=>t.rot&&t.start_fee));const e=x.rut?y(x.options.start_fee):x.options.start_fee*1;const n=x.rot?w(x.options.start_fee):x.options.start_fee*1;if(t&&i){return{rut:e,rot:n,length:2}}else if(t){return{rut:e,rot:0,length:1}}else if(i){return{rut:0,rot:n,length:1}}else{return{rut:0,rot:0,length:0}}};const T=t=>{const i=t.parts.reduce(((t,i)=>t+i.price*i.amount),0);return k(t,t.price*t.amount+i)};const z=()=>{const t=x.cart.reduce(((t,i)=>i.rot?t+T(i):t),0)+S().rot;const i=x.cart.reduce(((t,i)=>{const e=i.parts.reduce(((t,i)=>t+i.price*i.amount),0);return i.rot?t+i.price*i.amount+e:t}),0)+Number(x.options.start_fee);return i-t};const j=()=>{const t=x.cart.reduce(((t,i)=>i.rut?t+T(i):t),0)+S().rut;const i=x.cart.reduce(((t,i)=>{const e=i.parts.reduce(((t,i)=>t+i.price*i.amount),0);return i.rut?t+i.price*i.amount+e:t}),0)+Number(x.options.start_fee);return i-t};const O=()=>x.cart.reduce(((t,i)=>t+T(i)),0)+S().rot+S().rut;const I=t=>t.post_name!==undefined;const F=class{constructor(t){e(this,t);this.post=undefined;this.category=undefined;this.icon=undefined;this.postTitle=undefined}setTaxonomy(t){if(t){if((t===null||t===void 0?void 0:t.taxonomy)==="service_cat"){x.selectedCategory=t;x.step=2}else if((t===null||t===void 0?void 0:t.post_type)==="service"){x.selectedService=t;x.step=3}else if((t===null||t===void 0?void 0:t.post_type)==="ikea_product"){x.selectedProduct=t;x.step=4}const i=this.el.closest(".hemfixarna_content");v(i)}}setProduct(){x.selectedProduct=this.category;x.step=4;x.selectedCustomerCategory=null;const t=this.el.closest(".hemfixarna_content");v(t)}render(){return this.category?n(a,null,I(this.category)?n("li",{onClick:()=>this.setProduct()},n("img",{class:"hemfixarna_logo",height:82,src:this.category.icon,alt:this.category.post_name}),n("div",null,n("p",null,this.category.title),!this.category.invoice?n("p",{class:"price"},"Från ",k(this.category),"kr"):null)):n("li",{onClick:()=>x.selectedCustomerCategory=this.category},n("img",{class:"hemfixarna_logo",height:82,src:this.category.icon,alt:this.category.name}),n("div",null,n("p",null,this.category.name)))):n("li",{onClick:()=>this.setTaxonomy(this.post)},this.post.icon&&n("img",{class:"hemfixarna_logo",height:82,src:this.icon,alt:this.postTitle}),n("div",null,n("p",null,this.postTitle),x.step===3&&n("p",{class:"price"},"Från ",k(this.post),"kr")))}get el(){return s(this)}};const D=class{constructor(t){e(this,t);this.triggerScrollTotop=()=>{const t=this.el.nextSibling;v(t)};this.tree=undefined;this.closeModal=undefined;this.loadFromQuery=false;this.isDemo=false}getCartLength(){return x.cart.reduce(((t,i)=>t+i.amount),0)}handleCartClick(){var t;if((t=x.cart)===null||t===void 0?void 0:t.length){x.step=5;this.triggerScrollTotop()}}handleHomePageClick(){x.step=1;x.parentCategory=null;x.selectedCustomerCategory=null;this.triggerScrollTotop();setTimeout((()=>{x.selectedCategory=null;x.selectedProduct=null;x.selectedService=null}),200)}render(){const t=r(`./assets/hemfixarna.svg`);const i=r(`./assets/close.svg`);const e=r(`./assets/cart.svg`);const s=r(`./assets/back.svg`);return n("div",null,n("div",{class:"hemfixarna_crumbs"},n("div",{class:"hemfixarna_crumbs--links"},n("img",{onClick:()=>this.handleHomePageClick(),src:t,width:110}),!this.loadFromQuery||this.isDemo?n("img",{onClick:()=>this.closeModal(),class:"close",src:i,width:32}):null,n("div",null,n("button",{onClick:()=>this.handleHomePageClick()},"Alla tjänster"))),n("div",{onClick:()=>this.handleCartClick(),class:`cart ${this.getCartLength()>0?"cart_active":""}`},n("img",{src:e,width:24}),n("span",null,this.getCartLength()))),[3,4].includes(x.step)&&!x.customer&&n("button",{class:"hemfixarna_crumbs--back",onClick:()=>{x.step=x.step===4?3:2}},n("img",{width:24,src:s,alt:"back arrow"}),n("span",null,"Se allt ",x.step===4?x.selectedService.post_title:x.selectedCategory.name)),x.parentCategory&&x.step<5&&n("button",{class:"hemfixarna_crumbs--back",onClick:()=>{x.step=1;x.selectedCustomerCategory=x.parentCategory;x.selectedProduct=null}},n("img",{width:24,src:s,alt:"back arrow"}),n("span",null,"Se allt ",x.parentCategory.name)))}get el(){return s(this)}};var N;(function(t){t["kund"]="kund";t["byggmax"]="byggmax";t["skanska"]="skanska";t["string"]="string-furniture";t["hornbach"]="hornbach";t["forebygg"]="forebygg";t["doro"]="doro";t["elfa"]="elfa"})(N||(N={}));var A;(function(t){t["standard"]="standard";t["alternative"]="alternative";t["alternative_2"]="alternative_2";t["alternative_3"]="alternative_3"})(A||(A={}));var B;(function(t){t["byggmax"]="category/bygg"})(B||(B={}));const L="";const P=class{constructor(t){e(this,t);this.tree=null;this.slug=undefined;this.id=undefined;this.forceOldTree=false;this.loadFromQuery=false;this.customer=undefined;this.widgetStyle=A.standard;this.buttonColor=undefined;this.buttonBg=undefined}render(){return n("hemfixarna-component",{forceOldTree:this.forceOldTree,id:this.id,slug:this.slug,business:N.byggmax,topCategory:B.byggmax,loadFromQuery:this.loadFromQuery,widgetStyle:this.widgetStyle,buttonBg:this.buttonBg,buttonColor:this.buttonColor})}};P.style=L;const M=class{constructor(t){e(this,t);this.tree=undefined}render(){const t=r(`./assets/back.svg`);return n("div",{class:"hemfixarna_cart"},n("div",{class:"hemfixarna_cart--left"},n("h2",null,x.checkoutStep===2&&!x.checkoutEdit&&n("button",{onClick:()=>{x.checkoutStep=1}},n("img",{width:24,src:t,alt:"back arrow"})),"Din bokning"),n("hemfixarna-orderrows",{tree:this.tree})),n("div",{class:"hemfixarna_cart--right"},n("h2",null,x.checkoutStep===2&&!x.checkoutEdit&&n("button",{onClick:()=>{x.checkoutStep=1}},n("img",{width:24,src:t,alt:"back arrow"})),"Dina uppgifter"),n("hemfixarna-checkout",null),n("hemfixarna-info",null)))}};const K=class{constructor(t){e(this,t)}setSelectedService(t){x.selectedService=t;x.step=3}render(){return n("div",null,n("h2",null,x.selectedCategory.name),n("div",{class:"hemfixarna_categories--wrapper"},n("div",null,n("ul",{class:"hemfixarna_categories"},x.selectedCategory.services.sort(((t,i)=>t.post_title<i.post_title?-1:1)).map((t=>{var i;return n("hemfixarna-box",{post:t,icon:(i=t.icon.url)!==null&&i!==void 0?i:t.icon,postTitle:t.post_title})})))),n("hemfixarna-info",{list:x.options.trust})))}};const R=`${"https://hemfixarna.se"}/wp-json/headless`;async function V(t,i){const e=await fetch(t,i);const n=await e.json();return n}const J=async t=>{if(!t){return}const i=t.split("/")[0];const e=t.split("/")[1];try{const t=await fetch(`${R}/${i}/${e}`);return await t.json()}catch(t){console.log(t)}};const U=async t=>{try{const i=await fetch(`${R}/customer/${t}`);return await i.json()}catch(t){console.log(t)}};const E=async()=>{try{const t=await fetch(`${R}/webcoptions`);return await t.json()}catch(t){console.log(t)}};const H=async()=>{try{const t=await V(`${R}/rut`);return t}catch(t){console.log(t)}};const W=async()=>{try{const t=await fetch(`${R}/rot`);return await t.json()}catch(t){console.log(t)}};const Q=async t=>{try{const i=await fetch(`${R}/weborder`,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});return await i.json()}catch(t){console.log(t)}};const X=`${"https://hemfixarna.se"}/wp-json/felix`;const Y=async t=>{try{return await V(`${X}/createperson`,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})}catch(t){console.log(t)}};const q=class{constructor(t){e(this,t);this.handleChangeDate=t=>{this.dateError=null;this.date=t.target.value};this.handleChangeTerms=()=>{this.generalError=null};this.sendOrder=async()=>{var t,i;if(this.loading)return;this.loading=true;let e={firstName:x.creditSafeUser.firstName,lastName:x.creditSafeUser.lastName,street:x.user.street,zip:x.user.zip,town:x.user.town,ssn:x.user.ssn,email:x.user.email,phone:x.user.phone,url:`${x.business===N.string?"string":x.business}-webk`,date:this.date,products:[...x.cart.map((t=>{const i=t.parts.map((t=>({id:String(t.id),name:t.name,quantity:t.amount,rut:0,rot:0})));return[{id:String(t.id),name:t.name,quantity:t.amount,rot:t.rot?1:0,rut:t.rut?1:0},...i]}))].flat(),creditSafe:x.creditSafeUser,customer:x.business};const n=await Y(e);if(!n||!((i=(t=n.response)===null||t===void 0?void 0:t.scriptResult)===null||i===void 0?void 0:i.includes("OK"))){e=Object.assign(Object.assign({},e),{felixStatus:"error"})}else{e=Object.assign(Object.assign({},e),{felixStatus:"success"})}try{const{data:t,status:i}=await Q(e);if(t&&i&&i===200){x.step=6;const t=this.el.closest(".hemfixarna_content");v(t)}else{this.generalError="Något gick fel, försök igen senare"}}catch(t){this.generalError="Något gick fel, försök igen senare"}this.loading=false};this.handleSubmit=t=>{t.preventDefault();this.generalError=null;const i=this.date.length>0;if(!i){this.dateError="Ange ett giltigt datum"}const e=Array.from(this.el.querySelectorAll('input[type="checkbox"]'));const n=e.find((t=>!t.checked));if(n){this.generalError="Du måste godkänna villkoren"}if(i&&!n){this.sendOrder()}};this.render=()=>{const t=r(`./assets/date.svg`);const i=r(`./assets/down.svg`);const e=r(`./assets/spinner.gif`);if(x.checkoutEdit){return n("hemfixarna-address",null)}else if(x.checkoutStep===1){return n("hemfixarna-getuser",null)}else if(x.checkoutStep===2){return n("div",{class:"mb-2"},n("div",{class:"hemfixarna_addressinfo"},n("div",null,n("p",null,b(x.user.firstName)),n("p",null,b(x.user.lastName)),n("p",null,x.user.email),n("p",null,x.user.phone)),n("div",null,n("p",null,b(x.user.street)),n("p",null,b(x.user.zip)),n("p",null,b(x.user.town))),n("button",{onClick:()=>x.checkoutEdit=true},"Behöver du ändra adressen?")),n("form",{onSubmit:t=>this.handleSubmit(t)},n("div",null,n("img",{src:t,width:24}),n("input",{class:`${this.date.length?"input_active":""}`,min:(new Date).toISOString().split("T")[0],onChange:t=>this.handleChangeDate(t),type:"date",name:"date",value:this.date}),n("label",{htmlFor:"date"},"Tidigaste datum för hembesök"),n("img",{src:i,width:24})),this.dateError&&n("span",null,this.dateError),n("label",{class:"hemfixarna_checkbox"},n("input",{onChange:()=>this.handleChangeTerms(),type:"checkbox"}),n("span",{innerHTML:x.options.terms})),x.cart.filter((t=>{var i;return(i=t.terms_checkout)===null||i===void 0?void 0:i.length})).map((t=>n(a,null,n("label",{class:"hemfixarna_checkbox"},n("input",{onChange:()=>this.handleChangeTerms(),type:"checkbox"}),n("span",null,t.terms_checkout))))),this.generalError&&n("span",null,this.generalError),n("div",{class:this.loading?"loading":""},n("input",{type:"submit",value:this.loading?"":"Skicka bokning"}),n("img",{width:20,height:20,src:e,alt:"spinner"}))))}};this.date="";this.dateError=null;this.generalError=null;this.loading=false}componentWillLoad(){if(Boolean(x.user&&x.user.street)){x.checkoutStep=2}}get el(){return s(this)}};const G='@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&display=swap"); *{box-sizing:border-box}:host{font-family:"Inter", sans-serif}:host .mb-2{margin-bottom:32px}:host button{color:#474444}:host form{display:flex;flex-direction:column;gap:16px}:host form img{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}:host form img:first-of-type{left:16px}:host form img:last-of-type{right:16px}:host form span{margin-top:-8px;color:#ec6632}:host form p{text-align:center}:host form p{margin:0}:host form div{position:relative}:host form div label{pointer-events:none;position:absolute;left:16px;top:50%;transform:translateY(-50%);background:#fff;padding:4px;transition:0.2s all cubic-bezier(0.465, 0.183, 0.153, 0.946)}:host form div input{padding:16px;width:100%;font-size:16px;border:1px solid #fcd9c9}:host form div input:focus~label,:host form div .input_active~label{top:0;transform:translateY(-50%);background:linear-gradient(180deg, #fffaf2 50%, #fff 50%)}:host h1{font-size:24px;font-weight:400;line-height:32px;letter-spacing:-3%;text-align:left;margin:0 0 8px}:host h2{margin:0 0 24px;font-weight:700;font-size:20px;line-height:28px;letter-spacing:-3%}:host p{font-size:16px;font-weight:400;line-height:24px;letter-spacing:-3%}:host .hemfixarna{width:100%;}:host .hemfixarna_nav{position:absolute;top:0;width:100dvw;left:0;height:80px;z-index:9999}:host .hemfixarna_nav--links{display:none !important}@media (min-width: 769px){:host .hemfixarna_nav--links{display:flex !important}}:host .hemfixarna_nav--links a{color:#ec6632;text-decoration:none;border:1px solid rgba(255, 255, 255, 0.3);border-radius:56px;padding:8px 32px;text-transform:capitalize}:host .hemfixarna_nav>div{position:relative;overflow:hidden;width:100%;height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 16px}@media (min-width: 769px){:host .hemfixarna_nav>div{padding:0 32px}}:host .hemfixarna_nav>div>div{display:flex;gap:32px;justify-content:space-between}:host .hemfixarna_nav>div>img{position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1}:host .hemfixarna_nav p{color:#fff}:host .hemfixarna_standalone .hemfixarna_backdrop{background:#fffaf2;opacity:1}:host .hemfixarna_standalone .hemfixarna_modal{top:80px;transform:translateX(-50%);border:none;height:calc(100dvh - 80px);opacity:0}:host .hemfixarna_standalone .hemfixarna_modal--open{opacity:1}:host .hemfixarna .switch{position:relative;display:inline-block;width:40px;height:20px}:host .hemfixarna .switch input{opacity:0;width:0;height:0}:host .hemfixarna .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:0.4s;transition:0.4s;border-radius:34px}:host .hemfixarna .slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:1px;background-color:white;-webkit-transition:0.4s;transition:0.4s;border-radius:50%}:host .hemfixarna input:checked+.slider{background-color:#fcd9c9}:host .hemfixarna input:focus+.slider{box-shadow:0 0 1px #fcd9c9}:host .hemfixarna input:checked+.slider:before{-webkit-transform:translateX(18px);-ms-transform:translateX(18px);transform:translateX(18px);background:#ec6632}:host .hemfixarna_checkbox{display:grid;grid-template-columns:40px auto;font-size:16px;font-weight:400;line-height:24px;letter-spacing:-3%}:host .hemfixarna_checkbox>span{transform:translateY(6px)}:host .hemfixarna_checkbox span,:host .hemfixarna_checkbox span p{color:#474444;font-size:14px}:host .hemfixarna_checkbox p{text-align:left}:host .hemfixarna_info{display:flex;flex-direction:column;gap:24px;padding:32px;box-shadow:0px 4px 8px 0px rgba(0, 0, 0, 0.0392156863);border-radius:4px;border:1px solid #fcd9c9}:host .hemfixarna_info h2{margin:0}@media (min-width: 769px){:host .hemfixarna_info{position:sticky;top:0}}:host .hemfixarna_infomodal{position:absolute;top:40%;left:50%;transform:translate(-50%, -50%);width:100%;max-width:80%;background:#fffaf2;border:1px solid #fcd9c9;padding:32px;z-index:99;border-radius:4px;box-shadow:0px 4px 8px 0px rgba(0, 0, 0, 0.0392156863);display:flex;flex-direction:column;gap:16px}:host .hemfixarna_infomodal p,:host .hemfixarna_infomodal h4{margin:0}:host .hemfixarna_infomodal button{background:#ec6632;color:#fff;border-radius:60px;font-size:16px;padding:8px 16px}:host .hemfixarna_addressinfo{padding:16px 16px 64px;border:1px solid #fcd9c9;position:relative;margin-bottom:32px;display:grid;grid-template-columns:1fr;gap:8px}@media (min-width: 769px){:host .hemfixarna_addressinfo{grid-template-columns:1fr 1fr}}:host .hemfixarna_addressinfo button{position:absolute;bottom:16px;right:16px;font-weight:500;text-underline-offset:2px;text-decoration:underline}:host .hemfixarna_part{background:#fff;box-shadow:0px 4px 8px 0px rgba(0, 0, 0, 0.0392156863);display:grid;padding:16px;grid-template-columns:auto 75px}:host .hemfixarna_counter{display:flex;align-items:center}:host .hemfixarna_counter span{padding:0 8px}:host .hemfixarna_counter img{cursor:pointer}:host .hemfixarna_counter img:not(.disabled):hover{transition:0.1s all cubic-bezier(0.465, 0.183, 0.153, 0.946);filter:brightness(1.02);transform:scale(1.01);box-shadow:0px 8px 16px 2px rgba(0, 0, 0, 0.0392156863)}:host .hemfixarna_description{display:grid;gap:16px}:host .hemfixarna_description ul{list-style:disc;padding-right:12px;transform:translateX(12px)}:host .hemfixarna_description--hidden{max-height:140px;overflow:hidden;position:relative;cursor:pointer}:host .hemfixarna_description--hidden::after{content:"";position:absolute;bottom:0;left:0;right:0;height:128px;background:linear-gradient(180deg, rgba(255, 253, 250, 0), rgba(255, 253, 250, 0.46) 50%, #fffaf2)}:host .hemfixarna_terms{font-size:14px}:host .hemfixarna_terms a{color:inherit}:host .hemfixarna_logo{height:64px}:host .hemfixarna_box{padding:16px;display:flex;align-items:center;width:100%;box-sizing:border-box;border-radius:4px;gap:16px 8px;border-radius:4px;gap:16px 8px}:host .hemfixarna_box p,:host .hemfixarna_box span{font-size:15px}:host .hemfixarna_box .underline{text-decoration:underline;text-underline-offset:2px}:host .hemfixarna_box .pointer{cursor:pointer}:host .hemfixarna_box .p-s{font-size:12px}:host .hemfixarna_box>div{display:grid;gap:8px}:host .hemfixarna_box--standard{background:#fffaf2;border:1px solid #fcd9c9}:host .hemfixarna_box--alternative,:host .hemfixarna_box--alternative_2,:host .hemfixarna_box--alternative_3{background:transparent;border:1px solid #e3e3e3}:host .hemfixarna_box--alternative_2,:host .hemfixarna_box--alternative_3{box-shadow:0px 2px 16px 0px rgba(0, 0, 0, 0.0784313725)}:host .hemfixarna_box--alternative_3{justify-content:center}:host .hemfixarna_altbtn{display:flex !important;flex-direction:column;gap:8px;align-items:center;margin-left:auto}:host .hemfixarna_btn{margin-left:auto}:host .hemfixarna_btn,:host .hemfixarna_buy,:host .hemfixarna input[type=submit]{border:none;border-radius:60px;font-weight:600;letter-spacing:0.5px;line-height:20px;box-shadow:0px 4px 8px 0px rgba(0, 0, 0, 0.0392156863)}:host .hemfixarna_btn:not(.disabled):hover,:host .hemfixarna_buy:not(.disabled):hover,:host .hemfixarna input[type=submit]:not(.disabled):hover{transition:0.1s all cubic-bezier(0.465, 0.183, 0.153, 0.946);filter:brightness(1.02);transform:scale(1.01);box-shadow:0px 8px 16px 2px rgba(0, 0, 0, 0.0392156863)}:host .hemfixarna div:has(>input[type=submit]){position:relative}:host .hemfixarna div:has(>input[type=submit]) input{cursor:pointer}:host .hemfixarna div:has(>input[type=submit]) img{display:none}:host .hemfixarna .loading{cursor:default;opacity:0.6}:host .hemfixarna .loading>img{display:initial !important;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}:host .hemfixarna_btn{font-size:14px;background:#c84e18;color:#fff;padding:16px 24px;white-space:nowrap;position:relative}:host .hemfixarna_btn span{position:absolute;background:#fff;border-radius:100%;width:24px;height:24px;display:flex;justify-content:center;align-items:center;font-weight:600;font-size:13px;line-height:11px;top:-8px;right:-12px}:host .hemfixarna_btn span{background:#25a710;color:#fff;right:0 !important}:host .hemfixarna_buy,:host .hemfixarna input[type=submit]{font-size:21px;background:#25a710;color:#fff;padding:16px 24px}:host .hemfixarna .disabled{opacity:0.5;cursor:default}:host .hemfixarna_modal{position:fixed;background:#fffaf2;border:1px solid #fcd9c9;border-radius:4px;top:50%;left:50%;z-index:1000;transition:0.1s all cubic-bezier(0.465, 0.183, 0.153, 0.946);transform:translate(-50%, -50%) scale(0.7);opacity:0;height:92%;width:92%;max-width:920px;display:flex;flex-direction:column;gap:8px}:host .hemfixarna_modal--open{opacity:1;transform:translate(-50%, -50%) scale(1)}:host .hemfixarna_backdrop{z-index:999;position:fixed;background:#474444;top:0;left:0;bottom:0;right:0;opacity:0;transition:transform 0.1s cubic-bezier(0.465, 0.183, 0.153, 0.946), opacity 0.1s cubic-bezier(0.465, 0.183, 0.153, 0.946)}:host .hemfixarna_backdrop--open{opacity:0.3}:host .hemfixarna_order{position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background-repeat:no-repeat !important;background-size:cover !important;background-position:center !important;display:grid;grid-template-columns:1fr 1fr;padding:48px 32px 64px}@media (max-width: 768px){:host .hemfixarna_order{grid-template-columns:1fr;grid-template-rows:0 auto}}:host .hemfixarna_order>div:last-of-type{background:#fffaf2;padding:32px;display:flex;flex-direction:column;max-height:100%;overflow:auto}:host .hemfixarna_order img{cursor:pointer}:host .hemfixarna_order button{margin:16px 0;padding:0;text-decoration:underline;text-underline-offset:2px;font-size:14px;font-weight:600}:host .hemfixarna_cart{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media (max-width: 768px){:host .hemfixarna_cart{grid-template-columns:1fr;gap:0}}:host .hemfixarna_cart--right h2,:host .hemfixarna_cart--left h2{display:flex;align-items:center}:host .hemfixarna_cart--right h2 img,:host .hemfixarna_cart--left h2 img{margin-top:3.2px}@media (min-width: 769px){:host .hemfixarna_cart--left h2 button{display:none}}@media (max-width: 768px){:host .hemfixarna_cart--right h2 button{display:none}}:host .hemfixarna_cart--startfee{display:flex;justify-content:space-between}:host .hemfixarna_cart--rutrot{display:flex;justify-content:space-between}:host .hemfixarna_cart--rutrot div{display:flex;gap:16px;align-items:center}:host .hemfixarna_cart--additional{display:flex;flex-direction:column;gap:16px;padding:16px;border-top:1px solid #fcd9c9}:host .hemfixarna_cart--additional p{font-size:14px}:host .hemfixarna_cart--additional strong{text-decoration:underline;text-underline-offset:2px;cursor:pointer;position:relative}:host .hemfixarna_cart--additional strong img{position:absolute;top:50%;transform:translateY(-50%);right:-24px}:host .hemfixarna_cart--price{border-top:1px solid #fcd9c9;padding:16px;display:flex;justify-content:space-between}:host .hemfixarna_cart--price h3{margin:0}:host .hemfixarna_cart--item{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-top:1px solid #fcd9c9}:host .hemfixarna_cart--item>div{display:flex;justify-content:space-between}:host .hemfixarna_cart--item>div>div{display:flex;align-items:center;gap:16px}:host .hemfixarna_cart--item>div button{color:#ec6632}:host .hemfixarna_categories{display:grid;gap:24px}:host .hemfixarna_categories--wrapper{gap:32px;display:grid;grid-template-columns:1fr 1fr}@media (max-width: 768px){:host .hemfixarna_categories--wrapper{grid-template-columns:1fr}}:host .hemfixarna_categories li{position:relative;background:#fff;border-radius:4px;min-height:132px;padding:24px;box-shadow:0px 4px 8px 0px rgba(0, 0, 0, 0.0392156863);display:flex;align-items:center;gap:24px;cursor:pointer}:host .hemfixarna_categories li:hover{transition:0.1s all cubic-bezier(0.465, 0.183, 0.153, 0.946);filter:brightness(1.02);transform:scale(1.01);box-shadow:0px 8px 16px 2px rgba(0, 0, 0, 0.0392156863)}:host .hemfixarna_categories li>button{height:100%;width:100%}:host .hemfixarna_categories li .price{font-weight:700}:host .hemfixarna_content{height:100%;overflow:auto;padding:0 32px 64px}:host .hemfixarna_content--5{padding-top:16px}:host .hemfixarna_crumbs{position:relative;padding:16px 24px;border-bottom:1px solid #fcd9c9;display:flex;justify-content:space-between}:host .hemfixarna_crumbs--back{padding:16px 24px 8px;display:flex;align-items:center;gap:8px;box-shadow:none !important}:host .hemfixarna_crumbs--back:hover{transition:0.1s all cubic-bezier(0.465, 0.183, 0.153, 0.946);filter:brightness(1.02);transform:scale(1.01);box-shadow:0px 8px 16px 2px rgba(0, 0, 0, 0.0392156863)}:host .hemfixarna_crumbs img{cursor:pointer}:host .hemfixarna_crumbs .close{position:absolute;right:-16px;top:-16px;z-index:9}:host .hemfixarna_crumbs .cart{padding-left:16px;position:relative}:host .hemfixarna_crumbs .cart img{cursor:inherit}:host .hemfixarna_crumbs .cart span{position:absolute;background:#fff;border-radius:100%;width:24px;height:24px;display:flex;justify-content:center;align-items:center;font-weight:600;font-size:13px;line-height:11px;top:-8px;right:-12px}:host .hemfixarna_crumbs .cart_active{cursor:pointer}:host .hemfixarna_crumbs .cart_active span{background:#25a710;color:#fff}:host .hemfixarna_crumbs--links{display:flex;align-items:center;gap:16px;overflow:auto}@media (min-width: 769px){:host .hemfixarna_crumbs--links{-ms-overflow-style:none}:host .hemfixarna_crumbs--links::-webkit-scrollbar{display:none}:host .hemfixarna_crumbs--links::-webkit-scrollbar-button{display:none}}:host .hemfixarna_crumbs button{white-space:nowrap;background:#f1ded6;border-radius:64px;padding:12px 16px;font-size:12px;font-weight:600;letter-spacing:0.3px;box-shadow:none !important}:host .hemfixarna_crumbs button:not(.active):hover{transition:0.1s all cubic-bezier(0.465, 0.183, 0.153, 0.946);filter:brightness(1.02);transform:scale(1.01);box-shadow:0px 8px 16px 2px rgba(0, 0, 0, 0.0392156863)}:host .hemfixarna_crumbs .active{background:#fffaf2;cursor:default}:host .hemfixarna_features{gap:12px !important}:host .hemfixarna_features li{display:flex;gap:16px;align-items:center}:host .hemfixarna_address{margin-bottom:16px}:host .hemfixarna_product{display:grid;gap:16px}:host .hemfixarna_product--link{font-weight:700;color:#474444;text-underline-offset:4px}:host .hemfixarna_product--left{gap:32px}:host .hemfixarna_product--right{gap:32px}:host .hemfixarna_product--price{margin-top:4px;font-weight:700}:host .hemfixarna_product--total{text-align:center;margin:-16px 0;font-size:21px;line-height:28px}:host .hemfixarna_product--item{background:#fff;padding:16px;display:grid;grid-template-columns:auto 75px;box-shadow:0px 4px 8px 0px rgba(0, 0, 0, 0.0392156863)}:host .hemfixarna_product--grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media (max-width: 768px){:host .hemfixarna_product--grid{grid-template-columns:1fr}}:host .hemfixarna_product--grid>div{display:flex;flex-direction:column}:host .hemfixarna_product--grid ul{display:flex;flex-direction:column;gap:4px}:host .hemfixarna_product p{margin:0}:host .hemfixarna_product--top{display:flex;gap:32px}:host .hemfixarna_product--top>div{width:100%}:host .hemfixarna_product--top>div h1{max-width:80%}@media (max-width: 768px){:host .hemfixarna_product--top>div h1{max-width:100%}}:host .hemfixarna_product--top h4{margin-bottom:8px}:host h5,:host p{margin:0}:host input[type=submit]{cursor:pointer}:host input[type=date]~label{left:56px}:host input[type=date]{border:1px solid #fcd9c9;padding-left:64px}:host input[type=checkbox]{height:18px;width:18px;border:1px solid #fcd9c9}:host input[type=checkbox]:checked{background:red}:host input[type=date]::-webkit-calendar-picker-indicator{background:transparent;bottom:0;color:transparent;cursor:pointer;height:auto;left:0;position:absolute;right:0;top:0;width:auto}:host button,:host a{cursor:pointer;background:none;border:none}:host ul{list-style:none;margin:0;padding:0}';const Z=class{constructor(t){e(this,t);this.slugIsOldFormat=t=>{if(!t)return false;return["product","service","category"].some((i=>t.includes(i)))};this.triggerScrollTotop=()=>{const t=this.el.shadowRoot.querySelector(".hemfixarna_content");v(t)};this.modal=false;this.showModal=false;this.tree=null;this.product=null;this.proppedProduct=null;this.slug=undefined;this.id=undefined;this.business=undefined;this.topCategory=undefined;this.forceOldTree=false;this.loadFromQuery=false;this.isDemo=false;this.widgetStyle=undefined;this.nav=undefined;this.buttonColor=undefined;this.buttonBg=undefined}loadCategoryOrProduct(t){this.proppedProduct=null;if(t.startsWith("c-")){const i=[...x.customer.categories,...x.customer.categories.map((t=>{var i;return(i=t.sub_categories)!==null&&i!==void 0?i:[]}))].flat();const e=i.find((i=>i&&i.id===t.replace("c-","")));if(e){x.selectedCustomerCategory=e;x.step=2}}else{const i=x.customer.categories.map((t=>t.show_products?t.products:t.sub_categories?t.sub_categories.map((t=>t.products)):[])).flat().flat();const e=i.find((i=>i&&i.fields.ID===parseInt(t)));if(e){x.selectedProduct=e.fields;x.step=4;this.proppedProduct=e.fields}}}async watchSlugChange(t){if(this.slugIsOldFormat(t)){this.fetchNewTaxonomy(t)}else if(x.customer&&t){this.loadCategoryOrProduct(t)}}async watchIdChange(t){if(t&&x.customer){this.loadCategoryOrProduct(t)}}async fetchNewTaxonomy(t){x.selectedCategory=null;x.selectedProduct=null;x.selectedService=null;const i=await J(t);if((i===null||i===void 0?void 0:i.code)==="not_found"||(i===null||i===void 0?void 0:i.code)==="rest_no_route"){console.log("taxonomy not found")}else if(i){this.setTaxonomy(i);if((i===null||i===void 0?void 0:i.post_type)==="ikea_product"){this.product=i}}}async componentWillLoad(){x.business=this.business;const t=window.sessionStorage.getItem(`hemfixarna-${this.business}-cart`);if(t){x.cart=JSON.parse(t)}const i=window.sessionStorage.getItem(`hemfixarna-${this.business}-user`);if(i){x.user=JSON.parse(i)}const e=window.sessionStorage.getItem(`hemfixarna-${this.business}-creditSafeUser`);if(e){x.creditSafeUser=JSON.parse(e)}const[n,s,a,r,o]=await Promise.all([this.topCategory?J(this.topCategory):null,this.slug?J(this.slug):Promise.resolve(null),E(),H(),W()]);if((!this.slug||!this.slugIsOldFormat(this.slug))&&!this.forceOldTree){try{const t=await U(this.business);if((t===null||t===void 0?void 0:t.code)==="not_found"){console.warn("customer not found")}else if(t){x.customer=t;if(this.id){this.loadCategoryOrProduct(this.id)}else if(this.slug&&!this.slugIsOldFormat(this.slug)){this.loadCategoryOrProduct(this.slug)}}}catch(t){console.warn("customer not found")}}if((n===null||n===void 0?void 0:n.code)==="not_found");else if(n){this.tree=n}if((s===null||s===void 0?void 0:s.code)==="not_found"){console.log("taxonomy not found")}else if(s){this.setTaxonomy(s);if((s===null||s===void 0?void 0:s.post_type)==="ikea_product"){this.product=s}}if(this.loadFromQuery){const t=new URL(document.location.toString()).searchParams;this.id=t.get("id");if(!this.isDemo){this.openModal()}}x.rotOptions=o;x.rutOptions=r;x.options=a}setTaxonomy(t){if(t){if((t===null||t===void 0?void 0:t.taxonomy)==="service_cat"){x.selectedCategory=t;x.step=2}else if((t===null||t===void 0?void 0:t.post_type)==="service"){x.selectedService=t;x.selectedCategory=this.tree.sub_cats.find((i=>i.services.find((i=>i.ID===t.ID))));x.step=3}else if((t===null||t===void 0?void 0:t.post_type)==="ikea_product"){x.selectedProduct=t;x.selectedService=this.tree.sub_cats.map((t=>t.services)).flat().find((t=>t.products.find((t=>t.ID===x.selectedProduct.ID))));x.selectedCategory=this.tree.sub_cats.find((t=>t.services.find((t=>t.ID===x.selectedService.ID))));x.step=4}this.triggerScrollTotop()}}openModal(){this.modal=true;setTimeout((()=>{this.showModal=true}),50)}closeModal(){this.showModal=false;setTimeout((()=>{this.modal=false}),200)}handleClick(t){if(this.loadFromQuery&&!this.isDemo)return;const i=this.el.shadowRoot.querySelector(".hemfixarna_modal");if(i){const e=i.contains(t.composedPath()[0]);if(!e){this.closeModal()}}const e=this.el.shadowRoot.querySelector(".hemfixarna_infomodal");if(e){const i=e.contains(t.composedPath()[0]);if(!i){x.modal=null}}}getCartLength(){return x.cart.reduce(((t,i)=>t+i.amount),0)}render(){var t,i,e,s,a,o,l,h,c,d,u,p,f,m,g;const b=r(`./assets/hemfixarna.svg`);const v=r(`./assets/montering.svg`);const _=((t=this.nav)===null||t===void 0?void 0:t.background)?r(this.nav.background):"";const y=((i=this.nav)===null||i===void 0?void 0:i.logo)?r(this.nav.logo):"";return n("div",{class:`hemfixarna ${this.loadFromQuery?"hemfixarna_standalone":""}`},this.loadFromQuery&&!this.isDemo&&this.nav?n("nav",{class:"hemfixarna_nav"},n("div",null,n("div",{class:"hemfixarna_nav--logos"},n("a",{href:this.nav.url,target:"_blank"},n("img",{src:y,alt:`${this.business} logo`})),n("a",{href:"https://hemfixarna.se/",target:"_blank"},n("p",null,"I samarbete med:"),n("img",{src:b,alt:"hemfixarna_logo",width:104}))),n("div",{class:"hemfixarna_nav--links"},n("a",{href:this.nav.url,target:"_blank"},"Till ",this.business),n("a",{href:"https://www.hemfixarna.se/",target:"_blank"},"Till Hemfixarna")),n("img",{src:_,alt:"nav_background"}))):null,!this.loadFromQuery||this.isDemo?n("div",{class:`hemfixarna_box hemfixarna_box--${this.widgetStyle}`},[A.alternative_2,A.alternative_3].includes(this.widgetStyle)?n("img",{src:v,alt:"montering logo",width:32,height:32}):null,n("div",null,n("div",null,n("p",{onClick:()=>this.openModal(),class:`pointer ${[A.alternative_2,A.alternative_3].includes(this.widgetStyle)&&x.selectedProduct?"underline":""}`},((e=this.product)===null||e===void 0?void 0:e.post_title)||((s=this.proppedProduct)===null||s===void 0?void 0:s.post_title)||n("span",null,"Montering",n("wbr",null),"/Installation ",(o=(a=x.selectedCustomerCategory)===null||a===void 0?void 0:a.name)!==null&&o!==void 0?o:"på plats"," - ",n("strong",{class:"underline"},"se priser här")),this.product&&((l=this.slug)===null||l===void 0?void 0:l.includes("product"))||this.proppedProduct&&!((h=this.product)===null||h===void 0?void 0:h.invoice)&&!((c=this.proppedProduct)===null||c===void 0?void 0:c.invoice)?n("span",null," från"," ",n("strong",null,C(this.proppedProduct||this.product),"kr")):null,((d=this.product)===null||d===void 0?void 0:d.invoice)||((u=this.proppedProduct)===null||u===void 0?void 0:u.invoice)?n("span",null," - ",n("strong",{class:"underling"},"se priser här")):null)),this.widgetStyle===A.standard?n("img",{src:b,width:104}):null,this.widgetStyle===A.alternative?n("span",{class:"p-s"},"Utförs av ",n("strong",null,"Hemfixarna")):null),[A.standard,A.alternative].includes(this.widgetStyle)?n("button",{onClick:()=>this.openModal(),class:"hemfixarna_btn",style:{color:((p=this.buttonColor)===null||p===void 0?void 0:p.startsWith("#"))||!((f=this.buttonColor)===null||f===void 0?void 0:f.length)?this.buttonColor:`#${this.buttonColor}`,backgroundColor:((m=this.buttonBg)===null||m===void 0?void 0:m.startsWith("#"))||!((g=this.buttonBg)===null||g===void 0?void 0:g.length)?this.buttonBg:`#${this.buttonBg}`}},"Beställ här",this.getCartLength()>0&&n("span",null,this.getCartLength())):null,A.alternative_2===this.widgetStyle?n("div",{class:"hemfixarna_altbtn"},n("strong",{class:"p-s"},"Utförs av"),n("img",{src:b,alt:"hemfixarna logo",width:98})):null):null,this.modal&&n("div",null,n("div",{class:`hemfixarna_modal ${this.showModal?"hemfixarna_modal--open":""}`},x.modal&&n("div",{class:"hemfixarna_infomodal"},x.modal.title&&n("h2",null,x.modal.title),x.modal.text.map((t=>n("p",{innerHTML:t}))),n("div",null,n("button",{onClick:()=>x.modal=null},"Stäng"))),(this.tree||x.customer)&&n("hemfixarna-breadcrumbs",{isDemo:this.isDemo,loadFromQuery:this.loadFromQuery,closeModal:()=>this.closeModal(),tree:this.tree}),!x.customer||this.slugIsOldFormat(this.slug)?n("div",{class:`hemfixarna_content hemfixarna_content--${x.step}`},x.step===1&&this.tree&&n("hemfixarna-start",{tree:this.tree}),x.step===2&&x.selectedCategory&&n("hemfixarna-category",null),x.step===3&&x.selectedService&&n("hemfixarna-service",null),x.step===4&&x.selectedProduct&&n("hemfixarna-product",null),x.step===5&&n("hemfixarna-cart",{tree:this.tree}),x.step===6&&n("hemfixarna-order",{tree:this.tree})):n("div",{class:`hemfixarna_content hemfixarna_content--${x.step}`},x.step<4&&n("hemfixarna-start",null),x.step===4&&x.selectedProduct&&n("hemfixarna-product",null),x.step===5&&n("hemfixarna-cart",{tree:this.tree}),x.step===6&&n("hemfixarna-order",{tree:this.tree}))),!this.isDemo?n("div",{class:`hemfixarna_backdrop ${this.showModal?"hemfixarna_backdrop--open":""}`}):null))}static get assetsDirs(){return["assets"]}get el(){return s(this)}static get watchers(){return{slug:["watchSlugChange"],id:["watchIdChange"]}}};Z.style=G;const tt='@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&display=swap"); :host{font-family:"Inter", sans-serif}:host .hemfixarna_widgetstyles label{cursor:pointer}:host .hemfixarna_widgetstyles>div{display:flex;gap:1rem}:host .hemfixarna_widgetstyles h5{margin:1rem 0}:host .hemfixarna_example{margin-bottom:16px;background:#000;padding:16px;color:#fff;display:flex;justify-content:space-between;cursor:pointer;max-width:500px;box-sizing:border-box;position:relative}:host .hemfixarna_example--tooltip{background:#000;top:-48px;font-size:16px;left:40%;color:white;padding:8px;position:absolute;opacity:0}:host .hemfixarna_example--tooltip::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#000 transparent transparent transparent}:host .hemfixarna_example:hover .hemfixarna_example--tooltip{opacity:1}:host .hemfixarna_example p{font-size:14px}:host .hemfixarna_example img{filter:invert(1)}:host .hemfixarna_install{display:grid;gap:8px;margin-top:16px}:host .hemfixarna_product--label{background:#e1e0f5}:host .hemfixarna_categories{max-height:100%;overflow:auto;position:relative}:host .hemfixarna_categories--label{display:flex;align-items:center;justify-content:space-between;padding:8px}:host .hemfixarna_categories--label button{background:#3f3a92;border:none;font-weight:600;padding:3.2px 9.6px;border-radius:10px;margin-right:8px;color:#ece8e8}:host .hemfixarna_categories--label button:active{transform:scale(0.95)}:host .hemfixarna_categories--label--big{font-weight:600;border-bottom:1px solid black}:host p{margin:0}:host span{color:darkolivegreen;font-size:10px}:host button{cursor:pointer}:host>div{display:grid;gap:32px;width:100%;grid-template-columns:1fr 1fr;height:100vh;place-items:center;overflow:hidden;padding:16px 32px;box-sizing:border-box}:host>div>*{width:100%}:host>div>div{max-width:500px}:host>div ul{margin:0;padding:0;list-style:none}:host>div ul ul{gap:1px;display:grid}:host>div ul li{padding-left:16px;background:#fff}';const it=class{constructor(t){e(this,t);this.debounce=null;this.cdnLink='<script type="module" src="https://cdn.jsdelivr.net/npm//hemfixarna-web-components@latest/dist/hemfixarna-components/hemfixarna-components.esm.js"><\/script>';this.selectedSlug=undefined;this.selectedID=undefined;this.tooltipText="Kopiera till urklipp";this.tree=null;this.customer=null;this.widgetStyle=A.standard;this.buttonBg="";this.buttonColor="";this.colorAccessibility=undefined}debouncedFunction(){if(this.debounce!==null){clearTimeout(this.debounce);this.debounce=null}this.debounce=window.setTimeout((()=>{this.checkColorAccessibility();this.debounce=null}),1500)}async checkColorAccessibility(){const t="#fff";const i="#c84e18";const e=this.buttonBg.length?this.buttonBg.startsWith("#")?this.buttonBg:`#${this.buttonBg}`:i;const n=this.buttonColor.length?this.buttonColor.startsWith("#")?this.buttonColor:`#${this.buttonColor}`:t;fetch("https://www.aremycolorsaccessible.com/api/are-they",{mode:"cors",method:"POST",body:JSON.stringify({colors:[e,n]})}).then((t=>t.json())).then((t=>{console.log(t);if(t&&t){this.colorAccessibility=t}}))}getTopLevelCategory(){switch("elfa"){case N.byggmax:return B.byggmax;default:return""}}getColor(t){switch(t){case"AAA":return"green";case"AA":return"orange";case"A":return"yellow";case"Fail":return"red";default:return"black"}}async componentWillLoad(){if(process.env.FORCE_OLD_TREE){const t=await J(this.getTopLevelCategory());if((t===null||t===void 0?void 0:t.code)==="not_found");else if(t){this.tree=t}}else{const t=await U("elfa");if(t.code!=="not_found"&&t){this.customer=t}}}getExample(){return`<hemfixarna-${"elfa"}${this.selectedSlug?` slug="${this.selectedSlug}" `:""}${this.selectedID?` id="${this.selectedID}" `:""} ${this.widgetStyle===A.standard?"":`widgetStyle="${this.widgetStyle}"`} ${this.buttonColor.length?`buttonColor="${this.buttonColor}"`:""} ${this.buttonBg.length?`buttonBg="${this.buttonBg}"`:""}></hemfixarna-${"elfa"}>`}copyExample(){navigator.clipboard.writeText(this.getExample());this.tooltipText="Snippet kopierad";setTimeout((()=>{this.tooltipText="Kopiera till urklipp"}),2e3)}copyCdn(){navigator.clipboard.writeText(this.cdnLink);this.tooltipText="Text kopierad";setTimeout((()=>{this.tooltipText="Kopiera till urklipp"}),2e3)}copyNpmInstall(){navigator.clipboard.writeText("npm i hemfixarna-web-components");this.tooltipText="Text kopierad";setTimeout((()=>{this.tooltipText="Kopiera till urklipp"}),2e3)}render(){const t=r(`./assets/copy.png`);return n("div",null,n("div",null,n("div",{onClick:()=>this.copyExample(),class:"hemfixarna_example"},n("p",null,this.getExample()),n("img",{src:t,height:20}),n("span",{class:"hemfixarna_example--tooltip"},this.tooltipText)),"elfa"===N.byggmax&&n("hemfixarna-byggmax",{buttonColor:this.buttonColor,buttonBg:this.buttonBg,widgetStyle:this.widgetStyle,forceOldTree:Boolean(process.env.FORCE_OLD_TREE),slug:this.selectedSlug,id:this.selectedID}),"elfa"===N.skanska&&n("hemfixarna-skanska",{buttonColor:this.buttonColor,buttonBg:this.buttonBg,widgetStyle:this.widgetStyle,id:this.selectedID}),"elfa"===N.string&&n("hemfixarna-string-furniture",{buttonColor:this.buttonColor,buttonBg:this.buttonBg,widgetStyle:this.widgetStyle,id:this.selectedID}),"elfa"===N.hornbach&&n("hemfixarna-hornbach",{buttonColor:this.buttonColor,buttonBg:this.buttonBg,widgetStyle:this.widgetStyle,id:this.selectedID}),"elfa"===N.forebygg&&n("hemfixarna-forebygg",{buttonColor:this.buttonColor,buttonBg:this.buttonBg,widgetStyle:this.widgetStyle,id:this.selectedID}),"elfa"===N.doro&&n("hemfixarna-doro",{buttonColor:this.buttonColor,buttonBg:this.buttonBg,widgetStyle:this.widgetStyle,id:this.selectedID}),"elfa"===N.elfa&&n("hemfixarna-elfa",{buttonColor:this.buttonColor,buttonBg:this.buttonBg,widgetStyle:this.widgetStyle,id:this.selectedID}),"elfa"===N.kund&&n("hemfixarna-kund",{buttonColor:this.buttonColor,buttonBg:this.buttonBg,widgetStyle:this.widgetStyle,id:this.selectedID}),n("div",{class:"hemfixarna_install"},n("div",{onClick:()=>this.copyCdn(),class:"hemfixarna_example"},n("p",null,this.cdnLink),n("span",{class:"hemfixarna_example--tooltip"},this.tooltipText),n("img",{src:t,height:20}))),n("div",{class:"hemfixarna_widgetstyles"},n("h5",null,"Widget styles"),n("div",null,Object.values(A).map((t=>n("label",{key:t},n("input",{type:"radio",value:t,checked:this.widgetStyle===t,onChange:()=>this.widgetStyle=t}),t)))),n("div",null,n("div",null,n("h5",null,"Button background color"),n("input",{type:"text",value:this.buttonBg,onInput:t=>this.buttonBg=t.target.value})),n("div",null,n("h5",null,"Button text color"),n("input",{type:"text",value:this.buttonColor,onInput:t=>this.buttonColor=t.target.value})))),n("span",null,"Write an hexa code no # needed"),this.colorAccessibility?n("div",null,n("h5",null,"Tillgänglighetsrapport"),n("div",null,n("strong",null,"Liten text:"),n("span",{style:{color:this.getColor(this.colorAccessibility.small)}},this.colorAccessibility.small),n("br",null),n("strong",null,"Fet text:"),n("span",{style:{color:this.getColor(this.colorAccessibility.bold)}},this.colorAccessibility.bold),n("br",null),n("strong",null,"Stor text:"),n("span",{style:{color:this.getColor(this.colorAccessibility.large)}},this.colorAccessibility.large),n("br",null),n("strong",null,"Kontrastförhållande:")," ",this.colorAccessibility.contrast)):null),n("ul",{class:"hemfixarna_categories"},this.customer?n("div",null,this.customer.categories.map((t=>n("li",null,n("div",{class:"hemfixarna_categories--label hemfixarna_categories--label--big"},n("div",null,n("p",null,t.name),n("span",null,`c-${t.id}`)),n("div",null,n("button",{onClick:()=>navigator.clipboard.writeText(`c-${t.id}`)},"Kopiera ID"),n("button",{onClick:()=>this.selectedID=`c-${t.id}`},"Ladda kategori"))),t.show_products&&t.products?n("ul",null,t.products.map((t=>n("li",null,n("div",{class:"hemfixarna_categories--label hemfixarna_product--label"},n("div",null,n("p",null,t.fields.post_title),n("span",null,t.fields.ID)),n("div",null,n("button",{onClick:()=>navigator.clipboard.writeText(String(t.fields.ID))},"Kopiera ID"),n("button",{onClick:()=>this.selectedID=String(t.fields.ID)},"Ladda produkt"))))))):n("ul",null,t.sub_categories&&t.sub_categories.map((t=>n("li",null,n("div",{class:"hemfixarna_categories--label"},n("div",null,n("p",null,t.name),n("span",null,`c-${t.id}`)),n("div",null,n("button",{onClick:()=>navigator.clipboard.writeText(`c-${t.id}`)},"Kopiera ID"),n("button",{onClick:()=>this.selectedID=`c-${t.id}`},"Ladda kategori"))),n("ul",null,t.products.map((t=>n("li",null,n("div",{class:"hemfixarna_categories--label hemfixarna_product--label"},n("div",null,n("p",null,t.fields.post_title),n("span",null,t.fields.ID)),n("div",null,n("button",{onClick:()=>navigator.clipboard.writeText(String(t.fields.ID))},"Kopiera ID"),n("button",{onClick:()=>this.selectedID=String(t.fields.ID)},"Ladda produkt"))))))))))))))):this.tree?n("div",null,this.tree.sub_cats.map((t=>n("li",null,n("div",{class:"hemfixarna_categories--label hemfixarna_categories--label--big"},n("div",null,n("p",null,t.name),n("span",null,`category/${t.slug}`)),n("div",null,n("button",{onClick:()=>navigator.clipboard.writeText(`category/${t.slug}`)},"Kopiera slug"),n("button",{onClick:()=>this.selectedSlug=`category/${t.slug}`},"Ladda kategori"))),n("ul",null,t.services.map((t=>n("li",null,n("div",{class:"hemfixarna_categories--label"},n("div",null,n("p",null,t.post_title),n("span",null,`service/${t.post_name}`)),n("div",null,n("button",{onClick:()=>navigator.clipboard.writeText(`service/${t.post_name}`)},"Kopiera slug"),n("button",{onClick:()=>this.selectedSlug=`service/${t.post_name}`},"Ladda kategori"))),n("ul",null,t.products.map((t=>n("li",null,n("div",{class:"hemfixarna_categories--label"},n("div",null,n("p",null,t.post_title),n("span",null,`product/${t.post_name}`)),n("div",null,n("button",{onClick:()=>navigator.clipboard.writeText(`product/${t.post_name}`)},"Kopiera slug"),n("button",{onClick:()=>this.selectedSlug=`product/${t.post_name}`},"Ladda kategori"))))))))))))))):null))}static get watchers(){return{buttonBg:["debouncedFunction"],buttonColor:["debouncedFunction"]}}};it.style=tt;const et="";const nt=class{constructor(t){e(this,t);this.id=undefined;this.loadFromQuery=false;this.widgetStyle=A.standard;this.buttonColor=undefined;this.buttonBg=undefined}render(){return n("hemfixarna-component",{widgetStyle:this.widgetStyle,buttonBg:this.buttonBg,buttonColor:this.buttonColor,loadFromQuery:this.loadFromQuery,id:this.id,business:N.doro})}};nt.style=et;const st="";const at=class{constructor(t){e(this,t);this.id=undefined;this.loadFromQuery=false;this.widgetStyle=A.standard;this.buttonColor=undefined;this.buttonBg=undefined}render(){return n("hemfixarna-component",{widgetStyle:this.widgetStyle,buttonBg:this.buttonBg,buttonColor:this.buttonColor,loadFromQuery:this.loadFromQuery,id:this.id,business:N.elfa})}};at.style=st;const rt="";const ot=class{constructor(t){e(this,t);this.id=undefined;this.loadFromQuery=false;this.widgetStyle=A.standard;this.buttonColor=undefined;this.buttonBg=undefined}render(){return n("hemfixarna-component",{widgetStyle:this.widgetStyle,buttonBg:this.buttonBg,buttonColor:this.buttonColor,loadFromQuery:this.loadFromQuery,id:this.id,business:N.forebygg})}};ot.style=rt;var lt=class extends Error{constructor(){super("Invalid swedish personal identity number")}};var ht=(t,i)=>{const e=t.getTime()-i.getTime();return e<0?-1:e>0?1:e};var ct=(t,i)=>{const e=ht(t,i);const n=Math.abs(t.getFullYear()-i.getFullYear());t.setFullYear(t.getFullYear()-e*n);const s=ht(t,i)===-e;const a=e*(n-+s);return a===0?0:a};var dt=t=>{let i=0;t+="";for(let e=0,n=t.length;e<n;e++){let n=parseInt(t[e]);n*=2-e%2;if(n>9){n-=9}i+=n}return Math.ceil(i/10)*10-i};var ut=(t,i,e)=>{i-=1;const n=new Date(t,i,e);return!(n.getFullYear()!==t||n.getMonth()!==i||n.getDate()!==e)};var pt=class{constructor(t,i){this._century="";this._fullYear="";this._year="";this._month="";this._day="";this._sep="";this._num="";this._check="";this.parse(t,{allowCoordinationNumber:true,allowInterimNumber:false,...i})}get century(){return this._century}get fullYear(){return this._fullYear}get year(){return this._year}get month(){return this._month}get day(){return this._day}get sep(){return this._sep}get num(){return this._num}get check(){return this._check}static parse(t,i){return new pt(t,i)}static valid(t,i){try{pt.parse(t,i);return true}catch(t){return false}}parse(t,i){if(t.length<10||t.length>13){throw new lt}const e=/^(\d{2}){0,1}(\d{2})(\d{2})(\d{2})([+-]?)((?!000)\d{3}|[TRSUWXJKLMN]\d{2})(\d)$/;const n=e.exec(t);if(!n){throw new lt}const s=n[1];const a=n[2];const r=n[3];const o=n[4];const l=n[5];const h=n[6];const c=n[7];if(typeof s==="undefined"||!s.length){const t=new Date;let i=0;if(l==="+"){this._sep="+";i=t.getFullYear()-100}else{this._sep="-";i=t.getFullYear()}this._century=(""+(i-(i-parseInt(a))%100)).substr(0,2)}else{this._century=s;if((new Date).getFullYear()-parseInt(s+a,10)<100){this._sep="-"}else{this._sep="+"}}this._year=a;this._fullYear=this._century+a;this._month=r;this._day=o;this._num=h;this._check=c;if(!this.valid()){throw new lt}if(!(i==null?void 0:i.allowCoordinationNumber)&&this.isCoordinationNumber()){throw new lt}if(!(i==null?void 0:i.allowInterimNumber)&&this.isInterimNumber()){throw new lt}}valid(){const t=dt(this.year+this.month+this.day+this.num.replace(/[TRSUWXJKLMN]/,"1"))===+this.check&&!!this.check;if(t&&ut(parseInt(this.century+this.year),+this.month,+this.day)){return t}return t&&ut(parseInt(this.century+this.year),+this.month,+this.day-60)}format(t=false){if(t){return`${this.century}${this.year}${this.month}${this.day}${this.num}${this.check}`}return`${this.year}${this.month}${this.day}${this.sep}${this.num}${this.check}`}getAge(){const t=this.getDate();return ct(new Date(Date.now()),t)}getDate(){let t=+this.day;if(this.isCoordinationNumber()){t-=60}const i=this.century+this.year+"-"+this.month+"-"+(t<10?"0"+t:t);return new Date(i)}isInterimNumber(){return/[TRSUWXJKLMN]/.test(this.num[0])}isCoordinationNumber(){return ut(parseInt(this.century+this.year),+this.month,+this.day-60)}isFemale(){return!this.isMale()}isMale(){const t=parseInt(this.num.substr(-1));return t%2===1}};var ft=pt;function mt(t,i,e){return e={path:i,exports:{},require:function(t,i){return xt()}},t(e,e.exports),e.exports}function xt(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var gt=mt((function(t,i){Object.defineProperty(i,"__esModule",{value:true});i.utf8=void 0;i.utf8={encode:e,decode:n};function e(t){t=t.replace(/\r\n/g,"\n");var i="";for(var e=0;e<t.length;e++){var n=t.charCodeAt(e);if(n<128){i+=String.fromCharCode(n)}else if(n>127&&n<2048){i+=String.fromCharCode(n>>6|192);i+=String.fromCharCode(n&63|128)}else{i+=String.fromCharCode(n>>12|224);i+=String.fromCharCode(n>>6&63|128);i+=String.fromCharCode(n&63|128)}}return i}function n(t){var i="";var e=0;var n=0;var s=0;var a=0;while(e<t.length){n=t.charCodeAt(e);if(n<128){i+=String.fromCharCode(n);e++}else if(n>191&&n<224){s=t.charCodeAt(e+1);i+=String.fromCharCode((n&31)<<6|s&63);e+=2}else{s=t.charCodeAt(e+1);a=t.charCodeAt(e+2);i+=String.fromCharCode((n&15)<<12|(s&63)<<6|a&63);e+=3}}return i}}));var bt=mt((function(t,i){Object.defineProperty(i,"__esModule",{value:true});i.generate=void 0;function e(t){var i=[];var e;var n;var a;var r;var o;var l;var m;var x;var g;var b=7;var v=12;var _=17;var y=22;var w=5;var k=9;var C=14;var $=20;var S=4;var T=11;var z=16;var j=23;var O=6;var I=10;var F=15;var D=21;var N=gt.utf8.encode(t);i=p(N);l=1732584193;m=4023233417;x=2562383102;g=271733878;for(e=0;e<i.length;e+=16){n=l;a=m;r=x;o=g;l=h(l,m,x,g,i[e+0],b,3614090360);g=h(g,l,m,x,i[e+1],v,3905402710);x=h(x,g,l,m,i[e+2],_,606105819);m=h(m,x,g,l,i[e+3],y,3250441966);l=h(l,m,x,g,i[e+4],b,4118548399);g=h(g,l,m,x,i[e+5],v,1200080426);x=h(x,g,l,m,i[e+6],_,2821735955);m=h(m,x,g,l,i[e+7],y,4249261313);l=h(l,m,x,g,i[e+8],b,1770035416);g=h(g,l,m,x,i[e+9],v,2336552879);x=h(x,g,l,m,i[e+10],_,4294925233);m=h(m,x,g,l,i[e+11],y,2304563134);l=h(l,m,x,g,i[e+12],b,1804603682);g=h(g,l,m,x,i[e+13],v,4254626195);x=h(x,g,l,m,i[e+14],_,2792965006);m=h(m,x,g,l,i[e+15],y,1236535329);l=c(l,m,x,g,i[e+1],w,4129170786);g=c(g,l,m,x,i[e+6],k,3225465664);x=c(x,g,l,m,i[e+11],C,643717713);m=c(m,x,g,l,i[e+0],$,3921069994);l=c(l,m,x,g,i[e+5],w,3593408605);g=c(g,l,m,x,i[e+10],k,38016083);x=c(x,g,l,m,i[e+15],C,3634488961);m=c(m,x,g,l,i[e+4],$,3889429448);l=c(l,m,x,g,i[e+9],w,568446438);g=c(g,l,m,x,i[e+14],k,3275163606);x=c(x,g,l,m,i[e+3],C,4107603335);m=c(m,x,g,l,i[e+8],$,1163531501);l=c(l,m,x,g,i[e+13],w,2850285829);g=c(g,l,m,x,i[e+2],k,4243563512);x=c(x,g,l,m,i[e+7],C,1735328473);m=c(m,x,g,l,i[e+12],$,2368359562);l=d(l,m,x,g,i[e+5],S,4294588738);g=d(g,l,m,x,i[e+8],T,2272392833);x=d(x,g,l,m,i[e+11],z,1839030562);m=d(m,x,g,l,i[e+14],j,4259657740);l=d(l,m,x,g,i[e+1],S,2763975236);g=d(g,l,m,x,i[e+4],T,1272893353);x=d(x,g,l,m,i[e+7],z,4139469664);m=d(m,x,g,l,i[e+10],j,3200236656);l=d(l,m,x,g,i[e+13],S,681279174);g=d(g,l,m,x,i[e+0],T,3936430074);x=d(x,g,l,m,i[e+3],z,3572445317);m=d(m,x,g,l,i[e+6],j,76029189);l=d(l,m,x,g,i[e+9],S,3654602809);g=d(g,l,m,x,i[e+12],T,3873151461);x=d(x,g,l,m,i[e+15],z,530742520);m=d(m,x,g,l,i[e+2],j,3299628645);l=u(l,m,x,g,i[e+0],O,4096336452);g=u(g,l,m,x,i[e+7],I,1126891415);x=u(x,g,l,m,i[e+14],F,2878612391);m=u(m,x,g,l,i[e+5],D,4237533241);l=u(l,m,x,g,i[e+12],O,1700485571);g=u(g,l,m,x,i[e+3],I,2399980690);x=u(x,g,l,m,i[e+10],F,4293915773);m=u(m,x,g,l,i[e+1],D,2240044497);l=u(l,m,x,g,i[e+8],O,1873313359);g=u(g,l,m,x,i[e+15],I,4264355552);x=u(x,g,l,m,i[e+6],F,2734768916);m=u(m,x,g,l,i[e+13],D,1309151649);l=u(l,m,x,g,i[e+4],O,4149444226);g=u(g,l,m,x,i[e+11],I,3174756917);x=u(x,g,l,m,i[e+2],F,718787259);m=u(m,x,g,l,i[e+9],D,3951481745);l=s(l,n);m=s(m,a);x=s(x,r);g=s(g,o)}return f(l)+f(m)+f(x)+f(g)}i.generate=e;function n(t,i){return t<<i|t>>>32-i}function s(t,i){var e;var n;var s;var a;var r;s=t&2147483648;a=i&2147483648;e=t&1073741824;n=i&1073741824;r=(t&1073741823)+(i&1073741823);if(e&n){return r^2147483648^s^a}if(e|n){if(r&1073741824){return r^3221225472^s^a}else{return r^1073741824^s^a}}else{return r^s^a}}function a(t,i,e){return t&i|~t&e}function r(t,i,e){return t&e|i&~e}function o(t,i,e){return t^i^e}function l(t,i,e){return i^(t|~e)}function h(t,i,e,r,o,l,h){t=s(t,s(s(a(i,e,r),o),h));return s(n(t,l),i)}function c(t,i,e,a,o,l,h){t=s(t,s(s(r(i,e,a),o),h));return s(n(t,l),i)}function d(t,i,e,a,r,l,h){t=s(t,s(s(o(i,e,a),r),h));return s(n(t,l),i)}function u(t,i,e,a,r,o,h){t=s(t,s(s(l(i,e,a),r),h));return s(n(t,o),i)}function p(t){var i;var e=t.length;var n=e+8;var s=(n-n%64)/64;var a=(s+1)*16;var r=Array(a-1);var o=0;var l=0;while(l<e){i=(l-l%4)/4;o=l%4*8;r[i]=r[i]|t.charCodeAt(l)<<o;l++}i=(l-l%4)/4;o=l%4*8;r[i]=r[i]|128<<o;r[a-2]=e<<3;r[a-1]=e>>>29;return r}function f(t){var i="";var e="";var n;var s;for(s=0;s<=3;s++){n=t>>>s*8&255;e="0"+n.toString(16);i=i+e.substr(e.length-2,2)}return i}}));var vt=mt((function(t,i){Object.defineProperty(i,"__esModule",{value:true});i.MD5=i.generate=void 0;var e=bt;Object.defineProperty(i,"generate",{enumerable:true,get:function(){return e.generate}});i.MD5={generate:bt.generate}}));const _t=async t=>{var i;const e=await fetch((i="https://hemfixare-lookup.vercel.app/api")!==null&&i!==void 0?i:"https://hemfixare-lookup.vercel.app/api",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:t,hash:vt.MD5.generate(String.fromCharCode(83,101,67,82,101,116)+t)})});const n=await e.json();return n};const yt=class{constructor(t){e(this,t);this.handleChangeEmail=t=>{this.emailError=null;this.email=t.target.value};this.handleChangePhone=t=>{this.phoneError=null;this.phone=t.target.value};this.handleChangessn=t=>{this.ssnError=null;this.ssn=t.target.value};this.handleSubmit=async t=>{t.preventDefault();const i=new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);const e=i.test(this.email);if(!e){this.emailError="Ange en giltig e-postadress"}const n=/^[\d\s()+-]{6,}$/.test(this.phone);if(!n){this.phoneError="Ange ett giltigt telefonnummer"}const s=ft.valid(this.ssn);if(!s){this.ssnError="Ange ett giltigt personnummer"}else if(s){const t=ft.parse(this.ssn).format(true);this.ssn=[t.slice(0,8),"-",t.slice(8)].join("")}if(e&&n&&s){try{const t=await _t(this.ssn);if(t){x.creditSafeUser=t;x.checkoutStep=2;x.user=Object.assign(Object.assign({},t),{email:this.email,phone:this.phone,ssn:this.ssn})}else{this.ssnError="Vi kunde tyvärr inte hitta en address med ditt angivna personnummer"}}catch(t){this.ssnError="Vi kunde tyvärr inte hitta en address med ditt angivna personnummer";console.log(t)}finally{const t=this.el.closest(".hemfixarna_content");v(t)}}};this.render=()=>n("form",{class:"mb-2",onSubmit:t=>this.handleSubmit(t)},n("div",null,n("input",{class:`${this.email.length?"input_active":""}`,onChange:t=>this.handleChangeEmail(t),type:"email",name:"email",value:this.email}),n("label",{htmlFor:"email"},"E-post ")),this.emailError&&n("span",null,this.emailError),n("div",null,n("input",{class:`${this.phone.length?"input_active":""}`,onChange:t=>this.handleChangePhone(t),type:"tel",name:"phone",value:this.phone}),n("label",{htmlFor:"phone"},"Mobiltelefon ")),this.phoneError&&n("span",null,this.phoneError),n("div",null,n("input",{class:`${this.ssn.length?"input_active":""}`,onChange:t=>this.handleChangessn(t),type:"tel",name:"ssn",value:this.ssn}),n("label",{htmlFor:"phone"},"Personnummer*")),this.ssnError&&n("span",null,this.ssnError),n("input",{type:"submit",value:"Fortsätt*"}),n("p",null,"*Vi hämtar din adress"));this.email="";this.emailError=null;this.phone="";this.phoneError=null;this.ssn="";this.ssnError=null}componentWillLoad(){if(x.user){this.email=x.user.email;this.phone=x.user.phone;this.ssn=x.user.ssn}}get el(){return s(this)}};const wt="";const kt=class{constructor(t){e(this,t);this.id=undefined;this.loadFromQuery=true;this.isDemo=false;this.widgetStyle=A.standard;this.buttonColor=undefined;this.buttonBg=undefined}render(){return n("hemfixarna-component",{widgetStyle:this.widgetStyle,buttonBg:this.buttonBg,buttonColor:this.buttonColor,nav:{url:"https://www.hornbach.se/",logo:"assets/hornbach/logo.svg",background:"./assets/hornbach/nav.jpg"},isDemo:this.isDemo,loadFromQuery:this.loadFromQuery,id:this.id,business:N.hornbach})}};kt.style=wt;const Ct=class{constructor(t){e(this,t);this.logo=r(`./assets/hemfixarna.svg`);this.checkoutList=[{trust_badge:"Efter att du fyllt i formuläret blir du kontaktad av en Hemfixare för bokning av tid."},{trust_badge:"När jobbet är klart kommer du få en faktura med RUT/ROT-avdrag."}];this.list=null}getList(){return this.list?this.list:this.checkoutList}render(){const t=r(`./assets/checked.svg`);return n("div",{class:"hemfixarna_info"},x.step<5?n(a,null,n("h2",null,"Vilka är Hemfixarna?"),n("p",null,"Vi fixar allt från krångliga datorer till montering av möbler. Vi finns i hela Sverige och är alltid redo att rycka ut.")):n("h2",null,"Vad händer nu?"),n("ul",{class:"hemfixarna_features"},this.getList().map((i=>n("li",{key:i.trust_badge},n("img",{src:t,alt:"checked"}),n("p",null,i.trust_badge))))),n("img",{src:this.logo,width:200,alt:"hemfixarna"}),n("a",{class:"hemfixarna_product--link",target:"_blank",href:x.options.link.url},x.options.link.title))}};const $t=':host .invoice{gap:16px;display:grid}:host .invoice form>span{text-align:center;padding:16px 0}:host .invoice img{right:unset;left:unset;position:initial;transform:none}:host .invoice label{cursor:pointer;font-size:14px;display:flex;align-items:flex-start;padding:16px 0}:host .invoice label input{margin:0 5px 0 0;accent-color:#ea662c}:host .invoice-preview{display:flex;gap:4px}:host .invoice-preview div{position:relative}:host .invoice-preview div button{position:absolute;top:0;right:0;padding:0}:host .invoice-preview div button img{width:24px;height:24px}:host .invoice-preview div>img{width:100px;height:80px;object-fit:cover}:host .invoice input[type=email],:host .invoice input[type=tel],:host .invoice textarea{padding:16px;border:1px solid #fcd9c9;font-size:16px}:host .invoice textarea{resize:none;height:200px;font-family:"Inter", sans-serif}:host .invoice div:has(>input[type=file]){display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;border:1px solid #fcd9c9;padding:32px 16px;gap:16px}:host .invoice div:has(>input[type=file]) span{color:#000;font-size:12px}:host .invoice input[type=file]{display:none}';const St=`${"https://hemfixarna.se"}/wp-json/headless`;const Tt=class{constructor(t){e(this,t);this.formError=null;this.displayImages=[];this.formImages=[];this.formState="initial"}isValidEmail(t){const i=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;return i.test(t)}componentDidRender(){const t=this.el.querySelector("form");if(t){t.addEventListener("input",(()=>{this.formError=null}))}}disconnectedCallback(){const t=this.el.querySelector("form");if(t){t.removeEventListener("input",(()=>{this.formError=null}))}}async submit(t){var i;t.preventDefault();this.formState="loading";this.formError=null;const e=t.currentTarget.elements;const n={description:e.descriptionInput.value.length?e.descriptionInput.value:null,email:e.emailInput.value.length?e.emailInput.value:null,tel:e.telInput.value.length?e.telInput.value:null,terms:(i=e.termsInput)===null||i===void 0?void 0:i.checked};if(!n.description){this.formError="Vänligen fyll i formulärtexten";this.formState="initial";return}if(!n.email||!this.isValidEmail(n.email)){this.formError="Vänligen ange en giltig e-postadress";this.formState="initial";return}if(!n.tel){this.formError="Vänligen ange ditt telefonnummer";this.formState="initial";return}if(x.selectedProduct.terms_show_checkbox&&!n.terms){this.formError="Vänligen acceptera villkoren";this.formState="initial";return}const s=new FormData;s.append("text",n.description);s.append("email",n.email);s.append("tel",n.tel);s.append("customer",x.business);this.formImages.forEach((t=>{s.append("images[]",t)}));s.append("product",JSON.stringify({title:x.selectedProduct.post_title,amount:1,has_rut:x.selectedProduct.rut,has_rot:x.selectedProduct.rot,ID:x.selectedProduct.ID,parts:[]}));try{const t=await fetch(`${St}/saveinvoiceproduct`,{method:"POST",body:s});const{response:i}=await t.json();if(i.code===200){x.checkoutInvoice=true;x.step=6}else{this.formError="Vi kan inte ta emot din beställning just nu";this.formState="initial"}}catch(t){this.formError="Vi kan inte ta emot din beställning just nu";this.formState="initial"}}handleImageDrop(t){t.preventDefault();const i=t.dataTransfer.files;for(let t=0;t<i.length;t++){const e=i[t];if(e.type.startsWith("image/")){const t=new FileReader;t.onload=()=>{this.displayImages=[...this.displayImages,t.result];this.formImages=[...this.formImages,e]};t.readAsDataURL(e)}}}handleFileInputChange(t){t.preventDefault();const i=t.target.files;for(let t=0;t<i.length;t++){const e=i[t];if(e.type.startsWith("image/")){const t=new FileReader;t.onload=()=>{this.displayImages=[...this.displayImages,t.result];this.formImages=[...this.formImages,e]};t.readAsDataURL(e)}}}handleImageClick(){this.el.querySelector(".hemfixarna-file-upload").click()}preventDragOver(t){t.preventDefault()}removeImage(t){this.displayImages=this.displayImages.filter(((i,e)=>e!==t));this.formImages=this.formImages.filter(((i,e)=>e!==t))}render(){const t=r(`./assets/drag-drop.svg`);return n("div",{class:"invoice"},n("p",null,x.selectedProduct.invoice_description),n("form",{onSubmit:t=>this.submit(t)},n("textarea",{name:"descriptionInput",placeholder:"Beskriv ditt ärende"}),n("div",{role:"button","aria-label":"upload image",onDragOver:t=>this.preventDragOver(t),onDrop:t=>this.handleImageDrop(t),onClick:()=>this.handleImageClick()},n("img",{src:t,alt:"hemfixarna_logo",width:24}),n("div",null,n("p",null,"Bifoga ev bilder"),n("span",null,"(dra bilder hit)")),n("input",{onChange:t=>this.handleFileInputChange(t),class:"hemfixarna-file-upload",accept:"image/*",type:"file",multiple:true,name:"fileInput"})),n("div",{class:"invoice-preview"},this.displayImages.map(((t,i)=>n("div",{key:i},n("img",{src:t,alt:"uploaded image"}),n("button",{onClick:()=>this.removeImage(i)},n("img",{src:r(`./assets/close.svg`),alt:"close"})))))),n("input",{placeholder:"E-post",type:"email",name:"emailInput"}),n("input",{placeholder:"Telefonnummer",type:"tel",name:"telInput"}),x.selectedProduct.terms_show_checkbox?n("label",null,n("input",{type:"checkbox",name:"termsInput"}),x.selectedProduct.terms):null,this.formError?n("span",null,this.formError):null,n("input",{type:"submit",value:this.formState==="loading"?"Skickar":"Kontakta mig"})))}get el(){return s(this)}};Tt.style=$t;const zt=class{constructor(t){e(this,t);this.id=undefined;this.loadFromQuery=false;this.widgetStyle=A.standard;this.buttonColor=undefined;this.buttonBg=undefined}render(){return n("hemfixarna-component",{widgetStyle:this.widgetStyle,buttonBg:this.buttonBg,buttonColor:this.buttonColor,loadFromQuery:this.loadFromQuery,id:this.id,business:N.kund})}};const jt=class{constructor(t){e(this,t);this.render=()=>n("div",{style:{background:`url(${x.options.thank_you_image})`},class:"hemfixarna_order"},n("div",null),n("div",null,n("h2",null,x.checkoutInvoice?"Tack för din förfrågan":"Tack för din bokning"),x.checkoutInvoice?n("p",null,"Vi återkommer inom kort till dig på angivet telefonnummer eller epost"):null,x.checkoutInvoice?n("div",null):n("hemfixarna-orderrows",{tree:this.tree,cart:false}),n("span",{onClick:()=>this.resetShop()},n("button",null,"Gör en ny bokning")),n("hemfixarna-info",{list:[{trust_badge:"Du kommer bli kontaktad av en Hemfixare för bokning av tid."},{trust_badge:"När jobbet är klart kommer du få en faktura med RUT/ROT-avdrag."}]})));this.tree=undefined}resetShop(){x.step=1;x.cart=[];x.selectedCategory=null;x.selectedService=null;x.selectedProduct=null;x.checkoutStep=1}disconnectedCallback(){this.resetShop()}};const Ot=class{constructor(t){e(this,t);this.cart=true;this.tree=undefined}goToProduct(t){if(x.customer){const i=x.customer.categories.map((t=>t.show_products?t.products:t.sub_categories?t.sub_categories.map((t=>t.products)):[])).flat().flat();const e=i.find((i=>i&&i.fields.ID===t));if(e){x.selectedProduct=e.fields;x.step=4}}else{const i=this.tree.sub_cats.map((t=>t.services)).flat();const e=i.map((t=>t.products)).flat();const n=e.find((i=>i.ID===t));const s=i.find((i=>i.products.find((i=>i.ID===t))));const a=this.tree.sub_cats.find((i=>i.services.find((i=>i.products.find((i=>i.ID===t))))));x.selectedCategory=a;x.selectedService=s;x.selectedProduct=n;x.step=4}}openRot(){x.modal={title:x.rotOptions.rot_start_fee_heading,text:[x.rotOptions.rot_start_fee_text,x.rotOptions.rot_start_fee_text_secondary]}}openRut(){x.modal={title:x.rutOptions.rut_start_fee_heading,text:[x.rutOptions.rut_start_fee_text,x.rutOptions.rut_start_fee_text_secondary]}}render(){const t=r(`./assets/info.svg`);return n(a,null,n("ul",{class:"hemfixarna_cart--items"},x.cart.map((t=>{var i;return n("li",{class:"hemfixarna_cart--item"},n("div",null,n("div",null,t.icon&&n("img",{width:30,src:(i=t.icon.url)!==null&&i!==void 0?i:t.icon,alt:t.name}),n("p",null,n("strong",null,t.amount,"x "),t.name)),this.cart&&n("button",{onClick:()=>this.goToProduct(t.id)},"Ändra")),n("p",null,n("strong",null,k(t,t.price,t.amount),"kr")),t.parts.length>0&&n("ul",null,t.parts.map((i=>n("li",null,n("p",null,n("strong",null,i.amount,"x "),i.name),n("p",null,n("strong",null,$(i,t,i.amount),"kr")))))))}))),n("div",{class:"hemfixarna_cart--additional"},S().rot>0&&n("div",{class:"hemfixarna_cart--startfee"},n("p",null,n("strong",{onClick:()=>this.openRot()},x.rotOptions.rot_start_fee_heading,n("img",{height:16,src:t,alt:"info monteringsavgift"}))),n("p",null,S().rot,"kr")),S().rut>0&&n("div",{class:"hemfixarna_cart--startfee"},n("p",null,n("strong",{onClick:()=>this.openRut()},x.rutOptions.rut_start_fee_heading,n("img",{height:16,src:t,alt:"info monteringsavgift"}))),n("p",null,S().rut,"kr")),x.cart.find((t=>t.rot))&&n("div",{class:"hemfixarna_cart--rutrot"},n("div",null,this.cart&&n("label",{class:"switch"},n("input",{checked:x.rot,onChange:()=>x.rot=!x.rot,type:"checkbox"}),n("span",{class:"slider"})),n("p",null,"ROT-avdrag")),n("p",null,"(-",x.rot?z():0,"kr)")),x.cart.find((t=>t.rut))&&n("div",{class:"hemfixarna_cart--rutrot"},n("div",null,n("label",{class:"switch"},n("input",{onChange:()=>x.rut=!x.rut,checked:x.rut,type:"checkbox"}),n("span",{class:"slider"})),n("p",null,"RUT-avdrag")),n("p",null,"(-",x.rut?j():0,"kr)"))),n("div",{class:"hemfixarna_cart--price"},n("h2",null,"Totalbelopp: "),n("h2",null,O(),"kr")))}};const It=class{constructor(t){e(this,t);this.amount=0;this.hideDescription=true}addProduct(){const t=x.cart.find((t=>t.id===x.selectedProduct.ID));if(t){t.amount++;x.cart=[...x.cart]}else{x.cart=[...x.cart,{id:x.selectedProduct.ID,rut:x.selectedProduct.rut,rot:x.selectedProduct.rot,amount:1,parts:[],price:x.selectedProduct.price,name:x.selectedProduct.post_title,start_fee:!x.selectedProduct.hide_start_fee,terms_checkout:x.selectedProduct.terms_checkout,icon:x.selectedProduct.icon}]}}removeProduct(){const t=x.cart.find((t=>t.id===x.selectedProduct.ID));if(t&&t.amount>1){t.amount--;x.cart=[...x.cart]}else{x.cart=x.cart.filter((t=>t.id!==x.selectedProduct.ID))}}addPart(t){var i;const e=x.cart.find((t=>t.id===x.selectedProduct.ID));if(e){const n=e.parts.find((i=>i.id===t.ID));if(n){n.amount++;e.parts=[...e.parts]}else{e.parts=[...e.parts,{id:t.ID,amount:1,price:t.price,name:(i=t.title)!==null&&i!==void 0?i:t.post_title}]}x.cart=[...x.cart.filter((t=>t.id!==e.id)),e]}}removePart(t){const i=x.cart.find((t=>t.id===x.selectedProduct.ID));if(i){const e=i.parts.find((i=>i.id===t.ID));if(e&&e.amount>1){e.amount--;i.parts=[...i.parts]}else{i.parts=i.parts.filter((i=>i.id!==t.ID))}x.cart=[...x.cart.filter((t=>t.id!==i.id)),i]}}goToCart(){const t=x.cart.find((t=>t.id===x.selectedProduct.ID));if(t){x.step=5;const t=this.el.closest(".hemfixarna_content");v(t)}}getAmount(){var t;return((t=x.cart.find((t=>t.id===x.selectedProduct.ID)))===null||t===void 0?void 0:t.amount)||0}getPartAmount(t){var i;const e=x.cart.find((t=>t.id===x.selectedProduct.ID));return((i=e===null||e===void 0?void 0:e.parts.find((i=>i.id===t)))===null||i===void 0?void 0:i.amount)||0}getTotalPrice(){let t=0;const i=x.cart.find((t=>t.id===x.selectedProduct.ID));if(i){const e=i.parts.reduce(((t,i)=>{const e=x.selectedProduct.parts.find((t=>t.ID===i.id));if(e){return t+e.price*i.amount}return t}),0);t=x.selectedProduct.price*i.amount+e}else{t=x.selectedProduct.price}return k(x.selectedProduct,t)}render(){var t,i,e;const s=r(`./assets/checked.svg`);const o=r(`./assets/plus.svg`);const l=r(`./assets/minus.svg`);return n("div",{class:"hemfixarna_product"},n("div",{class:"hemfixarna_product--top"},x.selectedProduct.icon&&n("img",{width:80,src:(t=x.selectedProduct.icon.url)!==null&&t!==void 0?t:x.selectedProduct.icon,alt:x.selectedProduct.post_title}),n("div",null,n("h1",null,x.selectedProduct.post_title),!x.selectedProduct.invoice?n("h2",null,k(x.selectedProduct)," kr/st"):n("h2",null,x.selectedProduct.invoice_price))),n("div",{class:"hemfixarna_product--grid"},n("div",{class:"hemfixarna_product--left"},((i=x.selectedProduct.list)===null||i===void 0?void 0:i.length)&&n("ul",{class:"hemfixarna_features"},x.selectedProduct.list.map((t=>n("li",{key:t.bullet},n("img",{src:s,alt:"checked"}),n("p",null,t.bullet))))),x.selectedProduct.description&&n("p",{onClick:()=>this.hideDescription=false,class:`hemfixarna_description ${this.hideDescription?"hemfixarna_description--hidden":""}`,innerHTML:x.selectedProduct.description})),n("div",{class:"hemfixarna_product--right"},x.selectedProduct.invoice?n("hemfixarna-invoice",null):n(a,null,n("ul",null,n("li",{class:"hemfixarna_product--item"},n("div",null,n("p",null,"Antal ",x.selectedProduct.post_title),n("p",{class:"hemfixarna_product--price"},k(x.selectedProduct),"kr/st")),n("div",{class:"hemfixarna_counter"},n("img",{class:`${this.getAmount()===0?"disabled":""}`,src:l,onClick:()=>this.removeProduct()}),n("span",null,this.getAmount()),n("img",{src:o,onClick:()=>this.addProduct()}))),((e=x.selectedProduct.parts)===null||e===void 0?void 0:e.length)&&x.selectedProduct.parts.map((t=>{var i;return n("li",{class:"hemfixarna_part"},n("div",null,n("p",null,(i=t.title)!==null&&i!==void 0?i:t.post_title),n("p",{class:"hemfixarna_product--price"},$(t,x.selectedProduct),"kr/st")),n("div",{class:"hemfixarna_counter"},n("img",{class:`${this.getPartAmount(t.ID)===0?"disabled":""}`,src:l,onClick:()=>this.removePart(t)}),n("span",null,this.getPartAmount(t.ID)),n("img",{class:`${this.getAmount()===0?"disabled":""}`,src:o,onClick:()=>this.addPart(t)})))}))),n("h4",{class:"hemfixarna_product--total"},"Totalt ",this.getTotalPrice()," kr"),n("button",{onClick:()=>this.goToCart(),class:`hemfixarna_buy ${this.getAmount()===0?"disabled":""}`},"Fortsätt")),!x.selectedProduct.hide_start_fee&&(x.selectedProduct.rot||x.selectedProduct.rut)&&x.rutOptions&&x.rotOptions&&n("p",{class:"hemfixarna_terms"},n("strong",null,x.selectedProduct.rot?x.rotOptions.rot_start_fee_heading:x.rutOptions.rut_start_fee_heading),n("br",null),n("span",{innerHTML:x.selectedProduct.rot?x.rotOptions.rot_start_fee_text:x.rutOptions.rut_start_fee_text})),x.options&&n("hemfixarna-info",{list:x.options.trust}))))}get el(){return s(this)}};const Ft=class{constructor(t){e(this,t)}render(){return n("div",null,n("h2",null,x.selectedService.post_title),n("div",{class:"hemfixarna_categories--wrapper"},n("div",null,n("ul",{class:"hemfixarna_categories"},x.selectedService.products.sort(((t,i)=>t.post_title<i.post_title?-1:1)).map((t=>{var i;return n("hemfixarna-box",{post:t,icon:(i=t.icon.url)!==null&&i!==void 0?i:t.icon,postTitle:t.title})})))),n("hemfixarna-info",{list:x.options.trust})))}};const Dt="";const Nt=class{constructor(t){e(this,t);this.id=undefined;this.customer=undefined;this.loadFromQuery=false;this.widgetStyle=A.standard;this.buttonColor=undefined;this.buttonBg=undefined}render(){return n("hemfixarna-component",{widgetStyle:this.widgetStyle,buttonBg:this.buttonBg,buttonColor:this.buttonColor,loadFromQuery:this.loadFromQuery,id:this.id,business:N.skanska})}};Nt.style=Dt;const At=class{constructor(t){e(this,t);this.tree=undefined;this.slug=undefined}isMainCategory(t){return t.show_products!==undefined}render(){return x.customer?n("div",null,n("h2",null,x.selectedCustomerCategory?x.selectedCustomerCategory.name:"Alla tjänster"),n("div",{class:"hemfixarna_categories--wrapper"},n("ul",{class:"hemfixarna_categories"},x.selectedCustomerCategory?this.isMainCategory(x.selectedCustomerCategory)&&x.selectedCustomerCategory.sub_categories&&!x.selectedCustomerCategory.show_products?x.selectedCustomerCategory.sub_categories.map((t=>n("hemfixarna-box",{category:t}))):x.selectedCustomerCategory.products?x.selectedCustomerCategory.products.map((t=>n("hemfixarna-box",{category:t.fields}))):null:x.customer.categories.map((t=>n("hemfixarna-box",{category:t})))),n("hemfixarna-info",{list:x.options.trust}))):n("div",null,n("h2",null,"Alla tjänster"),n("div",{class:"hemfixarna_categories--wrapper"},n("ul",{class:"hemfixarna_categories"},this.tree.sub_cats.sort(((t,i)=>t.name<i.name?-1:1)).map((t=>{var i;return n("hemfixarna-box",{post:t,icon:(i=t.icon.url)!==null&&i!==void 0?i:t.icon,postTitle:t.name})}))),n("hemfixarna-info",{list:x.options.trust})))}};const Bt="";const Lt=class{constructor(t){e(this,t);this.id=undefined;this.loadFromQuery=false;this.widgetStyle=A.standard;this.buttonColor=undefined;this.buttonBg=undefined}render(){return n("hemfixarna-component",{widgetStyle:this.widgetStyle,buttonBg:this.buttonBg,buttonColor:this.buttonColor,loadFromQuery:this.loadFromQuery,id:this.id,business:N.string})}};Lt.style=Bt;export{_ as hemfixarna_address,F as hemfixarna_box,D as hemfixarna_breadcrumbs,P as hemfixarna_byggmax,M as hemfixarna_cart,K as hemfixarna_category,q as hemfixarna_checkout,Z as hemfixarna_component,it as hemfixarna_demo,nt as hemfixarna_doro,at as hemfixarna_elfa,ot as hemfixarna_forebygg,yt as hemfixarna_getuser,kt as hemfixarna_hornbach,Ct as hemfixarna_info,Tt as hemfixarna_invoice,zt as hemfixarna_kund,jt as hemfixarna_order,Ot as hemfixarna_orderrows,It as hemfixarna_product,Ft as hemfixarna_service,Nt as hemfixarna_skanska,At as hemfixarna_start,Lt as hemfixarna_string_furniture};
|
2
|
+
//# sourceMappingURL=p-e1950643.entry.js.map
|
@@ -19,7 +19,7 @@ export declare class MyComponent {
|
|
19
19
|
private debounce?;
|
20
20
|
debouncedFunction(): void;
|
21
21
|
checkColorAccessibility(): Promise<void>;
|
22
|
-
getTopLevelCategory():
|
22
|
+
getTopLevelCategory(): TopCategory.byggmax | "";
|
23
23
|
getColor(rating: string): "green" | "orange" | "yellow" | "red" | "black";
|
24
24
|
componentWillLoad(): Promise<void>;
|
25
25
|
getExample(): string;
|
@@ -65,6 +65,13 @@ export namespace Components {
|
|
65
65
|
"loadFromQuery"?: boolean;
|
66
66
|
"widgetStyle"?: WidgetStyle;
|
67
67
|
}
|
68
|
+
interface HemfixarnaElfa {
|
69
|
+
"buttonBg"?: string;
|
70
|
+
"buttonColor"?: string;
|
71
|
+
"id"?: string;
|
72
|
+
"loadFromQuery"?: boolean;
|
73
|
+
"widgetStyle"?: WidgetStyle;
|
74
|
+
}
|
68
75
|
interface HemfixarnaForebygg {
|
69
76
|
"buttonBg"?: string;
|
70
77
|
"buttonColor"?: string;
|
@@ -186,6 +193,12 @@ declare global {
|
|
186
193
|
prototype: HTMLHemfixarnaDoroElement;
|
187
194
|
new (): HTMLHemfixarnaDoroElement;
|
188
195
|
};
|
196
|
+
interface HTMLHemfixarnaElfaElement extends Components.HemfixarnaElfa, HTMLStencilElement {
|
197
|
+
}
|
198
|
+
var HTMLHemfixarnaElfaElement: {
|
199
|
+
prototype: HTMLHemfixarnaElfaElement;
|
200
|
+
new (): HTMLHemfixarnaElfaElement;
|
201
|
+
};
|
189
202
|
interface HTMLHemfixarnaForebyggElement extends Components.HemfixarnaForebygg, HTMLStencilElement {
|
190
203
|
}
|
191
204
|
var HTMLHemfixarnaForebyggElement: {
|
@@ -275,6 +288,7 @@ declare global {
|
|
275
288
|
"hemfixarna-component": HTMLHemfixarnaComponentElement;
|
276
289
|
"hemfixarna-demo": HTMLHemfixarnaDemoElement;
|
277
290
|
"hemfixarna-doro": HTMLHemfixarnaDoroElement;
|
291
|
+
"hemfixarna-elfa": HTMLHemfixarnaElfaElement;
|
278
292
|
"hemfixarna-forebygg": HTMLHemfixarnaForebyggElement;
|
279
293
|
"hemfixarna-getuser": HTMLHemfixarnaGetuserElement;
|
280
294
|
"hemfixarna-hornbach": HTMLHemfixarnaHornbachElement;
|
@@ -348,6 +362,13 @@ declare namespace LocalJSX {
|
|
348
362
|
"loadFromQuery"?: boolean;
|
349
363
|
"widgetStyle"?: WidgetStyle;
|
350
364
|
}
|
365
|
+
interface HemfixarnaElfa {
|
366
|
+
"buttonBg"?: string;
|
367
|
+
"buttonColor"?: string;
|
368
|
+
"id"?: string;
|
369
|
+
"loadFromQuery"?: boolean;
|
370
|
+
"widgetStyle"?: WidgetStyle;
|
371
|
+
}
|
351
372
|
interface HemfixarnaForebygg {
|
352
373
|
"buttonBg"?: string;
|
353
374
|
"buttonColor"?: string;
|
@@ -418,6 +439,7 @@ declare namespace LocalJSX {
|
|
418
439
|
"hemfixarna-component": HemfixarnaComponent;
|
419
440
|
"hemfixarna-demo": HemfixarnaDemo;
|
420
441
|
"hemfixarna-doro": HemfixarnaDoro;
|
442
|
+
"hemfixarna-elfa": HemfixarnaElfa;
|
421
443
|
"hemfixarna-forebygg": HemfixarnaForebygg;
|
422
444
|
"hemfixarna-getuser": HemfixarnaGetuser;
|
423
445
|
"hemfixarna-hornbach": HemfixarnaHornbach;
|
@@ -447,6 +469,7 @@ declare module "@stencil/core" {
|
|
447
469
|
"hemfixarna-component": LocalJSX.HemfixarnaComponent & JSXBase.HTMLAttributes<HTMLHemfixarnaComponentElement>;
|
448
470
|
"hemfixarna-demo": LocalJSX.HemfixarnaDemo & JSXBase.HTMLAttributes<HTMLHemfixarnaDemoElement>;
|
449
471
|
"hemfixarna-doro": LocalJSX.HemfixarnaDoro & JSXBase.HTMLAttributes<HTMLHemfixarnaDoroElement>;
|
472
|
+
"hemfixarna-elfa": LocalJSX.HemfixarnaElfa & JSXBase.HTMLAttributes<HTMLHemfixarnaElfaElement>;
|
450
473
|
"hemfixarna-forebygg": LocalJSX.HemfixarnaForebygg & JSXBase.HTMLAttributes<HTMLHemfixarnaForebyggElement>;
|
451
474
|
"hemfixarna-getuser": LocalJSX.HemfixarnaGetuser & JSXBase.HTMLAttributes<HTMLHemfixarnaGetuserElement>;
|
452
475
|
"hemfixarna-hornbach": LocalJSX.HemfixarnaHornbach & JSXBase.HTMLAttributes<HTMLHemfixarnaHornbachElement>;
|
package/package.json
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"hemfixarna-byggmax.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-byggmax/hemfixarna-byggmax.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAY,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO3E,MAAM,OAAO,WAAW;;gBACY,IAAI;;;wBAGL,KAAK;yBACJ,KAAK;;uBAEH,WAAW,CAAC,QAAQ;;;;EAIxD,MAAM;IACJ,OAAO,CACL,4BACE,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAC1B,WAAW,EAAE,WAAW,CAAC,OAAO,EAChC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,GACP,CACzB,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, State, h } from '@stencil/core';\nimport { Business, Category, TopCategory, WidgetStyle } from '../../types';\n\n@Component({\n tag: 'hemfixarna-byggmax',\n styleUrl: 'hemfixarna-byggmax.scss',\n shadow: true,\n})\nexport class MyComponent {\n @State() tree?: Category | null = null;\n @Prop() slug?: string;\n @Prop() id?: string;\n @Prop() forceOldTree?: boolean = false;\n @Prop() loadFromQuery?: boolean = false;\n @Prop() customer?: string;\n @Prop() widgetStyle?: WidgetStyle = WidgetStyle.standard;\n @Prop() buttonColor?: string;\n @Prop() buttonBg?: string;\n\n render() {\n return (\n <hemfixarna-component\n forceOldTree={this.forceOldTree}\n id={this.id}\n slug={this.slug}\n business={Business.byggmax}\n topCategory={TopCategory.byggmax}\n loadFromQuery={this.loadFromQuery}\n widgetStyle={this.widgetStyle}\n buttonBg={this.buttonBg}\n buttonColor={this.buttonColor}\n ></hemfixarna-component>\n );\n }\n}\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"hemfixarna-doro.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-doro/hemfixarna-doro.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAOpD,MAAM,OAAO,WAAW;;;yBAEY,KAAK;uBACH,WAAW,CAAC,QAAQ;;;;EAIxD,MAAM;IACJ,OAAO,CACL,4BACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,QAAQ,EAAE,QAAQ,CAAC,IAAI,GACD,CACzB,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business, WidgetStyle } from '../../types';\n\n@Component({\n tag: 'hemfixarna-doro',\n styleUrl: 'hemfixarna-doro.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() loadFromQuery?: boolean = false;\n @Prop() widgetStyle?: WidgetStyle = WidgetStyle.standard;\n @Prop() buttonColor?: string;\n @Prop() buttonBg?: string;\n\n render() {\n return (\n <hemfixarna-component\n widgetStyle={this.widgetStyle}\n buttonBg={this.buttonBg}\n buttonColor={this.buttonColor}\n loadFromQuery={this.loadFromQuery}\n id={this.id}\n business={Business.doro}\n ></hemfixarna-component>\n );\n }\n}\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"hemfixarna-forebygg.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-forebygg/hemfixarna-forebygg.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAOpD,MAAM,OAAO,WAAW;;;yBAEY,KAAK;uBACH,WAAW,CAAC,QAAQ;;;;EAIxD,MAAM;IACJ,OAAO,CACL,4BACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GACL,CACzB,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business, WidgetStyle } from '../../types';\n\n@Component({\n tag: 'hemfixarna-forebygg',\n styleUrl: 'hemfixarna-forebygg.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() loadFromQuery?: boolean = false;\n @Prop() widgetStyle?: WidgetStyle = WidgetStyle.standard;\n @Prop() buttonColor?: string;\n @Prop() buttonBg?: string;\n\n render() {\n return (\n <hemfixarna-component\n widgetStyle={this.widgetStyle}\n buttonBg={this.buttonBg}\n buttonColor={this.buttonColor}\n loadFromQuery={this.loadFromQuery}\n id={this.id}\n business={Business.forebygg}\n ></hemfixarna-component>\n );\n }\n}\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"hemfixarna-hornbach.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-hornbach/hemfixarna-hornbach.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAOpD,MAAM,OAAO,WAAW;;;yBAEY,IAAI;kBACX,KAAK;uBACI,WAAW,CAAC,QAAQ;;;;EAIxD,MAAM;IACJ,OAAO,CACL,4BACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,GAAG,EAAE,EAAE,GAAG,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,2BAA2B,EAAE,EACnH,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GACL,CACzB,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business, WidgetStyle } from '../../types';\n\n@Component({\n tag: 'hemfixarna-hornbach',\n styleUrl: 'hemfixarna-hornbach.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() loadFromQuery?: boolean = true;\n @Prop() isDemo?: boolean = false;\n @Prop() widgetStyle?: WidgetStyle = WidgetStyle.standard;\n @Prop() buttonColor?: string;\n @Prop() buttonBg?: string;\n\n render() {\n return (\n <hemfixarna-component\n widgetStyle={this.widgetStyle}\n buttonBg={this.buttonBg}\n buttonColor={this.buttonColor}\n nav={{ url: 'https://www.hornbach.se/', logo: 'assets/hornbach/logo.svg', background: './assets/hornbach/nav.jpg' }}\n isDemo={this.isDemo}\n loadFromQuery={this.loadFromQuery}\n id={this.id}\n business={Business.hornbach}\n ></hemfixarna-component>\n );\n }\n}\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"hemfixarna-kund.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-kund/hemfixarna-kund.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAMpD,MAAM,OAAO,WAAW;;;yBAEY,KAAK;uBACH,WAAW,CAAC,QAAQ;;;;EAIxD,MAAM;IACJ,OAAO,CACL,4BACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,QAAQ,EAAE,QAAQ,CAAC,IAAI,GACD,CACzB,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business, WidgetStyle } from '../../types';\n\n@Component({\n tag: 'hemfixarna-kund',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() loadFromQuery?: boolean = false;\n @Prop() widgetStyle?: WidgetStyle = WidgetStyle.standard;\n @Prop() buttonColor?: string;\n @Prop() buttonBg?: string;\n\n render() {\n return (\n <hemfixarna-component\n widgetStyle={this.widgetStyle}\n buttonBg={this.buttonBg}\n buttonColor={this.buttonColor}\n loadFromQuery={this.loadFromQuery}\n id={this.id}\n business={Business.kund}\n ></hemfixarna-component>\n );\n }\n}\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"hemfixarna-skanska.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-skanska/hemfixarna-skanska.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAOpD,MAAM,OAAO,WAAW;;;;yBAGY,KAAK;uBACH,WAAW,CAAC,QAAQ;;;;EAIxD,MAAM;IACJ,OAAO,CACL,4BACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,QAAQ,EAAE,QAAQ,CAAC,OAAO,GACJ,CACzB,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business, WidgetStyle } from '../../types';\n\n@Component({\n tag: 'hemfixarna-skanska',\n styleUrl: 'hemfixarna-skanska.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() customer?: string;\n @Prop() loadFromQuery?: boolean = false;\n @Prop() widgetStyle?: WidgetStyle = WidgetStyle.standard;\n @Prop() buttonColor?: string;\n @Prop() buttonBg?: string;\n\n render() {\n return (\n <hemfixarna-component\n widgetStyle={this.widgetStyle}\n buttonBg={this.buttonBg}\n buttonColor={this.buttonColor}\n loadFromQuery={this.loadFromQuery}\n id={this.id}\n business={Business.skanska}\n ></hemfixarna-component>\n );\n }\n}\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"hemfixarna-string-furniture.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-string/hemfixarna-string-furniture.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAOpD,MAAM,OAAO,WAAW;;;yBAEY,KAAK;uBACH,WAAW,CAAC,QAAQ;;;;EAIxD,MAAM;IACJ,OAAO,CACL,4BACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,QAAQ,EAAE,QAAQ,CAAC,MAAM,GACH,CACzB,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business, WidgetStyle } from '../../types';\n\n@Component({\n tag: 'hemfixarna-string-furniture',\n styleUrl: 'hemfixarna-string.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() loadFromQuery?: boolean = false;\n @Prop() widgetStyle?: WidgetStyle = WidgetStyle.standard;\n @Prop() buttonColor?: string;\n @Prop() buttonBg?: string;\n\n render() {\n return (\n <hemfixarna-component\n widgetStyle={this.widgetStyle}\n buttonBg={this.buttonBg}\n buttonColor={this.buttonColor}\n loadFromQuery={this.loadFromQuery}\n id={this.id}\n business={Business.string}\n ></hemfixarna-component>\n );\n }\n}\n"]}
|