hemfixarna-web-components 1.2.6 → 1.3.0
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_20.cjs.entry.js +127 -36
- package/dist/cjs/hemfixarna-address_20.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/assets/spinner.gif +0 -0
- package/dist/collection/components/hemfixarna-address/hemfixarna-address.js +6 -2
- package/dist/collection/components/hemfixarna-address/hemfixarna-address.js.map +1 -1
- package/dist/collection/components/hemfixarna-byggmax/hemfixarna-byggmax.js +18 -0
- package/dist/collection/components/hemfixarna-byggmax/hemfixarna-byggmax.js.map +1 -1
- package/dist/collection/components/hemfixarna-checkout/hemfixarna-checkout.js +53 -15
- package/dist/collection/components/hemfixarna-checkout/hemfixarna-checkout.js.map +1 -1
- package/dist/collection/components/hemfixarna-component/hemfixarna-component.js +4 -0
- package/dist/collection/components/hemfixarna-component/hemfixarna-component.js.map +1 -1
- package/dist/collection/components/hemfixarna-component/hemfixarna.css +20 -0
- 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/components/hemfixarna-getuser/hemfixarna-getuser.js +9 -6
- package/dist/collection/components/hemfixarna-getuser/hemfixarna-getuser.js.map +1 -1
- package/dist/collection/components/hemfixarna-orderrows/hemfixarna-orderrows.js.map +1 -1
- package/dist/collection/store/index.js +4 -0
- package/dist/collection/store/index.js.map +1 -1
- package/dist/collection/types/felixtypes.js +3 -0
- package/dist/collection/types/felixtypes.js.map +1 -0
- package/dist/collection/types/index.js.map +1 -1
- package/dist/collection/utils/api.js +21 -3
- package/dist/collection/utils/api.js.map +1 -1
- package/dist/collection/utils/creditSafe.js.map +1 -1
- package/dist/collection/utils/felixApi.js +18 -0
- package/dist/collection/utils/felixApi.js.map +1 -0
- package/dist/collection/utils/felixFunctions.js +2 -2
- package/dist/collection/utils/felixFunctions.js.map +1 -1
- package/dist/collection/utils/form.js +6 -1
- package/dist/collection/utils/form.js.map +1 -1
- package/dist/esm/hemfixarna-address_20.entry.js +127 -36
- package/dist/esm/hemfixarna-address_20.entry.js.map +1 -1
- package/dist/esm/hemfixarna-components.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/hemfixarna-components/assets/spinner.gif +0 -0
- package/dist/hemfixarna-components/hemfixarna-components.esm.js +1 -1
- package/dist/hemfixarna-components/p-c21daccb.entry.js +2 -0
- package/dist/types/components/hemfixarna-byggmax/hemfixarna-byggmax.d.ts +1 -0
- package/dist/types/components/hemfixarna-checkout/hemfixarna-checkout.d.ts +1 -0
- package/dist/types/components.d.ts +2 -0
- package/dist/types/store/index.d.ts +2 -0
- package/dist/types/types/felixtypes.d.ts +27 -0
- package/dist/types/types/index.d.ts +5 -5
- package/dist/types/utils/api.d.ts +6 -16
- package/dist/types/utils/creditSafe.d.ts +2 -2
- package/dist/types/utils/felixApi.d.ts +46 -0
- package/dist/types/utils/felixFunctions.d.ts +1 -1
- package/package.json +1 -1
- package/dist/hemfixarna-components/p-40402409.entry.js +0 -2
- /package/dist/hemfixarna-components/{p-40402409.entry.js.map → p-c21daccb.entry.js.map} +0 -0
|
@@ -215,6 +215,7 @@ const { state, onChange, } = createStore({
|
|
|
215
215
|
customer: null,
|
|
216
216
|
selectedCustomerCategory: null,
|
|
217
217
|
parentCategory: null,
|
|
218
|
+
creditSafeUser: null,
|
|
218
219
|
});
|
|
219
220
|
onChange('cart', cart => {
|
|
220
221
|
window.sessionStorage.setItem(`hemfixarna-${state.business}-cart`, JSON.stringify(cart));
|
|
@@ -222,6 +223,9 @@ onChange('cart', cart => {
|
|
|
222
223
|
onChange('user', user => {
|
|
223
224
|
window.sessionStorage.setItem(`hemfixarna-${state.business}-user`, JSON.stringify(user));
|
|
224
225
|
});
|
|
226
|
+
onChange('creditSafeUser', user => {
|
|
227
|
+
window.sessionStorage.setItem(`hemfixarna-${state.business}-creditSafeUser`, JSON.stringify(user));
|
|
228
|
+
});
|
|
225
229
|
onChange('selectedProduct', product => {
|
|
226
230
|
if (!state.customer || !product)
|
|
227
231
|
return;
|
|
@@ -248,7 +252,12 @@ onChange('selectedCustomerCategory', category => {
|
|
|
248
252
|
|
|
249
253
|
const hideField = (field) => {
|
|
250
254
|
return field.split(' ').reduce((acc, curr) => {
|
|
251
|
-
|
|
255
|
+
if (curr.length <= 2) {
|
|
256
|
+
return acc + curr.slice(0, 1) + '* ';
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
return acc + curr.slice(0, 1) + '*'.repeat(curr.length - 2) + curr.slice(-1) + ' ';
|
|
260
|
+
}
|
|
252
261
|
}, '');
|
|
253
262
|
};
|
|
254
263
|
|
|
@@ -271,14 +280,18 @@ const HemfixarnaAddress = class {
|
|
|
271
280
|
this.streetError = 'Ange en gatuadress';
|
|
272
281
|
}
|
|
273
282
|
const zipValid = this.zip.length > 0;
|
|
283
|
+
const zipIsNumber = /^\s*\d[\d\s]*$/.test(this.zip);
|
|
284
|
+
if (!zipIsNumber) {
|
|
285
|
+
this.zipError = 'Postnummer får endast innehålla siffror';
|
|
286
|
+
}
|
|
274
287
|
if (!zipValid) {
|
|
275
288
|
this.zipError = 'Ange ett postnummer';
|
|
276
289
|
}
|
|
277
|
-
const townValid = this.town
|
|
290
|
+
const townValid = /^[^\d\s]{2,}$/.test(this.town);
|
|
278
291
|
if (!townValid) {
|
|
279
292
|
this.townError = 'Ange en ort';
|
|
280
293
|
}
|
|
281
|
-
if (streetValid && zipValid && townValid) {
|
|
294
|
+
if (streetValid && zipValid && townValid && zipIsNumber) {
|
|
282
295
|
state.user = Object.assign(Object.assign({}, state.user), { street: this.street, zip: this.zip, town: this.town });
|
|
283
296
|
state.checkoutStep = 2;
|
|
284
297
|
state.checkoutEdit = false;
|
|
@@ -526,6 +539,7 @@ const MyComponent$5 = class {
|
|
|
526
539
|
this.id = undefined;
|
|
527
540
|
this.forceOldTree = false;
|
|
528
541
|
this.loadFromQuery = false;
|
|
542
|
+
this.customer = undefined;
|
|
529
543
|
}
|
|
530
544
|
render() {
|
|
531
545
|
return (index.h("hemfixarna-component", { loadFromQuery: this.loadFromQuery, forceOldTree: this.forceOldTree, id: this.id, slug: this.slug, business: Business.byggmax, topCategory: TopCategory.byggmax }));
|
|
@@ -566,7 +580,12 @@ const HemfixarnaCategory = class {
|
|
|
566
580
|
}
|
|
567
581
|
};
|
|
568
582
|
|
|
569
|
-
const base = `${"https://hemfixarna.se"}/wp-json/headless` ;
|
|
583
|
+
const base$1 = `${"https://hemfixarna.se"}/wp-json/headless` ;
|
|
584
|
+
async function fetchWithType(request, options) {
|
|
585
|
+
const response = await fetch(request, options);
|
|
586
|
+
const body = await response.json();
|
|
587
|
+
return body;
|
|
588
|
+
}
|
|
570
589
|
const getTaxonomy = async (endpoint) => {
|
|
571
590
|
if (!endpoint) {
|
|
572
591
|
return;
|
|
@@ -574,7 +593,7 @@ const getTaxonomy = async (endpoint) => {
|
|
|
574
593
|
const type = endpoint.split('/')[0];
|
|
575
594
|
const slug = endpoint.split('/')[1];
|
|
576
595
|
try {
|
|
577
|
-
const res = await fetch(`${base}/${type}/${slug}`);
|
|
596
|
+
const res = await fetch(`${base$1}/${type}/${slug}`);
|
|
578
597
|
return await res.json();
|
|
579
598
|
}
|
|
580
599
|
catch (error) {
|
|
@@ -583,7 +602,7 @@ const getTaxonomy = async (endpoint) => {
|
|
|
583
602
|
};
|
|
584
603
|
const getCustomer = async (slug) => {
|
|
585
604
|
try {
|
|
586
|
-
const res = await fetch(`${base}/customer/${slug}`);
|
|
605
|
+
const res = await fetch(`${base$1}/customer/${slug}`);
|
|
587
606
|
return await res.json();
|
|
588
607
|
}
|
|
589
608
|
catch (error) {
|
|
@@ -592,7 +611,7 @@ const getCustomer = async (slug) => {
|
|
|
592
611
|
};
|
|
593
612
|
const getOptions = async () => {
|
|
594
613
|
try {
|
|
595
|
-
const res = await fetch(`${base}/webcoptions`);
|
|
614
|
+
const res = await fetch(`${base$1}/webcoptions`);
|
|
596
615
|
return (await res.json());
|
|
597
616
|
}
|
|
598
617
|
catch (error) {
|
|
@@ -601,8 +620,8 @@ const getOptions = async () => {
|
|
|
601
620
|
};
|
|
602
621
|
const getRut = async () => {
|
|
603
622
|
try {
|
|
604
|
-
const
|
|
605
|
-
return
|
|
623
|
+
const data = await fetchWithType(`${base$1}/rut`);
|
|
624
|
+
return data;
|
|
606
625
|
}
|
|
607
626
|
catch (error) {
|
|
608
627
|
console.log(error);
|
|
@@ -610,16 +629,29 @@ const getRut = async () => {
|
|
|
610
629
|
};
|
|
611
630
|
const getRot = async () => {
|
|
612
631
|
try {
|
|
613
|
-
const res = await fetch(`${base}/rot`);
|
|
632
|
+
const res = await fetch(`${base$1}/rot`);
|
|
614
633
|
return (await res.json());
|
|
615
634
|
}
|
|
616
635
|
catch (error) {
|
|
617
636
|
console.log(error);
|
|
618
637
|
}
|
|
619
638
|
};
|
|
639
|
+
// export interface PostOrderData {
|
|
640
|
+
// name: string;
|
|
641
|
+
// customer: Business;
|
|
642
|
+
// phone: string;
|
|
643
|
+
// social_security_number: string;
|
|
644
|
+
// email: string;
|
|
645
|
+
// address: string;
|
|
646
|
+
// earliest_visit_date: string;
|
|
647
|
+
// order_items: string;
|
|
648
|
+
// start_fee: string;
|
|
649
|
+
// total: number;
|
|
650
|
+
// felixStatus: 'success' | 'error';
|
|
651
|
+
// }
|
|
620
652
|
const postOrder = async (data) => {
|
|
621
653
|
try {
|
|
622
|
-
const res = await fetch(`${base}/weborder`, {
|
|
654
|
+
const res = await fetch(`${base$1}/weborder`, {
|
|
623
655
|
method: 'POST',
|
|
624
656
|
body: JSON.stringify(data),
|
|
625
657
|
headers: {
|
|
@@ -633,6 +665,22 @@ const postOrder = async (data) => {
|
|
|
633
665
|
}
|
|
634
666
|
};
|
|
635
667
|
|
|
668
|
+
const base = `${"https://hemfixarna.se"}/wp-json/felix` ;
|
|
669
|
+
const postPerson = async (felixOrder) => {
|
|
670
|
+
try {
|
|
671
|
+
return await fetchWithType(`${base}/createperson`, {
|
|
672
|
+
method: 'POST',
|
|
673
|
+
body: JSON.stringify(felixOrder),
|
|
674
|
+
headers: {
|
|
675
|
+
'Content-Type': 'application/json',
|
|
676
|
+
},
|
|
677
|
+
});
|
|
678
|
+
}
|
|
679
|
+
catch (error) {
|
|
680
|
+
console.log(error);
|
|
681
|
+
}
|
|
682
|
+
};
|
|
683
|
+
|
|
636
684
|
const HemfixarnaCheckout = class {
|
|
637
685
|
constructor(hostRef) {
|
|
638
686
|
index.registerInstance(this, hostRef);
|
|
@@ -644,19 +692,52 @@ const HemfixarnaCheckout = class {
|
|
|
644
692
|
this.generalError = null;
|
|
645
693
|
};
|
|
646
694
|
this.sendOrder = async () => {
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
695
|
+
var _a, _b;
|
|
696
|
+
if (this.loading)
|
|
697
|
+
return;
|
|
698
|
+
this.loading = true;
|
|
699
|
+
let order = {
|
|
700
|
+
firstName: state.creditSafeUser.firstName,
|
|
701
|
+
lastName: state.creditSafeUser.lastName,
|
|
702
|
+
street: state.user.street,
|
|
703
|
+
zip: state.user.zip,
|
|
704
|
+
town: state.user.town,
|
|
705
|
+
ssn: state.user.ssn,
|
|
653
706
|
email: state.user.email,
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
707
|
+
phone: state.user.phone,
|
|
708
|
+
url: `${state.business === Business.string ? 'string' : state.business}-webk`,
|
|
709
|
+
date: this.date,
|
|
710
|
+
products: [
|
|
711
|
+
...state.cart.map(item => {
|
|
712
|
+
const parts = item.parts.map(part => ({
|
|
713
|
+
id: String(part.id),
|
|
714
|
+
name: part.name,
|
|
715
|
+
quantity: part.amount,
|
|
716
|
+
rut: 0,
|
|
717
|
+
rot: 0,
|
|
718
|
+
}));
|
|
719
|
+
return [
|
|
720
|
+
{
|
|
721
|
+
id: String(item.id),
|
|
722
|
+
name: item.name,
|
|
723
|
+
quantity: item.amount,
|
|
724
|
+
rot: item.rot ? 1 : 0,
|
|
725
|
+
rut: item.rut ? 1 : 0,
|
|
726
|
+
},
|
|
727
|
+
...parts,
|
|
728
|
+
];
|
|
729
|
+
}),
|
|
730
|
+
].flat(),
|
|
731
|
+
creditSafe: state.creditSafeUser,
|
|
732
|
+
customer: state.business,
|
|
659
733
|
};
|
|
734
|
+
const felixOrder = await postPerson(order);
|
|
735
|
+
if (!felixOrder || !((_b = (_a = felixOrder.response) === null || _a === void 0 ? void 0 : _a.scriptResult) === null || _b === void 0 ? void 0 : _b.includes('OK'))) {
|
|
736
|
+
order = Object.assign(Object.assign({}, order), { felixStatus: 'error' });
|
|
737
|
+
}
|
|
738
|
+
else {
|
|
739
|
+
order = Object.assign(Object.assign({}, order), { felixStatus: 'success' });
|
|
740
|
+
}
|
|
660
741
|
try {
|
|
661
742
|
const { data: orderConfirm, status } = await postOrder(order);
|
|
662
743
|
if (orderConfirm && status && status === 200) {
|
|
@@ -668,9 +749,10 @@ const HemfixarnaCheckout = class {
|
|
|
668
749
|
this.generalError = 'Något gick fel, försök igen senare';
|
|
669
750
|
}
|
|
670
751
|
}
|
|
671
|
-
catch (
|
|
752
|
+
catch (error) {
|
|
672
753
|
this.generalError = 'Något gick fel, försök igen senare';
|
|
673
754
|
}
|
|
755
|
+
this.loading = false;
|
|
674
756
|
};
|
|
675
757
|
this.handleSubmit = (e) => {
|
|
676
758
|
e.preventDefault();
|
|
@@ -691,6 +773,7 @@ const HemfixarnaCheckout = class {
|
|
|
691
773
|
this.render = () => {
|
|
692
774
|
const dateLogo = index.getAssetPath(`./assets/date.svg`);
|
|
693
775
|
const down = index.getAssetPath(`./assets/down.svg`);
|
|
776
|
+
const loading = index.getAssetPath(`./assets/spinner.gif`);
|
|
694
777
|
if (state.checkoutEdit) {
|
|
695
778
|
return index.h("hemfixarna-address", null);
|
|
696
779
|
}
|
|
@@ -700,12 +783,13 @@ const HemfixarnaCheckout = class {
|
|
|
700
783
|
else if (state.checkoutStep === 2) {
|
|
701
784
|
return (index.h("div", { class: "mb-2" }, index.h("div", { class: "hemfixarna_addressinfo" }, index.h("div", null, index.h("p", null, hideField(state.user.firstName)), index.h("p", null, hideField(state.user.lastName)), index.h("p", null, state.user.email), index.h("p", null, state.user.phone)), index.h("div", null, index.h("p", null, hideField(state.user.street)), index.h("p", null, hideField(state.user.zip)), index.h("p", null, hideField(state.user.town))), index.h("button", { onClick: () => (state.checkoutEdit = true) }, "Beh\u00F6ver du \u00E4ndra adressen?")), index.h("form", { onSubmit: e => this.handleSubmit(e) }, index.h("div", null, index.h("img", { src: dateLogo, width: 24 }), index.h("input", { class: `${this.date.length ? 'input_active' : ''}`, min: new Date().toISOString().split('T')[0], onChange: e => this.handleChangeDate(e), type: "date", name: "date", value: this.date }), index.h("label", { htmlFor: "date" }, "Tidigaste datum f\u00F6r hembes\u00F6k"), index.h("img", { src: down, width: 24 })), this.dateError && index.h("span", null, this.dateError), index.h("label", { class: "hemfixarna_checkbox" }, index.h("input", { onChange: () => this.handleChangeTerms(), type: "checkbox" }), index.h("span", { innerHTML: state.options.terms })), state.cart
|
|
702
785
|
.filter(i => i.terms_checkout && i.terms_show_checkbox)
|
|
703
|
-
.map(item => (index.h(index.Fragment, null, index.h("label", { class: "hemfixarna_checkbox" }, index.h("input", { onChange: () => this.handleChangeTerms(), type: "checkbox" }), index.h("span", null, item.terms_checkout))))), this.generalError && index.h("span", null, this.generalError), index.h("input", { type: "submit", value:
|
|
786
|
+
.map(item => (index.h(index.Fragment, null, index.h("label", { class: "hemfixarna_checkbox" }, index.h("input", { onChange: () => this.handleChangeTerms(), type: "checkbox" }), index.h("span", null, item.terms_checkout))))), this.generalError && index.h("span", null, this.generalError), index.h("div", { class: this.loading ? 'loading' : '' }, index.h("input", { type: "submit", value: this.loading ? '' : 'Slutför Bokning' }), index.h("img", { width: 20, height: 20, src: loading, alt: "spinner" })))));
|
|
704
787
|
}
|
|
705
788
|
};
|
|
706
789
|
this.date = '';
|
|
707
790
|
this.dateError = null;
|
|
708
791
|
this.generalError = null;
|
|
792
|
+
this.loading = false;
|
|
709
793
|
}
|
|
710
794
|
componentWillLoad() {
|
|
711
795
|
if (Boolean(state.user && state.user.street)) {
|
|
@@ -715,7 +799,7 @@ const HemfixarnaCheckout = class {
|
|
|
715
799
|
get el() { return index.getElement(this); }
|
|
716
800
|
};
|
|
717
801
|
|
|
718
|
-
const hemfixarnaCss = "@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;justify-content:space-between;background:#fffaf2;border:1px solid #fcd9c9;width:100%;box-sizing:border-box;border-radius:4px;gap:16px 8px}:host .hemfixarna_box>div{display:grid;gap:8px}: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_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}";
|
|
802
|
+
const hemfixarnaCss = "@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;justify-content:space-between;background:#fffaf2;border:1px solid #fcd9c9;width:100%;box-sizing:border-box;border-radius:4px;gap:16px 8px}:host .hemfixarna_box>div{display:grid;gap:8px}: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:initial}: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}";
|
|
719
803
|
|
|
720
804
|
const HemfixarnaComponent = class {
|
|
721
805
|
constructor(hostRef) {
|
|
@@ -804,6 +888,10 @@ const HemfixarnaComponent = class {
|
|
|
804
888
|
if (user) {
|
|
805
889
|
state.user = JSON.parse(user);
|
|
806
890
|
}
|
|
891
|
+
const creditSafeUser = window.sessionStorage.getItem(`hemfixarna-${this.business}-creditSafeUser`);
|
|
892
|
+
if (creditSafeUser) {
|
|
893
|
+
state.creditSafeUser = JSON.parse(creditSafeUser);
|
|
894
|
+
}
|
|
807
895
|
const [tree, res, options, rut, rot] = await Promise.all([
|
|
808
896
|
this.topCategory ? getTaxonomy(this.topCategory) : null,
|
|
809
897
|
this.slug ? getTaxonomy(this.slug) : Promise.resolve(null),
|
|
@@ -941,7 +1029,7 @@ const MyComponent$4 = class {
|
|
|
941
1029
|
this.customer = null;
|
|
942
1030
|
}
|
|
943
1031
|
getTopLevelCategory() {
|
|
944
|
-
switch ("
|
|
1032
|
+
switch ("byggmax") {
|
|
945
1033
|
case Business.byggmax:
|
|
946
1034
|
return TopCategory.byggmax;
|
|
947
1035
|
default:
|
|
@@ -957,14 +1045,14 @@ const MyComponent$4 = class {
|
|
|
957
1045
|
}
|
|
958
1046
|
}
|
|
959
1047
|
else {
|
|
960
|
-
const customer = await getCustomer("
|
|
1048
|
+
const customer = await getCustomer("byggmax");
|
|
961
1049
|
if (customer.code !== 'not_found' && customer) {
|
|
962
1050
|
this.customer = customer;
|
|
963
1051
|
}
|
|
964
1052
|
}
|
|
965
1053
|
}
|
|
966
1054
|
getExample() {
|
|
967
|
-
return `<hemfixarna-${"
|
|
1055
|
+
return `<hemfixarna-${"byggmax"}${this.selectedSlug ? ` slug="${this.selectedSlug}" ` : ''}${this.selectedID ? ` id="${this.selectedID}" ` : ''}></hemfixarna-${"byggmax"}>`;
|
|
968
1056
|
}
|
|
969
1057
|
copyExample() {
|
|
970
1058
|
navigator.clipboard.writeText(this.getExample());
|
|
@@ -989,8 +1077,8 @@ const MyComponent$4 = class {
|
|
|
989
1077
|
}
|
|
990
1078
|
render() {
|
|
991
1079
|
const copy = index.getAssetPath(`./assets/copy.png`);
|
|
992
|
-
return (index.h("div", null, index.h("div", null, index.h("div", { onClick: () => this.copyExample(), class: "hemfixarna_example" }, index.h("p", null, this.getExample()), index.h("img", { src: copy, height: 20 }), index.h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText)), "
|
|
993
|
-
c.sub_categories.map(sc => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label" }, index.h("div", null, index.h("p", null, sc.name), index.h("span", null, `c-${sc.id}`)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(`c-${sc.id}`) }, "Kopiera ID"), index.h("button", { onClick: () => (this.selectedID = `c-${sc.id}`) }, "Ladda kategori"))), index.h("ul", null, sc.products.map(p => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label hemfixarna_product--label" }, index.h("div", null, index.h("p", null, p.fields.post_title), index.h("span", null, p.fields.ID)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(String(p.fields.ID)) }, "Kopiera ID"), index.h("button", { onClick: () => (this.selectedID = String(p.fields.ID)) }, "Ladda produkt"))))))))))))))))) : (index.h("div", null, this.tree.sub_cats.map(c => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label hemfixarna_categories--label--big" }, index.h("div", null, index.h("p", null, c.name), index.h("span", null, `category/${c.slug}`)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(`category/${c.slug}`) }, "Kopiera slug"), index.h("button", { onClick: () => (this.selectedSlug = `category/${c.slug}`) }, "Ladda kategori"))), index.h("ul", null, c.services.map(sc => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label" }, index.h("div", null, index.h("p", null, sc.post_title), index.h("span", null, `service/${sc.post_name}`)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(`service/${sc.post_name}`) }, "Kopiera slug"), index.h("button", { onClick: () => (this.selectedSlug = `service/${sc.post_name}`) }, "Ladda kategori"))), index.h("ul", null, sc.products.map(sc => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label" }, index.h("div", null, index.h("p", null, sc.post_title), index.h("span", null, `product/${sc.post_name}`)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(`product/${sc.post_name}`) }, "Kopiera slug"), index.h("button", { onClick: () => (this.selectedSlug = `product/${sc.post_name}`) }, "Ladda kategori")))))))))))))))))));
|
|
1080
|
+
return (index.h("div", null, index.h("div", null, index.h("div", { onClick: () => this.copyExample(), class: "hemfixarna_example" }, index.h("p", null, this.getExample()), index.h("img", { src: copy, height: 20 }), index.h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText)), "byggmax" === Business.byggmax && (index.h("hemfixarna-byggmax", { forceOldTree: Boolean(process.env.FORCE_OLD_TREE), slug: this.selectedSlug, id: this.selectedID })), "byggmax" === Business.skanska && index.h("hemfixarna-skanska", { id: this.selectedID }), "byggmax" === Business.string && index.h("hemfixarna-string-furniture", { id: this.selectedID }), "byggmax" === Business.hornbach && index.h("hemfixarna-hornbach", { isDemo: true, id: this.selectedID }), "byggmax" === Business.kund && index.h("hemfixarna-kund", { id: this.selectedID }), index.h("div", { class: "hemfixarna_install" }, index.h("div", { onClick: () => this.copyCdn(), class: "hemfixarna_example" }, index.h("p", null, this.cdnLink), index.h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText), index.h("img", { src: copy, height: 20 })))), index.h("ul", { class: "hemfixarna_categories" }, this.customer ? (index.h("div", null, this.customer.categories.map(c => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label hemfixarna_categories--label--big" }, index.h("div", null, index.h("p", null, c.name), index.h("span", null, `c-${c.id}`)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(`c-${c.id}`) }, "Kopiera ID"), index.h("button", { onClick: () => (this.selectedID = `c-${c.id}`) }, "Ladda kategori"))), c.show_products && c.products ? (index.h("ul", null, c.products.map(p => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label hemfixarna_product--label" }, index.h("div", null, index.h("p", null, p.fields.post_title), index.h("span", null, p.fields.ID)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(String(p.fields.ID)) }, "Kopiera ID"), index.h("button", { onClick: () => (this.selectedID = String(p.fields.ID)) }, "Ladda produkt")))))))) : (index.h("ul", null, c.sub_categories &&
|
|
1081
|
+
c.sub_categories.map(sc => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label" }, index.h("div", null, index.h("p", null, sc.name), index.h("span", null, `c-${sc.id}`)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(`c-${sc.id}`) }, "Kopiera ID"), index.h("button", { onClick: () => (this.selectedID = `c-${sc.id}`) }, "Ladda kategori"))), index.h("ul", null, sc.products.map(p => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label hemfixarna_product--label" }, index.h("div", null, index.h("p", null, p.fields.post_title), index.h("span", null, p.fields.ID)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(String(p.fields.ID)) }, "Kopiera ID"), index.h("button", { onClick: () => (this.selectedID = String(p.fields.ID)) }, "Ladda produkt"))))))))))))))))) : this.tree ? (index.h("div", null, this.tree.sub_cats.map(c => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label hemfixarna_categories--label--big" }, index.h("div", null, index.h("p", null, c.name), index.h("span", null, `category/${c.slug}`)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(`category/${c.slug}`) }, "Kopiera slug"), index.h("button", { onClick: () => (this.selectedSlug = `category/${c.slug}`) }, "Ladda kategori"))), index.h("ul", null, c.services.map(sc => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label" }, index.h("div", null, index.h("p", null, sc.post_title), index.h("span", null, `service/${sc.post_name}`)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(`service/${sc.post_name}`) }, "Kopiera slug"), index.h("button", { onClick: () => (this.selectedSlug = `service/${sc.post_name}`) }, "Ladda kategori"))), index.h("ul", null, sc.products.map(sc => (index.h("li", null, index.h("div", { class: "hemfixarna_categories--label" }, index.h("div", null, index.h("p", null, sc.post_title), index.h("span", null, `product/${sc.post_name}`)), index.h("div", null, index.h("button", { onClick: () => navigator.clipboard.writeText(`product/${sc.post_name}`) }, "Kopiera slug"), index.h("button", { onClick: () => (this.selectedSlug = `product/${sc.post_name}`) }, "Ladda kategori")))))))))))))))) : null)));
|
|
994
1082
|
}
|
|
995
1083
|
};
|
|
996
1084
|
MyComponent$4.style = hemfixarnaDemoCss;
|
|
@@ -1666,7 +1754,7 @@ const HemfixarnaGetuser = class {
|
|
|
1666
1754
|
if (!validEmail) {
|
|
1667
1755
|
this.emailError = 'Ange en giltig e-postadress';
|
|
1668
1756
|
}
|
|
1669
|
-
const validPhone = this.phone
|
|
1757
|
+
const validPhone = /^[\d\s()+-]{6,}$/.test(this.phone);
|
|
1670
1758
|
if (!validPhone) {
|
|
1671
1759
|
this.phoneError = 'Ange ett giltigt telefonnummer';
|
|
1672
1760
|
}
|
|
@@ -1680,12 +1768,11 @@ const HemfixarnaGetuser = class {
|
|
|
1680
1768
|
}
|
|
1681
1769
|
if (validEmail && validPhone && validssn) {
|
|
1682
1770
|
try {
|
|
1683
|
-
const
|
|
1684
|
-
if (
|
|
1771
|
+
const creditSafeData = await apiSearch(this.ssn);
|
|
1772
|
+
if (creditSafeData) {
|
|
1773
|
+
state.creditSafeUser = creditSafeData;
|
|
1685
1774
|
state.checkoutStep = 2;
|
|
1686
|
-
state.user = Object.assign(Object.assign({},
|
|
1687
|
-
const el = this.el.closest('.hemfixarna_content');
|
|
1688
|
-
scrollToTop(el);
|
|
1775
|
+
state.user = Object.assign(Object.assign({}, creditSafeData), { email: this.email, phone: this.phone, ssn: this.ssn });
|
|
1689
1776
|
}
|
|
1690
1777
|
else {
|
|
1691
1778
|
this.ssnError = 'Vi kunde tyvärr inte hitta en address med ditt angivna personnummer';
|
|
@@ -1695,6 +1782,10 @@ const HemfixarnaGetuser = class {
|
|
|
1695
1782
|
this.ssnError = 'Vi kunde tyvärr inte hitta en address med ditt angivna personnummer';
|
|
1696
1783
|
console.log(e);
|
|
1697
1784
|
}
|
|
1785
|
+
finally {
|
|
1786
|
+
const el = this.el.closest('.hemfixarna_content');
|
|
1787
|
+
scrollToTop(el);
|
|
1788
|
+
}
|
|
1698
1789
|
}
|
|
1699
1790
|
};
|
|
1700
1791
|
this.render = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"hemfixarna-address.hemfixarna-box.hemfixarna-breadcrumbs.hemfixarna-byggmax.hemfixarna-cart.hemfixarna-category.hemfixarna-checkout.hemfixarna-component.hemfixarna-demo.hemfixarna-getuser.hemfixarna-hornbach.hemfixarna-info.hemfixarna-kund.hemfixarna-order.hemfixarna-orderrows.hemfixarna-product.hemfixarna-service.hemfixarna-skanska.hemfixarna-start.hemfixarna-string-furniture.entry.cjs.js","mappings":"
|
|
1
|
+
{"file":"hemfixarna-address.hemfixarna-box.hemfixarna-breadcrumbs.hemfixarna-byggmax.hemfixarna-cart.hemfixarna-category.hemfixarna-checkout.hemfixarna-component.hemfixarna-demo.hemfixarna-getuser.hemfixarna-hornbach.hemfixarna-info.hemfixarna-kund.hemfixarna-order.hemfixarna-orderrows.hemfixarna-product.hemfixarna-service.hemfixarna-skanska.hemfixarna-start.hemfixarna-string-furniture.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -20,7 +20,7 @@ const patchBrowser = () => {
|
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
patchBrowser().then(options => {
|
|
23
|
-
return index.bootstrapLazy([["hemfixarna-address_20.cjs",[[1,"hemfixarna-demo",{"selectedSlug":[32],"selectedID":[32],"tooltipText":[32],"tree":[32],"customer":[32]}],[1,"hemfixarna-byggmax",{"slug":[1],"id":[1],"forceOldTree":[4,"force-old-tree"],"loadFromQuery":[4,"load-from-query"],"tree":[32]}],[1,"hemfixarna-hornbach",{"id":[1],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"]}],[1,"hemfixarna-kund",{"id":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-skanska",{"id":[1],"customer":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-string-furniture",{"id":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-component",{"slug":[1],"id":[1],"business":[1],"topCategory":[1,"top-category"],"forceOldTree":[4,"force-old-tree"],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"],"nav":[16],"modal":[32],"showModal":[32],"tree":[32],"product":[32],"proppedProduct":[32]},[[0,"click","handleClick"]]],[0,"hemfixarna-cart",{"tree":[16]}],[0,"hemfixarna-category"],[0,"hemfixarna-order",{"tree":[16]}],[0,"hemfixarna-service"],[0,"hemfixarna-start",{"tree":[16],"slug":[1]}],[0,"hemfixarna-product",{"amount":[32],"hideDescription":[32]}],[0,"hemfixarna-breadcrumbs",{"tree":[16],"closeModal":[16],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"]}],[0,"hemfixarna-checkout",{"date":[32],"dateError":[32],"generalError":[32]}],[0,"hemfixarna-address",{"street":[32],"streetError":[32],"zip":[32],"zipError":[32],"town":[32],"townError":[32]}],[0,"hemfixarna-getuser",{"email":[32],"emailError":[32],"phone":[32],"phoneError":[32],"ssn":[32],"ssnError":[32]}],[0,"hemfixarna-orderrows",{"cart":[4],"tree":[16]}],[0,"hemfixarna-box",{"post":[16],"category":[16],"icon":[1],"postTitle":[1,"post-title"]}],[0,"hemfixarna-info",{"list":[16]}]]]], options);
|
|
23
|
+
return index.bootstrapLazy([["hemfixarna-address_20.cjs",[[1,"hemfixarna-demo",{"selectedSlug":[32],"selectedID":[32],"tooltipText":[32],"tree":[32],"customer":[32]}],[1,"hemfixarna-byggmax",{"slug":[1],"id":[1],"forceOldTree":[4,"force-old-tree"],"loadFromQuery":[4,"load-from-query"],"customer":[1],"tree":[32]}],[1,"hemfixarna-hornbach",{"id":[1],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"]}],[1,"hemfixarna-kund",{"id":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-skanska",{"id":[1],"customer":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-string-furniture",{"id":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-component",{"slug":[1],"id":[1],"business":[1],"topCategory":[1,"top-category"],"forceOldTree":[4,"force-old-tree"],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"],"nav":[16],"modal":[32],"showModal":[32],"tree":[32],"product":[32],"proppedProduct":[32]},[[0,"click","handleClick"]]],[0,"hemfixarna-cart",{"tree":[16]}],[0,"hemfixarna-category"],[0,"hemfixarna-order",{"tree":[16]}],[0,"hemfixarna-service"],[0,"hemfixarna-start",{"tree":[16],"slug":[1]}],[0,"hemfixarna-product",{"amount":[32],"hideDescription":[32]}],[0,"hemfixarna-breadcrumbs",{"tree":[16],"closeModal":[16],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"]}],[0,"hemfixarna-checkout",{"date":[32],"dateError":[32],"generalError":[32],"loading":[32]}],[0,"hemfixarna-address",{"street":[32],"streetError":[32],"zip":[32],"zipError":[32],"town":[32],"townError":[32]}],[0,"hemfixarna-getuser",{"email":[32],"emailError":[32],"phone":[32],"phoneError":[32],"ssn":[32],"ssnError":[32]}],[0,"hemfixarna-orderrows",{"cart":[4],"tree":[16]}],[0,"hemfixarna-box",{"post":[16],"category":[16],"icon":[1],"postTitle":[1,"post-title"]}],[0,"hemfixarna-info",{"list":[16]}]]]], options);
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
exports.setNonce = index.setNonce;
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -14,7 +14,7 @@ const patchEsm = () => {
|
|
|
14
14
|
const defineCustomElements = (win, options) => {
|
|
15
15
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
16
16
|
return patchEsm().then(() => {
|
|
17
|
-
return index.bootstrapLazy([["hemfixarna-address_20.cjs",[[1,"hemfixarna-demo",{"selectedSlug":[32],"selectedID":[32],"tooltipText":[32],"tree":[32],"customer":[32]}],[1,"hemfixarna-byggmax",{"slug":[1],"id":[1],"forceOldTree":[4,"force-old-tree"],"loadFromQuery":[4,"load-from-query"],"tree":[32]}],[1,"hemfixarna-hornbach",{"id":[1],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"]}],[1,"hemfixarna-kund",{"id":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-skanska",{"id":[1],"customer":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-string-furniture",{"id":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-component",{"slug":[1],"id":[1],"business":[1],"topCategory":[1,"top-category"],"forceOldTree":[4,"force-old-tree"],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"],"nav":[16],"modal":[32],"showModal":[32],"tree":[32],"product":[32],"proppedProduct":[32]},[[0,"click","handleClick"]]],[0,"hemfixarna-cart",{"tree":[16]}],[0,"hemfixarna-category"],[0,"hemfixarna-order",{"tree":[16]}],[0,"hemfixarna-service"],[0,"hemfixarna-start",{"tree":[16],"slug":[1]}],[0,"hemfixarna-product",{"amount":[32],"hideDescription":[32]}],[0,"hemfixarna-breadcrumbs",{"tree":[16],"closeModal":[16],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"]}],[0,"hemfixarna-checkout",{"date":[32],"dateError":[32],"generalError":[32]}],[0,"hemfixarna-address",{"street":[32],"streetError":[32],"zip":[32],"zipError":[32],"town":[32],"townError":[32]}],[0,"hemfixarna-getuser",{"email":[32],"emailError":[32],"phone":[32],"phoneError":[32],"ssn":[32],"ssnError":[32]}],[0,"hemfixarna-orderrows",{"cart":[4],"tree":[16]}],[0,"hemfixarna-box",{"post":[16],"category":[16],"icon":[1],"postTitle":[1,"post-title"]}],[0,"hemfixarna-info",{"list":[16]}]]]], options);
|
|
17
|
+
return index.bootstrapLazy([["hemfixarna-address_20.cjs",[[1,"hemfixarna-demo",{"selectedSlug":[32],"selectedID":[32],"tooltipText":[32],"tree":[32],"customer":[32]}],[1,"hemfixarna-byggmax",{"slug":[1],"id":[1],"forceOldTree":[4,"force-old-tree"],"loadFromQuery":[4,"load-from-query"],"customer":[1],"tree":[32]}],[1,"hemfixarna-hornbach",{"id":[1],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"]}],[1,"hemfixarna-kund",{"id":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-skanska",{"id":[1],"customer":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-string-furniture",{"id":[1],"loadFromQuery":[4,"load-from-query"]}],[1,"hemfixarna-component",{"slug":[1],"id":[1],"business":[1],"topCategory":[1,"top-category"],"forceOldTree":[4,"force-old-tree"],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"],"nav":[16],"modal":[32],"showModal":[32],"tree":[32],"product":[32],"proppedProduct":[32]},[[0,"click","handleClick"]]],[0,"hemfixarna-cart",{"tree":[16]}],[0,"hemfixarna-category"],[0,"hemfixarna-order",{"tree":[16]}],[0,"hemfixarna-service"],[0,"hemfixarna-start",{"tree":[16],"slug":[1]}],[0,"hemfixarna-product",{"amount":[32],"hideDescription":[32]}],[0,"hemfixarna-breadcrumbs",{"tree":[16],"closeModal":[16],"loadFromQuery":[4,"load-from-query"],"isDemo":[4,"is-demo"]}],[0,"hemfixarna-checkout",{"date":[32],"dateError":[32],"generalError":[32],"loading":[32]}],[0,"hemfixarna-address",{"street":[32],"streetError":[32],"zip":[32],"zipError":[32],"town":[32],"townError":[32]}],[0,"hemfixarna-getuser",{"email":[32],"emailError":[32],"phone":[32],"phoneError":[32],"ssn":[32],"ssnError":[32]}],[0,"hemfixarna-orderrows",{"cart":[4],"tree":[16]}],[0,"hemfixarna-box",{"post":[16],"category":[16],"icon":[1],"postTitle":[1,"post-title"]}],[0,"hemfixarna-info",{"list":[16]}]]]], options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|
|
Binary file
|
|
@@ -11,14 +11,18 @@ export class HemfixarnaAddress {
|
|
|
11
11
|
this.streetError = 'Ange en gatuadress';
|
|
12
12
|
}
|
|
13
13
|
const zipValid = this.zip.length > 0;
|
|
14
|
+
const zipIsNumber = /^\s*\d[\d\s]*$/.test(this.zip);
|
|
15
|
+
if (!zipIsNumber) {
|
|
16
|
+
this.zipError = 'Postnummer får endast innehålla siffror';
|
|
17
|
+
}
|
|
14
18
|
if (!zipValid) {
|
|
15
19
|
this.zipError = 'Ange ett postnummer';
|
|
16
20
|
}
|
|
17
|
-
const townValid = this.town
|
|
21
|
+
const townValid = /^[^\d\s]{2,}$/.test(this.town);
|
|
18
22
|
if (!townValid) {
|
|
19
23
|
this.townError = 'Ange en ort';
|
|
20
24
|
}
|
|
21
|
-
if (streetValid && zipValid && townValid) {
|
|
25
|
+
if (streetValid && zipValid && townValid && zipIsNumber) {
|
|
22
26
|
state.user = Object.assign(Object.assign({}, state.user), { street: this.street, zip: this.zip, town: this.town });
|
|
23
27
|
state.checkoutStep = 2;
|
|
24
28
|
state.checkoutEdit = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hemfixarna-address.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-address/hemfixarna-address.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"hemfixarna-address.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-address/hemfixarna-address.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, State, h } from '@stencil/core';\nimport state from '../../store';\nimport { hideField } from '../../utils/form';\nimport { scrollToTop } from '../../utils/scroll';\n\n@Component({\n tag: 'hemfixarna-address',\n shadow: false,\n})\nexport class HemfixarnaAddress {\n @State() street: string = '';\n @State() streetError: string | null = null;\n @State() zip: string = '';\n @State() zipError: string | null = null;\n @State() town: string = '';\n @State() townError: string | null = null;\n @Element() private el: HTMLElement;\n\n componentWillLoad() {\n if (state.user) {\n this.street = state.user.street;\n this.zip = state.user.zip;\n this.town = state.user.town;\n }\n }\n\n handleSubmit = (e: Event) => {\n e.preventDefault();\n const streetValid = this.street.length > 0;\n if (!streetValid) {\n this.streetError = 'Ange en gatuadress';\n }\n const zipValid = this.zip.length > 0;\n const zipIsNumber = /^\\s*\\d[\\d\\s]*$/.test(this.zip);\n if (!zipIsNumber) {\n this.zipError = 'Postnummer får endast innehålla siffror';\n }\n if (!zipValid) {\n this.zipError = 'Ange ett postnummer';\n }\n const townValid = /^[^\\d\\s]{2,}$/.test(this.town);\n if (!townValid) {\n this.townError = 'Ange en ort';\n }\n if (streetValid && zipValid && townValid && zipIsNumber) {\n state.user = { ...state.user, street: this.street, zip: this.zip, town: this.town };\n state.checkoutStep = 2;\n state.checkoutEdit = false;\n const el = this.el.closest('.hemfixarna_content');\n scrollToTop(el);\n }\n };\n\n handleChangeStreet = (e: Event) => {\n this.streetError = null;\n this.street = this.street === state.user.street ? '' : (e.target as HTMLInputElement).value;\n };\n\n handleChangeZip = (e: Event) => {\n this.zipError = null;\n this.zip = this.zip === state.user.zip ? '' : (e.target as HTMLInputElement).value;\n };\n\n handleChangeTown = (e: Event) => {\n this.townError = null;\n this.town = this.town === state.user.town ? '' : (e.target as HTMLInputElement).value;\n };\n\n render = () => {\n return (\n <form class=\"hemfixarna_address\" onSubmit={e => this.handleSubmit(e)}>\n <div>\n <input\n class={`${this.street.length ? 'input_active' : ''}`}\n onInput={this.handleChangeStreet}\n type=\"text\"\n name=\"street\"\n value={this.street === state.user.street ? hideField(this.street) : this.street}\n />\n <label htmlFor=\"street\">Gatuaddress </label>\n </div>\n {this.streetError && <span>{this.streetError}</span>}\n <div>\n <input\n class={`${this.zip.length ? 'input_active' : ''}`}\n onInput={this.handleChangeZip}\n type=\"tel\"\n name=\"zip\"\n value={this.zip === state.user.zip ? hideField(this.zip) : this.zip}\n />\n <label htmlFor=\"zip\">Postnummer </label>\n </div>\n {this.zipError && <span>{this.zipError}</span>}\n <div>\n <input\n class={`${this.town.length ? 'input_active' : ''}`}\n onInput={this.handleChangeTown}\n type=\"text\"\n name=\"town\"\n value={this.town === state.user.town ? hideField(this.town) : this.town}\n />\n <label htmlFor=\"town\">Ort </label>\n </div>\n {this.townError && <span>{this.townError}</span>}\n <input type=\"submit\" value=\"Fortsätt och Boka\" />\n </form>\n );\n };\n}\n"]}
|
|
@@ -7,6 +7,7 @@ export class MyComponent {
|
|
|
7
7
|
this.id = undefined;
|
|
8
8
|
this.forceOldTree = false;
|
|
9
9
|
this.loadFromQuery = false;
|
|
10
|
+
this.customer = undefined;
|
|
10
11
|
}
|
|
11
12
|
render() {
|
|
12
13
|
return (h("hemfixarna-component", { loadFromQuery: this.loadFromQuery, forceOldTree: this.forceOldTree, id: this.id, slug: this.slug, business: Business.byggmax, topCategory: TopCategory.byggmax }));
|
|
@@ -94,6 +95,23 @@ export class MyComponent {
|
|
|
94
95
|
"attribute": "load-from-query",
|
|
95
96
|
"reflect": false,
|
|
96
97
|
"defaultValue": "false"
|
|
98
|
+
},
|
|
99
|
+
"customer": {
|
|
100
|
+
"type": "string",
|
|
101
|
+
"mutable": false,
|
|
102
|
+
"complexType": {
|
|
103
|
+
"original": "string",
|
|
104
|
+
"resolved": "string",
|
|
105
|
+
"references": {}
|
|
106
|
+
},
|
|
107
|
+
"required": false,
|
|
108
|
+
"optional": true,
|
|
109
|
+
"docs": {
|
|
110
|
+
"tags": [],
|
|
111
|
+
"text": ""
|
|
112
|
+
},
|
|
113
|
+
"attribute": "customer",
|
|
114
|
+
"reflect": false
|
|
97
115
|
}
|
|
98
116
|
};
|
|
99
117
|
}
|
|
@@ -1 +1 @@
|
|
|
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,MAAM,aAAa,CAAC;AAO9D,MAAM,OAAO,WAAW;;gBACY,IAAI;;;wBAGL,KAAK;yBACJ,KAAK
|
|
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,MAAM,aAAa,CAAC;AAO9D,MAAM,OAAO,WAAW;;gBACY,IAAI;;;wBAGL,KAAK;yBACJ,KAAK;;;EAGvC,MAAM;IACJ,OAAO,CACL,4BACE,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,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,GACV,CACzB,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, State, h } from '@stencil/core';\nimport { Business, Category, TopCategory } 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\n render() {\n return (\n <hemfixarna-component\n loadFromQuery={this.loadFromQuery}\n forceOldTree={this.forceOldTree}\n id={this.id}\n slug={this.slug}\n business={Business.byggmax}\n topCategory={TopCategory.byggmax}\n ></hemfixarna-component>\n );\n }\n}\n"]}
|