@zonos/elements 1.3.205 → 1.3.207
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/{cart-193af95a.js → cart-3d961c6e.js} +1 -1
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{localization-88da0959.js → localization-ff33875b.js} +420 -181
- package/dist/cjs/{paypal-8525404c.js → paypal-dee5c109.js} +2 -2
- package/dist/cjs/zonos-address_11.cjs.entry.js +2 -2
- package/dist/cjs/zonos-cart-items_14.cjs.entry.js +3 -3
- package/dist/cjs/zonos-checkout.cjs.entry.js +3 -3
- package/dist/cjs/zonos-controller.cjs.entry.js +2 -2
- package/dist/cjs/zonos-country-flag.cjs.entry.js +1 -1
- package/dist/cjs/zonos-country-select_4.cjs.entry.js +94 -46
- package/dist/cjs/zonos-elements.cjs.js +1 -1
- package/dist/cjs/zonos-empty-state-payment_4.cjs.entry.js +3 -3
- package/dist/cjs/zonos-hello-dialog.cjs.entry.js +82 -24
- package/dist/cjs/zonos-hello.cjs.entry.js +11 -2
- package/dist/cjs/zonos-language-select_2.cjs.entry.js +1 -1
- package/dist/collection/components/common/zonos-virtual-scroll/zonos-virtual-scroll.css +9 -2
- package/dist/collection/components/common/zonos-virtual-scroll/zonos-virtual-scroll.js +129 -59
- package/dist/collection/components/hello/zonos-hello/zonos-hello.js +10 -1
- package/dist/collection/components/hello/zonos-hello-dialog/zonos-hello-dialog.js +81 -23
- package/dist/collection/components/store/translationStore/strings.arabic.js +21 -9
- package/dist/collection/components/store/translationStore/strings.base.js +21 -10
- package/dist/collection/components/store/translationStore/strings.chinese.js +21 -9
- package/dist/collection/components/store/translationStore/strings.danish.js +21 -9
- package/dist/collection/components/store/translationStore/strings.dutch.js +21 -9
- package/dist/collection/components/store/translationStore/strings.french.js +21 -9
- package/dist/collection/components/store/translationStore/strings.german.js +21 -9
- package/dist/collection/components/store/translationStore/strings.hebrew.js +21 -9
- package/dist/collection/components/store/translationStore/strings.indonesian.js +21 -9
- package/dist/collection/components/store/translationStore/strings.italian.js +21 -9
- package/dist/collection/components/store/translationStore/strings.japanese.js +21 -9
- package/dist/collection/components/store/translationStore/strings.korean.js +21 -9
- package/dist/collection/components/store/translationStore/strings.norwegian.js +21 -9
- package/dist/collection/components/store/translationStore/strings.polish.js +21 -9
- package/dist/collection/components/store/translationStore/strings.portuguese.js +21 -9
- package/dist/collection/components/store/translationStore/strings.russian.js +21 -9
- package/dist/collection/components/store/translationStore/strings.spanish.js +21 -9
- package/dist/collection/components/store/translationStore/strings.swedish.js +21 -9
- package/dist/collection/components/store/translationStore/strings.turkish.js +21 -9
- package/dist/collection/components/store/translationStore/strings.vietnamese.js +21 -9
- package/dist/collection/types/common-ui/VirtualScroll.js +1 -0
- package/dist/collection/types/generated/graphql.internal.types.js +6 -0
- package/dist/esm/{cart-a921e0b7.js → cart-5835676d.js} +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{localization-a2b8f9ed.js → localization-4c7f64e8.js} +420 -181
- package/dist/esm/{paypal-67d51f03.js → paypal-b4f106be.js} +2 -2
- package/dist/esm/zonos-address_11.entry.js +2 -2
- package/dist/esm/zonos-cart-items_14.entry.js +3 -3
- package/dist/esm/zonos-checkout.entry.js +3 -3
- package/dist/esm/zonos-controller.entry.js +2 -2
- package/dist/esm/zonos-country-flag.entry.js +1 -1
- package/dist/esm/zonos-country-select_4.entry.js +94 -46
- package/dist/esm/zonos-elements.js +1 -1
- package/dist/esm/zonos-empty-state-payment_4.entry.js +3 -3
- package/dist/esm/zonos-hello-dialog.entry.js +82 -24
- package/dist/esm/zonos-hello.entry.js +11 -2
- package/dist/esm/zonos-language-select_2.entry.js +1 -1
- package/dist/esm-es5/{cart-a921e0b7.js → cart-5835676d.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/localization-4c7f64e8.js +1 -0
- package/dist/esm-es5/{paypal-67d51f03.js → paypal-b4f106be.js} +1 -1
- package/dist/esm-es5/zonos-address_11.entry.js +1 -1
- package/dist/esm-es5/zonos-cart-items_14.entry.js +1 -1
- package/dist/esm-es5/zonos-checkout.entry.js +1 -1
- package/dist/esm-es5/zonos-controller.entry.js +1 -1
- package/dist/esm-es5/zonos-country-flag.entry.js +1 -1
- package/dist/esm-es5/zonos-country-select_4.entry.js +1 -1
- package/dist/esm-es5/zonos-elements.js +1 -1
- package/dist/esm-es5/zonos-empty-state-payment_4.entry.js +1 -1
- package/dist/esm-es5/zonos-hello-dialog.entry.js +1 -1
- package/dist/esm-es5/zonos-hello.entry.js +1 -1
- package/dist/esm-es5/zonos-language-select_2.entry.js +1 -1
- package/dist/scripts/index.d.ts +30 -28
- package/dist/scripts/index.js +1 -1
- package/dist/scripts/loadZonos.js +1 -1
- package/dist/scripts/zonos.js +1 -1
- package/dist/types/components/common/zonos-virtual-scroll/zonos-virtual-scroll.d.ts +49 -12
- package/dist/types/components/hello/zonos-hello/zonos-hello.d.ts +2 -0
- package/dist/types/components/hello/zonos-hello-dialog/zonos-hello-dialog.d.ts +3 -0
- package/dist/types/components/store/translationStore/strings.arabic.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.base.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.chinese.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.danish.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.dutch.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.french.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.german.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.hebrew.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.indonesian.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.italian.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.japanese.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.korean.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.norwegian.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.polish.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.portuguese.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.russian.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.spanish.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.swedish.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.turkish.d.ts +18 -6
- package/dist/types/components/store/translationStore/strings.vietnamese.d.ts +18 -6
- package/dist/types/components/utils/api/getLocaleMessages.d.ts +1 -1
- package/dist/types/components.d.ts +30 -28
- package/dist/types/types/common-ui/VirtualScroll.d.ts +1 -0
- package/dist/types/types/generated/graphql.frontend.types.d.ts +1 -1
- package/dist/types/types/generated/graphql.frontend.types.ts +1 -1
- package/dist/types/types/generated/graphql.internal.types.d.ts +7 -0
- package/dist/types/types/generated/graphql.internal.types.ts +9 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/zonos-elements/index.esm.js +1 -1
- package/dist/zonos-elements/{p-69577745.system.js → p-0de2c731.system.js} +1 -1
- package/dist/zonos-elements/{p-ee7a661d.system.entry.js → p-1aa24297.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-8debefec.system.entry.js → p-265af369.system.entry.js} +1 -1
- package/dist/zonos-elements/p-30778fde.system.entry.js +1 -0
- package/dist/zonos-elements/{p-6d467dfb.entry.js → p-3a50124e.entry.js} +1 -1
- package/dist/zonos-elements/p-3ee44728.system.js +1 -1
- package/dist/zonos-elements/p-41c1d7c4.entry.js +1 -0
- package/dist/zonos-elements/{p-87e807b4.entry.js → p-42a9557f.entry.js} +1 -1
- package/dist/zonos-elements/{p-90c185ac.entry.js → p-47e2cd31.entry.js} +1 -1
- package/dist/zonos-elements/{p-d649fb9a.system.entry.js → p-4cb8b87f.system.entry.js} +1 -1
- package/dist/zonos-elements/p-4e9c8f9e.system.js +1 -0
- package/dist/zonos-elements/p-536f69eb.entry.js +1 -0
- package/dist/zonos-elements/{p-05a91fe6.entry.js → p-5616b304.entry.js} +1 -1
- package/dist/zonos-elements/p-620deb03.system.entry.js +1 -0
- package/dist/zonos-elements/{p-dfe7d1dd.js → p-658936c9.js} +2 -2
- package/dist/zonos-elements/{p-be53e893.system.js → p-666164d9.system.js} +1 -1
- package/dist/zonos-elements/{p-28fcd277.system.js → p-91c996d3.system.js} +1 -1
- package/dist/zonos-elements/p-9f78b79e.entry.js +1 -0
- package/dist/zonos-elements/{p-f98276ed.entry.js → p-a2b55d11.entry.js} +1 -1
- package/dist/zonos-elements/{p-3c921768.system.entry.js → p-aafcd40f.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-0d7af8be.system.entry.js → p-abe218ab.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-dd0f8f06.system.entry.js → p-ba027b70.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-91fc6911.entry.js → p-bab19e2a.entry.js} +1 -1
- package/dist/zonos-elements/{p-5fbaa153.system.entry.js → p-c4e0f49a.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-dcbd57df.entry.js → p-dbd23bea.entry.js} +1 -1
- package/dist/zonos-elements/p-edcfb3a3.js +1 -0
- package/dist/zonos-elements/{p-4329f616.system.entry.js → p-f4d741de.system.entry.js} +1 -1
- package/dist/zonos-elements/{p-8e000d8d.js → p-f9664811.js} +1 -1
- package/dist/zonos-elements/zonos-elements.esm.js +1 -1
- package/package.json +1 -1
- package/dist/esm-es5/localization-a2b8f9ed.js +0 -1
- package/dist/zonos-elements/p-0d2df4d2.system.js +0 -1
- package/dist/zonos-elements/p-16e858f9.entry.js +0 -1
- package/dist/zonos-elements/p-20ac92e1.system.entry.js +0 -1
- package/dist/zonos-elements/p-43b72ad6.system.entry.js +0 -1
- package/dist/zonos-elements/p-8609e956.js +0 -1
- package/dist/zonos-elements/p-e0ebbefe.entry.js +0 -1
- package/dist/zonos-elements/p-ebe08e44.entry.js +0 -1
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-1c710d00.js');
|
|
6
6
|
const debounce = require('./debounce-0b9c0f8a.js');
|
|
7
|
-
const localization = require('./localization-
|
|
7
|
+
const localization = require('./localization-ff33875b.js');
|
|
8
8
|
const zonosStore = require('./zonosStore-7c1e1bc1.js');
|
|
9
9
|
const classes = require('./classes-b7918f56.js');
|
|
10
10
|
const handleFetch = require('./handleFetch-969d05d8.js');
|
|
@@ -251,19 +251,23 @@ const ZonosHello = class {
|
|
|
251
251
|
}
|
|
252
252
|
}, 1000);
|
|
253
253
|
this.watchProductCountChange = () => {
|
|
254
|
+
var _a;
|
|
254
255
|
const observer = new MutationObserver(this.handleProductCountChange);
|
|
255
256
|
observer.observe(document.body, {
|
|
256
257
|
childList: true,
|
|
257
258
|
subtree: true,
|
|
258
259
|
});
|
|
260
|
+
(_a = this.observerWatcher) === null || _a === void 0 ? void 0 : _a.push(observer);
|
|
259
261
|
};
|
|
260
262
|
this.watchPriceChange = () => {
|
|
263
|
+
var _a;
|
|
261
264
|
const observer = new MutationObserver(() => void this.displayCurrency());
|
|
262
265
|
observer.observe(document.body, {
|
|
263
266
|
attributes: true,
|
|
264
267
|
childList: true,
|
|
265
268
|
subtree: true,
|
|
266
269
|
});
|
|
270
|
+
(_a = this.observerWatcher) === null || _a === void 0 ? void 0 : _a.push(observer);
|
|
267
271
|
};
|
|
268
272
|
this.updateHelloOnPageChange = () => {
|
|
269
273
|
// If the product count changes on the same url (loading more products), update the peek message and item restrictions
|
|
@@ -348,6 +352,11 @@ const ZonosHello = class {
|
|
|
348
352
|
}
|
|
349
353
|
}, 100);
|
|
350
354
|
}
|
|
355
|
+
disconnectedCallback() {
|
|
356
|
+
var _a;
|
|
357
|
+
// disconnect all observers
|
|
358
|
+
(_a = this.observerWatcher) === null || _a === void 0 ? void 0 : _a.forEach(observer => observer.disconnect());
|
|
359
|
+
}
|
|
351
360
|
/**
|
|
352
361
|
* This method will trigger the currency conversion and display the converted value
|
|
353
362
|
* @returns void
|
|
@@ -499,7 +508,7 @@ const ZonosHello = class {
|
|
|
499
508
|
shouldFloat && 'zonos--hello-widget-float',
|
|
500
509
|
]), onClick: () => {
|
|
501
510
|
void this.changeShowDialog(!this.showDialog);
|
|
502
|
-
}, onMouseEnter: () => this.enableShowPeekMessage(), onMouseLeave: () => (this.showPeekMessage = false), ref: el => el && (this.helloRef = el) }, index.h("zonos-text", { class: "zonos--hello-message" }, this.peekMessage), selectedCountryCode && (index.h("div", { class: "zonos--hello-country-flag-wrapper" }, index.h("zonos-country-flag", { class: "zonos--hello-country-flag", countryCode: selectedCountryCode })))), index.h("div", { class: classes.classes([
|
|
511
|
+
}, onMouseEnter: () => this.enableShowPeekMessage(), onMouseLeave: () => (this.showPeekMessage = false), ref: el => el && (this.helloRef = el), type: "button" }, index.h("zonos-text", { class: "zonos--hello-message" }, this.peekMessage), selectedCountryCode && (index.h("div", { class: "zonos--hello-country-flag-wrapper" }, index.h("zonos-country-flag", { class: "zonos--hello-country-flag", countryCode: selectedCountryCode })))), index.h("div", { class: classes.classes([
|
|
503
512
|
'zonos--hello-dialog-wrapper',
|
|
504
513
|
this.mobileLocationOverride &&
|
|
505
514
|
'zonos--hello-dialog-wrapper-mobile-override',
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-1c710d00.js');
|
|
6
|
-
const localization = require('./localization-
|
|
6
|
+
const localization = require('./localization-ff33875b.js');
|
|
7
7
|
const zonosStore = require('./zonosStore-7c1e1bc1.js');
|
|
8
8
|
const ILanguage = require('./ILanguage-98b04442.js');
|
|
9
9
|
require('./handleFetch-969d05d8.js');
|
|
@@ -32,15 +32,22 @@
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
:host {
|
|
35
|
-
|
|
35
|
+
display: block;
|
|
36
|
+
overflow: auto;
|
|
37
|
+
position: relative;
|
|
36
38
|
}
|
|
37
39
|
:host .scroller {
|
|
38
40
|
display: inline-block;
|
|
41
|
+
pointer-events: none;
|
|
39
42
|
}
|
|
40
43
|
:host .item-container {
|
|
41
|
-
position: relative;
|
|
42
44
|
display: inline-block;
|
|
45
|
+
position: absolute;
|
|
46
|
+
left: 0;
|
|
47
|
+
top: 0;
|
|
43
48
|
}
|
|
44
49
|
:host .item-container .item {
|
|
45
50
|
position: absolute;
|
|
51
|
+
top: 0;
|
|
52
|
+
left: 0;
|
|
46
53
|
}
|
|
@@ -1,67 +1,117 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
|
+
import { classes } from "../../utils/classes";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
+
* Virtual scroll component for efficiently rendering large lists
|
|
5
|
+
*
|
|
6
|
+
* The idea is from:
|
|
4
7
|
* @ref https://github.com/beenotung/stencil-virtual-scroll/blob/master/src/components/virtual-scroll-list/virtual-scroll-list.scss
|
|
5
8
|
* @ref https://github.dev/ionic-team/ionic-framework/blob/v6.7.5/core/src/components/virtual-scroll/virtual-scroll.tsx
|
|
6
9
|
*/
|
|
7
10
|
export class ZonosVirtualScroll {
|
|
8
11
|
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* Buffer size in pixels for pre-rendering items outside viewport
|
|
14
|
+
* @default 100
|
|
15
|
+
*/
|
|
16
|
+
this.buffer = 100;
|
|
17
|
+
/**
|
|
18
|
+
* Current scroll position
|
|
19
|
+
*/
|
|
9
20
|
this.scrollTop = 0;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Total height of all items combined
|
|
23
|
+
*/
|
|
24
|
+
this.totalHeight = 0;
|
|
25
|
+
/**
|
|
26
|
+
* Client dimensions of the scroll container
|
|
27
|
+
*/
|
|
28
|
+
this.containerDimensions = {
|
|
29
|
+
height: 0,
|
|
30
|
+
width: 0,
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Update container dimensions when element size changes
|
|
34
|
+
*/
|
|
35
|
+
this.updateContainerDimensions = () => {
|
|
36
|
+
this.containerDimensions = {
|
|
37
|
+
height: this.element.clientHeight,
|
|
38
|
+
width: this.element.clientWidth,
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Handle scroll events
|
|
43
|
+
*/
|
|
44
|
+
this.handleScroll = () => {
|
|
45
|
+
this.scrollTop = this.element.scrollTop;
|
|
13
46
|
};
|
|
14
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Watch for changes in item heights or fallback height and recalculate total height
|
|
50
|
+
*/
|
|
15
51
|
updateTotalHeight() {
|
|
16
|
-
this.totalHeight = this.itemHeights.reduce((
|
|
52
|
+
this.totalHeight = this.itemHeights.reduce((accumulator, height) => accumulator + (height || this.fallbackItemHeight), 0);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Calculate which items should be rendered based on current scroll position
|
|
56
|
+
*/
|
|
57
|
+
getVisibleItems() {
|
|
58
|
+
const { width: containerWidth } = this.containerDimensions;
|
|
59
|
+
const visibleItems = [];
|
|
60
|
+
let accumulatedHeight = 0;
|
|
61
|
+
const itemCount = this.itemHeights.length;
|
|
62
|
+
for (let index = 0; index < itemCount; index++) {
|
|
63
|
+
const itemHeight = this.itemHeights[index] || this.fallbackItemHeight;
|
|
64
|
+
// Skip items that are above the viewport (with buffer)
|
|
65
|
+
if (this.scrollTop > accumulatedHeight + itemHeight + this.buffer) {
|
|
66
|
+
accumulatedHeight += itemHeight;
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
// Stop rendering items that are below the viewport (with buffer)
|
|
70
|
+
if (this.scrollTop + this.containerDimensions.height <
|
|
71
|
+
accumulatedHeight - this.buffer) {
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
const itemElement = (h("div", { class: classes(['item']), key: `virtual-item-${index}`, style: {
|
|
75
|
+
height: `${itemHeight}px`,
|
|
76
|
+
transform: `translateY(${accumulatedHeight}px)`,
|
|
77
|
+
width: this.itemWidth
|
|
78
|
+
? `${this.itemWidth}px`
|
|
79
|
+
: `${containerWidth}px`,
|
|
80
|
+
} }, this.renderItem(index)));
|
|
81
|
+
visibleItems.push({
|
|
82
|
+
element: itemElement,
|
|
83
|
+
index,
|
|
84
|
+
});
|
|
85
|
+
accumulatedHeight += itemHeight;
|
|
86
|
+
}
|
|
87
|
+
return visibleItems;
|
|
17
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Component lifecycle - setup event listeners and initial calculations
|
|
91
|
+
*/
|
|
18
92
|
connectedCallback() {
|
|
19
|
-
this.
|
|
93
|
+
this.element.addEventListener('scroll', this.handleScroll);
|
|
94
|
+
window.addEventListener('resize', this.updateContainerDimensions);
|
|
95
|
+
// Initial setup
|
|
20
96
|
this.updateTotalHeight();
|
|
97
|
+
this.updateContainerDimensions();
|
|
21
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Component lifecycle - cleanup event listeners
|
|
101
|
+
*/
|
|
22
102
|
disconnectedCallback() {
|
|
23
|
-
this.
|
|
103
|
+
this.element.removeEventListener('scroll', this.handleScroll);
|
|
104
|
+
window.removeEventListener('resize', this.updateContainerDimensions);
|
|
24
105
|
}
|
|
25
106
|
render() {
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
const fallbackItemHeight = this.fallbackItemHeight;
|
|
30
|
-
const N = this.itemHeights.length;
|
|
31
|
-
const scrollTop = this.scrollTop;
|
|
32
|
-
const children = [];
|
|
33
|
-
let accHeight = 0;
|
|
34
|
-
// buffer for pre-rendering for item outside of viewport
|
|
35
|
-
const buffer = 100;
|
|
36
|
-
for (let i = 0; i < N; i++) {
|
|
37
|
-
const itemHeight = heights[i] || fallbackItemHeight;
|
|
38
|
-
if (scrollTop > accHeight + itemHeight + buffer) {
|
|
39
|
-
accHeight += itemHeight;
|
|
40
|
-
continue; // this item is above the viewport
|
|
41
|
-
}
|
|
42
|
-
if (scrollTop + H < accHeight - buffer) {
|
|
43
|
-
break; // this item is below the viewport
|
|
44
|
-
}
|
|
45
|
-
const x = 0;
|
|
46
|
-
const y = accHeight;
|
|
47
|
-
children.push(h("div", { class: "item", style: {
|
|
48
|
-
height: `${itemHeight}px`,
|
|
49
|
-
transform: `translate(${x}px,${y}px)`,
|
|
50
|
-
width: this.itemWidth ? `${this.itemWidth}px` : `${W}px`,
|
|
51
|
-
} }, this.renderItem(i)));
|
|
52
|
-
accHeight += itemHeight;
|
|
53
|
-
}
|
|
54
|
-
return (h(Host, { key: '6ccfd807912b51223f249543b66552e945859a1a' }, h("div", { key: '21f05d8e9082b54f484badc6e52c3006068df401',
|
|
55
|
-
// to capture scroll action
|
|
56
|
-
class: "scroller", style: {
|
|
107
|
+
const { width: containerWidth } = this.containerDimensions;
|
|
108
|
+
const visibleItems = this.getVisibleItems();
|
|
109
|
+
return (h(Host, { key: 'ef009c7cd2e654ea2dd3d67675f221229f924ec0', class: classes(['zonos--virtual-scroll']) }, h("div", { key: 'a2831fb8251cb27b3d814e8c493e8303ac04ff1c', class: classes(['scroller']), style: {
|
|
57
110
|
height: `${this.totalHeight}px`,
|
|
58
|
-
width: `${
|
|
59
|
-
} }), h("div", { key: '
|
|
60
|
-
// to display items
|
|
61
|
-
class: "item-container", ref: el => (this.container = el), style: {
|
|
111
|
+
width: `${containerWidth}px`,
|
|
112
|
+
} }), h("div", { key: 'e36052e45224c89860b469b939898aa9861181a8', class: classes(['item-container']), style: {
|
|
62
113
|
height: `${this.totalHeight}px`,
|
|
63
|
-
|
|
64
|
-
} }, children)));
|
|
114
|
+
} }, visibleItems.map(({ element }) => element))));
|
|
65
115
|
}
|
|
66
116
|
static get is() { return "zonos-virtual-scroll"; }
|
|
67
117
|
static get encapsulation() { return "scoped"; }
|
|
@@ -81,16 +131,13 @@ export class ZonosVirtualScroll {
|
|
|
81
131
|
"type": "unknown",
|
|
82
132
|
"mutable": false,
|
|
83
133
|
"complexType": {
|
|
84
|
-
"original": "
|
|
134
|
+
"original": "VirtualScrollRenderItem",
|
|
85
135
|
"resolved": "(itemIndex: number) => HTMLElement | HTMLElement[] | Promise<HTMLElement> | Promise<HTMLElement[]> | Promise<HTMLElement>[]",
|
|
86
136
|
"references": {
|
|
87
|
-
"
|
|
88
|
-
"location": "
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
"Promise": {
|
|
92
|
-
"location": "global",
|
|
93
|
-
"id": "global::Promise"
|
|
137
|
+
"VirtualScrollRenderItem": {
|
|
138
|
+
"location": "import",
|
|
139
|
+
"path": "src/types/common-ui/VirtualScroll",
|
|
140
|
+
"id": "src/types/common-ui/VirtualScroll.ts::VirtualScrollRenderItem"
|
|
94
141
|
}
|
|
95
142
|
}
|
|
96
143
|
},
|
|
@@ -98,7 +145,7 @@ export class ZonosVirtualScroll {
|
|
|
98
145
|
"optional": false,
|
|
99
146
|
"docs": {
|
|
100
147
|
"tags": [],
|
|
101
|
-
"text": "
|
|
148
|
+
"text": "Function to render each item in the virtual scroll"
|
|
102
149
|
},
|
|
103
150
|
"getter": false,
|
|
104
151
|
"setter": false
|
|
@@ -115,7 +162,7 @@ export class ZonosVirtualScroll {
|
|
|
115
162
|
"optional": true,
|
|
116
163
|
"docs": {
|
|
117
164
|
"tags": [],
|
|
118
|
-
"text": "Width of each item"
|
|
165
|
+
"text": "Width of each item in pixels"
|
|
119
166
|
},
|
|
120
167
|
"getter": false,
|
|
121
168
|
"setter": false,
|
|
@@ -134,7 +181,7 @@ export class ZonosVirtualScroll {
|
|
|
134
181
|
"optional": false,
|
|
135
182
|
"docs": {
|
|
136
183
|
"tags": [],
|
|
137
|
-
"text": "
|
|
184
|
+
"text": "Fallback height used when specific item height is not provided"
|
|
138
185
|
},
|
|
139
186
|
"getter": false,
|
|
140
187
|
"setter": false,
|
|
@@ -153,21 +200,44 @@ export class ZonosVirtualScroll {
|
|
|
153
200
|
"optional": false,
|
|
154
201
|
"docs": {
|
|
155
202
|
"tags": [],
|
|
156
|
-
"text": "
|
|
203
|
+
"text": "Array of heights for each item in pixels"
|
|
157
204
|
},
|
|
158
205
|
"getter": false,
|
|
159
206
|
"setter": false
|
|
207
|
+
},
|
|
208
|
+
"buffer": {
|
|
209
|
+
"type": "number",
|
|
210
|
+
"mutable": false,
|
|
211
|
+
"complexType": {
|
|
212
|
+
"original": "number",
|
|
213
|
+
"resolved": "number",
|
|
214
|
+
"references": {}
|
|
215
|
+
},
|
|
216
|
+
"required": false,
|
|
217
|
+
"optional": false,
|
|
218
|
+
"docs": {
|
|
219
|
+
"tags": [{
|
|
220
|
+
"name": "default",
|
|
221
|
+
"text": "100"
|
|
222
|
+
}],
|
|
223
|
+
"text": "Buffer size in pixels for pre-rendering items outside viewport"
|
|
224
|
+
},
|
|
225
|
+
"getter": false,
|
|
226
|
+
"setter": false,
|
|
227
|
+
"attribute": "buffer",
|
|
228
|
+
"reflect": false,
|
|
229
|
+
"defaultValue": "100"
|
|
160
230
|
}
|
|
161
231
|
};
|
|
162
232
|
}
|
|
163
233
|
static get states() {
|
|
164
234
|
return {
|
|
165
|
-
"container": {},
|
|
166
235
|
"scrollTop": {},
|
|
167
|
-
"totalHeight": {}
|
|
236
|
+
"totalHeight": {},
|
|
237
|
+
"containerDimensions": {}
|
|
168
238
|
};
|
|
169
239
|
}
|
|
170
|
-
static get elementRef() { return "
|
|
240
|
+
static get elementRef() { return "element"; }
|
|
171
241
|
static get watchers() {
|
|
172
242
|
return [{
|
|
173
243
|
"propName": "itemHeights",
|
|
@@ -143,19 +143,23 @@ export class ZonosHello {
|
|
|
143
143
|
}
|
|
144
144
|
}, 1000);
|
|
145
145
|
this.watchProductCountChange = () => {
|
|
146
|
+
var _a;
|
|
146
147
|
const observer = new MutationObserver(this.handleProductCountChange);
|
|
147
148
|
observer.observe(document.body, {
|
|
148
149
|
childList: true,
|
|
149
150
|
subtree: true,
|
|
150
151
|
});
|
|
152
|
+
(_a = this.observerWatcher) === null || _a === void 0 ? void 0 : _a.push(observer);
|
|
151
153
|
};
|
|
152
154
|
this.watchPriceChange = () => {
|
|
155
|
+
var _a;
|
|
153
156
|
const observer = new MutationObserver(() => void this.displayCurrency());
|
|
154
157
|
observer.observe(document.body, {
|
|
155
158
|
attributes: true,
|
|
156
159
|
childList: true,
|
|
157
160
|
subtree: true,
|
|
158
161
|
});
|
|
162
|
+
(_a = this.observerWatcher) === null || _a === void 0 ? void 0 : _a.push(observer);
|
|
159
163
|
};
|
|
160
164
|
this.updateHelloOnPageChange = () => {
|
|
161
165
|
// If the product count changes on the same url (loading more products), update the peek message and item restrictions
|
|
@@ -240,6 +244,11 @@ export class ZonosHello {
|
|
|
240
244
|
}
|
|
241
245
|
}, 100);
|
|
242
246
|
}
|
|
247
|
+
disconnectedCallback() {
|
|
248
|
+
var _a;
|
|
249
|
+
// disconnect all observers
|
|
250
|
+
(_a = this.observerWatcher) === null || _a === void 0 ? void 0 : _a.forEach(observer => observer.disconnect());
|
|
251
|
+
}
|
|
243
252
|
/**
|
|
244
253
|
* This method will trigger the currency conversion and display the converted value
|
|
245
254
|
* @returns void
|
|
@@ -391,7 +400,7 @@ export class ZonosHello {
|
|
|
391
400
|
shouldFloat && 'zonos--hello-widget-float',
|
|
392
401
|
]), onClick: () => {
|
|
393
402
|
void this.changeShowDialog(!this.showDialog);
|
|
394
|
-
}, onMouseEnter: () => this.enableShowPeekMessage(), onMouseLeave: () => (this.showPeekMessage = false), ref: el => el && (this.helloRef = el) }, h("zonos-text", { class: "zonos--hello-message" }, this.peekMessage), selectedCountryCode && (h("div", { class: "zonos--hello-country-flag-wrapper" }, h("zonos-country-flag", { class: "zonos--hello-country-flag", countryCode: selectedCountryCode })))), h("div", { class: classes([
|
|
403
|
+
}, onMouseEnter: () => this.enableShowPeekMessage(), onMouseLeave: () => (this.showPeekMessage = false), ref: el => el && (this.helloRef = el), type: "button" }, h("zonos-text", { class: "zonos--hello-message" }, this.peekMessage), selectedCountryCode && (h("div", { class: "zonos--hello-country-flag-wrapper" }, h("zonos-country-flag", { class: "zonos--hello-country-flag", countryCode: selectedCountryCode })))), h("div", { class: classes([
|
|
395
404
|
'zonos--hello-dialog-wrapper',
|
|
396
405
|
this.mobileLocationOverride &&
|
|
397
406
|
'zonos--hello-dialog-wrapper-mobile-override',
|
|
@@ -8,6 +8,7 @@ import { currencyFormat } from "../../utils/hello/currencyConversion/currencyFor
|
|
|
8
8
|
import { getHasMoreSpaceAbove } from "../../utils/hello/getHasMoreSpaceAbove";
|
|
9
9
|
import { getHasMoreSpaceOnRight } from "../../utils/hello/getHasMoreSpaceOnRight";
|
|
10
10
|
import { wrapStringWithLink } from "../../utils/wrapStringWithLink";
|
|
11
|
+
import { euCountryCodes } from "../../../types/checkout/Tax";
|
|
11
12
|
// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
|
|
12
13
|
import BagIcon from "./assets/bagIcon.svg";
|
|
13
14
|
// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
|
|
@@ -20,10 +21,6 @@ import MessageIcon from "./assets/messageIcon.svg";
|
|
|
20
21
|
import MoneyIcon from "./assets/moneyIcon.svg";
|
|
21
22
|
// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
|
|
22
23
|
import RemoveIcon from "./assets/removeIcon.svg";
|
|
23
|
-
const dutyTaxMessage_AU_lowValueGST = `${translate('The low-value GST law passed July 1st, 2018 applies to this retailer.')} ${wrapStringWithLink({
|
|
24
|
-
href: 'https://zonos.com/docs/global-ecommerce/landed-cost/tax-remittance/australia-gst',
|
|
25
|
-
text: translate('Learn more.'),
|
|
26
|
-
})}`;
|
|
27
24
|
export class ZonosHelloDialog {
|
|
28
25
|
constructor() {
|
|
29
26
|
/**
|
|
@@ -87,18 +84,25 @@ export class ZonosHelloDialog {
|
|
|
87
84
|
if (!countryCode || !this.hasTaxId()) {
|
|
88
85
|
return false;
|
|
89
86
|
}
|
|
90
|
-
|
|
87
|
+
const countryCodes = [
|
|
88
|
+
'AU',
|
|
89
|
+
'NZ',
|
|
90
|
+
'GB',
|
|
91
|
+
'NO',
|
|
92
|
+
'SG',
|
|
93
|
+
...euCountryCodes,
|
|
94
|
+
];
|
|
95
|
+
return countryCodes.includes(countryCode);
|
|
91
96
|
};
|
|
92
97
|
this.getDutyMessage = () => {
|
|
93
|
-
const
|
|
98
|
+
const countryLandedCost = localizationStore.countryLandedCost;
|
|
94
99
|
// Our Robby API spells deminimis wrong here
|
|
95
100
|
const dutyDeminimis = (countryLandedCost === null || countryLandedCost === void 0 ? void 0 : countryLandedCost.dutyDeminimus)
|
|
96
101
|
? currencyFormat({ amount: countryLandedCost.dutyDeminimus })
|
|
97
102
|
: null;
|
|
98
103
|
// If deminimis is undefined or null, assume it's $0
|
|
99
|
-
return dutyDeminimis
|
|
100
|
-
|
|
101
|
-
? translate('Spend [threshold] duty free.', {
|
|
104
|
+
return dutyDeminimis
|
|
105
|
+
? translate('Spend up to [threshold] duty free.', {
|
|
102
106
|
threshold: dutyDeminimis,
|
|
103
107
|
})
|
|
104
108
|
: translate('Duties will apply to all orders.');
|
|
@@ -111,15 +115,31 @@ export class ZonosHelloDialog {
|
|
|
111
115
|
: null;
|
|
112
116
|
return taxDeminimis &&
|
|
113
117
|
!this.isNoThresholdCountry(countryLandedCost === null || countryLandedCost === void 0 ? void 0 : countryLandedCost.countryCode)
|
|
114
|
-
? translate('Spend [threshold] tax free.', {
|
|
118
|
+
? translate('Spend up to [threshold] tax free.', {
|
|
115
119
|
threshold: taxDeminimis,
|
|
116
120
|
})
|
|
117
121
|
: translate('Taxes will apply to all orders.');
|
|
118
122
|
};
|
|
123
|
+
this.getEuDutyTaxMessage = (landedCost) => {
|
|
124
|
+
return [
|
|
125
|
+
`${translate('Due to the IOSS tax law, all orders will be assessed at [percentage] VAT regardless of order total.', {
|
|
126
|
+
percentage: `${landedCost.vatTaxRate * 100}%`,
|
|
127
|
+
})} ${wrapStringWithLink({
|
|
128
|
+
href: 'https://zonos.com/docs/global-ecommerce/landed-cost/tax-remittance/european-ioss',
|
|
129
|
+
text: translate('Learn more.'),
|
|
130
|
+
})}`,
|
|
131
|
+
];
|
|
132
|
+
};
|
|
119
133
|
this.getUkDutyTaxMessage = (landedCost) => {
|
|
120
134
|
if (landedCost.allowLowValueOrders) {
|
|
121
|
-
|
|
122
|
-
|
|
135
|
+
return [
|
|
136
|
+
`${translate('Due to the UK tax law, all orders will be assessed at [percentage] VAT regardless of order total.', {
|
|
137
|
+
percentage: `${landedCost.vatTaxRate * 100}%`,
|
|
138
|
+
})} ${wrapStringWithLink({
|
|
139
|
+
href: 'https://zonos.com/docs/global-ecommerce/landed-cost/tax-remittance/european-ioss',
|
|
140
|
+
text: translate('Learn more.'),
|
|
141
|
+
})}`,
|
|
142
|
+
];
|
|
123
143
|
}
|
|
124
144
|
const dutyDeminimis = landedCost.dutyDeminimus;
|
|
125
145
|
return [
|
|
@@ -131,13 +151,15 @@ export class ZonosHelloDialog {
|
|
|
131
151
|
};
|
|
132
152
|
this.getAustraliaDutyTaxMessage = (landedCost) => {
|
|
133
153
|
if (this.hasInclusivePrices()) {
|
|
134
|
-
return [
|
|
154
|
+
return [];
|
|
135
155
|
}
|
|
136
156
|
return [
|
|
137
|
-
translate('
|
|
157
|
+
`${translate('Due to the Australia tax law, all orders will be assessed at [percentage] GST regardless of order total.', {
|
|
138
158
|
percentage: `${landedCost.vatTaxRate * 100}%`,
|
|
139
|
-
})
|
|
140
|
-
|
|
159
|
+
})} ${wrapStringWithLink({
|
|
160
|
+
href: 'https://zonos.com/docs/global-ecommerce/landed-cost/tax-remittance/australia-gst',
|
|
161
|
+
text: translate('Learn more.'),
|
|
162
|
+
})}`,
|
|
141
163
|
];
|
|
142
164
|
};
|
|
143
165
|
this.getNewZealandDutyTaxMessge = (landedCost) => {
|
|
@@ -145,10 +167,38 @@ export class ZonosHelloDialog {
|
|
|
145
167
|
return null;
|
|
146
168
|
}
|
|
147
169
|
return [
|
|
148
|
-
translate('
|
|
170
|
+
`${translate('Due to the New Zealand tax law, all orders will be assessed at [percentage] GST regardless of order total.', {
|
|
149
171
|
percentage: `${landedCost.vatTaxRate * 100}%`,
|
|
150
|
-
|
|
151
|
-
|
|
172
|
+
})} ${wrapStringWithLink({
|
|
173
|
+
href: 'https://zonos.com/docs/guides/country-guides/new-zealand/new-zealand-import-taxes',
|
|
174
|
+
text: translate('Learn more.'),
|
|
175
|
+
})}`,
|
|
176
|
+
];
|
|
177
|
+
};
|
|
178
|
+
this.getNorwayDutyTaxMessage = (landedCost) => {
|
|
179
|
+
if (this.hasInclusivePrices()) {
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
return [
|
|
183
|
+
`${translate('Due to the VOEC tax law, all orders will be assessed at [percentage] VAT regardless of order total.', {
|
|
184
|
+
percentage: `${landedCost.vatTaxRate * 100}%`,
|
|
185
|
+
})} ${wrapStringWithLink({
|
|
186
|
+
href: 'https://zonos.com/docs/guides/country-guides/norway-voec-scheme',
|
|
187
|
+
text: translate('Learn more.'),
|
|
188
|
+
})}`,
|
|
189
|
+
];
|
|
190
|
+
};
|
|
191
|
+
this.getSingaporeDutyTaxMessage = (landedCost) => {
|
|
192
|
+
if (this.hasInclusivePrices()) {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
return [
|
|
196
|
+
`${translate('Due to the Singapore tax law, all orders will be assessed at [percentage] GST regardless of order total.', {
|
|
197
|
+
percentage: `${landedCost.vatTaxRate * 100}%`,
|
|
198
|
+
})} ${wrapStringWithLink({
|
|
199
|
+
href: 'https://zonos.com/docs/global-ecommerce/landed-cost/tax-remittance/singapore-gst-settings',
|
|
200
|
+
text: translate('Learn more.'),
|
|
201
|
+
})}`,
|
|
152
202
|
];
|
|
153
203
|
};
|
|
154
204
|
this.getInclusivePriceMessage = () => {
|
|
@@ -202,7 +252,15 @@ export class ZonosHelloDialog {
|
|
|
202
252
|
return this.getAustraliaDutyTaxMessage(localizationStore.countryLandedCost);
|
|
203
253
|
case 'NZ':
|
|
204
254
|
return this.getNewZealandDutyTaxMessge(localizationStore.countryLandedCost);
|
|
255
|
+
case 'NO':
|
|
256
|
+
return this.getNorwayDutyTaxMessage(localizationStore.countryLandedCost);
|
|
257
|
+
case 'SG':
|
|
258
|
+
return this.getSingaporeDutyTaxMessage(localizationStore.countryLandedCost);
|
|
205
259
|
default:
|
|
260
|
+
// show EU duty tax message if country is in EU
|
|
261
|
+
if (euCountryCodes.includes(localizationStore.countryLandedCost.countryCode)) {
|
|
262
|
+
return this.getEuDutyTaxMessage(localizationStore.countryLandedCost);
|
|
263
|
+
}
|
|
206
264
|
// show nothing
|
|
207
265
|
return null;
|
|
208
266
|
}
|
|
@@ -240,18 +298,18 @@ export class ZonosHelloDialog {
|
|
|
240
298
|
const defaultMessage = formatStringWithLinks(defaultMessageStr);
|
|
241
299
|
const currentPage = this.getCurrentPageEnum();
|
|
242
300
|
const filteredMessages = customMessages.filter(x => x.pageName === currentPage);
|
|
243
|
-
return (h(Host, { key: '
|
|
301
|
+
return (h(Host, { key: '0830447fd72c987521c1790936f64948c28e368a', class: "zonos--elements" }, h("div", { key: '945b144257ac98cd3e18484b5df7c656967ed4bb', class: classes([
|
|
244
302
|
'zonos--hello-dialog',
|
|
245
303
|
animateLeft && 'zonos--hello-dialog-animate-from-left',
|
|
246
304
|
animateFromBottom && 'zonos--hello-dialog-animate-from-bottom',
|
|
247
305
|
!!this.mobileLocationOverride &&
|
|
248
306
|
'zonos--hello-dialog-mobile-override',
|
|
249
307
|
this.isOpen && 'zonos--hello-dialog-open',
|
|
250
|
-
]), inert: !this.isOpen, ref: el => el && (this.dialogRef = el) }, !this.showCountrySelect && !this.showLanguageSelect && (h("div", { key: '
|
|
308
|
+
]), inert: !this.isOpen, ref: el => el && (this.dialogRef = el) }, !this.showCountrySelect && !this.showLanguageSelect && (h("div", { key: 'd4281bee820f6f1c0128a27a68637d9cf14bb9df' }, h("div", { key: '2eb86efbcf9a69fcad628fff00d6f4834026f720', class: "zonos--hello-dialog-content" }, h("zonos-button", { key: '54c1db50880af58304586091a2c96b63d21939b9', class: "zonos--close-button", icon: h("zonos-icon", { "aria-label": "Close Zonos Hello dialog", content: RemoveIcon }), noBackground: true, onClick: () => this.setIsOpen(false) }), h("zonos-v-stack", { key: '4814c176342c0a81379e499c9e9c9fff2611ca30', spacing: 24 }, h("zonos-country-flag", { key: 'a96e2f98b8d34d9c9b85e7b1989e6c29a9efb319', class: "zonos--hello-country-flag", countryCode: selectedCountryCode }), h("zonos-v-stack", { key: 'bdfcfa7d339c007df770101d8a63433d40be6ce2', class: "zonos--hello-dialog-header", spacing: 4 }, h("zonos-text", { key: '7bebb2baef3b43444325b8755d9de41f7617a30a', type: "boldSubheader" }, welcomeMessage), h("zonos-text", { key: 'cc5e7c2dda01e545a1d85bbbb1e5cab53ab27574', innerHTML: defaultMessage, textColor: "gray-800" })), h("zonos-v-stack", { key: 'dbd3743ea89e59796b8f0a7c90eb4bf2564212ad', spacing: 8 }, this.restrictedItems.map(item => {
|
|
251
309
|
var _a;
|
|
252
310
|
return item && (h("zonos-banner", { bannerTitle: item.name, intent: "error" }, (_a = item.itemRestrictions) === null || _a === void 0 ? void 0 : _a.map(x => (h("zonos-text", { textColor: "red-800" }, x === null || x === void 0 ? void 0 : x.note)))));
|
|
253
|
-
}), h("zonos-card", { key: '
|
|
254
|
-
additionalInformation.map(info => (h("div", { class: "zonos--flex-message" }, h("zonos-icon", { "aria-label": "Additional information for buying goods from selected country", content: BagIcon }), h("zonos-text", { innerHTML: info })))))), filteredMessages.map(x => (h("zonos-custom-message", { icon: MessageIcon, message: x.message })))))), h("zonos-hello-dialog-footer", { key: '
|
|
311
|
+
}), h("zonos-card", { key: '428f00f603d782b9496d40049571e3ea9dad57ba', spacing: "12px" }, h("zonos-v-stack", { key: '1433a878c9782cb57cbe85d83bdbe090d0e5d610', spacing: 12 }, hasInclusivePrices ? (h("div", { class: "zonos--flex-message" }, h("zonos-icon", { "aria-label": "Duty de minimis", content: InclusivePricingIcon }), h("zonos-text", null, inclusivePriceMessage))) : (h(Fragment, null, h("div", { class: "zonos--flex-message" }, h("zonos-icon", { "aria-label": "Duty de minimis icon", content: ImportIcon }), h("zonos-text", { "aria-label": "Duty de minimis message" }, dutyDeMinimisMessage)), h("div", { class: "zonos--flex-message" }, h("zonos-icon", { "aria-label": "Tax de minimis icon", content: MoneyIcon }), h("zonos-text", { "aria-label": "Tax de minimis message" }, taxDeMinimisMessage)))), additionalInformation === null || additionalInformation === void 0 ? void 0 :
|
|
312
|
+
additionalInformation.map(info => (h("div", { class: "zonos--flex-message" }, h("zonos-icon", { "aria-label": "Additional information for buying goods from selected country icon", content: BagIcon }), h("zonos-text", { "aria-label": `Additional information for buying goods from selected country message`, innerHTML: info })))))), filteredMessages.map(x => (h("zonos-custom-message", { icon: MessageIcon, message: x.message })))))), h("zonos-hello-dialog-footer", { key: '09e8b05e240cd995e16c0f736df6ef66d9fff511', appearanceSettings: this.appearanceSettings, setShowCountrySelect: value => this.setShowCountrySelect(value), setShowLanguageSelect: value => this.setShowLanguageSelect(value) }))), this.showCountrySelect && (h("div", { key: '1ed01c7f23d1b1f5a1e95d39e614e748ea407d6f' }, h("zonos-country-select", { key: 'b8c249f2e9f902e444b22371e9581be7ab34f07a', handleOnClose: () => this.setShowCountrySelect(false) }))), this.showLanguageSelect && (h("div", { key: 'cc6066e1e0eba08130342cef80ecdcd8c2e53e49' }, h("zonos-language-select", { key: 'c803df7ce92321f72d48a39eddcf1bbd3e279738', handleOnClose: () => this.setShowLanguageSelect(false) }))))));
|
|
255
313
|
}
|
|
256
314
|
static get is() { return "zonos-hello-dialog"; }
|
|
257
315
|
static get encapsulation() { return "shadow"; }
|
|
@@ -152,8 +152,23 @@ export const stringsArabic = {
|
|
|
152
152
|
'Due at delivery': {
|
|
153
153
|
value: 'مستحق عند التسليم',
|
|
154
154
|
},
|
|
155
|
-
'
|
|
156
|
-
value: '
|
|
155
|
+
'Due to the Australia tax law, all orders will be assessed at [percentage] GST regardless of order total.': {
|
|
156
|
+
value: 'بسبب قانون الضرائب الأسترالي، سيتم تقييم جميع الطلبات بنسبة [percentage] من ضريبة السلع والخدمات بغض النظر عن إجمالي الطلب.',
|
|
157
|
+
},
|
|
158
|
+
'Due to the IOSS tax law, all orders will be assessed at [percentage] VAT regardless of order total.': {
|
|
159
|
+
value: 'بسبب قانون الضرائب IOSS، سيتم تقييم جميع الطلبات بنسبة [percentage] ضريبة القيمة المضافة بغض النظر عن إجمالي الطلب.',
|
|
160
|
+
},
|
|
161
|
+
'Due to the New Zealand tax law, all orders will be assessed at [percentage] GST regardless of order total.': {
|
|
162
|
+
value: 'بسبب قانون الضرائب النيوزيلندي، سيتم تقييم جميع الطلبات بنسبة [percentage] من ضريبة السلع والخدمات بغض النظر عن إجمالي الطلب.',
|
|
163
|
+
},
|
|
164
|
+
'Due to the Singapore tax law, all orders will be assessed at [percentage] GST regardless of order total.': {
|
|
165
|
+
value: 'بسبب قانون الضرائب في سنغافورة، سيتم تقييم جميع الطلبات بنسبة [percentage] GST بغض النظر عن إجمالي الطلب.',
|
|
166
|
+
},
|
|
167
|
+
'Due to the UK tax law, all orders will be assessed at [percentage] VAT regardless of order total.': {
|
|
168
|
+
value: 'بسبب قانون الضرائب في المملكة المتحدة، سيتم تقييم جميع الطلبات بنسبة [percentage] ضريبة القيمة المضافة بغض النظر عن إجمالي الطلب.',
|
|
169
|
+
},
|
|
170
|
+
'Due to the VOEC tax law, all orders will be assessed at [percentage] VAT regardless of order total.': {
|
|
171
|
+
value: 'بسبب قانون الضرائب VOEC، سيتم تقييم جميع الطلبات بنسبة [percentage] ضريبة القيمة المضافة بغض النظر عن إجمالي الطلب.',
|
|
157
172
|
},
|
|
158
173
|
'Duties and taxes will be applied to items and shipping.': {
|
|
159
174
|
value: 'سيتم تطبيق الرسوم والضرائب على العناصر والشحن.',
|
|
@@ -464,11 +479,11 @@ export const stringsArabic = {
|
|
|
464
479
|
'Something went wrong.': {
|
|
465
480
|
value: 'حدث خطأ ما.',
|
|
466
481
|
},
|
|
467
|
-
'Spend [threshold] duty free.': {
|
|
468
|
-
value: 'أنفق [threshold] معفى من الرسوم الجمركية.',
|
|
482
|
+
'Spend up to [threshold] duty free.': {
|
|
483
|
+
value: 'أنفق حتى [threshold] معفى من الرسوم الجمركية.',
|
|
469
484
|
},
|
|
470
|
-
'Spend [threshold] tax free.': {
|
|
471
|
-
value: 'أنفق [threshold]
|
|
485
|
+
'Spend up to [threshold] tax free.': {
|
|
486
|
+
value: 'أنفق حتى [threshold] معفى من الضرائب.',
|
|
472
487
|
},
|
|
473
488
|
'Staging mode': {
|
|
474
489
|
value: 'وضع التدريج',
|
|
@@ -626,9 +641,6 @@ export const stringsArabic = {
|
|
|
626
641
|
Zip: {
|
|
627
642
|
value: 'الرمز البريدي',
|
|
628
643
|
},
|
|
629
|
-
'[percentage] GST due on any order above [threshold] along with an import entry transaction fee and MPI levy.': {
|
|
630
|
-
value: '[percentage] ضريبة القيمة المضافة مستحقة على أي طلب يتجاوز [threshold] بالإضافة إلى رسوم معاملة إدخال الاستيراد ورسوم MPI.',
|
|
631
|
-
},
|
|
632
644
|
'[percentage] GST due on any order above [threshold].': {
|
|
633
645
|
value: '[percentage] ضريبة القيمة المضافة مستحقة على أي طلب يتجاوز [threshold].',
|
|
634
646
|
},
|