@propeller-commerce/propeller-v2-vue-ui 0.3.25 → 0.3.27
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 +28 -0
- package/dist/components/ProductCard.vue.d.ts +15 -0
- package/dist/components/ProductGrid.vue.d.ts +7 -0
- package/dist/components/ProductSpecifications.vue.d.ts +39 -1
- package/dist/components/ProductTabs.vue.d.ts +19 -1
- package/dist/context/ProductGridContext.d.ts +7 -0
- package/dist/index.cjs +471 -367
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +472 -368
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -3095,7 +3095,7 @@ const _hoisted_19$p = {
|
|
|
3095
3095
|
key: 2,
|
|
3096
3096
|
class: "propeller-login-form__footer flex flex-col gap-2 text-sm pt-3 text-center"
|
|
3097
3097
|
};
|
|
3098
|
-
const _hoisted_20$
|
|
3098
|
+
const _hoisted_20$n = { class: "propeller-login-form__register text-xs text-muted-foreground" };
|
|
3099
3099
|
const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
3100
3100
|
__name: "LoginForm",
|
|
3101
3101
|
props: {
|
|
@@ -3369,7 +3369,7 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
|
|
|
3369
3369
|
})
|
|
3370
3370
|
}, vue.toDisplayString(getLabel("forgotPassword", "Forgot Password?")), 1)
|
|
3371
3371
|
]) : vue.createCommentVNode("", true),
|
|
3372
|
-
vue.createElementVNode("div", _hoisted_20$
|
|
3372
|
+
vue.createElementVNode("div", _hoisted_20$n, [
|
|
3373
3373
|
vue.createTextVNode(vue.toDisplayString(getLabel("noAccount", "Don't have an account?")), 1),
|
|
3374
3374
|
__props.displayRegisterLink !== false ? vue.renderSlot(_ctx.$slots, "registerLink", {
|
|
3375
3375
|
key: 0,
|
|
@@ -3424,13 +3424,13 @@ const _hoisted_16$q = { class: "propeller-account-menu__user-name font-medium te
|
|
|
3424
3424
|
const _hoisted_17$q = { class: "propeller-account-menu__nav" };
|
|
3425
3425
|
const _hoisted_18$o = { class: "propeller-account-menu__list space-y-0.5" };
|
|
3426
3426
|
const _hoisted_19$o = ["onClick"];
|
|
3427
|
-
const _hoisted_20$
|
|
3428
|
-
const _hoisted_21$
|
|
3427
|
+
const _hoisted_20$m = { class: "propeller-account-menu__logout-wrapper mt-3 pt-3 border-t border-border" };
|
|
3428
|
+
const _hoisted_21$k = {
|
|
3429
3429
|
key: 1,
|
|
3430
3430
|
class: "propeller-account-menu__login-cta text-center py-4"
|
|
3431
3431
|
};
|
|
3432
|
-
const _hoisted_22$
|
|
3433
|
-
const _hoisted_23$
|
|
3432
|
+
const _hoisted_22$k = { class: "propeller-account-menu__login-title text-lg font-semibold mb-2" };
|
|
3433
|
+
const _hoisted_23$k = { class: "propeller-account-menu__login-subtitle text-sm text-muted-foreground mb-4" };
|
|
3434
3434
|
const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
3435
3435
|
__name: "AccountIconAndMenu",
|
|
3436
3436
|
props: {
|
|
@@ -3664,7 +3664,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
3664
3664
|
}), 128))
|
|
3665
3665
|
])
|
|
3666
3666
|
]),
|
|
3667
|
-
vue.createElementVNode("div", _hoisted_20$
|
|
3667
|
+
vue.createElementVNode("div", _hoisted_20$m, [
|
|
3668
3668
|
vue.createElementVNode("button", {
|
|
3669
3669
|
type: "button",
|
|
3670
3670
|
class: "propeller-account-menu__logout-btn flex w-full items-center gap-3 px-3 py-2 text-sm font-medium text-primary hover:bg-secondary/5 rounded-[var(--radius-control)] transition-colors",
|
|
@@ -3694,9 +3694,9 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
|
|
|
3694
3694
|
onGuestCheckoutClick: (event) => handleGuestCheckoutClick(),
|
|
3695
3695
|
accountHeaderLoginForm: __props.accountHeaderLoginForm
|
|
3696
3696
|
}, null, 40, ["graphqlClient", "cart", "title", "subtitle", "buttonText", "displayForgotPasswordLink", "displayRegisterLink", "displayGuestCheckoutLink", "labels", "onLoginSubmit", "loginLoading", "loginError", "beforeLogin", "afterLogin", "onForgotPasswordClick", "onRegisterClick", "onGuestCheckoutClick", "accountHeaderLoginForm"])) : vue.createCommentVNode("", true),
|
|
3697
|
-
__props.accountHeaderLoginForm === false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21$
|
|
3698
|
-
vue.createElementVNode("h4", _hoisted_22$
|
|
3699
|
-
vue.createElementVNode("p", _hoisted_23$
|
|
3697
|
+
__props.accountHeaderLoginForm === false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21$k, [
|
|
3698
|
+
vue.createElementVNode("h4", _hoisted_22$k, vue.toDisplayString(getMenuTitle()), 1),
|
|
3699
|
+
vue.createElementVNode("p", _hoisted_23$k, vue.toDisplayString(getLabel("loginSubtitle", "Login to access your account")), 1),
|
|
3700
3700
|
vue.createElementVNode("button", {
|
|
3701
3701
|
type: "button",
|
|
3702
3702
|
class: "propeller-account-menu__login-btn w-full inline-flex justify-center items-center px-4 py-2 rounded-[var(--radius-control)] bg-secondary text-primary-foreground text-sm font-medium hover:bg-secondary/90 transition-colors",
|
|
@@ -3953,31 +3953,31 @@ const _hoisted_19$n = {
|
|
|
3953
3953
|
class: "h-5 w-5",
|
|
3954
3954
|
strokeWidth: 2
|
|
3955
3955
|
};
|
|
3956
|
-
const _hoisted_20$
|
|
3957
|
-
const _hoisted_21$
|
|
3958
|
-
const _hoisted_22$
|
|
3959
|
-
const _hoisted_23$
|
|
3956
|
+
const _hoisted_20$l = { class: "propeller-add-to-cart__modal-body px-6 py-5" };
|
|
3957
|
+
const _hoisted_21$j = { class: "propeller-add-to-cart__modal-product flex items-start gap-4" };
|
|
3958
|
+
const _hoisted_22$j = ["src", "alt"];
|
|
3959
|
+
const _hoisted_23$j = {
|
|
3960
3960
|
key: 1,
|
|
3961
3961
|
class: "propeller-add-to-cart__modal-image-placeholder w-16 h-16 flex items-center justify-center rounded border border-border-subtle flex-shrink-0 bg-surface-hover"
|
|
3962
3962
|
};
|
|
3963
|
-
const _hoisted_24$
|
|
3963
|
+
const _hoisted_24$i = {
|
|
3964
3964
|
fill: "none",
|
|
3965
3965
|
viewBox: "0 0 24 24",
|
|
3966
3966
|
stroke: "currentColor",
|
|
3967
3967
|
class: "w-8 h-8 text-foreground-subtle",
|
|
3968
3968
|
strokeWidth: 1.5
|
|
3969
3969
|
};
|
|
3970
|
-
const _hoisted_25$
|
|
3971
|
-
const _hoisted_26$
|
|
3972
|
-
const _hoisted_27$
|
|
3970
|
+
const _hoisted_25$i = { class: "flex-1 min-w-0" };
|
|
3971
|
+
const _hoisted_26$i = ["href"];
|
|
3972
|
+
const _hoisted_27$i = {
|
|
3973
3973
|
key: 0,
|
|
3974
3974
|
class: "propeller-add-to-cart__modal-sku text-xs text-foreground-subtle mt-0.5"
|
|
3975
3975
|
};
|
|
3976
|
-
const _hoisted_28$
|
|
3976
|
+
const _hoisted_28$h = {
|
|
3977
3977
|
key: 1,
|
|
3978
3978
|
class: "propeller-add-to-cart__modal-surcharges mt-1 text-xs text-muted-foreground"
|
|
3979
3979
|
};
|
|
3980
|
-
const _hoisted_29$
|
|
3980
|
+
const _hoisted_29$h = { class: "font-medium" };
|
|
3981
3981
|
const _hoisted_30$g = { class: "propeller-add-to-cart__modal-surcharges-list mt-0.5" };
|
|
3982
3982
|
const _hoisted_31$g = { class: "flex-shrink-0 text-right" };
|
|
3983
3983
|
const _hoisted_32$f = { class: "propeller-add-to-cart__modal-quantity text-xs text-muted-foreground" };
|
|
@@ -4344,16 +4344,16 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
4344
4344
|
])]))
|
|
4345
4345
|
])
|
|
4346
4346
|
]),
|
|
4347
|
-
vue.createElementVNode("div", _hoisted_20$
|
|
4348
|
-
vue.createElementVNode("div", _hoisted_21$
|
|
4347
|
+
vue.createElementVNode("div", _hoisted_20$l, [
|
|
4348
|
+
vue.createElementVNode("div", _hoisted_21$j, [
|
|
4349
4349
|
!!getModalImageUrl() ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
4350
4350
|
key: 0,
|
|
4351
4351
|
class: "propeller-add-to-cart__modal-image w-16 h-16 object-contain rounded border border-border-subtle flex-shrink-0",
|
|
4352
4352
|
src: getModalImageUrl(),
|
|
4353
4353
|
alt: getModalName()
|
|
4354
|
-
}, null, 8, _hoisted_22$
|
|
4355
|
-
!getModalImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
4356
|
-
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_24$
|
|
4354
|
+
}, null, 8, _hoisted_22$j)) : vue.createCommentVNode("", true),
|
|
4355
|
+
!getModalImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$j, [
|
|
4356
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_24$i, [..._cache[17] || (_cache[17] = [
|
|
4357
4357
|
vue.createElementVNode("path", {
|
|
4358
4358
|
strokeLinecap: "round",
|
|
4359
4359
|
strokeLinejoin: "round",
|
|
@@ -4361,14 +4361,14 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
4361
4361
|
}, null, -1)
|
|
4362
4362
|
])]))
|
|
4363
4363
|
])) : vue.createCommentVNode("", true),
|
|
4364
|
-
vue.createElementVNode("div", _hoisted_25$
|
|
4364
|
+
vue.createElementVNode("div", _hoisted_25$i, [
|
|
4365
4365
|
vue.createElementVNode("a", {
|
|
4366
4366
|
class: "propeller-add-to-cart__modal-product-title text-sm font-medium text-secondary leading-tight hover:underline line-clamp-2",
|
|
4367
4367
|
href: getProductUrl()
|
|
4368
|
-
}, vue.toDisplayString(getModalName()), 9, _hoisted_26$
|
|
4369
|
-
!!getModalSku() ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_27$
|
|
4370
|
-
getModalSurcharges().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$
|
|
4371
|
-
vue.createElementVNode("span", _hoisted_29$
|
|
4368
|
+
}, vue.toDisplayString(getModalName()), 9, _hoisted_26$i),
|
|
4369
|
+
!!getModalSku() ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_27$i, " SKU: " + vue.toDisplayString(getModalSku()), 1)) : vue.createCommentVNode("", true),
|
|
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),
|
|
4372
4372
|
vue.createElementVNode("ul", _hoisted_30$g, [
|
|
4373
4373
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getModalSurcharges(), (line, idx) => {
|
|
4374
4374
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
@@ -4482,7 +4482,7 @@ const _hoisted_16$o = { class: "propeller-add-to-favorite__select-label text-xs
|
|
|
4482
4482
|
const _hoisted_17$o = ["value"];
|
|
4483
4483
|
const _hoisted_18$m = ["value"];
|
|
4484
4484
|
const _hoisted_19$m = ["disabled"];
|
|
4485
|
-
const _hoisted_20$
|
|
4485
|
+
const _hoisted_20$k = {
|
|
4486
4486
|
key: 2,
|
|
4487
4487
|
class: "propeller-add-to-favorite__empty py-4 text-center text-muted-foreground text-sm"
|
|
4488
4488
|
};
|
|
@@ -4753,7 +4753,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
|
|
|
4753
4753
|
], 64))
|
|
4754
4754
|
], 8, _hoisted_19$m)
|
|
4755
4755
|
])) : vue.createCommentVNode("", true),
|
|
4756
|
-
getMemberLists().length === 0 && getNonMemberLists().length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$
|
|
4756
|
+
getMemberLists().length === 0 && getNonMemberLists().length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$k, vue.toDisplayString(getLabel(
|
|
4757
4757
|
"noLists",
|
|
4758
4758
|
"You have no favorite lists. Create one in your account first."
|
|
4759
4759
|
)), 1)) : vue.createCommentVNode("", true)
|
|
@@ -4804,16 +4804,16 @@ const _hoisted_16$n = {
|
|
|
4804
4804
|
const _hoisted_17$n = { class: "space-y-4" };
|
|
4805
4805
|
const _hoisted_18$l = { class: "grid grid-cols-2 gap-4" };
|
|
4806
4806
|
const _hoisted_19$l = { class: "block text-sm font-medium mb-1" };
|
|
4807
|
-
const _hoisted_20$
|
|
4808
|
-
const _hoisted_21$
|
|
4809
|
-
const _hoisted_22$
|
|
4810
|
-
const _hoisted_23$
|
|
4811
|
-
const _hoisted_24$
|
|
4812
|
-
const _hoisted_25$
|
|
4813
|
-
const _hoisted_26$
|
|
4814
|
-
const _hoisted_27$
|
|
4815
|
-
const _hoisted_28$
|
|
4816
|
-
const _hoisted_29$
|
|
4807
|
+
const _hoisted_20$j = ["value"];
|
|
4808
|
+
const _hoisted_21$i = { value: "M" };
|
|
4809
|
+
const _hoisted_22$i = { value: "F" };
|
|
4810
|
+
const _hoisted_23$i = { value: "U" };
|
|
4811
|
+
const _hoisted_24$h = { class: "block text-sm font-medium mb-1" };
|
|
4812
|
+
const _hoisted_25$h = ["value"];
|
|
4813
|
+
const _hoisted_26$h = { class: "grid grid-cols-3 gap-4" };
|
|
4814
|
+
const _hoisted_27$h = { class: "block text-sm font-medium mb-1" };
|
|
4815
|
+
const _hoisted_28$g = ["value"];
|
|
4816
|
+
const _hoisted_29$g = { class: "block text-sm font-medium mb-1" };
|
|
4817
4817
|
const _hoisted_30$f = ["value"];
|
|
4818
4818
|
const _hoisted_31$f = { class: "block text-sm font-medium mb-1" };
|
|
4819
4819
|
const _hoisted_32$e = ["value"];
|
|
@@ -5221,13 +5221,13 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
5221
5221
|
editGender.value = e.target.value;
|
|
5222
5222
|
})
|
|
5223
5223
|
}, [
|
|
5224
|
-
vue.createElementVNode("option", _hoisted_21$
|
|
5225
|
-
vue.createElementVNode("option", _hoisted_22$
|
|
5226
|
-
vue.createElementVNode("option", _hoisted_23$
|
|
5227
|
-
], 40, _hoisted_20$
|
|
5224
|
+
vue.createElementVNode("option", _hoisted_21$i, vue.toDisplayString(getLabel("genderMale", "Male")), 1),
|
|
5225
|
+
vue.createElementVNode("option", _hoisted_22$i, vue.toDisplayString(getLabel("genderFemale", "Female")), 1),
|
|
5226
|
+
vue.createElementVNode("option", _hoisted_23$i, vue.toDisplayString(getLabel("genderOther", "Other")), 1)
|
|
5227
|
+
], 40, _hoisted_20$j)
|
|
5228
5228
|
]),
|
|
5229
5229
|
vue.createElementVNode("div", null, [
|
|
5230
|
-
vue.createElementVNode("label", _hoisted_24$
|
|
5230
|
+
vue.createElementVNode("label", _hoisted_24$h, vue.toDisplayString(getLabel("company", "Company")), 1),
|
|
5231
5231
|
vue.createElementVNode("input", {
|
|
5232
5232
|
type: "text",
|
|
5233
5233
|
class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input",
|
|
@@ -5235,12 +5235,12 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
5235
5235
|
onChange: _cache[4] || (_cache[4] = async (e) => {
|
|
5236
5236
|
editCompany.value = e.target.value;
|
|
5237
5237
|
})
|
|
5238
|
-
}, null, 40, _hoisted_25$
|
|
5238
|
+
}, null, 40, _hoisted_25$h)
|
|
5239
5239
|
])
|
|
5240
5240
|
]),
|
|
5241
|
-
vue.createElementVNode("div", _hoisted_26$
|
|
5241
|
+
vue.createElementVNode("div", _hoisted_26$h, [
|
|
5242
5242
|
vue.createElementVNode("div", null, [
|
|
5243
|
-
vue.createElementVNode("label", _hoisted_27$
|
|
5243
|
+
vue.createElementVNode("label", _hoisted_27$h, vue.toDisplayString(getLabel("firstName", "First Name")) + " *", 1),
|
|
5244
5244
|
vue.createElementVNode("input", {
|
|
5245
5245
|
type: "text",
|
|
5246
5246
|
class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input",
|
|
@@ -5249,10 +5249,10 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
|
|
|
5249
5249
|
editFirstName.value = e.target.value;
|
|
5250
5250
|
}),
|
|
5251
5251
|
required: true
|
|
5252
|
-
}, null, 40, _hoisted_28$
|
|
5252
|
+
}, null, 40, _hoisted_28$g)
|
|
5253
5253
|
]),
|
|
5254
5254
|
vue.createElementVNode("div", null, [
|
|
5255
|
-
vue.createElementVNode("label", _hoisted_29$
|
|
5255
|
+
vue.createElementVNode("label", _hoisted_29$g, vue.toDisplayString(getLabel("middleName", "Middle Name")), 1),
|
|
5256
5256
|
vue.createElementVNode("input", {
|
|
5257
5257
|
type: "text",
|
|
5258
5258
|
class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input",
|
|
@@ -6135,16 +6135,16 @@ const _hoisted_16$m = { class: "font-semibold text-foreground" };
|
|
|
6135
6135
|
const _hoisted_17$m = { class: "font-semibold text-foreground" };
|
|
6136
6136
|
const _hoisted_18$k = { class: "font-medium" };
|
|
6137
6137
|
const _hoisted_19$k = { class: "font-semibold text-foreground" };
|
|
6138
|
-
const _hoisted_20$
|
|
6139
|
-
const _hoisted_21$
|
|
6140
|
-
const _hoisted_22$
|
|
6141
|
-
const _hoisted_23$
|
|
6142
|
-
const _hoisted_24$
|
|
6143
|
-
const _hoisted_25$
|
|
6144
|
-
const _hoisted_26$
|
|
6145
|
-
const _hoisted_27$
|
|
6146
|
-
const _hoisted_28$
|
|
6147
|
-
const _hoisted_29$
|
|
6138
|
+
const _hoisted_20$i = { class: "propeller-cart-item__options mt-3 space-y-1.5 border-l-2 border-border pl-3" };
|
|
6139
|
+
const _hoisted_21$h = { class: "propeller-cart-item__options-label text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1" };
|
|
6140
|
+
const _hoisted_22$h = { class: "font-medium" };
|
|
6141
|
+
const _hoisted_23$h = { class: "text-foreground-subtle text-xs self-center" };
|
|
6142
|
+
const _hoisted_24$g = { class: "font-semibold text-foreground" };
|
|
6143
|
+
const _hoisted_25$g = { class: "propeller-cart-item__notes mt-3" };
|
|
6144
|
+
const _hoisted_26$g = { class: "propeller-cart-item__notes-label text-xs font-medium text-muted-foreground block mb-1" };
|
|
6145
|
+
const _hoisted_27$g = ["value", "placeholder"];
|
|
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" };
|
|
6148
6148
|
const _hoisted_30$e = { class: "flex flex-col gap-2" };
|
|
6149
6149
|
const _hoisted_31$e = ["href", "onClick"];
|
|
6150
6150
|
const _hoisted_32$d = ["src", "alt"];
|
|
@@ -6631,18 +6631,18 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
6631
6631
|
cartItem: __props.cartItem,
|
|
6632
6632
|
childItems: __props.cartItem.childItems
|
|
6633
6633
|
}, () => [
|
|
6634
|
-
vue.createElementVNode("div", _hoisted_20$
|
|
6635
|
-
vue.createElementVNode("p", _hoisted_21$
|
|
6634
|
+
vue.createElementVNode("div", _hoisted_20$i, [
|
|
6635
|
+
vue.createElementVNode("p", _hoisted_21$h, vue.toDisplayString(getLabel("includedOptions", "Included Options:")), 1),
|
|
6636
6636
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.cartItem.childItems || [], (child, idx) => {
|
|
6637
6637
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
6638
6638
|
key: idx,
|
|
6639
6639
|
class: "propeller-cart-item__option flex flex-wrap gap-x-2 text-sm text-muted-foreground"
|
|
6640
6640
|
}, [
|
|
6641
|
-
vue.createElementVNode("span", _hoisted_22$
|
|
6641
|
+
vue.createElementVNode("span", _hoisted_22$h, vue.toDisplayString(child.product.names?.[0]?.value || "Option"), 1),
|
|
6642
6642
|
_cache[10] || (_cache[10] = vue.createElementVNode("span", { class: "text-foreground-subtle hidden sm:inline" }, "-", -1)),
|
|
6643
|
-
vue.createElementVNode("span", _hoisted_23$
|
|
6643
|
+
vue.createElementVNode("span", _hoisted_23$h, vue.toDisplayString(child.product.sku), 1),
|
|
6644
6644
|
_cache[11] || (_cache[11] = vue.createElementVNode("div", { class: "flex-1 border-b border-dotted border-input mx-1 mb-1" }, null, -1)),
|
|
6645
|
-
vue.createElementVNode("span", _hoisted_24$
|
|
6645
|
+
vue.createElementVNode("span", _hoisted_24$g, vue.toDisplayString(getChildItemPrice(child)), 1)
|
|
6646
6646
|
]);
|
|
6647
6647
|
}), 128))
|
|
6648
6648
|
])
|
|
@@ -6653,15 +6653,15 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
6653
6653
|
notes: notes.value,
|
|
6654
6654
|
onNoteChange: (value) => handleNoteChange(value)
|
|
6655
6655
|
}, () => [
|
|
6656
|
-
vue.createElementVNode("div", _hoisted_25$
|
|
6657
|
-
vue.createElementVNode("label", _hoisted_26$
|
|
6656
|
+
vue.createElementVNode("div", _hoisted_25$g, [
|
|
6657
|
+
vue.createElementVNode("label", _hoisted_26$g, vue.toDisplayString(getLabel("notes", "Notes")), 1),
|
|
6658
6658
|
vue.createElementVNode("textarea", {
|
|
6659
6659
|
class: "propeller-cart-item__notes-input w-full text-sm border border-input rounded-[var(--radius-control)] px-3 py-2 focus:ring-2 focus:ring-secondary focus:border-transparent resize-none",
|
|
6660
6660
|
value: notes.value,
|
|
6661
6661
|
onChange: _cache[1] || (_cache[1] = async (e) => handleNoteChange(e.target.value)),
|
|
6662
6662
|
placeholder: getLabel("notesPlaceholder", "Add a note for this item..."),
|
|
6663
6663
|
rows: 2
|
|
6664
|
-
}, null, 40, _hoisted_27$
|
|
6664
|
+
}, null, 40, _hoisted_27$g)
|
|
6665
6665
|
])
|
|
6666
6666
|
]) : vue.createCommentVNode("", true),
|
|
6667
6667
|
getVisibleCrossupsells().length > 0 ? vue.renderSlot(_ctx.$slots, "crossupsells", {
|
|
@@ -6669,8 +6669,8 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
6669
6669
|
cartItem: __props.cartItem,
|
|
6670
6670
|
crossupsells: getVisibleCrossupsells()
|
|
6671
6671
|
}, () => [
|
|
6672
|
-
vue.createElementVNode("div", _hoisted_28$
|
|
6673
|
-
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),
|
|
6674
6674
|
vue.createElementVNode("div", _hoisted_30$e, [
|
|
6675
6675
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getVisibleCrossupsells(), (item, idx) => {
|
|
6676
6676
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -6875,21 +6875,21 @@ const _hoisted_18$j = {
|
|
|
6875
6875
|
strokeWidth: 2
|
|
6876
6876
|
};
|
|
6877
6877
|
const _hoisted_19$j = { class: "propeller-cart-icon__sidebar-body flex-1 overflow-y-auto px-5 py-4 space-y-4" };
|
|
6878
|
-
const _hoisted_20$
|
|
6878
|
+
const _hoisted_20$h = {
|
|
6879
6879
|
key: 0,
|
|
6880
6880
|
class: "propeller-cart-icon__empty flex flex-col items-center justify-center h-full text-center space-y-4 py-16"
|
|
6881
6881
|
};
|
|
6882
|
-
const _hoisted_21$
|
|
6882
|
+
const _hoisted_21$g = {
|
|
6883
6883
|
fill: "none",
|
|
6884
6884
|
stroke: "currentColor",
|
|
6885
6885
|
viewBox: "0 0 24 24",
|
|
6886
6886
|
class: "propeller-cart-icon__empty-icon w-12 h-12 text-foreground-subtle",
|
|
6887
6887
|
strokeWidth: 1.5
|
|
6888
6888
|
};
|
|
6889
|
-
const _hoisted_22$
|
|
6890
|
-
const _hoisted_23$
|
|
6891
|
-
const _hoisted_24$
|
|
6892
|
-
const _hoisted_25$
|
|
6889
|
+
const _hoisted_22$g = { class: "propeller-cart-icon__empty-message text-sm text-muted-foreground" };
|
|
6890
|
+
const _hoisted_23$g = { class: "propeller-cart-icon__item-media w-20 h-20 flex-shrink-0 bg-surface-hover rounded-[var(--radius-control)] overflow-hidden border border-border-subtle flex items-center justify-center" };
|
|
6891
|
+
const _hoisted_24$f = ["src", "alt"];
|
|
6892
|
+
const _hoisted_25$f = {
|
|
6893
6893
|
key: 1,
|
|
6894
6894
|
fill: "none",
|
|
6895
6895
|
viewBox: "0 0 24 24",
|
|
@@ -6897,16 +6897,16 @@ const _hoisted_25$e = {
|
|
|
6897
6897
|
class: "w-8 h-8 text-foreground-subtle",
|
|
6898
6898
|
strokeWidth: 1.5
|
|
6899
6899
|
};
|
|
6900
|
-
const _hoisted_26$
|
|
6900
|
+
const _hoisted_26$f = {
|
|
6901
6901
|
key: 0,
|
|
6902
6902
|
class: "propeller-cart-icon__item-name text-sm font-medium line-clamp-2"
|
|
6903
6903
|
};
|
|
6904
|
-
const _hoisted_27$
|
|
6905
|
-
const _hoisted_28$
|
|
6904
|
+
const _hoisted_27$f = ["href"];
|
|
6905
|
+
const _hoisted_28$e = {
|
|
6906
6906
|
key: 0,
|
|
6907
6907
|
class: "propeller-cart-icon__sidebar-footer px-5 py-4 border-t border-border space-y-3 bg-surface-hover"
|
|
6908
6908
|
};
|
|
6909
|
-
const _hoisted_29$
|
|
6909
|
+
const _hoisted_29$e = { class: "propeller-cart-icon__total-row flex justify-between items-center" };
|
|
6910
6910
|
const _hoisted_30$d = { class: "propeller-cart-icon__total-label text-sm font-medium text-muted-foreground" };
|
|
6911
6911
|
const _hoisted_31$d = { class: "propeller-cart-icon__total-value text-base font-bold text-foreground" };
|
|
6912
6912
|
const _hoisted_32$c = ["disabled"];
|
|
@@ -7144,15 +7144,15 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
7144
7144
|
], 8, _hoisted_17$l)
|
|
7145
7145
|
]),
|
|
7146
7146
|
vue.createElementVNode("div", _hoisted_19$j, [
|
|
7147
|
-
getItems().length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$
|
|
7148
|
-
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_21$
|
|
7147
|
+
getItems().length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$h, [
|
|
7148
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_21$g, [..._cache[14] || (_cache[14] = [
|
|
7149
7149
|
vue.createElementVNode("path", {
|
|
7150
7150
|
strokeLinecap: "round",
|
|
7151
7151
|
strokeLinejoin: "round",
|
|
7152
7152
|
d: "M15.75 10.5V6a3.75 3.75 0 10-7.5 0v4.5m11.356-1.993l1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 01-1.12-1.243l1.264-12A1.125 1.125 0 015.513 7.5h12.974c.576 0 1.059.435 1.119 1.007z"
|
|
7153
7153
|
}, null, -1)
|
|
7154
7154
|
])])),
|
|
7155
|
-
vue.createElementVNode("p", _hoisted_22$
|
|
7155
|
+
vue.createElementVNode("p", _hoisted_22$g, vue.toDisplayString(getLabel("emptyCart", "Your cart is empty.")), 1),
|
|
7156
7156
|
vue.createElementVNode("button", {
|
|
7157
7157
|
type: "button",
|
|
7158
7158
|
class: "propeller-cart-icon__empty-action text-sm text-secondary hover:underline",
|
|
@@ -7180,14 +7180,14 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
7180
7180
|
className: "propeller-cart-icon__item"
|
|
7181
7181
|
}, {
|
|
7182
7182
|
image: vue.withCtx(({ cartItem: rowCartItem }) => [
|
|
7183
|
-
vue.createElementVNode("div", _hoisted_23$
|
|
7183
|
+
vue.createElementVNode("div", _hoisted_23$g, [
|
|
7184
7184
|
!!rowCartItem.product?.media?.images?.items?.[0]?.imageVariants?.[0]?.url ? (vue.openBlock(), vue.createElementBlock("img", {
|
|
7185
7185
|
key: 0,
|
|
7186
7186
|
class: "propeller-cart-icon__item-image w-full h-full object-contain p-2",
|
|
7187
7187
|
src: rowCartItem.product?.media?.images?.items?.[0]?.imageVariants?.[0]?.url,
|
|
7188
7188
|
alt: rowCartItem.product?.names?.[0]?.value || "Product"
|
|
7189
|
-
}, null, 8, _hoisted_24$
|
|
7190
|
-
!rowCartItem.product?.media?.images?.items?.[0]?.imageVariants?.[0]?.url ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_25$
|
|
7189
|
+
}, null, 8, _hoisted_24$f)) : vue.createCommentVNode("", true),
|
|
7190
|
+
!rowCartItem.product?.media?.images?.items?.[0]?.imageVariants?.[0]?.url ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_25$f, [..._cache[15] || (_cache[15] = [
|
|
7191
7191
|
vue.createElementVNode("path", {
|
|
7192
7192
|
strokeLinecap: "round",
|
|
7193
7193
|
strokeLinejoin: "round",
|
|
@@ -7197,13 +7197,13 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
7197
7197
|
])
|
|
7198
7198
|
]),
|
|
7199
7199
|
title: vue.withCtx(({ isBundle, name, bundleName, productUrl }) => [
|
|
7200
|
-
isBundle ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_26$
|
|
7200
|
+
isBundle ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_26$f, vue.toDisplayString(bundleName), 1)) : vue.createCommentVNode("", true),
|
|
7201
7201
|
!isBundle ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
7202
7202
|
key: 1,
|
|
7203
7203
|
class: "propeller-cart-icon__item-name text-sm font-medium hover:text-primary line-clamp-2",
|
|
7204
7204
|
href: productUrl,
|
|
7205
7205
|
onClick: _cache[6] || (_cache[6] = (_e) => closeSidebar())
|
|
7206
|
-
}, vue.toDisplayString(name), 9, _hoisted_27$
|
|
7206
|
+
}, vue.toDisplayString(name), 9, _hoisted_27$f)) : vue.createCommentVNode("", true)
|
|
7207
7207
|
]),
|
|
7208
7208
|
_: 1
|
|
7209
7209
|
}, 40, ["cartItem", "cartId", "graphqlClient", "user", "language", "configuration", "companyId", "onTitleClick"]);
|
|
@@ -7214,8 +7214,8 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
|
|
|
7214
7214
|
className: "mt-4"
|
|
7215
7215
|
}, null, 8, ["cart"]))
|
|
7216
7216
|
]),
|
|
7217
|
-
getItems().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$
|
|
7218
|
-
vue.createElementVNode("div", _hoisted_29$
|
|
7217
|
+
getItems().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$e, [
|
|
7218
|
+
vue.createElementVNode("div", _hoisted_29$e, [
|
|
7219
7219
|
vue.createElementVNode("span", _hoisted_30$d, vue.toDisplayString(getLabel("total", "Total")), 1),
|
|
7220
7220
|
vue.createElementVNode("span", _hoisted_31$d, vue.toDisplayString(getTotalPrice()), 1)
|
|
7221
7221
|
]),
|
|
@@ -7317,25 +7317,25 @@ const _hoisted_18$i = {
|
|
|
7317
7317
|
class: "flex justify-between"
|
|
7318
7318
|
};
|
|
7319
7319
|
const _hoisted_19$i = { class: "font-medium" };
|
|
7320
|
-
const _hoisted_20$
|
|
7320
|
+
const _hoisted_20$g = {
|
|
7321
7321
|
key: 2,
|
|
7322
7322
|
class: "flex justify-between"
|
|
7323
7323
|
};
|
|
7324
|
-
const _hoisted_21$
|
|
7325
|
-
const _hoisted_22$
|
|
7326
|
-
const _hoisted_23$
|
|
7324
|
+
const _hoisted_21$f = { class: "font-medium" };
|
|
7325
|
+
const _hoisted_22$f = { class: "space-y-4 mt-6" };
|
|
7326
|
+
const _hoisted_23$f = {
|
|
7327
7327
|
key: 0,
|
|
7328
7328
|
class: "space-y-2"
|
|
7329
7329
|
};
|
|
7330
|
-
const _hoisted_24$
|
|
7331
|
-
const _hoisted_25$
|
|
7332
|
-
const _hoisted_26$
|
|
7330
|
+
const _hoisted_24$e = { class: "text-sm font-medium" };
|
|
7331
|
+
const _hoisted_25$e = ["value", "placeholder"];
|
|
7332
|
+
const _hoisted_26$e = {
|
|
7333
7333
|
key: 1,
|
|
7334
7334
|
class: "space-y-2"
|
|
7335
7335
|
};
|
|
7336
|
-
const _hoisted_27$
|
|
7337
|
-
const _hoisted_28$
|
|
7338
|
-
const _hoisted_29$
|
|
7336
|
+
const _hoisted_27$e = { class: "text-sm font-medium" };
|
|
7337
|
+
const _hoisted_28$d = ["value", "placeholder"];
|
|
7338
|
+
const _hoisted_29$d = {
|
|
7339
7339
|
key: 2,
|
|
7340
7340
|
class: "flex items-center space-x-2 pt-2"
|
|
7341
7341
|
};
|
|
@@ -7494,14 +7494,14 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7494
7494
|
vue.createElementVNode("span", _hoisted_19$i, vue.toDisplayString(getLabel("carrier", "Carrier:")), 1),
|
|
7495
7495
|
vue.createElementVNode("span", null, vue.toDisplayString(carrierName.value), 1)
|
|
7496
7496
|
])) : vue.createCommentVNode("", true),
|
|
7497
|
-
requestDate.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$
|
|
7498
|
-
vue.createElementVNode("span", _hoisted_21$
|
|
7497
|
+
requestDate.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$g, [
|
|
7498
|
+
vue.createElementVNode("span", _hoisted_21$f, vue.toDisplayString(getLabel("deliveryDate", "Delivery Date:")), 1),
|
|
7499
7499
|
vue.createElementVNode("span", null, vue.toDisplayString(requestDate.value), 1)
|
|
7500
7500
|
])) : vue.createCommentVNode("", true)
|
|
7501
7501
|
]),
|
|
7502
|
-
vue.createElementVNode("div", _hoisted_22$
|
|
7503
|
-
showReference.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
7504
|
-
vue.createElementVNode("label", _hoisted_24$
|
|
7502
|
+
vue.createElementVNode("div", _hoisted_22$f, [
|
|
7503
|
+
showReference.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$f, [
|
|
7504
|
+
vue.createElementVNode("label", _hoisted_24$e, vue.toDisplayString(getLabel("referenceLabel", "Reference (Optional)")), 1),
|
|
7505
7505
|
vue.createElementVNode("input", {
|
|
7506
7506
|
type: "text",
|
|
7507
7507
|
class: "propeller-cart-overview__input flex w-full rounded-[var(--radius-control)] border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-foreground-subtle focus:outline-none focus:ring-1 focus:ring-secondary",
|
|
@@ -7511,10 +7511,10 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7511
7511
|
)),
|
|
7512
7512
|
placeholder: getLabel("referencePlaceholder", "Your reference number"),
|
|
7513
7513
|
maxLength: 255
|
|
7514
|
-
}, null, 40, _hoisted_25$
|
|
7514
|
+
}, null, 40, _hoisted_25$e)
|
|
7515
7515
|
])) : vue.createCommentVNode("", true),
|
|
7516
|
-
showNotes.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$
|
|
7517
|
-
vue.createElementVNode("label", _hoisted_27$
|
|
7516
|
+
showNotes.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$e, [
|
|
7517
|
+
vue.createElementVNode("label", _hoisted_27$e, vue.toDisplayString(getLabel("notesLabel", "Order Notes (Optional)")), 1),
|
|
7518
7518
|
vue.createElementVNode("textarea", {
|
|
7519
7519
|
class: "propeller-cart-overview__textarea flex w-full rounded-[var(--radius-control)] border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-foreground-subtle focus:outline-none focus:ring-1 focus:ring-secondary min-h-[80px]",
|
|
7520
7520
|
value: notes.value,
|
|
@@ -7523,9 +7523,9 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
|
|
|
7523
7523
|
)),
|
|
7524
7524
|
placeholder: getLabel("notesPlaceholder", "Special instructions or comments"),
|
|
7525
7525
|
maxLength: 255
|
|
7526
|
-
}, null, 40, _hoisted_28$
|
|
7526
|
+
}, null, 40, _hoisted_28$d)
|
|
7527
7527
|
])) : vue.createCommentVNode("", true),
|
|
7528
|
-
showTermsAndConditions.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$
|
|
7528
|
+
showTermsAndConditions.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$d, [
|
|
7529
7529
|
vue.createElementVNode("input", {
|
|
7530
7530
|
type: "checkbox",
|
|
7531
7531
|
id: "cart-overview-terms",
|
|
@@ -7725,13 +7725,13 @@ const _hoisted_17$j = {
|
|
|
7725
7725
|
};
|
|
7726
7726
|
const _hoisted_18$h = { class: "propeller-cart-summary__label" };
|
|
7727
7727
|
const _hoisted_19$h = { class: "propeller-cart-summary__value" };
|
|
7728
|
-
const _hoisted_20$
|
|
7728
|
+
const _hoisted_20$f = {
|
|
7729
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",
|
|
7730
7730
|
"data-row": "total"
|
|
7731
7731
|
};
|
|
7732
|
-
const _hoisted_21$
|
|
7733
|
-
const _hoisted_22$
|
|
7734
|
-
const _hoisted_23$
|
|
7732
|
+
const _hoisted_21$e = { class: "propeller-cart-summary__label" };
|
|
7733
|
+
const _hoisted_22$e = { class: "propeller-cart-summary__value" };
|
|
7734
|
+
const _hoisted_23$e = ["disabled"];
|
|
7735
7735
|
const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
7736
7736
|
__name: "CartSummary",
|
|
7737
7737
|
props: {
|
|
@@ -7913,9 +7913,9 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
7913
7913
|
vue.createElementVNode("span", _hoisted_18$h, vue.toDisplayString(getLabel("totalVat", "Total VAT:")), 1),
|
|
7914
7914
|
vue.createElementVNode("span", _hoisted_19$h, vue.toDisplayString(formatItemPrice(totalVat.value)), 1)
|
|
7915
7915
|
])) : vue.createCommentVNode("", true),
|
|
7916
|
-
vue.createElementVNode("div", _hoisted_20$
|
|
7917
|
-
vue.createElementVNode("span", _hoisted_21$
|
|
7918
|
-
vue.createElementVNode("span", _hoisted_22$
|
|
7916
|
+
vue.createElementVNode("div", _hoisted_20$f, [
|
|
7917
|
+
vue.createElementVNode("span", _hoisted_21$e, vue.toDisplayString(getLabel("total", "Total:")), 1),
|
|
7918
|
+
vue.createElementVNode("span", _hoisted_22$e, vue.toDisplayString(formatItemPrice(totalInclVat.value)), 1)
|
|
7919
7919
|
]),
|
|
7920
7920
|
showCheckoutButton.value && !showRequestAuthorizationButton.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 6 }, [
|
|
7921
7921
|
vue.createElementVNode("button", {
|
|
@@ -7943,7 +7943,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
7943
7943
|
!requestLoading.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
7944
7944
|
vue.createTextVNode(vue.toDisplayString(getLabel("requestAuthorizationButton", "Request Authorization")), 1)
|
|
7945
7945
|
], 64)) : vue.createCommentVNode("", true)
|
|
7946
|
-
], 8, _hoisted_23$
|
|
7946
|
+
], 8, _hoisted_23$e)) : vue.createCommentVNode("", true)
|
|
7947
7947
|
]);
|
|
7948
7948
|
};
|
|
7949
7949
|
}
|
|
@@ -8158,22 +8158,22 @@ const _hoisted_17$i = {
|
|
|
8158
8158
|
};
|
|
8159
8159
|
const _hoisted_18$g = { class: "propeller-cluster-card__cta w-full md:w-auto md:flex-shrink-0 md:ml-auto" };
|
|
8160
8160
|
const _hoisted_19$g = ["href"];
|
|
8161
|
-
const _hoisted_20$
|
|
8162
|
-
const _hoisted_21$
|
|
8163
|
-
const _hoisted_22$
|
|
8164
|
-
const _hoisted_23$
|
|
8161
|
+
const _hoisted_20$e = { class: "propeller-cluster-card__body flex flex-1 flex-col gap-1.5 p-3 sm:gap-2 sm:p-4" };
|
|
8162
|
+
const _hoisted_21$d = { class: "propeller-cluster-card__sku font-mono text-xs text-foreground-subtle" };
|
|
8163
|
+
const _hoisted_22$d = ["href"];
|
|
8164
|
+
const _hoisted_23$d = {
|
|
8165
8165
|
key: 2,
|
|
8166
8166
|
class: "hidden md:block"
|
|
8167
8167
|
};
|
|
8168
|
-
const _hoisted_24$
|
|
8169
|
-
const _hoisted_25$
|
|
8170
|
-
const _hoisted_26$
|
|
8171
|
-
const _hoisted_27$
|
|
8168
|
+
const _hoisted_24$d = { class: "propeller-cluster-card__labels flex flex-col gap-0.5" };
|
|
8169
|
+
const _hoisted_25$d = { class: "propeller-cluster-card__manufacturer text-xs text-muted-foreground" };
|
|
8170
|
+
const _hoisted_26$d = { class: "propeller-cluster-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
8171
|
+
const _hoisted_27$d = {
|
|
8172
8172
|
key: 6,
|
|
8173
8173
|
class: "mt-auto hidden md:block"
|
|
8174
8174
|
};
|
|
8175
|
-
const _hoisted_28$
|
|
8176
|
-
const _hoisted_29$
|
|
8175
|
+
const _hoisted_28$c = { class: "propeller-cluster-card__price pt-1" };
|
|
8176
|
+
const _hoisted_29$c = {
|
|
8177
8177
|
key: 1,
|
|
8178
8178
|
class: "font-bold text-foreground text-base sm:text-lg"
|
|
8179
8179
|
};
|
|
@@ -8552,13 +8552,13 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
8552
8552
|
])
|
|
8553
8553
|
], 64)) : vue.createCommentVNode("", true),
|
|
8554
8554
|
!isRow() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
8555
|
-
vue.createElementVNode("div", _hoisted_20$
|
|
8555
|
+
vue.createElementVNode("div", _hoisted_20$e, [
|
|
8556
8556
|
__props.showSku !== false && !!getClusterSku() ? vue.renderSlot(_ctx.$slots, "sku", {
|
|
8557
8557
|
key: 0,
|
|
8558
8558
|
cluster: __props.cluster,
|
|
8559
8559
|
sku: getClusterSku()
|
|
8560
8560
|
}, () => [
|
|
8561
|
-
vue.createElementVNode("div", _hoisted_21$
|
|
8561
|
+
vue.createElementVNode("div", _hoisted_21$d, vue.toDisplayString(getClusterSku()), 1)
|
|
8562
8562
|
]) : vue.createCommentVNode("", true),
|
|
8563
8563
|
__props.showName !== false ? vue.renderSlot(_ctx.$slots, getClusterName(), {
|
|
8564
8564
|
key: 1,
|
|
@@ -8571,9 +8571,9 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
8571
8571
|
class: "propeller-cluster-card__title text-sm font-medium leading-tight text-foreground transition-colors hover:text-primary line-clamp-2",
|
|
8572
8572
|
href: getClusterUrl(),
|
|
8573
8573
|
onClick: _cache[4] || (_cache[4] = async (e) => handleClusterClick(e))
|
|
8574
|
-
}, vue.toDisplayString(getClusterName()), 9, _hoisted_22$
|
|
8574
|
+
}, vue.toDisplayString(getClusterName()), 9, _hoisted_22$d)
|
|
8575
8575
|
]) : vue.createCommentVNode("", true),
|
|
8576
|
-
__props.showStock && !!__props.cluster.defaultProduct?.inventory ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
8576
|
+
__props.showStock && !!__props.cluster.defaultProduct?.inventory ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$d, [
|
|
8577
8577
|
vue.renderSlot(_ctx.$slots, "stock", {
|
|
8578
8578
|
cluster: __props.cluster,
|
|
8579
8579
|
inventory: __props.cluster.defaultProduct?.inventory,
|
|
@@ -8600,7 +8600,7 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
8600
8600
|
cluster: __props.cluster,
|
|
8601
8601
|
values: computedTextLabels()
|
|
8602
8602
|
}, () => [
|
|
8603
|
-
vue.createElementVNode("div", _hoisted_24$
|
|
8603
|
+
vue.createElementVNode("div", _hoisted_24$d, [
|
|
8604
8604
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedTextLabels(), (item, index2) => {
|
|
8605
8605
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
8606
8606
|
key: index2,
|
|
@@ -8614,16 +8614,16 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
8614
8614
|
cluster: __props.cluster,
|
|
8615
8615
|
manufacturer: getClusterManufacturer()
|
|
8616
8616
|
}, () => [
|
|
8617
|
-
vue.createElementVNode("div", _hoisted_25$
|
|
8617
|
+
vue.createElementVNode("div", _hoisted_25$d, vue.toDisplayString(getClusterManufacturer()), 1)
|
|
8618
8618
|
]) : vue.createCommentVNode("", true),
|
|
8619
8619
|
__props.showShortDescription && !!getClusterShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
8620
8620
|
key: 5,
|
|
8621
8621
|
cluster: __props.cluster,
|
|
8622
8622
|
text: getClusterShortDescription()
|
|
8623
8623
|
}, () => [
|
|
8624
|
-
vue.createElementVNode("p", _hoisted_26$
|
|
8624
|
+
vue.createElementVNode("p", _hoisted_26$d, vue.toDisplayString(getClusterShortDescription()), 1)
|
|
8625
8625
|
]) : vue.createCommentVNode("", true),
|
|
8626
|
-
!!getClusterPrice() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_27$
|
|
8626
|
+
!!getClusterPrice() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_27$d, [
|
|
8627
8627
|
vue.renderSlot(_ctx.$slots, "price", {
|
|
8628
8628
|
cluster: __props.cluster,
|
|
8629
8629
|
price: __props.cluster.defaultProduct?.price,
|
|
@@ -8631,14 +8631,14 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
|
|
|
8631
8631
|
currency: __props.currency,
|
|
8632
8632
|
labels: __props.labels
|
|
8633
8633
|
}, () => [
|
|
8634
|
-
vue.createElementVNode("div", _hoisted_28$
|
|
8634
|
+
vue.createElementVNode("div", _hoisted_28$c, [
|
|
8635
8635
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
8636
8636
|
key: 0,
|
|
8637
8637
|
price: __props.cluster.defaultProduct?.price,
|
|
8638
8638
|
"include-tax": resolvedIncludeTax.value,
|
|
8639
8639
|
currency: __props.currency,
|
|
8640
8640
|
labels: __props.labels
|
|
8641
|
-
}, 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))
|
|
8642
8642
|
])
|
|
8643
8643
|
])
|
|
8644
8644
|
])) : vue.createCommentVNode("", true)
|
|
@@ -9931,7 +9931,7 @@ const _hoisted_17$g = {
|
|
|
9931
9931
|
};
|
|
9932
9932
|
const _hoisted_18$e = { class: "propeller-favorite-list-item__price text-base font-bold text-foreground whitespace-nowrap flex-shrink-0" };
|
|
9933
9933
|
const _hoisted_19$e = ["href"];
|
|
9934
|
-
const _hoisted_20$
|
|
9934
|
+
const _hoisted_20$d = ["title"];
|
|
9935
9935
|
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
9936
9936
|
__name: "FavoriteListItem",
|
|
9937
9937
|
props: {
|
|
@@ -10214,7 +10214,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
10214
10214
|
vue.createElementVNode("path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6" }),
|
|
10215
10215
|
vue.createElementVNode("path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2" })
|
|
10216
10216
|
], -1)
|
|
10217
|
-
])], 8, _hoisted_20$
|
|
10217
|
+
])], 8, _hoisted_20$d)) : vue.createCommentVNode("", true)
|
|
10218
10218
|
])
|
|
10219
10219
|
])
|
|
10220
10220
|
], 10, _hoisted_1$t);
|
|
@@ -10421,16 +10421,16 @@ const _hoisted_19$d = {
|
|
|
10421
10421
|
for: "favorite-list-select-all-floating",
|
|
10422
10422
|
class: "text-sm font-medium cursor-pointer select-none"
|
|
10423
10423
|
};
|
|
10424
|
-
const _hoisted_20$
|
|
10425
|
-
const _hoisted_21$
|
|
10426
|
-
const _hoisted_22$
|
|
10427
|
-
const _hoisted_23$
|
|
10428
|
-
const _hoisted_24$
|
|
10429
|
-
const _hoisted_25$
|
|
10430
|
-
const _hoisted_26$
|
|
10431
|
-
const _hoisted_27$
|
|
10432
|
-
const _hoisted_28$
|
|
10433
|
-
const _hoisted_29$
|
|
10424
|
+
const _hoisted_20$c = { class: "propeller-favorite-list-details__floating-bar-count text-sm text-foreground-subtle ml-3" };
|
|
10425
|
+
const _hoisted_21$c = { class: "propeller-favorite-list-details__floating-bar-actions flex items-center gap-3" };
|
|
10426
|
+
const _hoisted_22$c = ["disabled"];
|
|
10427
|
+
const _hoisted_23$c = ["disabled"];
|
|
10428
|
+
const _hoisted_24$c = { class: "propeller-favorite-list-details__modal-header border-b border-border px-6 py-4" };
|
|
10429
|
+
const _hoisted_25$c = { class: "propeller-favorite-list-details__modal-title text-lg font-bold" };
|
|
10430
|
+
const _hoisted_26$c = { class: "propeller-favorite-list-details__modal-body px-6 py-4 space-y-4" };
|
|
10431
|
+
const _hoisted_27$c = { class: "propeller-favorite-list-details__search-input-wrapper relative" };
|
|
10432
|
+
const _hoisted_28$b = ["placeholder", "value"];
|
|
10433
|
+
const _hoisted_29$b = ["aria-label"];
|
|
10434
10434
|
const _hoisted_30$a = { class: "propeller-favorite-list-details__search-results max-h-80 overflow-y-auto" };
|
|
10435
10435
|
const _hoisted_31$a = {
|
|
10436
10436
|
key: 0,
|
|
@@ -10959,15 +10959,15 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
10959
10959
|
onChange: _cache[2] || (_cache[2] = ($event) => togglePageSelectAll())
|
|
10960
10960
|
}, null, 40, _hoisted_18$d),
|
|
10961
10961
|
vue.createElementVNode("label", _hoisted_19$d, vue.toDisplayString(getLabel("selectAll", "Select all")), 1),
|
|
10962
|
-
vue.createElementVNode("span", _hoisted_20$
|
|
10962
|
+
vue.createElementVNode("span", _hoisted_20$c, vue.toDisplayString(selectedIds.value.size) + " " + vue.toDisplayString(getLabel("ofWord", "of")) + " " + vue.toDisplayString(allItems.value.length) + " " + vue.toDisplayString(getLabel("itemsSelected", "items selected")), 1)
|
|
10963
10963
|
]),
|
|
10964
|
-
vue.createElementVNode("div", _hoisted_21$
|
|
10964
|
+
vue.createElementVNode("div", _hoisted_21$c, [
|
|
10965
10965
|
vue.createElementVNode("button", {
|
|
10966
10966
|
type: "button",
|
|
10967
10967
|
class: "propeller-favorite-list-details__bulk-remove-btn inline-flex items-center justify-center rounded-[var(--radius-control)] border border-border bg-transparent px-4 py-2 text-sm font-medium text-secondary transition-colors hover:bg-surface-hover disabled:opacity-50",
|
|
10968
10968
|
disabled: bulkBusy.value,
|
|
10969
10969
|
onClick: _cache[3] || (_cache[3] = ($event) => handleBulkRemove())
|
|
10970
|
-
}, vue.toDisplayString(getLabel("removeFromList", "Remove from this list")), 9, _hoisted_22$
|
|
10970
|
+
}, vue.toDisplayString(getLabel("removeFromList", "Remove from this list")), 9, _hoisted_22$c),
|
|
10971
10971
|
vue.createElementVNode("button", {
|
|
10972
10972
|
type: "button",
|
|
10973
10973
|
class: "propeller-favorite-list-details__bulk-add-btn inline-flex items-center justify-center gap-2 rounded-[var(--radius-control)] bg-secondary px-6 py-2 text-sm font-medium text-secondary-foreground transition-colors hover:bg-secondary/90 disabled:opacity-50",
|
|
@@ -10998,7 +10998,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
10998
10998
|
vue.createElementVNode("path", { d: "M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6" })
|
|
10999
10999
|
], -1)),
|
|
11000
11000
|
vue.createTextVNode(" " + vue.toDisplayString(getLabel("addToCart", "Add to cart")), 1)
|
|
11001
|
-
], 8, _hoisted_23$
|
|
11001
|
+
], 8, _hoisted_23$c)
|
|
11002
11002
|
])
|
|
11003
11003
|
])
|
|
11004
11004
|
])) : vue.createCommentVNode("", true),
|
|
@@ -11012,11 +11012,11 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
11012
11012
|
onClick: _cache[8] || (_cache[8] = vue.withModifiers(() => {
|
|
11013
11013
|
}, ["stop"]))
|
|
11014
11014
|
}, [
|
|
11015
|
-
vue.createElementVNode("div", _hoisted_24$
|
|
11016
|
-
vue.createElementVNode("h2", _hoisted_25$
|
|
11015
|
+
vue.createElementVNode("div", _hoisted_24$c, [
|
|
11016
|
+
vue.createElementVNode("h2", _hoisted_25$c, vue.toDisplayString(getLabel("addProductModalTitle", "Add product to list")), 1)
|
|
11017
11017
|
]),
|
|
11018
|
-
vue.createElementVNode("div", _hoisted_26$
|
|
11019
|
-
vue.createElementVNode("div", _hoisted_27$
|
|
11018
|
+
vue.createElementVNode("div", _hoisted_26$c, [
|
|
11019
|
+
vue.createElementVNode("div", _hoisted_27$c, [
|
|
11020
11020
|
_cache[14] || (_cache[14] = vue.createElementVNode("svg", {
|
|
11021
11021
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11022
11022
|
width: "16",
|
|
@@ -11048,7 +11048,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
11048
11048
|
value: vue.unref(searchTerm),
|
|
11049
11049
|
onInput: _cache[5] || (_cache[5] = ($event) => onSearchInput($event)),
|
|
11050
11050
|
autofocus: ""
|
|
11051
|
-
}, null, 40, _hoisted_28$
|
|
11051
|
+
}, null, 40, _hoisted_28$b),
|
|
11052
11052
|
vue.unref(searchTerm) ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
11053
11053
|
key: 0,
|
|
11054
11054
|
type: "button",
|
|
@@ -11080,7 +11080,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
11080
11080
|
y2: "18"
|
|
11081
11081
|
})
|
|
11082
11082
|
], -1)
|
|
11083
|
-
])], 8, _hoisted_29$
|
|
11083
|
+
])], 8, _hoisted_29$b)) : vue.createCommentVNode("", true)
|
|
11084
11084
|
]),
|
|
11085
11085
|
vue.createElementVNode("div", _hoisted_30$a, [
|
|
11086
11086
|
vue.unref(searchLoading) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_31$a, vue.toDisplayString(getLabel("searching", "Searching...")), 1)) : vue.createCommentVNode("", true),
|
|
@@ -11177,28 +11177,28 @@ const _hoisted_19$c = {
|
|
|
11177
11177
|
key: 0,
|
|
11178
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"
|
|
11179
11179
|
};
|
|
11180
|
-
const _hoisted_20$
|
|
11181
|
-
const _hoisted_21$
|
|
11180
|
+
const _hoisted_20$b = { class: "propeller-favorite-lists__meta flex items-center gap-4 text-sm text-muted-foreground" };
|
|
11181
|
+
const _hoisted_21$b = {
|
|
11182
11182
|
key: 0,
|
|
11183
11183
|
class: "flex items-center gap-1"
|
|
11184
11184
|
};
|
|
11185
|
-
const _hoisted_22$
|
|
11185
|
+
const _hoisted_22$b = {
|
|
11186
11186
|
key: 1,
|
|
11187
11187
|
class: "flex items-center gap-1"
|
|
11188
11188
|
};
|
|
11189
|
-
const _hoisted_23$
|
|
11189
|
+
const _hoisted_23$b = {
|
|
11190
11190
|
key: 0,
|
|
11191
11191
|
class: "propeller-favorite-lists__actions flex gap-2"
|
|
11192
11192
|
};
|
|
11193
|
-
const _hoisted_24$
|
|
11194
|
-
const _hoisted_25$
|
|
11195
|
-
const _hoisted_26$
|
|
11193
|
+
const _hoisted_24$b = ["title", "onClick"];
|
|
11194
|
+
const _hoisted_25$b = ["title", "onClick"];
|
|
11195
|
+
const _hoisted_26$b = {
|
|
11196
11196
|
key: 1,
|
|
11197
11197
|
class: "propeller-favorite-lists__empty border border-border rounded-[var(--radius-container)] p-12 text-center space-y-4"
|
|
11198
11198
|
};
|
|
11199
|
-
const _hoisted_27$
|
|
11200
|
-
const _hoisted_28$
|
|
11201
|
-
const _hoisted_29$
|
|
11199
|
+
const _hoisted_27$b = { class: "propeller-favorite-lists__empty-title text-lg font-medium" };
|
|
11200
|
+
const _hoisted_28$a = { class: "propeller-favorite-lists__empty-message text-muted-foreground" };
|
|
11201
|
+
const _hoisted_29$a = {
|
|
11202
11202
|
key: 3,
|
|
11203
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"
|
|
11204
11204
|
};
|
|
@@ -11451,8 +11451,8 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11451
11451
|
vue.createElementVNode("span", _hoisted_18$c, vue.toDisplayString(list.name), 1),
|
|
11452
11452
|
__props.showDefaultIndicator !== false && list.isDefault ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19$c, vue.toDisplayString(getLabel("defaultBadge", "Default")), 1)) : vue.createCommentVNode("", true)
|
|
11453
11453
|
]),
|
|
11454
|
-
vue.createElementVNode("div", _hoisted_20$
|
|
11455
|
-
__props.showLastModified !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21$
|
|
11454
|
+
vue.createElementVNode("div", _hoisted_20$b, [
|
|
11455
|
+
__props.showLastModified !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21$b, [
|
|
11456
11456
|
_cache[15] || (_cache[15] = vue.createElementVNode("svg", {
|
|
11457
11457
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11458
11458
|
width: "16",
|
|
@@ -11493,7 +11493,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11493
11493
|
], -1)),
|
|
11494
11494
|
vue.createTextVNode(vue.toDisplayString(getLabel("lastModified", "Last modified")) + ": " + vue.toDisplayString(formatDate(list.updatedAt)), 1)
|
|
11495
11495
|
])) : vue.createCommentVNode("", true),
|
|
11496
|
-
__props.showItemsCount !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_22$
|
|
11496
|
+
__props.showItemsCount !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_22$b, [
|
|
11497
11497
|
_cache[16] || (_cache[16] = vue.createElementVNode("svg", {
|
|
11498
11498
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11499
11499
|
width: "16",
|
|
@@ -11520,7 +11520,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11520
11520
|
])
|
|
11521
11521
|
])) : vue.createCommentVNode("", true)
|
|
11522
11522
|
]),
|
|
11523
|
-
__props.showActions !== false && vue.unref(editingListId) !== String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
11523
|
+
__props.showActions !== false && vue.unref(editingListId) !== String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$b, [
|
|
11524
11524
|
vue.createElementVNode("button", {
|
|
11525
11525
|
title: getLabel("editTooltip", "Edit"),
|
|
11526
11526
|
class: "propeller-favorite-lists__edit-btn h-8 w-8 p-0 inline-flex items-center justify-center rounded-[var(--radius-control)] text-muted-foreground hover:text-muted-foreground hover:bg-surface-hover",
|
|
@@ -11543,7 +11543,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11543
11543
|
vue.createElementVNode("path", { d: "M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z" }),
|
|
11544
11544
|
vue.createElementVNode("path", { d: "m15 5 4 4" })
|
|
11545
11545
|
], -1)
|
|
11546
|
-
])], 8, _hoisted_24$
|
|
11546
|
+
])], 8, _hoisted_24$b),
|
|
11547
11547
|
vue.createElementVNode("button", {
|
|
11548
11548
|
title: getLabel("deleteTooltip", "Delete"),
|
|
11549
11549
|
class: "propeller-favorite-lists__delete-btn h-8 w-8 p-0 inline-flex items-center justify-center rounded-[var(--radius-control)] text-destructive hover:text-destructive hover:bg-destructive/10",
|
|
@@ -11567,13 +11567,13 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11567
11567
|
vue.createElementVNode("path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6" }),
|
|
11568
11568
|
vue.createElementVNode("path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2" })
|
|
11569
11569
|
], -1)
|
|
11570
|
-
])], 8, _hoisted_25$
|
|
11570
|
+
])], 8, _hoisted_25$b)
|
|
11571
11571
|
])) : vue.createCommentVNode("", true)
|
|
11572
11572
|
])
|
|
11573
11573
|
], 10, _hoisted_5$n);
|
|
11574
11574
|
}), 128))
|
|
11575
11575
|
])) : vue.createCommentVNode("", true),
|
|
11576
|
-
displayedLists.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$
|
|
11576
|
+
displayedLists.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$b, [
|
|
11577
11577
|
_cache[19] || (_cache[19] = vue.createElementVNode("div", { class: "propeller-favorite-lists__empty-icon-wrapper bg-surface-hover p-4 rounded-full w-16 h-16 flex items-center justify-center mx-auto" }, [
|
|
11578
11578
|
vue.createElementVNode("svg", {
|
|
11579
11579
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -11591,8 +11591,8 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11591
11591
|
])
|
|
11592
11592
|
], -1)),
|
|
11593
11593
|
vue.createElementVNode("div", null, [
|
|
11594
|
-
vue.createElementVNode("p", _hoisted_27$
|
|
11595
|
-
vue.createElementVNode("p", _hoisted_28$
|
|
11594
|
+
vue.createElementVNode("p", _hoisted_27$b, vue.toDisplayString(getLabel("noLists", "No favorite lists")), 1),
|
|
11595
|
+
vue.createElementVNode("p", _hoisted_28$a, vue.toDisplayString(getLabel(
|
|
11596
11596
|
"noListsDescription",
|
|
11597
11597
|
"Start by creating a new list to save your items."
|
|
11598
11598
|
)), 1)
|
|
@@ -11606,7 +11606,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
11606
11606
|
}, vue.toDisplayString(getLabel("createFirstList", "Create your first list")), 1)) : vue.createCommentVNode("", true)
|
|
11607
11607
|
])) : vue.createCommentVNode("", true)
|
|
11608
11608
|
], 64)) : vue.createCommentVNode("", true),
|
|
11609
|
-
showCreateModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$
|
|
11609
|
+
showCreateModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$a, [
|
|
11610
11610
|
vue.createElementVNode("div", _hoisted_30$9, [
|
|
11611
11611
|
vue.createElementVNode("div", _hoisted_31$9, [
|
|
11612
11612
|
vue.createElementVNode("h3", _hoisted_32$8, vue.toDisplayString(getLabel("createTitle", "Create New List")), 1),
|
|
@@ -12735,31 +12735,31 @@ const _hoisted_16$b = {
|
|
|
12735
12735
|
const _hoisted_17$b = { class: "propeller-items-overview__item-qty flex items-center text-xs text-foreground-subtle mt-1" };
|
|
12736
12736
|
const _hoisted_18$a = { class: "flex justify-between items-start gap-2" };
|
|
12737
12737
|
const _hoisted_19$a = ["onClick"];
|
|
12738
|
-
const _hoisted_20$
|
|
12738
|
+
const _hoisted_20$a = {
|
|
12739
12739
|
key: 1,
|
|
12740
12740
|
class: "propeller-items-overview__item-title font-medium text-sm leading-tight line-clamp-2"
|
|
12741
12741
|
};
|
|
12742
|
-
const _hoisted_21$
|
|
12742
|
+
const _hoisted_21$a = {
|
|
12743
12743
|
key: 2,
|
|
12744
12744
|
class: "propeller-items-overview__item-price font-semibold text-sm text-foreground whitespace-nowrap"
|
|
12745
12745
|
};
|
|
12746
|
-
const _hoisted_22$
|
|
12746
|
+
const _hoisted_22$a = {
|
|
12747
12747
|
key: 0,
|
|
12748
12748
|
class: "propeller-items-overview__item-sku text-xs text-muted-foreground mt-0.5"
|
|
12749
12749
|
};
|
|
12750
|
-
const _hoisted_23$
|
|
12750
|
+
const _hoisted_23$a = {
|
|
12751
12751
|
key: 1,
|
|
12752
12752
|
class: "propeller-items-overview__item-surcharges mt-1 text-xs text-muted-foreground"
|
|
12753
12753
|
};
|
|
12754
|
-
const _hoisted_24$
|
|
12755
|
-
const _hoisted_25$
|
|
12756
|
-
const _hoisted_26$
|
|
12754
|
+
const _hoisted_24$a = { class: "font-medium" };
|
|
12755
|
+
const _hoisted_25$a = { class: "propeller-items-overview__item-surcharges-list mt-0.5" };
|
|
12756
|
+
const _hoisted_26$a = {
|
|
12757
12757
|
key: 2,
|
|
12758
12758
|
class: "propeller-items-overview__item-options mt-1.5 space-y-1 border-l-2 border-border-subtle pl-2"
|
|
12759
12759
|
};
|
|
12760
|
-
const _hoisted_27$
|
|
12761
|
-
const _hoisted_28$
|
|
12762
|
-
const _hoisted_29$
|
|
12760
|
+
const _hoisted_27$a = { class: "line-clamp-1" };
|
|
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" };
|
|
12763
12763
|
const _hoisted_30$8 = ["data-in-stock"];
|
|
12764
12764
|
const _hoisted_31$8 = {
|
|
12765
12765
|
key: 1,
|
|
@@ -12969,13 +12969,13 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
12969
12969
|
class: "propeller-items-overview__item-title font-medium text-sm leading-tight cursor-pointer hover:text-secondary transition-colors line-clamp-2",
|
|
12970
12970
|
onClick: async (event) => handleItemNameClick(item)
|
|
12971
12971
|
}, vue.toDisplayString(getItemName(item)), 9, _hoisted_19$a)) : vue.createCommentVNode("", true),
|
|
12972
|
-
!itemNameClickable.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_20$
|
|
12973
|
-
showPrice.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_21$
|
|
12972
|
+
!itemNameClickable.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_20$a, vue.toDisplayString(getItemName(item)), 1)) : vue.createCommentVNode("", true),
|
|
12973
|
+
showPrice.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_21$a, vue.toDisplayString(formatItemPrice(getItemTotalPrice(item))), 1)) : vue.createCommentVNode("", true)
|
|
12974
12974
|
]),
|
|
12975
|
-
showSku.value && getItemSku(item) ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_22$
|
|
12976
|
-
getItemSurcharges(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
12977
|
-
vue.createElementVNode("span", _hoisted_24$
|
|
12978
|
-
vue.createElementVNode("ul", _hoisted_25$
|
|
12975
|
+
showSku.value && getItemSku(item) ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_22$a, " SKU: " + vue.toDisplayString(getItemSku(item)), 1)) : vue.createCommentVNode("", true),
|
|
12976
|
+
getItemSurcharges(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$a, [
|
|
12977
|
+
vue.createElementVNode("span", _hoisted_24$a, vue.toDisplayString(getLabel("surcharges", "Additional surcharges:")), 1),
|
|
12978
|
+
vue.createElementVNode("ul", _hoisted_25$a, [
|
|
12979
12979
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getItemSurcharges(item), (line, idx) => {
|
|
12980
12980
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
12981
12981
|
key: idx,
|
|
@@ -12984,19 +12984,19 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
12984
12984
|
}), 128))
|
|
12985
12985
|
])
|
|
12986
12986
|
])) : vue.createCommentVNode("", true),
|
|
12987
|
-
getItemChildItems(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$
|
|
12987
|
+
getItemChildItems(item).length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$a, [
|
|
12988
12988
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getItemChildItems(item), (child, idx) => {
|
|
12989
12989
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
12990
12990
|
key: idx,
|
|
12991
12991
|
class: "propeller-items-overview__item-option flex justify-between items-center text-xs text-muted-foreground"
|
|
12992
12992
|
}, [
|
|
12993
|
-
vue.createElementVNode("span", _hoisted_27$
|
|
12994
|
-
vue.createElementVNode("span", _hoisted_28$
|
|
12993
|
+
vue.createElementVNode("span", _hoisted_27$a, vue.toDisplayString(child.product?.names?.[0]?.value || "Option"), 1),
|
|
12994
|
+
vue.createElementVNode("span", _hoisted_28$9, vue.toDisplayString(formatItemPrice(child.totalSum || 0)), 1)
|
|
12995
12995
|
]);
|
|
12996
12996
|
}), 128))
|
|
12997
12997
|
])) : vue.createCommentVNode("", true)
|
|
12998
12998
|
]),
|
|
12999
|
-
vue.createElementVNode("div", _hoisted_29$
|
|
12999
|
+
vue.createElementVNode("div", _hoisted_29$9, [
|
|
13000
13000
|
vue.createElementVNode("span", null, vue.toDisplayString(getLabel("quantity", "Qty:")) + vue.toDisplayString(item.quantity), 1),
|
|
13001
13001
|
showAvailability.value && getItemAvailability(item) ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
13002
13002
|
key: 0,
|
|
@@ -13065,20 +13065,20 @@ const _hoisted_16$a = {
|
|
|
13065
13065
|
const _hoisted_17$a = ["href", "onClick"];
|
|
13066
13066
|
const _hoisted_18$9 = { class: "propeller-menu__label" };
|
|
13067
13067
|
const _hoisted_19$9 = { class: "propeller-menu__tabs flex items-center border-b border-border" };
|
|
13068
|
-
const _hoisted_20$
|
|
13069
|
-
const _hoisted_21$
|
|
13070
|
-
const _hoisted_22$
|
|
13071
|
-
const _hoisted_23$
|
|
13072
|
-
const _hoisted_24$
|
|
13073
|
-
const _hoisted_25$
|
|
13074
|
-
const _hoisted_26$
|
|
13068
|
+
const _hoisted_20$9 = ["data-active", "onMouseenter", "onClick"];
|
|
13069
|
+
const _hoisted_21$9 = { class: "propeller-menu__label" };
|
|
13070
|
+
const _hoisted_22$9 = ["onMouseenter"];
|
|
13071
|
+
const _hoisted_23$9 = { class: "propeller-menu__panel-grid grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6" };
|
|
13072
|
+
const _hoisted_24$9 = ["href", "onClick"];
|
|
13073
|
+
const _hoisted_25$9 = { class: "propeller-menu__label" };
|
|
13074
|
+
const _hoisted_26$9 = {
|
|
13075
13075
|
key: 0,
|
|
13076
13076
|
class: "propeller-menu__list mt-2 space-y-1",
|
|
13077
13077
|
"data-level": "3"
|
|
13078
13078
|
};
|
|
13079
|
-
const _hoisted_27$
|
|
13080
|
-
const _hoisted_28$
|
|
13081
|
-
const _hoisted_29$
|
|
13079
|
+
const _hoisted_27$9 = ["href", "onClick"];
|
|
13080
|
+
const _hoisted_28$8 = { class: "propeller-menu__label" };
|
|
13081
|
+
const _hoisted_29$8 = {
|
|
13082
13082
|
class: "propeller-menu__list divide-y divide-border",
|
|
13083
13083
|
"data-level": "1"
|
|
13084
13084
|
};
|
|
@@ -13313,8 +13313,8 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13313
13313
|
onClick: async (e) => handleItemClick(l1, e),
|
|
13314
13314
|
class: vue.normalizeClass(`propeller-menu__tab px-5 py-3 text-sm font-medium transition-colors border-b-2 ${hoveredL1Id.value === l1.categoryId ? "border-primary text-primary" : "border-transparent text-foreground hover:text-primary hover:border-primary/50"}`)
|
|
13315
13315
|
}, [
|
|
13316
|
-
vue.createElementVNode("span", _hoisted_21$
|
|
13317
|
-
], 42, _hoisted_20$
|
|
13316
|
+
vue.createElementVNode("span", _hoisted_21$9, vue.toDisplayString(getCategoryName(l1)), 1)
|
|
13317
|
+
], 42, _hoisted_20$9);
|
|
13318
13318
|
}), 128))
|
|
13319
13319
|
]),
|
|
13320
13320
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuCategories.value, (l1, idx) => {
|
|
@@ -13325,7 +13325,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13325
13325
|
onMouseenter: async (event) => setHoveredL1(l1.categoryId),
|
|
13326
13326
|
onMouseleave: _cache[0] || (_cache[0] = async (event) => setHoveredL1(null))
|
|
13327
13327
|
}, [
|
|
13328
|
-
vue.createElementVNode("div", _hoisted_23$
|
|
13328
|
+
vue.createElementVNode("div", _hoisted_23$9, [
|
|
13329
13329
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getSubCategories(l1), (l2, idx2) => {
|
|
13330
13330
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
13331
13331
|
key: `l2-${l2.categoryId}-${idx2}`,
|
|
@@ -13337,9 +13337,9 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13337
13337
|
href: getCategoryUrl(l2),
|
|
13338
13338
|
onClick: async (e) => handleItemClick(l2, e)
|
|
13339
13339
|
}, [
|
|
13340
|
-
vue.createElementVNode("span", _hoisted_25$
|
|
13341
|
-
], 8, _hoisted_24$
|
|
13342
|
-
getSubCategories(l2).length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_26$
|
|
13340
|
+
vue.createElementVNode("span", _hoisted_25$9, vue.toDisplayString(getCategoryName(l2)), 1)
|
|
13341
|
+
], 8, _hoisted_24$9),
|
|
13342
|
+
getSubCategories(l2).length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_26$9, [
|
|
13343
13343
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getSubCategories(l2), (l3, idx3) => {
|
|
13344
13344
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
13345
13345
|
key: `l3-${l3.categoryId}-${idx3}`,
|
|
@@ -13351,15 +13351,15 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13351
13351
|
href: getCategoryUrl(l3),
|
|
13352
13352
|
onClick: async (e) => handleItemClick(l3, e)
|
|
13353
13353
|
}, [
|
|
13354
|
-
vue.createElementVNode("span", _hoisted_28$
|
|
13355
|
-
], 8, _hoisted_27$
|
|
13354
|
+
vue.createElementVNode("span", _hoisted_28$8, vue.toDisplayString(getCategoryName(l3)), 1)
|
|
13355
|
+
], 8, _hoisted_27$9)
|
|
13356
13356
|
]);
|
|
13357
13357
|
}), 128))
|
|
13358
13358
|
])) : vue.createCommentVNode("", true)
|
|
13359
13359
|
]);
|
|
13360
13360
|
}), 128))
|
|
13361
13361
|
])
|
|
13362
|
-
], 40, _hoisted_22$
|
|
13362
|
+
], 40, _hoisted_22$9)) : vue.createCommentVNode("", true)
|
|
13363
13363
|
], 64);
|
|
13364
13364
|
}), 128))
|
|
13365
13365
|
], 2)) : vue.createCommentVNode("", true),
|
|
@@ -13367,7 +13367,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
13367
13367
|
key: 5,
|
|
13368
13368
|
class: vue.normalizeClass(`propeller-menu__nav propeller-menu-mobile md:hidden ${__props.menuClass || ""}`)
|
|
13369
13369
|
}, [
|
|
13370
|
-
vue.createElementVNode("ul", _hoisted_29$
|
|
13370
|
+
vue.createElementVNode("ul", _hoisted_29$8, [
|
|
13371
13371
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuCategories.value, (l1, idx) => {
|
|
13372
13372
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
13373
13373
|
key: `l1-mobile-${l1.categoryId}-${idx}`,
|
|
@@ -13739,19 +13739,19 @@ const _hoisted_17$9 = {
|
|
|
13739
13739
|
};
|
|
13740
13740
|
const _hoisted_18$8 = ["value"];
|
|
13741
13741
|
const _hoisted_19$8 = { value: "" };
|
|
13742
|
-
const _hoisted_20$
|
|
13743
|
-
const _hoisted_21$
|
|
13744
|
-
const _hoisted_22$
|
|
13745
|
-
const _hoisted_23$
|
|
13746
|
-
const _hoisted_24$
|
|
13742
|
+
const _hoisted_20$8 = ["value"];
|
|
13743
|
+
const _hoisted_21$8 = ["value"];
|
|
13744
|
+
const _hoisted_22$8 = { value: "" };
|
|
13745
|
+
const _hoisted_23$8 = ["value"];
|
|
13746
|
+
const _hoisted_24$8 = {
|
|
13747
13747
|
key: 4,
|
|
13748
13748
|
class: "flex space-x-2"
|
|
13749
13749
|
};
|
|
13750
|
-
const _hoisted_25$
|
|
13751
|
-
const _hoisted_26$
|
|
13752
|
-
const _hoisted_27$
|
|
13753
|
-
const _hoisted_28$
|
|
13754
|
-
const _hoisted_29$
|
|
13750
|
+
const _hoisted_25$8 = ["value"];
|
|
13751
|
+
const _hoisted_26$8 = { value: "" };
|
|
13752
|
+
const _hoisted_27$8 = ["value"];
|
|
13753
|
+
const _hoisted_28$7 = { class: "propeller-order-list__filter-actions flex justify-end space-x-2" };
|
|
13754
|
+
const _hoisted_29$7 = {
|
|
13755
13755
|
key: 0,
|
|
13756
13756
|
class: "propeller-order-list__results bg-card rounded-[var(--radius-container)] shadow overflow-hidden"
|
|
13757
13757
|
};
|
|
@@ -14095,7 +14095,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
14095
14095
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
14096
14096
|
key: sortField,
|
|
14097
14097
|
value: sortField
|
|
14098
|
-
}, vue.toDisplayString(getLabel(sortField, sortField)), 9, _hoisted_20$
|
|
14098
|
+
}, vue.toDisplayString(getLabel(sortField, sortField)), 9, _hoisted_20$8);
|
|
14099
14099
|
}), 128))
|
|
14100
14100
|
], 40, _hoisted_18$8),
|
|
14101
14101
|
vue.createElementVNode("select", {
|
|
@@ -14112,16 +14112,16 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
14112
14112
|
};
|
|
14113
14113
|
})
|
|
14114
14114
|
}, [
|
|
14115
|
-
vue.createElementVNode("option", _hoisted_22$
|
|
14115
|
+
vue.createElementVNode("option", _hoisted_22$8, vue.toDisplayString(getLabel("sortOrderOption", "Order")), 1),
|
|
14116
14116
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(Object.values(vue.unref(propellerSdkV2.SortOrder)), (order, index22) => {
|
|
14117
14117
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
14118
14118
|
key: order,
|
|
14119
14119
|
value: order
|
|
14120
|
-
}, vue.toDisplayString(getLabel(order, order)), 9, _hoisted_23$
|
|
14120
|
+
}, vue.toDisplayString(getLabel(order, order)), 9, _hoisted_23$8);
|
|
14121
14121
|
}), 128))
|
|
14122
|
-
], 40, _hoisted_21$
|
|
14122
|
+
], 40, _hoisted_21$8)
|
|
14123
14123
|
])) : vue.createCommentVNode("", true),
|
|
14124
|
-
field === "type" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_24$
|
|
14124
|
+
field === "type" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_24$8, [
|
|
14125
14125
|
vue.createElementVNode("select", {
|
|
14126
14126
|
class: "propeller-order-list__filter-input block w-full rounded-[var(--radius-control)] border-input shadow-sm focus:border-primary focus:ring-primary sm:text-sm p-2 border",
|
|
14127
14127
|
value: vue.unref(searchForm).type || "",
|
|
@@ -14132,19 +14132,19 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
14132
14132
|
};
|
|
14133
14133
|
})
|
|
14134
14134
|
}, [
|
|
14135
|
-
vue.createElementVNode("option", _hoisted_26$
|
|
14135
|
+
vue.createElementVNode("option", _hoisted_26$8, vue.toDisplayString(getLabel("typeOption", "Type")), 1),
|
|
14136
14136
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(Object.values(vue.unref(propellerSdkV2.OrderType)), (type, index22) => {
|
|
14137
14137
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
14138
14138
|
key: type,
|
|
14139
14139
|
value: type
|
|
14140
|
-
}, vue.toDisplayString(getLabel(type, type)), 9, _hoisted_27$
|
|
14140
|
+
}, vue.toDisplayString(getLabel(type, type)), 9, _hoisted_27$8);
|
|
14141
14141
|
}), 128))
|
|
14142
|
-
], 40, _hoisted_25$
|
|
14142
|
+
], 40, _hoisted_25$8)
|
|
14143
14143
|
])) : vue.createCommentVNode("", true)
|
|
14144
14144
|
]);
|
|
14145
14145
|
}), 128))
|
|
14146
14146
|
]),
|
|
14147
|
-
vue.createElementVNode("div", _hoisted_28$
|
|
14147
|
+
vue.createElementVNode("div", _hoisted_28$7, [
|
|
14148
14148
|
vue.createElementVNode("button", {
|
|
14149
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",
|
|
14150
14150
|
onClick: _cache[11] || (_cache[11] = async (event) => {
|
|
@@ -14158,7 +14158,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
14158
14158
|
])
|
|
14159
14159
|
])) : vue.createCommentVNode("", true),
|
|
14160
14160
|
!vue.unref(loading) || vue.unref(orders).length > 0 ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
14161
|
-
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, [
|
|
14162
14162
|
vue.createElementVNode("div", _hoisted_30$6, [
|
|
14163
14163
|
vue.createElementVNode("table", _hoisted_31$6, [
|
|
14164
14164
|
vue.createElementVNode("thead", _hoisted_32$6, [
|
|
@@ -14305,25 +14305,25 @@ const _hoisted_16$8 = { class: "px-4 py-3 text-muted-foreground" };
|
|
|
14305
14305
|
const _hoisted_17$8 = { class: "px-4 py-3 text-muted-foreground" };
|
|
14306
14306
|
const _hoisted_18$7 = { class: "px-4 py-3 text-right" };
|
|
14307
14307
|
const _hoisted_19$7 = ["onClick"];
|
|
14308
|
-
const _hoisted_20$
|
|
14309
|
-
const _hoisted_21$
|
|
14310
|
-
const _hoisted_22$
|
|
14308
|
+
const _hoisted_20$7 = { class: "flex items-center justify-between px-6 py-4 border-b" };
|
|
14309
|
+
const _hoisted_21$7 = { class: "text-lg font-semibold" };
|
|
14310
|
+
const _hoisted_22$7 = {
|
|
14311
14311
|
fill: "none",
|
|
14312
14312
|
viewBox: "0 0 24 24",
|
|
14313
14313
|
stroke: "currentColor",
|
|
14314
14314
|
class: "h-5 w-5",
|
|
14315
14315
|
strokeWidth: 2
|
|
14316
14316
|
};
|
|
14317
|
-
const _hoisted_23$
|
|
14318
|
-
const _hoisted_24$
|
|
14319
|
-
const _hoisted_25$
|
|
14320
|
-
const _hoisted_26$
|
|
14321
|
-
const _hoisted_27$
|
|
14317
|
+
const _hoisted_23$7 = { class: "px-6 py-4 space-y-4" };
|
|
14318
|
+
const _hoisted_24$7 = { class: "grid grid-cols-2 gap-4 text-sm" };
|
|
14319
|
+
const _hoisted_25$7 = { class: "font-medium text-muted-foreground" };
|
|
14320
|
+
const _hoisted_26$7 = { class: "mt-0.5" };
|
|
14321
|
+
const _hoisted_27$7 = {
|
|
14322
14322
|
key: 0,
|
|
14323
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"
|
|
14324
14324
|
};
|
|
14325
|
-
const _hoisted_28$
|
|
14326
|
-
const _hoisted_29$
|
|
14325
|
+
const _hoisted_28$6 = { key: 1 };
|
|
14326
|
+
const _hoisted_29$6 = { class: "font-medium text-muted-foreground" };
|
|
14327
14327
|
const _hoisted_30$5 = { class: "mt-0.5" };
|
|
14328
14328
|
const _hoisted_31$5 = { class: "text-sm font-semibold mb-2" };
|
|
14329
14329
|
const _hoisted_32$5 = {
|
|
@@ -14451,14 +14451,14 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14451
14451
|
class: "propeller-order-shipments__modal-content relative z-10 w-full max-w-2xl max-h-[80vh] overflow-y-auto bg-card rounded-[var(--radius-container)] shadow-xl",
|
|
14452
14452
|
onClick: _cache[2] || (_cache[2] = async (e) => e.stopPropagation())
|
|
14453
14453
|
}, [
|
|
14454
|
-
vue.createElementVNode("div", _hoisted_20$
|
|
14455
|
-
vue.createElementVNode("h3", _hoisted_21$
|
|
14454
|
+
vue.createElementVNode("div", _hoisted_20$7, [
|
|
14455
|
+
vue.createElementVNode("h3", _hoisted_21$7, vue.toDisplayString(getLabel("modalTitle", "Shipment details")), 1),
|
|
14456
14456
|
vue.createElementVNode("button", {
|
|
14457
14457
|
type: "button",
|
|
14458
14458
|
class: "text-muted-foreground hover:text-foreground transition-colors",
|
|
14459
14459
|
onClick: _cache[0] || (_cache[0] = async (event) => closeModal())
|
|
14460
14460
|
}, [
|
|
14461
|
-
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_22$
|
|
14461
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_22$7, [..._cache[4] || (_cache[4] = [
|
|
14462
14462
|
vue.createElementVNode("path", {
|
|
14463
14463
|
strokeLinecap: "round",
|
|
14464
14464
|
strokeLinejoin: "round",
|
|
@@ -14467,17 +14467,17 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14467
14467
|
])]))
|
|
14468
14468
|
])
|
|
14469
14469
|
]),
|
|
14470
|
-
vue.createElementVNode("div", _hoisted_23$
|
|
14471
|
-
vue.createElementVNode("div", _hoisted_24$
|
|
14470
|
+
vue.createElementVNode("div", _hoisted_23$7, [
|
|
14471
|
+
vue.createElementVNode("div", _hoisted_24$7, [
|
|
14472
14472
|
vue.createElementVNode("div", null, [
|
|
14473
|
-
vue.createElementVNode("span", _hoisted_25$
|
|
14474
|
-
vue.createElementVNode("p", _hoisted_26$
|
|
14475
|
-
!!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_27$
|
|
14476
|
-
!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_28$
|
|
14473
|
+
vue.createElementVNode("span", _hoisted_25$7, vue.toDisplayString(getLabel("labelStatus", "Status")), 1),
|
|
14474
|
+
vue.createElementVNode("p", _hoisted_26$7, [
|
|
14475
|
+
!!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_27$7, vue.toDisplayString(activeShipment.value?.status), 1)) : vue.createCommentVNode("", true),
|
|
14476
|
+
!activeShipment.value?.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_28$6, "-")) : vue.createCommentVNode("", true)
|
|
14477
14477
|
])
|
|
14478
14478
|
]),
|
|
14479
14479
|
vue.createElementVNode("div", null, [
|
|
14480
|
-
vue.createElementVNode("span", _hoisted_29$
|
|
14480
|
+
vue.createElementVNode("span", _hoisted_29$6, vue.toDisplayString(getLabel("labelExpectedDelivery", "Expected delivery")), 1),
|
|
14481
14481
|
vue.createElementVNode("p", _hoisted_30$5, [
|
|
14482
14482
|
!!activeShipment.value?.expectedDeliveryAt ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
14483
14483
|
vue.createTextVNode(vue.toDisplayString(formatDate(activeShipment.value?.expectedDeliveryAt)), 1)
|
|
@@ -14699,34 +14699,34 @@ const _hoisted_19$6 = {
|
|
|
14699
14699
|
key: 0,
|
|
14700
14700
|
class: "propeller-product-bundles__original-price text-foreground-subtle line-through text-sm"
|
|
14701
14701
|
};
|
|
14702
|
-
const _hoisted_20$
|
|
14703
|
-
const _hoisted_21$
|
|
14704
|
-
const _hoisted_22$
|
|
14705
|
-
const _hoisted_23$
|
|
14702
|
+
const _hoisted_20$6 = { class: "flex items-baseline gap-2" };
|
|
14703
|
+
const _hoisted_21$6 = { class: "propeller-product-bundles__price text-2xl font-bold text-foreground" };
|
|
14704
|
+
const _hoisted_22$6 = { class: "text-xs text-muted-foreground" };
|
|
14705
|
+
const _hoisted_23$6 = {
|
|
14706
14706
|
key: 1,
|
|
14707
14707
|
class: "propeller-product-bundles__savings mt-2 inline-block bg-success/10 text-success text-sm font-medium px-3 py-1 rounded-[var(--radius-control)]"
|
|
14708
14708
|
};
|
|
14709
|
-
const _hoisted_24$
|
|
14710
|
-
const _hoisted_25$
|
|
14709
|
+
const _hoisted_24$6 = ["onClick", "disabled", "data-loading"];
|
|
14710
|
+
const _hoisted_25$6 = {
|
|
14711
14711
|
key: 3,
|
|
14712
14712
|
class: "propeller-product-bundles__login-prompt text-center text-sm text-muted-foreground py-2"
|
|
14713
14713
|
};
|
|
14714
|
-
const _hoisted_26$
|
|
14715
|
-
const _hoisted_27$
|
|
14714
|
+
const _hoisted_26$6 = ["data-toast-type"];
|
|
14715
|
+
const _hoisted_27$6 = {
|
|
14716
14716
|
key: 0,
|
|
14717
14717
|
fill: "none",
|
|
14718
14718
|
viewBox: "0 0 24 24",
|
|
14719
14719
|
stroke: "currentColor",
|
|
14720
14720
|
strokeWidth: 2
|
|
14721
14721
|
};
|
|
14722
|
-
const _hoisted_28$
|
|
14722
|
+
const _hoisted_28$5 = {
|
|
14723
14723
|
key: 1,
|
|
14724
14724
|
fill: "none",
|
|
14725
14725
|
viewBox: "0 0 24 24",
|
|
14726
14726
|
stroke: "currentColor",
|
|
14727
14727
|
strokeWidth: 2
|
|
14728
14728
|
};
|
|
14729
|
-
const _hoisted_29$
|
|
14729
|
+
const _hoisted_29$5 = {
|
|
14730
14730
|
fill: "none",
|
|
14731
14731
|
viewBox: "0 0 24 24",
|
|
14732
14732
|
stroke: "currentColor",
|
|
@@ -15019,9 +15019,9 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
15019
15019
|
!getHidePrices() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
15020
15020
|
vue.createElementVNode("div", _hoisted_18$6, [
|
|
15021
15021
|
hasDiscount(bundle) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19$6, vue.toDisplayString(formatPrice(getOriginalPrice(bundle))), 1)) : vue.createCommentVNode("", true),
|
|
15022
|
-
vue.createElementVNode("div", _hoisted_20$
|
|
15023
|
-
vue.createElementVNode("span", _hoisted_21$
|
|
15024
|
-
vue.createElementVNode("span", _hoisted_22$
|
|
15022
|
+
vue.createElementVNode("div", _hoisted_20$6, [
|
|
15023
|
+
vue.createElementVNode("span", _hoisted_21$6, vue.toDisplayString(formatPrice(getBundlePrice(bundle))), 1),
|
|
15024
|
+
vue.createElementVNode("span", _hoisted_22$6, [
|
|
15025
15025
|
getIncludeTax() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
15026
15026
|
vue.createTextVNode(vue.toDisplayString(getLabel("inclTax", "incl. VAT")), 1)
|
|
15027
15027
|
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
@@ -15029,7 +15029,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
15029
15029
|
], 64))
|
|
15030
15030
|
])
|
|
15031
15031
|
]),
|
|
15032
|
-
hasDiscount(bundle) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$
|
|
15032
|
+
hasDiscount(bundle) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$6, vue.toDisplayString(getLabel("youSave", "Your savings: ")) + vue.toDisplayString(formatPrice(
|
|
15033
15033
|
getOriginalPrice(bundle) - getBundlePrice(bundle)
|
|
15034
15034
|
)), 1)) : vue.createCommentVNode("", true)
|
|
15035
15035
|
]),
|
|
@@ -15044,9 +15044,9 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
15044
15044
|
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
15045
15045
|
vue.createTextVNode(vue.toDisplayString(getLabel("addToCart", "In cart")), 1)
|
|
15046
15046
|
], 64))
|
|
15047
|
-
], 8, _hoisted_24$
|
|
15047
|
+
], 8, _hoisted_24$6)
|
|
15048
15048
|
], 64)) : vue.createCommentVNode("", true),
|
|
15049
|
-
getHidePrices() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_25$
|
|
15049
|
+
getHidePrices() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_25$6, vue.toDisplayString(getLabel(
|
|
15050
15050
|
"loginToSeePrices",
|
|
15051
15051
|
"Log in to see prices and add to cart"
|
|
15052
15052
|
)), 1)) : vue.createCommentVNode("", true)
|
|
@@ -15062,14 +15062,14 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
15062
15062
|
vue.createElementVNode("div", {
|
|
15063
15063
|
class: vue.normalizeClass(`propeller-product-bundles__toast-icon flex-shrink-0 w-5 h-5 mt-0.5 ${toastType.value === "success" ? "text-success-foreground" : "text-destructive-foreground"}`)
|
|
15064
15064
|
}, [
|
|
15065
|
-
toastType.value === "success" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_27$
|
|
15065
|
+
toastType.value === "success" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_27$6, [..._cache[7] || (_cache[7] = [
|
|
15066
15066
|
vue.createElementVNode("path", {
|
|
15067
15067
|
strokeLinecap: "round",
|
|
15068
15068
|
strokeLinejoin: "round",
|
|
15069
15069
|
d: "M5 13l4 4L19 7"
|
|
15070
15070
|
}, null, -1)
|
|
15071
15071
|
])])) : vue.createCommentVNode("", true),
|
|
15072
|
-
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] = [
|
|
15073
15073
|
vue.createElementVNode("path", {
|
|
15074
15074
|
strokeLinecap: "round",
|
|
15075
15075
|
strokeLinejoin: "round",
|
|
@@ -15085,7 +15085,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
15085
15085
|
onClick: _cache[0] || (_cache[0] = async (event) => dismissToast()),
|
|
15086
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"}`)
|
|
15087
15087
|
}, [
|
|
15088
|
-
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_29$
|
|
15088
|
+
(vue.openBlock(), vue.createElementBlock("svg", _hoisted_29$5, [..._cache[9] || (_cache[9] = [
|
|
15089
15089
|
vue.createElementVNode("path", {
|
|
15090
15090
|
strokeLinecap: "round",
|
|
15091
15091
|
strokeLinejoin: "round",
|
|
@@ -15093,7 +15093,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
15093
15093
|
}, null, -1)
|
|
15094
15094
|
])]))
|
|
15095
15095
|
], 2)
|
|
15096
|
-
], 10, _hoisted_26$
|
|
15096
|
+
], 10, _hoisted_26$6)) : vue.createCommentVNode("", true),
|
|
15097
15097
|
modalVisible.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_30$4, [
|
|
15098
15098
|
vue.createElementVNode("div", {
|
|
15099
15099
|
class: "propeller-product-bundles__modal-backdrop fixed inset-0 bg-foreground/20",
|
|
@@ -15193,33 +15193,41 @@ const _hoisted_6$b = ["fill"];
|
|
|
15193
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" };
|
|
15194
15194
|
const _hoisted_8$a = { class: "flex flex-col gap-0.5 flex-1 min-w-0" };
|
|
15195
15195
|
const _hoisted_9$9 = { class: "propeller-product-card__sku font-mono text-xs text-foreground-subtle" };
|
|
15196
|
-
const _hoisted_10$8 = {
|
|
15197
|
-
|
|
15198
|
-
|
|
15199
|
-
|
|
15200
|
-
const
|
|
15201
|
-
const
|
|
15202
|
-
const
|
|
15203
|
-
const
|
|
15204
|
-
const
|
|
15205
|
-
const
|
|
15206
|
-
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" };
|
|
15209
|
+
const _hoisted_20$5 = {
|
|
15210
|
+
key: 0,
|
|
15211
|
+
class: "propeller-product-card__below-name"
|
|
15212
|
+
};
|
|
15213
|
+
const _hoisted_21$5 = { class: "propeller-product-card__labels flex flex-col gap-0.5" };
|
|
15214
|
+
const _hoisted_22$5 = {
|
|
15207
15215
|
key: 3,
|
|
15208
15216
|
class: "hidden md:block"
|
|
15209
15217
|
};
|
|
15210
|
-
const
|
|
15211
|
-
const
|
|
15212
|
-
const
|
|
15218
|
+
const _hoisted_23$5 = { class: "propeller-product-card__manufacturer text-xs text-muted-foreground" };
|
|
15219
|
+
const _hoisted_24$5 = { class: "propeller-product-card__description line-clamp-2 text-xs text-muted-foreground" };
|
|
15220
|
+
const _hoisted_25$5 = {
|
|
15213
15221
|
key: 6,
|
|
15214
15222
|
class: "mt-auto hidden md:block"
|
|
15215
15223
|
};
|
|
15216
|
-
const
|
|
15217
|
-
const
|
|
15224
|
+
const _hoisted_26$5 = { class: "propeller-product-card__price pt-1" };
|
|
15225
|
+
const _hoisted_27$5 = {
|
|
15218
15226
|
key: 0,
|
|
15219
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"
|
|
15220
15228
|
};
|
|
15221
|
-
const
|
|
15222
|
-
const
|
|
15229
|
+
const _hoisted_28$4 = { class: "propeller-product-card__price min-w-0 text-right" };
|
|
15230
|
+
const _hoisted_29$4 = {
|
|
15223
15231
|
key: 1,
|
|
15224
15232
|
class: "propeller-product-card__cta px-3 pb-3 pt-2 sm:px-4 sm:pb-4"
|
|
15225
15233
|
};
|
|
@@ -15274,7 +15282,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15274
15282
|
addToCartComponent: {},
|
|
15275
15283
|
imageComponent: {},
|
|
15276
15284
|
badgesComponent: {},
|
|
15277
|
-
favoriteComponent: {}
|
|
15285
|
+
favoriteComponent: {},
|
|
15286
|
+
belowNameComponent: {}
|
|
15278
15287
|
},
|
|
15279
15288
|
setup(__props) {
|
|
15280
15289
|
const props = __props;
|
|
@@ -15287,7 +15296,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15287
15296
|
addToCartComponent: { grid: "addToCartComponent" },
|
|
15288
15297
|
imageComponent: { grid: "imageComponent" },
|
|
15289
15298
|
badgesComponent: { grid: "badgesComponent" },
|
|
15290
|
-
favoriteComponent: { grid: "favoriteComponent" }
|
|
15299
|
+
favoriteComponent: { grid: "favoriteComponent" },
|
|
15300
|
+
belowNameComponent: { grid: "belowNameComponent" }
|
|
15291
15301
|
};
|
|
15292
15302
|
const resolved = vue.computed(() => useResolvedProps(props, RESOLVE_SPEC));
|
|
15293
15303
|
const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
|
|
@@ -15300,6 +15310,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15300
15310
|
const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$E);
|
|
15301
15311
|
const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$D);
|
|
15302
15312
|
const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$Q);
|
|
15313
|
+
const BelowNameImpl = vue.computed(() => resolved.value.belowNameComponent ?? null);
|
|
15303
15314
|
const isFavorite = vue.ref(false);
|
|
15304
15315
|
function isRow() {
|
|
15305
15316
|
return props.columns === 1;
|
|
@@ -15510,12 +15521,17 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15510
15521
|
onClick: _cache[2] || (_cache[2] = ($event) => handleNavigate())
|
|
15511
15522
|
}, vue.toDisplayString(getProductName()), 1)
|
|
15512
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
|
+
]),
|
|
15513
15529
|
!!__props.textLabels && __props.textLabels.length > 0 && computedTextLabels().length > 0 ? vue.renderSlot(_ctx.$slots, "textLabels", {
|
|
15514
15530
|
key: 2,
|
|
15515
15531
|
product: __props.product,
|
|
15516
15532
|
values: computedTextLabels()
|
|
15517
15533
|
}, () => [
|
|
15518
|
-
vue.createElementVNode("div",
|
|
15534
|
+
vue.createElementVNode("div", _hoisted_11$7, [
|
|
15519
15535
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedTextLabels(), (item, index2) => {
|
|
15520
15536
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
15521
15537
|
key: index2,
|
|
@@ -15529,19 +15545,19 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15529
15545
|
product: __props.product,
|
|
15530
15546
|
manufacturer: getProductManufacturer()
|
|
15531
15547
|
}, () => [
|
|
15532
|
-
vue.createElementVNode("div",
|
|
15548
|
+
vue.createElementVNode("div", _hoisted_12$7, vue.toDisplayString(getProductManufacturer()), 1)
|
|
15533
15549
|
]) : vue.createCommentVNode("", true),
|
|
15534
15550
|
__props.showShortDescription && !!getProductShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
15535
15551
|
key: 4,
|
|
15536
15552
|
product: __props.product,
|
|
15537
15553
|
text: getProductShortDescription()
|
|
15538
15554
|
}, () => [
|
|
15539
|
-
vue.createElementVNode("p",
|
|
15555
|
+
vue.createElementVNode("p", _hoisted_13$7, vue.toDisplayString(getProductShortDescription()), 1)
|
|
15540
15556
|
]) : vue.createCommentVNode("", true)
|
|
15541
15557
|
])
|
|
15542
15558
|
]),
|
|
15543
|
-
vue.createElementVNode("div",
|
|
15544
|
-
vue.createElementVNode("div",
|
|
15559
|
+
vue.createElementVNode("div", _hoisted_14$7, [
|
|
15560
|
+
vue.createElementVNode("div", _hoisted_15$6, [
|
|
15545
15561
|
props.showStock && !!props.product.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
|
|
15546
15562
|
key: 0,
|
|
15547
15563
|
product: __props.product,
|
|
@@ -15571,7 +15587,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15571
15587
|
currency: __props.currency,
|
|
15572
15588
|
labels: props.priceLabels
|
|
15573
15589
|
}, () => [
|
|
15574
|
-
vue.createElementVNode("div",
|
|
15590
|
+
vue.createElementVNode("div", _hoisted_16$6, [
|
|
15575
15591
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15576
15592
|
key: 0,
|
|
15577
15593
|
price: __props.product.price,
|
|
@@ -15588,7 +15604,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15588
15604
|
])
|
|
15589
15605
|
]) : vue.createCommentVNode("", true)
|
|
15590
15606
|
]),
|
|
15591
|
-
vue.createElementVNode("div",
|
|
15607
|
+
vue.createElementVNode("div", _hoisted_17$6, [
|
|
15592
15608
|
vue.renderSlot(_ctx.$slots, "addToCart", {
|
|
15593
15609
|
product: __props.product,
|
|
15594
15610
|
cartId: props.cartId,
|
|
@@ -15634,13 +15650,13 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15634
15650
|
])
|
|
15635
15651
|
], 64)) : vue.createCommentVNode("", true),
|
|
15636
15652
|
!isRow() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
15637
|
-
vue.createElementVNode("div",
|
|
15653
|
+
vue.createElementVNode("div", _hoisted_18$5, [
|
|
15638
15654
|
__props.showSku !== false && !!getProductSku() ? vue.renderSlot(_ctx.$slots, "sku", {
|
|
15639
15655
|
key: 0,
|
|
15640
15656
|
product: __props.product,
|
|
15641
15657
|
sku: getProductSku()
|
|
15642
15658
|
}, () => [
|
|
15643
|
-
vue.createElementVNode("div",
|
|
15659
|
+
vue.createElementVNode("div", _hoisted_19$5, vue.toDisplayString(getProductSku()), 1)
|
|
15644
15660
|
]) : vue.createCommentVNode("", true),
|
|
15645
15661
|
__props.showName !== false ? vue.renderSlot(_ctx.$slots, getProductName(), {
|
|
15646
15662
|
key: 1,
|
|
@@ -15655,12 +15671,17 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15655
15671
|
onClick: _cache[3] || (_cache[3] = ($event) => handleNavigate())
|
|
15656
15672
|
}, vue.toDisplayString(getProductName()), 1)
|
|
15657
15673
|
]) : vue.createCommentVNode("", true),
|
|
15674
|
+
vue.renderSlot(_ctx.$slots, "belowName", { product: __props.product }, () => [
|
|
15675
|
+
BelowNameImpl.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$5, [
|
|
15676
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(BelowNameImpl.value), { product: __props.product }, null, 8, ["product"]))
|
|
15677
|
+
])) : vue.createCommentVNode("", true)
|
|
15678
|
+
]),
|
|
15658
15679
|
!!__props.textLabels && __props.textLabels.length > 0 && computedTextLabels().length > 0 ? vue.renderSlot(_ctx.$slots, "textLabels", {
|
|
15659
15680
|
key: 2,
|
|
15660
15681
|
product: __props.product,
|
|
15661
15682
|
values: computedTextLabels()
|
|
15662
15683
|
}, () => [
|
|
15663
|
-
vue.createElementVNode("div",
|
|
15684
|
+
vue.createElementVNode("div", _hoisted_21$5, [
|
|
15664
15685
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedTextLabels(), (item, index2) => {
|
|
15665
15686
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
15666
15687
|
key: index2,
|
|
@@ -15669,7 +15690,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15669
15690
|
}), 128))
|
|
15670
15691
|
])
|
|
15671
15692
|
]) : vue.createCommentVNode("", true),
|
|
15672
|
-
props.showStock && !!props.product.inventory ? (vue.openBlock(), vue.createElementBlock("div",
|
|
15693
|
+
props.showStock && !!props.product.inventory ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_22$5, [
|
|
15673
15694
|
vue.renderSlot(_ctx.$slots, "stock", {
|
|
15674
15695
|
product: __props.product,
|
|
15675
15696
|
inventory: __props.product.inventory,
|
|
@@ -15696,16 +15717,16 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15696
15717
|
product: __props.product,
|
|
15697
15718
|
manufacturer: getProductManufacturer()
|
|
15698
15719
|
}, () => [
|
|
15699
|
-
vue.createElementVNode("div",
|
|
15720
|
+
vue.createElementVNode("div", _hoisted_23$5, vue.toDisplayString(getProductManufacturer()), 1)
|
|
15700
15721
|
]) : vue.createCommentVNode("", true),
|
|
15701
15722
|
__props.showShortDescription && !!getProductShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
|
|
15702
15723
|
key: 5,
|
|
15703
15724
|
product: __props.product,
|
|
15704
15725
|
text: getProductShortDescription()
|
|
15705
15726
|
}, () => [
|
|
15706
|
-
vue.createElementVNode("p",
|
|
15727
|
+
vue.createElementVNode("p", _hoisted_24$5, vue.toDisplayString(getProductShortDescription()), 1)
|
|
15707
15728
|
]) : vue.createCommentVNode("", true),
|
|
15708
|
-
__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$5, [
|
|
15709
15730
|
vue.renderSlot(_ctx.$slots, "price", {
|
|
15710
15731
|
product: __props.product,
|
|
15711
15732
|
price: __props.product.price,
|
|
@@ -15713,7 +15734,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15713
15734
|
currency: __props.currency,
|
|
15714
15735
|
labels: props.priceLabels
|
|
15715
15736
|
}, () => [
|
|
15716
|
-
vue.createElementVNode("div",
|
|
15737
|
+
vue.createElementVNode("div", _hoisted_26$5, [
|
|
15717
15738
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15718
15739
|
key: 0,
|
|
15719
15740
|
price: __props.product.price,
|
|
@@ -15731,7 +15752,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15731
15752
|
])
|
|
15732
15753
|
])) : vue.createCommentVNode("", true)
|
|
15733
15754
|
]),
|
|
15734
|
-
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$5, [
|
|
15735
15756
|
props.showStock && !!props.product.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
|
|
15736
15757
|
key: 0,
|
|
15737
15758
|
product: __props.product,
|
|
@@ -15761,7 +15782,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15761
15782
|
currency: __props.currency,
|
|
15762
15783
|
labels: props.priceLabels
|
|
15763
15784
|
}, () => [
|
|
15764
|
-
vue.createElementVNode("div",
|
|
15785
|
+
vue.createElementVNode("div", _hoisted_28$4, [
|
|
15765
15786
|
props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
|
|
15766
15787
|
key: 0,
|
|
15767
15788
|
price: __props.product.price,
|
|
@@ -15778,7 +15799,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
15778
15799
|
])
|
|
15779
15800
|
]) : vue.createCommentVNode("", true)
|
|
15780
15801
|
])) : vue.createCommentVNode("", true),
|
|
15781
|
-
props.allowAddToCart !== false ? (vue.openBlock(), vue.createElementBlock("div",
|
|
15802
|
+
props.allowAddToCart !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$4, [
|
|
15782
15803
|
vue.renderSlot(_ctx.$slots, "addToCart", {
|
|
15783
15804
|
product: __props.product,
|
|
15784
15805
|
cartId: props.cartId,
|
|
@@ -16188,7 +16209,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16188
16209
|
badgesComponent: {},
|
|
16189
16210
|
favoriteComponent: {},
|
|
16190
16211
|
productCardComponent: {},
|
|
16191
|
-
clusterCardComponent: {}
|
|
16212
|
+
clusterCardComponent: {},
|
|
16213
|
+
belowNameComponent: {}
|
|
16192
16214
|
},
|
|
16193
16215
|
setup(__props) {
|
|
16194
16216
|
const props = __props;
|
|
@@ -16233,7 +16255,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16233
16255
|
addToCartComponent: props.addToCartComponent,
|
|
16234
16256
|
imageComponent: props.imageComponent,
|
|
16235
16257
|
badgesComponent: props.badgesComponent,
|
|
16236
|
-
favoriteComponent: props.favoriteComponent
|
|
16258
|
+
favoriteComponent: props.favoriteComponent,
|
|
16259
|
+
belowNameComponent: props.belowNameComponent
|
|
16237
16260
|
}));
|
|
16238
16261
|
provideProductGridConfig(gridConfig.value);
|
|
16239
16262
|
const categoryIdRef = vue.computed(() => props.categoryId);
|
|
@@ -17208,23 +17231,43 @@ const _hoisted_8$6 = {
|
|
|
17208
17231
|
const _hoisted_9$6 = { class: "text-xs font-medium text-muted-foreground uppercase tracking-wide" };
|
|
17209
17232
|
const _hoisted_10$6 = { class: "text-sm text-foreground" };
|
|
17210
17233
|
const _hoisted_11$6 = {
|
|
17234
|
+
key: 0,
|
|
17235
|
+
class: "mb-6 overflow-hidden rounded-[var(--radius-container)] border border-border"
|
|
17236
|
+
};
|
|
17237
|
+
const _hoisted_12$6 = { class: "w-full text-sm" };
|
|
17238
|
+
const _hoisted_13$6 = { class: "divide-y divide-border" };
|
|
17239
|
+
const _hoisted_14$6 = {
|
|
17240
|
+
key: 1,
|
|
17241
|
+
class: "mb-6 space-y-3"
|
|
17242
|
+
};
|
|
17243
|
+
const _hoisted_15$5 = {
|
|
17211
17244
|
key: 0,
|
|
17212
17245
|
class: "text-sm font-semibold text-muted-foreground uppercase tracking-wide mb-2"
|
|
17213
17246
|
};
|
|
17214
|
-
const
|
|
17247
|
+
const _hoisted_16$5 = {
|
|
17215
17248
|
key: 1,
|
|
17216
17249
|
class: "overflow-hidden rounded-[var(--radius-container)] border border-border"
|
|
17217
17250
|
};
|
|
17218
|
-
const
|
|
17219
|
-
const
|
|
17220
|
-
const
|
|
17221
|
-
const
|
|
17222
|
-
const
|
|
17251
|
+
const _hoisted_17$5 = { class: "w-full text-sm" };
|
|
17252
|
+
const _hoisted_18$4 = { class: "divide-y divide-border" };
|
|
17253
|
+
const _hoisted_19$4 = { class: "px-4 py-2 font-medium text-foreground w-1/2" };
|
|
17254
|
+
const _hoisted_20$4 = { class: "px-4 py-2 text-muted-foreground" };
|
|
17255
|
+
const _hoisted_21$4 = {
|
|
17223
17256
|
key: 2,
|
|
17224
17257
|
class: "space-y-3"
|
|
17225
17258
|
};
|
|
17226
|
-
const
|
|
17227
|
-
const
|
|
17259
|
+
const _hoisted_22$4 = { class: "text-xs font-medium text-muted-foreground uppercase tracking-wide" };
|
|
17260
|
+
const _hoisted_23$4 = { class: "text-sm text-foreground" };
|
|
17261
|
+
const _hoisted_24$4 = {
|
|
17262
|
+
key: 0,
|
|
17263
|
+
class: "mb-6 overflow-hidden rounded-[var(--radius-container)] border border-border"
|
|
17264
|
+
};
|
|
17265
|
+
const _hoisted_25$4 = { class: "w-full text-sm" };
|
|
17266
|
+
const _hoisted_26$4 = { class: "divide-y divide-border" };
|
|
17267
|
+
const _hoisted_27$4 = {
|
|
17268
|
+
key: 1,
|
|
17269
|
+
class: "space-y-3"
|
|
17270
|
+
};
|
|
17228
17271
|
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
17229
17272
|
__name: "ProductSpecifications",
|
|
17230
17273
|
props: {
|
|
@@ -17241,6 +17284,9 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17241
17284
|
const props = __props;
|
|
17242
17285
|
const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
|
|
17243
17286
|
const langRef = vue.computed(() => infra.language || "NL");
|
|
17287
|
+
const layoutMode = vue.computed(
|
|
17288
|
+
() => props.layout === "list" ? "list" : "table"
|
|
17289
|
+
);
|
|
17244
17290
|
const { attributes, loading, fetchSpecs } = useProductSpecs({
|
|
17245
17291
|
graphqlClient: infra.graphqlClient,
|
|
17246
17292
|
language: langRef
|
|
@@ -17320,7 +17366,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17320
17366
|
return getAttributes().length > 0;
|
|
17321
17367
|
}
|
|
17322
17368
|
return (_ctx, _cache) => {
|
|
17323
|
-
return !vue.unref(loading) && (hasPublicAttributes() || __props.packageDescription) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
17369
|
+
return !vue.unref(loading) && (hasPublicAttributes() || __props.packageDescription || !!_ctx.$slots.beforeSpecs || !!_ctx.$slots.afterSpecs) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
17324
17370
|
key: 0,
|
|
17325
17371
|
class: vue.normalizeClass(`propeller-product-specifications ${__props.className || ""}`),
|
|
17326
17372
|
"data-layout": __props.layout === "list" ? "list" : "table",
|
|
@@ -17331,6 +17377,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17331
17377
|
__props.layout !== "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$7, [
|
|
17332
17378
|
vue.createElementVNode("table", _hoisted_4$7, [
|
|
17333
17379
|
vue.createElementVNode("tbody", _hoisted_5$7, [
|
|
17380
|
+
vue.renderSlot(_ctx.$slots, "beforeSpecs", { layout: layoutMode.value }),
|
|
17334
17381
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributes(), (attr, i) => {
|
|
17335
17382
|
return vue.openBlock(), vue.createElementBlock("tr", {
|
|
17336
17383
|
key: i,
|
|
@@ -17339,11 +17386,13 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17339
17386
|
vue.createElementVNode("td", _hoisted_6$7, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17340
17387
|
vue.createElementVNode("td", _hoisted_7$7, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17341
17388
|
]);
|
|
17342
|
-
}), 128))
|
|
17389
|
+
}), 128)),
|
|
17390
|
+
vue.renderSlot(_ctx.$slots, "afterSpecs", { layout: layoutMode.value })
|
|
17343
17391
|
])
|
|
17344
17392
|
])
|
|
17345
17393
|
])) : vue.createCommentVNode("", true),
|
|
17346
17394
|
__props.layout === "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$6, [
|
|
17395
|
+
vue.renderSlot(_ctx.$slots, "beforeSpecs", { layout: layoutMode.value }),
|
|
17347
17396
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributes(), (attr, i) => {
|
|
17348
17397
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17349
17398
|
key: i,
|
|
@@ -17352,43 +17401,68 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17352
17401
|
vue.createElementVNode("span", _hoisted_9$6, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17353
17402
|
vue.createElementVNode("span", _hoisted_10$6, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17354
17403
|
]);
|
|
17355
|
-
}), 128))
|
|
17404
|
+
}), 128)),
|
|
17405
|
+
vue.renderSlot(_ctx.$slots, "afterSpecs", { layout: layoutMode.value })
|
|
17356
17406
|
])) : vue.createCommentVNode("", true)
|
|
17357
17407
|
], 64)) : vue.createCommentVNode("", true),
|
|
17358
|
-
!!__props.grouping ? (vue.openBlock(
|
|
17359
|
-
|
|
17360
|
-
|
|
17361
|
-
|
|
17362
|
-
|
|
17363
|
-
|
|
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, [
|
|
17367
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributesByGroup(group), (attr, i) => {
|
|
17368
|
-
return vue.openBlock(), vue.createElementBlock("tr", {
|
|
17369
|
-
key: i,
|
|
17370
|
-
class: "propeller-product-specifications__row odd:bg-card even:bg-surface-hover/20"
|
|
17371
|
-
}, [
|
|
17372
|
-
vue.createElementVNode("td", _hoisted_15$5, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17373
|
-
vue.createElementVNode("td", _hoisted_16$5, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17374
|
-
]);
|
|
17375
|
-
}), 128))
|
|
17408
|
+
!!__props.grouping ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
17409
|
+
!!_ctx.$slots.beforeSpecs ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
17410
|
+
layoutMode.value === "table" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$6, [
|
|
17411
|
+
vue.createElementVNode("table", _hoisted_12$6, [
|
|
17412
|
+
vue.createElementVNode("tbody", _hoisted_13$6, [
|
|
17413
|
+
vue.renderSlot(_ctx.$slots, "beforeSpecs", { layout: layoutMode.value })
|
|
17376
17414
|
])
|
|
17377
17415
|
])
|
|
17378
|
-
])) : vue.
|
|
17379
|
-
|
|
17380
|
-
|
|
17381
|
-
|
|
17382
|
-
|
|
17383
|
-
|
|
17384
|
-
|
|
17385
|
-
|
|
17386
|
-
|
|
17387
|
-
|
|
17388
|
-
|
|
17389
|
-
|
|
17390
|
-
|
|
17391
|
-
|
|
17416
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$6, [
|
|
17417
|
+
vue.renderSlot(_ctx.$slots, "beforeSpecs", { layout: layoutMode.value })
|
|
17418
|
+
]))
|
|
17419
|
+
], 64)) : vue.createCommentVNode("", true),
|
|
17420
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getGroups(), (group, index2) => {
|
|
17421
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17422
|
+
key: group,
|
|
17423
|
+
class: "mb-6"
|
|
17424
|
+
}, [
|
|
17425
|
+
!!group ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_15$5, vue.toDisplayString(group), 1)) : vue.createCommentVNode("", true),
|
|
17426
|
+
__props.layout !== "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$5, [
|
|
17427
|
+
vue.createElementVNode("table", _hoisted_17$5, [
|
|
17428
|
+
vue.createElementVNode("tbody", _hoisted_18$4, [
|
|
17429
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributesByGroup(group), (attr, i) => {
|
|
17430
|
+
return vue.openBlock(), vue.createElementBlock("tr", {
|
|
17431
|
+
key: i,
|
|
17432
|
+
class: "propeller-product-specifications__row odd:bg-card even:bg-surface-hover/20"
|
|
17433
|
+
}, [
|
|
17434
|
+
vue.createElementVNode("td", _hoisted_19$4, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17435
|
+
vue.createElementVNode("td", _hoisted_20$4, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17436
|
+
]);
|
|
17437
|
+
}), 128))
|
|
17438
|
+
])
|
|
17439
|
+
])
|
|
17440
|
+
])) : vue.createCommentVNode("", true),
|
|
17441
|
+
__props.layout === "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21$4, [
|
|
17442
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributesByGroup(group), (attr, i) => {
|
|
17443
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
17444
|
+
key: i,
|
|
17445
|
+
class: "flex flex-col gap-0.5"
|
|
17446
|
+
}, [
|
|
17447
|
+
vue.createElementVNode("span", _hoisted_22$4, vue.toDisplayString(getAttributeLabel(attr)), 1),
|
|
17448
|
+
vue.createElementVNode("span", _hoisted_23$4, vue.toDisplayString(getAttributeValue(attr)), 1)
|
|
17449
|
+
]);
|
|
17450
|
+
}), 128))
|
|
17451
|
+
])) : vue.createCommentVNode("", true)
|
|
17452
|
+
]);
|
|
17453
|
+
}), 128)),
|
|
17454
|
+
!!_ctx.$slots.afterSpecs ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
17455
|
+
layoutMode.value === "table" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_24$4, [
|
|
17456
|
+
vue.createElementVNode("table", _hoisted_25$4, [
|
|
17457
|
+
vue.createElementVNode("tbody", _hoisted_26$4, [
|
|
17458
|
+
vue.renderSlot(_ctx.$slots, "afterSpecs", { layout: layoutMode.value })
|
|
17459
|
+
])
|
|
17460
|
+
])
|
|
17461
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_27$4, [
|
|
17462
|
+
vue.renderSlot(_ctx.$slots, "afterSpecs", { layout: layoutMode.value })
|
|
17463
|
+
]))
|
|
17464
|
+
], 64)) : vue.createCommentVNode("", true)
|
|
17465
|
+
], 64)) : vue.createCommentVNode("", true)
|
|
17392
17466
|
], 10, _hoisted_1$7)) : vue.createCommentVNode("", true);
|
|
17393
17467
|
};
|
|
17394
17468
|
}
|
|
@@ -17576,7 +17650,22 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17576
17650
|
layout: __props.specificationsLayout,
|
|
17577
17651
|
grouping: __props.specificationsGrouping,
|
|
17578
17652
|
"package-description": __props.specificationsPackageDescription
|
|
17579
|
-
},
|
|
17653
|
+
}, vue.createSlots({ _: 2 }, [
|
|
17654
|
+
_ctx.$slots.specificationsBefore ? {
|
|
17655
|
+
name: "beforeSpecs",
|
|
17656
|
+
fn: vue.withCtx((slotProps) => [
|
|
17657
|
+
vue.renderSlot(_ctx.$slots, "specificationsBefore", vue.normalizeProps(vue.guardReactiveProps(slotProps)))
|
|
17658
|
+
]),
|
|
17659
|
+
key: "0"
|
|
17660
|
+
} : void 0,
|
|
17661
|
+
_ctx.$slots.specificationsAfter ? {
|
|
17662
|
+
name: "afterSpecs",
|
|
17663
|
+
fn: vue.withCtx((slotProps) => [
|
|
17664
|
+
vue.renderSlot(_ctx.$slots, "specificationsAfter", vue.normalizeProps(vue.guardReactiveProps(slotProps)))
|
|
17665
|
+
]),
|
|
17666
|
+
key: "1"
|
|
17667
|
+
} : void 0
|
|
17668
|
+
]), 1032, ["attributes", "language", "layout", "grouping", "package-description"]))
|
|
17580
17669
|
], 2)) : vue.createCommentVNode("", true),
|
|
17581
17670
|
isActive("downloads") && isTabVisible("downloads") ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(ProductDownloadsImpl.value), {
|
|
17582
17671
|
key: 2,
|
|
@@ -17662,7 +17751,22 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
17662
17751
|
layout: __props.specificationsLayout,
|
|
17663
17752
|
grouping: __props.specificationsGrouping,
|
|
17664
17753
|
"package-description": __props.specificationsPackageDescription
|
|
17665
|
-
},
|
|
17754
|
+
}, vue.createSlots({ _: 2 }, [
|
|
17755
|
+
_ctx.$slots.specificationsBefore ? {
|
|
17756
|
+
name: "beforeSpecs",
|
|
17757
|
+
fn: vue.withCtx((slotProps) => [
|
|
17758
|
+
vue.renderSlot(_ctx.$slots, "specificationsBefore", vue.normalizeProps(vue.guardReactiveProps(slotProps)))
|
|
17759
|
+
]),
|
|
17760
|
+
key: "0"
|
|
17761
|
+
} : void 0,
|
|
17762
|
+
_ctx.$slots.specificationsAfter ? {
|
|
17763
|
+
name: "afterSpecs",
|
|
17764
|
+
fn: vue.withCtx((slotProps) => [
|
|
17765
|
+
vue.renderSlot(_ctx.$slots, "specificationsAfter", vue.normalizeProps(vue.guardReactiveProps(slotProps)))
|
|
17766
|
+
]),
|
|
17767
|
+
key: "1"
|
|
17768
|
+
} : void 0
|
|
17769
|
+
]), 1032, ["attributes", "language", "layout", "grouping", "package-description"]))
|
|
17666
17770
|
])) : vue.createCommentVNode("", true)
|
|
17667
17771
|
])) : vue.createCommentVNode("", true),
|
|
17668
17772
|
isTabVisible("downloads") ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$5, [
|