@propeller-commerce/propeller-v2-vue-ui 0.3.24 → 0.3.25
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 +25 -0
- package/dist/components/GridToolbar.vue.d.ts +5 -0
- package/dist/components/Menu.vue.d.ts +7 -0
- package/dist/components/ProductGrid.vue.d.ts +8 -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/index.cjs +136 -91
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +136 -91
- 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",
|
|
@@ -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",
|
|
@@ -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" };
|
|
@@ -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,
|
|
@@ -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" };
|
|
@@ -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))
|
|
@@ -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"
|
|
@@ -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", {
|
|
@@ -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"
|
|
@@ -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, [
|
|
@@ -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"];
|
|
@@ -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
|
])
|
|
@@ -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
|
};
|
|
@@ -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, [
|
|
@@ -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
|
};
|
|
@@ -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, [
|
|
@@ -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"
|
|
@@ -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
|
]),
|
|
@@ -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"];
|
|
@@ -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}`,
|
|
@@ -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: "" };
|
|
@@ -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) => {
|
|
@@ -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 = {
|
|
@@ -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))
|
|
@@ -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
|
};
|
|
@@ -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, [
|
|
@@ -15184,7 +15202,7 @@ const _hoisted_15$6 = { class: "propeller-product-card__price" };
|
|
|
15184
15202
|
const _hoisted_16$6 = { class: "propeller-product-card__cta w-full md:w-auto md:flex-shrink-0 md:ml-auto" };
|
|
15185
15203
|
const _hoisted_17$6 = { class: "propeller-product-card__body flex flex-1 flex-col gap-1.5 p-3 sm:gap-2 sm:p-4" };
|
|
15186
15204
|
const _hoisted_18$5 = { class: "propeller-product-card__sku font-mono text-xs text-foreground-subtle" };
|
|
15187
|
-
const _hoisted_19$
|
|
15205
|
+
const _hoisted_19$5 = { class: "propeller-product-card__labels flex flex-col gap-0.5" };
|
|
15188
15206
|
const _hoisted_20$4 = {
|
|
15189
15207
|
key: 3,
|
|
15190
15208
|
class: "hidden md:block"
|
|
@@ -15642,7 +15660,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15642
15660
|
product: __props.product,
|
|
15643
15661
|
values: computedTextLabels()
|
|
15644
15662
|
}, () => [
|
|
15645
|
-
vue.createElementVNode("div", _hoisted_19$
|
|
15663
|
+
vue.createElementVNode("div", _hoisted_19$5, [
|
|
15646
15664
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedTextLabels(), (item, index2) => {
|
|
15647
15665
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
15648
15666
|
key: index2,
|
|
@@ -16114,6 +16132,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16114
16132
|
categoryId: {},
|
|
16115
16133
|
term: {},
|
|
16116
16134
|
brand: {},
|
|
16135
|
+
orderlistIds: {},
|
|
16136
|
+
applyOrderlists: { type: Boolean },
|
|
16117
16137
|
columns: {},
|
|
16118
16138
|
isLoading: { type: Boolean, default: false },
|
|
16119
16139
|
portalMode: {},
|
|
@@ -16219,6 +16239,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16219
16239
|
const categoryIdRef = vue.computed(() => props.categoryId);
|
|
16220
16240
|
const termRef = vue.computed(() => props.term);
|
|
16221
16241
|
const brandRef = vue.computed(() => props.brand);
|
|
16242
|
+
const orderlistIdsRef = vue.computed(() => props.orderlistIds);
|
|
16243
|
+
const applyOrderlistsRef = vue.computed(() => props.applyOrderlists);
|
|
16222
16244
|
const langRef = vue.computed(() => infra.language || "NL");
|
|
16223
16245
|
const userRef = vue.computed(() => infra.user ?? null);
|
|
16224
16246
|
const companyRef = vue.computed(() => infra.companyId);
|
|
@@ -16246,6 +16268,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16246
16268
|
categoryId: categoryIdRef,
|
|
16247
16269
|
term: termRef,
|
|
16248
16270
|
brand: brandRef,
|
|
16271
|
+
orderlistIds: orderlistIdsRef,
|
|
16272
|
+
applyOrderlists: applyOrderlistsRef,
|
|
16249
16273
|
language: langRef,
|
|
16250
16274
|
taxZone: props.taxZone,
|
|
16251
16275
|
user: userRef,
|
|
@@ -16456,6 +16480,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
16456
16480
|
props: {
|
|
16457
16481
|
user: {},
|
|
16458
16482
|
companyId: {},
|
|
16483
|
+
orderlistIds: {},
|
|
16484
|
+
applyOrderlists: { type: Boolean },
|
|
16459
16485
|
product: {},
|
|
16460
16486
|
productId: {},
|
|
16461
16487
|
graphqlClient: {},
|
|
@@ -16496,6 +16522,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
16496
16522
|
const props = __props;
|
|
16497
16523
|
const userRef = vue.computed(() => props.user ?? null);
|
|
16498
16524
|
const companyRef = vue.computed(() => props.companyId);
|
|
16525
|
+
const orderlistIdsRef = vue.computed(() => props.orderlistIds);
|
|
16526
|
+
const applyOrderlistsRef = vue.computed(() => props.applyOrderlists);
|
|
16499
16527
|
const langRef = vue.computed(() => props.language || "NL");
|
|
16500
16528
|
const { product, cluster, loading, error, fetchProduct, fetchCluster } = useProductInfo({
|
|
16501
16529
|
graphqlClient: props.graphqlClient,
|
|
@@ -16503,6 +16531,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
16503
16531
|
taxZone: props.taxZone,
|
|
16504
16532
|
user: userRef,
|
|
16505
16533
|
companyId: companyRef,
|
|
16534
|
+
orderlistIds: orderlistIdsRef,
|
|
16535
|
+
applyOrderlists: applyOrderlistsRef,
|
|
16506
16536
|
configuration: props.configuration
|
|
16507
16537
|
});
|
|
16508
16538
|
vue.onMounted(() => {
|
|
@@ -17160,37 +17190,41 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17160
17190
|
});
|
|
17161
17191
|
const _hoisted_1$7 = ["data-layout", "data-grouped"];
|
|
17162
17192
|
const _hoisted_2$7 = {
|
|
17193
|
+
key: 0,
|
|
17194
|
+
class: "propeller-product-specifications__package-description mb-4 text-sm text-muted-foreground"
|
|
17195
|
+
};
|
|
17196
|
+
const _hoisted_3$7 = {
|
|
17163
17197
|
key: 0,
|
|
17164
17198
|
class: "overflow-hidden rounded-[var(--radius-container)] border border-border"
|
|
17165
17199
|
};
|
|
17166
|
-
const
|
|
17167
|
-
const
|
|
17168
|
-
const
|
|
17169
|
-
const
|
|
17170
|
-
const
|
|
17200
|
+
const _hoisted_4$7 = { class: "w-full text-sm" };
|
|
17201
|
+
const _hoisted_5$7 = { class: "divide-y divide-border" };
|
|
17202
|
+
const _hoisted_6$7 = { class: "px-4 py-2 font-medium text-foreground w-1/2" };
|
|
17203
|
+
const _hoisted_7$7 = { class: "px-4 py-2 text-muted-foreground" };
|
|
17204
|
+
const _hoisted_8$6 = {
|
|
17171
17205
|
key: 1,
|
|
17172
17206
|
class: "space-y-3"
|
|
17173
17207
|
};
|
|
17174
|
-
const
|
|
17175
|
-
const
|
|
17176
|
-
const
|
|
17208
|
+
const _hoisted_9$6 = { class: "text-xs font-medium text-muted-foreground uppercase tracking-wide" };
|
|
17209
|
+
const _hoisted_10$6 = { class: "text-sm text-foreground" };
|
|
17210
|
+
const _hoisted_11$6 = {
|
|
17177
17211
|
key: 0,
|
|
17178
17212
|
class: "text-sm font-semibold text-muted-foreground uppercase tracking-wide mb-2"
|
|
17179
17213
|
};
|
|
17180
|
-
const
|
|
17214
|
+
const _hoisted_12$6 = {
|
|
17181
17215
|
key: 1,
|
|
17182
17216
|
class: "overflow-hidden rounded-[var(--radius-container)] border border-border"
|
|
17183
17217
|
};
|
|
17184
|
-
const
|
|
17185
|
-
const
|
|
17186
|
-
const
|
|
17187
|
-
const
|
|
17188
|
-
const
|
|
17218
|
+
const _hoisted_13$6 = { class: "w-full text-sm" };
|
|
17219
|
+
const _hoisted_14$6 = { class: "divide-y divide-border" };
|
|
17220
|
+
const _hoisted_15$5 = { class: "px-4 py-2 font-medium text-foreground w-1/2" };
|
|
17221
|
+
const _hoisted_16$5 = { class: "px-4 py-2 text-muted-foreground" };
|
|
17222
|
+
const _hoisted_17$5 = {
|
|
17189
17223
|
key: 2,
|
|
17190
17224
|
class: "space-y-3"
|
|
17191
17225
|
};
|
|
17192
|
-
const
|
|
17193
|
-
const
|
|
17226
|
+
const _hoisted_18$4 = { class: "text-xs font-medium text-muted-foreground uppercase tracking-wide" };
|
|
17227
|
+
const _hoisted_19$4 = { class: "text-sm text-foreground" };
|
|
17194
17228
|
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
17195
17229
|
__name: "ProductSpecifications",
|
|
17196
17230
|
props: {
|
|
@@ -17200,6 +17234,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17200
17234
|
language: {},
|
|
17201
17235
|
layout: {},
|
|
17202
17236
|
grouping: { type: Boolean },
|
|
17237
|
+
packageDescription: {},
|
|
17203
17238
|
className: {}
|
|
17204
17239
|
},
|
|
17205
17240
|
setup(__props) {
|
|
@@ -17285,69 +17320,70 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17285
17320
|
return getAttributes().length > 0;
|
|
17286
17321
|
}
|
|
17287
17322
|
return (_ctx, _cache) => {
|
|
17288
|
-
return !vue.unref(loading) && hasPublicAttributes() ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
17323
|
+
return !vue.unref(loading) && (hasPublicAttributes() || __props.packageDescription) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
17289
17324
|
key: 0,
|
|
17290
17325
|
class: vue.normalizeClass(`propeller-product-specifications ${__props.className || ""}`),
|
|
17291
17326
|
"data-layout": __props.layout === "list" ? "list" : "table",
|
|
17292
17327
|
"data-grouped": __props.grouping ? "true" : "false"
|
|
17293
17328
|
}, [
|
|
17294
|
-
|
|
17295
|
-
|
|
17296
|
-
|
|
17297
|
-
|
|
17329
|
+
__props.packageDescription ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$7, vue.toDisplayString(__props.packageDescription), 1)) : vue.createCommentVNode("", true),
|
|
17330
|
+
!__props.grouping ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
17331
|
+
__props.layout !== "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$7, [
|
|
17332
|
+
vue.createElementVNode("table", _hoisted_4$7, [
|
|
17333
|
+
vue.createElementVNode("tbody", _hoisted_5$7, [
|
|
17298
17334
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributes(), (attr, i) => {
|
|
17299
17335
|
return vue.openBlock(), vue.createElementBlock("tr", {
|
|
17300
17336
|
key: i,
|
|
17301
17337
|
class: "propeller-product-specifications__row odd:bg-card even:bg-surface-hover/20"
|
|
17302
17338
|
}, [
|
|
17303
|
-
vue.createElementVNode("td",
|
|
17304
|
-
vue.createElementVNode("td",
|
|
17339
|
+
vue.createElementVNode("td", _hoisted_6$7, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17340
|
+
vue.createElementVNode("td", _hoisted_7$7, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17305
17341
|
]);
|
|
17306
17342
|
}), 128))
|
|
17307
17343
|
])
|
|
17308
17344
|
])
|
|
17309
17345
|
])) : vue.createCommentVNode("", true),
|
|
17310
|
-
__props.layout === "list" ? (vue.openBlock(), vue.createElementBlock("div",
|
|
17346
|
+
__props.layout === "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$6, [
|
|
17311
17347
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributes(), (attr, i) => {
|
|
17312
17348
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17313
17349
|
key: i,
|
|
17314
17350
|
class: "flex flex-col gap-0.5"
|
|
17315
17351
|
}, [
|
|
17316
|
-
vue.createElementVNode("span",
|
|
17317
|
-
vue.createElementVNode("span",
|
|
17352
|
+
vue.createElementVNode("span", _hoisted_9$6, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17353
|
+
vue.createElementVNode("span", _hoisted_10$6, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17318
17354
|
]);
|
|
17319
17355
|
}), 128))
|
|
17320
17356
|
])) : vue.createCommentVNode("", true)
|
|
17321
17357
|
], 64)) : vue.createCommentVNode("", true),
|
|
17322
|
-
!!__props.grouping ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key:
|
|
17358
|
+
!!__props.grouping ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 2 }, vue.renderList(getGroups(), (group, index2) => {
|
|
17323
17359
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17324
17360
|
key: group,
|
|
17325
17361
|
class: "mb-6"
|
|
17326
17362
|
}, [
|
|
17327
|
-
!!group ? (vue.openBlock(), vue.createElementBlock("h4",
|
|
17328
|
-
__props.layout !== "list" ? (vue.openBlock(), vue.createElementBlock("div",
|
|
17329
|
-
vue.createElementVNode("table",
|
|
17330
|
-
vue.createElementVNode("tbody",
|
|
17363
|
+
!!group ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_11$6, vue.toDisplayString(group), 1)) : vue.createCommentVNode("", true),
|
|
17364
|
+
__props.layout !== "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$6, [
|
|
17365
|
+
vue.createElementVNode("table", _hoisted_13$6, [
|
|
17366
|
+
vue.createElementVNode("tbody", _hoisted_14$6, [
|
|
17331
17367
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributesByGroup(group), (attr, i) => {
|
|
17332
17368
|
return vue.openBlock(), vue.createElementBlock("tr", {
|
|
17333
17369
|
key: i,
|
|
17334
17370
|
class: "propeller-product-specifications__row odd:bg-card even:bg-surface-hover/20"
|
|
17335
17371
|
}, [
|
|
17336
|
-
vue.createElementVNode("td",
|
|
17337
|
-
vue.createElementVNode("td",
|
|
17372
|
+
vue.createElementVNode("td", _hoisted_15$5, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17373
|
+
vue.createElementVNode("td", _hoisted_16$5, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17338
17374
|
]);
|
|
17339
17375
|
}), 128))
|
|
17340
17376
|
])
|
|
17341
17377
|
])
|
|
17342
17378
|
])) : vue.createCommentVNode("", true),
|
|
17343
|
-
__props.layout === "list" ? (vue.openBlock(), vue.createElementBlock("div",
|
|
17379
|
+
__props.layout === "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17$5, [
|
|
17344
17380
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributesByGroup(group), (attr, i) => {
|
|
17345
17381
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17346
17382
|
key: i,
|
|
17347
17383
|
class: "flex flex-col gap-0.5"
|
|
17348
17384
|
}, [
|
|
17349
|
-
vue.createElementVNode("span",
|
|
17350
|
-
vue.createElementVNode("span",
|
|
17385
|
+
vue.createElementVNode("span", _hoisted_18$4, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17386
|
+
vue.createElementVNode("span", _hoisted_19$4, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17351
17387
|
]);
|
|
17352
17388
|
}), 128))
|
|
17353
17389
|
])) : vue.createCommentVNode("", true)
|
|
@@ -17402,6 +17438,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17402
17438
|
productId: {},
|
|
17403
17439
|
specificationsLayout: {},
|
|
17404
17440
|
specificationsGrouping: { type: Boolean },
|
|
17441
|
+
specificationsPackageDescription: {},
|
|
17405
17442
|
downloadsLabels: {},
|
|
17406
17443
|
videosLabels: {},
|
|
17407
17444
|
className: {},
|
|
@@ -17537,8 +17574,9 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17537
17574
|
attributes: getSpecsAttributes(),
|
|
17538
17575
|
language: __props.language,
|
|
17539
17576
|
layout: __props.specificationsLayout,
|
|
17540
|
-
grouping: __props.specificationsGrouping
|
|
17541
|
-
|
|
17577
|
+
grouping: __props.specificationsGrouping,
|
|
17578
|
+
"package-description": __props.specificationsPackageDescription
|
|
17579
|
+
}, null, 8, ["attributes", "language", "layout", "grouping", "package-description"]))
|
|
17542
17580
|
], 2)) : vue.createCommentVNode("", true),
|
|
17543
17581
|
isActive("downloads") && isTabVisible("downloads") ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(ProductDownloadsImpl.value), {
|
|
17544
17582
|
key: 2,
|
|
@@ -17622,8 +17660,9 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17622
17660
|
attributes: getSpecsAttributes(),
|
|
17623
17661
|
language: __props.language,
|
|
17624
17662
|
layout: __props.specificationsLayout,
|
|
17625
|
-
grouping: __props.specificationsGrouping
|
|
17626
|
-
|
|
17663
|
+
grouping: __props.specificationsGrouping,
|
|
17664
|
+
"package-description": __props.specificationsPackageDescription
|
|
17665
|
+
}, null, 8, ["attributes", "language", "layout", "grouping", "package-description"]))
|
|
17627
17666
|
])) : vue.createCommentVNode("", true)
|
|
17628
17667
|
])) : vue.createCommentVNode("", true),
|
|
17629
17668
|
isTabVisible("downloads") ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$5, [
|
|
@@ -19742,6 +19781,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19742
19781
|
containerClassName: {},
|
|
19743
19782
|
taxZone: {},
|
|
19744
19783
|
companyId: {},
|
|
19784
|
+
orderlistIds: {},
|
|
19785
|
+
applyOrderlists: { type: Boolean },
|
|
19745
19786
|
configuration: {},
|
|
19746
19787
|
clearSignal: {}
|
|
19747
19788
|
},
|
|
@@ -19749,11 +19790,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19749
19790
|
const props = __props;
|
|
19750
19791
|
const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
|
|
19751
19792
|
const companyRef = vue.computed(() => infra.companyId);
|
|
19793
|
+
const orderlistIdsRef = vue.computed(() => props.orderlistIds);
|
|
19794
|
+
const applyOrderlistsRef = vue.computed(() => props.applyOrderlists);
|
|
19752
19795
|
const { search, searchResults, searchItemsFound, searchLoading } = useProductSearch({
|
|
19753
19796
|
graphqlClient: infra.graphqlClient,
|
|
19754
19797
|
language: vue.computed(() => infra.language || "NL"),
|
|
19755
19798
|
configuration: infra.configuration || {},
|
|
19756
|
-
companyId: companyRef
|
|
19799
|
+
companyId: companyRef,
|
|
19800
|
+
orderlistIds: orderlistIdsRef,
|
|
19801
|
+
applyOrderlists: applyOrderlistsRef
|
|
19757
19802
|
});
|
|
19758
19803
|
const searchTerm = vue.ref("");
|
|
19759
19804
|
const results = vue.ref([]);
|