@propeller-commerce/propeller-v2-vue-ui 0.3.24 → 0.3.26
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/CHANGELOG.md +38 -0
- package/dist/components/GridToolbar.vue.d.ts +5 -0
- package/dist/components/Menu.vue.d.ts +7 -0
- package/dist/components/ProductCard.vue.d.ts +15 -0
- package/dist/components/ProductGrid.vue.d.ts +15 -0
- package/dist/components/ProductInfo.vue.d.ts +10 -0
- package/dist/components/ProductSpecifications.vue.d.ts +5 -0
- package/dist/components/ProductTabs.vue.d.ts +6 -0
- package/dist/components/SearchBar.vue.d.ts +8 -0
- package/dist/composables/vue/useProductInfo.d.ts +10 -0
- package/dist/composables/vue/useProductSearch.d.ts +8 -0
- package/dist/context/ProductGridContext.d.ts +7 -0
- package/dist/index.cjs +248 -180
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +248 -180
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1893,8 +1893,15 @@ function useProductInfo(options) {
|
|
|
1893
1893
|
const lang = languageRef.value || "NL";
|
|
1894
1894
|
const user = options.user?.value ?? null;
|
|
1895
1895
|
const companyId = options.companyId?.value;
|
|
1896
|
+
const explicitOrderlistIds = options.orderlistIds?.value;
|
|
1896
1897
|
let orderlistIds = [];
|
|
1897
|
-
|
|
1898
|
+
let applyOrderlists = true;
|
|
1899
|
+
if (explicitOrderlistIds && explicitOrderlistIds.length > 0) {
|
|
1900
|
+
orderlistIds = explicitOrderlistIds;
|
|
1901
|
+
applyOrderlists = options.applyOrderlists?.value !== false;
|
|
1902
|
+
} else if (options.applyOrderlists?.value === false) {
|
|
1903
|
+
applyOrderlists = false;
|
|
1904
|
+
} else if (user && companyId) {
|
|
1898
1905
|
const orderlistService = index.createServices(graphqlClient).orderlist;
|
|
1899
1906
|
const searchInput = { companyIds: [companyId] };
|
|
1900
1907
|
const orderlists = await orderlistService.getOrderlists(searchInput);
|
|
@@ -1905,7 +1912,7 @@ function useProductInfo(options) {
|
|
|
1905
1912
|
const variables = {
|
|
1906
1913
|
productId,
|
|
1907
1914
|
language: lang,
|
|
1908
|
-
applyOrderlists
|
|
1915
|
+
applyOrderlists,
|
|
1909
1916
|
orderlistIds,
|
|
1910
1917
|
imageSearchFilters: imageSearchFilters ?? configuration.imageSearchFiltersGrid,
|
|
1911
1918
|
imageVariantFilters: imageVariantFilters ?? configuration.imageVariantFiltersLarge ?? configuration.imageVariantFiltersSmall,
|
|
@@ -2086,6 +2093,11 @@ function useProductSearch(options) {
|
|
|
2086
2093
|
const userId = user && "contactId" in user ? user.contactId : user && "customerId" in user ? user.customerId : void 0;
|
|
2087
2094
|
const contactId = user && "contactId" in user ? user.contactId : void 0;
|
|
2088
2095
|
const customerId = user && "customerId" in user ? user.customerId : void 0;
|
|
2096
|
+
const orderlistIdsVal = options.orderlistIds?.value;
|
|
2097
|
+
const orderlistScope = orderlistIdsVal && orderlistIdsVal.length > 0 ? {
|
|
2098
|
+
applyOrderlists: options.applyOrderlists?.value !== false,
|
|
2099
|
+
orderlistIds: orderlistIdsVal
|
|
2100
|
+
} : { applyOrderlists: false };
|
|
2089
2101
|
const categoryProductSearchInput = {
|
|
2090
2102
|
language: lang,
|
|
2091
2103
|
page: pagination.currentPage.value,
|
|
@@ -2103,7 +2115,8 @@ function useProductSearch(options) {
|
|
|
2103
2115
|
...priceFilter && { price: priceFilter },
|
|
2104
2116
|
...sortInputs.length && { sortInputs },
|
|
2105
2117
|
...companyIdRef.value && { companyId: companyIdRef.value },
|
|
2106
|
-
...userId !== void 0 && { userId }
|
|
2118
|
+
...userId !== void 0 && { userId },
|
|
2119
|
+
...orderlistScope
|
|
2107
2120
|
};
|
|
2108
2121
|
const priceCalculateProductInput = {
|
|
2109
2122
|
taxZone,
|
|
@@ -3078,7 +3091,7 @@ const _hoisted_15$s = {
|
|
|
3078
3091
|
const _hoisted_16$r = { class: "propeller-login-form__register text-center" };
|
|
3079
3092
|
const _hoisted_17$r = { class: "propeller-login-form__register-prompt text-sm text-muted-foreground mb-2" };
|
|
3080
3093
|
const _hoisted_18$p = { class: "propeller-login-form__guest text-center" };
|
|
3081
|
-
const _hoisted_19$
|
|
3094
|
+
const _hoisted_19$p = {
|
|
3082
3095
|
key: 2,
|
|
3083
3096
|
class: "propeller-login-form__footer flex flex-col gap-2 text-sm pt-3 text-center"
|
|
3084
3097
|
};
|
|
@@ -3342,7 +3355,7 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
|
3342
3355
|
])
|
|
3343
3356
|
]) : vue.createCommentVNode("", true)
|
|
3344
3357
|
])) : vue.createCommentVNode("", true),
|
|
3345
|
-
__props.accountHeaderLoginForm ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_19$
|
|
3358
|
+
__props.accountHeaderLoginForm ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_19$p, [
|
|
3346
3359
|
__props.displayForgotPasswordLink !== false ? vue.renderSlot(_ctx.$slots, "forgotPasswordLink", {
|
|
3347
3360
|
key: 0,
|
|
3348
3361
|
onClick: (e) => __props.onForgotPasswordClick?.(e),
|
|
@@ -3410,7 +3423,7 @@ const _hoisted_15$r = { class: "propeller-account-menu__user-label text-xs text-
|
|
|
3410
3423
|
const _hoisted_16$q = { class: "propeller-account-menu__user-name font-medium text-foreground truncate" };
|
|
3411
3424
|
const _hoisted_17$q = { class: "propeller-account-menu__nav" };
|
|
3412
3425
|
const _hoisted_18$o = { class: "propeller-account-menu__list space-y-0.5" };
|
|
3413
|
-
const _hoisted_19$
|
|
3426
|
+
const _hoisted_19$o = ["onClick"];
|
|
3414
3427
|
const _hoisted_20$l = { class: "propeller-account-menu__logout-wrapper mt-3 pt-3 border-t border-border" };
|
|
3415
3428
|
const _hoisted_21$j = {
|
|
3416
3429
|
key: 1,
|
|
@@ -3646,7 +3659,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
3646
3659
|
type: "button",
|
|
3647
3660
|
class: "propeller-account-menu__link flex w-full items-center gap-3 px-3 py-2 text-sm font-medium rounded-[var(--radius-control)] text-muted-foreground hover:bg-surface-hover hover:text-foreground transition-colors",
|
|
3648
3661
|
onClick: async (event) => handleMenuItemClick(link.href)
|
|
3649
|
-
}, vue.toDisplayString(link.label), 9, _hoisted_19$
|
|
3662
|
+
}, vue.toDisplayString(link.label), 9, _hoisted_19$o)
|
|
3650
3663
|
]);
|
|
3651
3664
|
}), 128))
|
|
3652
3665
|
])
|
|
@@ -3933,7 +3946,7 @@ const _hoisted_17$p = {
|
|
|
3933
3946
|
strokeWidth: 2
|
|
3934
3947
|
};
|
|
3935
3948
|
const _hoisted_18$n = { class: "propeller-add-to-cart__modal-title flex-1 text-base font-semibold text-foreground" };
|
|
3936
|
-
const _hoisted_19$
|
|
3949
|
+
const _hoisted_19$n = {
|
|
3937
3950
|
fill: "none",
|
|
3938
3951
|
viewBox: "0 0 24 24",
|
|
3939
3952
|
stroke: "currentColor",
|
|
@@ -3960,11 +3973,11 @@ const _hoisted_27$h = {
|
|
|
3960
3973
|
key: 0,
|
|
3961
3974
|
class: "propeller-add-to-cart__modal-sku text-xs text-foreground-subtle mt-0.5"
|
|
3962
3975
|
};
|
|
3963
|
-
const _hoisted_28$
|
|
3976
|
+
const _hoisted_28$h = {
|
|
3964
3977
|
key: 1,
|
|
3965
3978
|
class: "propeller-add-to-cart__modal-surcharges mt-1 text-xs text-muted-foreground"
|
|
3966
3979
|
};
|
|
3967
|
-
const _hoisted_29$
|
|
3980
|
+
const _hoisted_29$h = { class: "font-medium" };
|
|
3968
3981
|
const _hoisted_30$g = { class: "propeller-add-to-cart__modal-surcharges-list mt-0.5" };
|
|
3969
3982
|
const _hoisted_31$g = { class: "flex-shrink-0 text-right" };
|
|
3970
3983
|
const _hoisted_32$f = { class: "propeller-add-to-cart__modal-quantity text-xs text-muted-foreground" };
|
|
@@ -4322,7 +4335,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
4322
4335
|
class: "propeller-add-to-cart__modal-close flex-shrink-0 text-foreground-subtle hover:text-muted-foreground focus:outline-none",
|
|
4323
4336
|
onClick: _cache[7] || (_cache[7] = async (event) => closeModal())
|
|
4324
4337
|
}, [
|
|
4325
|
-
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_19$
|
|
4338
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_19$n, [..._cache[16] || (_cache[16] = [
|
|
4326
4339
|
vue.createElementVNode("path", {
|
|
4327
4340
|
strokeLinecap: "round",
|
|
4328
4341
|
strokeLinejoin: "round",
|
|
@@ -4354,8 +4367,8 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
4354
4367
|
href: getProductUrl()
|
|
4355
4368
|
}, vue.toDisplayString(getModalName()), 9, _hoisted_26$h),
|
|
4356
4369
|
!!getModalSku() ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_27$h, " SKU: " + vue.toDisplayString(getModalSku()), 1)) : vue.createCommentVNode("", true),
|
|
4357
|
-
getModalSurcharges().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$
|
|
4358
|
-
vue.createElementVNode("span", _hoisted_29$
|
|
4370
|
+
getModalSurcharges().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$h, [
|
|
4371
|
+
vue.createElementVNode("span", _hoisted_29$h, vue.toDisplayString(getLabel("surcharges", "Additional surcharges:")), 1),
|
|
4359
4372
|
vue.createElementVNode("ul", _hoisted_30$g, [
|
|
4360
4373
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getModalSurcharges(), (line, idx) => {
|
|
4361
4374
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
@@ -4468,7 +4481,7 @@ const _hoisted_15$p = { class: "space-y-1" };
|
|
|
4468
4481
|
const _hoisted_16$o = { class: "propeller-add-to-favorite__select-label text-xs text-muted-foreground" };
|
|
4469
4482
|
const _hoisted_17$o = ["value"];
|
|
4470
4483
|
const _hoisted_18$m = ["value"];
|
|
4471
|
-
const _hoisted_19$
|
|
4484
|
+
const _hoisted_19$m = ["disabled"];
|
|
4472
4485
|
const _hoisted_20$j = {
|
|
4473
4486
|
key: 2,
|
|
4474
4487
|
class: "propeller-add-to-favorite__empty py-4 text-center text-muted-foreground text-sm"
|
|
@@ -4738,7 +4751,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4738
4751
|
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
4739
4752
|
vue.createTextVNode(vue.toDisplayString(getLabel("addToFavorites", "Add to favorites")), 1)
|
|
4740
4753
|
], 64))
|
|
4741
|
-
], 8, _hoisted_19$
|
|
4754
|
+
], 8, _hoisted_19$m)
|
|
4742
4755
|
])) : vue.createCommentVNode("", true),
|
|
4743
4756
|
getMemberLists().length === 0 && getNonMemberLists().length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$j, vue.toDisplayString(getLabel(
|
|
4744
4757
|
"noLists",
|
|
@@ -4790,7 +4803,7 @@ const _hoisted_16$n = {
|
|
|
4790
4803
|
};
|
|
4791
4804
|
const _hoisted_17$n = { class: "space-y-4" };
|
|
4792
4805
|
const _hoisted_18$l = { class: "grid grid-cols-2 gap-4" };
|
|
4793
|
-
const _hoisted_19$
|
|
4806
|
+
const _hoisted_19$l = { class: "block text-sm font-medium mb-1" };
|
|
4794
4807
|
const _hoisted_20$i = ["value"];
|
|
4795
4808
|
const _hoisted_21$h = { value: "M" };
|
|
4796
4809
|
const _hoisted_22$h = { value: "F" };
|
|
@@ -4799,8 +4812,8 @@ const _hoisted_24$g = { class: "block text-sm font-medium mb-1" };
|
|
|
4799
4812
|
const _hoisted_25$g = ["value"];
|
|
4800
4813
|
const _hoisted_26$g = { class: "grid grid-cols-3 gap-4" };
|
|
4801
4814
|
const _hoisted_27$g = { class: "block text-sm font-medium mb-1" };
|
|
4802
|
-
const _hoisted_28$
|
|
4803
|
-
const _hoisted_29$
|
|
4815
|
+
const _hoisted_28$g = ["value"];
|
|
4816
|
+
const _hoisted_29$g = { class: "block text-sm font-medium mb-1" };
|
|
4804
4817
|
const _hoisted_30$f = ["value"];
|
|
4805
4818
|
const _hoisted_31$f = { class: "block text-sm font-medium mb-1" };
|
|
4806
4819
|
const _hoisted_32$e = ["value"];
|
|
@@ -5200,7 +5213,7 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
5200
5213
|
vue.createElementVNode("div", _hoisted_17$n, [
|
|
5201
5214
|
vue.createElementVNode("div", _hoisted_18$l, [
|
|
5202
5215
|
vue.createElementVNode("div", null, [
|
|
5203
|
-
vue.createElementVNode("label", _hoisted_19$
|
|
5216
|
+
vue.createElementVNode("label", _hoisted_19$l, vue.toDisplayString(getLabel("gender", "Gender")), 1),
|
|
5204
5217
|
vue.createElementVNode("select", {
|
|
5205
5218
|
class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input bg-card",
|
|
5206
5219
|
value: editGender.value,
|
|
@@ -5236,10 +5249,10 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
5236
5249
|
editFirstName.value = e.target.value;
|
|
5237
5250
|
}),
|
|
5238
5251
|
required: true
|
|
5239
|
-
}, null, 40, _hoisted_28$
|
|
5252
|
+
}, null, 40, _hoisted_28$g)
|
|
5240
5253
|
]),
|
|
5241
5254
|
vue.createElementVNode("div", null, [
|
|
5242
|
-
vue.createElementVNode("label", _hoisted_29$
|
|
5255
|
+
vue.createElementVNode("label", _hoisted_29$g, vue.toDisplayString(getLabel("middleName", "Middle Name")), 1),
|
|
5243
5256
|
vue.createElementVNode("input", {
|
|
5244
5257
|
type: "text",
|
|
5245
5258
|
class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input",
|
|
@@ -6121,7 +6134,7 @@ const _hoisted_15$n = {
|
|
|
6121
6134
|
const _hoisted_16$m = { class: "font-semibold text-foreground" };
|
|
6122
6135
|
const _hoisted_17$m = { class: "font-semibold text-foreground" };
|
|
6123
6136
|
const _hoisted_18$k = { class: "font-medium" };
|
|
6124
|
-
const _hoisted_19$
|
|
6137
|
+
const _hoisted_19$k = { class: "font-semibold text-foreground" };
|
|
6125
6138
|
const _hoisted_20$h = { class: "propeller-cart-item__options mt-3 space-y-1.5 border-l-2 border-border pl-3" };
|
|
6126
6139
|
const _hoisted_21$g = { class: "propeller-cart-item__options-label text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1" };
|
|
6127
6140
|
const _hoisted_22$g = { class: "font-medium" };
|
|
@@ -6130,8 +6143,8 @@ const _hoisted_24$f = { class: "font-semibold text-foreground" };
|
|
|
6130
6143
|
const _hoisted_25$f = { class: "propeller-cart-item__notes mt-3" };
|
|
6131
6144
|
const _hoisted_26$f = { class: "propeller-cart-item__notes-label text-xs font-medium text-muted-foreground block mb-1" };
|
|
6132
6145
|
const _hoisted_27$f = ["value", "placeholder"];
|
|
6133
|
-
const _hoisted_28$
|
|
6134
|
-
const _hoisted_29$
|
|
6146
|
+
const _hoisted_28$f = { class: "propeller-cart-item__crossupsells mt-3 pt-3 border-t border-border" };
|
|
6147
|
+
const _hoisted_29$f = { class: "propeller-cart-item__crossupsells-label text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2" };
|
|
6135
6148
|
const _hoisted_30$e = { class: "flex flex-col gap-2" };
|
|
6136
6149
|
const _hoisted_31$e = ["href", "onClick"];
|
|
6137
6150
|
const _hoisted_32$d = ["src", "alt"];
|
|
@@ -6607,7 +6620,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
6607
6620
|
vue.createElementVNode("span", _hoisted_18$k, vue.toDisplayString(getBundleItemName(bundleItem)), 1),
|
|
6608
6621
|
!!getBundleItemPrice(bundleItem) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
6609
6622
|
_cache[9] || (_cache[9] = vue.createElementVNode("div", { class: "flex-1 border-b border-dotted border-input mx-1 mb-1" }, null, -1)),
|
|
6610
|
-
vue.createElementVNode("span", _hoisted_19$
|
|
6623
|
+
vue.createElementVNode("span", _hoisted_19$k, vue.toDisplayString(getBundleItemPrice(bundleItem)), 1)
|
|
6611
6624
|
], 64)) : vue.createCommentVNode("", true)
|
|
6612
6625
|
]);
|
|
6613
6626
|
}), 128))
|
|
@@ -6656,8 +6669,8 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
6656
6669
|
cartItem: __props.cartItem,
|
|
6657
6670
|
crossupsells: getVisibleCrossupsells()
|
|
6658
6671
|
}, () => [
|
|
6659
|
-
vue.createElementVNode("div", _hoisted_28$
|
|
6660
|
-
vue.createElementVNode("p", _hoisted_29$
|
|
6672
|
+
vue.createElementVNode("div", _hoisted_28$f, [
|
|
6673
|
+
vue.createElementVNode("p", _hoisted_29$f, vue.toDisplayString(getLabel("crossupsellTitle", "You might also like")), 1),
|
|
6661
6674
|
vue.createElementVNode("div", _hoisted_30$e, [
|
|
6662
6675
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getVisibleCrossupsells(), (item, idx) => {
|
|
6663
6676
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -6861,7 +6874,7 @@ const _hoisted_18$j = {
|
|
|
6861
6874
|
class: "w-5 h-5",
|
|
6862
6875
|
strokeWidth: 2
|
|
6863
6876
|
};
|
|
6864
|
-
const _hoisted_19$
|
|
6877
|
+
const _hoisted_19$j = { class: "propeller-cart-icon__sidebar-body flex-1 overflow-y-auto px-5 py-4 space-y-4" };
|
|
6865
6878
|
const _hoisted_20$g = {
|
|
6866
6879
|
key: 0,
|
|
6867
6880
|
class: "propeller-cart-icon__empty flex flex-col items-center justify-center h-full text-center space-y-4 py-16"
|
|
@@ -6889,11 +6902,11 @@ const _hoisted_26$e = {
|
|
|
6889
6902
|
class: "propeller-cart-icon__item-name text-sm font-medium line-clamp-2"
|
|
6890
6903
|
};
|
|
6891
6904
|
const _hoisted_27$e = ["href"];
|
|
6892
|
-
const _hoisted_28$
|
|
6905
|
+
const _hoisted_28$e = {
|
|
6893
6906
|
key: 0,
|
|
6894
6907
|
class: "propeller-cart-icon__sidebar-footer px-5 py-4 border-t border-border space-y-3 bg-surface-hover"
|
|
6895
6908
|
};
|
|
6896
|
-
const _hoisted_29$
|
|
6909
|
+
const _hoisted_29$e = { class: "propeller-cart-icon__total-row flex justify-between items-center" };
|
|
6897
6910
|
const _hoisted_30$d = { class: "propeller-cart-icon__total-label text-sm font-medium text-muted-foreground" };
|
|
6898
6911
|
const _hoisted_31$d = { class: "propeller-cart-icon__total-value text-base font-bold text-foreground" };
|
|
6899
6912
|
const _hoisted_32$c = ["disabled"];
|
|
@@ -7130,7 +7143,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
7130
7143
|
])]))
|
|
7131
7144
|
], 8, _hoisted_17$l)
|
|
7132
7145
|
]),
|
|
7133
|
-
vue.createElementVNode("div", _hoisted_19$
|
|
7146
|
+
vue.createElementVNode("div", _hoisted_19$j, [
|
|
7134
7147
|
getItems().length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$g, [
|
|
7135
7148
|
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_21$f, [..._cache[14] || (_cache[14] = [
|
|
7136
7149
|
vue.createElementVNode("path", {
|
|
@@ -7201,8 +7214,8 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
7201
7214
|
className: "mt-4"
|
|
7202
7215
|
}, null, 8, ["cart"]))
|
|
7203
7216
|
]),
|
|
7204
|
-
getItems().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$
|
|
7205
|
-
vue.createElementVNode("div", _hoisted_29$
|
|
7217
|
+
getItems().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$e, [
|
|
7218
|
+
vue.createElementVNode("div", _hoisted_29$e, [
|
|
7206
7219
|
vue.createElementVNode("span", _hoisted_30$d, vue.toDisplayString(getLabel("total", "Total")), 1),
|
|
7207
7220
|
vue.createElementVNode("span", _hoisted_31$d, vue.toDisplayString(getTotalPrice()), 1)
|
|
7208
7221
|
]),
|
|
@@ -7303,7 +7316,7 @@ const _hoisted_18$i = {
|
|
|
7303
7316
|
key: 1,
|
|
7304
7317
|
class: "flex justify-between"
|
|
7305
7318
|
};
|
|
7306
|
-
const _hoisted_19$
|
|
7319
|
+
const _hoisted_19$i = { class: "font-medium" };
|
|
7307
7320
|
const _hoisted_20$f = {
|
|
7308
7321
|
key: 2,
|
|
7309
7322
|
class: "flex justify-between"
|
|
@@ -7321,8 +7334,8 @@ const _hoisted_26$d = {
|
|
|
7321
7334
|
class: "space-y-2"
|
|
7322
7335
|
};
|
|
7323
7336
|
const _hoisted_27$d = { class: "text-sm font-medium" };
|
|
7324
|
-
const _hoisted_28$
|
|
7325
|
-
const _hoisted_29$
|
|
7337
|
+
const _hoisted_28$d = ["value", "placeholder"];
|
|
7338
|
+
const _hoisted_29$d = {
|
|
7326
7339
|
key: 2,
|
|
7327
7340
|
class: "flex items-center space-x-2 pt-2"
|
|
7328
7341
|
};
|
|
@@ -7478,7 +7491,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7478
7491
|
vue.createElementVNode("span", null, vue.toDisplayString(paymentMethod.value), 1)
|
|
7479
7492
|
])) : vue.createCommentVNode("", true),
|
|
7480
7493
|
carrierName.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18$i, [
|
|
7481
|
-
vue.createElementVNode("span", _hoisted_19$
|
|
7494
|
+
vue.createElementVNode("span", _hoisted_19$i, vue.toDisplayString(getLabel("carrier", "Carrier:")), 1),
|
|
7482
7495
|
vue.createElementVNode("span", null, vue.toDisplayString(carrierName.value), 1)
|
|
7483
7496
|
])) : vue.createCommentVNode("", true),
|
|
7484
7497
|
requestDate.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$f, [
|
|
@@ -7510,9 +7523,9 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7510
7523
|
)),
|
|
7511
7524
|
placeholder: getLabel("notesPlaceholder", "Special instructions or comments"),
|
|
7512
7525
|
maxLength: 255
|
|
7513
|
-
}, null, 40, _hoisted_28$
|
|
7526
|
+
}, null, 40, _hoisted_28$d)
|
|
7514
7527
|
])) : vue.createCommentVNode("", true),
|
|
7515
|
-
showTermsAndConditions.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$
|
|
7528
|
+
showTermsAndConditions.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$d, [
|
|
7516
7529
|
vue.createElementVNode("input", {
|
|
7517
7530
|
type: "checkbox",
|
|
7518
7531
|
id: "cart-overview-terms",
|
|
@@ -7711,7 +7724,7 @@ const _hoisted_17$j = {
|
|
|
7711
7724
|
"data-row": "total-vat"
|
|
7712
7725
|
};
|
|
7713
7726
|
const _hoisted_18$h = { class: "propeller-cart-summary__label" };
|
|
7714
|
-
const _hoisted_19$
|
|
7727
|
+
const _hoisted_19$h = { class: "propeller-cart-summary__value" };
|
|
7715
7728
|
const _hoisted_20$e = {
|
|
7716
7729
|
class: "propeller-cart-summary__row propeller-cart-summary__row--total flex justify-between text-xl font-bold pt-4 border-t text-foreground mt-2",
|
|
7717
7730
|
"data-row": "total"
|
|
@@ -7898,7 +7911,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
7898
7911
|
}), 128)) : vue.createCommentVNode("", true),
|
|
7899
7912
|
showTotalVat.value && totalVat.value > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17$j, [
|
|
7900
7913
|
vue.createElementVNode("span", _hoisted_18$h, vue.toDisplayString(getLabel("totalVat", "Total VAT:")), 1),
|
|
7901
|
-
vue.createElementVNode("span", _hoisted_19$
|
|
7914
|
+
vue.createElementVNode("span", _hoisted_19$h, vue.toDisplayString(formatItemPrice(totalVat.value)), 1)
|
|
7902
7915
|
])) : vue.createCommentVNode("", true),
|
|
7903
7916
|
vue.createElementVNode("div", _hoisted_20$e, [
|
|
7904
7917
|
vue.createElementVNode("span", _hoisted_21$d, vue.toDisplayString(getLabel("total", "Total:")), 1),
|
|
@@ -8144,7 +8157,7 @@ const _hoisted_17$i = {
|
|
|
8144
8157
|
class: "propeller-cluster-card__price font-bold text-foreground text-sm whitespace-nowrap"
|
|
8145
8158
|
};
|
|
8146
8159
|
const _hoisted_18$g = { class: "propeller-cluster-card__cta w-full md:w-auto md:flex-shrink-0 md:ml-auto" };
|
|
8147
|
-
const _hoisted_19$
|
|
8160
|
+
const _hoisted_19$g = ["href"];
|
|
8148
8161
|
const _hoisted_20$d = { class: "propeller-cluster-card__body flex flex-1 flex-col gap-1.5 p-3 sm:gap-2 sm:p-4" };
|
|
8149
8162
|
const _hoisted_21$c = { class: "propeller-cluster-card__sku font-mono text-xs text-foreground-subtle" };
|
|
8150
8163
|
const _hoisted_22$c = ["href"];
|
|
@@ -8159,8 +8172,8 @@ const _hoisted_27$c = {
|
|
|
8159
8172
|
key: 6,
|
|
8160
8173
|
class: "mt-auto hidden md:block"
|
|
8161
8174
|
};
|
|
8162
|
-
const _hoisted_28$
|
|
8163
|
-
const _hoisted_29$
|
|
8175
|
+
const _hoisted_28$c = { class: "propeller-cluster-card__price pt-1" };
|
|
8176
|
+
const _hoisted_29$c = {
|
|
8164
8177
|
key: 1,
|
|
8165
8178
|
class: "font-bold text-foreground text-base sm:text-lg"
|
|
8166
8179
|
};
|
|
@@ -8533,7 +8546,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
8533
8546
|
class: "propeller-cluster-card__cta-link flex w-full items-center justify-center rounded-[var(--radius-control)] bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",
|
|
8534
8547
|
href: getClusterUrl(),
|
|
8535
8548
|
onClick: _cache[3] || (_cache[3] = async (e) => handleClusterClick(e))
|
|
8536
|
-
}, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9, _hoisted_19$
|
|
8549
|
+
}, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9, _hoisted_19$g)
|
|
8537
8550
|
])
|
|
8538
8551
|
])
|
|
8539
8552
|
])
|
|
@@ -8618,14 +8631,14 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
8618
8631
|
currency: __props.currency,
|
|
8619
8632
|
labels: __props.labels
|
|
8620
8633
|
}, () => [
|
|
8621
|
-
vue.createElementVNode("div", _hoisted_28$
|
|
8634
|
+
vue.createElementVNode("div", _hoisted_28$c, [
|
|
8622
8635
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
8623
8636
|
key: 0,
|
|
8624
8637
|
price: __props.cluster.defaultProduct?.price,
|
|
8625
8638
|
"include-tax": resolvedIncludeTax.value,
|
|
8626
8639
|
currency: __props.currency,
|
|
8627
8640
|
labels: __props.labels
|
|
8628
|
-
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_29$
|
|
8641
|
+
}, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_29$c, vue.toDisplayString(getClusterPrice()), 1))
|
|
8629
8642
|
])
|
|
8630
8643
|
])
|
|
8631
8644
|
])) : vue.createCommentVNode("", true)
|
|
@@ -8727,7 +8740,7 @@ const _hoisted_18$f = {
|
|
|
8727
8740
|
key: 5,
|
|
8728
8741
|
class: "propeller-cluster-configurator__options flex flex-wrap gap-2"
|
|
8729
8742
|
};
|
|
8730
|
-
const _hoisted_19$
|
|
8743
|
+
const _hoisted_19$f = ["disabled", "onClick", "data-selected"];
|
|
8731
8744
|
const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
8732
8745
|
__name: "ClusterConfigurator",
|
|
8733
8746
|
props: {
|
|
@@ -9121,7 +9134,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
|
|
|
9121
9134
|
onClick: async (event) => handleAttributeSelect(setting.name, val),
|
|
9122
9135
|
"data-selected": setting.selectedValue === val ? "true" : "false",
|
|
9123
9136
|
class: vue.normalizeClass(`propeller-cluster-configurator__chip px-3 py-1.5 rounded-[var(--radius-container)] border text-sm font-medium transition-colors ${setting.disabled ? "opacity-50 cursor-not-allowed border-border text-foreground-subtle" : setting.selectedValue === val ? "border-secondary bg-secondary/5 text-secondary cursor-pointer" : "border-border text-muted-foreground hover:border-secondary/30 cursor-pointer"}`)
|
|
9124
|
-
}, vue.toDisplayString(val), 11, _hoisted_19$
|
|
9137
|
+
}, vue.toDisplayString(val), 11, _hoisted_19$f);
|
|
9125
9138
|
}), 128))
|
|
9126
9139
|
])) : vue.createCommentVNode("", true)
|
|
9127
9140
|
], 8, _hoisted_2$y);
|
|
@@ -9917,7 +9930,7 @@ const _hoisted_17$g = {
|
|
|
9917
9930
|
"data-stock": "out"
|
|
9918
9931
|
};
|
|
9919
9932
|
const _hoisted_18$e = { class: "propeller-favorite-list-item__price text-base font-bold text-foreground whitespace-nowrap flex-shrink-0" };
|
|
9920
|
-
const _hoisted_19$
|
|
9933
|
+
const _hoisted_19$e = ["href"];
|
|
9921
9934
|
const _hoisted_20$c = ["title"];
|
|
9922
9935
|
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
9923
9936
|
__name: "FavoriteListItem",
|
|
@@ -10178,7 +10191,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
10178
10191
|
class: "propeller-favorite-list-item__view-cluster inline-flex items-center justify-center rounded-[var(--radius-control)] bg-secondary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-secondary/90 whitespace-nowrap",
|
|
10179
10192
|
href: getItemUrl(),
|
|
10180
10193
|
onClick: _cache[2] || (_cache[2] = async (e) => handleItemClick(e))
|
|
10181
|
-
}, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9, _hoisted_19$
|
|
10194
|
+
}, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9, _hoisted_19$e)) : vue.createCommentVNode("", true),
|
|
10182
10195
|
__props.showDelete !== false ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
10183
10196
|
key: 2,
|
|
10184
10197
|
type: "button",
|
|
@@ -10404,7 +10417,7 @@ const _hoisted_15$f = {
|
|
|
10404
10417
|
const _hoisted_16$f = { class: "propeller-favorite-list-details__floating-bar-inner flex items-center justify-between gap-4 px-6 py-4" };
|
|
10405
10418
|
const _hoisted_17$f = { class: "propeller-favorite-list-details__floating-bar-status flex items-center gap-2" };
|
|
10406
10419
|
const _hoisted_18$d = ["checked"];
|
|
10407
|
-
const _hoisted_19$
|
|
10420
|
+
const _hoisted_19$d = {
|
|
10408
10421
|
for: "favorite-list-select-all-floating",
|
|
10409
10422
|
class: "text-sm font-medium cursor-pointer select-none"
|
|
10410
10423
|
};
|
|
@@ -10416,8 +10429,8 @@ const _hoisted_24$b = { class: "propeller-favorite-list-details__modal-header bo
|
|
|
10416
10429
|
const _hoisted_25$b = { class: "propeller-favorite-list-details__modal-title text-lg font-bold" };
|
|
10417
10430
|
const _hoisted_26$b = { class: "propeller-favorite-list-details__modal-body px-6 py-4 space-y-4" };
|
|
10418
10431
|
const _hoisted_27$b = { class: "propeller-favorite-list-details__search-input-wrapper relative" };
|
|
10419
|
-
const _hoisted_28$
|
|
10420
|
-
const _hoisted_29$
|
|
10432
|
+
const _hoisted_28$b = ["placeholder", "value"];
|
|
10433
|
+
const _hoisted_29$b = ["aria-label"];
|
|
10421
10434
|
const _hoisted_30$a = { class: "propeller-favorite-list-details__search-results max-h-80 overflow-y-auto" };
|
|
10422
10435
|
const _hoisted_31$a = {
|
|
10423
10436
|
key: 0,
|
|
@@ -10945,7 +10958,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
10945
10958
|
checked: isAllPageSelected(),
|
|
10946
10959
|
onChange: _cache[2] || (_cache[2] = ($event) => togglePageSelectAll())
|
|
10947
10960
|
}, null, 40, _hoisted_18$d),
|
|
10948
|
-
vue.createElementVNode("label", _hoisted_19$
|
|
10961
|
+
vue.createElementVNode("label", _hoisted_19$d, vue.toDisplayString(getLabel("selectAll", "Select all")), 1),
|
|
10949
10962
|
vue.createElementVNode("span", _hoisted_20$b, vue.toDisplayString(selectedIds.value.size) + " " + vue.toDisplayString(getLabel("ofWord", "of")) + " " + vue.toDisplayString(allItems.value.length) + " " + vue.toDisplayString(getLabel("itemsSelected", "items selected")), 1)
|
|
10950
10963
|
]),
|
|
10951
10964
|
vue.createElementVNode("div", _hoisted_21$b, [
|
|
@@ -11035,7 +11048,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
11035
11048
|
value: vue.unref(searchTerm),
|
|
11036
11049
|
onInput: _cache[5] || (_cache[5] = ($event) => onSearchInput($event)),
|
|
11037
11050
|
autofocus: ""
|
|
11038
|
-
}, null, 40, _hoisted_28$
|
|
11051
|
+
}, null, 40, _hoisted_28$b),
|
|
11039
11052
|
vue.unref(searchTerm) ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
11040
11053
|
key: 0,
|
|
11041
11054
|
type: "button",
|
|
@@ -11067,7 +11080,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
11067
11080
|
y2: "18"
|
|
11068
11081
|
})
|
|
11069
11082
|
], -1)
|
|
11070
|
-
])], 8, _hoisted_29$
|
|
11083
|
+
])], 8, _hoisted_29$b)) : vue.createCommentVNode("", true)
|
|
11071
11084
|
]),
|
|
11072
11085
|
vue.createElementVNode("div", _hoisted_30$a, [
|
|
11073
11086
|
vue.unref(searchLoading) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_31$a, vue.toDisplayString(getLabel("searching", "Searching...")), 1)) : vue.createCommentVNode("", true),
|
|
@@ -11160,7 +11173,7 @@ const _hoisted_16$e = {
|
|
|
11160
11173
|
};
|
|
11161
11174
|
const _hoisted_17$e = { class: "flex items-center gap-2" };
|
|
11162
11175
|
const _hoisted_18$c = { class: "propeller-favorite-lists__name text-xl font-semibold" };
|
|
11163
|
-
const _hoisted_19$
|
|
11176
|
+
const _hoisted_19$c = {
|
|
11164
11177
|
key: 0,
|
|
11165
11178
|
class: "propeller-favorite-lists__default-badge inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-primary/10 text-primary"
|
|
11166
11179
|
};
|
|
@@ -11184,8 +11197,8 @@ const _hoisted_26$a = {
|
|
|
11184
11197
|
class: "propeller-favorite-lists__empty border border-border rounded-[var(--radius-container)] p-12 text-center space-y-4"
|
|
11185
11198
|
};
|
|
11186
11199
|
const _hoisted_27$a = { class: "propeller-favorite-lists__empty-title text-lg font-medium" };
|
|
11187
|
-
const _hoisted_28$
|
|
11188
|
-
const _hoisted_29$
|
|
11200
|
+
const _hoisted_28$a = { class: "propeller-favorite-lists__empty-message text-muted-foreground" };
|
|
11201
|
+
const _hoisted_29$a = {
|
|
11189
11202
|
key: 3,
|
|
11190
11203
|
class: "propeller-favorite-lists__create-modal fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50 p-4"
|
|
11191
11204
|
};
|
|
@@ -11436,7 +11449,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11436
11449
|
vue.unref(editingListId) !== String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$e, [
|
|
11437
11450
|
vue.createElementVNode("div", _hoisted_17$e, [
|
|
11438
11451
|
vue.createElementVNode("span", _hoisted_18$c, vue.toDisplayString(list.name), 1),
|
|
11439
|
-
__props.showDefaultIndicator !== false && list.isDefault ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19$
|
|
11452
|
+
__props.showDefaultIndicator !== false && list.isDefault ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19$c, vue.toDisplayString(getLabel("defaultBadge", "Default")), 1)) : vue.createCommentVNode("", true)
|
|
11440
11453
|
]),
|
|
11441
11454
|
vue.createElementVNode("div", _hoisted_20$a, [
|
|
11442
11455
|
__props.showLastModified !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21$a, [
|
|
@@ -11579,7 +11592,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11579
11592
|
], -1)),
|
|
11580
11593
|
vue.createElementVNode("div", null, [
|
|
11581
11594
|
vue.createElementVNode("p", _hoisted_27$a, vue.toDisplayString(getLabel("noLists", "No favorite lists")), 1),
|
|
11582
|
-
vue.createElementVNode("p", _hoisted_28$
|
|
11595
|
+
vue.createElementVNode("p", _hoisted_28$a, vue.toDisplayString(getLabel(
|
|
11583
11596
|
"noListsDescription",
|
|
11584
11597
|
"Start by creating a new list to save your items."
|
|
11585
11598
|
)), 1)
|
|
@@ -11593,7 +11606,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11593
11606
|
}, vue.toDisplayString(getLabel("createFirstList", "Create your first list")), 1)) : vue.createCommentVNode("", true)
|
|
11594
11607
|
])) : vue.createCommentVNode("", true)
|
|
11595
11608
|
], 64)) : vue.createCommentVNode("", true),
|
|
11596
|
-
showCreateModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$
|
|
11609
|
+
showCreateModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$a, [
|
|
11597
11610
|
vue.createElementVNode("div", _hoisted_30$9, [
|
|
11598
11611
|
vue.createElementVNode("div", _hoisted_31$9, [
|
|
11599
11612
|
vue.createElementVNode("h3", _hoisted_32$8, vue.toDisplayString(getLabel("createTitle", "Create New List")), 1),
|
|
@@ -11873,7 +11886,7 @@ const _hoisted_16$d = {
|
|
|
11873
11886
|
};
|
|
11874
11887
|
const _hoisted_17$d = ["checked", "onChange"];
|
|
11875
11888
|
const _hoisted_18$b = { class: "propeller-grid-filters__option-label flex-1 text-sm text-muted-foreground leading-none select-none group-hover:text-foreground" };
|
|
11876
|
-
const _hoisted_19$
|
|
11889
|
+
const _hoisted_19$b = { class: "propeller-grid-filters__option-count ml-1 text-xs text-foreground-subtle" };
|
|
11877
11890
|
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
11878
11891
|
__name: "GridFilters",
|
|
11879
11892
|
props: {
|
|
@@ -12201,7 +12214,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
12201
12214
|
}, null, 40, _hoisted_17$d),
|
|
12202
12215
|
vue.createElementVNode("span", _hoisted_18$b, [
|
|
12203
12216
|
vue.createTextVNode(vue.toDisplayString(option.value), 1),
|
|
12204
|
-
vue.createElementVNode("span", _hoisted_19$
|
|
12217
|
+
vue.createElementVNode("span", _hoisted_19$b, " (" + vue.toDisplayString(getCount(option)) + ") ", 1)
|
|
12205
12218
|
])
|
|
12206
12219
|
]);
|
|
12207
12220
|
}), 128))
|
|
@@ -12395,6 +12408,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
12395
12408
|
__name: "GridToolbar",
|
|
12396
12409
|
props: {
|
|
12397
12410
|
sortOptions: {},
|
|
12411
|
+
hidePriceSort: { type: Boolean },
|
|
12398
12412
|
defaultSort: {},
|
|
12399
12413
|
viewMode: {},
|
|
12400
12414
|
offset: {},
|
|
@@ -12488,7 +12502,8 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
12488
12502
|
}
|
|
12489
12503
|
function getSortOptions() {
|
|
12490
12504
|
const opts = props.sortOptions || [];
|
|
12491
|
-
|
|
12505
|
+
const base = opts.length > 0 ? opts : ALL_SORT_FIELDS;
|
|
12506
|
+
return props.hidePriceSort ? base.filter((f) => f !== propellerSdkV2.ProductSortField.PRICE) : base;
|
|
12492
12507
|
}
|
|
12493
12508
|
function getOffsetOptions() {
|
|
12494
12509
|
const opts = props.offset || [];
|
|
@@ -12719,7 +12734,7 @@ const _hoisted_16$b = {
|
|
|
12719
12734
|
};
|
|
12720
12735
|
const _hoisted_17$b = { class: "propeller-items-overview__item-qty flex items-center text-xs text-foreground-subtle mt-1" };
|
|
12721
12736
|
const _hoisted_18$a = { class: "flex justify-between items-start gap-2" };
|
|
12722
|
-
const _hoisted_19$
|
|
12737
|
+
const _hoisted_19$a = ["onClick"];
|
|
12723
12738
|
const _hoisted_20$9 = {
|
|
12724
12739
|
key: 1,
|
|
12725
12740
|
class: "propeller-items-overview__item-title font-medium text-sm leading-tight line-clamp-2"
|
|
@@ -12743,8 +12758,8 @@ const _hoisted_26$9 = {
|
|
|
12743
12758
|
class: "propeller-items-overview__item-options mt-1.5 space-y-1 border-l-2 border-border-subtle pl-2"
|
|
12744
12759
|
};
|
|
12745
12760
|
const _hoisted_27$9 = { class: "line-clamp-1" };
|
|
12746
|
-
const _hoisted_28$
|
|
12747
|
-
const _hoisted_29$
|
|
12761
|
+
const _hoisted_28$9 = { class: "text-foreground-subtle whitespace-nowrap ml-2" };
|
|
12762
|
+
const _hoisted_29$9 = { class: "propeller-items-overview__item-qty flex items-center text-xs text-foreground-subtle mt-1" };
|
|
12748
12763
|
const _hoisted_30$8 = ["data-in-stock"];
|
|
12749
12764
|
const _hoisted_31$8 = {
|
|
12750
12765
|
key: 1,
|
|
@@ -12953,7 +12968,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
12953
12968
|
key: 0,
|
|
12954
12969
|
class: "propeller-items-overview__item-title font-medium text-sm leading-tight cursor-pointer hover:text-secondary transition-colors line-clamp-2",
|
|
12955
12970
|
onClick: async (event) => handleItemNameClick(item)
|
|
12956
|
-
}, vue.toDisplayString(getItemName(item)), 9, _hoisted_19$
|
|
12971
|
+
}, vue.toDisplayString(getItemName(item)), 9, _hoisted_19$a)) : vue.createCommentVNode("", true),
|
|
12957
12972
|
!itemNameClickable.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_20$9, vue.toDisplayString(getItemName(item)), 1)) : vue.createCommentVNode("", true),
|
|
12958
12973
|
showPrice.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_21$9, vue.toDisplayString(formatItemPrice(getItemTotalPrice(item))), 1)) : vue.createCommentVNode("", true)
|
|
12959
12974
|
]),
|
|
@@ -12976,12 +12991,12 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
12976
12991
|
class: "propeller-items-overview__item-option flex justify-between items-center text-xs text-muted-foreground"
|
|
12977
12992
|
}, [
|
|
12978
12993
|
vue.createElementVNode("span", _hoisted_27$9, vue.toDisplayString(child.product?.names?.[0]?.value || "Option"), 1),
|
|
12979
|
-
vue.createElementVNode("span", _hoisted_28$
|
|
12994
|
+
vue.createElementVNode("span", _hoisted_28$9, vue.toDisplayString(formatItemPrice(child.totalSum || 0)), 1)
|
|
12980
12995
|
]);
|
|
12981
12996
|
}), 128))
|
|
12982
12997
|
])) : vue.createCommentVNode("", true)
|
|
12983
12998
|
]),
|
|
12984
|
-
vue.createElementVNode("div", _hoisted_29$
|
|
12999
|
+
vue.createElementVNode("div", _hoisted_29$9, [
|
|
12985
13000
|
vue.createElementVNode("span", null, vue.toDisplayString(getLabel("quantity", "Qty:")) + vue.toDisplayString(item.quantity), 1),
|
|
12986
13001
|
showAvailability.value && getItemAvailability(item) ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
12987
13002
|
key: 0,
|
|
@@ -13049,7 +13064,7 @@ const _hoisted_16$a = {
|
|
|
13049
13064
|
};
|
|
13050
13065
|
const _hoisted_17$a = ["href", "onClick"];
|
|
13051
13066
|
const _hoisted_18$9 = { class: "propeller-menu__label" };
|
|
13052
|
-
const _hoisted_19$
|
|
13067
|
+
const _hoisted_19$9 = { class: "propeller-menu__tabs flex items-center border-b border-border" };
|
|
13053
13068
|
const _hoisted_20$8 = ["data-active", "onMouseenter", "onClick"];
|
|
13054
13069
|
const _hoisted_21$8 = { class: "propeller-menu__label" };
|
|
13055
13070
|
const _hoisted_22$8 = ["onMouseenter"];
|
|
@@ -13062,8 +13077,8 @@ const _hoisted_26$8 = {
|
|
|
13062
13077
|
"data-level": "3"
|
|
13063
13078
|
};
|
|
13064
13079
|
const _hoisted_27$8 = ["href", "onClick"];
|
|
13065
|
-
const _hoisted_28$
|
|
13066
|
-
const _hoisted_29$
|
|
13080
|
+
const _hoisted_28$8 = { class: "propeller-menu__label" };
|
|
13081
|
+
const _hoisted_29$8 = {
|
|
13067
13082
|
class: "propeller-menu__list divide-y divide-border",
|
|
13068
13083
|
"data-level": "1"
|
|
13069
13084
|
};
|
|
@@ -13099,6 +13114,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13099
13114
|
menuClass: {},
|
|
13100
13115
|
menuStyle: {},
|
|
13101
13116
|
menuLinkFormat: {},
|
|
13117
|
+
getUrl: { type: Function },
|
|
13102
13118
|
onMenuItemClick: { type: Function },
|
|
13103
13119
|
labels: {},
|
|
13104
13120
|
user: {},
|
|
@@ -13147,10 +13163,12 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13147
13163
|
}
|
|
13148
13164
|
function getCategoryUrl(cat) {
|
|
13149
13165
|
const lang = infra.language || "NL";
|
|
13150
|
-
|
|
13151
|
-
|
|
13152
|
-
lang
|
|
13153
|
-
|
|
13166
|
+
const category = {
|
|
13167
|
+
categoryId: cat.categoryId,
|
|
13168
|
+
slug: [{ value: cat.slug, language: lang }]
|
|
13169
|
+
};
|
|
13170
|
+
if (props.getUrl) return props.getUrl(category);
|
|
13171
|
+
return infra.configuration?.urls?.getCategoryUrl(category, lang) ?? "#";
|
|
13154
13172
|
}
|
|
13155
13173
|
function getSubCategories(cat) {
|
|
13156
13174
|
return (cat.children || []).filter((sub) => sub.name && sub.slug);
|
|
@@ -13285,7 +13303,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13285
13303
|
key: 4,
|
|
13286
13304
|
class: vue.normalizeClass(`propeller-menu__nav propeller-menu-jumbotron hidden md:block ${__props.menuClass || ""}`)
|
|
13287
13305
|
}, [
|
|
13288
|
-
vue.createElementVNode("div", _hoisted_19$
|
|
13306
|
+
vue.createElementVNode("div", _hoisted_19$9, [
|
|
13289
13307
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuCategories.value, (l1, idx) => {
|
|
13290
13308
|
return vue.openBlock(), vue.createElementBlock("button", {
|
|
13291
13309
|
key: `l1-${l1.categoryId}-${idx}`,
|
|
@@ -13333,7 +13351,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13333
13351
|
href: getCategoryUrl(l3),
|
|
13334
13352
|
onClick: async (e) => handleItemClick(l3, e)
|
|
13335
13353
|
}, [
|
|
13336
|
-
vue.createElementVNode("span", _hoisted_28$
|
|
13354
|
+
vue.createElementVNode("span", _hoisted_28$8, vue.toDisplayString(getCategoryName(l3)), 1)
|
|
13337
13355
|
], 8, _hoisted_27$8)
|
|
13338
13356
|
]);
|
|
13339
13357
|
}), 128))
|
|
@@ -13349,7 +13367,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13349
13367
|
key: 5,
|
|
13350
13368
|
class: vue.normalizeClass(`propeller-menu__nav propeller-menu-mobile md:hidden ${__props.menuClass || ""}`)
|
|
13351
13369
|
}, [
|
|
13352
|
-
vue.createElementVNode("ul", _hoisted_29$
|
|
13370
|
+
vue.createElementVNode("ul", _hoisted_29$8, [
|
|
13353
13371
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuCategories.value, (l1, idx) => {
|
|
13354
13372
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
13355
13373
|
key: `l1-mobile-${l1.categoryId}-${idx}`,
|
|
@@ -13720,7 +13738,7 @@ const _hoisted_17$9 = {
|
|
|
13720
13738
|
class: "flex space-x-2 w-full"
|
|
13721
13739
|
};
|
|
13722
13740
|
const _hoisted_18$8 = ["value"];
|
|
13723
|
-
const _hoisted_19$
|
|
13741
|
+
const _hoisted_19$8 = { value: "" };
|
|
13724
13742
|
const _hoisted_20$7 = ["value"];
|
|
13725
13743
|
const _hoisted_21$7 = ["value"];
|
|
13726
13744
|
const _hoisted_22$7 = { value: "" };
|
|
@@ -13732,8 +13750,8 @@ const _hoisted_24$7 = {
|
|
|
13732
13750
|
const _hoisted_25$7 = ["value"];
|
|
13733
13751
|
const _hoisted_26$7 = { value: "" };
|
|
13734
13752
|
const _hoisted_27$7 = ["value"];
|
|
13735
|
-
const _hoisted_28$
|
|
13736
|
-
const _hoisted_29$
|
|
13753
|
+
const _hoisted_28$7 = { class: "propeller-order-list__filter-actions flex justify-end space-x-2" };
|
|
13754
|
+
const _hoisted_29$7 = {
|
|
13737
13755
|
key: 0,
|
|
13738
13756
|
class: "propeller-order-list__results bg-card rounded-[var(--radius-container)] shadow overflow-hidden"
|
|
13739
13757
|
};
|
|
@@ -14070,7 +14088,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
14070
14088
|
};
|
|
14071
14089
|
})
|
|
14072
14090
|
}, [
|
|
14073
|
-
vue.createElementVNode("option", _hoisted_19$
|
|
14091
|
+
vue.createElementVNode("option", _hoisted_19$8, vue.toDisplayString(getLabel("sortFieldOption", "Sort Field")), 1),
|
|
14074
14092
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(Object.values(
|
|
14075
14093
|
vue.unref(propellerSdkV2.OrderSortField)
|
|
14076
14094
|
), (sortField, index22) => {
|
|
@@ -14126,7 +14144,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
14126
14144
|
]);
|
|
14127
14145
|
}), 128))
|
|
14128
14146
|
]),
|
|
14129
|
-
vue.createElementVNode("div", _hoisted_28$
|
|
14147
|
+
vue.createElementVNode("div", _hoisted_28$7, [
|
|
14130
14148
|
vue.createElementVNode("button", {
|
|
14131
14149
|
class: "propeller-order-list__clear-btn inline-flex items-center px-4 py-2 border border-input text-sm font-medium rounded-[var(--radius-control)] shadow-sm text-muted-foreground bg-card hover:bg-surface-hover focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary",
|
|
14132
14150
|
onClick: _cache[11] || (_cache[11] = async (event) => {
|
|
@@ -14140,7 +14158,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
14140
14158
|
])
|
|
14141
14159
|
])) : vue.createCommentVNode("", true),
|
|
14142
14160
|
!vue.unref(loading) || vue.unref(orders).length > 0 ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
14143
|
-
vue.unref(orders).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$
|
|
14161
|
+
vue.unref(orders).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$7, [
|
|
14144
14162
|
vue.createElementVNode("div", _hoisted_30$6, [
|
|
14145
14163
|
vue.createElementVNode("table", _hoisted_31$6, [
|
|
14146
14164
|
vue.createElementVNode("thead", _hoisted_32$6, [
|
|
@@ -14286,7 +14304,7 @@ const _hoisted_15$8 = { class: "px-4 py-3 text-muted-foreground" };
|
|
|
14286
14304
|
const _hoisted_16$8 = { class: "px-4 py-3 text-muted-foreground" };
|
|
14287
14305
|
const _hoisted_17$8 = { class: "px-4 py-3 text-muted-foreground" };
|
|
14288
14306
|
const _hoisted_18$7 = { class: "px-4 py-3 text-right" };
|
|
14289
|
-
const _hoisted_19$
|
|
14307
|
+
const _hoisted_19$7 = ["onClick"];
|
|
14290
14308
|
const _hoisted_20$6 = { class: "flex items-center justify-between px-6 py-4 border-b" };
|
|
14291
14309
|
const _hoisted_21$6 = { class: "text-lg font-semibold" };
|
|
14292
14310
|
const _hoisted_22$6 = {
|
|
@@ -14304,8 +14322,8 @@ const _hoisted_27$6 = {
|
|
|
14304
14322
|
key: 0,
|
|
14305
14323
|
class: "propeller-order-shipments__status inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-primary/10 text-primary"
|
|
14306
14324
|
};
|
|
14307
|
-
const _hoisted_28$
|
|
14308
|
-
const _hoisted_29$
|
|
14325
|
+
const _hoisted_28$6 = { key: 1 };
|
|
14326
|
+
const _hoisted_29$6 = { class: "font-medium text-muted-foreground" };
|
|
14309
14327
|
const _hoisted_30$5 = { class: "mt-0.5" };
|
|
14310
14328
|
const _hoisted_31$5 = { class: "text-sm font-semibold mb-2" };
|
|
14311
14329
|
const _hoisted_32$5 = {
|
|
@@ -14415,7 +14433,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14415
14433
|
type: "button",
|
|
14416
14434
|
class: "text-primary hover:text-primary/80 text-sm font-medium hover:underline",
|
|
14417
14435
|
onClick: async (event) => openModal(shipment)
|
|
14418
|
-
}, vue.toDisplayString(getLabel("details", "Details")), 9, _hoisted_19$
|
|
14436
|
+
}, vue.toDisplayString(getLabel("details", "Details")), 9, _hoisted_19$7)
|
|
14419
14437
|
])
|
|
14420
14438
|
]);
|
|
14421
14439
|
}), 128))
|
|
@@ -14455,11 +14473,11 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14455
14473
|
vue.createElementVNode("span", _hoisted_25$6, vue.toDisplayString(getLabel("labelStatus", "Status")), 1),
|
|
14456
14474
|
vue.createElementVNode("p", _hoisted_26$6, [
|
|
14457
14475
|
!!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_27$6, vue.toDisplayString(activeShipment.value?.status), 1)) : vue.createCommentVNode("", true),
|
|
14458
|
-
!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_28$
|
|
14476
|
+
!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_28$6, "-")) : vue.createCommentVNode("", true)
|
|
14459
14477
|
])
|
|
14460
14478
|
]),
|
|
14461
14479
|
vue.createElementVNode("div", null, [
|
|
14462
|
-
vue.createElementVNode("span", _hoisted_29$
|
|
14480
|
+
vue.createElementVNode("span", _hoisted_29$6, vue.toDisplayString(getLabel("labelExpectedDelivery", "Expected delivery")), 1),
|
|
14463
14481
|
vue.createElementVNode("p", _hoisted_30$5, [
|
|
14464
14482
|
!!activeShipment.value?.expectedDeliveryAt ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
14465
14483
|
vue.createTextVNode(vue.toDisplayString(formatDate(activeShipment.value?.expectedDeliveryAt)), 1)
|
|
@@ -14677,7 +14695,7 @@ const _hoisted_17$7 = {
|
|
|
14677
14695
|
class: "propeller-product-bundles__condition text-xs text-muted-foreground mb-3"
|
|
14678
14696
|
};
|
|
14679
14697
|
const _hoisted_18$6 = { class: "propeller-product-bundles__pricing mb-3" };
|
|
14680
|
-
const _hoisted_19$
|
|
14698
|
+
const _hoisted_19$6 = {
|
|
14681
14699
|
key: 0,
|
|
14682
14700
|
class: "propeller-product-bundles__original-price text-foreground-subtle line-through text-sm"
|
|
14683
14701
|
};
|
|
@@ -14701,14 +14719,14 @@ const _hoisted_27$5 = {
|
|
|
14701
14719
|
stroke: "currentColor",
|
|
14702
14720
|
strokeWidth: 2
|
|
14703
14721
|
};
|
|
14704
|
-
const _hoisted_28$
|
|
14722
|
+
const _hoisted_28$5 = {
|
|
14705
14723
|
key: 1,
|
|
14706
14724
|
fill: "none",
|
|
14707
14725
|
viewBox: "0 0 24 24",
|
|
14708
14726
|
stroke: "currentColor",
|
|
14709
14727
|
strokeWidth: 2
|
|
14710
14728
|
};
|
|
14711
|
-
const _hoisted_29$
|
|
14729
|
+
const _hoisted_29$5 = {
|
|
14712
14730
|
fill: "none",
|
|
14713
14731
|
viewBox: "0 0 24 24",
|
|
14714
14732
|
stroke: "currentColor",
|
|
@@ -15000,7 +15018,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
15000
15018
|
])) : vue.createCommentVNode("", true),
|
|
15001
15019
|
!getHidePrices() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
15002
15020
|
vue.createElementVNode("div", _hoisted_18$6, [
|
|
15003
|
-
hasDiscount(bundle) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19$
|
|
15021
|
+
hasDiscount(bundle) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19$6, vue.toDisplayString(formatPrice(getOriginalPrice(bundle))), 1)) : vue.createCommentVNode("", true),
|
|
15004
15022
|
vue.createElementVNode("div", _hoisted_20$5, [
|
|
15005
15023
|
vue.createElementVNode("span", _hoisted_21$5, vue.toDisplayString(formatPrice(getBundlePrice(bundle))), 1),
|
|
15006
15024
|
vue.createElementVNode("span", _hoisted_22$5, [
|
|
@@ -15051,7 +15069,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
15051
15069
|
d: "M5 13l4 4L19 7"
|
|
15052
15070
|
}, null, -1)
|
|
15053
15071
|
])])) : vue.createCommentVNode("", true),
|
|
15054
|
-
toastType.value === "error" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_28$
|
|
15072
|
+
toastType.value === "error" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_28$5, [..._cache[8] || (_cache[8] = [
|
|
15055
15073
|
vue.createElementVNode("path", {
|
|
15056
15074
|
strokeLinecap: "round",
|
|
15057
15075
|
strokeLinejoin: "round",
|
|
@@ -15067,7 +15085,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
15067
15085
|
onClick: _cache[0] || (_cache[0] = async (event) => dismissToast()),
|
|
15068
15086
|
class: vue.normalizeClass(`propeller-product-bundles__toast-close flex-shrink-0 rounded focus:outline-none ${toastType.value === "success" ? "text-success-foreground hover:text-success-foreground/80" : "text-destructive-foreground hover:text-destructive-foreground/80"}`)
|
|
15069
15087
|
}, [
|
|
15070
|
-
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_29$
|
|
15088
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_29$5, [..._cache[9] || (_cache[9] = [
|
|
15071
15089
|
vue.createElementVNode("path", {
|
|
15072
15090
|
strokeLinecap: "round",
|
|
15073
15091
|
strokeLinejoin: "round",
|
|
@@ -15175,33 +15193,41 @@ const _hoisted_6$b = ["fill"];
|
|
|
15175
15193
|
const _hoisted_7$b = { class: "propeller-product-card__body flex flex-1 flex-row items-center gap-4 px-4 py-2 min-w-0" };
|
|
15176
15194
|
const _hoisted_8$a = { class: "flex flex-col gap-0.5 flex-1 min-w-0" };
|
|
15177
15195
|
const _hoisted_9$9 = { class: "propeller-product-card__sku font-mono text-xs text-foreground-subtle" };
|
|
15178
|
-
const _hoisted_10$8 = {
|
|
15179
|
-
|
|
15180
|
-
|
|
15181
|
-
|
|
15182
|
-
const
|
|
15183
|
-
const
|
|
15184
|
-
const
|
|
15185
|
-
const
|
|
15186
|
-
const
|
|
15187
|
-
const
|
|
15196
|
+
const _hoisted_10$8 = {
|
|
15197
|
+
key: 0,
|
|
15198
|
+
class: "propeller-product-card__below-name"
|
|
15199
|
+
};
|
|
15200
|
+
const _hoisted_11$7 = { class: "propeller-product-card__labels flex flex-col gap-0.5" };
|
|
15201
|
+
const _hoisted_12$7 = { class: "propeller-product-card__manufacturer text-xs text-muted-foreground" };
|
|
15202
|
+
const _hoisted_13$7 = { class: "propeller-product-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
15203
|
+
const _hoisted_14$7 = { class: "propeller-product-card__footer w-full md:w-auto flex flex-col gap-2 md:flex-row md:items-center md:gap-3 px-4 py-2 md:py-0 border-t md:border-t-0 border-border-subtle" };
|
|
15204
|
+
const _hoisted_15$6 = { class: "propeller-product-card__footer-meta flex items-center justify-between gap-3 md:contents" };
|
|
15205
|
+
const _hoisted_16$6 = { class: "propeller-product-card__price" };
|
|
15206
|
+
const _hoisted_17$6 = { class: "propeller-product-card__cta w-full md:w-auto md:flex-shrink-0 md:ml-auto" };
|
|
15207
|
+
const _hoisted_18$5 = { class: "propeller-product-card__body flex flex-1 flex-col gap-1.5 p-3 sm:gap-2 sm:p-4" };
|
|
15208
|
+
const _hoisted_19$5 = { class: "propeller-product-card__sku font-mono text-xs text-foreground-subtle" };
|
|
15188
15209
|
const _hoisted_20$4 = {
|
|
15210
|
+
key: 0,
|
|
15211
|
+
class: "propeller-product-card__below-name"
|
|
15212
|
+
};
|
|
15213
|
+
const _hoisted_21$4 = { class: "propeller-product-card__labels flex flex-col gap-0.5" };
|
|
15214
|
+
const _hoisted_22$4 = {
|
|
15189
15215
|
key: 3,
|
|
15190
15216
|
class: "hidden md:block"
|
|
15191
15217
|
};
|
|
15192
|
-
const
|
|
15193
|
-
const
|
|
15194
|
-
const
|
|
15218
|
+
const _hoisted_23$4 = { class: "propeller-product-card__manufacturer text-xs text-muted-foreground" };
|
|
15219
|
+
const _hoisted_24$4 = { class: "propeller-product-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
15220
|
+
const _hoisted_25$4 = {
|
|
15195
15221
|
key: 6,
|
|
15196
15222
|
class: "mt-auto hidden md:block"
|
|
15197
15223
|
};
|
|
15198
|
-
const
|
|
15199
|
-
const
|
|
15224
|
+
const _hoisted_26$4 = { class: "propeller-product-card__price pt-1" };
|
|
15225
|
+
const _hoisted_27$4 = {
|
|
15200
15226
|
key: 0,
|
|
15201
15227
|
class: "propeller-product-card__footer-meta flex flex-wrap items-center justify-between gap-x-2 gap-y-1 px-3 pt-1 sm:px-4 md:hidden"
|
|
15202
15228
|
};
|
|
15203
|
-
const
|
|
15204
|
-
const
|
|
15229
|
+
const _hoisted_28$4 = { class: "propeller-product-card__price min-w-0 text-right" };
|
|
15230
|
+
const _hoisted_29$4 = {
|
|
15205
15231
|
key: 1,
|
|
15206
15232
|
class: "propeller-product-card__cta px-3 pb-3 pt-2 sm:px-4 sm:pb-4"
|
|
15207
15233
|
};
|
|
@@ -15256,7 +15282,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15256
15282
|
addToCartComponent: {},
|
|
15257
15283
|
imageComponent: {},
|
|
15258
15284
|
badgesComponent: {},
|
|
15259
|
-
favoriteComponent: {}
|
|
15285
|
+
favoriteComponent: {},
|
|
15286
|
+
belowNameComponent: {}
|
|
15260
15287
|
},
|
|
15261
15288
|
setup(__props) {
|
|
15262
15289
|
const props = __props;
|
|
@@ -15269,7 +15296,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15269
15296
|
addToCartComponent: { grid: "addToCartComponent" },
|
|
15270
15297
|
imageComponent: { grid: "imageComponent" },
|
|
15271
15298
|
badgesComponent: { grid: "badgesComponent" },
|
|
15272
|
-
favoriteComponent: { grid: "favoriteComponent" }
|
|
15299
|
+
favoriteComponent: { grid: "favoriteComponent" },
|
|
15300
|
+
belowNameComponent: { grid: "belowNameComponent" }
|
|
15273
15301
|
};
|
|
15274
15302
|
const resolved = vue.computed(() => useResolvedProps(props, RESOLVE_SPEC));
|
|
15275
15303
|
const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
|
|
@@ -15282,6 +15310,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15282
15310
|
const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$E);
|
|
15283
15311
|
const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$D);
|
|
15284
15312
|
const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$Q);
|
|
15313
|
+
const BelowNameImpl = vue.computed(() => resolved.value.belowNameComponent ?? null);
|
|
15285
15314
|
const isFavorite = vue.ref(false);
|
|
15286
15315
|
function isRow() {
|
|
15287
15316
|
return props.columns === 1;
|
|
@@ -15492,12 +15521,17 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15492
15521
|
onClick: _cache[2] || (_cache[2] = ($event) => handleNavigate())
|
|
15493
15522
|
}, vue.toDisplayString(getProductName()), 1)
|
|
15494
15523
|
]) : vue.createCommentVNode("", true),
|
|
15524
|
+
vue.renderSlot(_ctx.$slots, "belowName", { product: __props.product }, () => [
|
|
15525
|
+
BelowNameImpl.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$8, [
|
|
15526
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(BelowNameImpl.value), { product: __props.product }, null, 8, ["product"]))
|
|
15527
|
+
])) : vue.createCommentVNode("", true)
|
|
15528
|
+
]),
|
|
15495
15529
|
!!__props.textLabels && __props.textLabels.length > 0 && computedTextLabels().length > 0 ? vue.renderSlot(_ctx.$slots, "textLabels", {
|
|
15496
15530
|
key: 2,
|
|
15497
15531
|
product: __props.product,
|
|
15498
15532
|
values: computedTextLabels()
|
|
15499
15533
|
}, () => [
|
|
15500
|
-
vue.createElementVNode("div",
|
|
15534
|
+
vue.createElementVNode("div", _hoisted_11$7, [
|
|
15501
15535
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedTextLabels(), (item, index2) => {
|
|
15502
15536
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
15503
15537
|
key: index2,
|
|
@@ -15511,19 +15545,19 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15511
15545
|
product: __props.product,
|
|
15512
15546
|
manufacturer: getProductManufacturer()
|
|
15513
15547
|
}, () => [
|
|
15514
|
-
vue.createElementVNode("div",
|
|
15548
|
+
vue.createElementVNode("div", _hoisted_12$7, vue.toDisplayString(getProductManufacturer()), 1)
|
|
15515
15549
|
]) : vue.createCommentVNode("", true),
|
|
15516
15550
|
__props.showShortDescription && !!getProductShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
15517
15551
|
key: 4,
|
|
15518
15552
|
product: __props.product,
|
|
15519
15553
|
text: getProductShortDescription()
|
|
15520
15554
|
}, () => [
|
|
15521
|
-
vue.createElementVNode("p",
|
|
15555
|
+
vue.createElementVNode("p", _hoisted_13$7, vue.toDisplayString(getProductShortDescription()), 1)
|
|
15522
15556
|
]) : vue.createCommentVNode("", true)
|
|
15523
15557
|
])
|
|
15524
15558
|
]),
|
|
15525
|
-
vue.createElementVNode("div",
|
|
15526
|
-
vue.createElementVNode("div",
|
|
15559
|
+
vue.createElementVNode("div", _hoisted_14$7, [
|
|
15560
|
+
vue.createElementVNode("div", _hoisted_15$6, [
|
|
15527
15561
|
props.showStock && !!props.product.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
|
|
15528
15562
|
key: 0,
|
|
15529
15563
|
product: __props.product,
|
|
@@ -15553,7 +15587,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15553
15587
|
currency: __props.currency,
|
|
15554
15588
|
labels: props.priceLabels
|
|
15555
15589
|
}, () => [
|
|
15556
|
-
vue.createElementVNode("div",
|
|
15590
|
+
vue.createElementVNode("div", _hoisted_16$6, [
|
|
15557
15591
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15558
15592
|
key: 0,
|
|
15559
15593
|
price: __props.product.price,
|
|
@@ -15570,7 +15604,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15570
15604
|
])
|
|
15571
15605
|
]) : vue.createCommentVNode("", true)
|
|
15572
15606
|
]),
|
|
15573
|
-
vue.createElementVNode("div",
|
|
15607
|
+
vue.createElementVNode("div", _hoisted_17$6, [
|
|
15574
15608
|
vue.renderSlot(_ctx.$slots, "addToCart", {
|
|
15575
15609
|
product: __props.product,
|
|
15576
15610
|
cartId: props.cartId,
|
|
@@ -15616,13 +15650,13 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15616
15650
|
])
|
|
15617
15651
|
], 64)) : vue.createCommentVNode("", true),
|
|
15618
15652
|
!isRow() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
15619
|
-
vue.createElementVNode("div",
|
|
15653
|
+
vue.createElementVNode("div", _hoisted_18$5, [
|
|
15620
15654
|
__props.showSku !== false && !!getProductSku() ? vue.renderSlot(_ctx.$slots, "sku", {
|
|
15621
15655
|
key: 0,
|
|
15622
15656
|
product: __props.product,
|
|
15623
15657
|
sku: getProductSku()
|
|
15624
15658
|
}, () => [
|
|
15625
|
-
vue.createElementVNode("div",
|
|
15659
|
+
vue.createElementVNode("div", _hoisted_19$5, vue.toDisplayString(getProductSku()), 1)
|
|
15626
15660
|
]) : vue.createCommentVNode("", true),
|
|
15627
15661
|
__props.showName !== false ? vue.renderSlot(_ctx.$slots, getProductName(), {
|
|
15628
15662
|
key: 1,
|
|
@@ -15637,12 +15671,17 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15637
15671
|
onClick: _cache[3] || (_cache[3] = ($event) => handleNavigate())
|
|
15638
15672
|
}, vue.toDisplayString(getProductName()), 1)
|
|
15639
15673
|
]) : vue.createCommentVNode("", true),
|
|
15674
|
+
vue.renderSlot(_ctx.$slots, "belowName", { product: __props.product }, () => [
|
|
15675
|
+
BelowNameImpl.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$4, [
|
|
15676
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(BelowNameImpl.value), { product: __props.product }, null, 8, ["product"]))
|
|
15677
|
+
])) : vue.createCommentVNode("", true)
|
|
15678
|
+
]),
|
|
15640
15679
|
!!__props.textLabels && __props.textLabels.length > 0 && computedTextLabels().length > 0 ? vue.renderSlot(_ctx.$slots, "textLabels", {
|
|
15641
15680
|
key: 2,
|
|
15642
15681
|
product: __props.product,
|
|
15643
15682
|
values: computedTextLabels()
|
|
15644
15683
|
}, () => [
|
|
15645
|
-
vue.createElementVNode("div",
|
|
15684
|
+
vue.createElementVNode("div", _hoisted_21$4, [
|
|
15646
15685
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedTextLabels(), (item, index2) => {
|
|
15647
15686
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
15648
15687
|
key: index2,
|
|
@@ -15651,7 +15690,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15651
15690
|
}), 128))
|
|
15652
15691
|
])
|
|
15653
15692
|
]) : vue.createCommentVNode("", true),
|
|
15654
|
-
props.showStock && !!props.product.inventory ? (vue.openBlock(), vue.createElementBlock("div",
|
|
15693
|
+
props.showStock && !!props.product.inventory ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_22$4, [
|
|
15655
15694
|
vue.renderSlot(_ctx.$slots, "stock", {
|
|
15656
15695
|
product: __props.product,
|
|
15657
15696
|
inventory: __props.product.inventory,
|
|
@@ -15678,16 +15717,16 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15678
15717
|
product: __props.product,
|
|
15679
15718
|
manufacturer: getProductManufacturer()
|
|
15680
15719
|
}, () => [
|
|
15681
|
-
vue.createElementVNode("div",
|
|
15720
|
+
vue.createElementVNode("div", _hoisted_23$4, vue.toDisplayString(getProductManufacturer()), 1)
|
|
15682
15721
|
]) : vue.createCommentVNode("", true),
|
|
15683
15722
|
__props.showShortDescription && !!getProductShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
15684
15723
|
key: 5,
|
|
15685
15724
|
product: __props.product,
|
|
15686
15725
|
text: getProductShortDescription()
|
|
15687
15726
|
}, () => [
|
|
15688
|
-
vue.createElementVNode("p",
|
|
15727
|
+
vue.createElementVNode("p", _hoisted_24$4, vue.toDisplayString(getProductShortDescription()), 1)
|
|
15689
15728
|
]) : vue.createCommentVNode("", true),
|
|
15690
|
-
__props.showPrice !== false && !!__props.product?.price ? (vue.openBlock(), vue.createElementBlock("div",
|
|
15729
|
+
__props.showPrice !== false && !!__props.product?.price ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_25$4, [
|
|
15691
15730
|
vue.renderSlot(_ctx.$slots, "price", {
|
|
15692
15731
|
product: __props.product,
|
|
15693
15732
|
price: __props.product.price,
|
|
@@ -15695,7 +15734,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15695
15734
|
currency: __props.currency,
|
|
15696
15735
|
labels: props.priceLabels
|
|
15697
15736
|
}, () => [
|
|
15698
|
-
vue.createElementVNode("div",
|
|
15737
|
+
vue.createElementVNode("div", _hoisted_26$4, [
|
|
15699
15738
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15700
15739
|
key: 0,
|
|
15701
15740
|
price: __props.product.price,
|
|
@@ -15713,7 +15752,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15713
15752
|
])
|
|
15714
15753
|
])) : vue.createCommentVNode("", true)
|
|
15715
15754
|
]),
|
|
15716
|
-
props.showStock && !!props.product.inventory || __props.showPrice !== false && !!__props.product?.price ? (vue.openBlock(), vue.createElementBlock("div",
|
|
15755
|
+
props.showStock && !!props.product.inventory || __props.showPrice !== false && !!__props.product?.price ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_27$4, [
|
|
15717
15756
|
props.showStock && !!props.product.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
|
|
15718
15757
|
key: 0,
|
|
15719
15758
|
product: __props.product,
|
|
@@ -15743,7 +15782,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15743
15782
|
currency: __props.currency,
|
|
15744
15783
|
labels: props.priceLabels
|
|
15745
15784
|
}, () => [
|
|
15746
|
-
vue.createElementVNode("div",
|
|
15785
|
+
vue.createElementVNode("div", _hoisted_28$4, [
|
|
15747
15786
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15748
15787
|
key: 0,
|
|
15749
15788
|
price: __props.product.price,
|
|
@@ -15760,7 +15799,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15760
15799
|
])
|
|
15761
15800
|
]) : vue.createCommentVNode("", true)
|
|
15762
15801
|
])) : vue.createCommentVNode("", true),
|
|
15763
|
-
props.allowAddToCart !== false ? (vue.openBlock(), vue.createElementBlock("div",
|
|
15802
|
+
props.allowAddToCart !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$4, [
|
|
15764
15803
|
vue.renderSlot(_ctx.$slots, "addToCart", {
|
|
15765
15804
|
product: __props.product,
|
|
15766
15805
|
cartId: props.cartId,
|
|
@@ -16114,6 +16153,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16114
16153
|
categoryId: {},
|
|
16115
16154
|
term: {},
|
|
16116
16155
|
brand: {},
|
|
16156
|
+
orderlistIds: {},
|
|
16157
|
+
applyOrderlists: { type: Boolean },
|
|
16117
16158
|
columns: {},
|
|
16118
16159
|
isLoading: { type: Boolean, default: false },
|
|
16119
16160
|
portalMode: {},
|
|
@@ -16168,7 +16209,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16168
16209
|
badgesComponent: {},
|
|
16169
16210
|
favoriteComponent: {},
|
|
16170
16211
|
productCardComponent: {},
|
|
16171
|
-
clusterCardComponent: {}
|
|
16212
|
+
clusterCardComponent: {},
|
|
16213
|
+
belowNameComponent: {}
|
|
16172
16214
|
},
|
|
16173
16215
|
setup(__props) {
|
|
16174
16216
|
const props = __props;
|
|
@@ -16213,12 +16255,15 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16213
16255
|
addToCartComponent: props.addToCartComponent,
|
|
16214
16256
|
imageComponent: props.imageComponent,
|
|
16215
16257
|
badgesComponent: props.badgesComponent,
|
|
16216
|
-
favoriteComponent: props.favoriteComponent
|
|
16258
|
+
favoriteComponent: props.favoriteComponent,
|
|
16259
|
+
belowNameComponent: props.belowNameComponent
|
|
16217
16260
|
}));
|
|
16218
16261
|
provideProductGridConfig(gridConfig.value);
|
|
16219
16262
|
const categoryIdRef = vue.computed(() => props.categoryId);
|
|
16220
16263
|
const termRef = vue.computed(() => props.term);
|
|
16221
16264
|
const brandRef = vue.computed(() => props.brand);
|
|
16265
|
+
const orderlistIdsRef = vue.computed(() => props.orderlistIds);
|
|
16266
|
+
const applyOrderlistsRef = vue.computed(() => props.applyOrderlists);
|
|
16222
16267
|
const langRef = vue.computed(() => infra.language || "NL");
|
|
16223
16268
|
const userRef = vue.computed(() => infra.user ?? null);
|
|
16224
16269
|
const companyRef = vue.computed(() => infra.companyId);
|
|
@@ -16246,6 +16291,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16246
16291
|
categoryId: categoryIdRef,
|
|
16247
16292
|
term: termRef,
|
|
16248
16293
|
brand: brandRef,
|
|
16294
|
+
orderlistIds: orderlistIdsRef,
|
|
16295
|
+
applyOrderlists: applyOrderlistsRef,
|
|
16249
16296
|
language: langRef,
|
|
16250
16297
|
taxZone: props.taxZone,
|
|
16251
16298
|
user: userRef,
|
|
@@ -16456,6 +16503,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
16456
16503
|
props: {
|
|
16457
16504
|
user: {},
|
|
16458
16505
|
companyId: {},
|
|
16506
|
+
orderlistIds: {},
|
|
16507
|
+
applyOrderlists: { type: Boolean },
|
|
16459
16508
|
product: {},
|
|
16460
16509
|
productId: {},
|
|
16461
16510
|
graphqlClient: {},
|
|
@@ -16496,6 +16545,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
16496
16545
|
const props = __props;
|
|
16497
16546
|
const userRef = vue.computed(() => props.user ?? null);
|
|
16498
16547
|
const companyRef = vue.computed(() => props.companyId);
|
|
16548
|
+
const orderlistIdsRef = vue.computed(() => props.orderlistIds);
|
|
16549
|
+
const applyOrderlistsRef = vue.computed(() => props.applyOrderlists);
|
|
16499
16550
|
const langRef = vue.computed(() => props.language || "NL");
|
|
16500
16551
|
const { product, cluster, loading, error, fetchProduct, fetchCluster } = useProductInfo({
|
|
16501
16552
|
graphqlClient: props.graphqlClient,
|
|
@@ -16503,6 +16554,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
16503
16554
|
taxZone: props.taxZone,
|
|
16504
16555
|
user: userRef,
|
|
16505
16556
|
companyId: companyRef,
|
|
16557
|
+
orderlistIds: orderlistIdsRef,
|
|
16558
|
+
applyOrderlists: applyOrderlistsRef,
|
|
16506
16559
|
configuration: props.configuration
|
|
16507
16560
|
});
|
|
16508
16561
|
vue.onMounted(() => {
|
|
@@ -17160,37 +17213,41 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17160
17213
|
});
|
|
17161
17214
|
const _hoisted_1$7 = ["data-layout", "data-grouped"];
|
|
17162
17215
|
const _hoisted_2$7 = {
|
|
17216
|
+
key: 0,
|
|
17217
|
+
class: "propeller-product-specifications__package-description mb-4 text-sm text-muted-foreground"
|
|
17218
|
+
};
|
|
17219
|
+
const _hoisted_3$7 = {
|
|
17163
17220
|
key: 0,
|
|
17164
17221
|
class: "overflow-hidden rounded-[var(--radius-container)] border border-border"
|
|
17165
17222
|
};
|
|
17166
|
-
const
|
|
17167
|
-
const
|
|
17168
|
-
const
|
|
17169
|
-
const
|
|
17170
|
-
const
|
|
17223
|
+
const _hoisted_4$7 = { class: "w-full text-sm" };
|
|
17224
|
+
const _hoisted_5$7 = { class: "divide-y divide-border" };
|
|
17225
|
+
const _hoisted_6$7 = { class: "px-4 py-2 font-medium text-foreground w-1/2" };
|
|
17226
|
+
const _hoisted_7$7 = { class: "px-4 py-2 text-muted-foreground" };
|
|
17227
|
+
const _hoisted_8$6 = {
|
|
17171
17228
|
key: 1,
|
|
17172
17229
|
class: "space-y-3"
|
|
17173
17230
|
};
|
|
17174
|
-
const
|
|
17175
|
-
const
|
|
17176
|
-
const
|
|
17231
|
+
const _hoisted_9$6 = { class: "text-xs font-medium text-muted-foreground uppercase tracking-wide" };
|
|
17232
|
+
const _hoisted_10$6 = { class: "text-sm text-foreground" };
|
|
17233
|
+
const _hoisted_11$6 = {
|
|
17177
17234
|
key: 0,
|
|
17178
17235
|
class: "text-sm font-semibold text-muted-foreground uppercase tracking-wide mb-2"
|
|
17179
17236
|
};
|
|
17180
|
-
const
|
|
17237
|
+
const _hoisted_12$6 = {
|
|
17181
17238
|
key: 1,
|
|
17182
17239
|
class: "overflow-hidden rounded-[var(--radius-container)] border border-border"
|
|
17183
17240
|
};
|
|
17184
|
-
const
|
|
17185
|
-
const
|
|
17186
|
-
const
|
|
17187
|
-
const
|
|
17188
|
-
const
|
|
17241
|
+
const _hoisted_13$6 = { class: "w-full text-sm" };
|
|
17242
|
+
const _hoisted_14$6 = { class: "divide-y divide-border" };
|
|
17243
|
+
const _hoisted_15$5 = { class: "px-4 py-2 font-medium text-foreground w-1/2" };
|
|
17244
|
+
const _hoisted_16$5 = { class: "px-4 py-2 text-muted-foreground" };
|
|
17245
|
+
const _hoisted_17$5 = {
|
|
17189
17246
|
key: 2,
|
|
17190
17247
|
class: "space-y-3"
|
|
17191
17248
|
};
|
|
17192
|
-
const
|
|
17193
|
-
const
|
|
17249
|
+
const _hoisted_18$4 = { class: "text-xs font-medium text-muted-foreground uppercase tracking-wide" };
|
|
17250
|
+
const _hoisted_19$4 = { class: "text-sm text-foreground" };
|
|
17194
17251
|
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
17195
17252
|
__name: "ProductSpecifications",
|
|
17196
17253
|
props: {
|
|
@@ -17200,6 +17257,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17200
17257
|
language: {},
|
|
17201
17258
|
layout: {},
|
|
17202
17259
|
grouping: { type: Boolean },
|
|
17260
|
+
packageDescription: {},
|
|
17203
17261
|
className: {}
|
|
17204
17262
|
},
|
|
17205
17263
|
setup(__props) {
|
|
@@ -17285,69 +17343,70 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17285
17343
|
return getAttributes().length > 0;
|
|
17286
17344
|
}
|
|
17287
17345
|
return (_ctx, _cache) => {
|
|
17288
|
-
return !vue.unref(loading) && hasPublicAttributes() ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
17346
|
+
return !vue.unref(loading) && (hasPublicAttributes() || __props.packageDescription) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
17289
17347
|
key: 0,
|
|
17290
17348
|
class: vue.normalizeClass(`propeller-product-specifications ${__props.className || ""}`),
|
|
17291
17349
|
"data-layout": __props.layout === "list" ? "list" : "table",
|
|
17292
17350
|
"data-grouped": __props.grouping ? "true" : "false"
|
|
17293
17351
|
}, [
|
|
17294
|
-
|
|
17295
|
-
|
|
17296
|
-
|
|
17297
|
-
|
|
17352
|
+
__props.packageDescription ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$7, vue.toDisplayString(__props.packageDescription), 1)) : vue.createCommentVNode("", true),
|
|
17353
|
+
!__props.grouping ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
17354
|
+
__props.layout !== "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$7, [
|
|
17355
|
+
vue.createElementVNode("table", _hoisted_4$7, [
|
|
17356
|
+
vue.createElementVNode("tbody", _hoisted_5$7, [
|
|
17298
17357
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributes(), (attr, i) => {
|
|
17299
17358
|
return vue.openBlock(), vue.createElementBlock("tr", {
|
|
17300
17359
|
key: i,
|
|
17301
17360
|
class: "propeller-product-specifications__row odd:bg-card even:bg-surface-hover/20"
|
|
17302
17361
|
}, [
|
|
17303
|
-
vue.createElementVNode("td",
|
|
17304
|
-
vue.createElementVNode("td",
|
|
17362
|
+
vue.createElementVNode("td", _hoisted_6$7, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17363
|
+
vue.createElementVNode("td", _hoisted_7$7, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17305
17364
|
]);
|
|
17306
17365
|
}), 128))
|
|
17307
17366
|
])
|
|
17308
17367
|
])
|
|
17309
17368
|
])) : vue.createCommentVNode("", true),
|
|
17310
|
-
__props.layout === "list" ? (vue.openBlock(), vue.createElementBlock("div",
|
|
17369
|
+
__props.layout === "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$6, [
|
|
17311
17370
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributes(), (attr, i) => {
|
|
17312
17371
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17313
17372
|
key: i,
|
|
17314
17373
|
class: "flex flex-col gap-0.5"
|
|
17315
17374
|
}, [
|
|
17316
|
-
vue.createElementVNode("span",
|
|
17317
|
-
vue.createElementVNode("span",
|
|
17375
|
+
vue.createElementVNode("span", _hoisted_9$6, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17376
|
+
vue.createElementVNode("span", _hoisted_10$6, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17318
17377
|
]);
|
|
17319
17378
|
}), 128))
|
|
17320
17379
|
])) : vue.createCommentVNode("", true)
|
|
17321
17380
|
], 64)) : vue.createCommentVNode("", true),
|
|
17322
|
-
!!__props.grouping ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key:
|
|
17381
|
+
!!__props.grouping ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 2 }, vue.renderList(getGroups(), (group, index2) => {
|
|
17323
17382
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17324
17383
|
key: group,
|
|
17325
17384
|
class: "mb-6"
|
|
17326
17385
|
}, [
|
|
17327
|
-
!!group ? (vue.openBlock(), vue.createElementBlock("h4",
|
|
17328
|
-
__props.layout !== "list" ? (vue.openBlock(), vue.createElementBlock("div",
|
|
17329
|
-
vue.createElementVNode("table",
|
|
17330
|
-
vue.createElementVNode("tbody",
|
|
17386
|
+
!!group ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_11$6, vue.toDisplayString(group), 1)) : vue.createCommentVNode("", true),
|
|
17387
|
+
__props.layout !== "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$6, [
|
|
17388
|
+
vue.createElementVNode("table", _hoisted_13$6, [
|
|
17389
|
+
vue.createElementVNode("tbody", _hoisted_14$6, [
|
|
17331
17390
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributesByGroup(group), (attr, i) => {
|
|
17332
17391
|
return vue.openBlock(), vue.createElementBlock("tr", {
|
|
17333
17392
|
key: i,
|
|
17334
17393
|
class: "propeller-product-specifications__row odd:bg-card even:bg-surface-hover/20"
|
|
17335
17394
|
}, [
|
|
17336
|
-
vue.createElementVNode("td",
|
|
17337
|
-
vue.createElementVNode("td",
|
|
17395
|
+
vue.createElementVNode("td", _hoisted_15$5, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17396
|
+
vue.createElementVNode("td", _hoisted_16$5, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17338
17397
|
]);
|
|
17339
17398
|
}), 128))
|
|
17340
17399
|
])
|
|
17341
17400
|
])
|
|
17342
17401
|
])) : vue.createCommentVNode("", true),
|
|
17343
|
-
__props.layout === "list" ? (vue.openBlock(), vue.createElementBlock("div",
|
|
17402
|
+
__props.layout === "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17$5, [
|
|
17344
17403
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributesByGroup(group), (attr, i) => {
|
|
17345
17404
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17346
17405
|
key: i,
|
|
17347
17406
|
class: "flex flex-col gap-0.5"
|
|
17348
17407
|
}, [
|
|
17349
|
-
vue.createElementVNode("span",
|
|
17350
|
-
vue.createElementVNode("span",
|
|
17408
|
+
vue.createElementVNode("span", _hoisted_18$4, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17409
|
+
vue.createElementVNode("span", _hoisted_19$4, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17351
17410
|
]);
|
|
17352
17411
|
}), 128))
|
|
17353
17412
|
])) : vue.createCommentVNode("", true)
|
|
@@ -17402,6 +17461,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17402
17461
|
productId: {},
|
|
17403
17462
|
specificationsLayout: {},
|
|
17404
17463
|
specificationsGrouping: { type: Boolean },
|
|
17464
|
+
specificationsPackageDescription: {},
|
|
17405
17465
|
downloadsLabels: {},
|
|
17406
17466
|
videosLabels: {},
|
|
17407
17467
|
className: {},
|
|
@@ -17537,8 +17597,9 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17537
17597
|
attributes: getSpecsAttributes(),
|
|
17538
17598
|
language: __props.language,
|
|
17539
17599
|
layout: __props.specificationsLayout,
|
|
17540
|
-
grouping: __props.specificationsGrouping
|
|
17541
|
-
|
|
17600
|
+
grouping: __props.specificationsGrouping,
|
|
17601
|
+
"package-description": __props.specificationsPackageDescription
|
|
17602
|
+
}, null, 8, ["attributes", "language", "layout", "grouping", "package-description"]))
|
|
17542
17603
|
], 2)) : vue.createCommentVNode("", true),
|
|
17543
17604
|
isActive("downloads") && isTabVisible("downloads") ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(ProductDownloadsImpl.value), {
|
|
17544
17605
|
key: 2,
|
|
@@ -17622,8 +17683,9 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17622
17683
|
attributes: getSpecsAttributes(),
|
|
17623
17684
|
language: __props.language,
|
|
17624
17685
|
layout: __props.specificationsLayout,
|
|
17625
|
-
grouping: __props.specificationsGrouping
|
|
17626
|
-
|
|
17686
|
+
grouping: __props.specificationsGrouping,
|
|
17687
|
+
"package-description": __props.specificationsPackageDescription
|
|
17688
|
+
}, null, 8, ["attributes", "language", "layout", "grouping", "package-description"]))
|
|
17627
17689
|
])) : vue.createCommentVNode("", true)
|
|
17628
17690
|
])) : vue.createCommentVNode("", true),
|
|
17629
17691
|
isTabVisible("downloads") ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$5, [
|
|
@@ -19742,6 +19804,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19742
19804
|
containerClassName: {},
|
|
19743
19805
|
taxZone: {},
|
|
19744
19806
|
companyId: {},
|
|
19807
|
+
orderlistIds: {},
|
|
19808
|
+
applyOrderlists: { type: Boolean },
|
|
19745
19809
|
configuration: {},
|
|
19746
19810
|
clearSignal: {}
|
|
19747
19811
|
},
|
|
@@ -19749,11 +19813,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19749
19813
|
const props = __props;
|
|
19750
19814
|
const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
|
|
19751
19815
|
const companyRef = vue.computed(() => infra.companyId);
|
|
19816
|
+
const orderlistIdsRef = vue.computed(() => props.orderlistIds);
|
|
19817
|
+
const applyOrderlistsRef = vue.computed(() => props.applyOrderlists);
|
|
19752
19818
|
const { search, searchResults, searchItemsFound, searchLoading } = useProductSearch({
|
|
19753
19819
|
graphqlClient: infra.graphqlClient,
|
|
19754
19820
|
language: vue.computed(() => infra.language || "NL"),
|
|
19755
19821
|
configuration: infra.configuration || {},
|
|
19756
|
-
companyId: companyRef
|
|
19822
|
+
companyId: companyRef,
|
|
19823
|
+
orderlistIds: orderlistIdsRef,
|
|
19824
|
+
applyOrderlists: applyOrderlistsRef
|
|
19757
19825
|
});
|
|
19758
19826
|
const searchTerm = vue.ref("");
|
|
19759
19827
|
const results = vue.ref([]);
|